diff --git a/CMakeHeaderFileList.cmake b/CMakeHeaderFileList.cmake
index 5c8d63033dddf02883925859eedbc2e871245cee..68a3429306a823b5770ed299a636199be22e97ca 100644
--- a/CMakeHeaderFileList.cmake
+++ b/CMakeHeaderFileList.cmake
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeHeaderFileList.cmake 4617 2014-01-25 10:13:21Z fspindle $
+# $Id: CMakeHeaderFileList.cmake 5255 2015-02-03 14:52:43Z strinh $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -66,6 +66,13 @@ SET (HEADER_DATA_STRUCTURE
   data-structure/vpList.h
   )
 
+set(HEADER_DETECTION
+  detection/vpDetectorBase.h
+  detection/barcode/vpDetectorDataMatrixCode.h
+  detection/barcode/vpDetectorQRCode.h
+  detection/face/vpDetectorFace.h
+)
+
 SET (HEADER_EXCEPTION
   exceptions/vpException.h
   )
@@ -102,6 +109,8 @@ SET (HEADER_KEY_POINT
   key-point/vpKeyPointSurf.h
   key-point/vpPlanarObjectDetector.h
   key-point/vpFernClassifier.h
+  key-point/vpKeyPoint.h
+  key-point/vpXmlConfigParserKeyPoint.h
   )
 
 SET (HEADER_DEVICE_KINECT
@@ -148,6 +157,7 @@ SET (HEADER_MATH
   math/transformation/vpRxyzVector.h
   math/transformation/vpRzyxVector.h
   math/transformation/vpRzyzVector.h
+  math/transformation/vpXmlParserHomogeneousMatrix.h
   math/transformation/vpThetaUVector.h
   math/transformation/vpTranslationVector.h
   math/transformation/vpVelocityTwistMatrix.h
@@ -219,6 +229,7 @@ SET (HEADER_SIMULATOR
   )
 
 SET (HEADER_TOOLS
+  tools/convert/vpConvert.h
   tools/geometry/vpPlane.h
   tools/geometry/vpRect.h
   tools/geometry/vpTriangle.h
@@ -264,15 +275,17 @@ SET (HEADER_TRACKING
   tracking/mbt/vpMbTracker.h
   tracking/mbt/vpMbHiddenFaces.h
   tracking/mbt/vpMbXmlParser.h
+  tracking/mbt/vpMbtPolygon.h
+  tracking/mbt/edge/vpMbtDistanceCircle.h
+  tracking/mbt/edge/vpMbtDistanceCylinder.h
   tracking/mbt/edge/vpMbtDistanceLine.h
-  tracking/mbt/edge/vpMbtPolygon.h
+  tracking/mbt/edge/vpMbtMeEllipse.h
   tracking/mbt/edge/vpMbtMeLine.h
   tracking/mbt/edge/vpMbEdgeTracker.h
   tracking/mbt/edge/vpMbtXmlParser.h
-  tracking/mbt/edge/vpMbtDistanceCylinder.h
   tracking/mbt/hybrid/vpMbEdgeKltTracker.h
   tracking/mbt/hybrid/vpMbtEdgeKltXmlParser.h
-  tracking/mbt/klt/vpMbtKltPolygon.h
+  tracking/mbt/klt/vpMbtDistanceKltPoints.h
   tracking/mbt/klt/vpMbKltTracker.h
   tracking/mbt/klt/vpMbtKltXmlParser.h
 
@@ -373,6 +386,7 @@ SET (HEADER_ALL
   ${HEADER_CAMERA}
   ${HEADER_COMPUTER_VISION}
   ${HEADER_DATA_STRUCTURE}
+  ${HEADER_DETECTION}
   ${HEADER_DEVICE_DISPLAY}
   ${HEADER_DEVICE_FRAMEGRABBER}
   ${HEADER_DEVICE_KINECT}
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9b44006e77cdf7f660539fe4597e9282afff5e4a..d10e231c1316113f4ef4f24bcdd847c4cf2313de 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4678 2014-02-19 09:52:35Z fspindle $
+# $Id: CMakeLists.txt 5287 2015-02-09 15:29:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -38,14 +38,19 @@
 #
 #############################################################################
 
-PROJECT(VISP C CXX)
+# Need to be befor project(VISP) to work
+if(WIN32)
+  set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install" CACHE PATH "Installation Directory")
+endif()
+
+project(VISP C CXX)
 
 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
 
 #-----------------------------------------------------------------------------
 # VISP version number.  An even minor number corresponds to releases.
 SET(VISP_VERSION_MAJOR "2")
-SET(VISP_VERSION_MINOR "9")
+SET(VISP_VERSION_MINOR "10")
 SET(VISP_VERSION_PATCH "0")
 SET(VISP_VERSION "${VISP_VERSION_MAJOR}.${VISP_VERSION_MINOR}.${VISP_VERSION_PATCH}")
 # Package revision number
@@ -54,7 +59,7 @@ SET(VISP_REVISION "1")
 # where are user-specific cmake modules
 set(VISP_CMAKE_MODULE_PATH ${VISP_SOURCE_DIR}/CMakeModules)
 
-find_file(GNU_INSTALL_DIRS_FROM_CMAKE ${CMAKE_ROOT}/Modules/GNUInstallDirs.cmake)
+find_file(GNU_INSTALL_DIRS_FROM_CMAKE NAMES GNUInstallDirs.cmake PATHS ${CMAKE_ROOT}/Modules)
 mark_as_advanced(GNU_INSTALL_DIRS_FROM_CMAKE)
 if(GNU_INSTALL_DIRS_FROM_CMAKE)
   include(${CMAKE_ROOT}/Modules/GNUInstallDirs.cmake)
@@ -84,8 +89,12 @@ SET(VISP_EXTERN_LIBRARIES "")
 SET(VISP_DEFS "")
 
 if(WIN32)
-    # Postfix of .lib and .dll
-    set(CMAKE_DEBUG_POSTFIX "d")
+  # Postfix of .lib and .dll
+  set(VISP_DEBUG_POSTFIX "d")
+  set(VISP_DLLVERSION "${VISP_VERSION_MAJOR}${VISP_VERSION_MINOR}${VISP_VERSION_PATCH}")
+else()
+  set(VISP_DEBUG_POSTFIX "")
+  set(VISP_DLLVERSION "")
 endif()
 
 # Get the OS
@@ -133,13 +142,15 @@ endif()
 #--------------------------------------------------------------------
 
 # Choose static or shared libraries.
-OPTION(BUILD_SHARED_LIBS "Build ViSP shared libraries (.dll/.so) instead of static ones (.lib/.a)." OFF)
+OPTION(BUILD_SHARED_LIBS "Build ViSP shared libraries (.dll/.so) instead of static ones (.lib/.a)." ON)
 # Build examples as an option.
 OPTION(BUILD_EXAMPLES "Build ViSP examples." ON)
+# Build examples as an option.
+OPTION(BUILD_TESTS "Build ViSP tests." ON)
 # Build demos as an option.
 OPTION(BUILD_DEMOS "Build ViSP demos." ON)
 # Build demos as an option.
-OPTION(BUILD_TUTORIAL "Build ViSP tutorial." ON)
+OPTION(BUILD_TUTORIALS "Build ViSP tutorials." ON)
 # Build deprecated functions as an option.
 OPTION(BUILD_DEPRECATED_FUNCTIONS "Build deprecated functionalities." ON)
 # Debug and trace cflags
@@ -468,12 +479,16 @@ else(PNG_FOUND)
   endif()
 endif()
 
-FIND_PACKAGE(FFMPEG)
-IF(FFMPEG_FOUND)
-  OPTION(USE_FFMPEG    "Compile ViSP with the ffmpeg library" ON)
-ELSE(FFMPEG_FOUND)
-  SET(USE_FFMPEG OFF)
-ENDIF(FFMPEG_FOUND)
+find_package(FFMPEG)
+if(FFMPEG_FOUND)
+  if(USE_OPENCV)
+    option(USE_FFMPEG    "Compile ViSP with the ffmpeg library" OFF)
+  else()
+    option(USE_FFMPEG    "Compile ViSP with the ffmpeg library" ON)
+  endif()
+else()
+  set(USE_FFMPEG OFF)
+endif()
 
 # To control Pioneer mobile robots, under UNIX we need Aria, pthread, rt and dl 3rd party libraries
 find_package(ARIA)
@@ -496,6 +511,19 @@ else()
   SET(USE_DL OFF)
 endif()
 
+find_package(ZBAR)
+if(ZBAR_FOUND)
+  OPTION(USE_ZBAR    "Compile ViSP with zbar library" ON)
+else()
+  SET(USE_ZBAR OFF)
+endif()
+
+find_package(DMTX)
+if(DMTX_FOUND)
+  OPTION(USE_DMTX    "Compile ViSP with zbar library" ON)
+else()
+  SET(USE_DMTX OFF)
+endif()
 
 # Set other options to default value
 #SET(USE_X11        ON) # For Linux/OSX display
@@ -523,12 +551,64 @@ IF(BUILD_SHARED_LIBS)
   SET(VISP_BUILD_SHARED_LIBS TRUE)  # for header vpConfig.h
 ENDIF(BUILD_SHARED_LIBS)
 
+#----------------------------------------------------------------------
+# Try to find doxygen for documentation generation
+# Use "make visp_doc" target to generate the documentation
+#----------------------------------------------------------------------
+find_package(Doxygen)
+if(DOXYGEN_FOUND)
+  set(VISP_HAVE_DOXYGEN "yes")        # for header vpConfig.h
+  set(VISP_HAVE_DOXYGEN_FOUND "yes")  # for ViSP-third-party.txt
+  if(DOXYGEN_DOT_EXECUTABLE)
+    set(VISP_HAVE_DOT "yes")        # for header vpConfig.h
+    set(VISP_HAVE_DOT_FOUND "yes")  # for ViSP-third-party.txt
+  else()
+    set(VISP_HAVE_DOT "no")        # for header vpConfig.h
+    set(VISP_HAVE_DOT_FOUND "no")  # for ViSP-third-party.txt
+  endif()
+  ## we need latex for doxygen because of the formulas
+  find_package(LATEX)
+  if(NOT LATEX_COMPILER)
+    message(STATUS "latex command LATEX_COMPILER not found but usually required. You will probably get warnings and user interaction on doxy run.")
+  endif()
+  if(NOT MAKEINDEX_COMPILER)
+    message(STATUS "makeindex command MAKEINDEX_COMPILER not found but usually required.")
+  endif()
+  if(NOT DVIPS_CONVERTER)
+    message(STATUS "dvips command DVIPS_CONVERTER not found but usually required.")
+  endif()
+
+  configure_file(${VISP_SOURCE_DIR}/doc/config-doxygen.in
+    ${VISP_DOC_DIR}/config-doxygen
+    @ONLY )
+
+  configure_file(${VISP_SOURCE_DIR}/doc/mainpage.doc.in
+    ${VISP_DOC_DIR}/mainpage.doc
+    @ONLY )
+else()
+  set(VISP_HAVE_DOXYGEN "no")        # for header vpConfig.h
+  set(VISP_HAVE_DOXYGEN_FOUND "no")  # for ViSP-third-party.txt
+  set(VISP_HAVE_DOT_FOUND "no")      # for ViSP-third-party.txt
+endif()
+
+# ----------------------------------------------------------------------------
+# Solution folders:
+# ----------------------------------------------------------------------------
+if(MSVC_IDE OR CMAKE_GENERATOR MATCHES Xcode)
+  option(ENABLE_SOLUTION_FOLDERS "Solution folder in Visual Studio or in other IDEs" ON)
+endif()
+
+if(ENABLE_SOLUTION_FOLDERS)
+  set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+  set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "CMakeTargets")
+endif()
+
+# Extra ViSP targets: uninstall, etc.
+include(${VISP_CMAKE_MODULE_PATH}/VISPExtraTargets.cmake)
+
 
 INCLUDE(CheckLibraryExists)
 
-#--------------------------------------------------------------------
-# yarp lib
-#--------------------------------------------------------------------
 #--------------------------------------------------------------------
 # yarp lib
 #--------------------------------------------------------------------
@@ -568,10 +648,12 @@ IF(USE_YARP)
       ENDFOREACH()
     ENDFOREACH()
     
-	# Remove Yarp libraries since they were added previously with full absolute library path and name
-    FOREACH(lib ${YARP_LIBRARIES})
-      LIST(REMOVE_ITEM YARP_LINK_LIBS ${lib})
-    ENDFOREACH()
+    # Remove Yarp libraries since they were added previously with full absolute library path and name
+    if(YARP_LINK_LIBS)
+      foreach(lib ${YARP_LIBRARIES})
+        list(REMOVE_ITEM YARP_LINK_LIBS ${lib})
+      endforeach()
+    endif()
     # Add 3rd party libraries requested by Yarp  	
     LIST(APPEND VISP_EXTERN_LIBRARIES ${YARP_LINK_LIBS})
     
@@ -609,8 +691,16 @@ IF(WIN32 AND NOT CYGWIN)
   if(MINGW)
     CHECK_LIBRARY_EXISTS("ws2_32.a" getch "" HAVE_LIBWS2_32) # for inet_ntoa() and socket functionalities
     if(HAVE_LIBWS2_32)
-      #message("have ws2_32.a")
       list(APPEND VISP_EXTERN_LIBRARIES "ws2_32.a")
+	else()
+	  find_library(WS2_32_LIBRARY "libws2_32.a"
+        "$ENV{MINGW_DIR}/lib"
+        "$ENV{MINGW_DIR}/mingw/lib"
+        C:/mingw/mingw/lib)
+	  mark_as_advanced(WS2_32_LIBRARY)
+	  if(WS2_32_LIBRARY)
+	    list(APPEND VISP_EXTERN_LIBRARIES "${WS2_32_LIBRARY}")
+	  endif()
     endif()
   else() # pure WIN32
     CHECK_LIBRARY_EXISTS("ws2_32.lib" getch "" HAVE_LIBWS2_32) # for inet_ntoa() and socket functionalities
@@ -620,7 +710,6 @@ IF(WIN32 AND NOT CYGWIN)
     endif()
   endif()
 ENDIF(WIN32 AND NOT CYGWIN)
-
 if(UNIX)
   if(BUILD_DEPRECATED_FUNCTIONS)
     list(APPEND VISP_DEFS "-DUNIX")
@@ -633,15 +722,6 @@ if(UNIX)
   endif()
 endif()
 
-if(UNIX)
-  include(TestBigEndian)
-  TEST_BIG_ENDIAN(BIGENDIAN)
-  #SET(BIGENDIAN FALSE)
-  if(BIGENDIAN)
-    add_definitions("-DBIGENDIAN")
-  endif()
-endif()
-
 #--------------------------------------------------------------------
 # OpenMP
 #--------------------------------------------------------------------
@@ -748,13 +828,19 @@ IF(USE_OGRE)
 	# search names with "lib". This is the workaround.
 	set(CMAKE_FIND_LIBRARY_PREFIXES ${CMAKE_FIND_LIBRARY_PREFIXES} "")
     endif ()
-    set(Boost_ADDITIONAL_VERSIONS "1.53.0" "1.52.0" "1.51.0" "1.50.0" "1.49.0" "1.48.0" "1.47.0" "1.46.0" "1.45.0" "1.44.0" "1.44" "1.44.0" "1.42" "1.42.0" "1.41.0" "1.41" "1.40.0" "1.40" "1.39.0" "1.39" "1.38.0" "1.38" "1.37.0" "1.37" )
+    #set(Boost_ADDITIONAL_VERSIONS "1.53.0" "1.52.0" "1.51.0" "1.50.0" "1.49.0" "1.48.0" "1.47.0" "1.46.0" "1.45.0" "1.44.0" "1.44" "1.44.0" "1.42" "1.42.0" "1.41.0" "1.41" "1.40.0" "1.40" "1.39.0" "1.39" "1.38.0" "1.38" "1.37.0" "1.37" )
     # Components that need to be linked with. Since Ogre 1.9 we need not only boost_thread and boost_date_time, but also boost_system 
     set(OGRE_BOOST_COMPONENTS thread system date_time)
+    if(WIN32)
+      list(APPEND OGRE_BOOST_COMPONENTS chrono)
+    endif()
     find_package(Boost COMPONENTS ${OGRE_BOOST_COMPONENTS} QUIET)
-    mark_as_advanced(Boost_LIB_DIAGNOSTIC_DEFINITIONS Boost_DIR)
+    mark_as_advanced(Boost_LIB_DIAGNOSTIC_DEFINITIONS Boost_DIR BOOST_THREAD_LIBRARY)
     if (NOT Boost_FOUND)
       set(OGRE_BOOST_COMPONENTS thread date_time)
+      if(WIN32)
+        list(APPEND OGRE_BOOST_COMPONENTS chrono)
+      endif()
       find_package(Boost COMPONENTS ${OGRE_BOOST_COMPONENTS} QUIET)
     endif()
     if (NOT Boost_FOUND)
@@ -829,18 +915,12 @@ IF(USE_OGRE)
 
     # case 2: install or packaging case
     #--------------
-    IF(UNIX)
-      set(VISP_INSTALL_DIR_OGRE_PLUGINS "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/visp/data/ogre-simulator")
-    ELSE()
-      set(VISP_INSTALL_DIR_OGRE_PLUGINS "${CMAKE_INSTALL_PREFIX}/data/ogre-simulator")
-    ENDIF()
-
     # install rule for plugins.cfg:
     IF(UNIX)
       if(OGRE_PLUGIN_DIR_REL)
         INSTALL(FILES
           ${VISP_HAVE_OGRE_PLUGINS_PATH}/plugins.cfg
-          DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/visp/data/ogre-simulator
+          DESTINATION ${CMAKE_INSTALL_LIBDIR}/visp/data/ogre-simulator
           PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE
           COMPONENT libraries
           )
@@ -848,7 +928,7 @@ IF(USE_OGRE)
       if(OGRE_PLUGIN_DIR_DBG)
         INSTALL(FILES
           ${VISP_HAVE_OGRE_PLUGINS_PATH}/plugins_d.cfg
-          DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/visp/data/ogre-simulator
+          DESTINATION ${CMAKE_INSTALL_LIBDIR}/visp/data/ogre-simulator
           PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE
           COMPONENT libraries
           )
@@ -901,6 +981,19 @@ IF(USE_OGRE)
       set(OGRE_MEDIA_DIR ${VISP_HAVE_OGRE_RESOURCES_PATH}/media)
     endif()
 
+    # On Fedora 20 when ogre-devel and ogre-samples packages are installed, AROgre and
+    # AROgreBasic examples produce a segfault when the folowing line in resource.cf.in
+    # is commented:
+    # '#FileSystem=@OGRE_MEDIA_DIR@/materials/programs'
+    # Here we check if @OGRE_MEDIA_DIR@/materials/programs forder is empty.
+    # If empty, we comment the line to avoid lintian warnings.
+    # If not empty we remove the comment to use the available programs.
+    file(GLOB OGRE_PROGRAM_CONTENT ${OGRE_MEDIA_DIR}/materials/programs/*.*)
+    if(OGRE_PROGRAM_CONTENT)
+      set(OGRE_COMMENT_LINE "")
+    else()
+      set(OGRE_COMMENT_LINE "#")
+    endif()
     CONFIGURE_FILE(
       ${VISP_CMAKE_MODULE_PATH}/resources.cfg.in
       ${VISP_HAVE_OGRE_RESOURCES_PATH}/resources.cfg
@@ -911,7 +1004,7 @@ IF(USE_OGRE)
     #         the minimal requested media to run the examples
     #--------------
     IF(UNIX)
-      set(VISP_INSTALL_DIR_OGRE_RESOURCES "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/visp/data/ogre-simulator")
+      set(VISP_INSTALL_DIR_OGRE_RESOURCES "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/visp-${VISP_VERSION}/data/ogre-simulator")
     ELSE()
       set(VISP_INSTALL_DIR_OGRE_RESOURCES "${CMAKE_INSTALL_PREFIX}/data/ogre-simulator")
     ENDIF()
@@ -919,30 +1012,34 @@ IF(USE_OGRE)
     if(OGRE_MEDIA_NOT_AVAILABLE)
       set(OGRE_MEDIA_DIR ${VISP_INSTALL_DIR_OGRE_RESOURCES}/media)
     endif()
-    CONFIGURE_FILE(
-      ${VISP_CMAKE_MODULE_PATH}/resources.cfg.in
-      ${VISP_BINARY_DIR}/install/resources.cfg
-      IMMEDIATE @ONLY)
 
     # install rule for resources.cfg and Ogre media if they are not available:
     if(UNIX)
+      configure_file(
+        ${VISP_CMAKE_MODULE_PATH}/resources.cfg.in
+        ${VISP_BINARY_DIR}/unix-install/resources.cfg
+        IMMEDIATE @ONLY)
       install(FILES
-        ${VISP_BINARY_DIR}/install/resources.cfg
-        DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/visp/data/ogre-simulator
+        ${VISP_BINARY_DIR}/unix-install/resources.cfg
+        DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/visp-${VISP_VERSION}/data/ogre-simulator
         PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE
         COMPONENT libraries
       )
       if(OGRE_MEDIA_NOT_AVAILABLE)
         install(DIRECTORY
           data/ogre-simulator/media
-          DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/visp/data/ogre-simulator
+          DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/visp-${VISP_VERSION}/data/ogre-simulator
           FILE_PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE
           COMPONENT libraries
         )
       endif()
     else()
+      configure_file(
+        ${VISP_CMAKE_MODULE_PATH}/resources.cfg.in
+        ${VISP_BINARY_DIR}/win-install/resources.cfg
+        IMMEDIATE @ONLY)
       install(FILES
-        ${VISP_BINARY_DIR}/install/resources.cfg
+        ${VISP_BINARY_DIR}/win-install/resources.cfg
         DESTINATION data/ogre-simulator
         PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE
         COMPONENT libraries
@@ -962,8 +1059,15 @@ IF(USE_OGRE)
   MARK_AS_ADVANCED(VISP_HAVE_OGRE_RESOURCES_PATH)
   #message("VISP_HAVE_OGRE_PLUGINS_PATH: ${VISP_HAVE_OGRE_PLUGINS_PATH}")
   #message("VISP_HAVE_OGRE_RESOURCES_PATH: ${VISP_HAVE_OGRE_RESOURCES_PATH}")
-
-  LIST(APPEND VISP_EXTERN_INCLUDE_DIRS ${OGRE_INCLUDE_DIRS})  
+  
+  # hack to fix possible presence of NOTFOUND in OGRE_INCLUDE_DIRS
+  #message("OGRE_INCLUDE_DIRS: ${OGRE_INCLUDE_DIRS}")
+  #LIST(APPEND VISP_EXTERN_INCLUDE_DIRS ${OGRE_INCLUDE_DIRS})  
+  foreach(inc_ ${OGRE_INCLUDE_DIRS})
+    if(NOT ${inc_} MATCHES "NOTFOUND")
+	    LIST(APPEND VISP_EXTERN_INCLUDE_DIRS ${inc_})  
+	endif()
+  endforeach()
   LIST(APPEND VISP_EXTERN_LIBRARIES ${OGRE_LIBRARIES})
 ENDIF(USE_OGRE)
 
@@ -1240,136 +1344,152 @@ SET(VISP_HAVE_ZLIB_FOUND "no")  # for ViSP-third-party.txt
 SET(VISP_HAVE_FFMPEG_FOUND "no")  # for ViSP-third-party.txt
 SET(VISP_HAVE_CMU1394_FOUND "no")  # for ViSP-third-party.txt
 
-# open CV
-IF(USE_OPENCV)
+# OpenCV
+if(USE_OPENCV)
   #SET(OpenCV_FIND_QUIETLY TRUE)
   #FIND_PACKAGE(OpenCV)
-  IF(OpenCV_FOUND)
-    MESSAGE(STATUS "OpenCV found")
-    IF(VISP_BUILD_SHARED_LIBS AND VISP_USE_MSVC)
-      ADD_DEFINITIONS("-DCVAPI_EXPORTS")
-    ENDIF(VISP_BUILD_SHARED_LIBS AND VISP_USE_MSVC)
-    SET(VISP_HAVE_OPENCV  TRUE)  # for header vpConfig.h
-    SET(VISP_HAVE_OPENCV_FOUND "yes")  # for ViSP-third-party.txt
-    # On win32 since OpenCV 2.4.7 we cannot use OpenCV_LIBS to set ViSP 3rd party libraries.
+  if(OpenCV_FOUND)
+    message(STATUS "OpenCV found")
+    set(VISP_HAVE_OPENCV  TRUE)  # for header vpConfig.h
+    set(VISP_HAVE_OPENCV_FOUND "yes")  # for ViSP-third-party.txt
+    # On win32 since OpenCV 2.4.7 and on OSX with OpenCV 2.4.10 we cannot use OpenCV_LIBS to set ViSP 3rd party libraries.
     # Using OpenCV_LIBS works to build visp library, examples, demos and test thanks to the components, 
-	# but not tutorials that are stand alone Cmake project that use ViSP as a 3rd party.
-    # To be clear OpenCV_LIBS contains opencv_core and not c:\...\opencv_core248.lib full path as requested 
-	# to use ViSP. This was not the case with OpenCV 2.4.6.
+    # but not tutorials that are stand alone Cmake project that use ViSP as a 3rd party.
+    # To be clear OpenCV_LIBS contains opencv_core and not c:\...\opencv_core248.lib full path as requested
+    # to use ViSP. This was not the case with OpenCV 2.4.6.
     # For the build of ViSP it works with OpenCV_LIBS: in that case thanks to opencv_core properties, CMake
     # is able to find the real name and location of the libraries.
     # But when ViSP is used as a 3rd party where it should import OpenCV libraries, it doesn't work with 
-	# OpenCV_LIBS.
+    # OpenCV_LIBS.
     # The solution here is to get the real name of OpenCV libraries thanks to the properties and link 
-	# with these names.
-	# An other way could be to include OpenCVConfig.cmake, but in that case, visp-config and visp.pc 
-	# will be not able to give the names of OpenCV libraries when used without CMake.
-	#message("OpenCV_LIB_COMPONENTS: ${OpenCV_LIB_COMPONENTS}")
-	#message("OpenCV_LIBS: ${OpenCV_LIBS}")
-	if(WIN32 AND OpenCV_LIB_COMPONENTS AND OpenCV_VERSION AND OpenCV_VERSION VERSION_GREATER 2.4.6)
+    # with these names.
+    # An other way could be to include OpenCVConfig.cmake, but in that case, visp-config and visp.pc
+    # will be not able to give the names of OpenCV libraries when used without CMake.
+    #message("OpenCV_LIB_COMPONENTS: ${OpenCV_LIB_COMPONENTS}")
+    #message("OpenCV_LIBS: ${OpenCV_LIBS}")
+    #if(WIN32 AND OpenCV_LIB_COMPONENTS AND OpenCV_VERSION AND OpenCV_VERSION VERSION_GREATER 2.4.6.1)
+    if(OpenCV_LIB_COMPONENTS AND OpenCV_VERSION AND OpenCV_VERSION VERSION_GREATER 2.4.6.1)    
+      set(config_ "NONE" "RELEASE" "DEBUG" "RELEASEWITHDEBINFO") # RelWithDebugInfo was requested under Fedora 20
+      
+      if(POLICY CMP0045)
+        # Fix Error on non-existent target in get_target_property for 3rd party location extraction
+        cmake_policy(PUSH)
+        cmake_policy(SET CMP0045 OLD)
+      endif()
+      
       foreach(component_ ${OpenCV_LIB_COMPONENTS})
-	    #message("component: ${component_}")
-		if(VISP_BUILD_SHARED_LIBS)
-          get_target_property(component_property_opt_ ${component_} IMPORTED_IMPLIB_RELEASE)
-          get_target_property(component_property_dbg_ ${component_} IMPORTED_IMPLIB_DEBUG)
-		  # particular case of opencv_ts that doesn't have an optimized implib
-		  if(NOT component_property_opt_)
-		    get_target_property(component_property_opt_ ${component_} IMPORTED_LOCATION_RELEASE)
-		  endif()
-		  # particular case of opencv_ts that doesn't have a debug implib
-		  if(NOT component_property_dbg_)
-		    get_target_property(component_property_dbg_ ${component_} IMPORTED_LOCATION_DEBUG)
-		  endif()
-		else()
-          get_target_property(component_property_opt_ ${component_} IMPORTED_LOCATION_RELEASE)
-          get_target_property(component_property_dbg_ ${component_} IMPORTED_LOCATION_DEBUG)
-		endif()
-		get_target_property(component_property_3rdparty_opt_ ${component_} IMPORTED_LINK_INTERFACE_LIBRARIES_RELEASE)
-		get_target_property(component_property_3rdparty_dbg_ ${component_} IMPORTED_LINK_INTERFACE_LIBRARIES_DEBUG)
-		#message("component_property_opt_: ${component_property_opt_}")
-		#message("component_property_dbg_: ${component_property_dbg_}")
-		#message("component_property_3rdparty_opt_: ${component_property_3rdparty_opt_}")
-		#message("component_property_3rdparty_dbg_: ${component_property_3rdparty_dbg_}")
-		if(component_property_opt_)
-		  list(APPEND VISP_EXTERN_LIBRARIES optimized ${component_property_opt_})
-		endif()
-		if(component_property_dbg_)
-		  list(APPEND VISP_EXTERN_LIBRARIES debug     ${component_property_dbg_})
-		endif()
-		#if(NOT component_property_opt_ AND NOT component_property_dbg_)
-		#  message("No implib for component ${component_}")
-		#endif()
-		foreach(3rdparty_opt_ ${component_property_3rdparty_opt_})
-		    list(FIND OpenCV_LIB_COMPONENTS ${3rdparty_opt_} 3rdparty_is_opencv_component_)
-			if(3rdparty_is_opencv_component_ LESS 0)
-			  #message("${3rdparty_opt_} is not an opencv component")
-		      get_target_property(3rdparty_opt_location_ ${3rdparty_opt_} IMPORTED_LOCATION_RELEASE)
-			  #message("3rdparty_opt_: ${3rdparty_opt_} location: ${3rdparty_opt_location_}")
-			  if(3rdparty_opt_location_)
-			    list(APPEND VISP_EXTERN_LIBRARIES optimized ${3rdparty_opt_location_})
-			  else()
-			    list(APPEND VISP_EXTERN_LIBRARIES ${3rdparty_opt_}) # should be a system dependency			
-			  endif()
-			endif()
-		endforeach()
-		foreach(3rdparty_dbg_ ${component_property_3rdparty_dbg_})
-		    list(FIND OpenCV_LIB_COMPONENTS ${3rdparty_dbg_} 3rdparty_is_opencv_component_)
-		    if(3rdparty_is_opencv_component_ LESS 0)
-			  get_target_property(3rdparty_dbg_location_ ${3rdparty_dbg_} IMPORTED_LOCATION_DEBUG)
-			  #message("3rdparty_dbg_: ${3rdparty_dbg_} location: ${3rdparty_dbg_location_}")
-			  if(3rdparty_dbg_location_)
-			    list(APPEND VISP_EXTERN_LIBRARIES debug ${3rdparty_dbg_location_})
-			  else()
-			    list(APPEND VISP_EXTERN_LIBRARIES ${3rdparty_dbg_}) # should be a system dependency			
-			  endif()
-			endif()
-		endforeach()
+        foreach(imp_config_ ${config_})
+          if(OpenCV_SHARED)
+            get_target_property(component_property_${imp_config_}_ ${component_} IMPORTED_IMPLIB_${imp_config_})
+            # particular case of opencv_ts that doesn't have an implib
+            if(NOT EXISTS "${component_property_${imp_config_}_}")
+              get_target_property(component_property_${imp_config_}_ ${component_} IMPORTED_LOCATION_${imp_config_})
+            endif()
+          else()
+              get_target_property(component_property_${imp_config_}_ ${component_} IMPORTED_LOCATION_${imp_config_})
+          endif()
+          get_target_property(component_property_3rdparty_${imp_config_}_ ${component_} IMPORTED_LINK_INTERFACE_LIBRARIES_${imp_config_})
+          #message("component_property_${imp_config_}_: ${component_property_${imp_config_}_}")
+          #message("component_property_3rdparty_${imp_config_}_: ${component_property_3rdparty_${imp_config_}_}")
+
+          # Under Unix, there is no specific suffix for OpenCV libraries. If one is found we add it
+          # Under Windows, we add the "optimized", "debug" specific keywords
+          if(WIN32 AND EXISTS "${component_property_${imp_config_}_}" AND "${imp_config_}" MATCHES "RELEASE") # also valid for RELEASEWITHDEBINFO
+            list(APPEND VISP_EXTERN_LIBRARIES optimized "${component_property_${imp_config_}_}")
+          elseif(WIN32 AND EXISTS "${component_property_${imp_config_}_}" AND "${imp_config_}" MATCHES "DEBUG")
+            list(APPEND VISP_EXTERN_LIBRARIES debug     "${component_property_${imp_config_}_}")
+          elseif(EXISTS "${component_property_${imp_config_}_}")
+            list(APPEND VISP_EXTERN_LIBRARIES "${component_property_${imp_config_}_}")
+          endif()
+
+          if(component_property_3rdparty_${imp_config_}_)
+            foreach(3rdparty_ ${component_property_3rdparty_${imp_config_}_})
+              #message("3rdparty_ ${3rdparty_}")
+              list(FIND OpenCV_LIB_COMPONENTS ${3rdparty_} 3rdparty_is_opencv_component_)
+              if(3rdparty_is_opencv_component_ LESS 0)
+                #message("${3rdparty_} is not an opencv component")
+                get_target_property(3rdparty_opt_location_ ${3rdparty_} IMPORTED_LOCATION_${imp_config_})
+                if(NOT EXISTS "${3rdparty_opt_location_}")
+                  #message("3rdparty_: ${3rdparty_} location doesn't exist in ${imp_config_}")
+                  get_target_property(3rdparty_opt_location_ ${3rdparty_} IMPORTED_LOCATION)
+                  #message("3rdparty_: ${3rdparty_} location : ${3rdparty_opt_location_}")
+                endif()
+                if(EXISTS "${3rdparty_opt_location_}")
+                  #message("3rdparty_opt_location_: ${3rdparty_opt_location_} with config ${imp_config_}")
+                  if(WIN32 AND "${imp_config_}" MATCHES "RELEASE")
+                    #message("is release")
+                    list(APPEND VISP_EXTERN_LIBRARIES optimized ${3rdparty_opt_location_})
+                  elseif(WIN32 AND "${imp_config_}" MATCHES "DEBUG")
+                    list(APPEND VISP_EXTERN_LIBRARIES debug ${3rdparty_opt_location_})
+                  else()
+                    list(APPEND VISP_EXTERN_LIBRARIES ${3rdparty_opt_location_})
+                  endif()
+                else()
+                  find_library(3rdparty_location_ NAMES ${3rdparty_})
+                  mark_as_advanced(3rdparty_location_)
+                  if(3rdparty_location_)
+	                  #message(${3rdparty_location_})
+    	              list(APPEND VISP_EXTERN_LIBRARIES ${3rdparty_location_}) # should be a system dependency
+    	          else()
+    	              list(APPEND VISP_EXTERN_LIBRARIES ${3rdparty_}) # should be a system dependency
+    	          endif()
+                endif()
+              endif()
+            endforeach()
+          endif()
+        endforeach()
       endforeach()
+      
+      if(POLICY CMP0045)
+        # Fix Error on non-existent target in get_target_property for 3rd party location extraction
+        cmake_policy(POP)
+      endif()
+      
     else()
       # this should be an old OpenCV version that doesn't have the previous behavior
       list(APPEND VISP_EXTERN_LIBRARIES ${OpenCV_LIBS})
     endif()
-    LIST(APPEND VISP_EXTERN_INCLUDE_DIRS ${OpenCV_INCLUDE_DIRS})
-    LIST(APPEND VISP_EXTERN_LINK_DIR ${OpenCV_LIB_DIR})
+    list(APPEND VISP_EXTERN_INCLUDE_DIRS ${OpenCV_INCLUDE_DIRS})
     #LIST(APPEND VISP_EXTERN_LIBRARIES ${OpenCV_LIBS})
     #MESSAGE("OpenCV_INCLUDE_DIRS = ${OpenCV_INCLUDE_DIRS}")
     #MESSAGE("OpenCV_LIBS = ${OpenCV_LIBS}")
     #MESSAGE("OpenCV_LIB_DIR = ${OpenCV_LIB_DIR}")
-    SET(VISP_HAVE_OPENCV_VERSION "(${OpenCV_VERSION_MAJOR}*65536 + ${OpenCV_VERSION_MINOR}*256 + ${OpenCV_VERSION_PATCH})") # for ViSP-third-party.txt
+    set(VISP_HAVE_OPENCV_VERSION "(${OpenCV_VERSION_MAJOR}*65536 + ${OpenCV_VERSION_MINOR}*256 + ${OpenCV_VERSION_PATCH})") # for ViSP-third-party.txt
     #MESSAGE("VISP_HAVE_OPENCV_VERSION = ${VISP_HAVE_OPENCV_VERSION}")
-    #MESSAGE("VISP_EXTERN_LIBRARIES = ${VISP_EXTERN_LIBRARIES}")
+    #message("VISP_EXTERN_LIBRARIES = ${VISP_EXTERN_LIBRARIES}")
 
     # additional check to see if opencv_nonfree module introduced in OpenCV 2.4 is available
     #message("OpenCV_VERSION = ${OpenCV_VERSION}")
     #message("OpenCV_NONFREE_FOUND: ${OPENCV_NONFREE_FOUND}")
     if(OpenCV_VERSION)
-      if(OpenCV_VERSION VERSION_LESS "2.4.2")
-        message(STATUS "OpenCV nonfree found")
+      if(OpenCV_VERSION VERSION_LESS "2.4.0")
+        message(STATUS "OpenCV nonfree module found")
         set(VISP_HAVE_OPENCV_NONFREE TRUE)  # for header vpConfig.h
       else() # Version is greater or equal to 2.4.0
-        if(OPENCV_NONFREE_FOUND)
-          message(STATUS "OpenCV nonfree found")
+        if(OPENCV_NONFREE_FOUND) # OpenCV < 3.0.0
+          message(STATUS "OpenCV xfeatures2d module found")
           set(VISP_HAVE_OPENCV_NONFREE TRUE)  # for header vpConfig.h
+        elseif(OPENCV_XFEATURES2D_FOUND) # OpenCV >= 3.0.0
+          set(VISP_HAVE_OPENCV_XFEATURES2D TRUE)  # for header vpConfig.h
         else()
-          message(STATUS "OpenCV nonfree not found")
+          message(STATUS "OpenCV nonfree or xfeature2d module not found")
         endif()
       endif()
     else()
       message("OpenCV_VERSION is false")
       message(STATUS "OpenCV nonfree not found")
     endif()
-  ELSE(OpenCV_FOUND)
-    MESSAGE(STATUS "OpenCV not found")
-    SET(VISP_HAVE_OPENCV_FOUND "no")    # for ViSP-third-party.txt
-    SET(VISP_HAVE_OPENCV_VERSION "(0)") # for ViSP-third-party.txt
-  ENDIF(OpenCV_FOUND)
-ELSE(USE_OPENCV)
-  SET(OpenCV_VERSION_MAJOR 0)
-  SET(OpenCV_VERSION_MINOR 0)
+  else(OpenCV_FOUND)
+    message(STATUS "OpenCV not found")
+    set(VISP_HAVE_OPENCV_FOUND "no")    # for ViSP-third-party.txt
+    set(VISP_HAVE_OPENCV_VERSION "(0)") # for ViSP-third-party.txt
+  endif(OpenCV_FOUND)
+else(USE_OPENCV)
+  set(OpenCV_VERSION_MAJOR 0)
+  set(OpenCV_VERSION_MINOR 0)
   SET(OpenCV_VERSION_PATCH 0)
-  SET(VISP_HAVE_OPENCV_VERSION "(0)") # for ViSP-third-party.txt
-ENDIF(USE_OPENCV)
-
+  set(VISP_HAVE_OPENCV_VERSION "(0)") # for ViSP-third-party.txt
+endif(USE_OPENCV)
 
 # gnu scientific library
 IF(USE_GSL)
@@ -1379,12 +1499,8 @@ IF(USE_GSL)
     SET(VISP_HAVE_GSL  TRUE)  # for header vpConfig.h
     SET(VISP_HAVE_GSL_FOUND "yes")  # for ViSP-third-party.txt
     LIST(APPEND VISP_EXTERN_INCLUDE_DIRS ${GSL_INCLUDE_DIRS})
-    LIST(APPEND VISP_EXTERN_LINK_DIR ${GSL_EXE_LINKER_FLAGS})
-    LIST(APPEND VISP_EXTERN_LINK_DIR ${GSL_LINK_DIRECTORIES})
     LIST(APPEND VISP_EXTERN_LIBRARIES ${GSL_LIBRARIES})
-    #LINK_DIRECTORIES(${GSL_LINK_DIRECTORIES})
     #MESSAGE("GSL_INCLUDE_DIRS = ${GSL_INCLUDE_DIRS}")
-    #MESSAGE("GSL_LINK_DIRECTORIES = ${GSL_LINK_DIRECTORIES}")
     #MESSAGE("GSL_LIBRARIES = ${GSL_LIBRARIES}")
   ELSE(GSL_FOUND)
     MESSAGE(STATUS "GSL not found")
@@ -1936,46 +2052,23 @@ if(USE_ARIA)
   endif(UNIX)
 endif()
 
+if(USE_ZBAR)
+  set(VISP_HAVE_ZBAR TRUE) # for header vpConfig.h
+  set(VISP_HAVE_ZBAR_FOUND "yes")  # for ViSP-third-party.txt
+  list(APPEND VISP_EXTERN_INCLUDE_DIRS ${ZBAR_INCLUDE_DIRS})
+  list(APPEND VISP_EXTERN_LIBRARIES ${ZBAR_LIBRARIES})
+else()
+  set(VISP_HAVE_ZBAR_FOUND "no")  # for ViSP-third-party.txt
+endif()
 
-#----------------------------------------------------------------------
-# add html-doc target for doxygen documentation building
-#----------------------------------------------------------------------
-FIND_PACKAGE(Doxygen)
-IF (DOXYGEN_FOUND)
-  SET(VISP_HAVE_DOXYGEN "yes")        # for header vpConfig.h
-  SET(VISP_HAVE_DOXYGEN_FOUND "yes")  # for ViSP-third-party.txt
-  IF(DOXYGEN_DOT_EXECUTABLE)
-    SET(VISP_HAVE_DOT "yes")        # for header vpConfig.h
-    SET(VISP_HAVE_DOT_FOUND "yes")  # for ViSP-third-party.txt
-  ELSE(DOXYGEN_DOT_EXECUTABLE)
-    SET(VISP_HAVE_DOT "no")        # for header vpConfig.h
-    SET(VISP_HAVE_DOT_FOUND "no")  # for ViSP-third-party.txt
-  ENDIF(DOXYGEN_DOT_EXECUTABLE)
-  ## we need latex for doxygen because of the formulas
-  FIND_PACKAGE(LATEX)
-  IF    (NOT LATEX_COMPILER)
-    MESSAGE(STATUS "latex command LATEX_COMPILER not found but usually required. You will probably get warnings and user interaction on doxy run.")
-  ENDIF (NOT LATEX_COMPILER)
-  IF    (NOT MAKEINDEX_COMPILER)
-    MESSAGE(STATUS "makeindex command MAKEINDEX_COMPILER not found but usually required.")
-  ENDIF (NOT MAKEINDEX_COMPILER)
-  IF    (NOT DVIPS_CONVERTER)
-    MESSAGE(STATUS "dvips command DVIPS_CONVERTER not found but usually required.")
-  ENDIF (NOT DVIPS_CONVERTER)
-   
-  CONFIGURE_FILE(${VISP_SOURCE_DIR}/doc/config-doxygen.in
-    ${VISP_DOC_DIR}/config-doxygen
-    @ONLY )
-
-  CONFIGURE_FILE(${VISP_SOURCE_DIR}/doc/mainpage.doc.in
-    ${VISP_SOURCE_DIR}/doc/mainpage.doc
-    @ONLY )
-  ADD_CUSTOM_TARGET(html-doc ${DOXYGEN_EXECUTABLE} ${VISP_DOC_DIR}/config-doxygen) 
-ELSE(DOXYGEN_FOUND)
-  SET(VISP_HAVE_DOXYGEN "no")        # for header vpConfig.h
-  SET(VISP_HAVE_DOXYGEN_FOUND "no")  # for ViSP-third-party.txt
-  SET(VISP_HAVE_DOT_FOUND "no")      # for ViSP-third-party.txt
-ENDIF(DOXYGEN_FOUND)
+if(USE_DMTX)
+  set(VISP_HAVE_DMTX TRUE) # for header vpConfig.h
+  set(VISP_HAVE_DMTX_FOUND "yes")  # for ViSP-third-party.txt
+  list(APPEND VISP_EXTERN_INCLUDE_DIRS ${DMTX_INCLUDE_DIRS})
+  list(APPEND VISP_EXTERN_LIBRARIES ${DMTX_LIBRARIES})
+else()
+  set(VISP_HAVE_DMTX_FOUND "no")  # for ViSP-third-party.txt
+endif()
 
 #----------------------------------------------------------------------
 # Add definitions
@@ -2004,18 +2097,10 @@ add_definitions(${VISP_DEFS})
 IF(VISP_EXTERN_INCLUDE_DIRS)
   LIST(REMOVE_DUPLICATES VISP_EXTERN_INCLUDE_DIRS)
 ENDIF(VISP_EXTERN_INCLUDE_DIRS)
-#MESSAGE("VISP_EXTERN_INCLUDE_DIRS without duplicates: ${VISP_EXTERN_INCLUDE_DIRS}")
-INCLUDE_DIRECTORIES(${VISP_INTERN_INCLUDE_DIR} ${VISP_EXTERN_INCLUDE_DIRS})
-
-#----------------------------------------------------------------------
-# Add link directories
-#----------------------------------------------------------------------
-#MESSAGE("VISP_EXTERN_LINK_DIR: ${VISP_EXTERN_LINK_DIR}")
-IF(VISP_EXTERN_LINK_DIR)
-  LIST(REMOVE_DUPLICATES VISP_EXTERN_LINK_DIR)
-ENDIF(VISP_EXTERN_LINK_DIR)
-#MESSAGE("VISP_EXTERN_LINK_DIR without duplicates: ${VISP_EXTERN_LINK_DIR}")
-LINK_DIRECTORIES(${VISP_EXTERN_LINK_DIR})
+#MESSAGE("VISP_INTERN_INCLUDE_DIR: ${VISP_INTERN_INCLUDE_DIR}")
+#MESSAGE("VISP_EXTERN_INCLUDE_DIRS: ${VISP_EXTERN_INCLUDE_DIRS}")
+include_directories(BEFORE ${VISP_INTERN_INCLUDE_DIR})
+include_directories(${VISP_EXTERN_INCLUDE_DIRS})
 
 #----------------------------------------------------------------------
 # Use statically or dynamically linked CRT?
@@ -2025,6 +2110,36 @@ if(MSVC)
    include(${VISP_CMAKE_MODULE_PATH}/VISPCRTLinkage.cmake)
 endif(MSVC)
 
+#----------------------------------------------------------------------
+# Platform specific
+#----------------------------------------------------------------------
+include(${VISP_CMAKE_MODULE_PATH}/VISPDetectPlatform.cmake)
+
+# Set the path where to install the lib
+if(WIN32)
+  if(DEFINED VISP_RUNTIME AND DEFINED VISP_ARCH)
+    set(VISP_INSTALL_BINARIES_PREFIX "${VISP_ARCH}/${VISP_RUNTIME}/")
+  else()
+    message(STATUS "Can't detect runtime and/or arch")
+    set(VISP_INSTALL_BINARIES_PREFIX "")
+  endif()
+else()
+  set(VISP_INSTALL_BINARIES_PREFIX "")
+endif()
+
+# where to install the library
+if(WIN32)
+  if(VISP_STATIC)
+    set(VISP_LIB_INSTALL_PATH   "${VISP_INSTALL_BINARIES_PREFIX}static${CMAKE_INSTALL_LIBDIR}")
+  else()
+    set(VISP_LIB_INSTALL_PATH   "${VISP_INSTALL_BINARIES_PREFIX}${CMAKE_INSTALL_LIBDIR}")
+  endif()
+  set(VISP_BIN_INSTALL_PATH   "${VISP_INSTALL_BINARIES_PREFIX}${CMAKE_INSTALL_BINDIR}")
+else()
+  set(VISP_LIB_INSTALL_PATH     ${CMAKE_INSTALL_LIBDIR})
+  set(VISP_BIN_INSTALL_PATH     ${CMAKE_INSTALL_BINDIR})
+endif()
+
 #----------------------------------------------------------------------
 # Cleanify the libraries list
 #----------------------------------------------------------------------
@@ -2032,11 +2147,6 @@ IF(APPLE)
   LIST(REMOVE_DUPLICATES VISP_EXTERN_LIBRARIES)
 ENDIF()
 
-#----------------------------------------------------------------------
-# add distclean target
-#----------------------------------------------------------------------
-INCLUDE(${VISP_CMAKE_MODULE_PATH}/TargetDistclean.cmake)
-
 #----------------------------------------------------------------------
 # customize clean target
 #----------------------------------------------------------------------
@@ -2053,15 +2163,9 @@ SET_DIRECTORY_PROPERTIES(PROPERTIES
 )
 
 #----------------------------------------------------------------------
-# customize uninstall target
+# Propagation in src to build the library
 #----------------------------------------------------------------------
-CONFIGURE_FILE(
-  "${VISP_CMAKE_MODULE_PATH}/cmake_uninstall.cmake.in"
-  "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
-  IMMEDIATE @ONLY)
-
-ADD_CUSTOM_TARGET(uninstall
-  "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
+add_subdirectory(src)
 
 #----------------------------------------------------------------------
 # Configure the files that depend on the build <binary dir> or
@@ -2084,7 +2188,7 @@ CONFIGURE_FILE(${VISP_SOURCE_DIR}/include/vpConfig.h.cmake
 # case 2: when ViSP is build with make install; files are used in <install dir>
 #--------------
 IF(UNIX)
-  set(VISP_ROOT_DIR_DATA_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/visp")
+  set(VISP_ROOT_DIR_DATA_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/visp-${VISP_VERSION}")
 ELSE()
   set(VISP_ROOT_DIR_DATA_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}")
 ENDIF()
@@ -2097,21 +2201,9 @@ if(VISP_INSTALL_DIR_OGRE_RESOURCES)
 endif()
 # Only if plugins.cfg created by hand, we change the path to plugins.cfg in install/vpConfig.h
 if(VISP_INSTALL_DIR_OGRE_RESOURCES)
-  SET(VISP_HAVE_OGRE_PLUGINS_PATH ${VISP_ROOT_DIR_DATA_CONFIGCMAKE}/data/ogre-simulator)
+  SET(VISP_HAVE_OGRE_PLUGINS_PATH ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/visp/data/ogre-simulator)
 endif()
 
-# Generate the package dependent file include/visp/vpConfig.h
-CONFIGURE_FILE(${VISP_SOURCE_DIR}/include/vpConfig.h.cmake
-  ${VISP_BINARY_DIR}/install/vpConfig.h
-)
-
-# Install vpConfig.h that may differ from the one in include/visp
-INSTALL(FILES ${VISP_BINARY_DIR}/install/vpConfig.h
-  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/visp
-  PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE
-  COMPONENT headers
-  )
-
 #----------------------------------------------------------------------
 # Generate the ViSP-third-party.txt information file
 #----------------------------------------------------------------------
@@ -2142,44 +2234,31 @@ if(UNIX)
   MARK_AS_ADVANCED(GZIP)
 endif()
 
-# Install the packaging files for use by FIND_PACKAGE(VISP) in user projects
-# install rule for vpConfig.h:
+#----------------------------------------------------------------------
+# Export the library
+#----------------------------------------------------------------------
 # we need to adapt VISP_SCENES_DIR and VISP_ROBOT_ARMS_DIR
 # here set to /usr/share/visp/data
-IF(UNIX)
-  INSTALL(FILES
-    ${VISP_BINARY_DIR}/install/VISPUse.cmake
-    ${VISP_BINARY_DIR}/install/VISPConfig.cmake
-    DESTINATION ${CMAKE_INSTALL_LIBDIR}/visp
-    PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE
-    COMPONENT libraries
-  )
+if(UNIX)
   foreach(SCENE ${WIREFRAME_SCENES})
-    INSTALL(FILES 
+    install(FILES
       "${VISP_SOURCE_DIR}/src/simulator/wireframe-simulator/scene/${SCENE}"
-      DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/visp/data/wireframe-simulator
+      DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/visp-${VISP_VERSION}/data/wireframe-simulator
       PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE
       COMPONENT libraries
     )
   endforeach()
   foreach(SCENE ${ROBOT_ARMS_SCENES})
-    INSTALL(FILES 
+    install(FILES
       "${VISP_SOURCE_DIR}/src/robot/simulator-robot/arms/${SCENE}"
-      DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/visp/data/robot-simulator
+      DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/visp-${VISP_VERSION}/data/robot-simulator
       PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE
       COMPONENT libraries
     )
   endforeach()
-ELSE()
-  INSTALL(FILES
-    ${VISP_BINARY_DIR}/install/VISPUse.cmake
-    ${VISP_BINARY_DIR}/install/VISPConfig.cmake
-    DESTINATION .
-    PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE
-    COMPONENT libraries
-  )
+else()
   foreach(SCENE ${WIREFRAME_SCENES})
-    INSTALL(FILES 
+    install(FILES
       "${VISP_SOURCE_DIR}/src/simulator/wireframe-simulator/scene/${SCENE}"
       DESTINATION data/wireframe-simulator
       PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE
@@ -2187,23 +2266,14 @@ ELSE()
     )
   endforeach()
   foreach(SCENE ${ROBOT_ARMS_SCENES})
-    INSTALL(FILES 
+    install(FILES
       "${VISP_SOURCE_DIR}/src/robot/simulator-robot/arms/${SCENE}"
       DESTINATION data/robot-simulator
       PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE
       COMPONENT libraries
     )
   endforeach()
-ENDIF()
-
-#----------------------------------------------------------------------
-# For Dart server and tests 
-# We use CDash set through CTestConfig.cmake file
-# Dashboards are sent to http://cdash.irisa.fr/CDash/index.php?project=ViSP
-#----------------------------------------------------------------------
-ENABLE_TESTING()
-INCLUDE(Dart)
-MARK_AS_ADVANCED(DART_ROOT)
+endif()
 
 #----------------------------------------------------------------------
 # For CPack packaging tool
@@ -2219,72 +2289,20 @@ if (BUILD_PACKAGE)
   include (${VISP_SOURCE_DIR}/CMakeModules/CPackConfig.cmake)
 endif(BUILD_PACKAGE)
 
-#----------------------------------------------------------------------
-# Propagation in src to build the library
-#----------------------------------------------------------------------
-add_subdirectory(src)
-
 #----------------------------------------------------------------------
 # Configure the file describing how to use ViSP. VISPConfig.cmake
 # is the main file configuring a CMake package.
 # . Exports build settings and dependencies for projects using ViSP as a
 #   third party project.
-# . Create and install files for simple use of FIND_PACKAGE(VISP)
+# . Create and install files for simple use of find_package(VISP)
 #   by other cmakified "user" projects and libraries depending on ViSP.
 #   (see "Mastering CMake", pp.72)
 # . To use ViSP in a third party project based on CMake:
-#   FIND_PACKAGE(VISP REQUIRED)
-#   IF(VISP_FOUND)
-#     INCLUDE(${VISP_USE_FILE})
-#   ENDIF(VISP_FOUND)
+#   find_package(VISP REQUIRED)
+#   include_directories(${VISP_INCLUDE_DIRS})
+#   target_link_libraries(<target> ${VISP_LIBRARIES})
 #----------------------------------------------------------------------
-
-# Installation for ViSPConfig.cmake and VISPUse.cmake
-# case 1: <binary dir>/ViSPConfig.cmake for use with make
-# case 2: <install dir>/ViSPConfig.cmake for use with make install
-
-get_target_property(VISP_LIBNAME_DBG ${VISP_INTERN_LIBRARY} LOCATION_Debug)
-get_target_property(VISP_LIBNAME_OPT ${VISP_INTERN_LIBRARY} LOCATION_Release)
-
-get_filename_component(VISP_LIBNAME_DBG "${VISP_LIBNAME_DBG}" NAME)
-get_filename_component(VISP_LIBNAME_OPT "${VISP_LIBNAME_OPT}" NAME)
-
-#message("VISP_LIBNAME_DBG: ${VISP_LIBNAME_DBG}")
-#message("VISP_LIBNAME_OPT: ${VISP_LIBNAME_OPT}")
-
-# case 1
-#--------------
-set(VISP_ROOT_DIR_CONFIGCMAKE "${VISP_BINARY_DIR}")
-set(VISP_ROOT_DIR_CMAKE_CONFIGCMAKE "${VISP_BINARY_DIR}")
-CONFIGURE_FILE(
-  ${VISP_CMAKE_MODULE_PATH}/VISPConfig.cmake.in
-  ${VISP_BINARY_DIR}/VISPConfig.cmake
-  IMMEDIATE @ONLY)
-
-# Just to copy ./CMakeModule/VISPUse.cmake.in <binary dir>/UseVISP.cmake
-CONFIGURE_FILE(
-  ${VISP_CMAKE_MODULE_PATH}/VISPUse.cmake.in
-  ${VISP_BINARY_DIR}/VISPUse.cmake
-  IMMEDIATE @ONLY)
-
-# case 2
-#--------------
-set(VISP_ROOT_DIR_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}")
-if(UNIX)
-  set(VISP_ROOT_DIR_CMAKE_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/visp")
-else()
-  set(VISP_ROOT_DIR_CMAKE_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}")
-endif()
-CONFIGURE_FILE(
-  ${VISP_CMAKE_MODULE_PATH}/VISPConfig.cmake.in
-  ${VISP_BINARY_DIR}/install/VISPConfig.cmake
-  IMMEDIATE @ONLY)
-
-# Just to copy ./CMakeModule/VISPUse.cmake.in in <install dir>/UseVISP.cmake
-CONFIGURE_FILE(
-  ${VISP_CMAKE_MODULE_PATH}/VISPUse.cmake.in
-  ${VISP_BINARY_DIR}/install/VISPUse.cmake
-  IMMEDIATE @ONLY)
+include(${VISP_CMAKE_MODULE_PATH}/VISPGenerateConfig.cmake)
 
 #----------------------------------------------------------------------
 # Generate the package dependent visp-config shell script for projects which
@@ -2292,43 +2310,50 @@ CONFIGURE_FILE(
 # Usage:
 #    visp-config --cflags ...
 #----------------------------------------------------------------------
-INCLUDE(${VISP_CMAKE_MODULE_PATH}/GenerateConfigScript.cmake)
+include(${VISP_CMAKE_MODULE_PATH}/VISPGeneratePkgConfigScript.cmake)
 
 #----------------------------------------------------------------------
 # Propagation in sub dirs to build demo, example, test, tutorial
 #----------------------------------------------------------------------
-if(BUILD_DEMOS)
-  add_subdirectory(demo)
-endif()
-if(BUILD_EXAMPLES)
-  add_subdirectory(example)
-endif()
-if(BUILD_TUTORIAL)
-  set(VISP_DIR ${PROJECT_BINARY_DIR})
-  mark_as_advanced(VISP_DIR)
-  mark_as_advanced(VISP_INCLUDE_DIRS)
-  mark_as_advanced(VISP_LIBRARY_DIRS)
-  add_subdirectory(tutorial)
-endif()
-
-if(BUILD_TESTING)
+if(BUILD_TESTS)
+  #----------------------------------------------------------------------
+  # For Dart server and tests
+  # We use CDash set through CTestConfig.cmake file
+  # Dashboards are sent to http://cdash.irisa.fr/CDash/index.php?project=ViSP
+  #----------------------------------------------------------------------
+  enable_testing()
+  include(Dart)
+  mark_as_advanced(DART_ROOT)
+  mark_as_advanced(BUILD_TESTING)
   #
   # Test coverage specific code
   #
-  IF(CMAKE_COMPILER_IS_GNUCXX AND NOT BUILD_SHARED_LIBS AND CMAKE_BUILD_TYPE MATCHES "Debug")
-
-    OPTION(BUILD_TEST_COVERAGE "Enable test coverage." OFF)
-  ENDIF()
+  if(CMAKE_COMPILER_IS_GNUCXX AND NOT BUILD_SHARED_LIBS AND CMAKE_BUILD_TYPE MATCHES "Debug")
+    option(BUILD_TEST_COVERAGE "Enable test coverage." OFF)
+  endif()
 
-  IF(BUILD_TEST_COVERAGE)
+  if(BUILD_TEST_COVERAGE)
     # Add build options for test coverage. Currently coverage is only supported
     # on gcc compiler
     # Because using -fprofile-arcs with shared lib can cause problems like:
     # hidden symbol `__bb_init_func', we add this option only for static
     # library build
-    MESSAGE(STATUS "Add -ftest-coverage -fprofile-arcs compiler options")
-    SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -ftest-coverage -fprofile-arcs")
-  ENDIF(BUILD_TEST_COVERAGE)
+    message(STATUS "Add -ftest-coverage -fprofile-arcs compiler options")
+    set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -ftest-coverage -fprofile-arcs")
+  endif()
 
   add_subdirectory(test)
-endif(BUILD_TESTING)
+endif()
+
+if(BUILD_DEMOS)
+  add_subdirectory(demo)
+endif()
+if(BUILD_EXAMPLES)
+  add_subdirectory(example)
+endif()
+if(BUILD_TUTORIALS)
+  set(VISP_DIR ${PROJECT_BINARY_DIR})
+  mark_as_advanced(VISP_DIR)
+  mark_as_advanced(VISP_INCLUDE_DIRS)
+  add_subdirectory(tutorial)
+endif()
diff --git a/CMakeModules/CPackConfigRpm.cmake b/CMakeModules/CPackConfigRpm.cmake
index 92d7617064f346e5e489c50969ce26835b61af82..ec624e3359f8b8da02d8251d59d57a8d98a19939 100644
--- a/CMakeModules/CPackConfigRpm.cmake
+++ b/CMakeModules/CPackConfigRpm.cmake
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CPackConfigRpm.cmake 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CPackConfigRpm.cmake 4972 2014-11-16 13:03:24Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -135,7 +135,7 @@ ENDIF()
 
 set(CPACK_RPM_PACKAGE_REQUIRES "${CPACK_RPM_PACKAGE_DEPENDS}")
 
-SET(CPACK_RPM_PACKAGE_DESCRIPTION "Visual Servoing Platform development files
+set(CPACK_RPM_PACKAGE_DESCRIPTION "Visual Servoing Platform development files
  ViSP, standing for Visual Servoing Platform, is unique. This software
  is a complete cross-platform solution that allows prototyping and
  developing applications in visual tracking and visual servoing.
@@ -145,3 +145,5 @@ SET(CPACK_RPM_PACKAGE_DESCRIPTION "Visual Servoing Platform development files
  .
  This package contains development files (headers and shared library
  symbolic link).")
+
+set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "/usr/share/man" "/usr/share/man/man1" "/usr/lib64/pkgconfig" "/usr/lib/pkgconfig" "/usr/lib64/cmake" "/usr/lib/cmake")
diff --git a/CMakeModules/FindCALINUX.cmake b/CMakeModules/FindCALINUX.cmake
index 19d58d05da42defb08c076b6511932209a309246..61571bc05fbb2954f45c6507533fa8a4928bcf74 100644
--- a/CMakeModules/FindCALINUX.cmake
+++ b/CMakeModules/FindCALINUX.cmake
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: FindCALINUX.cmake 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: FindCALINUX.cmake 5309 2015-02-11 11:08:15Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -50,6 +50,7 @@ ELSE(NOT UNIX)
   FIND_PATH(CALINUX_INCLUDE_DIR calinux.h
     $ENV{CALINUX_HOME}/include
     /local/soft/Cerebellum/CALinux/current/include
+    /home/soft/Cerebellum/CALinux/current/include
     )
   #MESSAGE("DBG CALINUX_INCLUDE_DIR=${CALINUX_INCLUDE_DIR}")  
   
@@ -58,6 +59,7 @@ ELSE(NOT UNIX)
     PATHS 
     $ENV{CALINUX_HOME}/lib
     /local/soft/Cerebellum/CALinux/current/lib
+    /home/soft/Cerebellum/CALinux/current/lib
     )
 
   #MESSAGE("DBG CALINUX_LIBRARY=${CALINUX_LIBRARY}")
diff --git a/CMakeModules/TargetDistclean.cmake b/CMakeModules/FindDMTX.cmake
similarity index 67%
rename from CMakeModules/TargetDistclean.cmake
rename to CMakeModules/FindDMTX.cmake
index 9acff5dc542a0d0024e4e8266cbfe9d7a749e81f..db31d64b4e146c1fb9aab7312e6206434ce91bf4 100644
--- a/CMakeModules/TargetDistclean.cmake
+++ b/CMakeModules/FindDMTX.cmake
@@ -1,64 +1,71 @@
-#############################################################################
-#
-# $Id: TargetDistclean.cmake 4574 2014-01-09 08:48:51Z fspindle $
-#
-# This file is part of the ViSP software.
-# Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
-# 
-# This software is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# ("GPL") version 2 as published by the Free Software Foundation.
-# See the file LICENSE.txt at the root directory of this source
-# distribution for additional information about the GNU GPL.
-#
-# For using ViSP with software that can not be combined with the GNU
-# GPL, please contact INRIA about acquiring a ViSP Professional 
-# Edition License.
-#
-# See http://www.irisa.fr/lagadic/visp/visp.html for more information.
-# 
-# This software was developed at:
-# INRIA Rennes - Bretagne Atlantique
-# Campus Universitaire de Beaulieu
-# 35042 Rennes Cedex
-# France
-# http://www.irisa.fr/lagadic
-#
-# If you have questions regarding the use of this file, please contact
-# INRIA at visp@inria.fr
-# 
-# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-#
-# Description:
-# Add custom target distclean: cleans and removes cmake generated files, etc.
-#
-# Authors:
-# Fabien Spindler
-#
-#############################################################################
-
-ADD_CUSTOM_TARGET( distclean  DEPENDS clean)
-
-SET(DISTCLEAN_FILES
-  cmake.check_cache
-  */cmake.check_cache
-  cmake_install.cmake
-  */cmake_install.cmake
-  */*/cmake_install.cmake
-  CMakeCache.txt
-  core core.*
-  gmon
-  *~ 
-  *%
-  SunWS_cache
-  ii_files
-  )
-
-## for 1.8.x:
-ADD_CUSTOM_COMMAND(
-  TARGET distclean
-  COMMAND 
-  ${CMAKE_COMMAND} -E remove ${DISTCLEAN_FILES}
-  COMMENT
-  )
+#############################################################################
+#
+# $Id: FindV4L2.cmake 4574 2014-01-09 08:48:51Z fspindle $
+#
+# This file is part of the ViSP software.
+# Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+# 
+# This software is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# ("GPL") version 2 as published by the Free Software Foundation.
+# See the file LICENSE.txt at the root directory of this source
+# distribution for additional information about the GNU GPL.
+#
+# For using ViSP with software that can not be combined with the GNU
+# GPL, please contact INRIA about acquiring a ViSP Professional 
+# Edition License.
+#
+# See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+# 
+# This software was developed at:
+# INRIA Rennes - Bretagne Atlantique
+# Campus Universitaire de Beaulieu
+# 35042 Rennes Cedex
+# France
+# http://www.irisa.fr/lagadic
+#
+# If you have questions regarding the use of this file, please contact
+# INRIA at visp@inria.fr
+# 
+# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Description:
+# Try to find dmtx library.
+# Once run this will define: 
+#
+# DMTX_FOUND
+# DMTX_INCLUDE_DIRS
+# DMTX_LIBRARIES
+#
+# Authors:
+# Fabien Spindler
+#
+#############################################################################
+
+  
+find_path(DMTX_INCLUDE_DIRS dmtx.h
+  $ENV{DMTX_DIR}/include
+  /usr/include
+  /usr/local/include 
+)
+
+find_library(DMTX_LIBRARIES
+  NAMES dmtx
+  PATHS 
+    $ENV{DMTX_DIR}/lib
+    /usr/lib
+    /usr/local/lib
+)
+
+if(DMTX_INCLUDE_DIRS AND DMTX_LIBRARIES)
+  set(DMTX_FOUND TRUE)
+else()
+  set(DMTX_FOUND FALSE)
+endif()
+  
+mark_as_advanced(
+  DMTX_INCLUDE_DIRS
+  DMTX_LIBRARIES
+)
+
diff --git a/CMakeModules/FindFFMPEG.cmake b/CMakeModules/FindFFMPEG.cmake
index 9d6c9b325f25a7bee506aaebc097ff004b595bfe..ff8dea34fb59ec5dcde6bd506b6d62c1c3929bf0 100644
--- a/CMakeModules/FindFFMPEG.cmake
+++ b/CMakeModules/FindFFMPEG.cmake
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: FindFFMPEG.cmake 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: FindFFMPEG.cmake 5316 2015-02-12 10:58:18Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -44,7 +44,88 @@
 #############################################################################
 
 # detection of the FFMPEG headers location
-  FIND_PATH(FFMPEG_INCLUDE_DIR_AVCODEC
+if(MINGW)
+  find_path(FFMPEG_INCLUDE_DIR_AVCODEC
+    NAMES
+      libavcodec/avcodec.h
+    PATHS
+    "$ENV{MINGW_DIR}/include"
+    C:/mingw/include
+    PATH_SUFFIXES
+      ffmpeg
+  )
+
+  find_path(FFMPEG_INCLUDE_DIR_AVFORMAT
+    NAMES
+      libavformat/avformat.h
+    PATHS
+    "$ENV{MINGW_DIR}/include"
+    C:/mingw/include
+    PATH_SUFFIXES
+      ffmpeg
+  )
+
+  find_path(FFMPEG_INCLUDE_DIR_AVUTIL
+    NAMES
+      libavutil/avutil.h
+    PATHS
+    "$ENV{MINGW_DIR}/include"
+    C:/mingw/include
+    PATH_SUFFIXES
+      ffmpeg
+  )
+
+  find_path(FFMPEG_INCLUDE_DIR_SWSCALE
+    NAMES
+      libswscale/swscale.h
+    PATHS
+    "$ENV{MINGW_DIR}/include"
+    C:/mingw/include
+    PATH_SUFFIXES
+      libswscale
+      ffmpeg
+  )
+
+  # Detection of the FFMPEG library on Unix
+  find_library(FFMPEG_AVUTIL_LIBRARY
+    NAMES
+      avutil
+    PATHS
+   "$ENV{MINGW_DIR}/lib64"
+    C:/mingw/lib64
+  )
+  find_library(FFMPEG_AVCODEC_LIBRARY
+    NAMES
+      avcodec
+    PATHS
+    "$ENV{MINGW_DIR}/lib64"
+    C:/mingw/lib64
+  )
+  find_library(FFMPEG_AVFORMAT_LIBRARY
+    NAMES
+      avformat
+    PATHS
+    "$ENV{MINGW_DIR}/lib64"
+    C:/mingw/lib64
+  )
+
+  find_library(FFMPEG_AVCORE_LIBRARY
+    NAMES
+      avcore
+    PATHS
+    "$ENV{MINGW_DIR}/lib64"
+    C:/mingw/lib64
+  )
+
+  find_library(FFMPEG_SWSCALE_LIBRARY
+    NAMES
+      swscale
+    PATHS
+    "$ENV{MINGW_DIR}/lib64"
+    C:/mingw/lib64
+  )
+else(MINGW)
+  find_path(FFMPEG_INCLUDE_DIR_AVCODEC
     NAMES
       libavcodec/avcodec.h
     PATHS
@@ -56,7 +137,7 @@
       ffmpeg
   )
 
-  FIND_PATH(FFMPEG_INCLUDE_DIR_AVFORMAT
+  find_path(FFMPEG_INCLUDE_DIR_AVFORMAT
     NAMES
       libavformat/avformat.h
     PATHS
@@ -68,7 +149,7 @@
       ffmpeg
   )
 
-  FIND_PATH(FFMPEG_INCLUDE_DIR_AVUTIL
+  find_path(FFMPEG_INCLUDE_DIR_AVUTIL
     NAMES
       libavutil/avutil.h
     PATHS
@@ -80,7 +161,7 @@
       ffmpeg
   )
 
-  FIND_PATH(FFMPEG_INCLUDE_DIR_SWSCALE
+  find_path(FFMPEG_INCLUDE_DIR_SWSCALE
     NAMES
       libswscale/swscale.h
     PATHS
@@ -94,7 +175,7 @@
   )
 
   # Detection of the FFMPEG library on Unix
-  FIND_LIBRARY(FFMPEG_AVUTIL_LIBRARY
+  find_library(FFMPEG_AVUTIL_LIBRARY
     NAMES
       avutil
     PATHS
@@ -105,7 +186,7 @@
     $ENV{FFMPEG_DIR}/Release
     $ENV{FFMPEG_DIR}
   )
-  FIND_LIBRARY(FFMPEG_AVCODEC_LIBRARY
+  find_library(FFMPEG_AVCODEC_LIBRARY
     NAMES
       avcodec
     PATHS
@@ -116,7 +197,7 @@
     $ENV{FFMPEG_DIR}/Release
     $ENV{FFMPEG_DIR}
   )
-  FIND_LIBRARY(FFMPEG_AVFORMAT_LIBRARY
+  find_library(FFMPEG_AVFORMAT_LIBRARY
     NAMES
       avformat
     PATHS
@@ -128,7 +209,7 @@
     $ENV{FFMPEG_DIR}
   )
 
-  FIND_LIBRARY(FFMPEG_AVCORE_LIBRARY
+  find_library(FFMPEG_AVCORE_LIBRARY
     NAMES
       avcore
     PATHS
@@ -140,7 +221,7 @@
     $ENV{FFMPEG_DIR}
   )
 
-  FIND_LIBRARY(FFMPEG_SWSCALE_LIBRARY
+  find_library(FFMPEG_SWSCALE_LIBRARY
     NAMES
       swscale
     PATHS
@@ -151,6 +232,7 @@
     $ENV{FFMPEG_DIR}/Release
     $ENV{FFMPEG_DIR}
   )
+endif(MINGW)
 
   # FFMpeg depend son Zlib
   FIND_PACKAGE(ZLIB)
@@ -196,6 +278,29 @@ IF(FFMPEG_INCLUDE_DIR_AVCODEC AND FFMPEG_INCLUDE_DIR_AVFORMAT AND FFMPEG_INCLUDE
     list(APPEND FFMPEG_LIBRARIES ${ICONV_LIBRARIES})
   endif()
 
+elseif(MINGW AND FFMPEG_INCLUDE_DIR_AVCODEC AND FFMPEG_INCLUDE_DIR_AVFORMAT AND FFMPEG_INCLUDE_DIR_AVUTIL AND FFMPEG_INCLUDE_DIR_SWSCALE AND FFMPEG_SWSCALE_LIBRARY AND FFMPEG_AVFORMAT_LIBRARY AND FFMPEG_AVCODEC_LIBRARY AND FFMPEG_AVUTIL_LIBRARY AND ZLIB_LIBRARIES)
+  # Bzip2 is nor requested with mingw-w64
+  SET(FFMPEG_FOUND TRUE)
+  SET(FFMPEG_INCLUDE_DIRS
+    ${FFMPEG_INCLUDE_DIR_AVCODEC}
+    ${FFMPEG_INCLUDE_DIR_AVFORMAT}
+    ${FFMPEG_INCLUDE_DIR_AVUTIL}
+    ${FFMPEG_INCLUDE_DIR_SWSCALE}
+  )
+  SET(FFMPEG_LIBRARIES
+    ${FFMPEG_SWSCALE_LIBRARY}
+    ${FFMPEG_AVFORMAT_LIBRARY}
+    ${FFMPEG_AVCODEC_LIBRARY}
+    ${FFMPEG_AVUTIL_LIBRARY}
+  )
+  if(FFMPEG_AVCORE_LIBRARY)
+    LIST(APPEND FFMPEG_LIBRARIES ${FFMPEG_AVCORE_LIBRARY})
+  endif()
+  list(APPEND FFMPEG_LIBRARIES ${ZLIB_LIBRARIES})
+  if(ICONV_FOUND)
+    list(APPEND FFMPEG_LIBRARIES ${ICONV_LIBRARIES})
+  endif()
+
 ELSE()
   SET(FFMPEG_FOUND FALSE)
 ENDIF ()
diff --git a/CMakeModules/FindGDI.cmake b/CMakeModules/FindGDI.cmake
index 4bb65bff4178b78bbddcabd42f88b995684771dc..3db6543c709aac1b83e9467a282ed1bff0c66a74 100644
--- a/CMakeModules/FindGDI.cmake
+++ b/CMakeModules/FindGDI.cmake
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: FindGDI.cmake 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: FindGDI.cmake 5286 2015-02-09 14:36:35Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -49,6 +49,9 @@ IF(WIN32)
   IF(MINGW)
     FIND_LIBRARY(GDI_LIBRARY gdi32
                  "C:/MinGW/lib"
+                 "C:/mingw/mingw/lib"
+                 "$ENV{MINGW_DIR}/lib"
+                 "$ENV{MINGW_DIR}/mingw/lib"
                  DOC "Where can the GDI (Graphics Device Interface) library be found"
                  NO_DEFAULT_PATH
                 )
@@ -59,15 +62,17 @@ IF(WIN32)
                    "$ENV{WINSDK_DIR}/Lib/x64"
                    "$ENV{WINSDK_HOME}/Lib/x64"
                    "$ENV{DXSDK_DIR}/Lib/x64"
-                   "C:/Program Files/Microsoft SDKs/Windows/v6.1/Lib/x64"
                    "C:/Program Files/Microsoft SDKs/Windows/v6.0/Lib/x64"
+                   "C:/Program Files/Microsoft SDKs/Windows/v6.0a/Lib/x64"
+                   "C:/Program Files/Microsoft SDKs/Windows/v6.1/Lib/x64"
                    "C:/Program Files/Microsoft SDKs/Windows/v7.0A/Lib/x64"
                    "C:/Program Files/Microsoft SDKs/Windows/v7.1/Lib/x64"
+                   "C:/Program Files/Microsoft SDKs/Windows/v7.1A/Lib/x64"
                    "C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A/Lib/x64"
+                   "C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A/Lib/x64"
+                   "C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64"
                    "C:/Program Files/Microsoft Platform SDK/Lib/x64"
                    "C:/DXSDK/Include/Lib/x64"
-                   "C:/Program Files/Microsoft SDKs/Windows/v6.0a/Lib/x64"
-                   "C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64"
                    DOC "Where can the GDI (Graphics Device Interface) library be found"
                   )
 
@@ -102,16 +107,16 @@ IF(WIN32)
                    "$ENV{WINSDK_DIR}/Lib"
                    "$ENV{WINSDK_HOME}/Lib"
                    "$ENV{DXSDK_DIR}/Lib"
-                   "C:/Program Files/Microsoft SDKs/Windows/v6.1/Lib"
+                   "C:/Program Files/Microsoft SDKs/Windows/v6.0a/Lib"
                    "C:/Program Files/Microsoft SDKs/Windows/v6.0/Lib"
+                   "C:/Program Files/Microsoft SDKs/Windows/v6.1/Lib"
                    "C:/Program Files/Microsoft SDKs/Windows/v7.0A/Lib"
                    "C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A/Lib"
                    "C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1/Lib"
                    "C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A/Lib"
+                   "C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86"
                    "C:/Program Files/Microsoft Platform SDK/Lib"
                    "C:/DXSDK/Include/Lib"
-                   "C:/Program Files/Microsoft SDKs/Windows/v6.0a/Lib"
-                   "C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86"
                    DOC "Where can the GDI (Graphics Device Interface) library be found"
                   )
 
diff --git a/CMakeModules/FindGSL.cmake b/CMakeModules/FindGSL.cmake
index adecf198b4a0d87cbc13ae05792af536d05864d5..91a0801ee17bb04d460ff46d2a262e45e5626004 100644
--- a/CMakeModules/FindGSL.cmake
+++ b/CMakeModules/FindGSL.cmake
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: FindGSL.cmake 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: FindGSL.cmake 4815 2014-07-31 14:00:05Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -35,201 +35,159 @@
 # (see http://www.gnu.org/software/gsl/)
 # Once run this will define: 
 # 
-# GSL_FOUND       = system has GSL lib
-#
-# GSL_LIBRARIES   = full path to the libraries
-#    on Unix/Linux with additional linker flags from "gsl-config --libs"
-# 
-# GSL_INCLUDE_DIRS      = where to find headers 
-#
-# GSL_LINK_DIRECTORIES = link directories, useful for rpath on Unix
-# GSL_EXE_LINKER_FLAGS = rpath on Unix
+# GSL_FOUND        : system has GSL lib
+# GSL_LIBRARIES    : full path to the libraries
+# GSL_INCLUDE_DIRS : where to find headers
 #
 # Authors:
 # Fabien Spindler
 #
 #############################################################################
 
-IF(WIN32)
- FIND_LIBRARY(GSL_gsl_LIBRARY
-     NAMES gsl
-     PATHS 
-     "$ENV{GSL_HOME}/lib"
-     "$ENV{GSL_DIR}/lib"
-     DOC "Where can the GSL (gsl.lib) library be found"
-     )
- FIND_LIBRARY(GSL_cblas_LIBRARY
-     NAMES cblas
-     PATHS 
-     "$ENV{GSL_HOME}/lib"
-     "$ENV{GSL_DIR}/lib"
-     DOC "Where can the GSL (cblas.lib) library be found"
-      )
- FIND_LIBRARY(GSL_gsl_LIBRARY_DEBUG
-     NAMES gsl_d
-     PATHS 
-     "$ENV{GSL_HOME}/lib"
-     "$ENV{GSL_DIR}/lib"
-     DOC "Where can the GSL (gsl.lib) library be found"
-     )
- FIND_LIBRARY(GSL_cblas_LIBRARY_DEBUG
-     NAMES cblas_d
-     PATHS 
-     "$ENV{GSL_HOME}/lib"
-     "$ENV{GSL_DIR}/lib"
-     DOC "Where can the GSL (cblas.lib) library be found"
-      )
-  SET(GSL_LIBRARIES "optimized" ${GSL_cblas_LIBRARY}
-                    "optimized" ${GSL_gsl_LIBRARY}
-                    "debug" ${GSL_cblas_LIBRARY_DEBUG}
-                    "debug" ${GSL_gsl_LIBRARY_DEBUG})
-
-  FIND_PATH(GSL_INCLUDE_DIR gsl/gsl_linalg.h
-      $ENV{GSL_HOME}/include
-      $ENV{GSL_DIR}/include
-      )
-
-  IF(GSL_INCLUDE_DIR AND GSL_gsl_LIBRARY AND GSL_cblas_LIBRARY
-      AND GSL_gsl_LIBRARY_DEBUG AND GSL_cblas_LIBRARY_DEBUG)
-    SET(GSL_FOUND TRUE)
-  ELSE(GSL_INCLUDE_DIR AND GSL_gsl_LIBRARY AND GSL_cblas_LIBRARY
-      AND GSL_gsl_LIBRARY_DEBUG AND GSL_cblas_LIBRARY_DEBUG)
-    SET(GSL_FOUND FALSE) 
-  ENDIF(GSL_INCLUDE_DIR AND GSL_gsl_LIBRARY AND GSL_cblas_LIBRARY
-      AND GSL_gsl_LIBRARY_DEBUG AND GSL_cblas_LIBRARY_DEBUG)
-
-  MARK_AS_ADVANCED(
-    GSL_gsl_LIBRARY
-    GSL_cblas_LIBRARY
-    GSL_gsl_LIBRARY_DEBUG
-    GSL_cblas_LIBRARY_DEBUG
-    GSL_INCLUDE_DIR
-    GSL_LIBRARIES
-    GSL_LINK_DIRECTORIES
-  )  
-ELSE(WIN32)
-  IF(UNIX) 
-    FIND_PROGRAM(GSL_CONFIG gsl-config
-      $ENV{GSL_HOME}/bin
-      $ENV{GSL_DIR}/bin
-      /usr/bin
-      /usr/local/bin
-      )
-     #MESSAGE("DBG GSL_CONFIG ${GSL_CONFIG}")
-    
-    IF (GSL_CONFIG) 
-      # set INCLUDE_DIRS to prefix+include
-      EXEC_PROGRAM(${GSL_CONFIG}
-	ARGS --prefix
-	OUTPUT_VARIABLE GSL_PREFIX)
-      SET(GSL_INCLUDE_DIR ${GSL_PREFIX}/include)
-      #MESSAGE(STATUS "Using GSL from ${GSL_PREFIX}")
-      #MESSAGE("GSL_INCLUDE_DIR ${GSL_INCLUDE_DIR}")
-    
-      ## extract link lib path and name  for rpath  
-      EXEC_PROGRAM(${GSL_CONFIG}
-	ARGS --libs
-	OUTPUT_VARIABLE GSL_CONFIG_LIBS )
-      #MESSAGE("GSL_CONFIG_LIBS: ${GSL_CONFIG_LIBS}")
-
-      ## split off the link dirs (for rpath)
-      ## use regular expression to match wildcard equivalent "-L*<endchar>"
-      ## with <endchar> is a space or a semicolon
-      STRING(REGEX MATCHALL "[-][L]([^ ;])+" 
-	GSL_LINK_DIRECTORIES_WITH_PREFIX 
-	"${GSL_CONFIG_LIBS}" )
-      SET(GSL_LINK_DIRECTORIES "")
-
-      #MESSAGE("DBG  GSL_LINK_DIRECTORIES_WITH_PREFIX=${GSL_LINK_DIRECTORIES_WITH_PREFIX}")
-      
-      ## remove prefix -L because we need the pure directory for LINK_DIRECTORIES
-     
-      IF (GSL_LINK_DIRECTORIES_WITH_PREFIX)
-	STRING(REGEX REPLACE "[-][L]" "" GSL_LINK_DIRECTORIES ${GSL_LINK_DIRECTORIES_WITH_PREFIX} )
-      ENDIF (GSL_LINK_DIRECTORIES_WITH_PREFIX)
-      ## Check if link directory is empty. This can occur with GSL-1.6
-      ## In that case we force the link directory to be ${GSL_PREFIX}/lib
-      IF(GSL_LINK_DIRECTORIES MATCHES "")
-        #MESSAGE("DBG GSL_LINK_DIRECTORIES is empty")
-        SET(GSL_LINK_DIRECTORIES "${GSL_PREFIX}/lib")
-      ENDIF(GSL_LINK_DIRECTORIES MATCHES "")
-
-      #MESSAGE("DBG GSL_LINK_DIRECTORIES=${GSL_LINK_DIRECTORIES}")
-#       IF(NOT APPLE)
-#       	SET(GSL_EXE_LINKER_FLAGS "-Wl,-rpath,${GSL_LINK_DIRECTORIES}")
-#       ENDIF(NOT APPLE)
-
-      #MESSAGE("DBG GSL_EXE_LINKER_FLAGS=${GSL_EXE_LINKER_FLAGS}")
-      ## use regular expression to match wildcard equivalent "-l*<endchar>"
-      ## with <endchar> is a space or a semicolon
-      STRING(REGEX MATCHALL "[-][l]([^ ;])+" 
-	GSL_LINK_LIBRARIES 
-	"${GSL_CONFIG_LIBS}" )
-      #MESSAGE("DBG  GSL_LINK_LIBRARIES=${GSL_LINK_LIBRARIES}")
-      # Because in GSL_LINK_LIBRARIES defs are separated by ";", parse the
-      # GSL_LINK_LIBRARIES in order to build a space separated string
-      #message(GSL_LINK_LIBRARIES ${GSL_LINK_LIBRARIES})
-      SET(GSL_LIB_ONES "")
-      FOREACH(libs ${GSL_LINK_LIBRARIES})
-	STRING(REGEX REPLACE "[-][l]" "" GSL_LIB_ONES ${libs})
-    	#MESSAGE("GSL_LIB_ONES=${GSL_LIB_ONES} -  ${libs}")
-  	MARK_AS_ADVANCED(LIBGSL_${GSL_LIB_ONES})
-	FIND_LIBRARY(LIBGSL_${GSL_LIB_ONES}
-	  NAMES ${GSL_LIB_ONES}
-	  PATHS
-	  ${GSL_LINK_DIRECTORIES}
-	  /usr/lib
-	  /usr/local/lib
-	)
-	#MESSAGE("LIBGSL_${GSL_LIB_ONES} ${LIBGSL_${GSL_LIB_ONES}}")
-	IF(LIBGSL_${GSL_LIB_ONES})
-     	  #MESSAGE("LIB_GSL=${LIB_GSL} -  ${libs}")
-	  LIST(APPEND GSL_LIBRARIES ${LIBGSL_${GSL_LIB_ONES}})
-        ENDIF()
-      ENDFOREACH(libs)
+# it seems that a macro() can't accept a list as input. That's why we have
+# MY_LIBRARY1 and MY_LIBRARY2
+macro(CheckCompilation_gsl2 MY_INCLUDE_DIR MY_LIBRARY1 MY_LIBRARY2 MY_BUILD_SUCCEED2)
+    # The material is found. Check if it works on the requested architecture
+    include(CheckCXXSourceCompiles)
+    #message("Test compilation: ${MY_INCLUDE_DIR} + ${MY_LIBRARY1} + ${MY_LIBRARY2}")
 
-      #MESSAGE("GSL_LIBRARIES=${GSL_LIBRARIES}")
-      
-    #ELSE(GSL_CONFIG)
-    #  MESSAGE("FindGSL.cmake: gsl-config not found. Please set it manually. GSL_CONFIG=${GSL_CONFIG}")
-    ENDIF(GSL_CONFIG)
+    set(CMAKE_REQUIRED_LIBRARIES ${MY_LIBRARY1} ${MY_LIBRARY2})
+    set(CMAKE_REQUIRED_INCLUDES ${MY_INCLUDE_DIR})
+    check_cxx_source_compiles("
+      #include <gsl/gsl_linalg.h> // Contrib for GSL library
+      #include <gsl/gsl_math.h>
+      #include <gsl/gsl_eigen.h>
+      int main()
+      {
+        gsl_matrix *A2 = gsl_matrix_alloc(6, 6) ;
+      }
+      " BUILD_SUCCEED2)
+    #message("BUILD_SUCCEED: ${BUILD_SUCCEED}")
+    set(${MY_BUILD_SUCCEED2} ${BUILD_SUCCEED2})
+endmacro()
 
-  IF(GSL_INCLUDE_DIR AND GSL_LIBRARIES)
+macro(CheckCompilation_gsl1 MY_INCLUDE_DIR MY_LIBRARY MY_BUILD_SUCCEED)
     # The material is found. Check if it works on the requested architecture
     include(CheckCXXSourceCompiles)
-	
-    SET(CMAKE_REQUIRED_LIBRARIES ${GSL_LIBRARIES})
-    SET(CMAKE_REQUIRED_INCLUDES ${GSL_INCLUDE_DIR})
-    CHECK_CXX_SOURCE_COMPILES("
+    #message("Test compilation: ${MY_INCLUDE_DIR} + ${MY_LIBRARY}")
+
+    set(CMAKE_REQUIRED_LIBRARIES ${MY_LIBRARY})
+    set(CMAKE_REQUIRED_INCLUDES ${MY_INCLUDE_DIR})
+    check_cxx_source_compiles("
       #include <gsl/gsl_linalg.h> // Contrib for GSL library
       #include <gsl/gsl_math.h>
       #include <gsl/gsl_eigen.h>
-     int main()
+      int main()
       {
-        gsl_matrix *A = gsl_matrix_alloc(6, 6) ;
+        gsl_matrix *A1 = gsl_matrix_alloc(6, 6) ;
       }
-      " GSL_BUILD_TEST) 
-    #MESSAGE("GSL_BUILD_TEST: ${GSL_BUILD_TEST}")
-    IF(GSL_BUILD_TEST)
-      SET(GSL_INCLUDE_DIRS ${GSL_INCLUDE_DIR})
-      SET(GSL_LIBRARIES ${GSL_LIBRARIES})
-      SET(GSL_FOUND TRUE)
-    ELSE()
-      SET(GSL_FOUND FALSE)
-      #MESScAGE("libgsl library found but not compatible with architecture.")
-    ENDIF()
-  ELSE(GSL_INCLUDE_DIR AND GSL_LIBRARIES)
-    SET(GSL_FOUND FALSE) 
-  ENDIF(GSL_INCLUDE_DIR AND GSL_LIBRARIES)
+      " BUILD_SUCCEED)
+    #message("BUILD_SUCCEED: ${BUILD_SUCCEED}")
+    set(${MY_BUILD_SUCCEED} ${BUILD_SUCCEED})
+endmacro()
+
+find_path(GSL_INCLUDE_DIR gsl/gsl_linalg.h
+  $ENV{GSL_HOME}/include
+  $ENV{GSL_DIR}/include
+  /usr/include
+  /usr/local/include
+)
+
+find_library(GSL_gsl_LIBRARY
+  NAMES gsl
+  PATHS
+    "$ENV{GSL_HOME}/lib"
+    "$ENV{GSL_DIR}/lib"
+    /usr/lib
+    /usr/local/lib
+)
+
+if(WIN32)
+  find_library(GSL_cblas_LIBRARY
+    NAMES cblas
+    PATHS
+      "$ENV{GSL_HOME}/lib"
+      "$ENV{GSL_DIR}/lib"
+      /usr/lib
+      /usr/local/lib
+  )
 
-  MARK_AS_ADVANCED(
-    GSL_INCLUDE_DIR
-    GSL_INCLUDE_DIRS
-    GSL_LIBRARIES
-    GSL_LINK_DIRECTORIES
-    GSL_CONFIG
+  find_library(GSL_gsl_LIBRARY_DEBUG
+    NAMES gsl_d
+    PATHS
+      "$ENV{GSL_HOME}/lib"
+      "$ENV{GSL_DIR}/lib"
+      /usr/lib
+      /usr/local/lib
   )
+  find_library(GSL_cblas_LIBRARY_DEBUG
+    NAMES cblas_d
+    PATHS
+      "$ENV{GSL_HOME}/lib"
+      "$ENV{GSL_DIR}/lib"
+      /usr/lib
+      /usr/local/lib
+  )
+
+  if(GSL_INCLUDE_DIR AND GSL_gsl_LIBRARY AND GSL_cblas_LIBRARY
+      AND GSL_gsl_LIBRARY_DEBUG AND GSL_cblas_LIBRARY_DEBUG)
+    set(GSL_LIBRARIES "optimized" ${GSL_cblas_LIBRARY}
+                      "optimized" ${GSL_gsl_LIBRARY}
+                      "debug" ${GSL_cblas_LIBRARY_DEBUG}
+                      "debug" ${GSL_gsl_LIBRARY_DEBUG})
+    set(GSL_INCLUDE_DIRS ${GSL_INCLUDE_DIR})
+    set(GSL_FOUND TRUE)
+  else()
+    set(GSL_FOUND FALSE)
+  endif()
+
+  mark_as_advanced(
+    GSL_gsl_LIBRARY_DEBUG
+    GSL_cblas_LIBRARY_DEBUG
+  )
+else()
+  if(GSL_INCLUDE_DIR AND GSL_gsl_LIBRARY)
+    # Check if gsl library is sufficient
+    set(GSL_INCLUDE_DIRS ${GSL_INCLUDE_DIR})
+    set(GSL_LIBRARIES ${GSL_gsl_LIBRARY})
+
+    CheckCompilation_gsl1(${GSL_INCLUDE_DIRS} ${GSL_gsl_LIBRARY} BUILD_SUCCEED1)
+    #message("BUILD_STATUS 1: ${BUILD_SUCCEED1}")
+    if(BUILD_SUCCEED1)
+      set(GSL_FOUND TRUE)
+    else()
+      # Try to add gslcblas library if requested
+
+      find_library(GSL_cblas_LIBRARY
+        NAMES gslcblas
+        PATHS
+          "$ENV{GSL_HOME}/lib"
+          "$ENV{GSL_DIR}/lib"
+          /usr/lib
+          /usr/local/lib
+      )
+      if(GSL_cblas_LIBRARY)
+        list(APPEND GSL_LIBRARIES ${GSL_cblas_LIBRARY})
+        #message("add cblas to GSL_LIBRARIES: ${GSL_LIBRARIES}")
+        CheckCompilation_gsl2(${GSL_INCLUDE_DIRS} ${GSL_gsl_LIBRARY} ${GSL_cblas_LIBRARY} BUILD_SUCCEED2)
+        #message("BUILD_STATUS 2: ${BUILD_SUCCEED2}")
+        if(BUILD_SUCCEED2)
+          set(GSL_FOUND TRUE)
+        else()
+          set(GSL_FOUND FALSE)
+        endif()
+      else()
+        set(GSL_FOUND FALSE)
+      endif()
+    endif()
+  else()
+    set(GSL_FOUND FALSE)
+  endif()
+endif()
 
-  ENDIF(UNIX)
-ENDIF(WIN32)
+mark_as_advanced(
+  GSL_gsl_LIBRARY
+  GSL_cblas_LIBRARY
+  GSL_INCLUDE_DIR
+)
 
diff --git a/CMakeModules/FindICONV.cmake b/CMakeModules/FindICONV.cmake
index b460dc7072e80b0919841b35a7ddea69959de2cf..2a5ac18c0c7572956ccec1cac87acc3fa113ec33 100755
--- a/CMakeModules/FindICONV.cmake
+++ b/CMakeModules/FindICONV.cmake
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: FindICONV.cmake 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: FindICONV.cmake 5316 2015-02-12 10:58:18Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,36 +43,46 @@
 #
 #############################################################################
 
-
-FIND_PATH(ICONV_INCLUDE_DIR iconv.h
+if(MINGW)
+  find_path(ICONV_INCLUDE_DIR iconv.h
+    "$ENV{MINGW_DIR}/include"
+    C:/mingw/include
+  )
+  find_library(ICONV_LIBRARY iconv
+    "$ENV{MINGW_DIR}/lib64"
+    C:/mingw/lib64
+  )
+else()
+  find_path(ICONV_INCLUDE_DIR iconv.h
     $ENV{ICONV_DIR}/include
     $ENV{ICONV_HOME}/include
     $ENV{XML2_DIR}/include
     $ENV{XML2_HOME}/include
     "c:/libxml2/include"
     "c:/iconv/include"
-)
-FIND_LIBRARY(ICONV_LIBRARY iconv
+  )
+  find_library(ICONV_LIBRARY iconv
     $ENV{ICONV_DIR}/lib
     $ENV{ICONV_HOME}/lib
     $ENV{XML2_DIR}/lib
     $ENV{XML2_HOME}/lib
     "c:/libxml2/lib"
     "c:/iconv/lib"
-)
+  )
+endif()
 
-IF(ICONV_LIBRARY)
+if(ICONV_LIBRARY)
   SET(ICONV_LIBRARIES ${ICONV_LIBRARY})
-ENDIF(ICONV_LIBRARY)
+endif()
 
-IF(ICONV_LIBRARIES AND ICONV_INCLUDE_DIR)
+if(ICONV_LIBRARIES AND ICONV_INCLUDE_DIR)
   SET(ICONV_INCLUDE_DIRS ${ICONV_INCLUDE_DIR})
   SET(ICONV_FOUND TRUE)
-ELSE(ICONV_LIBRARIES AND ICONV_INCLUDE_DIR)
+else()
   SET(ICONV_FOUND FALSE)
-ENDIF(ICONV_LIBRARIES AND ICONV_INCLUDE_DIR)
+endif()
 
-MARK_AS_ADVANCED(
+mark_as_advanced(
   ICONV_INCLUDE_DIR
   ICONV_LIBRARIES
   ICONV_LIBRARY
diff --git a/CMakeModules/FindIRISA.cmake b/CMakeModules/FindIRISA.cmake
index 01f720993094d9d10579abdb71ea0fcec6c6a84b..f7d9993d728b40d444e92d40c43a0ac5fe270336 100644
--- a/CMakeModules/FindIRISA.cmake
+++ b/CMakeModules/FindIRISA.cmake
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: FindIRISA.cmake 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: FindIRISA.cmake 5309 2015-02-11 11:08:15Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -50,6 +50,7 @@ ELSE(NOT UNIX)
   FIND_PATH(IRISA_INCLUDE_DIR irisa_Afma6.h
     $ENV{IRISA_HOME}/include
     /local/soft/Cerebellum/Irisa/current/src
+    /home/soft/Cerebellum/Irisa/current/src
     )
   #MESSAGE("DBG IRISA_INCLUDE_DIR=${IRISA_INCLUDE_DIR}")  
   
@@ -58,6 +59,7 @@ ELSE(NOT UNIX)
     PATHS 
     $ENV{IRISA_HOME}/lib
     /local/soft/Cerebellum/Irisa/current/src
+    /home/soft/Cerebellum/Irisa/current/src
     )
 
   #MESSAGE("DBG IRISA_LIBRARY=${IRISA_LIBRARY}")
diff --git a/CMakeModules/FindLIBFREENECT.cmake b/CMakeModules/FindLIBFREENECT.cmake
index a73a38dcc68561cfedea7611d3c52a6fdf3be48c..a9325f88cb81b5ddc5acb5d0e8be35fde4c27ade 100644
--- a/CMakeModules/FindLIBFREENECT.cmake
+++ b/CMakeModules/FindLIBFREENECT.cmake
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: FindLIBFREENECT.cmake 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: FindLIBFREENECT.cmake 4695 2014-03-15 11:28:48Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -62,6 +62,8 @@ ELSE()
     $ENV{LIBFREENECT_HOME}/include
     /usr/include
     /usr/local/include
+    /usr/include/libfreenect
+    /usr/local/include/libfreenect
     )
   FIND_PATH(LIBFREENECT_H_INCLUDE_DIR libfreenect.h
     $ENV{LIBFREENECT_HOME}/include
diff --git a/CMakeModules/FindMyJPEG.cmake b/CMakeModules/FindMyJPEG.cmake
index 5c4a8b62382c45fb7a3e3f9f3c09190b8b704144..8364005a63d99ef3f5431da49d64c214bfdc9e7e 100644
--- a/CMakeModules/FindMyJPEG.cmake
+++ b/CMakeModules/FindMyJPEG.cmake
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: FindMyJPEG.cmake 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: FindMyJPEG.cmake 5316 2015-02-12 10:58:18Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -45,7 +45,25 @@
 
 
 # detection of the Libjpeg headers location
-  FIND_PATH(JPEG_INCLUDE_DIR 
+if(MINGW)
+  find_path(JPEG_INCLUDE_DIR 
+    NAMES
+    jpeglib.h
+    PATHS
+    "$ENV{MINGW_DIR}/include"
+    C:/mingw/include
+    )
+  # Detection of the Libjpeg library on Unix
+  find_library(JPEG_LIBRARY
+    NAMES
+    jpeg libjpeg
+    PATHS
+    "$ENV{MINGW_DIR}/lib"
+    "$ENV{MINGW_DIR}/lib64"
+    C:/mingw/lib64
+    )
+else()
+  find_path(JPEG_INCLUDE_DIR 
     NAMES
     jpeglib.h
     PATHS
@@ -55,10 +73,8 @@
     $ENV{LIBJPEG_DIR}
     "C:/Program Files/GnuWin32/include"
     )
-  #MESSAGE("JPEG_INCLUDE_DIR=${JPEG_INCLUDE_DIR}")
-
   # Detection of the Libjpeg library on Unix
-  FIND_LIBRARY(JPEG_LIBRARY
+  find_library(JPEG_LIBRARY
     NAMES
     jpeg libjpeg
     PATHS
@@ -70,6 +86,8 @@
     $ENV{LIBJPEG_DIR}
     "C:/Program Files/GnuWin32/lib"
     )
+endif()
+  #MESSAGE("JPEG_INCLUDE_DIR=${JPEG_INCLUDE_DIR}")
   #MESSAGE("JPEG_LIBRARY=${JPEG_LIBRARY}")
 
 
diff --git a/CMakeModules/FindMyPNG.cmake b/CMakeModules/FindMyPNG.cmake
index e27f2a9f669385ec47af04e3d22f7b6e05234470..1a70f440c49972d067eecf3eb592c359cd97cabc 100644
--- a/CMakeModules/FindMyPNG.cmake
+++ b/CMakeModules/FindMyPNG.cmake
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: FindMyPNG.cmake 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: FindMyPNG.cmake 5316 2015-02-12 10:58:18Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -46,36 +46,55 @@
 
 
 # detection of the Libpng headers location
-FIND_PATH(PNG_INCLUDE_DIR 
-  NAMES
-    png.h
-  PATHS
-    $ENV{LIBPNG_DIR}/include
-    $ENV{LIBPNG_DIR}
-    $ENV{LIBPNG_INCLUDE_DIR}
-    "/usr/include"
-    "/usr/local/include"
-    "C:/Program Files/libpng/include"
+if(MINGW)
+  find_path(PNG_INCLUDE_DIR 
+    NAMES
+      png.h
+    PATHS
+      "C:/mingw/include/libpng14"
+      "$ENV{MINGW_DIR}/include/libpng14"
+  )
+else()
+  find_path(PNG_INCLUDE_DIR 
+    NAMES
+      png.h
+    PATHS
+      "$ENV{LIBPNG_DIR}/include"
+      "$ENV{LIBPNG_DIR}"
+      "$ENV{LIBPNG_INCLUDE_DIR}"
+      "/usr/include"
+      "/usr/local/include"
+      "C:/Program Files/libpng/include"
   )
+endif()
 #MESSAGE("PNG_INCLUDE_DIR=${PNG_INCLUDE_DIR}")
 
-IF(UNIX)
+if(UNIX)
   # Detection of the Libpng library on Unix
-  FIND_LIBRARY(PNG_LIBRARY
+  find_library(PNG_LIBRARY
     NAMES
-      png15 libpng15 png12 libpng12 png libpng
+      png15 libpng15 libpng14 png12 libpng12 png libpng
     PATHS
-      $ENV{LIBPNG_DIR}/lib
-      $ENV{LIBPNG_DIR}/Release
-      $ENV{LIBPNG_DIR}
-      $ENV{LIBPNG_LIBRARY_DIR}
+      "$ENV{LIBPNG_DIR}/lib"
+      "$ENV{LIBPNG_DIR}/Release"
+      "$ENV{LIBPNG_DIR}"
+      "$ENV{LIBPNG_LIBRARY_DIR}"
       /usr/lib
       /usr/local/lib
       /lib
       "C:/Program Files/libpng/lib"
     )
+elseif(MINGW)
+  # Detection of the Libpng library on mingw
+  find_library(PNG_LIBRARY
+    NAMES
+      png15 libpng15 libpng14 png12 libpng12 png libpng
+    PATHS
+      "C:/mingw/lib64"
+      "$ENV{MINGW_DIR}/lib64"
+    )
   #MESSAGE("PNG_LIBRARY=${PNG_LIBRARY}")
-ELSE(UNIX)
+else()
   FIND_LIBRARY(PNG_LIBRARY_RELEASE
     NAMES
       png15 libpng15 png12 libpng12 png libpng
@@ -106,7 +125,7 @@ ELSE(UNIX)
   #MESSAGE("PNG_LIBRARY_DEBUG=${PNG_LIBRARY_DEBUG}")
 ENDIF(UNIX)
 ## --------------------------------
-  
+
 SET(PNG_FOUND FALSE)
 
 FIND_PACKAGE(ZLIB)
diff --git a/CMakeModules/FindMyZLIB.cmake b/CMakeModules/FindMyZLIB.cmake
index f3ccdbad7c6c4c760e0ebbb6a986934752417fed..1d55ae6c7a0f1774d426af96fdd0630ac641ade2 100644
--- a/CMakeModules/FindMyZLIB.cmake
+++ b/CMakeModules/FindMyZLIB.cmake
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: FindMyZLIB.cmake 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: FindMyZLIB.cmake 5316 2015-02-12 10:58:18Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -44,16 +44,23 @@
 # Authors:
 # Fabien Spindler
 
-FIND_PATH(ZLIB_INCLUDE_DIR zlib.h
-  $ENV{ZLIB_DIR}/include
-  $ENV{ZLIB_INCLUDE_DIR}
-  /usr/include
-  /usr/local/include
-  "C:/Program Files/zlib/include"
-  )
+if(MINGW)
+  find_path(ZLIB_INCLUDE_DIR zlib.h
+    "$ENV{MINGW_DIR}/include"
+    C:/mingw/include
+    )
+else()
+  find_path(ZLIB_INCLUDE_DIR zlib.h
+    $ENV{ZLIB_DIR}/include
+    $ENV{ZLIB_INCLUDE_DIR}
+    /usr/include
+    /usr/local/include
+    "C:/Program Files/zlib/include"
+    )
+endif()
 
-IF(UNIX)
-  FIND_LIBRARY(ZLIB_LIBRARY z zlib
+if(UNIX)
+  find_library(ZLIB_LIBRARY z zlib
     $ENV{ZLIB_DIR}/lib
     $ENV{ZLIB_LIBRARY_DIR}
     /lib
@@ -63,14 +70,21 @@ IF(UNIX)
     )
   #MESSAGE("ZLIB_LIBRARY=${ZLIB_LIBRARY}")
   #MESSAGE("ZLIB_INCLUDE_DIRS=${ZLIB_INCLUDE_DIRS}")
-ELSE(UNIX)
-  FIND_LIBRARY(ZLIB_LIBRARY_RELEASE zlib
+elseif(MINGW)
+  find_library(ZLIB_LIBRARY z zlib
+    "$ENV{MINGW_DIR}/lib64"
+    C:/mingw/lib64
+    )
+else()
+  find_library(ZLIB_LIBRARY_RELEASE z zlib
     $ENV{ZLIB_DIR}/lib
     $ENV{ZLIB_LIBRARY_RELEASE_DIR}
     /lib
     /usr/lib
     /usr/local/lib
     "C:/Program Files/zlib/lib"
+    "$ENV{MINGW_DIR}/lib64"
+    C:/mingw/lib64
     )
 
   FIND_LIBRARY(ZLIB_LIBRARY_DEBUG zlibd
@@ -83,8 +97,7 @@ ELSE(UNIX)
     )
   #MESSAGE("ZLIB_LIBRARY_RELEASE=${ZLIB_LIBRARY_RELEASE}")
   #MESSAGE("ZLIB_LIBRARY_DEBUG=${ZLIB_LIBRARY_DEBUG}")
-
-ENDIF(UNIX)
+endif()
 ## --------------------------------
 
 
diff --git a/CMakeModules/FindOpenCV2.cmake b/CMakeModules/FindOpenCV2.cmake
index 28fe6300567e6dfcada1390ee21aa56bddd80c70..bd9b99d0ca05a0eca1c503532bdbe28d2567d44c 100644
--- a/CMakeModules/FindOpenCV2.cmake
+++ b/CMakeModules/FindOpenCV2.cmake
@@ -257,7 +257,7 @@ IF(NOT OpenCV_FOUND)
         "OpenCV required but some headers or libs not found. Please specify it's location with OpenCV_ROOT_DIR env. variable.")
     ELSE(OpenCV_FIND_REQUIRED)
       MESSAGE(STATUS 
-        "ERROR: OpenCV was not found.")
+        "OpenCV not found.")
     ENDIF(OpenCV_FIND_REQUIRED)
   ENDIF(NOT OpenCV_FIND_QUIETLY)
 ENDIF(NOT OpenCV_FOUND)
diff --git a/CMakeModules/FindPTHREAD.cmake b/CMakeModules/FindPTHREAD.cmake
index e6da44d71bbc6e0c49a9196a95064916069f08b8..683d7bf6ba5cdd7b3ad3e55a9589208be9e665dc 100644
--- a/CMakeModules/FindPTHREAD.cmake
+++ b/CMakeModules/FindPTHREAD.cmake
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: FindPTHREAD.cmake 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: FindPTHREAD.cmake 5316 2015-02-12 10:58:18Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,17 +43,29 @@
 #
 #############################################################################
 
-  
-  FIND_PATH(PTHREAD_INCLUDE_DIR pthread.h
+if(MINGW)
+  find_path(PTHREAD_INCLUDE_DIR pthread.h
+    "$ENV{MINGW_DIR}/include"
+    "$ENV{MINGW_DIR}/mingw/include"
+    C:/mingw/mingw/include
+  )
+
+  # pthreadVSE pthreadGCE pthreadGC pthreadVC1 pthreadVC2 are comming from web
+  find_library(PTHREAD_LIBRARY
+    NAMES pthread pthreadGC2 pthreadVSE pthreadGCE pthreadGC pthreadVC1 pthreadVC2
+    PATHS
+    "$ENV{MINGW_DIR}/lib"
+    "$ENV{MINGW_DIR}/mingw/lib"
+    C:/mingw/mingw/lib
+    )
+else()
+  find_path(PTHREAD_INCLUDE_DIR pthread.h
     "$ENV{PTHREAD_HOME}/include"
     "$ENV{PTHREAD_DIR}/include"
     /usr/include
-    "C:/MinGW/include"
   )
-  #MESSAGE("DBG PTHREAD_INCLUDE_DIR=${PTHREAD_INCLUDE_DIR}")
-  
   # pthreadVSE pthreadGCE pthreadGC pthreadVC1 pthreadVC2 are comming from web
-  FIND_LIBRARY(PTHREAD_LIBRARY
+  find_library(PTHREAD_LIBRARY
     NAMES pthread pthreadGC2 pthreadVSE pthreadGCE pthreadGC pthreadVC1 pthreadVC2
     PATHS
     "$ENV{PTHREAD_HOME}/lib"
@@ -61,9 +73,9 @@
     /usr/lib
     /usr/local/lib
     /lib    
-    "C:/MinGW/lib"
     )
-
+endif()
+  #MESSAGE("DBG PTHREAD_INCLUDE_DIR=${PTHREAD_INCLUDE_DIR}")
   #MESSAGE(STATUS "DBG PTHREAD_LIBRARY=${PTHREAD_LIBRARY}")
   
   ## --------------------------------
diff --git a/CMakeModules/FindXML2.cmake b/CMakeModules/FindXML2.cmake
index abac264ccf7b205239189a150978af153ac59e3f..d03d955a06c5536a158afc46d1050a0c8f38891d 100755
--- a/CMakeModules/FindXML2.cmake
+++ b/CMakeModules/FindXML2.cmake
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: FindXML2.cmake 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: FindXML2.cmake 5316 2015-02-12 10:58:18Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -44,37 +44,47 @@
 #############################################################################
 
 
-IF(WIN32)
-  FIND_PACKAGE(ICONV)
-  IF(ICONV_FOUND)
-    FIND_PATH(XML2_INCLUDE_DIR libxml/xmlmemory.h
-      $ENV{XML2_DIR}/include
-      $ENV{XML2_DIR}/include/libxml2
-      $ENV{XML2_HOME}/include
-      $ENV{XML2_HOME}/include/libxml2
-      )
-    FIND_LIBRARY(XML2_LIBRARY libxml2
-      $ENV{XML2_DIR}/lib
-      $ENV{XML2_HOME}/lib
+if(WIN32)
+  find_package(ICONV)
+  if(MINGW)
+    find_path(XML2_INCLUDE_DIR libxml/xmlmemory.h
+      "$ENV{MINGW_DIR}/include/libxml2"
+      C:/mingw/include/libxml2
+    )
+    find_library(XML2_LIBRARY libxml2
+      "$ENV{MINGW_DIR}/lib"
+      "$ENV{MINGW_DIR}/lib64"
+      C:/mingw/lib64
+    )
+  else()
+    find_path(XML2_INCLUDE_DIR libxml/xmlmemory.h
+      "$ENV{XML2_DIR}/include"
+      "$ENV{XML2_DIR}/include/libxml2"
+      "$ENV{XML2_HOME}/include"
+      "$ENV{XML2_HOME}/include/libxml2"
+    )
+    find_library(XML2_LIBRARY libxml2
+      "$ENV{XML2_DIR}/lib"
+      "$ENV{XML2_HOME}/lib"
       /usr/lib
       /usr/local/lib
       "c:/libxml2/lib"
-      )
-  ENDIF(ICONV_FOUND)  
-ELSE(WIN32) 
-  FIND_PATH(XML2_INCLUDE_DIR libxml/xmlmemory.h
-    $ENV{XML2_DIR}/include/libxml2
-    $ENV{XML2_HOME}/include/libxml2
+    )
+  endif()
+else(WIN32) 
+  find_path(XML2_INCLUDE_DIR libxml/xmlmemory.h
+    "$ENV{XML2_DIR}/include/libxml2"
+    "$ENV{XML2_HOME}/include/libxml2"
     /usr/include/libxml2
     /usr/local/include/libxml2
     )
-  FIND_LIBRARY(XML2_LIBRARY xml2
-    $ENV{XML2_DIR}/lib
-    $ENV{XML2_HOME}/lib
+  find_library(XML2_LIBRARY xml2
+    "$ENV{XML2_DIR}/lib"
+    "$ENV{XML2_HOME}/lib"
     /usr/lib
     /usr/local/lib
     )
-ENDIF(WIN32)
+endif(WIN32)
 #MESSAGE("DBG XML2_INCLUDE_DIR=${XML2_INCLUDE_DIR}")  
 
 
@@ -97,10 +107,10 @@ IF(XML2_LIBRARIES AND XML2_INCLUDE_DIR)
   SET(XML2_INCLUDE_DIRS ${XML2_INCLUDE_DIR})
   SET(XML2_FOUND TRUE)
 
-  IF(WIN32)
+  IF(WIN32 AND ICONV_FOUND)
     LIST(APPEND XML2_INCLUDE_DIRS ${ICONV_INCLUDE_DIRS})
     SET(XML2_LIBRARIES ${XML2_LIBRARIES} ${ICONV_LIBRARIES})
-  ENDIF(WIN32)
+  ENDIF()
 
 ELSE(XML2_LIBRARIES AND XML2_INCLUDE_DIR)
   SET(XML2_FOUND FALSE)
diff --git a/CMakeModules/FindZBAR.cmake b/CMakeModules/FindZBAR.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..21c31be5e4d5fc69104a8ffdf8655c2f9148486c
--- /dev/null
+++ b/CMakeModules/FindZBAR.cmake
@@ -0,0 +1,71 @@
+#############################################################################
+#
+# $Id: FindV4L2.cmake 4574 2014-01-09 08:48:51Z fspindle $
+#
+# This file is part of the ViSP software.
+# Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+# 
+# This software is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# ("GPL") version 2 as published by the Free Software Foundation.
+# See the file LICENSE.txt at the root directory of this source
+# distribution for additional information about the GNU GPL.
+#
+# For using ViSP with software that can not be combined with the GNU
+# GPL, please contact INRIA about acquiring a ViSP Professional 
+# Edition License.
+#
+# See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+# 
+# This software was developed at:
+# INRIA Rennes - Bretagne Atlantique
+# Campus Universitaire de Beaulieu
+# 35042 Rennes Cedex
+# France
+# http://www.irisa.fr/lagadic
+#
+# If you have questions regarding the use of this file, please contact
+# INRIA at visp@inria.fr
+# 
+# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Description:
+# Try to find zbar library.
+# Once run this will define: 
+#
+# ZBAR_FOUND
+# ZBAR_INCLUDE_DIRS
+# ZBAR_LIBRARIES
+#
+# Authors:
+# Fabien Spindler
+#
+#############################################################################
+
+  
+find_path(ZBAR_INCLUDE_DIRS zbar.h
+  $ENV{ZBAR_DIR}/include
+  /usr/include 
+  /usr/local/include 
+)
+
+find_library(ZBAR_LIBRARIES
+  NAMES zbar
+  PATHS 
+    $ENV{ZBAR_DIR}/lib
+    /usr/lib
+    /usr/local/lib
+)
+
+if(ZBAR_INCLUDE_DIRS AND ZBAR_LIBRARIES)
+  set(ZBAR_FOUND TRUE)
+else()
+  set(ZBAR_FOUND FALSE)
+endif()
+  
+mark_as_advanced(
+  ZBAR_INCLUDE_DIRS
+  ZBAR_LIBRARIES
+)
+
diff --git a/CMakeModules/GenerateConfigScript.cmake b/CMakeModules/GenerateConfigScript.cmake
deleted file mode 100644
index 225899db0c741a3a3842dc859e142a494cef5c1f..0000000000000000000000000000000000000000
--- a/CMakeModules/GenerateConfigScript.cmake
+++ /dev/null
@@ -1,377 +0,0 @@
-#############################################################################
-#
-# $Id: GenerateConfigScript.cmake 4676 2014-02-17 22:08:37Z fspindle $
-#
-# This file is part of the ViSP software.
-# Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
-# 
-# This software is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# ("GPL") version 2 as published by the Free Software Foundation.
-# See the file LICENSE.txt at the root directory of this source
-# distribution for additional information about the GNU GPL.
-#
-# For using ViSP with software that can not be combined with the GNU
-# GPL, please contact INRIA about acquiring a ViSP Professional 
-# Edition License.
-#
-# See http://www.irisa.fr/lagadic/visp/visp.html for more information.
-# 
-# This software was developed at:
-# INRIA Rennes - Bretagne Atlantique
-# Campus Universitaire de Beaulieu
-# 35042 Rennes Cedex
-# France
-# http://www.irisa.fr/lagadic
-#
-# If you have questions regarding the use of this file, please contact
-# INRIA at visp@inria.fr
-# 
-# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-#
-# Description:
-# This file generates the ViSP library config shell scripts: 
-# - visp-config in <build dir>/bin from visp-config.in
-# - visp-config in <build dir>/install from visp-config.install.in
-#   When make install, this file is copied in <install dir>/bin
-# - visp.pc in <build dir>/install from visp.pc.in
-#   When make install, this file is copied in <install dir>/lib/pkgconfig
-#
-# Authors:
-# Fabien Spindler
-#
-#############################################################################
-
-
-IF (UNIX)
-  #######################################################################
-  #
-  # for Unix platforms: Linux, OSX
-  #
-  ####################################################################### 
-  SET(FILE_VISP_CONFIG_SCRIPT_IN "${VISP_SOURCE_DIR}/CMakeModules/visp-config.in")
-  SET(FILE_VISP_CONFIG_SCRIPT    "${BINARY_OUTPUT_PATH}/visp-config")
-
-  SET(FILE_VISP_CONFIG_SCRIPT_INSTALL_IN "${VISP_SOURCE_DIR}/CMakeModules/visp-config.install.in")
-  SET(FILE_VISP_CONFIG_SCRIPT_INSTALL    "${VISP_BINARY_DIR}/install/visp-config")
-  
-  SET(FILE_VISP_CONFIG_PC_INSTALL_IN "${VISP_SOURCE_DIR}/CMakeModules/visp.pc.in")
-  SET(FILE_VISP_CONFIG_PC_INSTALL    "${VISP_BINARY_DIR}/install/visp.pc")
-
-  #---------------------------------------------------------------------
-  # Updates VISP_CONFIG_SCRIPT_PREFIX
-  #----------------------------------------------------------------------
-  SET(VISP_CONFIG_SCRIPT_PREFIX "${CMAKE_INSTALL_PREFIX}")
- 
-  #---------------------------------------------------------------------
-  # Updates VISP_CONFIG_CFLAGS
-  #----------------------------------------------------------------------
-  if(NOT ${VISP_OPENMP_FLAGS} STREQUAL "")
-    list(APPEND VISP_CONFIG_CFLAGS ${VISP_OPENMP_FLAGS})
-  endif()
-  if(NOT ${VISP_CPP11_FLAGS} STREQUAL "")
-    list(APPEND VISP_CONFIG_CFLAGS ${VISP_CPP11_CFLAGS})
-  endif()
-  list(APPEND VISP_CONFIG_CFLAGS "${VISP_DEFS}")
-
-  FOREACH(INCDIR ${VISP_EXTERN_INCLUDE_DIRS})
-    LIST(APPEND VISP_CONFIG_CFLAGS "-I${INCDIR}")
-  ENDFOREACH(INCDIR)
-
-  # Suppress twins
-  LIST(REMOVE_DUPLICATES VISP_CONFIG_CFLAGS)
-
-  # Format the string to suppress CMake separators ";"
-  SET(VISP_CONFIG_CFLAGS_REFORMATED "")
-  FOREACH(element ${VISP_CONFIG_CFLAGS})
-    SET(VISP_CONFIG_CFLAGS_REFORMATED "${VISP_CONFIG_CFLAGS_REFORMATED} ${element}")
-  ENDFOREACH(element)
-  SET(VISP_CONFIG_CFLAGS ${VISP_CONFIG_CFLAGS_REFORMATED})
-#  MESSAGE(": ${VISP_CONFIG_CFLAGS}")
-
-
-  IF(BUILD_TEST_COVERAGE)
-    # Add build options for test coverage. Currently coverage is only supported
-    # on gcc compiler 
-    # Because using -fprofile-arcs with shared lib can cause problems like:
-    # hidden symbol `__bb_init_func', we add this option only for static 
-    # library build
-    SET(VISP_CONFIG_CFLAGS "${VISP_CONFIG_CFLAGS} -ftest-coverage -fprofile-arcs")
-  ENDIF(BUILD_TEST_COVERAGE)
-
-
-  #---------------------------------------------------------------------
-  # Updates VISP_CONFIG_LIBS
-  #
-  # add "-l" to library names
-  # skip *.so, *.a, *.dylib, -framework*, -l*
-  #
-  #----------------------------------------------------------------------
- 
-  # Manage the lib path
-  SET(VISP_CONFIG_SCRIPT_TMP_LDFLAGS)
-  FOREACH(dir ${VISP_EXTERN_LINK_DIR})
-    LIST(APPEND VISP_CONFIG_SCRIPT_TMP_LDFLAGS "-L${dir}")
-  ENDFOREACH(dir)
-  #MESSAGE("VISP_EXTERN_LINK_DIR: ${VISP_EXTERN_LINK_DIR}")
-  #MESSAGE("VISP_CONFIG_SCRIPT_TMP_LDFLAGS: ${VISP_CONFIG_SCRIPT_TMP_LDFLAGS}")
-  # convert semicolon-separated vector to space-separated string
-  FOREACH(val ${VISP_CONFIG_SCRIPT_TMP_LDFLAGS})
-     SET(VISP_CONFIG_LIBS "${VISP_CONFIG_LIBS} ${val}")
-  ENDFOREACH(val)
-
-  # Manage the libs	
-  LIST(REMOVE_ITEM VISP_EXTERN_LIBRARIES "debug")
-  LIST(REMOVE_ITEM VISP_EXTERN_LIBRARIES "optimized")
-  SET(TMP_LIBS)
-  FOREACH(lib ${VISP_EXTERN_LIBRARIES})
-    IF("${lib}" MATCHES "[-][f][r][a][m][e][w][o][r][k]+.")
-      # does nothing
-      LIST(APPEND TMP_LIBS ${lib})
-    ELSEIF("${lib}" MATCHES ".[.][f][r][a][m][e][w][o][r][k]+$")
-      # replace /path/name.framework by -framework name
-      GET_FILENAME_COMPONENT(FRAMEWORK ${lib} NAME_WE)
-      #MESSAGE("add -framework ${FRAMEWORK}")
-      LIST(APPEND TMP_LIBS "-framework ${FRAMEWORK}")
-    ELSEIF("${lib}" MATCHES ".[.][s][o]+$" OR "${lib}" MATCHES ".[.][a]+$")
-      # does nothing
-      LIST(APPEND TMP_LIBS ${lib})
-    ELSEIF("${lib}" MATCHES ".[.][d][y][l][i][b]+$")
-      # does nothing
-      LIST(APPEND TMP_LIBS ${lib})
-    ELSEIF("${lib}" MATCHES "[-][l]+.")
-      # does nothing
-      LIST(APPEND TMP_LIBS ${lib})
-    ELSE()
-      # add -l prefix
-      #MESSAGE("add -l${lib}")
-      LIST(APPEND TMP_LIBS "-l${lib}")
-    ENDIF()
-  ENDFOREACH(lib)
-
-  FOREACH(val ${TMP_LIBS})
-     SET(VISP_CONFIG_LIBS "${VISP_CONFIG_LIBS} ${val}")
-  ENDFOREACH(val)
-
-  #MESSAGE("EXTERN LIBS : ${VISP_CONFIG_LIBS}")
- 
-  #---------------------------------------------------------------------
-  # Updates the <build dir>/bin/visp-config shell script
-  # Updates VISP_CONFIG_LIBS_SCRIPT (for visp-config)
-  # Updates VISP_CONFIG_CFLAGS_SCRIPT (for visp-config)
-  #----------------------------------------------------------------------
-
-  # prepend with ViSP own include dir
-  set(VISP_CONFIG_CFLAGS_SCRIPT "-I$PREFIX/${CMAKE_INSTALL_INCLUDEDIR} ${VISP_CONFIG_CFLAGS}")
-
-  # prepend with ViSP own lib and -L<lib dir>
-  SET(VISP_CONFIG_LIBS_SCRIPT  "$PREFIX/${CMAKE_INSTALL_LIBDIR}/${VISP_LIBNAME_OPT} -L$PREFIX/${CMAKE_INSTALL_LIBDIR} ${VISP_CONFIG_LIBS}")
-
-  SET(VISP_ECHO_NO_NEWLINE_CHARACTER "")
-  SET(VISP_ECHO_NO_NEWLINE_OPTION "")
-  IF(APPLE)
-    SET(VISP_ECHO_NO_NEWLINE_CHARACTER "\\c")
-  ELSE(APPLE)
-    SET(VISP_ECHO_NO_NEWLINE_OPTION "-n")
-  ENDIF(APPLE)
-
-  CONFIGURE_FILE(${FILE_VISP_CONFIG_SCRIPT_IN} ${FILE_VISP_CONFIG_SCRIPT})
-
-  #---------------------------------------------------------------------
-  # Updates the <build dir>/install/visp-config shell script
-  #----------------------------------------------------------------------
-
-  CONFIGURE_FILE(${FILE_VISP_CONFIG_SCRIPT_INSTALL_IN} ${FILE_VISP_CONFIG_SCRIPT_INSTALL})
-
-  #---------------------------------------------------------------------
-  # Updates the <build dir>/install/visp.pc pkg-config file
-  # Updates VISP_CONFIG_CFLAGS_PC (for libvisp.pc used by pkg-config)
-  # Updates VISP_CONFIG_LIBS_PC (for libvisp.pc used by pkg-config)
-  #----------------------------------------------------------------------
-  set(exec_prefix "\${prefix}")
-  set(includedir  "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
-  set(libdir  "\${prefix}/${CMAKE_INSTALL_LIBDIR}")
- 
-  # prepend with ViSP own include dir
-  set(VISP_CONFIG_CFLAGS_PC "-I\${includedir} ${VISP_CONFIG_CFLAGS}")
-
-  # prepend with ViSP own lib dir and append -L<lib dir>
-  SET(VISP_CONFIG_LIBS_PC  "\${libdir}/${VISP_LIBNAME_OPT} ${VISP_CONFIG_LIBS} -L\${libdir}")
-  CONFIGURE_FILE(${FILE_VISP_CONFIG_PC_INSTALL_IN} ${FILE_VISP_CONFIG_PC_INSTALL})
-
-ELSE(UNIX)
-  #######################################################################
-  #
-  # for windows platforms
-  #
-  ####################################################################### 
-  SET(FILE_VISP_CONFIG_SCRIPT_IN "${VISP_SOURCE_DIR}/CMakeModules/visp-config.bat.in")
-  SET(FILE_VISP_CONFIG_SCRIPT    "${BINARY_OUTPUT_PATH}/visp-config.bat")
-  
-  #---------------------------------------------------------------------
-  # Updates VISP_CONFIG_SCRIPT_PREFIX
-  #----------------------------------------------------------------------
-  SET(VISP_CONFIG_SCRIPT_PREFIX "${CMAKE_INSTALL_PREFIX}")
-
-  #---------------------------------------------------------------------
-  # Updates VISP_CONFIG_SCRIPT_DEF
-  #----------------------------------------------------------------------
-  set(VISP_CONFIG_SCRIPT_DEFS "")
-  if(NOT ${VISP_OPENMP_FLAGS} STREQUAL "")
-    set(VISP_CONFIG_SCRIPT_DEFS "${VISP_OPENMP_FLAGS}")
-  endif()
-  if(NOT ${VISP_CPP11_FLAGS} STREQUAL "")
-    set(VISP_CONFIG_SCRIPT_DEFS "${VISP_CPP11_FLAGS}, ${VISP_CONFIG_SCRIPT_DEFS}")
-  endif()
-
-  FOREACH(def ${VISP_DEFS})
-    #MESSAGE("def to process: ${def}")
-    IF("${def}" MATCHES "[-][D]+.")
-    	#MESSAGE("${def} matches -D")
-        STRING(REGEX REPLACE "[-][D]" "" def ${def})
-        STRING(REGEX REPLACE "[ ]" ";" def ${def})
-	#MESSAGE("new ${def} without -D")
-    ENDIF("${def}" MATCHES "[-][D]+.")
-    SET(VISP_CONFIG_SCRIPT_DEFS "${def}, ${VISP_CONFIG_SCRIPT_DEFS}")
-  ENDFOREACH(def)
-
-  #---------------------------------------------------------------------
-  # Updates VISP_CONFIG_SCRIPT_INCLUDE
-  #----------------------------------------------------------------------
-  LIST(APPEND VISP_EXTERN_INCLUDE_DIRS "%PREFIX%/${CMAKE_INSTALL_INCLUDEDIR}")
-  LIST(REMOVE_DUPLICATES VISP_EXTERN_INCLUDE_DIRS)
-
-  # Format the string
-  FOREACH(element ${VISP_EXTERN_INCLUDE_DIRS})
-    SET(VISP_CONFIG_SCRIPT_INC "\"${element}\"; ${VISP_CONFIG_SCRIPT_INC}")
-  ENDFOREACH(element)
-
-#  MESSAGE(VISP_CONFIG_SCRIPT_INC ${VISP_CONFIG_SCRIPT_INC})
-
-  #---------------------------------------------------------------------
-  # Updates VISP_CONFIG_SCRIPT_LIBDIR
-  #----------------------------------------------------------------------
-  SET(TMP_SCRIPT_LIBDIR "%PREFIX%\\lib")
-  #SET(TMP_SCRIPT_LIBDIR ${TMP_SCRIPT_LIBDIR} "%PREFIX%\\lib\\$(Outdir)")
-  SET(TMP_SCRIPT_LIBDIR ${TMP_SCRIPT_LIBDIR} "%PREFIX%\\lib\\$(ConfigurationName)")
-  #MESSAGE("VISP_EXTERN_LINK_DIR ${VISP_EXTERN_LINK_DIR}")
-  FOREACH(var ${VISP_EXTERN_LINK_DIR})
-    #MESSAGE("var to process: ${var}")
-    IF("${var}" MATCHES "[-][L]+.")
-        #MESSAGE("${var} matches -L")
-        STRING(REGEX REPLACE "[-][L]" "" var ${var})
-        #MESSAGE("new ${newvar} without -L")
-    ENDIF("${var}" MATCHES "[-][L]+.")
-    LIST(APPEND TMP_SCRIPT_LIBDIR ${var})
-    LIST(APPEND TMP_SCRIPT_LIBDIR "${var}\\$(ConfigurationName)")
-  ENDFOREACH(var)
-
-  FOREACH(lib ${VISP_EXTERN_LIBRARIES})
-    # Get the library path 
-    GET_FILENAME_COMPONENT(libpath ${lib} PATH)
-    #MESSAGE("library path: ${libpath}")
-
-    LIST(APPEND TMP_SCRIPT_LIBDIR ${libpath})
-  ENDFOREACH(lib)
-
-  #MESSAGE("TMP_SCRIPT_LIBDIR: ${TMP_SCRIPT_LIBDIR}")
-
-  # Suppress twins
-  IF(TMP_SCRIPT_LIBDIR)
-    LIST(REMOVE_DUPLICATES TMP_SCRIPT_LIBDIR)
-  ENDIF()
-  # Format the string
-  FOREACH(element ${TMP_SCRIPT_LIBDIR})
-    SET(VISP_CONFIG_SCRIPT_LIBDIR "\"${element}\"; ${VISP_CONFIG_SCRIPT_LIBDIR}")
-  ENDFOREACH(element)
-
-#  MESSAGE("VISP_CONFIG_SCRIPT_LIBDIR: ${VISP_CONFIG_SCRIPT_LIBDIR}")
-
-  #---------------------------------------------------------------------
-  # Updates VISP_CONFIG_SCRIPT_LIBS
-  #----------------------------------------------------------------------
-  SET(TMP_SCRIPT_LIBS_DEBUG "${VISP_INTERN_LIBRARY}${CMAKE_DEBUG_POSTFIX}.lib")
-  SET(TMP_SCRIPT_LIBS_OPTIMIZED "${VISP_INTERN_LIBRARY}.lib")
-
-  #MESSAGE(VISP_EXTERN_LIBRARIES: ${VISP_EXTERN_LIBRARIES})
-  SET(TMP_IS_DEBUG FALSE)
-  SET(TMP_IS_OPTIMIZED FALSE)
-  FOREACH(lib ${VISP_EXTERN_LIBRARIES})
-    IF("${lib}" MATCHES "[d][e][b][u][g]")
-	  SET(TMP_IS_DEBUG TRUE)
-	ELSEIF("${lib}" MATCHES "[o][p][t][i][m][i][z][e][d]")
-	  SET(TMP_IS_OPTIMIZED TRUE)
-	ELSE()
-	  
-      # Get the library name
-      GET_FILENAME_COMPONENT(libname ${lib} NAME)
-      IF("${libname}" MATCHES ".+[.][l][i][b]" OR "${libname}" MATCHES ".+[.][L][i][b]")
-        #MESSAGE("${libname} matches .lib or .Lib")
-      ELSE("${libname}" MATCHES ".+[.][l][i][b]" OR "${libname}" MATCHES ".+[.][L][i][b]")
-        # We need to add .lib suffix
-        #MESSAGE("For ${libname} we add .lib suffix")
-        SET(libname "${libname}.lib")
-      ENDIF("${libname}" MATCHES ".+[.][l][i][b]" OR "${libname}" MATCHES ".+[.][L][i][b]")
-	  
-	  IF(TMP_IS_DEBUG)
-        SET(TMP_IS_DEBUG FALSE)
-		LIST(APPEND TMP_SCRIPT_LIBS_DEBUG ${libname})
-	  ELSEIF(TMP_IS_OPTIMIZED)
-	    SET(TMP_IS_OPTIMIZED FALSE)
-		LIST(APPEND TMP_SCRIPT_LIBS_OPTIMIZED ${libname})
-      ELSE()
-		LIST(APPEND TMP_SCRIPT_LIBS_DEBUG ${libname})
-		LIST(APPEND TMP_SCRIPT_LIBS_OPTIMIZED ${libname})
-	  ENDIF()
-    ENDIF()
-
-  ENDFOREACH(lib)
-
-  # Format the string
-  FOREACH(element ${TMP_SCRIPT_LIBS_DEBUG})
-    SET(VISP_CONFIG_SCRIPT_LIBS_DEBUG "${VISP_CONFIG_SCRIPT_LIBS_DEBUG}; ${element}")
-  ENDFOREACH(element)
-  FOREACH(element ${TMP_SCRIPT_LIBS_OPTIMIZED})
-    SET(VISP_CONFIG_SCRIPT_LIBS_OPTIMIZED "${VISP_CONFIG_SCRIPT_LIBS_OPTIMIZED}; ${element}")
-  ENDFOREACH(element)
-
-  #MESSAGE(VISP_CONFIG_SCRIPT_LIBS: ${VISP_CONFIG_SCRIPT_LIBS})
-
-  #---------------------------------------------------------------------
-  # Updates the visp-config shell script
-  #----------------------------------------------------------------------
-  CONFIGURE_FILE(${FILE_VISP_CONFIG_SCRIPT_IN} ${FILE_VISP_CONFIG_SCRIPT})
-ENDIF(UNIX)
-
-#----------------------------------------------------------------------
-# customize install target
-#----------------------------------------------------------------------
-# install rule for visp-config shell script
-IF (UNIX)
-  INSTALL(FILES ${FILE_VISP_CONFIG_SCRIPT_INSTALL}
-    DESTINATION ${CMAKE_INSTALL_BINDIR}
-    PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
-    OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE
-    OWNER_WRITE
-    COMPONENT libraries)
-ELSE(UNIX)
-  INSTALL(FILES ${BINARY_OUTPUT_PATH}/visp-config.bat
-    DESTINATION ${CMAKE_INSTALL_BINDIR}
-    PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
-    OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE
-    OWNER_WRITE
-    COMPONENT libraries)
-ENDIF (UNIX)
-# install rule for visp.pc pkg-config file
-IF (UNIX)
-  INSTALL(FILES ${FILE_VISP_CONFIG_PC_INSTALL}
-    DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
-    PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
-    OWNER_WRITE
-    COMPONENT libraries)
-ELSE(UNIX)
-  # not implemented yet
-ENDIF (UNIX)
-
-
diff --git a/CMakeModules/OgreTools.cmake b/CMakeModules/OgreTools.cmake
index 6d8c458af0f28bebd2c7756ead20f3cabe20cdb9..fd714dedc4fb3740482f4cac179f034bb6513ce7 100755
--- a/CMakeModules/OgreTools.cmake
+++ b/CMakeModules/OgreTools.cmake
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: OgreTools.cmake 4588 2014-01-15 17:29:53Z fspindle $
+# $Id: OgreTools.cmake 4769 2014-07-08 20:25:50Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -42,7 +42,7 @@
 # Find Ogre plugins
 #
 # This is a modified version of the macro provided with Ogre
-# except that should be used only in a desparate way when the one original
+# except that it should be used only in a desperate way when the original
 # one doesn't detect anything
 #########################################################
 
diff --git a/CMakeModules/VISPConfig.cmake b/CMakeModules/VISPConfig.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..f4857511bed65951c4720b65f536335e4548500c
--- /dev/null
+++ b/CMakeModules/VISPConfig.cmake
@@ -0,0 +1,149 @@
+#############################################################################
+#
+# $Id: VISPConfig.cmake.in 4806 2014-07-30 08:55:55Z fspindle $
+#
+# This file is part of the ViSP software.
+# Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+# 
+# This software is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# ("GPL") version 2 as published by the Free Software Foundation.
+# See the file LICENSE.txt at the root directory of this source
+# distribution for additional information about the GNU GPL.
+#
+# For using ViSP with software that can not be combined with the GNU
+# GPL, please contact INRIA about acquiring a ViSP Professional 
+# Edition License.
+#
+# See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+# 
+# This software was developed at:
+# INRIA Rennes - Bretagne Atlantique
+# Campus Universitaire de Beaulieu
+# 35042 Rennes Cedex
+# France
+# http://www.irisa.fr/lagadic
+#
+# If you have questions regarding the use of this file, please contact
+# INRIA at visp@inria.fr
+# 
+# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Description:
+# CMake package config file for ViSP.
+#
+# ** File generated automatically, do not modify **
+#
+# This file will define the following CMake variables:
+#   - VISP_INCLUDE_DIRS   : ViSP and third-party include directories
+#   - VISP_LIBRARIES      : ViSP library to link against. Third-party libraries are
+#                           linked automatically thanks to cmake export file VISPTargets.cmake
+#   - VISP_VERSION_STRING : Full ViSP version that is build. Example: "2.10.0"
+#   - VISP_VERSION_MAJOR  : Major version part of VISP_VERSION. Example: "2"
+#   - VISP_VERSION_MINOR  : Minor version part of VISP_VERSION. Example: "10"
+#   - VISP_VERSION_PATCH  : Patch version part of VISP_VERSION. Example: "0"
+#
+# Advanced variables:
+#   - VISP_SHARED        : Use ViSP as shared library
+#   - VISP_CONFIG_PATH   : Path to this VISPConfig.cmake
+#   - VISP_FIND_QUIETLY  : If set to TRUE turn off messages during configuration
+#   - VISP_USE_FILE      : File to include to use ViSP without specific cmake code
+#
+# Windows specific variables:
+#   - VISP_STATIC        : If set to TRUE uses ViSP static library (.lib) rather then dynamic (.dll) 
+#
+# Typical usage in user project:
+#
+#   find_package(VISP)
+#   include_directories(${VISP_INCLUDE_DIRS})
+#   target_link_libraries(MY_TARGET_NAME ${VISP_LIBRARIES})
+#
+# It is also possible to build your project using VISP_USE_FILE.
+#
+#   find_package(VISP)
+#   if(VISP_FOUND)
+#     include(${VISP_USE_FILE})
+#   endif()
+#
+# Authors:
+# Fabien Spindler
+#
+#############################################################################
+
+# similar code exist in VISPDetectPlatform.cmake
+if(MSVC)
+  if(CMAKE_CL_64)
+    set(VISP_ARCH x64)
+  else()
+    set(VISP_ARCH x86)
+  endif()
+  if(MSVC_VERSION EQUAL 1400)
+    set(VISP_RUNTIME vc8)
+  elseif(MSVC_VERSION EQUAL 1500)
+    set(VISP_RUNTIME vc9)
+  elseif(MSVC_VERSION EQUAL 1600)
+    set(VISP_RUNTIME vc10)
+  elseif(MSVC_VERSION EQUAL 1700)
+    set(VISP_RUNTIME vc11)
+  elseif(MSVC_VERSION EQUAL 1800)
+    set(VISP_RUNTIME vc12)
+  endif()
+elseif(MINGW)
+  set(VISP_RUNTIME mingw)
+
+  execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpmachine
+                  OUTPUT_VARIABLE VISP_GCC_TARGET_MACHINE
+                  OUTPUT_STRIP_TRAILING_WHITESPACE)
+  if(VISP_GCC_TARGET_MACHINE MATCHES "64")
+    set(MINGW64 1)
+    set(VISP_ARCH x64)
+  else()
+    set(VISP_ARCH x86)
+  endif()
+endif()
+
+if(CMAKE_VERSION VERSION_GREATER 2.6.2)
+  unset(VISP_CONFIG_PATH CACHE)
+endif()
+
+if(NOT VISP_FIND_QUIETLY)
+  message(STATUS "ViSP ARCH: ${VISP_ARCH}")
+  message(STATUS "ViSP RUNTIME: ${VISP_RUNTIME}")
+endif()
+
+get_filename_component(VISP_CONFIG_PATH "${CMAKE_CURRENT_LIST_FILE}" PATH CACHE)
+if(VISP_RUNTIME AND VISP_ARCH)
+  if(NOT DEFINED VISP_STATIC AND EXISTS "${VISP_CONFIG_PATH}/${VISP_ARCH}/${VISP_RUNTIME}/lib/VISPConfig.cmake")
+    set(VISP_LIB_PATH "${VISP_CONFIG_PATH}/${VISP_ARCH}/${VISP_RUNTIME}/lib")
+  elseif(NOT DEFINED VISP_STATIC AND EXISTS "${VISP_CONFIG_PATH}/${VISP_ARCH}/${VISP_RUNTIME}/staticlib/VISPConfig.cmake")
+    set(VISP_LIB_PATH "${VISP_CONFIG_PATH}/${VISP_ARCH}/${VISP_RUNTIME}/staticlib")
+  elseif(VISP_STATIC AND EXISTS "${VISP_CONFIG_PATH}/${VISP_ARCH}/${VISP_RUNTIME}/staticlib/VISPConfig.cmake")
+    set(VISP_LIB_PATH "${VISP_CONFIG_PATH}/${VISP_ARCH}/${VISP_RUNTIME}/staticlib")
+  elseif(VISP_STATIC EXISTS "${VISP_CONFIG_PATH}/${VISP_ARCH}/${VISP_RUNTIME}/lib/VISPConfig.cmake")
+    set(VISP_LIB_PATH "${VISP_CONFIG_PATH}/${VISP_ARCH}/${VISP_RUNTIME}/lib")
+  endif()
+endif()
+
+if(VISP_LIB_PATH AND EXISTS "${VISP_LIB_PATH}/VISPConfig.cmake")
+  include("${VISP_LIB_PATH}/VISPConfig.cmake")
+
+  set(VISP_FOUND TRUE CACHE BOOL "" FORCE)
+
+  if(NOT VISP_FIND_QUIETLY)
+    message(STATUS "Found VISP ${VISP_VERSION} in ${VISP_LIB_PATH}")
+    if(NOT VISP_LIB_PATH MATCHES "/staticlib")
+      get_filename_component(_VISP_LIB_PATH "${VISP_LIB_PATH}/../bin" ABSOLUTE)
+      file(TO_NATIVE_PATH "${_VISP_LIB_PATH}" _VISP_LIB_PATH)
+      message(STATUS "You might need to add ${_VISP_LIB_PATH} to your PATH to be able to run your applications.")
+    endif()
+  endif()
+else()
+  if(NOT VISP_FIND_QUIETLY)
+    message(WARNING
+"Found ViSP for Windows but it has no binaries compatible with your configuration.
+You should manually point CMake variable VISP_DIR to your build of ViSP library."
+    )
+  endif()
+  set(VISP_FOUND FALSE CACHE BOOL "" FORCE)
+endif()
diff --git a/CMakeModules/VISPConfig.cmake.in b/CMakeModules/VISPConfig.cmake.in
index 15db8bbe042fdf442836846f4eee927291553d96..f42084305771c6a012db589447110a0063c36c06 100644
--- a/CMakeModules/VISPConfig.cmake.in
+++ b/CMakeModules/VISPConfig.cmake.in
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: VISPConfig.cmake.in 4616 2014-01-24 18:43:25Z fspindle $
+# $Id: VISPConfig.cmake.in 5011 2014-11-28 10:11:48Z ayol $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -36,120 +36,104 @@
 # ** File generated automatically, do not modify **
 #
 # This file will define the following CMake variables:
-# VISP_ROOT_DIR       : ViSP base directory location
-# VISP_INCLUDE_DIRS   : ViSP and third-party headers location
-# VISP_LIBRARY_DIRS   : ViSP and third-party libraries location. Calling LINK_DIRECTORIES
-#                       with this path is NOT needed under Unix.
-# VISP_LIBNAME_DBG    : ViSP library name when build in debug (libvisp.so, libvisp.a, vispd.dll, vispd.lib)
-# VISP_LIBNAME_OPT    : ViSP library name when build in release (libvisp.so, libvisp.a, visp.dll, visp.lib)
+#   - VISP_INCLUDE_DIRS   : ViSP and third-party include directories
+#   - VISP_LIBRARIES      : ViSP library to link against. Third-party libraries are
+#                           linked automatically thanks to cmake export file VISPTargets.cmake
+#   - VISP_VERSION_STRING : Full ViSP version that is build, "@VISP_VERSION@"
+#   - VISP_VERSION_MAJOR  : Major version part of VISP_VERSION: "@VISP_VERSION_MAJOR@" 
+#   - VISP_VERSION_MINOR  : Minor version part of VISP_VERSION: "@VISP_VERSION_MINOR@"
+#   - VISP_VERSION_PATCH  : Patch version part of VISP_VERSION: "@VISP_VERSION_PATCH@"
 #
-# VISP_LIBRARIES      : ViSP and third-party libraries to link against.
-# VISP_DEFINITIONS    : Defines used to build ViSP. Calling ADD_DEFINITIONS with this
-#                       variable is not needed.
-#
-# VISP_VERSION_STRING : Full ViSP version, eg 2.9.0
-# VISP_VERSION_MAJOR  : Major version part of VISP_VERSION, eg 2. 
-# VISP_VERSION_MINOR  : Minor version part of VISP_VERSION, eg 9.
-# VISP_VERSION_PATCH  : Patch version part of VISP_VERSION, eg 0.
+#  Advanced variables:
+#    - VISP_SHARED        : Use ViSP as shared library
+#    - VISP_CONFIG_PATH   : Path to this VISPConfig.cmake
+#    - VISP_USE_FILE      : File to include to use ViSP without specific cmake code
 #
 # Typical usage in user project:
+#
 #   find_package(VISP)
-#   add_definitions(${VISP_DEFINITIONS})
-#   link_directories(${VISP_LIBRARY_DIRS})
 #   include_directories(${VISP_INCLUDE_DIRS})
 #   target_link_libraries(MY_TARGET_NAME ${VISP_LIBRARIES})
 #
+# It is also possible to build your project using VISP_USE_FILE.
+#
+#   find_package(VISP)
+#   if(VISP_FOUND)
+#     include(${VISP_USE_FILE})
+#   endif()
+#
 # Authors:
 # Fabien Spindler
 #
 #############################################################################
 
-# Set VISP_ROOT_DIR
-SET(VISP_ROOT_DIR "@VISP_ROOT_DIR_CONFIGCMAKE@")
-#MESSAGE("VISP_ROOT_DIR: ${VISP_ROOT_DIR}")
-SET(VISP_ROOT_DIR_CMAKE "@VISP_ROOT_DIR_CMAKE_CONFIGCMAKE@")
-#MESSAGE("VISP_ROOT_DIR_CMAKE: ${VISP_ROOT_DIR_CMAKE}")
+#if(VISP_FOUND)
+#  return()
+#endif()
+
+#set(VISP_FOUND TRUE)
 
 # Set the version numbers
-SET(VISP_VERSION_STRING "@VISP_VERSION@")
-SET(VISP_VERSION_MAJOR  "@VISP_VERSION_MAJOR@")
-SET(VISP_VERSION_MINOR  "@VISP_VERSION_MINOR@")
-SET(VISP_VERSION_PATCH  "@VISP_VERSION_PATCH@")
+set(VISP_VERSION_STRING "@VISP_VERSION@")
+set(VISP_VERSION_MAJOR  "@VISP_VERSION_MAJOR@")
+set(VISP_VERSION_MINOR  "@VISP_VERSION_MINOR@")
+set(VISP_VERSION_PATCH  "@VISP_VERSION_PATCH@")
+
+# Some additional settings are required if ViSP is built as static libs
+set(VISP_SHARED @BUILD_SHARED_LIBS@)
+
+# Extract the directory where *this* file has been installed (determined at cmake run-time)
+get_filename_component(VISP_CONFIG_PATH "${CMAKE_CURRENT_LIST_FILE}" PATH CACHE)
+mark_as_advanced(VISP_CONFIG_PATH)
+
+if(NOT WIN32)
+  # Since this file is installed in ./${VISP_INSTALL_LIBDIR}/cmake/visp
+  # the first "../../" are here to go to ${VISP_INSTALL_LIBDIR}, and then
+  # VISP_INSTALL_LIBDIR_TO_PARENT goes to the parent dir "."
+  set(VISP_INSTALL_PATH "${VISP_CONFIG_PATH}/../../@VISP_INSTALL_LIBDIR_TO_PARENT@")
+  # Get the absolute path with no ../.. relative marks, to eliminate implicit linker warnings
+  if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} VERSION_LESS 2.8)
+    get_filename_component(VISP_INSTALL_PATH "${VISP_INSTALL_PATH}" ABSOLUTE)
+  else()
+    get_filename_component(VISP_INSTALL_PATH "${VISP_INSTALL_PATH}" REALPATH)
+  endif()
+endif()
 
 # Tells the user project where to find ViSP headers
-SET(VISP_INCLUDE_DIRS "${VISP_ROOT_DIR}/@CMAKE_INSTALL_INCLUDEDIR@" CACHE FILEPATH "Location of ViSP includes")
-#MESSAGE("VISP_INCLUDE_DIRS: ${VISP_INCLUDE_DIRS}")
-
-# Get ViSP specific definitions
-SET(VISP_DEFINITIONS "@VISP_DEFS@")
-#MESSAGE("VISP_DEFINITIONS: ${VISP_DEFINITIONS}")
-
-# Tells the user project where to find ViSP third party headers used
-# to compile ViSP. These locations are concatenate to VISP_INCLUDE_DIRS
-SET(VISP_EXTERN_INCLUDE_DIRS "@VISP_EXTERN_INCLUDE_DIRS@")
-#MESSAGE("VISP_EXTERN_INCLUDE_DIRS: ${VISP_EXTERN_INCLUDE_DIRS}")
-FOREACH(val ${VISP_EXTERN_INCLUDE_DIRS})
-  LIST(APPEND VISP_INCLUDE_DIRS "${val}")
-ENDFOREACH(val ${VISP_EXTERN_INCLUDE_DIRS})
-
-#MESSAGE("VISP_INCLUDE_DIRS: ${VISP_INCLUDE_DIRS}")
-
-# Tells the user project where to find ViSP library
-SET(VISP_LIBRARY_DIRS "${VISP_ROOT_DIR}/@CMAKE_INSTALL_LIBDIR@" CACHE FILEPATH "Location of ViSP library")
-#MESSAGE("VISP_LIBRARY_DIRS: ${VISP_LIBRARY_DIRS}")
-
-# Tells the user project where to find third party libraries used to
-# compile ViSP
-SET(VISP_EXTERN_LINK_DIR "@VISP_EXTERN_LINK_DIR@")
-#MESSAGE("VISP_EXTERN_LINK_DIR: ${VISP_EXTERN_LINK_DIR}")
-FOREACH(val ${VISP_EXTERN_LINK_DIR})
-  LIST(APPEND VISP_LIBRARY_DIRS "${val}")
-ENDFOREACH(val ${VISP_EXTERN_LINK_DIR})
-#MESSAGE("VISP_LIBRARY_DIRS: ${VISP_LIBRARY_DIRS}")
-
-# Set the full library name for debug and release
-set(VISP_LIBNAME_DBG "@VISP_LIBNAME_DBG@")
-set(VISP_LIBNAME_OPT "@VISP_LIBNAME_OPT@")
+set(VISP_INCLUDE_DIRS @VISP_INCLUDE_DIRS_CONFIGCMAKE@)
 
 # Tells the user project ViSP library name
-if(UNIX)
-  set(VISP_LIBRARIES debug ${VISP_ROOT_DIR}/@CMAKE_INSTALL_LIBDIR@/${VISP_LIBNAME_DBG} optimized ${VISP_ROOT_DIR}/@CMAKE_INSTALL_LIBDIR@/${VISP_LIBNAME_OPT})
+set(VISP_LIBRARIES "@VISP_INTERN_LIBRARY@")
+
+# need to be improved
+if(POLICY CMP0024)
+  # Fix to prevent multiple includes
+  if(NOT TARGET @VISP_INTERN_LIBRARY@)
+    cmake_policy(PUSH)
+    cmake_policy(SET CMP0024 OLD)
+    # Our library dependencies (contains definitions for IMPORTED targets)
+    include("${CMAKE_CURRENT_LIST_DIR}/VISPTargets.cmake")
+    cmake_policy(POP)
+  endif()
 else()
-  set(VISP_LIBRARIES debug "@VISP_INTERN_LIBRARY@@CMAKE_DEBUG_POSTFIX@" optimized "@VISP_INTERN_LIBRARY@")
+  # Fix for cmake 2.8.7 to prevent multiple includes
+  if(NOT TARGET @VISP_INTERN_LIBRARY@)
+    # Our library dependencies (contains definitions for IMPORTED targets)
+    include("${CMAKE_CURRENT_LIST_DIR}/VISPTargets.cmake")
+  endif()
 endif()
 
-# Tells the user project libraries name used to build ViSP library
-SET(VISP_EXTERN_LIBRARIES "@VISP_EXTERN_LIBRARIES@")
-FOREACH(val ${VISP_EXTERN_LIBRARIES})
-  LIST(APPEND VISP_LIBRARIES "${val}")
-ENDFOREACH()
-#MESSAGE("VISP_LIBRARIES: ${VISP_LIBRARIES}")
-
 # where to find the USE file to be used by user project
-SET(VISP_USE_FILE "${VISP_ROOT_DIR_CMAKE}/VISPUse.cmake")
+set(VISP_USE_FILE "${CMAKE_CURRENT_LIST_DIR}/VISPUse.cmake")
 
-IF(BUILD_TEST_COVERAGE)
+if(BUILD_TEST_COVERAGE)
   # Add build options for test coverage. Currently coverage is only supported
   # on gcc compiler 
   # Because using -fprofile-arcs with shared lib can cause problems like:
   # hidden symbol `__bb_init_func', we add this option only for static 
   # library build
-  SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -ftest-coverage -fprofile-arcs")
-ENDIF(BUILD_TEST_COVERAGE)
-
-
-#----------------------------------------------------------------------
-# Add CXX flags used in ViSP that should be also used when ViSP is a 3rd party
-#----------------------------------------------------------------------
-set(VISP_OPENMP_FLAGS "@VISP_OPENMP_FLAGS@")
-if(VISP_OPENMP_FLAGS)
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${VISP_OPENMP_FLAGS}")
+  set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -ftest-coverage -fprofile-arcs")
 endif()
-set(VISP_CPP11_FLAGS "@VISP_CPP11_FLAGS@")
-if(VISP_CPP11_FLAGS)
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${VISP_CPP11_FLAGS}")
-endif()
-
 
 #----------------------------------------------------------------------
 # Remember VISP' third party libs configuration:
@@ -207,10 +191,6 @@ SET(VISP_HAVE_CPP11_COMPATIBILITY "@VISP_HAVE_CPP11_COMPATIBILITY@")
 macro(visp_add_target file_cpp)
   get_filename_component(target ${file_cpp} NAME_WE)
   include_directories(${VISP_INCLUDE_DIRS})
-  if(VISP_LIBRARY_DIRS)
-    # should be called before add_executable()
-    link_directories(${VISP_LIBRARY_DIRS})
-  endif()
   add_executable(${target} ${file_cpp})
   target_link_libraries(${target} ${VISP_LIBRARIES})
   if(VISP_INTERN_LIBRARY)
@@ -218,14 +198,41 @@ macro(visp_add_target file_cpp)
   endif()
 endmacro()
 
-# Copy the data files to the same location than the target associated to the cpp files
-macro(visp_copy_data file_cpp file_data)
+# Create a dependency to the target extracted from the *.cpp file and put the target in the solution dependency folder.
+macro(visp_add_dependency file_cpp dependency)
   get_filename_component(target ${file_cpp} NAME_WE)
-  get_target_property(target_location ${target} LOCATION)
-  get_filename_component(target_location "${target_location}" PATH)
-  add_custom_command(
-    TARGET ${target}
-    POST_BUILD
-    COMMAND ${CMAKE_COMMAND} -E copy "${file_data}" "${target_location}"
-  )
+  if(TARGET visp_${dependency})
+    add_dependencies(visp_${dependency} ${target})
+    if(ENABLE_SOLUTION_FOLDERS)
+      set_target_properties(${target} PROPERTIES FOLDER "${dependency}")
+    endif()
+  endif()
 endmacro()
+
+# Copy the data files to the same location than the target associated to the cpp files
+# Since CMake 3.0.0 policy CMP0026 was introduced to disallow location property on target.
+# If CMake 3.0.0 is used, we use $<TARGET_FILE_DIR:tgt> to get the target location
+if (CMAKE_VERSION VERSION_GREATER 2.8.12)
+  macro(visp_copy_data file_cpp file_data)
+    get_filename_component(target ${file_cpp} NAME_WE)
+    #get_target_property(target_location ${target} LOCATION)
+    get_filename_component(target_location "${target_location}" PATH)
+    add_custom_command(
+      TARGET ${target}
+      POST_BUILD
+      #COMMAND ${CMAKE_COMMAND} -E copy "${file_data}" "${target_location}"
+      COMMAND ${CMAKE_COMMAND} -E copy "${file_data}" "$<TARGET_FILE_DIR:${target}>"
+    )
+  endmacro()
+else()
+  macro(visp_copy_data file_cpp file_data)
+    get_filename_component(target ${file_cpp} NAME_WE)
+    get_target_property(target_location ${target} LOCATION)
+    get_filename_component(target_location "${target_location}" PATH)
+    add_custom_command(
+      TARGET ${target}
+      POST_BUILD
+      COMMAND ${CMAKE_COMMAND} -E copy "${file_data}" "${target_location}"
+    )
+  endmacro()
+endif()
diff --git a/CMakeModules/VISPConfigVersion.cmake.in b/CMakeModules/VISPConfigVersion.cmake.in
new file mode 100644
index 0000000000000000000000000000000000000000..fd298708453860821eefc2500a5258f5304aa982
--- /dev/null
+++ b/CMakeModules/VISPConfigVersion.cmake.in
@@ -0,0 +1,31 @@
+# This is a basic version file for the Config-mode of find_package().
+# It is used by write_basic_package_version_file() as input file for configure_file()
+# to create a version-file which can be installed along a config.cmake file.
+#
+# The created file sets PACKAGE_VERSION_EXACT if the current version string and
+# the requested version string are exactly the same and it sets
+# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version.
+# The variable VISP_VERSION must be set before calling configure_file().
+
+set(PACKAGE_VERSION @VISP_VERSION@)
+
+# There is a bug in CMake (at least in 2.7.0) whereby calling "find_package(FOO)" within
+# "find_package(FOO)" results in the version being checked in the
+# second version no matter if it was set. To get around this, check
+# "PACKAGE_FIND_VERSION" and if empty set return variables to TRUE to
+# make CMake happy. Not the best solution, but it does the trick.
+if(NOT PACKAGE_FIND_VERSION)
+  set(PACKAGE_VERSION_COMPATIBLE TRUE)
+  set(PACKAGE_VERSION_EXACT TRUE)
+  return()
+endif()
+
+if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" )
+  set(PACKAGE_VERSION_COMPATIBLE FALSE)
+else()
+  set(PACKAGE_VERSION_COMPATIBLE TRUE)
+  if( "${PACKAGE_FIND_VERSION}" STREQUAL "${PACKAGE_VERSION}")
+    set(PACKAGE_VERSION_EXACT TRUE)
+  endif()
+endif()
+
diff --git a/CMakeModules/VISPDetectPlatform.cmake b/CMakeModules/VISPDetectPlatform.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..50ef61f9be7ad42089f98325bcc6c83bab59765d
--- /dev/null
+++ b/CMakeModules/VISPDetectPlatform.cmake
@@ -0,0 +1,41 @@
+# Similar code exist in VISPConfig.cmake
+
+if(NOT DEFINED VISP_STATIC)
+  # look for global setting
+  if(NOT DEFINED BUILD_SHARED_LIBS OR BUILD_SHARED_LIBS)
+    set(VISP_STATIC OFF)
+  else()
+    set(VISP_STATIC ON)
+  endif()
+endif()
+
+if(MSVC)
+  if(CMAKE_CL_64)
+    set(VISP_ARCH x64)
+  else()
+    set(VISP_ARCH x86)
+  endif()
+  if(MSVC_VERSION EQUAL 1400)
+    set(VISP_RUNTIME vc8)
+  elseif(MSVC_VERSION EQUAL 1500)
+    set(VISP_RUNTIME vc9)
+  elseif(MSVC_VERSION EQUAL 1600)
+    set(VISP_RUNTIME vc10)
+  elseif(MSVC_VERSION EQUAL 1700)
+    set(VISP_RUNTIME vc11)
+  elseif(MSVC_VERSION EQUAL 1800)
+    set(VISP_RUNTIME vc12)
+  endif()
+elseif(MINGW)
+  set(VISP_RUNTIME mingw)
+
+  execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpmachine
+                  OUTPUT_VARIABLE VISP_GCC_TARGET_MACHINE
+                  OUTPUT_STRIP_TRAILING_WHITESPACE)
+  if(VISP_GCC_TARGET_MACHINE MATCHES "64")
+    set(MINGW64 1)
+    set(VISP_ARCH x64)
+  else()
+    set(VISP_ARCH x86)
+  endif()
+endif()
diff --git a/CMakeModules/VISPExtraTargets.cmake b/CMakeModules/VISPExtraTargets.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..b1ff04568e7a7d0c7b2909161ac24c3358633bbd
--- /dev/null
+++ b/CMakeModules/VISPExtraTargets.cmake
@@ -0,0 +1,74 @@
+# ----------------------------------------------------------------------------
+#   Uninstall target, for "make uninstall"
+# ----------------------------------------------------------------------------
+configure_file(
+  "${VISP_CMAKE_MODULE_PATH}/cmake_uninstall.cmake.in"
+  "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
+  IMMEDIATE @ONLY)
+
+add_custom_target(uninstall
+  "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
+
+if(ENABLE_SOLUTION_FOLDERS)
+  set_target_properties(uninstall PROPERTIES FOLDER "CMakeTargets")
+endif()
+
+# ----------------------------------------------------------------------------
+#   Doxygen documentation target, for "make visp_doc" and "make html-doc" (to keep compat with previous versions)
+# ----------------------------------------------------------------------------
+if(DOXYGEN_FOUND)
+  add_custom_target(html-doc ${DOXYGEN_EXECUTABLE} ${VISP_DOC_DIR}/config-doxygen) # for compat with previous versions
+  add_custom_target(visp_doc ${DOXYGEN_EXECUTABLE} ${VISP_DOC_DIR}/config-doxygen)
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(visp_doc PROPERTIES FOLDER "extra")
+    set_target_properties(html-doc PROPERTIES FOLDER "extra")
+  endif()
+endif()
+
+# ----------------------------------------------------------------------------
+#   Tests target, for make visp_library
+# ----------------------------------------------------------------------------
+add_custom_target(visp_library)
+if(ENABLE_SOLUTION_FOLDERS)
+  set_target_properties(visp_library PROPERTIES FOLDER "extra")
+endif()
+
+# ----------------------------------------------------------------------------
+#   Tests target, for make visp_tests
+# ----------------------------------------------------------------------------
+if(BUILD_TESTS)
+  add_custom_target(visp_tests)
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(visp_tests PROPERTIES FOLDER "extra")
+  endif()
+endif()
+
+# ----------------------------------------------------------------------------
+#   Tests target, for make visp_examples
+# ----------------------------------------------------------------------------
+if(BUILD_EXAMPLES)
+  add_custom_target(visp_examples)
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(visp_examples PROPERTIES FOLDER "extra")
+  endif()
+endif()
+
+# ----------------------------------------------------------------------------
+#   Tests target, for make visp_demos
+# ----------------------------------------------------------------------------
+if(BUILD_DEMOS)
+  add_custom_target(visp_demos)
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(visp_demos PROPERTIES FOLDER "extra")
+  endif()
+endif()
+
+# ----------------------------------------------------------------------------
+#   Tests target, for make visp_tutorials
+# ----------------------------------------------------------------------------
+if(BUILD_TUTORIALS)
+  add_custom_target(visp_tutorials)
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(visp_tutorials PROPERTIES FOLDER "extra")
+  endif()
+endif()
diff --git a/CMakeModules/VISPGenerateConfig.cmake b/CMakeModules/VISPGenerateConfig.cmake
new file mode 100755
index 0000000000000000000000000000000000000000..d7d2ef502d1a1813ce8fd5249931f8688b770959
--- /dev/null
+++ b/CMakeModules/VISPGenerateConfig.cmake
@@ -0,0 +1,196 @@
+#############################################################################
+#
+# $Id: GenerateConfigt.cmake 4676 2014-02-17 22:08:37Z fspindle $
+#
+# This file is part of the ViSP software.
+# Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+# 
+# This software is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# ("GPL") version 2 as published by the Free Software Foundation.
+# See the file LICENSE.txt at the root directory of this source
+# distribution for additional information about the GNU GPL.
+#
+# For using ViSP with software that can not be combined with the GNU
+# GPL, please contact INRIA about acquiring a ViSP Professional 
+# Edition License.
+#
+# See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+# 
+# This software was developed at:
+# INRIA Rennes - Bretagne Atlantique
+# Campus Universitaire de Beaulieu
+# 35042 Rennes Cedex
+# France
+# http://www.irisa.fr/lagadic
+#
+# If you have questions regarding the use of this file, please contact
+# INRIA at visp@inria.fr
+# 
+# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Description:
+# This file generates the ViSPConfig.cmake file: 
+#  Part 1/3: ${BIN_DIR}/VISPConfig.cmake              -> For use *without* "make install"
+#  Part 2/3: ${BIN_DIR}/unix-install/VISPConfig.cmake -> For use with "make install"
+#  Part 3/3: ${BIN_DIR}/win-install/VISPConfig.cmake  -> For use within binary installers/packages
+#
+# Authors:
+# Fabien Spindler
+#
+#############################################################################
+
+# Macro that returns the relative path to go from a child folder to the parent folder
+# input: path_to_child
+# output: path_to_parent, the relative path to go from path_to_child to parent
+# example: if input =lib/x86_64-linux-gnu, then output=../..
+macro(get_path_to_parent path_to_child path_to_parent)
+  set(${path_to_parent} "")
+  set(input_ "${path_to_child}")
+  while(input_)
+    if(input_)
+      set(${path_to_parent} "${${path_to_parent}}../")
+    endif()
+    get_filename_component(input_ "${input_}" PATH)
+  endwhile(input_)
+endmacro()
+
+# Here we determine the relative path from ./${CMAKE_INSTALL_LIBDIR} to its parent folder
+# if CMAKE_INSTALL_LIBDIR=lib, then VISP_INSTALL_LIBDIR_TO_PARENT=../
+# if CMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu, then VISP_INSTALL_LIBDIR_TO_PARENT=../..
+get_path_to_parent(${CMAKE_INSTALL_LIBDIR} VISP_INSTALL_LIBDIR_TO_PARENT)
+
+# -------------------------------------------------------------------------------------------
+#  Part 1/3: ${BIN_DIR}/VISPConfig.cmake              -> For use *without* "make install"
+# -------------------------------------------------------------------------------------------
+
+# Export the library
+export(TARGETS ${VISP_INTERN_LIBRARY} FILE "${PROJECT_BINARY_DIR}/VISPTargets.cmake")
+
+# Update include dirs
+set(VISP_INCLUDE_DIRS_CONFIGCMAKE_ "${VISP_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}")
+list(APPEND VISP_INCLUDE_DIRS_CONFIGCMAKE_ ${VISP_EXTERN_INCLUDE_DIRS})
+set(VISP_INCLUDE_DIRS_CONFIGCMAKE "")
+foreach(val ${VISP_INCLUDE_DIRS_CONFIGCMAKE_})
+  set(VISP_INCLUDE_DIRS_CONFIGCMAKE "${VISP_INCLUDE_DIRS_CONFIGCMAKE} \"${val}\"")
+endforeach()
+#message("VISP_INCLUDE_DIRS_CONFIGCMAKE: ${VISP_INCLUDE_DIRS_CONFIGCMAKE}")
+
+configure_file(
+  ${VISP_CMAKE_MODULE_PATH}/VISPConfig.cmake.in
+  ${VISP_BINARY_DIR}/VISPConfig.cmake
+  IMMEDIATE @ONLY)
+
+configure_file(
+  ${VISP_CMAKE_MODULE_PATH}/VISPConfigVersion.cmake.in
+  ${VISP_BINARY_DIR}/VISPConfigVersion.cmake
+  IMMEDIATE @ONLY)
+
+configure_file(
+  ${VISP_CMAKE_MODULE_PATH}/VISPUse.cmake.in
+  ${VISP_BINARY_DIR}/VISPUse.cmake
+  IMMEDIATE @ONLY)
+
+# --------------------------------------------------------------------------------------------
+#  Part 2/3: ${BIN_DIR}/unix-install/VISPConfig.cmake -> For use *with* "make install"
+# -------------------------------------------------------------------------------------------
+
+if(UNIX)
+  set(VISP_INCLUDE_DIRS_CONFIGCMAKE_ "\${VISP_INSTALL_PATH}/${CMAKE_INSTALL_INCLUDEDIR}")
+  list(APPEND VISP_INCLUDE_DIRS_CONFIGCMAKE_ ${VISP_EXTERN_INCLUDE_DIRS})
+  set(VISP_INCLUDE_DIRS_CONFIGCMAKE "")
+  foreach(val ${VISP_INCLUDE_DIRS_CONFIGCMAKE_})
+    set(VISP_INCLUDE_DIRS_CONFIGCMAKE "${VISP_INCLUDE_DIRS_CONFIGCMAKE} \"${val}\"")
+  endforeach()
+  #message("VISP_INCLUDE_DIRS_CONFIGCMAKE: ${VISP_INCLUDE_DIRS_CONFIGCMAKE}")
+
+  configure_file(
+    ${VISP_CMAKE_MODULE_PATH}/VISPConfig.cmake.in
+    ${VISP_BINARY_DIR}/unix-install/VISPConfig.cmake
+    IMMEDIATE @ONLY)
+
+  configure_file(
+    ${VISP_CMAKE_MODULE_PATH}/VISPConfigVersion.cmake.in
+    ${VISP_BINARY_DIR}/unix-install/VISPConfigVersion.cmake
+    IMMEDIATE @ONLY)
+
+  configure_file(
+    ${VISP_CMAKE_MODULE_PATH}/VISPUse.cmake.in
+    ${VISP_BINARY_DIR}/unix-install/VISPUse.cmake
+    IMMEDIATE @ONLY)
+
+  configure_file(${VISP_SOURCE_DIR}/include/vpConfig.h.cmake
+    ${VISP_BINARY_DIR}/unix-install/vpConfig.h @ONLY)
+
+  install(FILES
+    ${VISP_BINARY_DIR}/unix-install/VISPConfig.cmake
+    ${VISP_BINARY_DIR}/unix-install/VISPConfigVersion.cmake
+    ${VISP_BINARY_DIR}/unix-install/VISPUse.cmake
+    DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/visp"
+    PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE
+    COMPONENT libraries)
+
+  # Install the export set for use with the install-tree
+  install(EXPORT VISPTargets
+    FILE VISPTargets.cmake
+    DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/visp"
+    COMPONENT libraries)
+endif()
+
+# --------------------------------------------------------------------------------------------
+#  Part 3/3: ${BIN_DIR}/win-install/VISPConfig.cmake  -> For use within binary installers/packages
+# --------------------------------------------------------------------------------------------
+if(WIN32)
+  set(VISP_INCLUDE_DIRS_CONFIGCMAKE_ "\${VISP_CONFIG_PATH}/${CMAKE_INSTALL_INCLUDEDIR}")
+  list(APPEND VISP_INCLUDE_DIRS_CONFIGCMAKE_ ${VISP_EXTERN_INCLUDE_DIRS})
+  set(VISP_INCLUDE_DIRS_CONFIGCMAKE "")
+  foreach(val ${VISP_INCLUDE_DIRS_CONFIGCMAKE_})
+    set(VISP_INCLUDE_DIRS_CONFIGCMAKE "${VISP_INCLUDE_DIRS_CONFIGCMAKE} \"${val}\"")
+  endforeach()
+  #message("VISP_INCLUDE_DIRS_CONFIGCMAKE: ${VISP_INCLUDE_DIRS_CONFIGCMAKE}")
+
+  configure_file(
+    ${VISP_CMAKE_MODULE_PATH}/VISPConfig.cmake.in
+    ${VISP_BINARY_DIR}/win-install/VISPConfig.cmake
+    IMMEDIATE @ONLY)
+
+  configure_file(
+    ${VISP_CMAKE_MODULE_PATH}/VISPConfigVersion.cmake.in
+    ${VISP_BINARY_DIR}/win-install/VISPConfigVersion.cmake
+    IMMEDIATE @ONLY)
+
+  configure_file(
+    ${VISP_CMAKE_MODULE_PATH}/VISPUse.cmake.in
+    ${VISP_BINARY_DIR}/win-install/VISPUse.cmake
+    IMMEDIATE @ONLY)
+
+  if(BUILD_SHARED_LIBS)
+    install(FILES
+      "${CMAKE_BINARY_DIR}/win-install/ViSPConfig.cmake"
+      "${CMAKE_BINARY_DIR}/win-install/ViSPUse.cmake"
+      DESTINATION "${VISP_INSTALL_BINARIES_PREFIX}${CMAKE_INSTALL_LIBDIR}"
+      COMPONENT libraries)
+    install(EXPORT VISPTargets 
+      DESTINATION "${VISP_INSTALL_BINARIES_PREFIX}${CMAKE_INSTALL_LIBDIR}"
+      FILE VISPTargets.cmake 
+      COMPONENT libraries)
+  else()
+    install(FILES
+      "${CMAKE_BINARY_DIR}/win-install/ViSPConfig.cmake"
+      "${CMAKE_BINARY_DIR}/win-install/ViSPUse.cmake"
+      DESTINATION "${VISP_INSTALL_BINARIES_PREFIX}static${CMAKE_INSTALL_LIBDIR}"
+      COMPONENT libraries)
+    install(EXPORT VISPTargets 
+      DESTINATION "${VISP_INSTALL_BINARIES_PREFIX}static${CMAKE_INSTALL_LIBDIR}"
+      FILE VISPTargets.cmake 
+      COMPONENT libraries)
+  endif()
+
+  install(FILES
+    "${VISP_CMAKE_MODULE_PATH}/VISPConfig.cmake"
+    "${VISP_BINARY_DIR}/win-install/VISPConfigVersion.cmake"
+    DESTINATION "${CMAKE_INSTALL_PREFIX}"
+    PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE
+    COMPONENT libraries)
+endif()
diff --git a/CMakeModules/VISPGeneratePkgConfigScript.cmake b/CMakeModules/VISPGeneratePkgConfigScript.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..f33c2b2cd99fb6c98ed17d710a38fbd2a7737a45
--- /dev/null
+++ b/CMakeModules/VISPGeneratePkgConfigScript.cmake
@@ -0,0 +1,332 @@
+#############################################################################
+#
+# $Id: VISPGeneratePkgConfigScript.cmake 5314 2015-02-12 08:32:30Z fspindle $
+#
+# This file is part of the ViSP software.
+# Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+# 
+# This software is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# ("GPL") version 2 as published by the Free Software Foundation.
+# See the file LICENSE.txt at the root directory of this source
+# distribution for additional information about the GNU GPL.
+#
+# For using ViSP with software that can not be combined with the GNU
+# GPL, please contact INRIA about acquiring a ViSP Professional 
+# Edition License.
+#
+# See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+# 
+# This software was developed at:
+# INRIA Rennes - Bretagne Atlantique
+# Campus Universitaire de Beaulieu
+# 35042 Rennes Cedex
+# France
+# http://www.irisa.fr/lagadic
+#
+# If you have questions regarding the use of this file, please contact
+# INRIA at visp@inria.fr
+# 
+# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Description:
+# This file generates the ViSP library config shell scripts: 
+# - visp-config in <build dir>/bin from visp-config.in
+# - visp-config in <build dir>/install from visp-config.install.in
+#   When make install, this file is copied in <install dir>/bin
+# - visp.pc in <build dir>/install from visp.pc.in
+#   When make install, this file is copied in <install dir>/lib/pkgconfig
+#
+# Authors:
+# Fabien Spindler
+#
+#############################################################################
+
+
+if (UNIX)
+  #######################################################################
+  #
+  # for Unix platforms: Linux, OSX
+  #
+  ####################################################################### 
+  set(FILE_VISP_CONFIG_SCRIPT_IN "${VISP_SOURCE_DIR}/CMakeModules/visp-config.in")
+  set(FILE_VISP_CONFIG_SCRIPT    "${BINARY_OUTPUT_PATH}/visp-config")
+
+  set(FILE_VISP_CONFIG_SCRIPT_INSTALL_IN "${VISP_SOURCE_DIR}/CMakeModules/visp-config.install.in")
+  set(FILE_VISP_CONFIG_SCRIPT_INSTALL    "${VISP_BINARY_DIR}/unix-install/visp-config")
+  
+  set(FILE_VISP_CONFIG_PC_INSTALL_IN "${VISP_SOURCE_DIR}/CMakeModules/visp.pc.in")
+  set(FILE_VISP_CONFIG_PC_INSTALL    "${VISP_BINARY_DIR}/unix-install/visp.pc")
+
+  #---------------------------------------------------------------------
+  # Updates VISP_CONFIG_SCRIPT_PREFIX
+  #----------------------------------------------------------------------
+  set(VISP_CONFIG_SCRIPT_PREFIX "${CMAKE_INSTALL_PREFIX}")
+ 
+  #---------------------------------------------------------------------
+  # Updates VISP_CONFIG_CFLAGS
+  #----------------------------------------------------------------------
+  foreach(INCDIR ${VISP_EXTERN_INCLUDE_DIRS})
+    list(APPEND VISP_CONFIG_CFLAGS "-I${INCDIR}")
+  endforeach()
+
+  # Suppress twins
+  if(VISP_CONFIG_CFLAGS)
+    list(REMOVE_DUPLICATES VISP_CONFIG_CFLAGS)
+  endif()
+
+  # Format the string to suppress CMake separators ";"
+  set(VISP_CONFIG_CFLAGS_REFORMATED "")
+  foreach(element ${VISP_CONFIG_CFLAGS})
+    set(VISP_CONFIG_CFLAGS_REFORMATED "${VISP_CONFIG_CFLAGS_REFORMATED} ${element}")
+  endforeach()
+  set(VISP_CONFIG_CFLAGS ${VISP_CONFIG_CFLAGS_REFORMATED})
+#  message(": ${VISP_CONFIG_CFLAGS}")
+
+  if(BUILD_TEST_COVERAGE)
+    # Add build options for test coverage. Currently coverage is only supported
+    # on gcc compiler 
+    # Because using -fprofile-arcs with shared lib can cause problems like:
+    # hidden symbol `__bb_init_func', we add this option only for static 
+    # library build
+    set(VISP_CONFIG_CFLAGS "${VISP_CONFIG_CFLAGS} -ftest-coverage -fprofile-arcs")
+  endif()
+
+  #---------------------------------------------------------------------
+  # Updates VISP_CONFIG_LIBS
+  #
+  # add "-l" to library names
+  # skip *.so, *.a, *.dylib, -framework*, -l*
+  #
+  #----------------------------------------------------------------------
+
+  # need to be improved
+  if(POLICY CMP0026)
+    cmake_policy(PUSH)
+    cmake_policy(SET CMP0026 OLD)
+    get_target_property(visp_libpath ${VISP_INTERN_LIBRARY} LOCATION_Release)
+    cmake_policy(POP)
+  else()
+    get_target_property(visp_libpath ${VISP_INTERN_LIBRARY} LOCATION_Release)
+  endif()
+  #message("ViSP libpath: ${vip_libpath}")
+  get_filename_component(visp_libname "${visp_libpath}" NAME)
+
+  #message("ViSP libname: ${visp_libname}")
+  # Manage the libs	
+  list(REMOVE_ITEM VISP_EXTERN_LIBRARIES "debug")
+  list(REMOVE_ITEM VISP_EXTERN_LIBRARIES "optimized")
+  set(TMP_LIBS)
+  foreach(lib ${VISP_EXTERN_LIBRARIES})
+    if("${lib}" MATCHES "[-][f][r][a][m][e][w][o][r][k]+.")
+      # does nothing
+      list(APPEND TMP_LIBS ${lib})
+    elseif("${lib}" MATCHES ".[.][f][r][a][m][e][w][o][r][k]+$")
+      # replace /path/name.framework by -framework name
+      get_filename_component(FRAMEWORK ${lib} NAME_WE)
+      #message("add -framework ${FRAMEWORK}")
+      list(APPEND TMP_LIBS "-framework ${FRAMEWORK}")
+    elseif("${lib}" MATCHES ".[.][s][o]+$" OR "${lib}" MATCHES ".[.][a]+$")
+      list(APPEND TMP_LIBS ${lib})
+    elseif("${lib}" MATCHES ".[.][s][o][.][0123456789]+$")
+      # does nothing
+      list(APPEND TMP_LIBS ${lib})
+    elseif("${lib}" MATCHES ".[.][s][o][.][0123456789]*[.][0123456789]+$")
+      # does nothing
+      list(APPEND TMP_LIBS ${lib})
+    elseif("${lib}" MATCHES ".[.][s][o][.][0123456789]*[.][0123456789]*[.][0123456789]+$")
+      # does nothing
+      list(APPEND TMP_LIBS ${lib})
+    elseif("${lib}" MATCHES ".[.][d][y][l][i][b]+$")
+      # does nothing
+      list(APPEND TMP_LIBS ${lib})
+    elseif("${lib}" MATCHES "^(-l)")
+      # does nothing
+      list(APPEND TMP_LIBS ${lib})
+    else()
+      # add -l prefix
+      #MESSAGE("add -l${lib}")
+      list(APPEND TMP_LIBS "${lib}")
+    endif()
+  endforeach()
+
+  foreach(val ${TMP_LIBS})
+     set(VISP_CONFIG_LIBS "${VISP_CONFIG_LIBS} ${val}")
+  endforeach(val)
+ 
+  #---------------------------------------------------------------------
+  # Updates the <build dir>/bin/visp-config shell script
+  # Updates VISP_CONFIG_LIBS_SCRIPT (for visp-config)
+  # Updates VISP_CONFIG_CFLAGS_SCRIPT (for visp-config)
+  #----------------------------------------------------------------------
+
+  # prepend with ViSP own include dir
+  set(VISP_CONFIG_CFLAGS_SCRIPT "-I$PREFIX/${CMAKE_INSTALL_INCLUDEDIR} ${VISP_CONFIG_CFLAGS}")
+
+  # prepend with ViSP own lib
+  set(VISP_CONFIG_LIBS_SCRIPT  "$PREFIX/${CMAKE_INSTALL_LIBDIR}/${visp_libname} ${VISP_CONFIG_LIBS}")
+
+  set(VISP_ECHO_NO_NEWLINE_CHARACTER "")
+  set(VISP_ECHO_NO_NEWLINE_OPTION "")
+  if(APPLE)
+    set(VISP_ECHO_NO_NEWLINE_CHARACTER "\\c")
+  else()
+    set(VISP_ECHO_NO_NEWLINE_OPTION "-n")
+  endif()
+
+  configure_file(${FILE_VISP_CONFIG_SCRIPT_IN} ${FILE_VISP_CONFIG_SCRIPT})
+
+  #---------------------------------------------------------------------
+  # Updates the <build dir>/install/visp-config shell script
+  #----------------------------------------------------------------------
+
+  configure_file(${FILE_VISP_CONFIG_SCRIPT_INSTALL_IN} ${FILE_VISP_CONFIG_SCRIPT_INSTALL})
+
+  #---------------------------------------------------------------------
+  # Updates the <build dir>/install/visp.pc pkg-config file
+  # Updates VISP_CONFIG_CFLAGS_PC (for libvisp.pc used by pkg-config)
+  # Updates VISP_CONFIG_LIBS_PC (for libvisp.pc used by pkg-config)
+  #----------------------------------------------------------------------
+  set(exec_prefix "\${prefix}")
+  set(includedir  "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
+  set(libdir  "\${prefix}/${CMAKE_INSTALL_LIBDIR}")
+ 
+  # prepend with ViSP own include dir
+  set(VISP_CONFIG_CFLAGS_PC "-I\${includedir} ${VISP_CONFIG_CFLAGS}")
+
+  # prepend with ViSP own lib dir and append -L<lib dir>
+  set(VISP_CONFIG_LIBS_PC  "\${libdir}/${visp_libname} ${VISP_CONFIG_LIBS}")
+  configure_file(${FILE_VISP_CONFIG_PC_INSTALL_IN} ${FILE_VISP_CONFIG_PC_INSTALL})
+
+else(UNIX)
+  #######################################################################
+  #
+  # for windows platforms
+  #
+  ####################################################################### 
+  set(FILE_VISP_CONFIG_SCRIPT_IN "${VISP_SOURCE_DIR}/CMakeModules/visp-config.bat.in")
+  set(FILE_VISP_CONFIG_SCRIPT    "${BINARY_OUTPUT_PATH}/visp-config.bat")
+    
+  set(FILE_VISP_CONFIG_SCRIPT_INSTALL_IN "${VISP_SOURCE_DIR}/CMakeModules/visp-config.bat.in")
+  set(FILE_VISP_CONFIG_SCRIPT_INSTALL    "${VISP_BINARY_DIR}/win-install/visp-config-${VISP_ARCH}-${VISP_RUNTIME}.bat")
+
+  #---------------------------------------------------------------------
+  # Updates VISP_CONFIG_SCRIPT_PREFIX
+  #----------------------------------------------------------------------
+  set(VISP_CONFIG_SCRIPT_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+  #---------------------------------------------------------------------
+  # Updates VISP_CONFIG_SCRIPT_DEF
+  #----------------------------------------------------------------------
+  set(VISP_CONFIG_SCRIPT_DEFS "")
+  set(VISP_OPENMP_SUPPORT "no")
+  if(NOT ${VISP_OPENMP_FLAGS} STREQUAL "")
+    set(VISP_CONFIG_SCRIPT_DEFS "${VISP_OPENMP_FLAGS}")
+    set(VISP_OPENMP_SUPPORT "yes")
+  endif()
+  if(NOT ${VISP_CPP11_FLAGS} STREQUAL "")
+    set(VISP_CONFIG_SCRIPT_DEFS "${VISP_CPP11_FLAGS}, ${VISP_CONFIG_SCRIPT_DEFS}")
+  endif()
+
+  #---------------------------------------------------------------------
+  # Updates VISP_CONFIG_SCRIPT_INCLUDE
+  #----------------------------------------------------------------------
+  list(APPEND VISP_EXTERN_INCLUDE_DIRS "%PREFIX%/${CMAKE_INSTALL_INCLUDEDIR}")
+  list(REMOVE_DUPLICATES VISP_EXTERN_INCLUDE_DIRS)
+
+  # Format the string
+  set(VISP_CONFIG_SCRIPT_INC ${VISP_EXTERN_INCLUDE_DIRS})
+  #message(VISP_CONFIG_SCRIPT_INC ${VISP_CONFIG_SCRIPT_INC})
+
+  #---------------------------------------------------------------------
+  # Updates VISP_CONFIG_SCRIPT_LIBDIR
+  # 1/ For usage with the build tree
+  # 2/ For usage with the install tree
+  #
+  # and updates VISP_CONFIG_SCRIPT_LIBS_${config}
+  #----------------------------------------------------------------------
+  set(TMP_SCRIPT_LIBS_DEBUG "${VISP_INTERN_LIBRARY}${VISP_DLLVERSION}${VISP_DEBUG_POSTFIX}.lib")
+  set(TMP_SCRIPT_LIBS_OPTIMIZED "${VISP_INTERN_LIBRARY}${VISP_DLLVERSION}.lib")
+
+  #MESSAGE(VISP_EXTERN_LIBRARIES: ${VISP_EXTERN_LIBRARIES})
+  set(TMP_IS_DEBUG FALSE)
+  set(TMP_IS_OPTIMIZED FALSE)
+  foreach(lib ${VISP_EXTERN_LIBRARIES})
+    if("${lib}" MATCHES "[d][e][b][u][g]")
+      set(TMP_IS_DEBUG TRUE)
+    elseif("${lib}" MATCHES "[o][p][t][i][m][i][z][e][d]")
+      set(TMP_IS_OPTIMIZED TRUE)
+    else()
+      # Get the library name
+      get_filename_component(libname ${lib} NAME)
+      if("${libname}" MATCHES ".+[.][l][i][b]" OR "${libname}" MATCHES ".+[.][L][i][b]")
+        #MESSAGE("${libname} matches .lib or .Lib")
+      else()
+        # We need to add .lib suffix
+        #MESSAGE("For ${libname} we add .lib suffix")
+        set(libname "${libname}.lib")
+      endif()
+
+      # Get the library path
+      get_filename_component(libpath ${lib} PATH)
+      list(APPEND VISP_CONFIG_SCRIPT_LIBDIR_ "${libpath}")
+      
+      if(TMP_IS_DEBUG)
+        set(TMP_IS_DEBUG FALSE)
+        list(APPEND TMP_SCRIPT_LIBS_DEBUG ${libname})
+      elseif(TMP_IS_OPTIMIZED)
+        set(TMP_IS_OPTIMIZED FALSE)
+        list(APPEND TMP_SCRIPT_LIBS_OPTIMIZED ${libname})
+      else()
+        list(APPEND TMP_SCRIPT_LIBS_DEBUG ${libname})
+        list(APPEND TMP_SCRIPT_LIBS_OPTIMIZED ${libname})
+      endif()
+    endif()
+  endforeach(lib)
+
+  # Format the string
+  set(VISP_CONFIG_SCRIPT_LIBS_DEBUG "${TMP_SCRIPT_LIBS_DEBUG}")
+  set(VISP_CONFIG_SCRIPT_LIBS_OPTIMIZED "${TMP_SCRIPT_LIBS_OPTIMIZED}")
+
+  # Format the string
+  string(REGEX REPLACE "lib/Release" "lib/$(ConfigurationName)" VISP_CONFIG_SCRIPT_LIBDIR_ "${VISP_CONFIG_SCRIPT_LIBDIR_}")
+  string(REGEX REPLACE "lib/Debug" "lib/$(ConfigurationName)" VISP_CONFIG_SCRIPT_LIBDIR_ "${VISP_CONFIG_SCRIPT_LIBDIR_}")
+
+  # 1/ For usage with the build tree
+  set(VISP_CONFIG_SCRIPT_LIBDIR "%PREFIX%/lib")
+  list(APPEND VISP_CONFIG_SCRIPT_LIBDIR "%PREFIX%/lib/$(ConfigurationName)")
+  list(APPEND VISP_CONFIG_SCRIPT_LIBDIR ${VISP_CONFIG_SCRIPT_LIBDIR_})
+  list(REMOVE_DUPLICATES VISP_CONFIG_SCRIPT_LIBDIR)
+  configure_file(${FILE_VISP_CONFIG_SCRIPT_IN} ${FILE_VISP_CONFIG_SCRIPT})
+
+  # 2/ For usage with the install tree
+  set(VISP_CONFIG_SCRIPT_LIBDIR "%PREFIX%/${VISP_ARCH}/${VISP_RUNTIME}/lib")
+  list(APPEND VISP_CONFIG_SCRIPT_LIBDIR ${VISP_CONFIG_SCRIPT_LIBDIR_})
+  list(REMOVE_DUPLICATES VISP_CONFIG_SCRIPT_LIBDIR)
+  configure_file(${FILE_VISP_CONFIG_SCRIPT_INSTALL_IN} ${FILE_VISP_CONFIG_SCRIPT_INSTALL})
+endif(UNIX)
+
+#----------------------------------------------------------------------
+# customize install target
+#----------------------------------------------------------------------
+# install rule for visp-config shell script
+install(FILES ${FILE_VISP_CONFIG_SCRIPT_INSTALL}
+  DESTINATION ${CMAKE_INSTALL_BINDIR}
+  PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
+  OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE
+  OWNER_WRITE
+  COMPONENT libraries)
+    
+# install rule for visp.pc pkg-config file
+if(UNIX)
+  install(FILES ${FILE_VISP_CONFIG_PC_INSTALL}
+    DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
+    PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
+    OWNER_WRITE
+    COMPONENT libraries)
+else()
+  # not implemented yet
+endif()
+
+
diff --git a/CMakeModules/VISPUse.cmake.in b/CMakeModules/VISPUse.cmake.in
index aeeaa405564181411e33c3c3eee4b34af523433b..36ab38f845875325b47193bdc934166d72da0f3a 100644
--- a/CMakeModules/VISPUse.cmake.in
+++ b/CMakeModules/VISPUse.cmake.in
@@ -38,21 +38,12 @@
 #
 #############################################################################
 
-# Remove duplicates compilation flags
-separate_arguments(CMAKE_CXX_FLAGS)
-list(REMOVE_DUPLICATES CMAKE_CXX_FLAGS)
-string(REPLACE ";" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" CACHE STRING "common C++ build flags" FORCE)
 
 # Tell the compiler where to find ViSP's header files
 # and the third party headers we depend on
-INCLUDE_DIRECTORIES(${VISP_INCLUDE_DIRS})
-
-# Add the required definitions
-ADD_DEFINITIONS(${VISP_DEFINITIONS}) 
+include_directories(${VISP_INCLUDE_DIRS})
 
 # Tell the compiler where to find ViSP's libraries
 # and the third party libraries we depend on
-LINK_DIRECTORIES(${VISP_LIBRARY_DIRS})
-LINK_LIBRARIES(${VISP_LIBRARIES})
+link_libraries(${VISP_LIBRARIES})
 
diff --git a/CMakeModules/resources.cfg.in b/CMakeModules/resources.cfg.in
old mode 100755
new mode 100644
index 64f2524579d1f88fbccbf6799e923fb487f2c3d3..dc38028ea60fa14b05af69e1fc4cb1e653ac133d
--- a/CMakeModules/resources.cfg.in
+++ b/CMakeModules/resources.cfg.in
@@ -5,7 +5,7 @@
 # Resource locations to be added to the default path
 [General]
 FileSystem=@OGRE_MEDIA_DIR@
-#FileSystem=@OGRE_MEDIA_DIR@/materials/programs
+@OGRE_COMMENT_LINE@FileSystem=@OGRE_MEDIA_DIR@/materials/programs
 FileSystem=@OGRE_MEDIA_DIR@/materials/scripts
 FileSystem=@OGRE_MEDIA_DIR@/materials/textures
 FileSystem=@OGRE_MEDIA_DIR@/models
diff --git a/CMakeModules/visp-config.bat.in b/CMakeModules/visp-config.bat.in
index 62209e74f1b365a2a328ea14effd10b0def22c93..6c8167a2a1ea6010bba084da04fde55912679198 100755
--- a/CMakeModules/visp-config.bat.in
+++ b/CMakeModules/visp-config.bat.in
@@ -1,6 +1,6 @@
 @rem #############################################################################
 @rem #
-@rem # $Id: visp-config.bat.in 4574 2014-01-09 08:48:51Z fspindle $
+@rem # $Id: visp-config.bat.in 4961 2014-11-14 13:06:26Z fspindle $
 @rem #
 @rem # This file is part of the ViSP software.
 @rem # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -55,11 +55,11 @@ set VERSION=${VISP_VERSION}
 
 set DEFS=${VISP_CONFIG_SCRIPT_DEFS}
 
-set INCLUDE=${VISP_CONFIG_SCRIPT_INC}
+set INCLUDE="${VISP_CONFIG_SCRIPT_INC}"
 
 set OPENMP_SUPPORT=${VISP_OPENMP_SUPPORT}
 
-set LIBDIR=${VISP_CONFIG_SCRIPT_LIBDIR}
+set LIBDIR="${VISP_CONFIG_SCRIPT_LIBDIR}"
 
 set LIBS_DEBUG=${VISP_CONFIG_SCRIPT_LIBS_DEBUG}
 
diff --git a/CMakeModules/visp-config.in b/CMakeModules/visp-config.in
index 317c434b233e9ee72aa848473aafe3284bd8f4dc..8f11a5a85aa1a134c37ab5647fadc10807931c44 100755
--- a/CMakeModules/visp-config.in
+++ b/CMakeModules/visp-config.in
@@ -2,7 +2,7 @@
 
 #############################################################################
 #
-# $Id: visp-config.in 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: visp-config.in 5043 2014-12-08 16:14:15Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -80,7 +80,7 @@ EOF
 
 if ! test "$1"; then
     usage;
-    exit -1;
+    exit 0;
 fi;
 
 for arg in $@; do
@@ -93,7 +93,7 @@ for arg in $@; do
 	    echo ""
 	    echo "Copyright (C) 2005 - 2014 Inria. All rights reserved.";;
 	--dumpversion) echo $NO_NEWLINE_OPTION "$VERSION$NO_NEWLINE_CHARACTER";;
-	*) usage; exit -1 ;;
+        *) usage; exit 0 ;;
     esac;
 done;
 echo ""
diff --git a/CMakeModules/visp-config.install.in b/CMakeModules/visp-config.install.in
index 0376f5772dfaedb57bec78400f86b7ce9afc77ac..6bd8a10344adaff748c8eb8d7f9016fa67d452ef 100755
--- a/CMakeModules/visp-config.install.in
+++ b/CMakeModules/visp-config.install.in
@@ -48,12 +48,6 @@ relpath=`(cd $relpath/..; pwd)`
 
 PREFIX=$relpath
 
-#CFLAGS="${VISP_CONFIG_CFLAGS_SCRIPT}"
-
-#LIBS="${VISP_CONFIG_LIBS_SCRIPT}"
-
-#VERSION="${VISP_VERSION}"
-
 CFLAGS_CMD=`pkg-config --cflags visp`
 CFLAGS=$CFLAGS_CMD
 
@@ -90,7 +84,7 @@ EOF
 
 if ! test "$1"; then
     usage;
-    exit -1;
+    exit 0;
 fi;
 
 for arg in $@; do
@@ -103,7 +97,7 @@ for arg in $@; do
 	    echo ""
 	    echo "Copyright (C) 2005 - 2014 Inria. All rights reserved.";;
 	--dumpversion) echo $NO_NEWLINE_OPTION "$VERSION$NO_NEWLINE_CHARACTER";;
-	*) usage; exit -1 ;;
+        *) usage; exit 0 ;;
     esac;
 done;
 echo ""
diff --git a/CMakeSourceFileList.cmake b/CMakeSourceFileList.cmake
index c7734ee463f14816a8c55884658c53d4a75ef214..ec9a60af2e28a6e1930f9696e98a21a53180e922 100644
--- a/CMakeSourceFileList.cmake
+++ b/CMakeSourceFileList.cmake
@@ -73,6 +73,14 @@ SET (SRC_COMPUTER_VISION
   computer-vision/pose-estimation/vpPoseVirtualVisualServoing.cpp
   )
 
+if(VISP_HAVE_ZBAR)
+  list(APPEND SRC_DETECTION detection/barcode/vpDetectorQRCode.cpp)
+endif()
+
+if(VISP_HAVE_DMTX)
+  list(APPEND SRC_DETECTION detection/barcode/vpDetectorDataMatrixCode.cpp)
+endif()
+
 SET (SRC_EXCEPTION
   exceptions/vpException.cpp
   )
@@ -114,12 +122,17 @@ SET (SRC_KEY_POINT
   key-point/vpBasicKeyPoint.cpp
   )
 
-IF(VISP_HAVE_OPENCV_NONFREE)
-  LIST(APPEND SRC_KEY_POINT key-point/vpKeyPointSurf.cpp)
-ENDIF()
-IF(VISP_HAVE_OPENCV)
-  LIST(APPEND SRC_KEY_POINT key-point/vpPlanarObjectDetector.cpp)
-  LIST(APPEND SRC_KEY_POINT key-point/vpFernClassifier.cpp)
+if(VISP_HAVE_OPENCV_NONFREE AND OpenCV_VERSION VERSION_LESS 3.0.0)
+  list(APPEND SRC_KEY_POINT key-point/vpKeyPointSurf.cpp)
+endif()
+if(VISP_HAVE_OPENCV)
+  list(APPEND SRC_KEY_POINT key-point/vpPlanarObjectDetector.cpp)
+  list(APPEND SRC_KEY_POINT key-point/vpFernClassifier.cpp)
+  list (APPEND SRC_KEY_POINT key-point/vpKeyPoint.cpp)
+endif()
+
+IF(VISP_HAVE_XML2)
+  LIST(APPEND SRC_KEY_POINT key-point/vpXmlConfigParserKeyPoint.cpp)
 ENDIF()
 
 IF(VISP_HAVE_LIBFREENECT_AND_DEPENDENCIES)
@@ -177,6 +190,10 @@ IF(VISP_HAVE_LAPACK)
   LIST(APPEND SRC_MATH math/matrix/vpMatrix_cholesky.cpp)
 ENDIF()
 
+IF(VISP_HAVE_XML2)
+  LIST(APPEND SRC_MATH math/transformation/vpXmlParserHomogeneousMatrix.cpp)
+ENDIF()
+
 SET (SRC_ROBOT
   robot/robot/vpRobot.cpp
   robot/robot/vpRobotTemplate.cpp
@@ -236,23 +253,23 @@ SET (SRC_SERVO
 SET (SRC_SIMULATOR
   simulator/image-simulator/vpImageSimulator.cpp
   simulator/wireframe-simulator/vpWireFrameSimulator.cpp
-  simulator/wireframe-simulator/core/vpArit.c
-  simulator/wireframe-simulator/core/vpAritio.c
-  simulator/wireframe-simulator/core/vpBound.c
-  simulator/wireframe-simulator/core/vpBoundio.c
-  simulator/wireframe-simulator/core/vpClipping.c
-  simulator/wireframe-simulator/core/vpDisplay.c
-  simulator/wireframe-simulator/core/vpKeyword.c
-  simulator/wireframe-simulator/core/vpLex.c
-  simulator/wireframe-simulator/core/vpMyio.c
-  simulator/wireframe-simulator/core/vpParser.c
-  simulator/wireframe-simulator/core/vpProjection.c
-  simulator/wireframe-simulator/core/vpRfstack.c
-  simulator/wireframe-simulator/core/vpSkipio.c
-  simulator/wireframe-simulator/core/vpTmstack.c
-  simulator/wireframe-simulator/core/vpToken.c
-  simulator/wireframe-simulator/core/vpViewio.c
-  simulator/wireframe-simulator/core/vpVwstack.c
+  simulator/wireframe-simulator/core/vpArit.cpp
+  simulator/wireframe-simulator/core/vpAritio.cpp
+  simulator/wireframe-simulator/core/vpBound.cpp
+  simulator/wireframe-simulator/core/vpBoundio.cpp
+  simulator/wireframe-simulator/core/vpClipping.cpp
+  simulator/wireframe-simulator/core/vpCoreDisplay.cpp
+  simulator/wireframe-simulator/core/vpKeyword.cpp
+  simulator/wireframe-simulator/core/vpLex.cpp
+  simulator/wireframe-simulator/core/vpMyio.cpp
+  simulator/wireframe-simulator/core/vpParser.cpp
+  simulator/wireframe-simulator/core/vpProjection.cpp
+  simulator/wireframe-simulator/core/vpRfstack.cpp
+  simulator/wireframe-simulator/core/vpSkipio.cpp
+  simulator/wireframe-simulator/core/vpTmstack.cpp
+  simulator/wireframe-simulator/core/vpToken.cpp
+  simulator/wireframe-simulator/core/vpViewio.cpp
+  simulator/wireframe-simulator/core/vpVwstack.cpp
   )
 IF(VISP_HAVE_X11 OR VISP_HAVE_GDI OR VISP_HAVE_OPENCV OR VISP_HAVE_D3D9 OR VISP_HAVE_GTK)
   list(APPEND SRC_SIMULATOR simulator/coin-simulator/vpProjectionDisplay.cpp)
@@ -267,6 +284,7 @@ IF(VISP_HAVE_OGRE)
 ENDIF()
 
 SET (SRC_TOOLS
+  tools/convert/vpConvert.cpp
   tools/geometry/vpPlane.cpp
   tools/geometry/vpRect.cpp
   tools/geometry/vpTriangle.cpp
@@ -318,10 +336,12 @@ SET (SRC_TRACKING
   tracking/moving-edges/vpMeNurbs.cpp
 
   tracking/mbt/vpMbTracker.cpp
+  tracking/mbt/vpMbtPolygon.cpp
   tracking/mbt/edge/vpMbEdgeTracker.cpp
+  tracking/mbt/edge/vpMbtDistanceCircle.cpp
   tracking/mbt/edge/vpMbtDistanceCylinder.cpp
   tracking/mbt/edge/vpMbtDistanceLine.cpp
-  tracking/mbt/edge/vpMbtPolygon.cpp
+  tracking/mbt/edge/vpMbtMeEllipse.cpp
   tracking/mbt/edge/vpMbtMeLine.cpp
 
   tracking/moments/vpMoment.cpp
@@ -364,12 +384,13 @@ if(VISP_HAVE_XML2)
   list(APPEND SRC_TRACKING tracking/mbt/hybrid/vpMbtEdgeKltXmlParser.cpp)
 endif()
 
-IF(VISP_HAVE_OPENCV)
-  LIST(APPEND SRC_TRACKING tracking/klt/vpKltOpencv.cpp)
-  LIST(APPEND SRC_TRACKING tracking/mbt/hybrid/vpMbEdgeKltTracker.cpp)
-  LIST(APPEND SRC_TRACKING tracking/mbt/klt/vpMbtKltPolygon.cpp)
-  LIST(APPEND SRC_TRACKING tracking/mbt/klt/vpMbKltTracker.cpp)
-ENDIF()
+if(VISP_HAVE_OPENCV)
+  list(APPEND SRC_TRACKING detection/face/vpDetectorFace.cpp)
+  list(APPEND SRC_TRACKING tracking/klt/vpKltOpencv.cpp)
+  list(APPEND SRC_TRACKING tracking/mbt/hybrid/vpMbEdgeKltTracker.cpp)
+  list(APPEND SRC_TRACKING tracking/mbt/klt/vpMbtDistanceKltPoints.cpp)
+  list(APPEND SRC_TRACKING tracking/mbt/klt/vpMbKltTracker.cpp)
+endif()
 
 SET (SRC_VIDEO
   video/vpVideoReader.cpp
@@ -447,6 +468,7 @@ SET (SRC_ALL
   ${SRC_CAMERA}
   ${SRC_COMPUTER_VISION}
   ${SRC_EXCEPTION}
+  ${SRC_DETECTION}
   ${SRC_DEVICE_DISPLAY}
   ${SRC_DEVICE_FRAMEGRABBER}
   ${SRC_DEVICE_KINECT}
diff --git a/CTestConfig.cmake b/CTestConfig.cmake
index 5496d5485b57b76b5f11d571af62dfc81fc867bc..e35b40d7588b85ea2f73f424274d8adf44b3c265 100644
--- a/CTestConfig.cmake
+++ b/CTestConfig.cmake
@@ -59,6 +59,13 @@ ELSE(BUILDNAME)
   SET(BUILDNAME "${CMAKE_SYSTEM_NAME}")
 ENDIF(BUILDNAME)
 
+# Add i386 or amd64
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+  set(BUILDNAME "${BUILDNAME}-amd64")
+else()
+  set(BUILDNAME "${BUILDNAME}-i386")
+endif()
+
 # Add the compiler name, e.g. "g++, msvc7..."
 if(MSVC70)
   set(BUILDNAME "${BUILDNAME}-msvc70")
@@ -102,9 +109,9 @@ ENDIF(CMAKE_COMPILER_IS_GNUCC)
 
 # Add the type of library generation, e.g. "Dynamic or Static"
 IF(BUILD_SHARED_LIBS)
-  SET(BUILDNAME "${BUILDNAME}-Dynamic")
+  SET(BUILDNAME "${BUILDNAME}-Dyn")
 ELSE(BUILD_SHARED_LIBS)
-  SET(BUILDNAME "${BUILDNAME}-Static")
+  SET(BUILDNAME "${BUILDNAME}-Sta")
 ENDIF(BUILD_SHARED_LIBS)
 
 # Add the build type, e.g. "Debug, Release..."
@@ -141,7 +148,7 @@ endif()
 #---- Framegrabers ----
 # Firewire dc1394-2.x 
 IF(VISP_HAVE_DC1394_2)
-  SET(BUILDNAME "${BUILDNAME}-dc1394.2")
+  SET(BUILDNAME "${BUILDNAME}-dc1394")
 ENDIF(VISP_HAVE_DC1394_2)
 # Video 4 linux 2 (V4L2)
 IF(VISP_HAVE_V4L2)
@@ -149,7 +156,7 @@ IF(VISP_HAVE_V4L2)
 ENDIF(VISP_HAVE_V4L2)
 # Directshow
 IF(VISP_HAVE_DIRECTSHOW)
-  SET(BUILDNAME "${BUILDNAME}-Directshow")
+  SET(BUILDNAME "${BUILDNAME}-dshow")
 ENDIF(VISP_HAVE_DIRECTSHOW)
 IF(VISP_HAVE_CMU1394)
   SET(BUILDNAME "${BUILDNAME}-CMU1394")
@@ -158,10 +165,9 @@ IF(VISP_HAVE_LIBFREENECT)
   SET(BUILDNAME "${BUILDNAME}-freenect")
 ENDIF()
 IF(VISP_HAVE_LIBUSB_1)
-  SET(BUILDNAME "${BUILDNAME}-usb1")
+  SET(BUILDNAME "${BUILDNAME}-usb")
 ENDIF()
 
-
 #---- Video-devices ----
 # X11
 IF(VISP_HAVE_X11)
@@ -180,9 +186,17 @@ IF(VISP_HAVE_D3D9)
   SET(BUILDNAME "${BUILDNAME}-Direct3D")
 ENDIF(VISP_HAVE_D3D9)
 # OpenCV
-IF(VISP_HAVE_OPENCV)
-  SET(BUILDNAME "${BUILDNAME}-OpenCV")
-ENDIF(VISP_HAVE_OPENCV)
+if(VISP_HAVE_OPENCV)
+  if(OpenCV_VERSION)
+    if(OPENCV_XFEATURES2D_FOUND OR OPENCV_XFEATURES2D_FOUND)
+      set(BUILDNAME "${BUILDNAME}-OpenCV_contrib${OpenCV_VERSION}")
+    else()
+      set(BUILDNAME "${BUILDNAME}-OpenCV${OpenCV_VERSION}")
+    endif()
+  else()
+    set(BUILDNAME "${BUILDNAME}-OpenCV")
+  endif()
+endif(VISP_HAVE_OPENCV)
 
 #---- Mathematics ----
 # Lapack (Linear Algebra PACKage)
@@ -228,10 +242,10 @@ IF(VISP_HAVE_FFMPEG)
   SET(BUILDNAME "${BUILDNAME}-ffmpeg")
 ENDIF(VISP_HAVE_FFMPEG)
 IF(VISP_HAVE_LIBJPEG)
-  SET(BUILDNAME "${BUILDNAME}-libjpeg")
+  SET(BUILDNAME "${BUILDNAME}-jpeg")
 ENDIF(VISP_HAVE_LIBJPEG)
 IF(VISP_HAVE_LIBPNG)
-  SET(BUILDNAME "${BUILDNAME}-libpng")
+  SET(BUILDNAME "${BUILDNAME}-png")
 ENDIF(VISP_HAVE_LIBPNG)
 IF(VISP_HAVE_ZLIB)
   SET(BUILDNAME "${BUILDNAME}-zlib")
@@ -239,16 +253,37 @@ ENDIF()
 
 #---- Misc ----
 # XML
-IF(VISP_HAVE_XML2)
-  SET(BUILDNAME "${BUILDNAME}-xml")
-ENDIF(VISP_HAVE_XML2)
+if(VISP_HAVE_XML2)
+  set(BUILDNAME "${BUILDNAME}-xml")
+endif()
 # PThread
-IF(VISP_HAVE_PTHREAD)
-  SET(BUILDNAME "${BUILDNAME}-pthread")
-ENDIF(VISP_HAVE_PTHREAD)
+if(VISP_HAVE_PTHREAD)
+  set(BUILDNAME "${BUILDNAME}-pthread")
+endif()
 # OpenMP
-IF(VISP_HAVE_OPENMP)
-  SET(BUILDNAME "${BUILDNAME}-OpenMP")
-ENDIF()
+if(VISP_HAVE_OPENMP)
+  set(BUILDNAME "${BUILDNAME}-OpenMP")
+endif()
+if(VISP_HAVE_DMTX)
+  set(BUILDNAME "${BUILDNAME}-dmtx")
+endif()
+if(VISP_HAVE_ZBAR)
+  set(BUILDNAME "${BUILDNAME}-zbar")
+endif()
+
+
+#---- Special compiler flags ----
+if(ACTIVATE_WARNING_STRICT_OVERFLOW)
+  SET(BUILDNAME "${BUILDNAME}-Wov")
+endif()
+if(ACTIVATE_WARNING_FLOAT_EQUAL)
+  SET(BUILDNAME "${BUILDNAME}-Weq")
+endif()
+if(USE_CPP11)
+  SET(BUILDNAME "${BUILDNAME}-c11")
+endif()
+if(MOMENTS_COMBINE_MATRICES)
+  SET(BUILDNAME "${BUILDNAME}-Moment")
+endif()
 
 #MESSAGE("BUILDNAME=${BUILDNAME}")
diff --git a/ChangeLog b/ChangeLog
index 259376ef56cb0d3f8ab842f0ba3e34a5f968eb8e..9d8a0a7ba34de62a8320db1d6a58085f4580eb5e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,10 +2,84 @@
                      Visual Servoing Platform
                      Resume of the change log
 
-     Copyright Projet Lagadic / IRISA-INRIA Rennes, 2005 - 2014
+     Copyright Projet Lagadic / IRISA-INRIA Rennes, 2005 - 2015
                     http://team.inria.fr/lagadic
 
 
+ViSP 2.10.0 (released February 13th, 2015)
+  - New features
+    . New object detection and localisation capabilities that allow to
+      initialize for instance the model-based tracker (see tutorial).
+    . New bar code detectors that uses libdmtx and libzbar (see tutorial):
+      + vpDetectorQRcode class allows to detect QR codes
+      + vpDetectorDataMatrixCode class allows to detect data matrices
+    . New vpDetectorFace class that allows face detection based on OpenCV
+      Haar cascade classifier capabilities (see tutorial)
+    . New vpConvert class for type conversions from OpenCV to ViSP.
+    . Model-based tracker:
+      + Introduction of 3D circles that project as ellipses.
+      + In *.cao files comments are allowed on lines starting with # character.
+      + New functions getError() and getRobustWeights() useful to compute
+        tracking quality indicators.
+      + Introduction of setLod() for "level of detail" that checks if the size
+        of the feature is large enough to be considered by the tracker.
+      + Based on the rank of the interaction matrix turn off automatically the
+        degrees of freedom that cannot be estimated. Especially useful when
+        considering 3D objets with only cylinders and circles.
+      + and many other improvements and fixes.
+    . Video reader and writer support mpeg4. ffmpeg is no more requested
+      in vpVideoReader and vpVideoWriter. If ffmpeg is not detected or installed
+      we use OpenCV.
+    . New vpXmlParserHomogeneousMatrix class to read/write homogeneous
+      transformations from/to xml files
+    . Auto detection of visp-images-data Debian or Ubuntu package that allows
+      testing without setting VISP_INPUT_IMAGE_PATH
+    . If OpenCV version >= 2.4.8 use only OpenCV C++ api. Classes that use
+      IplImages as input are deprecated.
+    . Compat with RaspberryPi architecture
+    . Compat with OpenCV 3.x
+    . Compat with Yarp 2.3.63
+    . Compat with CMake 3.x
+    . Compat with MinGW w64 from http://mingw-w64.sourceforge.net/
+  - Tutorials
+    . New tutorial to show how to install ViSP from Ubuntu official packages.
+    . New tutorial to show how to install ViSP on CentOS.
+    . New tutorial to show how to install ViSP on openSUSE.
+    . New tutorial to show how to install ViSP on Raspberry Pi.
+    . New tutorial to show how to install ViSP on Windows 8.1 with msvc.
+    . New tutorial to show how to install ViSP on Windows 8.1 with mingw.
+    . New keypoints matching tutorial.
+    . New bar code detection tutorial.
+    . New face detection tutorial.
+    . New object detection and localization tutorial
+    . Update KLT tracker tutorial to show how to initialize the tracker online.
+    . Update blob tracker tutorial to show how to use v4l2 live camera.
+    . Update model-based tracking tutorial for advanced usage.
+  - Bug fixed
+    . [17112] Error after second call to track() in vpMbEdgeTracker
+    . [17212] vp1394TwoGrabber: unable to select a camera from its guid
+    . [17457] Cannot apply a secondary task to a 7dof robot
+    . [17550] Build error with ffmpeg libraries
+    . [17620] vpXmlParserCamera::save() doesn't save the camera name and
+      image size
+    . [17644] vpDisplayX doesn't work on RaspberryPi
+    . [17659] ViSP+Ogre3D+boost: libboost_chrono cannot be opened
+    . [17705] Bad endianness support in vpDisplayX
+    . [17766] Compat with cmake 3.0.0: failed due to new CMP0026 policy
+    . [17972] Ogre examples are not working with Fedora 20
+    . [17983] Unable to build ViSP when an older version was previously
+      installed
+    . [18258] Stack overflow when using vpDot under Windows
+    . [16895] undefined reference to `vpGaussRand::gaussianDraw()'
+    . [18406] Infinite loop in `vpPose::poseRansac()'
+    . [18446] Bad KLT points detection in vpMbKtlTracker and vpMbEdgeKltTracker.
+    . [18451] Infinite loop in vpSimulatorViper850::stopMotion()
+    . [18452] Empty filename check in vpImageIo, vpVideoReader, vpVideoWriter is erroneous
+    . [18459] Error when initializing KLT related trackers but no key point is deteted.
+    . [18471] Bad fov computation in vpCameraParameters.
+    . [18550] Linking error with Homebrew install of OpenCV on MacOS
+
+----------------------------------------------
 ViSP 2.9.0 (released February 18th, 2014)
   - New features
     . Introduction of a new template tracker using SSD (vpTemplateTrackerSSD
diff --git a/README.txt b/README.txt
index dbe8a69613a385b746453c0b825cd774b34537c4..db3a910ec463154ce4edcae894c997bb256d5213 100644
--- a/README.txt
+++ b/README.txt
@@ -1,4 +1,4 @@
-                            ViSP-2.7.0
+                            ViSP-2.10.0
                      Visual Servoing Platform
 
       Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
diff --git a/ViSP-third-party.txt.cmake b/ViSP-third-party.txt.cmake
index 3b539d6a130bbc00b33a0d58fbf3a2c24e3edc73..f8c19ead381a6f08267f2a62904a034e2ea25acc 100644
--- a/ViSP-third-party.txt.cmake
+++ b/ViSP-third-party.txt.cmake
@@ -51,6 +51,8 @@ Misc:
   XML2                        : ${VISP_HAVE_XML2_FOUND}
   pthread                     : ${VISP_HAVE_PTHREAD_FOUND}
   OpenMP                      : ${VISP_HAVE_OPENMP_FOUND}
+  zbar                        : ${VISP_HAVE_ZBAR_FOUND}
+  dmtx                        : ${VISP_HAVE_DMTX_FOUND}
 Documentation:
   Doxygen                     : ${VISP_HAVE_DOXYGEN_FOUND}
   Graphviz dot                : ${VISP_HAVE_DOT_FOUND}
diff --git a/demo/CMakeLists.txt b/demo/CMakeLists.txt
index b5531f130819f2ba2be080226bf9e5973e2a75b0..3d98dfad389d052277f2603a5d5f7935b7cd2a36 100644
--- a/demo/CMakeLists.txt
+++ b/demo/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -49,7 +49,3 @@ SET (SRC_SUBDIRS
 # Build process propagation in the sub directories
 SUBDIRS(${SRC_SUBDIRS})
 
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
diff --git a/demo/wireframe-simulator/CMakeLists.txt b/demo/wireframe-simulator/CMakeLists.txt
index 4fa6ebe6ed693bf5549b32e92ba86e247533bc26..ff71aa1addab651a1d4e75048f7293fab3b071c1 100644
--- a/demo/wireframe-simulator/CMakeLists.txt
+++ b/demo/wireframe-simulator/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,47 +43,45 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set (SOURCE
   servoSimu4Points.cpp
   servoSimuCylinder.cpp
   servoSimuSphere.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_dependencies(visp_demos ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "demos")
+  endif()
 
-IF(UNIX)
-  INSTALL(TARGETS ${binary}
-    DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/visp/demo/wireframe-simulator
-    PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
-    OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE
-    OWNER_WRITE)
-ELSE()
-  INSTALL(TARGETS ${binary}
-    DESTINATION demo/wireframe-simulator
-    PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
-    OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE
-    OWNER_WRITE)
-ENDIF()
-
-ENDFOREACH(source)
+  if(UNIX)
+    install(TARGETS ${binary}
+      DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/visp-${VISP_VERSION}/demo/wireframe-simulator
+      PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
+      OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE
+      OWNER_WRITE)
+  else()
+    install(TARGETS ${binary}
+      DESTINATION demo/wireframe-simulator
+      PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
+      OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE
+      OWNER_WRITE)
+  endif()
+endforeach()
 
 # Add test
 # To run some of these tests don't forget to set VISP_INPUT_IMAGE_PATH
 # environment variable to the ViSP test sequences location.
 # To get these sequence download ViSP-images.tar.gz from
 # http://www.irisa.fr/lagadic/visp/visp.html
-ADD_TEST(servoSimu4Points servoSimu4Points -d)
-ADD_TEST(servoSimuCylinder servoSimuCylinder -d)
-ADD_TEST(servoSimuSphere servoSimuSphere -d)
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+add_test(servoSimu4Points servoSimu4Points -d)
+add_test(servoSimuCylinder servoSimuCylinder -d)
+add_test(servoSimuSphere servoSimuSphere -d)
diff --git a/demo/wireframe-simulator/servoSimu4Points.cpp b/demo/wireframe-simulator/servoSimu4Points.cpp
index cfb205078a4b9e7af9715c43917bf3505f7bdd44..1e2fbbfeaa453e1464f2ed2b60ed430c8e810dc9 100644
--- a/demo/wireframe-simulator/servoSimu4Points.cpp
+++ b/demo/wireframe-simulator/servoSimu4Points.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: servoSimu4Points.cpp 4659 2014-02-09 14:11:51Z fspindle $
+ * $Id: servoSimu4Points.cpp 4814 2014-07-31 11:38:39Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -291,9 +291,8 @@ main(int argc, const char ** argv)
     X[3][1] = 0.2;
     X[3][2] = 0;
 
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     if (! env_ipath.empty())
       ipath = env_ipath;
@@ -301,7 +300,7 @@ main(int argc, const char ** argv)
     if (!opt_ipath.empty())
       ipath = opt_ipath;
 
-    filename = ipath +  vpIoTools::path("/ViSP-images/mire/mire.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/mire/mire.pgm");
 
     imsim.init(filename.c_str(), X);
 
diff --git a/distclean.sh b/distclean.sh
deleted file mode 100755
index 7e78704ec57c8f9aec2a9a5fed86972317434e82..0000000000000000000000000000000000000000
--- a/distclean.sh
+++ /dev/null
@@ -1,178 +0,0 @@
-#!/bin/sh
-#############################################################################
-#
-# $Id: distclean.sh,v 1.3 2006-05-29 09:58:22 fspindle Exp $
-#
-# This file is part of the ViSP software.
-# Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
-# 
-# This software is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# ("GPL") version 2 as published by the Free Software Foundation.
-# See the file LICENSE.txt at the root directory of this source
-# distribution for additional information about the GNU GPL.
-#
-# For using ViSP with software that can not be combined with the GNU
-# GPL, please contact INRIA about acquiring a ViSP Professional 
-# Edition License.
-#
-# See http://www.irisa.fr/lagadic/visp/visp.html for more information.
-# 
-# This software was developed at:
-# INRIA Rennes - Bretagne Atlantique
-# Campus Universitaire de Beaulieu
-# 35042 Rennes Cedex
-# France
-# http://www.irisa.fr/lagadic
-#
-# If you have questions regarding the use of this file, please contact
-# INRIA at visp@inria.fr
-# 
-# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-#
-# Description:
-# Cleaning cmake produced files.
-#
-# Authors:
-# Fabien Spindler
-#
-#############################################################################
-
-
-RM="rm -f"
-
-$RM CMakeCache.txt CMakeOutput.log config.log warning.log cmake.check_cache
-$RM install_manifest.txt DartConfiguration.tcl
-$RM doc/config-doxygen warning.log cmake_uninstall.cmake
-$RM include/visp/vpConfig.h
-$RM VISPBuildSettings.cmake
-$RM VISPConfig.cmake
-$RM VISPUse.cmake
-$RM bin/visp-config
-
-$RM -r Testing autom4te.cache
-
-for i in `find . -type d -name "CMakeFiles" -print | sort`
-    do
-    	$RM -r $i;
-	echo "$RM -r $i"
-    done
-for i in `find . -type d -name "CMakeTmp" -print | sort`
-    do
-    	$RM -r $i;
-	echo "$RM -r $i"
-    done
-for i in `find . -type d -name "*.dir" -print | sort`
-    do
-    	$RM -r $i;
-	echo "$RM -r $i"
-    done
-for i in `find . test -type d -name "debug" -print | sort`
-    do
-    	$RM -r $i;
-	echo "$RM -r $i"
-    done
-for i in `find lib -type d -name "debug" -print | sort`
-    do
-    	$RM -r $i;
-	echo "$RM -r $i"
-    done
-for i in `find example -type d -name "debug" -print | sort`
-    do
-    	$RM -r $i;
-	echo "$RM -r $i"
-    done
-
-
-
-for i in `find . -type f -name "*.rule" -print | sort`
-    do
-    	$RM  $i;
-	echo "$RM $i"
-    done
-for i in `find . -type f -name "DartTestfile.txt" -print | sort`
-    do
-    	$RM $i;
-	echo "$RM $i"
-    done
-for i in `find . -type f -name "*~" -print | sort`
-    do
-    	$RM $i;
-	echo "$RM $i"
-    done
-for i in `find . -type f -name "*.plg" -print | sort`
-    do
-    	$RM $i;
-	echo "$RM $i"
-    done
-for i in `find . -type f -name "*.vcproj*" -print | sort`
-    do
-    	$RM $i;
-	echo "$RM $i"
-    done
-for i in `find . -type f -name "vc60.idb*" -print | sort`
-    do
-    	$RM $i;
-	echo "$RM $i"
-    done
-for i in `find . -type f -name "*.dsp*" -print | sort`
-    do
-    	$RM $i;
-	echo "$RM $i"
-    done
-for i in `find . -type f -name "*.dsw" -print | sort`
-    do
-    	$RM $i;
-	echo "$RM $i"
-    done
-for i in `find . -type f -name "cmake_install.cmake" -print | sort`
-    do
-    	$RM $i;
-	echo "$RM $i"
-    done
-for i in `find . -type f -name "*.opt" -print | sort`
-    do
-    	$RM $i;
-	echo "$RM $i"
-    done
-for i in `find . -type f -name "*.sln" -print | sort`
-    do
-    	$RM $i;
-	echo "$RM $i"
-    done
-for i in `find . -type f -name "*.ncb" -print | sort`
-    do
-    	$RM $i;
-	echo "$RM $i"
-    done
-for i in `find . -type f -name "*.suo" -print | sort`
-    do
-    	$RM $i;
-	echo "$RM $i"
-    done
-for i in `find . -type d \( -name Makefile \) -prune -o -type f -name "Makefile" -print | sort`
-    do
-    	$RM $i;
-	echo "$RM $i"
-    done
-for i in `find . -type f -name "*.obj" -print | sort`
-    do
-    	$RM $i;
-	echo "$RM $i"
-    done
-for i in `find . -type f -name "*.o" -print | sort`
-    do
-    	$RM $i;
-	echo "$RM $i"
-    done
-for i in `find . -type f -name "*.bb" -print | sort`
-    do
-    	$RM $i;
-	echo "$RM $i"
-    done
-for i in `find . -type f -name "*.bbg" -print | sort`
-    do
-    	$RM $i;
-	echo "$RM $i"
-    done
diff --git a/doc/biblio/references.bib b/doc/biblio/references.bib
index 02028dec0fbf0429b93a50744b85f221b3c7a86f..e651b967ef7701a4811910653523772d0ec5f4fb 100644
--- a/doc/biblio/references.bib
+++ b/doc/biblio/references.bib
@@ -80,10 +80,7 @@ x-advisor = {Chaumette, F.},
                   positioning task of a cumbersome object has been
                   realized using two cameras mounted on a manipulator
                   robot.},
-  pdf =
-                  {http://www.irisa.fr/lagadic/pdf/1998_these_malis.pdf},
-  urltransp =
-                  {http://www.irisa.fr/lagadic/pdf/1998_these_malis_transp.pdf}
+  url =           {http://www.irisa.fr/lagadic/pdf/1998_these_malis.pdf},
 }
 
 @inproceedings{Irani98a,
@@ -95,17 +92,17 @@ x-advisor = {Chaumette, F.},
   year =	 1998
 }
 @article{Malis00b,
-  author =	 {Malis, E. and Chaumette, F. and Boudet, S.},
-  title =	 {2 1/2 {D} Visual Servoing with Respect to Unknown
-                  Objects Through a New Estimation Scheme of Camera
-                  Displacement},
-  journal =	 {Int. Journal of Computer Vision},
-  volume =	 37,
-  year =	 2000,
-  number =	 1,
-  month =	 jun,
-  pages =	 {79-97}
-}
+   Author = {Malis, E. and Chaumette, F.},
+   url = {http://www.irisa.fr/lagadic/pdf/2000_ijcv_malis.pdf},
+   Title = {2 1/2 D visual servoing with respect to unknown objects through a new estimation scheme of camera displacement},
+   Journal = {Int. Journal of Computer Vision},
+   Volume = {    37},
+   Number = {1},
+   Pages = {79--97},
+   Publisher = {Kluwer},
+   Month = {June},
+   Year = {2000}
+} 
 
 @Article{Dementhon95,
   author =	 {Dementhon, D. and Davis, L.},
@@ -118,15 +115,16 @@ x-advisor = {Chaumette, F.},
   keyword =	 {pose}
 }
 
-@Book{Hartley01a,
+@book{Hartley01a,
   author =	 { Hartley, R. and Zisserman,A.},
   title =	 { Multiple View Geometry in Computer Vision },
   publisher =	 {Cambridge University Press},
   year =	 2001
 }
 
-@InProceedings{Marchand02c,
+@article{Marchand02c,
   author =	 {Marchand, E. and Chaumette, F.},
+  url = {http://hal.inria.fr/inria-00352096},
   title =	 {Virtual Visual Servoing: a framework for real-time
                   augmented reality},
   booktitle =	 {EUROGRAPHICS'02 Conf. Proceeding},
@@ -139,7 +137,7 @@ x-advisor = {Chaumette, F.},
   month =	 sep
 }
 
-@Article{Baker04a,
+@article{Baker04a,
   author =	 {Baker, S. and Matthews, I.},
   title =	 { Lucas-kanade 20 years on: A unifying framework},
   journal =	 {Int. Journal of Computer Vision},
@@ -149,8 +147,9 @@ x-advisor = {Chaumette, F.},
   pages =	 {221-255}
 }
 
-@Article{Chaumette04a,
+@article{Chaumette04a,
   author =	 {Chaumette, F.},
+  url = {http://hal.inria.fr/inria-00352019},
   title =	 {Image moments: a general and useful set of features
                   for visual servoing},
   journal =	 {IEEE Trans. on Robotics},
@@ -175,13 +174,12 @@ x-advisor = {Chaumette, F.},
                   that a correct behavior of the system is obtained if
                   we consider either a simple symmetrical object or a
                   planar object with complex and unknown shape.},
-  pdf =
-                  {http://www.irisa.fr/lagadic/pdf/2004_itro_chaumette.pdf},
   keyword =	 {visual servoing, robotics, modeling}
 }
 
 @article{Marchand05b,
    Author = {Marchand, E. and Spindler, F. and Chaumette, F.},
+   url = {http://hal.inria.fr/inria-00351899},
    Title = {ViSP for visual servoing: a generic software platform with a wide class of robot control skills},
    Journal = {IEEE Robotics and Automation Magazine},
    Volume = {    12},
@@ -194,6 +192,7 @@ x-advisor = {Chaumette, F.},
 
 @article{Tahri05z,
    Author = {Tahri, O. and Chaumette, F.},
+   url = {http://hal.inria.fr/inria-00351908},
    Title = {Point-based and region-based image moments for visual servoing of planar objects},
    Journal = {IEEE Trans. on Robotics},
    Volume = {    21},
@@ -207,6 +206,7 @@ x-advisor = {Chaumette, F.},
 @Article{Comport06b,
   author =	 {Comport, A.I. and Marchand, E. and Pressigout,
                   M. and F. Chaumette},
+  url = {http://hal.inria.fr/inria-00161250},
   title =	 {Real-time markerless tracking for augmented reality:
                   the virtual visual servoing framework},
   journal =	 {IEEE Trans. on Visualization and Computer Graphics},
@@ -214,10 +214,7 @@ x-advisor = {Chaumette, F.},
   month =	 jul,
   number =	 4,
   volume =	 12,
-  doi =		 {http://dx.doi.org/10.1109/TVCG.2006.78},
   pages =	 {615-628},
-  pdf =
-                  {http://www.irisa.fr/lagadic/pdf/2006_ieee_tvcg_comport.pdf},
   abstract =	 { Tracking is a very important research subject in a
                   real-time augmented reality context. The main
                   requirements for trackers are high accuracy and
@@ -250,28 +247,31 @@ x-advisor = {Chaumette, F.},
 
 @article{Chaumette06a,
    Author = {Chaumette, F. and Hutchinson, S.},
+   url = {http://hal.inria.fr/inria-00350283},
    Title = {Visual servo control, Part I: Basic approaches},
    Journal = {IEEE Robotics and Automation Magazine},
-   Volume = {    13},
+   Volume = {13},
    Number = {4},
-   Pages = {82--90},
+   Pages = {82-90},
    Month = {December},
    Year = {2006}
 } 
 
 @article{Chaumette07a,
    Author = {Chaumette, F. and Hutchinson, S.},
+   url = {http://hal.inria.fr/inria-00350638},
    Title = {Visual servo control, Part II: Advanced approaches},
    Journal = {IEEE Robotics and Automation Magazine},
-   Volume = {    14},
+   Volume = {14},
    Number = {1},
-   Pages = {109--118},
+   Pages = {109-118},
    Month = {March},
    Year = {2007}
 } 
 
-@InProceedings{Corke09a,
+@article{Corke09a,
    Author = {Corke, P. and Spindler, F. and Chaumette, F.},
+   url = {http://hal.inria.fr/inria-00436741},
    Title = {Combining Cartesian and cylindrical coordinates in IBVS},
    BookTitle = {IEEE Int. Conf. on Intelligent Robots and Systems, IROS'09},
    Pages = {5962--5967},
@@ -282,6 +282,7 @@ x-advisor = {Chaumette, F.},
 
 @article{Mansard07e,
    Author = {Mansard, N. and Chaumette, F.},
+   url = {https://hal.inria.fr/inria-00350593},
    Title = {Task sequencing for high level sensor-based control},
    Journal = {IEEE Trans. on Robotics},
    Volume = {    23},
@@ -311,7 +312,7 @@ x-advisor = {Chaumette, F.},
   number = {IC/2004/74}
 }
 
-@inproceedings{collewet:inria-00261398,
+@InProceedings{Collewet08c,
     hal_id = {inria-00261398},
     url = {http://hal.inria.fr/inria-00261398},
     title = {Visual servoing set free from image processing},
@@ -328,6 +329,7 @@ x-advisor = {Chaumette, F.},
 
 @InProceedings{Marchand96f,
    Author = {Marchand, E. and Chaumette, F. and Rizzo, A.},
+   url = {http://www.irisa.fr/lagadic/pdf/1996_iros_marchand.pdf},
    Title = {Using the task function approach to avoid robot joint limits and kinematic singularities in visual servoing},
    BookTitle = {IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, IROS'96},
    Volume = {3},
@@ -339,6 +341,7 @@ x-advisor = {Chaumette, F.},
 
 @article{Chaumette01c,
    Author = {Chaumette, F. and Marchand, E.},
+   url = {http://hal.inria.fr/inria-00352118},
    Title = {A redundancy-based iterative approach for avoiding joint limits: Application to visual servoing},
    Journal = {IEEE Trans. on Robotics and Automation},
    Volume = {17},
@@ -349,12 +352,26 @@ x-advisor = {Chaumette, F.},
    Year = {2001}
 } 
 
-@InProceedings{Collewet08c,
-   Author = {Collewet, C. and Marchand, E. and Chaumette, F.},
-   Title = {Visual servoing set free from image processing},
-   BookTitle = {IEEE Int. Conf. on Robotics and Automation, ICRA'08},
-   Pages = {81--86},
-   Address = {Pasadena, California},
-   Month = {May},
-   Year = {2008}
+@article{Gentle:2004,
+  author = {Gentle, James E.},
+  edition = {2nd},
+  publisher = {Springer},
+  title = {Random Number Generation and Monte Carlo Methods},
+  year = 2004
+}
+
+@article{Park:1988,
+ author = {Park, S. K. and Miller, K. W.},
+ title = {Random Number Generators: Good Ones Are Hard to Find},
+ journal = {Commun. ACM},
+ issue_date = {Oct. 1988},
+ volume = {31},
+ number = {10},
+ month = oct,
+ year = {1988},
+ pages = {1192--1201},
+ numpages = {10},
+ publisher = {ACM},
+ address = {New York, NY, USA},
 } 
+
diff --git a/doc/config-doxygen.in b/doc/config-doxygen.in
index 92a583b5a83bd048b3d0b771cbf68586273812e6..2a21e8e21501eddda0cdb43edfd0d552c6c34297 100644
--- a/doc/config-doxygen.in
+++ b/doc/config-doxygen.in
@@ -672,7 +672,8 @@ INPUT                  = "@VISP_SOURCE_DIR@/src" \
                          "@VISP_SOURCE_DIR@/tutorial" \
                          "@VISP_SOURCE_DIR@/demo" \
                          "@VISP_SOURCE_DIR@/test" \
-                         "@VISP_SOURCE_DIR@/doc"
+                         "@VISP_SOURCE_DIR@/doc" \
+                         "@VISP_BINARY_DIR@/doc"
 
 # This tag can be used to specify the character encoding of the source files
 # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
@@ -1552,7 +1553,7 @@ PREDEFINED             = DOXYGEN_SHOULD_SKIP_THIS \
                          VISP_HAVE_LAPACK \
                          VISP_HAVE_OPENCV \
                          VISP_HAVE_OPENCV_NONFREE \
-                         VISP_HAVE_OPENCV_VERSION=0x111111 \
+                         VISP_HAVE_OPENCV_VERSION=0x020408 \
                          VISP_HAVE_OGRE \
                          VISP_HAVE_OGRE_PLUGINS_PATH \
                          VISP_HAVE_OGRE_RESOURCES_PATH \
@@ -1584,6 +1585,8 @@ PREDEFINED             = DOXYGEN_SHOULD_SKIP_THIS \
                          VISP_HAVE_LIBFREENECT \
                          VISP_HAVE_LIBUSB_1 \
                          VISP_HAVE_YARP \
+                         VISP_HAVE_ZBAR \
+                         VISP_HAVE_DMTX \
                          VISP_HAVE_ACCESS_TO_NAS \
                          VISP_HAVE_CPP11_COMPATIBILITY \
                          VISP_BUILD_DEPRECATED_FUNCTIONS \
diff --git a/doc/image/img-ViSP-images.jpg b/doc/image/img-ViSP-images.jpg
deleted file mode 100644
index 429e263aaf0a2bd80154c815695eed276218483a..0000000000000000000000000000000000000000
Binary files a/doc/image/img-ViSP-images.jpg and /dev/null differ
diff --git a/doc/image/img-ccmake-centos-all.png b/doc/image/img-ccmake-centos-all.png
new file mode 100644
index 0000000000000000000000000000000000000000..b9ecef6d9cdb970ae43a7a38b839aeeb18f6656a
Binary files /dev/null and b/doc/image/img-ccmake-centos-all.png differ
diff --git a/doc/image/img-ccmake-centos.png b/doc/image/img-ccmake-centos.png
new file mode 100644
index 0000000000000000000000000000000000000000..49c361cb676fdd4e73aa91a0908e87c87dfe152a
Binary files /dev/null and b/doc/image/img-ccmake-centos.png differ
diff --git a/doc/image/img-ccmake-opensuse-all.png b/doc/image/img-ccmake-opensuse-all.png
new file mode 100644
index 0000000000000000000000000000000000000000..6180b974162825094b5b91fc8df59079c6aaffb6
Binary files /dev/null and b/doc/image/img-ccmake-opensuse-all.png differ
diff --git a/doc/image/img-ccmake-opensuse.png b/doc/image/img-ccmake-opensuse.png
new file mode 100644
index 0000000000000000000000000000000000000000..0b780d17914e2fd2a2b58325bb55318466bfe8b3
Binary files /dev/null and b/doc/image/img-ccmake-opensuse.png differ
diff --git a/doc/image/img-ccmake-raspberry-pi.png b/doc/image/img-ccmake-raspberry-pi.png
new file mode 100644
index 0000000000000000000000000000000000000000..385477527b2d50f455b3e8ac8982d44bf89f21aa
Binary files /dev/null and b/doc/image/img-ccmake-raspberry-pi.png differ
diff --git a/doc/image/img-circle.png b/doc/image/img-circle.png
new file mode 100644
index 0000000000000000000000000000000000000000..c2f75aa93afcd2a9866e705b646b9dc1d2a3a5c0
Binary files /dev/null and b/doc/image/img-circle.png differ
diff --git a/doc/image/img-cmake-win-1.jpg b/doc/image/img-cmake-win-1.jpg
deleted file mode 100755
index c9256fb7479612257e2a0179e47646cbd42736a1..0000000000000000000000000000000000000000
Binary files a/doc/image/img-cmake-win-1.jpg and /dev/null differ
diff --git a/doc/image/img-cmake-win-2.jpg b/doc/image/img-cmake-win-2.jpg
deleted file mode 100755
index 6ae3f0d4223b3aa670ed57832ccde99624713d11..0000000000000000000000000000000000000000
Binary files a/doc/image/img-cmake-win-2.jpg and /dev/null differ
diff --git a/doc/image/img-cmake-win-4.jpg b/doc/image/img-cmake-win-4.jpg
deleted file mode 100755
index df1852884d927c548a967d726155616a7c673fa1..0000000000000000000000000000000000000000
Binary files a/doc/image/img-cmake-win-4.jpg and /dev/null differ
diff --git a/doc/image/img-cmake-win-6.jpg b/doc/image/img-cmake-win-6.jpg
deleted file mode 100755
index b75a90a86851a54440fd60d5b0f89205ea731026..0000000000000000000000000000000000000000
Binary files a/doc/image/img-cmake-win-6.jpg and /dev/null differ
diff --git a/doc/image/img-cmake-win-generate.jpg b/doc/image/img-cmake-win-generate.jpg
deleted file mode 100755
index 07abe875637a8c40177588dde5ef68476d3cb210..0000000000000000000000000000000000000000
Binary files a/doc/image/img-cmake-win-generate.jpg and /dev/null differ
diff --git a/doc/image/img-cmake-win-install-prefix.jpg b/doc/image/img-cmake-win-install-prefix.jpg
deleted file mode 100755
index a70b426a13b9f7ec4519e5d4abda5d1480db87ff..0000000000000000000000000000000000000000
Binary files a/doc/image/img-cmake-win-install-prefix.jpg and /dev/null differ
diff --git a/doc/image/img-cmake-win-msvc-version.jpg b/doc/image/img-cmake-win-msvc-version.jpg
deleted file mode 100755
index 78d188bc573838720ace18a8aef822be4c2394a9..0000000000000000000000000000000000000000
Binary files a/doc/image/img-cmake-win-msvc-version.jpg and /dev/null differ
diff --git a/doc/image/img-cmake-win-ogre-found-advanced.jpg b/doc/image/img-cmake-win-ogre-found-advanced.jpg
deleted file mode 100755
index 21ee2233b3366723e07ff5ea2a58c65c247c00d8..0000000000000000000000000000000000000000
Binary files a/doc/image/img-cmake-win-ogre-found-advanced.jpg and /dev/null differ
diff --git a/doc/image/img-cmake-win-ogre-found.jpg b/doc/image/img-cmake-win-ogre-found.jpg
deleted file mode 100755
index 60e5d0d17049e9b8f346541023ea084b463a6270..0000000000000000000000000000000000000000
Binary files a/doc/image/img-cmake-win-ogre-found.jpg and /dev/null differ
diff --git a/doc/image/img-cmake-win-opencv.jpg b/doc/image/img-cmake-win-opencv.jpg
deleted file mode 100755
index 81e06edf56f313720966d5d79c70d4b1a8bea126..0000000000000000000000000000000000000000
Binary files a/doc/image/img-cmake-win-opencv.jpg and /dev/null differ
diff --git a/doc/image/img-cmake-win-solution.jpg b/doc/image/img-cmake-win-solution.jpg
deleted file mode 100755
index 6571c15dca857b61b9a9646a75de498529a8001e..0000000000000000000000000000000000000000
Binary files a/doc/image/img-cmake-win-solution.jpg and /dev/null differ
diff --git a/doc/image/img-cmake-win7-create-build-folder.jpg b/doc/image/img-cmake-win7-create-build-folder.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..2c07e4bc19a57bab8f0c546ab6fe753339e4ff3c
Binary files /dev/null and b/doc/image/img-cmake-win7-create-build-folder.jpg differ
diff --git a/doc/image/img-cmake-win7-generate.jpg b/doc/image/img-cmake-win7-generate.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..4beeaed7dfdad0f607bc70ba3bc159e577fabf93
Binary files /dev/null and b/doc/image/img-cmake-win7-generate.jpg differ
diff --git a/doc/image/img-cmake-win7-msvc-config-end.jpg b/doc/image/img-cmake-win7-msvc-config-end.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..54dee35bd01f1240e7fa5139826e4ec62f5a0831
Binary files /dev/null and b/doc/image/img-cmake-win7-msvc-config-end.jpg differ
diff --git a/doc/image/img-cmake-win7-msvc-config.jpg b/doc/image/img-cmake-win7-msvc-config.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..acf85cde33989017aeac34c749f833a1ff5756ec
Binary files /dev/null and b/doc/image/img-cmake-win7-msvc-config.jpg differ
diff --git a/doc/image/img-cmake-win7-msvc-launch.jpg b/doc/image/img-cmake-win7-msvc-launch.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..8a382d3887d4490bdf0b28a6ea8e022b971d0eff
Binary files /dev/null and b/doc/image/img-cmake-win7-msvc-launch.jpg differ
diff --git a/doc/image/img-cmake-win7-msvc-version.jpg b/doc/image/img-cmake-win7-msvc-version.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a480e0f32105e703fb4e1a944cf50f46e6917a78
Binary files /dev/null and b/doc/image/img-cmake-win7-msvc-version.jpg differ
diff --git a/doc/image/img-cmake-win7-opencv-advanced.jpg b/doc/image/img-cmake-win7-opencv-advanced.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5c816a10967b0566fa901d1740b51fc3796ae8e2
Binary files /dev/null and b/doc/image/img-cmake-win7-opencv-advanced.jpg differ
diff --git a/doc/image/img-cmake-win7-opencv.jpg b/doc/image/img-cmake-win7-opencv.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..eb8f9bdc530061a8a303b05ed05758579c951c3a
Binary files /dev/null and b/doc/image/img-cmake-win7-opencv.jpg differ
diff --git a/doc/image/img-cmake-win7-solution.jpg b/doc/image/img-cmake-win7-solution.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..2bb2ccda27510d5b0b683c1b185792615e316487
Binary files /dev/null and b/doc/image/img-cmake-win7-solution.jpg differ
diff --git a/doc/image/img-cmake-win8.1-4.jpg b/doc/image/img-cmake-win8.1-4.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..4c18a1541165a060e534262de7bd1d85eb37a777
Binary files /dev/null and b/doc/image/img-cmake-win8.1-4.jpg differ
diff --git a/doc/image/img-cmake-win8.1-6.jpg b/doc/image/img-cmake-win8.1-6.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..8dbd4e77822ab365b422c19b4a0ccb85a8278fec
Binary files /dev/null and b/doc/image/img-cmake-win8.1-6.jpg differ
diff --git a/doc/image/img-cmake-win8.1-create-build-folder.jpg b/doc/image/img-cmake-win8.1-create-build-folder.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..3de022432a14de1abf4978ae8fd5f000e735e43d
Binary files /dev/null and b/doc/image/img-cmake-win8.1-create-build-folder.jpg differ
diff --git a/doc/image/img-cmake-win8.1-gdi.jpg b/doc/image/img-cmake-win8.1-gdi.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..03eb63ce8f3b8dfcd9fcb0d2335b4670e1720f15
Binary files /dev/null and b/doc/image/img-cmake-win8.1-gdi.jpg differ
diff --git a/doc/image/img-cmake-win8.1-mingw-configure-end.jpg b/doc/image/img-cmake-win8.1-mingw-configure-end.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..948f78412099bcd64bdbc246b56d6acfd84ec213
Binary files /dev/null and b/doc/image/img-cmake-win8.1-mingw-configure-end.jpg differ
diff --git a/doc/image/img-cmake-win8.1-mingw-configure.jpg b/doc/image/img-cmake-win8.1-mingw-configure.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..925560ad9609d052c11e2b94403cff4078bf5921
Binary files /dev/null and b/doc/image/img-cmake-win8.1-mingw-configure.jpg differ
diff --git a/doc/image/img-cmake-win8.1-mingw-generate.jpg b/doc/image/img-cmake-win8.1-mingw-generate.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a6bf443c643314e69c091aa6d518c991e95832d7
Binary files /dev/null and b/doc/image/img-cmake-win8.1-mingw-generate.jpg differ
diff --git a/doc/image/img-cmake-win8.1-mingw-launch.jpg b/doc/image/img-cmake-win8.1-mingw-launch.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..277ae0334b7c04c07cc24af99dcb8001e5c62414
Binary files /dev/null and b/doc/image/img-cmake-win8.1-mingw-launch.jpg differ
diff --git a/doc/image/img-cmake-win8.1-mingw-opencv-detected-advanced.jpg b/doc/image/img-cmake-win8.1-mingw-opencv-detected-advanced.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..32ef3c281400de4d18eb881d9f5174c4e55217a6
Binary files /dev/null and b/doc/image/img-cmake-win8.1-mingw-opencv-detected-advanced.jpg differ
diff --git a/doc/image/img-cmake-win8.1-mingw-opencv-detected.jpg b/doc/image/img-cmake-win8.1-mingw-opencv-detected.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..df0312fe0123136f8b608a8116e6d38cd5008704
Binary files /dev/null and b/doc/image/img-cmake-win8.1-mingw-opencv-detected.jpg differ
diff --git a/doc/image/img-cmake-win8.1-mingw-version.jpg b/doc/image/img-cmake-win8.1-mingw-version.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..12079016c99964c7dd0165566689c4f3ae42c911
Binary files /dev/null and b/doc/image/img-cmake-win8.1-mingw-version.jpg differ
diff --git a/doc/image/img-cmake-win8.1-msvc-generate.jpg b/doc/image/img-cmake-win8.1-msvc-generate.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..be57b42c13ebd5f4f0d71d14cdfd81e47c5fb55b
Binary files /dev/null and b/doc/image/img-cmake-win8.1-msvc-generate.jpg differ
diff --git a/doc/image/img-cmake-win8.1-msvc-launch.jpg b/doc/image/img-cmake-win8.1-msvc-launch.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..59c8289a24553816a90e8dadfa13adcfe0a72fcf
Binary files /dev/null and b/doc/image/img-cmake-win8.1-msvc-launch.jpg differ
diff --git a/doc/image/img-cmake-win8.1-msvc-version.jpg b/doc/image/img-cmake-win8.1-msvc-version.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..adb01eaa0858a3e158839c862595d85653894fc6
Binary files /dev/null and b/doc/image/img-cmake-win8.1-msvc-version.jpg differ
diff --git a/doc/image/img-cmake-win8.1-opencv-advanced.jpg b/doc/image/img-cmake-win8.1-opencv-advanced.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..c9fdbcece2466408275bd02521198489fe16cf3c
Binary files /dev/null and b/doc/image/img-cmake-win8.1-opencv-advanced.jpg differ
diff --git a/doc/image/img-cmake-win8.1-opencv.jpg b/doc/image/img-cmake-win8.1-opencv.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e49a416d7a0c25494d194fa9d9d2b230891be3bc
Binary files /dev/null and b/doc/image/img-cmake-win8.1-opencv.jpg differ
diff --git a/doc/image/img-cmd-displayGDI.jpg b/doc/image/img-cmd-displayGDI.jpg
deleted file mode 100644
index fb86f30f9b930f0d25ee836ca2a96e57d4e9f6f3..0000000000000000000000000000000000000000
Binary files a/doc/image/img-cmd-displayGDI.jpg and /dev/null differ
diff --git a/doc/image/img-cylinder.png b/doc/image/img-cylinder.png
new file mode 100644
index 0000000000000000000000000000000000000000..3c19d10f7cb1a0426a08d8362fff012ffef85235
Binary files /dev/null and b/doc/image/img-cylinder.png differ
diff --git a/doc/image/img-detection-datamatrix.png b/doc/image/img-detection-datamatrix.png
new file mode 100644
index 0000000000000000000000000000000000000000..30fa84e6f58691932f57adeac6ab9604d64a77be
Binary files /dev/null and b/doc/image/img-detection-datamatrix.png differ
diff --git a/doc/image/img-detection-qrcode.png b/doc/image/img-detection-qrcode.png
new file mode 100644
index 0000000000000000000000000000000000000000..b51c4314958b46d49113bac70c42f3249c99ab5c
Binary files /dev/null and b/doc/image/img-detection-qrcode.png differ
diff --git a/doc/image/img-detection-step.png b/doc/image/img-detection-step.png
new file mode 100644
index 0000000000000000000000000000000000000000..f3cdd0bb355be68fc4c7a05ca044f9aac0204e7c
Binary files /dev/null and b/doc/image/img-detection-step.png differ
diff --git a/doc/image/initClickTemplateTracker.png b/doc/image/img-initClickTemplateTracker.png
similarity index 100%
rename from doc/image/initClickTemplateTracker.png
rename to doc/image/img-initClickTemplateTracker.png
diff --git a/doc/image/img-learning-step.png b/doc/image/img-learning-step.png
new file mode 100644
index 0000000000000000000000000000000000000000..aa22f385b0b14fff63f80e77e59557e2e38a8ee0
Binary files /dev/null and b/doc/image/img-learning-step.png differ
diff --git a/doc/image/img-mingw64-installer-finished.jpg b/doc/image/img-mingw64-installer-finished.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a38a755d666e350d7ab83df3e296c43223ed2438
Binary files /dev/null and b/doc/image/img-mingw64-installer-finished.jpg differ
diff --git a/doc/image/img-mingw64-installer-process.jpg b/doc/image/img-mingw64-installer-process.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..2a8c4863a3e671fd5b08c5f47b2de094a8b1a5cc
Binary files /dev/null and b/doc/image/img-mingw64-installer-process.jpg differ
diff --git a/doc/image/img-mingw64-installer-started.jpg b/doc/image/img-mingw64-installer-started.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..931714c9f7ab7ae5ace4535692df87ddb5feb322
Binary files /dev/null and b/doc/image/img-mingw64-installer-started.jpg differ
diff --git a/doc/image/img-msvc-1.jpg b/doc/image/img-msvc-1.jpg
deleted file mode 100755
index 12fc66c9d788271a021725dd845fd27d2379f02f..0000000000000000000000000000000000000000
Binary files a/doc/image/img-msvc-1.jpg and /dev/null differ
diff --git a/doc/image/img-msvc-2.jpg b/doc/image/img-msvc-2.jpg
deleted file mode 100755
index 85cbadbd400861deee49e7a2f8fa7d9957f2b9a1..0000000000000000000000000000000000000000
Binary files a/doc/image/img-msvc-2.jpg and /dev/null differ
diff --git a/doc/image/img-msvc-4.jpg b/doc/image/img-msvc-4.jpg
deleted file mode 100755
index 6a86193757495332f3dcaa36a57609a493a59d17..0000000000000000000000000000000000000000
Binary files a/doc/image/img-msvc-4.jpg and /dev/null differ
diff --git a/doc/image/img-msvc-build.jpg b/doc/image/img-msvc-build.jpg
deleted file mode 100644
index c384f014c8f3185766c4cfdd5ea24d1404ede3b9..0000000000000000000000000000000000000000
Binary files a/doc/image/img-msvc-build.jpg and /dev/null differ
diff --git a/doc/image/img-msvc-install-end.jpg b/doc/image/img-msvc-install-end.jpg
deleted file mode 100644
index 193afe1f81ebe8c02defd0cb3e92bedaf0bbab1b..0000000000000000000000000000000000000000
Binary files a/doc/image/img-msvc-install-end.jpg and /dev/null differ
diff --git a/doc/image/img-msvc-install.jpg b/doc/image/img-msvc-install.jpg
deleted file mode 100644
index f6f6dd0ab6d8a36315d804e48dbe7d0f3cb0e0de..0000000000000000000000000000000000000000
Binary files a/doc/image/img-msvc-install.jpg and /dev/null differ
diff --git a/doc/image/img-msvc-release.jpg b/doc/image/img-msvc-release.jpg
deleted file mode 100644
index 30e857496f54b7c07cddaa351d7589730f3a8898..0000000000000000000000000000000000000000
Binary files a/doc/image/img-msvc-release.jpg and /dev/null differ
diff --git a/doc/image/img-opencv-issue-dshow.jpg b/doc/image/img-opencv-issue-dshow.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..4de4fd57f4ce081bc60e9f450d23c14d981a4f9e
Binary files /dev/null and b/doc/image/img-opencv-issue-dshow.jpg differ
diff --git a/doc/image/img-opencv-issue-ipp.jpg b/doc/image/img-opencv-issue-ipp.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..462c2f5f5175f868b0d6dc74aaf5e923a674ca9e
Binary files /dev/null and b/doc/image/img-opencv-issue-ipp.jpg differ
diff --git a/doc/image/img-opencv-issue-test-big-endian.jpg b/doc/image/img-opencv-issue-test-big-endian.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..20868a373734e80c28fc76bf6e6010f2d5e7a248
Binary files /dev/null and b/doc/image/img-opencv-issue-test-big-endian.jpg differ
diff --git a/doc/image/img-opencv-issue-tiff.jpg b/doc/image/img-opencv-issue-tiff.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..946b306af8008a826f12b31caa878f00cd7f3946
Binary files /dev/null and b/doc/image/img-opencv-issue-tiff.jpg differ
diff --git a/doc/image/img-plane-hierarchical-diagram.jpg b/doc/image/img-plane-hierarchical-diagram.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..c4aabea1542f6ca1e452e8fee946ea0b1c12c52e
Binary files /dev/null and b/doc/image/img-plane-hierarchical-diagram.jpg differ
diff --git a/doc/image/img-raspberry-pi.jpg b/doc/image/img-raspberry-pi.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..c3f2747c3d7d7c096ced1fd6792fa9bfcbd93a67
Binary files /dev/null and b/doc/image/img-raspberry-pi.jpg differ
diff --git a/doc/image/img-teabox-click.jpg b/doc/image/img-teabox-click.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..0b971f78b3f5ef6a75d78dd098feeeb3dcf0231a
Binary files /dev/null and b/doc/image/img-teabox-click.jpg differ
diff --git a/doc/image/img-win-ogre-dir.jpg b/doc/image/img-win-ogre-dir.jpg
deleted file mode 100644
index 80432b37a2f1f4c4354260dcb22397e50e704d16..0000000000000000000000000000000000000000
Binary files a/doc/image/img-win-ogre-dir.jpg and /dev/null differ
diff --git a/doc/image/img-win-ogre-var.jpg b/doc/image/img-win-ogre-var.jpg
deleted file mode 100644
index 3005806fe484af88118eb2a91b7ca1e552f4b6a1..0000000000000000000000000000000000000000
Binary files a/doc/image/img-win-ogre-var.jpg and /dev/null differ
diff --git a/doc/image/img-win7-ViSP-images.jpg b/doc/image/img-win7-ViSP-images.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..7bc78d55786c2e33554b0d535c524bab5052b295
Binary files /dev/null and b/doc/image/img-win7-ViSP-images.jpg differ
diff --git a/doc/image/img-win7-cmd-displayGDI.jpg b/doc/image/img-win7-cmd-displayGDI.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..0be1bb84566d31b3816073c482d9bd0188a93103
Binary files /dev/null and b/doc/image/img-win7-cmd-displayGDI.jpg differ
diff --git a/doc/image/img-win7-msvc-build-succeed.jpg b/doc/image/img-win7-msvc-build-succeed.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..d894f880f77070cb4f93a6e3e142336c10235028
Binary files /dev/null and b/doc/image/img-win7-msvc-build-succeed.jpg differ
diff --git a/doc/image/img-win7-msvc-build.jpg b/doc/image/img-win7-msvc-build.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..0382d6d5c2b7c1d43e06d3d939b4e8def3ba9d2e
Binary files /dev/null and b/doc/image/img-win7-msvc-build.jpg differ
diff --git a/doc/image/img-win7-msvc-install-end.jpg b/doc/image/img-win7-msvc-install-end.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..f11a3a154ccf3d6f7a8532be64a0c24cc4d26826
Binary files /dev/null and b/doc/image/img-win7-msvc-install-end.jpg differ
diff --git a/doc/image/img-win7-msvc-install-succeed.jpg b/doc/image/img-win7-msvc-install-succeed.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..9701b64b95254fe34fd8f9a7f6fb2ad8533675bf
Binary files /dev/null and b/doc/image/img-win7-msvc-install-succeed.jpg differ
diff --git a/doc/image/img-win7-msvc-install.jpg b/doc/image/img-win7-msvc-install.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5ded148212261b92126383e0a1fc6966c42cf99f
Binary files /dev/null and b/doc/image/img-win7-msvc-install.jpg differ
diff --git a/doc/image/img-win7-msvc-open.jpg b/doc/image/img-win7-msvc-open.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..957cf0c093509a16359c207df70a252aa420260d
Binary files /dev/null and b/doc/image/img-win7-msvc-open.jpg differ
diff --git a/doc/image/img-win7-msvc-release.jpg b/doc/image/img-win7-msvc-release.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..fec3a95c925d20e11dd35c3cd92435147843227d
Binary files /dev/null and b/doc/image/img-win7-msvc-release.jpg differ
diff --git a/doc/image/img-win8.1-cmd-displayGDI.jpg b/doc/image/img-win8.1-cmd-displayGDI.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a23766fa4b6c46dee56175fd2490b1355b1196e5
Binary files /dev/null and b/doc/image/img-win8.1-cmd-displayGDI.jpg differ
diff --git a/doc/image/img-win8.1-cygwin-svn.jpg b/doc/image/img-win8.1-cygwin-svn.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..44ddfdac8b73f0b374a4bb34866ae9e43a66c2c1
Binary files /dev/null and b/doc/image/img-win8.1-cygwin-svn.jpg differ
diff --git a/doc/image/img-win8.1-explorer-install-end.jpg b/doc/image/img-win8.1-explorer-install-end.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..95458c4a806501193c0d069aa1ecd4680817a98e
Binary files /dev/null and b/doc/image/img-win8.1-explorer-install-end.jpg differ
diff --git a/doc/image/img-win8.1-mingw-opencv-cmake-configure-install.jpg b/doc/image/img-win8.1-mingw-opencv-cmake-configure-install.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..301047fb210c908e7b587f424f57f9b246b6e27c
Binary files /dev/null and b/doc/image/img-win8.1-mingw-opencv-cmake-configure-install.jpg differ
diff --git a/doc/image/img-win8.1-mingw-opencv-cmake-configure.jpg b/doc/image/img-win8.1-mingw-opencv-cmake-configure.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..3723af74860c5d005579a8e7b5fb17cd3ecf7243
Binary files /dev/null and b/doc/image/img-win8.1-mingw-opencv-cmake-configure.jpg differ
diff --git a/doc/image/img-win8.1-msvc-build-end.jpg b/doc/image/img-win8.1-msvc-build-end.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..1cf3ef0518ccab2b21c2fb8862a512d5319905b3
Binary files /dev/null and b/doc/image/img-win8.1-msvc-build-end.jpg differ
diff --git a/doc/image/img-win8.1-msvc-build.jpg b/doc/image/img-win8.1-msvc-build.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e4ef2b2406a0db90493013bcae627f2771803104
Binary files /dev/null and b/doc/image/img-win8.1-msvc-build.jpg differ
diff --git a/doc/image/img-win8.1-msvc-install-end.jpg b/doc/image/img-win8.1-msvc-install-end.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..f26f6987c4fce9a1665da83d9fcb9b0a25340dc0
Binary files /dev/null and b/doc/image/img-win8.1-msvc-install-end.jpg differ
diff --git a/doc/image/img-win8.1-msvc-install.jpg b/doc/image/img-win8.1-msvc-install.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..ed2f5612d986a4e1bb79c104a93d5f2058294f7e
Binary files /dev/null and b/doc/image/img-win8.1-msvc-install.jpg differ
diff --git a/doc/image/img-win8.1-msvc-open.jpg b/doc/image/img-win8.1-msvc-open.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..c7b8222906ed410032bee81b8c9001b2ed19916d
Binary files /dev/null and b/doc/image/img-win8.1-msvc-open.jpg differ
diff --git a/doc/image/img-win8.1-msvc-release.jpg b/doc/image/img-win8.1-msvc-release.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..4a63729c9b34918883c28632822b0beb60fc083c
Binary files /dev/null and b/doc/image/img-win8.1-msvc-release.jpg differ
diff --git a/doc/image/img-win8.1-msvc-solution.jpg b/doc/image/img-win8.1-msvc-solution.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..b09305b19abd894f206ab199cc81d26179ef868a
Binary files /dev/null and b/doc/image/img-win8.1-msvc-solution.jpg differ
diff --git a/doc/image/img-win8.1-visp-images.jpg b/doc/image/img-win8.1-visp-images.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..ddccad86014ad9ce0ce13b03880f019bfc1d8ec6
Binary files /dev/null and b/doc/image/img-win8.1-visp-images.jpg differ
diff --git a/doc/mainpage.doc.in b/doc/mainpage.doc.in
index 66b493c546701a470ad2c9a6eae6dee10a1f2d84..83092b3ff8643d079870dcbd6785b692cd8ab43b 100644
--- a/doc/mainpage.doc.in
+++ b/doc/mainpage.doc.in
@@ -37,19 +37,31 @@ display, simulation, ...) you need, prior to install ViSP you may
 install third party libraries <a
 href="http://team.inria.fr/lagadic/visp/libraries.html" target="_parent">http://team.inria.fr/lagadic/visp/libraries.html</a>.</p>
 
-<p>ViSP full installation procedure using CMake is detailed in the \ref tuto_intro "introduction tutorials". Getting started documents in pdf are also available from <a
+<p>ViSP full installation procedure using CMake is detailed in the \ref tuto_install_sdk "Installation from prebuild SDK tutorials" and \ref tuto_install_src "Installation from source tutorials". \ref tuto_started "Getting started tutorials" and documents in pdf are also available from <a
 href="http://team.inria.fr/lagadic/visp/publication.html" target="_parent">http://team.inria.fr/lagadic/visp/publication.html</a>.</p>
  
-\section Tutorial_sec Tutorials
+\section tutorial Tutorials
 
 <p>Here after you will find a list of tutorials that show the basic use of <a href="classes.html">ViSP classes</a> with a small first code.
 
-\subsection tuto_intro Introduction
+\subsection tuto_install_sdk Installation from prebuild SDK
+
+- \ref tutorial-install-ubuntu-package <br>In this first tutorial you will learn how to install ViSP prebuilt library from Ubuntu packages.
+
+\subsection tuto_install_src Installation from source
 
 - \ref tutorial-install-ubuntu <br>In this first tutorial you will learn how to install ViSP from source on Linux Ubuntu.
 - \ref tutorial-install-fedora <br>In this other tutorial you will learn how to install ViSP from source on Linux Fedora.
-- \ref tutorial-install-win <br>In this tutorial you will learn how to install ViSP from source on Windows.
+- \ref tutorial-install-centos <br>In this other tutorial you will learn how to install ViSP from source on Linux CentOS.
+- \ref tutorial-install-opensuse <br>In this other tutorial you will learn how to install ViSP from source on Linux openSUSE.
+- \ref tutorial-install-raspberry <br>In this tutorial you will learn how to install ViSP from source on Raspberry Pi.
+- \ref tutorial-install-win7 <br>In this tutorial you will learn how to install ViSP from source on Windows 7 with Visual C++ 2012.
+- \ref tutorial-install-win81-msvc <br>In this tutorial you will learn how to install ViSP from source on Windows 8.1 with Visual C++ 2013.
+- \ref tutorial-install-win81-mingw64 <br>In this tutorial you will learn how to install ViSP from source on Windows 8.1 with Mingw-w64.
 - \ref tutorial-install-iOS <br>In this tutorial you will learn how to install ViSP from source on OSX for iOS project.
+
+\subsection tuto_started Getting started
+
 - \ref tutorial-getting-started <br>This tutorial shows how to build a project that uses ViSP to read and display an image.
 - \ref tutorial-getting-started-iOS <br>This tutorial shows how to build a project that uses ViSP on iOS devices.
 
@@ -71,14 +83,19 @@ href="http://team.inria.fr/lagadic/visp/publication.html" target="_parent">http:
 - \ref tutorial-tracking-mb <br>This tutorial focuses on model-based trackers using either edges, keypoints or and hybrid scheme that uses edges and keypoints. 
 - \ref tutorial-tracking-tt <br>This tutorial focuses on template trackers based on image registration approaches.
 
-\subsection tuto_keypoint Keypoint 
+\subsection tuto_detection Detection 
 
-- \ref tutorial-matching <br>This tutorial shows how to detect and match SURF keypoints.
+- \ref tutorial-matching <br>This tutorial shows how to detect and match keypoints. New since ViSP 2.10.0.
+- \ref tutorial-matching-deprecated <br>This tutorial shows how to detect and match SURF keypoints. It will be deprecated if you use an OpenCV version equal to 2.8.0 or a more recent version.
+- \ref tutorial-detection-barcode <br>This tutorial focuses on bar code (QR code, Data Matrix code) detection. New since ViSP 2.10.0.
+- \ref tutorial-detection-face <br>This tutorial focuses on face detection thanks to OpenCV Haar cascade classifier. New since ViSP 2.10.0.
+- \ref tutorial-detection-object <br>This tutorial shows how to learn keypoints detected on a known object and how to use the matched correspondences to detect and estimate the pose of the object. New since ViSP 2.10.0.
 
 \subsection tuto_computer_vision Computer vision
 
-- \ref tutorial-pose-estimation <br>This tutorial focuses on pose estimation from planar or non planar points.
+- \ref tutorial-pose-estimation <br>This tutorial focuses on pose estimation from planar or non planar points. New since ViSP 2.10.0.
 - \ref tutorial-homography <br>Here we explain how to estimate an homography from couples of matched points.
+- \ref tutorial-homography-deprecated <br>Here we explain how to estimate an homography from couples of matched points. It will be deprecated if you use an OpenCV version equal to 2.8.0 or a more recent version.
 
 \subsection tuto_vs Visual servoing
 
@@ -115,67 +132,6 @@ scheme, ...</p>
 
 */
 
-
-/*
- ******************************************
- * Tutorial list
- ******************************************
- */
-/*!
-  \defgroup Tutorial ViSP tutorials
-
-
-Here after you will find a list of tutorials that shows the basic use of <a href="classes.html">ViSP classes</a> with a small first code.
-
-\section tuto_intro Introduction
-
-- \ref tutorial-install-ubuntu <br>In this first tutorial you will learn how to install ViSP from source on Linux Ubuntu.
-- \ref tutorial-install-fedora <br>In this other tutorial you will learn how to install ViSP from source on Linux Fedora.
-- \ref tutorial-install-win <br>In this tutorial you will learn how to install ViSP from source on Windows.
-- \ref tutorial-install-iOS <br>In this tutorial you will learn how to install ViSP from source on OSX for iOS project.
-- \ref tutorial-getting-started <br>This tutorial shows how to build a project that uses ViSP to read and display an image.
-- \ref tutorial-getting-started-iOS <br>This tutorial shows how to build a project that uses ViSP on iOS devices.
-
-\section tuto_image Image manipulation
-
-- \ref tutorial-grabber <br>This tutorial shows how to acquire images from a camera.
-- \ref tutorial-image-filtering <br>This tutorial shows how to filter an image with ViSP.
-- \ref tutorial-simu-image <br>This tutorial shows how to project the image of a planar scene to a given camera position. 
-
-\section tuto_calib Camera calibration
-
-- \ref tutorial-calibration <br>This tutorial explains how to calibrate a camera.
-
-\section tuto_tracking Tracking
-
-- \ref tutorial-tracking-blob <br>This tutorial introduces blob tracking and detection.
-- \ref tutorial-tracking-keypoint <br>This tutorial focuses on keypoint tracking using Kanade-Lucas-Tomasi feature tracker.
-- \ref tutorial-tracking-me <br>This tutorial focuses on line and ellipse tracking using moving-edges. 
-- \ref tutorial-tracking-mb <br>This tutorial focuses on model-based trackers using either edges, keypoints or and hybrid scheme that uses edges and keypoints. 
-- \ref tutorial-tracking-tt <br>This tutorial focuses on template trackers based on image registration approaches.
-
-\section tuto_keypoint Keypoint 
-
-- \ref tutorial-matching <br>This tutorial shows how to detect and match SURF keypoints.
-
-\section tuto_computer_vision Computer vision
-
-- \ref tutorial-pose-estimation <br>This tutorial focuses on pose estimation from planar or non planar points.
-- \ref tutorial-homography <br>Here we explain how to estimate an homography from couples of matched points.
-
-\section tuto_vs Visual servoing
-
-- \ref tutorial-ibvs <br>This tutorial explains how to simulate an IBVS.
-- \ref tutorial-simu-robot-pioneer <br>This tutorial focuses on visual servoing simulation on a unicycle robot. The study case is a Pioneer P3-DX mobile robot equipped with a camera.
-- \ref tutorial-boost-vs <br>This tutorial explains how to speed up the time to convergence of a visual servo.
-
-\section tuto_tools Other tools
-
-- \ref tutorial-plotter <br>This tutorial explains how to plot curves in real-time during a visual servo.
-- \ref tutorial-trace <br>This tutorial explains how to introduce trace in the code that could be enabled for debugging or disabled.
-
-*/
-
 /*
  ******************************************
  * ViSP capabilities
diff --git a/doc/tutorial-boost-vs.doc b/doc/tutorial-boost-vs.doc
index 647e1e9ef6d8652850cad64c37ec812470cc95ba..f43b0a0a1bab4b601e3fb347b6cff1b1a4301ecf 100644
--- a/doc/tutorial-boost-vs.doc
+++ b/doc/tutorial-boost-vs.doc
@@ -3,7 +3,7 @@
 \page tutorial-boost-vs Tutorial: How to boost your visual servo control law
 \tableofcontents
 
-\section intro Introduction
+\section intro_boost_vs Introduction
 
 This tutorial gives some hints to boost your visual servo control law in order to speed up the time to convergence.
 
diff --git a/doc/tutorial-calibration.doc b/doc/tutorial-calibration.doc
index 4df3bee73f8eef5598b15bd2f971dc86e3cd0def..f4d4bca08bddba125ab06c830172dc1dbc4b1ffd 100644
--- a/doc/tutorial-calibration.doc
+++ b/doc/tutorial-calibration.doc
@@ -207,40 +207,18 @@ Once the camera is calibrated, you can remove the distortion in the images. The
 \include tutorial-undistort.cpp
 
 In this example we first load the image \c chessboard.pgm
+\snippet tutorial-undistort.cpp Load image
 
-\code
-  vpImage<unsigned char> I;
-  vpImageIo::read(I, "chessboard.pgm");
-\endcode
-
-Then we read the camera parameters with distortion of a camera named "Camera" from \c ./camera.xml file. This is only possible if ViSP was build with \c libxml2 3rd party support.
+Then we read the camera parameters with distortion of a camera named "Camera" from \c ./camera.xml file. This is only possible if ViSP was build with \c libxml2 3rd party support. 
 
-\code
-  vpCameraParameters cam;
-#ifdef VISP_HAVE_XML2
-  vpXmlParserCamera p;
-  vpCameraParameters::vpCameraParametersProjType projModel;
-  projModel = vpCameraParameters::perspectiveProjWithDistortion;
-  if (p.parse(cam, "camera.xml", "Camera", projModel, I.getWidth(), I.getHeight()) != vpXmlParserCamera::SEQUENCE_OK) {
-    std::cout << "Cannot found parameters for camera named \"Camera\"" << std::endl;
-  }
-\endcode
+\snippet tutorial-undistort.cpp Load camera parameters from xml
 
 If vpXmlParserCamera is not available (this may occur if ViSP was not build with \c libxml2), we initialize the camera parameters "by hand" using the following code:
-
-\code
-#else
-  cam.initPersProjWithDistortion(582.7, 580.6, 326.6, 215.0, -0.3372, 0.4021);
-#endif
-\endcode
+\snippet tutorial-undistort.cpp Set camera parameters
 
 Finally, we create a new image \c Iud where distortion is removed. This image is saved in \c chessboard-undistort.pgm.
 
-\code
-  vpImage<unsigned char> Iud;
-  vpImageTools::undistort(I, cam, Iud);
-  vpImageIo::write(Iud, "chessboard-undistort.pgm");
-\endcode
+\snippet tutorial-undistort.cpp Create image without distorsion
 
 The resulting \c chessboard-undistort.pgm image is the following.
 
diff --git a/doc/tutorial-detection-barcode.doc b/doc/tutorial-detection-barcode.doc
new file mode 100644
index 0000000000000000000000000000000000000000..2a3438353ea7b0b7367a821f03434f67fb209d1e
--- /dev/null
+++ b/doc/tutorial-detection-barcode.doc
@@ -0,0 +1,99 @@
+/**
+
+\page tutorial-detection-barcode Tutorial: Bar code detection
+\tableofcontents
+
+\section intro_barcode Introduction
+
+This tutorial shows how to detect one or more barcodes with ViSP. To this end we provide two classes that are wrapper over 3rd party libraries:
+- vpDetectorQRCode that is a wrappers over zbar library <http://zbar.sourceforge.net>. It allows to detect QR codes
+- vpDetectorDataMatrix this is a wrapper over dmtx library <http://www.libdmtx.org>. It allows to detect Data Matrix codes.
+
+These classes inherit from vpDetectorBase class, a generic class dedicated to detection. For each detected bar code, it allows to retrieve some characteristics such as the bar code message if it exists, and in the image the polygon that contains the bar code, the bounding box or the center of gravity of the bar code.
+
+In the next sections you will find examples that show how to detect codes in a single image and or in images acquired from a camera connected to your computer.
+
+\section barcode_detection_basic Bar code detection (single image)
+
+The following example also available in tutorial-barcode-detector.cpp allows to detect either a QR code or Data Matrix on a single image. The user can select with --code-type option which code to detect.
+
+\include tutorial-barcode-detector.cpp
+
+To detect a QR code just run:
+\code
+$ ./tutorial-barcode-detector --code-type 0
+\endcode
+You will get the following result:
+
+\image html img-detection-qrcode.png
+
+To detect a Data Matrix code just run:
+\code
+$ ./tutorial-barcode-detector --code-type 1
+\endcode
+You will get the following result:
+
+\image html img-detection-datamatrix.png
+
+Now we explain the main lines of the source.
+
+First we have to include the header of the two classes that allow to detect either the QR code or the Data Matrix code.
+\snippet tutorial-barcode-detector.cpp Include
+
+Then in the main() function before going further we need to check if at least one of the third party (zbar or dmtx libraries) were used to build ViSP. We also check if ViSP is able to display images using either X11, or the Graphical Device Interface (GDI) under Windows, or OpenCV. 
+
+\snippet tutorial-barcode-detector.cpp Macro defined
+
+After reading the input image \e bar-code.pgm and creation of a display device in order to visualize the image, we create a NULL pointer to a detector base class.
+
+\snippet tutorial-barcode-detector.cpp Create base detector 
+
+Since the classes that allow to detect QR codes and Data Matrix codes inherit from vpDetectorBase, using the variable  \e opt_barcode we are able to construct the requested detector.
+
+\snippet tutorial-barcode-detector.cpp Create detector
+ 
+We are now reader to detect the bar code in the image.
+
+\snippet tutorial-barcode-detector.cpp Detection
+
+If one or more bar codes are detected, the variable \e status is set to \e true.
+In that case, we can retrieve the number of detected bar codes in order to create a for loop over the codes.
+
+\snippet tutorial-barcode-detector.cpp Parse detected codes
+
+For each code, we can then get the location of the 4 points that define the polygon that contains the code, but also the bounding box.
+
+\snippet tutorial-barcode-detector.cpp Get location
+
+And finally, if it exists, we are also able to get the message that is coded in the bar code.
+
+\snippet tutorial-barcode-detector.cpp Get message
+
+
+\section barcode_detection_live Bar code detection (live camera)
+
+This other example also available in tutorial-barcode-detector-live.cpp shows how to couple the bar code detector to an image grabber in order to detect bar codes on each new image acquired by a camera connected to your computer.
+
+\include tutorial-barcode-detector-live.cpp
+
+The usage of this example is similar to the previous one:
+- with option --code-type you select if you want to detect a QR code (use --code-type 0) or a Data Matrix (use --code-type 1).
+- if more than one camera is connected to you computer, with option --device you can select which camera to use. The first camera that is found has number 0.
+
+To detect QR codes on images acquired by a second camera connected to your computer use:
+\code
+$ ./tutorial-barcode-detector-live --code-type 0 --device 1
+\endcode
+
+The source code of this example is very similar to the previous one except that here we use camera framegrabber devices (see \ref tutorial-grabber). Two different grabber may be used:
+- If ViSP was build with Video For Linux (V4L2) support available for example on Fedora or Ubuntu distribution, VISP_HAVE_V4L2 macro is defined. In that case, images coming from an USB camera are acquired using vpV4l2Grabber class. 
+- If ViSP wasn't build with V4L2 support, but with OpenCV we use cv::VideoCapture class to grab the images. Notice that when images are acquired with OpenCV there is an additional conversion from cv::Mat to vpImage.
+
+\snippet tutorial-barcode-detector-live.cpp Construct grabber
+
+Then in the while loop, at each iteration we acquire a new image
+\snippet tutorial-barcode-detector-live.cpp Acquisition
+
+This new image is then given as input to the bar code detector.
+
+*/
diff --git a/doc/tutorial-detection-face.doc b/doc/tutorial-detection-face.doc
new file mode 100644
index 0000000000000000000000000000000000000000..f6b45192443fa6641d5a7fb6f68473dc6156a809
--- /dev/null
+++ b/doc/tutorial-detection-face.doc
@@ -0,0 +1,103 @@
+/**
+
+\page tutorial-detection-face Tutorial: Face detection
+\tableofcontents
+
+\section intro_face Introduction
+
+This tutorial shows how to detect one or more faces with ViSP. Face detection is performed using OpenCV Haar cascade capabilities that are used in vpDetectorFace class. At least OpenCV 2.2.0 or a more recent version is requested.
+
+In the next sections you will find examples that show how to detect faces in a video, or in images acquired by a camera connected to your computer.
+
+\section face_detection_video Face detection in a video
+
+The following example also available in tutorial-face-detector.cpp allows to detect faces in an mpeg video located near the source code. The Haar cascade classifier file requested by OpenCV is also provided in the same folder as the source code.
+
+\include tutorial-face-detector.cpp
+
+To detect the faces just run:
+\code
+$ ./tutorial-face-detector
+\endcode
+You will get the following result:
+
+\htmlonly
+<iframe width="420" height="315" src="https://www.youtube.com/embed/zizukjfNLvE" frameborder="0" allowfullscreen></iframe>
+\endhtmlonly
+
+Now we explain the main lines of the source.
+
+First we have to include the header of the class that allows to detect a face.
+\snippet tutorial-face-detector.cpp Include
+
+Then in the main() function before going further we need to check if OpenCV 2.2.0 is available. 
+
+\snippet tutorial-face-detector.cpp Macro defined
+
+We set then the default input data:
+- the name of the Haar cascade classifier file "haarcascade_frontalface_alt.xml"
+- the name of the input video "video.mpeg"
+
+\snippet tutorial-face-detector.cpp Default settings
+
+With command line options it is possible to use other inputs. To know how just run:
+
+\code
+$ ./tutorial-face-detector --help
+Usage: ./tutorial-face-detector [--haar <haarcascade xml filename>] [--video <input video file>] [--help]
+\endcode
+
+Then we open the video stream, create a windows named "ViSP viewer" where images and the resulting face detection will be displayed.
+  
+The creation of the face detector is performed using
+
+\snippet tutorial-face-detector.cpp Face detector construction
+ 
+We need also to set the location and name of the xml file that contains the Haar cascade classifier data used to recognized a face.
+
+\snippet tutorial-face-detector.cpp Face detector setting
+
+Then we enter in the while loop where for each new image, the try to detect one or more faces:
+
+\snippet tutorial-face-detector.cpp Face detection
+
+If a face is detected, vpDetectorFace::detect() returns true. It is then possible to retrieve the number of faces that are detected:
+
+\snippet tutorial-face-detector.cpp Get number faces
+
+For each face, we have access to its location using vpDetectorFace::getPolygon(), its bounding box using vpDetectorFace::getBBox() and its identifier message using vpDetectorFace::getMessage().
+
+\snippet tutorial-face-detector.cpp Get face characteristics
+
+\note When more than one face is detected, faces are ordered from the largest to the smallest. That means that vpDetectorFace::getPolygon(0), vpDetectorFace::getBBox(0) and vpDetectorFace::getMessage(0) return always the characteristics of the largest face.
+
+\section face_detection_live Face detection from a camera
+
+This other example also available in tutorial-face-detector-live.cpp shows how to detect one or more faces in images acquired by a camera connected to your computer.
+
+\include tutorial-face-detector-live.cpp
+
+The usage of this example is similar to the previous one. Just run 
+\code
+$ ./tutorial-face-detector-live
+\endcode
+
+Additional command line options are available to specify the location of the Haar cascade file and also the camera identifier if more than one camera is connected to your computer:
+
+\code
+$ ./tutorial-face-detector-live --help
+Usage: ./tutorial-face-detector-live [--device <camera device>] [--haar <haarcascade xml filename>] [--help]
+\endcode
+
+The source code of this example is very similar to the previous one except that here we use camera framegrabber devices (see \ref tutorial-grabber). Two different grabber may be used:
+- If ViSP was build with Video For Linux (V4L2) support available for example on Fedora or Ubuntu distribution, VISP_HAVE_V4L2 macro is defined. In that case, images coming from an USB camera are acquired using vpV4l2Grabber class. 
+- If ViSP wasn't build with V4L2 support, but with OpenCV we use cv::VideoCapture class to grab the images. Notice that when images are acquired with OpenCV there is an additional conversion from cv::Mat to vpImage.
+
+\snippet tutorial-face-detector-live.cpp Construct grabber
+
+Then in the while loop, at each iteration we acquire a new image
+\snippet tutorial-face-detector-live.cpp Acquisition
+
+This new image is then given as input to the face detector.
+
+*/
diff --git a/doc/tutorial-detection-object.doc b/doc/tutorial-detection-object.doc
new file mode 100644
index 0000000000000000000000000000000000000000..553c9527431c4a726144448af5d7e0a90261ddf7
--- /dev/null
+++ b/doc/tutorial-detection-object.doc
@@ -0,0 +1,125 @@
+/**
+
+\page tutorial-detection-object Tutorial: Object detection and localization
+\tableofcontents
+
+This tutorial will show you how to use keypoints to detect and estimate the pose of a known object using his cad model. The first step consists in detecting and learning keypoints located on the faces of an object, while the second step makes the matching between the detected keypoints in the query image with those previously learned. The pair of matches are then used to estimate the pose of the object with the knowledge of the correspondences between the 2D and 3D coordinates.
+
+The next section presents a basic example of the detection of a teabox with a detailed description of the different steps.
+
+\section object_detection Object detection using keypoints
+
+\subsection detection_object_preamble Preamble
+
+You are advised to read the following tutorials \ref tutorial-tracking-mb and \ref tutorial-matching if you are not aware of these concepts.
+
+\subsection detection_object_principle Principle of object detection using keypoints
+
+A quick overview of the principle is summed-up in the following diagrams.
+
+\image html img-learning-step.png Learning step.
+
+The first part of the process consists in learning the characteristics of the considered object by extracting the keypoints detected on the different faces.
+We use here the model-based tracker initialized given a known initial pose to have access to the cad model of the object. The cad model is then used to select only keypoints on faces that are visible and to calculate the 3D coordinates of keypoints.
+
+\note The calculation of the 3D coordinates of a keypoint is based on a planar location hypothesis. We assume that the keypoint is located on a planar face and the Z-coordinate is retrieved according to the proportional relation between the plane equation expressed in the normalized camera frame (derived from the image coordinate) and the same plane equation expressed in the camera frame, thanks to the known pose of the object.
+
+In this example the learned data (the list of 3D coordinates and the corresponding descriptors) are saved in a file and will be used later in the detection part.
+
+\image html img-detection-step.png Detection step.
+
+In a query image where we want to detect the object, we find the matches between the keypoints detected in the current image with those previously learned.
+The estimation of the pose of the object can then be computed with the 3D/2D information.
+
+The next section presents an example of the detection and the pose estimation of a teabox.
+
+\subsection detection_object_teabox_example Teabox detection and pose estimation
+
+The following example comes from tutorial-detection-object-mbt.cpp and shows the different steps to detect and get the pose of a teabox.
+
+\include tutorial-detection-object-mbt.cpp
+
+You may recognize with the following lines the code used in \ref tutorial-mb-edge-tracker.cpp to initialize the model-based tracker at a given pose and with the appropriate configuration.
+
+\snippet tutorial-detection-object-mbt.cpp MBT code
+
+The modifications made to the code start from now.
+
+First, we have to choose about which type of keypoints will be used. SIFT keypoints are a widely type of keypoints used in computer vision, but depending of your version of OpenCV and due to some patents, certain types of keypoints will not be available.
+Here, we will use SIFT if available, otherwise a combination of FAST keypoint detector and ORB descriptor extractor.
+
+\snippet tutorial-detection-object-mbt.cpp Keypoint selection
+
+The following line declares an instance of the vpKeyPoint class :
+
+\snippet tutorial-detection-object-mbt.cpp Keypoint declaration
+
+If libxml2 is available, you can load the configuration (type of detector, extractor, matcher, ransac pose estimation parameters) directly with an xml configuration file :
+
+\snippet tutorial-detection-object-mbt.cpp Keypoint xml config
+
+Otherwise, the configuration must be made in the code.
+
+\snippet tutorial-detection-object-mbt.cpp Keypoint code config
+
+We then detect keypoints in the reference image with the object we want to learn : 
+
+\snippet tutorial-detection-object-mbt.cpp Keypoints reference detection
+
+But we need to keep keypoints only on faces of the teabox. This is done by using the model-based tracker to first eliminate keypoints which do not belong to the teabox and secondly to have the plane equation for each faces (and so to be able to compute the 3D coordinate from the 2D information).
+
+\snippet tutorial-detection-object-mbt.cpp Keypoints selection on faces
+
+The next step is the building of the reference keypoints. The descriptors for each keypoints are also extracted and the reference data consist of the lists of keypoints / descriptors and the list of 3D points.
+
+\snippet tutorial-detection-object-mbt.cpp Keypoints build reference
+
+We save the learning data in a binary format (the other possibilitie is to save in an xml format but which takes more space) to be able to use it later.
+
+\snippet tutorial-detection-object-mbt.cpp Save learning data
+
+We then visualize the result of the learning process by displaying with a cross the location of the keypoints:
+
+\snippet tutorial-detection-object-mbt.cpp Display reference keypoints
+
+We declare now another instance of the vpKeyPoint class dedicated this time to the detection of the teabox. If libxml2 is available, the configuration is directly loaded from an xml file, otherwise this is done directly in the code.
+
+\snippet tutorial-detection-object-mbt.cpp Init keypoint detection
+
+The previously saved binary file corresponding to the teabox learning data is loaded:
+
+\snippet tutorial-detection-object-mbt.cpp Load teabox learning data
+
+We are now ready to detect the teabox in a query image. The call to the function vpKeyPoint::matchPoint() returns true if the matching was successful and permits to get the estimated homogeneous matrix corresponding to the pose of the object. The reprojection error is also computed.
+
+\snippet tutorial-detection-object-mbt.cpp Matching and pose estimation
+
+In order to display the result, we use the tracker initialized at the estimated pose and we display also the location of the world frame:
+
+\snippet tutorial-detection-object-mbt.cpp Tracker set pose
+\snippet tutorial-detection-object-mbt.cpp Display
+
+The pose of the detected object can then be used to initialize a tracker automatically rather then using a human initialization; see \ref tutorial-tracking-mb and \ref tutorial-tracking-tt.
+
+\subsection detection_object_quick_explanation Quick explanation about some parameters used in the example
+
+The content of the configuration file named detection-config-SIFT.xml and provided with this example is described in the following lines :
+
+\include detection-config-SIFT.xml
+
+In this configuration file, SIFT keypoints are used.
+
+Let us explain now the configuration of the matcher:
+- a brute force matching will explore all the possible solutions to match a considered keypoints detected in the current image to the closest (in descriptor distance term) one in the reference set, contrary to the other type of matching using the library FLANN (Fast Library for Approximate Nearest Neighbors) which contains some optimizations to reduce the complexity of the solution set,
+- to eliminate some possible false matching, one technique consists of keeping only the keypoints whose are sufficienly discriminated using a ratio test.
+
+Now, for the Ransac pose estimation part :
+- two methods are provided to estimate the pose in a robust way: one using OpenCV, the other method uses a virtual visual servoing approach using ViSP,
+- basically, a Ransac method is composed of two steps repeated a certain number of iterations: first we pick randomly 4 points and estimate the pose, the second step is to keep all points which sufficienly "agree" (the reprojection error is below a threshold) with the pose determinated in the first step. These points are inliers and form the consensus set, the other are outliers.
+If enough points are in the consensus set (here 20 % of all the points), the pose is refined and returned, otherwise another iteration is made (here 200 iterations maximum).
+
+Below you will also find the content of detection-config.xml configuration file, also provided in this example. It allows to use FAST detector and ORB extractor.
+
+\include detection-config.xml
+
+*/
diff --git a/doc/tutorial-getting-started-iOS.doc b/doc/tutorial-getting-started-iOS.doc
index cafc84704fcaba86aa2b290f51119381ebfca60a..c36ea6c9bf3e080d0b48f1b8021baec83bddbe5b 100644
--- a/doc/tutorial-getting-started-iOS.doc
+++ b/doc/tutorial-getting-started-iOS.doc
@@ -1,6 +1,6 @@
 
 /**
-  \page tutorial-getting-started-iOS Tutorial: Getting started for iOS
+  \page tutorial-getting-started-iOS Tutorial: How to create and build a CMake project that uses ViSP on iOS 
   \tableofcontents
 
 
diff --git a/doc/tutorial-getting-started.doc b/doc/tutorial-getting-started.doc
index e8bc1c9d00c8b3b976e04d8e95d63c3e92acdd33..2a51888a323f75cb049e307960e05654c5bf9153 100644
--- a/doc/tutorial-getting-started.doc
+++ b/doc/tutorial-getting-started.doc
@@ -1,12 +1,19 @@
 
 /**
-  \page tutorial-getting-started Tutorial: Getting started
+  \page tutorial-getting-started Tutorial: How to create and build a CMake project that uses ViSP on Unix or Windows 
   \tableofcontents
 
 \note We assume in this tutorial that you have successfully installed ViSP. Information on ViSP installation is provided in:
- - \ref tutorial-install-ubuntu
- - \ref tutorial-install-win
- - or on <a href="http://www.irisa.fr/lagadic/visp/install.html">Install from source page</a>
+- \ref tutorial-install-ubuntu
+- \ref tutorial-install-fedora
+- \ref tutorial-install-opensuse
+- \ref tutorial-install-raspberry
+- \ref tutorial-install-win7
+- \ref tutorial-install-win81-msvc
+- \ref tutorial-install-win81-mingw64
+- \ref tutorial-install-iOS
+- \ref tutorial-install-ubuntu-package
+- or on <a href="http://www.irisa.fr/lagadic/visp/install.html">Install from source page</a>
 
 In this tutorial you will learn how to use ViSP either on Unix-like systems (including OSX, Fedora, Ubuntu, Debian, ...) or on Windows.
 
@@ -21,68 +28,30 @@ Let's start to write our first program to see how to read an image and
 \include tutorial-viewer.cpp
 
 Here is the detailed explanation of the source, line by line :
-\code
-#include <visp/vpDisplayD3D.h>
-#include <visp/vpDisplayGDI.h>
-#include <visp/vpDisplayGTk.h>
-#include <visp/vpDisplayX.h>
-#include <visp/vpDisplayOpenCV.h>
-\endcode
-  Include all the headers for image viewers. The two first one are for Windows systems. They require that Direct 3D or the \e Graphical \e Device \e Interface (\e GDI) coming with the installation of Visual Studio are available. The third one needs GTK that is cross-platform. The fourth is for unix-like systems and requires that \e libX11 is available. The last one is also cross-platform and requires that OpenCV is available. 
+\snippet tutorial-viewer.cpp Include display
 
-\code
-#include <visp/vpImageIo.h>
-\endcode
+Include all the headers for image viewers. The two first one are for Windows systems. They require that Direct 3D or the \e Graphical \e Device \e Interface (\e GDI) coming with the installation of Visual Studio are available. The third one needs GTK that is cross-platform. The fourth is for unix-like systems and requires that \e libX11 is available. The last one is also cross-platform and requires that OpenCV is available. 
+
+\snippet tutorial-viewer.cpp Include io
 Include the header that allows to read/write PGM, PPM, PNG and JPEG images from the disk using vpImageIo class.
 
-\code
-vpImage<vpRGBa> I;
-\endcode
+\snippet tutorial-viewer.cpp vpImage construction
 Create an instance of a color image where each pixel is coded in RGBa.
 
-\code
-try {
-  vpImageIo::read(I, argv[1]);
-}
-catch(...) {
-  std::cout << "Cannot read image \"" << argv[1] << "\"" << std::endl;
-  return -1;
-}
-\endcode
+\snippet tutorial-viewer.cpp vpImage reading
 The image \c I is initialized by reading an image file from the disk. If the image format is not supported we throw an exception.
 
-\code
-#if defined(VISP_HAVE_X11)
-vpDisplayX d(I);
-#elif defined(VISP_HAVE_OPENCV)
-vpDisplayOpenCV d(I);
-#elif defined(VISP_HAVE_GTK)
-vpDisplayGTK d(I);
-#elif defined(VISP_HAVE_GDI)
-vpDisplayGDI d(I);
-#elif defined(VISP_HAVE_D3D9)
-vpDisplayD3d d(I);
-#else
-std::cout << "No image viewer is available..." << std::endl;
-#endif
-\endcode
+\snippet tutorial-viewer.cpp vpDisplay construction
 Create an instance of an image display window for image \c I. The first viewer that is available is used. Here we create the link between the image \c I and the display \c d. Note that an image can only have one display. 
 
-\code
- vpDisplay::setTitle(I, "My image");
-\endcode
+\snippet tutorial-viewer.cpp vpDisplay set title
 The title of the display is then set to \c "My image".  
 
-\code
-  vpDisplay::display(I);
-  vpDisplay::flush(I);
-\endcode
-  First we display the content of the image \c I, then we flush the display to render the image.
+\snippet tutorial-viewer.cpp vpDisplay display
+First we display the content of the image \c I, then we flush the display to render the image.
 
-\code
-  vpDisplay::getClick(I);
-\endcode
-  Here we handle mouse events. We are waiting for a blocking mouse click to end the program.
+\snippet tutorial-viewer.cpp vpDisplay get click
+Here we handle mouse events. We are waiting for a blocking mouse click to end the program.
 
 \section image_cmake Create a CMake file
 
@@ -91,40 +60,25 @@ Now you have to create your \c CMakeLists.txt file. It should look like this:
 \code
 project(tutorial-image)
 
-cmake_minimum_required(VERSION 2.6)
+cmake_minimum_required(VERSION 2.8)
 
 find_package(VISP REQUIRED)
-if(VISP_FOUND)
-  add_definitions(${VISP_DEFINITIONS})
-  include_directories(${VISP_INCLUDE_DIRS})
-  link_directories(${VISP_LIBRARY_DIRS})
-  link_libraries(${VISP_LIBRARIES})
-endif(VISP_FOUND)
+
+include_directories(${VISP_INCLUDE_DIRS})
 
 add_executable(tutorial-viewer tutorial-viewer.cpp)
+target_link_libraries(tutorial-viewer ${VISP_LIBRARIES})
 \endcode
 
 The \c find_package() CMake command searches for a \c VISPConfig.cmake file that will define the corresponding variables:
-- \c VISP_ROOT_DIR       : ViSP base directory location
 - \c VISP_INCLUDE_DIRS   : ViSP and third-party headers location
-- \c VISP_LIBRARY_DIRS   : ViSP and third-party libraries location
-- \c VISP_LIBRARY        : ViSP library name
-- \c VISP_LIBRARIES      : ViSP and third-party libraries name
-- \c VISP_DEFINITIONS    : Defines required to build with ViSP
-
-In the previous \c CMakeLists.txt file, it is also possible to remove the line that started with \c link_libraries() and to specifically link a binary with ViSP using:
+- \c VISP_LIBRARIES      : ViSP and third-party libraries name and location
 
-\code
-...
-add_executable(tutorial-viewer tutorial-viewer.cpp)
-target_link_libraries(tutorial-viewer ${VISP_LIBRARIES})
-\endcode
-
-Note also that the previous \c CMakeLists.txt file can also be:
+Note that the previous \c CMakeLists.txt file can also be:
 \code
 project(tutorial-image)
 
-cmake_minimum_required(VERSION 2.6)
+cmake_minimum_required(VERSION 2.8)
 
 find_package(VISP REQUIRED)
 if(VISP_FOUND)
@@ -140,9 +94,7 @@ where \c VISP_USE_FILE variable is set to the full path to \c VISPUse.cmake file
 \endcode
 will include the following lines to your \c CMakeFile.txt
 \code
-  add_definitions(${VISP_DEFINITIONS})
   include_directories(${VISP_INCLUDE_DIRS})
-  link_directories(${VISP_LIBRARY_DIRS})
   link_libraries(${VISP_LIBRARIES})
 \endcode
 
@@ -173,13 +125,15 @@ CMake Error at CMakeLists.txt:5 (find_package):
 
 To help \c cmake to find \c VISPConfig.cmake file, just set \c VISP_DIR environment variable and call \c cmake again:
 \code
-export VISP_DIR=/home/ViSP-install-folder
+export VISP_DIR=/home/ViSP-install-folder/lib/<multi-arch-folder>/cmake/visp
 cmake .
 \endcode
 or run cmake with the additional VISP_DIR definition
 \code
-cmake -DVISP_DIR=/home/ViSP-install-folder .
+cmake -DVISP_DIR=/home/ViSP-install-folder/lib/<multi-arch-folder>/cmake/visp .
 \endcode
+
+Depending on the platform "<multi-arch-folder>" can be empty (OSX) or for example equal to "x86_64-linux-gnu" on Ubuntu.
  
 
 \subsection image_unix_build Generate the executable
diff --git a/doc/tutorial-grabber.doc b/doc/tutorial-grabber.doc
index e612372b244e6ad98c1616688ca08dc57f8108aa..3c2cf4df648651f09e7165ea3c2c82eb4c92ff93 100644
--- a/doc/tutorial-grabber.doc
+++ b/doc/tutorial-grabber.doc
@@ -7,22 +7,17 @@
   \section grabber-camera-firewire-unix Images from firewire cameras
 
 
-The next example shows how to use a framegrabber to acquire color images from a firewire camera under Unix. The following example suppose that libX11 and libdc1394-2 3rd party are available.
+The next example also available in tutorial-grabber-1394.cpp shows how to use a framegrabber to acquire color images from a firewire camera under Unix. The following example suppose that libX11 and libdc1394-2 3rd party are available.
 
 \include tutorial-grabber-1394.cpp
 
 Here after we explain the new lines that are introduced.
 
 First an instance of the frame grabber is created. During the creating a bus reset is send. If you don't want to reset the firewire bus, just turn reset to false.
-\code
-   vp1394TwoGrabber g(reset);
-\endcode
+\snippet tutorial-grabber-1394.cpp vp1394TwoGrabber construction
 
 Once the grabber is created, we set the camera image size, color coding, and framerate. 
-\code
-  g.setVideoMode(vp1394TwoGrabber::vpVIDEO_MODE_640x480_MONO8);
-  g.setFramerate(vp1394TwoGrabber::vpFRAMERATE_60);
-\endcode
+\snippet tutorial-grabber-1394.cpp vp1394TwoGrabber settings
 
 Note that here you can specify some other settings such as the firewire transmission speed. For a more complete list of settings see vp1394TwoGrabber class. 
 \code
@@ -30,56 +25,46 @@ Note that here you can specify some other settings such as the firewire transmis
 \endcode
 
 Then the grabber is initialized using:
-\code
-  g.open(I);
-\endcode
-From now the color image \c I is also initialized with the size corresponding to the grabber settings. 
+\snippet tutorial-grabber-1394.cpp vp1394TwoGrabber open
 
+From now the color image \c I is also initialized with the size corresponding to the grabber settings. 
 
 Then we enter in a while loop where image acquisition is simply done by:
-
-\code
-  g.acquire(I);
-\endcode
+\snippet tutorial-grabber-1394.cpp vp1394TwoGrabber acquire
 
 We are waiting for a non blocking mouse event to break the while loop before ending the program.
-\code
-  if (vpDisplay::getClick(I, false)) break;
-\endcode
+\snippet tutorial-grabber-1394.cpp vp1394TwoGrabber click to exit
 
 In the previous example we use vp1394TwoGrabber class that works for firewire cameras under Unix. If you are under Windows, you may use vp1394CMUGrabber class. A similar example is provided in tutorial-grabber-CMU1394.cpp. 
 
-
 \section grabber-camera-other Images from other cameras
 
-
 If you want to grab images from an usb camera under Unix, you may use vpV4l2Grabber class. To this end libv4l should be installed. An example is provided in tutorial-grabber-v4l2.cpp. 
 
 It is also possible to grab images using OpenCV. You may find examples in tutorial-grabber-opencv.cpp and tutorial-grabber-opencv-bis.cpp.
 
 \section grabber-video-stream Images from a video stream
 
-With ViSP it also possible to get images from an input video stream. To this end we exploit ffmpeg 3rd party. The example below available in tutorial-grabber-video.cpp shows how o consider an mpeg video stream:
+With ViSP it also possible to get images from an input video stream. Supported formats are *.avi, *.mp4, *.mov, *.ogv, *.flv and many others... To this end we exploit ffmpeg or OpenCV 3rd parties.
+
+If ViSP was build with ffmpeg 3rd party support (cmake -DUSE_FFMPEG=ON ...), we use ffmpeg capabilities to decode the video stream. If ffmpeg is not found or used (cmake -DUSE_FFMPEG=OFF ...) and if OpenCV is available (cmake -DUSE_OPENCV=ON ...) we use rather OpenCV capabilities. This new feature was introduced in ViSP 2.10.0 and is especially useful under Windows where installing ffmpeg is quite complex. 
+
+The example below available in tutorial-video-reader.cpp shows how o consider an mpeg video stream.
+
+\warning We recall that this example works only if ViSP was build with ffmpeg or OpenCV support.
 
-\include tutorial-grabber-video.cpp
+\include tutorial-video-reader.cpp
 
 We explain now the new lines that were introduced.
 
-\code
-#include <visp/vpTime.h>
-#include <visp/vpVideoReader.h>
-\endcode
+\snippet tutorial-video-reader.cpp Include
 Include the header of the vpTime class that allows to measure time, and of the vpVideoReader class that allows to read a video stream.
 
-\code
-  vpVideoReader g;
-\endcode
+\snippet tutorial-video-reader.cpp vpVideoReader construction
 Create an instance of a video reader.
 
-\code
-  g.setFileName("./video.mpg");
-\endcode
-Set the name of the video stream. Here \c video.mpg refers to a mpeg file located in the same folder than the executable.
+\snippet tutorial-video-reader.cpp vpVideoReader setting
+Set the name of the video stream. Here \c videoname corresponds to a video file name location. For example we provide the file \c video.mpg located in the same folder than the executable.
 
 The vpVideoReader class can also handle a sequence of images. For example, to read the following images:
 
@@ -93,40 +78,29 @@ image0004.png
 ...
 \endcode
 
-you may use the following
+you may use the following:
 
 \code
   g.setFileName("./image%04d.png");
 \endcode
-where you specify that each image number is coded with 4 digits. Here, ffmpeg is no yet mandatory, but rather \c libpng that should be available to read PNG images. Supported image formats are PPM, PGM, PNG and JPEG. In the last case, \c libjpeg should be installed.
+where you specify that each image number is coded with 4 digits. Here, ffmpeg is no yet mandatory, but rather \c libpng or OpenCV that should be available to read PNG images. Supported image formats are PPM, PGM, PNG and JPEG. 
 
 Then as for any other grabber, you have to initialize the frame grabber using:
 
-\code
-  g.open(I);
-\endcode
+\snippet tutorial-video-reader.cpp vpVideoReader open
 
 Then we enter in the while loop until the last image was not reached:
-\code
-  while (! g.end() ) {  
-\endcode
+\snippet tutorial-video-reader.cpp vpVideoReader while loop
 
 To get the next image in the stream, we just use:
-
-\code
-  g.acquire(I);
-\endcode
+\snippet tutorial-video-reader.cpp vpVideoReader acquire
 
 To synchronize the video decoding with the video framerate, we measure the beginning time of each loop iteration:
 
-\code
-  double t = vpTime::measureTimeMs();
-\endcode
+\snippet tutorial-video-reader.cpp vpVideoReader loop start time
 
 The synchronization is done by waiting from the beginning of the iteration the corresponding time expressed in milliseconds by using:
-\code
-  vpTime::wait(t, 1000. / g.getFramerate());
-\endcode
+\snippet tutorial-video-reader.cpp vpVideoReader loop rate
 
 You are now ready to see the next \ref tutorial-tracking-blob.
 */
diff --git a/doc/tutorial-homography-deprecated.doc b/doc/tutorial-homography-deprecated.doc
new file mode 100644
index 0000000000000000000000000000000000000000..dbc058f451029f84990dbf58a7334f4900a7e540
--- /dev/null
+++ b/doc/tutorial-homography-deprecated.doc
@@ -0,0 +1,131 @@
+/**
+
+\page tutorial-homography-deprecated Tutorial: Homography estimation from points (deprecated)
+
+\tableofcontents
+
+\section intro_homo_deprecated Introduction
+
+\note The second part of this tutorial is deprecated if your OpenCV version is equal to 2.8.0 or more recent. If so you should rather follow \ref tutorial-homography.
+
+This tutorial shows how to estimate an homography from points. Two cases are considered in the next sections:
+- points are matched without possible mismatches. In that case vpHomography::DLT() or vpHomography::HLM() are used to estimate the homography,
+- points are matched with possible mismatches. In that case vpHomography::ransac() or vpHomography::robust() are used.
+
+\section homography_deprecated Homography estimation
+
+Let us consider the following source code also available in tutorial-homography-from-points.cpp. To resume, we do the following:
+- define four 3D points \c oP in an object frame, 
+- define an homogeneous transformation \c aMo from frame \c a to to the object frame \c o,
+- define a similar homogeneous transformation \c bMo from frame \c b to to the object frame \c o,
+- compute the coordinates of the four 3D points in the image plane \c a and \c b. These are the matched coordinates \c (xa,ya) and \c (xb,yb) that are then used to estimate the homography using either vpHomography::DLT() or vpHomography::HLM().
+    
+\include tutorial-homography-from-points.cpp
+
+Now we give a line by line explanation of the code:
+
+First we have to include the header of the vpHomography class.
+\snippet tutorial-homography-from-points.cpp Include
+
+In the main() function we first define the 3D coordinates of 4 points that are localized in the plane Z=0:
+\snippet tutorial-homography-from-points.cpp Set 3D points
+
+Then we define the homogeneous transformations between frames \c a, \c b and object frame \c o:
+\snippet tutorial-homography-from-points.cpp Simulation
+
+From these transformations we compute the coordinates of the points in the image plane \c a and \c b. For each point we have its coordinates \c (xa,ya) in frame \c a and \c (xb,yb) in frame \c b:
+\snippet tutorial-homography-from-points.cpp Image plane coordinates
+
+We have now matched couples of coordinates of four points that are used to estimate an homography between image plane \c a and \c b. Two methods are available, either using the DLT (Direct Linear Transform) algorithm or the HLM algorithm.
+\snippet tutorial-homography-from-points.cpp Compute homography
+
+\note Note that vpHomography::HLM() allows to consider points that are not coplanar.
+  
+Once the homography is estimated, the vpHomography class allows to extract the 3D homogeneous transformation between frames \c a and \c b:
+\snippet tutorial-homography-from-points.cpp Get transformation
+
+Just for fun we print the values to this transformation using:
+\snippet tutorial-homography-from-points.cpp Print results
+
+This code lead to the following output:
+\code
+Estimated displacement:
+ atb: 0.2016519874  -0.1008259937  0.1008259937  
+ athetaub: -3 20 5 
+ n: 0.2588190451  -1.124100812e-14  0.9659258263  
+\endcode
+where we can see that the values for \c atb and \c athetaub are the one specified at the beginning of the source code during \c aMb initialization.
+
+After we show how to retrieve the coordinates in pixels of a point (here point [3]) in the corresponding images using camera parameters:
+\snippet tutorial-homography-from-points.cpp Get pixel coordinates
+
+At the end, we show how to project a point with pixel coordinates from image \c b to image \c a using the homography:
+\snippet tutorial-homography-from-points.cpp Project
+
+This last part of the code produce the following output:
+\code
+Ground truth: Point 3 in pixels in frame b: 377.9450564, 193.9928711
+Ground truth: Point 3 in pixels in frame a: 353.8501593, 486.1851856
+Estimation from homography: Point 3 in pixels in frame a: 353.8501593, 486.1851856
+\endcode
+
+
+\section ransac_deprecated Ransac or robust homography estimation
+
+This section follows the \ref tutorial-matching-deprecated. It explains how to exploit couples of matched points obtained using SURF detector in order to estimate an homography that allows to reject mismatched couples of points. The homography is then used to track a postcard from its initial position in the reference image.
+
+Let us consider the following source code also available in tutorial-matching-surf-homography-deprecated.cpp. 
+
+\include tutorial-matching-surf-homography-deprecated.cpp
+
+The command line allows to use either Ransac algorithm of a robust M-estimator approach:
+\code
+% ./tutorial-matching-surf-homography-deprecated 0 // to run Ransac
+% ./tutorial-matching-surf-homography-deprecated 1 // to run the robust M-estimator
+\endcode
+
+Here after is the resulting video. The left image represents the reference image. The right images correspond to the successive images of the input video. All the green lines extremities represent the points that are well matched and used in the homography estimation process. All the red lines represent couple of matched points that are rejected by the robust estimator.
+
+\htmlonly
+<iframe width="560" height="315" src="http://www.youtube.com/embed/g-aEH5Chmsg" frameborder="0" allowfullscreen></iframe>
+\endhtmlonly
+
+Now, let us explain the new lines that were introduced to estimate the homography.
+
+First we detect the command line arguments to be able later to user either Ransac or the robust M-estimator:
+\snippet tutorial-matching-surf-homography-deprecated.cpp Select method
+
+We also initialize the coordinates of the pixels in the reference image that correspond to the postcard corners. These coordinates were obtained after a user initial click. To simplify the code, we set directly the coordinates of the points:
+\snippet tutorial-matching-surf-homography-deprecated.cpp Set coordinates
+
+Using these coordinates, we display red lines around the postcard:
+\snippet tutorial-matching-surf-homography-deprecated.cpp Display
+
+We need also to define roughly the parameters of our camera:
+\snippet tutorial-matching-surf-homography-deprecated.cpp Camera
+
+For each new image, once points are matched using:
+\snippet tutorial-matching-surf-homography-deprecated.cpp Matching
+
+We allocate new containers useful for the homography estimation. The coordinates of the points in the reference image will be stored in \c (mPref_x, mPref_y), while the corresponding coordinates in the current image will be stored in \c (mPcur_x, mPcur_y). We also allocate \c inliers a vector of boolean that will indicate if a couple of point is an inlier or an outlier:
+\snippet tutorial-matching-surf-homography-deprecated.cpp Allocation
+
+To estimate the homography we need first to convert the points from pixel to meters:
+\snippet tutorial-matching-surf-homography-deprecated.cpp Pixel conversion
+
+We can now estimate the homography using either Ransac or the robust M-estimator approach:
+\snippet tutorial-matching-surf-homography-deprecated.cpp Homography estimation
+
+For Ransac we consider that at least 50 percent of the points should be inliers (\c mPref_x.size()/2) to reach a consensus and that a couple of point is stated as an inlier if the reprojection error is lower than 2 pixels (\c 2.0/cam.get_px()).
+
+Then using the homography, we project the coordinates of the postcard corners in the current image:
+\snippet tutorial-matching-surf-homography-deprecated.cpp Projection
+
+We use these coordinates to draw blue lines arround the postcard:
+\snippet tutorial-matching-surf-homography-deprecated.cpp Display contour
+
+Since the homography estimation updates the status of the couples of matched points as inliers or outliers, between the matched points we are able to draw green lines when they are inliers, or red lines when they are outliers.
+\snippet tutorial-matching-surf-homography-deprecated.cpp Display matches
+
+
+*/
diff --git a/doc/tutorial-homography.doc b/doc/tutorial-homography.doc
index ba3cc60737e53995e8fed7620bbc3e165d0681f8..cc5ca7862c408af0fb494ca8d158124be0336805 100644
--- a/doc/tutorial-homography.doc
+++ b/doc/tutorial-homography.doc
@@ -12,88 +12,38 @@ This tutorial shows how to estimate an homography from points. Two cases are con
 
 \section homography Homography estimation
 
-Let us consider the following source code also available in tutorial-homography.cpp. To resume, we do the following:
+Let us consider the following source code also available in tutorial-homography-from-points.cpp. To resume, we do the following:
 - define four 3D points \c oP in an object frame, 
 - define an homogeneous transformation \c aMo from frame \c a to to the object frame \c o,
 - define a similar homogeneous transformation \c bMo from frame \c b to to the object frame \c o,
 - compute the coordinates of the four 3D points in the image plane \c a and \c b. These are the matched coordinates \c (xa,ya) and \c (xb,yb) that are then used to estimate the homography using either vpHomography::DLT() or vpHomography::HLM().
     
-\include tutorial-matching-surf-homography.cpp
+\include tutorial-homography-from-points.cpp
 
 Now we give a line by line explanation of the code:
 
 First we have to include the header of the vpHomography class.
-\code
-#include <visp/vpHomography.h>
-\endcode
+\snippet tutorial-homography-from-points.cpp Include
 
 In the main() function we first define the 3D coordinates of 4 points that are localized in the plane Z=0:
-\code
-  double L = 0.1;
-  std::vector<vpPoint> oP(4);
-  oP[0].setWorldCoordinates( -L,-L,   0);
-  oP[1].setWorldCoordinates(2*L,-L,   0);
-  oP[2].setWorldCoordinates(  L, 3*L, 0);
-  oP[3].setWorldCoordinates( -L, 4*L, 0);
-\endcode
+\snippet tutorial-homography-from-points.cpp Set 3D points
 
 Then we define the homogeneous transformations between frames \c a, \c b and object frame \c o:
-\code
-  vpHomogeneousMatrix bMo(0.1, 0, 1,   0, vpMath::rad(15), 0);
-  vpHomogeneousMatrix aMb(0.2, -0.1, 0.1, vpMath::rad(-3), vpMath::rad(20), vpMath::rad(5));
-  vpHomogeneousMatrix aMo = aMb*bMo;
-\endcode
+\snippet tutorial-homography-from-points.cpp Simulation
 
-From these transformations we compute the homogeneous coordinates of the points in the image plane \c a and \c b. For each point we have its coordinates \c (xa,ya) in frame \c a and \c (xb,yb) in frame \c b:
-\code
-  std::vector<vpPoint> aP(4), bP(4);
-  std::vector<double> xa(4), ya(4), xb(4), yb(4);
-  for(int i=0 ; i < 4; i++)
-  {
-    oP[i].project(aMo);
-    xa[i] = oP[i].get_x();
-    ya[i] = oP[i].get_y();
-    oP[i].project(bMo);
-    xb[i] = oP[i].get_x();
-    yb[i] = oP[i].get_y();
-  }
-\endcode
+From these transformations we compute the coordinates of the points in the image plane \c a and \c b. For each point we have its coordinates \c (xa,ya) in frame \c a and \c (xb,yb) in frame \c b:
+\snippet tutorial-homography-from-points.cpp Image plane coordinates
 
 We have now matched couples of coordinates of four points that are used to estimate an homography between image plane \c a and \c b. Two methods are available, either using the DLT (Direct Linear Transform) algorithm or the HLM algorithm.
-\code
-  vpHomography aHb ;
-
-  // Compute the homography using DLT
-  vpHomography::DLT(xb, yb, xa, ya, aHb, true);
-  std::cout << "Estimated homography using DLT:\n" << aHb/aHb[2][2] << std::endl;
-
-  // Compute the homography using HLM
-  vpHomography::HLM(xb, yb, xa, ya, true, aHb);
-  std::cout << "Estimated homography using HLM:\n" << aHb/aHb[2][2] << std::endl;
-\endcode
+\snippet tutorial-homography-from-points.cpp Compute homography
 
 \note Note that vpHomography::HLM() allows to consider points that are not coplanar.
   
 Once the homography is estimated, the vpHomography class allows to extract the 3D homogeneous transformation between frames \c a and \c b:
-\code
-  vpRotationMatrix aRb;
-  vpTranslationVector atb;
-  vpColVector n;
-  aHb.computeDisplacement(aRb, atb, n);
-\endcode
+\snippet tutorial-homography-from-points.cpp Get transformation
 
 Just for fun we print the values to this transformation using:
-\code
-  std::cout << "\nEstimated displacement:"  << std::endl;
-  std::cout << " atb: " << atb.t() << std::endl;
-  vpThetaUVector atub;
-  atub.buildFrom(aRb);
-  std::cout << " athetaub: ";
-  for(unsigned int i=0; i<3; i++)
-    std::cout << vpMath::deg(atub[i]) << " ";
-  std::cout << std::endl;
-  std::cout << " n: " << n.t() << std::endl;
-\endcode
+\snippet tutorial-homography-from-points.cpp Print results
 
 This code lead to the following output:
 \code
@@ -105,21 +55,10 @@ Estimated displacement:
 where we can see that the values for \c atb and \c athetaub are the one specified at the beginning of the source code during \c aMb initialization.
 
 After we show how to retrieve the coordinates in pixels of a point (here point [3]) in the corresponding images using camera parameters:
-\code
-  vpImagePoint iPa, iPb;
-  vpCameraParameters cam;
-  vpMeterPixelConversion::convertPoint(cam, xb[3], yb[3], iPb);
-  vpMeterPixelConversion::convertPoint(cam, xa[3], ya[3], iPa);
-
-  std::cout << " Ground truth: Point 3 in pixels in frame b: " << iPb << std::endl;
-  std::cout << " Ground truth: Point 3 in pixels in frame a: " << iPa << std::endl;
-\endcode
+\snippet tutorial-homography-from-points.cpp Get pixel coordinates
 
 At the end, we show how to project a point with pixel coordinates from image \c b to image \c a using the homography:
-\code
-  std::cout << "Estimation from homography: Point 3 in pixels in frame a: "
-            << vpHomography::project(cam, aHb, iPb) << std::endl;
-\endcode
+\snippet tutorial-homography-from-points.cpp Project
 
 This last part of the code produce the following output:
 \code
@@ -131,17 +70,16 @@ Estimation from homography: Point 3 in pixels in frame a: 353.8501593, 486.18518
 
 \section ransac Ransac or robust homography estimation
 
-This section  follows the \ref tutorial-matching. It explains how to exploit couples of matched points obtained using SURF detector in order to estimate an homography that allows to reject mismatched couples of points. The homography is then used to track a postcard from its initial position in the reference image.
+This section follows the \ref tutorial-matching. It explains how to exploit couples of matched points obtained using SURF detector in order to estimate an homography that allows to reject mismatched couples of points. The homography is then used to track a postcard from its initial position in the reference image.
 
+Let us consider the following source code also available in tutorial-matching-keypoint-homography.cpp. 
 
-Let us consider the following source code also available in tutorial-matching-surf-homography.cpp. 
-
-\include tutorial-matching-surf-homography.cpp
+\include tutorial-matching-keypoint-homography.cpp
 
 The command line allows to use either Ransac algorithm of a robust M-estimator approach:
 \code
-% ./tutorial-matching-surf-homography 0 // to run Ransac
-% ./tutorial-matching-surf-homography 1 // to run the robust M-estimator
+% ./tutorial-matching-keypoint-homography 0 // to run Ransac
+% ./tutorial-matching-keypoint-homography 1 // to run the robust M-estimator
 \endcode
 
 Here after is the resulting video. The left image represents the reference image. The right images correspond to the successive images of the input video. All the green lines extremities represent the points that are well matched and used in the homography estimation process. All the red lines represent couple of matched points that are rejected by the robust estimator.
@@ -153,98 +91,39 @@ Here after is the resulting video. The left image represents the reference image
 Now, let us explain the new lines that were introduced to estimate the homography.
 
 First we detect the command line arguments to be able later to user either Ransac or the robust M-estimator:
-\code
-  int method = 0;
-
-  if (argc > 1)
-    method = atoi(argv[1]);
-
-  if (method == 0)
-    std::cout << "Uses Ransac to estimate the homography" << std::endl;
-  else
-    std::cout << "Uses a robust scheme to estimate the homography" << std::endl;
-\endcode
+\snippet tutorial-matching-keypoint-homography.cpp Select method
 
 We also initialize the coordinates of the pixels in the reference image that correspond to the postcard corners. These coordinates were obtained after a user initial click. To simplify the code, we set directly the coordinates of the points:
-\code
-  vpImagePoint corner_ref[4];
-  corner_ref[0].set_ij(115,  64);
-  corner_ref[1].set_ij( 83, 253);
-  corner_ref[2].set_ij(282, 307);
-  corner_ref[3].set_ij(330,  72);
-\endcode
+\snippet tutorial-matching-keypoint-homography.cpp Set coordinates
 
 Using these coordinates, we display red lines around the postcard:
-\code
-  for (unsigned int i=0; i<4; i++) {
-    vpDisplay::displayCross(Idisp, corner_ref[i], 12, vpColor::red);
-  }
-  vpDisplay::flush(Idisp);
-\endcode
+\snippet tutorial-matching-keypoint-homography.cpp Display
 
 We need also to define roughly the parameters of our camera:
-\code
-  vpCameraParameters cam(840, 840, I.getWidth()/2, I.getHeight()/2);
-\endcode
+\snippet tutorial-matching-keypoint-homography.cpp Camera
 
 For each new image, once points are matched using:
-\code
-    unsigned int nbMatch = surf.matchPoint(I);
-\endcode
+\snippet tutorial-matching-keypoint-homography.cpp Matching
 
 We allocate new containers useful for the homography estimation. The coordinates of the points in the reference image will be stored in \c (mPref_x, mPref_y), while the corresponding coordinates in the current image will be stored in \c (mPcur_x, mPcur_y). We also allocate \c inliers a vector of boolean that will indicate if a couple of point is an inlier or an outlier:
-\code
-    std::vector<double> mPref_x(nbMatch), mPref_y(nbMatch);
-    std::vector<double> mPcur_x(nbMatch), mPcur_y(nbMatch); 
-    std::vector<bool> inliers(nbMatch);
-\endcode
+\snippet tutorial-matching-keypoint-homography.cpp Allocation
 
 To estimate the homography we need first to convert the points from pixel to meters:
-\code
-      vpPixelMeterConversion::convertPoint(cam, matched_ref, mPref_x[i], mPref_y[i]);
-      vpPixelMeterConversion::convertPoint(cam, matched_cur, mPcur_x[i], mPcur_y[i]);
-\endcode
+\snippet tutorial-matching-keypoint-homography.cpp Pixel conversion
 
 We can now estimate the homography using either Ransac or the robust M-estimator approach:
-\code
-    double residual;
-    if (method == 0)
-      vpHomography::ransac(mPref_x, mPref_y, mPcur_x, mPcur_y, curHref, inliers, residual,
-                           mPref_x.size()/2, 2.0/cam.get_px(), true);
-    else
-      vpHomography::robust(mPref_x, mPref_y, mPcur_x, mPcur_y, curHref, inliers, residual, 
-                           0.4, 4, true);
-\endcode
+\snippet tutorial-matching-keypoint-homography.cpp Homography estimation
 
 For Ransac we consider that at least 50 percent of the points should be inliers (\c mPref_x.size()/2) to reach a consensus and that a couple of point is stated as an inlier if the reprojection error is lower than 2 pixels (\c 2.0/cam.get_px()).
 
 Then using the homography, we project the coordinates of the postcard corners in the current image:
-\code
-    vpImagePoint corner_ref[4], corner_cur[4];
-    for (int i=0; i< 4; i++) {
-      corner_cur[i] = vpHomography::project(cam, curHref, corner_ref[i]);
-    }
-\endcode
+\snippet tutorial-matching-keypoint-homography.cpp Projection
 
 We use these coordinates to draw blue lines arround the postcard:
-\code
-    vpImagePoint offset(0, I.getWidth());
-    for (int i=0; i< 4; i++) {
-      vpDisplay::displayLine(Idisp,
-                             corner_cur[i]       + offset,
-                             corner_cur[(i+1)%4] + offset,
-                             vpColor::blue, 3);
-    }
-\endcode
+\snippet tutorial-matching-keypoint-homography.cpp Display contour
 
 Since the homography estimation updates the status of the couples of matched points as inliers or outliers, between the matched points we are able to draw green lines when they are inliers, or red lines when they are outliers.
-\code
-    for (unsigned int i = 0; i < nbMatch; i++) {
-      if(inliers[i] == true)
-        vpDisplay::displayLine(Idisp, iPref[i], iPcur[i] + offset, vpColor::green);
-      else
-        vpDisplay::displayLine(Idisp, iPref[i], iPcur[i] + offset, vpColor::red);
-    }
-\endcode
+\snippet tutorial-matching-keypoint-homography.cpp Display matches
+
 
 */
diff --git a/doc/tutorial-image-filtering.doc b/doc/tutorial-image-filtering.doc
index f7120c07445710fd3e48a67f8e21422d86b3d9e8..df5b59e57290d579430ee11c9dd26746b86e589a 100644
--- a/doc/tutorial-image-filtering.doc
+++ b/doc/tutorial-image-filtering.doc
@@ -5,7 +5,7 @@
 
 This tutorial supposes that you have followed the \ref tutorial-getting-started.
 
-\section intro Introduction
+\section intro_img_filtering Introduction
 
 In this tutorial you will learn how to use ViSP filtering functions implemented in vpImageFilter class.
 
@@ -29,16 +29,11 @@ The following sections give a line by line explanation of the source code dedica
 
 Lena input image is read from disk and is stored in  \c I which is a gray level image declared as 
 
-\code 
-vpImage<unsigned char> I;
-\endcode 
+\snippet tutorial-image-filter.cpp vpImage construction
 
 To apply a Gaussian blur to this image we first have to declare a resulting floating-point image \c F. Then the blurred image could be obtained using the default Gaussian filter: 
 
-\code 
-vpImage<double> F;
-vpImageFilter::gaussianBlur(I, F);
-\endcode 
+\snippet tutorial-image-filter.cpp Gaussian blur
 
 The resulting image is the following:
 
@@ -58,17 +53,11 @@ We thus obtain the following image:
 
 To compute the gradients or the spatial derivative along X use:
 
-\code 
-vpImage<double> dIx;
-vpImageFilter::getGradX(I, dIx);
-\endcode 
+\snippet tutorial-image-filter.cpp Gradients x
 
 Gradients along Y could be obtained using:
 
-\code 
-vpImage<double> dIy;
-vpImageFilter::getGradY(I, dIy);
-\endcode 
+\snippet tutorial-image-filter.cpp Gradients y
 
 The resulting floating-point images \c dIx, \c dIy are the following:
 
@@ -79,12 +68,7 @@ The resulting floating-point images \c dIx, \c dIy are the following:
 Canny edge detector function is only available if ViSP was build with OpenCV 2.1 or higher.
 
 After the declaration of a new image container \c C, Canny edge detector is applied using:
-\code 
-#if (VISP_HAVE_OPENCV_VERSION >= 0x020100)
-    vpImage<unsigned char> C;
-    vpImageFilter::canny(I, C, 5, 15, 3);
-#endif
-\endcode 
+\snippet tutorial-image-filter.cpp Canny
 
 Where:
 - 5: is the low threshold
@@ -95,7 +79,6 @@ The resulting image \c C is the following:
  
 \image html img-lena-canny.png
 
-
 \section convolution Convolution 
 
 To apply a convolution to an image, we first have to define a kernel.
@@ -113,19 +96,10 @@ For example, let us consider the 3x3 Sobel kernel defined in \c K.
   \end{tabular}
   \f]
 
-
-\code 
-    vpMatrix K(3,3); // Sobel kernel along x
-    K[0][0] = 1; K[0][1] = 0; K[0][2] = -1;
-    K[1][0] = 2; K[1][1] = 0; K[1][2] = -2;
-    K[2][0] = 1; K[2][1] = 0; K[2][2] = -1;
-\endcode 
+\snippet tutorial-image-filter.cpp Convolution kernel
 
 After the declaration of a new floating-point image \c Gx, the convolution is obtained using: 
-\code 
-    vpImage<double> Gx;
-    vpImageFilter::filter(I, Gx, K);
-\endcode 
+\snippet tutorial-image-filter.cpp Convolution
 
 The content of the filtered image \c Gx is the following.
 
@@ -134,15 +108,7 @@ The content of the filtered image \c Gx is the following.
 \section pyramid Gaussian image pyramid
 
 To construct a pyramid of Gaussian filtered images as a vector of images implemented in \c pyr[] you may use:
-\code 
-    size_t nlevel = 3;
-    std::vector< vpImage<unsigned char> > pyr(nlevel);
-    pyr[0] = I;
-    for (size_t i=1; i < nlevel; i++) {
-      vpImageFilter::getGaussPyramidal(pyr[i-1], pyr[i]);
-      display(pyr[i], "Pyramid");
-    }
-\endcode 
+\snippet tutorial-image-filter.cpp Gaussian pyramid
 
 The content of \c pyr[0], \c pyr[1], \c pyr[2] is the following:
 \image html img-lena-pyr.png
diff --git a/doc/tutorial-install-centos.doc b/doc/tutorial-install-centos.doc
new file mode 100644
index 0000000000000000000000000000000000000000..5f59d50c28db6ea729cb3101a20eae7c9408bb6b
--- /dev/null
+++ b/doc/tutorial-install-centos.doc
@@ -0,0 +1,246 @@
+/**
+
+\page tutorial-install-centos Tutorial: Installation from source on Linux CentOS
+\tableofcontents
+
+In this tutorial you will learn how to install ViSP from source on CentOS. These steps have been tested for CentOS 7.0 (x86_64) distribution, but should work with any other distribution as well. 
+
+\note Concerning ViSP installation, we provide also other \ref tutorial.
+
+\section install_centos_required Required packages
+
+- gcc 4.4.x or later. This can be installed with:
+\code
+sudo yum install gcc-c++
+\endcode
+- CMake 2.6 or higher that could be installed with:
+\code
+sudo yum install cmake
+\endcode
+
+ViSP is interfaced with several optional <a href="http://www.irisa.fr/lagadic/visp/libraries.html">third-party libraries</a>. The installation of the corresponding packages is described in \ref install_centos_3rdparty section.
+
+\section install_centos_get_source Getting ViSP source code
+
+There are different ways to get ViSP source code:
+
+- You can download the <a href="http://www.irisa.fr/lagadic/visp/download.html#latest">latest stable release</a> as a zip or a tarball. Once downloaded, uncompress the file using either
+\code
+tar xvzf ViSP-2.10.0.tar.gz 
+\endcode
+or
+\code
+unzip ViSP-2.10.0.zip
+\endcode
+
+- You can also download a more <a href="http://www.irisa.fr/lagadic/visp/download.html#snapshot">recent snapshot</a>. Once downloaded, uncompress the file using
+\code
+unzip ViSP-2.y.z-snapshot-2015.mm.dd.zip
+\endcode
+- Or you get the cutting-edge ViSP from Subversion repository. To this end you have first to install subversion
+\code
+sudo yum install subversion
+\endcode
+and then use the following command
+\code
+svn checkout svn://scm.gforge.inria.fr/svn/visp/trunk/ViSP ViSP-trunk
+\endcode
+
+We suppose now that ViSP source is in a directory denoted  \<source_dir\>, for example \c $HOME/ViSP-2.10.0
+
+\section install_centos_config Configuring ViSP from source
+
+- Create first a directory denoted \<binary_dir\> where you want to build ViSP. This directory will contain generated Makefiles, object files, and output libraries and binaries.
+\code
+cd $HOME; mkdir ViSP-build-release
+\endcode
+
+- Enter the \<binary_dir\> and to configure the build type:
+\code
+cmake [<optional parameters>] <source_dir>
+\endcode
+For example:
+\code
+cd $HOME/ViSP-build-release
+cmake -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_SHARED_LIBS=ON ../ViSP-2.10.0
+\endcode
+A more versatile way to configure the build is to use \c ccmake, the CMake GUI:
+\code
+ccmake ../ViSP-2.10.0
+\endcode
+The following image shows that this command allows to configure (just by pressing [c] key) the build in a more advanced way where some options could be easily turned On/Off. It allows also to see which are the 3rd parties that will be used.
+\image html img-ccmake-centos.png Snapshot of the ccmake \c ../ViSP-2.10.0 command used to configure ViSP.
+
+- There is an other way to see which are the 3rd parties that are found during the configuration stage and that will be used by ViSP during the build. To this end you can have a look to the text file named ViSP-third-party.txt and located in \<binary_dir\>. We provide hereafter an example of a possible content of this file:
+\code
+                    ViSP third-party libraries
+
+Below you will find the list of third party libraries used to 
+build ViSP on your computer.
+
+Mathematics:
+  Gnu Scientific Library      : no
+  Lapack/blas                 : no
+Simulator:
+  Ogre simulator              : no
+  \- Ogre3D                   : no
+  \- OIS                      : no
+  Coin simulator              : 
+  \- Coin3D                   : no
+  \- SoWin                    : no
+  \- SoXt                     : no
+  \- SoQt                     : no
+  \- Qt4                      : no
+  \- Qt3                      : no
+Robots
+  Afma6                       : no
+  Afma4                       : no
+  Biclops                     : no
+  Ptu46                       : no
+  Pioneer                     : no
+  Viper S650                  : no
+  Viper S850                  : no
+Video devices (display)                  
+  X11                         : no
+  GTK                         : no 
+  OpenCV                      : no 
+  GDI                         : no
+  Direct3D                    : no
+Framegrabbers
+  Firewire libdc1394-1.x      : no
+  Firewire libdc1394-2.x      : no
+  Video For Linux Two         : no
+  DirectShow                  : no
+  CMU 1394 Digital Camera SDK : no
+  OpenCV                      : no 
+Specific devices
+  Yarp                        : no
+  Kinect                      : no
+  \-libfreenect               : no
+  \-libusb-1.0                : no
+  \-pthread                   : yes
+Video and image Read/Write:
+  FFMPEG                      : no
+  libjpeg                     : no
+  libpng                      : no
+Misc:
+  XML2                        : no
+  pthread                     : yes
+  OpenMP                      : yes
+  zbar                        : no
+  dmtx                        : no
+Documentation:
+  Doxygen                     : no
+  Graphviz dot                : no
+ViSP built with C++11 features: no
+\endcode
+In our case, only \c pthread an OpenMP 3rd parties are detected.  
+
+\subsection install_centos_3rdparty Optional 3rd party packages
+
+As mentioned previously, ViSP is interfaced with some 3rd party libraries. The <a href="http://www.irisa.fr/lagadic/visp/libraries.html">complete list is provided here</a>. We recommend to install the following:
+
+- OpenCV
+\code
+sudo yum install opencv-devel
+\endcode
+- libX11 to be able to open a window to display images
+\code
+sudo yum install libX11-devel
+\endcode
+- lapack and gsl to benefit from optimized mathematical capabilities
+\code
+sudo yum install lapack-devel gsl-devel
+\endcode
+- libv4l to grab images from usb or analogic cameras
+\code
+sudo yum install libv4l-devel
+\endcode
+- libxml2 to be able to configure the model-based trackers from xml files
+\code
+sudo yum install libxml2-devel
+\endcode
+- libjpeg, libpng to support jpeg and png images
+\code
+sudo yum install libjpeg-devel libpng-devel
+\endcode
+
+Once installed, if you want that ViSP exploit the new 3rd parties, you have to configure ViSP again.
+
+\code
+ccmake ../ViSP-2.10.0
+\endcode
+The following image shows now that all the previous optional 3rd parties are detected.
+\image html img-ccmake-centos-all.png Snapshot of the ccmake \c ../ViSP-2.10.0 command used to configure ViSP after installation of optional 3rd party libraries.
+
+\note Other <a href="http://www.irisa.fr/lagadic/visp/libraries.html">3rd party libraries</a> are interfaced with ViSP. This is for example the case of <a href="http://www.irisa.fr/lagadic/visp/librarieslist.html#Ogre">Ogre</a> that can be used to enhance the visibility computation of the faces that are tracked with the model-based tracker (see \ref tutorial-tracking-mb), or <a href="http://www.irisa.fr/lagadic/visp/librarieslist.html#Coin">Coin</a> that can be used to parse vrml files that describe the 3D model of the object to track using the same model-based tracker. It seems that these 3rd parties are not packaged on CentOS. If you want to use these 3rd parties, you have to install them from source code.
+
+\subsection install_centos_generate Generating Makefiles
+
+To generate the makefiles, just press [g] key in the ccmake gui.
+
+Now we can build ViSP.
+
+\subsection install_centos_issues Known issues
+
+- On CentOS 7.0 with cmake 2.8.11, during cmake configuration you may encounter the following issue:
+\code
+CMake Warning at src/CMakeLists.txt:80 (add_library):
+   Cannot generate a safe runtime search path for target visp because files in
+   some directories may conflict with libraries in implicit directories:
+
+     runtime library [libpthread.so] in /usr/lib64 may be hidden by files in:
+       //lib64
+
+   Some of these libraries may not be found correctly.
+\endcode
+The problem was that libpthread.so exists in /usr/lib64 and in //lib64. In //lib64 it should be a symbolic link to /usr/lib64.
+\code
+$ ls -als //lib64
+  0 lrwxrwxrwx. 1 root root 9 Feb  4 12:16 //lib64 -> usr/lib64
+$ ls -als //lib64/libpthread*
+140 -rwxr-xr-x. 1 root root 141616 Jan 27 15:13 //lib64/libpthread-2.17.so
+  4 -rw-r--r--. 1 root root    222 Jan 27 14:42 //lib64/libpthread.so
+  0 lrwxrwxrwx. 1 root root     18 Feb  4 12:34 //lib64/libpthread.so.0 -> libpthread-2.17.so
+\endcode  
+The fix consists in removing //lib64/libpthread.so and creating a new symbolic link
+\code
+$ cd //lib64
+$ sudo rm libpthread.so
+$ sudo ln -s libpthread-2.17.so libpthread.so
+$ ls -als libpthread*
+140 -rwxr-xr-x. 1 root root 141616 Jan 27 15:13 libpthread-2.17.so
+  0 lrwxrwxrwx. 1 root root     18 Feb  4 16:09 libpthread.so -> libpthread-2.17.so
+  0 lrwxrwxrwx. 1 root root     18 Feb  4 12:34 libpthread.so.0 -> libpthread-2.17.so
+\endcode
+
+- On CentOS 7.0, vpVideoReader is not able to read mpeg videos. If ffmpeg is not installed (this is our case since ffmpeg is not packaged for CentOS 7.0), this class uses OpenCV to read and decode videos. Some examples or tutorials provided in ViSP hang during cv::Capture::open() call. The reason is that OpenCV 2.4.5 cv::Capture seams buggy. This is for example the case if you run:
+\code
+$ ./example/video/videoReader
+\endcode
+A work arround consists in installing a more recent OpenCV version from source. 
+
+\section install_centos_build Building ViSP from source
+
+- To build ViSP proceed with:
+\code
+make -j4
+\endcode
+
+- To install ViSP proceed with:
+\code
+sudo make install
+\endcode
+
+- To build ViSP documentation, you have first to install Doxygen package:
+\code
+sudo yum install doxygen graphviz
+\endcode
+Then you can proceed with:
+\code
+make visp_doc
+\endcode
+
+You are now ready to see the next \ref tutorial-getting-started that will show you how to use ViSP as a 3rd party to build your own project.
+
+*/
diff --git a/doc/tutorial-install-fedora.doc b/doc/tutorial-install-fedora.doc
index d61fce6404dbbc5a36e5e7a633b4f29668226a5e..a9d4d85ba452bd31d8aba0ee61879ca7a7a64b32 100644
--- a/doc/tutorial-install-fedora.doc
+++ b/doc/tutorial-install-fedora.doc
@@ -3,17 +3,11 @@
 \page tutorial-install-fedora Tutorial: Installation from source on Linux Fedora
 \tableofcontents
 
-In this tutorial you will learn how to install ViSP from source on Linux Fedora. These steps have been tested for Fedora 18 (64 bit) distribution, but should work with any other distribution as well. 
+In this tutorial you will learn how to install ViSP from source on Linux Fedora. These steps have been tested for Fedora 21 (64 bit) distribution, but should work with any other distribution as well. 
 
-Concerning ViSP installation, we provide also other tutorials
-- \ref tutorial-install-ubuntu
-- \ref tutorial-install-win
-- \ref tutorial-install-iOS
+\note Concerning ViSP installation, we provide also other \ref tutorial.
 
-ViSP can also be installed on other platforms including OSX, CentOS, openSUZE (see <a href="http://www.irisa.fr/lagadic/visp/install.html">Install from source page</a>).
-
-
-\section install_ubuntu_required Required packages
+\section install_fedora_required Required packages
 
 - gcc 4.4.x or later. This can be installed with:
 \code
@@ -33,16 +27,16 @@ There are different ways to get ViSP source code:
 
 - You can download the <a href="http://www.irisa.fr/lagadic/visp/download.html#latest">latest stable release</a> as a zip or a tarball. Once downloaded, uncompress the file using either
 \code
-tar xvzf ViSP-2.9.0.tar.gz 
+tar xvzf ViSP-2.10.0.tar.gz 
 \endcode
 or
 \code
-unzip ViSP-2.9.0.zip
+unzip ViSP-2.10.0.zip
 \endcode
 
 - You can also download a more <a href="http://www.irisa.fr/lagadic/visp/download.html#snapshot">recent snapshot</a>. Once downloaded, uncompress the file using
 \code
-unzip ViSP-2.y.z-snapshot-2014.mm.dd.zip
+unzip ViSP-2.y.z-snapshot-2015.mm.dd.zip
 \endcode
 - Or you get the cutting-edge ViSP from Subversion repository. To this end you have first to install subversion
 \code
@@ -53,7 +47,7 @@ and then use the following command
 svn checkout svn://scm.gforge.inria.fr/svn/visp/trunk/ViSP ViSP-trunk
 \endcode
 
-We suppose now that ViSP source is in a directory denoted  \<source_dir\>, for example \c $HOME/ViSP-2.9.0
+We suppose now that ViSP source is in a directory denoted  \<source_dir\>, for example \c $HOME/ViSP-2.10.0
 
 \section install_fedora_config Configuring ViSP from source
 
@@ -69,16 +63,16 @@ cmake [<optional parameters>] <source_dir>
 For example:
 \code
 cd $HOME/ViSP-build-release
-cmake -D CMAKE_BUILD_TYPE=RELEASE -D BUILD_SHARED_LIBS=ON ../ViSP-2.9.0
+cmake -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_SHARED_LIBS=ON ../ViSP-2.10.0
 \endcode
 A more versatile way to configure the build is to use \c ccmake, the CMake GUI:
 \code
-ccmake ../ViSP-2.9.0
+ccmake ../ViSP-2.10.0
 \endcode
-The following image shows that this command allows to configure (just by pressing [c] key) the build in a more advanced way where some options could be easily turned On/Off. It allows also to see which are the 3rd party that will be used.
-\image html img-ccmake-ubuntu.png Snapshot of the ccmake \c ../ViSP-2.9.0 command used to configure ViSP.
+The following image shows that this command allows to configure (just by pressing [c] key) the build in a more advanced way where some options could be easily turned On/Off. It allows also to see which are the 3rd parties that will be used.
+\image html img-ccmake-ubuntu.png Snapshot of the ccmake \c ../ViSP-2.10.0 command used to configure ViSP.
 
-- There is an other way to see which are the 3rd party that are found during the configuration stage and that will be used by ViSP during the build. To this end you can have a look to the text file named ViSP-third-party.txt and located in \<binary_dir\>. We provide hereafter an example of a possible content of this file:
+- There is an other way to see which are the 3rd parties that are found during the configuration stage and that will be used by ViSP during the build. To this end you can have a look to the text file named ViSP-third-party.txt and located in \<binary_dir\>. We provide hereafter an example of a possible content of this file:
 \code
                     ViSP third-party libraries
 
@@ -107,7 +101,6 @@ Robots
   Pioneer                     : no
   Viper S650                  : no
   Viper S850                  : no
-  Cycab                       : no
 Video devices (display)                  
   X11                         : no
   GTK                         : no 
@@ -135,16 +128,18 @@ Misc:
   XML2                        : no
   pthread                     : yes
   OpenMP                      : yes
+  zbar                        : no
+  dmtx                        : no
 Documentation:
   Doxygen                     : no
   Graphviz dot                : no
 ViSP built with C++11 features: no
 \endcode
-In our case, only \c pthread an OpenMP 3rd party are detected.  
+In our case, only \c pthread an OpenMP 3rd parties are detected.  
 
 \subsection install_fedora_3rdparty Optional 3rd party packages
 
-As mentioned previously, ViSP is interfaced with some 3rd party libraries. The <a href="http://www.irisa.fr/lagadic/visp/libraries.html">complete list is provided here</a>. We recommand to install the following:
+As mentioned previously, ViSP is interfaced with some 3rd party libraries. The <a href="http://www.irisa.fr/lagadic/visp/libraries.html">complete list is provided here</a>. We recommend to install the following:
 
 - OpenCV
 \code
@@ -186,16 +181,20 @@ su -c "yum install ffmpeg-devel"
 \code
 su -c "yum install ogre-devel ogre-samples ois-devel"
 \endcode
+- Bar code detection
+\code
+su -c "yum install zbar-devel libdmtx-devel"
+\endcode
 
-Once installed, if you want that ViSP exploit the new 3rd party, you have to configure ViSP again.
+Once installed, if you want that ViSP exploit the new 3rd parties, you have to configure ViSP again.
 
 \code
-ccmake ../ViSP-2.9.0
+ccmake ../ViSP-2.10.0
 \endcode
-The following image shows now that all the previous optional 3rd party are detected.
-\image html img-ccmake-ubuntu-all.png Snapshot of the ccmake \c ../ViSP-2.9.0 command used to configure ViSP after installation of optional 3rd party libraries.
+The following image shows now that all the previous optional 3rd parties are detected.
+\image html img-ccmake-ubuntu-all.png Snapshot of the ccmake \c ../ViSP-2.10.0 command used to configure ViSP after installation of optional 3rd party libraries.
 
-\subsection install_ubuntu_generate Generating Makefiles
+\subsection install_fedora_generate Generating Makefiles
 
 To generate the makefiles, just press [g] key in the ccmake gui.
 
@@ -205,7 +204,7 @@ Now we can build ViSP.
 
 - To build ViSP proceed with:
 \code
-make
+make -j4
 \endcode
 
 - To install ViSP proceed with:
@@ -219,7 +218,7 @@ su -c "yum install doxygen graphviz"
 \endcode
 Then you can proceed with:
 \code
-make html-doc
+make visp_doc
 \endcode
 
 You are now ready to see the next \ref tutorial-getting-started that will show you how to use ViSP as a 3rd party to build your own project.
diff --git a/doc/tutorial-install-iOS.doc b/doc/tutorial-install-iOS.doc
index 628258be6f85fb078e13dde3a47e314ce37af4dd..040da89d3bbe595beaadad465f20432fad1833e2 100644
--- a/doc/tutorial-install-iOS.doc
+++ b/doc/tutorial-install-iOS.doc
@@ -5,13 +5,7 @@
 
 In this tutorial you will learn how to install ViSP from source on OSX in order to be able to compile and use it for iOS development. These steps have been tested for OSX 10.8.4  but should work with any other distribution as well.
 
-Concerning ViSP installation, we provide also other tutorials
-- \ref tutorial-install-ubuntu
-- \ref tutorial-install-fedora
-- \ref tutorial-install-win
-
-ViSP can also be installed on other platforms including OSX, CentOS, openSUZE (see <a href="http://www.irisa.fr/lagadic/visp/install.html">Install from source page</a>).
-
+\note Concerning ViSP installation, we provide also other \ref tutorial.
 
 \section install_iOS_required Required software
 
@@ -26,23 +20,23 @@ There are different ways to get ViSP source code:
 
 - You can download the <a href="http://www.irisa.fr/lagadic/visp/download.html#latest">latest stable release</a> as a zip or a tarball. Once downloaded, uncompress the file using either
 \code
-tar xvzf ViSP-2.9.0.tar.gz 
+tar xvzf ViSP-2.10.0.tar.gz 
 \endcode
 or
 \code
-unzip ViSP-2.9.0.zip
+unzip ViSP-2.10.0.zip
 \endcode
 
 - You can also download a more <a href="http://www.irisa.fr/lagadic/visp/download.html#snapshot">recent snapshot</a>. Once downloaded, uncompress the file using
 \code
-unzip ViSP-2.y.z-snapshot-2014.mm.dd.zip
+unzip ViSP-2.y.z-snapshot-2015.mm.dd.zip
 \endcode
 - Or you get the cutting-edge ViSP from Subversion repository. To this end you have first to install subversion and then use the following command
 \code
 svn checkout svn://scm.gforge.inria.fr/svn/visp/trunk/ViSP ViSP-trunk
 \endcode
 
-We suppose now that ViSP source is in a directory denoted  \<source_dir\>, for example \c $HOME/ViSP-2.9.0
+We suppose now that ViSP source is in a directory denoted  \<source_dir\>, for example \c $HOME/ViSP-2.10.0
 
 \section install_iOS_config Configuring ViSP from source
 
@@ -68,7 +62,7 @@ As mentioned previously, ViSP is interfaced with some 3rd party libraries. The <
 
 - liblapack, libxml2, libjpeg, libpng, ffmpeg should be already included in your OS X package
 
-Once installed, if you want that ViSP exploit the new 3rd party, you have to configure ViSP again.
+Once installed, if you want that ViSP exploit the new 3rd parties, you have to configure ViSP again.
 
 Now we can finish the configuration stage by generating the Xcode project.
 
diff --git a/doc/tutorial-install-opensuse.doc b/doc/tutorial-install-opensuse.doc
new file mode 100644
index 0000000000000000000000000000000000000000..e1f3340b88d9b41e2f582c664cb01131d00a2cc7
--- /dev/null
+++ b/doc/tutorial-install-opensuse.doc
@@ -0,0 +1,215 @@
+/**
+
+\page tutorial-install-opensuse Tutorial: Installation from source on Linux openSUSE
+\tableofcontents
+
+In this tutorial you will learn how to install ViSP from source on openSUSE. These steps have been tested for openSUSE 13.2 (x86_64) distribution, but should work with any other distribution as well. 
+
+\note Concerning ViSP installation, we provide also other \ref tutorial.
+
+\section install_opensuse_required Required packages
+
+- gcc 4.4.x or later. This can be installed with:
+\code
+sudo zypper install gcc-c++
+\endcode
+- CMake 2.6 or higher that could be installed with:
+\code
+sudo zypper install cmake
+\endcode
+
+ViSP is interfaced with several optional <a href="http://www.irisa.fr/lagadic/visp/libraries.html">third-party libraries</a>. The installation of the corresponding packages is described in \ref install_opensuse_3rdparty section.
+
+\section install_opensuse_get_source Getting ViSP source code
+
+There are different ways to get ViSP source code:
+
+- You can download the <a href="http://www.irisa.fr/lagadic/visp/download.html#latest">latest stable release</a> as a zip or a tarball. Once downloaded, uncompress the file using either
+\code
+tar xvzf ViSP-2.10.0.tar.gz 
+\endcode
+or
+\code
+unzip ViSP-2.10.0.zip
+\endcode
+
+- You can also download a more <a href="http://www.irisa.fr/lagadic/visp/download.html#snapshot">recent snapshot</a>. Once downloaded, uncompress the file using
+\code
+unzip ViSP-2.y.z-snapshot-2015.mm.dd.zip
+\endcode
+- Or you get the cutting-edge ViSP from Subversion repository. To this end you have first to install subversion
+\code
+sudo zypper install subversion
+\endcode
+and then use the following command
+\code
+svn checkout svn://scm.gforge.inria.fr/svn/visp/trunk/ViSP ViSP-trunk
+\endcode
+
+We suppose now that ViSP source is in a directory denoted  \<source_dir\>, for example \c $HOME/ViSP-2.10.0
+
+\section install_opensuse_config Configuring ViSP from source
+
+- Create first a directory denoted \<binary_dir\> where you want to build ViSP. This directory will contain generated Makefiles, object files, and output libraries and binaries.
+\code
+cd $HOME; mkdir ViSP-build-release
+\endcode
+
+- Enter the \<binary_dir\> and to configure the build type:
+\code
+cmake [<optional parameters>] <source_dir>
+\endcode
+For example:
+\code
+cd $HOME/ViSP-build-release
+cmake -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_SHARED_LIBS=ON ../ViSP-2.10.0
+\endcode
+A more versatile way to configure the build is to use \c ccmake, the CMake GUI:
+\code
+ccmake ../ViSP-2.10.0
+\endcode
+The following image shows that this command allows to configure (just by pressing [c] key) the build in a more advanced way where some options could be easily turned On/Off. It allows also to see which are the 3rd parties that will be used.
+\image html img-ccmake-opensuse.png Snapshot of the ccmake \c ../ViSP-2.10.0 command used to configure ViSP.
+
+- There is an other way to see which are the 3rd parties that are found during the configuration stage and that will be used by ViSP during the build. To this end you can have a look to the text file named ViSP-third-party.txt and located in \<binary_dir\>. We provide hereafter an example of a possible content of this file:
+\code
+                    ViSP third-party libraries
+
+Below you will find the list of third party libraries used to 
+build ViSP on your computer.
+
+Mathematics:
+  Gnu Scientific Library      : no
+  Lapack/blas                 : no
+Simulator:
+  Ogre simulator              : no
+  \- Ogre3D                   : no
+  \- OIS                      : no
+  Coin simulator              : 
+  \- Coin3D                   : no
+  \- SoWin                    : no
+  \- SoXt                     : no
+  \- SoQt                     : no
+  \- Qt4                      : no
+  \- Qt3                      : no
+Robots
+  Afma6                       : no
+  Afma4                       : no
+  Biclops                     : no
+  Ptu46                       : no
+  Pioneer                     : no
+  Viper S650                  : no
+  Viper S850                  : no
+Video devices (display)                  
+  X11                         : no
+  GTK                         : no 
+  OpenCV                      : no 
+  GDI                         : no
+  Direct3D                    : no
+Framegrabbers
+  Firewire libdc1394-1.x      : no
+  Firewire libdc1394-2.x      : no
+  Video For Linux Two         : no
+  DirectShow                  : no
+  CMU 1394 Digital Camera SDK : no
+  OpenCV                      : no 
+Specific devices
+  Yarp                        : no
+  Kinect                      : no
+  \-libfreenect               : no
+  \-libusb-1.0                : no
+  \-pthread                   : yes
+Video and image Read/Write:
+  FFMPEG                      : no
+  libjpeg                     : no
+  libpng                      : no
+Misc:
+  XML2                        : no
+  pthread                     : yes
+  OpenMP                      : yes
+  zbar                        : no
+  dmtx                        : no
+Documentation:
+  Doxygen                     : no
+  Graphviz dot                : no
+ViSP built with C++11 features: no
+\endcode
+In our case, only \c pthread an OpenMP 3rd parties are detected.  
+
+\subsection install_opensuse_3rdparty Optional 3rd party packages
+
+As mentioned previously, ViSP is interfaced with some 3rd party libraries. The <a href="http://www.irisa.fr/lagadic/visp/libraries.html">complete list is provided here</a>. We recommend to install the following:
+
+- OpenCV
+\code
+sudo zypper install opencv-devel
+\endcode
+- libX11 to be able to open a window to display images
+\code
+sudo zypper install libX11-devel
+\endcode
+- lapack and gsl to benefit from optimized mathematical capabilities
+\code
+sudo zypper install lapack-devel gsl-devel
+\endcode
+- libv4l to grab images from usb or analogic cameras
+\code
+sudo zypper install libv4l-devel
+\endcode
+- libxml2 to be able to configure the model-based trackers from xml files
+\code
+sudo zypper install libxml2-devel
+\endcode
+- libjpeg and libpng to support jpeg and png images
+\code
+sudo zypper install libjpeg8-devel libpng-devel
+\endcode
+
+Once installed, if you want that ViSP exploit the new 3rd parties, you have to configure ViSP again.
+
+\code
+ccmake ../ViSP-2.10.0
+\endcode
+The following image shows now that all the previous optional 3rd parties are detected.
+\image html img-ccmake-opensuse-all.png Snapshot of the ccmake \c ../ViSP-2.10.0 command used to configure ViSP after installation of optional 3rd party libraries.
+
+\note Other <a href="http://www.irisa.fr/lagadic/visp/libraries.html">3rd party libraries</a> are interfaced with ViSP. This is for example the case of <a href="http://www.irisa.fr/lagadic/visp/librarieslist.html#Ogre">Ogre</a> that can be used to enhance the visibility computation of the faces that are tracked with the model-based tracker (see \ref tutorial-tracking-mb), or <a href="http://www.irisa.fr/lagadic/visp/librarieslist.html#Coin">Coin</a> that can be used to parse vrml files that describe the 3D model of the object to track using the same model-based tracker. It seems that these 3rd parties are not packaged on openSUSE. If you want to use these 3rd parties, you have to install them from source code.
+
+\subsection install_opensuse_generate Generating Makefiles
+
+To generate the makefiles, just press [g] key in the ccmake gui.
+
+Now we can build ViSP.
+
+\subsection install_opensuse_issues Known issues
+
+- Note that with openSUSE 12.04 but also with 13.02, libjpeg-devel package lead to libjpeg62.so installation, that may conflict with libjpeg8.so that is also installed. That's why we recommend to not install libjpeg-devel, but rather install libjpeg8-devel.
+\code
+Linking CXX executable HelloWorld
+/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: warning: libjpeg.so.8, needed by /usr/lib64/libopencv_highgui.so.2.4.9, may conflict with libjpeg.so.62
+\endcode 
+
+\section install_opensuse_build Building ViSP from source
+
+- To build ViSP proceed with:
+\code
+make -j4
+\endcode
+
+- To install ViSP proceed with:
+\code
+sudo make install
+\endcode
+
+- To build ViSP documentation, you have first to install Doxygen package:
+\code
+sudo zypper install doxygen graphviz
+\endcode
+Then you can proceed with:
+\code
+make visp_doc
+\endcode
+
+You are now ready to see the next \ref tutorial-getting-started that will show you how to use ViSP as a 3rd party to build your own project.
+
+*/
diff --git a/doc/tutorial-install-raspberry.doc b/doc/tutorial-install-raspberry.doc
new file mode 100644
index 0000000000000000000000000000000000000000..212b44bcb9b7bebb6aaf861112b85c50a4ef9720
--- /dev/null
+++ b/doc/tutorial-install-raspberry.doc
@@ -0,0 +1,230 @@
+/**
+
+\page tutorial-install-raspberry Tutorial: Installation from source on Raspberry Pi
+\tableofcontents
+
+In this tutorial you will learn how to install ViSP from source on <a href="http://www.raspberrypi.org/help/what-is-a-raspberry-pi">Raspberry Pi 1 or Pi 2</a> equipped with an optional HD camera module.
+
+\image html img-raspberry-pi.jpg
+
+In a first section we give some useful instructions to start with a Raspberry PI. Then in the second section, we focus on the installation of ViSP from source.
+
+\note Concerning ViSP installation, we provide also other \ref tutorial.
+ 
+\section install_raspberry Raspberry Pi installation
+
+\subsection raspberry Setting up Raspberry Pi
+
+There are a lot of documentation and tutorial that explain different ways to setup a Raspberry Pi. A good reference is the official page <a href="http://www.raspberrypi.org/">http://www.raspberrypi.org</a>
+
+We suggest to start with NOOBS (New Out Of the Box Software). Bellow we resume the different steps that are fully described in <a href="http://www.raspberrypi.org/help/noobs-setup/">http://www.raspberrypi.org/help/noobs-setup</a>:
+
+- Format you SD card (at least 4Go are requested) on your computer. To this end you can use "GParted partition editor"  under Ubuntu.
+- Download Noobs "Offline and network install" zip file from <a href="http://www.raspberrypi.org/downloads/">http://www.raspberrypi.org/downloads</a>.
+- Unzip all the files on the SD card.
+- Insert your SD Card into your Raspberry Pi.
+- Plug in your keyboard, mouse, monitor and Ethernet cables.
+- Now plug in the USB power cable to your Pi.
+- Your Raspberry Pi will boot, and a window will appear with a list of different operating systems that you can install. Select the "recommended Raspbian" checkbox and click on "Install" button.
+- When the install process has completed, the Raspberry Pi configuration menu (raspi-config) will load. Here you are able to set the time and date for your region and enable a Raspberry Pi camera board, or even create users. You can exit this menu by using Tab on your keyboard to move to Finish.
+
+\subsection login Logging in 
+
+The default login for Raspbian is username \c pi with the password \c raspberry.
+
+\subsection update Update your Raspbian distribution
+
+If your Raspberry Pi is connected to Ethernet you can update your Raspbian distribution:
+\code
+sudo apt-get update
+sudo apt-get upgrade
+\endcode
+
+\subsection camera Setting up a Raspberry Pi camera
+
+If you have a Raspberry Pi camera module see <a href="http://www.raspberrypi.org/help/camera-module-setup/">http://www.raspberrypi.org/help/camera-module-setup</a>. To resume, enable the camera using:
+\code
+sudo raspi-config
+\endcode
+Enter in menu 5/ to enable the camera.
+
+Then load the camera module:
+\code
+sudo modprobe bcm2835-v4l2
+\endcode
+
+This will add the following modules:
+
+\code
+pi@raspberrypi ~ $ lsmod
+Module Size Used by
+bcm2835_v4l2 37611 0
+videobuf2_core 30853 1 bcm2835_v4l2
+v4l2_common 7792 1 bcm2835_v4l2
+videodev 121362 3 bcm2835_v4l2,v4l2_common,videobuf2_core
+\endcode
+
+To check if the camera is recognized and connected, run:
+\code
+v4l2-ctl --list-formats
+\endcode
+
+After each Raspberry Pi reboot you need to relaunch the previous modprobe command. To load bcm2835-v4l2 module during reboot, you can edit \c /etc/modules file 
+\code
+sudo nano /etc/modules
+\endcode
+
+and add a line with the name of the module:
+\code
+bcm2835-v4l2
+\endcode
+
+
+\subsection startx Start graphical user interface
+
+To load the graphical user interface, type \c startx and press Enter on your keyboard. This will later allow to use ViSP vpDisplayX or vpDisplayOpenCV classes useful to display images in a X11 window.
+
+\section install_visp ViSP installation
+\subsection prerequisities Prerequisities
+
+First you need to install the following packagages (g++, CMake, Subversion) that are requested to get and build ViSP:
+\code
+sudo apt-get install build-essential cmake-curses-gui subversion
+\endcode
+
+Then you can install the following packages (X11, lapack, gsl, v4l, xml, png, jpeg, opencv), that correspond to the optional 3rd party libraries that are interfaced with ViSP:
+\code
+sudo apt-get install libx11-dev liblapack-dev libgsl0-dev libv4l-dev libxml2-dev libpng12-dev libjpeg-dev libopencv-dev
+\endcode
+
+The complete list of 3rd party libraries is detailed following  <a href="http://team.inria.fr/lagadic/visp/libraries.html">http://team.inria.fr/lagadic/visp/libraries.html</a> link. 
+
+\subsection get_source Getting ViSP source code
+
+There are different ways to get ViSP source code on Raspberry Pi:
+
+- You can download the <a href="http://team.inria.fr/lagadic/visp/download.html#latest">latest stable release</a> tarball. Once downloaded, uncompress the file using:
+\code
+mkdir /home/pi/soft; cd /home/pi/soft
+wget http://gforge.inria.fr/frs/download.php/latestfile/475/ViSP-2.10.0.tar.gz
+tar xvzf ViSP-2.10.0.tar.gz 
+\endcode
+
+- You can also download the cutting-edge version of the source code from Subversion repository using:
+\code
+mkdir /home/pi/soft; cd /home/pi/soft
+svn checkout svn://scm.gforge.inria.fr/svn/visp/trunk/ViSP ViSP-code
+\endcode
+
+We suppose now that ViSP source is in a directory denoted  \<source_dir\>, for example \c /home/pi/soft/ViSP-2.10.0 or \c /home/pi/soft/ViSP-trunk
+
+\subsection config Configuring ViSP from source
+
+- Create first a directory denoted \<binary_dir\> where you want to build ViSP. This directory will contain generated Makefiles, object files, and output libraries and binaries.
+\code
+cd /home/pi/soft; mkdir ViSP-build-release
+\endcode
+
+- Enter the \<binary_dir\> and configure the build type:
+\code
+cmake [<optional parameters>] <source_dir>
+\endcode
+For example:
+\code
+cd /home/pi/soft/ViSP-build-release
+cmake -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_SHARED_LIBS=ON ../ViSP-2.10.0
+\endcode
+A more versatile way to configure the build is to use \c ccmake, the CMake GUI:
+\code
+ccmake ../ViSP-2.10.0
+\endcode
+The following image shows that this command allows to configure (just by pressing [c] key) the build in a more advanced way where some options could be easily turned On/Off. It allows also to see which are the 3rd parties that will be used. Then to generate the makefiles, just press [g] key in the ccmake gui.
+\image html img-ccmake-raspberry-pi.png Snapshot of the ccmake \c ../ViSP-2.10.0 command used to configure ViSP. 
+
+- There is an other way to see which are the 3rd parties that are found during the configuration stage and that will be used by ViSP during the build. To this end you can have a look to the text file named ViSP-third-party.txt and located in \<binary_dir\>. We provide hereafter an example of a possible content of this file:
+\code
+                    ViSP third-party libraries
+
+Below you will find the list of third party libraries used to 
+build ViSP on your computer.
+
+Mathematics:
+  Gnu Scientific Library      : yes
+  Lapack/blas                 : yes
+Simulator:
+  Ogre simulator              : no
+  \- Ogre3D                   : no
+  \- OIS                      : no
+  Coin simulator              :
+  \- Coin3D                   : no
+  \- SoWin                    : no
+  \- SoXt                     : no
+  \- SoQt                     : no
+  \- Qt4                      : no
+  \- Qt3                      : no
+Robots
+  Afma6                       : no
+  Afma4                       : no
+  Biclops                     : no
+  Ptu46                       : no
+  Pioneer                     : no
+  Viper S650                  : no
+  Viper S850                  : no
+Video devices (display)
+  X11                         : yes
+  GTK                         : no
+  OpenCV                      : yes
+  GDI                         : no
+  Direct3D                    : no
+Framegrabbers
+  Firewire libdc1394-2.x      : no
+  Video For Linux Two         : yes
+  DirectShow                  : no
+  CMU 1394 Digital Camera SDK : no
+  OpenCV                      : yes
+Specific devices
+  Yarp                        : no
+  Kinect                      : no
+  \-libfreenect               : no
+  \-libusb-1.0                : no
+  \-pthread                   : yes
+Video and image Read/Write:
+  FFMPEG                      : no
+  libjpeg                     : yes
+  libpng                      : yes
+Misc:
+  XML2                        : yes
+  pthread                     : yes
+  OpenMP                      : yes
+  zbar                        : no
+  dmtx                        : no
+Documentation:
+  Doxygen                     : no
+  Graphviz dot                : no
+ViSP built with C++11 features: no
+\endcode
+
+\subsection build Building ViSP from source
+
+- To build ViSP proceed with:
+\code
+make
+\endcode
+
+- To install ViSP proceed with:
+\code
+sudo make install
+\endcode
+
+- To build ViSP documentation, you have first to install Doxygen package:
+\code
+sudo apt-get install doxygen graphviz texlive-latex-base
+\endcode
+Then you can proceed with:
+\code
+make visp_doc
+\endcode
+
+You are now ready to see the next \ref tutorial-getting-started that will show you how to use ViSP as a 3rd party to build your own project on Raspberry Pi or on any other system. Then if you have a Raspberry Pi camera module, you can also follow the \ref tutorial-tracking-blob especially subsection Tracking form v4l2 live cameras.
+
+*/
diff --git a/doc/tutorial-install-ubuntu-package.doc b/doc/tutorial-install-ubuntu-package.doc
new file mode 100644
index 0000000000000000000000000000000000000000..0e7eb6e0db892d910ee2ed9661c337521751c62a
--- /dev/null
+++ b/doc/tutorial-install-ubuntu-package.doc
@@ -0,0 +1,89 @@
+/**
+
+\page tutorial-install-ubuntu-package Tutorial: Installation from prebuilt packages on Linux Ubuntu
+\tableofcontents
+
+In this tutorial you will learn how to install ViSP from prebuilt official packages on Linux Ubuntu. 
+
+\note Concerning ViSP installation, we provide also other \ref tutorial.
+
+Since Ubuntu 14.04 LTS, ViSP library can be installed from <a href="http://packages.ubuntu.com/search?keywords=visp&searchon=names&suite=trusty&section=all">existing packages</a> on amd64 or i386 architectures. In Ubuntu 13.10, the packages are only available for amd64 architecture.
+
+The table below shows which are the packages available given the distribution and architecture.
+
+<table>
+<tr>
+  <th colspan="2">Ubuntu 13.10
+  <th colspan="2">Ubuntu 14.04 LTS
+  <th colspan="2">Ubuntu 14.10 
+</tr>
+<tr>
+  <th>i386</th>
+  <th>amd64</th>
+  <th>i386</th>
+  <th>amd64</th>
+  <th>i386</th>
+  <th>amd64</th>
+</tr>
+<tr>
+  <td></td>
+  <td>libvisp-dev</td>
+  <td>libvisp-dev</td>
+  <td>libvisp-dev</td>
+  <td>libvisp-dev</td>
+  <td>libvisp-dev</td>
+</tr>
+<tr>
+  <td></td>
+  <td>libvisp2.8</td>
+  <td>libvisp2.8</td>
+  <td>libvisp2.8</td>
+  <td>libvisp2.9</td>
+  <td>libvisp2.9</td>
+</tr>
+<tr>
+  <td></td>
+  <td>libvisp2.8-dbg</td>
+  <td>libvisp2.8-dbg</td>
+  <td>libvisp2.8-dbg</td>
+  <td>libvisp2.9-dbg</td>
+  <td>libvisp2.9-dbg</td>
+</tr>
+<tr>
+  <td></td>
+  <td>libvisp-doc</td>
+  <td>libvisp-doc</td>
+  <td>libvisp-doc</td>
+  <td>libvisp-doc</td>
+  <td>libvisp-doc</td>
+</tr>
+<tr>
+  <td></td>
+  <td>visp-images</td>
+  <td>visp-images</td>
+  <td>visp-images</td>
+  <td>visp-images</td>
+  <td>visp-images</td>
+</tr>
+</table>
+
+To install ViSP library and headers just run:
+
+\code
+sudo apt-get install libvisp-dev
+\endcode
+
+To install ViSP images data set useful to run ViSP examples you can run:
+\code
+sudo apt-get install visp-images
+\endcode
+
+To install ViSP html documentation you can run:
+\code
+sudo apt-get install visp-doc
+\endcode
+
+
+You are now ready to see the next \ref tutorial-getting-started that will show you how to use ViSP as a 3rd party to build your own project.
+
+*/
diff --git a/doc/tutorial-install-ubuntu.doc b/doc/tutorial-install-ubuntu.doc
index c022a36c5a655d2801968c8bf45f8008811f61aa..94118777aecf69fbe8a748fc07ff1f07a0b5d06e 100644
--- a/doc/tutorial-install-ubuntu.doc
+++ b/doc/tutorial-install-ubuntu.doc
@@ -3,15 +3,9 @@
 \page tutorial-install-ubuntu Tutorial: Installation from source on Linux Ubuntu
 \tableofcontents
 
-In this tutorial you will learn how to install ViSP from source on Linux Ubuntu. These steps have been tested for Ubuntu 13.04 (64 bit) distribution, but should work with any other distribution as well. 
-
-Concerning ViSP installation, we provide also other tutorials
-- \ref tutorial-install-fedora
-- \ref tutorial-install-win
-- \ref tutorial-install-iOS
-
-ViSP can also be installed on other platforms including OSX, CentOS, openSUZE (see <a href="http://www.irisa.fr/lagadic/visp/install.html">Install from source page</a>).
+In this tutorial you will learn how to install ViSP from source on Linux Ubuntu. These steps have been tested for Ubuntu 14.04 (64 bit) distribution, but should work with any other distribution as well. 
 
+\note Concerning ViSP installation, we provide also other \ref tutorial.
 
 \section install_ubuntu_required Required packages
 
@@ -33,16 +27,16 @@ There are different ways to get ViSP source code:
 
 - You can download the <a href="http://www.irisa.fr/lagadic/visp/download.html#latest">latest stable release</a> as a zip or a tarball. Once downloaded, uncompress the file using either
 \code
-tar xvzf ViSP-2.9.0.tar.gz 
+tar xvzf ViSP-2.10.0.tar.gz 
 \endcode
 or
 \code
-unzip ViSP-2.9.0.zip
+unzip ViSP-2.10.0.zip
 \endcode
 
 - You can also download a more <a href="http://www.irisa.fr/lagadic/visp/download.html#snapshot">recent snapshot</a>. Once downloaded, uncompress the file using
 \code
-unzip ViSP-2.y.z-snapshot-2014.mm.dd.zip
+unzip ViSP-2.y.z-snapshot-2015.mm.dd.zip
 \endcode
 - Or you get the cutting-edge ViSP from Subversion repository. To this end you have first to install subversion
 \code
@@ -53,7 +47,7 @@ and then use the following command
 svn checkout svn://scm.gforge.inria.fr/svn/visp/trunk/ViSP ViSP-trunk
 \endcode
 
-We suppose now that ViSP source is in a directory denoted  \<source_dir\>, for example \c $HOME/ViSP-2.9.0
+We suppose now that ViSP source is in a directory denoted  \<source_dir\>, for example \c $HOME/ViSP-2.10.0
 
 \section install_ubuntu_config Configuring ViSP from source
 
@@ -69,16 +63,16 @@ cmake [<optional parameters>] <source_dir>
 For example:
 \code
 cd $HOME/ViSP-build-release
-cmake -D CMAKE_BUILD_TYPE=RELEASE -D BUILD_SHARED_LIBS=ON ../ViSP-2.9.0
+cmake -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_SHARED_LIBS=ON ../ViSP-2.10.0
 \endcode
 A more versatile way to configure the build is to use \c ccmake, the CMake GUI:
 \code
-ccmake ../ViSP-2.9.0
+ccmake ../ViSP-2.10.0
 \endcode
-The following image shows that this command allows to configure (just by pressing [c] key) the build in a more advanced way where some options could be easily turned On/Off. It allows also to see which are the 3rd party that will be used.
-\image html img-ccmake-ubuntu.png Snapshot of the ccmake \c ../ViSP-2.9.0 command used to configure ViSP.
+The following image shows that this command allows to configure (just by pressing [c] key) the build in a more advanced way where some options could be easily turned On/Off. It allows also to see which are the 3rd parties that will be used.
+\image html img-ccmake-ubuntu.png Snapshot of the ccmake \c ../ViSP-2.10.0 command used to configure ViSP.
 
-- There is an other way to see which are the 3rd party that are found during the configuration stage and that will be used by ViSP during the build. To this end you can have a look to the text file named ViSP-third-party.txt and located in \<binary_dir\>. We provide hereafter an example of a possible content of this file:
+- There is an other way to see which are the 3rd parties that are found during the configuration stage and that will be used by ViSP during the build. To this end you can have a look to the text file named ViSP-third-party.txt and located in \<binary_dir\>. We provide hereafter an example of a possible content of this file:
 \code
                     ViSP third-party libraries
 
@@ -107,7 +101,6 @@ Robots
   Pioneer                     : no
   Viper S650                  : no
   Viper S850                  : no
-  Cycab                       : no
 Video devices (display)                  
   X11                         : no
   GTK                         : no 
@@ -135,16 +128,18 @@ Misc:
   XML2                        : no
   pthread                     : yes
   OpenMP                      : yes
+  zbar                        : no
+  dmtx                        : no
 Documentation:
   Doxygen                     : no
   Graphviz dot                : no
 ViSP built with C++11 features: no
 \endcode
-In our case, only \c pthread an OpenMP 3rd party are detected.  
+In our case, only \c pthread an OpenMP 3rd parties are detected.  
 
 \subsection install_ubuntu_3rdparty Optional 3rd party packages
 
-As mentioned previously, ViSP is interfaced with some 3rd party libraries. The <a href="http://www.irisa.fr/lagadic/visp/libraries.html">complete list is provided here</a>. We recommand to install the following:
+As mentioned previously, ViSP is interfaced with some 3rd party libraries. The <a href="http://www.irisa.fr/lagadic/visp/libraries.html">complete list is provided here</a>. We recommend to install the following:
 
 - OpenCV
 \code
@@ -168,7 +163,7 @@ sudo apt-get install libv4l-dev
 \endcode
 - Coin, to be able to support vrml cad model used by the model-based trackers
 \code
-sudo apt-get install libCoin60-dev
+sudo apt-get install libCoin80-dev
 \endcode
 - libxml2 to be able to configure the model-based trackers from xml files
 \code
@@ -184,16 +179,20 @@ sudo apt-get install libswscale-dev libavutil-dev libavformat-dev libavcodec-dev
 \endcode
 - Ogre 3D if you want to do augmented reality or simulation
 \code
-sudo apt-get install libogre-dev libois-dev
+sudo apt-get install libogre-1.9-dev libois-dev
+\endcode
+- Bar code detection
+\code
+sudo apt-get install libzbar-dev libdmtx-dev
 \endcode
 
 Once installed, if you want that ViSP exploit the new 3rd party, you have to configure ViSP again.
 
 \code
-ccmake ../ViSP-2.9.0
+ccmake ../ViSP-2.10.0
 \endcode
-The following image shows now that all the previous optional 3rd party are detected.
-\image html img-ccmake-ubuntu-all.png Snapshot of the ccmake \c ../ViSP-2.9.0 command used to configure ViSP after installation of optional 3rd party libraries.
+The following image shows now that all the previous optional 3rd parties are detected.
+\image html img-ccmake-ubuntu-all.png Snapshot of the ccmake \c ../ViSP-2.10.0 command used to configure ViSP after installation of optional 3rd party libraries.
 
 \subsection install_ubuntu_generate Generating Makefiles
 
@@ -205,7 +204,7 @@ Now we can build ViSP.
 
 - To build ViSP proceed with:
 \code
-make
+make -j4
 \endcode
 
 - To install ViSP proceed with:
@@ -219,7 +218,7 @@ sudo apt-get install doxygen graphviz texlive-latex-base
 \endcode
 Then you can proceed with:
 \code
-make html-doc
+make visp_doc
 \endcode
 
 You are now ready to see the next \ref tutorial-getting-started that will show you how to use ViSP as a 3rd party to build your own project.
diff --git a/doc/tutorial-install-win.doc b/doc/tutorial-install-win.doc
deleted file mode 100644
index 7b7ee169efb2d1da29f2ac57e610b0e32c676238..0000000000000000000000000000000000000000
--- a/doc/tutorial-install-win.doc
+++ /dev/null
@@ -1,193 +0,0 @@
-/**
-
-\page tutorial-install-win Tutorial: Installation from source on Windows
-\tableofcontents
-
-In this tutorial you will learn how to install ViSP from source on Windows. These steps have been tested on Windows 7 (64 bit), with CMake 2.8 and Visual Studio 2012 but should work with any other version as well. 
-
-Concerning ViSP installation, we provide also other tutorials
-- \ref tutorial-install-ubuntu
-- \ref tutorial-install-fedora
-- \ref tutorial-install-iOS
-
-ViSP can also be installed on other platforms OSX, CentOS, openSUZE (see <a href="http://www.irisa.fr/lagadic/visp/install.html">Install from source page</a>).
-
-
-\section install_win_required Required packages
-
-- Visual Studio C++. Note that ViSP can also be build with Visual Studio Express that could be downloaded at :  http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-products
-- CMake 2.8 or higher that could be download at : http://www.cmake.org/cmake/resources/software.html
-
-
-\section install_win_get_source Getting ViSP source code
-
-There are different ways to get ViSP source code:
-
-- You can download the <a href="http://www.irisa.fr/lagadic/visp/download.html#latest">latest stable release</a> as a zip. 
-- You can also download a more <a href="http://www.irisa.fr/lagadic/visp/download.html#snapshot">recent snapshot</a>. 
-- Or you can get the cutting-edge ViSP from Subversion repository svn://scm.gforge.inria.fr/svn/visp/trunk/ViSP.
-
-We suppose now that ViSP source is in a directory denoted  \<source_dir\>, for example \c C:\\ViSP\\ViSP-2.9.0
-
-\section install_win_config Configuring ViSP from source 
-
-The goal of the configuration step is now to use CMake to produce a Visual Studio C++ solution that will be located in \<binary_dir\>, for example \c C:\\ViSP\\ViSP-2.9.0-build.
-
-- Launch CMake (cmake-gui) and complete the \<source_dir\> and \<binary_dir\> locations as in the next image.
-
-\image html img-cmake-win-1.jpg 
-
-- Click then on "Configure" button.
-
-\image html img-cmake-win-2.jpg 
-
-- Click on "Yes" to create the \c C:\\ViSP\\ViSP-2.9.0-build folder.
-- Select then your compiler, for example here Visual Studio 11 Win64, and click on "Finish" button. 
-
-\image html img-cmake-win-msvc-version.jpg 
-
-- This will start CMake configuration. As shown in the next image, GDI (Graphical Device Interface) and OpenMP 3rd party are automatically detected. 
-
-\image html img-cmake-win-4.jpg 
-
-- As given in the previous image, note also that the installation folder is set to \c C:/Program \c Files \c (x86)/ViSP. Make sure that you have administrator privileges to write in that folder. If not and if you want to install ViSP, you have to set an other folder, for example \c C:/ViSP/ViSP-install. 
-
-\image html img-cmake-win-install-prefix.jpg 
-
-- Click then on "Configure" button. All the red lines should disappear.
-
-\image html img-cmake-win-6.jpg 
-
-- Note also that the default configuration lead to the creation of a static library (with \c .lib extension). It is recommended to rather create a shared library (with \c .dll extension). As shown in the next image you have to check the \c BUILD_SHARED_LIBS option to enable DLL creation. Click then on "Configure" button.
-
-\image html img-cmake-win-shared.jpg 
-
-\subsection install_win_3rdparty Optional 3rd party packages
-
-ViSP is interfaced with some 3rd party libraries. The <a href="http://www.irisa.fr/lagadic/visp/libraries.html">complete list is provided here</a>. 
-
-\subsubsection install_win_3rdparty_opencv OpenCV 3rd party
-
-- We recommend to install OpenCV. The simplest is to install OpenCV pre-build libraries by following <a href="http://docs.opencv.org/doc/tutorials/introduction/windows_install/windows_install.html#windows-install-prebuild">OpenCV tutorial: Installation Using the Pre-build Libraries</a>. In our case we install \c OpenCV-2.4.5.exe pre-build SDK in \c C:\\OpenCV. The installer copied all the material in \c C:\\OpenCV\\opencv.
-
-- Now in order that ViSP detects OpenCV you have to set \c OPENCV_DIR environment variable. Start up a command window (in your "Start" menu click on "Run" and type in \c cmd.exe) and enter:
-\code
-setx OPENCV_DIR C:\OpenCV\opencv\build
-\endcode
-
-- Here the directory is where you have the build directory (extracted or built).  Inside this folder you should have a file named \c OpenCVConfig.cmake. 
-
-- Quit and restart CMake (cmake gui). It is important to quit CMake in order to take into account the new \c OPENCV_DIR environment variable. Click "Configure" button. As shown in the next image, a new red line indicating that OpenCV is found should appear.
-
-\image html img-cmake-win-opencv.jpg 
-
-- As shown in the next image, if you enable the advance view, you can see that we will use OpenCV libraries located in \c C:/OpenCV/opencv/build/x64/vc11/lib folder.
- 
-\image html img-cmake-win-opencv-advanced.jpg 
-
-- Press "Configure" button again.
-
-\subsubsection install_win_3rdparty_ogre Ogre3D 3rd party
-
-- We recommend also to install Ogre3D. As given in <a href="http://www.irisa.fr/lagadic/visp/librarieslist.html#Ogre">ViSP third party pages</a>, follow the steps described on <a href="http://www.ogre3d.org/tikiwiki/Installing+the+Ogre+SDK">Ogre Wiki</a>. In our case we install <a href="http://www.microsoft.com/en-us/download/confirmation.aspx?id=6812">DirectX SDK (June 2010)</a> and the latest <a href="http://www.ogre3d.org/download/sdk">Ogre SDK</a>; OGRE 1.9 RC 1 SDK for Visual C++ .Net 2012 (64-bit) in \c C:/ViSP/OgreSDK. You should adapt the versions that match your environment.
-
-- After Ogre3D installation you should get something similar to the next snapshot where Ogre3D SDK is installed in \c C:/ViSP/OgreSDK/OgreSDK_vc11_x64_v1-9-0unstable.
-\image html img-win-ogre-dir.jpg 
-
-- To help CMake detection of Ogre3D, set the following environment variables (\c OGRE_HOME and \c BOOST_ROOT) by opening a Window Command Shell. In our case it becomes:
-\image html img-win-ogre-var.jpg 
-
-- Set also the \c PATH environment variable to append the location of Ogre3D libraries used during execution. In our case we add \c C:/ViSP/OgreSDK/OgreSDK_vc11_x64_v1-9-0unstable/bin/Debug and \c C:/ViSP/OgreSDK/OgreSDK_vc11_x64_v1-9-0unstable/bin/Release.
-
-- Now quit and restart CMake to take into account the environment variables changes. Select "Configure" button. Ogre3D should be detected.
-
-\image html img-cmake-win-ogre-found.jpg 
-
-- If you enter in the advanced view, you should have something similar to:
-
-\image html img-cmake-win-ogre-found-advanced.jpg 
-
-- Make sure that \c Boost_, \c OGRE_ and \c DIRECT3D_ prefixed vars are well set. 
-
-- Press "Configure" button again.
- 
-
-\subsection install_win_gene Ending the configuration
-
-- To finish the configuration, click on "Generate" button.
-
-\image html img-cmake-win-generate.jpg 
-
-- Once the generation is done, in \c C:/ViSP/ViSP-2.9.0-build folder you have the Visual Studio \c VISP.sln generated solution file.
-
-\image html img-cmake-win-solution.jpg 
-
-\section install_win_build Building ViSP from source
-
-- To build ViSP just double click on \c C:/ViSP/ViSP-2.9.0-build/VISP.sln solution file. This action will open ViSP project in Visual Studio C++. As shown in the next image, by default, Visual Studio position the solution configuration to \c Debug.
-
-\image html img-msvc-1.jpg 
-
-- Enter menu "BUILD/Build Solution" to build ViSP.
-
-\image html img-msvc-build.jpg 
-
-- At the end of the build process you should have the following indicating that all the build succeeded.
-
-\image html img-msvc-2.jpg 
-
-- Now to install ViSP, build "INSTALL" project. To this end, apply a left click on "INSTALL" to select the project, then a right click to enter in the "Build" menu.
-
-\image html img-msvc-install.jpg 
-
-- At the end of the installation, you should have the following.
-
-\image html img-msvc-4.jpg 
-
-- As shown in the previous image, all the headers but also the generated library are copied in \c C:/ViSP/ViSP-install folder.
-
-- This ends ViSP installation with \c Debug configuration.
-
-- We recommend now to do the same with \c Release settings. As shown in the next image, select the \c Release configuration. 
-
-\image html img-msvc-release.jpg 
-
-- Now, as previously, build and install ViSP again.
-
-- At the end, in \c C:/ViSP/ViSP-install/bin folder you have two versions of ViSP DLL library; the one suffixed by "d" with debug information, the other one optimized with release compiler options.
-
-\image html img-msvc-install-end.jpg 
-
-\section install_win_env_var Setting up PATH variable
-
-If you built static libraries then you are done. Otherwise, if you follow this tutorial step by step you need to add the bin folders path to the systems path. This is because you will use the ViSP and OpenCV libraries in form of "Dynamic-link libraries" (also known as DLL). Inside these are stored all the algorithms and information the libraries contains. The operating system will load them only on demand, during runtime. However, to do this he needs to know where they are. The systems \c PATH variable contains a list of folders where DLLs can be found. Add the ViSP and OpenCV libraries path to this and the OS will know where to look if he ever needs the libraries. Otherwise, you will need to copy the used DLLs right beside the applications executable file (exe) for the OS to find it.
-
-\code
-C:\ViSP\ViSP-install\bin; C:\OpenCV\opencv\build\x64\vc11\bin
-\endcode
-
-\section install_win_annex Appendix
-\subsection install_annex_data Installing testing data
-
-Some ViSP examples and tests require data set (images, models). These data set is provided as a compressed zip files. 
-
-- Download ViSP-images-2.9.0.zip from http://www.irisa.fr/lagadic/visp/download.html#dataDownloadForExample and uncompress it for example in \c C:/ViSP. 
-
-\image html img-ViSP-images.jpg 
-
-\subsection install_annex_usage Using testing data
-- ViSP examples and tests are able to detect automatically the location of the requested data if you position an environment variable called \c VISP_INPUT_IMAGE_PATH. In our case, this variable should be set to \c C:\\ViSP.
-\code
-setx VISP_INPUT_IMAGE_PATH C:\ViSP
-\endcode
-
-- It is also possible to run the examples and tests without positioning \c VISP_INPUT_IMAGE_PATH by using command line option \c -i \<\c path \c to \c the \c data \c set\>. If you want to run \c \<binary dir\>/example/device/display/Debug/displayGDI.exe, open a command window, enter in the right folder, and run: 
-\code
-displayGDI.exe -i C:\ViSP
-\endcode
-
-\image html img-cmd-displayGDI.jpg 
-
-You are now ready to see the next \ref tutorial-getting-started that will show you how to use ViSP as a 3rd party to build your own project.
-
-*/
diff --git a/doc/tutorial-install-win7.doc b/doc/tutorial-install-win7.doc
new file mode 100644
index 0000000000000000000000000000000000000000..97748a39699d972adb56d926899920e1d7f88aef
--- /dev/null
+++ b/doc/tutorial-install-win7.doc
@@ -0,0 +1,201 @@
+/**
+
+\page tutorial-install-win7 Tutorial: Installation from source on Windows 7 with Visual C++ 2012
+\tableofcontents
+
+In this tutorial you will learn how to install ViSP from source on Windows with Visual C++. These steps have been tested on Windows 7 (64 bit), with CMake 3.1 and Visual Studio 2012 but should work with any other version as well. 
+
+\note Concerning ViSP installation, we provide also other \ref tutorial.
+
+\section install_win7_required Required packages
+
+- Visual Studio C++. In this tutorial we use Visual Studio 2012. Note that ViSP can also be build with Visual Studio Express that could be downloaded from http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-products
+- CMake 2.8 or higher that could be download at : http://www.cmake.org/cmake/resources/software.html
+
+
+\section install_win7_get_source Getting ViSP source code
+
+There are different ways to get ViSP source code.
+
+\subsection install_win7_get_source_release Getting the latest release
+
+You can download the <a href="http://www.irisa.fr/lagadic/visp/download.html#latest">latest stable release</a> as a zip. 
+
+\subsection install_win7_get_source_snapshot Getting the latest snapshot
+
+When significant changes or bug fixes were introduced in the current developpement version of the source code, we provide snapshots. 
+
+If available, you can download a <a href="http://www.irisa.fr/lagadic/visp/download.html#snapshot">recent snapshot</a> following the link. 
+
+\subsection install_win7_get_source_svn Getting the source from Subversion
+
+You can also get the cutting-edge ViSP version from Subversion repository svn://scm.gforge.inria.fr/svn/visp/trunk/ViSP. 
+
+One way to do that under Windows is to install Subversion that comes with Cygwin installer that is available on https://cygwin.com/install.html
+
+- From the previous link, download Cygwin installer for 32-bits or 64-bits version.
+- Double click on the setup binary to start installation. Keep the default settings and select a mirror.
+- As shown in the next image, in the window that allows to select the packages, search for "subversion" and select "subversion" package in "Devel":
+\image html img-win8.1-cygwin-svn.jpg
+- Click on Next button twice to start installation, and then on Finish button to exit installer. 
+- Now you should be able to use subversion
+\code
+C:\Users\...> C:\cygwin64\bin\svn.exe --version
+svn, version 1.7.14
+\endcode
+
+Once installed, to get ViSP source code run:
+\code
+C:\Users\...> cd C:\ViSP
+C:\Users\...> C:\cygwin64\bin\svn.exe checkout svn://scm.gforge.inria.fr/svn/visp/trunk/ViSP ViSP-code
+\endcode
+
+\section install_win7_config Configuring ViSP from source 
+
+We suppose now that ViSP source is in a directory denoted  \<source_dir\>, for example \c C:\\ViSP\\ViSP-2.10.0
+
+The goal of the configuration step is now to use CMake to produce a Visual Studio C++ solution that will be located in \<binary_dir\>, for example \c C:\\ViSP\\ViSP-2.10.0-build.
+
+- Launch CMake (cmake-gui) and complete the \<source_dir\> and \<binary_dir\> locations as in the next image.
+
+\image html img-cmake-win7-msvc-launch.jpg
+
+- Click then on "Configure" button.
+
+\image html img-cmake-win7-create-build-folder.jpg 
+
+- Click on "Yes" to create the \c C:\\ViSP\\ViSP-2.10.0-build folder.
+- Select then your compiler, for example here Visual Studio 11 Win64, and click on "Finish" button. 
+
+\image html img-cmake-win7-msvc-version.jpg 
+
+- This will start CMake configuration. As shown in the next image, GDI (Graphical Device Interface) and OpenMP 3rd parties are automatically detected. 
+
+\image html img-cmake-win7-msvc-config.jpg 
+
+- As given in the previous image, note also that the installation folder is set to \c C:\\ViSP\\ViSP-2.10.0-build\\install. 
+\warning If you want to change the installation forder to \c C:/Program \c Files \c (x86)/ViSP, make sure that you have administrator privileges to write in that folder. 
+
+- Click then on "Configure" button. All the red lines should disappear.
+\image html img-cmake-win7-msvc-config-end.jpg 
+\note The default configuration lead to the creation of a shared library (with \c .dll extension). This is the default configuration that is recommended. If you want to create rather a static library (with \c .lib extension) you have to uncheck the \c BUILD_SHARED_LIBS option to disable DLL creation. 
+
+\subsection install_win7_3rdparty Optional 3rd party packages
+
+ViSP is interfaced with some 3rd party libraries. The <a href="http://www.irisa.fr/lagadic/visp/libraries.html">complete list is provided here</a>. 
+
+\subsubsection install_win7_3rdparty_opencv OpenCV 3rd party
+
+- We recommend to install OpenCV. From http://opencv.org/downloads.html download the latest OpenCV for Windows version. There is an <a href="http://docs.opencv.org/doc/tutorials/introduction/windows_install/windows_install.html#windows-install-prebuild">OpenCV tutorial: Installation Using the Pre-build Libraries</a> that may help. In our case we install \c OpenCV-3.0.0-beta.exe pre-build SDK in \c C:\\OpenCV. The installer opencv-3.0.0-beta.exe copied all the material in \c C:\\OpenCV\\opencv.
+
+- Now in order that ViSP detects OpenCV you have to set \c OpenCV_DIR environment variable. Start up a command window (in your "Start" menu click on "Run" and type in \c cmd.exe) and enter:
+\code
+setx OpenCV_DIR C:\OpenCV\opencv-3.0.0-beta\build
+\endcode
+
+- Here the directory is where you have the build directory (extracted or built).  Inside this folder you should have a file named \c OpenCVConfig.cmake. 
+
+- Quit and restart CMake (cmake gui). <b>It is important to quit CMake</b> in order to take into account the new \c OpenCV_DIR environment variable. Click "Configure" button. As shown in the next image, a new red line indicating that OpenCV is found should appear.
+
+\image html img-cmake-win7-opencv.jpg 
+
+- As shown in the next image, if you enable the advanced view, you can see that we will use OpenCV libraries located in \c C:/OpenCV/opencv/build/x64/vc11/lib folder.
+ 
+\image html img-cmake-win-opencv-advanced.jpg 
+
+- Press "Configure" button again.
+
+\subsection install_win7_gene Ending the configuration
+
+- To finish the configuration, click on "Generate" button.
+
+\image html img-cmake-win7-generate.jpg 
+
+- Once the generation is done, in \c C:/ViSP/ViSP-2.10.0-build folder you have the Visual Studio \c VISP.sln generated solution file.
+
+\image html img-cmake-win7-solution.jpg 
+
+\section install_win7_build Building ViSP from source
+
+- To build ViSP just double click on \c C:/ViSP/ViSP-2.10.0-build/VISP.sln solution file. This action will open ViSP project in Visual Studio C++. As shown in the next image, by default, Visual Studio position the solution configuration to \c Debug.
+
+\image html img-win7-msvc-open.jpg 
+
+- Enter menu "BUILD/Build Solution" to build ViSP.
+
+\image html img-win7-msvc-build.jpg 
+
+- At the end of the build process you should have the following indicating that all the build succeeded.
+
+\image html img-win7-msvc-build-succeed.jpg 
+
+- Now to install ViSP, build "INSTALL" project. To this end, apply a left click on "INSTALL" to select the project, then a right click to enter in the "Build" menu.
+
+\image html img-win7-msvc-install.jpg 
+
+- At the end of the installation, you should have the following.
+
+\image html img-win7-msvc-install-succeed.jpg 
+
+- As shown in the previous image, all the headers but also the generated library are copied in \c C:/ViSP/ViSP-install folder.
+
+- This ends ViSP installation with \c Debug configuration.
+
+- We recommend now to do the same with \c Release settings. As shown in the next image, select the \c Release configuration. 
+
+\image html img-win7-msvc-release.jpg 
+
+- Now, as previously, build and install ViSP again.
+
+- At the end, in \c C:/ViSP/ViSP-install/bin folder you have two versions of ViSP DLL library; the one suffixed by "d" with debug information, the other one optimized with release compiler options.
+
+\image html img-win7-msvc-install-end.jpg 
+
+\section install_win7_env_var Setting up PATH variable
+
+If you built static libraries then you are done. Otherwise, if you follow this tutorial step by step you need to add the bin folders path to the systems path. This is because you will use ViSP and OpenCV libraries in form of "Dynamic-link libraries" (also known as DLL). Inside these are stored all the algorithms and information the libraries contains. The operating system will load them only on demand, during runtime. However, to do this he needs to know where they are. The systems \c PATH variable contains a list of folders where DLLs can be found. Add ViSP and OpenCV libraries path to this and the OS will know where to look if he ever needs the libraries. Otherwise, you will need to copy the used DLLs right beside the applications executable file (exe) for the OS to find it.
+
+To modify the PATH var and add the path to ViSP library, open a cmd terminal and run:
+\code
+C:\Users\...> echo %PATH%
+C:\Users\...> setx PATH "%PATH%;C:\ViSP\ViSP-2.10.0-build\install\x64\vc12\bin"
+\endcode
+
+Then to add the path to OpenCV 3rd party libraries, close and re-open a cmd-terminal and run:
+\code
+C:\Users\...> echo %PATH%
+C:\Users\...> setx PATH "%PATH%;C:\OpenCV\opencv\build\x64\vc12\bin"
+\endcode
+
+Then close and re-open a cmd terminal to check if the PATH var was well positioned
+
+\code
+C:\Users\...> echo %PATH%
+\endcode
+
+
+\section install_win7_annex Appendix
+\subsection install_win7_annex_data Installing testing data
+
+Some ViSP examples and tests require data set (images, models). These data set is provided as a compressed zip files. 
+
+- Download ViSP-images-2.10.0.zip from http://www.irisa.fr/lagadic/visp/download.html#dataDownloadForExample and uncompress it for example in \c C:/ViSP. 
+
+\image html img-win7-ViSP-images.jpg 
+
+\subsection install_win7_annex_usage Using testing data
+- ViSP examples and tests are able to detect automatically the location of the requested data if you position an environment variable called \c VISP_INPUT_IMAGE_PATH. In our case, this variable should be set to \c C:\\ViSP.
+\code
+setx VISP_INPUT_IMAGE_PATH C:\ViSP
+\endcode
+
+- It is also possible to run the examples and tests without positioning \c VISP_INPUT_IMAGE_PATH by using command line option \c -i \<\c path \c to \c the \c data \c set\>. If you want to run \c \<binary dir\>/example/device/display/Debug/displayGDI.exe, open a command window, enter in the right folder, and run: 
+\code
+displayGDI.exe -i C:\ViSP
+\endcode
+
+\image html img-win7-cmd-displayGDI.jpg 
+
+You are now ready to see the next \ref tutorial-getting-started that will show you how to use ViSP as a 3rd party to build your own project.
+
+*/
diff --git a/doc/tutorial-install-win8.1-mingw-w64.doc b/doc/tutorial-install-win8.1-mingw-w64.doc
new file mode 100644
index 0000000000000000000000000000000000000000..4166013e25eb5db82edb5b08407899ddf23b4a0d
--- /dev/null
+++ b/doc/tutorial-install-win8.1-mingw-w64.doc
@@ -0,0 +1,319 @@
+/**
+
+\page tutorial-install-win81-mingw64 Tutorial: Installation from source on Windows 8.1 with Mingw-w64
+\tableofcontents
+
+In this tutorial you will learn how to install ViSP from source on Windows 8.1 with Mingw-w64. These steps have been tested on Windows 8.1 (64 bit), with CMake 3.1.2 and Mingw-w64 - GCC for Windows 64 & 32 bits. 
+
+\note Concerning ViSP installation, we provide also other \ref tutorial.
+
+\section install_win81_mingw64_required Required packages
+
+\subsection install_win81_mingw64_required_mingw Mingw-w64
+
+Mingw-w64 could be found following http://mingw-w64.sourceforge.net. From that page, click on download "Win-builds" that will bring you to the page http://win-builds.org/download.html Here simply download and run the package manager, in our case we downloaded win-builds-1.5.0.exe file.
+
+- Once downloaded, double click on the the exe file. It will open an installation window. 
+- Select x86_64 and Mingw installation folder C:\\mingw as in the following image: 
+\image html img-mingw64-installer-started.jpg
+\note It you want to install Mingw in an other folder, you have to set MINGW_DIR environment variable to your installation location in order to allow CMake to detect 3rd party libraries that come with Mingw installer. Fo example, if you install Mingw in C:\\folder\\mingw-w64, setting MINGW_DIR is simply done running in a cmd terminal:
+\code
+C:\Users\...> setx MINGW_DIR "C:\mingw"
+\endcode  
+- Click on "OK" button. It will open an other window:
+\image html img-mingw64-installer-process.jpg
+- Where you can click on "Process" button to start the installation
+- A window shows the progression of the installation. When all the packages are installed (in our case 92/92 packages, see next image) you can close all the installation windows.
+\image html img-mingw64-installer-finished.jpg
+- To finish the installation, just add C:\\mingw\\bin folder to the PATH variable. To this end open a cmd terminal and do the following:
+\code
+C:\Users\...> echo %PATH%
+C:\Users\...> setx PATH "%PATH%;C:\mingw\bin"
+\endcode
+- Close and re-open a cmd terminal, then run again 
+\code
+C:\Users\...> echo %PATH%
+\endcode
+to check that C:\\mingw\\bin was added.
+
+
+\subsection install_win81_mingw64_required_cmake CMake
+
+CMake 2.8 or higher that could be download at : http://www.cmake.org In our case we install CMake 3.1.2.
+
+- Download the latest binary distribution installer for Windows from http://www.cmake.org/download. You will find it under "Windows (Win32 Installer)".
+- Install CMake just by double click on the binary cmake-3.1.2-win32-x86.exe you downloaded.
+
+
+\section install_win81_mingw64_get_source Getting ViSP source code
+
+There are different ways to get ViSP source code.
+
+\subsection install_win81_mingw64_get_source_release Getting the latest release
+
+You can download the <a href="http://www.irisa.fr/lagadic/visp/download.html#latest">latest stable release</a> as a zip. 
+
+\subsection install_win81_mingw64_get_source_snapshot Getting the latest snapshot
+
+When significant changes or bug fixes were introduced in the current developpement version of the source code, we provide snapshots. 
+
+If available, you can download a <a href="http://www.irisa.fr/lagadic/visp/download.html#snapshot">recent snapshot</a> following the link. 
+
+\subsection install_win81_mingw64_get_source_svn Getting the source from Subversion
+
+You can also get the cutting-edge ViSP version from Subversion repository svn://scm.gforge.inria.fr/svn/visp/trunk/ViSP. 
+
+One way to do that under Windows is to install Subversion that comes with Cygwin installer that is available on https://cygwin.com/install.html
+
+- From the previous link, download Cygwin installer for 32-bits or 64-bits version.
+- Double click on the setup binary to start installation. Keep the default settings and select a mirror.
+- As shown in the next image, in the window that allows to select the packages, search for "subversion" and select "subversion" package in "Devel":
+\image html img-win8.1-cygwin-svn.jpg
+- Click on Next button twice to start installation, and then on Finish button to exit installer. 
+- Now you should be able to use subversion
+\code
+C:\Users\...> C:\cygwin64\bin\svn.exe --version
+svn, version 1.7.14
+\endcode
+
+Once installed, to get ViSP source code run:
+\code
+C:\Users\...> cd C:\ViSP
+C:\Users\...> C:\cygwin64\bin\svn.exe checkout svn://scm.gforge.inria.fr/svn/visp/trunk/ViSP ViSP-code
+\endcode
+
+
+\section install_win81_mingw64_config Configuring ViSP from source 
+
+We suppose now that ViSP source is in a directory denoted  \<source_dir\>, for example \c C:\\ViSP\\ViSP-2.10.0
+
+The goal of the configuration step is now to use CMake to produce all the material requested to build ViSP with Mingw. This material will be located in \<binary_dir\>, for example \c C:\\ViSP\\ViSP-2.10.0-build.
+
+- Launch CMake (cmake-gui) and complete the \<source_dir\> and \<binary_dir\> locations as in the next image.
+
+\image html img-cmake-win8.1-mingw-launch.jpg 
+
+- Click then on "Configure" button.
+
+\image html img-cmake-win8.1-create-build-folder.jpg 
+
+- Click on "Yes" to create the \c C:\\ViSP\\ViSP-2.10.0-build folder.
+- Select then "MinGW Makefiles" and click on "Finish" button. 
+
+\image html img-cmake-win8.1-mingw-version.jpg 
+
+- This will start CMake configuration. As shown in the next image, ffmpeg, gdi, libjpeg, libpng, pthread and libxml2 3rd party are detected. 
+
+\image html img-cmake-win8.1-mingw-configure.jpg 
+
+- As given in the previous image, note also that the installation folder is set to \c C:\\ViSP\\ViSP-2.10.0-build\\install. 
+\warning If you want to change the installation forder to \c C:/Program \c Files \c (x86)/ViSP, make sure that you have administrator privileges to write in that folder. 
+
+- Click then on "Configure" button. All the red lines should disappear.
+\image html img-cmake-win8.1-mingw-configure-end.jpg 
+\note The default configuration lead to the creation of a shared library (with \c .dll extension). This is the default configuration that is recommended. If you want to create rather a static library (with \c .lib extension) you have to uncheck the \c BUILD_SHARED_LIBS option to disable DLL creation. 
+
+\subsection install_win81_mingw64_3rdparty Optional 3rd party packages
+
+ViSP is interfaced with some 3rd party libraries. The <a href="http://www.irisa.fr/lagadic/visp/libraries.html">complete list is provided here</a>. Some of them are automatically detected since they are part of MinGW distribution. Other may be installed from source.
+
+\subsubsection install_win81_mingw64_3rdparty_opencv OpenCV 3rd party
+
+- We recommend to install OpenCV. Since OpenCV is not package for Mingw, you have to install OpenCV from source. From http://opencv.org/downloads.html download the latest OpenCV for Windows version. In our case we install \c OpenCV-2.4.10.exe pre-build SDK in \c C:\\OpenCV. The installer opencv-2.4.10.exe copied all the prebuilt binaries, <b>but also the source code</b> in \c C:\\OpenCV\\opencv.
+\note You can also install OpenCV 3.0.0. The principle remains the same.
+
+- Now we have to use CMake to configure OpenCV from source. As \<source_dir\> we will set \c C:\\OpenCV\\opencv\\sources and as \<binary_dir\> we set \c C:\\OpenCV\\opencv\\sources\\build-mingw.
+\image html img-win8.1-mingw-opencv-cmake-configure.jpg
+
+- Click then on "Configure" button. 
+- Click on "Yes" to create the \c C:\\OpenCV\\opencv\\sources\\build-mingw.
+- Select then "MinGW Makefiles" and click on "Finish" button. 
+\note Here you should encounter a first issue \ref issue_win81_mingw_opencv_endianness.
+- Modify "CMAKE_INSTALL_PREFIX" to \c C:\\OpenCV\\opencv\\build folder. This is the location of the pre-build libraries that come with the installer. Doing that, allows to install OpenCV libraries in a same parent folder.
+\image html img-win8.1-mingw-opencv-cmake-configure-install.jpg
+- Click on "Generate" button to generate the Makefiles for Mingw.
+- Open a cmd terminal, enter in the \<binary_dir\> folder and start mingw32-make
+\code
+C:\Users\...> cd C:\OpenCV\opencv\sources\build-mingw
+C:\OpenCV\opencv\sources\build-mingw> mingw32-make
+\endcode
+\note Here you may encounter an other issue \ref issue_win81_mingw_opencv_tiff and maybe the following if you try to build with OpenCV 3.0.0: \ref issue_win81_mingw_opencv_ipp and \ref issue_win81_mingw_opencv_dshow.
+
+- To install OpenCV run:
+\code
+C:\OpenCV\opencv\sources\build-mingw> mingw32-make install
+\endcode
+
+- Now in order that ViSP detects OpenCV you have to set \c OpenCV_DIR environment variable. Start up cmd terminal and enter:
+\code
+setx OpenCV_DIR C:\OpenCV\opencv\build
+\endcode
+
+- Here the directory is the one where you have installed OpenCV. Inside this folder you should have a file named \c OpenCVConfig.cmake. 
+
+- Quit and restart CMake Gui on ViSP. <b>It is important to quit CMake</b> in order to take into account the new \c OpenCV_DIR environment variable. Click "Configure" button. As shown in the next image, a new red line indicating that OpenCV is found should appear.
+\image html img-cmake-win8.1-mingw-opencv-detected.jpg
+\note If OpenCV is not detected, you may encounter the following issue \ref issue_win81_mingw_opencv_not_detected.
+
+- If you enable the advanced view, you can see that we will use OpenCV libraries located in \c C:/OpenCV/opencv/build/x64/mingw/lib folder.
+ 
+\image html img-cmake-win8.1-mingw-opencv-detected-advanced.jpg 
+
+- Press "Configure" button again.
+
+\subsection install_win81_mingw64_gene Ending the configuration
+
+- To finish the configuration, click on "Generate" button.
+
+\image html img-cmake-win8.1-mingw-generate.jpg 
+
+- Once the generation is done, in \c C:/ViSP/ViSP-2.10.0-build folder you have the Makefile file that will be used by Mingw to build the entire project.
+
+\section install_win81_mingw64_build Building ViSP from source
+
+- To build ViSP, open a cmd terminal, change to C:\\ViSP\ViSP-2.10.0-build folder and run mingw32-make:
+\code
+C:\Users\...> cd C:\ViSP\ViSP-2.10.0-build
+C:\ViSP\ViSP-2.10.0-build> mingw32-make
+\endcode
+\note To \ref issue_win81_mingw_warning_pragma just follow the link.
+
+- Now to install ViSP, in the same cmd terminal run:
+\code
+C:\ViSP\ViSP-2.10.0-build> mingw32-make install
+\endcode
+
+- At the end, in \c C:/ViSP/ViSP-2.10.0-build/install/x64/mingw/bin folder you have ViSP DLL library in libvisp-2100.dll file. 
+\note When CMAKE\_BUILD\_TYPE is set to Debug, the library name is suffixed by "d".
+
+\section install_win81_mingw64_env_var Setting up PATH variable
+
+If you built static libraries then you are done. Otherwise, if you follow this tutorial step by step you need to add the bin folders path to the systems path. This is because you will use ViSP and OpenCV libraries in form of "Dynamic-link libraries" (also known as DLL). Inside these are stored all the algorithms and information the libraries contains. The operating system will load them only on demand, during runtime. However, to do this he needs to know where they are. The systems \c PATH variable contains a list of folders where DLLs can be found. Add ViSP and OpenCV libraries path to this and the OS will know where to look if he ever needs the libraries. Otherwise, you will need to copy the used DLLs right beside the applications executable file (exe) for the OS to find it.
+
+To modify the PATH var and add the path to ViSP library, open a cmd terminal and run:
+\code
+C:\Users\...> echo %PATH%
+C:\Users\...> setx PATH "%PATH%;C:\ViSP\ViSP-2.10.0-build\install\x64\mingw\bin"
+\endcode
+
+Then to add the path to OpenCV 3rd party library, close and re-open a cmd-terminal and run:
+\code
+C:\Users\...> echo %PATH%
+C:\Users\...> setx PATH "%PATH%;C:\OpenCV\opencv\build\x64\mingw\bin"
+\endcode
+
+Then close and re-open a cmd terminal to check if the PATH var was well positioned
+
+\code
+C:\Users\...> echo %PATH%
+\endcode
+
+
+\section install_win81_mingw64_annex Appendix
+\subsection install_win81_mingw64_annex_data Installing testing data
+
+Some ViSP examples and tests require data set (images, models). These data set is provided as a compressed zip files. 
+
+- Download ViSP-images-2.10.0.zip from http://www.irisa.fr/lagadic/visp/download.html#dataDownloadForExample and uncompress it for example in \c C:/ViSP. 
+
+\image html img-win8.1-visp-images.jpg 
+
+\subsection install_win81_mingw64_annex_usage Using testing data
+- ViSP examples and tests are able to detect automatically the location of the requested data if you position an environment variable called \c VISP_INPUT_IMAGE_PATH. In our case, this variable should be set to \c C:\\ViSP.
+\code
+setx VISP_INPUT_IMAGE_PATH C:\ViSP
+\endcode
+
+- It is also possible to run the examples and tests without positioning \c VISP_INPUT_IMAGE_PATH by using command line option \c -i \<\c path \c to \c the \c data \c set\>. If you want to run \c \<binary dir\>/example/device/display/Debug/displayGDI.exe, open a command window, enter in the right folder, and run: 
+\code
+displayGDI.exe -i C:\ViSP
+\endcode
+
+\image html img-win8.1-cmd-displayGDI.jpg 
+
+You are now ready to see the next \ref tutorial-getting-started that will show you how to use ViSP as a 3rd party to build your own project.
+
+\section issue_win81_mingw Known issues
+\subsection issue_win81_mingw_opencv_endianness OpenCV endianness failure during CMake configuration
+
+\note This issue occurs with OpenCV 2.4.10 and 2.3.0-beta.
+
+If you encounter the following issue during CMake configuration
+\image html img-opencv-issue-test-big-endian.jpg
+
+Edit C:\\OpenCV\\opencv\\sources\\CMakeLists.txt file, and line 464 replace:
+\code
+test_big_endian(WORDS_BIGENDIAN)
+\endcode
+by:
+\code
+set(WORDS_BIGENDIAN 0)
+\endcode
+
+\subsection issue_win81_mingw_opencv_tiff OpenCV build error: cannot build with tiff support
+
+\note This issue occurs with OpenCV 2.4.10 and 2.3.0-beta.
+
+If you encounter a build issue during libtiff build as given in the next image:
+\image html img-opencv-issue-tiff.jpg
+
+- Open CMake GUI on OpenCV, turn BUILD_TIFF=OFF and also WITH_TIFF=OFF
+- Click on "Configure" button, and then on "Generate" one.
+- Build again OpenCV using
+\code
+C:\OpenCV\opencv\sources\build-mingw> mingw32-make
+\endcode
+
+\subsection issue_win81_mingw_opencv_not_detected OpenCV not detected with Mingw build
+
+\note This issue occurs with OpenCV 2.4.10 and 2.3.0-beta.
+
+- To fix this issue, edit C:\\OpenCV\\opencv\\sources\\cmake\\OpenCVConfig.cmake, and line 89 replace:
+\code
+  if(CMAKE_OPENCV_GCC_TARGET_MACHINE MATCHES "64")
+\endcode
+by:
+\code
+  if(OPENCV_GCC_TARGET_MACHINE MATCHES "64")
+\endcode
+
+- Then open a new cmd terminal to build and install OpenCV again:
+\code
+C:\OpenCV\opencv\sources\build-mingw> mingw32-make install
+\endcode
+
+\subsection issue_win81_mingw_opencv_ipp OpenCV link error: cannot find -lRunTmChk
+
+\note This issue occurs with OpenCV 2.3.0-beta and with OpenCV master branch.
+
+The following image shows the link issue that may appear when building OpenCV with mingw:
+\image html img-opencv-issue-ipp.jpg
+
+A work arround is to configure OpenCV without ipp support turning WITH_IPP=OFF and then trying to build again.
+
+\subsection issue_win81_mingw_opencv_dshow OpenCV build error: cannot build with dshow support
+
+\note This issue occurs with OpenCV 2.3.0-beta and with OpenCV master branch.
+
+The following image shows the link issue that may appear when building OpenCV with mingw:
+\image html img-opencv-issue-dshow.jpg
+
+A work arround is to configure OpenCV without Direct Show support turning WITH_DSHOW=OFF and then trying to build again.
+
+\subsection issue_win81_mingw_warning_pragma Fix warning "ignoring #pragma comment(lib,"uuid.lib")" during build
+
+During the build of ViSP the following warning may occur:
+\code
+C:/mingw/mingw/include/urlmon.h:301:0: warning: ignoring #pragma comment [-Wunknown-pragmas]
+#pragma comment(lib,"uuid.lib")
+^
+\endcode
+
+To remove this warning, edit C:/mingw/mingw/include/urlmon.h and comment line 301:
+\code
+//#pragma comment(lib,"uuid.lib")
+\endcode
+
+
+
+*/
diff --git a/doc/tutorial-install-win8.1-msvc.doc b/doc/tutorial-install-win8.1-msvc.doc
new file mode 100644
index 0000000000000000000000000000000000000000..f4bb0e23e9f4a798e50c4372a0399b8417d157b5
--- /dev/null
+++ b/doc/tutorial-install-win8.1-msvc.doc
@@ -0,0 +1,211 @@
+/**
+
+\page tutorial-install-win81-msvc Tutorial: Installation from source on Windows 8.1 with Visual C++ 2013
+\tableofcontents
+
+In this tutorial you will learn how to install ViSP from source on Windows 8.1 with Visual C++. These steps have been tested on Windows 8.1 (64 bit), with CMake 3.1.1 and Visual Studio Express 2013 but should work with any other version as well. 
+
+\note Concerning ViSP installation, we provide also other \ref tutorial.
+
+\section install_win81_msvc_required Required packages
+
+- Visual Studio C++. Note that ViSP can also be build with Visual Studio Express that could be downloaded from  http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-products In this tutorial we use Visual Studio Express 2013. 
+\note If you want to use Visual Studio Express, you have to install <b>Express 2013 for Windows Desktop</b>. The \b Desktop version is important to work with CMake.
+- CMake 2.8 or higher that could be download at : http://www.cmake.org/cmake/resources/software.html
+
+
+\section install_win81_msvc_get_source Getting ViSP source code
+
+There are different ways to get ViSP source code.
+
+\subsection install_win81_msvc_get_source_release Getting the latest release
+
+You can download the <a href="http://www.irisa.fr/lagadic/visp/download.html#latest">latest stable release</a> as a zip. 
+
+\subsection install_win81_msvc_get_source_snapshot Getting the latest snapshot
+
+When significant changes or bug fixes were introduced in the current developpement version of the source code, we provide snapshots. 
+
+If available, you can download a <a href="http://www.irisa.fr/lagadic/visp/download.html#snapshot">recent snapshot</a> following the link. 
+
+\subsection install_win81_msvc_get_source_svn Getting the source from Subversion
+
+You can also get the cutting-edge ViSP version from Subversion repository svn://scm.gforge.inria.fr/svn/visp/trunk/ViSP. 
+
+One way to do that under Windows is to install Subversion that comes with Cygwin installer that is available on https://cygwin.com/install.html
+
+- From the previous link, download Cygwin installer for 32-bits or 64-bits version.
+- Double click on the setup binary to start installation. Keep the default settings and select a mirror.
+- As shown in the next image, in the window that allows to select the packages, search for "subversion" and select "subversion" package in "Devel":
+\image html img-win8.1-cygwin-svn.jpg
+- Click on Next button twice to start installation, and then on Finish button to exit installer. 
+- Now you should be able to use subversion
+\code
+C:\Users\...> C:\cygwin64\bin\svn.exe --version
+svn, version 1.7.14
+\endcode
+
+Once installed, to get ViSP source code run:
+\code
+C:\Users\...> cd C:\ViSP
+C:\Users\...> C:\cygwin64\bin\svn.exe checkout svn://scm.gforge.inria.fr/svn/visp/trunk/ViSP ViSP-code
+\endcode
+
+\section install_win81_msvc_config Configuring ViSP from source 
+
+We suppose now that ViSP source is in a directory denoted  \<source_dir\>, for example \c C:\\ViSP\\ViSP-2.10.0
+
+The goal of the configuration step is now to use CMake to produce a Visual Studio C++ solution that will be located in \<binary_dir\>, for example \c C:\\ViSP\\ViSP-2.10.0-build.
+
+- Launch CMake (cmake-gui) and complete the \<source_dir\> and \<binary_dir\> locations as in the next image.
+
+\image html img-cmake-win8.1-msvc-launch.jpg 
+
+- Click then on "Configure" button.
+
+\image html img-cmake-win8.1-create-build-folder.jpg 
+
+- Click on "Yes" to create the \c C:\\ViSP\\ViSP-2.10.0-build folder.
+- Select then your compiler, for example here Visual Studio Express 2013 Win64, and click on "Finish" button. 
+
+\image html img-cmake-win8.1-msvc-version.jpg 
+
+- This will start CMake configuration. As shown in the next image, only OpenMP 3rd party is automatically detected. 
+
+\image html img-cmake-win8.1-4.jpg 
+
+- As given in the previous image, note also that the installation folder is set to \c C:\\ViSP\\ViSP-2.10.0-build\\install. 
+\warning If you want to change the installation forder to \c C:/Program \c Files \c (x86)/ViSP, make sure that you have administrator privileges to write in that folder. 
+
+- Click then on "Configure" button. All the red lines should disappear.
+\image html img-cmake-win8.1-6.jpg 
+\note The default configuration lead to the creation of a shared library (with \c .dll extension). This is the default configuration that is recommended. If you want to create rather a static library (with \c .lib extension) you have to uncheck the \c BUILD_SHARED_LIBS option to disable DLL creation. 
+
+\subsection install_win81_msvc_3rdparty Optional 3rd party packages
+
+ViSP is interfaced with some 3rd party libraries. The <a href="http://www.irisa.fr/lagadic/visp/libraries.html">complete list is provided here</a>. 
+
+\subsubsection install_win81_msvc_3rdparty_gdi Windows Software Development Kit
+
+- We recommend to install the "Windows Software Development Kit (SDK) for windows 8.1" to get the Graphical Device Interface (GDI) capabilities. The GDi is used in ViSP to display images in a window thanks to vpDisplayGDI class. This SDK can be downloaded from https://msdn.microsoft.com/en-us/windows/desktop/bg162891.aspx
+
+- Once installed, return to CMake Gui and click on "Configure" button. As shown in the the next image, GDI should be detected.
+
+\image html img-cmake-win8.1-gdi.jpg 
+
+- Click again on "Configure" button.
+
+\subsubsection install_win81_msvc_3rdparty_opencv OpenCV 3rd party
+
+- We recommend to install OpenCV. From http://opencv.org/downloads.html download the latest OpenCV for Windows version. There is an <a href="http://docs.opencv.org/doc/tutorials/introduction/windows_install/windows_install.html#windows-install-prebuild">OpenCV tutorial: Installation Using the Pre-build Libraries</a> that may help. In our case we install \c OpenCV-2.4.10.exe pre-build SDK in \c C:\\OpenCV. The installer opencv-2.4.10.exe copied all the material in \c C:\\OpenCV\\opencv.
+
+- Now in order that ViSP detects OpenCV you have to set \c OpenCV_DIR environment variable. Start up a command window (in your "Start" menu click on "Run" and type in \c cmd.exe) and enter:
+\code
+setx OpenCV_DIR C:\OpenCV\opencv\build
+\endcode
+
+- Here the directory is where you have the build directory (extracted or built).  Inside this folder you should have a file named \c OpenCVConfig.cmake. 
+
+- Quit and restart CMake (cmake gui). <b>It is important to quit CMake</b> in order to take into account the new \c OpenCV_DIR environment variable. Click "Configure" button. As shown in the next image, a new red line indicating that OpenCV is found should appear.
+
+\image html img-cmake-win8.1-opencv.jpg 
+
+- As shown in the next image, if you enable the advanced view, you can see that we will use OpenCV libraries located in \c C:/OpenCV/opencv/build/x64/vc12/lib folder.
+ 
+\image html img-cmake-win8.1-opencv-advanced.jpg 
+
+- Press "Configure" button again.
+
+\subsection install_win81_msvc_gene Ending the configuration
+
+- To finish the configuration, click on "Generate" button.
+
+\image html img-cmake-win8.1-msvc-generate.jpg 
+
+- Once the generation is done, in \c C:/ViSP/ViSP-2.10.0-build folder you have the Visual Studio \c VISP.sln generated solution file.
+
+\image html img-win8.1-msvc-solution.jpg 
+
+\section install_win81_msvc_build Building ViSP from source
+
+- To build ViSP just double click on \c C:/ViSP/ViSP-2.10.0-build/VISP.sln solution file. This action will open ViSP project in Visual Studio C++. As shown in the next image, by default, Visual Studio position the solution configuration to \c Debug.
+
+\image html img-win8.1-msvc-open.jpg 
+
+- Enter menu "BUILD/Build Solution" to build ViSP.
+
+\image html img-win8.1-msvc-build.jpg 
+
+- At the end of the build process you should have the following indicating that all the build succeeded.
+
+\image html img-win8.1-msvc-build-end.jpg 
+
+- Now to install ViSP, build "INSTALL" project. To this end, apply a left click on "INSTALL" to select the project, then a right click to enter in the "Build" menu.
+
+\image html img-win8.1-msvc-install.jpg 
+
+- At the end of the installation, you should have the following.
+
+\image html img-win8.1-msvc-install-end.jpg
+
+- As shown in the previous image, all the headers but also the generated library are copied in \c C:/ViSP/ViSP-2.10.0-build/install folder.
+
+- This ends ViSP installation with \c Debug configuration.
+
+- We recommend now to do the same with \c Release settings. As shown in the next image, select the \c Release configuration. 
+
+\image html img-win8.1-msvc-release.jpg 
+
+- Now, as previously, build and install ViSP again.
+
+- At the end, in \c C:/ViSP/ViSP-2.10.0-build/install/x64/vc12/bin folder you have two versions of ViSP DLL library; the one suffixed by "d" with debug information, the other one optimized with release compiler options.
+
+\image html img-win8.1-explorer-install-end.jpg 
+
+\section install_win81_msvc_env_var Setting up PATH variable
+
+If you built static libraries then you are done. Otherwise, if you follow this tutorial step by step you need to add the bin folders path to the systems path. This is because you will use ViSP and OpenCV libraries in form of "Dynamic-link libraries" (also known as DLL). Inside these are stored all the algorithms and information the libraries contains. The operating system will load them only on demand, during runtime. However, to do this he needs to know where they are. The systems \c PATH variable contains a list of folders where DLLs can be found. Add ViSP and OpenCV libraries path to this and the OS will know where to look if he ever needs the libraries. Otherwise, you will need to copy the used DLLs right beside the applications executable file (exe) for the OS to find it.
+
+To modify the PATH var and add the path to ViSP library, open a cmd terminal and run:
+\code
+C:\Users\...> echo %PATH%
+C:\Users\...> setx PATH "%PATH%;C:\ViSP\ViSP-2.10.0-build\install\x64\vc12\bin"
+\endcode
+
+Then to add the path to OpenCV 3rd party library, close and re-open a cmd-terminal and run:
+\code
+C:\Users\...> echo %PATH%
+C:\Users\...> setx PATH "%PATH%;C:\OpenCV\opencv\build\x64\vc12\bin"
+\endcode
+
+Then close and re-open a cmd terminal to check if the PATH var was well positioned
+
+\code
+C:\Users\...> echo %PATH%
+\endcode
+
+\section install_win81_msvc_annex Appendix
+\subsection install_win81_msvc_annex_data Installing testing data
+
+Some ViSP examples and tests require data set (images, models). These data set is provided as a compressed zip files. 
+
+- Download ViSP-images-2.10.0.zip from http://www.irisa.fr/lagadic/visp/download.html#dataDownloadForExample and uncompress it for example in \c C:/ViSP. 
+
+\image html img-win8.1-visp-images.jpg 
+
+\subsection install_win81_msvc_annex_usage Using testing data
+- ViSP examples and tests are able to detect automatically the location of the requested data if you position an environment variable called \c VISP_INPUT_IMAGE_PATH. In our case, this variable should be set to \c C:\\ViSP.
+\code
+setx VISP_INPUT_IMAGE_PATH C:\ViSP
+\endcode
+
+- It is also possible to run the examples and tests without positioning \c VISP_INPUT_IMAGE_PATH by using command line option \c -i \<\c path \c to \c the \c data \c set\>. If you want to run \c \<binary dir\>/example/device/display/Debug/displayGDI.exe, open a command window, enter in the right folder, and run: 
+\code
+displayGDI.exe -i C:\ViSP
+\endcode
+
+\image html img-win8.1-cmd-displayGDI.jpg 
+
+You are now ready to see the next \ref tutorial-getting-started that will show you how to use ViSP as a 3rd party to build your own project.
+
+*/
diff --git a/doc/tutorial-matching-deprecated.doc b/doc/tutorial-matching-deprecated.doc
new file mode 100644
index 0000000000000000000000000000000000000000..f347d308b75b07d7d2b9817f9d85ac1f5d5f77a8
--- /dev/null
+++ b/doc/tutorial-matching-deprecated.doc
@@ -0,0 +1,63 @@
+/**
+
+\page tutorial-matching-deprecated Tutorial: Keypoint matching (deprecated)
+\tableofcontents
+
+\section intro_matching_deprecated Introduction
+
+\note This tutorial is deprecated if your OpenCV version is equal to 3.0.0 or more recent. If so you should rather follow \ref tutorial-matching.
+
+This tutorial focuses on SURF key points manipulation. You will learn how to detect SURF key points on a reference image considered here as the first image of an mpeg video. Then in the next images of the video, key points that match those detected in the reference image using SURF descriptor are displayed.
+
+\note We assume that you are familiar with video framegrabbing described in \ref tutorial-grabber and with the way to display an image in a window described in \ref tutorial-getting-started.
+
+\section surf_deprecated SURF key points detection and matching
+
+Let us consider the following source code also available in tutorial-matching-surf-deprecated.cpp.
+
+\include tutorial-matching-surf-deprecated.cpp
+
+Here after is the resulting video. The left image represents the reference image. The right images correspond to the successive images of the input video. All the green lines extremities represent the points that are matched.
+
+\htmlonly
+<iframe width="560" height="315" src="http://www.youtube.com/embed/sMbed_oYJgQ" frameborder="0" allowfullscreen></iframe>
+\endhtmlonly
+
+Now, let us explain the lines dedicated to the SURF keypoint usage.
+
+First we have to include the header of the vpKeyPointSurf class that is a wrapper over OpenCV classes.
+\snippet tutorial-matching-surf-deprecated.cpp Include
+
+Note that this class is only available if ViSP was build with OpenCV non free module. This is ensured by the check of VISP_HAVE_OPENCV_NONFREE macro. To grab the images from the mpeg video stream we need also that ViSP was build with ffmpeg 3rd party. That's why we check VISP_HAVE_FFMPEG macro definition:
+\snippet tutorial-matching-surf-deprecated.cpp Define
+
+Then we open the mpeg video stream and grab the first image of the video that is stored in \c I container. A Surf keypoint class is instantiated and keypoints are detected on the first image which is considered as the reference image:
+\snippet tutorial-matching-surf-deprecated.cpp Construction
+
+The next lines are used to create image \c Idisp to render the matching results; left image for the reference image, right image for the current image that is processed:
+\snippet tutorial-matching-surf-deprecated.cpp Create image
+
+Then a display using OpenCV is created and image \c Idisp is rendered:
+\snippet tutorial-matching-surf-deprecated.cpp Init display
+
+We enter then in the \c while() loop where a new image is acquired from the video stream and inserted in the right part of image \c Idisp dedicated to rendering of the matching results.
+\snippet tutorial-matching-surf-deprecated.cpp Acquisition
+
+We start the rendering by displaying the rendered image and by drawing a white vertical line to separate the reference image from the current one:
+\snippet tutorial-matching-surf-deprecated.cpp Display
+
+Keypoint matches between the reference image and the current image \c I are detected using:
+\snippet tutorial-matching-surf-deprecated.cpp Matching
+
+Then we parse all the matches to retrieve the coordinates of the points in the reference image (in \c iPref variable) and in the current image (in \c iPcur variable):
+\snippet tutorial-matching-surf-deprecated.cpp Get matches
+
+Next we draw green lines between the matched points:
+\snippet tutorial-matching-surf-deprecated.cpp Display matches
+
+At the end of the iteration, we flush all the previous display to the render window:
+\snippet tutorial-matching-surf-deprecated.cpp Display flush
+
+You can now follow \ref tutorial-homography-deprecated to see how to exploit couple of matched points in order to estimate an homography that allows to track the position of an object.
+
+*/
diff --git a/doc/tutorial-matching.doc b/doc/tutorial-matching.doc
index 5becda59422d2636f84bc00ee5392d53c499c37e..d373c7c99cd9da98f25169c0ba05570d1b19aacd 100644
--- a/doc/tutorial-matching.doc
+++ b/doc/tutorial-matching.doc
@@ -1,94 +1,77 @@
-/**
-
-\page tutorial-matching Tutorial: Keypoint matching
-\tableofcontents
-
-\section intro Introduction
-
-This tutorial focuses on SURF key points manipulation. You will learn how to detect SURF key points on a reference image considered here as the first image of an mpeg video. Then in the next images of the video, key points that match those detected in the reference image using SURF descriptor are displayed.
-
-\note We assume that you are familiar with video framegrabbing described in \ref tutorial-grabber and with the way to display an image in a window described in \ref tutorial-getting-started.
-
-\section surf SURF key points detection and matching
-
-Let us consider the following source code also available in tutorial-matching-surf.cpp.
-
-\include tutorial-matching-surf.cpp
-
-Here after is the resulting video. The left image represents the reference image. The right images correspond to the successive images of the input video. All the green lines extremities represent the points that are matched.
-
-\htmlonly
-<iframe width="560" height="315" src="http://www.youtube.com/embed/sMbed_oYJgQ" frameborder="0" allowfullscreen></iframe>
-\endhtmlonly
-
-Now, let us explain the lines dedicated to the SURF keypoint usage.
-
-First we have to include the header of the vpKeyPointSurf class that is a wrapper over OpenCV classes.
-\code
-#include <visp/vpKeyPointSurf.h>
-\endcode
-
-Note that this class is only available if ViSP was build with OpenCV non free module. This is ensured by the check of VISP_HAVE_OPENCV_NONFREE macro. To grab the images from the mpeg video stream we need also that ViSP was build with ffmpeg 3rd party. That's why we check VISP_HAVE_FFMPEG macro definition:
-\code
-#if defined(VISP_HAVE_OPENCV_NONFREE) && defined(VISP_HAVE_FFMPEG)
-\endcode
-
-Then we open the mpeg video stream and grab the first image of the video that is stored in \c I container. A Surf keypoint class is instantiated and keypoints are detected on the first image which is considered as the reference image:
-\code
-  vpKeyPointSurf surf;
-  surf.buildReference(I);
-\endcode
-
-The next lines are used to create image \c Idisp to render the matching results; left image for the reference image, right image for the current image that is processed:
-\code
-  vpImage<unsigned char> Idisp;
-  Idisp.resize(I.getHeight(), 2*I.getWidth());
-  Idisp.insert(I, vpImagePoint(0, 0));
-  Idisp.insert(I, vpImagePoint(0, I.getWidth()));
-\endcode
-
-Then a display using OpenCV is created and image \c Idisp is rendered:
-\code
-  vpDisplayOpenCV d(Idisp, 0, 0, "Matching surf keypoints") ;
-  vpDisplay::display(Idisp);
-  vpDisplay::flush(Idisp);
-\endcode
-
-We enter then in the \c while() loop where a new image is acquired from the video stream and inserted in the right part of image \c Idisp dedicated to rendering of the matching results.
-\code
-    reader.acquire(I);
-    Idisp.insert(I, vpImagePoint(0, I.getWidth()));
-\endcode
-
-We start the rendering by displaying the rendered image and by drawing a white vertical line to separate the reference image from the current one:
-\code
-    vpDisplay::display(Idisp);
-    vpDisplay::displayLine(Idisp, vpImagePoint(0, I.getWidth()), vpImagePoint(I.getHeight(), I.getWidth()), vpColor::white, 2);
-\endcode
-
-Keypoint matches between the reference image and the current image \c I are detected using:
-\code
-    int nbMatch = surf.matchPoint(I);
-\endcode
-
-Then we parse all the matches to retrieve the coordinates of the points in the reference image (in \c iPref variable) and in the current image (in \c iPcur variable):
-\code
-    vpImagePoint iPref, iPcur;
-    for (int i = 0; i < nbMatch; i++)
-    {
-      surf.getMatchedPoints(i, iPref, iPcur);
-\endcode
-
-Next we draw green lines between the matched points:
-\code
-      vpDisplay::displayLine(Idisp, iPref, iPcur + vpImagePoint(0, I.getWidth()), vpColor::green);
-\endcode
-
-At the end of the iteration, we flush all the previous display to the render window:
-\code
-    vpDisplay::flush(Idisp);
-\endcode
-
-You can now follow \ref tutorial-homography to see how to exploit couple of matched points in order to estimate an homography that allows to track the position of an object.
-
-*/
+/**
+
+\page tutorial-matching Tutorial: Keypoints matching
+\tableofcontents
+
+\section intro_matching Introduction
+
+\note This tutorial is adapted if your OpenCV version is equal or greater than 2.1.1 version. 
+
+This tutorial focuses on keypoints detection and mathing. You will learn how to detect keypoints on a reference image considered here as the first image of an mpeg video. Then in the next images of the video, keypoints that match those detected in the reference image are displayed.
+
+\note We assume that you are familiar with video framegrabbing described in \ref tutorial-grabber and with the way to display an image in a window described in \ref tutorial-getting-started.
+
+\section orb_keypoints ORB keypoints detection and matching
+
+Let us consider the following source code also available in tutorial-matching-keypoint.cpp.
+
+\include tutorial-matching-keypoint.cpp
+
+Here after is the resulting video. The left image represents the reference image. The right images correspond to the successive images of the input video. All the green lines extremities represent the points that are matched.
+
+\htmlonly
+<iframe width="560" height="315" src="http://www.youtube.com/embed/sMbed_oYJgQ" frameborder="0" allowfullscreen></iframe>
+\endhtmlonly
+
+Now, let us explain the lines dedicated to the ORB keypoint detection and matching usage.
+
+First we have to include the header of the vpKeyPoint class that is a wrapper over OpenCV classes.
+\snippet tutorial-matching-keypoint.cpp Include
+
+Note that this class is only available if ViSP was build with OpenCV. This is ensured by the check of VISP_HAVE_OPENCV_VERSION macro. 
+\snippet tutorial-matching-keypoint.cpp Define
+
+Then we open the mpeg video stream and grab the first image of the video that is stored in \c I container. The vpKeyPoint class is instantiated and keypoints are detected on the first image which is considered as the reference image:
+\snippet tutorial-matching-keypoint.cpp Construction
+
+The next lines are used to create image \c Idisp to render the matching results; left image for the reference image, right image for the current image that is processed:
+\snippet tutorial-matching-keypoint.cpp Create image
+
+Then a display using OpenCV is created and image \c Idisp is rendered:
+\snippet tutorial-matching-keypoint.cpp Init display
+
+We enter then in the \c while() loop where a new image is acquired from the video stream and inserted in the right part of image \c Idisp dedicated to rendering of the matching results.
+\snippet tutorial-matching-keypoint.cpp Acquisition
+
+We start the rendering by displaying the rendered image and by drawing a white vertical line to separate the reference image from the current one:
+\snippet tutorial-matching-keypoint.cpp Display
+
+Keypoint matches between the reference image and the current image \c I are detected using:
+\snippet tutorial-matching-keypoint.cpp Matching
+
+Then we parse all the matches to retrieve the coordinates of the points in the reference image (in \c iPref variable) and in the current image (in \c iPcur variable):
+\snippet tutorial-matching-keypoint.cpp Get matches
+
+Next we draw green lines between the matched points:
+\snippet tutorial-matching-keypoint.cpp Display matches
+
+At the end of the iteration, we flush all the previous display to the render window:
+\snippet tutorial-matching-keypoint.cpp Display flush
+
+\section other_keypoints Using others types of keypoints
+
+Using other types of detectors / descriptors (SIFT, SURF, etc.) or matchers (Brute Force, Flann based matcher) is also possible. This can be easily done by using the correct OpenCV identifier name. For example, if you want to use the couple of detector / descriptor SIFT with a matching using FLANN, you only have to change the following lines :
+\snippet tutorial-matching-keypoint-SIFT.cpp Construction
+
+A complete example is given in tutorial-matching-keypoint-SIFT.cpp
+
+Available types of detectors, extractors or matchers depend on OpenCV version. Check the OpenCV documentation to know which ones are available.
+
+Due to some patents, SIFT and SURF keypoints are available in a separate module in OpenCV: in nonfree module in OpenCV version before 3.0.0 and in xfeatures2d in OpenCV version from 3.0.0 if OpenCV contrib modules are build. If you want to use them, be sure that you have the nonfree module or xfeatures2d module.
+
+Some usage restrictions could also exist according to the usage you plan (e.g. research or commercial use).
+
+You can now follow \ref tutorial-homography to see how to exploit couple of matched points in order to estimate an homography that allows to track the position of an object.
+
+*/
+
diff --git a/doc/tutorial-simu-image.doc b/doc/tutorial-simu-image.doc
index d8eaa227b5b9ccc989848efd66875aa82de22c06..6256cba109357403b14c48e500606a47a603f9d3 100644
--- a/doc/tutorial-simu-image.doc
+++ b/doc/tutorial-simu-image.doc
@@ -22,62 +22,32 @@ The result of this program is shown in the next image.
 
 The provide hereafter the explanation of the new lines that were introduced.
 
-\code
-#include <visp/vpImageSimulator.h>
-\endcode
+\snippet tutorial-image-simulator.cpp Include
 Include the header of the vpImageSimulator class that allows to project an image to a given camera position.
 
 Then in the main() function we create an instance of a gray level image that corresponds to the image of the planar target, and then we read the image from the disk. 
-\code
-  vpImage<unsigned char> target; 
-  vpImageIo::read(target, "./target_square.pgm");
-\endcode
+\snippet tutorial-image-simulator.cpp Read image
 
 Since the previous image corresponds to a 20cm by 20cm target, we initialize the 3D coordinates of each corner in the plane Z=0. Each
-\code
-  vpColVector X[4]; 
-  for (int i = 0; i < 4; i++) X[i].resize(3);
-  // Top left     Top right       Bottom right   Bottom left
-  X[0][0] = -0.1; X[1][0] =  0.1; X[2][0] = 0.1; X[3][0] = -0.1;
-  X[0][1] = -0.1; X[1][1] = -0.1; X[2][1] = 0.1; X[3][1] =  0.1;
-  X[0][2] =  0;   X[1][2] =  0;   X[2][2] = 0;   X[3][2] =  0;
-\endcode
+\snippet tutorial-image-simulator.cpp Set model
 
 Then we create an instance of the image \c I that will contain the rendered image from a given camera position.
-\code
-  vpImage<unsigned char> I(480, 640);
-\endcode
+\snippet tutorial-image-simulator.cpp Image construction
 
 Since the projection depends on the camera, we set its intrinsic parameters.
-\code
-  vpCameraParameters cam(840, 840, I.getWidth()/2, I.getHeight()/2);
-\endcode
+\snippet tutorial-image-simulator.cpp Camera parameters
 
 We also set the render position of the camera as an homogeneous transformation between the camera frame and the target frame.
-\code
-  vpHomogeneousMatrix cMo(0, 0, 0.35, 0, vpMath::rad(30), vpMath::rad(15));
-\endcode
+\snippet tutorial-image-simulator.cpp Set cMo
 
 We create here an instance of the planar image projector, set the interpolation to bilinear and initialize the projector with the image of the target and the coordinates of its corners.
-\code
-  vpImageSimulator sim;
-  sim.setInterpolationType(vpImageSimulator::BILINEAR_INTERPOLATION);
-  sim.init(target, X);
-\endcode
+\snippet tutorial-image-simulator.cpp Create simulator
 
 Now to retrieve the rendered image we first clean the content of the image to render, set the camera position, and finally get the image using the camera parameters.
-\code
-  sim.setCleanPreviousImage(true);
-  sim.setCameraPosition(cMo);
-  sim.getImage(I, cam);
-\endcode
+\snippet tutorial-image-simulator.cpp Render image
 
 Then, if \c libjpeg is available, the rendered image is saved in the same directory then the executable.  
-\code
-#ifdef VISP_HAVE_JPEG
-  vpImageIo::write(I, "./rendered_image.jpg");
-#endif
-\endcode
+\snippet tutorial-image-simulator.cpp Write image
 
 Finally, as in \ref tutorial-getting-started we open a window to display the rendered image.
 
diff --git a/doc/tutorial-trace.doc b/doc/tutorial-trace.doc
index 0717f7fcc5b5cf0462c5c8c748455cfa6ce07d8d..2945ae325ebdf281e576b725aca2ee909e5a3c47 100644
--- a/doc/tutorial-trace.doc
+++ b/doc/tutorial-trace.doc
@@ -4,7 +4,7 @@
 \tableofcontents
 
 
-\section intro Introduction
+\section intro_trace Introduction
 
 ViSP allows to introduce trace and debug printings that may help debugging. To this end ViSP provides C or C++ macros that allows to print messages to the standard output std::cout or to std::cerr.
 
@@ -21,7 +21,7 @@ ViSP allows to introduce trace and debug printings that may help debugging. To t
 |----------|-------|-------------------------------------|---------------------------------------|
 ~~~
 
-\subsection trace Macros for trace
+\subsection trace_macro Macros for trace
 
 Macro for tracing vpTRACE(), vpTRACE(level), vpERROR_TRACE(), vpERROR_TRACE(level), 
 vpIN_FCT() and vpOUT_FCT() 
@@ -29,7 +29,7 @@ work like printf with carrier return at the end of the string, while
 vpCTRACE() and vpCERROR() work like the C++ output streams std::cout 
 and std::cerr. All these macro print messages only if VP_TRACE macro is defined.
 
-\subsection debug Macros for debug
+\subsection debug_macro Macros for debug
 
 Macros for debug vpDEBUG_TRACE(level) and vpDERROR_TRACE(level)
 work like printf while vpCDEBUG(level) works like the C++ output stream std::cout. 
@@ -39,7 +39,7 @@ macro. Moreover vpDEBUG_ENABLE(level) can be used to check if a given debug leve
 equal to 1 if the debug \e level is greater than the debug mode
 VP_DEBUG_MODE, 0 else.
 
-\section visp Debug and trace usage in ViSP library
+\section debug_trace_usage Debug and trace usage in ViSP library
 
 In ViSP, before an exception is thrown, trace macro are widely used to inform the user that an error occur. This is redundant, since the same trace message in generally associated to the exception that is thrown. Since ViSP 2.9.0, during CMake configuration it is possible to disable debug and trace printings by turning \c ACTIVATE_DEBUG_TRACE cmake variable to \c OFF.
 
@@ -80,6 +80,22 @@ The following example also available in tutorial-trace.cpp shows how to use the
 
 \includelineno tutorial-trace.cpp
 
+
+\note In the previous example it is important to notice that the following lines have to be put prior to any other ViSP includes:
+\code
+#define VP_DEBUG_MODE 2 // Activate debug level 1 and 2
+#include <visp/vpDebug.h>
+\endcode
+For example, if you modify the previous example just by including <visp/vpImage.h> on the top of the file, you will get the following warnings:
+\code 
+Building CXX object tutorial/trace/CMakeFiles/tutorial-trace.dir/tutorial-trace.cpp.o
+.../ViSP-code/tutorial/trace/tutorial-trace.cpp:5:1: warning: "VP_DEBUG_MODE" redefined
+In file included from .../ViSP-build-debug/include/visp/vpImage.h:52,
+                 from .../ViSP-code/tutorial/trace/tutorial-trace.cpp:2:
+.../ViSP-build-debug/include/visp/vpDebug.h:67:1: warning: this is the location of the previous definition
+\endcode 
+
+
 When ViSP library was built without debug and trace the previous example produces the output:
 \code 
 %./tutorial-trace
diff --git a/doc/tutorial-tracking-blob.doc b/doc/tutorial-tracking-blob.doc
index 259b1857f7364c944e2f7a8f3ba858da6691acc7..ed63c25713ac761eb57f3024069e6de7f6b1d118 100644
--- a/doc/tutorial-tracking-blob.doc
+++ b/doc/tutorial-tracking-blob.doc
@@ -5,115 +5,90 @@
 
 \section tracking_blob_tracking Blob tracking
 
-With ViSP you can track a blob using either vpDot or vpDot2 classes.
+With ViSP you can track a blob using either vpDot or vpDot2 classes. By blob we mean a region of the image that has the same gray level. The blob can be white on a black background, or black on a white background.
 
-\include tutorial-blob-tracker.cpp
+In this tutorial we focus on vpDot2 class that provides more functionalities than vpDot class. As presented in section \ref tracking_blob_auto, it allows especially to automize the detection of blobs that have the same characteristics than a reference blob. 
 
-The videos show the result of the tracking on two different objects:
+The next videos show the result of ViSP blob tracker on two different objects:
 
 \htmlonly
 <iframe width="420" height="315" src="http://www.youtube.com/embed/2Jv7OYBuPgI?rel=0" frameborder="0" allowfullscreen></iframe>
 <iframe width="420" height="315" src="http://www.youtube.com/embed/Kr2DJotfsiA?rel=0" frameborder="0" allowfullscreen></iframe>
 \endhtmlonly
 
+In the next subsections we explain how to achieve this kind of tracking, first using a firewire live camera, then using a v4l2 live camera that can be an usb camera, or a Raspberry Pi camera module.
+
+\subsection live-firewire From a firewire live camera
+
+The following code also available in tutorial-blob-tracker-live-firewire.cpp file provided in ViSP source code tree allows to grab images from a firewire camera and track a blob. The initialisation is done with a user mouse click on a pixel that belongs to the blob. 
+ 
+To acquire images from a firewire camera we use vp1394TwoGrabber class on unix-like systems or vp1394CMUGrabber class under Windows. These classes are described in the \ref tutorial-grabber.
+
+\include tutorial-blob-tracker-live-firewire.cpp
+
+From now, we assume that you have successfully followed the \ref tutorial-getting-started and the \ref tutorial-grabber.
 Here after we explain the new lines that are introduced.
 
-First an instance of the blob tracker is created. 
-\code
-  vpDot2 d;
-\endcode
+\snippet tutorial-blob-tracker-live-firewire.cpp Construction
 
 Then we are modifying some default settings to allow drawings in overlay the contours pixels and the position of the center of gravity with a thickness of 2 pixels.
-\code
-  blob.setGraphics(true);
-  blob.setGraphicsThickness(2);
-\endcode
+\snippet tutorial-blob-tracker-live-firewire.cpp Setting
 
 Then we are waiting for a user initialization throw a mouse click event in the blob to track. 
-\code
-  blob.initTracking(I);
-\endcode
+\snippet tutorial-blob-tracker-live-firewire.cpp Init
 
 The tracker is now initialized. The tracking can be performed on new images:
+\snippet tutorial-blob-tracker-live-firewire.cpp Track
+
+\subsection live-v4l2 From a v4l2 live camera
+
+The following code also available in tutorial-blob-tracker-live-v4l2.cpp file provided in ViSP source code tree allows to grab images from a camera compatible with video for linux two driver (v4l2) and track a blob. Webcams or more generally USB cameras, but also the Raspberry Pi Camera Module can be considered. 
+
+To acquire images from a v4l2 camera we use vpV4l2Grabber class on unix-like systems. This class is described in the \ref tutorial-grabber.
+
+\include tutorial-blob-tracker-live-v4l2.cpp
+
+The code is the same than the one presented in the previous subsection, except that here we use the vpV4l2Grabber class to grab images from usb cameras. Here we have also modified the while loop in order to catch an exception when the tracker fail:
 
 \code
-  blob.track(I);
+    try { blob.track(I); }
+    catch(...) { }
 \endcode
 
+If possible, it allows the tracker to overcome a previous tracking failure (due to blur, blob outside the image,...) on the next available images. 
+
+
 \section tracking_blob_auto Blob auto detection and tracking
 
-The following example shows how to detect blobs in the first image and then track all the detected blobs. This functionality is only available with vpDot2 class.
+The following example also available in tutorial-blob-auto-tracker.cpp file provided in ViSP source code tree shows how to detect blobs in the first image and then track all the detected blobs. This functionality is only available with vpDot2 class. Here we consider an image that is provided in ViSP source tree.
 
 \include tutorial-blob-auto-tracker.cpp
 
-  Here is a screen shot of the resulting program :
+Here is a screen shot of the resulting program :
 
-  \image html img-blob-auto-detection.png
+\image html img-blob-auto-detection.png
 
-  And here is the detailed explanation of the source :
+And here is the detailed explanation of the source :
 
-  First we create an instance of the tracker.
-\code
-   vpDot2 blob;
-\endcode
-  Then, two cases are handled. The first case, when \c learn is set to \c true, consists in learning the blob characteristics. The user has to click in a blob that serves as reference blob. The size, area, gray level min and max, and some precision parameters will than be used to search similar blobs in the whole image.
+First we create an instance of the tracker.
+\snippet tutorial-blob-auto-tracker.cpp Construction
 
-\code
-  if (learn) {
-    // Learn the characteristics of the blob to auto detect
-    blob.setGraphics(true);
-    blob.setGraphicsThickness(1);
-    blob.initTracking(I);
-    blob.track(I);
-    std::cout << "Blob characteristics: " << std::endl;
-    std::cout << " width : " << blob.getWidth() << std::endl;
-    std::cout << " height: " << blob.getHeight() << std::endl;
-    std::cout << " area: " << blob.getArea() << std::endl;
-    std::cout << " gray level min: " << blob.getGrayLevelMin() << std::endl;
-    std::cout << " gray level max: " << blob.getGrayLevelMax() << std::endl;
-    std::cout << " grayLevelPrecision: " << blob.getGrayLevelPrecision() << std::endl;
-    std::cout << " sizePrecision: " << blob.getSizePrecision() << std::endl;
-    std::cout << " ellipsoidShapePrecision: " << blob.getEllipsoidShapePrecision() << std::endl;
-  }
-\endcode
-  If you have an precise idea of the dimensions of the blob to search, the second case consists is settings the reference characteristics directly.
-\code
-  else {
-    // Set blob characteristics for the auto detection
-    blob.setWidth(50);
-    blob.setHeight(50);
-    blob.setArea(1700);
-    blob.setGrayLevelMin(0);
-    blob.setGrayLevelMax(30);
-    blob.setGrayLevelPrecision(0.8);
-    blob.setSizePrecision(0.65);
-    blob.setEllipsoidShapePrecision(0.65);
-  }
-\endcode
+Then, two cases are handled. The first case, when \c learn is set to \c true, consists in learning the blob characteristics. The user has to click in a blob that serves as reference blob. The size, area, gray level min and max, and some precision parameters will than be used to search similar blobs in the whole image.
+
+\snippet tutorial-blob-auto-tracker.cpp Learn
+
+If you have an precise idea of the dimensions of the blob to search, the second case consists is settings the reference characteristics directly.
+\snippet tutorial-blob-auto-tracker.cpp Setting
 
 Once the blob characteristics are known, to search similar blobs in the image is simply done by:
-\code
-  std::list<vpDot2> blob_list;
-  blob.searchDotsInArea(I, 0, 0, I.getWidth(), I.getHeight(), auto_detected_blob_list);
-\endcode
+\snippet tutorial-blob-auto-tracker.cpp Search
+
 Here \c blob_list contains the list of the blobs that are detected in the image  \c I. When learning is enabled, the blob that is tracked is not in the list of auto detected blobs. We add it to the end of the list:
 
-\code
-  if (learn) {
-    // The blob that is tracked by initTracking() is not in the list of auto detected blobs
-    // We add it:
-    blob_list.push_back(blob);
-  }
-\endcode
+\snippet tutorial-blob-auto-tracker.cpp Add learned dot
 
 Finally, when a new image is available we do the tracking of all the blobs:
-\code
-    for(std::list<vpDot2>::iterator it=blob_list.begin(); it != blob_list.end(); ++it) {
-      (*it).setGraphics(true);
-      (*it).setGraphicsThickness(3);
-      (*it).track(I);
-    }
-\endcode
+\snippet tutorial-blob-auto-tracker.cpp Display
 
 You are now ready to see the next \ref tutorial-tracking-keypoint.
 
diff --git a/doc/tutorial-tracking-keypoint.doc b/doc/tutorial-tracking-keypoint.doc
index 6ef346f3ba78640c60fabedb42e21ac4a292b418..25d041a0800629d24f540b9073344bbf8f67e1a0 100644
--- a/doc/tutorial-tracking-keypoint.doc
+++ b/doc/tutorial-tracking-keypoint.doc
@@ -15,94 +15,136 @@ The video shows the result of the tracking:
 <iframe width="420" height="315" src="http://www.youtube.com/embed/ZYOG4kJPtaM?rel=0" frameborder="0" allowfullscreen></iframe>
 \endhtmlonly
 
-And here is the line by line explanation of the source : 
-
+The previous example can be run without command line options. In that case, keypoints are automatically detected before tracking.
 \code
-#include <visp/vpImageConvert.h>
-#include <visp/vpKltOpencv.h>
-#include <visp/vpDisplayOpenCV.h>
-#include <visp/vpVideoReader.h>
+$ ./tutorial-klt-tracker
 \endcode
 
-We include here the headers that define the corresponding classes. vpImageConvert class will be used to convert ViSP images implemented in vpImage class into OpenCV IplImage structure used as an entry by the KLT tracker. Then we include the header of vpKltOpencv class which is the wrapper over OpenCV KLT tracker implementation. We need also to include a device to display the images. We retain vpDisplayOpenCV that works on Unix and Windows since OpenCV is mandatory by the tracker. Finally we include vpVideoReader header that will be used to read an mpeg input stream.
-
+It can also be run with [--init-by-click] option. In that case, the user can select a set of keypoints to track with a left mouse click. A right mouse click stops the keypoints selection and allows to start the tracking.
 \code
-#if (VISP_HAVE_OPENCV_VERSION >= 0x010100) && defined(VISP_HAVE_FFMPEG)
+$ ./tutorial-klt-tracker --init-by-click
 \endcode
 
-We use the previous macro to ensure that OpenCV at least version 1.1.0 requested by the tracker and the image viewer, and ffmpeg requested to read the video stream are available.
+Here is the line by line explanation of the source : 
 
-\code
-  vpVideoReader reader;
-  reader.setFileName("video-postcard.mpeg");
-\endcode
+\snippet tutorial-klt-tracker.cpp Include
+
+We include here the headers that define the corresponding classes. vpImageConvert class will be used to convert ViSP images implemented in vpImage class into OpenCV IplImage or cv::Mat structures used as an entry by the KLT tracker. Then we include the header of vpKltOpencv class which is the wrapper over OpenCV KLT tracker implementation. 
+
+\note 
+- If OpenCV version is less that 2.8.0, vpKltOpencv class takes as input an IplImage.
+- If OpenCV version is 2.8.0 or ;ore recent, vpKltOpencv class takes as input a cv::Mat image.
+
+We need also to include a device to display the images. We retain vpDisplayOpenCV that works on Unix and Windows since OpenCV is mandatory by the tracker. Finally we include vpVideoReader header that will be used to read an mpeg input stream.
+
+At the beginning of the main() function, we use the following macro to ensure that OpenCV requested by the tracker is available. Note that OpenCV will also be used to render the images and read the input video stream.
+
+\snippet tutorial-klt-tracker.cpp Check 3rd party
 
 The program starts by the creation of a vpVideoReader instance able to extract all the images of the video file \c video-postcard.mpeg. Here, the video should be in the same folder than the binary.
 
-\code
-  vpImage<unsigned char> I;
-  reader.acquire(I);
-\endcode
-Returns the first image of the video in the gray level ViSP image container \c I.
+\snippet tutorial-klt-tracker.cpp Create reader
 
-\code
-  IplImage * cvI = NULL;
-  vpImageConvert::convert(I, cvI);
-\endcode
+Then we extract the first image of the video in the gray level ViSP image container \c I.
 
-Then we convert \c I into \c cvI, an image in OpenCV IplImage format that will be used by the tracker.
+\snippet tutorial-klt-tracker.cpp Acquire
 
-\code
-  vpDisplayOpenCV d(I, 0, 0, "Klt tracking");
-  vpDisplay::display(I);
-  vpDisplay::flush(I);
-\endcode
-Create a window associated to \c I, at position (0,0) in the screen, with "Klt tracking" as title, and display image \c I. 
+This image \c I is then converted into \c cvI, an OpenCV image format that will be used by the tracker.
+
+\snippet tutorial-klt-tracker.cpp Convert to OpenCV image
+
+We also create a window associated to \c I, at position (0,0) in the screen, with "Klt tracking" as title, and display image \c I. 
+
+\snippet tutorial-klt-tracker.cpp Init display
  
-\code
-  vpKltOpencv tracker;
-
-  tracker.setMaxFeatures(200);
-  tracker.setWindowSize(10);
-  tracker.setQuality(0.01);
-  tracker.setMinDistance(15);
-  tracker.setHarrisFreeParameter(0.04);
-  tracker.setBlockSize(9);
-  tracker.setUseHarris(1);
-  tracker.setPyramidLevels(3);
-
-  tracker.initTracking(cvI);
-\endcode
+From now we have to create an instance of the tracker and set the parameters of the Harris keypoint detector.
+
+\snippet tutorial-klt-tracker.cpp Create tracker
  
-Create an instance of the tracker, set parameters of the Harris keypoint detector and finally initialize the tracker on \c cvI image.
+The tracker is then initialized on \c cvI image.
 
-\code
-  while ( ! reader.end() )
-  {
-    reader.acquire(I);
-    vpImageConvert::convert(I, cvI);
-    vpDisplay::display(I);
-    
-    tracker.track(cvI);
-    tracker.display(I, vpColor::red);
-    
-    vpDisplay::flush(I);
-  }
-\endcode
+\snippet tutorial-klt-tracker.cpp Init tracker
+
+With the next line the user can know how many keypoints were detected automatically or selected by the user during initialization. 
+
+\snippet tutorial-klt-tracker.cpp How many features
+
+\note If no keypoints were found, the next call to vpKltTracker::track() will throw an exception.
+
+To detect more keypoints, you may decrease the quality parameter set with the following line:
+
+\snippet tutorial-klt-tracker.cpp Quality
+
+Until the end of the video, we get \c I the next image in ViSP format, display and convert it in OpenCV format. Then we track the Harris keypoints using KLT tracker before displaying the keypoints that are tracked with a red cross.
+
+\snippet tutorial-klt-tracker.cpp While loop
 
-Until the end of the video is not reached, we get \c I the next image in ViSP format, display and convert it in IplImage format. Then we track the Harris keypoints using KLT tracker before displaying the keypoints that are tracked with a red cross.
+We are waiting for a mouse click event on image \c I to end the program.
+
+\snippet tutorial-klt-tracker.cpp Wait click
+
+With the following line, we release the memory allocated for the OpenCV IplImage \c cvI before ending the program. This has to be done only if OpenCV version is less than 2.8.0. 
+
+\snippet tutorial-klt-tracker.cpp Release IplImage
+
+\section tracking_keypoint_klt_init KLT tracker with re-initialisation
+
+Once initialized, the number of tracked features decreases over the time. Depending on a criteria, it may sense to detect and track new features online. A possible criteria is for example to compare the number of currently tracked features to the initial number of detected features. If less than a given percentage of features are tracked, you can start a new detection. 
+
+To get the number of detected or tracked features just call:
 
 \code
-  vpDisplay::getClick(I);
+  tracker.getNbFeatures();
 \endcode
-We are waiting a mouse click event on image \c I to end the program.
 
-With the following line, we release the memory allocated for the OpenCV IplImage \c cvI before ending the program.
+Then the idea is to add the previously tracked features to the list of features that are detected.
+
+The example tutorial-klt-tracker-with-reinit.cpp shows how to do that. In that example we start a new detection on frame 25. Compared to the previous code available in tutorial-klt-tracker.cpp we add the following lines:
 
 \code
-  cvReleaseImage(&cvI);
+      if (reader.getFrameIndex() == 25) {
+        std::cout << "Re initialize the tracker" << std::endl;
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+        // Save of previous features
+        std::vector<cv::Point2f> prev_features = tracker.getFeatures();
+ 
+        // Start a new feature detection
+        tracker.initTracking(cvI);
+        std::vector<cv::Point2f> new_features = tracker.getFeatures();
+
+        // Add previous features if they are not to close to detected one
+        double distance, minDistance_ = tracker.getMinDistance();
+        bool is_redundant;
+        for (size_t i=0; i < prev_features.size(); i++) {
+          // Test if a previous feature is not redundant with one of the newly detected
+          is_redundant = false;
+          for (size_t j=0; j < new_features.size(); j++){
+            distance = sqrt(vpMath::sqr(new_features[j].x-prev_features[i].x) 
+                       + vpMath::sqr(new_features[j].y-prev_features[i].y));
+            if(distance < minDistance_){
+              is_redundant = true;
+              break;
+            }
+          }
+          if(is_redundant){
+            continue;
+          }
+          //std::cout << "Add previous feature with index " << i << std::endl;
+          tracker.addFeature(prev_features[i]);
+        }
+#else
+      ...
+#endif
+      }
+      // Track the features
+      tracker.track(cvI);
 \endcode
 
+In this code we do the following:
+- save the features that are tracked until now
+- initialize the tracker to detect new features
+- parse all the saved features and compare them to the newly detected features. If a previous feature is close in terms of geometric distanceto a newly detected one, it is rejected (in our case less than 2 pixels). If not, it is added to the list of detected features. 
+ 
 You are now ready to see the next \ref tutorial-tracking-me.
 
 */
diff --git a/doc/tutorial-tracking-mb.doc b/doc/tutorial-tracking-mb.doc
index 974a6c8602c188957b455b516f191989f3e2ca55..50d6c0df8e4df18ba0fb255f0aebb19429edd303 100644
--- a/doc/tutorial-tracking-mb.doc
+++ b/doc/tutorial-tracking-mb.doc
@@ -3,15 +3,19 @@
 \page tutorial-tracking-mb Tutorial: Model-based tracking
 \tableofcontents
 
-With ViSP it is possible to track an object using its cad model. Considered objects should be modeled by lines or cylinders. The model of the object could be defined in vrml format, or in cao format.
+With ViSP it is possible to track an object using its cad model. Considered objects should be modeled by lines, circles or cylinders. The model of the object could be defined in vrml format (except for circles), or in cao format. 
+
+Next section highlights the differents versions of the markerless model-based trackers that are implemented in ViSP.
+
+\section tracking_mb Markerless model-based trackers
 
 The model-based tracker can consider moving-edges behind the lines of the model (see section \ref tracking_mb_edges). It can also consider keypoints that are detected and tracked on each visible face of the model (see section \ref tracking_mb_klt). The tracker can also handle moving-edges and keypoints in an hybrid scheme (see section \ref tracking_mb_hybrid).
 
 While the \ref tracking_mb_edges is appropriate to track untextured object, the \ref tracking_mb_klt is more designed to exploit textured objects with edges that are not really visible. The \ref tracking_mb_hybrid is appropriate to track textured objects with visible edges.
 
-In the following sections, we consider the tracking of a tea box modeled in cao format. To simplify the source code, the tracking is performed on a single image. The extension to a sequence of images or to images acquired from a camera is easy. 
+In the following sections, we consider the tracking of a tea box modeled in cao format. 
 
-\section tracking_mb_edges Model-based edges tracker
+\subsection tracking_mb_edges Model-based edges tracker
 
 The following example that comes from tutorial-mb-edge-tracker.cpp allows to track the tea box using vpMbEdgeTracker class.
 
@@ -25,35 +29,24 @@ The video below shows the result of the tea box model-based edges tracking.
 
 Hereafter is the description of the new lines introduced in this example.
 
-\code
-#include <visp/vpMbEdgeTracker.h>
-\endcode
+\snippet tutorial-mb-edge-tracker.cpp Include
 
-Here we include the header of the vpMbEdgeTracker class that allows to track an object from its cad model by using the moving-edges. The tracker will use image \c I and the intrinsic camera parameters \c cam as input. 
+Here we include the header of the vpMbEdgeTracker class that allows to track an object from its cad model using moving-edges. The tracker will use image \c I and the intrinsic camera parameters \c cam as input. 
 
-\code
-  vpImage<unsigned char> I;
-  vpCameraParameters cam;
-\endcode
+\snippet tutorial-mb-edge-tracker.cpp Image
 
 As output, it will estimate \c cMo, the pose of the object in the camera frame.
 
-\code
-  vpHomogeneousMatrix cMo;
-\endcode
+\snippet tutorial-mb-edge-tracker.cpp cMo
 
 Once the input image \c teabox.pgm is loaded in \c I, a window is created and initialized with image \c I. Then we create an instance of the tracker.
 
-\code
-  vpMbEdgeTracker tracker;
-\endcode
+\snippet tutorial-mb-edge-tracker.cpp Constructor
 
 There are then two different ways to initialize the tracker.
 
-- The first one, if libxml2 is available, is to read the settings from \c teabox.xml input file. 
-\code
-  tracker.loadConfigFile("teabox.xml");
-\endcode
+- The first one, if libxml2 is available, is to read the settings from \c teabox.xml input file if the file exists. 
+\snippet tutorial-mb-edge-tracker.cpp Load xml
 The content of the xml file is the following:
 \code
 <?xml version="1.0"?>
@@ -93,25 +86,8 @@ The content of the xml file is the following:
 \endcode
 
 - The second one consists in initializing the parameters directly in the source code: 
-\code
-  vpMe me;
-  me.setMaskSize(5);
-  me.setMaskNumber(180);
-  me.setRange(8);
-  me.setThreshold(10000);
-  me.setMu1(0.5);
-  me.setMu2(0.5);
-  me.setSampleStep(4);
-  me.setNbTotalSample(250);
-  tracker.setMovingEdge(me);
-  cam.initPersProjWithoutDistortion(839, 839, 325, 243);
-  tracker.setCameraParameters(cam);
-  tracker.setAngleAppear( vpMath::rad(70) );
-  tracker.setAngleDisappear( vpMath::rad(80) );
-  tracker.setNearClippingDistance(0.1);
-  tracker.setFarClippingDistance(100.0);
-  tracker.setClipping(tracker.getClipping() | vpMbtPolygon::FOV_CLIPPING);
-\endcode
+\snippet tutorial-mb-edge-tracker.cpp Set parameters
+
 
 An important setting concerns the visibility test that is used to determine if a face is visible. Note that moving-edges are tracked only on visible faces. Two different visibility tests are implemented; with or without Ogre ray tracing. The default test is the one without Ogre. The function vpMbEdgeTracker::setOgreVisibilityTest() allow to select which test is to use. 
 
@@ -125,19 +101,14 @@ Let us now highlight how the visibility test works. As illustrated in the follow
   </face>
 \endcode
 or in the code:
-\code
-  tracker.setAngleAppear( vpMath::rad(70) );
-  tracker.setAngleDisappear( vpMath::rad(80) );
-\endcode
+\snippet tutorial-mb-edge-tracker.cpp Set angles
 
 \note When these two angle parameters are not set, their default values set to 89 degrees are used.
 
 \image html img-tracker-mb-visibility.jpg Principle of the visibility test used to determine if a face is visible.
 
 - When Ogre visibility test is disabled (we recall that this is the default behavior), the algorithm that computes the normal of the face is very simple. It makes the assumption that faces are convex and oriented counter clockwise. Here the face is considered as appearing if \f$ \alpha < 70\f$ degrees, and disappearing if \f$ \alpha > 80\f$ degrees. When only moving-edges are used (nor keypoints) and when the object to track is simple like a single box, we suggest as here to disable Ogre visibility test.
-\code
-  tracker.setOgreVisibilityTest(false); // Default behavior
-\endcode
+\snippet tutorial-mb-edge-tracker.cpp Set ogre
 
 - When Ogre visibility test is enabled, the algorithm used to determine the visibility of a face is the same than previously except that once visible faces are detected thanks to their normal, we add an other test to reject faces that are partially occluded by an other one. This additional test is performed using Ogre ray-tracing capability. 
 \code
@@ -151,9 +122,7 @@ Additionally to the visibility test described above, it is also possible to use
 
 Let's consider two plane categories: the ones belonging to the field of view or FOV (Left, Right, Up and Down), and the Near and Far clipping planes. The FOV planes can be enabled by:
 
-\code
-  tracker.setClipping(vpMbtPolygon::FOV_CLIPPING);
-\endcode
+\snippet tutorial-mb-edge-tracker.cpp Set clipping fov
 
 which is equivalent to:
 
@@ -178,10 +147,7 @@ For the Near and Far clipping it is quite different. Indeed, thoses planes requi
 
 or the user can specify the distances in meters, which will automatically activate the clipping for thoses planes:
 
-\code
-  tracker.setNearClippingDistance(0.1);
-  tracker.setFarClippingDistance(100.0);
-\endcode
+\snippet tutorial-mb-edge-tracker.cpp Set clipping distance
 
 It is also possible to enable them in the xml file. This is done with the following lines:
 
@@ -198,32 +164,31 @@ It is also possible to enable them in the xml file. This is done with the follow
 
 Here for simplicity, the user just has the possibility to either activate all the FOV clipping planes or none of them (fov_clipping requires a boolean).
 
-\note When clipping parameters are not set in the xml file, nor in the code, clipping is not used. Usually clipping is not helpfull when the oject to track is simple.  
+\note When clipping parameters are not set in the xml file, nor in the code, clipping is not used. Usually clipping is not helpful when the oject to track is simple.  
 
 Now we are ready to load the cad model of the object. ViSP supports cad model in cao format or in vrml format. The cao format is a particular format only supported by ViSP. It doesn't require an additional 3rd party rather then vrml format that require Coin 3rd party. We load the cad model in cao format with:
-\code
-  tracker.loadModel("teabox.cao");
-\endcode
-The file \c teabox.cao describes first the vertices of the box, then the edges that corresponds to the faces. A more complete description of this file is provided in \ref tracking_mb_cao (\ref tracking_mb_cao_face). The next figure gives the index of the vertices that are defined in \c teabox.cao.
+\snippet tutorial-mb-edge-tracker.cpp Load cao
+The file \c teabox.cao describes first the vertices of the box, then the edges that corresponds to the faces. A more complete description of this file is provided in \ref tracking_mb_cao_face. The next figure gives the index of the vertices that are defined in \c teabox.cao.
 
 To load the cad model in vrml the user has to replace the previous line by the following:
-\code
-  tracker.loadModel("teabox.wrl");
-\endcode
-As for the cao format, \c teabox.wrl describes first the vertices of the box, then the edges that corresponds to the faces. A more complete description of this file is provided in \ref tracking_mb_wrl.
+\snippet tutorial-mb-edge-tracker.cpp Load wrl
+As for the cao format, \c teabox.wrl describes first the vertices of the box, then the edges that corresponds to the faces. A more complete description of this file is provided in \ref tracking_mb_vrml_face.
 
 \image html img-teabox-cao.jpg Index of the vertices used to model the tea box in cao format.
 
 Once the model of the object to track is loaded, with the next line the display in the image window of additional drawings in overlay such as the moving edges positions, is then enabled by:
-\code
-  tracker.setDisplayFeatures(true);
-\endcode
+\snippet tutorial-mb-edge-tracker.cpp Set display
 
-Now we have to initialize the tracker. With the next line we choose to use a user interaction. As explained later, the user has to match in the image four vertices with their 3D coordinates. Matched 2D and 3D coordinates are then used to compute an initial pose used to initialize the tracker:
-\code
-  tracker.initClick(I, "teabox.init");
-\endcode
-The content of \c teabox.init file that defines 3D coordinates of some points of the model used during user intialization is provided hereafter:
+Now we have to initialize the tracker. With the next line we choose to use a user interaction. 
+\snippet tutorial-mb-edge-tracker.cpp Init
+
+The user has to click in the image on four vertices with their 3D coordinates defined in the "teabox.init" file. The following image shows where the user has to click.
+
+\image html img-teabox-click.jpg Image "teabox.ppm" used to help the user to initialize the tracker. 
+
+Matched 2D and 3D coordinates are then used to compute an initial pose used to initialize the tracker. Note also that the third optional argument "true" is used here to enable the display of an image that may help the user for the initialization. The name of this image is the same as the "*.init" file except the extension that sould be ".ppm". In our case it will be "teabox.ppm".
+
+The content of \c teabox.init file that defines 3D coordinates of some points of the model used during user intialization is provided hereafter. Note that all the characters after character '#' are considered as comments. 
 
 \includelineno teabox.init
 
@@ -238,37 +203,19 @@ Here the user has to click on vertex 0, 3, 2 and 5 in the window that displays i
 
 Next, in the infinite while loop, after displaying the next image, we track the object on a new image \c I.
 
-\code
-    tracker.track(I);
-\endcode
+\snippet tutorial-mb-edge-tracker.cpp Track
 
 The result of the tracking is a pose \c cMo that could be obtained by:
-\code
-    tracker.getPose(cMo);
-\endcode
-
+\snippet tutorial-mb-edge-tracker.cpp Get pose
 Next lines are used first to retrieve the camera parameters used by the tracker, then to display the visible part of the cad model using red lines with 2 as thickness, and finally to display the object frame at the estimated position \c cMo. Each axis of the frame are 0.025 meters long. Using vpColor::none indicates that x-axis is displayed in red, y-axis in green, while z-axis in blue. The thickness of the axis is 3.
 
-\code
-    tracker.getCameraParameters(cam);
-    tracker.display(I, cMo, cam, vpColor::red, 2);
-    vpDisplay::displayFrame(I, cMo, cam, 0.025, vpColor::none, 3);
-\endcode
+\snippet tutorial-mb-edge-tracker.cpp Display
 
 The last lines are here to free the memory allocated by libxml2 or Coin 3rd party libraries:
 
-\code
-#ifdef VISP_HAVE_XML2
-  vpXmlParser::cleanup();
-#endif
-#ifdef VISP_HAVE_COIN
-  SoDB::finish();
-#endif
-\endcode
-
+\snippet tutorial-mb-edge-tracker.cpp Cleanup
 
-
-\section tracking_mb_klt Model-based KLT tracker
+\subsection tracking_mb_klt Model-based keypoint tracker
 
 The following example that comes from tutorial-mb-klt-tracker.cpp allows to track the tea box using vpMbKltTracker class.
 
@@ -284,9 +231,8 @@ This example is very similar to the one presented in \ref tracking_mb_edges exce
 
 As previously, there are two different ways to initialize the tracker.
 - The first one, if libxml2 is available, consists in reading the settings from an xml file.
-\code
-  tracker.loadConfigFile("teabox.xml");
-\endcode
+\snippet tutorial-mb-klt-tracker.cpp Load xml
+
 The \c teabox.xml file used here contains the following:
 \code
 <?xml version="1.0"?>
@@ -317,33 +263,17 @@ The \c teabox.xml file used here contains the following:
 </conf>
 \endcode
 - The second one consists in initializing the parameters directly in the source code: 
-\code
-  tracker.setAngleAppear(70);
-  tracker.setAngleDisappear(80);
-  tracker.setMaskBorder(5);
-  vpKltOpencv klt_settings;
-  klt_settings.setMaxFeatures(300);
-  klt_settings.setWindowSize(5);
-  klt_settings.setQuality(0.015);
-  klt_settings.setMinDistance(8);
-  klt_settings.setHarrisFreeParameter(0.01);
-  klt_settings.setBlockSize(3);
-  klt_settings.setPyramidLevels(3);
-  tracker.setKltOpencv(klt_settings);
-  cam.initPersProjWithoutDistortion(839, 839, 325, 243);
-  tracker.setCameraParameters(cam);
-\endcode
+\snippet tutorial-mb-klt-tracker.cpp Set parameters
 
-Note also that in this example we model the tea box with triangles:
+Note also that in this example we can model the tea box with triangles:
 \code
   tracker.loadModel("teabox-triangle.cao");
 \endcode
-The file \c teabox-triangle.cao describes first the vertices of the box, then the triangular faces. A more complete description of this file is provided in \ref tracking_mb_cao (\ref tracking_mb_cao_triangle).
+The file \c teabox-triangle.cao describes first the vertices of the box, then the triangular faces. A more complete description of this file is provided in \ref tracking_mb_cao_triangle).
 
 Note that this is the only tracker for which lines of the model are not necessary edges of the object.
 
-
-\section tracking_mb_hybrid Model-based hybrid tracker
+\subsection tracking_mb_hybrid Model-based hybrid tracker
 
 The following example that comes from tutorial-mb-hybrid-tracker.cpp allows to track the tea box using vpMbEdgeKltTracker class.
 
@@ -404,10 +334,12 @@ We provide just hereafter the content of the \c teabox.xml file:
 </conf>
 \endcode
 
+\section tracking_model How to model the objects to track
 
-\section tracking_mb_cao CAD model in cao format
+ViSP supports two different ways to describe CAD models, either in cao or in vrml format.
+- cao format is specific to ViSP. It allows to describe the CAD model of an object using a text file with extension \c .cao.
+- vrml format is supported only if Coin 3rd party is installed. This format allows to describe the CAD model of an object using a text file with extension \c .wrl.
 
-cao format is specific to ViSP. It allows to describe the CAD model of an object using a text file with extension \c .cao.
 
 \subsection tracking_mb_cao_face teabox.cao example
 
@@ -419,19 +351,20 @@ This file describes the model of the tea box corresponding to the next image:
 
 \image html img-teabox-cao.jpg Index of the vertices used to model the tea box in cao format.
 
-We make the choice to describe the faces of the box from the 3D points that correspond to the vertices. We provide now a line by line description of the file:
+We make the choice to describe the faces of the box from the 3D points that correspond to the vertices. We provide now a line by line description of the file. Notice that the characters after the '#' are considered as comments.
 - line 1: Header of the \c .cao file
-- line 2: The model is defined by 8 3D points. Here the 8 points correspond to the 8 vertices of the tea box presented in the previous figure. Thus, next 8 lines define the 3D points coordinates.
-- line 3: 3D point with coordinate (0,0,0) corresponding to vertex 0 of the tea box. This point is also the origin of the frame in which all the 3D points are defined.
-- line 4: 3D point with coordinate (0,0,-0.08) corresponding to vertex 1.
-- line 5 to 10: The other 3D points corresponding to vertices 2 to 7 respectively.
-- line 11: Number of single lines of the model. Sometimes, it could be useful to track a single line that doesn't lead to a face. 
-- line 12: Deprecated parameter that should always be set to 0. 
-- line 13: The number of faces defined by a set of points. Here our tea box has 6 faces. Thus, next 6 lines describe each face from the 3D points defined previously line 3 to 10.
-- line 14: First face defined by 4 points, respectively vertices 0,1,2,3. The orientation of the face is counter clockwise by going from vertex 0 to vertex 1, then 2 and 3. This fixes the orientation of the normal of the face going outside the object.
-- line 15: Second face also defined by 4 points, respectively vertices 1,6,5,2 to have a counter clockwise orientation.
-- line 16 to 19: The four other faces of the box.
-- line 20: Number of cylinders describing the model. Since we model a simple box, the number of cylinders is 0.
+- line 3: The model is defined by 8 3D points. Here the 8 points correspond to the 8 vertices of the tea box presented in the previous figure. Thus, next 8 lines define the 3D points coordinates.
+- line 4: 3D point with coordinate (0,0,0) corresponding to vertex 0 of the tea box. This point is also the origin of the frame in which all the 3D points are defined.
+- line 5: 3D point with coordinate (0,0,-0.08) corresponding to vertex 1.
+- line 6 to 11: The other 3D points corresponding to vertices 2 to 7 respectively.
+- line 13: Number of 3D lines defined from two 3D points. It is possible to introduce 3D lines and then use these lines to define faces from these 3D lines. This is particularly useful to define faces from non-closed polygons. For instance, it can be used to specify the tracking of only 3 edges of a rectangle. Notice also that a 3D line that doesn't belong to a face is always visible and consequently always tracked.
+- line 15: Number of faces defined from 3D lines. In our teabox example we decide to define all the faces from 3D points, that is why this value is set to 0. 
+- line 17: The number of faces defined by a set of 3D points. Here our teabox has 6 faces. Thus, next 6 lines describe each face from the 3D points defined previously line 4 to 11. Notice here that all the faces defined from 3D points corresponds to closed polygons. 
+- line 18: First face defined by 4 3D points, respectively vertices 0,1,2,3. The orientation of the face is counter clockwise by going from vertex 0 to vertex 1, then 2 and 3. This fixes the orientation of the normal of the face going outside the object.
+- line 19: Second face also defined by 4 points, respectively vertices 1,6,5,2 to have a counter clockwise orientation.
+- line 20 to 23: The four other faces of the box.
+- line 25: Number of 3D cylinders describing the model. Since we model a simple box, the number of cylinders is 0.
+- line 27: Number of 3D circles describing the model. For the same reason, the number of circles is 0.
 
 \subsection tracking_mb_cao_triangle teabox-triangle.cao example
 
@@ -443,12 +376,8 @@ This file describes the model of the tea box corresponding to the next image:
 
 \image html img-teabox-cao-triangle.jpg Index of the vertices used to model the tea box in cao format with triangles.
 
-Until line 12, the content of this file is similar to the one described in 
-\ref tracking_mb_cao_face. Line 13 we specify that the model contains 12 faces. Each face is then described as a triangle.
-
-\section tracking_mb_wrl CAD model in vrml format
-
-ViSP support vrml format only if Coin 3rd party is installed. This format allows to describe the CAD model of an object using a text file with extension \c .wrl.
+Until line 15, the content of this file is similar to the one described in 
+\ref tracking_mb_cao_face. Line 17 we specify that the model contains 12 faces. Each face is then described as a triangle.
 
 \subsection tracking_mb_vrml_face teabox.wrl example
 
@@ -465,6 +394,285 @@ We provide now a line by line description of the file where the faces of the box
 - line 13 to 20: 3D coordinates of the 8 tea box vertices.
 - line 34 to 29: Each line describe a face. In this example, a face is defined by 4 vertices. For example, the first face join vertices 0,1,2,3. The orientation of the face is counter clockwise by going from vertex 0 to vertex 1, then 2 and 3. This fixes the orientation of the normal of the face going outside the object.
 
+\section advanced_model_sec Advanced: How to manipulate the model
+
+The following code shows how to access to the CAD model
+- to check if a face is visible, 
+- to get the name of the face (only with models in .cao format for the moment)
+- to check if the level of detail is enable/disable (only with models in .cao format for the moment)
+- to access to the coordinates of the 3D points used to model a face
+- from the pose \e cMo estimated by the tracker to compute the coordinates of the 3D points in the image 
+
+\code
+       vpMbHiddenFaces<vpMbtPolygon> &faces = tracker.getFaces();
+       std::cout << "Number of faces: " << faces.size() << std::endl;
+       for (unsigned int i=0; i < faces.size(); i++) {
+         std::vector<vpMbtPolygon*> &poly = faces.getPolygon();
+         std::cout << "face " << i << " with index: " << poly[i]->getIndex()
+			 << (poly[i]->getName().empty() ? "" : (" with name: " + poly[i]->getName()))
+             << " is " << (poly[i]->isVisible() ? "visible" : "not visible")
+             << " and has " << poly[i]->getNbPoint() << " points" 
+             << " and LOD is" << (poly[i]->useLod ? "enabled" : "disabled") << std::endl;
+             
+         for (unsigned j=0; j<poly[i]->getNbPoint(); j++) {
+           vpPoint P = poly[i]->getPoint(j);
+           P.project(cMo);
+           std::cout << " P obj " << j << ": " << P.get_oX() << " " << P.get_oY() << " " << P.get_oZ() << std::endl;
+           std::cout << " P cam" << j << ": " << P.get_X() << " " << P.get_Y() << " " << P.get_Z() << std::endl;
+
+           vpImagePoint iP;
+           vpMeterPixelConversion::convertPoint(cam, P.get_x(), P.get_y(), iP);
+           std::cout << " iP " << j << ": " << iP.get_u() << " " << iP.get_v() << std::endl;
+         }
+       }
+\endcode
+
+
+\section advanced_lod_sec Advanced: Level of detail (LOD)
+
+The level of detail (LOD) consists in introducing additional constraints to the visibility check to determine if the features of a face have to be tracked or not. Two parameters are used 
+- the line length (in pixel)
+- the area of the face (in pixel²), that could be closed or not (you can define an open face by adding all the segments without the last one which closes the face)
+
+The tracker allows to enable/disable the level of detail concept using vpMbTracker::setLod() function.
+This example permits to set LOD settings to all elements :
+\code
+tracker.setLod(true);
+tracker.setMinLineLengthThresh(40.0);
+tracker.setMinPolygonAreaThresh(500.0);
+\endcode
+
+This example permits to set LOD settings to specific elements denominated by his name.
+\code
+tracker.setLod(false);
+tracker.setLod(true, "Left line");
+tracker.setLod(true, "Front face");
+tracker.setMinLineLengthThresh(35.0, "Left line");
+tracker.setMinPolygonAreaThresh(120.0, "Front face");
+\endcode
+
+Furthermore, to set a name to a face see \ref advanced_cao_nam_sec.
+
+
+\section advanced_cao_sec Advanced: CAD model in cao format
+
+\subsection advanced_cao_lin_sec How to model faces from lines
+The first thing to do is to declare the differents points. Then you define each segment of the face with the index of the start point and with the index of the end point.
+Finally, you define the face with the index of the segments which constitute the face.
+
+\note The way you declare the face segments (clockwise or counter clockwise) will determine the direction of the normal of the face and so will influe on the visibility of the face.
+
+\code
+V1
+# Left wing model
+6                               # Number of points
+# 3D points
+-4     -3.8  	0.7
+-6     -8.8  	0.2
+-12   -21.7    -1.2
+-9    -21.7    -1.2
+ 0.8   -8.8  	0.2
+ 4.6   -3.8  	0.7
+# 3D lines
+6                               # Number of lines
+0 1                             # line 0
+1 2
+2 3
+3 4
+4 5
+5 0                             # line 5
+# Faces from 3D lines
+1                               # Number of faces defined by lines
+6 0 1 2 3 4 5	                # face 0: [number of lines] [index of the lines]...
+# Faces from 3D points
+0
+# 3D cylinders
+0
+# 3D circles
+0
+\endcode
+
+
+\subsection advanced_cao_cyl_sec How to model cylinders
+The first thing to do is to declare the two points defining the cylinder axis of revolution. Then you declare the cylinder with the index of the points that define the cylinder axis of revolution and with the cylinder radius.
+
+\note For the level of detail, in a case of a cylinder, this is taking into account by using the length of the axis of revolution to determine the visibility.
+
+\image html img-cylinder.png Example of a cylinder.
+
+\code
+V1
+# Cylinder model
+2                 # Number of points
+# 3D points
+16.9 0 0.5        # point 0
+-20  0 0.5        # point 1
+# 3D lines
+0
+# Faces from 3D lines
+0
+# Faces from 3D points
+0
+# 3D cylinders
+1                 # Number of cylinders
+0 1 2.4           # cylinder 0: [1st point on revolution axis] [2nd point on revolution axis] [radius]
+# 3D circles
+0
+\endcode
+
+
+\subsection advanced_cao_cir_sec How to model circles
+The first thing to do is to declare three points: one point for the center of the circle and two points on the circle plane (i.e. not necessary located on the perimeter of the circle but on the plane of the circle). Then you declare your circle with the radius and with index of the three points.
+
+\note The way you declare the two points on the circle plane (clockwise or counter clockwise) will determine the direction of the normal of the circle and so will influe on the visibility of the circle.
+For the level of detail, in a case of a circle, this is taking into account by using the area of the bounding box of the circle to determine the visibility.
+
+\image html img-circle.png Example of a circle.
+
+\code
+V1
+# Circle model
+3                    # Number of points
+# 3D points
+-3.4 	14.6 	1.1  # point 0
+-3.4 	15.4 	1.1
+-3.4 	14.6 	1.8  # point 2
+# 3D lines
+0
+# Faces from 3D lines
+0
+# Faces from 3D points
+0
+# 3D cylinders
+0
+# 3D circles
+1                    # Number of circles
+0.8 0 2 1            # circle 0: [radius] [circle center] [1st point on circle plane] [2nd point on circle plane]
+\endcode
+
+
+\subsection advanced_cao_hie_sec How to create an hierarchical model
+It could be useful to define a complex model instead of using one big model file with all the declaration with different sub-models, each one representing a specific part of the complex model in a specific model file.
+To create an hierarchical model, the first step is to define all the elementary parts and then regroup them.
+
+\image html img-plane-hierarchical-diagram.jpg Example of a possible hierarchical modelling of a plane.
+
+For example, if we want to have a model of a plane, we could represent as elementary parts the left and right wings, the tailplane (which is constituted of some other parts) and a cylinder for the plane fuselage.
+The following lines represent the top model of the plane.
+
+\code
+V1
+# header
+# load the different parts of the plane
+load("wings.cao")       # load the left and right wings
+load("tailplane.cao")
+# 3D points
+2                       # Number of points
+16.9 0 0.5
+-20  0 0.5
+# 3D lines
+0
+# Faces from 3D lines
+0
+# Faces from 3D points
+0
+# 3D cylinders
+1                       # Number of cylinders
+0 1 2.4                 # define the plane fuselage as a cylinder
+# 3D circles
+0
+\endcode
+
+\note The path to include another model can be expressed as an absolute or a relative path (relative to the file which includes the model).
+
+
+\subsection advanced_cao_nam_sec How to set a name to a face
+To exploit the name of a face in the code, see \ref advanced_lod_sec.
+
+It could be useful to give a name for a face in a model in order to easily modify his LOD parameters for example, or just for debuging purpose.
+This is done directly in the model file :
+\code
+V1
+# header
+# load the different parts of the plane
+load("wings.cao")
+load("tailplane.cao")
+# 3D points
+5                                    # Number of points
+16.9 	0 	0.5
+-20  	0 	0.5
+-3.4 	14.6 	1.1
+-3.4 	15.4 	1.1
+-3.4 	14.6 	1.8
+# 3D lines
+0
+# Faces from 3D lines
+0
+# Faces from 3D points
+0
+# 3D cylinders
+1                                    # Number of cylinders
+0 1 2.4		name=plane_fuselage
+# 3D circles
+1                                    # Number of circles
+0.8	2 4 3	name="right reactor"
+\endcode
+
+\note If the name contains space characters, it must be surrounded by quotes.
+You can give a name to all the elements excepts for points.
+
+
+\subsection advanced_cao_lod_sec How to tune the level of detail
+
+As explained in section \ref advanced_lod_sec the parameters of the lod can be set in the source code. They can also be set directly in the configuration file or in the CAD model in cao format.
+
+The following lines show the content of the configuration file :
+
+\code
+<?xml version="1.0"?>
+<conf>
+  <lod>
+	<use_lod>1</use_lod>
+	<min_line_length_threshold>40</min_line_length_threshold>
+	<min_polygon_area_threshold>150</min_polygon_area_threshold>
+  </lod>
+</conf>
+\endcode
+
+In CAD model file, you can specify the LOD settings to the desired elements :
+
+\code
+V1
+# header
+# load the different parts of the plane
+load("wings.cao")
+load("tailplane.cao")
+# 3D points
+5				# number of points
+16.9 	0 	0.5
+-20  	0 	0.5
+-3.4 	14.6 	1.1
+-3.4 	15.4 	1.1
+-3.4 	14.6 	1.8
+# 3D lines
+0
+# Faces from 3D lines
+0
+# Faces from 3D points
+0
+# 3D cylinders
+1                               # Number of cylinders
+0 1 2.4	name=plane_fuselage useLod=true minLineLengthThreshold=100.0
+# 3D circles
+1                               # Number of circles
+0.8 2 4 3	name="right reactor" useLod=true minPolygonAreaThreshold=40.0
+\endcode
+
+\note The order you call the methods to load the configuration file and to load the CAD model in the code will modify the result of the LOD parameters.
+Basically, the LOD settings expressed in configuration file will have effect on all the elements in the CAD model while the LOD settings expressed in CAD model will be specific to an element.
+The natural order would be to load first the configuration file and after the CAD model.
+
+
 You are now ready to see the next \ref tutorial-tracking-tt.
 
 
diff --git a/doc/tutorial-tracking-tt.doc b/doc/tutorial-tracking-tt.doc
index c48d6ba5774961796ea8952f56a596c0d7b36814..4e75387f6986c4fc3bb82608c4727c9b6ba072f7 100644
--- a/doc/tutorial-tracking-tt.doc
+++ b/doc/tutorial-tracking-tt.doc
@@ -22,58 +22,47 @@ The video below shows the result of the template tracking.
 
 Hereafter is the description of the new lines introduced in this example.
 
-\code
-#include <visp/vpTemplateTrackerSSDInverseCompositional.h>
-#include <visp/vpTemplateTrackerWarpHomography.h>
-\endcode
+\snippet tutorial-template-tracker.cpp Include
+
 
 Here we include the header of the vpTemplateTrackerSSDInverseCompositional class that allows to track the template. Actually, the tracker estimates the displacement of the template in the current image according to its initial pose. The computed displacement can be represented by multiple transformations, also called warps (vpTemplateTrackerWarp classes). In this example, we include the header vpTemplateTrackerWarpHomography class to define the possible transformation of the template as an homography.
 
-\code
-vpTemplateTrackerWarpHomography warp;
-vpTemplateTrackerSSDInverseCompositional tracker(&warp);
-\endcode
+\snippet tutorial-template-tracker.cpp Construction
 
-Once the tracker is created with the desired warp, parameters can be tuned to be more consistent with the expected behavior.
+Once the tracker is created with the desired warp function, parameters can be tuned to be more consistent with the expected behavior. Depending on these parameters the perfomances of the tracker in terms of processing time and estimation could be affected. Since here we deal with 640 by 480 pixel wide images, the images are significantly subsampled in order to reduce the time of the image processing to be compatible with real-time.
 
 \code
-tracker.setSampling(2,2);     // Will consider only one pixel from two along rows and columns 
-                              // to create the reference template
-tracker.setLambda(0.001);     // Gain used in the optimization loop
-tracker.setIterationMax(200); // Maximum number of iterations for the optimization loop
-tracker.setPyramidal(2, 1);   // First and last level of the pyramid
+  tracker.setSampling(2, 2);    // Will consider only one pixel from two along rows and columns 
+                                // to create the reference template
+  tracker.setLambda(0.001);     // Gain used in the optimization loop
+  tracker.setIterationMax(200); // Maximum number of iterations for the optimization loop
+  tracker.setPyramidal(2, 1);   // First and last level of the pyramid. Full resolution image is at level 0.
 \endcode
 
 The last step of the initialization is to select the template that will be tracked during the sequence. 
 
-\code
-tracker.initClick(I);
-\endcode
+\snippet tutorial-template-tracker.cpp Init
 
-The vpTemplateTracker classes proposed in ViSP offer you the possibility to defined your template as multiple planar triangles. When calling vpTemplateTracker::initClick(I), you will have to specify the triangles that define the template.
+The vpTemplateTracker classes proposed in ViSP offer you the possibility to defined your template as multiple planar triangles. When calling the previous line, you will have to specify the triangles that define the template.
 
-\image html initClickTemplateTracker.png Initialization of the template without Delaunay triangulation.
+\image html img-initClickTemplateTracker.png Initialization of the template without Delaunay triangulation.
 
-Let us denote that those triangles don't have to be spatially tied up. However, if you want to track a simple image as in this example, you should initialize the template as on the figure above. Left clicks on zero, one and two points create the green triangle. Left clicks on three, four and right click on five point create the red triangle and ends the initialization.
-If ViSP is build with OpenCV, we also provide an initialization with automatic triangulation using Delaunay. To use it, you just have to call vpTemplateTracker::initClick(I, true). Then by left clicking on zero, one, two, four and right clicking on five it initializes the tracker as on the image above.    
+Let us denote that those triangles don't have to be spatially tied up. However, if you want to track a simple image as in this example, you should initialize the template as on the figure above. Left clicks on point number zero, one and two create the green triangle. Left clicks on point three and four and then right click on point number five create the red triangle and ends the initialization.
+If ViSP is build with OpenCV, we also provide an initialization with automatic triangulation using Delaunay. To use it, you just have to call vpTemplateTracker::initClick(I, true). Then by left clicking on points number zero, one, two, four and right clicking on point number five initializes the tracker as on the image above.      
 
 Next, in the infinite while loop, after displaying the next image, we track the object on a new image I.
 
-\code
-tracker.track(I);
-\endcode
+\snippet tutorial-template-tracker.cpp Track
 
 If you need to get the parameters of the current transformation of the template, it can be done by calling:
 
-\code
-vpColVector p = tracker.getp();
-\endcode
+\snippet tutorial-template-tracker.cpp Homography
 
-For further information about the warping parameters, see the following section of \ref warp_tt. Next line is used to display the template using red lines and according to the computed transformation from the last call to track.
+For further information about the warping parameters, see the following \ref warp_tt section.
 
-\code
-tracker.display(I, vpColor::red);
-\endcode
+Then according to the computed transformation obtained from the last call to track() function, next line is used to display the template using red lines.
+
+\snippet tutorial-template-tracker.cpp Display
 
 \subsection warp_tt Warping classes
 
@@ -125,7 +114,7 @@ The vpTemplateTrackerWarpHomographySL3 warp works exactly the same as the vpTemp
 When you want to obtain a perfect pose estimation, it is often time-consuming. However, by tuning the tracker, you can find a good compromise between speed and efficiency. Basically, what will make the difference is the size of the reference template. The more pixels it contains, the more time-consuming it will be. Fortunately, the solutions to avoid this problem are multiple. First of all lets come back on the vpTemplateTracker::setSampling() function.
 
 \code
-tracker.setSampling(4,4);     // Will consider only one pixel from four along rows and columns
+tracker.setSampling(4, 4);    // Will consider only one pixel from four along rows and columns
                               // to create the reference template.
 \endcode
 
diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt
index f8bda5945b7521c2e7ba85d90032a57437fb1f04..adfe43d557507eb678d342a11ea73345823d3248 100644
--- a/example/CMakeLists.txt
+++ b/example/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -76,8 +76,3 @@ SET (SRC_SUBDIRS
 
 # Build process propagation in the sub directories
 SUBDIRS(${SRC_SUBDIRS})
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
diff --git a/example/calibration/CMakeLists.txt b/example/calibration/CMakeLists.txt
index 95ba217dda9dff89e1f3a305c963b6de2516c6e7..8ca78d04bfc9502e656300ed33ce9961a725ee35 100644
--- a/example/calibration/CMakeLists.txt
+++ b/example/calibration/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4598 2014-01-20 17:07:30Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,31 +43,32 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set (SOURCE
   camera_calibration.cpp
   calibrateTsai.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
-
-ENDFOREACH(source)
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
 
 # Add test
 # To run these tests automaticaly using the crontab under Unix or the task
 # manager under windows, we have to add the -d option to turn off the display
 # of acquired images
-ADD_TEST(calibrateTsai calibrateTsai)
+add_test(calibrateTsai calibrateTsai)
 
 # copy the data
-get_target_property(target_location camera_calibration LOCATION)
-get_filename_component(target_location "${target_location}" PATH)
 list(APPEND data2copy "${CMAKE_CURRENT_SOURCE_DIR}/default-chessboard.cfg" )
 list(APPEND data2copy "${CMAKE_CURRENT_SOURCE_DIR}/default-circles.cfg" )
 list(APPEND data2copy "${CMAKE_CURRENT_SOURCE_DIR}/chessboard-01.png" )
@@ -80,10 +81,25 @@ list(APPEND data2copy "${CMAKE_CURRENT_SOURCE_DIR}/circles-02.png" )
 list(APPEND data2copy "${CMAKE_CURRENT_SOURCE_DIR}/circles-03.png" )
 list(APPEND data2copy "${CMAKE_CURRENT_SOURCE_DIR}/circles-04.png" )
 list(APPEND data2copy "${CMAKE_CURRENT_SOURCE_DIR}/circles-05.png" )
-foreach(data ${data2copy})
-  add_custom_command(
-    TARGET camera_calibration
-    POST_BUILD
-    COMMAND ${CMAKE_COMMAND} -E copy "${data}" "${target_location}"
-  )
-endforeach()
+
+# Since CMake 3.0.0 policy CMP0026 was introduced to disallow location property on target.
+# If CMake 3.0.0 is used, we use $<TARGET_FILE_DIR:tgt> to get the target location
+if (CMAKE_VERSION VERSION_GREATER 2.8.12)
+  foreach(data ${data2copy})
+    add_custom_command(
+      TARGET camera_calibration
+      POST_BUILD
+      COMMAND ${CMAKE_COMMAND} -E copy "${data}" "$<TARGET_FILE_DIR:camera_calibration"
+    )
+  endforeach()
+else()
+  get_target_property(target_location camera_calibration LOCATION)
+  get_filename_component(target_location "${target_location}" PATH)
+  foreach(data ${data2copy})
+    add_custom_command(
+      TARGET camera_calibration
+      POST_BUILD
+      COMMAND ${CMAKE_COMMAND} -E copy "${data}" "${target_location}"
+    )
+  endforeach()
+endif()
diff --git a/example/calibration/camera_calibration.cpp b/example/calibration/camera_calibration.cpp
index dff886311122aba01e9d3370d795cf1a46b3cd76..015460716dc67dcfe70c70486641e5cec85b3217 100644
--- a/example/calibration/camera_calibration.cpp
+++ b/example/calibration/camera_calibration.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: camera_calibration.cpp 4663 2014-02-14 10:32:11Z fspindle $
+ * $Id: camera_calibration.cpp 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -66,7 +66,9 @@
 class Settings
 {
 public:
-  Settings() {
+  Settings()
+    : boardSize(), calibrationPattern(UNDEFINED), squareSize(0.), input(), tempo(0.), goodInput(false), patternToUse()
+  {
     boardSize = cv::Size(0, 0);
     calibrationPattern = UNDEFINED;
     squareSize = 0.025f;
@@ -132,8 +134,8 @@ public:
 private:
   std::string patternToUse;
 };
-
 #endif
+
 int main(int argc, const char ** argv)
 {
   try {
@@ -196,8 +198,12 @@ int main(int argc, const char ** argv)
       case Settings::CHESSBOARD:
         //std::cout << "Use chessboard " << std::endl;
         found = findChessboardCorners( cvI, s.boardSize, pointBuf,
+#if (VISP_HAVE_OPENCV_VERSION >= 0x030000)
+                                       cv::CALIB_CB_ADAPTIVE_THRESH | cv::CALIB_CB_FAST_CHECK | cv::CALIB_CB_NORMALIZE_IMAGE);
+#else
                                        CV_CALIB_CB_ADAPTIVE_THRESH | CV_CALIB_CB_FAST_CHECK | CV_CALIB_CB_NORMALIZE_IMAGE);
-        break;
+#endif
+          break;
       case Settings::CIRCLES_GRID:
         //std::cout << "Use circle grid " << std::endl;
         found = findCirclesGrid( cvI, s.boardSize, pointBuf, cv::CALIB_CB_SYMMETRIC_GRID  );
@@ -221,7 +227,12 @@ int main(int argc, const char ** argv)
         if (s.calibrationPattern == Settings::CHESSBOARD) {
           // improve the found corners' coordinate accuracy for chessboard
           cornerSubPix( cvI, pointBuf, cv::Size(11,11),
-                        cv::Size(-1,-1), cv::TermCriteria( CV_TERMCRIT_EPS+CV_TERMCRIT_ITER, 30, 0.1 ));
+                        cv::Size(-1,-1),
+#if (VISP_HAVE_OPENCV_VERSION >= 0x030000)
+                        cv::TermCriteria( cv::TermCriteria::EPS+cv::TermCriteria::COUNT, 30, 0.1 ));
+#else
+                        cv::TermCriteria( CV_TERMCRIT_EPS+CV_TERMCRIT_ITER, 30, 0.1 ));
+#endif
         }
         char title[20]; sprintf(title, "image %ld", frame_index);
         vpDisplay::setTitle(I, title);
@@ -255,12 +266,12 @@ int main(int argc, const char ** argv)
       }
 
       if (found)
-        vpDisplay::displayCharString(I, 15, 15, "Image processing succeed", vpColor::green);
+        vpDisplay::displayText(I, 15, 15, "Image processing succeed", vpColor::green);
       else
-        vpDisplay::displayCharString(I, 15, 15, "Image processing fails", vpColor::green);
+        vpDisplay::displayText(I, 15, 15, "Image processing fails", vpColor::green);
 
       if (s.tempo > 10.f) {
-        vpDisplay::displayCharString(I, 35, 15, "A click to process the next image", vpColor::green);
+        vpDisplay::displayText(I, 35, 15, "A click to process the next image", vpColor::green);
         vpDisplay::flush(I);
         vpDisplay::getClick(I);
       }
diff --git a/example/coin-simulator/CMakeLists.txt b/example/coin-simulator/CMakeLists.txt
index 1b5d93d94c229a10b82245f6dea431232fe2e7f8..21a6189669b84f0dd0bd20d57eb83c474d74c838 100644
--- a/example/coin-simulator/CMakeLists.txt
+++ b/example/coin-simulator/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,26 +43,26 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set (SOURCE
   simulateFourPoints2DCartesianCamVelocity.cpp
   simulateFourPoints2DPolarCamVelocity.cpp
   simulateCircle2DCamVelocity.cpp 
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
   # Add test
-  ADD_TEST(${binary} ${binary} ${OPTION_TO_DESACTIVE_DISPLAY})
-ENDFOREACH(source)
+  add_test(${binary} ${binary} ${OPTION_TO_DESACTIVE_DISPLAY})
 
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
diff --git a/example/coin-simulator/simulateCircle2DCamVelocity.cpp b/example/coin-simulator/simulateCircle2DCamVelocity.cpp
index f56f20386117a69f3962a4ce8bca177a74f3549e..b5b3c9ee12956bb6327872c3b135ee8eaf18df93 100644
--- a/example/coin-simulator/simulateCircle2DCamVelocity.cpp
+++ b/example/coin-simulator/simulateCircle2DCamVelocity.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: simulateCircle2DCamVelocity.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: simulateCircle2DCamVelocity.cpp 5263 2015-02-04 13:43:25Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -63,9 +63,6 @@
 #include <visp/vpCameraParameters.h>
 #include <visp/vpTime.h>
 #include <visp/vpSimulator.h>
-
-
-
 #include <visp/vpMath.h>
 #include <visp/vpHomogeneousMatrix.h>
 #include <visp/vpFeatureEllipse.h>
@@ -76,11 +73,9 @@
 #include <visp/vpParseArgv.h>
 #include <visp/vpIoTools.h>
 
-
 #define GETOPTARGS	"cdi:h"
 #define SAVE 0
 
-
 /*!
 
 Print the program options.
@@ -194,101 +189,76 @@ void *mainLoop (void *_simu)
 
     float sampling_time = 0.040f; // Sampling period in second
     robot.setSamplingTime(sampling_time);
+    robot.setMaxTranslationVelocity(4.);
 
-    /*      std::cout << std::endl ;
-      std::cout << "-----------------------" << std::endl ;
-      std::cout << " Test program for vpServo "  <<std::endl ;
-      std::cout << " Simulation " << std::endl ;
-      std::cout << " task : servo a circle " << std::endl ;
-      std::cout << "-----------------------" << std::endl ;
-      std::cout << std::endl ;
-*/
-
-    vpTRACE("sets the initial camera location " ) ;
-
-
+    // Sets the initial camera location
     robot.setPosition(cMo) ;
     simu->setCameraPosition(cMo) ;
 
-
     if (pos==1)  cMod[2][3] = 0.32 ;
 
-    vpTRACE("sets the circle coordinates in the world frame "  ) ;
+    // Sets the circle coordinates in the world frame
     vpCircle circle ;
     circle.setWorldCoordinates(0,0,1,0,0,0,0.1) ;
 
-    vpTRACE("sets the desired position of the visual feature ") ;
+    // Sets the desired position of the visual feature
     vpFeatureEllipse pd ;
     circle.track(cMod) ;
     vpFeatureBuilder::create(pd,circle)  ;
 
-    vpTRACE("project : computes  the circle coordinates in the camera frame and its 2D coordinates"  ) ;
-
-    vpTRACE("sets the current position of the visual feature ") ;
+    // Project : computes the circle coordinates in the camera frame and its 2D coordinates
+    // Sets the current position of the visual feature
     vpFeatureEllipse p ;
     circle.track(cMo) ;
     vpFeatureBuilder::create(p,circle)  ;
 
-    vpTRACE("define the task") ;
-    vpTRACE("\t we want an eye-in-hand control law") ;
-    vpTRACE("\t robot is controlled in the camera frame") ;
+    // Define the task
+    // We want an eye-in-hand control law
+    // Robot is controlled in the camera frame
     task.setServo(vpServo::EYEINHAND_CAMERA) ;
     task.setInteractionMatrixType(vpServo::CURRENT) ;
 
-    vpTRACE("\t we want to see a circle on a circle..") ;
+    // We want to see a circle on a circle
     std::cout << std::endl ;
     task.addFeature(p,pd) ;
 
-    vpTRACE("\t set the gain") ;
-
+    // Set the gain
     task.setLambda(1.0) ;
-    //       if (pos==2)
-    // 	task.setLambda(0.0251) ;
-    //       else
-    // 	task.setLambda(0.0251) ;
 
-
-    vpTRACE("Display task information " ) ;
+    // Display task information
     task.print() ;
 
     vpTime::wait(1000); // Sleep 1s
 
-    std::cout << "\nEnter a character to continue... " <<std::endl ;
-    {    int a ; std::cin >> a ; }
-
-
     unsigned int iter=0 ;
-    vpTRACE("\t loop") ;
+    // Visual servoing loop
     unsigned int itermax ;
     if (pos==2) itermax = 75 ; else itermax = 100 ;
-    char name[FILENAME_MAX] ;
-    while(iter++<itermax)
+    while(iter++ < itermax)
     {
       double t = vpTime::measureTimeMs();
-      std::cout << "---------------------------------------------"
-                << iter <<std::endl ;
-      vpColVector v ;
 
-      if (iter==1) vpTRACE("\t\t get the robot position ") ;
+      if (iter==1) std::cout << "get the robot position" << std::endl;
       robot.getPosition(cMo) ;
-      if (iter==1) vpTRACE("\t\t new circle position ") ;
+      if (iter==1) std::cout << "new circle position" << std::endl;
       //retrieve x,y and Z of the vpCircle structure
 
       circle.track(cMo) ;
       vpFeatureBuilder::create(p,circle);
 
-      if (iter==1) vpTRACE("\t\t compute the control law ") ;
-      v = task.computeControlLaw() ;
-      //  vpTRACE("computeControlLaw" ) ;
-      std::cout << "Task rank: " << task.getTaskRank() <<std::endl ;
-      if (iter==1)
-        vpTRACE("\t\t send the camera velocity to the controller ") ;
+      if (iter==1) std::cout << "compute the control law" << std::endl;
+      vpColVector v = task.computeControlLaw() ;
+      if (iter==1) {
+        std::cout << "Task rank: " << task.getTaskRank() <<std::endl ;
+        std::cout << "send the camera velocity to the controller" << std::endl;
+      }
       robot.setVelocity(vpRobot::CAMERA_FRAME, v) ;
 
       simu->setCameraPosition(cMo) ;
 
       if(SAVE==1)
       {
+        char name[FILENAME_MAX] ;
         sprintf(name,"/tmp/image.%04d.external.png",it) ;
         std::cout << "Save " << name << std::endl ;
         simu->write(name) ;
@@ -297,22 +267,19 @@ void *mainLoop (void *_simu)
         simu->write(name) ;
         it++ ;
       }
-      //  vpTRACE("\t\t || s - s* || ") ;
+      //  std::cout << "\t\t || s - s* || "
       //  std::cout << ( task.getError() ).sumSquare() <<std::endl ; ;
       vpTime::wait(t, sampling_time * 1000); // Wait 40 ms
 
     }
     pos-- ;
     task.kill();
-
   }
 
-
   simu->closeMainApplication() ;
 
   void *a=NULL ;
   return a ;
-  // return (void *);
 }
 
 
@@ -327,10 +294,8 @@ main(int argc, const char ** argv)
     std::string username;
     bool opt_display = true;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -383,7 +348,7 @@ main(int argc, const char ** argv)
       simu.addAbsoluteFrame() ;
 
       // Load the cad model
-      filename = ipath +  vpIoTools::path("/ViSP-images/iv/circle.iv");
+      filename = vpIoTools::createFilePath(ipath, "ViSP-images/iv/circle.iv");
       simu.load(filename.c_str(),fMo) ;
 
       simu.setInternalCameraParameters(cam) ;
diff --git a/example/coin-simulator/simulateFourPoints2DCartesianCamVelocity.cpp b/example/coin-simulator/simulateFourPoints2DCartesianCamVelocity.cpp
index 9ececb271b8490f80b38b24a3af3df0b043b4a7b..b1be43c844df1d4d0c4311cac402ff762f158681 100644
--- a/example/coin-simulator/simulateFourPoints2DCartesianCamVelocity.cpp
+++ b/example/coin-simulator/simulateFourPoints2DCartesianCamVelocity.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: simulateFourPoints2DCartesianCamVelocity.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: simulateFourPoints2DCartesianCamVelocity.cpp 5263 2015-02-04 13:43:25Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -62,8 +62,6 @@
 #include <visp/vpCameraParameters.h>
 #include <visp/vpTime.h>
 #include <visp/vpSimulator.h>
-
-
 #include <visp/vpMath.h>
 #include <visp/vpHomogeneousMatrix.h>
 #include <visp/vpFeaturePoint.h>
@@ -163,160 +161,138 @@ void *mainLoop (void *_simu)
   vpSimulator *simu = (vpSimulator *)_simu ;
   simu->initMainApplication() ;
 
-  for ( ; ; ) {
-    int i ;
+  vpServo task ;
+  vpRobotCamera robot ;
 
-    vpServo task ;
-    vpRobotCamera robot ;
+  float sampling_time = 0.040f; // Sampling period in second
+  robot.setSamplingTime(sampling_time);
 
-    float sampling_time = 0.040f; // Sampling period in second
-    robot.setSamplingTime(sampling_time);
+  std::cout << std::endl ;
+  std::cout << "-------------------------------------------------------" << std::endl ;
+  std::cout << " Test program for vpServo "  <<std::endl ;
+  std::cout << " Eye-in-hand task control, articular velocities are computed" << std::endl ;
+  std::cout << " Simulation " << std::endl ;
+  std::cout << " task : servo 4 points " << std::endl ;
+  std::cout << "-------------------------------------------------------" << std::endl ;
+  std::cout << std::endl ;
 
-    std::cout << std::endl ;
-    std::cout << "-------------------------------------------------------" << std::endl ;
-    std::cout << " Test program for vpServo "  <<std::endl ;
-    std::cout << " Eye-in-hand task control,  articular velocity are computed" << std::endl ;
-    std::cout << " Simulation " << std::endl ;
-    std::cout << " task : servo 4 points " << std::endl ;
-    std::cout << "-------------------------------------------------------" << std::endl ;
-    std::cout << std::endl ;
+  // Sets the initial camera location
+  vpPoseVector vcMo ;
 
+  vcMo[0] = 0.3 ;
+  vcMo[1] = 0.2 ;
+  vcMo[2] = 3 ;
+  vcMo[3] = 0 ;
+  vcMo[4] = vpMath::rad(0)  ;
+  vcMo[5] = vpMath::rad(40) ;
 
-    vpTRACE("sets the initial camera location " ) ;
-    vpPoseVector vcMo ;
+  vpHomogeneousMatrix cMo(vcMo)  ;
+  robot.setPosition(cMo) ;
+  simu->setCameraPosition(cMo) ;
 
-    vcMo[0] = 0.3 ;
-    vcMo[1] = 0.2 ;
-    vcMo[2] = 3 ;
-    vcMo[3] = 0 ;
-    vcMo[4] = vpMath::rad(0)  ;
-    vcMo[5] = vpMath::rad(40) ;
-
-    vpHomogeneousMatrix cMo(vcMo)  ;
-    robot.setPosition(cMo) ;
-    simu->setCameraPosition(cMo) ;
+  simu->getCameraPosition(cMo) ;
+  robot.setPosition(cMo) ;
+  robot.setMaxTranslationVelocity(4.);
 
-    simu->getCameraPosition(cMo) ;
-    robot.setPosition(cMo) ;
+  vpCameraParameters cam ;
 
-    vpCameraParameters cam ;
+  // Sets the point coordinates in the world frame
+  vpPoint point[4] ;
+  point[0].setWorldCoordinates(-0.1,-0.1,0) ;
+  point[1].setWorldCoordinates(0.1,-0.1,0) ;
+  point[2].setWorldCoordinates(0.1,0.1,0) ;
+  point[3].setWorldCoordinates(-0.1,0.1,0) ;
 
-    vpTRACE("sets the point coordinates in the world frame "  ) ;
-    vpPoint point[4] ;
-    point[0].setWorldCoordinates(-0.1,-0.1,0) ;
-    point[1].setWorldCoordinates(0.1,-0.1,0) ;
-    point[2].setWorldCoordinates(0.1,0.1,0) ;
-    point[3].setWorldCoordinates(-0.1,0.1,0) ;
+  // Project : computes the point coordinates in the camera frame and its 2D coordinates
+  for (int i = 0 ; i < 4 ; i++)
+    point[i].track(cMo) ;
 
-    vpTRACE("project : computes  the point coordinates in the camera frame and its 2D coordinates"  ) ;
-    for (i = 0 ; i < 4 ; i++)
-      point[i].track(cMo) ;
+  // Sets the desired position of the point
+  vpFeaturePoint p[4] ;
+  for (int i = 0 ; i < 4 ; i++)
+    vpFeatureBuilder::create(p[i], point[i])  ;  //retrieve x,y and Z of the vpPoint structure
 
-    vpTRACE("sets the desired position of the point ") ;
-    vpFeaturePoint p[4] ;
-    for (i = 0 ; i < 4 ; i++)
-      vpFeatureBuilder::create(p[i], point[i])  ;  //retrieve x,y and Z of the vpPoint structure
+  // Sets the desired position of the point
+  vpFeaturePoint pd[4] ;
 
+  pd[0].buildFrom(-0.1,-0.1,1) ;
+  pd[1].buildFrom(0.1,-0.1,1) ;
+  pd[2].buildFrom(0.1,0.1,1) ;
+  pd[3].buildFrom(-0.1,0.1,1) ;
 
-    vpTRACE("sets the desired position of the point ") ;
-    vpFeaturePoint pd[4] ;
+  // Define the task
+  // We want an eye-in-hand control law
+  // Articular velocity are computed
+  task.setServo(vpServo::EYEINHAND_L_cVe_eJe) ;
+  task.setInteractionMatrixType(vpServo::CURRENT) ;
 
-    pd[0].buildFrom(-0.1,-0.1,1) ;
-    pd[1].buildFrom(0.1,-0.1,1) ;
-    pd[2].buildFrom(0.1,0.1,1) ;
-    pd[3].buildFrom(-0.1,0.1,1) ;
+  // Set the position of the camera in the end-effector frame
+  vpHomogeneousMatrix cMe ;
+  vpVelocityTwistMatrix cVe(cMe) ;
+  task.set_cVe(cVe) ;
 
-    vpTRACE("define the task") ;
-    vpTRACE("\t we want an eye-in-hand control law") ;
-    vpTRACE("\t articular velocity are computed") ;
-    task.setServo(vpServo::EYEINHAND_L_cVe_eJe) ;
-    task.setInteractionMatrixType(vpServo::CURRENT) ;
+  // Set the Jacobian (expressed in the end-effector frame)
+  vpMatrix eJe ;
+  robot.get_eJe(eJe) ;
+  task.set_eJe(eJe) ;
 
+  // We want to see a point on a point
+  for (int i = 0 ; i < 4 ; i++)
+    task.addFeature(p[i],pd[i]) ;
 
-    vpTRACE("Set the position of the camera in the end-effector frame ") ;
-    vpHomogeneousMatrix cMe ;
-    vpVelocityTwistMatrix cVe(cMe) ;
-    task.set_cVe(cVe) ;
+  // Set the gain
+  task.setLambda(1.0) ;
 
-    vpTRACE("Set the Jacobian (expressed in the end-effector frame)") ;
-    vpMatrix eJe ;
-    robot.get_eJe(eJe) ;
-    task.set_eJe(eJe) ;
+  std::cout << "Display task information" << std::endl;
+  task.print() ;
 
-    vpTRACE("\t we want to see a point on a point..") ;
-    for (i = 0 ; i < 4 ; i++)
-      task.addFeature(p[i],pd[i]) ;
+  vpTime::wait(1000); // Sleep 1s to ensure that all the thread are initialized
 
-    vpTRACE("\t set the gain") ;
-    task.setLambda(1.0) ;
+  unsigned int iter=0 ;
+  // visual servo loop
+  while(iter++ < 100) {
+    double t = vpTime::measureTimeMs();
 
+    vpColVector v ;
 
-    vpTRACE("Display task information " ) ;
-    task.print() ;
-
-    vpTime::wait(1000); // Sleep 1s
-    std::cout << "\nEnter a character to continue or CTRL-C to quit... "
-              << std::endl ;
-    {    char a ; std::cin >> a ; }
-
-
-    char name[FILENAME_MAX];
-    unsigned int iter=0 ;
-    vpTRACE("\t loop") ;
-    while(iter++ < 100) {
-      double t = vpTime::measureTimeMs();
-
-      vpColVector v ;
-
-      robot.get_eJe(eJe) ;
-      task.set_eJe(eJe) ;
-
-      robot.getPosition(cMo) ;
-      for (i = 0 ; i < 4 ; i++)
-      {
-        point[i].track(cMo) ;
-        vpFeatureBuilder::create(p[i],point[i])  ;
-      }
-
-      v = task.computeControlLaw() ;
-      robot.setVelocity(vpRobot::CAMERA_FRAME, v) ;
-
-      //vpTime::wait(100) ;
-
-
-      simu->setCameraPosition(cMo) ;
+    robot.get_eJe(eJe) ;
+    task.set_eJe(eJe) ;
 
+    robot.getPosition(cMo) ;
+    for (int i = 0 ; i < 4 ; i++)
+    {
+      point[i].track(cMo) ;
+      vpFeatureBuilder::create(p[i],point[i])  ;
+    }
 
-      if(SAVE==1)
-	    {
-	      sprintf(name,"/tmp/image.%04d.external.png",iter) ;
-	      std::cout << name << std::endl ;
-	      simu->write(name) ;
-	      sprintf(name,"/tmp/image.%04d.internal.png",iter) ;
-	      simu->write(name) ;
-	    }
+    v = task.computeControlLaw() ;
+    robot.setVelocity(vpRobot::CAMERA_FRAME, v) ;
 
-      vpTime::wait(t, sampling_time * 1000); // Wait 40 ms
+    simu->setCameraPosition(cMo) ;
 
+    if(SAVE==1)
+    {
+      char name[FILENAME_MAX];
+      sprintf(name,"/tmp/image.%04d.external.png",iter) ;
+      std::cout << name << std::endl ;
+      simu->write(name) ;
+      sprintf(name,"/tmp/image.%04d.internal.png",iter) ;
+      simu->write(name) ;
     }
-    vpTRACE("Display task information " ) ;
-    task.print() ;
-    task.kill() ;
-    std::cout << "\nEnter a character to continue..." <<std::endl ;
-    {    char a ; std::cin >> a ; }
+
+    vpTime::wait(t, sampling_time * 1000); // Wait 40 ms
   }
+  std::cout << "\nDisplay task information" << std::endl;
+  task.print() ;
+  task.kill() ;
 
   simu->closeMainApplication() ;
 
-
   void *a=NULL ;
   return a ;
-  // return (void *);
 }
 
-
-int
-main(int argc, const char ** argv)
+int main(int argc, const char ** argv)
 {
   try {
     std::string env_ipath;
@@ -326,10 +302,8 @@ main(int argc, const char ** argv)
     std::string username;
     bool opt_display = true;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -371,7 +345,6 @@ main(int argc, const char ** argv)
     vpCameraParameters cam ;
     vpHomogeneousMatrix fMo ; fMo[2][3] = 0 ;
 
-
     if (opt_display) {
       vpSimulator simu ;
       simu.initInternalViewer(300, 300) ;
@@ -381,7 +354,7 @@ main(int argc, const char ** argv)
       simu.setZoomFactor(1.0f) ;
 
       // Load the cad model
-      filename = ipath +  vpIoTools::path("/ViSP-images/iv/4points.iv");
+      filename = vpIoTools::createFilePath(ipath, "ViSP-images/iv/4points.iv");
       simu.load(filename.c_str()) ;
 
       simu.setInternalCameraParameters(cam) ;
diff --git a/example/coin-simulator/simulateFourPoints2DPolarCamVelocity.cpp b/example/coin-simulator/simulateFourPoints2DPolarCamVelocity.cpp
index 8a5033ac1910b6826936bb1ddcc1b1900d6c5ff9..9ab7e7696abde3420a3c747c0a66ac9158d3e069 100644
--- a/example/coin-simulator/simulateFourPoints2DPolarCamVelocity.cpp
+++ b/example/coin-simulator/simulateFourPoints2DPolarCamVelocity.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: simulateFourPoints2DPolarCamVelocity.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: simulateFourPoints2DPolarCamVelocity.cpp 5263 2015-02-04 13:43:25Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -60,8 +60,6 @@
 #include <visp/vpCameraParameters.h>
 #include <visp/vpTime.h>
 #include <visp/vpSimulator.h>
-
-
 #include <visp/vpMath.h>
 #include <visp/vpHomogeneousMatrix.h>
 #include <visp/vpFeaturePointPolar.h>
@@ -161,189 +159,160 @@ void *mainLoop (void *_simu)
   vpSimulator *simu = (vpSimulator *)_simu ;
   simu->initMainApplication() ;
 
-  for ( ; ; ) {
-    vpServo task ;
-    vpRobotCamera robot ;
-
-    float sampling_time = 0.040f; // Sampling period in second
-    robot.setSamplingTime(sampling_time);
-
-    std::cout << std::endl ;
-    std::cout << "-------------------------------------------------------" << std::endl ;
-    std::cout << " Test program for vpServo "  <<std::endl ;
-    std::cout << " Eye-in-hand task control,  articular velocity are computed" << std::endl ;
-    std::cout << " Simulation " << std::endl ;
-    std::cout << " task : servo 4 points " << std::endl ;
-    std::cout << "-------------------------------------------------------" << std::endl ;
-    std::cout << std::endl ;
+  vpServo task ;
+  vpRobotCamera robot ;
 
+  float sampling_time = 0.040f; // Sampling period in second
+  robot.setSamplingTime(sampling_time);
+  robot.setMaxTranslationVelocity(4.);
 
-    vpTRACE("sets the initial camera location " ) ;
-    vpPoseVector vcMo ;
+  // Sets the initial camera location
+  vpPoseVector vcMo ;
 
-    vcMo[0] = 0. ;
-    vcMo[1] = 0. ;
-    vcMo[2] = 3 ;
-    vcMo[3] = 0 ;
-    vcMo[4] = vpMath::rad(0)  ;
-    vcMo[5] = vpMath::rad(90) ;
+  vcMo[0] = 0. ;
+  vcMo[1] = 0. ;
+  vcMo[2] = 3 ;
+  vcMo[3] = 0 ;
+  vcMo[4] = vpMath::rad(0)  ;
+  vcMo[5] = vpMath::rad(90) ;
 
-    vpHomogeneousMatrix cMo(vcMo)  ;
-    robot.setPosition(cMo) ;
-    simu->setCameraPosition(cMo) ;
-
-    simu->getCameraPosition(cMo) ;
-    robot.setPosition(cMo) ;
-
-    vpCameraParameters cam ;
+  vpHomogeneousMatrix cMo(vcMo)  ;
+  robot.setPosition(cMo) ;
+  simu->setCameraPosition(cMo) ;
 
-    vpTRACE("sets the point coordinates in the world frame "  ) ;
-    vpPoint point[4] ;
-    point[0].setWorldCoordinates(-0.1,-0.1,0) ;
-    point[1].setWorldCoordinates(0.1,-0.1,0) ;
-    point[2].setWorldCoordinates(0.1,0.1,0) ;
-    point[3].setWorldCoordinates(-0.1,0.1,0) ;
-
-    vpTRACE("project : computes  the point coordinates in the camera frame and its 2D coordinates"  ) ;
-    for (int i = 0 ; i < 4 ; i++) {
-      point[i].changeFrame(cMo); // Compute point coordinates in the camera frame
-      point[i].project(); // Compute desired point doordinates in the camera frame
-    }
+  simu->getCameraPosition(cMo) ;
+  robot.setPosition(cMo) ;
 
-    vpTRACE("sets the desired position of the point ") ;
-    vpFeaturePointPolar p[4] ;
-    for (int i = 0 ; i < 4 ; i++)
-      vpFeatureBuilder::create(p[i], point[i])  ;  //retrieve x,y and Z of the vpPoint structure to build the polar coordinates
+  vpCameraParameters cam ;
 
-    std::cout << "s: \n";
-    for (int i=0; i < 4; i ++) {
-      printf("[%d] rho %f theta %f Z %f\n",
-             i, p[i].get_rho(), p[i].get_theta(), p[i].get_Z());
-    }
+  // Sets the point coordinates in the world frame
+  vpPoint point[4] ;
+  point[0].setWorldCoordinates(-0.1,-0.1,0) ;
+  point[1].setWorldCoordinates(0.1,-0.1,0) ;
+  point[2].setWorldCoordinates(0.1,0.1,0) ;
+  point[3].setWorldCoordinates(-0.1,0.1,0) ;
 
-    vpTRACE("sets the desired position of the point ") ;
-    vcMo[0] = 0 ;
-    vcMo[1] = 0 ;
-    vcMo[2] = 1 ;
-    vcMo[3] = vpMath::rad(0);
-    vcMo[4] = vpMath::rad(0);
-    vcMo[5] = vpMath::rad(0);
-
-    vpHomogeneousMatrix cMod(vcMo);
-
-    vpFeaturePointPolar pd[4] ;
-    vpPoint pointd[4]; // Desired position of the points
-    pointd[0].setWorldCoordinates(-0.1,-0.1,0) ;
-    pointd[1].setWorldCoordinates(0.1,-0.1,0) ;
-    pointd[2].setWorldCoordinates(0.1,0.1,0) ;
-    pointd[3].setWorldCoordinates(-0.1,0.1,0) ;
-    for (int i=0; i < 4; i ++) {
-      pointd[i].changeFrame(cMod); // Compute desired point doordinates in the camera frame
-      pointd[i].project(); // Compute desired point doordinates in the camera frame
-
-      vpFeatureBuilder::create(pd[i], pointd[i])  ;  //retrieve x,y and Z of the vpPoint structure to build the polar coordinates
-    }
-    std::cout << "s*: \n";
-    for (int i=0; i < 4; i ++) {
-      printf("[%d] rho %f theta %f Z %f\n",
-             i, pd[i].get_rho(), pd[i].get_theta(), pd[i].get_Z());
-    }
-    
-    vpTRACE("define the task") ;
-    vpTRACE("\t we want an eye-in-hand control law") ;
-    vpTRACE("\t articular velocity are computed") ;
-    task.setServo(vpServo::EYEINHAND_L_cVe_eJe) ;
-    task.setInteractionMatrixType(vpServo::CURRENT) ;
-
-    vpTRACE("Set the position of the camera in the end-effector frame ") ;
-    vpHomogeneousMatrix cMe ;
-    vpVelocityTwistMatrix cVe(cMe) ;
-    task.set_cVe(cVe) ;
-
-    vpTRACE("Set the Jacobian (expressed in the end-effector frame)") ;
-    vpMatrix eJe ;
-    robot.get_eJe(eJe) ;
-    task.set_eJe(eJe) ;
+  // Project : computes the point coordinates in the camera frame and its 2D coordinates
+  for (int i = 0 ; i < 4 ; i++) {
+    point[i].changeFrame(cMo); // Compute point coordinates in the camera frame
+    point[i].project(); // Compute desired point doordinates in the camera frame
+  }
 
-    vpTRACE("\t we want to see a point on a point..") ;
-    for (int i = 0 ; i < 4 ; i++)
-      task.addFeature(p[i],pd[i]) ;
+  // Sets the desired position of the point
+  vpFeaturePointPolar p[4] ;
+  for (int i = 0 ; i < 4 ; i++)
+    vpFeatureBuilder::create(p[i], point[i])  ;  //retrieve x,y and Z of the vpPoint structure to build the polar coordinates
 
-    vpTRACE("\t set the gain") ;
-    task.setLambda(1.0) ;
+  std::cout << "s: \n";
+  for (int i=0; i < 4; i ++) {
+    printf("[%d] rho %f theta %f Z %f\n",
+           i, p[i].get_rho(), p[i].get_theta(), p[i].get_Z());
+  }
 
+  // Sets the desired position of the point
+  vcMo[0] = 0 ;
+  vcMo[1] = 0 ;
+  vcMo[2] = 1 ;
+  vcMo[3] = vpMath::rad(0);
+  vcMo[4] = vpMath::rad(0);
+  vcMo[5] = vpMath::rad(0);
+
+  vpHomogeneousMatrix cMod(vcMo);
+
+  vpFeaturePointPolar pd[4] ;
+  vpPoint pointd[4]; // Desired position of the points
+  pointd[0].setWorldCoordinates(-0.1,-0.1,0) ;
+  pointd[1].setWorldCoordinates(0.1,-0.1,0) ;
+  pointd[2].setWorldCoordinates(0.1,0.1,0) ;
+  pointd[3].setWorldCoordinates(-0.1,0.1,0) ;
+  for (int i=0; i < 4; i ++) {
+    pointd[i].changeFrame(cMod); // Compute desired point doordinates in the camera frame
+    pointd[i].project(); // Compute desired point doordinates in the camera frame
+
+    vpFeatureBuilder::create(pd[i], pointd[i])  ;  //retrieve x,y and Z of the vpPoint structure to build the polar coordinates
+  }
+  std::cout << "s*: \n";
+  for (int i=0; i < 4; i ++) {
+    printf("[%d] rho %f theta %f Z %f\n",
+           i, pd[i].get_rho(), pd[i].get_theta(), pd[i].get_Z());
+  }
 
-    vpTRACE("Display task information " ) ;
-    task.print() ;
+  // Define the task
+  // We want an eye-in-hand control law
+  // Articular velocity are computed
+  task.setServo(vpServo::EYEINHAND_L_cVe_eJe) ;
+  task.setInteractionMatrixType(vpServo::CURRENT) ;
 
-    vpTime::wait(1000); // Sleep 1s
-    std::cout << "\nEnter a character to continue or CTRL-C to quit... "
-              << std::endl ;
-    {    char a ; std::cin >> a ; }
+  // Set the position of the camera in the end-effector frame
+  vpHomogeneousMatrix cMe ;
+  vpVelocityTwistMatrix cVe(cMe) ;
+  task.set_cVe(cVe) ;
 
+  // Set the Jacobian (expressed in the end-effector frame)
+  vpMatrix eJe ;
+  robot.get_eJe(eJe) ;
+  task.set_eJe(eJe) ;
 
-    char name[FILENAME_MAX];
-    unsigned int iter=0 ;
-    vpTRACE("\t loop") ;
-    while(iter++ < 300) {
-      double t = vpTime::measureTimeMs();
+  // We want to see a point on a point
+  for (int i = 0 ; i < 4 ; i++)
+    task.addFeature(p[i],pd[i]) ;
 
-      vpColVector v ;
+  // Set the gain
+  task.setLambda(1.0) ;
 
-      robot.get_eJe(eJe) ;
-      task.set_eJe(eJe) ;
+  // Display task information
+  task.print() ;
 
-      robot.getPosition(cMo) ;
-      for (int i = 0 ; i < 4 ; i++)
-      {
-        point[i].track(cMo) ;
-        vpFeatureBuilder::create(p[i],point[i])  ;
-      }
+  vpTime::wait(1000); // Sleep 1s
 
-      v = task.computeControlLaw() ;
-      robot.setVelocity(vpRobot::CAMERA_FRAME, v) ;
+  unsigned int iter=0 ;
+  // Visual servo loop
+  while(iter++ < 200) {
+    double t = vpTime::measureTimeMs();
 
-      //vpTime::wait(100) ;
+    robot.get_eJe(eJe) ;
+    task.set_eJe(eJe) ;
 
+    robot.getPosition(cMo) ;
+    for (int i = 0 ; i < 4 ; i++)
+    {
+      point[i].track(cMo) ;
+      vpFeatureBuilder::create(p[i],point[i])  ;
+    }
 
-      simu->setCameraPosition(cMo) ;
+    vpColVector v = task.computeControlLaw() ;
+    robot.setVelocity(vpRobot::CAMERA_FRAME, v) ;
 
+    simu->setCameraPosition(cMo) ;
 
-      if(SAVE==1)
-	    {
-	      sprintf(name,"/tmp/image.%04d.external.png",iter) ;
-	      std::cout << name << std::endl ;
-	      simu->write(name) ;
-	      sprintf(name,"/tmp/image.%04d.internal.png",iter) ;
-	      simu->write(name) ;
-	    }
+    if(SAVE==1)
+    {
+      char name[FILENAME_MAX];
+      sprintf(name,"/tmp/image.%04d.external.png",iter) ;
+      std::cout << name << std::endl ;
+      simu->write(name) ;
+      sprintf(name,"/tmp/image.%04d.internal.png",iter) ;
+      simu->write(name) ;
+    }
 
-      vpTime::wait(t, sampling_time * 1000); // Wait 40 ms
+    vpTime::wait(t, sampling_time * 1000); // Wait 40 ms
 
-    }
-    vpTRACE("Display task information " ) ;
-    task.print() ;
-    task.kill() ;
-
-    std::cout << "cMo:\n" << cMo << std::endl;
-    vpPoseVector pose(cMo);
-    std::cout << "final pose:\n" << pose.t() << std::endl;
-    
-    std::cout << "\nEnter a character to continue..." <<std::endl ;
-    {    char a ; std::cin >> a ; }
   }
+  // Display task information
+  task.print() ;
+  task.kill() ;
 
-  simu->closeMainApplication() ;
+  std::cout << "cMo:\n" << cMo << std::endl;
+  vpPoseVector pose(cMo);
+  std::cout << "final pose:\n" << pose.t() << std::endl;
 
+  simu->closeMainApplication() ;
 
   void *a=NULL ;
   return a ;
-  // return (void *);
 }
 
-
-int
-main(int argc, const char ** argv)
+int main(int argc, const char ** argv)
 {
   try {
     std::string env_ipath;
@@ -353,10 +322,8 @@ main(int argc, const char ** argv)
     std::string username;
     bool opt_display = true;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -408,7 +375,7 @@ main(int argc, const char ** argv)
       simu.setZoomFactor(1.0f) ;
 
       // Load the cad model
-      filename = ipath +  vpIoTools::path("/ViSP-images/iv/4points.iv");
+      filename = vpIoTools::createFilePath(ipath, "ViSP-images/iv/4points.iv");
       simu.load(filename.c_str()) ;
 
       simu.setInternalCameraParameters(cam) ;
diff --git a/example/device/CMakeLists.txt b/example/device/CMakeLists.txt
index f4114f85b7170c78425e13f6cbb8994c2b2cbe33..81f049dc0eb6f17392b0eeaaef45be6d546aff26 100644
--- a/example/device/CMakeLists.txt
+++ b/example/device/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -52,8 +52,3 @@ SET (SRC_SUBDIRS
 
 # Build process propagation in the sub directories
 SUBDIRS(${SRC_SUBDIRS})
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
diff --git a/example/device/display/CMakeLists.txt b/example/device/display/CMakeLists.txt
index 9c609bf1329bf8399b3ae06f5b104a156d8e644b..befd33cf8e95e4f13bff854209c5667b9d702960 100644
--- a/example/device/display/CMakeLists.txt
+++ b/example/device/display/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,7 +43,7 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   displaySequence.cpp
   displayGDI.cpp
   displayD3D.cpp
@@ -54,30 +54,29 @@ SET (SOURCE
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-ENDFOREACH(source)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
 
 # Add test
 # To run some of these tests don't forget to set VISP_INPUT_IMAGE_PATH
 # environment variable to the ViSP test sequences location.
 # To get these sequence download ViSP-images.tar.gz from
 # http://www.irisa.fr/lagadic/visp/visp.html
-ADD_TEST(displaySequence displaySequence ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(displayGDI displayGDI -c ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(displayD3D displayD3D -c ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(displayGTK displayGTK -c ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(displayX displayX -c ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(displayOpenCV displayOpenCV -c ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(displayXMulti displayXMulti -c ${OPTION_TO_DESACTIVE_DISPLAY})
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+add_test(displaySequence displaySequence ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(displayGDI displayGDI -c ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(displayD3D displayD3D -c ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(displayGTK displayGTK -c ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(displayX displayX -c ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(displayOpenCV displayOpenCV -c ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(displayXMulti displayXMulti -c ${OPTION_TO_DESACTIVE_DISPLAY})
diff --git a/example/device/display/displayD3D.cpp b/example/device/display/displayD3D.cpp
index a6e957771d9faa8268bb2e8a6d57d27cb12384b2..ccf1ed29088230f98f0c5ded55f9093f3a316a86 100755
--- a/example/device/display/displayD3D.cpp
+++ b/example/device/display/displayD3D.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: displayD3D.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: displayD3D.cpp 5004 2014-11-24 08:24:18Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -191,10 +191,8 @@ main(int argc, const char ** argv)
     bool opt_click_allowed = true;
     bool opt_display = true;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -220,7 +218,7 @@ main(int argc, const char ** argv)
       opath = opt_opath;
 
     // Append to the output path string, the login name of the user
-    std::string odirname = opath +  vpIoTools::path("/") + username;
+    std::string odirname = vpIoTools::createFilePath(opath, username);
 
     // Test if the output path exist. If no try to create it
     if (vpIoTools::checkDirectory(odirname) == false) {
@@ -267,17 +265,16 @@ main(int argc, const char ** argv)
     vpImagePoint ip, ip1, ip2;
 
     // Load a grey image from the disk
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.pgm");
     vpImageIo::read(I, filename) ;
 
-    // For this grey level image, open a D3D display at position 100,100
-    // in the screen, and with title "D3D display"
+    // Create a display using X11
     vpDisplayD3D display;
 
     if (opt_display) {
-      // We open a window using D3D.
-      // Its size is automatically defined by the image (I) size
-      display.init(I, 100, 100, "D3D display") ;
+      // For this grey level image, open a X11 display at position 100,100
+      // in the screen, and with title "X11 display"
+      display.init(I, 100, 100, "X11 display") ;
 
       // Display the image
       vpDisplay::display(I) ;
@@ -343,9 +340,9 @@ main(int argc, const char ** argv)
       // Display in overlay a yellow string
       ip.set_i( 85 );
       ip.set_j( 100 );
-      vpDisplay::displayCharString(I, ip,
-                                   "ViSP is a marvelous software",
-                                   vpColor::yellow) ;
+      vpDisplay::displayText(I, ip,
+                             "ViSP is a marvelous software",
+                             vpColor::yellow) ;
       //Flush the display
       vpDisplay::flush(I);
 
@@ -355,7 +352,7 @@ main(int argc, const char ** argv)
       vpDisplay::getImage(I, Ioverlay) ;
 
       // Write the color image on the disk
-      filename = odirname +  vpIoTools::path("/Klimt_grey.overlay.ppm");
+      filename = vpIoTools::createFilePath(odirname, "Klimt_grey.overlay.ppm");
       vpImageIo::write(Ioverlay, filename) ;
 
       // If click is allowed, wait for a mouse click to close the display
@@ -373,17 +370,16 @@ main(int argc, const char ** argv)
     vpImage<vpRGBa> Irgba ;
 
     // Load a grey image from the disk and convert it to a color image
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.ppm");
     vpImageIo::read(Irgba, filename) ;
 
-    // For this color image, open a D3D display at position 100,100
-    // in the screen, and with title "D3D color display"
+    // Create a new display
     vpDisplayD3D displayRGBa;
 
     if (opt_display) {
-      // We open a window using D3D.
-      // Its size is automatically defined by the image (Irgba) size
-      displayRGBa.init(Irgba, 100, 100, "D3D color display");
+      // For this color image, open a X11 display at position 100,100
+      // in the screen, and with title "X11 color display"
+      displayRGBa.init(Irgba, 100, 100, "X11 color display");
 
       // Display the color image
       vpDisplay::display(Irgba) ;
@@ -413,6 +409,15 @@ main(int argc, const char ** argv)
       // bufferized. Force to display the content that has been bufferized.
       vpDisplay::flush(Irgba);
 
+      // Create a color image
+      vpImage<vpRGBa> Ioverlay ;
+      // Updates the color image with the original loaded image and the overlay
+      vpDisplay::getImage(Irgba, Ioverlay) ;
+
+      // Write the color image on the disk
+      filename = vpIoTools::createFilePath(odirname, "Klimt_color.overlay.ppm");
+      vpImageIo::write(Ioverlay, filename) ;
+
       // If click is allowed, wait for a blocking mouse click to exit.
       if (opt_click_allowed) {
         std::cout << "\nA click to exit the program..." << std::endl;
@@ -420,6 +425,7 @@ main(int argc, const char ** argv)
         std::cout << "Bye" << std::endl;
       }
     }
+    return 0;
   }
   catch(vpException e) {
     std::cout << "Catch an exception: " << e << std::endl;
diff --git a/example/device/display/displayGDI.cpp b/example/device/display/displayGDI.cpp
index aa104abcff34f38feefdf13d980010806e0f772a..41724ea35b38e1c6a98c2af94280740679200ba8 100755
--- a/example/device/display/displayGDI.cpp
+++ b/example/device/display/displayGDI.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: displayGDI.cpp 4604 2014-01-21 14:15:23Z fspindle $
+ * $Id: displayGDI.cpp 5004 2014-11-24 08:24:18Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -190,10 +190,8 @@ main(int argc, const char ** argv)
     bool opt_click_allowed = true;
     bool opt_display = true;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -218,7 +216,7 @@ main(int argc, const char ** argv)
       opath = opt_opath;
 
     // Append to the output path string, the login name of the user
-    std::string odirname = opath +  vpIoTools::path("/") + username;
+    std::string odirname = vpIoTools::createFilePath(opath, username);
 
     // Test if the output path exist. If no try to create it
     if (vpIoTools::checkDirectory(odirname) == false) {
@@ -265,17 +263,16 @@ main(int argc, const char ** argv)
     vpImagePoint ip, ip1, ip2;
 
     // Load a grey image from the disk
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.pgm");
     vpImageIo::read(I, filename) ;
 
-    // For this grey level image, open a GDI display at position 100,100
-    // in the screen, and with title "GDI display"
+    // Create a display using X11
     vpDisplayGDI display;
 
     if (opt_display) {
-      // We open a window using GDI.
-      // Its size is automatically defined by the image (I) size
-      display.init(I, 100, 100, "GDI display") ;
+      // For this grey level image, open a X11 display at position 100,100
+      // in the screen, and with title "X11 display"
+      display.init(I, 100, 100, "X11 display") ;
 
       // Display the image
       vpDisplay::display(I) ;
@@ -341,9 +338,9 @@ main(int argc, const char ** argv)
       // Display in overlay a yellow string
       ip.set_i( 85 );
       ip.set_j( 100 );
-      vpDisplay::displayCharString(I, ip,
-                                   "ViSP is a marvelous software",
-                                   vpColor::yellow) ;
+      vpDisplay::displayText(I, ip,
+                             "ViSP is a marvelous software",
+                             vpColor::yellow) ;
       //Flush the display
       vpDisplay::flush(I);
 
@@ -353,7 +350,7 @@ main(int argc, const char ** argv)
       vpDisplay::getImage(I, Ioverlay) ;
 
       // Write the color image on the disk
-      filename = odirname +  vpIoTools::path("/Klimt_grey.overlay.ppm");
+      filename = vpIoTools::createFilePath(odirname, "Klimt_grey.overlay.ppm");
       vpImageIo::write(Ioverlay, filename) ;
 
       // If click is allowed, wait for a mouse click to close the display
@@ -371,17 +368,16 @@ main(int argc, const char ** argv)
     vpImage<vpRGBa> Irgba ;
 
     // Load a grey image from the disk and convert it to a color image
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.ppm");
     vpImageIo::read(Irgba, filename) ;
 
-    // For this color image, open a GDI display at position 100,100
-    // in the screen, and with title "GDI color display"
+    // Create a new display
     vpDisplayGDI displayRGBa;
 
     if (opt_display) {
-      // We open a window using GDI.
-      // Its size is automatically defined by the image (Irgba) size
-      displayRGBa.init(Irgba, 100, 100, "GDI color display");
+      // For this color image, open a X11 display at position 100,100
+      // in the screen, and with title "X11 color display"
+      displayRGBa.init(Irgba, 100, 100, "X11 color display");
 
       // Display the color image
       vpDisplay::display(Irgba) ;
@@ -411,6 +407,15 @@ main(int argc, const char ** argv)
       // bufferized. Force to display the content that has been bufferized.
       vpDisplay::flush(Irgba);
 
+      // Create a color image
+      vpImage<vpRGBa> Ioverlay ;
+      // Updates the color image with the original loaded image and the overlay
+      vpDisplay::getImage(Irgba, Ioverlay) ;
+
+      // Write the color image on the disk
+      filename = vpIoTools::createFilePath(odirname, "Klimt_color.overlay.ppm");
+      vpImageIo::write(Ioverlay, filename) ;
+
       // If click is allowed, wait for a blocking mouse click to exit.
       if (opt_click_allowed) {
         std::cout << "\nA click to exit the program..." << std::endl;
@@ -418,6 +423,7 @@ main(int argc, const char ** argv)
         std::cout << "Bye" << std::endl;
       }
     }
+    return 0;
   }
   catch(vpException e) {
     std::cout << "Catch an exception: " << e << std::endl;
diff --git a/example/device/display/displayGTK.cpp b/example/device/display/displayGTK.cpp
index db2208be67c2b323d50de3ab06ae46acb4920f5a..ef7dbe93dc7a955b22f4f01c7f57127d076717fa 100644
--- a/example/device/display/displayGTK.cpp
+++ b/example/device/display/displayGTK.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: displayGTK.cpp 4604 2014-01-21 14:15:23Z fspindle $
+ * $Id: displayGTK.cpp 5004 2014-11-24 08:24:18Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -194,10 +194,8 @@ main(int argc, const char ** argv)
     bool opt_click_allowed = true;
     bool opt_display = true;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -226,7 +224,7 @@ main(int argc, const char ** argv)
       opath = opt_opath;
 
     // Append to the output path string, the login name of the user
-    std::string odirname = opath +  vpIoTools::path("/") + username;
+    std::string odirname = vpIoTools::createFilePath(opath, username);
 
     // Test if the output path exist. If no try to create it
     if (vpIoTools::checkDirectory(odirname) == false) {
@@ -273,16 +271,16 @@ main(int argc, const char ** argv)
     vpImagePoint ip, ip1, ip2;
 
     // Load a grey image from the disk
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.png");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.pgm");
     vpImageIo::read(I, filename) ;
 
-    // Create a display using GTK
+    // Create a display using X11
     vpDisplayGTK display;
 
     if (opt_display) {
-      // For this grey level image, open a GTK display at position 100,100
-      // in the screen, and with title "GTK display"
-      display.init(I, 100, 100, "GTK display") ;
+      // For this grey level image, open a X11 display at position 100,100
+      // in the screen, and with title "X11 display"
+      display.init(I, 100, 100, "X11 display") ;
 
       // Display the image
       vpDisplay::display(I) ;
@@ -348,10 +346,9 @@ main(int argc, const char ** argv)
       // Display in overlay a yellow string
       ip.set_i( 85 );
       ip.set_j( 100 );
-      //vpDisplay::setFont(I, "-*-courier 10 pitch-medium-r-normal-*-16-*-*-*-*-*-*-*");
-      vpDisplay::displayCharString(I, ip,
-                                   "ViSP is a marvelous software",
-                                   vpColor::yellow) ;
+      vpDisplay::displayText(I, ip,
+                             "ViSP is a marvelous software",
+                             vpColor::yellow) ;
       //Flush the display
       vpDisplay::flush(I);
 
@@ -361,7 +358,7 @@ main(int argc, const char ** argv)
       vpDisplay::getImage(I, Ioverlay) ;
 
       // Write the color image on the disk
-      filename = odirname +  vpIoTools::path("/Klimt_grey.overlay.ppm");
+      filename = vpIoTools::createFilePath(odirname, "Klimt_grey.overlay.ppm");
       vpImageIo::write(Ioverlay, filename) ;
 
       // If click is allowed, wait for a mouse click to close the display
@@ -379,16 +376,16 @@ main(int argc, const char ** argv)
     vpImage<vpRGBa> Irgba ;
 
     // Load a grey image from the disk and convert it to a color image
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.ppm");
     vpImageIo::read(Irgba, filename) ;
 
-    // Create a new GTK display
+    // Create a new display
     vpDisplayGTK displayRGBa;
 
     if (opt_display) {
-      // For this color image, open a GTK display at position 100,100
-      // in the screen, and with title "GTK color display"
-      displayRGBa.init(Irgba, 100, 100, "GTK color display");
+      // For this color image, open a X11 display at position 100,100
+      // in the screen, and with title "X11 color display"
+      displayRGBa.init(Irgba, 100, 100, "X11 color display");
 
       // Display the color image
       vpDisplay::display(Irgba) ;
@@ -418,6 +415,15 @@ main(int argc, const char ** argv)
       // bufferized. Force to display the content that has been bufferized.
       vpDisplay::flush(Irgba);
 
+      // Create a color image
+      vpImage<vpRGBa> Ioverlay ;
+      // Updates the color image with the original loaded image and the overlay
+      vpDisplay::getImage(Irgba, Ioverlay) ;
+
+      // Write the color image on the disk
+      filename = vpIoTools::createFilePath(odirname, "Klimt_color.overlay.ppm");
+      vpImageIo::write(Ioverlay, filename) ;
+
       // If click is allowed, wait for a blocking mouse click to exit.
       if (opt_click_allowed) {
         std::cout << "\nA click to exit the program..." << std::endl;
@@ -425,6 +431,7 @@ main(int argc, const char ** argv)
         std::cout << "Bye" << std::endl;
       }
     }
+    return 0;
   }
   catch(vpException e) {
     std::cout << "Catch an exception: " << e << std::endl;
diff --git a/example/device/display/displayOpenCV.cpp b/example/device/display/displayOpenCV.cpp
index fcc27e3434057e0d451e95318b360e9f40106fcf..97d4fe0ef84433e8a3e386ce7683b07bf1313d16 100644
--- a/example/device/display/displayOpenCV.cpp
+++ b/example/device/display/displayOpenCV.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: displayOpenCV.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: displayOpenCV.cpp 5005 2014-11-24 08:25:51Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -50,7 +50,8 @@
 #include <visp/vpDebug.h>
 #include <visp/vpConfig.h>
 #include <stdlib.h>
-#ifdef VISP_HAVE_OPENCV
+
+#if defined(VISP_HAVE_OPENCV)
 
 #include <visp/vpImage.h>
 #include <visp/vpImageIo.h>
@@ -197,11 +198,8 @@ main(int argc, const char ** argv)
     bool opt_click_allowed = true;
     bool opt_display = true;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
-    //  std::cout << "env_ipath: " << env_ipath << std::endl;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -230,7 +228,7 @@ main(int argc, const char ** argv)
       opath = opt_opath;
 
     // Append to the output path string, the login name of the user
-    std::string odirname = opath +  vpIoTools::path("/") + username;
+    std::string odirname = vpIoTools::createFilePath(opath, username);
 
     // Test if the output path exist. If no try to create it
     if (vpIoTools::checkDirectory(odirname) == false) {
@@ -277,16 +275,16 @@ main(int argc, const char ** argv)
     vpImagePoint ip, ip1, ip2;
 
     // Load a grey image from the disk
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.pgm");
     vpImageIo::read(I, filename) ;
 
-    // Create a display using OpenCV
+    // Create a display using X11
     vpDisplayOpenCV display;
 
     if (opt_display) {
       // For this grey level image, open a X11 display at position 100,100
       // in the screen, and with title "X11 display"
-      display.init(I, 100, 100, "OpenCV display") ;
+      display.init(I, 100, 100, "X11 display") ;
 
       // Display the image
       vpDisplay::display(I) ;
@@ -352,9 +350,9 @@ main(int argc, const char ** argv)
       // Display in overlay a yellow string
       ip.set_i( 85 );
       ip.set_j( 100 );
-      vpDisplay::displayCharString(I, ip,
-                                   "ViSP is a marvelous software",
-                                   vpColor::yellow) ;
+      vpDisplay::displayText(I, ip,
+                             "ViSP is a marvelous software",
+                             vpColor::yellow) ;
       //Flush the display
       vpDisplay::flush(I);
 
@@ -364,7 +362,7 @@ main(int argc, const char ** argv)
       vpDisplay::getImage(I, Ioverlay) ;
 
       // Write the color image on the disk
-      filename = odirname +  vpIoTools::path("/Klimt_grey.overlay.ppm");
+      filename = vpIoTools::createFilePath(odirname, "Klimt_grey.overlay.ppm");
       vpImageIo::write(Ioverlay, filename) ;
 
       // If click is allowed, wait for a mouse click to close the display
@@ -382,16 +380,16 @@ main(int argc, const char ** argv)
     vpImage<vpRGBa> Irgba ;
 
     // Load a grey image from the disk and convert it to a color image
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.ppm");
     vpImageIo::read(Irgba, filename) ;
 
     // Create a new display
     vpDisplayOpenCV displayRGBa;
 
     if (opt_display) {
-      // For this color image, open a display at position 100,100
-      // in the screen, and with title "OpenCV color display"
-      displayRGBa.init(Irgba, 100, 100, "OpenCV color display");
+      // For this color image, open a X11 display at position 100,100
+      // in the screen, and with title "X11 color display"
+      displayRGBa.init(Irgba, 100, 100, "X11 color display");
 
       // Display the color image
       vpDisplay::display(Irgba) ;
@@ -421,6 +419,15 @@ main(int argc, const char ** argv)
       // bufferized. Force to display the content that has been bufferized.
       vpDisplay::flush(Irgba);
 
+      // Create a color image
+      vpImage<vpRGBa> Ioverlay ;
+      // Updates the color image with the original loaded image and the overlay
+      vpDisplay::getImage(Irgba, Ioverlay) ;
+
+      // Write the color image on the disk
+      filename = vpIoTools::createFilePath(odirname, "Klimt_color.overlay.ppm");
+      vpImageIo::write(Ioverlay, filename) ;
+
       // If click is allowed, wait for a blocking mouse click to exit.
       if (opt_click_allowed) {
         std::cout << "\nA click to exit the program..." << std::endl;
@@ -428,6 +435,7 @@ main(int argc, const char ** argv)
         std::cout << "Bye" << std::endl;
       }
     }
+    return 0;
   }
   catch(vpException e) {
     std::cout << "Catch an exception: " << e << std::endl;
diff --git a/example/device/display/displaySequence.cpp b/example/device/display/displaySequence.cpp
index 525332edc106e7b7fd9d93c5c5e127a6ef78ffaf..a7dd3ee56d11b7eb97b227ee91305d9f901191a0 100644
--- a/example/device/display/displaySequence.cpp
+++ b/example/device/display/displaySequence.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: displaySequence.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: displaySequence.cpp 4814 2014-07-31 11:38:39Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -235,10 +235,8 @@ main(int argc, const char ** argv)
     bool opt_display = true;
     bool opt_wait = false;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -310,16 +308,15 @@ main(int argc, const char ** argv)
       //  in the download section. It is named "ViSP-images.tar.gz"
 
       // Set the path location of the image sequence
-      dirname = ipath + vpIoTools::path("/ViSP-images/cube/");
+      dirname = vpIoTools::createFilePath(ipath, "ViSP-images/cube");
 
       // Build the name of the image file
 
       s.setf(std::ios::right, std::ios::adjustfield);
       s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-      filename = dirname + s.str();
+      filename = vpIoTools::createFilePath(dirname, s.str());
     }
     else {
-
       sprintf(cfilename,opt_ppath.c_str(), iter) ;
       filename = cfilename;
     }
@@ -381,7 +378,7 @@ main(int argc, const char ** argv)
       if (opt_ppath.empty()){
         s.str("");
         s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-        filename = dirname + s.str();
+        filename = vpIoTools::createFilePath(dirname, s.str());
       }
       else {
         sprintf(cfilename, opt_ppath.c_str(), iter) ;
diff --git a/example/device/display/displayX.cpp b/example/device/display/displayX.cpp
index c35e5c31ba9957cf597b1fe457d45a142595a03f..b0280540484e9482df3afa8504d89e2c5cf514c2 100644
--- a/example/device/display/displayX.cpp
+++ b/example/device/display/displayX.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: displayX.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: displayX.cpp 5004 2014-11-24 08:24:18Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -198,11 +198,8 @@ main(int argc, const char ** argv)
     bool opt_click_allowed = true;
     bool opt_display = true;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
-    //  std::cout << "env_ipath: " << env_ipath << std::endl;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -231,7 +228,7 @@ main(int argc, const char ** argv)
       opath = opt_opath;
 
     // Append to the output path string, the login name of the user
-    std::string odirname = opath +  vpIoTools::path("/") + username;
+    std::string odirname = vpIoTools::createFilePath(opath, username);
 
     // Test if the output path exist. If no try to create it
     if (vpIoTools::checkDirectory(odirname) == false) {
@@ -278,7 +275,7 @@ main(int argc, const char ** argv)
     vpImagePoint ip, ip1, ip2;
 
     // Load a grey image from the disk
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.pgm");
     vpImageIo::read(I, filename) ;
 
     // Create a display using X11
@@ -353,9 +350,9 @@ main(int argc, const char ** argv)
       // Display in overlay a yellow string
       ip.set_i( 85 );
       ip.set_j( 100 );
-      vpDisplay::displayCharString(I, ip,
-                                   "ViSP is a marvelous software",
-                                   vpColor::yellow) ;
+      vpDisplay::displayText(I, ip,
+                             "ViSP is a marvelous software",
+                             vpColor::yellow) ;
       //Flush the display
       vpDisplay::flush(I);
 
@@ -365,7 +362,7 @@ main(int argc, const char ** argv)
       vpDisplay::getImage(I, Ioverlay) ;
 
       // Write the color image on the disk
-      filename = odirname +  vpIoTools::path("/Klimt_grey.overlay.ppm");
+      filename = vpIoTools::createFilePath(odirname, "Klimt_grey.overlay.ppm");
       vpImageIo::write(Ioverlay, filename) ;
 
       // If click is allowed, wait for a mouse click to close the display
@@ -383,7 +380,7 @@ main(int argc, const char ** argv)
     vpImage<vpRGBa> Irgba ;
 
     // Load a grey image from the disk and convert it to a color image
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.ppm");
     vpImageIo::read(Irgba, filename) ;
 
     // Create a new display
@@ -422,6 +419,15 @@ main(int argc, const char ** argv)
       // bufferized. Force to display the content that has been bufferized.
       vpDisplay::flush(Irgba);
 
+      // Create a color image
+      vpImage<vpRGBa> Ioverlay ;
+      // Updates the color image with the original loaded image and the overlay
+      vpDisplay::getImage(Irgba, Ioverlay) ;
+
+      // Write the color image on the disk
+      filename = vpIoTools::createFilePath(odirname, "Klimt_color.overlay.ppm");
+      vpImageIo::write(Ioverlay, filename) ;
+
       // If click is allowed, wait for a blocking mouse click to exit.
       if (opt_click_allowed) {
         std::cout << "\nA click to exit the program..." << std::endl;
diff --git a/example/device/display/displayXMulti.cpp b/example/device/display/displayXMulti.cpp
index b34340c075c78aca43b2c192fe1655e39868356e..4bff5507f3960a677643d72d331d3ea39ca41e5e 100644
--- a/example/device/display/displayXMulti.cpp
+++ b/example/device/display/displayXMulti.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: displayXMulti.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: displayXMulti.cpp 5004 2014-11-24 08:24:18Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -199,11 +199,8 @@ main(int argc, const char ** argv)
     bool opt_click_allowed = true;
     bool opt_display = true;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
-    //  std::cout << "env_ipath: " << env_ipath << std::endl;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -232,7 +229,7 @@ main(int argc, const char ** argv)
       opath = opt_opath;
 
     // Append to the output path string, the login name of the user
-    std::string odirname = opath +  vpIoTools::path("/") + username;
+    std::string odirname = vpIoTools::createFilePath(opath, username);
 
     // Test if the output path exist. If no try to create it
     if (vpIoTools::checkDirectory(odirname) == false) {
@@ -280,7 +277,7 @@ main(int argc, const char ** argv)
 
     try {
       // Load a grey image from the disk
-      filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+      filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.pgm");
       vpImageIo::read(I1, filename) ;
     }
     catch(...)
@@ -295,7 +292,7 @@ main(int argc, const char ** argv)
     }
     try {
       // Load a color image from the disk
-      filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.ppm");
+      filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.ppm");
       vpImageIo::read(I2, filename) ;
     }
     catch(...)
@@ -359,9 +356,9 @@ main(int argc, const char ** argv)
       // In the first display, display in overlay a yellow string
       ip.set_i( 100 );
       ip.set_j( 100 );
-      vpDisplay::displayCharString(I1, ip,
-                                   "ViSP is a marvelous software",
-                                   vpColor::blue) ;
+      vpDisplay::displayText(I1, ip,
+                             "ViSP is a marvelous software",
+                             vpColor::blue) ;
 
       //Flush displays. The displays must be flushed to show the overlay.
       //without this line, nothing will be displayed.
@@ -395,7 +392,7 @@ main(int argc, const char ** argv)
       vpDisplay::getImage(I1, Ioverlay) ;
 
       // Write the color image on the disk
-      filename = odirname +  vpIoTools::path("/Klimt_grey.overlay.ppm");
+      filename = vpIoTools::createFilePath(odirname, "Klimt_grey.overlay.ppm");
       vpImageIo::write(Ioverlay, filename) ;
 
       // If click is allowed, wait for a mouse click to close the display
diff --git a/example/device/framegrabber/CMakeLists.txt b/example/device/framegrabber/CMakeLists.txt
index 48e78d67a57bd0dd1ec69c61a04818d8b5595fe1..acba5bfd8c22116c359bffea95a37efe180d430f 100644
--- a/example/device/framegrabber/CMakeLists.txt
+++ b/example/device/framegrabber/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,7 +43,7 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   grab1394Two.cpp
   grab1394CMU.cpp
   grabDisk.cpp
@@ -55,15 +55,19 @@ SET (SOURCE
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-ENDFOREACH(source)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
 
 # Add test
 # To run these tests automaticaly using the crontab under Unix or the task
diff --git a/example/device/framegrabber/grabDisk.cpp b/example/device/framegrabber/grabDisk.cpp
index f70181d8c514b5b458c6efcc4b426592d3c0977f..3fe498109753d5f6a536d410f56c0ce26b5e8c32 100644
--- a/example/device/framegrabber/grabDisk.cpp
+++ b/example/device/framegrabber/grabDisk.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: grabDisk.cpp 4659 2014-02-09 14:11:51Z fspindle $
+ * $Id: grabDisk.cpp 4814 2014-07-31 11:38:39Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -47,12 +47,13 @@
 #if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GDI))
 
 #include <visp/vpDiskGrabber.h>
-#include <visp/vpImage.h>
 #include <visp/vpDisplay.h>
 #include <visp/vpDisplayX.h>
 #include <visp/vpDisplayGDI.h>
-#include <visp/vpTime.h>
+#include <visp/vpImage.h>
+#include <visp/vpIoTools.h>
 #include <visp/vpParseArgv.h>
+#include <visp/vpTime.h>
 
 /*!
   \file grabDisk.cpp
@@ -226,10 +227,8 @@ int main(int argc, const char ** argv)
     int opt_step = 1;
     unsigned int opt_nzero = 4;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
diff --git a/example/device/framegrabber/grabOpenCV-2.cpp b/example/device/framegrabber/grabOpenCV-2.cpp
index e6fca745eabf49d25f924b659fe1fa296fcd2ff5..a7f9c00d9f2b8acc2d71f54cded72a2a2d6bc93c 100644
--- a/example/device/framegrabber/grabOpenCV-2.cpp
+++ b/example/device/framegrabber/grabOpenCV-2.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: grabOpenCV-2.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: grabOpenCV-2.cpp 5005 2014-11-24 08:25:51Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -52,7 +52,7 @@
 
 #include <visp/vpConfig.h>
 
-#if defined(VISP_HAVE_OPENCV)
+#if defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020100)
 
 #include <visp/vpDisplayOpenCV.h>
 #include <visp/vpImage.h>
@@ -72,28 +72,38 @@ int main(int argc, char** argv)
 
     std::cout << "Use device: " << device << std::endl;
     cv::VideoCapture cap(device); // open the default camera
+#if (VISP_HAVE_OPENCV_VERSION >= 0x030000)
+    cap.set(cv::CAP_PROP_FRAME_WIDTH, 640);
+    cap.set(cv::CAP_PROP_FRAME_HEIGHT, 480);
+#else
     cap.set(CV_CAP_PROP_FRAME_WIDTH, 640);
     cap.set(CV_CAP_PROP_FRAME_HEIGHT, 480);
+#endif
     if(!cap.isOpened())  // check if we succeeded
       return -1;
     cv::Mat frame;
     cap >> frame; // get a new frame from camera
 
-    IplImage iplimage = frame;
-    std::cout << "Image size: " << iplimage.width << " "
-              << iplimage.height << std::endl;
+    std::cout << "Image size: "
+#if (VISP_HAVE_OPENCV_VERSION >= 0x030000)
+              << (int)cap.get(cv::CAP_PROP_FRAME_WIDTH) << " "
+              << (int)cap.get(cv::CAP_PROP_FRAME_HEIGHT) << std::endl;
+#else
+              << (int)cap.get(CV_CAP_PROP_FRAME_WIDTH) << " "
+              << (int)cap.get(CV_CAP_PROP_FRAME_HEIGHT) << std::endl;
+#endif
 
     //vpImage<vpRGBa> I; // for color images
     vpImage<unsigned char> I; // for gray images
-    vpImageConvert::convert(&iplimage, I);
+    vpImageConvert::convert(frame, I);
+
     vpDisplayOpenCV d(I);
 
     for(;;) {
       cap >> frame; // get a new frame from camera
-      iplimage = frame;
 
       // Convert the image in ViSP format and display it
-      vpImageConvert::convert(&iplimage, I);
+      vpImageConvert::convert(frame, I);
       vpDisplay::display(I);
       vpDisplay::flush(I);
       if (vpDisplay::getClick(I, false)) // a click to exit
diff --git a/example/device/framegrabber/grabOpenCV.cpp b/example/device/framegrabber/grabOpenCV.cpp
index 2ca991e2d741d40855a15fc7254d5d347d75021f..82b278c5faabc9a24baef9158ba95c1e146cca1c 100644
--- a/example/device/framegrabber/grabOpenCV.cpp
+++ b/example/device/framegrabber/grabOpenCV.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: grabOpenCV.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: grabOpenCV.cpp 5023 2014-12-03 16:07:48Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -50,7 +50,7 @@
 
 */
 
-#if defined (VISP_HAVE_OPENCV) 
+#if defined (VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION < 0x020408)
 
 
 #include <visp/vpOpenCVGrabber.h>
diff --git a/example/device/framegrabber/grabV4l2.cpp b/example/device/framegrabber/grabV4l2.cpp
index 51bbf5e20ac9173de3452509d7468caa923ab8c4..8670fb83b0a30489cd53a16902a0313391195a6e 100644
--- a/example/device/framegrabber/grabV4l2.cpp
+++ b/example/device/framegrabber/grabV4l2.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: grabV4l2.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: grabV4l2.cpp 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -184,29 +184,29 @@ bool getOptions(int argc, const char **argv, unsigned &fps, unsigned &input,
                 vpV4l2Grabber::vpV4l2PixelFormatType &pixelformat,
                 vpImage_type &image_type, bool &save, std::string &opath)
 {
-  const char *optarg;
+  const char *optarg_;
   int	c;
-  while ((c = vpParseArgv::parse(argc, argv, GETOPTARGS, &optarg)) > 1) {
+  while ((c = vpParseArgv::parse(argc, argv, GETOPTARGS, &optarg_)) > 1) {
 
     switch (c) {
     case 'd': display = false; break;
-    case 'f': fps = (unsigned) atoi(optarg); break;
-    case 'i': input = (unsigned) atoi(optarg); break;
-    case 'n': niter = atol(optarg); break;
+    case 'f': fps = (unsigned) atoi(optarg_); break;
+    case 'i': input = (unsigned) atoi(optarg_); break;
+    case 'n': niter = atol(optarg_); break;
     case 'o':
       save = true;
-      opath = optarg; break;
-    case 'p': pixelformat = (vpV4l2Grabber::vpV4l2PixelFormatType) atoi(optarg); break;
-    case 's': scale = (unsigned) atoi(optarg); break;
-    case 't': image_type = (vpImage_type) atoi(optarg); break;
-    case 'v': sprintf(device, "%s", optarg); break;
+      opath = optarg_; break;
+    case 'p': pixelformat = (vpV4l2Grabber::vpV4l2PixelFormatType) atoi(optarg_); break;
+    case 's': scale = (unsigned) atoi(optarg_); break;
+    case 't': image_type = (vpImage_type) atoi(optarg_); break;
+    case 'v': sprintf(device, "%s", optarg_); break;
     case 'x': verbose = true; break;
     case 'h': usage(argv[0], NULL, fps, input, scale, niter, 
                     device, pixelformat, image_type, opath);
       return false; break;
 
     default:
-      usage(argv[0], optarg, fps, input, scale, niter, 
+      usage(argv[0], optarg_, fps, input, scale, niter,
             device, pixelformat, image_type, opath); return false; break;
     }
   }
@@ -216,7 +216,7 @@ bool getOptions(int argc, const char **argv, unsigned &fps, unsigned &input,
     usage(argv[0], NULL, fps, input, scale, niter, 
           device, pixelformat, image_type, opath);
     std::cerr << "ERROR: " << std::endl;
-    std::cerr << "  Bad argument " << optarg << std::endl << std::endl;
+    std::cerr << "  Bad argument " << optarg_ << std::endl << std::endl;
     return false;
   }
 
diff --git a/example/device/kinect/CMakeLists.txt b/example/device/kinect/CMakeLists.txt
index 3df40641df7b1227d03f2d835b8a8f3751cf4a60..4bc470815db588add51b9cc5a492fb79d9973653 100644
--- a/example/device/kinect/CMakeLists.txt
+++ b/example/device/kinect/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,17 +43,21 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   kinectAcquisition.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-ENDFOREACH(source)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
diff --git a/example/device/kinect/kinectAcquisition.cpp b/example/device/kinect/kinectAcquisition.cpp
index 695fdbfb58794545e414c27417e2cce78674072e..e043eefdfbb3664c8b22513e4b129717cf533903 100644
--- a/example/device/kinect/kinectAcquisition.cpp
+++ b/example/device/kinect/kinectAcquisition.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: kinectAcquisition.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: kinectAcquisition.cpp 5060 2014-12-12 18:31:03Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -35,7 +35,7 @@
  * Kinect example.
  *
  * Authors:
- * C�line Teuli�re
+ * Celine Teuliere
  *
  *****************************************************************************/
 
diff --git a/example/device/laserscanner/CMakeLists.txt b/example/device/laserscanner/CMakeLists.txt
index 4f8e78d6aa7d37ac6a3d72b6431fbcdcd186c367..5ca5f10e50e3774e01b3d4fe325b80757309aeee 100644
--- a/example/device/laserscanner/CMakeLists.txt
+++ b/example/device/laserscanner/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,26 +43,22 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   SickLDMRS-Acq.cpp
   SickLDMRS-Process.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-  # Add test
-  #ADD_TEST(${binary} ${binary})
-
-ENDFOREACH(source)
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
diff --git a/example/device/light/CMakeLists.txt b/example/device/light/CMakeLists.txt
index ca12b77565d39f73e26a5219d699463377d9ced2..2628f47a98f083211327caff63ce84f654825a40 100644
--- a/example/device/light/CMakeLists.txt
+++ b/example/device/light/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,25 +43,21 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   ringLight.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-  # Add test
-  #ADD_TEST(${binary} ${binary})
-
-ENDFOREACH(source)
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
diff --git a/example/direct-visual-servoing/CMakeLists.txt b/example/direct-visual-servoing/CMakeLists.txt
index f70cd77eea1df1107ea936d3e6e25e06ad7f45ec..288a5abb72853bf7a5272c85062dd6b52bfdc0d7 100644
--- a/example/direct-visual-servoing/CMakeLists.txt
+++ b/example/direct-visual-servoing/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,25 +43,23 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   photometricVisualServoing.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-ENDFOREACH(source)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
 
-ADD_TEST(photometricVisualServoing photometricVisualServoing -c -n 20 ${OPTION_TO_DESACTIVE_DISPLAY})
-
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+add_test(photometricVisualServoing photometricVisualServoing -c -n 20 ${OPTION_TO_DESACTIVE_DISPLAY})
diff --git a/example/direct-visual-servoing/photometricVisualServoing.cpp b/example/direct-visual-servoing/photometricVisualServoing.cpp
index 1686d88fbd22756a1918ed779b63eb40f0468403..c9af07b162d7fc08ba6b782c44a5c2ac9f57bc32 100755
--- a/example/direct-visual-servoing/photometricVisualServoing.cpp
+++ b/example/direct-visual-servoing/photometricVisualServoing.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: photometricVisualServoing.cpp 4664 2014-02-16 16:17:54Z fspindle $
+ * $Id: photometricVisualServoing.cpp 5108 2015-01-05 07:48:58Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -184,16 +184,13 @@ main(int argc, const char ** argv)
     bool opt_display = true;
     int opt_niter = 400;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
       ipath = env_ipath;
 
-
     // Read the command line options
     if (getOptions(argc, argv, opt_ipath, opt_click_allowed,
                    opt_display, opt_niter) == false) {
@@ -229,7 +226,7 @@ main(int argc, const char ** argv)
     }
 
     vpImage<unsigned char> Itexture ;
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.pgm");
     vpImageIo::read(Itexture,filename) ;
 
     vpColVector X[4];
@@ -259,9 +256,6 @@ main(int argc, const char ** argv)
     sim.setInterpolationType(vpImageSimulator::BILINEAR_INTERPOLATION) ;
     sim.init(Itexture, X);
 
-
-
-
     vpCameraParameters cam(870, 870, 160, 120);
 
     // ----------------------------------------------------------
@@ -278,7 +272,6 @@ main(int argc, const char ** argv)
     sim.getImage(I,cam);  // and aquire the image Id
     Id = I ;
 
-
     // display the image
 #if defined VISP_HAVE_X11
     vpDisplayX d;
@@ -286,9 +279,11 @@ main(int argc, const char ** argv)
     vpDisplayGDI d;
 #elif defined VISP_HAVE_GTK
     vpDisplayGTK d;
+#elif defined VISP_HAVE_OPENCV
+    vpDisplayOpenCV d;
 #endif
 
-#if defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_GTK) 
+#if defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_OPENCV) 
     if (opt_display) {
       d.init(I, 20, 10, "Photometric visual servoing : s") ;
       vpDisplay::display(I);
@@ -300,7 +295,6 @@ main(int argc, const char ** argv)
     }
 #endif
 
-
     // ----------------------------------------------------------
     // position the robot at the initial position
     // ----------------------------------------------------------
@@ -328,10 +322,8 @@ main(int argc, const char ** argv)
     vpImage<unsigned char> Idiff ;
     Idiff = I ;
 
-
     vpImageTools::imageDifference(I,Id,Idiff) ;
 
-
     // Affiche de l'image de difference
 #if defined VISP_HAVE_X11
     vpDisplayX d1;
@@ -364,15 +356,12 @@ main(int argc, const char ** argv)
     sI.setCameraParameters(cam) ;
     sI.buildFrom(I) ;
 
-
     // desired visual feature built from the image
     vpFeatureLuminance sId ;
     sId.init(I.getHeight(), I.getWidth(),  Z) ;
     sId.setCameraParameters(cam) ;
     sId.buildFrom(Id) ;
 
-
-
     // Matrice d'interaction, Hessien, erreur,...
     vpMatrix Lsd;   // matrice d'interaction a la position desiree
     vpMatrix Hsd;  // hessien a la position desiree
@@ -385,7 +374,6 @@ main(int argc, const char ** argv)
     // here it is computed at the desired position
     sId.interaction(Lsd) ;
 
-
     // Compute the Hessian H = L^TL
     Hsd = Lsd.AtA() ;
 
@@ -396,31 +384,22 @@ main(int argc, const char ** argv)
     diagHsd.eye(n);
     for(unsigned int i = 0 ; i < n ; i++) diagHsd[i][i] = Hsd[i][i];
 
-
-
     // ------------------------------------------------------
     // Control law
     double lambda ; //gain
     vpColVector e ;
     vpColVector v ; // camera velocity send to the robot
 
-
     // ----------------------------------------------------------
     // Minimisation
 
     double mu ;  // mu = 0 : Gauss Newton ; mu != 0  : LM
     double lambdaGN;
 
-
     mu       =  0.01;
     lambda   = 30 ;
     lambdaGN = 30;
 
-
-
-
-
-
     // set a velocity control mode
     robot.setRobotState(vpRobot::STATE_VELOCITY_CONTROL) ;
 
@@ -429,12 +408,9 @@ main(int argc, const char ** argv)
     int iterGN = 90 ; // swicth to Gauss Newton after iterGN iterations
 
     double normeError = 0;
-    do
-    {
-
+    do {
       std::cout << "--------------------------------------------" << iter++ << std::endl ;
 
-
       //  Acquire the new image
       sim.setCameraPosition(cMo) ;
       sim.getImage(I,cam) ;
diff --git a/example/homography/CMakeLists.txt b/example/homography/CMakeLists.txt
index 06e81b36b267b2131405a06787b92e172e04354f..74aeeb3eaf5013bf334d409196bf5ec76203e76e 100644
--- a/example/homography/CMakeLists.txt
+++ b/example/homography/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,28 +43,27 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
-homographyHartleyDLT2DObject.cpp
-homographyHLM2DObject.cpp
-homographyHLM3DObject.cpp
-homographyRansac2DObject.cpp
+set(SOURCE
+  homographyHartleyDLT2DObject.cpp
+  homographyHLM2DObject.cpp
+  homographyHLM3DObject.cpp
+  homographyRansac2DObject.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
   # Add test
   ADD_TEST(${binary} ${binary})
 
-ENDFOREACH(source)
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
diff --git a/example/image/CMakeLists.txt b/example/image/CMakeLists.txt
index fd85035fded25a492741b0e6e1b276c93482caf9..b95ae4c55192ffb14b001af71a490f0573961ceb 100644
--- a/example/image/CMakeLists.txt
+++ b/example/image/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,24 +43,28 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   imageDiskRW.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-ENDFOREACH(source)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
 
 # Add test
 # To run some of these tests don't forget to set VISP_INPUT_IMAGE_PATH
 # environment variable to the ViSP test sequences location.
 # To get these sequence download ViSP-images.tar.gz from
 # http://www.irisa.fr/lagadic/visp/visp.html
-ADD_TEST(imageDiskRW imageDiskRW)
+add_test(imageDiskRW imageDiskRW)
diff --git a/example/image/imageDiskRW.cpp b/example/image/imageDiskRW.cpp
index 5d94c68cb59a933fc44455323a4a0781ad19e3f0..87db3f1ff27867f51d1b1b727c985ef3679ebe8b 100644
--- a/example/image/imageDiskRW.cpp
+++ b/example/image/imageDiskRW.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: imageDiskRW.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: imageDiskRW.cpp 4814 2014-07-31 11:38:39Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -180,11 +180,8 @@ main(int argc, const char ** argv)
     std::cout <<  "-------------------------------------------------------" << std::endl ;
     std::cout << std::endl ;
 
-
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -212,7 +209,7 @@ main(int argc, const char ** argv)
       opath = opt_opath;
 
     // Append to the output path string, the login name of the user
-    std::string dirname = opath + vpIoTools::path("/") + username;
+    std::string dirname = vpIoTools::createFilePath(opath, username);
 
     // Test if the output path exist. If no try to create it
     if (vpIoTools::checkDirectory(dirname) == false) {
@@ -254,11 +251,8 @@ main(int argc, const char ** argv)
       exit(-1);
     }
 
-
     /////////////////////////////////////////////////////////////////////
 
-
-
     // First we wanted to have gray level image (8bits)
     // vpImage is a template class you can declare vpImage of ... everything...
     vpImage<unsigned char> I ;
@@ -266,30 +260,28 @@ main(int argc, const char ** argv)
     // Although I is a gray level image you can read and write
     // color image. Obviously the color will be translated as a gray level
 
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.ppm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.ppm");
     vpImageIo::read(I, filename);
 
-    filename = dirname +  vpIoTools::path("/IoPPM.Klimt_char.ppm");
+    filename = vpIoTools::createFilePath(dirname, "IoPPM.Klimt_char.ppm");
     vpImageIo::write(I, filename) ;
 
-
     // test io error
     // if the image you want to read on the disk does not exist
     // an exception is thrown
     //Try to load a non existing image
     try {
-      filename = ipath + vpIoTools::path("/ViSP-images/image-that-does-not-exist.ppm");
+      filename = vpIoTools::createFilePath(ipath, "ViSP-images/image-that-does-not-exist.ppm");
       vpImageIo::read(I,filename) ;
     }
     catch(vpException e) {
       std::cout << "Catch an exception: " << e << std::endl;
     }
 
-
     // same thing if you to write in a directory that does not exist
     // or where you are not allowd to write.
     try {
-      filename = dirname + vpIoTools::path("/directory-that-does-not-exist/Klimt.ppm");
+      filename = vpIoTools::createFilePath(dirname, "directory-that-does-not-exist/Klimt.ppm");
       vpImageIo::write(I,filename) ;
     }
     catch(vpException e) {
@@ -305,16 +297,16 @@ main(int argc, const char ** argv)
     // read write unsigned char ppm image.
 
     // Load a color image from the disk
-    filename = ipath + vpIoTools::path("/ViSP-images/Klimt/Klimt.ppm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.ppm");
     vpImageIo::read(Irgba, filename);
 
     // Write the content of the color image on the disk
-    filename = dirname + vpIoTools::path("/IoPGM.Klimt_rgba.ppm");
+    filename = vpIoTools::createFilePath(dirname, "IoPGM.Klimt_rgba.ppm");
     vpImageIo::write(Irgba, filename) ;
 
     // test io error
     try {
-      filename = ipath + vpIoTools::path("/ViSP-images/image-that-does-not-exist.ppm");
+      filename = vpIoTools::createFilePath(ipath, "ViSP-images/image-that-does-not-exist.ppm");
       vpImageIo::read(Irgba,filename) ;
     }
     catch(vpException e) {
@@ -323,7 +315,7 @@ main(int argc, const char ** argv)
 
     // test io error
     try {
-      filename = dirname + vpIoTools::path("/directory-that-does-not-exist/Klimt.ppm");
+      filename = vpIoTools::createFilePath(dirname, "directory-that-does-not-exist/Klimt.ppm");
       vpImageIo::write(Irgba,filename) ;
     }
 
diff --git a/example/key-point/CMakeLists.txt b/example/key-point/CMakeLists.txt
index cbf8457808b092d63773f105de24bfbb18a41664..fc8b2d30a7e2d1782e86ea9c47e57f081315fb31 100644
--- a/example/key-point/CMakeLists.txt
+++ b/example/key-point/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,28 +43,26 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   keyPointSurf.cpp
   planarObjectDetector.cpp
   fernClassifier.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-
-ENDFOREACH(source)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
 
 # Add test
 #ADD_TEST(planarObjectDetector planarObjectDetector -l -c ${OPTION_TO_DESACTIVE_DISPLAY})
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
diff --git a/example/key-point/fernClassifier.cpp b/example/key-point/fernClassifier.cpp
index 2f38f4bcb13fa289c310184f4e59582d5467dc2f..cf3cb619c42f5f81f1263f0f57eaf894cbd730c6 100644
--- a/example/key-point/fernClassifier.cpp
+++ b/example/key-point/fernClassifier.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: fernClassifier.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: fernClassifier.cpp 5023 2014-12-03 16:07:48Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -53,14 +53,13 @@
 #include <visp/vpConfig.h>
 #include <visp/vpDebug.h>
 
-#if ((defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI)) && (VISP_HAVE_OPENCV_VERSION >= 0x020000))
+#if ((defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI)) && (VISP_HAVE_OPENCV_VERSION >= 0x020000) && (VISP_HAVE_OPENCV_VERSION < 0x030000))
 
 #include <iostream>
 #include <stdlib.h>
 #include <visp/vpFernClassifier.h>
 #include <visp/vpParseArgv.h>
 #include <visp/vpConfig.h>
-#include <visp/vpOpenCVGrabber.h>
 #include <visp/vpImage.h>
 #include <visp/vpDisplayX.h>
 #include <visp/vpDisplayGTK.h>
@@ -71,11 +70,11 @@
 #include <visp/vpTime.h>
 #include <iomanip>
 
-#define GETOPTARGS  "hlcdb:i:sp"
+#define GETOPTARGS  "hlcdb:i:p"
 
 void usage(const char *name, const char *badparam);
 bool getOptions(int argc, const char **argv, bool &isLearning, std::string& dataFile, bool& click_allowed,
-                bool& display, bool& displayPoints, bool& useSequence, std::string& ipath);
+                bool& display, bool& displayPoints, std::string& ipath);
 
 /*!
 
@@ -93,7 +92,7 @@ object needs first to be learned (-l option). This learning process will create\
 a file used to detect the object.\n\
 \n\
 SYNOPSIS\n\
-  %s [-l] [-h] [-b] [-c] [-d] [-p] [-i] [-s]\n", name);
+  %s [-l] [-h] [-b] [-c] [-d] [-p] [-i]\n", name);
 
   fprintf(stdout, "\n\
 OPTIONS:                                               \n\
@@ -117,9 +116,6 @@ OPTIONS:                                               \n\
 \n\
   -d \n\
      Turn off the display.\n\
-\n\
-  -s \n\
-     Turn off the use of the sequence and use a webcam.\n\
 \n\
   -p \n\
      display points of interest.\n\
@@ -143,14 +139,13 @@ OPTIONS:                                               \n\
   \param click_allowed : Mouse click activation.
   \param display : Display activation.
   \param displayPoints : Display points of interests activation.
-  \param useSequence : sequence of image de activation. 
   \param ipath : Input image path.
 
   \return false if the program has to be stopped, true otherwise.
 
 */
 bool getOptions(int argc, const char **argv, bool &isLearning, std::string& dataFile, bool& click_allowed,
-                bool& display, bool& displayPoints, bool& useSequence, std::string& ipath)
+                bool& display, bool& displayPoints, std::string& ipath)
 {
   const char *optarg_;
   int   c;
@@ -163,7 +158,6 @@ bool getOptions(int argc, const char **argv, bool &isLearning, std::string& data
     case 'h': usage(argv[0], NULL); return false; break;
     case 'b': dataFile = optarg_; break;
     case 'p': displayPoints = true; break;
-    case 's': useSequence = false; break;
     case 'i': ipath = optarg_; break;
     default:
       usage(argv[0], optarg_);
@@ -194,18 +188,14 @@ main(int argc, const char** argv)
     bool opt_display = true;
     std::string objectName("object");
     bool displayPoints = false;
-    bool useSequence = true;
     std::string opt_ipath;
     std::string ipath;
     std::string env_ipath;
     std::string dirname;
     std::string filename;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL){
-      env_ipath = ptenv;
-    }
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty()){
@@ -214,18 +204,18 @@ main(int argc, const char** argv)
 
     // Read the command line options
     if (getOptions(argc, argv,
-                   isLearning, dataFile, opt_click_allowed, opt_display, displayPoints, useSequence, opt_ipath) == false) {
+                   isLearning, dataFile, opt_click_allowed, opt_display, displayPoints, opt_ipath) == false) {
       exit (-1);
     }
 
     // Get the option values
-    if (useSequence && !opt_ipath.empty()){
+    if (!opt_ipath.empty()){
       ipath = opt_ipath;
     }
 
     // Compare ipath and env_ipath. If they differ, we take into account
     // the input path comming from the command line option
-    if (useSequence && !opt_ipath.empty() && !env_ipath.empty()) {
+    if (!opt_ipath.empty() && !env_ipath.empty()) {
       if (ipath != env_ipath) {
         std::cout << std::endl
                   << "WARNING: " << std::endl;
@@ -236,7 +226,7 @@ main(int argc, const char** argv)
     }
 
     // Test if an input path is set
-    if (useSequence && opt_ipath.empty() && env_ipath.empty()){
+    if (opt_ipath.empty() && env_ipath.empty()){
       usage(argv[0], NULL);
       std::cerr << std::endl
                 << "ERROR:" << std::endl;
@@ -254,14 +244,14 @@ main(int argc, const char** argv)
 
 
     // Set the path location of the image sequence
-    dirname = ipath +  vpIoTools::path("/ViSP-images/cube/");
+    dirname = vpIoTools::createFilePath(ipath, "ViSP-images/cube");
 
     // Build the name of the image file
     unsigned iter = 0; // Image number
     std::ostringstream s;
     s.setf(std::ios::right, std::ios::adjustfield);
     s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-    filename = dirname + s.str();
+    filename = vpIoTools::createFilePath(dirname, s.str());
 
     // Read the PGM image named "filename" on the disk, and put the
     // bitmap into the image structure I.  I is initialized to the
@@ -270,11 +260,9 @@ main(int argc, const char** argv)
     // exception readPGM may throw various exception if, for example,
     // the file does not exist, or if the memory cannot be allocated
     try{
-      if(useSequence){
-        vpCTRACE << "Load: " << filename << std::endl;
-        vpImageIo::read(Iref, filename) ;
-        I = Iref;
-      }
+      std::cout << "Load: " << filename << std::endl;
+      vpImageIo::read(Iref, filename) ;
+      I = Iref;
     }
     catch(...)
     {
@@ -291,22 +279,6 @@ main(int argc, const char** argv)
       exit(-1);
     }
 
-
-    // Declare a framegrabber
-    vpOpenCVGrabber g;
-    if(!useSequence){
-      try{
-        g.open(I);
-      }
-      catch(...){
-        std::cout << "problem to initialise the framegrabber" << std::endl;
-        exit(-1);
-      }
-      g.acquire(I);
-      // initialise the reference image
-      g.acquire(Iref);
-    }
-
 #if defined VISP_HAVE_X11
     vpDisplayX display;
 #elif defined VISP_HAVE_GTK
@@ -408,28 +380,23 @@ main(int argc, const char** argv)
 
     if (opt_display && opt_click_allowed){
       std::cout << "Click on the current image to continue" << std::endl;
-      vpDisplay::displayCharString (I, vpImagePoint(15,15),
-                                    (char*)"Click on the current image to continue", vpColor::red);
+      vpDisplay::displayText(I, vpImagePoint(15,15),
+                             "Click on the current image to continue", vpColor::red);
       vpDisplay::flush(I);
       vpDisplay::getClick(I);
     }
 
     for ( ; ; ) {
       // acquire a new image
-      if(useSequence){
-        iter++;
-        if(iter >= 80){
-          break;
-        }
-        s.str("");
-        s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-        filename = dirname + s.str();
-        // read the image
-        vpImageIo::read(I, filename);
-      }
-      else{
-        g.acquire(I);
+      iter++;
+      if(iter >= 80){
+        break;
       }
+      s.str("");
+      s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
+      filename = vpIoTools::createFilePath(dirname, s.str());
+      // read the image
+      vpImageIo::read(I, filename);
 
       if(opt_display){
         vpDisplay::display(I);
diff --git a/example/key-point/keyPointSurf.cpp b/example/key-point/keyPointSurf.cpp
index 590c08864c9f9983e2e345c48d7214b197c280b1..4eaacdbc343e34169c1d0d4cda1b3b1e4ab1317d 100644
--- a/example/key-point/keyPointSurf.cpp
+++ b/example/key-point/keyPointSurf.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: keyPointSurf.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: keyPointSurf.cpp 5202 2015-01-24 09:29:06Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -59,7 +59,7 @@
 #include <stdio.h>
 #include <sstream>
 #include <iomanip>
-#if ((defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI)) && defined(VISP_HAVE_OPENCV_NONFREE) && (VISP_HAVE_OPENCV_VERSION >= 0x010100))
+#if ((defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI)) && defined(VISP_HAVE_OPENCV_NONFREE) && (VISP_HAVE_OPENCV_VERSION < 0x030000))
 
 #include <visp/vpKeyPointSurf.h>
 
@@ -175,10 +175,8 @@ main(int argc, const char ** argv)
     bool opt_click_allowed = true;
     bool opt_display = true;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -225,14 +223,14 @@ main(int argc, const char ** argv)
     vpImage<unsigned char> Icur ;
 
     // Set the path location of the image sequence
-    dirname = ipath +  vpIoTools::path("/ViSP-images/cube/");
+    dirname = vpIoTools::createFilePath(ipath, "ViSP-images/cube");
 
     // Build the name of the image file
     unsigned int iter = 0; // Image number
     std::ostringstream s;
     s.setf(std::ios::right, std::ios::adjustfield);
     s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-    filename = dirname + s.str();
+    filename = vpIoTools::createFilePath(dirname, s.str());
 
     // Read the PGM image named "filename" on the disk, and put the
     // bitmap into the image structure I.  I is initialized to the
@@ -345,7 +343,7 @@ main(int argc, const char ** argv)
       // set the new image name
       s.str("");
       s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-      filename = dirname + s.str();
+      filename = vpIoTools::createFilePath(dirname, s.str());
       // read the image
       vpImageIo::read(Icur, filename);
       if (opt_display) {
@@ -381,7 +379,7 @@ main()
 #if ( ! (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI)) ) 
   vpERROR_TRACE("You do not have X11, GTK or GDI display functionalities...");
 #else
-  vpERROR_TRACE("You do not have OpenCV-1.1.0 or a more recent release that contains opencv_nonfree component...");
+  vpERROR_TRACE("You do not have 1.1.0 <= OpenCV < 3.0.0 that contains opencv_nonfree component...");
 #endif
 }
 
diff --git a/example/key-point/planarObjectDetector.cpp b/example/key-point/planarObjectDetector.cpp
index 0fe4499840b5ec57d5a67a2eb80ee8650d0269b1..fbdfea1c425832f87c486fdfcd4bafea9f4317f1 100644
--- a/example/key-point/planarObjectDetector.cpp
+++ b/example/key-point/planarObjectDetector.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: planarObjectDetector.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: planarObjectDetector.cpp 5023 2014-12-03 16:07:48Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -53,14 +53,13 @@
 #include <visp/vpConfig.h>
 #include <visp/vpDebug.h>
 
-#if ((defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI)) && (VISP_HAVE_OPENCV_VERSION >= 0x020000))
+#if ((defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI)) && (VISP_HAVE_OPENCV_VERSION >= 0x020000) && (VISP_HAVE_OPENCV_VERSION < 0x030000))
 
 #include <iostream>
 #include <stdlib.h>
 #include <visp/vpPlanarObjectDetector.h>
 #include <visp/vpParseArgv.h>
 #include <visp/vpConfig.h>
-#include <visp/vpOpenCVGrabber.h>
 #include <visp/vpImage.h>
 #include <visp/vpDisplayX.h>
 #include <visp/vpDisplayGTK.h>
@@ -73,11 +72,11 @@
 #include <visp/vpV4l2Grabber.h>
 #include <visp/vp1394TwoGrabber.h>
 
-#define GETOPTARGS  "hlcdb:i:sp"
+#define GETOPTARGS  "hlcdb:i:p"
 
 void usage(const char *name, const char *badparam);
 bool getOptions(int argc, const char **argv, bool &isLearning, std::string& dataFile, bool& click_allowed,
-                bool& display, bool& displayPoints, bool& useSequence, std::string& ipath);
+                bool& display, bool& displayPoints, std::string& ipath);
 
 /*!
 
@@ -145,14 +144,13 @@ OPTIONS:                                               \n\
   \param click_allowed : Mouse click activation.
   \param display : Display activation.
   \param displayPoints : Display points of interests activation.
-  \param useSequence : sequence of image de activation. 
   \param ipath : Input image path.
 
   \return false if the program has to be stopped, true otherwise.
 
 */
 bool getOptions(int argc, const char **argv, bool &isLearning, std::string& dataFile, bool& click_allowed,
-                bool& display, bool& displayPoints, bool& useSequence, std::string& ipath)
+                bool& display, bool& displayPoints, std::string& ipath)
 {
   const char *optarg_;
   int   c;
@@ -165,7 +163,6 @@ bool getOptions(int argc, const char **argv, bool &isLearning, std::string& data
     case 'h': usage(argv[0], NULL); return false; break;
     case 'b': dataFile = optarg_; break;
     case 'p': displayPoints = true; break;
-    case 's': useSequence = false; break;
     case 'i': ipath = optarg_; break;
     default:
       usage(argv[0], optarg_);
@@ -196,19 +193,14 @@ main(int argc, const char** argv)
     bool opt_display = true;
     std::string objectName("object");
     bool displayPoints = false;
-    bool useSequence = true;
     std::string opt_ipath;
     std::string ipath;
     std::string env_ipath;
     std::string dirname;
     std::string filename;
 
-
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL){
-      env_ipath = ptenv;
-    }
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty()){
@@ -217,18 +209,18 @@ main(int argc, const char** argv)
 
     // Read the command line options
     if (getOptions(argc, argv,
-                   isLearning, dataFile, opt_click_allowed, opt_display, displayPoints, useSequence, opt_ipath) == false) {
+                   isLearning, dataFile, opt_click_allowed, opt_display, displayPoints, opt_ipath) == false) {
       exit (-1);
     }
 
     // Get the option values
-    if (useSequence && !opt_ipath.empty()){
+    if (!opt_ipath.empty()){
       ipath = opt_ipath;
     }
 
     // Compare ipath and env_ipath. If they differ, we take into account
     // the input path comming from the command line option
-    if (useSequence && !opt_ipath.empty() && !env_ipath.empty()) {
+    if (!opt_ipath.empty() && !env_ipath.empty()) {
       if (ipath != env_ipath) {
         std::cout << std::endl
                   << "WARNING: " << std::endl;
@@ -239,7 +231,7 @@ main(int argc, const char** argv)
     }
 
     // Test if an input path is set
-    if (useSequence && opt_ipath.empty() && env_ipath.empty()){
+    if (opt_ipath.empty() && env_ipath.empty()){
       usage(argv[0], NULL);
       std::cerr << std::endl
                 << "ERROR:" << std::endl;
@@ -250,21 +242,19 @@ main(int argc, const char** argv)
       exit(-1);
     }
 
-
     // Declare two images, these are gray level images (unsigned char)
     vpImage <unsigned char> I;
     vpImage <unsigned char> Iref;
 
-
     // Set the path location of the image sequence
-    dirname = ipath +  vpIoTools::path("/ViSP-images/cube/");
+    dirname = vpIoTools::createFilePath(ipath, "ViSP-images/cube");
 
     // Build the name of the image file
     unsigned iter = 0; // Image number
     std::ostringstream s;
     s.setf(std::ios::right, std::ios::adjustfield);
     s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-    filename = dirname + s.str();
+    filename = vpIoTools::createFilePath(dirname, s.str());
 
     // Read the PGM image named "filename" on the disk, and put the
     // bitmap into the image structure I.  I is initialized to the
@@ -273,11 +263,9 @@ main(int argc, const char** argv)
     // exception readPGM may throw various exception if, for example,
     // the file does not exist, or if the memory cannot be allocated
     try{
-      if(useSequence){
-        vpCTRACE << "Load: " << filename << std::endl;
-        vpImageIo::read(Iref, filename) ;
-        I = Iref;
-      }
+      std::cout << "Load: " << filename << std::endl;
+      vpImageIo::read(Iref, filename) ;
+      I = Iref;
     }
     catch(...)
     {
@@ -294,24 +282,6 @@ main(int argc, const char** argv)
       exit(-1);
     }
 
-
-    // Declare a framegrabber
-    vpOpenCVGrabber g;
-    if(!useSequence){
-      try{
-        g.open(I);
-      }
-      catch(...){
-        std::cout << "problem to initialise the framegrabber" << std::endl;
-        exit(-1);
-      }
-
-
-      g.acquire(I);
-      // initialise the reference image
-      g.acquire(Iref);
-    }
-
 #if defined VISP_HAVE_X11
     vpDisplayX display;
 #elif defined VISP_HAVE_GTK
@@ -398,28 +368,23 @@ main(int argc, const char** argv)
 
     if (opt_display && opt_click_allowed){
       std::cout << "Click on the reference image to continue" << std::endl;
-      vpDisplay::displayCharString (Iref, vpImagePoint(15,15),
-                                    (char*)"Click on the reference image to continue", vpColor::red);
+      vpDisplay::displayText(Iref, vpImagePoint(15,15),
+                             "Click on the reference image to continue", vpColor::red);
       vpDisplay::flush(Iref);
       vpDisplay::getClick(Iref);
     }
 
     for ( ; ; ) {
       // acquire a new image
-      if(useSequence){
-        iter++;
-        if(iter >= 80){
-          break;
-        }
-        s.str("");
-        s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-        filename = dirname + s.str();
-        // read the image
-        vpImageIo::read(I, filename);
-      }
-      else{
-        g.acquire(I);
+      iter++;
+      if(iter >= 80){
+        break;
       }
+      s.str("");
+      s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
+      filename = vpIoTools::createFilePath(dirname, s.str());
+      // read the image
+      vpImageIo::read(I, filename);
 
       if(opt_display){
         vpDisplay::display(I);
diff --git a/example/manual/CMakeLists.txt b/example/manual/CMakeLists.txt
index d0a30429d0eb2832a037cfd52667ed547b3d978e..0e35823538508e98a082cf360b2269238cd25455 100644
--- a/example/manual/CMakeLists.txt
+++ b/example/manual/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,7 +43,7 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   geometric-features/manGeometricFeatures.cpp
   hello-world/CMake/HelloWorld.cpp
   image-manipulation/manDisplay.cpp
@@ -60,20 +60,16 @@ SET (SOURCE
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-  # Add test
-  # ADD_TEST(${binary} ${binary})
-
-ENDFOREACH(source)
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
diff --git a/example/manual/hello-world/CMake/CMakeLists.txt b/example/manual/hello-world/CMake/CMakeLists.txt
index 5e3c301e65192ad67d1108cb212c9c0e6b5cba53..64a265027ec94468ce638bd246a8c64d9ee98b32 100644
--- a/example/manual/hello-world/CMake/CMakeLists.txt
+++ b/example/manual/hello-world/CMake/CMakeLists.txt
@@ -1,10 +1,10 @@
-PROJECT(HelloWorld)
+project(HelloWorld)
 
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+cmake_minimum_required(VERSION 2.6)
 
-FIND_PACKAGE(VISP REQUIRED)
-IF(VISP_FOUND)
-  INCLUDE(${VISP_USE_FILE})
-ENDIF(VISP_FOUND)
+find_package(VISP REQUIRED)
+if(VISP_FOUND)
+  include(${VISP_USE_FILE})
+endif()
 
-ADD_EXECUTABLE(HelloWorld HelloWorld.cpp)
+add_executable(HelloWorld HelloWorld.cpp)
diff --git a/example/manual/hello-world/Makefile/Makefile b/example/manual/hello-world/Makefile/Makefile
index 19233aecbd7761d899030c33e85de6b6dbc4e249..3bdacce426b4f4e6ca062d25e4d5e0c5115acd57 100644
--- a/example/manual/hello-world/Makefile/Makefile
+++ b/example/manual/hello-world/Makefile/Makefile
@@ -3,17 +3,17 @@ CXX            = g++
 # In a Makefile there are two ways to build a project with ViSP as third party:
 # 1. Using visp-config script provided either in <visp build tree>/bin/visp-config
 #    or in <visp install tree>/bin/visp-config (typically in /usr/bin/visp-config)
-VISP_BUILD_DIR = /local/soft/ViSP/ViSP-build
-VISP_CFLAGS    = `$(VISP_BUILD_DIR)/bin/visp-config --cflags`
-VISP_LDFLAGS   = `$(VISP_BUILD_DIR)/bin/visp-config --libs`
+#VISP_BUILD_DIR = /local/soft/ViSP/ViSP-build
+#VISP_CFLAGS    = `$(VISP_BUILD_DIR)/bin/visp-config --cflags`
+#VISP_LDFLAGS   = `$(VISP_BUILD_DIR)/bin/visp-config --libs`
 
-# 2. Using pkg-config on visp.pc file provided in <visp install tree>/lib/pkgconfig/visp.pc 
-#    (typically in /usr/lib/pkgconfig/visp.pc)
+# 2. Using pkg-config on visp.pc file provided in <visp install tree>/lib/x86_64-linux-gnu/pkgconfig/visp.pc 
+#    (typically in /usr/lib/x86_64-linux-gnu/pkgconfig/visp.pc)
 #    If visp.pc pkg-config file is not found, you may set PKG_CONFIG_PATH 
 #    environment variable with the path to access to visp.pc
-#    For example: export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:<visp install tree>/lib/pkgconfig
-#VISP_CFLAGS    = `pkg-config --cflags visp`
-#VISP_LDFLAGS   = `pkg-config --libs visp`
+#    For example: export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:<visp install tree>/lib/x86_64-linux-gnu/pkgconfig
+VISP_CFLAGS    = `pkg-config --cflags visp`
+VISP_LDFLAGS   = `pkg-config --libs visp`
 
 
 HelloWorld: HelloWorld.cpp
diff --git a/example/manual/image-manipulation/manDisplay.cpp b/example/manual/image-manipulation/manDisplay.cpp
index 5261d74f54669630fcdc384583e9db820c3c5183..9ee243951c78880ca34b77830c2007addca818d0 100644
--- a/example/manual/image-manipulation/manDisplay.cpp
+++ b/example/manual/image-manipulation/manDisplay.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: manDisplay.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: manDisplay.cpp 5004 2014-11-24 08:24:18Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -123,9 +123,9 @@ int main()
     // Display in overlay a yellow string
     ip.set_i( 300 );
     ip.set_j( 160 );
-    vpDisplay::displayCharString(I, ip,
-                                 "ViSP is a marvelous software",
-                                 vpColor::black) ;
+    vpDisplay::displayText(I, ip,
+                           "ViSP is a marvelous software",
+                           vpColor::black) ;
     //Flush the display : without this line nothing will appear on the screen
     vpDisplay::flush(I);
 
diff --git a/example/manual/ogre/HelloWorldOgre.cpp b/example/manual/ogre/HelloWorldOgre.cpp
index bb07474f57668e5af100d6e0ca271b14cef3b540..e9c91c8b7dd7433491f7e8320b51d69f6a6a3e74 100644
--- a/example/manual/ogre/HelloWorldOgre.cpp
+++ b/example/manual/ogre/HelloWorldOgre.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: HelloWorldOgre.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: HelloWorldOgre.cpp 5128 2015-01-06 11:46:58Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -49,7 +49,6 @@
 #include <visp/vpOpenCVGrabber.h>
 #include <visp/vpV4l2Grabber.h>
 #include <visp/vp1394TwoGrabber.h>
-#include <visp/vpDirectShowGrabber.h>
 #include <visp/vpHomogeneousMatrix.h>
 #include <visp/vpImage.h>
 #include <visp/vpCameraParameters.h>
@@ -59,38 +58,41 @@ int main()
 {
   try {
 #if defined(VISP_HAVE_OGRE) 
-#if defined(VISP_HAVE_V4L2) || defined(VISP_HAVE_DC1394_2) || defined(VISP_HAVE_DIRECTSHOW) || defined(VISP_HAVE_OPENCV)
+#if defined(VISP_HAVE_V4L2) || defined(VISP_HAVE_DC1394_2) || (VISP_HAVE_OPENCV_VERSION >= 0x020100)
+
+	// Image to stock gathered data
+    // Here we acquire a color image. The consequence will be that
+    // the background texture used in Ogre renderer will be also in color.
+    vpImage<vpRGBa> I;
 
     // Now we try to find an available framegrabber
 #if defined(VISP_HAVE_V4L2)
     // Video for linux 2 grabber
     vpV4l2Grabber grabber;
+	grabber.open(I);
+    grabber.acquire(I);
 #elif defined(VISP_HAVE_DC1394_2)
     // libdc1394-2
     vp1394TwoGrabber grabber;
-#elif defined(VISP_HAVE_DIRECTSHOW)
-    // OpenCV to gather images
-    vpDirectShowGrabber grabber;
+	grabber.open(I);
+    grabber.acquire(I);
 #elif defined(VISP_HAVE_OPENCV)
     // OpenCV to gather images
-    vpOpenCVGrabber grabber;
+    cv::VideoCapture grabber(0); // open the default camera
+    if(!grabber.isOpened()) { // check if we succeeded
+      std::cout << "Failed to open the camera" << std::endl;
+      return -1;
+    }
+    cv::Mat frame;
+    grabber >> frame; // get a new frame from camera
+    vpImageConvert::convert(frame, I);
 #endif
 
-    // Image to stock gathered data
-    // Here we acquire a color image. The consequence will be that
-    // the background texture used in Ogre renderer will be also in color.
-    vpImage<vpRGBa> I;
-    // Open frame grabber
-    // Here we acquire an image from an available framegrabber to update
-    // the image size
-    grabber.open(I);
-    grabber.acquire(I);
-
     // Parameters of our camera
     double px = 565;
     double py = 565;
-    double u0 = grabber.getWidth() / 2;
-    double v0 = grabber.getHeight() / 2;
+    double u0 = I.getWidth() / 2;
+    double v0 = I.getHeight() / 2;
     vpCameraParameters cam(px,py,u0,v0);
     // The matrix with our pose
     // Defines the pose of the object in the camera frame
@@ -99,7 +101,7 @@ int main()
     // Our object
     // A simulator with the camera parameters defined above,
     // a grey level background image and of the good size
-    vpAROgre ogre(cam, (unsigned int)grabber.getWidth(), (unsigned int)grabber.getHeight());
+    vpAROgre ogre(cam, I.getWidth(), I.getHeight());
     // Initialisation
     // Here we load the requested plugins specified in the "plugins.cfg" file
     // and the resources specified in the "resources.cfg" file
@@ -130,17 +132,19 @@ int main()
 
     // Rendering loop, ended with on escape
     while(ogre.continueRendering()){
-      // Image Acquisition
       // Acquire a new image
+#if defined(VISP_HAVE_V4L2) || defined(VISP_HAVE_DC1394_2)
       grabber.acquire(I);
+#elif defined(VISP_HAVE_OPENCV)
+	  grabber >> frame;
+      vpImageConvert::convert(frame, I);
+#endif
       //Pose computation
       // ...
       // cMo updated
       // Display the robot at the position specified by cMo with vpAROgre
       ogre.display(I,cMo);
     }
-    // Release video device
-    grabber.close();
 #else
     std::cout << "You need an available framegrabber to run this example" << std::endl;
 #endif
diff --git a/example/manual/ogre/HelloWorldOgreAdvanced.cpp b/example/manual/ogre/HelloWorldOgreAdvanced.cpp
index 7bb57a4d929d39b89a8a456b075f04131201242e..1033351bcdcd9a653ecc6f0512f9f58076f1fcf4 100644
--- a/example/manual/ogre/HelloWorldOgreAdvanced.cpp
+++ b/example/manual/ogre/HelloWorldOgreAdvanced.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: HelloWorldOgreAdvanced.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: HelloWorldOgreAdvanced.cpp 5128 2015-01-06 11:46:58Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -49,7 +49,6 @@
 #include <visp/vpOpenCVGrabber.h>
 #include <visp/vpV4l2Grabber.h>
 #include <visp/vp1394TwoGrabber.h>
-#include <visp/vpDirectShowGrabber.h>
 #include <visp/vpHomogeneousMatrix.h>
 #include <visp/vpImage.h>
 #include <visp/vpCameraParameters.h>
@@ -111,60 +110,73 @@ int main()
 {
   try {
 #if defined(VISP_HAVE_OGRE) 
-#if defined(VISP_HAVE_V4L2) || defined(VISP_HAVE_DC1394_2) || defined(VISP_HAVE_DIRECTSHOW) || defined(VISP_HAVE_OPENCV)
+#if defined(VISP_HAVE_V4L2) || defined(VISP_HAVE_DC1394_2) || (VISP_HAVE_OPENCV_VERSION >= 0x020100)
+
+	// Image to store gathered data
+    // Here we acquire a grey level image. The consequence will be that
+    // the background texture used in Ogre renderer will be also in grey
+    // level.
+    vpImage<unsigned char> I;
 
     // Now we try to find an available framegrabber
 #if defined(VISP_HAVE_V4L2)
     // Video for linux 2 grabber
     vpV4l2Grabber grabber;
+    // Open frame grabber
+    // Here we acquire an image from an available framegrabber to update
+    // the image size
+    grabber.open(I);
+    grabber.acquire(I);
 #elif defined(VISP_HAVE_DC1394_2)
     // libdc1394-2
     vp1394TwoGrabber grabber;
-#elif defined(VISP_HAVE_DIRECTSHOW)
-    // OpenCV to gather images
-    vpOpenCVGrabber grabber;
-#elif defined(VISP_HAVE_OPENCV)
-    // OpenCV to gather images
-    vpOpenCVGrabber grabber;
-#endif
-
-    // Image to store gathered data
-    // Here we acquire a grey level image. The consequence will be that
-    // the background texture used in Ogre renderer will be also in grey
-    // level.
-    vpImage<unsigned char> I;
     // Open frame grabber
     // Here we acquire an image from an available framegrabber to update
     // the image size
     grabber.open(I);
     grabber.acquire(I);
+#elif defined(VISP_HAVE_OPENCV)
+    // OpenCV to gather images
+    cv::VideoCapture grabber(0); // open the default camera
+    if(!grabber.isOpened()) { // check if we succeeded
+      std::cout << "Failed to open the camera" << std::endl;
+      return -1;
+    }
+    cv::Mat frame;
+    grabber >> frame; // get a new frame from camera
+    vpImageConvert::convert(frame, I);
+#endif
+
     // Parameters of our camera
     double px = 565;
     double py = 565;
-    double u0 = grabber.getWidth() / 2;
-    double v0 = grabber.getHeight() / 2;
+    double u0 = I.getWidth() / 2;
+    double v0 = I.getHeight() / 2;
     vpCameraParameters cam(px,py,u0,v0);
     // The matrix with our pose
     vpHomogeneousMatrix cMo;
     cMo[2][3] = 1.; // Z = 1 meter
 
     // Our object
-    vpAROgreAdvanced ogre(cam, (unsigned int)grabber.getWidth(), (unsigned int)grabber.getHeight());
+    vpAROgreAdvanced ogre(cam, I.getWidth(), I.getHeight());
     // Initialisation
     ogre.init(I);
 
     // Rendering loop
     while(ogre.continueRendering()){
-      // Image Acquisition
+      // Acquire a new image
+#if defined(VISP_HAVE_V4L2) || defined(VISP_HAVE_DC1394_2)
       grabber.acquire(I);
+#elif defined(VISP_HAVE_OPENCV)
+	  grabber >> frame;
+      vpImageConvert::convert(frame, I);
+#endif
       // Pose computation
       // ...
       // cMo updated
       // Display with vpAROgre
       ogre.display(I, cMo);
     }
-    // Release video device
-    grabber.close();
 #else
     std::cout << "You need an available framegrabber to run this example" << std::endl;
 #endif
diff --git a/example/math/CMakeLists.txt b/example/math/CMakeLists.txt
index 5c063667580ed9d9c146271f4cecb3889838ce51..d64b3e348f1f7cd6335fcd09218462249dadffb4 100644
--- a/example/math/CMakeLists.txt
+++ b/example/math/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,27 +43,27 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   exponentialMap.cpp
   BSpline.cpp
   Nurbs.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
   # Add test
-  ADD_TEST(${binary} ${binary} -c ${OPTION_TO_DESACTIVE_DISPLAY})
+  add_test(${binary} ${binary} -c ${OPTION_TO_DESACTIVE_DISPLAY})
 
-ENDFOREACH(source)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
 
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
diff --git a/example/moments/image/CMakeLists.txt b/example/moments/image/CMakeLists.txt
index 85a366b387f877f9de4260ad84ec2543d65ee039..046dc9c442df6311d99092b39c7e5381d6e55ff1 100644
--- a/example/moments/image/CMakeLists.txt
+++ b/example/moments/image/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -38,20 +38,26 @@
 #
 #############################################################################
 
-# All source and headers in local directory are added to the project before
-# the exacutable is formed.
-
-FILE(GLOB SOURCE "*.cpp")
-FILE(GLOB HEADERS "*.h")
-
-LIST(APPEND FILES ${SOURCE})
-LIST(APPEND FILES ${HEADERS})
-
+# SOURCE variable corresponds to the list of all the sources to build binaries.
+# The generate binary comes by removing the .cpp extension to
+# the source name.
+#
+# If you want to add/remove a source, modify here
+set(SOURCE
+  servoMomentImage.cpp
+)
 
+# rule for binary build
+foreach(source ${SOURCE})
+  # Compute the name of the binary to create
+  get_filename_component(binary ${source} NAME_WE)
 
-ADD_EXECUTABLE(servoMomentsImage ${FILES})
-TARGET_LINK_LIBRARIES(servoMomentsImage ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  # From source compile the binary and add link rules
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-SET_DIRECTORY_PROPERTIES(PROPERTIES
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
diff --git a/example/moments/points/CMakeLists.txt b/example/moments/points/CMakeLists.txt
index 93b80d494861b849ead366c4bec88600c3fa9513..e80fdb28bb9342328f46e07ea97b14d545250b2c 100644
--- a/example/moments/points/CMakeLists.txt
+++ b/example/moments/points/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -38,20 +38,26 @@
 #
 #############################################################################
 
-# All source and headers in local directory are added to the project before
-# the exacutable is formed.
-
-FILE(GLOB SOURCE "*.cpp")
-FILE(GLOB HEADERS "*.h")
-
-LIST(APPEND FILES ${SOURCE})
-LIST(APPEND FILES ${HEADERS})
-
+# SOURCE variable corresponds to the list of all the sources to build binaries.
+# The generate binary comes by removing the .cpp extension to
+# the source name.
+#
+# If you want to add/remove a source, modify here
+set(SOURCE
+  servoMomentPoints.cpp
+)
 
+# rule for binary build
+foreach(source ${SOURCE})
+  # Compute the name of the binary to create
+  get_filename_component(binary ${source} NAME_WE)
 
-ADD_EXECUTABLE(servoMomentsPoints ${FILES})
-TARGET_LINK_LIBRARIES(servoMomentsPoints ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  # From source compile the binary and add link rules
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-SET_DIRECTORY_PROPERTIES(PROPERTIES
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
diff --git a/example/moments/polygon/CMakeLists.txt b/example/moments/polygon/CMakeLists.txt
index 25661a2f534ef1c90e4bb3f5c5befc9f5b05e723..6b54b33e840ef373af122162e32ff54fc520a187 100644
--- a/example/moments/polygon/CMakeLists.txt
+++ b/example/moments/polygon/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -38,20 +38,26 @@
 #
 #############################################################################
 
-# All source and headers in local directory are added to the project before
-# the exacutable is formed.
-
-FILE(GLOB SOURCE "*.cpp")
-FILE(GLOB HEADERS "*.h")
-
-LIST(APPEND FILES ${SOURCE})
-LIST(APPEND FILES ${HEADERS})
-
+# SOURCE variable corresponds to the list of all the sources to build binaries.
+# The generate binary comes by removing the .cpp extension to
+# the source name.
+#
+# If you want to add/remove a source, modify here
+set(SOURCE
+  servoMomentPolygon.cpp
+)
 
+# rule for binary build
+foreach(source ${SOURCE})
+  # Compute the name of the binary to create
+  get_filename_component(binary ${source} NAME_WE)
 
-ADD_EXECUTABLE(servoMomentsPolygon ${FILES})
-TARGET_LINK_LIBRARIES(servoMomentsPolygon ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  # From source compile the binary and add link rules
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-SET_DIRECTORY_PROPERTIES(PROPERTIES
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
diff --git a/example/ogre-simulator/AROgre.cpp b/example/ogre-simulator/AROgre.cpp
index 7476a4e3dfe5f103db7565718410fd8873844d5b..71995b41986d94fa4c7f7bdcebc0d4efbb5d730c 100644
--- a/example/ogre-simulator/AROgre.cpp
+++ b/example/ogre-simulator/AROgre.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: AROgre.cpp 4604 2014-01-21 14:15:23Z fspindle $
+ * $Id: AROgre.cpp 4814 2014-07-31 11:38:39Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -524,16 +524,13 @@ int main(int argc, const char **argv)
     std::string filename;
     bool opt_click_allowed = true;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
       ipath = env_ipath;
 
-
     // Read the command line options
     if (getOptions(argc, argv, opt_ipath, opt_ppath, opt_click_allowed) == false) {
       exit (-1);
@@ -575,13 +572,13 @@ int main(int argc, const char **argv)
 
     if (opt_ppath.empty()){
       // Set the path location of the image sequence
-      dirname = ipath + vpIoTools::path("/ViSP-images/mire-2/");
+      dirname = vpIoTools::createFilePath(ipath, "ViSP-images/mire-2");
 
       // Build the name of the image file
 
       s.setf(std::ios::right, std::ios::adjustfield);
       s << "image.%04d.pgm";
-      filename = dirname + s.str();
+      filename = vpIoTools::createFilePath(dirname, s.str());
     }
     else {
       filename = opt_ppath;
diff --git a/example/ogre-simulator/AROgreBasic.cpp b/example/ogre-simulator/AROgreBasic.cpp
index 4c0542680d5d9dd14011089e604df8465deefc2c..3236ecfb1216bdaf9a71d8b7125aeadc816de68b 100644
--- a/example/ogre-simulator/AROgreBasic.cpp
+++ b/example/ogre-simulator/AROgreBasic.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: AROgreBasic.cpp 4604 2014-01-21 14:15:23Z fspindle $
+ * $Id: AROgreBasic.cpp 4814 2014-07-31 11:38:39Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -394,10 +394,8 @@ int main(int argc, const char **argv)
     std::string filename;
     bool opt_click_allowed = true;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -452,13 +450,13 @@ int main(int argc, const char **argv)
 
     if (opt_ppath.empty()){
       // Set the path location of the image sequence
-      dirname = ipath + vpIoTools::path("/ViSP-images/mire-2/");
+      dirname = vpIoTools::createFilePath(ipath, "ViSP-images/mire-2");
 
       // Build the name of the image file
 
       s.setf(std::ios::right, std::ios::adjustfield);
       s << "image.%04d.pgm";
-      filename = dirname + s.str();
+      filename = vpIoTools::createFilePath(dirname, s.str());
     }
     else {
       filename = opt_ppath;
diff --git a/example/ogre-simulator/CMakeLists.txt b/example/ogre-simulator/CMakeLists.txt
index 039f8bc76e223392b9d83aaf42b21b823bcb228d..9b19f1707213ded1d3e16b8a939ec71ee9cc7926 100644
--- a/example/ogre-simulator/CMakeLists.txt
+++ b/example/ogre-simulator/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,25 +43,22 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   AROgre.cpp 
   AROgreBasic.cpp 
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-  # Add test
-  #ADD_TEST(${binary} ${binary} ${OPTION_TO_DESACTIVE_DISPLAY})
-ENDFOREACH(source)
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
diff --git a/example/parse-argv/CMakeLists.txt b/example/parse-argv/CMakeLists.txt
index ce4c2596d0a200ab132b21a694cf8f004b35aa9c..ba94d4e49697a6064e33e9e2e8b4cf24eb36147b 100644
--- a/example/parse-argv/CMakeLists.txt
+++ b/example/parse-argv/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,26 +43,25 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   parse-argv1.cpp
   parse-argv2.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
   # Add test
-  ADD_TEST(${binary} ${binary})
+  add_test(${binary} ${binary})
 
-ENDFOREACH(source)
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
diff --git a/example/parse-argv/parse-argv2.cpp b/example/parse-argv/parse-argv2.cpp
index a81c2fe84ada552b228ab3aeb6009c7d5d0a0747..420174d8171a9badfdc50b6dcc7417c2174089ae 100644
--- a/example/parse-argv/parse-argv2.cpp
+++ b/example/parse-argv/parse-argv2.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: parse-argv2.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: parse-argv2.cpp 5311 2015-02-11 17:42:01Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -70,9 +70,12 @@ main(int argc, const char ** argv)
     int    i_val = 3;
     float  f_val = 3.14f;
     double d_val = 3.1415;
+    int    flag = 0;
 
     vpParseArgv::vpArgvInfo argTable[] =
     {
+      {"-flag", vpParseArgv::ARGV_CONSTANT, 0, (char *) &flag,
+       "Flag enabled."},
       {"-integer", vpParseArgv::ARGV_INT, (char*) NULL, (char *) &i_val,
        "An integer value."},
       {"-float", vpParseArgv::ARGV_FLOAT, (char*) NULL, (char *) &f_val,
@@ -91,6 +94,8 @@ main(int argc, const char ** argv)
     cout << "  Integer value: " << i_val << endl;
     cout << "  Float   value: " << f_val << endl;
     cout << "  Double  value: " << d_val << endl << endl;
+    cout << "  Flag         : " << flag << endl << endl;
+
     cout << "Call  " << argv[0]
          << " -h to see how to change these parameters." << endl;
 
diff --git a/example/pose-estimation/CMakeLists.txt b/example/pose-estimation/CMakeLists.txt
index 0433c10257b683dcaac09e5c321b46c7fdb81574..c6700eac3d161e43603389540e0ad59b735ec2aa 100644
--- a/example/pose-estimation/CMakeLists.txt
+++ b/example/pose-estimation/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -48,15 +48,19 @@ SET (SOURCE
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-ENDFOREACH(source)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
 
 # Add test
 # To run some of these tests don't forget to set VISP_INPUT_IMAGE_PATH
@@ -64,9 +68,4 @@ ENDFOREACH(source)
 # To get these sequence download ViSP-images.tar.gz from
 # http://www.irisa.fr/lagadic/visp/visp.html
 
-ADD_TEST(poseVirtualVS poseVirtualVS -c ${OPTION_TO_DESACTIVE_DISPLAY})
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+add_test(poseVirtualVS poseVirtualVS -c ${OPTION_TO_DESACTIVE_DISPLAY})
diff --git a/example/pose-estimation/poseVirtualVS.cpp b/example/pose-estimation/poseVirtualVS.cpp
index 69d2ee74d573d9866b3b20dd1fcb19f11b74a5eb..3bf6d19e66828e4c61e6f82afe2a3965f4f46b48 100644
--- a/example/pose-estimation/poseVirtualVS.cpp
+++ b/example/pose-estimation/poseVirtualVS.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: poseVirtualVS.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: poseVirtualVS.cpp 5108 2015-01-05 07:48:58Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -69,7 +69,7 @@
 #include <stdio.h>
 #include <sstream>
 #include <iomanip>
-#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI))
+#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV))
 
 #include <visp/vpImage.h>
 #include <visp/vpImageIo.h>
@@ -78,6 +78,7 @@
 #include <visp/vpDisplayX.h>
 #include <visp/vpDisplayGTK.h>
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 
 #include <visp/vpPose.h>
 #include <visp/vpDot.h>
@@ -235,7 +236,6 @@ main(int argc, const char** argv)
     bool opt_click_allowed = true;
     bool opt_display = true;
 
-
     int i ;
 
     std::cout <<  "-------------------------------------------------------" << std::endl ;
@@ -245,16 +245,13 @@ main(int argc, const char** argv)
     std::cout <<  "-------------------------------------------------------" << std::endl ;
     std::cout << std::endl ;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
       ipath = env_ipath;
 
-
     // Read the command line options
     if (getOptions(argc, argv, opt_ipath, opt_ppath, opt_first, opt_nimages, opt_step, opt_click_allowed, opt_display) == false) {
       exit (-1);
@@ -315,14 +312,13 @@ main(int argc, const char** argv)
       //  in the download section. It is named "ViSP-images-x.y.z.tar.gz"
 
       // directory name
-      dirname = ipath +  vpIoTools::path("/ViSP-images/cube/");
-
+      dirname = vpIoTools::createFilePath(ipath, "ViSP-images/cube");
 
       // Build the name of the image file
 
       s.setf(std::ios::right, std::ios::adjustfield);
       s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-      filename = dirname + s.str();
+      filename = vpIoTools::createFilePath(dirname, s.str());
     }
     else {
 
@@ -391,6 +387,8 @@ main(int argc, const char** argv)
     vpDisplayGTK display;
 #elif defined VISP_HAVE_GDI
     vpDisplayGDI display;
+#elif defined VISP_HAVE_OPENCV
+    vpDisplayOpenCV display;
 #endif
     if (opt_display) {
       // Display size is automatically defined by the image (I) size
@@ -566,7 +564,7 @@ main(int argc, const char** argv)
       if (opt_ppath.empty()){
         s.str("");
         s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-        filename = dirname + s.str();
+        filename = vpIoTools::createFilePath(dirname, s.str());
       }
       else {
         sprintf( cfilename, opt_ppath.c_str(), iter) ;
@@ -639,7 +637,7 @@ main(int argc, const char** argv)
 int
 main()
 {
-  vpERROR_TRACE("You do not have X11 or GTK functionalities to display images...");
+  vpERROR_TRACE("You do not have X11, GTK, GDI or OpenCV functionalities to display images...");
 }
 
 #endif
diff --git a/example/robot-simulator/afma6/CMakeLists.txt b/example/robot-simulator/afma6/CMakeLists.txt
index 78d461387df97077bb271fa6cc871398e2333898..43b97b4200d480e5a257bc1ff947c20fcb3e0708 100644
--- a/example/robot-simulator/afma6/CMakeLists.txt
+++ b/example/robot-simulator/afma6/CMakeLists.txt
@@ -43,25 +43,24 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
-servoSimuAfma6FourPoints2DCamVelocity.cpp
+set(SOURCE
+  servoSimuAfma6FourPoints2DCamVelocity.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-ENDFOREACH(source)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
 
 # Add test
-ADD_TEST(servoSimuAfma6FourPoints2DCamVelocity servoSimuAfma6FourPoints2DCamVelocity -c ${OPTION_TO_DESACTIVE_DISPLAY})
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+add_test(servoSimuAfma6FourPoints2DCamVelocity servoSimuAfma6FourPoints2DCamVelocity -c ${OPTION_TO_DESACTIVE_DISPLAY})
diff --git a/example/robot-simulator/camera/CMakeLists.txt b/example/robot-simulator/camera/CMakeLists.txt
index 5f94a5548ddf37d1ee7c31bf14479af8bc6e2f22..b05b61b153e60990ed1dca97ea8647ad536960af 100644
--- a/example/robot-simulator/camera/CMakeLists.txt
+++ b/example/robot-simulator/camera/CMakeLists.txt
@@ -43,66 +43,65 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
-servoSimu3D_cdMc_CamVelocity.cpp
-servoSimu3D_cdMc_CamVelocityWithoutVpServo.cpp
-servoSimu3D_cMcd_CamVelocity.cpp
-servoSimu3D_cMcd_CamVelocityWithoutVpServo.cpp
-servoSimuCircle2DCamVelocity.cpp
-servoSimuCircle2DCamVelocityDisplay.cpp
-servoSimuCylinder2DCamVelocityDisplay.cpp
-servoSimuCylinder2DCamVelocityDisplaySecondaryTask.cpp
-servoSimuFourPoints2DCamVelocity.cpp
-servoSimuFourPoints2DCamVelocityDisplay.cpp
-servoSimuFourPoints2DPolarCamVelocityDisplay.cpp
-servoSimuLine2DCamVelocityDisplay.cpp
-servoSimuPoint2DCamVelocity1.cpp
-servoSimuPoint2DCamVelocity2.cpp
-servoSimuPoint2DCamVelocity3.cpp
-servoSimuPoint2DhalfCamVelocity1.cpp
-servoSimuPoint2DhalfCamVelocity2.cpp
-servoSimuPoint2DhalfCamVelocity3.cpp
-servoSimuPoint3DCamVelocity.cpp
-servoSimuSphere2DCamVelocity.cpp
-servoSimuSphere2DCamVelocitySecondaryTask.cpp
-servoSimuSquareLine2DCamVelocityDisplay.cpp
-servoSimuThetaUCamVelocity.cpp
+set(SOURCE
+  servoSimu3D_cdMc_CamVelocity.cpp
+  servoSimu3D_cdMc_CamVelocityWithoutVpServo.cpp
+  servoSimu3D_cMcd_CamVelocity.cpp
+  servoSimu3D_cMcd_CamVelocityWithoutVpServo.cpp
+  servoSimuCircle2DCamVelocity.cpp
+  servoSimuCircle2DCamVelocityDisplay.cpp
+  servoSimuCylinder2DCamVelocityDisplay.cpp
+  servoSimuCylinder2DCamVelocityDisplaySecondaryTask.cpp
+  servoSimuFourPoints2DCamVelocity.cpp
+  servoSimuFourPoints2DCamVelocityDisplay.cpp
+  servoSimuFourPoints2DPolarCamVelocityDisplay.cpp
+  servoSimuLine2DCamVelocityDisplay.cpp
+  servoSimuPoint2DCamVelocity1.cpp
+  servoSimuPoint2DCamVelocity2.cpp
+  servoSimuPoint2DCamVelocity3.cpp
+  servoSimuPoint2DhalfCamVelocity1.cpp
+  servoSimuPoint2DhalfCamVelocity2.cpp
+  servoSimuPoint2DhalfCamVelocity3.cpp
+  servoSimuPoint3DCamVelocity.cpp
+  servoSimuSphere2DCamVelocity.cpp
+  servoSimuSphere2DCamVelocitySecondaryTask.cpp
+  servoSimuSquareLine2DCamVelocityDisplay.cpp
+  servoSimuThetaUCamVelocity.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-ENDFOREACH(source)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
 
 # Add test
-ADD_TEST(servoSimu3D_cdMc_CamVelocity			servoSimu3D_cdMc_CamVelocity			)	
-ADD_TEST(servoSimu3D_cdMc_CamVelocityWithoutVpServo	servoSimu3D_cdMc_CamVelocityWithoutVpServo	)	
-ADD_TEST(servoSimu3D_cMcd_CamVelocity			servoSimu3D_cMcd_CamVelocity			)	
-ADD_TEST(servoSimu3D_cMcd_CamVelocityWithoutVpServo	servoSimu3D_cMcd_CamVelocityWithoutVpServo	)	
-ADD_TEST(servoSimuCircle2DCamVelocity			servoSimuCircle2DCamVelocity			)
-ADD_TEST(servoSimuCircle2DCamVelocityDisplay		servoSimuCircle2DCamVelocityDisplay	-c ${OPTION_TO_DESACTIVE_DISPLAY}	)
-ADD_TEST(servoSimuCylinder2DCamVelocityDisplay		servoSimuCylinder2DCamVelocityDisplay	-c ${OPTION_TO_DESACTIVE_DISPLAY}	)
-ADD_TEST(servoSimuFourPoints2DCamVelocity		servoSimuFourPoints2DCamVelocity		)
-ADD_TEST(servoSimuFourPoints2DCamVelocityDisplay	servoSimuFourPoints2DCamVelocityDisplay -c ${OPTION_TO_DESACTIVE_DISPLAY}	)
-ADD_TEST(servoSimuLine2DCamVelocityDisplay		servoSimuLine2DCamVelocityDisplay	-c ${OPTION_TO_DESACTIVE_DISPLAY}	)
-ADD_TEST(servoSimuPoint2DCamVelocity1			servoSimuPoint2DCamVelocity1			)
-ADD_TEST(servoSimuPoint2DCamVelocity2			servoSimuPoint2DCamVelocity2			)
-ADD_TEST(servoSimuPoint2DCamVelocity3			servoSimuPoint2DCamVelocity3			)
-ADD_TEST(servoSimuPoint2DhalfCamVelocity1		servoSimuPoint2DhalfCamVelocity1		)
-ADD_TEST(servoSimuPoint2DhalfCamVelocity2		servoSimuPoint2DhalfCamVelocity2		)
-ADD_TEST(servoSimuPoint2DhalfCamVelocity3		servoSimuPoint2DhalfCamVelocity3		)
-ADD_TEST(servoSimuPoint3DCamVelocity			servoSimuPoint3DCamVelocity			)
-ADD_TEST(servoSimuSphere2DCamVelocity			servoSimuSphere2DCamVelocity			)
-ADD_TEST(servoSimuSphere2DCamVelocitySecondaryTask	servoSimuSphere2DCamVelocitySecondaryTask	)
-ADD_TEST(servoSimuThetaUCamVelocity			servoSimuThetaUCamVelocity			)
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+add_test(servoSimu3D_cdMc_CamVelocity			servoSimu3D_cdMc_CamVelocity			)
+add_test(servoSimu3D_cdMc_CamVelocityWithoutVpServo	servoSimu3D_cdMc_CamVelocityWithoutVpServo	)
+add_test(servoSimu3D_cMcd_CamVelocity			servoSimu3D_cMcd_CamVelocity			)
+add_test(servoSimu3D_cMcd_CamVelocityWithoutVpServo	servoSimu3D_cMcd_CamVelocityWithoutVpServo	)
+add_test(servoSimuCircle2DCamVelocity			servoSimuCircle2DCamVelocity			)
+add_test(servoSimuCircle2DCamVelocityDisplay		servoSimuCircle2DCamVelocityDisplay	-c ${OPTION_TO_DESACTIVE_DISPLAY}	)
+add_test(servoSimuCylinder2DCamVelocityDisplay		servoSimuCylinder2DCamVelocityDisplay	-c ${OPTION_TO_DESACTIVE_DISPLAY}	)
+add_test(servoSimuFourPoints2DCamVelocity		servoSimuFourPoints2DCamVelocity		)
+add_test(servoSimuFourPoints2DCamVelocityDisplay	servoSimuFourPoints2DCamVelocityDisplay -c ${OPTION_TO_DESACTIVE_DISPLAY}	)
+add_test(servoSimuLine2DCamVelocityDisplay		servoSimuLine2DCamVelocityDisplay	-c ${OPTION_TO_DESACTIVE_DISPLAY}	)
+add_test(servoSimuPoint2DCamVelocity1			servoSimuPoint2DCamVelocity1			)
+add_test(servoSimuPoint2DCamVelocity2			servoSimuPoint2DCamVelocity2			)
+add_test(servoSimuPoint2DCamVelocity3			servoSimuPoint2DCamVelocity3			)
+add_test(servoSimuPoint2DhalfCamVelocity1		servoSimuPoint2DhalfCamVelocity1		)
+add_test(servoSimuPoint2DhalfCamVelocity2		servoSimuPoint2DhalfCamVelocity2		)
+add_test(servoSimuPoint2DhalfCamVelocity3		servoSimuPoint2DhalfCamVelocity3		)
+add_test(servoSimuPoint3DCamVelocity			servoSimuPoint3DCamVelocity			)
+add_test(servoSimuSphere2DCamVelocity			servoSimuSphere2DCamVelocity			)
+add_test(servoSimuSphere2DCamVelocitySecondaryTask	servoSimuSphere2DCamVelocitySecondaryTask	)
+add_test(servoSimuThetaUCamVelocity			servoSimuThetaUCamVelocity			)
diff --git a/example/robot-simulator/camera/servoSimuCircle2DCamVelocityDisplay.cpp b/example/robot-simulator/camera/servoSimuCircle2DCamVelocityDisplay.cpp
index 4b8711fe96c343bee8dc8054ea1d6b43210056b1..e3ca194d33b605e120b22a575c65fff0026f3ea9 100644
--- a/example/robot-simulator/camera/servoSimuCircle2DCamVelocityDisplay.cpp
+++ b/example/robot-simulator/camera/servoSimuCircle2DCamVelocityDisplay.cpp
@@ -54,7 +54,7 @@
 #include <visp/vpDebug.h>
 #include <visp/vpConfig.h>
 
-#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI))
+#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV))
 
 #include <stdlib.h>
 #include <stdio.h>
@@ -64,6 +64,7 @@
 #include <visp/vpDisplayX.h>
 #include <visp/vpDisplayGTK.h>
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpFeatureBuilder.h>
 #include <visp/vpFeatureLine.h>
 #include <visp/vpHomogeneousMatrix.h>
@@ -181,6 +182,8 @@ main(int argc, const char ** argv)
     vpDisplayGTK display;
 #elif defined VISP_HAVE_GDI
     vpDisplayGDI display;
+#elif defined VISP_HAVE_OPENCV
+    vpDisplayOpenCV display;
 #endif
 
     if (opt_display) {
@@ -303,7 +306,7 @@ main(int argc, const char ** argv)
 int
 main()
 {
-  vpERROR_TRACE("You do not have X11, GTK or GDI display functionalities...");
+  vpERROR_TRACE("You do not have X11, GTK, GDI or OpenCV display functionalities...");
 }
 
 #endif
diff --git a/example/robot-simulator/camera/servoSimuCylinder2DCamVelocityDisplay.cpp b/example/robot-simulator/camera/servoSimuCylinder2DCamVelocityDisplay.cpp
index c954a04ff7cbc5a7bcd6b3a206ec1f021a9a1fc4..091b86c0b96bc2d46fc3fcf953306230245db7d2 100644
--- a/example/robot-simulator/camera/servoSimuCylinder2DCamVelocityDisplay.cpp
+++ b/example/robot-simulator/camera/servoSimuCylinder2DCamVelocityDisplay.cpp
@@ -53,7 +53,7 @@
 #include <visp/vpDebug.h>
 #include <visp/vpConfig.h>
 
-#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI))
+#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI)  || defined(VISP_HAVE_OPENCV))
 
 #include <stdlib.h>
 #include <stdio.h>
@@ -63,6 +63,7 @@
 #include <visp/vpDisplayX.h>
 #include <visp/vpDisplayGTK.h>
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpFeatureBuilder.h>
 #include <visp/vpFeatureLine.h>
 #include <visp/vpHomogeneousMatrix.h>
@@ -177,6 +178,8 @@ main(int argc, const char ** argv)
     vpDisplayGTK display;
 #elif defined VISP_HAVE_GDI
     vpDisplayGDI display;
+#elif defined VISP_HAVE_OPENCV
+    vpDisplayOpenCV display;
 #endif
 
     if (opt_display) {
@@ -336,7 +339,7 @@ main(int argc, const char ** argv)
 int
 main()
 {
-  vpERROR_TRACE("You do not have X11, GTK or GDI display functionalities...");
+  vpERROR_TRACE("You do not have X11, GTK, GDI or OpenCV display functionalities...");
 }
 
 #endif
diff --git a/example/robot-simulator/camera/servoSimuCylinder2DCamVelocityDisplaySecondaryTask.cpp b/example/robot-simulator/camera/servoSimuCylinder2DCamVelocityDisplaySecondaryTask.cpp
index 4efd20a724b4bcb9abb20df6445be3fd1df39e83..efc02a5fb1e80f4178b5c7a790e099d38a0a07be 100644
--- a/example/robot-simulator/camera/servoSimuCylinder2DCamVelocityDisplaySecondaryTask.cpp
+++ b/example/robot-simulator/camera/servoSimuCylinder2DCamVelocityDisplaySecondaryTask.cpp
@@ -56,7 +56,7 @@
 
 #include <visp/vpConfig.h>
 
-#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI))
+#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV))
 
 #include <stdlib.h>
 #include <stdio.h>
@@ -66,6 +66,7 @@
 #include <visp/vpDisplayX.h>
 #include <visp/vpDisplayGTK.h>
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpFeatureBuilder.h>
 #include <visp/vpFeatureLine.h>
 #include <visp/vpHomogeneousMatrix.h>
@@ -184,6 +185,9 @@ main(int argc, const char ** argv)
 #elif defined VISP_HAVE_GDI
     vpDisplayGDI displayInt;
     vpDisplayGDI displayExt;
+#elif defined VISP_HAVE_OPENCV
+    vpDisplayOpenCV displayInt;
+    vpDisplayOpenCV displayExt;
 #endif
 
     if (opt_display) {
@@ -456,7 +460,7 @@ main(int argc, const char ** argv)
 
 int main()
 {
-  std::cout << "You do not have X11, GTK or GDI display functionalities..." << std::endl;
+  std::cout << "You do not have X11, GTK, GDI or OpenCV display functionalities..." << std::endl;
 }
 
 #endif
diff --git a/example/robot-simulator/camera/servoSimuFourPoints2DCamVelocityDisplay.cpp b/example/robot-simulator/camera/servoSimuFourPoints2DCamVelocityDisplay.cpp
index fd2272a00291fd825085cdffd7865b26a7e91caf..e3f31a09c1cd3ed02931d4293409ba45cc4ba292 100644
--- a/example/robot-simulator/camera/servoSimuFourPoints2DCamVelocityDisplay.cpp
+++ b/example/robot-simulator/camera/servoSimuFourPoints2DCamVelocityDisplay.cpp
@@ -58,7 +58,7 @@
 
 #include <visp/vpConfig.h>
 
-#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI))
+#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV))
 
 #include <stdlib.h>
 #include <stdio.h>
@@ -67,6 +67,7 @@
 #include <visp/vpDisplayX.h>
 #include <visp/vpDisplayGTK.h>
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpFeatureBuilder.h>
 #include <visp/vpFeaturePoint.h>
 #include <visp/vpHomogeneousMatrix.h>
@@ -182,6 +183,9 @@ main(int argc, const char ** argv)
 #elif defined VISP_HAVE_GDI
     vpDisplayGDI displayInt;
     vpDisplayGDI displayExt;
+#elif defined VISP_HAVE_OPENCV
+    vpDisplayOpenCV displayInt;
+    vpDisplayOpenCV displayExt;
 #endif
 
     // open a display for the visualization
@@ -352,7 +356,7 @@ main(int argc, const char ** argv)
 
 int main()
 {
-  std::cout << "You do not have X11, GTK or GDI display functionalities..." << std::endl;
+  std::cout << "You do not have X11, GTK, GDI or OpenCV display functionalities..." << std::endl;
 }
 
 #endif
diff --git a/example/robot-simulator/camera/servoSimuFourPoints2DPolarCamVelocityDisplay.cpp b/example/robot-simulator/camera/servoSimuFourPoints2DPolarCamVelocityDisplay.cpp
index 5ab53ca93d968018916a95b9127bda2eadf1cdf2..8e9d1b68c223c6fcf49ed57ce274bbf84d2bbd74 100644
--- a/example/robot-simulator/camera/servoSimuFourPoints2DPolarCamVelocityDisplay.cpp
+++ b/example/robot-simulator/camera/servoSimuFourPoints2DPolarCamVelocityDisplay.cpp
@@ -60,7 +60,7 @@
 #include <visp/vpDebug.h>
 #include <visp/vpConfig.h>
 
-#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI))
+#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV))
 
 #include <stdlib.h>
 #include <stdio.h>
@@ -69,6 +69,7 @@
 #include <visp/vpDisplayX.h>
 #include <visp/vpDisplayGTK.h>
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpFeatureBuilder.h>
 #include <visp/vpFeaturePointPolar.h>
 #include <visp/vpHomogeneousMatrix.h>
@@ -225,6 +226,9 @@ main(int argc, const char ** argv)
 #elif defined VISP_HAVE_GDI
     vpDisplayGDI displayInt;
     vpDisplayGDI displayExt;
+#elif defined VISP_HAVE_OPENCV
+    vpDisplayOpenCV displayInt;
+    vpDisplayOpenCV displayExt;
 #endif
 
     // open a display for the visualization
@@ -471,8 +475,8 @@ main(int argc, const char ** argv)
         ip.set_j( 10 );
 
         std::cout << "\nClick in the internal camera view to continue..." << std::endl;
-        vpDisplay::displayCharString(Iint, ip,
-                                     "A click to continue...",vpColor::red);
+        vpDisplay::displayText(Iint, ip,
+                               "A click to continue...",vpColor::red);
         vpDisplay::flush(Iint);
         vpDisplay::getClick(Iint);
       }
@@ -507,7 +511,7 @@ main(int argc, const char ** argv)
 int
 main()
 {
-  vpERROR_TRACE("You do not have X11, GTK or GDI display functionalities...");
+  std::cout << "You do not have X11, GTK, GDI or OpenCV display functionalities..." << std::endl;
 }
 
 #endif
diff --git a/example/robot-simulator/camera/servoSimuLine2DCamVelocityDisplay.cpp b/example/robot-simulator/camera/servoSimuLine2DCamVelocityDisplay.cpp
index 00649106c4a2bdceb8f4099793d07bcd504244bd..54c535143d04392ff71c4d160b5414be7ccb60ee 100644
--- a/example/robot-simulator/camera/servoSimuLine2DCamVelocityDisplay.cpp
+++ b/example/robot-simulator/camera/servoSimuLine2DCamVelocityDisplay.cpp
@@ -53,7 +53,7 @@
 #include <visp/vpDebug.h>
 #include <visp/vpConfig.h>
 
-#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI))
+#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV))
 
 #include <stdlib.h>
 #include <stdio.h>
@@ -62,6 +62,7 @@
 #include <visp/vpDisplayX.h>
 #include <visp/vpDisplayGTK.h>
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpFeatureBuilder.h>
 #include <visp/vpFeatureLine.h>
 #include <visp/vpHomogeneousMatrix.h>
@@ -177,6 +178,8 @@ main(int argc, const char ** argv)
     vpDisplayGTK display;
 #elif defined VISP_HAVE_GDI
     vpDisplayGDI display;
+#elif defined VISP_HAVE_OPENCV
+    vpDisplayOpenCV display;
 #endif
 
     if (opt_display) {
@@ -324,7 +327,7 @@ main(int argc, const char ** argv)
 int
 main()
 {
-  vpERROR_TRACE("You do not have X11, GTK or GDI display functionalities...");
+  std::cout << "You do not have X11, GTK, GDI or OpenCV display functionalities..." << std::endl;
 }
 
 #endif
diff --git a/example/robot-simulator/camera/servoSimuSquareLine2DCamVelocityDisplay.cpp b/example/robot-simulator/camera/servoSimuSquareLine2DCamVelocityDisplay.cpp
index dc5da979ca921ef00a11237c523d7f9ee79ed3f3..5d9f60850d5830cf88ae6217ea27de0e23c19ac0 100644
--- a/example/robot-simulator/camera/servoSimuSquareLine2DCamVelocityDisplay.cpp
+++ b/example/robot-simulator/camera/servoSimuSquareLine2DCamVelocityDisplay.cpp
@@ -53,7 +53,7 @@
 #include <visp/vpDebug.h>
 #include <visp/vpConfig.h>
 
-#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI))
+#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV))
 
 #include <stdlib.h>
 #include <stdio.h>
@@ -62,6 +62,7 @@
 #include <visp/vpDisplayX.h>
 #include <visp/vpDisplayGTK.h>
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpFeatureBuilder.h>
 #include <visp/vpFeatureLine.h>
 #include <visp/vpHomogeneousMatrix.h>
@@ -178,6 +179,8 @@ main(int argc, const char ** argv)
     vpDisplayGTK display;
 #elif defined VISP_HAVE_GDI
     vpDisplayGDI display;
+#elif defined VISP_HAVE_OPENCV
+    vpDisplayOpenCV display;
 #endif
 
     if (opt_display) {
@@ -337,7 +340,7 @@ main(int argc, const char ** argv)
 int
 main()
 {
-  vpERROR_TRACE("You do not have X11, GTK or GDI display functionalities...");
+  std::cout << "You do not have X11, GTK, GDI or OpenCV display functionalities..." << std::endl;
 }
 
 #endif
diff --git a/example/robot-simulator/viper850/CMakeLists.txt b/example/robot-simulator/viper850/CMakeLists.txt
index e33e6c99c3344c20d300272f1610c3e48865ecf9..f15684b51ebcd8f20542df187c6e109135650a6b 100644
--- a/example/robot-simulator/viper850/CMakeLists.txt
+++ b/example/robot-simulator/viper850/CMakeLists.txt
@@ -43,25 +43,24 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
-servoSimuViper850FourPoints2DCamVelocity.cpp
+set(SOURCE
+  servoSimuViper850FourPoints2DCamVelocity.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-ENDFOREACH(source)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
 
 # Add test
-ADD_TEST(servoSimuViper850FourPoints2DCamVelocity	servoSimuViper850FourPoints2DCamVelocity -c ${OPTION_TO_DESACTIVE_DISPLAY})
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+add_test(servoSimuViper850FourPoints2DCamVelocity	servoSimuViper850FourPoints2DCamVelocity -c ${OPTION_TO_DESACTIVE_DISPLAY})
diff --git a/example/servo-afma4/CMakeLists.txt b/example/servo-afma4/CMakeLists.txt
index d7be99ed9fa297aed1e1818c5728fd8c8884f71d..ef53ba46a1fa58c374b9b1882f0aaca2a88b3638 100644
--- a/example/servo-afma4/CMakeLists.txt
+++ b/example/servo-afma4/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,7 +43,7 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   moveAfma4.cpp
   servoAfma4Point2DArtVelocity.cpp
   servoAfma4Point2DCamVelocity.cpp
@@ -51,12 +51,16 @@ SET (SOURCE
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-ENDFOREACH(source)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
diff --git a/example/servo-afma6/CMakeLists.txt b/example/servo-afma6/CMakeLists.txt
index f010c4a76b34a5af550cbb6d8e9122d113cf3dce..1cc2addfb1310344d8a90955865ab5cd15316d61 100644
--- a/example/servo-afma6/CMakeLists.txt
+++ b/example/servo-afma6/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,7 +43,7 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   servoAfma6Ellipse2DCamVelocity.cpp
   servoAfma6FourPoints2DArtVelocity.cpp
   servoAfma6FourPoints2DCamVelocityInteractionDesired.cpp
@@ -61,14 +61,16 @@ SET (SOURCE
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-  # Add test
-#  ADD_TEST(${binary} ${binary})
-ENDFOREACH(source)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
diff --git a/example/servo-afma6/servoAfma6Points2DCamVelocityEyeToHand.cpp b/example/servo-afma6/servoAfma6Points2DCamVelocityEyeToHand.cpp
index f42ea7315a054d87586fd6b55f3015bc88bfe1cf..10652314030266797561532885faaf3c3d4c9f30 100644
--- a/example/servo-afma6/servoAfma6Points2DCamVelocityEyeToHand.cpp
+++ b/example/servo-afma6/servoAfma6Points2DCamVelocityEyeToHand.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: servoAfma6Points2DCamVelocityEyeToHand.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: servoAfma6Points2DCamVelocityEyeToHand.cpp 5004 2014-11-24 08:24:18Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -284,14 +284,10 @@ int main()
       vpDisplay::display(I) ;
       ip.set_i( 265 );
       ip.set_j( 150 );
-      vpDisplay::displayCharString(I, ip,
-                                   "Eye-To-Hand Visual Servoing",
-                                   vpColor::green) ;
+      vpDisplay::displayText(I, ip, "Eye-To-Hand Visual Servoing", vpColor::green) ;
       ip.set_i( 280 );
       ip.set_j( 150 );
-      vpDisplay::displayCharString(I, ip,
-                                   "IRISA-INRIA Rennes, Lagadic project",
-                                   vpColor::green) ;
+      vpDisplay::displayText(I, ip, "IRISA-INRIA Rennes, Lagadic project", vpColor::green) ;
       try
 	    {
 	      for (i=0 ; i < nbPoint ; i++)
diff --git a/example/servo-biclops/CMakeLists.txt b/example/servo-biclops/CMakeLists.txt
index 0c420c620e548e5da7e685e067a2dd9e389a6dab..183f15df7e76abb24cd5d4640a893abdc6930975 100644
--- a/example/servo-biclops/CMakeLists.txt
+++ b/example/servo-biclops/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,17 +43,22 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   moveBiclops.cpp
   servoBiclopsPoint2DArtVelocity.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
-ENDFOREACH(source)
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
diff --git a/example/servo-pioneer/CMakeLists.txt b/example/servo-pioneer/CMakeLists.txt
index cbdfedf19af0df91f384fc2d8f0e9613c188d7f7..76781f855d47568e85e4a144aead1189cae1b968 100644
--- a/example/servo-pioneer/CMakeLists.txt
+++ b/example/servo-pioneer/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,7 +43,7 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   movePioneer.cpp
   servoPioneerPoint2DDepth.cpp
   servoPioneerPoint2DDepthWithoutVpServo.cpp
@@ -52,12 +52,17 @@ SET (SOURCE
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
-ENDFOREACH(source)
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
 
diff --git a/example/servo-pioneer/servoPioneerPoint2DDepth.cpp b/example/servo-pioneer/servoPioneerPoint2DDepth.cpp
index 39ebfbfdd86b0395851e935bef39ceddaad35f04..73e89af79f76d9bd1122eeec40fa652ff6336879 100644
--- a/example/servo-pioneer/servoPioneerPoint2DDepth.cpp
+++ b/example/servo-pioneer/servoPioneerPoint2DDepth.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: servoPioneerPoint2DDepth.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: servoPioneerPoint2DDepth.cpp 5128 2015-01-06 11:46:58Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -60,7 +60,7 @@
 #include <visp/vpServo.h>
 #include <visp/vpVelocityTwistMatrix.h>
 
-#if defined(VISP_HAVE_DC1394_2) || defined(VISP_HAVE_V4L2) || defined(VISP_HAVE_CMU1394) || defined(VISP_HAVE_OPENCV)
+#if defined(VISP_HAVE_DC1394_2) || defined(VISP_HAVE_V4L2) || defined(VISP_HAVE_CMU1394) || (VISP_HAVE_OPENCV_VERSION >= 0x020100)
 #if defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI)
 #if defined(VISP_HAVE_PIONEER)
 #  define TEST_COULD_BE_ACHIEVED
diff --git a/example/servo-pioneer/servoPioneerPoint2DDepthWithoutVpServo.cpp b/example/servo-pioneer/servoPioneerPoint2DDepthWithoutVpServo.cpp
index 610da20df53025bc1480a6e654989fd2c357cbfb..f43906e70599a17f9d4c0d9471b72bd4b6af9078 100644
--- a/example/servo-pioneer/servoPioneerPoint2DDepthWithoutVpServo.cpp
+++ b/example/servo-pioneer/servoPioneerPoint2DDepthWithoutVpServo.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: servoPioneerPoint2DDepthWithoutVpServo.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: servoPioneerPoint2DDepthWithoutVpServo.cpp 5128 2015-01-06 11:46:58Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -58,7 +58,7 @@
 #include <visp/vpV4l2Grabber.h>
 #include <visp/vpVelocityTwistMatrix.h>
 
-#if defined(VISP_HAVE_DC1394_2) || defined(VISP_HAVE_V4L2) || defined(VISP_HAVE_CMU1394) || defined(VISP_HAVE_OPENCV)
+#if defined(VISP_HAVE_DC1394_2) || defined(VISP_HAVE_V4L2) || defined(VISP_HAVE_CMU1394) || (VISP_HAVE_OPENCV_VERSION >= 0x020100)
 #if defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI)
 #if defined(VISP_HAVE_PIONEER)
 #  define TEST_COULD_BE_ACHIEVED
diff --git a/example/servo-pioneer/sonarPioneerReader.cpp b/example/servo-pioneer/sonarPioneerReader.cpp
index 531fb8b332b0015443abb6e4e60bee3b5feaf792..e40043d99599cfd2c4adbe8a87aa36eb8a6fb343 100644
--- a/example/servo-pioneer/sonarPioneerReader.cpp
+++ b/example/servo-pioneer/sonarPioneerReader.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: sonarPioneerReader.cpp 4604 2014-01-21 14:15:23Z fspindle $
+ * $Id: sonarPioneerReader.cpp 4814 2014-07-31 11:38:39Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -287,7 +287,7 @@ int main(int argc, char **argv)
             std::string username = vpIoTools::getUserName();
 
             // Append to the output path string, the login name of the user
-            opath +=  vpIoTools::path("/") + username;
+            opath = vpIoTools::createFilePath(opath, username);
 
             // Test if the output path exist. If no try to create it
             if (vpIoTools::checkDirectory(opath) == false) {
diff --git a/example/servo-ptu46/CMakeLists.txt b/example/servo-ptu46/CMakeLists.txt
index 5cab5447d89b87e408b143c74782c0b7ca190203..9135d34d5016974d5039908cc87e80ff33ebfe0a 100644
--- a/example/servo-ptu46/CMakeLists.txt
+++ b/example/servo-ptu46/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,18 +43,22 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   movePtu46.cpp
   servoPtu46Point2DArtVelocity.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
-ENDFOREACH(source)
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
diff --git a/example/servo-viper650/CMakeLists.txt b/example/servo-viper650/CMakeLists.txt
index f1dc24192bdcddc5b9700b6e59c7e837c90ef79f..eefd0ef6770c21a8433ccfe5b3048a439b5ccdd6 100644
--- a/example/servo-viper650/CMakeLists.txt
+++ b/example/servo-viper650/CMakeLists.txt
@@ -43,19 +43,24 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   servoViper650Point2DCamVelocity.cpp
   servoViper650FourPoints2DArtVelocityInteractionCurrent.cpp
   servoViper650FourPoints2DCamVelocityInteractionCurrent.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
-ENDFOREACH(source)
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
 
diff --git a/example/servo-viper650/servoViper650Point2DCamVelocity.cpp b/example/servo-viper650/servoViper650Point2DCamVelocity.cpp
index fba34b3d6026286614bc3169887ae0cefe69ff35..60cab3e285f227e241e88b225c973a614b83e63e 100644
--- a/example/servo-viper650/servoViper650Point2DCamVelocity.cpp
+++ b/example/servo-viper650/servoViper650Point2DCamVelocity.cpp
@@ -62,7 +62,7 @@
 #include <fstream>
 #include <sstream>
 
-#if (defined (VISP_HAVE_VIPER650) && defined (VISP_HAVE_DC1394_2))
+#if (defined (VISP_HAVE_VIPER650) && defined (VISP_HAVE_DC1394_2) && defined (VISP_HAVE_X11))
 
 #include <visp/vp1394TwoGrabber.h>
 #include <visp/vpImage.h>
diff --git a/example/servo-viper850/CMakeLists.txt b/example/servo-viper850/CMakeLists.txt
index 641b2309365c6356fd3f54e511f984bb80586d7e..e93f230b9c38a146dc6e869d1a6ee9286beaecd6 100644
--- a/example/servo-viper850/CMakeLists.txt
+++ b/example/servo-viper850/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,7 +43,7 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   servoViper850FourPoints2DArtVelocityInteractionCurrent.cpp
   servoViper850FourPoints2DArtVelocityInteractionDesired.cpp
   servoViper850FourPoints2DCamVelocityInteractionCurrent.cpp
@@ -55,12 +55,16 @@ SET (SOURCE
   servoViper850Point2DCamVelocityKalman.cpp
 )
 
-# rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
-ENDFOREACH(source)
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
diff --git a/example/servo-viper850/servoViper850Point2DArtVelocity-jointAvoidance-basic.cpp b/example/servo-viper850/servoViper850Point2DArtVelocity-jointAvoidance-basic.cpp
index bf3aaa8532dfd89ba40ea465bd43464b7994b497..ea887eb7629f1989d8b517ea5f544f168e85ad8d 100644
--- a/example/servo-viper850/servoViper850Point2DArtVelocity-jointAvoidance-basic.cpp
+++ b/example/servo-viper850/servoViper850Point2DArtVelocity-jointAvoidance-basic.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: servoViper850Point2DArtVelocity-jointAvoidance-basic.cpp 4664 2014-02-16 16:17:54Z fspindle $
+ * $Id: servoViper850Point2DArtVelocity-jointAvoidance-basic.cpp 4698 2014-03-26 06:55:37Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -62,7 +62,7 @@
 #include <cmath>    // std::fabs
 #include <limits>   // numeric_limits
 
-#if (defined (VISP_HAVE_VIPER850) && defined (VISP_HAVE_DC1394_2))
+#if (defined (VISP_HAVE_VIPER850) && defined (VISP_HAVE_DC1394_2) && defined(VISP_HAVE_DISPLAY))
 
 #include <visp/vp1394TwoGrabber.h>
 #include <visp/vpImage.h>
diff --git a/example/servo-viper850/servoViper850Point2DArtVelocity-jointAvoidance-gpa.cpp b/example/servo-viper850/servoViper850Point2DArtVelocity-jointAvoidance-gpa.cpp
index 4e5b56c7bac8c708779d6f6ba4343aa52cf24f6f..da8769045b9c385bb67d370ea9a5a251cebb91a8 100644
--- a/example/servo-viper850/servoViper850Point2DArtVelocity-jointAvoidance-gpa.cpp
+++ b/example/servo-viper850/servoViper850Point2DArtVelocity-jointAvoidance-gpa.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: servoViper850Point2DArtVelocity-jointAvoidance-gpa.cpp 4664 2014-02-16 16:17:54Z fspindle $
+ * $Id: servoViper850Point2DArtVelocity-jointAvoidance-gpa.cpp 4698 2014-03-26 06:55:37Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -59,7 +59,7 @@
 #include <fstream>
 #include <sstream>
 
-#if (defined (VISP_HAVE_VIPER850) && defined (VISP_HAVE_DC1394_2))
+#if (defined (VISP_HAVE_VIPER850) && defined (VISP_HAVE_DC1394_2) && defined(VISP_HAVE_DISPLAY))
 
 #include <visp/vp1394TwoGrabber.h>
 #include <visp/vpImage.h>
diff --git a/example/tools/CMakeLists.txt b/example/tools/CMakeLists.txt
index b1bab01c98c60243728cb5b0e32f8c5f6ce72c48..cad994093012a68697898b1ad30f937d3fca0eaf 100644
--- a/example/tools/CMakeLists.txt
+++ b/example/tools/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,7 +43,7 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   keyboard.cpp
   parallelPort.cpp
   plot2d.cpp
@@ -52,22 +52,18 @@ SET (SOURCE
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-  # Add test
-  #ADD_TEST(${binary} ${binary})
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
 
-ENDFOREACH(source)
-
-ADD_TEST(histogram histogram)
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+add_test(histogram histogram)
diff --git a/example/tools/histogram.cpp b/example/tools/histogram.cpp
index 23f7347dc9f0934fd5c093b0c02d59e4f3cdf9eb..d6d4fe98c76d92ecdd7f5078abc902f0d7dcf0cd 100644
--- a/example/tools/histogram.cpp
+++ b/example/tools/histogram.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: histogram.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: histogram.cpp 4814 2014-07-31 11:38:39Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -173,11 +173,8 @@ main(int argc, const char ** argv)
     std::string filename;
     std::string username;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
-    //  std::cout << "env_ipath: " << env_ipath << std::endl;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -205,7 +202,7 @@ main(int argc, const char ** argv)
       opath = opt_opath;
 
     // Append to the output path string, the login name of the user
-    std::string dirname = opath +  vpIoTools::path("/") + username;
+    std::string dirname = vpIoTools::createFilePath(opath, username);
 
     // Test if the output path exist. If no try to create it
     if (vpIoTools::checkDirectory(dirname) == false) {
@@ -253,7 +250,7 @@ main(int argc, const char ** argv)
     // Load a grey image from the disk
     filename = ipath;
     if (opt_ipath.empty())
-      filename +=  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+      filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.pgm");
 
     std::cout << "Read: " << filename << std::endl;
     vpImageIo::read(I, filename) ;
diff --git a/example/tools/plot3d.cpp b/example/tools/plot3d.cpp
index 9485e5983a92c1990146b127c99fc6998c9fa8d5..39e7f72c8705969c047f9adb3977268d78a040c4 100755
--- a/example/tools/plot3d.cpp
+++ b/example/tools/plot3d.cpp
@@ -82,8 +82,9 @@ int main ()
 
     unsigned long iter = 0;
 
-    std::cout << "Hit CTRL-C to exit...";
-    while(1) {
+    std::cout << "Hit CTRL-C to or right mouse button to exit..." << std::endl;
+    bool end = false;
+    while( !end ) {
       if (iter < 300) {
         //y*y+z*z = 1
         if (fabs(y) < 1.0)
@@ -91,8 +92,10 @@ int main ()
         else z = 0;
 
         //Add points to the graphic
-        plot.plot(0,0, x, y,z*zsign);
-        plot.plot(0,1, x, -y,-z*zsign);
+        if (plot.plot(0,0, x,  y,  z*zsign) == vpMouseButton::button3)
+          end = true;
+        if (plot.plot(0,1, x, -y, -z*zsign) == vpMouseButton::button3)
+          end = true;
 
         x += dx;
 
@@ -105,12 +108,13 @@ int main ()
       else {
         // Tip: to allows modifying the point of view with the mouse we
         // plot always the last point
-        plot.plot(0,0, x, y,z*zsign);
-        plot.plot(0,1, x, -y,-z*zsign);
+        if (plot.plot(0,0, x, y,z*zsign) == vpMouseButton::button3)
+          end = true;
+        if (plot.plot(0,1, x, -y,-z*zsign) == vpMouseButton::button3)
+          end = true;
       }
       iter ++;
     }
-
     return 0;
   }
   catch(vpException e) {
diff --git a/example/tracking/CMakeLists.txt b/example/tracking/CMakeLists.txt
index 21287d1d91b7462fc3cee4bfe7407804843dc4bc..fad0953d92d1f9aa9d0d4b7d476d00409152657d 100644
--- a/example/tracking/CMakeLists.txt
+++ b/example/tracking/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,7 +43,7 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   mbtEdgeTracking.cpp
   mbtEdgeKltTracking.cpp
   mbtKltTracking.cpp
@@ -59,102 +59,108 @@ SET (SOURCE
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-
-ENDFOREACH(source)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
 
 # Add test
-ADD_TEST(mbtEdgeTracking    mbtEdgeTracking -c ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(mbtEdgeKltTracking mbtEdgeKltTracking -c ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(mbtKltTracking     mbtKltTracking -c ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(trackDot2WithAutoDetection trackDot2WithAutoDetection -c ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(trackMeCircle    trackMeCircle -c ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(trackMeEllipse   trackMeEllipse -c ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(trackMeLine      trackMeLine -c ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(trackMeNurbs     trackMeNurbs -c ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(trackDot         trackDot -c ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(trackDot2        trackDot2 -c ${OPTION_TO_DESACTIVE_DISPLAY})
-
-#ADD_TEST(templateTracker-SSDESM-Affine        templateTracker -c -l 2 -t 0 -w 0 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-SSDESM-Homography    templateTracker -c -l 2 -t 0 -w 1 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-SSDESM-HomographySL3 templateTracker -c -l 2 -t 0 -w 2 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-SSDESM-SRT           templateTracker -c -l 2 -t 0 -w 3 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-SSDESM-Translation   templateTracker -c -l 2 -t 0 -w 4 ${OPTION_TO_DESACTIVE_DISPLAY})
-
-ADD_TEST(templateTrackerPyramidal-SSDESM-Affine        templateTracker -c -l 2 -t 0 -w 0 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-SSDESM-Homography    templateTracker -c -l 2 -t 0 -w 1 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-SSDESM-HomographySL3 templateTracker -c -l 2 -t 0 -w 2 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-SSDESM-SRT           templateTracker -c -l 2 -t 0 -w 3 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-SSDESM-Translation   templateTracker -c -l 2 -t 0 -w 4 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-
-#ADD_TEST(templateTracker-SSDForwardAdditional-Affine        templateTracker -c -l 2 -t 1 -w 0 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-SSDForwardAdditional-Homography    templateTracker -c -l 2 -t 1 -w 1 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-SSDForwardAdditional-HomographySL3 templateTracker -c -l 2 -t 1 -w 2 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-SSDForwardAdditional-SRT           templateTracker -c -l 2 -t 1 -w 3 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-SSDForwardAdditional-Translation   templateTracker -c -l 2 -t 1 -w 4 ${OPTION_TO_DESACTIVE_DISPLAY})
-
-ADD_TEST(templateTrackerPyramidal-SSDForwardAdditional-Affine        templateTracker -c -l 2 -t 1 -w 0 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-SSDForwardAdditional-Homography    templateTracker -c -l 2 -t 1 -w 1 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-SSDForwardAdditional-HomographySL3 templateTracker -c -l 2 -t 1 -w 2 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-SSDForwardAdditional-SRT           templateTracker -c -l 2 -t 1 -w 3 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-SSDForwardAdditional-Translation   templateTracker -c -l 2 -t 1 -w 4 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-
-#ADD_TEST(templateTracker-SSDForwardCompositional-Affine        templateTracker -c -l 2 -t 2 -w 0 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-SSDForwardCompositional-Homography    templateTracker -c -l 2 -t 2 -w 1 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-SSDForwardCompositional-HomographySL3 templateTracker -c -l 2 -t 2 -w 2 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-SSDForwardCompositional-SRT           templateTracker -c -l 2 -t 2 -w 3 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-SSDForwardCompositional-Translation   templateTracker -c -l 2 -t 2 -w 4 ${OPTION_TO_DESACTIVE_DISPLAY})
-
-ADD_TEST(templateTrackerPyramidal-SSDForwardCompositional-Affine        templateTracker -c -l 2 -t 2 -w 0 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-SSDForwardCompositional-Homography    templateTracker -c -l 2 -t 2 -w 1 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-SSDForwardCompositional-HomographySL3 templateTracker -c -l 2 -t 2 -w 2 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-SSDForwardCompositional-SRT           templateTracker -c -l 2 -t 2 -w 3 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-SSDForwardCompositional-Translation   templateTracker -c -l 2 -t 2 -w 4 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-
-#ADD_TEST(templateTracker-SSDInverseCompositional-Affine        templateTracker -c -l 2 -t 3 -w 0 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-SSDInverseCompositional-Homography    templateTracker -c -l 2 -t 3 -w 1 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-SSDInverseCompositional-HomographySL3 templateTracker -c -l 2 -t 3 -w 2 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-SSDInverseCompositional-SRT           templateTracker -c -l 2 -t 3 -w 3 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-SSDInverseCompositional-Translation   templateTracker -c -l 2 -t 3 -w 4 ${OPTION_TO_DESACTIVE_DISPLAY})
-
-ADD_TEST(templateTrackerPyramidal-SSDInverseCompositional-Affine        templateTracker -c -l 2 -t 3 -w 0 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-SSDInverseCompositional-Homography    templateTracker -c -l 2 -t 3 -w 1 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-SSDInverseCompositional-HomographySL3 templateTracker -c -l 2 -t 3 -w 2 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-SSDInverseCompositional-SRT           templateTracker -c -l 2 -t 3 -w 3 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-SSDInverseCompositional-Translation   templateTracker -c -l 2 -t 3 -w 4 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-
-#ADD_TEST(templateTracker-ZNCCForwardAdditional-Affine        templateTracker -c -l 2 -t 4 -w 0 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-ZNCCForwardAdditional-Homography    templateTracker -c -l 2 -t 4 -w 1 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-ZNCCForwardAdditional-HomographySL3 templateTracker -c -l 2 -t 4 -w 2 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-ZNCCForwardAdditional-SRT           templateTracker -c -l 2 -t 4 -w 3 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-ZNCCForwardAdditional-Translation   templateTracker -c -l 2 -t 4 -w 4 ${OPTION_TO_DESACTIVE_DISPLAY})
-
-ADD_TEST(templateTrackerPyramidal-ZNCCForwardAdditional-Affine        templateTracker -c -l 2 -t 4 -w 0 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-ZNCCForwardAdditional-Homography    templateTracker -c -l 2 -t 4 -w 1 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-ZNCCForwardAdditional-HomographySL3 templateTracker -c -l 2 -t 4 -w 2 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-ZNCCForwardAdditional-SRT           templateTracker -c -l 2 -t 4 -w 3 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-ZNCCForwardAdditional-Translation   templateTracker -c -l 2 -t 4 -w 4 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-
-#ADD_TEST(templateTracker-ZNCCInverseCompositional-Affine        templateTracker -c -l 2 -t 5 -w 0 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-ZNCCInverseCompositional-Homography    templateTracker -c -l 2 -t 5 -w 1 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-ZNCCInverseCompositional-HomographySL3 templateTracker -c -l 2 -t 5 -w 2 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-ZNCCInverseCompositional-SRT           templateTracker -c -l 2 -t 5 -w 3 ${OPTION_TO_DESACTIVE_DISPLAY})
-#ADD_TEST(templateTracker-ZNCCInverseCompositional-Translation   templateTracker -c -l 2 -t 5 -w 4 ${OPTION_TO_DESACTIVE_DISPLAY})
-
-ADD_TEST(templateTrackerPyramidal-ZNCCInverseCompositional-Affine        templateTracker -c -l 2 -t 5 -w 0 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-ZNCCInverseCompositional-Homography    templateTracker -c -l 2 -t 5 -w 1 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-ZNCCInverseCompositional-HomographySL3 templateTracker -c -l 2 -t 5 -w 2 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-ZNCCInverseCompositional-SRT           templateTracker -c -l 2 -t 5 -w 3 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(templateTrackerPyramidal-ZNCCInverseCompositional-Translation   templateTracker -c -l 2 -t 5 -w 4 -p ${OPTION_TO_DESACTIVE_DISPLAY})
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+add_test(mbtEdgeTracking    mbtEdgeTracking -c ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(mbtEdgeKltTracking mbtEdgeKltTracking -c ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(mbtKltTracking     mbtKltTracking -c ${OPTION_TO_DESACTIVE_DISPLAY})
+
+add_test(mbtEdgeTracking-cao    mbtEdgeTracking -c -f ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(mbtEdgeKltTracking-cao mbtEdgeKltTracking -c -f ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(mbtKltTracking-cao     mbtKltTracking -c -f ${OPTION_TO_DESACTIVE_DISPLAY})
+
+add_test(mbtEdgeTracking-cao-nocyl    mbtEdgeTracking -c -f -C ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(mbtEdgeKltTracking-cao-nocyl mbtEdgeKltTracking -c -f -C ${OPTION_TO_DESACTIVE_DISPLAY})
+
+add_test(trackDot2WithAutoDetection trackDot2WithAutoDetection -c ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(trackMeCircle    trackMeCircle -c ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(trackMeEllipse   trackMeEllipse -c ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(trackMeLine      trackMeLine -c ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(trackMeNurbs     trackMeNurbs -c ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(trackDot         trackDot -c ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(trackDot2        trackDot2 -c ${OPTION_TO_DESACTIVE_DISPLAY})
+
+#add_test(templateTracker-SSDESM-Affine        templateTracker -c -l 2 -t 0 -w 0 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-SSDESM-Homography    templateTracker -c -l 2 -t 0 -w 1 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-SSDESM-HomographySL3 templateTracker -c -l 2 -t 0 -w 2 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-SSDESM-SRT           templateTracker -c -l 2 -t 0 -w 3 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-SSDESM-Translation   templateTracker -c -l 2 -t 0 -w 4 ${OPTION_TO_DESACTIVE_DISPLAY})
+
+add_test(templateTrackerPyramidal-SSDESM-Affine        templateTracker -c -l 2 -t 0 -w 0 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-SSDESM-Homography    templateTracker -c -l 2 -t 0 -w 1 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-SSDESM-HomographySL3 templateTracker -c -l 2 -t 0 -w 2 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-SSDESM-SRT           templateTracker -c -l 2 -t 0 -w 3 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-SSDESM-Translation   templateTracker -c -l 2 -t 0 -w 4 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+
+#add_test(templateTracker-SSDForwardAdditional-Affine        templateTracker -c -l 2 -t 1 -w 0 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-SSDForwardAdditional-Homography    templateTracker -c -l 2 -t 1 -w 1 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-SSDForwardAdditional-HomographySL3 templateTracker -c -l 2 -t 1 -w 2 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-SSDForwardAdditional-SRT           templateTracker -c -l 2 -t 1 -w 3 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-SSDForwardAdditional-Translation   templateTracker -c -l 2 -t 1 -w 4 ${OPTION_TO_DESACTIVE_DISPLAY})
+
+add_test(templateTrackerPyramidal-SSDForwardAdditional-Affine        templateTracker -c -l 2 -t 1 -w 0 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-SSDForwardAdditional-Homography    templateTracker -c -l 2 -t 1 -w 1 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-SSDForwardAdditional-HomographySL3 templateTracker -c -l 2 -t 1 -w 2 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-SSDForwardAdditional-SRT           templateTracker -c -l 2 -t 1 -w 3 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-SSDForwardAdditional-Translation   templateTracker -c -l 2 -t 1 -w 4 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+
+#add_test(templateTracker-SSDForwardCompositional-Affine        templateTracker -c -l 2 -t 2 -w 0 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-SSDForwardCompositional-Homography    templateTracker -c -l 2 -t 2 -w 1 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-SSDForwardCompositional-HomographySL3 templateTracker -c -l 2 -t 2 -w 2 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-SSDForwardCompositional-SRT           templateTracker -c -l 2 -t 2 -w 3 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-SSDForwardCompositional-Translation   templateTracker -c -l 2 -t 2 -w 4 ${OPTION_TO_DESACTIVE_DISPLAY})
+
+add_test(templateTrackerPyramidal-SSDForwardCompositional-Affine        templateTracker -c -l 2 -t 2 -w 0 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-SSDForwardCompositional-Homography    templateTracker -c -l 2 -t 2 -w 1 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-SSDForwardCompositional-HomographySL3 templateTracker -c -l 2 -t 2 -w 2 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-SSDForwardCompositional-SRT           templateTracker -c -l 2 -t 2 -w 3 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-SSDForwardCompositional-Translation   templateTracker -c -l 2 -t 2 -w 4 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+
+#add_test(templateTracker-SSDInverseCompositional-Affine        templateTracker -c -l 2 -t 3 -w 0 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-SSDInverseCompositional-Homography    templateTracker -c -l 2 -t 3 -w 1 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-SSDInverseCompositional-HomographySL3 templateTracker -c -l 2 -t 3 -w 2 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-SSDInverseCompositional-SRT           templateTracker -c -l 2 -t 3 -w 3 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-SSDInverseCompositional-Translation   templateTracker -c -l 2 -t 3 -w 4 ${OPTION_TO_DESACTIVE_DISPLAY})
+
+add_test(templateTrackerPyramidal-SSDInverseCompositional-Affine        templateTracker -c -l 2 -t 3 -w 0 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-SSDInverseCompositional-Homography    templateTracker -c -l 2 -t 3 -w 1 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-SSDInverseCompositional-HomographySL3 templateTracker -c -l 2 -t 3 -w 2 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-SSDInverseCompositional-SRT           templateTracker -c -l 2 -t 3 -w 3 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-SSDInverseCompositional-Translation   templateTracker -c -l 2 -t 3 -w 4 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+
+#add_test(templateTracker-ZNCCForwardAdditional-Affine        templateTracker -c -l 2 -t 4 -w 0 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-ZNCCForwardAdditional-Homography    templateTracker -c -l 2 -t 4 -w 1 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-ZNCCForwardAdditional-HomographySL3 templateTracker -c -l 2 -t 4 -w 2 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-ZNCCForwardAdditional-SRT           templateTracker -c -l 2 -t 4 -w 3 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-ZNCCForwardAdditional-Translation   templateTracker -c -l 2 -t 4 -w 4 ${OPTION_TO_DESACTIVE_DISPLAY})
+
+add_test(templateTrackerPyramidal-ZNCCForwardAdditional-Affine        templateTracker -c -l 2 -t 4 -w 0 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-ZNCCForwardAdditional-Homography    templateTracker -c -l 2 -t 4 -w 1 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-ZNCCForwardAdditional-HomographySL3 templateTracker -c -l 2 -t 4 -w 2 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-ZNCCForwardAdditional-SRT           templateTracker -c -l 2 -t 4 -w 3 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-ZNCCForwardAdditional-Translation   templateTracker -c -l 2 -t 4 -w 4 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+
+#add_test(templateTracker-ZNCCInverseCompositional-Affine        templateTracker -c -l 2 -t 5 -w 0 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-ZNCCInverseCompositional-Homography    templateTracker -c -l 2 -t 5 -w 1 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-ZNCCInverseCompositional-HomographySL3 templateTracker -c -l 2 -t 5 -w 2 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-ZNCCInverseCompositional-SRT           templateTracker -c -l 2 -t 5 -w 3 ${OPTION_TO_DESACTIVE_DISPLAY})
+#add_test(templateTracker-ZNCCInverseCompositional-Translation   templateTracker -c -l 2 -t 5 -w 4 ${OPTION_TO_DESACTIVE_DISPLAY})
+
+add_test(templateTrackerPyramidal-ZNCCInverseCompositional-Affine        templateTracker -c -l 2 -t 5 -w 0 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-ZNCCInverseCompositional-Homography    templateTracker -c -l 2 -t 5 -w 1 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-ZNCCInverseCompositional-HomographySL3 templateTracker -c -l 2 -t 5 -w 2 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-ZNCCInverseCompositional-SRT           templateTracker -c -l 2 -t 5 -w 3 -p ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(templateTrackerPyramidal-ZNCCInverseCompositional-Translation   templateTracker -c -l 2 -t 5 -w 4 -p ${OPTION_TO_DESACTIVE_DISPLAY})
diff --git a/example/tracking/mbtEdgeKltTracking.cpp b/example/tracking/mbtEdgeKltTracking.cpp
index 8fc11f8e050d7d446fa0b0c31f10e41ca67fae05..84f3853abd0a2f729bda50595704f6bfe77ac06a 100644
--- a/example/tracking/mbtEdgeKltTracking.cpp
+++ b/example/tracking/mbtEdgeKltTracking.cpp
@@ -60,7 +60,7 @@
 #include <visp/vpVideoReader.h>
 #include <visp/vpParseArgv.h>
 
-#if defined (VISP_HAVE_OPENCV) && defined (VISP_HAVE_DISPLAY)
+#if defined (VISP_HAVE_OPENCV) && defined (VISP_HAVE_DISPLAY) && (VISP_HAVE_OPENCV_VERSION >= 0x020100)
 
 
 #define GETOPTARGS  "x:m:i:n:dchtfCo"
@@ -195,17 +195,15 @@ main(int argc, const char ** argv)
     bool cao3DModel = false;
     bool trackCylinder = true;
     bool useOgre = false;
+    bool quit = false;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
       ipath = env_ipath;
 
-
     // Read the command line options
     if (!getOptions(argc, argv, opt_ipath, opt_configFile, opt_modelFile, opt_initFile, displayFeatures, opt_click_allowed, opt_display, cao3DModel, trackCylinder, useOgre)) {
       return (-1);
@@ -227,16 +225,16 @@ main(int argc, const char ** argv)
 
     // Get the option values
     if (!opt_ipath.empty())
-      ipath = opt_ipath + vpIoTools::path("/ViSP-images/mbt/cube/image%04d.pgm");
+      ipath = vpIoTools::createFilePath(opt_ipath, "ViSP-images/mbt/cube/image%04d.pgm");
     else
-      ipath = env_ipath + vpIoTools::path("/ViSP-images/mbt/cube/image%04d.pgm");
+      ipath = vpIoTools::createFilePath(env_ipath, "ViSP-images/mbt/cube/image%04d.pgm");
 
     if (!opt_configFile.empty())
       configFile = opt_configFile;
     else if (!opt_ipath.empty())
-      configFile = opt_ipath + vpIoTools::path("/ViSP-images/mbt/cube.xml");
+      configFile = vpIoTools::createFilePath(opt_ipath, "ViSP-images/mbt/cube.xml");
     else
-      configFile = env_ipath + vpIoTools::path("/ViSP-images/mbt/cube.xml");
+      configFile = vpIoTools::createFilePath(env_ipath, "ViSP-images/mbt/cube.xml");
 
     if (!opt_modelFile.empty()){
       modelFile = opt_modelFile;
@@ -244,36 +242,36 @@ main(int argc, const char ** argv)
       std::string modelFileCao;
       std::string modelFileWrl;
       if(trackCylinder){
-        modelFileCao = "/ViSP-images/mbt/cube_and_cylinder.cao";
-        modelFileWrl = "/ViSP-images/mbt/cube_and_cylinder.wrl";
+        modelFileCao = "ViSP-images/mbt/cube_and_cylinder.cao";
+        modelFileWrl = "ViSP-images/mbt/cube_and_cylinder.wrl";
       }else{
-        modelFileCao = "/ViSP-images/mbt/cube.cao";
-        modelFileWrl = "/ViSP-images/mbt/cube.wrl";
+        modelFileCao = "ViSP-images/mbt/cube.cao";
+        modelFileWrl = "ViSP-images/mbt/cube.wrl";
       }
 
       if(!opt_ipath.empty()){
         if(cao3DModel){
-          modelFile = opt_ipath + vpIoTools::path(modelFileCao);
+          modelFile = vpIoTools::createFilePath(opt_ipath, modelFileCao);
         }
         else{
 #ifdef VISP_HAVE_COIN
-          modelFile = opt_ipath + vpIoTools::path(modelFileWrl);
+          modelFile = vpIoTools::createFilePath(opt_ipath, modelFileWrl);
 #else
           std::cerr << "Coin is not detected in ViSP. Use the .cao model instead." << std::endl;
-          modelFile = opt_ipath + vpIoTools::path(modelFileCao);
+          modelFile = vpIoTools::createFilePath(opt_ipath, modelFileCao);
 #endif
         }
       }
       else{
         if(cao3DModel){
-          modelFile = env_ipath + vpIoTools::path(modelFileCao);
+          modelFile = vpIoTools::createFilePath(env_ipath, modelFileCao);
         }
         else{
 #ifdef VISP_HAVE_COIN
-          modelFile = env_ipath + vpIoTools::path(modelFileWrl);
+          modelFile = vpIoTools::createFilePath(env_ipath, modelFileWrl);
 #else
           std::cerr << "Coin is not detected in ViSP. Use the .cao model instead." << std::endl;
-          modelFile = env_ipath + vpIoTools::path(modelFileCao);
+          modelFile = vpIoTools::createFilePath(env_ipath, modelFileCao);
 #endif
         }
       }
@@ -282,14 +280,14 @@ main(int argc, const char ** argv)
     if (!opt_initFile.empty())
       initFile = opt_initFile;
     else if (!opt_ipath.empty())
-      initFile = opt_ipath + vpIoTools::path("/ViSP-images/mbt/cube");
+      initFile = vpIoTools::createFilePath(opt_ipath, "ViSP-images/mbt/cube");
     else
-      initFile = env_ipath + vpIoTools::path("/ViSP-images/mbt/cube");
+      initFile = vpIoTools::createFilePath(env_ipath, "ViSP-images/mbt/cube");
 
     vpImage<unsigned char> I;
     vpVideoReader reader;
 
-    reader.setFileName(ipath.c_str());
+    reader.setFileName(ipath);
     try{
       reader.open(I);
     }catch(...){
@@ -329,7 +327,7 @@ main(int argc, const char ** argv)
     // Initialise the tracker: camera parameters, moving edge and KLT settings
 #if defined (VISP_HAVE_XML2)
     // From the xml file
-    tracker.loadConfigFile(configFile.c_str());
+    tracker.loadConfigFile(configFile);
 #else
     // By setting the parameters:
     cam.initPersProjWithoutDistortion(547, 542, 338, 234);
@@ -341,7 +339,7 @@ main(int argc, const char ** argv)
     me.setThreshold(5000);
     me.setMu1(0.5);
     me.setMu2(0.5);
-    me.setMinSampleStep(4);
+    me.setSampleStep(4);
     me.setNbTotalSample(250);
 
     vpKltOpencv klt;
@@ -381,15 +379,13 @@ main(int argc, const char ** argv)
     {
       while(!vpDisplay::getClick(I,false)){
         vpDisplay::display(I);
-        vpDisplay::displayCharString(I, 15, 10,
-                                     "click after positioning the object",
-                                     vpColor::red);
+        vpDisplay::displayText(I, 15, 10, "click after positioning the object", vpColor::red);
         vpDisplay::flush(I) ;
       }
     }
 
     // Load the 3D model (either a vrml file or a .cao file)
-    tracker.loadModel(modelFile.c_str());
+    tracker.loadModel(modelFile);
 
     // Initialise the tracker by clicking on the image
     // This function looks for
@@ -397,7 +393,7 @@ main(int argc, const char ** argv)
     //   - a ./cube/cube.ppm file to display where the user have to click (optionnal, set by the third parameter)
     if (opt_display && opt_click_allowed)
     {
-      tracker.initClick(I, initFile.c_str(), true);
+      tracker.initClick(I, initFile, true);
       tracker.getPose(cMo);
       // display the 3D model at the given pose
       tracker.display(I,cMo, cam, vpColor::red);
@@ -425,15 +421,92 @@ main(int argc, const char ** argv)
       // display the image
       if (opt_display)
         vpDisplay::display(I);
-      // track the object
-      tracker.track(I);
-      tracker.getPose(cMo);
-      // display the 3D model
-      if (opt_display)
-      {
-        tracker.display(I, cMo, cam, vpColor::darkRed);
-        // display the frame
-        vpDisplay::displayFrame (I, cMo, cam, 0.05, vpColor::blue);
+
+      // Test to reset the tracker
+      if (reader.getFrameIndex() == reader.getFirstFrameIndex() + 10) {
+        vpTRACE("Test reset tracker");
+        if (opt_display)
+          vpDisplay::display(I);
+        tracker.resetTracker();
+#if defined (VISP_HAVE_XML2)
+        tracker.loadConfigFile(configFile);
+#else
+        // By setting the parameters:
+        cam.initPersProjWithoutDistortion(547, 542, 338, 234);
+
+        vpMe me;
+        me.setMaskSize(5);
+        me.setMaskNumber(180);
+        me.setRange(7);
+        me.setThreshold(5000);
+        me.setMu1(0.5);
+        me.setMu2(0.5);
+        me.setSampleStep(4);
+        me.setNbTotalSample(250);
+
+        vpKltOpencv klt;
+        klt.setMaxFeatures(10000);
+        klt.setWindowSize(5);
+        klt.setQuality(0.01);
+        klt.setMinDistance(5);
+        klt.setHarrisFreeParameter(0.01);
+        klt.setBlockSize(3);
+        klt.setPyramidLevels(3);
+
+        tracker.setCameraParameters(cam);
+        tracker.setMovingEdge(me);
+        tracker.setKltOpencv(klt);
+        tracker.setAngleAppear( vpMath::rad(65) );
+        tracker.setAngleDisappear( vpMath::rad(75) );
+        tracker.setMaskBorder(5);
+
+        // Specify the clipping to
+        tracker.setNearClippingDistance(0.01);
+        tracker.setFarClippingDistance(0.90);
+        tracker.setClipping(tracker.getClipping() | vpMbtPolygon::FOV_CLIPPING);
+        //   tracker.setClipping(tracker.getClipping() | vpMbtPolygon::LEFT_CLIPPING | vpMbtPolygon::RIGHT_CLIPPING | vpMbtPolygon::UP_CLIPPING | vpMbtPolygon::DOWN_CLIPPING); // Equivalent to FOV_CLIPPING
+#endif
+        tracker.loadModel(modelFile);
+        tracker.setCameraParameters(cam);
+        tracker.setOgreVisibilityTest(useOgre);
+        tracker.initFromPose(I, cMo);
+      }
+
+      // Test to set an initial pose
+      if (reader.getFrameIndex() == reader.getFirstFrameIndex() + 50) {
+        cMo.buildFrom(0.04371844921,  0.08438820979,  0.5382029442,  2.200417277,  0.873535825, -0.3479076844);
+        vpTRACE("Test set pose");
+        tracker.setPose(I, cMo);
+        if (opt_display) {
+          // display the 3D model
+          tracker.display(I, cMo, cam, vpColor::darkRed);
+          // display the frame
+          vpDisplay::displayFrame (I, cMo, cam, 0.05);
+//          if (opt_click_allowed) {
+//            vpDisplay::flush(I);
+//            vpDisplay::getClick(I);
+//          }
+        }
+      }
+
+      // track the object: stop tracking from frame 40 to 50
+      if (reader.getFrameIndex() - reader.getFirstFrameIndex() < 40 || reader.getFrameIndex() > reader.getFirstFrameIndex() + 50) {
+        tracker.track(I);
+        tracker.getPose(cMo);
+        if (opt_display) {
+          // display the 3D model
+          tracker.display(I, cMo, cam, vpColor::darkRed);
+          // display the frame
+          vpDisplay::displayFrame (I, cMo, cam, 0.05);
+        }
+      }
+
+      if (opt_click_allowed) {
+        vpDisplay::displayText(I, 10, 10, "Click to quit", vpColor::red);
+        if (vpDisplay::getClick(I, false)) {
+          quit = true;
+          break;
+        }
       }
 
       // Uncomment if you want to print the covariance matrix.
@@ -442,6 +515,9 @@ main(int argc, const char ** argv)
 
       vpDisplay::flush(I) ;
     }
+    if (opt_click_allowed && !quit) {
+      vpDisplay::getClick(I);
+    }
     reader.close();
 
 #if defined (VISP_HAVE_XML2)
@@ -449,9 +525,11 @@ main(int argc, const char ** argv)
     vpXmlParser::cleanup();
 #endif
 
-#ifdef VISP_HAVE_COIN
+#if defined(VISP_HAVE_COIN) && (COIN_MAJOR_VERSION == 3)
     // Cleanup memory allocated by Coin library used to load a vrml model in vpMbEdgeKltTracker::loadModel()
-    SoDB::finish();
+    // We clean only if Coin was used.
+    if(! cao3DModel)
+      SoDB::finish();
 #endif
 
     return 0;
diff --git a/example/tracking/mbtEdgeTracking.cpp b/example/tracking/mbtEdgeTracking.cpp
index 37c9fbe04a3f5374a4e240fa9ccba93d0f193de5..04ec00cd4b992d1b268affea8315fbea4106d55a 100644
--- a/example/tracking/mbtEdgeTracking.cpp
+++ b/example/tracking/mbtEdgeTracking.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: mbtEdgeTracking.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: mbtEdgeTracking.cpp 5156 2015-01-13 07:07:08Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -68,7 +68,7 @@
 
 void usage(const char *name, const char *badparam);
 bool getOptions(int argc, const char **argv, std::string &ipath, std::string &configFile, std::string &modelFile,
-                std::string &initFile, bool &displayMovingEdge, bool &click_allowed, bool &display,
+                std::string &initFile, bool &displayFeatures, bool &click_allowed, bool &display,
                 bool& cao3DModel, bool& trackCylinder, bool &useOgre);
 
 void usage(const char *name, const char *badparam)
@@ -140,7 +140,7 @@ OPTIONS:                                               \n\
 
 
 bool getOptions(int argc, const char **argv, std::string &ipath, std::string &configFile, std::string &modelFile,
-                std::string &initFile, bool &displayMovingEdge, bool &click_allowed, bool &display,
+                std::string &initFile, bool &displayFeatures, bool &click_allowed, bool &display,
                 bool& cao3DModel, bool& trackCylinder, bool &useOgre)
 {
   const char *optarg_;
@@ -152,12 +152,12 @@ bool getOptions(int argc, const char **argv, std::string &ipath, std::string &co
     case 'x': configFile = optarg_; break;
     case 'm': modelFile = optarg_; break;
     case 'n': initFile = optarg_; break;
-    case 't': displayMovingEdge = false; break;
+    case 't': displayFeatures = false; break;
     case 'f': cao3DModel = true; break;
     case 'c': click_allowed = false; break;
     case 'd': display = false; break;
     case 'C': trackCylinder = false; break;
-    case 'o' : useOgre = true; break;
+    case 'o': useOgre = true; break;
     case 'h': usage(argv[0], NULL); return false; break;
 
     default:
@@ -190,17 +190,16 @@ main(int argc, const char ** argv)
     std::string modelFile;
     std::string opt_initFile;
     std::string initFile;
-    bool displayMovingEdge = true;
+    bool displayFeatures = true;
     bool opt_click_allowed = true;
     bool opt_display = true;
     bool cao3DModel = false;
     bool trackCylinder = true;
     bool useOgre = false;
+    bool quit = false;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -208,7 +207,7 @@ main(int argc, const char ** argv)
 
 
     // Read the command line options
-    if (!getOptions(argc, argv, opt_ipath, opt_configFile, opt_modelFile, opt_initFile, displayMovingEdge, opt_click_allowed, opt_display, cao3DModel, trackCylinder, useOgre)) {
+    if (!getOptions(argc, argv, opt_ipath, opt_configFile, opt_modelFile, opt_initFile, displayFeatures, opt_click_allowed, opt_display, cao3DModel, trackCylinder, useOgre)) {
       return (-1);
     }
 
@@ -228,16 +227,16 @@ main(int argc, const char ** argv)
 
     // Get the option values
     if (!opt_ipath.empty())
-      ipath = opt_ipath + vpIoTools::path("/ViSP-images/mbt/cube/image%04d.pgm");
+      ipath = vpIoTools::createFilePath(opt_ipath, "ViSP-images/mbt/cube/image%04d.pgm");
     else
-      ipath = env_ipath + vpIoTools::path("/ViSP-images/mbt/cube/image%04d.pgm");
+      ipath = vpIoTools::createFilePath(env_ipath, "ViSP-images/mbt/cube/image%04d.pgm");
 
     if (!opt_configFile.empty())
       configFile = opt_configFile;
     else if (!opt_ipath.empty())
-      configFile = opt_ipath + vpIoTools::path("/ViSP-images/mbt/cube.xml");
+      configFile = vpIoTools::createFilePath(opt_ipath, "ViSP-images/mbt/cube.xml");
     else
-      configFile = env_ipath + vpIoTools::path("/ViSP-images/mbt/cube.xml");
+      configFile = vpIoTools::createFilePath(env_ipath, "ViSP-images/mbt/cube.xml");
 
     if (!opt_modelFile.empty()){
       modelFile = opt_modelFile;
@@ -245,40 +244,36 @@ main(int argc, const char ** argv)
       std::string modelFileCao;
       std::string modelFileWrl;
       if(trackCylinder){
-        modelFileCao = "/ViSP-images/mbt/cube_and_cylinder.cao";
-        modelFileWrl = "/ViSP-images/mbt/cube_and_cylinder.wrl";
+        modelFileCao = "ViSP-images/mbt/cube_and_cylinder.cao";
+        modelFileWrl = "ViSP-images/mbt/cube_and_cylinder.wrl";
       }else{
-        modelFileCao = "/ViSP-images/mbt/cube.cao";
-        modelFileWrl = "/ViSP-images/mbt/cube.wrl";
+        modelFileCao = "ViSP-images/mbt/cube.cao";
+        modelFileWrl = "ViSP-images/mbt/cube.wrl";
       }
 
       if(!opt_ipath.empty()){
         if(cao3DModel){
-          std::cout << "use cao" << std::endl;
-          modelFile = opt_ipath + vpIoTools::path(modelFileCao);
+          modelFile = vpIoTools::createFilePath(opt_ipath, modelFileCao);
         }
         else{
 #ifdef VISP_HAVE_COIN
-          std::cout << "use wrl" << std::endl;
-          modelFile = opt_ipath + vpIoTools::path(modelFileWrl);
+          modelFile = vpIoTools::createFilePath(opt_ipath, modelFileWrl);
 #else
           std::cerr << "Coin is not detected in ViSP. Use the .cao model instead." << std::endl;
-          modelFile = opt_ipath + vpIoTools::path(modelFileCao);
+          modelFile = vpIoTools::createFilePath(opt_ipath, modelFileCao);
 #endif
         }
       }
       else{
         if(cao3DModel){
-          std::cout << "use cao" << std::endl;
-          modelFile = env_ipath + vpIoTools::path(modelFileCao);
+          modelFile = vpIoTools::createFilePath(env_ipath, modelFileCao);
         }
         else{
 #ifdef VISP_HAVE_COIN
-          std::cout << "use wrl" << std::endl;
-          modelFile = env_ipath + vpIoTools::path(modelFileWrl);
+          modelFile = vpIoTools::createFilePath(env_ipath, modelFileWrl);
 #else
           std::cerr << "Coin is not detected in ViSP. Use the .cao model instead." << std::endl;
-          modelFile = env_ipath + vpIoTools::path(modelFileCao);
+          modelFile = vpIoTools::createFilePath(env_ipath, modelFileCao);
 #endif
         }
       }
@@ -287,14 +282,14 @@ main(int argc, const char ** argv)
     if (!opt_initFile.empty())
       initFile = opt_initFile;
     else if (!opt_ipath.empty())
-      initFile = opt_ipath + vpIoTools::path("/ViSP-images/mbt/cube");
+      initFile = vpIoTools::createFilePath(opt_ipath, "ViSP-images/mbt/cube");
     else
-      initFile = env_ipath + vpIoTools::path("/ViSP-images/mbt/cube");
+      initFile = vpIoTools::createFilePath(env_ipath, "ViSP-images/mbt/cube");
 
     vpImage<unsigned char> I;
     vpVideoReader reader;
 
-    reader.setFileName(ipath.c_str());
+    reader.setFileName(ipath);
     try{
       reader.open(I);
     }catch(...){
@@ -334,7 +329,7 @@ main(int argc, const char ** argv)
     vpCameraParameters cam;
 #if defined (VISP_HAVE_XML2)
     // From the xml file
-    tracker.loadConfigFile(configFile.c_str());
+    tracker.loadConfigFile(configFile);
 #else
     // By setting the parameters:
     cam.initPersProjWithoutDistortion(547, 542, 338, 234);
@@ -346,7 +341,7 @@ main(int argc, const char ** argv)
     me.setThreshold(5000);
     me.setMu1(0.5);
     me.setMu2(0.5);
-    me.setMinSampleStep(4);
+    me.setSampleStep(4);
     me.setNbTotalSample(250);
 
     tracker.setCameraParameters(cam);
@@ -359,8 +354,8 @@ main(int argc, const char ** argv)
     //   tracker.setClipping(tracker.getClipping() | vpMbtPolygon::LEFT_CLIPPING | vpMbtPolygon::RIGHT_CLIPPING | vpMbtPolygon::UP_CLIPPING | vpMbtPolygon::DOWN_CLIPPING); // Equivalent to FOV_CLIPPING
 #endif
 
-    // Display the moving edges, see documentation for the significations of the colour
-    tracker.setDisplayMovingEdges(displayMovingEdge);
+    // Display the moving edges, see documentation for the signification of the colours
+    tracker.setDisplayFeatures(displayFeatures);
 
     // Tells if the tracker has to use Ogre3D for visibility tests
     tracker.setOgreVisibilityTest(useOgre);
@@ -373,15 +368,13 @@ main(int argc, const char ** argv)
     {
       while(!vpDisplay::getClick(I,false)){
         vpDisplay::display(I);
-        vpDisplay::displayCharString(I, 15, 10,
-                                     "click after positioning the object",
-                                     vpColor::red);
+        vpDisplay::displayText(I, 15, 10, "click after positioning the object", vpColor::red);
         vpDisplay::flush(I) ;
       }
     }
 
     // Load the 3D model (either a vrml file or a .cao file)
-    tracker.loadModel(modelFile.c_str());
+    tracker.loadModel(modelFile);
 
     // Initialise the tracker by clicking on the image
     // This function looks for
@@ -389,7 +382,7 @@ main(int argc, const char ** argv)
     //   - a ./cube/cube.ppm file to display where the user have to click (optionnal, set by the third parameter)
     if (opt_display && opt_click_allowed)
     {
-      tracker.initClick(I, initFile.c_str(), true);
+      tracker.initClick(I, initFile, true);
       tracker.getPose(cMo);
       // display the 3D model at the given pose
       tracker.display(I,cMo, cam, vpColor::red);
@@ -417,22 +410,91 @@ main(int argc, const char ** argv)
       // display the image
       if (opt_display)
         vpDisplay::display(I);
-      // track the object
-      tracker.track(I);
-      tracker.getPose(cMo);
-      // display the 3D model
-      if (opt_display)
-      {
-        tracker.display(I, cMo, cam, vpColor::darkRed);
-        // display the frame
-        vpDisplay::displayFrame (I, cMo, cam, 0.05, vpColor::blue);
+
+      // Test to reset the tracker
+      if (reader.getFrameIndex() == reader.getFirstFrameIndex() + 10) {
+        vpTRACE("Test reset tracker");
+        if (opt_display)
+          vpDisplay::display(I);
+        tracker.resetTracker();
+#if defined (VISP_HAVE_XML2)
+        tracker.loadConfigFile(configFile);
+#else
+        // By setting the parameters:
+        cam.initPersProjWithoutDistortion(547, 542, 338, 234);
+
+        vpMe me;
+        me.setMaskSize(5);
+        me.setMaskNumber(180);
+        me.setRange(7);
+        me.setThreshold(5000);
+        me.setMu1(0.5);
+        me.setMu2(0.5);
+        me.setSampleStep(4);
+        me.setNbTotalSample(250);
+
+        tracker.setCameraParameters(cam);
+        tracker.setMovingEdge(me);
+
+        // Specify the clipping to use
+        tracker.setNearClippingDistance(0.01);
+        tracker.setFarClippingDistance(0.90);
+        tracker.setClipping(tracker.getClipping() | vpMbtPolygon::FOV_CLIPPING);
+        //   tracker.setClipping(tracker.getClipping() | vpMbtPolygon::LEFT_CLIPPING | vpMbtPolygon::RIGHT_CLIPPING | vpMbtPolygon::UP_CLIPPING | vpMbtPolygon::DOWN_CLIPPING); // Equivalent to FOV_CLIPPING
+#endif
+        tracker.loadModel(modelFile);
+        tracker.setCameraParameters(cam);
+        tracker.setOgreVisibilityTest(useOgre);
+        tracker.initFromPose(I, cMo);
+      }
+
+      // Test to set an initial pose
+      if (reader.getFrameIndex() == reader.getFirstFrameIndex() + 50) {
+        cMo.buildFrom(0.04371844921,  0.08438820979,  0.5382029442,  2.200417277,  0.873535825, -0.3479076844);
+        vpTRACE("Test set pose");
+        tracker.setPose(I, cMo);
+        if (opt_display) {
+          // display the 3D model
+          tracker.display(I, cMo, cam, vpColor::darkRed);
+          // display the frame
+          vpDisplay::displayFrame (I, cMo, cam, 0.05);
+//          if (opt_click_allowed) {
+//            vpDisplay::flush(I);
+//            vpDisplay::getClick(I);
+//          }
+        }
+      }
+
+      // track the object: stop tracking from frame 40 to 50
+      if (reader.getFrameIndex() - reader.getFirstFrameIndex() < 40 || reader.getFrameIndex() > reader.getFirstFrameIndex() + 50) {
+        tracker.track(I);
+        tracker.getPose(cMo);
+        if (opt_display) {
+          // display the 3D model
+          tracker.display(I, cMo, cam, vpColor::darkRed);
+          // display the frame
+          vpDisplay::displayFrame (I, cMo, cam, 0.05);
+        }
+      }
+
+      if (opt_click_allowed) {
+        vpDisplay::displayText(I, 10, 10, "Click to quit", vpColor::red);
+        if (vpDisplay::getClick(I, false)) {
+          quit = true;
+          break;
+        }
       }
-      
+
       // Uncomment if you want to print the covariance matrix.
       // Make sure tracker.setCovarianceComputation(true) has been called (uncomment below).
       // std::cout << tracker.getCovarianceMatrix() << std::endl << std::endl;
+
       vpDisplay::flush(I) ;
     }
+
+    if (opt_click_allowed && !quit) {
+      vpDisplay::getClick(I);
+    }
     reader.close();
 
 #if defined (VISP_HAVE_XML2)
@@ -440,9 +502,11 @@ main(int argc, const char ** argv)
     vpXmlParser::cleanup();
 #endif
 
-#ifdef VISP_HAVE_COIN
+#if defined(VISP_HAVE_COIN) && (COIN_MAJOR_VERSION == 3)
     // Cleanup memory allocated by Coin library used to load a vrml model in vpMbEdgeTracker::loadModel()
-    SoDB::finish();
+    // We clean only if Coin was used.
+    if(! cao3DModel)
+      SoDB::finish();
 #endif
   
     return 0;
diff --git a/example/tracking/mbtKltTracking.cpp b/example/tracking/mbtKltTracking.cpp
index 45621b7d00fc1d0fbbd74d1e4c6958a14e0a9dac..080b67d934c685e712651fe0dc2dbc322d53fa63 100644
--- a/example/tracking/mbtKltTracking.cpp
+++ b/example/tracking/mbtKltTracking.cpp
@@ -60,7 +60,7 @@
 #include <visp/vpVideoReader.h>
 #include <visp/vpParseArgv.h>
 
-#if defined (VISP_HAVE_OPENCV) && defined (VISP_HAVE_DISPLAY)
+#if defined (VISP_HAVE_OPENCV) && defined (VISP_HAVE_DISPLAY) && (VISP_HAVE_OPENCV_VERSION >= 0x020100)
 
 
 #define GETOPTARGS  "x:m:i:n:dchtfo"
@@ -188,17 +188,15 @@ main(int argc, const char ** argv)
     bool opt_display = true;
     bool cao3DModel = false;
     bool useOgre = false;
+    bool quit = false;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
       ipath = env_ipath;
 
-
     // Read the command line options
     if (!getOptions(argc, argv, opt_ipath, opt_configFile, opt_modelFile, opt_initFile, displayKltPoints, opt_click_allowed, opt_display, cao3DModel, useOgre)) {
       return (-1);
@@ -220,46 +218,46 @@ main(int argc, const char ** argv)
 
     // Get the option values
     if (!opt_ipath.empty())
-      ipath = opt_ipath + vpIoTools::path("/ViSP-images/mbt/cube/image%04d.pgm");
+      ipath = vpIoTools::createFilePath(opt_ipath, "ViSP-images/mbt/cube/image%04d.pgm");
     else
-      ipath = env_ipath + vpIoTools::path("/ViSP-images/mbt/cube/image%04d.pgm");
+      ipath = vpIoTools::createFilePath(env_ipath, "ViSP-images/mbt/cube/image%04d.pgm");
 
     if (!opt_configFile.empty())
       configFile = opt_configFile;
     else if (!opt_ipath.empty())
-      configFile = opt_ipath + vpIoTools::path("/ViSP-images/mbt/cube.xml");
+      configFile = vpIoTools::createFilePath(opt_ipath, "ViSP-images/mbt/cube.xml");
     else
-      configFile = env_ipath + vpIoTools::path("/ViSP-images/mbt/cube.xml");
+      configFile = vpIoTools::createFilePath(env_ipath, "ViSP-images/mbt/cube.xml");
 
     if (!opt_modelFile.empty()){
       modelFile = opt_modelFile;
     }else{
-      std::string modelFileCao = "/ViSP-images/mbt/cube.cao";
-      std::string modelFileWrl = "/ViSP-images/mbt/cube.wrl";
+      std::string modelFileCao = "ViSP-images/mbt/cube.cao";
+      std::string modelFileWrl = "ViSP-images/mbt/cube.wrl";
 
       if(!opt_ipath.empty()){
         if(cao3DModel){
-          modelFile = opt_ipath + vpIoTools::path(modelFileCao);
+          modelFile = vpIoTools::createFilePath(opt_ipath, modelFileCao);
         }
         else{
 #ifdef VISP_HAVE_COIN
-          modelFile = opt_ipath + vpIoTools::path(modelFileWrl);
+          modelFile = vpIoTools::createFilePath(opt_ipath, modelFileWrl);
 #else
           std::cerr << "Coin is not detected in ViSP. Use the .cao model instead." << std::endl;
-          modelFile = opt_ipath + vpIoTools::path(modelFileCao);
+          modelFile = vpIoTools::createFilePath(opt_ipath, modelFileCao);
 #endif
         }
       }
       else{
         if(cao3DModel){
-          modelFile = env_ipath + vpIoTools::path(modelFileCao);
+          modelFile = vpIoTools::createFilePath(env_ipath, modelFileCao);
         }
         else{
 #ifdef VISP_HAVE_COIN
-          modelFile = env_ipath + vpIoTools::path(modelFileWrl);
+          modelFile = vpIoTools::createFilePath(env_ipath, modelFileWrl);
 #else
           std::cerr << "Coin is not detected in ViSP. Use the .cao model instead." << std::endl;
-          modelFile = env_ipath + vpIoTools::path(modelFileCao);
+          modelFile = vpIoTools::createFilePath(env_ipath, modelFileCao);
 #endif
         }
       }
@@ -268,14 +266,14 @@ main(int argc, const char ** argv)
     if (!opt_initFile.empty())
       initFile = opt_initFile;
     else if (!opt_ipath.empty())
-      initFile = opt_ipath + vpIoTools::path("/ViSP-images/mbt/cube");
+      initFile = vpIoTools::createFilePath(opt_ipath, "ViSP-images/mbt/cube");
     else
-      initFile = env_ipath + vpIoTools::path("/ViSP-images/mbt/cube");
+      initFile = vpIoTools::createFilePath(env_ipath, "ViSP-images/mbt/cube");
 
     vpImage<unsigned char> I;
     vpVideoReader reader;
 
-    reader.setFileName(ipath.c_str());
+    reader.setFileName(ipath);
     try{
       reader.open(I);
     }catch(...){
@@ -315,7 +313,7 @@ main(int argc, const char ** argv)
     vpCameraParameters cam;
 #if defined (VISP_HAVE_XML2)
     // From the xml file
-    tracker.loadConfigFile(configFile.c_str());
+    tracker.loadConfigFile(configFile);
 #else
     // By setting the parameters:
     cam.initPersProjWithoutDistortion(547, 542, 338, 234);
@@ -356,15 +354,13 @@ main(int argc, const char ** argv)
     {
       while(!vpDisplay::getClick(I,false)){
         vpDisplay::display(I);
-        vpDisplay::displayCharString(I, 15, 10,
-                                     "click after positioning the object",
-                                     vpColor::red);
+        vpDisplay::displayText(I, 15, 10, "click after positioning the object", vpColor::red);
         vpDisplay::flush(I) ;
       }
     }
 
     // Load the 3D model (either a vrml file or a .cao file)
-    tracker.loadModel(modelFile.c_str());
+    tracker.loadModel(modelFile);
 
     // Initialise the tracker by clicking on the image
     // This function looks for
@@ -372,7 +368,7 @@ main(int argc, const char ** argv)
     //   - a ./cube/cube.ppm file to display where the user have to click (optionnal, set by the third parameter)
     if (opt_display && opt_click_allowed)
     {
-      tracker.initClick(I, initFile.c_str(), true);
+      tracker.initClick(I, initFile, true);
       tracker.getPose(cMo);
       // display the 3D model at the given pose
       tracker.display(I,cMo, cam, vpColor::red);
@@ -395,28 +391,98 @@ main(int argc, const char ** argv)
 
     while (!reader.end())
     {
-      // acquire a new image 
+      // acquire a new image
       reader.acquire(I);
       // display the image
       if (opt_display)
         vpDisplay::display(I);
-      // track the object
-      tracker.track(I);
-      tracker.getPose(cMo);
-      // display the 3D model  
-      if (opt_display)
-      {
-        tracker.display(I, cMo, cam, vpColor::darkRed);
-        // display the frame
-        vpDisplay::displayFrame (I, cMo, cam, 0.05, vpColor::blue);
+
+      // Test to reset the tracker
+      if (reader.getFrameIndex() == reader.getFirstFrameIndex() + 10) {
+        vpTRACE("Test reset tracker");
+        if (opt_display)
+          vpDisplay::display(I);
+        tracker.resetTracker();
+#if defined (VISP_HAVE_XML2)
+        tracker.loadConfigFile(configFile);
+#else
+        // By setting the parameters:
+        cam.initPersProjWithoutDistortion(547, 542, 338, 234);
+
+        vpKltOpencv klt;
+        klt.setMaxFeatures(10000);
+        klt.setWindowSize(5);
+        klt.setQuality(0.01);
+        klt.setMinDistance(5);
+        klt.setHarrisFreeParameter(0.01);
+        klt.setBlockSize(3);
+        klt.setPyramidLevels(3);
+
+        tracker.setCameraParameters(cam);
+        tracker.setKltOpencv(klt);
+        tracker.setAngleAppear( vpMath::rad(65) );
+        tracker.setAngleDisappear( vpMath::rad(75) );
+        tracker.setMaskBorder(5);
+
+        // Specify the clipping to use
+        tracker.setNearClippingDistance(0.01);
+        tracker.setFarClippingDistance(0.90);
+        tracker.setClipping(tracker.getClipping() | vpMbtPolygon::FOV_CLIPPING);
+        //   tracker.setClipping(tracker.getClipping() | vpMbtPolygon::LEFT_CLIPPING | vpMbtPolygon::RIGHT_CLIPPING | vpMbtPolygon::UP_CLIPPING | vpMbtPolygon::DOWN_CLIPPING); // Equivalent to FOV_CLIPPING
+#endif
+        tracker.loadModel(modelFile);
+        tracker.setCameraParameters(cam);
+        tracker.setOgreVisibilityTest(useOgre);
+        tracker.initFromPose(I, cMo);
       }
-      
+
+      // Test to set an initial pose
+      if (reader.getFrameIndex() == reader.getFirstFrameIndex() + 50) {
+        cMo.buildFrom(0.04371844921,  0.08438820979,  0.5382029442,  2.200417277,  0.873535825, -0.3479076844);
+        vpTRACE("Test set pose");
+        tracker.setPose(I, cMo);
+        if (opt_display) {
+          // display the 3D model
+          tracker.display(I, cMo, cam, vpColor::darkRed);
+          // display the frame
+          vpDisplay::displayFrame (I, cMo, cam, 0.05);
+//          if (opt_click_allowed) {
+//            vpDisplay::flush(I);
+//            vpDisplay::getClick(I);
+//          }
+        }
+      }
+
+      // track the object: stop tracking from frame 40 to 50
+      if (reader.getFrameIndex() - reader.getFirstFrameIndex() < 40 || reader.getFrameIndex() > reader.getFirstFrameIndex() + 50) {
+        tracker.track(I);
+        tracker.getPose(cMo);
+        if (opt_display) {
+          // display the 3D model
+          tracker.display(I, cMo, cam, vpColor::darkRed);
+          // display the frame
+          vpDisplay::displayFrame (I, cMo, cam, 0.05);
+        }
+      }
+
+      if (opt_click_allowed) {
+        vpDisplay::displayText(I, 10, 10, "Click to quit", vpColor::red);
+        if (vpDisplay::getClick(I, false)) {
+          quit = true;
+          break;
+        }
+      }
+
       // Uncomment if you want to print the covariance matrix. 
       // Make sure tracker.setCovarianceComputation(true) has been called (uncomment below).
       // std::cout << tracker.getCovarianceMatrix() << std::endl << std::endl;
 
-      vpDisplay::flush(I) ;
+      vpDisplay::flush(I);
+    }
+    if (opt_click_allowed && !quit) {
+      vpDisplay::getClick(I);
     }
+
     reader.close();
 
 #if defined (VISP_HAVE_XML2)
@@ -424,9 +490,11 @@ main(int argc, const char ** argv)
     vpXmlParser::cleanup();
 #endif
 
-#ifdef VISP_HAVE_COIN
+#if defined(VISP_HAVE_COIN) && (COIN_MAJOR_VERSION == 3)
     // Cleanup memory allocated by Coin library used to load a vrml model in vpMbKltTracker::loadModel()
-    SoDB::finish();
+    // We clean only if Coin was used.
+    if(! cao3DModel)
+      SoDB::finish();
 #endif
 
     return 0;
diff --git a/example/tracking/templateTracker.cpp b/example/tracking/templateTracker.cpp
index 1d1c0bebd5bb6278cbf8a125d34db27bd0d580c7..26f397608650f18ea0a5071ea289212856e443d8 100644
--- a/example/tracking/templateTracker.cpp
+++ b/example/tracking/templateTracker.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: templateTracker.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: templateTracker.cpp 5002 2014-11-24 08:18:58Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -232,10 +232,8 @@ main(int argc, const char ** argv)
     WarpType opt_warp_type = WARP_AFFINE;
     long opt_last_frame = 30;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -263,9 +261,9 @@ main(int argc, const char ** argv)
 
     // Get the option values
     if (!opt_ipath.empty())
-      ipath = opt_ipath + vpIoTools::path("/ViSP-images/mire-2/image.%04d.pgm");
+      ipath = vpIoTools::createFilePath(opt_ipath, "ViSP-images/mire-2/image.%04d.pgm");
     else
-      ipath = env_ipath + vpIoTools::path("/ViSP-images/mire-2/image.%04d.pgm");
+      ipath = vpIoTools::createFilePath(env_ipath, "ViSP-images/mire-2/image.%04d.pgm");
 
     vpImage<unsigned char> I;
     vpVideoReader reader;
@@ -366,7 +364,7 @@ main(int argc, const char ** argv)
         tracker->resetTracker();
 
         if (opt_display && opt_click_allowed) {
-          vpDisplay::displayCharString(I, 10, 10, "Re-init simulation", vpColor::red);
+          vpDisplay::displayText(I, 10, 10, "Re-init simulation", vpColor::red);
           vpDisplay::flush(I);
           tracker->initClick(I, delaunay);
         }
@@ -399,7 +397,7 @@ main(int argc, const char ** argv)
       vpDisplay::flush(I) ;
     }
     if (opt_click_allowed) {
-      vpDisplay::displayCharString(I, 10,10, "A click to exit...", vpColor::red);
+      vpDisplay::displayText(I, 10,10, "A click to exit...", vpColor::red);
       vpDisplay::flush(I) ;
       vpDisplay::getClick(I) ;
     }
diff --git a/example/tracking/trackDot.cpp b/example/tracking/trackDot.cpp
index 82928582d0c2f6952401dbb5e35b00db76c8dbdd..7d895e6f80f64e1d74edf266e0a3c13b009da1b5 100644
--- a/example/tracking/trackDot.cpp
+++ b/example/tracking/trackDot.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: trackDot.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: trackDot.cpp 5108 2015-01-05 07:48:58Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -61,7 +61,7 @@
 #include <sstream>
 #include <iomanip>
 
-#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI))
+#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV))
 
 #include <visp/vpImage.h>
 #include <visp/vpImageIo.h>
@@ -69,6 +69,7 @@
 #include <visp/vpDisplayX.h>
 #include <visp/vpDisplayGTK.h>
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpDot.h>
 #include <visp/vpParseArgv.h>
 #include <visp/vpIoTools.h>
@@ -219,10 +220,8 @@ main(int argc, const char ** argv)
     bool opt_click_allowed = true;
     bool opt_display = true;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -291,13 +290,13 @@ main(int argc, const char ** argv)
       //  in the download section. It is named "ViSP-images.tar.gz"
 
       // Set the path location of the image sequence
-      dirname = ipath + vpIoTools::path("/ViSP-images/mire-2/");
+      dirname = vpIoTools::createFilePath(ipath, "ViSP-images/mire-2");
 
       // Build the name of the image file
 
       s.setf(std::ios::right, std::ios::adjustfield);
       s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-      filename = dirname + s.str();
+      filename = vpIoTools::createFilePath(dirname, s.str());
     }
     else {
 
@@ -338,6 +337,8 @@ main(int argc, const char ** argv)
     vpDisplayGTK display;
 #elif defined VISP_HAVE_GDI
     vpDisplayGDI display;
+#elif defined VISP_HAVE_OPENCV
+    vpDisplayOpenCV display;
 #endif
 
     if (opt_display) {
@@ -385,15 +386,13 @@ main(int argc, const char ** argv)
       d.initTracking(I, ip) ;
     }
 
-
-
     vpImagePoint cog;
     while (iter < opt_first + opt_nimages*opt_step) {
       // set the new image name
       if (opt_ppath.empty()){
         s.str("");
         s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-        filename = dirname + s.str();
+        filename = vpIoTools::createFilePath(dirname, s.str());
       }
       else {
         sprintf(cfilename, opt_ppath.c_str(), iter) ;
@@ -468,7 +467,7 @@ main(int argc, const char ** argv)
 int
 main()
 {
-  vpERROR_TRACE("You do not have X11, GTK or GDI display functionalities...");
+  vpERROR_TRACE("You do not have X11, GTK, GDI or OpenCV display functionalities...");
 }
 
 #endif
diff --git a/example/tracking/trackDot2.cpp b/example/tracking/trackDot2.cpp
index 9c170a85bae41749a946dcab07bf60163fe3d036..a659837d7f63d68a8a7d345e90fe2dddfaf88f3d 100644
--- a/example/tracking/trackDot2.cpp
+++ b/example/tracking/trackDot2.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: trackDot2.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: trackDot2.cpp 5108 2015-01-05 07:48:58Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -53,7 +53,7 @@
 #include <sstream>
 #include <iomanip>
 
-#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI))
+#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV))
 
 #include <visp/vpImage.h>
 #include <visp/vpImageIo.h>
@@ -61,6 +61,7 @@
 #include <visp/vpDisplayX.h>
 #include <visp/vpDisplayGTK.h>
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpDot2.h>
 #include <visp/vpParseArgv.h>
 #include <visp/vpIoTools.h>
@@ -217,16 +218,13 @@ main(int argc, const char ** argv)
     bool opt_click_allowed = true;
     bool opt_display = true;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
       ipath = env_ipath;
 
-
     // Read the command line options
     if (getOptions(argc, argv, opt_ipath, opt_ppath,opt_first, opt_nimages,
                    opt_step, opt_click_allowed, opt_display) == false) {
@@ -290,13 +288,13 @@ main(int argc, const char ** argv)
       //  in the download section. It is named "ViSP-images.tar.gz"
 
       // Set the path location of the image sequence
-      dirname = ipath + vpIoTools::path("/ViSP-images/mire-2/");
+      dirname = vpIoTools::createFilePath(ipath, "ViSP-images/mire-2");
 
       // Build the name of the image file
 
       s.setf(std::ios::right, std::ios::adjustfield);
       s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-      filename = dirname + s.str();
+      filename = vpIoTools::createFilePath(dirname, s.str());
     }
     else {
 
@@ -337,6 +335,8 @@ main(int argc, const char ** argv)
     vpDisplayGTK display;
 #elif defined VISP_HAVE_GDI
     vpDisplayGDI display;
+#elif defined VISP_HAVE_OPENCV
+    vpDisplayOpenCV display;
 #endif
 
     if (opt_display) {
@@ -426,7 +426,7 @@ main(int argc, const char ** argv)
       if (opt_ppath.empty()){
         s.str("");
         s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-        filename = dirname + s.str();
+        filename = vpIoTools::createFilePath(dirname, s.str());
       }
       else {
         sprintf(cfilename, opt_ppath.c_str(), iter) ;
@@ -514,7 +514,7 @@ main(int argc, const char ** argv)
 int
 main()
 {
-  vpERROR_TRACE("You do not have X11, GTK or GDI display functionalities...");
+  vpERROR_TRACE("You do not have X11, GTK, GDI or OpenCV display functionalities...");
 }
 
 #endif
diff --git a/example/tracking/trackDot2WithAutoDetection.cpp b/example/tracking/trackDot2WithAutoDetection.cpp
index 033cbbabc04afc446bbc1a3125441afffcbb1e62..b05db3d0575d318310c3e5a12de228ba750c2a20 100644
--- a/example/tracking/trackDot2WithAutoDetection.cpp
+++ b/example/tracking/trackDot2WithAutoDetection.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: trackDot2WithAutoDetection.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: trackDot2WithAutoDetection.cpp 5108 2015-01-05 07:48:58Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -58,7 +58,7 @@
 #include <sstream>
 #include <iomanip>
 
-#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI))
+#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV))
 
 #include <visp/vpImage.h>
 #include <visp/vpImageIo.h>
@@ -66,7 +66,7 @@
 #include <visp/vpDisplayX.h>
 #include <visp/vpDisplayGTK.h>
 #include <visp/vpDisplayGDI.h>
-#include <visp/vpList.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpDot2.h>
 #include <visp/vpParseArgv.h>
 #include <visp/vpIoTools.h>
@@ -262,16 +262,13 @@ main(int argc, const char ** argv)
     bool opt_click_allowed = true;
     bool opt_display = true;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
       ipath = env_ipath;
 
-
     // Read the command line options
     if (getOptions(argc, argv, opt_ipath, opt_ppath,opt_first, opt_nimages,
                    opt_step,opt_sizePrecision,opt_grayLevelPrecision,
@@ -335,13 +332,13 @@ main(int argc, const char ** argv)
       //  in the download section. It is named "ViSP-images.tar.gz"
 
       // Set the path location of the image sequence
-      dirname = ipath + vpIoTools::path("/ViSP-images/mire-2/");
+      dirname = vpIoTools::createFilePath(ipath, "ViSP-images/mire-2");
 
       // Build the name of the image file
 
       s.setf(std::ios::right, std::ios::adjustfield);
       s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-      filename = dirname + s.str();
+      filename = vpIoTools::createFilePath(dirname, s.str());
     }
     else {
 
@@ -383,6 +380,8 @@ main(int argc, const char ** argv)
     vpDisplayX display;
 #elif defined VISP_HAVE_GDI
     vpDisplayGDI display;
+#elif defined VISP_HAVE_OPENCV
+    vpDisplayOpenCV display;
 #endif
 
     if (opt_display) {
@@ -441,14 +440,13 @@ main(int argc, const char ** argv)
 
     while (iter < opt_first + opt_nimages*opt_step)
     {
-
       // set the new image name
 
       if (opt_ppath.empty()){
 
         s.str("");
         s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-        filename = dirname + s.str();
+        filename = vpIoTools::createFilePath(dirname, s.str());
       }
       else {
         sprintf(cfilename, opt_ppath.c_str(), iter) ;
@@ -515,7 +513,7 @@ main(int argc, const char ** argv)
 int
 main()
 {
-  vpERROR_TRACE("You do not have X11, GTK or GDI display functionalities...");
+  vpERROR_TRACE("You do not have X11, GTK, GDI or OpenCV display functionalities...");
 }
 
 #endif
diff --git a/example/tracking/trackKltOpencv.cpp b/example/tracking/trackKltOpencv.cpp
index 849f30f85af3ce762c5a8451c89944e321d1a6cc..5b2dd8004abbb034617e96bcdba4ac0ea0a961eb 100644
--- a/example/tracking/trackKltOpencv.cpp
+++ b/example/tracking/trackKltOpencv.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: trackKltOpencv.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: trackKltOpencv.cpp 5108 2015-01-05 07:48:58Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -53,9 +53,9 @@
 #include <iomanip>
 #include <vector>
 
-#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI))
+#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI) || defined (VISP_HAVE_OPENCV))
 
-#if (defined (VISP_HAVE_OPENCV))
+#if defined (VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020100)
 
 #include <visp/vpKltOpencv.h>
 #include <visp/vpImage.h>
@@ -63,6 +63,7 @@
 #include <visp/vpDisplayX.h>
 #include <visp/vpDisplayGTK.h>
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpParseArgv.h>
 #include <visp/vpIoTools.h>
 
@@ -218,16 +219,13 @@ main(int argc, const char ** argv)
     bool opt_click_allowed = true;
     bool opt_display = true;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
       ipath = env_ipath;
 
-
     // Read the command line options
     if (getOptions(argc, argv, opt_ipath, opt_ppath,opt_first, opt_nimages,
                    opt_step, opt_click_allowed, opt_display) == false) {
@@ -270,7 +268,11 @@ main(int argc, const char ** argv)
     // it size is not defined yet, it will be defined when the image will
     // read on the disk
     vpImage<unsigned char> vpI ; // This is a ViSP image used for display only
-    IplImage * cvI; // This is an OpenCV IPL image used by the tracker
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+    IplImage * cvI = NULL; // This is an OpenCV IPL image used by the tracker
+#else
+    cv::Mat cvI;
+#endif
 
     unsigned iter = opt_first;
     std::ostringstream s;
@@ -292,17 +294,16 @@ main(int argc, const char ** argv)
       //  in the download section. It is named "ViSP-images.tar.gz"
 
       // Set the path location of the image sequence
-      dirname = ipath + vpIoTools::path("/ViSP-images/mire-2/");
+      dirname = vpIoTools::createFilePath(ipath, "ViSP-images/mire-2");
 
       // Build the name of the image file
 
       s.setf(std::ios::right, std::ios::adjustfield);
       s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-      filename = dirname + s.str();
+      filename = vpIoTools::createFilePath(dirname, s.str());
     }
     else {
-
-      sprintf(cfilename,opt_ppath.c_str(), iter) ;
+      sprintf(cfilename, opt_ppath.c_str(), iter) ;
       filename = cfilename;
     }
 
@@ -313,15 +314,11 @@ main(int argc, const char ** argv)
     // exception readPGM may throw various exception if, for example,
     // the file does not exist, or if the memory cannot be allocated
     try{
-      vpCTRACE << "Load: " << filename << std::endl;
+      std::cout << "Load: " << filename << std::endl;
 
       // Load a ViSP image used for the display
       vpImageIo::read(vpI, filename) ;
-      // Load an OpenCV IPL image used by the tracker
-      if((cvI = cvLoadImage(filename.c_str(), CV_LOAD_IMAGE_GRAYSCALE))== NULL) {
-        printf("Cannot read image: %s\n", filename.c_str());
-        return (0);
-      }
+      vpImageConvert::convert(vpI, cvI);
     }
     catch(...)
     {
@@ -345,6 +342,8 @@ main(int argc, const char ** argv)
     vpDisplayGTK display;
 #elif defined VISP_HAVE_GDI
     vpDisplayGDI display;
+#elif defined VISP_HAVE_OPENCV
+    vpDisplayOpenCV display;
 #endif
 
     if (opt_display) {
@@ -393,22 +392,15 @@ main(int argc, const char ** argv)
       if (opt_ppath.empty()){
         s.str("");
         s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-        filename = dirname + s.str();
+        filename = vpIoTools::createFilePath(dirname, s.str());
       }
       else {
         sprintf(cfilename, opt_ppath.c_str(), iter) ;
         filename = cfilename;
       }
       // read the image
-      std::cout << "read : " << filename << std::endl;
-      // Load a ViSP image used for the display
       vpImageIo::read(vpI, filename) ;
-      // Load an OpenCV IPL image used by the tracker
-      if((cvI = cvLoadImage(filename.c_str(), CV_LOAD_IMAGE_GRAYSCALE))
-         == NULL) {
-        printf("Cannot read image: %s\n", filename.c_str());
-        return (0);
-      }
+      vpImageConvert::convert(vpI, cvI);
 
       // track the dot and returns its coordinates in the image
       // results are given in float since many many are usually considered
@@ -426,7 +418,7 @@ main(int argc, const char ** argv)
       // Tracking of the detected points
       tracker.track(cvI);
       std::cout << "Tracking performed in " <<
-                   vpTime::measureTimeMs() - time << " ms): " << std::endl;
+                   vpTime::measureTimeMs() - time << " ms" << std::endl;
 
       if (opt_display) {
         // Display the tracked points
@@ -459,7 +451,7 @@ main()
 int
 main()
 {
-  vpERROR_TRACE("You do not have X11, GTK or GDI display functionalities...");
+  vpERROR_TRACE("You do not have X11, GTK, GDI or OpenCV display functionalities...");
 }
 
 #endif
diff --git a/example/tracking/trackMeCircle.cpp b/example/tracking/trackMeCircle.cpp
index b820333a94ba87af41cf597134aad3febf1a4643..43bc4e97b3949f7d81a814a6b87d0055cee751bd 100644
--- a/example/tracking/trackMeCircle.cpp
+++ b/example/tracking/trackMeCircle.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: trackMeCircle.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: trackMeCircle.cpp 5108 2015-01-05 07:48:58Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -59,13 +59,14 @@
 #include <sstream>
 #include <iomanip>
 
-#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI))
+#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV))
 
 #include <visp/vpImage.h>
 #include <visp/vpImageIo.h>
 #include <visp/vpDisplayX.h>
 #include <visp/vpDisplayGTK.h>
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpColor.h>
 
 #include <visp/vpMeEllipse.h>
@@ -174,16 +175,13 @@ main(int argc, const char ** argv)
     bool opt_click_allowed = true;
     bool opt_display = true;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
       ipath = env_ipath;
 
-
     // Read the command line options
     if (getOptions(argc, argv, opt_ipath, opt_click_allowed,
                    opt_display) == false) {
@@ -225,10 +223,10 @@ main(int argc, const char ** argv)
     vpImage<unsigned char> I ;
 
     // Set the path location of the image sequence
-    dirname = ipath +  vpIoTools::path("/ViSP-images/circle/");
+    dirname = vpIoTools::createFilePath(ipath, "ViSP-images/circle");
 
     // Build the name of the image file
-    filename = dirname + "circle.pgm";
+    filename = vpIoTools::createFilePath(dirname, "circle.pgm");
 
     // Read the PGM image named "filename" on the disk, and put the
     // bitmap into the image structure I.  I is initialized to the
@@ -264,6 +262,8 @@ main(int argc, const char ** argv)
     vpDisplayGTK display;
 #elif defined VISP_HAVE_GDI
     vpDisplayGDI display;
+#elif defined VISP_HAVE_OPENCV
+    vpDisplayOpenCV display;
 #endif
 
     if (opt_display) {
@@ -286,7 +286,6 @@ main(int argc, const char ** argv)
     me.setPointsToTrack(60) ;
     me.setThreshold(15000) ;
 
-
     E1.setCircle(true) ;
     E1.setMe(&me) ;
     E1.setDisplay(vpMeSite::RANGE_RESULT) ;
@@ -336,7 +335,7 @@ main(int argc, const char ** argv)
 int
 main()
 {
-  vpERROR_TRACE("You do not have X11, GTK or GDI display functionalities...");
+  vpERROR_TRACE("You do not have X11, GTK, GDI or OpenCV display functionalities...");
 }
 
 #endif
diff --git a/example/tracking/trackMeEllipse.cpp b/example/tracking/trackMeEllipse.cpp
index 6b0397f87a328a5b122a30942f37f714e139a37a..e35238549ccbe27bdfdc59922b677bedf34f777e 100644
--- a/example/tracking/trackMeEllipse.cpp
+++ b/example/tracking/trackMeEllipse.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: trackMeEllipse.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: trackMeEllipse.cpp 5108 2015-01-05 07:48:58Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -60,7 +60,7 @@
 #include <sstream>
 #include <iomanip>
 
-#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI))
+#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV))
 
 #include <visp/vpImage.h>
 #include <visp/vpImageIo.h>
@@ -68,6 +68,7 @@
 #include <visp/vpDisplayX.h>
 #include <visp/vpDisplayGTK.h>
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpColor.h>
 
 #include <visp/vpMeEllipse.h>
@@ -176,16 +177,13 @@ main(int argc, const char ** argv)
     bool opt_click_allowed = true;
     bool opt_display = true;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
       ipath = env_ipath;
 
-
     // Read the command line options
     if (getOptions(argc, argv, opt_ipath, opt_click_allowed, opt_display) == false) {
       exit (-1);
@@ -226,14 +224,14 @@ main(int argc, const char ** argv)
     vpImage<unsigned char> I ;
 
     // Set the path location of the image sequence
-    dirname = ipath +  vpIoTools::path("/ViSP-images/ellipse-1/");
+    dirname = vpIoTools::createFilePath(ipath, "ViSP-images/ellipse-1");
 
     // Build the name of the image file
     unsigned int iter = 1; // Image number
     std::ostringstream s;
     s.setf(std::ios::right, std::ios::adjustfield);
     s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-    filename = dirname + s.str();
+    filename = vpIoTools::createFilePath(dirname, s.str());
 
     // Read the PGM image named "filename" on the disk, and put the
     // bitmap into the image structure I.  I is initialized to the
@@ -268,6 +266,8 @@ main(int argc, const char ** argv)
     vpDisplayGTK display;
 #elif defined VISP_HAVE_GDI
     vpDisplayGDI display;
+#elif defined VISP_HAVE_OPENCV
+    vpDisplayOpenCV display;
 #endif
 
     if (opt_display) {
@@ -324,7 +324,7 @@ main(int argc, const char ** argv)
       // set the new image name
       s.str("");
       s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-      filename = dirname + s.str();
+      filename = vpIoTools::createFilePath(dirname, s.str());
       std::cout << "Tracking on image: " << filename << std::endl;
       // read the image
       vpImageIo::read(I, filename);
@@ -355,7 +355,7 @@ main(int argc, const char ** argv)
 int
 main()
 {
-  vpERROR_TRACE("You do not have X11, GTK or GDI display functionalities...");
+  vpERROR_TRACE("You do not have X11, GTK, GDI or OpenCV display functionalities...");
 }
 
 #endif
diff --git a/example/tracking/trackMeLine.cpp b/example/tracking/trackMeLine.cpp
index 4bd5e3eaff2491b34c30b03aee6ad64b75402600..c91695c428555b830f96517e0abca336b726fd8a 100644
--- a/example/tracking/trackMeLine.cpp
+++ b/example/tracking/trackMeLine.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: trackMeLine.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: trackMeLine.cpp 5108 2015-01-05 07:48:58Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -59,8 +59,7 @@
 #include <sstream>
 #include <iomanip>
 
-#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI))
-
+#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV))
 
 #include <visp/vpImage.h>
 #include <visp/vpImageIo.h>
@@ -68,6 +67,7 @@
 #include <visp/vpDisplayX.h>
 #include <visp/vpDisplayGTK.h>
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpColor.h>
 
 #include <visp/vpMeLine.h>
@@ -180,10 +180,8 @@ main(int argc, const char ** argv)
     bool opt_click_allowed = true;
     bool opt_display = true;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -230,14 +228,14 @@ main(int argc, const char ** argv)
     vpImage<unsigned char> I ;
 
     // Set the path location of the image sequence
-    dirname = ipath +  vpIoTools::path("/ViSP-images/line/");
+    dirname = vpIoTools::createFilePath(ipath, "ViSP-images/line");
 
     // Build the name of the image file
     unsigned int iter = 1; // Image number
     std::ostringstream s;
     s.setf(std::ios::right, std::ios::adjustfield);
     s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-    filename = dirname + s.str();
+    filename = vpIoTools::createFilePath(dirname, s.str());
 
     // Read the PGM image named "filename" on the disk, and put the
     // bitmap into the image structure I.  I is initialized to the
@@ -272,6 +270,8 @@ main(int argc, const char ** argv)
     vpDisplayGTK display;
 #elif defined VISP_HAVE_GDI
     vpDisplayGDI display;
+#elif defined VISP_HAVE_OPENCV
+    vpDisplayOpenCV display;
 #endif
 
     if (opt_display) {
@@ -293,7 +293,6 @@ main(int argc, const char ** argv)
     me.setPointsToTrack(160) ;
     me.setThreshold(15000) ;
 
-
     L1.setMe(&me) ;
     L1.setDisplay(vpMeSite::RANGE_RESULT) ;
 
@@ -328,7 +327,7 @@ main(int argc, const char ** argv)
       // set the new image name
       s.str("");
       s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-      filename = dirname + s.str();
+      filename = vpIoTools::createFilePath(dirname, s.str());
       // read the image
       vpImageIo::read(I, filename);
       if (opt_display) {
@@ -368,7 +367,7 @@ main(int argc, const char ** argv)
 int
 main()
 {
-  vpERROR_TRACE("You do not have X11, GTK or GDI display functionalities...");
+  vpERROR_TRACE("You do not have X11, GTK, GDI or OpenCV display functionalities...");
 }
 
 #endif
diff --git a/example/tracking/trackMeNurbs.cpp b/example/tracking/trackMeNurbs.cpp
index e6192aad6e0a6958c0c9fd673a6352db62efe0ea..eda500c4efaede87efaf59dd5f925edf2d7b43c2 100644
--- a/example/tracking/trackMeNurbs.cpp
+++ b/example/tracking/trackMeNurbs.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: trackMeNurbs.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: trackMeNurbs.cpp 5108 2015-01-05 07:48:58Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -60,7 +60,7 @@
 #include <sstream>
 #include <iomanip>
 
-#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI))
+#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV))
 
 #include <visp/vpImage.h>
 #include <visp/vpImageIo.h>
@@ -68,6 +68,7 @@
 #include <visp/vpDisplayX.h>
 #include <visp/vpDisplayGTK.h>
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpColor.h>
 
 #include <visp/vpMeNurbs.h>
@@ -176,10 +177,8 @@ main(int argc, const char ** argv)
     bool opt_click_allowed = true;
     bool opt_display = true;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -226,7 +225,7 @@ main(int argc, const char ** argv)
     vpImage<unsigned char> I ;
 
     // Set the path location of the image sequence
-    filename = ipath +  vpIoTools::path("/ViSP-images/ellipse-1/image.%04d.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/ellipse-1/image.%04d.pgm");
 
     // Build the name of the image file
     vpVideoReader reader;
@@ -242,6 +241,8 @@ main(int argc, const char ** argv)
     vpDisplayGTK display;
 #elif defined VISP_HAVE_GDI
     vpDisplayGDI display;
+#elif defined VISP_HAVE_OPENCV
+    vpDisplayOpenCV display;
 #endif
 
     if (opt_display) {
@@ -264,7 +265,6 @@ main(int argc, const char ** argv)
     me.setPointsToTrack(60) ;
     me.setThreshold(15000) ;
 
-
     nurbs.setMe(&me);
     nurbs.setDisplay(vpMeSite::RANGE_RESULT) ;
     nurbs.setNbControlPoints(14);
@@ -291,7 +291,6 @@ main(int argc, const char ** argv)
       nurbs.display(I, vpColor::green) ;
     }
 
-
     nurbs.track(I) ;
     if (opt_display && opt_click_allowed) {
       std::cout << "A click to continue..." << std::endl;
@@ -299,7 +298,6 @@ main(int argc, const char ** argv)
     }
     std::cout <<"------------------------------------------------------------"<<std::endl;
 
-
     for (int iter = 1 ; iter < 40 ; iter++)
     {
       //read the image
@@ -334,7 +332,7 @@ main(int argc, const char ** argv)
 int
 main()
 {
-  vpERROR_TRACE("You do not have X11, GTK or GDI display functionalities...");
+  vpERROR_TRACE("You do not have X11, GTK, GDI or OpenCV display functionalities...");
 }
 
 #endif
diff --git a/example/video/CMakeLists.txt b/example/video/CMakeLists.txt
index 1c115f539c85f6470fe34310ecdc9e4567730d0e..1b2a73e5ddb4fad24c6e3cc3962c69530e2f26d2 100644
--- a/example/video/CMakeLists.txt
+++ b/example/video/CMakeLists.txt
@@ -49,25 +49,26 @@ SET (SOURCE
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
 
-ENDFOREACH(source)
 
 # Add test
 # To run some of these tests don't forget to set VISP_INPUT_IMAGE_PATH
 # environment variable to the ViSP test sequences location.
 # To get these sequence download ViSP-images.tar.gz from
 # http://www.irisa.fr/lagadic/visp/visp.html
-ADD_TEST(videoReader videoReader -c ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(imageSequenceReader imageSequenceReader -c ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(videoReader videoReader -c ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(imageSequenceReader imageSequenceReader -c ${OPTION_TO_DESACTIVE_DISPLAY})
 
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
diff --git a/example/video/imageSequenceReader.cpp b/example/video/imageSequenceReader.cpp
index bcc804b35cfddd9958b13693a38997e16805a61f..5880542ef014499385ec713a41f4a1dbceab362b 100644
--- a/example/video/imageSequenceReader.cpp
+++ b/example/video/imageSequenceReader.cpp
@@ -191,10 +191,8 @@ main(int argc, const char ** argv)
     std::cout <<  "-------------------------------------------------------" << std::endl ;
     std::cout << std::endl ;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -246,7 +244,7 @@ main(int argc, const char ** argv)
 
     if (opt_ppath.empty())
     {
-      filename = ipath +  vpIoTools::path("/ViSP-images/mire-2/image.%04d.pgm");
+      filename = vpIoTools::createFilePath(ipath, "ViSP-images/mire-2/image.%04d.pgm");
     }
     else
     {
@@ -254,7 +252,7 @@ main(int argc, const char ** argv)
     }
 
     //Initialize the reader and get the first frame.
-    reader.setFileName(filename.c_str());
+    reader.setFileName(filename);
     reader.setFirstFrameIndex(opt_first);
     reader.open(I);
 
@@ -274,7 +272,6 @@ main(int argc, const char ** argv)
       display.init(I, 100, 100,"Display video frame") ;
       vpDisplay::display(I) ;
       vpDisplay::flush(I) ;
-
     }
 
     if (opt_display && opt_click_allowed)
diff --git a/example/video/videoReader.cpp b/example/video/videoReader.cpp
index 68794b7d97da40ec1631a4b7275f56df78571792..4d6b365faaf817f5e7f4061ffed5c993aff7c016 100644
--- a/example/video/videoReader.cpp
+++ b/example/video/videoReader.cpp
@@ -186,10 +186,8 @@ main(int argc, const char ** argv)
     std::cout << std::endl ;
 
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -241,7 +239,7 @@ main(int argc, const char ** argv)
 
     if (opt_ppath.empty())
     {
-      filename = ipath +  vpIoTools::path("/ViSP-images/video/cube.mpeg");
+      filename = vpIoTools::createFilePath(ipath, "ViSP-images/video/cube.mpeg");
     }
     else
     {
@@ -249,7 +247,8 @@ main(int argc, const char ** argv)
     }
 
     //Initialize the reader and get the first frame.
-    reader.setFileName(filename.c_str());
+    std::cout << "Process video in " << filename << std::endl;
+    reader.setFileName(filename);
     reader.open(I);
 
     // We open a window using either X11, GTK, GDI or OpenCV.
@@ -290,12 +289,8 @@ main(int argc, const char ** argv)
       vpDisplay::getClick(I);
     }
 
-    int lastFrame = reader.getLastFrameIndex();
-    //To go to the beginning of the video
-    reader.getFrame(I,0);
-
-    for (int i = 0; i <= lastFrame; i++)
-    {
+    while (! reader.end() ) {
+      std::cout << "Read frame: " << reader.getFrameIndex() << std::endl;
       reader.acquire(I);
       if (opt_display)
       {
@@ -306,7 +301,7 @@ main(int argc, const char ** argv)
 
     if (opt_display && opt_click_allowed)
     {
-      std::cout << "Click to exit the test" << std::endl;
+      std::cout << "Click to exit this example" << std::endl;
       vpDisplay::getClick(I);
     }
   }
diff --git a/example/wireframe-simulator/CMakeLists.txt b/example/wireframe-simulator/CMakeLists.txt
index a237b438925f430c1395f691fb8f5f264fc9918a..8678ea0d02fba9bc1745d97b6630376eed893f4e 100644
--- a/example/wireframe-simulator/CMakeLists.txt
+++ b/example/wireframe-simulator/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,29 +43,28 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   wireframeSimulator.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-ENDFOREACH(source)
+  add_dependencies(visp_examples ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "examples")
+  endif()
+endforeach()
 
 # Add test
 # To run some of these tests don't forget to set VISP_INPUT_IMAGE_PATH
 # environment variable to the ViSP test sequences location.
 # To get these sequence download ViSP-images.tar.gz from
 # http://www.irisa.fr/lagadic/visp/visp.html
-ADD_TEST(wireframeSimulator wireframeSimulator -c ${OPTION_TO_DESACTIVE_DISPLAY})
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+add_test(wireframeSimulator wireframeSimulator -c ${OPTION_TO_DESACTIVE_DISPLAY})
diff --git a/include/vpConfig.h.cmake b/include/vpConfig.h.cmake
index dd4cc054480fcc5f8efc455b2238a4377d442ea2..192b8467b2181d3842aab7e7cb507858400d3bd7 100644
--- a/include/vpConfig.h.cmake
+++ b/include/vpConfig.h.cmake
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpConfig.h.cmake 4604 2014-01-21 14:15:23Z fspindle $
+ * $Id: vpConfig.h.cmake 5324 2015-02-13 16:11:04Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -42,7 +42,7 @@
 #define vpConfig_h
 
 #if defined _MSC_VER && _MSC_VER >= 1200
-  #pragma warning( disable: 4100 4127 4251 4514 4668 4710 4820 )
+  #pragma warning( disable: 4100 4127 4251 4275 4514 4668 4710 4820 )
   #if _MSC_VER >= 1400 // 1400 = MSVC 8 2005
     #pragma warning( disable: 4548 )
   #endif
@@ -53,6 +53,7 @@
   // 4100 : undocumented ("unreferenced formal parameter")
   // 4127 : conditional expression is constant
   // 4251 : 'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2', ie. disable warnings related to inline functions
+  // 4275 : non – DLL-interface classkey 'identifier' used as base for DLL-interface classkey 'identifier'
   // 4514 : 'function' : unreferenced inline function has been removed
   // 4548 : expression before comma has no effect
   // 4668 : 'symbol' is not defined as a preprocessor macro, replacing with '0' for 'directives'
@@ -61,6 +62,29 @@
   // 4986 : undocumented
 #endif
 
+#if defined _MSC_VER && (_MSC_VER == 1500)
+// Visual Studio 9 2008 specific stuff
+// Fix running 64-bit OpenMP Debug Builds compiled with Visual Studio 2008 SP1
+// See discussion on https://gforge.inria.fr/forum/message.php?msg_id=149273&group_id=397
+// and the proposed fix: http://www.johanseland.com/2010/08/running-64-bit-openmp-debug-builds.html
+#  define _BIND_TO_CURRENT_OPENMP_VERSION 1
+#endif
+
+#if defined(__MINGW__) || defined(__MINGW32__) || defined(__MINGW64__)
+// Work arround to fix build issues that may occur with Mingw:
+// error: 'DBL_EPSILON' was not declared in this scope
+// error: 'FLT_EPSILON' was not declared in this scope
+
+#  include <float.h>
+
+#  ifndef DBL_EPSILON
+#    define DBL_EPSILON __DBL_EPSILON__
+#  endif
+#  ifndef FLT_EPSILON
+#    define FLT_EPSILON __FLT_EPSILON__
+#  endif
+#endif
+
 // ViSP major version.
 #define VISP_VERSION_MAJOR ${VISP_VERSION_MAJOR}
 
@@ -104,9 +128,12 @@
 // Defined if OpenCV available.
 #cmakedefine VISP_HAVE_OPENCV
 
-// Defined if OpenCV_nonfree available.
+// Defined if OpenCV nonfree module available. Only with OpenCV < 3.0.0
 #cmakedefine VISP_HAVE_OPENCV_NONFREE
 
+// Defined if OpenCV xfeatures2d module available. Only since OpenCV >= 3.0.0
+#cmakedefine VISP_HAVE_OPENCV_XFEATURES2D
+
 // OpenCV version in hexadecimal (for example 2.1.0 gives 0x020100).
 #ifdef VISP_HAVE_OPENCV
 #  define VISP_HAVE_OPENCV_VERSION ${VISP_HAVE_OPENCV_VERSION}
@@ -251,6 +278,12 @@
 // Defined if linux/parport.h is available for parallel port usage.
 #cmakedefine VISP_HAVE_PARPORT
 
+// Defined if libzbar is available for bar code detection
+#cmakedefine VISP_HAVE_ZBAR
+
+// Defined if libdmtx is available for bar code detection
+#cmakedefine VISP_HAVE_DMTX
+
 // Defined if Inria's NAS server hosting /udd/ is available
 // Used for the moment in vpAfma6 class to check if config files are
 // available in /udd/fspindle/robot/Afma6/current/include/
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index c60c08c2f43f50acdbd31bf51dfc7c81a47355d1..b1cd872d8c65a1d4ff9f99251bd24eb313eccf76 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4971 2014-11-16 13:01:59Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -42,51 +42,72 @@
 # Include project files 
 #----------------------------------------------------------------------
 # include all the ViSP project .cpp files
-INCLUDE(${VISP_SOURCE_DIR}/CMakeSourceFileList.cmake)
+include(${VISP_SOURCE_DIR}/CMakeSourceFileList.cmake)
 # include all the ViSP project .h files
-INCLUDE(${VISP_SOURCE_DIR}/CMakeHeaderFileList.cmake)
-
+include(${VISP_SOURCE_DIR}/CMakeHeaderFileList.cmake)
 
 #----------------------------------------------------------------------
 # Create rule to copy all the headers from src to include/visp
 #----------------------------------------------------------------------
 # For each header, we create a rule
-SET(HEADER_IN_INCLUDE_DIR "")
-FOREACH(header ${HEADER_ALL})
-  GET_FILENAME_COMPONENT(headerName ${header} NAME) 
-  ADD_CUSTOM_COMMAND(
+set(HEADER_IN_INCLUDE_DIR "")
+foreach(header_ ${HEADER_ALL})
+  get_filename_component(headerName ${header_} NAME)
+  add_custom_command(
     OUTPUT ${VISP_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}/visp/${headerName}
-    COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${header} ${VISP_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}/visp/${headerName}
-    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${header}
+    COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${header_} ${VISP_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}/visp/${headerName}
+    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${header_}
     )
-  SET(HEADER_IN_INCLUDE_DIR ${HEADER_IN_INCLUDE_DIR} ${VISP_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}/visp/${headerName}
+  set(HEADER_IN_INCLUDE_DIR ${HEADER_IN_INCLUDE_DIR} ${VISP_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}/visp/${headerName}
     )
-ENDFOREACH(header)
+endforeach()
 
 #----------------------------------------------------------------------
 # Create a top level rule to copy all the headers from src to include/visp
 #----------------------------------------------------------------------
-ADD_CUSTOM_TARGET(header ALL
+add_custom_target(header ALL
   DEPENDS ${HEADER_IN_INCLUDE_DIR}
   )
 
-
 #----------------------------------------------------------------------
 # build rule for the library
 #----------------------------------------------------------------------
-ADD_LIBRARY (${VISP_INTERN_LIBRARY} 
+
+if(POLICY CMP0042)
+  cmake_policy(SET CMP0042 NEW)
+endif()
+
+add_library(${VISP_INTERN_LIBRARY}
   ${SRC_ALL} 
   ${HEADER_ALL} ${VISP_INCLUDE_DIR}/vpConfig.h) 
 
 # create the headers in include/visp before compiling the lib
-ADD_DEPENDENCIES(${VISP_INTERN_LIBRARY} header)
+add_dependencies(${VISP_INTERN_LIBRARY} header)
+
+# extra target
+add_dependencies(visp_library ${VISP_INTERN_LIBRARY})
 
 # Append the library version information to the library target
 # properties. 
-SET_TARGET_PROPERTIES(${VISP_INTERN_LIBRARY} PROPERTIES
+set_target_properties(${VISP_INTERN_LIBRARY} PROPERTIES
   VERSION ${VISP_VERSION}
   SOVERSION ${VISP_VERSION_MAJOR}.${VISP_VERSION_MINOR}
+  PUBLIC_HEADER "${HEADER_ALL};${VISP_INCLUDE_DIR}/vpConfig.h"
+  OUTPUT_NAME "${VISP_INTERN_LIBRARY}${VISP_DLLVERSION}"
+  DEBUG_POSTFIX "${VISP_DEBUG_POSTFIX}"
+  RUNTIME_OUTPUT_DIRECTORY "${BINARY_OUTPUT_PATH}"
+  LIBRARY_OUTPUT_DIRECTORY "${LIBRARY_OUTPUT_PATH}"
+  ARCHIVE_OUTPUT_DIRECTORY "${LIBRARY_OUTPUT_PATH}"
   )
+set_property(TARGET ${VISP_INTERN_LIBRARY} APPEND PROPERTY
+  INTERFACE_INCLUDE_DIRECTORIES ${VISP_EXTERN_INCLUDE_DIRS}
+)
+if(ENABLE_SOLUTION_FOLDERS)
+  set_target_properties(${VISP_INTERN_LIBRARY} PROPERTIES FOLDER "library")
+  set_target_properties(header PROPERTIES FOLDER "library")
+endif()
+
+
 
 # Link with external libs especially under windows for winmm.lib
 # needed to create visp.dll. Why ? Because for binaries, winmm.lib
@@ -94,35 +115,19 @@ SET_TARGET_PROPERTIES(${VISP_INTERN_LIBRARY} PROPERTIES
 #IF(WIN32 AND BUILD_SHARED_LIBS AND HAVE_LIBWINMM)
 #  TARGET_LINK_LIBRARIES(${VISP_INTERN_LIBRARY} "winmm")
 #ENDIF(WIN32 AND BUILD_SHARED_LIBS AND HAVE_LIBWINMM)
-TARGET_LINK_LIBRARIES(${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+target_link_libraries(${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
 #----------------------------------------------------------------------
 # customize install target 
 #----------------------------------------------------------------------
-# install rule for the library
-# if RPM package is to build, we need EXECUTE rights (see http://www.itk.org/Bug/view.php?id=12253)
-IF(BUILD_PACKAGE_RPM)
-  #message("build rpm")
-  INSTALL(TARGETS ${VISP_INTERN_LIBRARY}
-    # Destination is either lib or lib64 on Unix 64 bits architectures
-    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libraries
-    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries
-    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries
-    PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE 
-  )
-else()
-  #message("don't build rpm")
-  INSTALL(TARGETS ${VISP_INTERN_LIBRARY}
-    # Destination is either lib or lib64 on Unix 64 bits architectures
-    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libraries
-    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries
-    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries
-    PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE 
-  )
-endif()
-# install rule for all the headers
-INSTALL(FILES ${HEADER_ALL}
-  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/visp
-  PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE
-  COMPONENT headers
-  )
+install(
+  TARGETS ${VISP_INTERN_LIBRARY}
+  EXPORT VISPTargets
+  # install rule for all the headers
+  PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/visp
+  # Destination is either lib or lib64 on Unix 64 bits architectures
+  RUNTIME DESTINATION ${VISP_BIN_INSTALL_PATH} COMPONENT libraries
+  LIBRARY DESTINATION ${VISP_LIB_INSTALL_PATH} COMPONENT libraries
+  ARCHIVE DESTINATION ${VISP_LIB_INSTALL_PATH} COMPONENT libraries
+  PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE
+)
diff --git a/src/camera/calibration/vpCalibration.cpp b/src/camera/calibration/vpCalibration.cpp
index 28f5f19b4e43ed0bf89fded024ccfb36feff247f..48403fc06cba6e93b37f3dc1bf48c0fc4c5d5e16 100644
--- a/src/camera/calibration/vpCalibration.cpp
+++ b/src/camera/calibration/vpCalibration.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpCalibration.cpp 4663 2014-02-14 10:32:11Z fspindle $
+ * $Id: vpCalibration.cpp 5233 2015-01-30 13:50:39Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -473,11 +473,11 @@ int vpCalibration::computeCalibrationMulti(vpCalibrationMethodType method,
       if(table_cal[i].get_npt()>3)
         table_cal[i].computePose(cam_est,table_cal[i].cMo);
     }
-    switch (method) {   
-    case CALIB_LAGRANGE :
+    switch (method) {
+    case CALIB_LAGRANGE : {
       if(nbPose > 1){
         std::cout << "this calibration method is not available in" << std::endl
-            << "vpCalibration::computeCalibrationMulti()" << std::endl;
+                  << "vpCalibration::computeCalibrationMulti()" << std::endl;
         return -1 ;
       }
       else {
@@ -487,12 +487,13 @@ int vpCalibration::computeCalibrationMulti(vpCalibrationMethodType method,
         table_cal[0].cMo_dist = table_cal[0].cMo ;
       }
       break;
+    }
     case CALIB_LAGRANGE_VIRTUAL_VS :
-    case CALIB_LAGRANGE_VIRTUAL_VS_DIST :
+    case CALIB_LAGRANGE_VIRTUAL_VS_DIST : {
       if(nbPose > 1){
         std::cout << "this calibration method is not available in" << std::endl
-            << "vpCalibration::computeCalibrationMulti()" << std::endl
-            << "with several images." << std::endl;
+                  << "vpCalibration::computeCalibrationMulti()" << std::endl
+                  << "with several images." << std::endl;
         return -1 ;
       }
       else {
@@ -501,13 +502,15 @@ int vpCalibration::computeCalibrationMulti(vpCalibrationMethodType method,
         table_cal[0].cam_dist = cam_est ;
         table_cal[0].cMo_dist = table_cal[0].cMo ;
       }
+      calibVVSMulti(table_cal, cam_est, globalReprojectionError, verbose);
+      break ;
+    }
     case CALIB_VIRTUAL_VS:
-    case CALIB_VIRTUAL_VS_DIST:
-      {
-        calibVVSMulti(table_cal, cam_est, globalReprojectionError, verbose);
-      }
+    case CALIB_VIRTUAL_VS_DIST: {
+      calibVVSMulti(table_cal, cam_est, globalReprojectionError, verbose);
       break ;
     }
+    }
     //Print camera parameters
     if(verbose){
       //       std::cout << "Camera parameters without distortion :" << std::endl;
@@ -739,14 +742,22 @@ int vpCalibration::readGrid(const char* filename, unsigned int &n,
   \param I : Image where to display data.
   \param color : Color of the data.
   \param thickness : Thickness of the displayed data.
+  \param subsampling_factor : Subsampling factor. Default value is 1.
+  Admissible values are multiple of 2. Divide by this parameter the
+  coordinates of the data points resulting from image processing.
 
 */
 int vpCalibration::displayData(vpImage<unsigned char> &I, vpColor color,
-                               unsigned int thickness)
+                               unsigned int thickness, int subsampling_factor)
 {
 
   for (std::list<vpImagePoint>::const_iterator it = Lip.begin(); it != Lip.end(); ++ it) {
-    vpDisplay::displayCross(I, *it, 12, color, thickness) ;
+    vpImagePoint ip = *it;
+    if (subsampling_factor > 1.) {
+      ip.set_u( ip.get_u() / subsampling_factor);
+      ip.set_v( ip.get_v() / subsampling_factor);
+    }
+    vpDisplay::displayCross(I, ip, 12, color, thickness) ;
   }
   return 0 ;
 }
@@ -757,14 +768,17 @@ int vpCalibration::displayData(vpImage<unsigned char> &I, vpColor color,
   \param I : Image where to display grid data.
   \param color : Color of the data.
   \param thickness : Thickness of the displayed data.
+  \param subsampling_factor : Subsampling factor. Default value is 1.
+  Admissible values are multiple of 2. Divide by this parameter the
+  values of the camera parameters.
 */
 int vpCalibration::displayGrid(vpImage<unsigned char> &I, vpColor color,
-                               unsigned int thickness)
+                               unsigned int thickness, int subsampling_factor)
 {
-  double u0_dist = cam_dist.get_u0() ;
-  double v0_dist = cam_dist.get_v0() ;
-  double px_dist = cam_dist.get_px() ;
-  double py_dist = cam_dist.get_py() ;
+  double u0_dist = cam_dist.get_u0() / subsampling_factor;
+  double v0_dist = cam_dist.get_v0() / subsampling_factor;
+  double px_dist = cam_dist.get_px() / subsampling_factor;
+  double py_dist = cam_dist.get_py() / subsampling_factor;
   double kud_dist = cam_dist.get_kud() ;
   //  double kdu_dist = cam_dist.get_kdu() ;
 
@@ -850,10 +864,10 @@ int vpCalibration::computeCalibrationMulti(vpCalibrationMethodType method,
         table_cal[i].computePose(cam_est,table_cal[i].cMo);
     }
     switch (method) {
-    case CALIB_LAGRANGE :
+    case CALIB_LAGRANGE : {
       if(nbPose > 1){
         std::cout << "this calibration method is not available in" << std::endl
-            << "vpCalibration::computeCalibrationMulti()" << std::endl;
+                  << "vpCalibration::computeCalibrationMulti()" << std::endl;
         return -1 ;
       }
       else {
@@ -863,12 +877,13 @@ int vpCalibration::computeCalibrationMulti(vpCalibrationMethodType method,
         table_cal[0].cMo_dist = table_cal[0].cMo ;
       }
       break;
+    }
     case CALIB_LAGRANGE_VIRTUAL_VS :
-    case CALIB_LAGRANGE_VIRTUAL_VS_DIST :
+    case CALIB_LAGRANGE_VIRTUAL_VS_DIST : {
       if(nbPose > 1){
         std::cout << "this calibration method is not available in" << std::endl
-            << "vpCalibration::computeCalibrationMulti()" << std::endl
-            << "with several images." << std::endl;
+                  << "vpCalibration::computeCalibrationMulti()" << std::endl
+                  << "with several images." << std::endl;
         return -1 ;
       }
       else {
@@ -877,13 +892,15 @@ int vpCalibration::computeCalibrationMulti(vpCalibrationMethodType method,
         table_cal[0].cam_dist = cam_est ;
         table_cal[0].cMo_dist = table_cal[0].cMo ;
       }
+      calibVVSMulti(nbPose, table_cal, cam_est, verbose);
+      break ;
+    }
     case CALIB_VIRTUAL_VS:
-    case CALIB_VIRTUAL_VS_DIST:
-      {
-        calibVVSMulti(nbPose, table_cal, cam_est, verbose);
-      }
+    case CALIB_VIRTUAL_VS_DIST: {
+      calibVVSMulti(nbPose, table_cal, cam_est, verbose);
       break ;
     }
+    }
     //Print camera parameters
     if(verbose){
       //       std::cout << "Camera parameters without distortion :" << std::endl;
diff --git a/src/camera/calibration/vpCalibration.h b/src/camera/calibration/vpCalibration.h
index ed44d2f86dd97a9e1d0d353532de8c91f849c63b..7be48a69aa05681718b4b8e93be73e7a476e7b4a 100644
--- a/src/camera/calibration/vpCalibration.h
+++ b/src/camera/calibration/vpCalibration.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpCalibration.h 4663 2014-02-14 10:32:11Z fspindle $
+ * $Id: vpCalibration.h 4921 2014-10-09 08:19:29Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -144,9 +144,9 @@ public:
   double computeStdDeviation_dist(const vpHomogeneousMatrix &cMo,
                                   const vpCameraParameters &cam);
   int displayData(vpImage<unsigned char> &I, vpColor color=vpColor::red,
-                  unsigned int thickness=1) ;
+                  unsigned int thickness=1, int subsampling_factor=1) ;
   int displayGrid(vpImage<unsigned char> &I, vpColor color=vpColor::yellow,
-                  unsigned int thickness=1) ;
+                  unsigned int thickness=1, int subsampling_factor=1) ;
 
   //! Set the gain for the virtual visual servoing algorithm.
   static double getLambda(){return gain;}
diff --git a/src/camera/vpCameraParameters.cpp b/src/camera/vpCameraParameters.cpp
index abffc7becebbdf26118acb85c7b1a19f02349deb..8900c032656ca6b0c5e3aacc76f4a7f1f88010da 100644
--- a/src/camera/vpCameraParameters.cpp
+++ b/src/camera/vpCameraParameters.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpCameraParameters.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpCameraParameters.cpp 5215 2015-01-27 19:03:32Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -80,7 +80,7 @@ vpCameraParameters::vpCameraParameters()
     u0(DEFAULT_U0_PARAMETER), v0(DEFAULT_V0_PARAMETER),
     kud(DEFAULT_KUD_PARAMETER), kdu(DEFAULT_KDU_PARAMETER),
     width(0), height(0),
-    isFov(false), fovAngleX(0), fovAngleY(0), fovNormals(),
+    isFov(false), m_hFovAngle(0), m_vFovAngle(0), fovNormals(),
     inv_px(1./DEFAULT_PX_PARAMETER), inv_py(1./DEFAULT_PY_PARAMETER),
     projModel(DEFAULT_PROJ_TYPE)
 {
@@ -96,7 +96,7 @@ vpCameraParameters::vpCameraParameters(const vpCameraParameters &c)
     u0(DEFAULT_U0_PARAMETER), v0(DEFAULT_V0_PARAMETER),
     kud(DEFAULT_KUD_PARAMETER), kdu(DEFAULT_KDU_PARAMETER),
     width(0), height(0),
-    isFov(false), fovAngleX(0), fovAngleY(0), fovNormals(),
+    isFov(false), m_hFovAngle(0), m_vFovAngle(0), fovNormals(),
     inv_px(1./DEFAULT_PX_PARAMETER), inv_py(1./DEFAULT_PY_PARAMETER),
     projModel(DEFAULT_PROJ_TYPE)
 {
@@ -117,7 +117,7 @@ vpCameraParameters::vpCameraParameters(const double cam_px, const double cam_py,
     u0(DEFAULT_U0_PARAMETER), v0(DEFAULT_V0_PARAMETER),
     kud(DEFAULT_KUD_PARAMETER), kdu(DEFAULT_KDU_PARAMETER),
     width(0), height(0),
-    isFov(false), fovAngleX(0), fovAngleY(0), fovNormals(),
+    isFov(false), m_hFovAngle(0), m_vFovAngle(0), fovNormals(),
     inv_px(1./DEFAULT_PX_PARAMETER), inv_py(1./DEFAULT_PY_PARAMETER),
     projModel(DEFAULT_PROJ_TYPE)
 {
@@ -141,7 +141,7 @@ vpCameraParameters::vpCameraParameters(const double cam_px, const double cam_py,
     u0(DEFAULT_U0_PARAMETER), v0(DEFAULT_V0_PARAMETER),
     kud(DEFAULT_KUD_PARAMETER), kdu(DEFAULT_KDU_PARAMETER),
     width(0), height(0),
-    isFov(false), fovAngleX(0), fovAngleY(0), fovNormals(),
+    isFov(false), m_hFovAngle(0), m_vFovAngle(0), fovNormals(),
     inv_px(1./DEFAULT_PX_PARAMETER), inv_py(1./DEFAULT_PY_PARAMETER),
     projModel(DEFAULT_PROJ_TYPE)
 {
@@ -173,8 +173,38 @@ vpCameraParameters::init()
 /*!
   Initialization with specific parameters using perpective projection without
   distortion model.
-  \param cam_px,cam_py : pixel size
-  \param cam_u0,cam_v0 : principal point
+  \param cam_px,cam_py : the ratio between the focal length and the size of a pixel.
+  \param cam_u0,cam_v0 : principal point coordinates in pixels.
+
+   The following sample code shows how to use this function:
+   \code
+#include <visp/vpCameraParameters.h>
+#include <visp/vpImage.h>
+
+int main()
+{
+  vpImage<unsigned char> I(480, 640);
+  double u0 = I.getWidth()  / 2.;
+  double v0 = I.getHeight() / 2.;
+  double px = 600;
+  double py = 600;
+  vpCameraParameters cam;
+  cam.initPersProjWithoutDistortion(px, py, u0, v0);
+  cam.computeFov(I.getWidth(), I.getHeight());
+  std::cout << cam << std::endl;
+  std::cout << "Field of view (horizontal: " << vpMath::deg(cam.getHorizontalFovAngle())
+            << " and vertical: " << vpMath::deg(cam.getVerticalFovAngle()) << " degrees)" << std::endl;
+}
+   \endcode
+   It produces the following output:
+   \code
+Camera parameters for perspective projection without distortion:
+  px = 600	 py = 600
+  u0 = 320	 v0 = 240
+
+Field of view (horizontal: 56.145 and vertical: 43.6028 degrees)
+   \endcode
+
  */
 void
 vpCameraParameters::initPersProjWithoutDistortion(const double cam_px, const double cam_py,
@@ -208,10 +238,42 @@ vpCameraParameters::initPersProjWithoutDistortion(const double cam_px, const dou
 /*!
   Initialization with specific parameters using perpective projection with
   distortion model.
-  \param cam_px,cam_py : pixel size
-  \param cam_u0,cam_v0 : principal points
-  \param cam_kud : undistorted to distorted radial distortion
-  \param cam_kdu : distorted to undistorted radial distortion
+  \param cam_px,cam_py : the ratio between the focal length and the size of a pixel.
+  \param cam_u0,cam_v0 : principal points coordinates in pixels.
+  \param cam_kud : undistorted to distorted radial distortion.
+  \param cam_kdu : distorted to undistorted radial distortion.
+
+   The following sample code shows how to use this function:
+   \code
+#include <visp/vpCameraParameters.h>
+#include <visp/vpImage.h>
+
+int main()
+{
+  vpImage<unsigned char> I(480, 640);
+  double u0 = I.getWidth()  / 2.;
+  double v0 = I.getHeight() / 2.;
+  double px = 600;
+  double py = 600;
+  double kud = -0.19;
+  double kdu = 0.20;
+  vpCameraParameters cam;
+  cam.initPersProjWithDistortion(px, py, u0, v0, kud, kdu);
+  cam.computeFov(I.getWidth(), I.getHeight());
+  std::cout << cam << std::endl;
+  std::cout << "Field of view (horizontal: " << vpMath::deg(cam.getHorizontalFovAngle())
+            << " and vertical: " << vpMath::deg(cam.getVerticalFovAngle()) << " degrees)" << std::endl;
+}
+   \endcode
+   It produces the following output:
+   \code
+Camera parameters for perspective projection with distortion:
+  px = 600	 py = 600
+  u0 = 320	 v0 = 240
+  kud = -0.19
+  kdu = 0.2
+
+Field of view (horizontal: 56.14497387 and vertical: 43.60281897 degrees)   \endcode
 */
 void
 vpCameraParameters::initPersProjWithDistortion(const double cam_px, const double cam_py,
@@ -288,6 +350,54 @@ vpCameraParameters::initFromCalibrationMatrix(const vpMatrix& _K)
   initPersProjWithoutDistortion (_K[0][0], _K[1][1], _K[0][2], _K[1][2]);
 }
 
+/*!
+   Initialize the camera model without distorsion from the image dimension and the camera field of view.
+   \param w : Image width.
+   \param h : Image height.
+   \param hfov : Camera horizontal field of view angle expressed in radians.
+   \param vfov : Camera vertical field of view angle expressed in radians.
+
+   The following sample code shows how to use this function:
+   \code
+#include <visp/vpCameraParameters.h>
+#include <visp/vpImage.h>
+
+int main()
+{
+  vpImage<unsigned char> I(480, 640);
+  vpCameraParameters cam;
+  double hfov = vpMath::rad(56);
+  double vfov = vpMath::rad(43);
+  cam.initFromFov(I.getWidth(), I.getHeight(), hfov, vfov);
+
+  std::cout << cam << std::endl;
+  std::cout << "Field of view (horizontal: " << vpMath::deg(cam.getHorizontalFovAngle())
+            << " and vertical: " << vpMath::deg(cam.getVerticalFovAngle()) << " degrees)" << std::endl;
+}
+   \endcode
+   It produces the following output:
+   \code
+Camera parameters for perspective projection without distortion:
+  px = 601.832	 py = 609.275
+  u0 = 320	 v0 = 240
+
+Field of view (horizontal: 56 and vertical: 43 degrees)
+   \endcode
+ */
+void
+vpCameraParameters::initFromFov(const unsigned int &w, const unsigned int &h, const double &hfov, const double &vfov)
+{
+  projModel = vpCameraParameters::perspectiveProjWithoutDistortion;
+  u0 = (double)w/2.;
+  v0 = (double)h/2.;
+  px = u0 / tan(hfov/2);
+  py = v0 / tan(vfov/2);
+  kud = 0;
+  kdu = 0;
+  inv_px = 1./px;
+  inv_py = 1./py;
+  computeFov(w, h);
+}
 
 /*!
   copy operator
@@ -307,11 +417,11 @@ vpCameraParameters&
   inv_py = cam.inv_py;
   
   isFov = cam.isFov;
-  fovAngleX = cam.fovAngleX;
-  fovAngleY = cam.fovAngleY;
-  fovNormals = cam.fovNormals;
+  m_hFovAngle = cam.m_hFovAngle;
+  m_vFovAngle = cam.m_vFovAngle;
   width = cam.width;
   height = cam.height;
+  fovNormals = cam.fovNormals;
   
   return *this ;
 }
@@ -330,8 +440,8 @@ vpCameraParameters::computeFov(const unsigned int &w, const unsigned int &h)
     
     isFov = true;
     
-    fovAngleX = atan((double)w / ( 2.0 * px ));
-    fovAngleY = atan((double)h / ( 2.0 * py ));
+    double half_hFovAngle = atan((double)w / ( 2.0 * px ));
+    double half_vFovAngle = atan((double)h / ( 2.0 * py ));
     
     width = w;
     height = h;
@@ -340,8 +450,8 @@ vpCameraParameters::computeFov(const unsigned int &w, const unsigned int &h)
     n = 0;
     n[0] = 1.0;
     
-    vpRotationMatrix Rleft(0,-fovAngleX,0);
-    vpRotationMatrix Rright(0,fovAngleX,0);
+    vpRotationMatrix Rleft (0,-half_hFovAngle,0);
+    vpRotationMatrix Rright(0, half_hFovAngle,0);
     
     vpColVector nLeft, nRight;
     
@@ -354,8 +464,8 @@ vpCameraParameters::computeFov(const unsigned int &w, const unsigned int &h)
     n = 0;
     n[1] = 1.0;
   
-    vpRotationMatrix Rup(fovAngleY,0,0);
-    vpRotationMatrix Rdown(-fovAngleY,0,0);
+    vpRotationMatrix Rup  ( half_vFovAngle,0,0);
+    vpRotationMatrix Rdown(-half_vFovAngle,0,0);
     
     vpColVector nUp, nDown;
     
@@ -364,6 +474,9 @@ vpCameraParameters::computeFov(const unsigned int &w, const unsigned int &h)
     
     nDown = Rdown * n;
     fovNormals[3] = nDown.normalize();
+
+    m_hFovAngle = 2 * half_hFovAngle;
+    m_vFovAngle = 2 * half_vFovAngle;
   }
 }
 
diff --git a/src/camera/vpCameraParameters.h b/src/camera/vpCameraParameters.h
index 633cb4ac764b6321752fb2f4d6386980801f97ff..28906872e6df97fe6a77affb1d223578d6f30935 100644
--- a/src/camera/vpCameraParameters.h
+++ b/src/camera/vpCameraParameters.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpCameraParameters.h 4620 2014-01-27 21:28:32Z fspindle $
+ * $Id: vpCameraParameters.h 5207 2015-01-26 09:05:28Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -90,10 +90,9 @@
   \end{array}\right.
   \f]
 
-  The conversion from pixel coordinates \f$(u,v)\f$ in the normalized
-  space \f$(x,y)\f$ is implemented in vpPixelMeterConversion, whereas
-  the conversion from normalized coordinates into pixel is implemented
-  in vpMeterPixelConversion.
+  The initialization of such a model can be done using:
+  - initPersProjWithoutDistortion() that allows to set \f$u_0,v_0,p_x,p_y\f$ parameters;
+  - initFromFov() that computes the parameters from an image size and a camera field of view.
 
   <b>2. Camera parameters for a perspective projection with distortion model</b>
 
@@ -152,13 +151,19 @@
   y = f_y(u,v) =  \frac{v-v_0}{p_y}\left(1+k_{du}\left( {\left(\frac{u-u_0}{p_{x}}\right)}^2 +  {\left(\frac{v-v_0}{p_{y}}\right)}^2 \right)\right)
   \end{array}\right.
   \f]
-  The conversion from pixel coordinates \f$(u,v)\f$ in the normalized
-  space \f$(x,y)\f$ is implemented in vpPixelMeterConversion.
+
+  The initialization of such a model can be done using:
+  - initPersProjWithDistortion() that allows to set \f$u_0,v_0,p_x,p_y,k_{ud},k_{du}\f$ parameters;
+
+  \note The conversion from pixel coordinates \f$(u,v)\f$ in the normalized
+  space \f$(x,y)\f$ is implemented in vpPixelMeterConversion, whereas
+  the conversion from normalized coordinates into pixel is implemented
+  in vpMeterPixelConversion.
 
   The selection of one of these modelisations is done during
   vpCameraParameters initialisation.
 
-  Here an example of camera initialisation, for a model without distortion:
+  Here an example of camera initialisation, for a model without distortion. A complete example is given in initPersProjWithoutDistortion().
   \code
   double px = 600;
   double py = 600;
@@ -173,7 +178,7 @@
   std::cout << cam << std::endl;
   \endcode
 
-  Here an example of camera initialisation, for a model with distortion:
+  Here an example of camera initialisation, for a model with distortion. A complete example is given in initPersProjWithDistortion().
   \code
   double px = 600;
   double py = 600;
@@ -198,6 +203,9 @@
   \endcode
 
   An XML parser for camera parameters is also provided in vpXmlParserCamera.
+
+  Note also that the \ref tutorial-calibration shows how to calibrate a camera
+  to obtain the parameters corresponding to both models implemented in this class.
 */
 class VISP_EXPORT vpCameraParameters
 {
@@ -225,11 +233,10 @@ public :
   void init() ;
   void init(const vpCameraParameters &c) ;
   void initFromCalibrationMatrix(const vpMatrix& _K);
-  
-  void initPersProjWithoutDistortion(const double px, const double py,
-                                      const double u0, const double v0) ;
-  void initPersProjWithDistortion(const double px, const double py,
-     const double u0, const double v0, const double kud,const double kdu) ;
+  void initFromFov(const unsigned int &w, const unsigned int &h, const double &hfov, const double &vfov);
+  void initPersProjWithoutDistortion(const double px, const double py, const double u0, const double v0);
+  void initPersProjWithDistortion(const double px, const double py, const double u0, const double v0,
+                                  const double kud,const double kdu) ;
      
   /*!
     Specify if the fov has been computed.
@@ -243,27 +250,27 @@ public :
   void computeFov(const unsigned int &w, const unsigned int &h);
   
   /*!
-    Get the horizontal angle of the field of view.
-    
-    \sa computeFov()
-    
-    \return AngleX computed with px and width.
+    Get the horizontal angle in radian of the field of view.
+
+    \return FOV horizontal angle computed with px and width.
+
+    \sa computeFov(), getVerticalFovAngle()
   */
-  inline double getFovAngleX() const { 
-    if(!isFov) vpTRACE("Warning: The FOV is not computed, getFovAngleX() won't be significant.");
-    return fovAngleX; 
+  inline double getHorizontalFovAngle() const {
+    if(!isFov) vpTRACE("Warning: The FOV is not computed, getHorizontalFovAngle() won't be significant.");
+    return m_hFovAngle;
   }
-  
+
   /*!
-    Get the vertical angle of the field of view.
-    
-    \sa computeFov()
-    
-    \return AngleY computed with py and height.
+    Get the vertical angle in radian of the field of view.
+
+    \return FOV vertical angle computed with py and height.
+
+    \sa computeFov(), getHorizontalFovAngle()
   */
-  inline double getFovAngleY() const { 
-    if(!isFov) vpTRACE("Warning: The FOV is not computed, getFovAngleY() won't be significant.");
-    return fovAngleY; 
+  inline double getVerticalFovAngle() const {
+    if(!isFov) vpTRACE("Warning: The FOV is not computed, getVerticalFovAngle() won't be significant.");
+    return m_vFovAngle;
   }
   
   /*!
@@ -301,6 +308,35 @@ public :
   void printParameters() ;
   friend VISP_EXPORT std::ostream & operator << (std::ostream & os, const vpCameraParameters &cam);
 
+#ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
+  /*!
+    \deprecated This function is deprecated. Use rather getHorizontalFovAngle().
+    Get the horizontal angle of the field of view.
+
+    \sa computeFov()
+
+    \return AngleX computed with px and width.
+  */
+  vp_deprecated inline double getFovAngleX() const {
+    if(!isFov) vpTRACE("Warning: The FOV is not computed, getFovAngleX() won't be significant.");
+    return m_hFovAngle;
+  }
+
+  /*!
+    \deprecated This function is deprecated. Use rather getVerticalFovAngle().
+    Get the vertical angle in radian of the field of view.
+
+    \sa computeFov()
+
+    \return FOV vertical angle computed with py and height.
+  */
+  vp_deprecated inline double getFovAngleY() const {
+    if(!isFov) vpTRACE("Warning: The FOV is not computed, getFovAngleY() won't be significant.");
+    return m_hFovAngle;
+  }
+
+#endif
+
 private:
   static const double DEFAULT_U0_PARAMETER;
   static const double DEFAULT_V0_PARAMETER;
@@ -319,8 +355,8 @@ private:
   unsigned int width ; //!< Width of the image used for the fov computation
   unsigned int height ; //!< Height of the image used for the fov computation
   bool isFov ; //!< Boolean to specify if the fov has been computed
-  double fovAngleX ; //!< AngleX/2.0 of the fov
-  double fovAngleY ; //!< AngleY/2.0 of the fov
+  double m_hFovAngle ; //!< Field of view horizontal angle
+  double m_vFovAngle ; //!< Field of view vertical angle
   std::vector<vpColVector> fovNormals ; //!< Normals of the planes describing the fov
   
   double inv_px, inv_py; 
diff --git a/src/camera/vpMeterPixelConversion.cpp b/src/camera/vpMeterPixelConversion.cpp
index a2aedf70f6a0859cbfcb25e5fc3c73872223d703..a7ab8768af542b0d3c637936110cf9ff79e44f66 100644
--- a/src/camera/vpMeterPixelConversion.cpp
+++ b/src/camera/vpMeterPixelConversion.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMeterPixelConversion.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpMeterPixelConversion.cpp 4740 2014-05-26 07:15:44Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -51,7 +51,7 @@
 #include <visp/vpMath.h>
 #include <visp/vpDebug.h>
 
-//! line coordinates conversion (rho,theta)
+//! Line coordinates conversion (rho,theta).
 void
 vpMeterPixelConversion::convertLine(const vpCameraParameters &cam,
 				    const double &rho_m, const double &theta_m,
@@ -71,14 +71,46 @@ vpMeterPixelConversion::convertLine(const vpCameraParameters &cam,
   theta_p = atan2(cam.px*si, cam.py*co) ;
   rho_p = (cam.px*cam.py*rho_m + cam.u0*cam.py*co + cam.v0*cam.px*si) ;
   rho_p /= d ;
+}
 
+/*!
+  Converts an ellipse with parameters expressed in meter in the image
+  plane in parameters expressed in the image in pixels.
 
-}
+  The ellipse is here represented by its parameters \f$x_c,y_c,\mu_{20}, \mu_{11}, \mu_{02}\f$.
 
+  \param cam [in]: Intrinsic camera parameters.
+  \param circle [in]: 3D circle with parameters circle.p[] expressed in meters in the image plane.
+  \param center [out]: Center of the corresponding ellipse in the image with coordinates
+  expressed in pixels.
+  \param mu20_p,mu11_p,mu02_p [out]: Centered moments expressed in pixels.
 
-/*
- * Local variables:
- * c-basic-offset: 2
- * End:
+  The following code shows how to use this function:
+  \code
+  vpCircle circle;
+  double mu20_p, mu11_p, mu02_p;
+  circle.changeFrame(cMo);
+  circle.projection();
+  vpMeterPixelConversion::convertEllipse(cam, circle, center_p, mu20_p, mu11_p, mu02_p);
+  vpDisplay::displayEllipse(I, center_p, mu20_p, mu11_p, mu02_p);
+  \endcode
  */
+void
+vpMeterPixelConversion::convertEllipse(const vpCameraParameters &cam,
+                                       const vpCircle &circle, vpImagePoint &center,
+                                       double &mu20_p, double &mu11_p, double &mu02_p)
+{
+  // Get the parameters of the ellipse in the image plane
+  double xc_m = circle.p[0];
+  double yc_m = circle.p[1];
+  double mu20_m = circle.p[2];
+  double mu11_m = circle.p[3];
+  double mu02_m = circle.p[4];
+
+  // Convert from meter to pixels
+  vpMeterPixelConversion::convertPoint(cam, xc_m, yc_m, center);
+  mu20_p = mu20_m*vpMath::sqr(cam.get_px());
+  mu11_p = mu11_m*cam.get_px()*cam.get_py();
+  mu02_p = mu02_m*vpMath::sqr(cam.get_py());
+}
 
diff --git a/src/camera/vpMeterPixelConversion.h b/src/camera/vpMeterPixelConversion.h
index 4e030f6bc4fb83c5a71ea62cd29d2b05f9f49829..405f7c0e27c648103f9da9c2d20f5bc638b9dbe3 100644
--- a/src/camera/vpMeterPixelConversion.h
+++ b/src/camera/vpMeterPixelConversion.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMeterPixelConversion.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpMeterPixelConversion.h 4726 2014-04-23 11:58:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -52,9 +52,10 @@
 */
 
 #include <visp/vpCameraParameters.h>
-#include<visp/vpException.h>
-#include<visp/vpMath.h>
-#include<visp/vpImagePoint.h>
+#include <visp/vpCircle.h>
+#include <visp/vpException.h>
+#include <visp/vpImagePoint.h>
+#include <visp/vpMath.h>
 
 /*!
   \class vpMeterPixelConversion
@@ -70,6 +71,13 @@
 class VISP_EXPORT vpMeterPixelConversion
 {
 public:
+    static void convertEllipse(const vpCameraParameters &cam,
+                               const vpCircle &circle, vpImagePoint &center,
+                               double &mu20_p, double &mu11_p, double &mu02_p);
+
+    static void convertLine(const vpCameraParameters &cam,
+                            const double &rho_m, const double &theta_m,
+                            double &rho_p, double &theta_p) ;
 
 /*!
 
@@ -93,10 +101,9 @@ public:
 */
 
   inline static void
-  convertPoint( const vpCameraParameters &cam,
+  convertPoint(const vpCameraParameters &cam,
                 const double &x, const double &y,
                 double &u, double &v)
-
   {
     switch(cam.projModel){
       case vpCameraParameters::perspectiveProjWithoutDistortion :   
@@ -132,10 +139,9 @@ public:
 */
 
   inline static void
-  convertPoint( const vpCameraParameters &cam,
-                const double &x, const double &y,
-                vpImagePoint &iP)
-
+  convertPoint(const vpCameraParameters &cam,
+               const double &x, const double &y,
+               vpImagePoint &iP)
   {
     switch(cam.projModel){
       case vpCameraParameters::perspectiveProjWithoutDistortion :   
@@ -147,6 +153,7 @@ public:
     }       
   }
 
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
   /*!
 
     \brief Point coordinates conversion without distortion from
@@ -158,9 +165,8 @@ public:
 
   inline static void
   convertPointWithoutDistortion(const vpCameraParameters &cam,
-				const double &x, const double &y,
-				double &u, double &v)
-
+                                const double &x, const double &y,
+                                double &u, double &v)
   {
       u = x * cam.px + cam.u0 ;
       v = y * cam.py + cam.v0 ;
@@ -178,14 +184,13 @@ public:
 
   inline static void
   convertPointWithoutDistortion(const vpCameraParameters &cam,
-				const double &x, const double &y,
-				vpImagePoint &iP)
-
+                                const double &x, const double &y,
+                                vpImagePoint &iP)
   {
       iP.set_u( x * cam.px + cam.u0 );
       iP.set_v( y * cam.py + cam.v0 );
   }
-  
+
   /*!
 
     \brief Point coordinates conversion with distortion from
@@ -202,9 +207,8 @@ public:
   */
   inline static void
   convertPointWithDistortion(const vpCameraParameters &cam,
-			     const double &x, const double &y,
-			     double &u, double &v)
-
+                             const double &x, const double &y,
+                             double &u, double &v)
   {
     double r2 = 1.+cam.kud*(x*x+y*y);
     u = cam.u0 + cam.px*x*r2;
@@ -228,26 +232,16 @@ public:
   */
   inline static void
   convertPointWithDistortion(const vpCameraParameters &cam,
-              const double &x, const double &y,
-              vpImagePoint &iP)
-
+                             const double &x, const double &y,
+                             vpImagePoint &iP)
   {
     double r2 = 1.+cam.kud*(x*x+y*y);
     iP.set_u( cam.u0 + cam.px*x*r2 );
     iP.set_v( cam.v0 + cam.py*y*r2 );
   }
-
-  //! line coordinates conversion (rho,theta)
-  static void convertLine(const vpCameraParameters &cam,
-			  const double &rho_m, const double &theta_m,
-			  double &rho_p, double &theta_p) ;
+#endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
 } ;
 
 #endif
 
-/*
- * Local variables:
- * c-basic-offset: 2
- * End:
- */
 
diff --git a/src/camera/vpPixelMeterConversion.cpp b/src/camera/vpPixelMeterConversion.cpp
index ae35c1da3dc4a58765dc44de5f472065458fc95a..d05735bcab5a01370f5461bfbdb3c72d85953e0b 100644
--- a/src/camera/vpPixelMeterConversion.cpp
+++ b/src/camera/vpPixelMeterConversion.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpPixelMeterConversion.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpPixelMeterConversion.cpp 5060 2014-12-12 18:31:03Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -75,7 +75,7 @@ vpPixelMeterConversion::convertLine(const vpCameraParameters &cam,
 void
 vpPixelMeterConversion::convertMoment(const vpCameraParameters &cam,
 				      unsigned int order,
-				      const vpMatrix &moment_pixel,
+              const vpMatrix &moment_pixel,
 				      vpMatrix &moment_meter)
 {
 
@@ -83,13 +83,13 @@ vpPixelMeterConversion::convertMoment(const vpCameraParameters &cam,
   double yc = -cam.v0 ;
   double xc = -cam.u0 ;
 
-  for (unsigned int k=0; k<order; k++) // itération correspondant à l'ordre du moment
+  for (unsigned int k=0; k<order; k++) // iteration correspondant e l'ordre du moment
   {
-    for (unsigned int p=0 ; p<order; p++) // itération en X
-      for (unsigned int q=0; q<order; q++) // itération en Y
-	if (p+q==k) // on est bien dans la matrice triangulaire supérieure
+    for (unsigned int p=0 ; p<order; p++) // iteration en X
+      for (unsigned int q=0; q<order; q++) // iteration en Y
+  if (p+q==k) // on est bien dans la matrice triangulaire superieure
 	{
-	  m[p][q] = 0; // initialisation à 0
+    m[p][q] = 0; // initialisation e 0
 	  for(unsigned int r=0; r<=p; r++) // somme externe
 	    for(unsigned int t=0; t<=q; t++) // somme interne
 	    {
@@ -104,7 +104,7 @@ vpPixelMeterConversion::convertMoment(const vpCameraParameters &cam,
 
   }
 
-  for (unsigned int k=0; k<order; k++) // itération correspondant à l'ordre du moment
+  for (unsigned int k=0; k<order; k++) // iteration correspondant e l'ordre du moment
     for (unsigned int p=0 ; p<order; p++)
       for (unsigned int q=0; q<order; q++)
 	if (p+q==k)
@@ -112,7 +112,7 @@ vpPixelMeterConversion::convertMoment(const vpCameraParameters &cam,
 	  m[p][q] *= pow(cam.inv_px,(int)(1+p)) * pow(cam.inv_py,(int)(1+q));
 	}
 
-  for (unsigned int k=0; k<order; k++) // itération correspondant à l'ordre du moment
+  for (unsigned int k=0; k<order; k++) // iteration correspondant e l'ordre du moment
     for (unsigned int p=0 ; p<order; p++)
       for (unsigned int q=0; q<order; q++)
 	if (p+q==k)
diff --git a/src/camera/vpXmlParserCamera.cpp b/src/camera/vpXmlParserCamera.cpp
index 59ecf5e4dd29ce89627ed7bd94817d26f70ffc0b..d47716faa7153b970e4ddc367bde438c7116d36d 100644
--- a/src/camera/vpXmlParserCamera.cpp
+++ b/src/camera/vpXmlParserCamera.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpXmlParserCamera.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpXmlParserCamera.cpp 5264 2015-02-04 13:49:55Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -139,7 +139,7 @@ vpXmlParserCamera::operator =(const vpXmlParserCamera& twinParser) {
   \return error code.
 */
 int
-vpXmlParserCamera::parse(vpCameraParameters &cam, const char * filename,
+vpXmlParserCamera::parse(vpCameraParameters &cam, const std::string &filename,
                          const std::string& cam_name,
                          const vpCameraParameters::vpCameraParametersProjType &projModel,
                          const unsigned int im_width,
@@ -148,7 +148,7 @@ vpXmlParserCamera::parse(vpCameraParameters &cam, const char * filename,
   xmlDocPtr doc;
   xmlNodePtr node;
 
-  doc = xmlParseFile(filename);
+  doc = xmlParseFile(filename.c_str());
   if (doc == NULL)
   {
     return SEQUENCE_ERROR;
@@ -184,7 +184,7 @@ vpXmlParserCamera::parse(vpCameraParameters &cam, const char * filename,
   \return error code.
 */
 int
-vpXmlParserCamera::save(const vpCameraParameters &cam, const char * filename,
+vpXmlParserCamera::save(const vpCameraParameters &cam, const std::string &filename,
                         const std::string& cam_name,
                         const unsigned int im_width,
                         const unsigned int im_height)
@@ -193,7 +193,7 @@ vpXmlParserCamera::save(const vpCameraParameters &cam, const char * filename,
   xmlNodePtr node;
   xmlNodePtr nodeCamera = NULL;
 
-  doc = xmlReadFile(filename,NULL,XML_PARSE_NOWARNING + XML_PARSE_NOERROR
+  doc = xmlReadFile(filename.c_str(), NULL, XML_PARSE_NOWARNING + XML_PARSE_NOERROR
                     + XML_PARSE_NOBLANKS);
   if (doc == NULL){
     doc = xmlNewDoc ((xmlChar*)"1.0");
@@ -229,15 +229,15 @@ vpXmlParserCamera::save(const vpCameraParameters &cam, const char * filename,
     return SEQUENCE_ERROR;
   }
 
-  nodeCamera = find_camera(doc, node, camera_name, image_width, image_height);
+  nodeCamera = find_camera(doc, node, cam_name, im_width, im_height);
   if(nodeCamera == NULL){
-    write(node, camera_name, image_width, image_height);
+    write(node, cam_name, im_width, im_height);
   }
   else{
     write_camera(nodeCamera);
   }
 
-  xmlSaveFormatFile(filename,doc,1);
+  xmlSaveFormatFile(filename.c_str(), doc, 1);
   xmlFreeDoc(doc);
 
   return SEQUENCE_OK;
@@ -276,7 +276,7 @@ vpXmlParserCamera::read (xmlDocPtr doc, xmlNodePtr node,
   vpXmlCodeType prop;
 
   vpXmlCodeSequenceType back = SEQUENCE_OK;
-  int nbCamera = 0;
+  unsigned int nbCamera = 0;
 
   for (node = node->xmlChildrenNode; node != NULL;  node = node->next)
   {
@@ -501,12 +501,13 @@ vpXmlParserCamera::read_camera (xmlDocPtr doc, xmlNodePtr node,
 
     switch (prop)
     {
-    case CODE_XML_CAMERA_NAME:{
+    case CODE_XML_CAMERA_NAME: {
       char * val_char = xmlReadCharChild(doc, node);
       camera_name_tmp = val_char;
+      std::cout << "Found camera with name: \"" << camera_name_tmp << "\"" << std::endl;
       xmlFree(val_char);
-    }break;
-
+      break;
+    }
     case CODE_XML_WIDTH:
       image_width_tmp = xmlReadUnsignedIntChild(doc, node);
       break;
diff --git a/src/camera/vpXmlParserCamera.h b/src/camera/vpXmlParserCamera.h
index f768641eb33397159ef61044e3c1e5d66362f029..26a9d993f94d5f444d0be31589e6595e09e248fe 100644
--- a/src/camera/vpXmlParserCamera.h
+++ b/src/camera/vpXmlParserCamera.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpXmlParserCamera.h 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpXmlParserCamera.h 5006 2014-11-24 15:57:45Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -241,11 +241,11 @@ public:
   vpXmlParserCamera& operator =(const vpXmlParserCamera& twinparser);
   ~vpXmlParserCamera(){}
 
-  int parse(vpCameraParameters &cam, const char * filename,
+  int parse(vpCameraParameters &cam, const std::string &filename,
 	    const std::string &camera_name,
       const vpCameraParameters::vpCameraParametersProjType &projModel,  
 	    const unsigned int image_width = 0, const unsigned int image_height = 0);
-  int save(const vpCameraParameters &cam, const char * filename,
+  int save(const vpCameraParameters &cam, const std::string &filename,
 	   const std::string &camera_name,
 	   const unsigned int image_width = 0, const unsigned int image_height = 0);
 
diff --git a/src/computer-vision/homography-estimation/vpHomographyDLT.cpp b/src/computer-vision/homography-estimation/vpHomographyDLT.cpp
index 6669a46df5c1c421c65af78547cb54187b4b87ae..10f4ff5a15219f1c4bded1e9f77037be1255aaac 100644
--- a/src/computer-vision/homography-estimation/vpHomographyDLT.cpp
+++ b/src/computer-vision/homography-estimation/vpHomographyDLT.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpHomographyDLT.cpp 4661 2014-02-10 19:34:58Z fspindle $
+ * $Id: vpHomographyDLT.cpp 5052 2014-12-11 14:18:49Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -417,7 +417,7 @@ void vpHomography::DLT(unsigned int n,
       if ((D[i] < smallestSv) ){ smallestSv = D[i] ;indexSmallestSv = i ; }
 
 
-    h=V.column(indexSmallestSv+1);
+    h=V.getCol(indexSmallestSv);
 
     // build the homography
     for(unsigned int i =0;i<3;i++)
@@ -599,7 +599,7 @@ void vpHomography::DLT(const std::vector<double> &xb, const std::vector<double>
     for (unsigned int i=0 ; i < 9 ; i++)
       if ((D[i] < smallestSv) ){ smallestSv = D[i] ;indexSmallestSv = i ; }
 
-    h=V.column(indexSmallestSv+1);
+    h=V.getCol(indexSmallestSv);
 
     // build the homography
     for(unsigned int i =0;i<3;i++)
diff --git a/src/computer-vision/homography-estimation/vpHomographyMalis.cpp b/src/computer-vision/homography-estimation/vpHomographyMalis.cpp
index b723142c5327d3670d1c82e6cb5de4e0d4d5b51a..0423c113959c3359a0a4c266c7aa4ec48ab155f2 100644
--- a/src/computer-vision/homography-estimation/vpHomographyMalis.cpp
+++ b/src/computer-vision/homography-estimation/vpHomographyMalis.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpHomographyMalis.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpHomographyMalis.cpp 5264 2015-02-04 13:49:55Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -343,7 +343,7 @@ HLM3D(unsigned int nb_pts,
   unsigned int  pts_ref[4];		/*** definit lesquels des points de
 				     l'image sont les points de reference***/
   /***  ***/
-  int perm;			/***  Compte le nombre de permutations, quand le nombre
+  unsigned int perm;			/***  Compte le nombre de permutations, quand le nombre
 				      de permutations =0 arret de l'ordonnancement **/
   int  cont_zeros;		/*** pour compter les valeurs quasi= a zero	***/
   unsigned int  cont;
@@ -532,10 +532,10 @@ HLM3D(unsigned int nb_pts,
     perm = 0;
     for (i=1; i < nc ;i++) {
       if (svSorted[i-1] > svSorted[i]) {
-	v_temp = svSorted[i-1] ;
-	svSorted[i-1] = svSorted[i] ;
-	svSorted[i] = v_temp ;
-	perm = perm + 1;
+        v_temp = svSorted[i-1] ;
+        svSorted[i-1] = svSorted[i] ;
+        svSorted[i] = v_temp ;
+        perm = perm + 1;
       }
     }
   }
diff --git a/src/computer-vision/pose-estimation/vpLevenbergMarquartd.cpp b/src/computer-vision/pose-estimation/vpLevenbergMarquartd.cpp
index b5dcf13e714809181555c521c14656df59c2d857..47c24794d8c0f1144c941bbef0dabdf0e547f626 100644
--- a/src/computer-vision/pose-estimation/vpLevenbergMarquartd.cpp
+++ b/src/computer-vision/pose-estimation/vpLevenbergMarquartd.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpLevenbergMarquartd.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpLevenbergMarquartd.cpp 5107 2015-01-05 07:47:13Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -40,13 +40,13 @@
  *
  *****************************************************************************/
 
-#include <visp/vpLevenbergMarquartd.h>
-#include <visp/vpMath.h>
-
 #include <cmath>    // std::fabs
 #include <limits>   // numeric_limits
 #include <iostream>
-#include <algorithm>    // std::min
+#include <algorithm>    // std::min
+
+#include <visp/vpLevenbergMarquartd.h>
+#include <visp/vpMath.h>
 
 #define	SIGN(x)		((x) < 0 ? -1 : 1)
 #define	SWAP(a,b,c)	{(c) = (a); (a) = (b); (b) = (c);}
@@ -575,7 +575,7 @@ int	qrfac(int m, int n, double *a, int lda, int *pivot, int *ipvt,
   /*
    *	epsmch est la precision machine.
    */
-  epsmch = DBL_EPSILON;
+  epsmch = std::numeric_limits<double>::epsilon();
 
   /*
    *	calcul des normes initiales des lignes et initialisation
@@ -857,7 +857,7 @@ int	qrsolv (int n, double *r, int ldr, int *ipvt, double *diag, double *qtb,
 
   /*
    *	resolution du systeme triangulaire pour z. Si le systeme est
-   *	singulier, on obtient une solution au moindres carrés.
+   *	singulier, on obtient une solution au moindres carres.
    */
   nsing =  n;
 
@@ -917,7 +917,7 @@ int	qrsolv (int n, double *r, int ldr, int *ipvt, double *diag, double *qtb,
  * xtol		Erreur relative desiree dans la solution approximee. La
  *		terminaison survient quand l'erreur relative entre deux
  *		iterations consecutives est au moins egal a xtol.
- * gtol		Mesure de l'orthogonalité entre le vecteur des fonctions et les
+ * gtol		Mesure de l'orthogonalite entre le vecteur des fonctions et les
  *		colonnes du jacobien. La terminaison survient quand le cosinus
  *		de l'angle entre fvec et n'importe quelle colonne du jacobien
  *		est au moins egal a gtol, en valeur absolue.
@@ -1025,12 +1025,12 @@ int	lmder (void (*ptr_fcn)(int m, int n, double *xc, double *fvecc,
   int count = 0;
   int		i, j, l;
   double		actred, delta, dirder, epsmch, fnorm, fnorm1, gnorm;
-  double		ratio = DBL_EPSILON;
+  double		ratio = std::numeric_limits<double>::epsilon();
   double		par, pnorm, prered;
   double		sum, temp, temp1, temp2, xnorm = 0.0;
 
   /* epsmch est la precision machine.	*/
-  epsmch = DBL_EPSILON;
+  epsmch = std::numeric_limits<double>::epsilon();
 
   *info = 0;
   iflag = 0;
diff --git a/src/computer-vision/pose-estimation/vpPose.cpp b/src/computer-vision/pose-estimation/vpPose.cpp
index b139175197c215cf8b2df08c5e385b6a47762f29..ab652586684e2bf3604d67a8d37af2aef77f38f7 100644
--- a/src/computer-vision/pose-estimation/vpPose.cpp
+++ b/src/computer-vision/pose-estimation/vpPose.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
 *
-* $Id: vpPose.cpp 4649 2014-02-07 14:57:11Z fspindle $
+* $Id: vpPose.cpp 5212 2015-01-26 17:45:45Z strinh $
 *
 * This file is part of the ViSP software.
 * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -382,8 +382,8 @@ LAGRANGE_VIRTUAL_VS  Virtual visual servoing initialized using
 Lagrange approach
 
 */
-void
-vpPose::computePose(vpPoseMethodType methode, vpHomogeneousMatrix& cMo)
+bool
+vpPose::computePose(vpPoseMethodType methode, vpHomogeneousMatrix& cMo, bool (*func)(vpHomogeneousMatrix *))
 {
 #if (DEBUG_LEVEL1)
   std::cout << "begin vpPose::ComputePose()" << std::endl ;
@@ -509,7 +509,7 @@ vpPose::computePose(vpPoseMethodType methode, vpHomogeneousMatrix& cMo)
         "Not enough points ")) ;
     }
     try {
-      poseRansac(cMo);
+      return poseRansac(cMo, func);
     }
     catch(...)
     {
@@ -563,6 +563,9 @@ vpPose::computePose(vpPoseMethodType methode, vpHomogeneousMatrix& cMo)
 #if (DEBUG_LEVEL1)
   std::cout << "end vpPose::ComputePose()" << std::endl ;
 #endif
+
+  //If here, there was no exception thrown so return true
+  return true;
 }
 
 
@@ -715,8 +718,8 @@ vpPose::poseFromRectangle(vpPoint &p1,vpPoint &p2,
   vpMatrix Kinv =K.pseudoInverse();
 
   vpMatrix KinvH =Kinv*H;
-  kh1=KinvH.column(1);
-  kh2=KinvH.column(2);
+  kh1=KinvH.getCol(0);
+  kh2=KinvH.getCol(1);
 
 
   double s= sqrt(kh1.sumSquare())/sqrt(kh2.sumSquare());
diff --git a/src/computer-vision/pose-estimation/vpPose.h b/src/computer-vision/pose-estimation/vpPose.h
index dd203f1b6914c14ffee6fa350e01ec6b2ed57c4c..191aea118bebdca34efd1b0d5cac85ad9ba82ab4 100644
--- a/src/computer-vision/pose-estimation/vpPose.h
+++ b/src/computer-vision/pose-estimation/vpPose.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpPose.h 4632 2014-02-03 17:06:40Z fspindle $
+ * $Id: vpPose.h 5211 2015-01-26 17:44:35Z strinh $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -130,7 +130,7 @@ public:
   void clearPoint() ;
 
   //! compute the pose for a given method
-  void computePose(vpPoseMethodType methode, vpHomogeneousMatrix &cMo) ;
+  bool computePose(vpPoseMethodType methode, vpHomogeneousMatrix &cMo, bool (*func)(vpHomogeneousMatrix *)=NULL) ;
   //! compute the residual (i.e., the quality of the result)
   //! compute the residual (in meter for pose M)
   double computeResidual(const vpHomogeneousMatrix &cMo) const ;
@@ -156,7 +156,7 @@ public:
   //! Levenberg Marquartd non linear minimization approach)
   void poseLowe(vpHomogeneousMatrix & cMo) ;
   //! compute the pose using the Ransac approach 
-  void poseRansac(vpHomogeneousMatrix & cMo) ;  
+  bool poseRansac(vpHomogeneousMatrix & cMo, bool (*func)(vpHomogeneousMatrix *)=NULL) ;
   //! compute the pose using a robust virtual visual servoing approach
   void poseVirtualVSrobust(vpHomogeneousMatrix & cMo) ;
   //! compute the pose using virtual visual servoing approach
@@ -167,7 +167,14 @@ public:
   void setVvsIterMax(int nb) { vvsIterMax = nb ; }
   
   void setRansacNbInliersToReachConsensus(const unsigned int &nbC){ ransacNbInlierConsensus = nbC; }
-  void setRansacThreshold(const double &t){ ransacThreshold = t; }
+  void setRansacThreshold(const double &t) {
+    //Test whether or not t is > 0
+    if(t > 0) {
+      ransacThreshold = t;
+    } else {
+      throw vpException(vpException::badValue, "The Ransac threshold must be positive as we deal with distance.");
+    }
+  }
   void setRansacMaxTrials(const int &rM){ ransacMaxTrials = rM; }
   unsigned int getRansacNbInliers() const { return (unsigned int) ransacInliers.size(); }
   std::vector<vpPoint> getRansacInliers() const{ return ransacInliers; }
diff --git a/src/computer-vision/pose-estimation/vpPoseDementhon.cpp b/src/computer-vision/pose-estimation/vpPoseDementhon.cpp
index 0d55038765096568a67770148b95f3d22e2ba6ca..58edca4e248f214b39fe89fcdff393821fbf07a9 100644
--- a/src/computer-vision/pose-estimation/vpPoseDementhon.cpp
+++ b/src/computer-vision/pose-estimation/vpPoseDementhon.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
 *
-* $Id: vpPoseDementhon.cpp 4649 2014-02-07 14:57:11Z fspindle $
+* $Id: vpPoseDementhon.cpp 5198 2015-01-23 17:32:04Z fspindle $
 *
 * This file is part of the ViSP software.
 * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -83,15 +83,7 @@ vpPose::poseDementhonNonPlan(vpHomogeneousMatrix &cMo)
     c3d.push_back(P) ;
   }
 
-  vpMatrix a ;
-  try{
-    a.resize(npt,3) ;
-  }
-  catch(...)
-  {
-    vpERROR_TRACE(" ") ;
-    throw ;
-  }
+  vpMatrix a(npt,3) ;
 
   for (unsigned int i=0 ; i < npt ; i++)
   {
@@ -130,31 +122,9 @@ vpPose::poseDementhonNonPlan(vpHomogeneousMatrix &cMo)
 
   int cpt = 0 ;
   vpColVector I, J, k ;
-  try{
-    I.resize(3) ;
-  }
-  catch(...)
-  {
-    vpERROR_TRACE(" ") ;
-    throw ;
-  }
-  try{
-    J.resize(3) ;
-  }
-  catch(...)
-  {
-    vpERROR_TRACE(" ") ;
-    throw ;
-  }
-
-  try {
-    k.resize(3) ;
-  }
-  catch(...)
-  {
-    vpERROR_TRACE(" ") ;
-    throw ;
-  }
+  I.resize(3) ;
+  J.resize(3) ;
+  k.resize(3) ;
 
   while(cpt < 20)
   {
@@ -177,9 +147,9 @@ vpPose::poseDementhonNonPlan(vpHomogeneousMatrix &cMo)
 
     if (normI+normJ < 1e-10)
     {
-      vpERROR_TRACE(" normI+normJ = 0, division par zero " ) ;
+      //vpERROR_TRACE(" normI+normJ = 0, division par zero " ) ;
       throw(vpException(vpException::divideByZeroError,
-        "division by zero  ")) ;
+                        "Division by zero in Dementhon pose computation: normI+normJ = 0")) ;
     }
 
     k = vpColVector::cross(I,J) ;
@@ -193,9 +163,9 @@ vpPose::poseDementhonNonPlan(vpHomogeneousMatrix &cMo)
     }
     if (npt==0)
     {
-      vpERROR_TRACE( " npt = 0, division par zero ");
+      //vpERROR_TRACE( " npt = 0, division par zero ");
       throw(vpException(vpException::divideByZeroError,
-        "division by zero  ")) ;
+                        "Division by zero in Dementhon pose computation: no points")) ;
     }
     seuil/=npt;
   }
@@ -613,7 +583,7 @@ vpPose::poseDementhonPlan(vpHomogeneousMatrix &cMo)
 
       //calcul de U
       vpColVector U(3) ;
-      U = ata.column(imin+1) ;
+      U = ata.getCol(imin) ;
 
 #if (DEBUG_LEVEL2)
       {
@@ -744,9 +714,3 @@ double vpPose::computeResidualDementhon(const vpHomogeneousMatrix &cMo)
 #undef DEBUG_LEVEL2
 #undef DEBUG_LEVEL3
 
-
-/*
-* Local variables:
-* c-basic-offset: 2
-* End:
-*/
diff --git a/src/computer-vision/pose-estimation/vpPoseLagrange.cpp b/src/computer-vision/pose-estimation/vpPoseLagrange.cpp
index 7cf3c5ae9da374838e04e18c5e321ab16668971f..8491fae30c50e8447c382882dcc8b976ef32b3bf 100644
--- a/src/computer-vision/pose-estimation/vpPoseLagrange.cpp
+++ b/src/computer-vision/pose-estimation/vpPoseLagrange.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
 *
-* $Id: vpPoseLagrange.cpp 4574 2014-01-09 08:48:51Z fspindle $
+* $Id: vpPoseLagrange.cpp 5198 2015-01-23 17:32:04Z fspindle $
 *
 * This file is part of the ViSP software.
 * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -391,15 +391,14 @@ vpPose::poseLagrangePlan(vpHomogeneousMatrix &cMo, const int coplanar_plane_type
 
     if (s<1e-10)
     {
-      std::cout << "Points that produce an error: " << std::endl;
-      for (std::list<vpPoint>::const_iterator it = listP.begin(); it != listP.end(); ++it)
-      {
-        std::cout << "P: " << (*it).get_x() << " " << (*it).get_y() << " "
-                  << (*it).get_oX() << " " << (*it).get_oY() << " " << (*it).get_oZ() << std::endl;
-      }
-      vpERROR_TRACE( "division par zero ") ;
+//      std::cout << "Points that produce an error: " << std::endl;
+//      for (std::list<vpPoint>::const_iterator it = listP.begin(); it != listP.end(); ++it)
+//      {
+//        std::cout << "P: " << (*it).get_x() << " " << (*it).get_y() << " "
+//                  << (*it).get_oX() << " " << (*it).get_oY() << " " << (*it).get_oZ() << std::endl;
+//      }
       throw(vpException(vpException::divideByZeroError,
-        "division by zero  ")) ;
+                        "Division by zero in Lagrange pose computation (planar plane case)")) ;
     }
 
     s = 1.0/sqrt(s);
@@ -454,13 +453,11 @@ vpPose::poseLagrangePlan(vpHomogeneousMatrix &cMo, const int coplanar_plane_type
       }
     }
   }
-  catch(...)
+  catch(vpException &e)
   {
-    vpERROR_TRACE(" ") ;
-    throw ;
+    throw e;
   }
 
-
 #if (DEBUG_LEVEL1)
   std::cout << "end vpCalculPose::PoseLagrange(...) " << std::endl ;
 #endif
@@ -566,16 +563,15 @@ vpPose::poseLagrangeNonPlan(vpHomogeneousMatrix &cMo)
 
     if (s<1e-10)
     {
-      std::cout << "Points that produce an error: " << std::endl;
-      for (std::list<vpPoint>::const_iterator it = listP.begin(); it != listP.end(); ++it)
-      {
-        std::cout << "P: " << (*it).get_x() << " " << (*it).get_y() << " "
-                  << (*it).get_oX() << " " << (*it).get_oY() << " " << (*it).get_oZ() << std::endl;
-      }
-      vpERROR_TRACE(" division par zero " ) ;
+//      std::cout << "Points that produce an error: " << std::endl;
+//      for (std::list<vpPoint>::const_iterator it = listP.begin(); it != listP.end(); ++it)
+//      {
+//        std::cout << "P: " << (*it).get_x() << " " << (*it).get_y() << " "
+//                  << (*it).get_oX() << " " << (*it).get_oY() << " " << (*it).get_oZ() << std::endl;
+//      }
+      //vpERROR_TRACE(" division par zero " ) ;
       throw(vpException(vpException::divideByZeroError,
-        "division by zero  ")) ;
-
+                        "Division by zero in Lagrange pose computation (non planar plane case)")) ;
     }
 
     s = 1.0/sqrt(s);
@@ -587,7 +583,6 @@ vpPose::poseLagrangeNonPlan(vpHomogeneousMatrix &cMo)
 
     calculTranslation (a, b, nl, 3, 6, X1, X2) ;
 
-
     for (i=0 ; i<3 ; i++)
     {
       cMo[i][0] = X1[i];
@@ -597,10 +592,9 @@ vpPose::poseLagrangeNonPlan(vpHomogeneousMatrix &cMo)
     }
 
   }
-  catch(...)
+  catch(vpException &e)
   {
-    vpERROR_TRACE(" ") ;
-    throw ;
+    throw e;
   }
 
 #if (DEBUG_LEVEL1)
@@ -611,11 +605,3 @@ vpPose::poseLagrangeNonPlan(vpHomogeneousMatrix &cMo)
 
 #undef DEBUG_LEVEL1
 #undef DEBUG_LEVEL2
-
-
-
-/*
-* Local variables:
-* c-basic-offset: 2
-* End:
-*/
diff --git a/src/computer-vision/pose-estimation/vpPoseLowe.cpp b/src/computer-vision/pose-estimation/vpPoseLowe.cpp
index e2ce296f2530b04d005e158761de56ca3ce969c9..0e08327bdde039dacea9cd844ff5d7eb42ddd4b1 100644
--- a/src/computer-vision/pose-estimation/vpPoseLowe.cpp
+++ b/src/computer-vision/pose-estimation/vpPoseLowe.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
 *
-* $Id: vpPoseLowe.cpp 4649 2014-02-07 14:57:11Z fspindle $
+* $Id: vpPoseLowe.cpp 5107 2015-01-05 07:47:13Z fspindle $
 *
 * This file is part of the ViSP software.
 * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -40,18 +40,16 @@
 *
 *****************************************************************************/
 
-
-
-
+#include <math.h>
+#include <float.h>
+#include <string.h>
+#include <limits>   // numeric_limits
 
 // besoin de la librairie mathematique, en particulier des
 // fonctions de minimisation de Levenberg Marquartd
 #include <visp/vpLevenbergMarquartd.h>
-
 #include <visp/vpPose.h>
-#include <math.h>
-#include <float.h>
-#include <string.h>
+
 #define NBR_PAR	6
 #define X3_SIZE	3
 #define MINIMUM 0.000001
@@ -306,7 +304,7 @@ vpPose::poseLowe(vpHomogeneousMatrix & cMo)
   m = (int)(2 * npt);		/* nombres d'equations	*/
   lwa = 2 * NBPTMAX + 50;  /* taille du vecteur de travail	*/
   ldfjac = 2 * NBPTMAX;	/* nombre d'elements max sur une ligne	*/
-  tol = DBL_EPSILON;		/* critere d'arret	*/
+  tol = std::numeric_limits<double>::epsilon();		/* critere d'arret	*/
 
   //  c = cam ;
   // for (i=0;i<3;i++)
diff --git a/src/computer-vision/pose-estimation/vpPoseRansac.cpp b/src/computer-vision/pose-estimation/vpPoseRansac.cpp
index 1d81f6154ed7e7d24eb029d49cc517dc19715a98..9e74a48f57870e6e29495fb6e1fc0e465124f9e2 100644
--- a/src/computer-vision/pose-estimation/vpPoseRansac.cpp
+++ b/src/computer-vision/pose-estimation/vpPoseRansac.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpPoseRansac.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpPoseRansac.cpp 5211 2015-01-26 17:44:35Z strinh $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -37,6 +37,7 @@
  * Authors:
  * Eric Marchand
  * Aurelien Yol
+ * Souriya Trinh
  *
  *****************************************************************************/
 
@@ -46,6 +47,13 @@
   \brief function used to estimate a pose using the Ransac algorithm
 */
 
+#include <iostream>
+#include <cmath>        // std::fabs
+#include <limits>       // numeric_limits
+#include <stdlib.h>
+#include <algorithm>    // std::count
+#include <float.h>      //DBL_MAX
+
 #include <visp/vpPose.h>
 #include <visp/vpColVector.h>
 #include <visp/vpRansac.h>
@@ -53,11 +61,6 @@
 #include <visp/vpList.h>
 #include <visp/vpPoseException.h>
 
-#include <iostream>
-#include <cmath>    // std::fabs
-#include <limits>   // numeric_limits
-#include <stdlib.h>
-
 #define eps 1e-6
 
 
@@ -65,10 +68,13 @@
   Compute the pose using the Ransac approach. 
  
   \param cMo : Computed pose
+  \param func : Pointer to a function that takes in parameter a vpHomogeneousMatrix
+  and returns true if the pose check is OK or false otherwise
+  \return True if we found at least 4 points with a reprojection error below ransacThreshold.
 */
-void vpPose::poseRansac(vpHomogeneousMatrix & cMo)
+bool vpPose::poseRansac(vpHomogeneousMatrix & cMo, bool (*func)(vpHomogeneousMatrix *))
 {  
-  srand(0);
+  srand(0); //Fix seed here so we will have the same pseudo-random series at each run.
   std::vector<unsigned int> best_consensus;
   std::vector<unsigned int> cur_consensus;
   std::vector<unsigned int> cur_outliers;
@@ -90,17 +96,35 @@ void vpPose::poseRansac(vpHomogeneousMatrix & cMo)
   bool foundSolution = false;
   
   while (nbTrials < ransacMaxTrials && nbInliers < (unsigned)ransacNbInlierConsensus)
-  { 
+  {
+    //Hold the list of the index of the inliers (points in the consensus set)
+    cur_consensus.clear();
+
+    //Use a temporary variable because if not, the cMo passed in parameters will be modified when
+    // we compute the pose for the minimal sample sets but if the pose is not correct when we pass
+    // a function pointer we do not want to modify the cMo passed in parameters
+    vpHomogeneousMatrix cMo_tmp;
     cur_outliers.clear();
     cur_randoms.clear();
     
+    //Vector of used points, initialized at false for all points
     std::vector<bool> usedPt(size, false);
     
-    vpPose poseMin ;
-    for(unsigned int i = 0; i < nbMinRandom; i++)
+    vpPose poseMin;
+    for(unsigned int i = 0; i < nbMinRandom;)
     {
-      unsigned int r_ = (unsigned int)rand()%size;
-      while(usedPt[r_] ) r_ = (unsigned int)rand()%size;
+      if((size_t) std::count(usedPt.begin(), usedPt.end(), true) == usedPt.size()) {
+        //All points was picked once, break otherwise we stay in an infinite loop
+        break;
+      }
+
+      //Pick a point randomly
+      unsigned int r_ = (unsigned int) rand() % size;
+      while(usedPt[r_]) {
+        //If already picked, pick another point randomly
+        r_ = (unsigned int) rand() % size;
+      }
+      //Mark this point as already picked
       usedPt[r_] = true;
       
       std::list<vpPoint>::const_iterator iter = listP.begin();
@@ -116,91 +140,146 @@ void vpPose::poseRansac(vpHomogeneousMatrix & cMo)
           break;
         }
       }
-      if(!degenerate){
-        poseMin.addPoint(pt) ;
+      if(!degenerate) {
+        poseMin.addPoint(pt);
         cur_randoms.push_back(r_);
+        //Increment the number of points picked
+        i++;
       }
-      else
-        i--;
     }
 
-    poseMin.computePose(vpPose::LAGRANGE, cMo_lagrange) ;
-    r_lagrange = poseMin.computeResidual(cMo_lagrange) ;
-    poseMin.computePose(vpPose::DEMENTHON, cMo_dementhon) ;
-    r_dementhon = poseMin.computeResidual(cMo_dementhon) ;
+    if(poseMin.npt < nbMinRandom) {
+      nbTrials++;
+      continue;
+    }
+
+    //Flags set if pose computation is OK
+    bool is_valid_lagrange = false;
+    bool is_valid_dementhon = false;
 
-    if (r_lagrange < r_dementhon) {
-      r = r_lagrange;
-      cMo = cMo_lagrange;
+    //Set maximum value for residuals
+    r_lagrange = DBL_MAX;
+    r_dementhon = DBL_MAX;
+
+    try {
+      poseMin.computePose(vpPose::LAGRANGE, cMo_lagrange);
+      r_lagrange = poseMin.computeResidual(cMo_lagrange);
+      is_valid_lagrange = true;
+    } catch(/*vpException &e*/...) {
+//      std::cerr << e.what() << std::endl;
     }
-    else {
-      r = r_dementhon;
-      cMo = cMo_dementhon;
+
+    try {
+      poseMin.computePose(vpPose::DEMENTHON, cMo_dementhon);
+      r_dementhon = poseMin.computeResidual(cMo_dementhon);
+      is_valid_dementhon = true;
+    } catch(/*vpException &e*/...) {
+//      std::cerr << e.what() << std::endl;
     }
-    r = sqrt(r)/(double)nbMinRandom;
 
-    if (r < ransacThreshold)
-    {
-      unsigned int nbInliersCur = 0;
-      unsigned int iter = 0;
-      for (std::list<vpPoint>::const_iterator it = listP.begin(); it != listP.end(); ++it)
-      { 
-        vpPoint pt = *it;
-        vpPoint p(pt) ;
-        p.track(cMo) ;
-
-        double d = vpMath::sqr(p.get_x() - pt.get_x()) + vpMath::sqr(p.get_y() - pt.get_y()) ;
-        double error = sqrt(d) ;
-        if(error < ransacThreshold){
-          // the point is considered as inlier if the error is below the threshold
-          // But, we need also to check if it is not a degenerate point
-          bool degenerate = false;
-
-          for(unsigned int it_inlier_index = 0; it_inlier_index< cur_consensus.size(); it_inlier_index++){
-            std::list<vpPoint>::const_iterator it_point = listP.begin();
-            std::advance(it_point, cur_consensus[it_inlier_index]);
-            pt = *it_point;
-
-            vpPoint ptdeg = *it;
-            if( ((fabs(pt.get_x() - ptdeg.get_x()) < 1e-6) && (fabs(pt.get_y() - ptdeg.get_y()) < 1e-6))  ||
-                ((fabs(pt.get_oX() - ptdeg.get_oX()) < 1e-6) && (fabs(pt.get_oY() - ptdeg.get_oY()) < 1e-6) && (fabs(pt.get_oZ() - ptdeg.get_oZ()) < 1e-6))){
-              degenerate = true;
-              break;
+    //If at least one pose computation is OK,
+    //we can continue, otherwise pick another random set
+    if(is_valid_lagrange || is_valid_dementhon) {
+      if (r_lagrange < r_dementhon) {
+        r = r_lagrange;
+//        cMo = cMo_lagrange;
+        cMo_tmp = cMo_lagrange;
+      }
+      else {
+        r = r_dementhon;
+//        cMo = cMo_dementhon;
+        cMo_tmp = cMo_dementhon;
+      }
+      r = sqrt(r) / (double) nbMinRandom;
+
+      //Filter the pose using some criterion (orientation angles, translations, etc.)
+      bool isPoseValid = true;
+      if(func != NULL) {
+        isPoseValid = func(&cMo_tmp);
+        if(isPoseValid) {
+          cMo = cMo_tmp;
+        }
+      } else {
+        //No post filtering on pose, so copy cMo_temp to cMo
+        cMo = cMo_tmp;
+      }
+
+      if (isPoseValid && r < ransacThreshold)
+      {
+        unsigned int nbInliersCur = 0;
+        unsigned int iter = 0;
+        for (std::list<vpPoint>::const_iterator it = listP.begin(); it != listP.end(); ++it)
+        {
+          vpPoint pt = *it;
+          vpPoint p(pt) ;
+          p.track(cMo) ;
+
+          double d = vpMath::sqr(p.get_x() - pt.get_x()) + vpMath::sqr(p.get_y() - pt.get_y()) ;
+          double error = sqrt(d) ;
+          if(error < ransacThreshold) {
+            // the point is considered as inlier if the error is below the threshold
+            // But, we need also to check if it is not a degenerate point
+            bool degenerate = false;
+
+            for(unsigned int it_inlier_index = 0; it_inlier_index< cur_consensus.size(); it_inlier_index++){
+              std::list<vpPoint>::const_iterator it_point = listP.begin();
+              std::advance(it_point, cur_consensus[it_inlier_index]);
+              pt = *it_point;
+
+              vpPoint ptdeg = *it;
+              if( ((fabs(pt.get_x() - ptdeg.get_x()) < 1e-6) && (fabs(pt.get_y() - ptdeg.get_y()) < 1e-6))  ||
+                  ((fabs(pt.get_oX() - ptdeg.get_oX()) < 1e-6) && (fabs(pt.get_oY() - ptdeg.get_oY()) < 1e-6) && (fabs(pt.get_oZ() - ptdeg.get_oZ()) < 1e-6))){
+                degenerate = true;
+                break;
+              }
             }
-          }
 
-          if(!degenerate){
-            nbInliersCur++;
-            cur_consensus.push_back(iter);
+            if(!degenerate) {
+              nbInliersCur++;
+              cur_consensus.push_back(iter);
+            }
+            else {
+              cur_outliers.push_back(iter);
+            }
           }
           else {
             cur_outliers.push_back(iter);
           }
-        }    
-        else
-          cur_outliers.push_back(iter);
+
+          iter++;
+        }
+
+        if(nbInliersCur > nbInliers)
+        {
+          foundSolution = true;
+          best_consensus = cur_consensus;
+          nbInliers = nbInliersCur;
+        }
+
+        nbTrials++;
         
-        iter++;
+        if(nbTrials >= ransacMaxTrials) {
+          vpERROR_TRACE("Ransac reached the maximum number of trials");
+          foundSolution = true;
+        }
       }
+      else {
+        nbTrials++;
 
-      if(nbInliersCur > nbInliers)
-      {
-        foundSolution = true;
-        best_consensus = cur_consensus;
-        nbInliers = nbInliersCur;
+        if(nbTrials >= ransacMaxTrials) {
+          vpERROR_TRACE("Ransac reached the maximum number of trials");
+        }
       }
-      
+    } else {
       nbTrials++;
-      cur_consensus.clear();
-      
-      if(nbTrials >= ransacMaxTrials){
+
+      if(nbTrials >= ransacMaxTrials) {
         vpERROR_TRACE("Ransac reached the maximum number of trials");
-        foundSolution = true;
       }
     }
   }
     
-  if(foundSolution){
+  if(foundSolution) {
     //std::cout << "Nombre d'inliers " << nbInliers << std::endl ;
     
     //Display the random picked points
@@ -219,8 +298,12 @@ void vpPose::poseRansac(vpHomogeneousMatrix & cMo)
     std::cout << std::endl;
     */
     
-    if(nbInliers >= (unsigned)ransacNbInlierConsensus)
-    {    
+    //Even if the cardinality of the best consensus set is inferior to ransacNbInlierConsensus,
+    //we want to refine the solution with data in best_consensus and return this pose.
+    //This is an approach used for example in p118 in Multiple View Geometry in Computer Vision, Hartley, R.~I. and Zisserman, A.
+    if(nbInliers >= nbMinRandom) //if(nbInliers >= (unsigned)ransacNbInlierConsensus)
+    {
+      //Refine the solution using all the points in the consensus set and with VVS pose estimation
       vpPose pose ;
       for(unsigned i = 0 ; i < best_consensus.size(); i++)
       {
@@ -231,22 +314,51 @@ void vpPose::poseRansac(vpHomogeneousMatrix & cMo)
         pose.addPoint(pt) ;
         ransacInliers.push_back(pt);
       }
-        
-      pose.computePose(vpPose::LAGRANGE, cMo_lagrange) ;
-      r_lagrange = pose.computeResidual(cMo_lagrange) ;
-      pose.computePose(vpPose::DEMENTHON, cMo_dementhon) ;
-      r_dementhon = pose.computeResidual(cMo_dementhon) ;
 
-      if (r_lagrange < r_dementhon) {
-        cMo = cMo_lagrange;
+      //Flags set if pose computation is OK
+      bool is_valid_lagrange = false;
+      bool is_valid_dementhon = false;
+
+      //Set maximum value for residuals
+      r_lagrange = DBL_MAX;
+      r_dementhon = DBL_MAX;
+
+      try {
+        pose.computePose(vpPose::LAGRANGE, cMo_lagrange);
+        r_lagrange = pose.computeResidual(cMo_lagrange);
+        is_valid_lagrange = true;
+      } catch(/*vpException &e*/...) {
+//        std::cerr << e.what() << std::endl;
       }
-      else {
-        cMo = cMo_dementhon;
+
+      try {
+        pose.computePose(vpPose::DEMENTHON, cMo_dementhon);
+        r_dementhon = pose.computeResidual(cMo_dementhon);
+        is_valid_dementhon = true;
+      } catch(/*vpException &e*/...) {
+//        std::cerr << e.what() << std::endl;
       }
 
-      pose.computePose(vpPose::VIRTUAL_VS, cMo) ;
+      if(is_valid_lagrange || is_valid_dementhon) {
+        if (r_lagrange < r_dementhon) {
+          cMo = cMo_lagrange;
+        }
+        else {
+          cMo = cMo_dementhon;
+        }
+
+        pose.setCovarianceComputation(computeCovariance);
+        pose.computePose(vpPose::VIRTUAL_VS, cMo);
+        if(computeCovariance) {
+          covarianceMatrix = pose.covarianceMatrix;
+        }
+      }
+    } else {
+      return false;
     }
   }
+
+  return foundSolution;
 }
 
 /*!
diff --git a/src/detection/barcode/vpDetectorDataMatrixCode.cpp b/src/detection/barcode/vpDetectorDataMatrixCode.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..b746697c7d67c460088c79219a92aa09be2b1f0f
--- /dev/null
+++ b/src/detection/barcode/vpDetectorDataMatrixCode.cpp
@@ -0,0 +1,127 @@
+/****************************************************************************
+ *
+ * $Id$
+ *
+ * This file is part of the ViSP software.
+ * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+ *
+ * This software is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * ("GPL") version 2 as published by the Free Software Foundation.
+ * See the file LICENSE.txt at the root directory of this source
+ * distribution for additional information about the GNU GPL.
+ *
+ * For using ViSP with software that can not be combined with the GNU
+ * GPL, please contact INRIA about acquiring a ViSP Professional
+ * Edition License.
+ *
+ * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+ *
+ * This software was developed at:
+ * INRIA Rennes - Bretagne Atlantique
+ * Campus Universitaire de Beaulieu
+ * 35042 Rennes Cedex
+ * France
+ * http://www.irisa.fr/lagadic
+ *
+ * If you have questions regarding the use of this file, please contact
+ * INRIA at visp@inria.fr
+ *
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Description:
+ * Base class for bar code detection.
+ *
+ * Authors:
+ * Fabien Spindler
+ *
+ *****************************************************************************/
+
+#include <assert.h>
+
+#include <visp/vpConfig.h>
+
+#ifdef VISP_HAVE_DMTX
+
+#include <dmtx.h>
+
+#include <visp/vpDetectorDataMatrixCode.h>
+
+/*!
+   Default constructor that does nothing.
+ */
+vpDetectorDataMatrixCode::vpDetectorDataMatrixCode()
+{
+}
+
+/*!
+  Detect datamatrix bar codes in the image. Return true if a bar code is detected, false otherwise.
+
+  \param I : Input image.
+ */
+bool vpDetectorDataMatrixCode::detect(const vpImage<unsigned char> &I)
+{
+  bool detected = false;
+  m_message.clear();
+  m_polygon.clear();
+  m_nb_objects = 0;
+  DmtxRegion     *reg;
+  DmtxDecode     *dec;
+  DmtxImage      *img;
+  DmtxMessage    *msg;
+
+  img = dmtxImageCreate(I.bitmap, (int) I.getWidth(), (int) I.getHeight(), DmtxPack8bppK);
+  assert(img != NULL);
+
+  dec = dmtxDecodeCreate(img, 1);
+  assert(dec != NULL);
+
+  bool end = false;
+  do {
+    reg = dmtxRegionFindNext(dec, 0);
+
+    if(reg != NULL) {
+      msg = dmtxDecodeMatrixRegion(dec, reg, DmtxUndefined);
+      if(msg != NULL) {
+
+        std::vector<vpImagePoint> polygon;
+
+        DmtxVector2 p00, p10, p11, p01;
+
+        p00.X = p00.Y = p10.Y = p01.X = 0.0;
+        p10.X = p01.Y = p11.X = p11.Y = 1.0;
+        dmtxMatrix3VMultiplyBy(&p00, reg->fit2raw);
+        dmtxMatrix3VMultiplyBy(&p10, reg->fit2raw);
+        dmtxMatrix3VMultiplyBy(&p11, reg->fit2raw);
+        dmtxMatrix3VMultiplyBy(&p01, reg->fit2raw);
+
+        polygon.push_back(vpImagePoint(I.getHeight()-p00.Y, p00.X));
+        polygon.push_back(vpImagePoint(I.getHeight()-p10.Y, p10.X));
+        polygon.push_back(vpImagePoint(I.getHeight()-p11.Y, p11.X));
+        polygon.push_back(vpImagePoint(I.getHeight()-p01.Y, p01.X));
+
+        m_polygon.push_back(polygon);
+        detected = true;
+        m_message.push_back( (const char *)msg->output);
+
+        m_nb_objects ++;
+      }
+      else {
+        end = true;
+      }
+      dmtxMessageDestroy(&msg);
+    }
+    else {
+      end = true;
+    }
+    dmtxRegionDestroy(&reg);
+
+  } while (!end);
+
+  dmtxDecodeDestroy(&dec);
+  dmtxImageDestroy(&img);
+  return detected;
+}
+
+#endif
diff --git a/src/detection/barcode/vpDetectorDataMatrixCode.h b/src/detection/barcode/vpDetectorDataMatrixCode.h
new file mode 100644
index 0000000000000000000000000000000000000000..92a90e0e3f0027ba14277e5485bf1877b96bb866
--- /dev/null
+++ b/src/detection/barcode/vpDetectorDataMatrixCode.h
@@ -0,0 +1,122 @@
+/****************************************************************************
+ *
+ * $Id$
+ *
+ * This file is part of the ViSP software.
+ * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+ *
+ * This software is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * ("GPL") version 2 as published by the Free Software Foundation.
+ * See the file LICENSE.txt at the root directory of this source
+ * distribution for additional information about the GNU GPL.
+ *
+ * For using ViSP with software that can not be combined with the GNU
+ * GPL, please contact INRIA about acquiring a ViSP Professional
+ * Edition License.
+ *
+ * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+ *
+ * This software was developed at:
+ * INRIA Rennes - Bretagne Atlantique
+ * Campus Universitaire de Beaulieu
+ * 35042 Rennes Cedex
+ * France
+ * http://www.irisa.fr/lagadic
+ *
+ * If you have questions regarding the use of this file, please contact
+ * INRIA at visp@inria.fr
+ *
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Description:
+ * Base class for bar code detection.
+ *
+ * Authors:
+ * Fabien Spindler
+ *
+ *****************************************************************************/
+
+#ifndef __vpDetectorDataMatrixCode_h__
+#define __vpDetectorDataMatrixCode_h__
+
+#include <vector>
+#include <utility>
+#include <string>
+
+#include <visp/vpConfig.h>
+
+#ifdef VISP_HAVE_DMTX
+
+#include <visp/vpDetectorBase.h>
+#include <visp/vpImage.h>
+
+/*!
+  \class vpDetectorDataMatrixCode
+
+  Base class for bar code detector. This class is a wrapper over libdmtx
+  available from http://www.libdmtx.org/
+
+  The detect() function allows to detect multiple QR codes in an image. Once detected,
+  for each QR code it is possible to retrieve the location of the corners using getPolygon(),
+  the encoded message using getMessage(), the bounding box using getBBox() and the center
+  of gravity using getCog().
+
+  The following sample code shows how to use this class to detect QR codes in an image.
+  \code
+#include <visp/vpDetectorDataMatrixCode.h>
+#include <visp/vpImageIo.h>
+
+int main()
+{
+#ifdef VISP_HAVE_DMTX
+  vpImage<unsigned char> I;
+  vpImageIo::read(I, "bar-code.pgm");
+
+  vpDetectorDataMatrixCode detector;
+
+  bool status = detector.detect(I);
+  if (status) {
+    for(size_t i=0; i < detector.getNbObjects(); i++) {
+      std::cout << "Bar code " << i << ":" << std::endl;
+      std::vector<vpImagePoint> p = detector.getPolygon(i);
+      for(size_t j=0; j < p.size(); j++)
+        std::cout << "  Point " << j << ": " << p[j] << std::endl;
+      std::cout << "  Message: \"" << detector.getMessage(i) << "\"" << std::endl;
+    }
+  }
+#endif
+}
+  \endcode
+
+  The previous example may produce results like:
+  \code
+Bar code 0:
+  Point 0: 273.21, 78.9799
+  Point 1: 390.016, 85.1014
+  Point 2: 388.024, 199.185
+  Point 3: 269.23, 192.96
+  Message: "datamatrix 1"
+Bar code 1:
+  Point 0: 262.23, 396.404
+  Point 1: 381.041, 402.631
+  Point 2: 378.92, 524.188
+  Point 3: 257.916, 519.962
+  Message: "datamatrix 2"
+  \endcode
+
+  Other examples are also provided in tutorial-barcode-detector.cpp and
+  tutorial-barcode-detector-live.cpp
+
+ */
+class VISP_EXPORT vpDetectorDataMatrixCode : public vpDetectorBase
+{
+public:
+  vpDetectorDataMatrixCode();
+  virtual ~vpDetectorDataMatrixCode() {};
+  bool detect(const vpImage<unsigned char> &I);
+};
+
+#endif
+#endif
diff --git a/src/detection/barcode/vpDetectorQRCode.cpp b/src/detection/barcode/vpDetectorQRCode.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..659ec301c7d5bffef218d020c053d0ecd2ea1711
--- /dev/null
+++ b/src/detection/barcode/vpDetectorQRCode.cpp
@@ -0,0 +1,99 @@
+/****************************************************************************
+ *
+ * $Id$
+ *
+ * This file is part of the ViSP software.
+ * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+ *
+ * This software is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * ("GPL") version 2 as published by the Free Software Foundation.
+ * See the file LICENSE.txt at the root directory of this source
+ * distribution for additional information about the GNU GPL.
+ *
+ * For using ViSP with software that can not be combined with the GNU
+ * GPL, please contact INRIA about acquiring a ViSP Professional
+ * Edition License.
+ *
+ * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+ *
+ * This software was developed at:
+ * INRIA Rennes - Bretagne Atlantique
+ * Campus Universitaire de Beaulieu
+ * 35042 Rennes Cedex
+ * France
+ * http://www.irisa.fr/lagadic
+ *
+ * If you have questions regarding the use of this file, please contact
+ * INRIA at visp@inria.fr
+ *
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Description:
+ * Base class for bar code detection.
+ *
+ * Authors:
+ * Fabien Spindler
+ *
+ *****************************************************************************/
+
+#include <visp/vpConfig.h>
+
+#ifdef VISP_HAVE_ZBAR
+
+#include <visp/vpDetectorQRCode.h>
+
+
+/*!
+   Default constructor.
+ */
+vpDetectorQRCode::vpDetectorQRCode() : m_scanner()
+{
+  // configure the reader
+  m_scanner.set_config(zbar::ZBAR_NONE, zbar::ZBAR_CFG_ENABLE, 1);
+}
+
+/*!
+  Detect QR codes in the image. Return true if a code is detected, false otherwise.
+
+  \param I : Input image.
+ */
+bool vpDetectorQRCode::detect(const vpImage<unsigned char> &I)
+{
+  bool detected = false;
+  m_message.clear();
+  m_polygon.clear();
+  m_nb_objects = 0;
+
+  m_scanner.set_config(zbar::ZBAR_NONE, zbar::ZBAR_CFG_ENABLE, 1);
+  unsigned int width = I.getWidth();
+  unsigned int height = I.getHeight();
+
+  // wrap image data
+  zbar::Image img(width, height, "Y800", I.bitmap, (unsigned long)(width * height));
+
+  // scan the image for barcodes
+  m_nb_objects =  (size_t) m_scanner.scan(img);
+
+  // extract results
+  for(zbar::Image::SymbolIterator symbol = img.symbol_begin();
+      symbol != img.symbol_end();
+      ++symbol) {
+    m_message.push_back( symbol->get_data() );
+    detected = true;
+
+    std::vector<vpImagePoint> polygon;
+    for(unsigned int i=0; i < (unsigned int)symbol->get_location_size(); i++){
+      polygon.push_back(vpImagePoint(symbol->get_location_y(i), symbol->get_location_x(i)));
+    }
+    m_polygon.push_back(polygon);
+  }
+
+  // clean up
+  img.set_data(NULL, 0);
+
+  return detected;
+}
+
+#endif
diff --git a/src/detection/barcode/vpDetectorQRCode.h b/src/detection/barcode/vpDetectorQRCode.h
new file mode 100644
index 0000000000000000000000000000000000000000..3839ea0f9c0f5426caae7735dd206e41caaac00c
--- /dev/null
+++ b/src/detection/barcode/vpDetectorQRCode.h
@@ -0,0 +1,126 @@
+/****************************************************************************
+ *
+ * $Id$
+ *
+ * This file is part of the ViSP software.
+ * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+ *
+ * This software is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * ("GPL") version 2 as published by the Free Software Foundation.
+ * See the file LICENSE.txt at the root directory of this source
+ * distribution for additional information about the GNU GPL.
+ *
+ * For using ViSP with software that can not be combined with the GNU
+ * GPL, please contact INRIA about acquiring a ViSP Professional
+ * Edition License.
+ *
+ * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+ *
+ * This software was developed at:
+ * INRIA Rennes - Bretagne Atlantique
+ * Campus Universitaire de Beaulieu
+ * 35042 Rennes Cedex
+ * France
+ * http://www.irisa.fr/lagadic
+ *
+ * If you have questions regarding the use of this file, please contact
+ * INRIA at visp@inria.fr
+ *
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Description:
+ * Base class for bar code detection.
+ *
+ * Authors:
+ * Fabien Spindler
+ *
+ *****************************************************************************/
+
+#ifndef __vpDetectorQRCode_h__
+#define __vpDetectorQRCode_h__
+
+#include <vector>
+#include <utility>
+#include <string>
+
+#include <visp/vpConfig.h>
+
+#ifdef VISP_HAVE_ZBAR
+
+#include <zbar.h>
+
+#include <visp/vpDetectorBase.h>
+#include <visp/vpImage.h>
+
+/*!
+  \class vpDetectorQRCode
+
+  Base class for bar code detector. This class is a wrapper over libzbar
+  available from http://zbar.sourceforge.net/
+
+  The detect() function allows to detect multiple QR codes in an image. Once detected,
+  for each QR code it is possible to retrieve the location of the corners using getPolygon(),
+  the encoded message using getMessage(), the bounding box using getBBox() and the center
+  of gravity using getCog().
+
+  The following sample code shows how to use this class to detect QR codes in an image.
+  \code
+#include <visp/vpDetectorQRCode.h>
+#include <visp/vpImageIo.h>
+
+int main()
+{
+#ifdef VISP_HAVE_ZBAR
+  vpImage<unsigned char> I;
+  vpImageIo::read(I, "bar-code.pgm");
+
+  vpDetectorQRCode detector;
+
+  bool status = detector.detect(I);
+  if (status) {
+    for(size_t i=0; i < detector.getNbObjects(); i++) {
+      std::cout << "Bar code " << i << ":" << std::endl;
+      std::vector<vpImagePoint> p = detector.getPolygon(i);
+      for(size_t j=0; j < p.size(); j++)
+        std::cout << "  Point " << j << ": " << p[j] << std::endl;
+      std::cout << "  Message: \"" << detector.getMessage(i) << "\"" << std::endl;
+    }
+  }
+#endif
+}
+  \endcode
+
+  The previous example may produce results like:
+  \code
+Bar code 0:
+  Point 0: 48, 212
+  Point 1: 57, 84
+  Point 2: 188, 92
+  Point 3: 183, 220
+  Message: "qrcode 2"
+Bar code 1:
+  Point 0: 26, 550
+  Point 1: 35, 409
+  Point 2: 174, 414
+  Point 3: 167, 555
+  Message: "qrcode 1"
+  \endcode
+
+  Other examples are also provided in tutorial-barcode-detector.cpp and
+  tutorial-barcode-detector-live.cpp
+ */
+class VISP_EXPORT vpDetectorQRCode : public vpDetectorBase
+{
+protected:
+  zbar::ImageScanner m_scanner; //!< QR code detector.
+
+public:
+  vpDetectorQRCode();
+  virtual ~vpDetectorQRCode() {};
+  bool detect(const vpImage<unsigned char> &I);
+};
+
+#endif
+#endif
diff --git a/src/detection/face/vpDetectorFace.cpp b/src/detection/face/vpDetectorFace.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..0f1e1722803ab9ab02cb16db079f9daae1a7e1de
--- /dev/null
+++ b/src/detection/face/vpDetectorFace.cpp
@@ -0,0 +1,129 @@
+/****************************************************************************
+ *
+ * This file is part of the ViSP software.
+ * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+ *
+ * This software is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * ("GPL") version 2 as published by the Free Software Foundation.
+ * See the file LICENSE.txt at the root directory of this source
+ * distribution for additional information about the GNU GPL.
+ *
+ * For using ViSP with software that can not be combined with the GNU
+ * GPL, please contact INRIA about acquiring a ViSP Professional
+ * Edition License.
+ *
+ * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+ *
+ * This software was developed at:
+ * INRIA Rennes - Bretagne Atlantique
+ * Campus Universitaire de Beaulieu
+ * 35042 Rennes Cedex
+ * France
+ * http://www.irisa.fr/lagadic
+ *
+ * If you have questions regarding the use of this file, please contact
+ * INRIA at visp@inria.fr
+ *
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Description:
+ * Detect faces.
+ *
+ * Authors:
+ * Fabien Spindler
+ *
+ *****************************************************************************/
+#include <visp/vpConfig.h>
+
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020200)
+
+#include <algorithm>
+
+#include <visp/vpDetectorFace.h>
+#include <visp/vpImageConvert.h>
+
+bool vpSortLargestFace(cv::Rect rect1, cv::Rect rect2)
+{
+  return (rect1.area() > rect2.area());
+}
+
+/*!
+  Default constructor.
+ */
+vpDetectorFace::vpDetectorFace() :
+  m_faces(), m_face_cascade(), m_frame_gray()
+{
+}
+
+/*!
+  Set the name of the OpenCV cascade classifier file used for face detection.
+  \param filename : Full path to access to the file. Such a file can be found in OpenCV. Within the last versions
+  it was name "haarcascade_frontalface_alt.xml".
+ */
+void vpDetectorFace::setCascadeClassifierFile(const std::string &filename)
+{
+  if( ! m_face_cascade.load( filename ) ) {
+    throw vpException(vpException::ioError, "Cannot read haar file: %s", filename.c_str());
+  }
+}
+
+/*!
+   Allows to detect a face in the image. When more than one face is detected, faces are sorted from largest to smallest.
+
+   \param I : Input image to process.
+   \return true if one or more faces are found, false otherwise.
+
+   The number of detected faces is returned using getNbObjects().
+   If a face is found the functions getBBox(), getCog() return some information about the location of the face.
+
+   The largest face is always available using getBBox(0) or getCog(0).
+ */
+bool vpDetectorFace::detect(const vpImage<unsigned char> &I)
+{
+  vpImageConvert::convert(I, m_frame_gray);
+
+  bool detected = false;
+  m_message.clear();
+  m_polygon.clear();
+  m_nb_objects = 0;
+
+  m_faces.clear();
+#if (VISP_HAVE_OPENCV_VERSION >= 0x030000)
+  m_face_cascade.detectMultiScale( m_frame_gray, m_faces, 1.1, 2, 0, cv::Size(30, 30) );
+#else
+  m_face_cascade.detectMultiScale( m_frame_gray, m_faces, 1.1, 2, 0|CV_HAAR_SCALE_IMAGE, cv::Size(30, 30) );
+#endif
+
+  m_nb_objects = m_faces.size();
+
+  std::sort(m_faces.begin(), m_faces.end(), vpSortLargestFace);
+
+  if (m_faces.size())
+  for( size_t i = 0; i < m_faces.size(); i++ ) {
+    std::ostringstream message;
+    message << "Face " << i;
+    m_message.push_back( message.str() );
+
+    detected = true;
+
+    std::vector<vpImagePoint> polygon;
+    double x = m_faces[i].tl().x;
+    double y = m_faces[i].tl().y;
+    double w = m_faces[i].size().width;
+    double h = m_faces[i].size().height;
+
+    polygon.push_back(vpImagePoint(y  , x  ));
+    polygon.push_back(vpImagePoint(y+h, x  ));
+    polygon.push_back(vpImagePoint(y+h, x+w));
+    polygon.push_back(vpImagePoint(y  , x+w));
+
+    m_polygon.push_back(polygon);
+  }
+
+  return detected;
+}
+
+
+#endif
diff --git a/src/detection/face/vpDetectorFace.h b/src/detection/face/vpDetectorFace.h
new file mode 100644
index 0000000000000000000000000000000000000000..d27ba882191976e8503d6806f62b5b338138f457
--- /dev/null
+++ b/src/detection/face/vpDetectorFace.h
@@ -0,0 +1,100 @@
+/****************************************************************************
+ *
+ * This file is part of the ViSP software.
+ * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+ *
+ * This software is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * ("GPL") version 2 as published by the Free Software Foundation.
+ * See the file LICENSE.txt at the root directory of this source
+ * distribution for additional information about the GNU GPL.
+ *
+ * For using ViSP with software that can not be combined with the GNU
+ * GPL, please contact INRIA about acquiring a ViSP Professional
+ * Edition License.
+ *
+ * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+ *
+ * This software was developed at:
+ * INRIA Rennes - Bretagne Atlantique
+ * Campus Universitaire de Beaulieu
+ * 35042 Rennes Cedex
+ * France
+ * http://www.irisa.fr/lagadic
+ *
+ * If you have questions regarding the use of this file, please contact
+ * INRIA at visp@inria.fr
+ *
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Description:
+ * Detect faces.
+ *
+ * Authors:
+ * Fabien Spindler
+ *
+ *****************************************************************************/
+
+#ifndef __vpDetectorFace_h__
+#define __vpDetectorFace_h__
+
+#include <visp/vpConfig.h>
+
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020200)
+
+#include <opencv2/objdetect/objdetect.hpp>
+#include <opencv2/highgui/highgui.hpp>
+#include <opencv2/imgproc/imgproc.hpp>
+
+#include <visp/vpDetectorBase.h>
+
+/*!
+  \class vpDetectorFace
+
+  The vpDetectorFace class is a wrapper over OpenCV Haar cascade face detection capabilities.
+  To use this class ViSP should be build against OpenCV 2.2.0 or a more recent version.
+
+  The following sample code shows how to use this class to detect the largest face in the image.
+  The cascade classifier file "haarcascade_frontalface_alt.xml" can be found in ViSP source code or in OpenCV.
+  \code
+#include <visp/vpDetectorFace.h>
+
+int main()
+{
+  vpImage<unsigned char> I;
+  vpDetectorFace face_detector;
+  face_detector.setCascadeClassifierFile("haarcascade_frontalface_alt.xml");
+
+  while(1) {
+    // acquire a new image in I
+    bool face_found = face_detector.track(I);
+    if (face_found) {
+      vpRect face_bbox = face_detector.getBoundingBox(0); // largest face has index 0
+    }
+  }
+}
+  \endcode
+
+  A more complete example that works with images acquired from a camera is provided in tutorial-face-detector-live.cpp.
+ */
+class VISP_EXPORT vpDetectorFace : public vpDetectorBase
+{
+protected:
+  std::vector<cv::Rect> m_faces; //!< Bounding box of each detected face.
+  cv::CascadeClassifier m_face_cascade; //!< Haar cascade classifier file name.
+  cv::Mat m_frame_gray; //!< OpenCV image used as input for the face detection.
+
+public:
+  vpDetectorFace();
+  /*!
+    Default destructor.
+   */
+  virtual ~vpDetectorFace() {};
+  void setCascadeClassifierFile(const std::string &filename);
+
+  bool detect(const vpImage<unsigned char> &I);
+};
+
+#endif
+#endif
diff --git a/src/detection/vpDetectorBase.h b/src/detection/vpDetectorBase.h
new file mode 100644
index 0000000000000000000000000000000000000000..e0191f4d5bac711c86a4efbdc96e2e736db5228e
--- /dev/null
+++ b/src/detection/vpDetectorBase.h
@@ -0,0 +1,162 @@
+/****************************************************************************
+ *
+ * $Id$
+ *
+ * This file is part of the ViSP software.
+ * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+ *
+ * This software is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * ("GPL") version 2 as published by the Free Software Foundation.
+ * See the file LICENSE.txt at the root directory of this source
+ * distribution for additional information about the GNU GPL.
+ *
+ * For using ViSP with software that can not be combined with the GNU
+ * GPL, please contact INRIA about acquiring a ViSP Professional
+ * Edition License.
+ *
+ * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+ *
+ * This software was developed at:
+ * INRIA Rennes - Bretagne Atlantique
+ * Campus Universitaire de Beaulieu
+ * 35042 Rennes Cedex
+ * France
+ * http://www.irisa.fr/lagadic
+ *
+ * If you have questions regarding the use of this file, please contact
+ * INRIA at visp@inria.fr
+ *
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Description:
+ * Base class for object detection.
+ *
+ * Authors:
+ * Fabien Spindler
+ *
+ *****************************************************************************/
+
+#ifndef __vpDetectorBase_h__
+#define __vpDetectorBase_h__
+
+#include <vector>
+#include <utility>
+#include <string>
+#include <assert.h>
+
+#include <visp/vpImage.h>
+#include <visp/vpImagePoint.h>
+#include <visp/vpRect.h>
+
+/*!
+  \class vpDetectorBase
+
+  Base class for object detection.
+
+  This class is a generic class that can be used to detect:
+  - bar codes like QRcodes of Data matrices. The example given in tutorial-barcode-detector.cpp shows
+    how to detect one or more bar codes in an image. In tutorial-barcode-detector-live.cpp you will find
+    an other example that shows how to use this class to detect bar codes in images acquired by a camera.
+  - faces. An example is provided in tutorial-face-detector-live.cpp.
+ */
+class VISP_EXPORT vpDetectorBase
+{
+protected:
+  std::vector< std::vector<vpImagePoint> > m_polygon; //!< For each object, defines the polygon that contains the object.
+  std::vector< std::string > m_message; //!< Message attached to each object.
+  size_t m_nb_objects; //!< Number of detected objects.
+
+public:
+  /*!
+     Default constructor.
+   */
+  vpDetectorBase() : m_polygon(), m_message(), m_nb_objects(0) {}
+  /*!
+     Default destructor.
+     */
+  virtual ~vpDetectorBase() {};
+
+  /*!
+    Detect objects in an image.
+    \param I : Image where to detect objects.
+    \return true if one or multiple objects are detected, false otherwise.
+   */
+  virtual bool detect(const vpImage<unsigned char> &I) = 0;
+  /*!
+    Returns object container box as a vector of points.
+   */
+  std::vector< std::vector<vpImagePoint> > & getPolygon()
+  {
+    return m_polygon;
+  }
+
+  /*!
+    Returns ith object container box as a vector of points.
+   */
+  std::vector<vpImagePoint> & getPolygon(size_t i)
+  {
+    if (i < m_polygon.size())
+      return m_polygon[i];
+    else
+      throw(vpException(vpException::badValue, "Bad index to retrieve object %d. Only %d objects are detected.", i, m_polygon.size()));
+  }
+  /*!
+    Returns the contained message of the ith object if there is one.
+   */
+  std::string & getMessage(size_t i)
+  {
+    if (i < m_polygon.size())
+      return m_message[i];
+    else
+      throw(vpException(vpException::badValue, "Bad index to retrieve object %d . Only %d objects are detected.", i, m_polygon.size()));
+  }
+  /*!
+    Returns the contained message of the ith object if there is one.
+   */
+  std::vector< std::string > & getMessage()
+  {
+    return m_message;
+  }
+  /*!
+    Return the number of objects that are detected.
+    */
+  size_t getNbObjects() const {return m_nb_objects; }
+  /*!
+    Return the center of gravity location of the ith object.
+   */
+  vpImagePoint getCog(size_t i) const
+  {
+    vpImagePoint cog(0,0);
+    for(size_t j=0; j < m_polygon[i].size(); j++) {
+      cog += m_polygon[i][j];
+    }
+    cog /= (double)m_polygon[i].size();
+    return cog;
+  }
+  /*!
+    Return the bounding box of the ith object.
+   */
+  vpRect getBBox(size_t i) const
+  {
+    assert(m_polygon[i].size() > 2);
+
+    double left, right;
+    double top, bottom;
+    left = right = m_polygon[i][0].get_u();
+    top = bottom = m_polygon[i][0].get_v();
+    for(size_t j=0; j < m_polygon[i].size(); j++) {
+      double u = m_polygon[i][j].get_u();
+      double v = m_polygon[i][j].get_v();
+      if (u < left) left = u;
+      if (u > right) right = u;
+      if (v < top) top = v;
+      if (v > bottom) bottom = v;
+    }
+    vpRect roi(vpImagePoint(top, left), vpImagePoint(bottom, right));
+    return roi;
+  }
+};
+
+#endif
diff --git a/src/device/display/vpDisplay.cpp b/src/device/display/vpDisplay.cpp
index a9926151fee4918bca9a10331d8f981b12386aa1..6a99f611c960ade518eb007953e6174579c8ddcb 100644
--- a/src/device/display/vpDisplay.cpp
+++ b/src/device/display/vpDisplay.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpDisplay.cpp 4632 2014-02-03 17:06:40Z fspindle $
+ * $Id: vpDisplay.cpp 5008 2014-11-25 17:59:43Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -40,6 +40,8 @@
  *
  *****************************************************************************/
 
+#include <limits>
+
 #include <visp/vpDisplay.h>
 #include <visp/vpDisplayException.h>
 #include <visp/vpImageConvert.h>
@@ -115,6 +117,8 @@ vpDisplay::setFont ( const vpImage<unsigned char> &I,
 }
 /*!
   Set the windows title.
+  \note This functionality is not implemented when vpDisplayOpenCV is used.
+
   \param I : Image associated to the display window.
   \param windowtitle : Window title.
 */
@@ -725,6 +729,7 @@ vpDisplay::displayArrow ( const vpImage<vpRGBa> &I,
 /*! 
 
   Display a string at the image point \e ip location.
+  Use rather displayText() that does the same.
     
   To select the font used to display the string, use setFont().
     
@@ -733,7 +738,7 @@ vpDisplay::displayArrow ( const vpImage<vpRGBa> &I,
   \param string : String to display in overlay.
   \param color : String color.
   
-  \sa setFont()
+  \sa setFont(), displayText()
 
 */
 void
@@ -758,7 +763,8 @@ vpDisplay::displayCharString ( const vpImage<unsigned char> &I,
 /*! 
 
   Display a string at the image point \e ip location.
-    
+  Use rather displayText() that does the same.
+
   To select the font used to display the string, use setFont().
     
   \param I : Image associated to the display.
@@ -766,7 +772,7 @@ vpDisplay::displayCharString ( const vpImage<unsigned char> &I,
   \param string : String to display in overlay.
   \param color : String color.
   
-  \sa setFont()
+  \sa setFont(), displayText()
 
 */
 void
@@ -791,7 +797,8 @@ vpDisplay::displayCharString ( const vpImage<vpRGBa> &I,
 /*! 
 
   Display a string at the image point (i,j) location.
-    
+  Use rather displayText() that does the same.
+
   To select the font used to display the string, use setFont().
     
   \param I : Image associated to the display.
@@ -799,7 +806,7 @@ vpDisplay::displayCharString ( const vpImage<vpRGBa> &I,
   \param string : String to display in overlay.
   \param color : String color.
   
-  \sa setFont()
+  \sa setFont(), displayText()
 
 */
 void
@@ -828,7 +835,8 @@ vpDisplay::displayCharString ( const vpImage<unsigned char> &I,
 /*!
 
   Display a string at the image point (i,j) location.
-    
+  Use rather displayText() that does the same.
+
   To select the font used to display the string, use setFont().
     
   \param I : Image associated to the display.
@@ -836,13 +844,13 @@ vpDisplay::displayCharString ( const vpImage<unsigned char> &I,
   \param string : String to display in overlay.
   \param color : String color.
   
-  \sa setFont()
+  \sa setFont(), displayText()
 
 */
 void
 vpDisplay::displayCharString ( const vpImage<vpRGBa> &I,
                                int i, int j, const char *string,
-			       const vpColor &color)
+                               const vpColor &color)
 {
   try
   {
@@ -861,6 +869,145 @@ vpDisplay::displayCharString ( const vpImage<vpRGBa> &I,
   }
 }
 
+/*!
+
+  Display a string at the image point \e ip location.
+
+  To select the font used to display the string, use setFont().
+
+  \param I : Image associated to the display.
+  \param ip : Upper left image point location of the string in the display.
+  \param s : String to display in overlay.
+  \param color : String color.
+
+  \sa setFont()
+
+*/
+void
+vpDisplay::displayText ( const vpImage<unsigned char> &I,
+                         const vpImagePoint &ip, const std::string &s,
+                         const vpColor &color )
+{
+  try
+  {
+    if ( I.display != NULL )
+    {
+      ( I.display )->displayCharString ( ip, s.c_str(), color ) ;
+    }
+  }
+  catch ( ... )
+  {
+    vpERROR_TRACE ( "Error caught" ) ;
+    throw ;
+  }
+}
+
+/*!
+
+  Display a string at the image point \e ip location.
+
+  To select the font used to display the string, use setFont().
+
+  \param I : Image associated to the display.
+  \param ip : Upper left image point location of the string in the display.
+  \param s : String to display in overlay.
+  \param color : String color.
+
+  \sa setFont()
+
+*/
+void
+vpDisplay::displayText ( const vpImage<vpRGBa> &I,
+                         const vpImagePoint &ip, const std::string &s,
+                         const vpColor &color )
+{
+  try
+  {
+    if ( I.display != NULL )
+    {
+      ( I.display )->displayCharString ( ip, s.c_str(), color ) ;
+    }
+  }
+  catch ( ... )
+  {
+    vpERROR_TRACE ( "Error caught" ) ;
+    throw ;
+  }
+}
+
+/*!
+
+  Display a string at the image point (i,j) location.
+
+  To select the font used to display the string, use setFont().
+
+  \param I : Image associated to the display.
+  \param i,j : Upper left image point location of the string in the display.
+  \param s : String to display in overlay.
+  \param color : String color.
+
+  \sa setFont()
+
+*/
+void
+vpDisplay::displayText ( const vpImage<unsigned char> &I,
+                         int i, int j, const std::string &s,
+                         const vpColor &color)
+{
+  try
+  {
+    if ( I.display != NULL )
+    {
+      vpImagePoint ip;
+      ip.set_i( i );
+      ip.set_j( j );
+
+      ( I.display )->displayCharString ( ip, s.c_str(), color ) ;
+    }
+  }
+  catch ( ... )
+  {
+    vpERROR_TRACE ( "Error caught" ) ;
+    throw ;
+  }
+}
+
+/*!
+
+  Display a string at the image point (i,j) location.
+
+  To select the font used to display the string, use setFont().
+
+  \param I : Image associated to the display.
+  \param i,j : Upper left image point location of the string in the display.
+  \param s : String to display in overlay.
+  \param color : String color.
+
+  \sa setFont()
+
+*/
+void
+vpDisplay::displayText ( const vpImage<vpRGBa> &I,
+                         int i, int j, const std::string &s,
+                         const vpColor &color)
+{
+  try
+  {
+    if ( I.display != NULL )
+    {
+      vpImagePoint ip;
+      ip.set_i( i );
+      ip.set_j( j );
+      ( I.display )->displayCharString ( ip, s.c_str(), color ) ;
+    }
+  }
+  catch ( ... )
+  {
+    vpERROR_TRACE ( "Error caught" ) ;
+    throw ;
+  }
+}
+
 /*!
   Display a circle.
   \param I : The image associated to the display.
@@ -1359,16 +1506,24 @@ void vpDisplay::displayLine ( const vpImage<vpRGBa> &I,
   \param I : The image associated to the display.
   \param ip : Point location.
   \param color : Point color.
+  \param thickness : Thickness of the point
 */
 void vpDisplay::displayPoint ( const vpImage<unsigned char> &I,
                                const vpImagePoint &ip,
-			       const vpColor &color )
+                               const vpColor &color,
+                               unsigned int thickness )
 {
   try
   {
     if ( I.display != NULL )
     {
-      ( I.display )->displayPoint ( ip, color ) ;
+      if (thickness == 1)
+        ( I.display )->displayPoint ( ip, color ) ;
+      else {
+        vpRect rect(0, 0, thickness, thickness);
+        rect.moveCenter(ip);
+        ( I.display )->displayRectangle ( rect, color, true ) ;
+      }
     }
   }
   catch ( ... )
@@ -1382,16 +1537,24 @@ void vpDisplay::displayPoint ( const vpImage<unsigned char> &I,
   \param I : The image associated to the display.
   \param ip : Point location.
   \param color : Point color.
+  \param thickness : Thickness of the point
 */
 void vpDisplay::displayPoint ( const vpImage<vpRGBa> &I,
                                const vpImagePoint &ip,
-			       const vpColor &color )
+                               const vpColor &color,
+                               unsigned int thickness )
 {
   try
   {
     if ( I.display != NULL )
     {
-      ( I.display )->displayPoint ( ip, color ) ;
+      if (thickness == 1)
+        ( I.display )->displayPoint ( ip, color ) ;
+      else {
+        vpRect rect(0, 0, thickness, thickness);
+        rect.moveCenter(ip);
+        ( I.display )->displayRectangle ( rect, color, true ) ;
+      }
     }
   }
   catch ( ... )
@@ -1406,10 +1569,12 @@ void vpDisplay::displayPoint ( const vpImage<vpRGBa> &I,
   \param I : The image associated to the display.
   \param i,j : Point location.
   \param color : Point color.
+  \param thickness : Thickness of the point
 */
 void vpDisplay::displayPoint ( const vpImage<unsigned char> &I,
                                int i, int j,
-                               const vpColor &color )
+                               const vpColor &color,
+                               unsigned int thickness )
 {
   try
   {
@@ -1418,7 +1583,13 @@ void vpDisplay::displayPoint ( const vpImage<unsigned char> &I,
       vpImagePoint ip;
       ip.set_i( i );
       ip.set_j( j );
-      ( I.display )->displayPoint ( ip, color ) ;
+      if (thickness == 1)
+        ( I.display )->displayPoint ( ip, color ) ;
+      else {
+        vpRect rect(0, 0, thickness, thickness);
+        rect.moveCenter(ip);
+        ( I.display )->displayRectangle ( rect, color, true ) ;
+      }
     }
   }
   catch ( ... )
@@ -1434,10 +1605,13 @@ void vpDisplay::displayPoint ( const vpImage<unsigned char> &I,
   \param I : The image associated to the display.
   \param i,j : Point location.
   \param color : Point color.
+  \param thickness : Thickness of the point
+
 */
 void vpDisplay::displayPoint ( const vpImage<vpRGBa> &I,
                                int i, int j,
-                               const vpColor &color )
+                               const vpColor &color,
+                               unsigned int thickness )
 {
   try
   {
@@ -1446,7 +1620,71 @@ void vpDisplay::displayPoint ( const vpImage<vpRGBa> &I,
       vpImagePoint ip;
       ip.set_i( i );
       ip.set_j( j );
-      ( I.display )->displayPoint ( ip, color ) ;
+      if (thickness == 1)
+        ( I.display )->displayPoint ( ip, color ) ;
+      else {
+        vpRect rect(0, 0, thickness, thickness);
+        rect.moveCenter(ip);
+        ( I.display )->displayRectangle ( rect, color, true ) ;
+      }
+    }
+  }
+  catch ( ... )
+  {
+    vpERROR_TRACE ( "Error caught" ) ;
+    throw ;
+  }
+}
+
+/*!
+  Display a polygon defined by a vector of image points.
+  \param I : The image associated to the display.
+  \param vip : Vector of image point that define the vertexes of the polygon.
+  \param color : Line color.
+  \param thickness : Line thickness.
+
+*/
+void
+vpDisplay::displayPolygon(const vpImage<unsigned char> &I,
+                          const std::vector<vpImagePoint> &vip,
+                          const vpColor &color,
+                          unsigned int thickness)
+{
+  try
+  {
+    if ( I.display != NULL )
+    {
+      for (unsigned int i=0; i< vip.size(); i++)
+        ( I.display )->displayLine ( vip[i], vip[(i+1)%vip.size()], color, thickness );
+    }
+  }
+  catch ( ... )
+  {
+    vpERROR_TRACE ( "Error caught" ) ;
+    throw ;
+  }
+}
+
+/*!
+  Display a polygon defined by a vector of image points.
+  \param I : The image associated to the display.
+  \param vip : Vector of image point that define the vertexes of the polygon.
+  \param color : Line color.
+  \param thickness : Line thickness.
+
+*/
+void
+vpDisplay::displayPolygon(const vpImage<vpRGBa> &I,
+                          const std::vector<vpImagePoint> &vip,
+                          const vpColor &color,
+                          unsigned int thickness)
+{
+  try
+  {
+    if ( I.display != NULL )
+    {
+      for (unsigned int i=0; i< vip.size(); i++)
+        ( I.display )->displayLine ( vip[i], vip[(i+1)%vip.size()], color, thickness );
     }
   }
   catch ( ... )
@@ -2049,6 +2287,8 @@ void vpDisplay::close ( vpImage<unsigned char> &I )
 
 /*!
   Set the windows title.
+  \note This functionality is not implemented when vpDisplayOpenCV is used.
+
   \param I : Image associated to the display window.
   \param windowtitle : Window title.
 */
@@ -2483,7 +2723,7 @@ bool vpDisplay::getClick ( const vpImage<unsigned char> &I,
 bool  vpDisplay::getClick ( const vpImage<unsigned char> &I,
                             vpImagePoint &ip, 
                             vpMouseButton::vpMouseButtonType& button,
-			    bool blocking)
+                            bool blocking)
 {
   try
   {
@@ -2500,6 +2740,56 @@ bool  vpDisplay::getClick ( const vpImage<unsigned char> &I,
   return false ;
 }
 
+/*!
+  Wait for a mouse button click and get the position of the clicked
+  image point. The button used to click is also set.
+
+  \param I [in] : The displayed image.
+
+  \param button [out] : The button used to click.
+
+  \param blocking [in] :
+  - When set to true, this method waits until a mouse button is
+    pressed and then returns always true.
+  - When set to false, returns true only if a mouse button is
+    pressed, otherwise returns false.
+
+  \return true if a mouse button is pressed, false otherwise.
+
+*/
+bool  vpDisplay::getClick ( const vpImage<unsigned char> &I,
+                            vpMouseButton::vpMouseButtonType& button,
+                            bool blocking)
+{
+  vpImagePoint ip;
+  return vpDisplay::getClick(I, ip, button, blocking);
+}
+
+/*!
+  Wait for a mouse button click and get the position of the clicked
+  image point. The button used to click is also set.
+
+  \param I [in] : The displayed image.
+
+  \param button [out] : The button used to click.
+
+  \param blocking [in] :
+  - When set to true, this method waits until a mouse button is
+    pressed and then returns always true.
+  - When set to false, returns true only if a mouse button is
+    pressed, otherwise returns false.
+
+  \return true if a mouse button is pressed, false otherwise.
+
+*/
+bool  vpDisplay::getClick ( const vpImage<vpRGBa> &I,
+                            vpMouseButton::vpMouseButtonType& button,
+                            bool blocking)
+{
+  vpImagePoint ip;
+  return vpDisplay::getClick(I, ip, button, blocking);
+}
+
 /*!
   Wait for a mouse button click release and get the position of the clicked
   image point. The button used to click is also set.
@@ -2541,6 +2831,57 @@ vpDisplay::getClickUp ( const vpImage<unsigned char> &I,
   }
   return false ;
 }
+
+/*!
+  Wait for a mouse button click release and get the position of the clicked
+  image point. The button used to click is also set.
+
+  \param I [in] : The displayed image.
+
+  \param button [out] : The clicked button.
+
+  \param blocking [in] :
+  - When set to true, this method waits until a mouse button is
+    released and then returns always true.
+  - When set to false, returns true only if a mouse button is
+    released, otherwise returns false.
+
+  \return true if a mouse button is released, false otherwise.
+
+*/
+bool  vpDisplay::getClickUp ( const vpImage<unsigned char> &I,
+                            vpMouseButton::vpMouseButtonType& button,
+                            bool blocking)
+{
+  vpImagePoint ip;
+  return vpDisplay::getClickUp(I, ip, button, blocking);
+}
+
+/*!
+  Wait for a mouse button click release and get the position of the clicked
+  image point. The button used to click is also set.
+
+  \param I [in] : The displayed image.
+
+  \param button [out] : The clicked button.
+
+  \param blocking [in] :
+  - When set to true, this method waits until a mouse button is
+    released and then returns always true.
+  - When set to false, returns true only if a mouse button is
+    released, otherwise returns false.
+
+  \return true if a mouse button is released, false otherwise.
+
+*/
+bool  vpDisplay::getClickUp ( const vpImage<vpRGBa> &I,
+                            vpMouseButton::vpMouseButtonType& button,
+                            bool blocking)
+{
+  vpImagePoint ip;
+  return vpDisplay::getClickUp(I, ip, button, blocking);
+}
+
 /*!
   Get a keyboard event.
 
@@ -3218,3 +3559,402 @@ vpDisplay::getPointerPosition (const vpImage<vpRGBa> &I, vpImagePoint &ip)
   }
   return false;
 }
+
+/*!
+  Display an ellipse from its parameters expressed in pixels.
+  \param I : Image to consider.
+  \param center : Center \f$(u_c, v_c)\f$ of the ellipse.
+  \param coef1, coef2, coef3 : Depending on the parameter \e use_centered_moments these parameters
+  are:
+  - the centered moments expressed in pixels: \f$\mu_{20}, \mu_{11}, \mu_{02}\f$;
+  - the major and minor axis lenght in pixels and the excentricity of the ellipse in radians: \f$a, b, e\f$.
+  \param use_centered_moments : When false, the parameters coef1, coef2, coef3
+  are the parameters \f$a, b, e\f$. When true, the parameters coef1, coef2, coef3 are rather the centered moments
+  \f$\mu_{20}, \mu_{11}, \mu_{02}\f$ expressed in pixels. In that case, we compute the parameters \e a, \e b and \e e
+  from the centered moments.
+  \param color : Drawings color.
+  \param thickness : Drawings thickness.
+
+  All the points \f$(u_\theta,v_\theta)\f$ on the ellipse are drawn thanks to its parametric representation:
+
+  \f[ \left(\begin{array}{c}
+  u_\theta \\
+  v_\theta
+  \end{array} \right) = \left(\begin{array}{c}
+  u_c \\
+  v_c
+  \end{array} \right) + \left(\begin{array}{cc}
+  \cos(e) & -\sin(e) \\
+  \sin(e) & \cos(e)
+  \end{array} \right) \left(\begin{array}{c}
+  a \cos(\theta) \\
+  b \sin(\theta)
+  \end{array} \right) \f]
+
+  with \f$0 \leq \theta \leq 2\pi\f$.
+
+  The following example shows how to use for example this function to display the result of a tracking.
+  \code
+    vpMeEllipse ellipse;
+    ...
+    vpDisplay::display(I);
+    ellipse.track(I) ;
+
+    vpDisplay::displayEllipse(I, ellipse.getCenter(), ellipse.get_mu20(), ellipse.get_mu11(), ellipse.get_mu02(),
+                              true, vpColor::orange, 1);
+    vpDisplay::flush(I);
+  \endcode
+*/
+void vpDisplay::displayEllipse(const vpImage<unsigned char> &I,
+                               const vpImagePoint &center,
+                               const double &coef1, const double &coef2, const double &coef3,
+                               bool use_centered_moments,
+                               const vpColor &color,
+                               unsigned int thickness)
+{
+  vpDisplay::displayEllipse(I, center, coef1, coef2, coef3, 0., vpMath::rad(360), use_centered_moments, color, thickness);
+}
+
+/*!
+  Display an ellipse from its parameters expressed in pixels.
+  \param I : Image to consider.
+  \param center : Center \f$(u_c, v_c)\f$ of the ellipse.
+  \param coef1, coef2, coef3 : Depending on the parameter \e use_centered_moments these parameters
+  are:
+  - the centered moments expressed in pixels: \f$\mu_{20}, \mu_{11}, \mu_{02}\f$;
+  - the major and minor axis lenght in pixels and the excentricity of the ellipse in radians: \f$a, b, e\f$.
+  \param theta1, theta2 : Angles \f$(\theta_1, \theta_2)\f$ in radians used to select a portion of the ellipse.
+  If theta1=0 and theta2=vpMath::rad(360) all the ellipse is displayed.
+  \param use_centered_moments : When false, the parameters coef1, coef2, coef3
+  are the parameters \f$a, b, e\f$. When true, the parameters coef1, coef2, coef3 are rather the centered moments
+  \f$\mu_{20}, \mu_{11}, \mu_{02}\f$ expressed in pixels. In that case, we compute the parameters \e a, \e b and \e e
+  from the centered moments.
+  \param color : Drawings color.
+  \param thickness : Drawings thickness.
+
+  All the points \f$(u_\theta,v_\theta)\f$ on the ellipse are drawn thanks to its parametric representation:
+
+  \f[ \left(\begin{array}{c}
+  u_\theta \\
+  v_\theta
+  \end{array} \right) = \left(\begin{array}{c}
+  u_c \\
+  v_c
+  \end{array} \right) + \left(\begin{array}{cc}
+  \cos(e) & -\sin(e) \\
+  \sin(e) & \cos(e)
+  \end{array} \right) \left(\begin{array}{c}
+  a \cos(\theta) \\
+  b \sin(\theta)
+  \end{array} \right) \f]
+
+  with \f$\theta_1 \leq \theta \leq \theta_2\f$.
+
+  The following example shows how to use for example this function to display the result of a tracking.
+  \code
+    vpMeEllipse ellipse;
+    ...
+    vpDisplay::display(I);
+    ellipse.track(I) ;
+
+    vpDisplay::displayEllipse(I, ellipse.getCenter(), ellipse.get_mu20(),
+                              ellipse.get_mu11(), ellipse.get_mu02(),
+                              ellipse.getSmallestAngle(), ellipse.getHighestAngle(),
+                              true, vpColor::orange, 1);
+    vpDisplay::flush(I);
+  \endcode
+*/
+void vpDisplay::displayEllipse(const vpImage<vpRGBa> &I,
+                               const vpImagePoint &center,
+                               const double &coef1, const double &coef2, const double &coef3,
+                               const double &theta1, const double &theta2, bool use_centered_moments,
+                               const vpColor &color,
+                               unsigned int thickness)
+{
+  try
+  {
+    if ( I.display != NULL )
+    {
+      double j1, i1;
+      vpImagePoint iP11;
+      double j2, i2;
+      vpImagePoint iP22;
+      j1 = j2 = i1 = i2 = 0 ;
+      double a=0., b=0., e=0.;
+
+      double mu20_p = coef1;
+      double mu11_p = coef2;
+      double mu02_p = coef3;
+
+      if (use_centered_moments) {
+        if (std::fabs(mu11_p) > std::numeric_limits<double>::epsilon()) {
+
+          double val_p = sqrt(vpMath::sqr(mu20_p-mu02_p) + 4*vpMath::sqr(mu11_p));
+          a = sqrt((mu20_p + mu02_p + val_p)/2);
+          b = sqrt((mu20_p + mu02_p - val_p)/2);
+
+          e = (mu02_p - mu20_p + val_p)/(2*mu11_p);
+          e = atan(e);
+        }
+        else {
+          a = sqrt(mu20_p);
+          b = sqrt(mu02_p);
+          e = 0.;
+        }
+      }
+      else {
+        a = coef1;
+        b = coef2;
+        e = coef3;
+      }
+
+      // Approximation of the circumference of an ellipse:
+      // [Ramanujan, S., "Modular Equations and Approximations to ,"
+      // Quart. J. Pure. Appl. Math., vol. 45 (1913-1914), pp. 350-372]
+      double t = (a-b)/(a+b);
+      double circumference = M_PI*(a+b)*(1 + 3*vpMath::sqr(t)/(10 + sqrt(4 - 3*vpMath::sqr(t))));
+
+      int nbpoints = (int)(floor(circumference/5));
+      if (nbpoints < 10)
+        nbpoints = 10;
+      double incr = 2*M_PI / nbpoints ; // angle increment
+
+      double smallalpha = theta1;
+      double highalpha  = theta2;
+      double ce = cos(e);
+      double se = sin(e);
+
+      double k = smallalpha ;
+      j1 = a *cos(k) ; // equation of an ellipse
+      i1 = b *sin(k) ; // equation of an ellipse
+
+      // (i1,j1) are the coordinates on the origin centered ellipse ;
+      // a rotation by "e" and a translation by (xci,jc) are done
+      // to get the coordinates of the point on the shifted ellipse
+      iP11.set_j ( center.get_j() + ce *j1 - se *i1 );
+      iP11.set_i ( center.get_i() + se *j1 + ce *i1 );
+
+      while (k+incr<highalpha+incr)
+      {
+        j2 = a *cos(k+incr) ; // equation of an ellipse
+        i2 = b *sin(k+incr) ; // equation of an ellipse
+
+        // to get the coordinates of the point on the shifted ellipse
+        iP22.set_j ( center.get_j() + ce *j2 - se *i2 );
+        iP22.set_i ( center.get_i() + se *j2 + ce *i2 );
+
+        ( I.display )->displayLine(iP11, iP22, color, thickness) ;
+
+        i1 = i2;
+        j1 = j2;
+        iP11 = iP22;
+
+        k += incr ;
+      }
+    }
+  }
+  catch ( vpException &e )
+  {
+    throw(e) ;
+  }
+}
+
+/*!
+  Display an ellipse from its parameters expressed in pixels.
+  \param I : Image to consider.
+  \param center : Center \f$(u_c, v_c)\f$ of the ellipse.
+  \param coef1, coef2, coef3 : Depending on the parameter \e use_centered_moments these parameters
+  are:
+  - the centered moments expressed in pixels: \f$\mu_{20}, \mu_{11}, \mu_{02}\f$;
+  - the major and minor axis lenght in pixels and the excentricity of the ellipse in radians: \f$a, b, e\f$.
+  \param use_centered_moments : When false, the parameters coef1, coef2, coef3
+  are the parameters \f$a, b, e\f$. When true, the parameters coef1, coef2, coef3 are rather the centered moments
+  \f$\mu_{20}, \mu_{11}, \mu_{02}\f$ expressed in pixels. In that case, we compute the parameters \e a, \e b and \e e
+  from the centered moments.
+  \param color : Drawings color.
+  \param thickness : Drawings thickness.
+
+  All the points \f$(u_\theta,v_\theta)\f$ on the ellipse are drawn thanks to its parametric representation:
+
+  \f[ \left(\begin{array}{c}
+  u_\theta \\
+  v_\theta
+  \end{array} \right) = \left(\begin{array}{c}
+  u_c \\
+  v_c
+  \end{array} \right) + \left(\begin{array}{cc}
+  \cos(e) & -\sin(e) \\
+  \sin(e) & \cos(e)
+  \end{array} \right) \left(\begin{array}{c}
+  a \cos(\theta) \\
+  b \sin(\theta)
+  \end{array} \right) \f]
+
+  with \f$0 \leq \theta \leq 2\pi\f$.
+
+  The following example shows how to use for example this function to display the result of a tracking.
+  \code
+    vpMeEllipse ellipse;
+    ...
+    vpDisplay::display(I);
+    ellipse.track(I) ;
+
+    vpDisplay::displayEllipse(I, ellipse.getCenter(), ellipse.get_mu20(), ellipse.get_mu11(), ellipse.get_mu02(),
+                              true, vpColor::orange, 1);
+    vpDisplay::flush(I);
+  \endcode
+*/
+void vpDisplay::displayEllipse(const vpImage<vpRGBa> &I,
+                               const vpImagePoint &center,
+                               const double &coef1, const double &coef2, const double &coef3,
+                               bool use_centered_moments,
+                               const vpColor &color,
+                               unsigned int thickness)
+{
+  vpDisplay::displayEllipse(I, center, coef1, coef2, coef3, 0., vpMath::rad(360), use_centered_moments, color, thickness);
+}
+
+/*!
+  Display an ellipse from its parameters expressed in pixels.
+  \param I : Image to consider.
+  \param center : Center \f$(u_c, v_c)\f$ of the ellipse.
+  \param coef1, coef2, coef3 : Depending on the parameter \e use_centered_moments these parameters
+  are:
+  - the centered moments expressed in pixels: \f$\mu_{20}, \mu_{11}, \mu_{02}\f$;
+  - the major and minor axis lenght in pixels and the excentricity of the ellipse in radians: \f$a, b, e\f$.
+  \param theta1, theta2 : Angles \f$(\theta_1, \theta_2)\f$ in radians used to select a portion of the ellipse.
+  If theta1=0 and theta2=vpMath::rad(360) all the ellipse is displayed.
+  \param use_centered_moments : When false, the parameters coef1, coef2, coef3
+  are the parameters \f$a, b, e\f$. When true, the parameters coef1, coef2, coef3 are rather the centered moments
+  \f$\mu_{20}, \mu_{11}, \mu_{02}\f$ expressed in pixels. In that case, we compute the parameters \e a, \e b and \e e
+  from the centered moments.
+  \param color : Drawings color.
+  \param thickness : Drawings thickness.
+
+  All the points \f$(u_\theta,v_\theta)\f$ on the ellipse are drawn thanks to its parametric representation:
+
+  \f[ \left(\begin{array}{c}
+  u_\theta \\
+  v_\theta
+  \end{array} \right) = \left(\begin{array}{c}
+  u_c \\
+  v_c
+  \end{array} \right) + \left(\begin{array}{cc}
+  \cos(e) & -\sin(e) \\
+  \sin(e) & \cos(e)
+  \end{array} \right) \left(\begin{array}{c}
+  a \cos(\theta) \\
+  b \sin(\theta)
+  \end{array} \right) \f]
+
+  with \f$\theta_1 \leq \theta \leq \theta_2\f$.
+
+  The following example shows how to use for example this function to display the result of a tracking.
+  \code
+    vpMeEllipse ellipse;
+    ...
+    vpDisplay::display(I);
+    ellipse.track(I) ;
+
+    vpDisplay::displayEllipse(I, ellipse.getCenter(), ellipse.get_mu20(),
+                              ellipse.get_mu11(), ellipse.get_mu02(),
+                              ellipse.getSmallestAngle(), ellipse.getHighestAngle(),
+                              true, vpColor::orange, 1);
+    vpDisplay::flush(I);
+  \endcode
+*/
+void vpDisplay::displayEllipse(const vpImage<unsigned char> &I,
+                               const vpImagePoint &center,
+                               const double &coef1, const double &coef2, const double &coef3,
+                               const double &theta1, const double &theta2, bool use_centered_moments,
+                               const vpColor &color,
+                               unsigned int thickness)
+{
+  try
+  {
+    if ( I.display != NULL )
+    {
+      double j1, i1;
+      vpImagePoint iP11;
+      double j2, i2;
+      vpImagePoint iP22;
+      j1 = j2 = i1 = i2 = 0 ;
+      double a=0., b=0., e=0.;
+
+      double mu20_p = coef1;
+      double mu11_p = coef2;
+      double mu02_p = coef3;
+
+      if (use_centered_moments) { 
+        if (std::fabs(mu11_p) > std::numeric_limits<double>::epsilon()) {
+
+          double val_p = sqrt(vpMath::sqr(mu20_p-mu02_p) + 4*vpMath::sqr(mu11_p));
+          a = sqrt((mu20_p + mu02_p + val_p)/2);
+          b = sqrt((mu20_p + mu02_p - val_p)/2);
+
+          e = (mu02_p - mu20_p + val_p)/(2*mu11_p);
+          e = atan(e);
+        }
+        else {
+          a = sqrt(mu20_p);
+          b = sqrt(mu02_p);
+          e = 0.;
+        }
+      }
+      else {
+        a = coef1;
+        b = coef2;
+        e = coef3;
+      }
+
+      // Approximation of the circumference of an ellipse:
+      // [Ramanujan, S., "Modular Equations and Approximations to ,"
+      // Quart. J. Pure. Appl. Math., vol. 45 (1913-1914), pp. 350-372]
+      double t = (a-b)/(a+b);
+      double circumference = M_PI*(a+b)*(1 + 3*vpMath::sqr(t)/(10 + sqrt(4 - 3*vpMath::sqr(t))));
+
+      int nbpoints = (int)(floor(circumference/5));
+      if (nbpoints < 10)
+        nbpoints = 10;
+      double incr = 2*M_PI / nbpoints ; // angle increment
+
+      double smallalpha = theta1;
+      double highalpha  = theta2;
+      double ce = cos(e);
+      double se = sin(e);
+
+      double k = smallalpha ;
+      j1 = a *cos(k) ; // equation of an ellipse
+      i1 = b *sin(k) ; // equation of an ellipse
+
+      // (i1,j1) are the coordinates on the origin centered ellipse ;
+      // a rotation by "e" and a translation by (xci,jc) are done
+      // to get the coordinates of the point on the shifted ellipse
+      iP11.set_j ( center.get_j() + ce *j1 - se *i1 );
+      iP11.set_i ( center.get_i() + se *j1 + ce *i1 );
+
+      while (k+incr<highalpha+incr)
+      {
+        j2 = a *cos(k+incr) ; // equation of an ellipse
+        i2 = b *sin(k+incr) ; // equation of an ellipse
+
+        // to get the coordinates of the point on the shifted ellipse
+        iP22.set_j ( center.get_j() + ce *j2 - se *i2 );
+        iP22.set_i ( center.get_i() + se *j2 + ce *i2 );
+
+        ( I.display )->displayLine(iP11, iP22, color, thickness) ;
+
+        i1 = i2;
+        j1 = j2;
+        iP11 = iP22;
+
+        k += incr ;
+      }
+    }
+  }
+  catch ( vpException &e )
+  {
+    throw(e) ;
+  }
+}
+
diff --git a/src/device/display/vpDisplay.h b/src/device/display/vpDisplay.h
index dd77098c18dcb4fcc833d1acd14e9bf9c5b84a76..078b74daa5bdae42d6112b128223637f9a75b2d8 100644
--- a/src/device/display/vpDisplay.h
+++ b/src/device/display/vpDisplay.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpDisplay.h 4632 2014-02-03 17:06:40Z fspindle $
+ * $Id: vpDisplay.h 5089 2014-12-19 07:58:34Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -45,11 +45,9 @@
 #define vpDisplay_h
 
 #include <string>
+#include <sstream>
 
-// image
 #include <visp/vpImage.h>
-
-//color
 #include <visp/vpColor.h>
 #include <visp/vpMouseButton.h>
 #include <visp/vpRGBa.h>
@@ -249,10 +247,10 @@ class VISP_EXPORT vpDisplay
     \param color : Line color.
     \param thickness : Line thickness.
   */
-  virtual void displayLine(const vpImagePoint &ip1, 
-			   const vpImagePoint &ip2,
-			   const vpColor &color, 
-			   unsigned int thickness=1) =0;
+  virtual void displayLine(const vpImagePoint &ip1,
+         const vpImagePoint &ip2,
+         const vpColor &color,
+         unsigned int thickness=1) =0;
 
   /*!
     Display a point at the image point \e ip location.
@@ -355,7 +353,16 @@ class VISP_EXPORT vpDisplay
   virtual void displayImageROI(const vpImage<unsigned char> &I,const vpImagePoint &iP, const unsigned int width, const unsigned int height) =0 ;
   virtual void displayImageROI(const vpImage<vpRGBa> &I,const vpImagePoint &iP, const unsigned int width, const unsigned int height) =0 ;
   
-  
+  /*!
+    Return the position (along the horizontal axis) on the screen of the display window.
+    \sa getWindowYPosition()
+   */
+  int getWindowXPosition() const {return windowXPosition;};
+  /*!
+    Return the position (along the vertical axis) on the screen of the display window.
+    \sa getWindowXPosition()
+   */
+  int getWindowYPosition() const {return windowYPosition;};
   /*!
     Flushes the display.
     It's necessary to use this function to see the results of any drawing.    
@@ -612,11 +619,11 @@ class VISP_EXPORT vpDisplay
                             double size, const vpColor &color,
                             unsigned int thickness)  ;
   static void displayCharString(const vpImage<unsigned char> &I,
-				const vpImagePoint &ip, const char *string,
-				const vpColor &color) ;
+                                const vpImagePoint &ip, const char *string,
+                                const vpColor &color) ;
   static void displayCharString(const vpImage<unsigned char> &I,
-				int i, int j, const char *string,
-				const vpColor &color) ;
+                                int i, int j, const char *string,
+                                const vpColor &color) ;
   static void displayCircle(const vpImage<unsigned char> &I,
 			    const vpImagePoint &center, unsigned int radius,
 			    const vpColor &color,
@@ -644,10 +651,22 @@ class VISP_EXPORT vpDisplay
 			     int i1, int j1, int i2, int j2,
 			     const vpColor &color, 
 			     unsigned int thickness=1) ;
+  static void displayEllipse(const vpImage<unsigned char> &I,
+                             const vpImagePoint &center,
+                             const double &coef1, const double &coef2, const double &coef3,
+                             bool use_centered_moments,
+                             const vpColor &color,
+                             unsigned int thickness=1);
+  static void displayEllipse(const vpImage<unsigned char> &I,
+                             const vpImagePoint &center,
+                             const double &coef1, const double &coef2, const double &coef3,
+                             const double &theta1, const double &theta2, bool use_centered_moments,
+                             const vpColor &color,
+                             unsigned int thickness=1);
   static void displayFrame(const vpImage<unsigned char> &I,
 			   const vpHomogeneousMatrix &cMo,
 			   const vpCameraParameters &cam,
-			   double size, const vpColor &color,
+         double size, const vpColor &color=vpColor::none,
 			   unsigned int thickness=1)  ;
   static void displayLine(const vpImage<unsigned char> &I,
 			  const vpImagePoint &ip1, 
@@ -659,11 +678,17 @@ class VISP_EXPORT vpDisplay
 			  const vpColor &color, 
 			  unsigned int thickness=1) ;
   static void displayPoint(const vpImage<unsigned char> &I,
-			   const vpImagePoint &ip,
-			   const vpColor &color) ;
+                           const vpImagePoint &ip,
+                           const vpColor &color,
+                           unsigned int thickness=1) ;
   static void displayPoint(const vpImage<unsigned char> &I,
-			   int i, int j,
-			   const vpColor &color) ;
+                           int i, int j,
+                           const vpColor &color,
+                           unsigned int thickness=1) ;
+  static void displayPolygon(const vpImage<unsigned char> &I,
+                             const std::vector<vpImagePoint> &vip,
+                             const vpColor &color,
+                             unsigned int thickness=1) ;
   static void displayRectangle(const vpImage<unsigned char> &I,
 			       const vpImagePoint &topLeft,
 			       unsigned int width, unsigned int height,
@@ -695,7 +720,12 @@ class VISP_EXPORT vpDisplay
 			       const vpColor &color, 
 			       unsigned int thickness=1);
   static void displayROI(const vpImage<unsigned char> &I,const vpRect &roi) ;
-
+  static void displayText(const vpImage<unsigned char> &I,
+                          const vpImagePoint &ip, const std::string &s,
+                          const vpColor &color) ;
+  static void displayText(const vpImage<unsigned char> &I,
+                          int i, int j, const std::string &s,
+                          const vpColor &color) ;
   static void flush(const vpImage<unsigned char> &I) ;
   static void flushROI(const vpImage<unsigned char> &I,const vpRect &roi) ;
 
@@ -703,13 +733,19 @@ class VISP_EXPORT vpDisplay
   static bool getClick(const vpImage<unsigned char> &I,
 		       vpImagePoint &ip, bool blocking=true) ;
   static bool getClick(const vpImage<unsigned char> &I,
-		       vpImagePoint &ip,
-		       vpMouseButton::vpMouseButtonType &button,
-		       bool blocking=true) ;
+           vpImagePoint &ip,
+           vpMouseButton::vpMouseButtonType &button,
+           bool blocking=true) ;
+  static bool getClick(const vpImage<unsigned char> &I,
+           vpMouseButton::vpMouseButtonType &button,
+           bool blocking=true) ;
+  static bool getClickUp(const vpImage<unsigned char> &I,
+       vpImagePoint &ip,
+       vpMouseButton::vpMouseButtonType &button,
+       bool blocking=true) ;
   static bool getClickUp(const vpImage<unsigned char> &I,
-			 vpImagePoint &ip,
-			 vpMouseButton::vpMouseButtonType &button,
-			 bool blocking=true) ;
+       vpMouseButton::vpMouseButtonType &button,
+       bool blocking=true) ;
   static void getImage(const vpImage<unsigned char> &Is, vpImage<vpRGBa> &Id) ;
 
   static bool getKeyboardEvent(const vpImage<unsigned char> &I, 
@@ -749,11 +785,11 @@ class VISP_EXPORT vpDisplay
                             double size, const vpColor &color,
                             unsigned int thickness)  ;
   static void displayCharString(const vpImage<vpRGBa> &I,
-				const vpImagePoint &ip, const char *string,
-				const vpColor &color) ;
+                                const vpImagePoint &ip, const char *string,
+                                const vpColor &color) ;
   static void displayCharString(const vpImage<vpRGBa> &I,
-				int i, int j, const char *string,
-				const vpColor &color) ;
+                                int i, int j, const char *string,
+                                const vpColor &color) ;
   static void displayCircle(const vpImage<vpRGBa> &I,
 			    const vpImagePoint &center, unsigned int radius,
 			    const vpColor &color,
@@ -784,8 +820,20 @@ class VISP_EXPORT vpDisplay
   static void displayFrame(const vpImage<vpRGBa> &I,
 			   const vpHomogeneousMatrix &cMo,
 			   const vpCameraParameters &cam,
-			   double size, const vpColor &color, 
+         double size, const vpColor &color=vpColor::none,
 			   unsigned int thickness=1)  ;
+  static void displayEllipse(const vpImage<vpRGBa> &I,
+                             const vpImagePoint &center,
+                             const double &coef1, const double &coef2, const double &coef3,
+                             bool use_centered_moments,
+                             const vpColor &color,
+                             unsigned int thickness=1);
+  static void displayEllipse(const vpImage<vpRGBa> &I,
+                             const vpImagePoint &center,
+                             const double &coef1, const double &coef2, const double &coef3,
+                             const double &angle1, const double &angle2, bool use_centered_moments,
+                             const vpColor &color,
+                             unsigned int thickness=1);
   static void displayLine(const vpImage<vpRGBa> &I,
 			  const vpImagePoint &ip1, 
 			  const vpImagePoint &ip2,
@@ -796,11 +844,17 @@ class VISP_EXPORT vpDisplay
 			  const vpColor &color, 
 			  unsigned int thickness=1) ;
   static void displayPoint(const vpImage<vpRGBa> &I,
-			   const vpImagePoint &ip,
-			   const vpColor &color) ;
+                           const vpImagePoint &ip,
+                           const vpColor &color,
+                           unsigned int thickness=1) ;
   static void displayPoint(const vpImage<vpRGBa> &I,
-			   int i, int j,
-			   const vpColor &color) ;
+                           int i, int j,
+                           const vpColor &color,
+                           unsigned int thickness=1) ;
+  static void displayPolygon(const vpImage<vpRGBa> &I,
+                             const std::vector<vpImagePoint> &vip,
+                             const vpColor &color,
+                             unsigned int thickness=1) ;
   static void displayRectangle(const vpImage<vpRGBa> &I,
 			       const vpImagePoint &topLeft,
 			       unsigned int width, unsigned int height,
@@ -833,6 +887,12 @@ class VISP_EXPORT vpDisplay
 			       const vpColor &color, 
 			       unsigned int thickness=1);
   static void displayROI(const vpImage<vpRGBa> &I, const vpRect &roi) ;
+  static void displayText(const vpImage<vpRGBa> &I,
+                          const vpImagePoint &ip, const std::string &s,
+                          const vpColor &color) ;
+  static void displayText(const vpImage<vpRGBa> &I,
+                          int i, int j, const std::string &s,
+                          const vpColor &color) ;
 
   static void flush(const vpImage<vpRGBa> &I) ;
   static void flushROI(const vpImage<vpRGBa> &I, const vpRect &roi) ;
@@ -840,13 +900,19 @@ class VISP_EXPORT vpDisplay
   static bool getClick(const vpImage<vpRGBa> &I,
 		       vpImagePoint &ip, bool blocking=true) ;
   static bool getClick(const vpImage<vpRGBa> &I,
-		       vpImagePoint &ip,
-		       vpMouseButton::vpMouseButtonType &button,
-		       bool blocking=true) ;
+           vpImagePoint &ip,
+           vpMouseButton::vpMouseButtonType &button,
+           bool blocking=true) ;
+  static bool getClick(const vpImage<vpRGBa> &I,
+           vpMouseButton::vpMouseButtonType &button,
+           bool blocking=true) ;
+  static bool getClickUp(const vpImage<vpRGBa> &I,
+       vpImagePoint &ip,
+       vpMouseButton::vpMouseButtonType &button,
+       bool blocking=true) ;
   static bool getClickUp(const vpImage<vpRGBa> &I,
-			 vpImagePoint &ip,
-			 vpMouseButton::vpMouseButtonType &button,
-			 bool blocking=true) ;
+       vpMouseButton::vpMouseButtonType &button,
+       bool blocking=true) ;
   static void getImage(const vpImage<vpRGBa> &Is, vpImage<vpRGBa> &Id) ;
 
   static bool getKeyboardEvent(const vpImage<vpRGBa> &I, 
diff --git a/src/device/display/vpDisplayGTK.cpp b/src/device/display/vpDisplayGTK.cpp
index e365a0a397da5607e640466f2cab76d5efa5df60..43d56c2c4b02893569ae01d8e07abf27e9e5b479 100644
--- a/src/device/display/vpDisplayGTK.cpp
+++ b/src/device/display/vpDisplayGTK.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpDisplayGTK.cpp 4632 2014-02-03 17:06:40Z fspindle $
+ * $Id: vpDisplayGTK.cpp 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -81,16 +81,12 @@ vpDisplayGTK::vpDisplayGTK(vpImage<unsigned char> &I,
                            int x,
                            int y,
                            const char *title)
+  : widget(NULL), background(NULL), gc(NULL),
+    blue(), red(), yellow(), green(), cyan(), orange(), white(), black(), gdkcolor(),
+    lightBlue(), darkBlue(), lightRed(), darkRed(),lightGreen(), darkGreen(),
+    purple(), lightGray(), gray(), darkGray(),
+    colormap(NULL), font(NULL), vectgtk(NULL), col(NULL), ncol(0), nrow(0)
 {
-  widget = NULL;
-  vectgtk = NULL;
-  font = NULL;
-  colormap = NULL;
-  background = NULL;
-  gc = NULL;
-  nrow = ncol = 0;
-  col = NULL;
-
   init(I, x, y, title) ;
 }
 
@@ -107,16 +103,12 @@ vpDisplayGTK::vpDisplayGTK(vpImage<vpRGBa> &I,
                            int x,
                            int y,
                            const char *title)
+  : widget(NULL), background(NULL), gc(NULL),
+    blue(), red(), yellow(), green(), cyan(), orange(), white(), black(), gdkcolor(),
+    lightBlue(), darkBlue(), lightRed(), darkRed(),lightGreen(), darkGreen(),
+    purple(), lightGray(), gray(), darkGray(),
+    colormap(NULL), font(NULL), vectgtk(NULL), col(NULL), ncol(0), nrow(0)
 {
-  widget = NULL;
-  vectgtk = NULL;
-  font = NULL;
-  colormap = NULL;
-  background = NULL;
-  gc = NULL;
-  nrow = ncol = 0;
-  col = NULL;
-
   init(I, x, y, title) ;
 }
 
@@ -145,16 +137,12 @@ int main()
   \endcode
 */
 vpDisplayGTK::vpDisplayGTK(int x, int y, const char *title)
+  : widget(NULL), background(NULL), gc(NULL),
+    blue(), red(), yellow(), green(), cyan(), orange(), white(), black(), gdkcolor(),
+    lightBlue(), darkBlue(), lightRed(), darkRed(),lightGreen(), darkGreen(),
+    purple(), lightGray(), gray(), darkGray(),
+    colormap(NULL), font(NULL), vectgtk(NULL), col(NULL), ncol(0), nrow(0)
 {
-  widget = NULL;
-  vectgtk = NULL;
-  font = NULL;
-  colormap = NULL;
-  background = NULL;
-  gc = NULL;
-  nrow = ncol = 0;
-  col = NULL;
-
   windowXPosition = x ;
   windowYPosition = y ;
 
@@ -183,16 +171,14 @@ int main()
 }
   \endcode
 */
-vpDisplayGTK::vpDisplayGTK() : vpDisplay()
+vpDisplayGTK::vpDisplayGTK()
+  : vpDisplay(), widget(NULL), background(NULL), gc(NULL),
+    blue(), red(), yellow(), green(), cyan(), orange(), white(), black(), gdkcolor(),
+    lightBlue(), darkBlue(), lightRed(), darkRed(),lightGreen(), darkGreen(),
+    purple(), lightGray(), gray(), darkGray(),
+    colormap(NULL), font(NULL), vectgtk(NULL), col(NULL), ncol(0), nrow(0)
+
 {
-  widget = NULL;
-  vectgtk = NULL;
-  font = NULL;
-  colormap = NULL;
-  background = NULL;
-  gc = NULL;
-  nrow = ncol = 0;
-  col = NULL;
 }
 
 /*!
@@ -268,13 +254,13 @@ vpDisplayGTK::init(vpImage<vpRGBa> &I,
 /*!
   Initialize the display size, position and title.
 
-  \param width, height : Width and height of the window.
+  \param w, h : Width and height of the window.
   \param x, y : The window is set at position x,y (column index, row index).
   \param title : Window title.
 
 */
 void
-vpDisplayGTK::init(unsigned int width, unsigned int height,
+vpDisplayGTK::init(unsigned int w, unsigned int h,
                    int x, int y,
                    const char *title)
 {
@@ -283,8 +269,8 @@ vpDisplayGTK::init(unsigned int width, unsigned int height,
   char **argv ;
   gtk_init(argc,&argv);
 
-  this->width  = width;
-  this->height = height;
+  this->width  = w;
+  this->height = h;
 
   /* Create the window*/
   widget = gtk_window_new(GTK_WINDOW_TOPLEVEL);
@@ -522,24 +508,24 @@ void vpDisplayGTK::displayImage(const vpImage<unsigned char> &I)
   
   \param iP : Top left corner of the region of interest
   
-  \param width : Width of the region of interest
+  \param w : Width of the region of interest
   
-  \param height : Height of the region of interest
+  \param h : Height of the region of interest
 
   \sa init(), closeDisplay()
 */
-void vpDisplayGTK::displayImageROI ( const vpImage<unsigned char> &I,const vpImagePoint &iP, const unsigned int width, const unsigned int height )
+void vpDisplayGTK::displayImageROI ( const vpImage<unsigned char> &I,const vpImagePoint &iP, const unsigned int w, const unsigned int h )
 {
   if (displayHasBeenInitialized)
   {
     vpImage<unsigned char> Itemp;
-    vpImageTools::createSubImage(I,(unsigned int)iP.get_i(),(unsigned int)iP.get_j(),height,width,Itemp);
+    vpImageTools::createSubImage(I,(unsigned int)iP.get_i(),(unsigned int)iP.get_j(), h, w,Itemp);
     /* Copie de l'image dans le pixmap fond */
     gdk_draw_gray_image(background,
-                        gc, (gint)iP.get_u(), (gint)iP.get_v(), (gint)width, (gint)height,
+                        gc, (gint)iP.get_u(), (gint)iP.get_v(), (gint)w, (gint)h,
                         GDK_RGB_DITHER_NONE,
                         I.bitmap,
-                        (gint)width);
+                        (gint)w);
 
     /* Le pixmap background devient le fond de la zone de dessin */
     gdk_window_set_back_pixmap(widget->window, background, FALSE);
@@ -611,24 +597,24 @@ void vpDisplayGTK::displayImage(const vpImage<vpRGBa> &I)
   
   \param iP : Top left corner of the region of interest
   
-  \param width : Width of the region of interest
+  \param w : Width of the region of interest
   
-  \param height : Height of the region of interest
+  \param h : Height of the region of interest
 
   \sa init(), closeDisplay()
 */
-void vpDisplayGTK::displayImageROI ( const vpImage<vpRGBa> &I,const vpImagePoint &iP, const unsigned int width, const unsigned int height )
+void vpDisplayGTK::displayImageROI ( const vpImage<vpRGBa> &I,const vpImagePoint &iP, const unsigned int w, const unsigned int h )
 {
   if (displayHasBeenInitialized)
   {
     vpImage<vpRGBa> Itemp;
-    vpImageTools::createSubImage(I,(unsigned int)iP.get_i(),(unsigned int)iP.get_j(),height,width,Itemp);
+    vpImageTools::createSubImage(I,(unsigned int)iP.get_i(), (unsigned int)iP.get_j(), h, w, Itemp);
     /* Copie de l'image dans le pixmap fond */
     gdk_draw_rgb_32_image(background,
-                          gc, (gint)iP.get_u(), (gint)iP.get_v(), (gint)width, (gint)height,
+                          gc, (gint)iP.get_u(), (gint)iP.get_v(), (gint)w, (gint)h,
                           GDK_RGB_DITHER_NONE,
                           (unsigned char *)Itemp.bitmap,
-                          (gint)(4*width));
+                          (gint)(4*w));
 
     /* Permet de fermer la fen�tre si besoin (cas des s�quences d'images) */
     //while (g_main_iteration(FALSE));
@@ -736,10 +722,10 @@ void vpDisplayGTK::clearDisplay(const vpColor & /* color */)
   \param thickness : Thickness of the lines used to display the arrow.
 */
 void vpDisplayGTK::displayArrow ( const vpImagePoint &ip1, 
-				  const vpImagePoint &ip2,
-				  const vpColor &color,
-				  unsigned int w, unsigned int h,
-				  unsigned int thickness)
+                                  const vpImagePoint &ip2,
+                                  const vpColor &color,
+                                  unsigned int w, unsigned int h,
+                                  unsigned int thickness)
 {
   if (displayHasBeenInitialized)
   {
@@ -758,21 +744,24 @@ void vpDisplayGTK::displayArrow ( const vpImagePoint &ip1,
         a /= lg ;
         b /= lg ;
 
-	vpImagePoint ip3;
+        vpImagePoint ip3;
         ip3.set_i(ip2.get_i() - w*a);
         ip3.set_j(ip2.get_j() - w*b);
 
-	vpImagePoint ip4;
-	ip4.set_i( ip3.get_i() - b*h );
-	ip4.set_j( ip3.get_j() + a*h );
+        vpImagePoint ip4;
+        ip4.set_i( ip3.get_i() - b*h );
+        ip4.set_j( ip3.get_j() + a*h );
 
-	displayLine ( ip2, ip4, color, thickness ) ;
+        if (lg > 2*vpImagePoint::distance(ip2, ip4) )
+          displayLine ( ip2, ip4, color, thickness ) ;
         
-	ip4.set_i( ip3.get_i() + b*h );
-	ip4.set_j( ip3.get_j() - a*h );
+        ip4.set_i( ip3.get_i() + b*h );
+        ip4.set_j( ip3.get_j() - a*h );
+
+        if (lg > 2*vpImagePoint::distance(ip2, ip4) )
+          displayLine ( ip2, ip4, color, thickness ) ;
 
-	displayLine ( ip2, ip4, color, thickness ) ;
-	displayLine ( ip1, ip2, color, thickness ) ;
+        displayLine ( ip1, ip2, color, thickness ) ;
       }
     }
     catch (...)
@@ -1054,7 +1043,7 @@ void vpDisplayGTK::displayPoint ( const vpImagePoint &ip,
   width and \e height the rectangle size.
 
   \param topLeft : Top-left corner of the rectangle.
-  \param width,height : Rectangle size.
+  \param w,h : Rectangle size.
   \param color : Rectangle color.
   \param fill : When set to true fill the rectangle.
 
@@ -1064,7 +1053,7 @@ void vpDisplayGTK::displayPoint ( const vpImagePoint &ip,
 */
 void
 vpDisplayGTK::displayRectangle ( const vpImagePoint &topLeft,
-				 unsigned int width, unsigned int height,
+         unsigned int w, unsigned int h,
 				 const vpColor &color, bool fill,
 				 unsigned int thickness )
 {
@@ -1089,12 +1078,12 @@ vpDisplayGTK::displayRectangle ( const vpImagePoint &topLeft,
       gdk_draw_rectangle(background, gc, FALSE,
 			 vpMath::round( topLeft.get_u() ),
 			 vpMath::round( topLeft.get_v() ),
-			 (gint)width-1, (gint)height-1);
+       (gint)w-1, (gint)h-1);
     else
       gdk_draw_rectangle(background, gc, TRUE,
 			 vpMath::round( topLeft.get_u() ),
 			 vpMath::round( topLeft.get_v() ),
-			 (gint)width, (gint)height);
+       (gint)w, (gint)h);
 
     if (thickness > 1)
       gdk_gc_set_line_attributes(gc, 0, GDK_LINE_SOLID, GDK_CAP_BUTT,
@@ -1144,19 +1133,19 @@ vpDisplayGTK::displayRectangle ( const vpImagePoint &topLeft,
 			       GDK_LINE_SOLID, GDK_CAP_BUTT,
 			       GDK_JOIN_BEVEL) ;
 
-    int width  = vpMath::round( bottomRight.get_u() - topLeft.get_u() );
-    int height = vpMath::round( bottomRight.get_v() - topLeft.get_v() );
+    int w  = vpMath::round( bottomRight.get_u() - topLeft.get_u() );
+    int h = vpMath::round( bottomRight.get_v() - topLeft.get_v() );
 
     if (fill == false)
       gdk_draw_rectangle(background, gc, FALSE,
 			 vpMath::round( topLeft.get_u() ),
 			 vpMath::round( topLeft.get_v() ),
-			 width-1,height-1);
+       w-1,h-1);
     else
       gdk_draw_rectangle(background, gc, TRUE,
 			 vpMath::round( topLeft.get_u() ),
 			 vpMath::round( topLeft.get_v() ),
-			 width, height);
+       w, h);
 
     if (thickness > 1)
       gdk_gc_set_line_attributes(gc, 0, GDK_LINE_SOLID, GDK_CAP_BUTT,
@@ -1542,11 +1531,11 @@ unsigned int vpDisplayGTK::getScreenDepth()
 
   \warning Not implemented
 */
-void vpDisplayGTK::getScreenSize(unsigned int &width, unsigned int &height)
+void vpDisplayGTK::getScreenSize(unsigned int &w, unsigned int &h)
 {
   vpTRACE("Not implemented") ;
-  width = 0;
-  height = 0;
+  w = 0;
+  h = 0;
 }
 
 /*!
diff --git a/src/device/display/vpDisplayOpenCV.cpp b/src/device/display/vpDisplayOpenCV.cpp
index d156fed48d5c4949898e3bac56ca62fe0cb0c4d2..a11addc44a48907e18a785a5f18bb961cbe9cd49 100644
--- a/src/device/display/vpDisplayOpenCV.cpp
+++ b/src/device/display/vpDisplayOpenCV.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpDisplayOpenCV.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpDisplayOpenCV.cpp 5204 2015-01-24 13:18:18Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -49,7 +49,7 @@
 
 #include <visp/vpConfig.h>
 
-#if ( defined(VISP_HAVE_OPENCV) )
+#if defined(VISP_HAVE_OPENCV)
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -67,6 +67,19 @@
 #include <visp/vpDebug.h>
 #include <visp/vpDisplayException.h>
 
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+
+#  include <opencv2/imgproc/imgproc.hpp>
+#  include <opencv2/core/core_c.h> // for CV_FILLED versus cv::FILLED
+
+#  ifndef CV_RGB
+#    define CV_RGB( r, g, b )  cv::Scalar( (b), (g), (r), 0 )
+#  endif
+#endif
+
+std::vector<std::string> vpDisplayOpenCV::m_listTitles = std::vector<std::string>();
+unsigned int vpDisplayOpenCV::m_nbWindows = 0;
+
 /*!
 
   Constructor. Initialize a display to visualize a gray level image
@@ -81,10 +94,20 @@ vpDisplayOpenCV::vpDisplayOpenCV(vpImage<unsigned char> &I,
                                  int x,
                                  int y,
                                  const char *title)
+  :
+    #if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+    background(NULL), col(NULL), cvcolor(), font(NULL),
+    #else
+    background(), col(NULL), cvcolor(), font(cv::FONT_HERSHEY_PLAIN), fontScale(0.8f),
+    #endif
+    fontHeight(10), ncol(0), nrow(0), x_move(0), y_move(0) , move(false),
+    x_lbuttondown(0), y_lbuttondown(0), lbuttondown(false),
+    x_mbuttondown(0), y_mbuttondown(0), mbuttondown(false),
+    x_rbuttondown(0), y_rbuttondown(0), rbuttondown(false),
+    x_lbuttonup(0), y_lbuttonup(0), lbuttonup(false),
+    x_mbuttonup(0), y_mbuttonup(0), mbuttonup(false),
+    x_rbuttonup(0), y_rbuttonup(0), rbuttonup(false)
 {
-  col = NULL;
-  background = NULL;
-  font = NULL;
   init(I, x, y, title) ;
 }
 
@@ -101,10 +124,20 @@ vpDisplayOpenCV::vpDisplayOpenCV(vpImage<vpRGBa> &I,
                                  int x,
                                  int y,
                                  const char *title)
+  :
+    #if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+    background(NULL), col(NULL), cvcolor(), font(NULL),
+    #else
+    background(), col(NULL), cvcolor(), font(cv::FONT_HERSHEY_PLAIN), fontScale(0.8f),
+    #endif
+    fontHeight(10), ncol(0), nrow(0), x_move(0), y_move(0) , move(false),
+    x_lbuttondown(0), y_lbuttondown(0), lbuttondown(false),
+    x_mbuttondown(0), y_mbuttondown(0), mbuttondown(false),
+    x_rbuttondown(0), y_rbuttondown(0), rbuttondown(false),
+    x_lbuttonup(0), y_lbuttonup(0), lbuttonup(false),
+    x_mbuttonup(0), y_mbuttonup(0), mbuttonup(false),
+    x_rbuttonup(0), y_rbuttonup(0), rbuttonup(false)
 {
-  col = NULL;
-  background = NULL;
-  font = NULL;
   init(I, x, y, title) ;
 }
 
@@ -131,27 +164,48 @@ int main()
   \endcode
 */
 vpDisplayOpenCV::vpDisplayOpenCV ( int x, int y, const char *title )
+  :
+    #if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+    background(NULL), col(NULL), cvcolor(), font(NULL),
+    #else
+    background(), col(NULL), cvcolor(), font(cv::FONT_HERSHEY_PLAIN), fontScale(0.8f),
+    #endif
+    fontHeight(10), ncol(0), nrow(0), x_move(0), y_move(0) , move(false),
+    x_lbuttondown(0), y_lbuttondown(0), lbuttondown(false),
+    x_mbuttondown(0), y_mbuttondown(0), mbuttondown(false),
+    x_rbuttondown(0), y_rbuttondown(0), rbuttondown(false),
+    x_lbuttonup(0), y_lbuttonup(0), lbuttonup(false),
+    x_mbuttonup(0), y_mbuttonup(0), mbuttonup(false),
+    x_rbuttonup(0), y_rbuttonup(0), rbuttonup(false)
 {
-  col = NULL;
-  background = NULL;
-  font = NULL;
   windowXPosition = x;
   windowYPosition = y;
 
-  if(title != NULL)
+  if(title != NULL){
     title_ = std::string(title);
-  else
-    title_ = std::string(" ");
-
-  fontHeight = 10;
-  ncol = nrow = 0;
-  x_move = y_move = 0; move = false;
-  x_lbuttondown = y_lbuttondown = 0; lbuttondown = false;
-  x_mbuttondown = y_mbuttondown = 0; mbuttondown = false;
-  x_rbuttondown = y_rbuttondown = 0; rbuttondown = false;
-  x_lbuttonup = y_lbuttonup = 0; lbuttonup = false;
-  x_mbuttonup = y_mbuttonup = 0; mbuttonup = false;
-  x_rbuttonup = y_rbuttonup = 0; rbuttonup = false;
+  }
+  else{
+      std::ostringstream s;
+      s << m_nbWindows++;
+      title_ = std::string("Window ") + s.str();
+  }
+
+  bool isInList;
+  do{
+      isInList = false;
+      for(size_t i = 0 ; i < m_listTitles.size() ; i++){
+          if(m_listTitles[i] == title_){
+              std::ostringstream s;
+              s << m_nbWindows++;
+              title_ = std::string("Window ") + s.str();
+              isInList = true;
+              break;
+          }
+      }
+  }
+  while(isInList);
+
+  m_listTitles.push_back(title_);
 }
 
 /*!
@@ -174,19 +228,20 @@ int main()
   \endcode
 */
 vpDisplayOpenCV::vpDisplayOpenCV()
+  :
+    #if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+    background(NULL), col(NULL), cvcolor(), font(NULL),
+    #else
+    background(), col(NULL), cvcolor(), font(cv::FONT_HERSHEY_PLAIN), fontScale(0.8f),
+    #endif
+    fontHeight(10), ncol(0), nrow(0), x_move(0), y_move(0) , move(false),
+    x_lbuttondown(0), y_lbuttondown(0), lbuttondown(false),
+    x_mbuttondown(0), y_mbuttondown(0), mbuttondown(false),
+    x_rbuttondown(0), y_rbuttondown(0), rbuttondown(false),
+    x_lbuttonup(0), y_lbuttonup(0), lbuttonup(false),
+    x_mbuttonup(0), y_mbuttonup(0), mbuttonup(false),
+    x_rbuttonup(0), y_rbuttonup(0), rbuttonup(false)
 {
-  col = NULL;
-  background = NULL;
-  font = NULL;
-  fontHeight = 10;
-  ncol = nrow = 0;
-  x_move = y_move = 0; move = false;
-  x_lbuttondown = y_lbuttondown = 0; lbuttondown = false;
-  x_mbuttondown = y_mbuttondown = 0; mbuttondown = false;
-  x_rbuttondown = y_rbuttondown = 0; rbuttondown = false;
-  x_lbuttonup = y_lbuttonup = 0; lbuttonup = false;
-  x_mbuttonup = y_mbuttonup = 0; mbuttonup = false;
-  x_rbuttonup = y_rbuttonup = 0; rbuttonup = false;
 }
 
 /*!
@@ -195,7 +250,9 @@ vpDisplayOpenCV::vpDisplayOpenCV()
 vpDisplayOpenCV::~vpDisplayOpenCV()
 {
   closeDisplay() ;
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
   cvReleaseImage(&background);
+#endif
 }
 
 /*!
@@ -273,20 +330,56 @@ vpDisplayOpenCV::init(unsigned int w, unsigned int h,
     this->windowXPosition = x;
   if (y != -1)
     this->windowYPosition = y;
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
   int flags = CV_WINDOW_AUTOSIZE;
+#else
+  int flags = cv::WINDOW_AUTOSIZE;
+#endif
 
-  if(title != NULL)
-    title_ = std::string(title);
-  else
-    title_ = std::string(" ");
+  if(title_.empty()){
+    if(title != NULL){
+      title_ = std::string(title);
+    }
+    else{
+
+        std::ostringstream s;
+        s << m_nbWindows++;
+        title_ = std::string("Window ") + s.str();
+    }
+
+    bool isInList;
+    do{
+        isInList = false;
+        for(size_t i = 0 ; i < m_listTitles.size() ; i++){
+            if(m_listTitles[i] == title_){
+                std::ostringstream s;
+                s << m_nbWindows++;
+                title_ = std::string("Window ") + s.str();
+                isInList = true;
+                break;
+            }
+        }
+    }
+    while(isInList);
+
+    m_listTitles.push_back(title_);
+  }
 
   /* Create the window*/
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
   if (cvNamedWindow( this->title_.c_str(), flags ) < 0) {
     vpERROR_TRACE("OpenCV was not built with a display device");
     throw(vpDisplayException(vpDisplayException::notInitializedError,
                              "OpenCV was not built with a display device")) ;
   }
+#else
+  cv::namedWindow( this->title_, flags );
+#endif
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
   cvMoveWindow( this->title_.c_str(), this->windowXPosition, this->windowYPosition );
+#else
+  cv::moveWindow( this->title_.c_str(), this->windowXPosition, this->windowYPosition );
+#endif
   move = false;
   lbuttondown = false;
   mbuttondown = false;
@@ -294,13 +387,13 @@ vpDisplayOpenCV::init(unsigned int w, unsigned int h,
   lbuttonup = false;
   mbuttonup = false;
   rbuttonup = false;
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
   cvSetMouseCallback( this->title_.c_str(), on_mouse, this );
-  /* Create background pixmap */
-//   background = cvCreateImage(cvSize((int)width,(int)height),IPL_DEPTH_8U,3);
-//
-//   cvShowImage( this->title_.c_str(),background);
-
   col = new CvScalar[vpColor::id_unknown] ;
+#else
+  cv::setMouseCallback( this->title_, on_mouse, this );
+  col = new cv::Scalar[vpColor::id_unknown] ;
+#endif
 
   /* Create color */
   vpColor pcolor; // Predefined colors
@@ -341,12 +434,19 @@ vpDisplayOpenCV::init(unsigned int w, unsigned int h,
   pcolor = vpColor::darkGray;
   col[vpColor::id_darkGray]   = CV_RGB(pcolor.R, pcolor.G, pcolor.B) ;
 
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
   font = new CvFont;
   cvInitFont( font, CV_FONT_HERSHEY_PLAIN, 0.70f,0.70f);
-
   CvSize fontSize;
   int baseline;
   cvGetTextSize( "A", font, &fontSize, &baseline );
+#else
+  int thickness = 1;
+  cv::Size fontSize;
+  int baseline;
+  fontSize = cv::getTextSize( "A", font, fontScale, thickness, &baseline );
+#endif
+
   fontHeight = fontSize.height + baseline;
   displayHasBeenInitialized = true ;
 }
@@ -383,11 +483,11 @@ vpDisplayOpenCV::setFont(const char * /* font */)
 void
 vpDisplayOpenCV::setTitle(const char * /* title */)
 {
-  static bool warn_displayed = false;
-  if (! warn_displayed) {
-    vpTRACE("Not implemented");
-    warn_displayed = true;
-  }
+//  static bool warn_displayed = false;
+//  if (! warn_displayed) {
+//    vpTRACE("Not implemented");
+//    warn_displayed = true;
+//  }
 }
 
 
@@ -404,7 +504,11 @@ void vpDisplayOpenCV::setWindowPosition(int winx, int winy)
   if (displayHasBeenInitialized) {
     this->windowXPosition = winx;
     this->windowYPosition = winy;
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
     cvMoveWindow( this->title_.c_str(), winx, winy );
+#else
+    cv::moveWindow( this->title_.c_str(), winx, winy );
+#endif
   }
   else
   {
@@ -435,10 +539,6 @@ void vpDisplayOpenCV::displayImage(const vpImage<unsigned char> &I)
     width = I.getWidth();
     height = I.getHeight();
     /* Le pixmap background devient le fond de la zone de dessin */
-
-    /* Affichage */
-    //gdk_window_clear(window);
-    //gdk_flush();
   }
   else
   {
@@ -471,11 +571,12 @@ void vpDisplayOpenCV::displayImageROI ( const vpImage<unsigned char> &I,const vp
     vpImage<unsigned char> Itemp;
     vpImageTools::createSubImage(I,(unsigned int)iP.get_i(),(unsigned int)iP.get_j(),h,w,Itemp);
     vpImage<vpRGBa> Ic;
-    vpImageConvert::convert(Itemp,Ic);
-    
-    CvSize size = cvSize((int)this->width, (int)this->height);
+    vpImageConvert::convert(Itemp,Ic); 
+
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
     int depth = 8;
     int channels = 3;
+    CvSize size = cvSize((int)this->width, (int)this->height);
     if (background != NULL){
       if(background->nChannels != channels || background->depth != depth
          || background->height != (int) I.getHeight() || background->width != (int) I.getWidth()){
@@ -484,17 +585,15 @@ void vpDisplayOpenCV::displayImageROI ( const vpImage<unsigned char> &I,const vp
       }
     }
     else background = cvCreateImage( size, depth, channels );
-    
     IplImage* Ip = NULL;
     vpImageConvert::convert(Ic, Ip);
-    
     unsigned char * input = (unsigned char*)Ip->imageData;
     unsigned char * output = (unsigned char*)background->imageData;
-    
+
     unsigned int iwidth = Ic.getWidth();
 
     output = output + (int)(iP.get_i()*3*this->width+ iP.get_j()*3);
-    
+
     unsigned int i = 0;
     while (i < h)
     {
@@ -512,6 +611,41 @@ void vpDisplayOpenCV::displayImageROI ( const vpImage<unsigned char> &I,const vp
     }
 
     cvReleaseImage(&Ip);
+#else
+    int depth = CV_8U;
+    int channels = 3;
+    cv::Size size((int)this->width, (int)this->height);
+    if(background.channels() != channels || background.depth() != depth
+       || background.rows != (int) I.getHeight() || background.cols != (int) I.getWidth()){
+      background = cv::Mat( size, CV_MAKETYPE(depth, channels) );
+    }
+
+    cv::Mat Ip;
+    vpImageConvert::convert(Ic, Ip);
+
+    unsigned char * input = (unsigned char*)Ip.data;
+    unsigned char * output = (unsigned char*)background.data;
+
+    unsigned int iwidth = Ic.getWidth();
+
+    output = output + (int)(iP.get_i()*3*this->width+ iP.get_j()*3);
+
+    unsigned int i = 0;
+    while (i < h)
+    {
+      unsigned int j = 0;
+      while (j < w)
+      {
+        *(output+3*j) = *(input+j*3);
+        *(output+3*j+1) = *(input+j*3+1);
+        *(output+3*j+2) = *(input+j*3+2);
+        j++;
+      }
+      input = input + 3*iwidth;
+      output = output + 3*this->width;
+      i++;
+    }
+#endif
   }
   else
   {
@@ -544,7 +678,6 @@ void vpDisplayOpenCV::displayImage(const vpImage<vpRGBa> &I)
     /* Copie de l'image dans le pixmap fond */
     width = I.getWidth();
     height = I.getHeight();
-
   }
   else
   {
@@ -577,6 +710,7 @@ void vpDisplayOpenCV::displayImageROI ( const vpImage<vpRGBa> &I,const vpImagePo
     vpImage<vpRGBa> Ic;
     vpImageTools::createSubImage(I,(unsigned int)iP.get_i(),(unsigned int)iP.get_j(),h,w,Ic);
     
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
     CvSize size = cvSize((int)this->width, (int)this->height);
     int depth = 8;
     int channels = 3;
@@ -616,6 +750,40 @@ void vpDisplayOpenCV::displayImageROI ( const vpImage<vpRGBa> &I,const vpImagePo
     }
 
     cvReleaseImage(&Ip);
+#else
+    int depth = CV_8U;
+    int channels = 3;
+    cv::Size size((int)this->width, (int)this->height);
+    if(background.channels() != channels || background.depth() != depth
+       || background.rows != (int) I.getHeight() || background.cols != (int) I.getWidth()){
+      background = cv::Mat( size, CV_MAKETYPE(depth, channels) );
+    }
+    cv::Mat Ip;
+    vpImageConvert::convert(Ic, Ip);
+
+    unsigned char * input = (unsigned char*)Ip.data;
+    unsigned char * output = (unsigned char*)background.data;
+
+    unsigned int iwidth = Ic.getWidth();
+
+    output = output + (int)(iP.get_i()*3*this->width+ iP.get_j()*3);
+
+    unsigned int i = 0;
+    while (i < h)
+    {
+      unsigned int j = 0;
+      while (j < w)
+      {
+        *(output+3*j) = *(input+j*3);
+        *(output+3*j+1) = *(input+j*3+1);
+        *(output+3*j+2) = *(input+j*3+2);
+        j++;
+      }
+      input = input + 3*iwidth;
+      output = output + 3*this->width;
+      i++;
+    }
+#endif
   }
   else
   {
@@ -649,14 +817,28 @@ void vpDisplayOpenCV::closeDisplay()
   {
     delete [] col ; col = NULL ;
   }
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
   if (font != NULL)
   {
     delete font ;
     font = NULL ;
   }
-
+#endif
   if (displayHasBeenInitialized) {
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
     cvDestroyWindow( this->title_.c_str() );
+#else
+    cv::destroyWindow( this->title_ );
+#endif
+
+    for(size_t i = 0 ; i < m_listTitles.size() ; i++){
+        if(title_ == m_listTitles[i]){
+            m_listTitles.erase(m_listTitles.begin()+(long int)i);
+            break;
+        }
+    }
+
+    title_.clear();
 
     displayHasBeenInitialized= false;
   }
@@ -672,8 +854,13 @@ void vpDisplayOpenCV::flushDisplay()
 {
   if (displayHasBeenInitialized)
   {
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
     cvShowImage(this->title_.c_str(), background );
     cvWaitKey(5);
+#else
+    cv::imshow(this->title_, background );
+    cv::waitKey(5);
+#endif
   }
   else
   {
@@ -692,8 +879,13 @@ void vpDisplayOpenCV::flushDisplayROI(const vpImagePoint &/*iP*/, const unsigned
 {
   if (displayHasBeenInitialized)
   {
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
     cvShowImage(this->title_.c_str(), background );
     cvWaitKey(5);
+#else
+    cv::imshow(this->title_.c_str(), background );
+    cv::waitKey(5);
+#endif
   }
   else
   {
@@ -724,10 +916,10 @@ void vpDisplayOpenCV::clearDisplay(const vpColor & /* color */)
   \param thickness : Thickness of the lines used to display the arrow.
 */
 void vpDisplayOpenCV::displayArrow ( const vpImagePoint &ip1, 
-				     const vpImagePoint &ip2,
-				     const vpColor &color,
-				     unsigned int w, unsigned int h,
-				     unsigned int thickness)
+                                     const vpImagePoint &ip2,
+                                     const vpColor &color,
+                                     unsigned int w, unsigned int h,
+                                     unsigned int thickness)
 {
   if (displayHasBeenInitialized)
   {
@@ -738,30 +930,33 @@ void vpDisplayOpenCV::displayArrow ( const vpImagePoint &ip1,
 
       //if ((a==0)&&(b==0))
       if ((std::fabs(a) <= std::numeric_limits<double>::epsilon())
-	  &&(std::fabs(b)<= std::numeric_limits<double>::epsilon()))
+          &&(std::fabs(b)<= std::numeric_limits<double>::epsilon()))
       {
         // DisplayCrossLarge(i1,j1,3,col) ;
       }
       else
       {
-	a /= lg ;
+        a /= lg ;
         b /= lg ;
 
-	vpImagePoint ip3;
+        vpImagePoint ip3;
         ip3.set_i(ip2.get_i() - w*a);
         ip3.set_j(ip2.get_j() - w*b);
 
-	vpImagePoint ip4;
-	ip4.set_i( ip3.get_i() - b*h );
-	ip4.set_j( ip3.get_j() + a*h );
+        vpImagePoint ip4;
+        ip4.set_i( ip3.get_i() - b*h );
+        ip4.set_j( ip3.get_j() + a*h );
 
-	displayLine ( ip2, ip4, color, thickness ) ;
+        if (lg > 2*vpImagePoint::distance(ip2, ip4) )
+          displayLine ( ip2, ip4, color, thickness ) ;
         
-	ip4.set_i( ip3.get_i() + b*h );
-	ip4.set_j( ip3.get_j() - a*h );
+        ip4.set_i( ip3.get_i() + b*h );
+        ip4.set_j( ip3.get_j() - a*h );
+
+        if (lg > 2*vpImagePoint::distance(ip2, ip4) )
+          displayLine ( ip2, ip4, color, thickness ) ;
 
-	displayLine ( ip2, ip4, color, thickness ) ;
-	displayLine ( ip1, ip2, color, thickness ) ;
+        displayLine ( ip1, ip2, color, thickness ) ;
       }
     }
     catch (...)
@@ -796,17 +991,31 @@ void vpDisplayOpenCV::displayCharString( const vpImagePoint &ip,
   if (displayHasBeenInitialized)
   {
     if (color.id < vpColor::id_unknown) {
-      cvPutText( background, text, 
-		 cvPoint( vpMath::round( ip.get_u() ),
-			  vpMath::round( ip.get_v()+fontHeight ) ), 
-		 font, col[color.id] );
+#if VISP_HAVE_OPENCV_VERSION < 0x020408
+      cvPutText( background, text,
+                 cvPoint( vpMath::round( ip.get_u() ),
+                          vpMath::round( ip.get_v()+fontHeight ) ),
+                 font, col[color.id] );
+#else
+      cv::putText( background, text,
+                   cv::Point( vpMath::round( ip.get_u() ),
+                              vpMath::round( ip.get_v()+fontHeight ) ),
+                   font, fontScale, col[color.id] );
+#endif
     }
     else {
       cvcolor = CV_RGB(color.R, color.G, color.B) ;
-      cvPutText( background, text, 
-		 cvPoint( vpMath::round( ip.get_u() ),
-			  vpMath::round( ip.get_v()+fontHeight ) ), 
-		 font, cvcolor );
+#if VISP_HAVE_OPENCV_VERSION < 0x020408
+      cvPutText( background, text,
+                 cvPoint( vpMath::round( ip.get_u() ),
+                          vpMath::round( ip.get_v()+fontHeight ) ),
+                 font, cvcolor );
+#else
+      cv::putText( background, text,
+                   cv::Point( vpMath::round( ip.get_u() ),
+                              vpMath::round( ip.get_v()+fontHeight ) ),
+                   font, fontScale, cvcolor );
+#endif
     }
   }
   else
@@ -835,32 +1044,65 @@ void vpDisplayOpenCV::displayCircle(const vpImagePoint &center,
   {
     if (fill == false) {
       if (color.id < vpColor::id_unknown) {
-	cvCircle( background, 
-		  cvPoint( vpMath::round( center.get_u() ), 
-			   vpMath::round( center.get_v() ) ), 
-		  (int)radius, col[color.id], (int)thickness);
+#if VISP_HAVE_OPENCV_VERSION < 0x020408
+        cvCircle( background,
+                  cvPoint( vpMath::round( center.get_u() ),
+                           vpMath::round( center.get_v() ) ),
+                  (int)radius, col[color.id], (int)thickness);
+#else
+        cv::circle( background,
+                    cv::Point( vpMath::round( center.get_u() ),
+                               vpMath::round( center.get_v() ) ),
+                    (int)radius, col[color.id], (int)thickness);
+#endif
       }
       else {
-	cvcolor = CV_RGB(color.R, color.G, color.B) ;
-	cvCircle( background, 
-		  cvPoint( vpMath::round( center.get_u() ), 
-			   vpMath::round( center.get_v() ) ), 
-		  (int)radius, cvcolor, (int)thickness);
+        cvcolor = CV_RGB(color.R, color.G, color.B) ;
+#if VISP_HAVE_OPENCV_VERSION < 0x020408
+        cvCircle( background,
+                  cvPoint( vpMath::round( center.get_u() ),
+                           vpMath::round( center.get_v() ) ),
+                  (int)radius, cvcolor, (int)thickness);
+#else
+        cv::circle( background,
+                    cv::Point( vpMath::round( center.get_u() ),
+                               vpMath::round( center.get_v() ) ),
+                    (int)radius, cvcolor, (int)thickness);
+#endif
       }
     }
     else {
+#if VISP_HAVE_OPENCV_VERSION >= 0x030000
+      int filled = cv::FILLED;
+#else
+      int filled = CV_FILLED;
+#endif
       if (color.id < vpColor::id_unknown) {
-	cvCircle( background, 
-		  cvPoint( vpMath::round( center.get_u() ), 
-			   vpMath::round( center.get_v() ) ), 
-		  (int)radius, col[color.id], CV_FILLED);
+#if VISP_HAVE_OPENCV_VERSION < 0x020408
+        cvCircle( background,
+                  cvPoint( vpMath::round( center.get_u() ),
+                           vpMath::round( center.get_v() ) ),
+                  (int)radius, col[color.id], filled);
+#else
+        cv::circle( background,
+                    cv::Point( vpMath::round( center.get_u() ),
+                               vpMath::round( center.get_v() ) ),
+                    (int)radius, col[color.id], filled);
+#endif
       }
       else {
-	cvcolor = CV_RGB(color.R, color.G, color.B) ;
-	cvCircle( background, 
-		  cvPoint( vpMath::round( center.get_u() ), 
-			   vpMath::round( center.get_v() ) ), 
-		  (int)radius, cvcolor, CV_FILLED);
+        cvcolor = CV_RGB(color.R, color.G, color.B) ;
+#if VISP_HAVE_OPENCV_VERSION < 0x020408
+        cvCircle( background,
+                  cvPoint( vpMath::round( center.get_u() ),
+                           vpMath::round( center.get_v() ) ),
+                  (int)radius, cvcolor, filled);
+#else
+        cv::circle( background,
+                    cv::Point( vpMath::round( center.get_u() ),
+                               vpMath::round( center.get_v() ) ),
+                    (int)radius, cvcolor, filled);
+#endif
       }
     }
   }
@@ -928,30 +1170,48 @@ vpDisplayOpenCV::displayCross(const vpImagePoint &ip,
 */
 void
 vpDisplayOpenCV::displayDotLine(const vpImagePoint &ip1, 
-				const vpImagePoint &ip2,
-				const vpColor &color, 
-				unsigned int thickness)
+                                const vpImagePoint &ip2,
+                                const vpColor &color,
+                                unsigned int thickness)
 {
 
   if (displayHasBeenInitialized)
   {
-    vpTRACE("Dot lines are not yet implemented");
+    //vpTRACE("Dot lines are not yet implemented");
     if (color.id < vpColor::id_unknown) {
-      cvLine( background, 
-	      cvPoint( vpMath::round( ip1.get_u() ), 
-		       vpMath::round( ip1.get_v() ) ), 
-	      cvPoint( vpMath::round( ip2.get_u() ),
-		       vpMath::round( ip2.get_v() ) ), 
-	      col[color.id], (int) thickness);
+#if VISP_HAVE_OPENCV_VERSION < 0x020408
+      cvLine( background,
+              cvPoint( vpMath::round( ip1.get_u() ),
+                       vpMath::round( ip1.get_v() ) ),
+              cvPoint( vpMath::round( ip2.get_u() ),
+                       vpMath::round( ip2.get_v() ) ),
+              col[color.id], (int) thickness);
+#else
+      cv::line( background,
+                cv::Point( vpMath::round( ip1.get_u() ),
+                           vpMath::round( ip1.get_v() ) ),
+                cv::Point( vpMath::round( ip2.get_u() ),
+                           vpMath::round( ip2.get_v() ) ),
+                col[color.id], (int) thickness);
+#endif
     }
     else {
       cvcolor = CV_RGB(color.R, color.G, color.B) ;
-      cvLine( background, 
-	      cvPoint( vpMath::round( ip1.get_u() ), 
-		       vpMath::round( ip1.get_v() ) ), 
-	      cvPoint( vpMath::round( ip2.get_u() ),
-		       vpMath::round( ip2.get_v() ) ), 
-	      cvcolor, (int) thickness);
+#if VISP_HAVE_OPENCV_VERSION < 0x020408
+      cvLine( background,
+              cvPoint( vpMath::round( ip1.get_u() ),
+                       vpMath::round( ip1.get_v() ) ),
+              cvPoint( vpMath::round( ip2.get_u() ),
+                       vpMath::round( ip2.get_v() ) ),
+              cvcolor, (int) thickness);
+#else
+      cv::line( background,
+                cv::Point( vpMath::round( ip1.get_u() ),
+                           vpMath::round( ip1.get_v() ) ),
+                cv::Point( vpMath::round( ip2.get_u() ),
+                           vpMath::round( ip2.get_v() ) ),
+                cvcolor, (int) thickness);
+#endif
     }
   }
   else
@@ -978,21 +1238,39 @@ vpDisplayOpenCV::displayLine(const vpImagePoint &ip1,
   if (displayHasBeenInitialized)
   {
     if (color.id < vpColor::id_unknown) {
-      cvLine( background, 
-	      cvPoint( vpMath::round( ip1.get_u() ), 
-		       vpMath::round( ip1.get_v() ) ), 
-	      cvPoint( vpMath::round( ip2.get_u() ),
-		       vpMath::round( ip2.get_v() ) ), 
-	      col[color.id], (int) thickness);
+#if VISP_HAVE_OPENCV_VERSION < 0x020408
+      cvLine( background,
+              cvPoint( vpMath::round( ip1.get_u() ),
+                       vpMath::round( ip1.get_v() ) ),
+              cvPoint( vpMath::round( ip2.get_u() ),
+                       vpMath::round( ip2.get_v() ) ),
+              col[color.id], (int) thickness);
+#else
+      cv::line( background,
+                cv::Point( vpMath::round( ip1.get_u() ),
+                           vpMath::round( ip1.get_v() ) ),
+                cv::Point( vpMath::round( ip2.get_u() ),
+                           vpMath::round( ip2.get_v() ) ),
+                col[color.id], (int) thickness);
+#endif
     }
     else {
       cvcolor = CV_RGB(color.R, color.G, color.B) ;
-      cvLine( background, 
-	      cvPoint( vpMath::round( ip1.get_u() ), 
-		       vpMath::round( ip1.get_v() ) ), 
-	      cvPoint( vpMath::round( ip2.get_u() ),
-		       vpMath::round( ip2.get_v() ) ), 
-	      cvcolor, (int) thickness);
+#if VISP_HAVE_OPENCV_VERSION < 0x020408
+      cvLine( background,
+              cvPoint( vpMath::round( ip1.get_u() ),
+                       vpMath::round( ip1.get_v() ) ),
+              cvPoint( vpMath::round( ip2.get_u() ),
+                       vpMath::round( ip2.get_v() ) ),
+              cvcolor, (int) thickness);
+#else
+      cv::line( background,
+                cv::Point( vpMath::round( ip1.get_u() ),
+                           vpMath::round( ip1.get_v() ) ),
+                cv::Point( vpMath::round( ip2.get_u() ),
+                           vpMath::round( ip2.get_v() ) ),
+                cvcolor, (int) thickness);
+#endif
     }
   }
   else
@@ -1074,40 +1352,81 @@ vpDisplayOpenCV::displayRectangle(const vpImagePoint &topLeft,
   {
     if (fill == false) {
       if (color.id < vpColor::id_unknown) {
+#if VISP_HAVE_OPENCV_VERSION < 0x020408
         cvRectangle( background,
                      cvPoint( vpMath::round( topLeft.get_u() ),
                               vpMath::round( topLeft.get_v() ) ),
                      cvPoint( vpMath::round( topLeft.get_u()+w ),
                               vpMath::round( topLeft.get_v()+h ) ),
                      col[color.id], (int)thickness);
+#else
+        cv::rectangle( background,
+                       cv::Point( vpMath::round( topLeft.get_u() ),
+                                  vpMath::round( topLeft.get_v() ) ),
+                       cv::Point( vpMath::round( topLeft.get_u()+w ),
+                                  vpMath::round( topLeft.get_v()+h ) ),
+                       col[color.id], (int)thickness);
+#endif
       }
       else {
         cvcolor = CV_RGB(color.R, color.G, color.B) ;
+#if VISP_HAVE_OPENCV_VERSION < 0x020408
         cvRectangle( background,
                      cvPoint( vpMath::round( topLeft.get_u() ),
                               vpMath::round( topLeft.get_v() ) ),
                      cvPoint( vpMath::round( topLeft.get_u()+w ),
                               vpMath::round( topLeft.get_v()+h ) ),
                      cvcolor, (int)thickness);
+#else
+        cv::rectangle( background,
+                       cv::Point( vpMath::round( topLeft.get_u() ),
+                                  vpMath::round( topLeft.get_v() ) ),
+                       cv::Point( vpMath::round( topLeft.get_u()+w ),
+                                  vpMath::round( topLeft.get_v()+h ) ),
+                       cvcolor, (int)thickness);
+#endif
       }
     }
     else {
+#if VISP_HAVE_OPENCV_VERSION >= 0x030000
+      int filled = cv::FILLED;
+#else
+      int filled = CV_FILLED;
+#endif
       if (color.id < vpColor::id_unknown) {
+#if VISP_HAVE_OPENCV_VERSION < 0x020408
         cvRectangle( background,
                      cvPoint( vpMath::round( topLeft.get_u() ),
                               vpMath::round( topLeft.get_v() ) ),
                      cvPoint( vpMath::round( topLeft.get_u()+w ),
                               vpMath::round( topLeft.get_v()+h ) ),
-                     col[color.id], CV_FILLED);
+                     col[color.id], filled);
+#else
+        cv::rectangle( background,
+                       cv::Point( vpMath::round( topLeft.get_u() ),
+                                  vpMath::round( topLeft.get_v() ) ),
+                       cv::Point( vpMath::round( topLeft.get_u()+w ),
+                                  vpMath::round( topLeft.get_v()+h ) ),
+                       col[color.id], filled);
+#endif
       }
       else {
         cvcolor = CV_RGB(color.R, color.G, color.B) ;
+#if VISP_HAVE_OPENCV_VERSION < 0x020408
         cvRectangle( background,
                      cvPoint( vpMath::round( topLeft.get_u() ),
                               vpMath::round( topLeft.get_v() ) ),
                      cvPoint( vpMath::round( topLeft.get_u()+w ),
                               vpMath::round( topLeft.get_v()+h ) ),
-                     cvcolor, CV_FILLED);
+                     cvcolor, filled);
+#else
+        cv::rectangle( background,
+                       cv::Point( vpMath::round( topLeft.get_u() ),
+                                  vpMath::round( topLeft.get_v() ) ),
+                       cv::Point( vpMath::round( topLeft.get_u()+w ),
+                                  vpMath::round( topLeft.get_v()+h ) ),
+                       cvcolor, filled);
+#endif
       }
     }
   }
@@ -1140,41 +1459,81 @@ vpDisplayOpenCV::displayRectangle ( const vpImagePoint &topLeft,
   {
     if (fill == false) {
       if (color.id < vpColor::id_unknown) {
-	cvRectangle( background,
-		     cvPoint( vpMath::round( topLeft.get_u() ), 
-			      vpMath::round( topLeft.get_v() ) ),
-		     cvPoint( vpMath::round( bottomRight.get_u() ), 
-			      vpMath::round( bottomRight.get_v() ) ),
-		     col[color.id], (int)thickness);
+#if VISP_HAVE_OPENCV_VERSION < 0x020408
+        cvRectangle( background,
+                     cvPoint( vpMath::round( topLeft.get_u() ),
+                              vpMath::round( topLeft.get_v() ) ),
+                     cvPoint( vpMath::round( bottomRight.get_u() ),
+                              vpMath::round( bottomRight.get_v() ) ),
+                     col[color.id], (int)thickness);
+#else
+        cv::rectangle( background,
+                       cv::Point( vpMath::round( topLeft.get_u() ),
+                                  vpMath::round( topLeft.get_v() ) ),
+                       cv::Point( vpMath::round( bottomRight.get_u() ),
+                                  vpMath::round( bottomRight.get_v() ) ),
+                       col[color.id], (int)thickness);
+#endif
       }
       else {
-	cvcolor = CV_RGB(color.R, color.G, color.B) ;
-	cvRectangle( background,
-		     cvPoint( vpMath::round( topLeft.get_u() ), 
-			      vpMath::round( topLeft.get_v() ) ),
-		     cvPoint( vpMath::round( bottomRight.get_u() ), 
-			      vpMath::round( bottomRight.get_v() ) ),
-		     cvcolor, (int)thickness);
+        cvcolor = CV_RGB(color.R, color.G, color.B) ;
+#if VISP_HAVE_OPENCV_VERSION < 0x020408
+        cvRectangle( background,
+                     cvPoint( vpMath::round( topLeft.get_u() ),
+                              vpMath::round( topLeft.get_v() ) ),
+                     cvPoint( vpMath::round( bottomRight.get_u() ),
+                              vpMath::round( bottomRight.get_v() ) ),
+                     cvcolor, (int)thickness);
+#else
+        cv::rectangle( background,
+                       cv::Point( vpMath::round( topLeft.get_u() ),
+                                  vpMath::round( topLeft.get_v() ) ),
+                       cv::Point( vpMath::round( bottomRight.get_u() ),
+                                  vpMath::round( bottomRight.get_v() ) ),
+                       cvcolor, (int)thickness);
+#endif
       }
     }
     else {
+#if VISP_HAVE_OPENCV_VERSION >= 0x030000
+      int filled = cv::FILLED;
+#else
+      int filled = CV_FILLED;
+#endif
       if (color.id < vpColor::id_unknown) {
-	cvRectangle( background,
-		     cvPoint( vpMath::round( topLeft.get_u() ), 
-			      vpMath::round( topLeft.get_v() ) ),
-		     cvPoint( vpMath::round( bottomRight.get_u() ), 
-			      vpMath::round( bottomRight.get_v() ) ),
-		     col[color.id], CV_FILLED);
+#if VISP_HAVE_OPENCV_VERSION < 0x020408
+        cvRectangle( background,
+                     cvPoint( vpMath::round( topLeft.get_u() ),
+                              vpMath::round( topLeft.get_v() ) ),
+                     cvPoint( vpMath::round( bottomRight.get_u() ),
+                              vpMath::round( bottomRight.get_v() ) ),
+                     col[color.id], filled);
+#else
+        cv::rectangle( background,
+                       cv::Point( vpMath::round( topLeft.get_u() ),
+                                  vpMath::round( topLeft.get_v() ) ),
+                       cv::Point( vpMath::round( bottomRight.get_u() ),
+                                  vpMath::round( bottomRight.get_v() ) ),
+                       col[color.id], filled);
+#endif
       }
       else {
-	cvcolor = CV_RGB(color.R, color.G, color.B) ;
-	cvRectangle( background,
-		     cvPoint( vpMath::round( topLeft.get_u() ), 
-			      vpMath::round( topLeft.get_v() ) ),
-		     cvPoint( vpMath::round( bottomRight.get_u() ), 
-			      vpMath::round( bottomRight.get_v() ) ),
-		     cvcolor, CV_FILLED);
-
+        cvcolor = CV_RGB(color.R, color.G, color.B) ;
+#if VISP_HAVE_OPENCV_VERSION < 0x020408
+        cvRectangle( background,
+                     cvPoint( vpMath::round( topLeft.get_u() ),
+                              vpMath::round( topLeft.get_v() ) ),
+                     cvPoint( vpMath::round( bottomRight.get_u() ),
+                              vpMath::round( bottomRight.get_v() ) ),
+                     cvcolor, filled);
+#else
+        cv::rectangle( background,
+                       cv::Point( vpMath::round( topLeft.get_u() ),
+                                  vpMath::round( topLeft.get_v() ) ),
+                       cv::Point( vpMath::round( bottomRight.get_u() ),
+                                  vpMath::round( bottomRight.get_v() ) ),
+                       cvcolor, filled);
+#endif
       }
     }
   }
@@ -1207,41 +1566,83 @@ vpDisplayOpenCV::displayRectangle(const vpRect &rectangle,
   {
     if (fill == false) {
       if (color.id < vpColor::id_unknown) {
-	cvRectangle( background,
-		     cvPoint( vpMath::round( rectangle.getLeft() ),
-			      vpMath::round( rectangle.getBottom() ) ),
-		     cvPoint( vpMath::round( rectangle.getRight() ),
-			      vpMath::round( rectangle.getTop() ) ),
-		     col[color.id], (int)thickness);
+#if VISP_HAVE_OPENCV_VERSION < 0x020408
+        cvRectangle( background,
+                     cvPoint( vpMath::round( rectangle.getLeft() ),
+                              vpMath::round( rectangle.getBottom() ) ),
+                     cvPoint( vpMath::round( rectangle.getRight() ),
+                              vpMath::round( rectangle.getTop() ) ),
+                     col[color.id], (int)thickness);
+#else
+        cv::rectangle( background,
+                       cv::Point( vpMath::round( rectangle.getLeft() ),
+                                  vpMath::round( rectangle.getBottom() ) ),
+                       cv::Point( vpMath::round( rectangle.getRight() ),
+                                  vpMath::round( rectangle.getTop() ) ),
+                       col[color.id], (int)thickness);
+#endif
       }
       else {
-	cvcolor = CV_RGB(color.R, color.G, color.B) ;
-	cvRectangle( background,
-		     cvPoint( vpMath::round( rectangle.getLeft() ),
-			      vpMath::round( rectangle.getBottom() ) ),
-		     cvPoint( vpMath::round( rectangle.getRight() ),
-			      vpMath::round( rectangle.getTop() ) ),
-		     cvcolor, (int)thickness);
+        cvcolor = CV_RGB(color.R, color.G, color.B) ;
+#if VISP_HAVE_OPENCV_VERSION < 0x020408
+        cvRectangle( background,
+                     cvPoint( vpMath::round( rectangle.getLeft() ),
+                              vpMath::round( rectangle.getBottom() ) ),
+                     cvPoint( vpMath::round( rectangle.getRight() ),
+                              vpMath::round( rectangle.getTop() ) ),
+                     cvcolor, (int)thickness);
+
+#else
+        cv::rectangle( background,
+                       cv::Point( vpMath::round( rectangle.getLeft() ),
+                                  vpMath::round( rectangle.getBottom() ) ),
+                       cv::Point( vpMath::round( rectangle.getRight() ),
+                                  vpMath::round( rectangle.getTop() ) ),
+                       cvcolor, (int)thickness);
 
+#endif
       }
     }
     else {
+#if VISP_HAVE_OPENCV_VERSION >= 0x030000
+      int filled = cv::FILLED;
+#else
+      int filled = CV_FILLED;
+#endif
       if (color.id < vpColor::id_unknown) {
-	cvRectangle( background,
-		     cvPoint( vpMath::round( rectangle.getLeft() ),
-			      vpMath::round( rectangle.getBottom() ) ),
-		     cvPoint( vpMath::round( rectangle.getRight() ),
-			      vpMath::round( rectangle.getTop() ) ),
-		     col[color.id], CV_FILLED);
+#if VISP_HAVE_OPENCV_VERSION < 0x020408
+        cvRectangle( background,
+                     cvPoint( vpMath::round( rectangle.getLeft() ),
+                              vpMath::round( rectangle.getBottom() ) ),
+                     cvPoint( vpMath::round( rectangle.getRight() ),
+                              vpMath::round( rectangle.getTop() ) ),
+                     col[color.id], filled);
+#else
+        cv::rectangle( background,
+                       cv::Point( vpMath::round( rectangle.getLeft() ),
+                                  vpMath::round( rectangle.getBottom() ) ),
+                       cv::Point( vpMath::round( rectangle.getRight() ),
+                                  vpMath::round( rectangle.getTop() ) ),
+                       col[color.id], filled);
+#endif
       }
       else {
-	cvcolor = CV_RGB(color.R, color.G, color.B) ;
-	cvRectangle( background,
-		     cvPoint( vpMath::round( rectangle.getLeft() ),
-			      vpMath::round( rectangle.getBottom() ) ),
-		     cvPoint( vpMath::round( rectangle.getRight() ),
-			      vpMath::round( rectangle.getTop() ) ),
-		     cvcolor, CV_FILLED);
+        cvcolor = CV_RGB(color.R, color.G, color.B) ;
+#if VISP_HAVE_OPENCV_VERSION < 0x020408
+        cvRectangle( background,
+                     cvPoint( vpMath::round( rectangle.getLeft() ),
+                              vpMath::round( rectangle.getBottom() ) ),
+                     cvPoint( vpMath::round( rectangle.getRight() ),
+                              vpMath::round( rectangle.getTop() ) ),
+                     cvcolor, filled);
+#else
+        cv::rectangle( background,
+                       cv::Point( vpMath::round( rectangle.getLeft() ),
+                                  vpMath::round( rectangle.getBottom() ) ),
+                       cv::Point( vpMath::round( rectangle.getRight() ),
+                                  vpMath::round( rectangle.getTop() ) ),
+                       cvcolor, filled);
+#endif
       }
     }
   }
@@ -1294,7 +1695,12 @@ vpDisplayOpenCV::getClick(bool blocking)
         ret = true ;
         rbuttondown = false;
       }
-      if (blocking) cvWaitKey(10);
+      if (blocking)
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+        cvWaitKey(10);
+#else
+        cv::waitKey(10);
+#endif
     } while ( ret == false && blocking == true);
   }
   else {
@@ -1362,7 +1768,12 @@ vpDisplayOpenCV::getClick(vpImagePoint &ip, bool blocking)
 	ip.set_v( v );
         rbuttondown = false;
       }
-      if (blocking) cvWaitKey(10);
+      if (blocking)
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+        cvWaitKey(10);
+#else
+        cv::waitKey(10);
+#endif
     } while ( ret == false && blocking == true);
   }
   else {
@@ -1436,7 +1847,12 @@ vpDisplayOpenCV::getClick(vpImagePoint &ip,
         button = vpMouseButton::button3;
         rbuttondown = false;
       }
-      if (blocking) cvWaitKey(10);
+      if (blocking)
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+        cvWaitKey(10);
+#else
+        cv::waitKey(10);
+#endif
     } while ( ret == false && blocking == true);
   }
   else {
@@ -1512,7 +1928,12 @@ vpDisplayOpenCV::getClickUp(vpImagePoint &ip,
         button = vpMouseButton::button3;
         rbuttonup = false;
       }
-      if (blocking) cvWaitKey(10);
+      if (blocking)
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+        cvWaitKey(10);
+#else
+        cv::waitKey(10);
+#endif
     } while ( ret == false && blocking == true);
   }
   else {
@@ -1538,58 +1959,86 @@ void vpDisplayOpenCV::on_mouse( int event, int x, int y, int /*flags*/, void* di
   vpDisplayOpenCV* disp = (vpDisplayOpenCV*)display;
   switch ( event )
   {
-    case CV_EVENT_MOUSEMOVE:
-    {
-      disp->move = true;
-      disp->x_move = x;
-      disp->y_move = y;
-      break;
-    }
-    case CV_EVENT_LBUTTONDOWN:
-    {
-      disp->lbuttondown = true;
-      disp->x_lbuttondown = x;
-      disp->y_lbuttondown = y;
-      break;
-    }
-    case CV_EVENT_MBUTTONDOWN:
-    {
-      disp->mbuttondown = true;
-      disp->x_mbuttondown = x;
-      disp->y_mbuttondown = y;
-      break;
-    }
-    case CV_EVENT_RBUTTONDOWN:
-    {
-      disp->rbuttondown = true;
-      disp->x_rbuttondown = x;
-      disp->y_rbuttondown = y;
-      break;
-    }
-    case CV_EVENT_LBUTTONUP:
-    {
-      disp->lbuttonup = true;
-      disp->x_lbuttonup = x;
-      disp->y_lbuttonup = y;
-      break;
-    }
-    case CV_EVENT_MBUTTONUP:
-    {
-      disp->mbuttonup = true;
-      disp->x_mbuttonup = x;
-      disp->y_mbuttonup = y;
-      break;
-    }
-    case CV_EVENT_RBUTTONUP:
-    {
-      disp->rbuttonup = true;
-      disp->x_rbuttonup = x;
-      disp->y_rbuttonup = y;
-      break;
-    }
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+  case CV_EVENT_MOUSEMOVE:
+#else
+  case cv::EVENT_MOUSEMOVE:
+#endif
+  {
+    disp->move = true;
+    disp->x_move = x;
+    disp->y_move = y;
+    break;
+  }
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+  case CV_EVENT_LBUTTONDOWN:
+#else
+  case cv::EVENT_LBUTTONDOWN:
+#endif
+  {
+    disp->lbuttondown = true;
+    disp->x_lbuttondown = x;
+    disp->y_lbuttondown = y;
+    break;
+  }
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+  case CV_EVENT_MBUTTONDOWN:
+#else
+  case cv::EVENT_MBUTTONDOWN:
+#endif
+  {
+    disp->mbuttondown = true;
+    disp->x_mbuttondown = x;
+    disp->y_mbuttondown = y;
+    break;
+  }
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+  case CV_EVENT_RBUTTONDOWN:
+#else
+  case cv::EVENT_RBUTTONDOWN:
+#endif
+  {
+    disp->rbuttondown = true;
+    disp->x_rbuttondown = x;
+    disp->y_rbuttondown = y;
+    break;
+  }
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+  case CV_EVENT_LBUTTONUP:
+#else
+  case cv::EVENT_LBUTTONUP:
+#endif
+  {
+    disp->lbuttonup = true;
+    disp->x_lbuttonup = x;
+    disp->y_lbuttonup = y;
+    break;
+  }
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+  case CV_EVENT_MBUTTONUP:
+#else
+  case cv::EVENT_MBUTTONUP:
+#endif
+  {
+    disp->mbuttonup = true;
+    disp->x_mbuttonup = x;
+    disp->y_mbuttonup = y;
+    break;
+  }
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+  case CV_EVENT_RBUTTONUP:
+#else
+  case cv::EVENT_RBUTTONUP:
+#endif
+  {
+    disp->rbuttonup = true;
+    disp->x_rbuttonup = x;
+    disp->y_rbuttonup = y;
+    break;
+  }
 
-    default :
-      break;
+  default :
+    break;
   }
 }
 
@@ -1621,7 +2070,12 @@ vpDisplayOpenCV::getKeyboardEvent(bool blocking)
     else 
       delay = 10;
 
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
     key_pressed = cvWaitKey(delay);
+#else
+    key_pressed = cv::waitKey(delay);
+#endif
+
     if (key_pressed == -1)
       return false;
     return true;
@@ -1664,7 +2118,11 @@ vpDisplayOpenCV::getKeyboardEvent(char *string, bool blocking)
     else 
       delay = 10;
 
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
     key_pressed = cvWaitKey(delay);
+#else
+    key_pressed = cv::waitKey(delay);
+#endif
     if (key_pressed == -1)
       return false;
     else {
diff --git a/src/device/display/vpDisplayOpenCV.h b/src/device/display/vpDisplayOpenCV.h
index cd435c99cb8cdce7742f6b1ae3df1f37068470b1..4848d619f38c54211ff61b70cb48bca7f540e9a0 100644
--- a/src/device/display/vpDisplayOpenCV.h
+++ b/src/device/display/vpDisplayOpenCV.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpDisplayOpenCV.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpDisplayOpenCV.h 5023 2014-12-03 16:07:48Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -44,9 +44,9 @@
 #define vpDisplayOpenCV_h
 
 #include <visp/vpConfig.h>
-#include <visp/vpDisplay.h>
-#if ( defined(VISP_HAVE_OPENCV) )
+#if defined(VISP_HAVE_OPENCV)
 
+#include <visp/vpDisplay.h>
 #include <visp/vpImage.h>
 #include <visp/vpImageConvert.h>
 
@@ -144,11 +144,21 @@ int main()
 class VISP_EXPORT vpDisplayOpenCV: public vpDisplay
 {
 private:
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
   //! true if OpenCV display is ready to use
   IplImage* background;
   CvScalar *col ;
   CvScalar cvcolor;
   CvFont *font;
+#else
+  cv::Mat background;
+  cv::Scalar *col ;
+  cv::Scalar cvcolor;
+  int font;
+  float fontScale;
+#endif
+  static std::vector<std::string> m_listTitles;
+  static unsigned int m_nbWindows ;
   int fontHeight;  
   int ncol, nrow ;
   int x_move;
@@ -272,9 +282,3 @@ protected:
 
 #endif
 #endif
-
-/*
- * Local variables:
- * c-basic-offset: 2
- * End:
- */
diff --git a/src/device/display/vpDisplayX.cpp b/src/device/display/vpDisplayX.cpp
index b828e86fa3d98e3608f9987b63d7543625832280..f2a9d999b85d6823f0a16d69e564209aa9fdf8de 100644
--- a/src/device/display/vpDisplayX.cpp
+++ b/src/device/display/vpDisplayX.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpDisplayX.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpDisplayX.cpp 5214 2015-01-27 18:33:01Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -80,9 +80,11 @@ vpDisplayX::vpDisplayX ( vpImage<unsigned char> &I,
                          int x,
                          int y,
                          const char *title )
+  : display(NULL), window(), Ximage(NULL), lut(), context(),
+    screen(0), planes(0), event(), pixmap(), x_color(NULL),
+    screen_depth(8), xcolor(), values(), size(0), ximage_data_init(false),
+    RMask(0), GMask(0), BMask(0), RShift(0), GShift(0), BShift(0)
 {
-  size = 0;
-  x_color = NULL;
   init ( I, x, y, title ) ;
 }
 
@@ -100,9 +102,11 @@ vpDisplayX::vpDisplayX ( vpImage<vpRGBa> &I,
                          int x,
                          int y,
                          const char *title )
+  : display(NULL), window(), Ximage(NULL), lut(), context(),
+    screen(0), planes(0), event(), pixmap(), x_color(NULL),
+    screen_depth(8), xcolor(), values(), size(0), ximage_data_init(false),
+    RMask(0), GMask(0), BMask(0), RShift(0), GShift(0), BShift(0)
 {
-  size = 0;
-  x_color = NULL;
   init ( I, x, y, title ) ;
 }
 
@@ -129,20 +133,18 @@ int main()
   \endcode
 */
 vpDisplayX::vpDisplayX ( int x, int y, const char *title )
+  : display(NULL), window(), Ximage(NULL), lut(), context(),
+    screen(0), planes(0), event(), pixmap(), x_color(NULL),
+    screen_depth(8), xcolor(), values(), size(0), ximage_data_init(false),
+    RMask(0), GMask(0), BMask(0), RShift(0), GShift(0), BShift(0)
 {
   windowXPosition = x ;
   windowYPosition = y ;
 
-  this->x_color = NULL;
-
   if (title != NULL)
     title_ = std::string(title);
   else
     title_ = std::string(" ");
-
-  ximage_data_init = false;
-
-  size = 0;
 }
 
 /*!
@@ -165,10 +167,11 @@ int main()
   \endcode
 */
 vpDisplayX::vpDisplayX()
+  : display(NULL), window(), Ximage(NULL), lut(), context(),
+    screen(0), planes(0), event(), pixmap(), x_color(NULL),
+    screen_depth(8), xcolor(), values(), size(0), ximage_data_init(false),
+    RMask(0), GMask(0), BMask(0), RShift(0), GShift(0), BShift(0)
 {
-  x_color = NULL;
-  ximage_data_init = false;
-  size = 0;
 }
 
 /*!
@@ -207,7 +210,7 @@ vpDisplayX::init ( vpImage<unsigned char> &I, int x, int y, const char *title )
   else
     title_ = std::string(" ");
 
-  // Positionnement de la fenetre dans l'�cran.
+  // Positionnement de la fenetre dans l'ecran.
   if ( ( windowXPosition < 0 ) || ( windowYPosition < 0 ) )
   {
     hints.flags = 0;
@@ -234,11 +237,10 @@ vpDisplayX::init ( vpImage<unsigned char> &I, int x, int y, const char *title )
   lut          = DefaultColormap ( display, screen );
   screen_depth = (unsigned int)DefaultDepth ( display, screen );
 
-  if ( ( window =
-              XCreateSimpleWindow ( display, RootWindow ( display, screen ),
-                                    windowXPosition, windowYPosition, width, height, 1,
-                                    BlackPixel ( display, screen ),
-                                    WhitePixel ( display, screen ) ) ) == 0 )
+  if ( ( window = XCreateSimpleWindow ( display, RootWindow ( display, screen ),
+                                        windowXPosition, windowYPosition, width, height, 1,
+                                        BlackPixel ( display, screen ),
+                                        WhitePixel ( display, screen ) ) ) == 0 )
   {
     vpERROR_TRACE ( "Can't create window." );
     throw ( vpDisplayException ( vpDisplayException::cannotOpenWindowError,
@@ -285,6 +287,14 @@ vpDisplayX::init ( vpImage<unsigned char> &I, int x, int y, const char *title )
     XSetWindowColormap ( display, window, lut ) ;
     XInstallColormap ( display, lut ) ;
 
+    Visual *visual = DefaultVisual (display, screen);
+    RMask = visual->red_mask;
+    GMask = visual->green_mask;
+    BMask = visual->blue_mask;
+
+    RShift = 15 - getMsb(RMask);    /* these are right-shifts */
+    GShift = 15 - getMsb(GMask);
+    BShift = 15 - getMsb(BMask);
   }
 
   //
@@ -607,16 +617,17 @@ vpDisplayX::init ( vpImage<unsigned char> &I, int x, int y, const char *title )
   // Pixmap creation.
   pixmap = XCreatePixmap ( display, window, width, height, screen_depth );
 
-  do
-    XNextEvent ( display, &event );
-  while ( event.xany.type != Expose );
+  // Hangs when forward X11 is used to send the display to an other computer
+//  do
+//    XNextEvent ( display, &event );
+//  while ( event.xany.type != Expose );
 
   {
     Ximage = XCreateImage ( display, DefaultVisual ( display, screen ),
                             screen_depth, ZPixmap, 0, NULL,
                             I.getWidth() , I.getHeight(), XBitmapPad ( display ), 0 );
 
-    Ximage->data = ( char * ) malloc ( I.getWidth() * I.getHeight() * (unsigned int)Ximage->bits_per_pixel / 8 );
+    Ximage->data = ( char * ) malloc ( I.getHeight() * (unsigned int)Ximage->bytes_per_line );
     ximage_data_init = true;
 
   }
@@ -735,9 +746,17 @@ vpDisplayX::init ( vpImage<vpRGBa> &I, int x, int y, const char *title )
       colortable[i] = xcolor.pixel;
     }
 
+    Visual *visual = DefaultVisual (display, screen);
+    RMask = visual->red_mask;
+    GMask = visual->green_mask;
+    BMask = visual->blue_mask;
+
+    RShift = 15 - getMsb(RMask);    /* these are right-shifts */
+    GShift = 15 - getMsb(GMask);
+    BShift = 15 - getMsb(BMask);
+
     XSetWindowColormap ( display, window, lut ) ;
     XInstallColormap ( display, lut ) ;
-
   }
 
 
@@ -1061,10 +1080,10 @@ vpDisplayX::init ( vpImage<vpRGBa> &I, int x, int y, const char *title )
   // Pixmap creation.
   pixmap = XCreatePixmap ( display, window, width, height, screen_depth );
 
-  do
-    XNextEvent ( display, &event );
-  while ( event.xany.type != Expose );
-
+  // Hangs when forward X11 is used to send the display to an other computer
+//  do
+//    XNextEvent ( display, &event );
+//  while ( event.xany.type != Expose );
 
   {
     Ximage = XCreateImage ( display, DefaultVisual ( display, screen ),
@@ -1072,8 +1091,7 @@ vpDisplayX::init ( vpImage<vpRGBa> &I, int x, int y, const char *title )
                             I.getWidth() , I.getHeight(), XBitmapPad ( display ), 0 );
 
 
-    Ximage->data = ( char * ) malloc ( I.getWidth() * I.getHeight()
-                                       * (unsigned int)Ximage->bits_per_pixel / 8 );
+    Ximage->data = ( char * ) malloc ( I.getHeight() * (unsigned int)Ximage->bytes_per_line );
     ximage_data_init = true;
 
   }
@@ -1106,7 +1124,7 @@ void vpDisplayX::init ( unsigned int w, unsigned int h, int x, int y, const char
     windowXPosition = x ;
   if (y != -1)
     windowYPosition = y ;
-  // Positionnement de la fenetre dans l'�cran.
+  // Positionnement de la fenetre dans l'ecran.
   if ( ( windowXPosition < 0 ) || ( windowYPosition < 0 ) )
   {
     hints.flags = 0;
@@ -1188,6 +1206,14 @@ void vpDisplayX::init ( unsigned int w, unsigned int h, int x, int y, const char
     XSetWindowColormap ( display, window, lut ) ;
     XInstallColormap ( display, lut ) ;
 
+    Visual *visual = DefaultVisual (display, screen);
+    RMask = visual->red_mask;
+    GMask = visual->green_mask;
+    BMask = visual->blue_mask;
+
+    RShift = 15 - getMsb(RMask);    /* these are right-shifts */
+    GShift = 15 - getMsb(GMask);
+    BShift = 15 - getMsb(BMask);
   }
 
   vpColor pcolor; // predefined colors
@@ -1532,17 +1558,17 @@ void vpDisplayX::init ( unsigned int w, unsigned int h, int x, int y, const char
   // Pixmap creation.
   pixmap = XCreatePixmap ( display, window, width, height, screen_depth );
 
-  do
-    XNextEvent ( display, &event );
-  while ( event.xany.type != Expose );
+  // Hangs when forward X11 is used to send the display to an other computer
+//  do
+//    XNextEvent ( display, &event );
+//  while ( event.xany.type != Expose );
 
   {
     Ximage = XCreateImage ( display, DefaultVisual ( display, screen ),
                             screen_depth, ZPixmap, 0, NULL,
                             width, height, XBitmapPad ( display ), 0 );
 
-    Ximage->data = ( char * ) malloc ( width * height
-                                       * (unsigned int)Ximage->bits_per_pixel / 8 );
+    Ximage->data = ( char * ) malloc ( height * (unsigned int)Ximage->bytes_per_line );
     ximage_data_init = true;
   }
   displayHasBeenInitialized = true ;
@@ -1689,14 +1715,15 @@ void vpDisplayX::displayImage ( const vpImage<unsigned char> &I )
       }
       case 16:
       {
-        unsigned short      *dst_16 = NULL;
-        dst_16 = ( unsigned short* ) Ximage->data;
-
-        for ( unsigned int i = 0; i < height ; i++ )
-        {
+        unsigned short *dst_16 = ( unsigned short* ) Ximage->data;
+        unsigned char  *dst_8  = NULL;
+        unsigned int bytes_per_line = (unsigned int)Ximage->bytes_per_line;
+        for ( unsigned int i = 0; i < height ; i++ ) {
+          dst_8 =  (unsigned char*) Ximage->data + i * bytes_per_line;
+          dst_16 = (unsigned short *) dst_8;
           for ( unsigned int j=0 ; j < width; j++ )
           {
-            * ( dst_16+ ( i*width+j ) ) = ( unsigned short ) colortable[I[i][j]] ;
+            * ( dst_16 + j ) = ( unsigned short ) colortable[I[i][j]] ;
           }
         }
 
@@ -1755,56 +1782,80 @@ void vpDisplayX::displayImage ( const vpImage<unsigned char> &I )
 */
 void vpDisplayX::displayImage ( const vpImage<vpRGBa> &I )
 {
-
   if ( displayHasBeenInitialized )
   {
-
     switch ( screen_depth )
     {
-      case 24:
-      case 32:
-      {
-        /*
+    case 16: {
+      unsigned short *dst_16 = NULL;
+      unsigned char  *dst_8  = NULL;
+      vpRGBa* bitmap = I.bitmap;
+      unsigned int r, g, b;
+      unsigned int bytes_per_line = (unsigned int)Ximage->bytes_per_line;
+
+      for ( unsigned int i = 0; i < height ; i++ ) {
+        dst_8 =  (unsigned char*) Ximage->data + i * bytes_per_line;
+        dst_16 = (unsigned short *) dst_8;
+        for ( unsigned int j=0 ; j < width; j++ )
+        {
+          r = bitmap->R;
+          g = bitmap->G;
+          b = bitmap->B;
+          * ( dst_16 + j ) = (((r << 8) >> RShift) & RMask) |
+              (((g << 8) >> GShift) & GMask) |
+              (((b << 8) >> BShift) & BMask);
+          bitmap++;
+        }
+      }
+
+      XPutImage ( display, pixmap, context, Ximage, 0, 0, 0, 0, width, height );
+      XSetWindowBackgroundPixmap ( display, window, pixmap );
+
+      break;
+    }
+    case 24:
+    case 32:
+    {
+      /*
          * 32-bit source, 24/32-bit destination
          */
-
-        unsigned char       *dst_32 = NULL;
-        dst_32 = ( unsigned char* ) Ximage->data;
-	vpRGBa* bitmap = I.bitmap;
-	unsigned int sizeI = I.getWidth() * I.getHeight();
-#ifdef BIGENDIAN
-        // little indian/big indian
-        for ( unsigned int i = 0; i < sizeI ; i++ )
-        {
+      unsigned char       *dst_32 = NULL;
+      dst_32 = ( unsigned char* ) Ximage->data;
+      vpRGBa* bitmap = I.bitmap;
+      unsigned int sizeI = I.getWidth() * I.getHeight();
+      if (XImageByteOrder(display) == 1) {
+        // big endian
+        for ( unsigned int i = 0; i < sizeI ; i++ ) {
           *(dst_32++) = bitmap->A;
           *(dst_32++) = bitmap->R;
           *(dst_32++) = bitmap->G;
           *(dst_32++) = bitmap->B;
-	  bitmap++;
+          bitmap++;
         }
-#else
-        for ( unsigned int i = 0; i < sizeI; i++ )
-        {
+      }
+      else {
+        // little endian
+        for ( unsigned int i = 0; i < sizeI; i++ ) {
           *(dst_32++) = bitmap->B;
           *(dst_32++) = bitmap->G;
           *(dst_32++) = bitmap->R;
           *(dst_32++) = bitmap->A;
-	  bitmap++;
+          bitmap++;
         }
-#endif
-        // Affichage de l'image dans la Pixmap.
-        XPutImage ( display, pixmap, context, Ximage, 0, 0, 0, 0, width, height );
-        XSetWindowBackgroundPixmap ( display, window, pixmap );
-//        XClearWindow ( display, window );
-//        XSync ( display,1 );
-        break;
-
       }
-      default:
-        vpERROR_TRACE ( "Unsupported depth (%d bpp) for color display",
-                        screen_depth ) ;
-        throw ( vpDisplayException ( vpDisplayException::depthNotSupportedError,
-                                     "Unsupported depth for color display" ) ) ;
+      // Affichage de l'image dans la Pixmap.
+      XPutImage ( display, pixmap, context, Ximage, 0, 0, 0, 0, width, height );
+      XSetWindowBackgroundPixmap ( display, window, pixmap );
+      //        XClearWindow ( display, window );
+      //        XSync ( display,1 );
+      break;
+
+    }
+    default:
+      vpERROR_TRACE ( "Unsupported depth (%d bpp) for color display",
+                      screen_depth ) ;
+      throw ( vpDisplayException ( vpDisplayException::depthNotSupportedError,
+                                   "Unsupported depth for color display" ) ) ;
     }
   }
   else
@@ -1898,7 +1949,7 @@ void vpDisplayX::displayImageROI ( const vpImage<unsigned char> &I,const vpImage
         unsigned int iwidth = I.getWidth();
 
         src_8 = src_8 + (int)(iP.get_i()*iwidth+ iP.get_j());
-        dst_8 = dst_8 + (int)(iP.get_i()*this->height+ iP.get_j());
+        dst_8 = dst_8 + (int)(iP.get_i()*this->width+ iP.get_j());
 
         unsigned int i = 0;
         while (i < h)
@@ -1914,13 +1965,13 @@ void vpDisplayX::displayImageROI ( const vpImage<unsigned char> &I,const vpImage
             j++;
           }
           src_8 = src_8 + iwidth;
-          dst_8 = dst_8 + this->height;
+          dst_8 = dst_8 + this->width;
           i++;
         }
       }
 
       // Affichage de l'image dans la Pixmap.
-      XPutImage ( display, pixmap, context, Ximage, iP.get_u(), iP.get_v(), iP.get_u(), iP.get_v(), w, h );
+      XPutImage ( display, pixmap, context, Ximage, (int)iP.get_u(), (int)iP.get_v(), (int)iP.get_u(), (int)iP.get_v(), w, h );
       XSetWindowBackgroundPixmap ( display, window, pixmap );
       //        XClearWindow ( display, window );
       //        XSync ( display,1 );
@@ -1928,32 +1979,43 @@ void vpDisplayX::displayImageROI ( const vpImage<unsigned char> &I,const vpImage
     }
     case 16:
     {
-      unsigned short      *dst_16 = NULL;
-      dst_16 = ( unsigned short* ) Ximage->data;
-      unsigned char       *src_8  = NULL;
-      src_8 = ( unsigned char * ) I.bitmap;
-
-      unsigned int iwidth = I.getWidth();
-
-      src_8 = src_8 + (int)(iP.get_i()*iwidth+ iP.get_j());
-      dst_16 = dst_16 + (int)(iP.get_i()*this->height+ iP.get_j());
-
-      unsigned int i = 0;
-      while (i < h)
-      {
-        unsigned int j = 0;
-        while (j < w)
+      unsigned short *dst_16 = NULL;
+      unsigned char  *dst_8  = NULL;
+      unsigned int bytes_per_line = (unsigned int)Ximage->bytes_per_line;
+      for ( unsigned int i = (unsigned int)iP.get_i(); i < (unsigned int)(iP.get_i()+h) ; i++ ) {
+        dst_8 =  (unsigned char  *) Ximage->data + i * bytes_per_line;
+        dst_16 = (unsigned short *) dst_8;
+        for ( unsigned int j=(unsigned int)iP.get_j() ; j < (unsigned int)(iP.get_j()+w); j++ )
         {
-          *(dst_16+j) = ( unsigned short ) colortable[*(src_8+j)];
-          j++;
+          * ( dst_16 + j ) = ( unsigned short ) colortable[I[i][j]] ;
         }
-        src_8 = src_8 + iwidth;
-        dst_16 = dst_16 + this->height;
-        i++;
       }
 
+//      unsigned char *src_8 = (unsigned char *) I.bitmap;
+//      unsigned char *dst_8 = (unsigned char *) Ximage->data;
+//      unsigned short *dst_16  = NULL;
+
+//      unsigned int iwidth = I.getWidth();
+
+//      src_8 += (int)(iP.get_i()*iwidth + iP.get_j());
+//      dst_8 += (int)(iP.get_i()*Ximage->bytes_per_line + iP.get_j()*Ximage->bits_per_pixel/8);
+//      dst_16 = (unsigned short *) dst_8;
+
+//      unsigned int i = 0;
+//      while (i < h) {
+//        unsigned int j = 0;
+
+//        while (j < w) {
+//          *(dst_16 + j) = ( unsigned short ) colortable[*(src_8+j)];
+//          j++;
+//        }
+//        src_8  = src_8  + iwidth;
+//        dst_16 = dst_16 + Ximage->bytes_per_line;
+//        i++;
+//      }
+
       // Affichage de l'image dans la Pixmap.
-      XPutImage ( display, pixmap, context, Ximage, iP.get_u(), iP.get_v(), iP.get_u(), iP.get_v(), w, h );
+      XPutImage ( display, pixmap, context, Ximage, (int)iP.get_u(), (int)iP.get_v(), (int)iP.get_u(), (int)iP.get_v(), w, h );
       XSetWindowBackgroundPixmap ( display, window, pixmap );
       //        XClearWindow ( display, window );
       //        XSync ( display,1 );
@@ -1993,7 +2055,7 @@ void vpDisplayX::displayImageROI ( const vpImage<unsigned char> &I,const vpImage
       }
 
       // Affichage de l'image dans la Pixmap.
-      XPutImage ( display, pixmap, context, Ximage, iP.get_u(), iP.get_v(), iP.get_u(), iP.get_v(), w, h );
+      XPutImage ( display, pixmap, context, Ximage, (int)iP.get_u(), (int)iP.get_v(), (int)iP.get_u(), (int)iP.get_v(), w, h );
       XSetWindowBackgroundPixmap ( display, window, pixmap );
       //        XClearWindow ( display, window );
       //        XSync ( display,1 );
@@ -2030,9 +2092,32 @@ void vpDisplayX::displayImageROI ( const vpImage<vpRGBa> &I,const vpImagePoint &
 {
   if ( displayHasBeenInitialized )
   {
-
     switch ( screen_depth )
     {
+    case 16: {
+      unsigned short *dst_16 = NULL;
+      unsigned char  *dst_8  = NULL;
+      unsigned int r, g, b;
+      unsigned int bytes_per_line = (unsigned int)Ximage->bytes_per_line;
+      for ( unsigned int i = (unsigned int)iP.get_i(); i < (unsigned int)(iP.get_i()+h) ; i++ ) {
+        dst_8 =  (unsigned char  *) Ximage->data + i * bytes_per_line;
+        dst_16 = (unsigned short *) dst_8;
+        for ( unsigned int j=(unsigned int)iP.get_j() ; j < (unsigned int)(iP.get_j()+w); j++ )
+        {
+          r = I[i][j].R;
+          g = I[i][j].G;
+          b = I[i][j].B;
+          * ( dst_16 + j ) = (((r << 8) >> RShift) & RMask) |
+              (((g << 8) >> GShift) & GMask) |
+              (((b << 8) >> BShift) & BMask);
+        }
+      }
+
+      XPutImage ( display, pixmap, context, Ximage, 0, 0, 0, 0, width, height );
+      XSetWindowBackgroundPixmap ( display, window, pixmap );
+
+      break;
+    }
     case 24:
     case 32:
     {
@@ -2051,31 +2136,45 @@ void vpDisplayX::displayImageROI ( const vpImage<vpRGBa> &I,const vpImagePoint &
       dst_32 = dst_32 + (int)(iP.get_i()*4*this->width+ iP.get_j()*4);
 
       unsigned int i = 0;
-      while (i < h)
-      {
-        unsigned int j = 0;
-        while (j < w)
-        {
-#ifdef BIGENDIAN
-          *(dst_32+4*j) = (src_32+j)->A;
-          *(dst_32+4*j+1) = (src_32+j)->R;
-          *(dst_32+4*j+2) = (src_32+j)->G;
-          *(dst_32+4*j+3) = (src_32+j)->B;
-#else
-          *(dst_32+4*j) = (src_32+j)->B;
-          *(dst_32+4*j+1) = (src_32+j)->G;
-          *(dst_32+4*j+2) = (src_32+j)->R;
-          *(dst_32+4*j+3) = (src_32+j)->A;
-#endif
-          j++;
+
+      if (XImageByteOrder(display) == 1) {
+        // big endian
+        while (i < h) {
+          unsigned int j = 0;
+          while (j < w) {
+            *(dst_32+4*j) = (src_32+j)->A;
+            *(dst_32+4*j+1) = (src_32+j)->R;
+            *(dst_32+4*j+2) = (src_32+j)->G;
+            *(dst_32+4*j+3) = (src_32+j)->B;
+
+            j++;
+          }
+          src_32 = src_32 + iwidth;
+          dst_32 = dst_32 + 4*this->width;
+          i++;
+        }
+
+      }
+      else {
+        // little endian
+        while (i < h) {
+          unsigned int j = 0;
+          while (j < w) {
+            *(dst_32+4*j) = (src_32+j)->B;
+            *(dst_32+4*j+1) = (src_32+j)->G;
+            *(dst_32+4*j+2) = (src_32+j)->R;
+            *(dst_32+4*j+3) = (src_32+j)->A;
+
+            j++;
+          }
+          src_32 = src_32 + iwidth;
+          dst_32 = dst_32 + 4*this->width;
+          i++;
         }
-        src_32 = src_32 + iwidth;
-        dst_32 = dst_32 + 4*this->width;
-        i++;
       }
 
       // Affichage de l'image dans la Pixmap.
-      XPutImage ( display, pixmap, context, Ximage, iP.get_u(), iP.get_v(), iP.get_u(), iP.get_v(), w, h );
+      XPutImage ( display, pixmap, context, Ximage, (int)iP.get_u(), (int)iP.get_v(), (int)iP.get_u(), (int)iP.get_v(), w, h );
       XSetWindowBackgroundPixmap ( display, window, pixmap );
       //        XClearWindow ( display, window );
       //        XSync ( display,1 );
@@ -2163,7 +2262,7 @@ void vpDisplayX::flushDisplayROI(const vpImagePoint &iP, const unsigned int w, c
   if ( displayHasBeenInitialized )
   {
     //XClearWindow ( display, window );
-    XClearArea ( display, window,iP.get_u(),iP.get_v(),w,h,0 );
+    XClearArea ( display, window,(int)iP.get_u(),(int)iP.get_v(),w,h,0 );
     XFlush ( display );
   }
   else
@@ -2217,10 +2316,10 @@ void vpDisplayX::clearDisplay ( const vpColor &color )
   \param thickness : Thickness of the lines used to display the arrow.
 */
 void vpDisplayX::displayArrow ( const vpImagePoint &ip1, 
-				const vpImagePoint &ip2,
+                                const vpImagePoint &ip2,
                                 const vpColor &color,
                                 unsigned int w, unsigned int h,
-				unsigned int thickness)
+                                unsigned int thickness)
 {
   if ( displayHasBeenInitialized )
   {
@@ -2240,21 +2339,24 @@ void vpDisplayX::displayArrow ( const vpImagePoint &ip1,
         a /= lg ;
         b /= lg ;
 
-	vpImagePoint ip3;
+        vpImagePoint ip3;
         ip3.set_i(ip2.get_i() - w*a);
         ip3.set_j(ip2.get_j() - w*b);
 
-	vpImagePoint ip4;
-	ip4.set_i( ip3.get_i() - b*h );
-	ip4.set_j( ip3.get_j() + a*h );
+        vpImagePoint ip4;
+        ip4.set_i( ip3.get_i() - b*h );
+        ip4.set_j( ip3.get_j() + a*h );
 
-	displayLine ( ip2, ip4, color, thickness ) ;
+        if (lg > 2*vpImagePoint::distance(ip2, ip4) )
+          displayLine ( ip2, ip4, color, thickness ) ;
         
-	ip4.set_i( ip3.get_i() + b*h );
-	ip4.set_j( ip3.get_j() - a*h );
+        ip4.set_i( ip3.get_i() + b*h );
+        ip4.set_j( ip3.get_j() - a*h );
+
+        if (lg > 2*vpImagePoint::distance(ip2, ip4) )
+          displayLine ( ip2, ip4, color, thickness ) ;
 
-	displayLine ( ip2, ip4, color, thickness ) ;
-	displayLine ( ip1, ip2, color, thickness ) ;
+        displayLine ( ip1, ip2, color, thickness ) ;
       }
     }
     catch ( ... )
@@ -2750,7 +2852,7 @@ vpDisplayX::getClick(bool blocking)
     }
        
     if(ret){
-      /* Recuperation de la coordonnee du pixel cliqu�. */
+      /* Recuperation de la coordonnee du pixel clique. */
       if ( XQueryPointer ( display,
                            window,
                            &rootwin, &childwin,
@@ -2941,7 +3043,7 @@ vpDisplayX::getClickUp ( vpImagePoint &ip,
     }
        
     if(ret){
-      /* Recuperation de la coordonnee du pixel cliqu�. */
+      /* Recuperation de la coordonnee du pixel clique. */
       if ( XQueryPointer ( display,
                            window,
                            &rootwin, &childwin,
@@ -2974,14 +3076,9 @@ vpDisplayX::getClickUp ( vpImagePoint &ip,
 */
 void vpDisplayX::getImage ( vpImage<vpRGBa> &I )
 {
-
   if ( displayHasBeenInitialized )
   {
-
-
     XImage *xi ;
-    //xi= XGetImage ( display,window, 0,0, getWidth(), getHeight(),
-    //                AllPlanes, ZPixmap ) ;
 
     XCopyArea (display,window, pixmap, context,
                0,0, getWidth(), getHeight(), 0, 0);
@@ -3002,28 +3099,41 @@ void vpDisplayX::getImage ( vpImage<vpRGBa> &I )
     unsigned char       *src_32 = NULL;
     src_32 = ( unsigned char* ) xi->data;
 
-#ifdef BIGENDIAN
-    // little indian/big indian
-    for ( unsigned int i = 0; i < I.getWidth() * I.getHeight() ; i++ )
-    {
-      I.bitmap[i].A = src_32[i*4] ;
-      I.bitmap[i].R = src_32[i*4 + 1] ;
-      I.bitmap[i].G = src_32[i*4 + 2] ;
-      I.bitmap[i].B = src_32[i*4 + 3] ;
+    if (screen_depth == 16) {
+      for ( unsigned int i = 0; i < I.getHeight() ; i++ ) {
+        size_t i_ = i*I.getWidth();
+        for ( unsigned int j = 0; j < I.getWidth() ; j++ ) {
+          size_t ij_ = i_+j;
+          unsigned long pixel = XGetPixel(xi, (int)j, (int)i);
+          I.bitmap[ij_].R = (((pixel & RMask) << RShift) >> 8);
+          I.bitmap[ij_].G = (((pixel & GMask) << GShift) >> 8);
+          I.bitmap[ij_].B = (((pixel & BMask) << BShift) >> 8);
+          I.bitmap[ij_].A = 0;
+        }
+      }
+
     }
-#else
-    for ( unsigned int i = 0; i < I.getWidth() * I.getHeight() ; i++ )
-    {
-      I.bitmap[i].B = src_32[i*4] ;
-      I.bitmap[i].G = src_32[i*4 + 1] ;
-      I.bitmap[i].R = src_32[i*4 + 2] ;
-      I.bitmap[i].A = src_32[i*4 + 3] ;
+    else {
+      if (XImageByteOrder(display) == 1) {
+        // big endian
+        for ( unsigned int i = 0; i < I.getWidth() * I.getHeight() ; i++ ) {
+          I.bitmap[i].A = src_32[i*4] ;
+          I.bitmap[i].R = src_32[i*4 + 1] ;
+          I.bitmap[i].G = src_32[i*4 + 2] ;
+          I.bitmap[i].B = src_32[i*4 + 3] ;
+        }
+      }
+      else {
+        // little endian
+        for ( unsigned int i = 0; i < I.getWidth() * I.getHeight() ; i++ ) {
+          I.bitmap[i].B = src_32[i*4] ;
+          I.bitmap[i].G = src_32[i*4 + 1] ;
+          I.bitmap[i].R = src_32[i*4 + 2] ;
+          I.bitmap[i].A = src_32[i*4 + 3] ;
+        }
+      }
     }
-#endif
-
-
     XDestroyImage ( xi ) ;
-
   }
   else
   {
@@ -3271,10 +3381,20 @@ vpDisplayX::getPointerPosition ( vpImagePoint &ip)
   return ret ;
 }
 
+/*!
+  Get the position of the most significant bit.
+*/
+int vpDisplayX::getMsb(unsigned int u32val)
+{
+    int i;
+
+    for (i = 31;  i >= 0;  --i) {
+        if (u32val & 0x80000000L)
+            break;
+        u32val <<= 1;
+    }
+    return i;
+}
+
 #endif
 
-/*
- * Local variables:
- * c-basic-offset: 2
- * End:
- */
diff --git a/src/device/display/vpDisplayX.h b/src/device/display/vpDisplayX.h
index dd82a4f0a4ba801f0540cf309642e0600444ab41..7296f27b23e7e8c3ef61854de46adc92c187ece3 100644
--- a/src/device/display/vpDisplayX.h
+++ b/src/device/display/vpDisplayX.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpDisplayX.h 4632 2014-02-03 17:06:40Z fspindle $
+ * $Id: vpDisplayX.h 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -152,7 +152,6 @@ int main()
 class VISP_EXPORT vpDisplayX: public vpDisplay
 {
 private:
-  int num_Xdisplay ;
   Display 	*display ;
   Window   	window ;
   XImage   	*Ximage ;
@@ -169,7 +168,9 @@ private:
   XGCValues     values;
   int size ;
   bool ximage_data_init;
-  
+  unsigned int RMask, GMask, BMask;
+  int RShift, GShift, BShift;
+
 public:
   vpDisplayX() ;
   vpDisplayX(int winx, int winy, const char *title=NULL) ;
@@ -262,11 +263,15 @@ protected:
 
   bool getKeyboardEvent(bool blocking=true);
   bool getKeyboardEvent(char *string, bool blocking=true);
+
+  int getMsb(unsigned int u32val);
   bool getPointerMotionEvent (vpImagePoint &ip);
   bool getPointerPosition (vpImagePoint &ip);
 
   inline  unsigned int getWidth() const  { return width ; }
   inline  unsigned int getHeight() const { return height ; }
+
+
 } ; 
 
 
diff --git a/src/device/display/vpMouseButton.h b/src/device/display/vpMouseButton.h
index 081dd21e4f2e8c8063574175bd62be0f59bfa15b..b15e69fb6f23a3cf581c28f38fc9aff45aeb1917 100755
--- a/src/device/display/vpMouseButton.h
+++ b/src/device/display/vpMouseButton.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMouseButton.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpMouseButton.h 5232 2015-01-30 11:53:30Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -48,7 +48,7 @@
 /*!
   \class vpMouseButton
   \ingroup ImageGUI
-  \brief Class that defines mouse button identiers.
+  \brief Class that defines mouse button identifiers.
 */
 class VISP_EXPORT vpMouseButton
 {
@@ -56,7 +56,8 @@ public:
   typedef enum {
     button1 = 1, /*!< Mouse left button. */
     button2 = 2, /*!< Mouse middle button, or roll. */
-    button3 = 3  /*!< Mouse right button. */
+    button3 = 3,  /*!< Mouse right button. */
+    none = 0  /*!< No button. */
   } vpMouseButtonType ;
 } ;
 
diff --git a/src/device/display/windows/vpD3DRenderer.cpp b/src/device/display/windows/vpD3DRenderer.cpp
index 5ec259de7f29568e2d9b77ad80c65f323a3601a0..997c99c1ea84162855c4ff434e09408db6d8d336 100755
--- a/src/device/display/windows/vpD3DRenderer.cpp
+++ b/src/device/display/windows/vpD3DRenderer.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpD3DRenderer.cpp 4604 2014-01-21 14:15:23Z fspindle $
+ * $Id: vpD3DRenderer.cpp 4733 2014-05-19 20:44:05Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -1111,17 +1111,21 @@ void vpD3DRenderer::drawArrow(const vpImagePoint &ip1,
 
       vpImagePoint ip4 ;
 
-	  ip4.set_i( ip3.get_i() + b*_h );
-	  ip4.set_j( ip3.get_j() - a*_h );
+      ip4.set_i( ip3.get_i() + b*_h );
+      ip4.set_j( ip3.get_j() - a*_h );
 
-	  MoveToEx(hDCMem, vpMath::round(ip2.get_j()), vpMath::round(ip2.get_i()), NULL);
-	  LineTo(hDCMem, vpMath::round(ip4.get_j()), vpMath::round(ip4.get_i()));
+      if (lg > 2*vpImagePoint::distance(ip2, ip4) ) {
+        MoveToEx(hDCMem, vpMath::round(ip2.get_j()), vpMath::round(ip2.get_i()), NULL);
+        LineTo(hDCMem, vpMath::round(ip4.get_j()), vpMath::round(ip4.get_i()));
+      }
 
-	  ip4.set_i( ip3.get_i() - b*h );
-	  ip4.set_j( ip3.get_j() + a*h );
+      ip4.set_i( ip3.get_i() - b*h );
+      ip4.set_j( ip3.get_j() + a*h );
 
-	  MoveToEx(hDCMem, vpMath::round(ip2.get_j()), vpMath::round(ip2.get_i()), NULL);
-	  LineTo(hDCMem, vpMath::round(ip4.get_j()), vpMath::round(ip4.get_i()));
+      if (lg > 2*vpImagePoint::distance(ip2, ip4) ) {
+        MoveToEx(hDCMem, vpMath::round(ip2.get_j()), vpMath::round(ip2.get_i()), NULL);
+        LineTo(hDCMem, vpMath::round(ip4.get_j()), vpMath::round(ip4.get_i()));
+      }
 
       MoveToEx(hDCMem, vpMath::round(ip1.get_j()), vpMath::round(ip1.get_i()), NULL);
       LineTo(hDCMem, vpMath::round(ip2.get_j()), vpMath::round(ip2.get_i()));
diff --git a/src/device/display/windows/vpGDIRenderer.cpp b/src/device/display/windows/vpGDIRenderer.cpp
index 5a6e2f190fdbadddae2698d6cb69e1b1a40d7052..e67156db07dba5da0b09ab7e812f12e2da542c8b 100755
--- a/src/device/display/windows/vpGDIRenderer.cpp
+++ b/src/device/display/windows/vpGDIRenderer.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpGDIRenderer.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpGDIRenderer.cpp 4733 2014-05-19 20:44:05Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -1092,27 +1092,30 @@ void vpGDIRenderer::drawArrow(const vpImagePoint &ip1,
 
       //double t = 0 ;
       //while (t<=_l)
-	{
-	  ip4.set_i( ip3.get_i() - b*h );
-	  ip4.set_j( ip3.get_j() + a*h );
-
-	  MoveToEx(hDCMem, vpMath::round(ip2.get_u()), vpMath::round(ip2.get_v()), NULL);
-	  LineTo(hDCMem, vpMath::round(ip4.get_u()), vpMath::round(ip4.get_v()));
-
-	  // t+=0.1 ;
-	}
-
-	//t = 0 ;
-	//while (t>= -_l)
-	{
-	  ip4.set_i( ip3.get_i() + b*h );
-	  ip4.set_j( ip3.get_j() - a*h );
-
-	  MoveToEx(hDCMem, vpMath::round(ip2.get_u()), vpMath::round(ip2.get_v()), NULL);
-	  LineTo(hDCMem, vpMath::round(ip4.get_u()), vpMath::round(ip4.get_v()));
-
-	  // t-=0.1 ;
-	}
+      {
+        ip4.set_i( ip3.get_i() - b*h );
+        ip4.set_j( ip3.get_j() + a*h );
+
+        if (lg > 2*vpImagePoint::distance(ip2, ip4) ) {
+          MoveToEx(hDCMem, vpMath::round(ip2.get_u()), vpMath::round(ip2.get_v()), NULL);
+          LineTo(hDCMem, vpMath::round(ip4.get_u()), vpMath::round(ip4.get_v()));
+        }
+        // t+=0.1 ;
+      }
+
+      //t = 0 ;
+      //while (t>= -_l)
+      {
+        ip4.set_i( ip3.get_i() + b*h );
+        ip4.set_j( ip3.get_j() - a*h );
+
+        if (lg > 2*vpImagePoint::distance(ip2, ip4) ) {
+          MoveToEx(hDCMem, vpMath::round(ip2.get_u()), vpMath::round(ip2.get_v()), NULL);
+          LineTo(hDCMem, vpMath::round(ip4.get_u()), vpMath::round(ip4.get_v()));
+        }
+
+        // t-=0.1 ;
+      }
       MoveToEx(hDCMem, vpMath::round(ip1.get_u()), vpMath::round(ip1.get_v()), NULL);
       LineTo(hDCMem, vpMath::round(ip2.get_u()), vpMath::round(ip2.get_v()));
 
diff --git a/src/device/display/windows/vpWin32API.cpp b/src/device/display/windows/vpWin32API.cpp
index c396c28f58d820c23767929b6499f27938c55b9a..6580fedffbfb38b9a4e2b0de73cbd3b10d23b461 100644
--- a/src/device/display/windows/vpWin32API.cpp
+++ b/src/device/display/windows/vpWin32API.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpWin32API.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpWin32API.cpp 5285 2015-02-09 14:32:54Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -108,11 +108,12 @@ void vpSelectObject(HWND hWnd, HDC hDC, HDC hDCMem, HGDIOBJ h){
 
 BOOL vpReleaseSemaphore(HANDLE hSemaphore,LONG IReleaseCount,LPLONG lpPreviousCount){
   BOOL ret = ReleaseSemaphore(hSemaphore,IReleaseCount,lpPreviousCount);
+#ifndef __MINGW32__
   if(ret==0){
     vpProcessErrors("ReleaseSemaphore");
   }
+#endif
   return ret;
-  
 }
 
 void vpEnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection){
diff --git a/src/device/display/windows/vpWin32Window.cpp b/src/device/display/windows/vpWin32Window.cpp
index e72a3b64a88d9750e836dfd4f00084538090417f..700e088df1ed81177a0222117131cdbfc6504210 100755
--- a/src/device/display/windows/vpWin32Window.cpp
+++ b/src/device/display/windows/vpWin32Window.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpWin32Window.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpWin32Window.cpp 5285 2015-02-09 14:32:54Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -62,7 +62,11 @@
 
 //declares the window as thread local
 //allows multiple displays
+#ifdef __MINGW32__
+vpWin32Window * window;
+#else
 _declspec(thread) vpWin32Window * window;
+#endif
 
 bool vpWin32Window::registered = false; 
 /*!
diff --git a/src/device/framegrabber/1394/vp1394TwoGrabber.cpp b/src/device/framegrabber/1394/vp1394TwoGrabber.cpp
index f76e891dc5bbd1df0f16c0382b33919b53baa6b4..77848539eaff469d19906f06390c5ae61bae3ac4 100644
--- a/src/device/framegrabber/1394/vp1394TwoGrabber.cpp
+++ b/src/device/framegrabber/1394/vp1394TwoGrabber.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vp1394TwoGrabber.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vp1394TwoGrabber.cpp 4728 2014-04-23 12:26:44Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -337,23 +337,25 @@ vp1394TwoGrabber::setCamera(uint64_t cam_id)
     bool is_guid = false;
     // check if the camera_id is a guid
     for (unsigned int i=0; i< num_cameras; i++) {
-      if (cameras[i]->guid == camera_id) {
+      if (cameras[i]->guid == cam_id) {
         this->camera_id = i;
         is_guid = true;
         break;
       }
     }
     if (is_guid == false) {
+      std::cout << "Error: The camera with guid 0x" << std::hex << cam_id << " is not present" << std::endl;
+      std::cout << num_cameras << " camera(s) connected" << std::endl;
+      for (unsigned int i=0; i< num_cameras; i++) {
+        std::cout << " - camera " << i << " with guid 0x" << std::hex << cameras[i]->guid << std::endl;
+      }
       close();
-      vpERROR_TRACE("The camera with GUID 0x%x or id %u is not present", 
-		    camera_id, camera_id);
-      vpERROR_TRACE("Only %u camera on the bus.", num_cameras);
       throw (vpFrameGrabberException(vpFrameGrabberException::settingError,
 				     "The required camera is not present") );
     }
   }
   else {
-    this->camera_id =  cam_id;
+    this->camera_id = (unsigned int) cam_id; // The input cam_id is not a uint64_t guid, but the index of the camera
   }
 
   // create a pointer to the working camera
diff --git a/src/device/framegrabber/OpenCV/vpOpenCVGrabber.cpp b/src/device/framegrabber/OpenCV/vpOpenCVGrabber.cpp
index 47981f98f5e7c5626634338f17f23007e4674997..55a576592ee913bf13fefe53162cf7d43d9fa53a 100644
--- a/src/device/framegrabber/OpenCV/vpOpenCVGrabber.cpp
+++ b/src/device/framegrabber/OpenCV/vpOpenCVGrabber.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpOpenCVGrabber.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpOpenCVGrabber.cpp 5023 2014-12-03 16:07:48Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -46,7 +46,7 @@
 
 #include <visp/vpOpenCVGrabber.h>
 
-#if defined(VISP_HAVE_OPENCV)
+#if ( defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION < 0x020408))
 
 #include <visp/vpImageConvert.h>
 #include <visp/vpFrameGrabberException.h>
diff --git a/src/device/framegrabber/OpenCV/vpOpenCVGrabber.h b/src/device/framegrabber/OpenCV/vpOpenCVGrabber.h
index d9f11e2bb7e47273be0318199d049c248d6df873..1587a92b3ec912e82aca25793bc3da850ab1fa5c 100644
--- a/src/device/framegrabber/OpenCV/vpOpenCVGrabber.h
+++ b/src/device/framegrabber/OpenCV/vpOpenCVGrabber.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpOpenCVGrabber.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpOpenCVGrabber.h 5023 2014-12-03 16:07:48Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -49,7 +49,7 @@
 
 #include <visp/vpConfig.h>
 
-#if defined(VISP_HAVE_OPENCV)
+#if ( defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION < 0x020408))
 
 #if VISP_HAVE_OPENCV_VERSION >= 0x020101
 #  include <opencv2/highgui/highgui.hpp>
diff --git a/src/device/framegrabber/v4l2/vpV4l2Grabber.cpp b/src/device/framegrabber/v4l2/vpV4l2Grabber.cpp
index ec0ce3d7fac70fdcdaf4485c31a84ae9e8079dc3..57ec4c776914ee9492586265a4d6fccfc7b72146 100644
--- a/src/device/framegrabber/v4l2/vpV4l2Grabber.cpp
+++ b/src/device/framegrabber/v4l2/vpV4l2Grabber.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpV4l2Grabber.cpp 4656 2014-02-07 17:21:28Z fspindle $
+ * $Id: vpV4l2Grabber.cpp 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -115,24 +115,14 @@ const unsigned int vpV4l2Grabber::FRAME_SIZE    = 288;
 
 */
 vpV4l2Grabber::vpV4l2Grabber()
+  : fd(-1), device(), cap(), streamparm(), inp(NULL), std(NULL), fmt(NULL), ctl(NULL),
+    fps(0), fmt_v4l2(), fmt_me(), reqbufs(), buf_v4l2(NULL), buf_me(NULL), queue(0),
+    waiton_cpt(0), index_buffer(0), m_verbose(false), m_nbuffers(3), field(0), streaming(false),
+    m_input(vpV4l2Grabber::DEFAULT_INPUT),
+    m_framerate(vpV4l2Grabber::framerate_25fps),
+    m_frameformat(vpV4l2Grabber::V4L2_FRAME_FORMAT),
+    m_pixelformat(vpV4l2Grabber::V4L2_YUYV_FORMAT)
 {
-  fd        = -1;
-  streaming = false;
-  verbose   = false;
-  field     = 0;
-  width     = 0;
-  height    = 0;
-  queue     = 0;
-  waiton_cpt= 0;
-  index_buffer = 0;
-
-  inp       = NULL;
-  std       = NULL;
-  fmt       = NULL;
-  ctl       = NULL;
-  buf_v4l2  = NULL;
-  buf_me    = NULL;
-
   setDevice("/dev/video0");
   setNBuffers(3);
   setFramerate(vpV4l2Grabber::framerate_25fps);
@@ -184,24 +174,14 @@ vpV4l2Grabber::vpV4l2Grabber()
 
 */
 vpV4l2Grabber::vpV4l2Grabber(bool verbose)
+  : fd(-1), device(), cap(), streamparm(), inp(NULL), std(NULL), fmt(NULL), ctl(NULL),
+    fps(0), fmt_v4l2(), fmt_me(), reqbufs(), buf_v4l2(NULL), buf_me(NULL), queue(0),
+    waiton_cpt(0), index_buffer(0), m_verbose(verbose), m_nbuffers(3), field(0), streaming(false),
+    m_input(vpV4l2Grabber::DEFAULT_INPUT),
+    m_framerate(vpV4l2Grabber::framerate_25fps),
+    m_frameformat(vpV4l2Grabber::V4L2_FRAME_FORMAT),
+    m_pixelformat(vpV4l2Grabber::V4L2_YUYV_FORMAT)
 {
-  fd        = -1;
-  streaming = false;
-  this->verbose   = verbose;
-  field     = 0;
-  width     = 0;
-  height    = 0;
-  queue     = 0;
-  waiton_cpt= 0;
-  index_buffer = 0;
-
-  inp       = NULL;
-  std       = NULL;
-  fmt       = NULL;
-  ctl       = NULL;
-  buf_v4l2  = NULL;
-  buf_me    = NULL;
-
   setDevice("/dev/video0");
   setNBuffers(3);
   setFramerate(vpV4l2Grabber::framerate_25fps);
@@ -244,24 +224,14 @@ vpV4l2Grabber::vpV4l2Grabber(bool verbose)
     \endcode
 */
 vpV4l2Grabber::vpV4l2Grabber(unsigned input, unsigned scale)
+  : fd(-1), device(), cap(), streamparm(), inp(NULL), std(NULL), fmt(NULL), ctl(NULL),
+    fps(0), fmt_v4l2(), fmt_me(), reqbufs(), buf_v4l2(NULL), buf_me(NULL), queue(0),
+    waiton_cpt(0), index_buffer(0), m_verbose(false), m_nbuffers(3), field(0), streaming(false),
+    m_input(vpV4l2Grabber::DEFAULT_INPUT),
+    m_framerate(vpV4l2Grabber::framerate_25fps),
+    m_frameformat(vpV4l2Grabber::V4L2_FRAME_FORMAT),
+    m_pixelformat(vpV4l2Grabber::V4L2_YUYV_FORMAT)
 {
-  fd        = -1;
-  streaming = false;
-  verbose   = false;
-  field     = 0;
-  width     = 0;
-  height    = 0;
-  queue     = 0;
-  waiton_cpt= 0;
-  index_buffer = 0;
-
-  inp       = NULL;
-  std       = NULL;
-  fmt       = NULL;
-  ctl       = NULL;
-  buf_v4l2  = NULL;
-  buf_me    = NULL;
-
   setDevice("/dev/video0");
   setNBuffers(3);
   setFramerate(vpV4l2Grabber::framerate_25fps);
@@ -302,26 +272,15 @@ vpV4l2Grabber::vpV4l2Grabber(unsigned input, unsigned scale)
 
     \endcode
 */
-vpV4l2Grabber::vpV4l2Grabber(vpImage<unsigned char> &I,
-			     unsigned input, unsigned scale )
+vpV4l2Grabber::vpV4l2Grabber(vpImage<unsigned char> &I, unsigned input, unsigned scale )
+  : fd(-1), device(), cap(), streamparm(), inp(NULL), std(NULL), fmt(NULL), ctl(NULL),
+    fps(0), fmt_v4l2(), fmt_me(), reqbufs(), buf_v4l2(NULL), buf_me(NULL), queue(0),
+    waiton_cpt(0), index_buffer(0), m_verbose(false), m_nbuffers(3), field(0), streaming(false),
+    m_input(vpV4l2Grabber::DEFAULT_INPUT),
+    m_framerate(vpV4l2Grabber::framerate_25fps),
+    m_frameformat(vpV4l2Grabber::V4L2_FRAME_FORMAT),
+    m_pixelformat(vpV4l2Grabber::V4L2_YUYV_FORMAT)
 {
-  fd        = -1;
-  streaming = false;
-  verbose   = false;
-  field     = 0;
-  width     = 0;
-  height    = 0;
-  queue     = 0;
-  waiton_cpt= 0;
-  index_buffer = 0;
-
-  inp       = NULL;
-  std       = NULL;
-  fmt       = NULL;
-  ctl       = NULL;
-  buf_v4l2  = NULL;
-  buf_me    = NULL;
-
   setDevice("/dev/video0");
   setNBuffers(3);
   setFramerate(vpV4l2Grabber::framerate_25fps);
@@ -339,8 +298,8 @@ vpV4l2Grabber::vpV4l2Grabber(vpImage<unsigned char> &I,
   Setup the Video For Linux Two (V4L2) driver in streaming mode.
 
   \param I : Image data structure (Color RGB32 bits image)
-  \param _input : Video input port.
-  \param _scale : Decimation factor.
+  \param input : Video input port.
+  \param scale : Decimation factor.
 
   Default settings are:
 
@@ -365,30 +324,20 @@ vpV4l2Grabber::vpV4l2Grabber(vpImage<unsigned char> &I,
     \endcode
 
 */
-vpV4l2Grabber::vpV4l2Grabber(vpImage<vpRGBa> &I, unsigned _input, unsigned _scale )
+vpV4l2Grabber::vpV4l2Grabber(vpImage<vpRGBa> &I, unsigned input, unsigned scale )
+  : fd(-1), device(), cap(), streamparm(), inp(NULL), std(NULL), fmt(NULL), ctl(NULL),
+    fps(0), fmt_v4l2(), fmt_me(), reqbufs(), buf_v4l2(NULL), buf_me(NULL), queue(0),
+    waiton_cpt(0), index_buffer(0), m_verbose(false), m_nbuffers(3), field(0), streaming(false),
+    m_input(vpV4l2Grabber::DEFAULT_INPUT),
+    m_framerate(vpV4l2Grabber::framerate_25fps),
+    m_frameformat(vpV4l2Grabber::V4L2_FRAME_FORMAT),
+    m_pixelformat(vpV4l2Grabber::V4L2_YUYV_FORMAT)
 {
-  fd        = -1;
-  streaming = false;
-  verbose   = false;
-  field     = 0;
-  width     = 0;
-  height    = 0;
-  queue     = 0;
-  waiton_cpt= 0;
-  index_buffer = 0;
-
-  inp       = NULL;
-  std       = NULL;
-  fmt       = NULL;
-  ctl       = NULL;
-  buf_v4l2  = NULL;
-  buf_me    = NULL;
-
   setDevice("/dev/video0");
   setNBuffers(3);
   setFramerate(vpV4l2Grabber::framerate_25fps);
-  setInput(_input);
-  setScale(_scale);
+  setInput(input);
+  setScale(scale);
 
   init = false;
 
@@ -411,7 +360,7 @@ vpV4l2Grabber::~vpV4l2Grabber()
 void
 vpV4l2Grabber::setInput(unsigned input)
 {
-  this->input = input;
+  this->m_input = input;
 }
 
 /*!
@@ -457,9 +406,9 @@ vpV4l2Grabber::open(vpImage<unsigned char> &I)
 {
   open();
 
-  if( v4l2_ioctl (fd, VIDIOC_S_INPUT, &input) == -1 )
+  if( v4l2_ioctl (fd, VIDIOC_S_INPUT, &m_input) == -1 )
   {
-    std::cout << "Warning: cannot set input channel to " << input << std::endl;
+    std::cout << "Warning: cannot set input channel to " << m_input << std::endl;
   }
   
   vpV4l2PixelFormatType req_pixelformat = getPixelFormat();
@@ -470,7 +419,7 @@ vpV4l2Grabber::open(vpImage<unsigned char> &I)
     startStreaming();
   }
   catch(...) {
-    if (verbose) {
+    if (m_verbose) {
       std::cout << "Requested pixel format [" << req_pixelformat 
 		<< "] not compatible with camera" << std::endl;
       std::cout << "Try to found a compatible pixel format..." << std::endl;
@@ -485,15 +434,15 @@ vpV4l2Grabber::open(vpImage<unsigned char> &I)
 	setPixelFormat((vpV4l2PixelFormatType)format);
 	setFormat();
 	startStreaming();
-	if (verbose)
-	  std::cout << "This format [" << pixelformat 
+  if (m_verbose)
+    std::cout << "This format [" << m_pixelformat
 		    << "] is compatible with camera" << std::endl;
 	
 	break;
       }
       catch (...) {
-	if (verbose)
-	  std::cout << "This format [" << pixelformat 
+  if (m_verbose)
+    std::cout << "This format [" << m_pixelformat
 		    << "] is not compatible with camera" << std::endl;
 	if (format == (int)V4L2_MAX_FORMAT) {
 	  std::cout << "No pixel format compatible with the camera was found" << std::endl;
@@ -525,9 +474,9 @@ vpV4l2Grabber::open(vpImage<vpRGBa> &I)
 {
   open();
 
-  if( v4l2_ioctl (fd, VIDIOC_S_INPUT, &input) == -1 )
+  if( v4l2_ioctl (fd, VIDIOC_S_INPUT, &m_input) == -1 )
   {
-    std::cout << "Warning: cannot set input channel to " << input << std::endl;
+    std::cout << "Warning: cannot set input channel to " << m_input << std::endl;
   }
 
   vpV4l2PixelFormatType req_pixelformat = getPixelFormat();
@@ -538,8 +487,8 @@ vpV4l2Grabber::open(vpImage<vpRGBa> &I)
     startStreaming();
   }
   catch(...) {
-    if (verbose) {
-      std::cout << "Requested pixel format [" << pixelformat 
+    if (m_verbose) {
+      std::cout << "Requested pixel format [" << m_pixelformat
 		<< "] not compatible with camera" << std::endl;
       std::cout << "Try to found a compatible pixel format..." << std::endl;
     }
@@ -553,15 +502,15 @@ vpV4l2Grabber::open(vpImage<vpRGBa> &I)
 	setPixelFormat((vpV4l2PixelFormatType)format);
 	setFormat();
 	startStreaming();
-	if (verbose)
-	  std::cout << "This format [" << pixelformat 
+  if (m_verbose)
+    std::cout << "This format [" << m_pixelformat
 		    << "] is compatible with camera" << std::endl;
 	
 	break;
       }
       catch (...) {
-	if (verbose)
-	  std::cout << "This format [" << pixelformat 
+  if (m_verbose)
+    std::cout << "This format [" << m_pixelformat
 		    << "] is not compatible with camera" << std::endl;
 
       }
@@ -628,7 +577,7 @@ vpV4l2Grabber::acquire(vpImage<unsigned char> &I, struct timeval &timestamp)
   if ((I.getWidth() != width)||(I.getHeight() != height))
     I.resize(height, width) ;
 
-  switch(pixelformat) {
+  switch(m_pixelformat) {
   case V4L2_GREY_FORMAT:
     memcpy(I.bitmap, bitmap, height * width*sizeof(unsigned char));
     break;
@@ -711,7 +660,7 @@ vpV4l2Grabber::acquire(vpImage<vpRGBa> &I, struct timeval &timestamp)
 
   // The framegrabber acquire aRGB format. We just shift the data from 1 byte all the data and initialize the last byte
 
-  switch(pixelformat) {
+  switch(m_pixelformat) {
   case V4L2_GREY_FORMAT:
     vpImageConvert::GreyToRGBa((unsigned char *) bitmap, (unsigned char *) I.bitmap, width*height);
     break;
@@ -784,7 +733,7 @@ vpV4l2Grabber::getField()
 void
 vpV4l2Grabber::setFramerate(vpV4l2Grabber::vpV4l2FramerateType framerate)
 {
-   this->framerate = framerate;
+   this->m_framerate = framerate;
 
    if (framerate == vpV4l2Grabber::framerate_25fps)
      setFrameFormat(V4L2_IMAGE_FORMAT);
@@ -805,7 +754,7 @@ vpV4l2Grabber::setFramerate(vpV4l2Grabber::vpV4l2FramerateType framerate)
 vpV4l2Grabber::vpV4l2FramerateType
 vpV4l2Grabber::getFramerate()
 {
-  return framerate;
+  return m_framerate;
 }
 
 
@@ -894,7 +843,7 @@ vpV4l2Grabber::open()
     throw (vpFrameGrabberException(vpFrameGrabberException::otherError,
 				   "Is not a V4L2 device") );
   }
-  if (verbose) {
+  if (m_verbose) {
     fprintf(stdout, "v4l2 info:\n"
 	    "     device: %s\n"
 	    "     %s %d.%d.%d / %s @ %s\n",
@@ -929,7 +878,6 @@ vpV4l2Grabber::open()
     else
       fprintf(stdout, "     Does not support time per frame field\n");
     // Get framerate
-    struct v4l2_streamparm streamparm;
     streamparm.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
     if (v4l2_ioctl(fd, VIDIOC_G_PARM, &streamparm) != -1) {
       fprintf(stdout, "     Current acquisition framerate: %d fps\n",
@@ -993,30 +941,30 @@ vpV4l2Grabber::getCapabilities()
 void
 vpV4l2Grabber::setFormat()
 {
-  fmt_me.width  = _width;
-  fmt_me.height = _height;
-  //fmt_me.bytesperline = _width; // bad (normally _width * depth / 8), but works
+  fmt_me.width  = width;
+  fmt_me.height = height;
+  //fmt_me.bytesperline = width; // bad (normally width * depth / 8), but works
   // because initialized later by an ioctl call to VIDIOC_S_FMT
 
-  switch(pixelformat) {
+  switch(m_pixelformat) {
   case V4L2_GREY_FORMAT : fmt_me.pixelformat = V4L2_PIX_FMT_GREY; 
-    if (verbose) 
+    if (m_verbose)
       fprintf(stdout,"v4l2: new capture params (V4L2_PIX_FMT_GREY)\n");
     break;
   case V4L2_RGB24_FORMAT: fmt_me.pixelformat = V4L2_PIX_FMT_RGB24; 
-    if (verbose) 
+    if (m_verbose)
       fprintf(stdout,"v4l2: new capture params (V4L2_PIX_FMT_RGB24)\n");
     break;
   case V4L2_RGB32_FORMAT: fmt_me.pixelformat = V4L2_PIX_FMT_RGB32; 
-    if (verbose) 
+    if (m_verbose)
       fprintf(stdout,"v4l2: new capture params (V4L2_PIX_FMT_RGB32)\n");
     break;
   case V4L2_BGR24_FORMAT: fmt_me.pixelformat = V4L2_PIX_FMT_BGR24; 
-    if (verbose) 
+    if (m_verbose)
       fprintf(stdout,"v4l2: new capture params (V4L2_PIX_FMT_BGR24)\n");
     break;
   case V4L2_YUYV_FORMAT: fmt_me.pixelformat = V4L2_PIX_FMT_YUYV;
-    if (verbose) 
+    if (m_verbose)
       fprintf(stdout,"v4l2: new capture params (V4L2_PIX_FMT_YUYV)\n");
     break;
 
@@ -1044,14 +992,14 @@ vpV4l2Grabber::setFormat()
   //printf("1 - w: %d h: %d\n", fmt_v4l2.fmt.pix.width, fmt_v4l2.fmt.pix.height);
 
 
-  switch (frameformat) {
+  switch (m_frameformat) {
   case V4L2_FRAME_FORMAT: fmt_v4l2.fmt.pix.field = V4L2_FIELD_ALTERNATE;
-    if (verbose) {
+    if (m_verbose) {
       fprintf(stdout,"v4l2: new capture params (V4L2_FIELD_ALTERNATE)\n");
     }
     break;
   case V4L2_IMAGE_FORMAT: fmt_v4l2.fmt.pix.field = V4L2_FIELD_INTERLACED;
-    if (verbose) {
+    if (m_verbose) {
       fprintf(stdout,"v4l2: new capture params (V4L2_FIELD_INTERLACED)\n");
     }
     break;
@@ -1063,9 +1011,7 @@ vpV4l2Grabber::setFormat()
   }
 
   //height and width of the captured image or frame
-  width = _width;
-  height = _height;
-  if( frameformat == V4L2_FRAME_FORMAT && height > FRAME_SIZE )
+  if( m_frameformat == V4L2_FRAME_FORMAT && height > FRAME_SIZE )
   {
     height = FRAME_SIZE;
   }
@@ -1093,7 +1039,7 @@ vpV4l2Grabber::setFormat()
   fmt_me.height       = fmt_v4l2.fmt.pix.height;
   fmt_me.bytesperline = fmt_v4l2.fmt.pix.bytesperline;
 
-  if (verbose) {
+  if (m_verbose) {
     fprintf(stdout,"v4l2: new capture params (%dx%d, %c%c%c%c, %d byte, %d bytes per line)\n",
 	    fmt_me.width, fmt_me.height,
 	    fmt_v4l2.fmt.pix.pixelformat & 0xff,
@@ -1123,7 +1069,7 @@ vpV4l2Grabber::startStreaming()
 
   /* setup buffers */
   memset (&(reqbufs), 0, sizeof (reqbufs));
-  reqbufs.count  = nbuffers;
+  reqbufs.count  = m_nbuffers;
   reqbufs.type   = V4L2_BUF_TYPE_VIDEO_CAPTURE;
   reqbufs.memory = V4L2_MEMORY_MMAP;
 
@@ -1155,7 +1101,7 @@ vpV4l2Grabber::startStreaming()
     memcpy(&buf_me[i].fmt, &fmt_me, sizeof(ng_video_fmt));
     buf_me[i].size = buf_me[i].fmt.bytesperline * buf_me[i].fmt.height;
 
-    // if (verbose)
+    // if (m_verbose)
     //   std::cout << "1: buf_v4l2[" << i << "].length: " << buf_v4l2[i].length
     // 	   << " buf_v4l2[" << i << "].offset: " <<  buf_v4l2[i].m.offset
     // 	   << std::endl;
@@ -1174,7 +1120,7 @@ vpV4l2Grabber::startStreaming()
 
     buf_me[i].refcount = 0;
 
-//     if (verbose)
+//     if (m_verbose)
 //     {
 //       std::cout << "2: buf_v4l2[" << i << "].length: " << buf_v4l2[i].length
 // 	   << " buf_v4l2[" << i << "].offset: " <<  buf_v4l2[i].m.offset
@@ -1182,7 +1128,7 @@ vpV4l2Grabber::startStreaming()
 //       std::cout << "2: buf_me[" << i << "].size: " << buf_me[i].size << std::endl;
 //     }
 
-    if (verbose)
+    if (m_verbose)
       printBufInfo(buf_v4l2[i]);
   }
 
@@ -1222,7 +1168,7 @@ vpV4l2Grabber::stopStreaming()
     }
     /* free buffers */
     for (i = 0; i < reqbufs.count; i++) {
-      if (verbose)
+      if (m_verbose)
 	printBufInfo(buf_v4l2[i]);
       //vpTRACE("v4l2_munmap()");
 
@@ -1317,7 +1263,7 @@ vpV4l2Grabber::waiton(__u32 &index, struct timeval &timestamp)
 
   timestamp = buf_v4l2[index].timestamp;
 
-  // if(verbose)
+  // if(m_verbose)
   // {
   //   vpERROR_TRACE("field: %d\n", buf_v4l2[index].field);
 
diff --git a/src/device/framegrabber/v4l2/vpV4l2Grabber.h b/src/device/framegrabber/v4l2/vpV4l2Grabber.h
index 3c672b86556deb879852a2493b83a7d137de7bfe..08d4ad225087b9a6f88f959c5c8b908c6bd6d709 100644
--- a/src/device/framegrabber/v4l2/vpV4l2Grabber.h
+++ b/src/device/framegrabber/v4l2/vpV4l2Grabber.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpV4l2Grabber.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpV4l2Grabber.h 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -200,9 +200,9 @@ public:
   vpV4l2Grabber(bool verbose);
   vpV4l2Grabber(unsigned input, unsigned scale = vpV4l2Grabber::DEFAULT_SCALE);
   vpV4l2Grabber(vpImage<unsigned char> &I,
-		unsigned input, unsigned scale = vpV4l2Grabber::DEFAULT_SCALE);
+                unsigned input, unsigned scale = vpV4l2Grabber::DEFAULT_SCALE);
   vpV4l2Grabber(vpImage<vpRGBa> &I,
-		unsigned input, unsigned scale = vpV4l2Grabber::DEFAULT_SCALE);
+                unsigned input, unsigned scale = vpV4l2Grabber::DEFAULT_SCALE);
   virtual ~vpV4l2Grabber() ;
 
 public:
@@ -224,14 +224,14 @@ public:
   */  
   inline vpV4l2PixelFormatType getPixelFormat() 
   {
-    return (this->pixelformat);
+    return (this->m_pixelformat);
   }
   /*!
     Activates the verbose mode to print additional information on stdout.
     \param verbose : If true activates the verbose mode.
   */
   void setVerboseMode(bool verbose) {
-    this->verbose = verbose;
+    this->m_verbose = verbose;
   };
   void setFramerate(vpV4l2FramerateType framerate);
 
@@ -241,17 +241,17 @@ public:
     Set image width to acquire.
 
   */
-  inline void setWidth(unsigned width)
+  inline void setWidth(unsigned w)
   {
-    this->_width = width;
+    this->width = w;
   }
   /*!
     Set image height to acquire.
 
   */
-  inline void setHeight(unsigned height)
+  inline void setHeight(unsigned h)
   {
-    this->_height = height;
+    this->height = h;
   }
 
   void setScale(unsigned scale = vpV4l2Grabber::DEFAULT_SCALE) ;
@@ -269,7 +269,7 @@ public:
   */
   inline void setNBuffers(unsigned nbuffers)
   {
-    this->nbuffers = nbuffers;
+    this->m_nbuffers = nbuffers;
   }
 
   /*!
@@ -278,9 +278,9 @@ public:
     \param devname : Device name (like /dev/video0).
 
   */
-  inline void setDevice(const char *devname)
+  inline void setDevice(const std::string &devname)
   {
-    sprintf(device, "%s", devname);
+    sprintf(device, "%s", devname.c_str());
   }
   /*!
 
@@ -292,9 +292,9 @@ public:
   */  
   inline void setPixelFormat(vpV4l2PixelFormatType pixelformat) 
   {
-    this->pixelformat = pixelformat;
-    if (this->pixelformat >= V4L2_MAX_FORMAT) 
-      this->pixelformat = V4L2_RGB24_FORMAT;
+    this->m_pixelformat = pixelformat;
+    if (this->m_pixelformat >= V4L2_MAX_FORMAT)
+      this->m_pixelformat = V4L2_RGB24_FORMAT;
   }
 
   void close();
@@ -311,7 +311,7 @@ private:
   */
   inline void setFrameFormat(vpV4l2FrameFormatType frameformat)
   {
-    this->frameformat = frameformat;
+    this->m_frameformat = frameformat;
   }
   void open();
   void getCapabilities();
@@ -344,17 +344,15 @@ private:
   unsigned int                  waiton_cpt;
   __u32				index_buffer; //!< index of the buffer in use
 
-  bool		verbose;
-  unsigned	nbuffers;
+  bool		m_verbose;
+  unsigned	m_nbuffers;
   unsigned int field;
   bool		streaming;
 
-  unsigned      input;
-  unsigned      _width;
-  unsigned      _height;
-  vpV4l2FramerateType framerate;
-  vpV4l2FrameFormatType frameformat;
-  vpV4l2PixelFormatType pixelformat;
+  unsigned      m_input;
+  vpV4l2FramerateType m_framerate;
+  vpV4l2FrameFormatType m_frameformat;
+  vpV4l2PixelFormatType m_pixelformat;
 } ;
 
 #endif
diff --git a/src/device/kinect/vpKinect.cpp b/src/device/kinect/vpKinect.cpp
index 9fe7abe1778f4af113ad5a6b6b00a9c5737f2ca6..1f032d0e570cf2578f299f504ce9586bd490c8f5 100644
--- a/src/device/kinect/vpKinect.cpp
+++ b/src/device/kinect/vpKinect.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpKinect.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpKinect.cpp 5126 2015-01-05 22:07:11Z fspindle $
  *
  *
  * This file is part of the ViSP software.
@@ -56,7 +56,10 @@
 */
 vpKinect::vpKinect(freenect_context *ctx, int index)
   : Freenect::FreenectDevice(ctx, index),
+    m_rgb_mutex(), m_depth_mutex(), RGBcam(), IRcam(),
+    rgbMir(), irMrgb(), DMres(DMAP_LOW_RES),
     hd(240), wd(320),
+    dmap(), IRGB(),
     m_new_rgb_frame(false),
     m_new_depth_map(false),
     m_new_depth_image(false),
@@ -79,7 +82,7 @@ vpKinect::~vpKinect()
 
 void vpKinect::start(vpKinect::vpDMResolution res)
 {
-    DMres = res;
+  DMres = res;
 	height = 480;
 	width = 640;
   //!Calibration parameters are the parameters found for our Kinect device. Note that they can differ from one device to another.
@@ -240,12 +243,12 @@ bool vpKinect::getDepthMap(vpImage<float>& map,vpImage<unsigned char>& Imap)
 /*!
   Get RGB image
 */
-bool vpKinect::getRGB(vpImage<vpRGBa>& IRGB)
+bool vpKinect::getRGB(vpImage<vpRGBa>& I_RGB)
 {
   vpMutex::vpScopedLock lock(m_rgb_mutex);
   if (!m_new_rgb_frame)
     return false;
-  IRGB = this->IRGB;
+  I_RGB = this->IRGB;
   m_new_rgb_frame = false;
   return true;
 }
diff --git a/src/device/light/vpRingLight.cpp b/src/device/light/vpRingLight.cpp
index 2f02477b05cd9f723d490589f5318b2dadfe6ae4..74a5924c7beea95d1d6d0aecaef7a73294d53e16 100644
--- a/src/device/light/vpRingLight.cpp
+++ b/src/device/light/vpRingLight.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpRingLight.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpRingLight.cpp 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -74,7 +74,7 @@
 
   Turn the ring light off.
 */
-vpRingLight::vpRingLight()
+vpRingLight::vpRingLight() : parport()
 {
   off();
 }
diff --git a/src/image/vpColor.h b/src/image/vpColor.h
index db77d187dfbef544b7651b91f019e4633d70b335..adeaea2043a6e1ca5e538991b3dd13125cc42bbf 100644
--- a/src/image/vpColor.h
+++ b/src/image/vpColor.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpColor.h 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpColor.h 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -205,6 +205,8 @@ class VISP_EXPORT vpColor : public vpRGBa
      vpColor::vpColorIdentifier cid=vpColor::id_unknown)
     : vpRGBa(r, g, b), id(cid)
   {};
+  /*! Default destructor. */
+  inline virtual ~vpColor() {};
 
   friend VISP_EXPORT bool operator==( const vpColor &c1, const vpColor &c2 );
   friend VISP_EXPORT bool operator!=( const vpColor &c1, const vpColor &c2 );
diff --git a/src/image/vpImage.h b/src/image/vpImage.h
index e485d515d149b100e45b3d8ad2fd86e5572277f1..bc17911aca4d53e19ae3f749a7f28fa456305150 100644
--- a/src/image/vpImage.h
+++ b/src/image/vpImage.h
@@ -1,10 +1,10 @@
 /****************************************************************************
  *
- * $Id: vpImage.h 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpImage.h 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
- * 
+ *
  * This software is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  * ("GPL") version 2 as published by the Free Software Foundation.
@@ -12,11 +12,11 @@
  * distribution for additional information about the GNU GPL.
  *
  * For using ViSP with software that can not be combined with the GNU
- * GPL, please contact INRIA about acquiring a ViSP Professional 
+ * GPL, please contact INRIA about acquiring a ViSP Professional
  * Edition License.
  *
  * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
- * 
+ *
  * This software was developed at:
  * INRIA Rennes - Bretagne Atlantique
  * Campus Universitaire de Beaulieu
@@ -26,7 +26,7 @@
  *
  * If you have questions regarding the use of this file, please contact
  * INRIA at visp@inria.fr
- * 
+ *
  * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
@@ -134,8 +134,10 @@ public:
   void init(unsigned int height, unsigned int width) ;
   //! set the size of the image
   void init(unsigned int height, unsigned int width, Type value) ;
-  //! set the size of the image
+  //! set the size of the image without initializing it.
   void resize(const unsigned int h, const unsigned int w) ;
+  //! set the size of the image and initialize it.
+  void resize(const unsigned int h, const unsigned int w, const Type val) ;
   //! destructor
   void destroy() ;
 
@@ -168,7 +170,7 @@ public:
   */
   inline  unsigned int getRows() const { return height ; }
 
-  /*!  
+  /*!
     Get the number of columns in the image.
 
     \return The image number of column, or image width.
@@ -177,7 +179,7 @@ public:
    */
    inline  unsigned int getCols() const { return width ; }
 
-  /*!  
+  /*!
     Get the image size.
 
     \return The image size = width * height.
@@ -246,15 +248,15 @@ public:
 
   */
   inline  void  operator()(const unsigned int i, const  unsigned int j,
-			   const Type &v)
+         const Type &v)
   {
     bitmap[i*width+j] = v ;
   }
   /*!
     Get the value of an image point.
 
-    \param ip : An image point with sub-pixel coordinates. Sub-pixel 
-	coordinates are roughly transformed to insigned int coordinates by cast.
+    \param ip : An image point with sub-pixel coordinates. Sub-pixel
+  coordinates are roughly transformed to insigned int coordinates by cast.
 
     \return Value of the image point \e ip.
 
@@ -271,14 +273,14 @@ public:
   /*!
     Set the value of an image point.
 
-    \param ip : An image point with sub-pixel coordinates. Sub-pixel 
-	coordinates are roughly transformed to insigned int coordinates by cast.
+    \param ip : An image point with sub-pixel coordinates. Sub-pixel
+  coordinates are roughly transformed to insigned int coordinates by cast.
 
     \param v : Value to set for the image point.
 
   */
   inline  void  operator()(const vpImagePoint &ip,
-			   const Type &v)
+         const Type &v)
   {
     unsigned int i = (unsigned int) ip.get_i();
     unsigned int j = (unsigned int) ip.get_j();
@@ -413,7 +415,7 @@ vpImage<Type>::init(unsigned int h, unsigned int w)
   {
         vpERROR_TRACE("cannot allocate bitmap ") ;
     throw(vpException(vpException::memoryAllocationError,
-		      "cannot allocate bitmap ")) ;
+          "cannot allocate bitmap ")) ;
   }
 
   if (row == NULL)  row = new  Type*[height] ;
@@ -422,7 +424,7 @@ vpImage<Type>::init(unsigned int h, unsigned int w)
   {
     vpERROR_TRACE("cannot allocate row ") ;
     throw(vpException(vpException::memoryAllocationError,
-		      "cannot allocate row ")) ;
+          "cannot allocate row ")) ;
   }
 
   unsigned int i ;
@@ -512,7 +514,9 @@ vpImage<Type>::vpImage()
 /*!
   \brief resize the image : Image initialization
 
-  Allocate memory for an [height x width] image
+  Allocate memory for an [height x width] image.
+
+  \warning The image is not initialized.
 
   \param w : Image width.
   \param h : Image height.
@@ -542,6 +546,41 @@ vpImage<Type>::resize(unsigned int h, unsigned int w)
   }
 }
 
+/*!
+  \brief resize the image : Image initialization
+
+  Allocate memory for an [height x width] image and initialize the image.
+
+  \param w : Image width.
+  \param h : Image height.
+  \param val : Pixels value.
+
+  Element of the bitmap are not initialized
+
+  If the image has been already initialized, memory allocation is done
+  only if the new image size is different, else we re-use the same
+  memory space.
+
+  \exception vpException::memoryAllocationError
+
+  \sa init(unsigned int, unsigned int)
+*/
+template<class Type>
+void
+vpImage<Type>::resize(unsigned int h, unsigned int w, const Type val)
+{
+  try
+  {
+    init(h, w, val) ;
+  }
+  catch(vpException me)
+  {
+    vpERROR_TRACE(" ") ;
+    throw ;
+  }
+}
+
+
 /*!
   \brief Destructor : Memory de-allocation
 
@@ -667,7 +706,7 @@ vpImage<Type> & vpImage<Type>::operator=(const vpImage<Type> &I)
     delete[] bitmap;
     bitmap = NULL ;
   }
-  
+
   if(row != NULL){
     delete[] row;
     row = NULL ;
@@ -679,28 +718,28 @@ vpImage<Type> & vpImage<Type>::operator=(const vpImage<Type> &I)
   {
     if(I.npixels != 0)
     {
-      if (bitmap == NULL){  
+      if (bitmap == NULL){
         bitmap = new  Type[npixels] ;
       }
 
       if (bitmap == NULL){
             vpERROR_TRACE("cannot allocate bitmap ") ;
         throw(vpException(vpException::memoryAllocationError,
-		          "cannot allocate bitmap ")) ;
+              "cannot allocate bitmap ")) ;
       }
 
-      if (row == NULL){  
+      if (row == NULL){
         row = new  Type*[height] ;
       }
       if (row == NULL){
         vpERROR_TRACE("cannot allocate row ") ;
         throw(vpException(vpException::memoryAllocationError,
-		          "cannot allocate row ")) ;
-      }      
+              "cannot allocate row ")) ;
+      }
 
       memcpy(bitmap, I.bitmap, I.npixels*sizeof(Type)) ;
 
-      for (unsigned int i=0; i<this->height; i++){ 
+      for (unsigned int i=0; i<this->height; i++){
         row[i] = bitmap + i*this->width;
       }
     }
@@ -737,15 +776,15 @@ vpImage<Type>& vpImage<Type>::operator=(const Type &v)
 template<class Type>
 bool vpImage<Type>::operator==(const vpImage<Type> &I)
 {
-	if (this->width != I.getWidth())
-		return false;
-	if (this->height != I.getHeight())
-		return false;
-		
-  for (unsigned int i=0 ; i < npixels ; i++) 
+  if (this->width != I.getWidth())
+    return false;
+  if (this->height != I.getHeight())
+    return false;
+
+  for (unsigned int i=0 ; i < npixels ; i++)
   {
     if (bitmap[i] != I.bitmap[i])
-    	return false;
+      return false;
   }
   return true ;
 }
@@ -814,53 +853,53 @@ vpImage<Type> vpImage<Type>::operator-(const vpImage<Type> &B)
 */
 template<class Type>
 void vpImage<Type>::insert(const vpImage<Type> &src,
-			const vpImagePoint topLeft)
+      const vpImagePoint topLeft)
 {
   Type* srcBitmap;
   Type* destBitmap;
-  
+
   int itl = (int)topLeft.get_i();
   int jtl = (int)topLeft.get_j();
-  
+
   int dest_ibegin = 0;
   int dest_jbegin = 0;
   int src_ibegin = 0;
   int src_jbegin = 0;
-  int dest_w = this->getWidth();
-  int dest_h = this->getHeight();
-  int src_w = src.getWidth();
-  int src_h = src.getHeight();
-  int wsize = src.getWidth();
-  int hsize = src.getHeight();
-  
+  int dest_w = (int)this->getWidth();
+  int dest_h = (int)this->getHeight();
+  int src_w = (int)src.getWidth();
+  int src_h = (int)src.getHeight();
+  int wsize = (int)src.getWidth();
+  int hsize = (int)src.getHeight();
+
   if (itl >= dest_h || jtl >= dest_w)
     return;
-  
+
   if (itl < 0)
-    src_ibegin = -itl;  
+    src_ibegin = -itl;
   else
     dest_ibegin = itl;
-  
+
   if (jtl < 0)
     src_jbegin = -jtl;
   else
     dest_jbegin = jtl;
-  
+
   if (src_w - src_jbegin > dest_w - dest_jbegin)
     wsize = dest_w - dest_jbegin;
   else
     wsize = src_w - src_jbegin;
-  
+
   if (src_h - src_ibegin > dest_h - dest_ibegin)
     hsize = dest_h - dest_ibegin;
   else
     hsize = src_h - src_ibegin;
-  
+
   for (int i = 0; i < hsize; i++)
   {
     srcBitmap = src.bitmap + ((src_ibegin+i)*src_w+src_jbegin);
     destBitmap = this->bitmap + ((dest_ibegin+i)*dest_w+dest_jbegin);
-  
+
     memcpy(destBitmap,srcBitmap,wsize*sizeof(Type));
   }
 }
@@ -969,7 +1008,7 @@ vpImage<Type>::quarterSizeImage(vpImage<Type> &res)
   I.doubleSizeImage(I2);
   vpImageIo::write(I2, "myDoubleSizeImage.pgm");
   \endcode
- 
+
   See halfSizeImage(vpImage<Type> &) for an example of pyramid construction.
 
 */
@@ -997,22 +1036,22 @@ vpImage<Type>::doubleSizeImage(vpImage<Type> &res)
   //interpolate pixels B and I
   for(int i = 0; i < h; i += 2)
     for(int j = 1; j < w - 1; j += 2)
-      res[i][j] = (Type)(0.5 * ((*this)[i>>1][j>>1] 
-				+ (*this)[i>>1][(j>>1) + 1]));
+      res[i][j] = (Type)(0.5 * ((*this)[i>>1][j>>1]
+        + (*this)[i>>1][(j>>1) + 1]));
 
   //interpolate pixels E and G
   for(int i = 1; i < h - 1; i += 2)
     for(int j = 0; j < w; j += 2)
-      res[i][j] = (Type)(0.5 * ((*this)[i>>1][j>>1] 
-				+ (*this)[(i>>1)+1][j>>1]));
+      res[i][j] = (Type)(0.5 * ((*this)[i>>1][j>>1]
+        + (*this)[(i>>1)+1][j>>1]));
 
   //interpolate pixel F
   for(int i = 1; i < h - 1; i += 2)
     for(int j = 1; j < w - 1; j += 2)
-      res[i][j] = (Type)(0.25 * ((*this)[i>>1][j>>1] 
-				 + (*this)[i>>1][(j>>1)+1] 
-				 + (*this)[(i>>1)+1][j>>1] 
-				 + (*this)[(i>>1)+1][(j>>1)+1]));
+      res[i][j] = (Type)(0.25 * ((*this)[i>>1][j>>1]
+         + (*this)[i>>1][(j>>1)+1]
+         + (*this)[(i>>1)+1][j>>1]
+         + (*this)[(i>>1)+1][(j>>1)+1]));
 }
 
 /*!
@@ -1060,7 +1099,7 @@ inline unsigned char vpImage<unsigned char>::getValue(double i, double j) const
   if (iround >= height || jround >= width) {
     vpERROR_TRACE("Pixel outside the image") ;
     throw(vpException(vpImageException::notInTheImage,
-		      "Pixel outside the image"));
+          "Pixel outside the image"));
   }
 
   if (i > height - 1)
@@ -1073,7 +1112,7 @@ inline unsigned char vpImage<unsigned char>::getValue(double i, double j) const
   if(rratio < 0)
     rratio=-rratio;
   double cratio = j - (double) jround;
-  if(cratio < 0) 
+  if(cratio < 0)
     cratio=-cratio;
 
   rfrac = 1.0f - rratio;
@@ -1115,7 +1154,7 @@ inline double vpImage<double>::getValue(double i, double j) const
   if (iround >= height || jround >= width) {
     vpERROR_TRACE("Pixel outside the image") ;
     throw(vpException(vpImageException::notInTheImage,
-		      "Pixel outside the image"));
+          "Pixel outside the image"));
   }
 
   if (i > height - 1)
@@ -1128,7 +1167,7 @@ inline double vpImage<double>::getValue(double i, double j) const
   if(rratio < 0)
     rratio=-rratio;
   double cratio = j - (double) jround;
-  if(cratio < 0) 
+  if(cratio < 0)
     cratio=-cratio;
 
   rfrac = 1.0f - rratio;
@@ -1152,7 +1191,7 @@ inline vpRGBa vpImage<vpRGBa>::getValue(double i, double j) const
   if (iround >= height || jround >= width) {
     vpERROR_TRACE("Pixel outside the image") ;
     throw(vpException(vpImageException::notInTheImage,
-		      "Pixel outside the image"));
+          "Pixel outside the image"));
   }
 
   if (i > height - 1)
@@ -1165,7 +1204,7 @@ inline vpRGBa vpImage<vpRGBa>::getValue(double i, double j) const
   if(rratio < 0)
     rratio=-rratio;
   double cratio = j - (double) jround;
-  if(cratio < 0) 
+  if(cratio < 0)
     cratio=-cratio;
 
   rfrac = 1.0f - rratio;
@@ -1208,7 +1247,7 @@ inline unsigned char vpImage<unsigned char>::getValue(vpImagePoint &ip) const
   if (iround >= height || jround >= width) {
     vpERROR_TRACE("Pixel outside the image") ;
     throw(vpException(vpImageException::notInTheImage,
-		      "Pixel outside the image"));
+          "Pixel outside the image"));
   }
 
   if (ip.get_i() > height - 1)
@@ -1221,7 +1260,7 @@ inline unsigned char vpImage<unsigned char>::getValue(vpImagePoint &ip) const
   if(rratio < 0)
     rratio=-rratio;
   double cratio = ip.get_j() - (double) jround;
-  if(cratio < 0) 
+  if(cratio < 0)
     cratio=-cratio;
 
   rfrac = 1.0f - rratio;
@@ -1246,7 +1285,7 @@ inline double vpImage<double>::getValue(vpImagePoint &ip) const
   if (iround >= height || jround >= width) {
     vpERROR_TRACE("Pixel outside the image") ;
     throw(vpException(vpImageException::notInTheImage,
-		      "Pixel outside the image"));
+          "Pixel outside the image"));
   }
 
   if (ip.get_i() > height - 1)
@@ -1259,7 +1298,7 @@ inline double vpImage<double>::getValue(vpImagePoint &ip) const
   if(rratio < 0)
     rratio=-rratio;
   double cratio = ip.get_j() - (double) jround;
-  if(cratio < 0) 
+  if(cratio < 0)
     cratio=-cratio;
 
   rfrac = 1.0f - rratio;
@@ -1283,7 +1322,7 @@ inline vpRGBa vpImage<vpRGBa>::getValue(vpImagePoint &ip) const
   if (iround >= height || jround >= width) {
     vpERROR_TRACE("Pixel outside the image") ;
     throw(vpException(vpImageException::notInTheImage,
-		      "Pixel outside the image"));
+          "Pixel outside the image"));
   }
 
   if (ip.get_i() > height - 1)
@@ -1296,7 +1335,7 @@ inline vpRGBa vpImage<vpRGBa>::getValue(vpImagePoint &ip) const
   if(rratio < 0)
     rratio=-rratio;
   double cratio = ip.get_j() - (double) jround;
-  if(cratio < 0) 
+  if(cratio < 0)
     cratio=-cratio;
 
   rfrac = 1.0f - rratio;
@@ -1560,10 +1599,3 @@ vpImage<Type>::doubleSizeImage(vpImage<Type>* res)
 #endif // VISP_BUILD_DEPRECATED_FUNCTIONS
 
 #endif
-
-
-/*
- * Local variables:
- * c-basic-offset: 2
- * End:
- */
diff --git a/src/image/vpImageConvert.cpp b/src/image/vpImageConvert.cpp
index d01f315e158af0e26c2f4d8e4bed887d5539869a..2e6f3093dc2b88f1c20e47c3b940dac11f61d410 100644
--- a/src/image/vpImageConvert.cpp
+++ b/src/image/vpImageConvert.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpImageConvert.cpp 4661 2014-02-10 19:34:58Z fspindle $
+ * $Id: vpImageConvert.cpp 5204 2015-01-24 13:18:18Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -165,8 +165,12 @@ vpImageConvert::convert(const vpImage<unsigned char> &src, vpImage<double> &dest
 }
 
 #ifdef VISP_HAVE_OPENCV
+// Deprecated: will be removed with OpenCV transcient from C to C++ api
 /*!
-  Convert a IplImage to a vpImage\<vpRGBa\>
+  \deprecated Rather then using OpenCV IplImage you should use cv::Mat images.
+  IplImage structure will be removed with OpenCV transcient from C to C++ api.
+
+  Convert an IplImage to a vpImage\<vpRGBa\>.
 
   An IplImage is an OpenCV (Intel's Open source Computer Vision Library)
   image structure. See http://opencvlibrary.sourceforge.net/ for general
@@ -188,7 +192,7 @@ vpImageConvert::convert(const vpImage<unsigned char> &src, vpImage<double> &dest
 
 int main()
 {
-#ifdef VISP_HAVE_OPENCV
+#if defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION < 0x020408)
   vpImage<vpRGBa> Ic; // A color image
   IplImage* Ip;
 
@@ -269,7 +273,10 @@ vpImageConvert::convert(const IplImage* src, vpImage<vpRGBa> & dest, bool flip)
 }
 
 /*!
-  Convert a IplImage to a vpImage\<unsigned char\>
+  \deprecated Rather then using OpenCV IplImage you should use cv::Mat images.
+  IplImage structure will be removed with OpenCV transcient from C to C++ api.
+
+  Convert an IplImage to a vpImage\<unsigned char\>.
 
   An IplImage is an OpenCV (Intel's Open source Computer Vision Library)
   image structure. See http://opencvlibrary.sourceforge.net/ for general
@@ -291,7 +298,7 @@ vpImageConvert::convert(const IplImage* src, vpImage<vpRGBa> & dest, bool flip)
 
 int main()
 {
-#ifdef VISP_HAVE_OPENCV
+#if defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION < 0x020408)
   vpImage<unsigned char> Ig; // A grayscale image
   IplImage* Ip;
 
@@ -369,7 +376,10 @@ vpImageConvert::convert(const IplImage* src, vpImage<unsigned char> &dest, bool
 }
 
 /*!
-  Convert a vpImage\<vpRGBa\> to a IplImage
+  \deprecated Rather then using OpenCV IplImage you should use cv::Mat images.
+  IplImage structure will be removed with OpenCV transcient from C to C++ api.
+
+  Convert a vpImage\<vpRGBa\> to a IplImage.
 
   An IplImage is an OpenCV (Intel's Open source Computer Vision Library)
   image structure. See http://opencvlibrary.sourceforge.net/ for general
@@ -390,7 +400,7 @@ vpImageConvert::convert(const IplImage* src, vpImage<unsigned char> &dest, bool
 
 int main()
 {
-#ifdef VISP_HAVE_OPENCV
+#if defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION < 0x020408)
   vpImage<vpRGBa> Ic; // A color image
   IplImage* Ip = NULL;
 
@@ -454,7 +464,10 @@ vpImageConvert::convert(const vpImage<vpRGBa> & src, IplImage *&dest)
 }
 
 /*!
-  Convert a vpImage\<unsigned char\> to a IplImage
+  \deprecated Rather then using OpenCV IplImage you should use cv::Mat images.
+  IplImage structure will be removed with OpenCV transcient from C to C++ api.
+
+  Convert a vpImage\<unsigned char\> to a IplImage.
 
   An IplImage is an OpenCV (Intel's Open source Computer Vision Library)
   image structure. See http://opencvlibrary.sourceforge.net/ for general
@@ -475,7 +488,7 @@ vpImageConvert::convert(const vpImage<vpRGBa> & src, IplImage *&dest)
 
 int main()
 {
-#ifdef VISP_HAVE_OPENCV
+#if defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION < 0x020408)
   vpImage<unsigned char> Ig; // A greyscale image
   IplImage* Ip = NULL;
 
@@ -527,7 +540,7 @@ vpImageConvert::convert(const vpImage<unsigned char> & src, IplImage* &dest)
 
 #if VISP_HAVE_OPENCV_VERSION >= 0x020100
 /*!
-  Convert a cv::Mat to a vpImage\<vpRGBa\>
+  Convert a cv::Mat to a vpImage\<vpRGBa\>.
 
   A cv::Mat is an OpenCV image class. See http://opencv.willowgarage.com for
   the general OpenCV documentation, or
@@ -580,7 +593,7 @@ vpImageConvert::convert(const cv::Mat& src, vpImage<vpRGBa>& dest, const bool fl
         rgbaVal.R = tmp[2];
         rgbaVal.G = tmp[1];
         rgbaVal.B = tmp[0];
-	rgbaVal.A = tmp[3];
+        rgbaVal.A = tmp[3];
         if(flip)
           dest[dest.getRows()-i-1][j] = rgbaVal;
         else
@@ -620,7 +633,7 @@ vpImageConvert::convert(const cv::Mat& src, vpImage<vpRGBa>& dest, const bool fl
 }
 
 /*!
-  Convert a cv::Mat to a vpImage\<unsigned char\>
+  Convert a cv::Mat to a vpImage\<unsigned char\>.
 
   A cv::Mat is an OpenCV image class. See http://opencv.willowgarage.com for
   the general OpenCV documentation, or
@@ -705,7 +718,7 @@ vpImageConvert::convert(const cv::Mat& src, vpImage<unsigned char>& dest, const
 
 
 /*!
-  Convert a vpImage\<unsigned char\> to a cv::Mat
+  Convert a vpImage\<unsigned char\> to a cv::Mat.
 
   A cv::Mat is an OpenCV image class. See http://opencv.willowgarage.com for
   the general OpenCV documentation, or
@@ -757,7 +770,7 @@ vpImageConvert::convert(const vpImage<vpRGBa> & src, cv::Mat& dest)
 }
 
 /*!
-  Convert a vpImage\<unsigned char\> to a cv::Mat
+  Convert a vpImage\<unsigned char\> to a cv::Mat.
 
   A cv::Mat is an OpenCV image class. See http://opencv.willowgarage.com for
   the general OpenCV documentation, or
@@ -788,10 +801,10 @@ int main()
   vpImageIo::read(Ig, "image.pgm");
   // Convert the vpImage<unsigned char> in to greyscale cv::Mat
   vpImageConvert::convert(Ig, Ip);
-  // Treatments on cv::MatIp
+  // Treatments on cv::Mat Ip
   //...
   // Save the cv::Mat on the disk
-  cv::imwrite("image.pgm", Ip);
+  cv::imwrite("image-cv.pgm", Ip);
 #endif
 }
 
diff --git a/src/image/vpImageConvert.h b/src/image/vpImageConvert.h
index 2a88695fd0d30bff10c942e641c6d5877129a656..a9f548e7a7c119b4acec1134c482df58c5ab131c 100644
--- a/src/image/vpImageConvert.h
+++ b/src/image/vpImageConvert.h
@@ -1,6 +1,6 @@
 /****************************************************************************
 *
-* $Id: vpImageConvert.h 4604 2014-01-21 14:15:23Z fspindle $
+* $Id: vpImageConvert.h 5204 2015-01-24 13:18:18Z fspindle $
 *
 * This file is part of the ViSP software.
 * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -57,7 +57,14 @@
 #include <visp/vpRGBa.h>
 
 #ifdef VISP_HAVE_OPENCV
-#  if (VISP_HAVE_OPENCV_VERSION >= 0x020101) // Require opencv >= 2.1.1
+#  if (VISP_HAVE_OPENCV_VERSION >= 0x030000) // Require opencv >= 3.0.0
+#    include <opencv2/core/core.hpp>
+#    include <opencv2/highgui/highgui.hpp>
+#    include <opencv2/imgproc/imgproc_c.h>
+#  elif (VISP_HAVE_OPENCV_VERSION >= 0x020408) // Require opencv >= 2.4.8
+#    include <opencv2/core/core.hpp>
+#    include <opencv2/highgui/highgui.hpp>
+#  elif (VISP_HAVE_OPENCV_VERSION >= 0x020101) // Require opencv >= 2.1.1
 #    include <opencv2/core/core.hpp>
 #    include <opencv2/legacy/legacy.hpp>
 #    include <opencv2/highgui/highgui.hpp>
@@ -117,6 +124,7 @@ public:
           vpImage<double> &dest);
           
 #ifdef VISP_HAVE_OPENCV
+  // Deprecated: will be removed with OpenCV transcient from C to C++ api
   static void convert(const IplImage* src,
           vpImage<vpRGBa> & dest, bool flip = false) ;
   static void convert(const IplImage* src,
@@ -125,7 +133,7 @@ public:
           IplImage *&dest) ;
   static void convert(const vpImage<unsigned char> & src,
           IplImage* &dest) ;
-#if VISP_HAVE_OPENCV_VERSION >= 0x020100
+#  if VISP_HAVE_OPENCV_VERSION >= 0x020100
   static void convert(const cv::Mat& src,
           vpImage<vpRGBa>& dest, const bool flip = false);
   static void convert(const cv::Mat& src,
@@ -134,7 +142,7 @@ public:
           cv::Mat& dest) ;
   static void convert(const vpImage<unsigned char> & src,
           cv::Mat& dest, const bool copyData = true) ;
-#endif
+#  endif
 #endif
     
 #ifdef VISP_HAVE_YARP
@@ -272,10 +280,10 @@ public:
       unsigned char* rgb, unsigned int size);
 
   static void BGRToRGBa(unsigned char * bgr, unsigned char * rgba,
-      unsigned int width, unsigned int height, bool flip);
+      unsigned int width, unsigned int height, bool flip=false);
 
   static void BGRToGrey(unsigned char * bgr, unsigned char * grey,
-      unsigned int width, unsigned int height, bool flip);
+      unsigned int width, unsigned int height, bool flip=false);
 
   static void YCbCrToRGB(unsigned char *ycbcr, unsigned char *rgb,
       unsigned int size);
diff --git a/src/image/vpImageFilter.cpp b/src/image/vpImageFilter.cpp
index c74971b7a0bc8f83b9aea9eedcab1de948e2d68c..1739fe8266fbdbcbe38d0cf8e410842e4cdba07b 100644
--- a/src/image/vpImageFilter.cpp
+++ b/src/image/vpImageFilter.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpImageFilter.cpp 4661 2014-02-10 19:34:58Z fspindle $
+ * $Id: vpImageFilter.cpp 5200 2015-01-24 08:34:54Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -41,10 +41,12 @@
 
 #include <visp/vpImageFilter.h>
 #include <visp/vpImageConvert.h>
-#if defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020101)
-#include <opencv2/imgproc/imgproc_c.h>
+#if defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+#  include <opencv2/imgproc/imgproc.hpp>
+#elif defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020101)
+#  include <opencv2/imgproc/imgproc_c.h>
 #elif defined(VISP_HAVE_OPENCV)
-#include <cv.h>
+#  include <cv.h>
 #endif
 
 /*!
@@ -145,7 +147,7 @@ vpImageFilter::filter(const vpImage<double> &I,
 
 int main()
 {
-#if VISP_HAVE_OPENCV_VERSION >= 0x020100 // Cany uses OpenCV v>=2.1.0
+#if VISP_HAVE_OPENCV_VERSION >= 0x020100 // Canny uses OpenCV >=2.1.0
   // Constants for the Canny operator.
   const unsigned int gaussianFilterSize = 5;
   const double thresholdCanny = 15;
@@ -174,11 +176,12 @@ int main()
 */
 void
 vpImageFilter:: canny(const vpImage<unsigned char>& Isrc,
-                  vpImage<unsigned char>& Ires,
-                  const unsigned int gaussianFilterSize,
-                  const double thresholdCanny,
-                  const unsigned int apertureSobel)
+                      vpImage<unsigned char>& Ires,
+                      const unsigned int gaussianFilterSize,
+                      const double thresholdCanny,
+                      const unsigned int apertureSobel)
 {
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
   IplImage* img_ipl = NULL;
   vpImageConvert::convert(Isrc, img_ipl);
   IplImage* edges_ipl;
@@ -190,6 +193,13 @@ vpImageFilter:: canny(const vpImage<unsigned char>& Isrc,
   vpImageConvert::convert(edges_ipl, Ires);
   cvReleaseImage(&img_ipl);
   cvReleaseImage(&edges_ipl);
+#else
+  cv::Mat img_cvmat, edges_cvmat;
+  vpImageConvert::convert(Isrc, img_cvmat);
+  cv::GaussianBlur(img_cvmat, img_cvmat, cv::Size((int)gaussianFilterSize, (int)gaussianFilterSize), 0, 0);
+  cv::Canny(img_cvmat, edges_cvmat, thresholdCanny, thresholdCanny, (int)apertureSobel);
+  vpImageConvert::convert(edges_cvmat, Ires);
+#endif
 }
 #endif
 
@@ -589,7 +599,17 @@ void vpImageFilter::getGradYGauss2D(const vpImage<unsigned char> &I, vpImage<dou
 void vpImageFilter::getGaussPyramidal(const vpImage<unsigned char> &I, vpImage<unsigned char>& GI)
 {
   vpImage<unsigned char> GIx;
-#ifdef VISP_HAVE_OPENCV
+#if defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x030000)
+  cv::Mat imgsrc, imgdest;
+  vpImageConvert::convert(I, imgsrc);
+  cv::pyrDown( imgsrc, imgdest, cv::Size((int)I.getWidth()/2,(int)I.getHeight()/2));
+  vpImageConvert::convert(imgdest, GI);
+#elif defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+  cv::Mat imgsrc, imgdest;
+  vpImageConvert::convert(I, imgsrc);
+  cv::pyrDown( imgsrc, imgdest, cvSize((int)I.getWidth()/2,(int)I.getHeight()/2));
+  vpImageConvert::convert(imgdest, GI);
+#elif defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020100)
   IplImage* imgsrc = NULL;//cvCreateImage(cvGetSize(imgign), IPL_DEPTH_8U, 1);
   IplImage* imgdest = NULL;//cvCreateImage(cvGetSize(imgign), IPL_DEPTH_8U, 1);
   imgsrc = cvCreateImage(cvSize((int)I.getWidth(),(int)I.getHeight()), IPL_DEPTH_8U, 1);
diff --git a/src/image/vpImageFilter.h b/src/image/vpImageFilter.h
index cb8c9cf6f2a20c776bba6baa6afa28174074c4e5..0a43b22759be1b80ac71cb90515f785582d293b8 100644
--- a/src/image/vpImageFilter.h
+++ b/src/image/vpImageFilter.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpImageFilter.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpImageFilter.h 4991 2014-11-21 16:03:09Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
diff --git a/src/image/vpImageIo.cpp b/src/image/vpImageIo.cpp
index c02bd4b83db1c0aafbc93246b0419a07d087a173..69b470c79d379e1531ad7bb8ac9303b772fbd38b 100644
--- a/src/image/vpImageIo.cpp
+++ b/src/image/vpImageIo.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpImageIo.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpImageIo.cpp 5249 2015-02-03 13:04:27Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -66,7 +66,7 @@ vpImageIo::openFileRead(const char *filename)
   FILE *fd ;
 
   // Lecture du nom du fichier image.
-  if (filename == '\0')   {
+  if (!filename || *filename == '\0')   {
     vpERROR_TRACE("filename empty ") ;
     throw (vpImageException(vpImageException::noFileNameError,
 			    "filename empty ")) ;
@@ -100,7 +100,7 @@ vpImageIo::openFileWrite(const char *filename, const char *mode)
   FILE *fd ;
 
  // Lecture du nom du fichier image.
-  if (filename == '\0')
+  if (!filename || *filename == '\0')
   {
     vpERROR_TRACE("filename empty ") ;
     throw (vpImageException(vpImageException::noFileNameError,
@@ -315,9 +315,21 @@ vpImageIo::read(vpImage<unsigned char> &I, const char *filename)
   }
 
   if (try_opencv_reader) {
-#if VISP_HAVE_OPENCV_VERSION >= 0x020100
+#if VISP_HAVE_OPENCV_VERSION >= 0x030000
+    //std::cout << "Use opencv to read the image" << std::endl;
+    cv::Mat cvI = cv::imread(filename, cv::IMREAD_GRAYSCALE);
+    if (cvI.cols == 0 && cvI.rows == 0) {
+      std::string message = "Cannot read file \"" + std::string(filename) + "\": Image format not supported";
+      throw (vpImageException(vpImageException::ioError, message)) ;
+    }
+    vpImageConvert::convert(cvI, I);
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020100
     //std::cout << "Use opencv to read the image" << std::endl;
     cv::Mat cvI = cv::imread(filename, CV_LOAD_IMAGE_GRAYSCALE);
+    if (cvI.cols == 0 && cvI.rows == 0) {
+      std::string message = "Cannot read file \"" + std::string(filename) + "\": Image format not supported";
+      throw (vpImageException(vpImageException::ioError, message)) ;
+    }
     vpImageConvert::convert(cvI, I);
 #else
     std::string message = "Cannot read file \"" + std::string(filename) + "\": Image format not supported";
@@ -404,9 +416,21 @@ vpImageIo::read(vpImage<vpRGBa> &I, const char *filename)
   }
 
   if (try_opencv_reader) {
-#if VISP_HAVE_OPENCV_VERSION >= 0x020100
+#if VISP_HAVE_OPENCV_VERSION >= 0x030000
+    // std::cout << "Use opencv to read the image" << std::endl;
+    cv::Mat cvI = cv::imread(filename, cv::IMREAD_COLOR);
+    if (cvI.cols == 0 && cvI.rows == 0) {
+      std::string message = "Cannot read file \"" + std::string(filename) + "\": Image format not supported";
+      throw (vpImageException(vpImageException::ioError, message)) ;
+    }
+    vpImageConvert::convert(cvI, I);
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020100
     // std::cout << "Use opencv to read the image" << std::endl;
     cv::Mat cvI = cv::imread(filename, CV_LOAD_IMAGE_COLOR);
+    if (cvI.cols == 0 && cvI.rows == 0) {
+      std::string message = "Cannot read file \"" + std::string(filename) + "\": Image format not supported";
+      throw (vpImageException(vpImageException::ioError, message)) ;
+    }
     vpImageConvert::convert(cvI, I);
 #else
     std::string message = "Cannot read file \"" + std::string(filename) + "\": Image format not supported";
@@ -611,7 +635,7 @@ vpImageIo::writePFM(const vpImage<float> &I,
   FILE* fd;
 
   // Test the filename
-  if (filename == '\0')   {
+  if (!filename || *filename == '\0')   {
      vpERROR_TRACE("no filename\n");
     throw (vpImageException(vpImageException::ioError,
            "no filename")) ;
@@ -667,7 +691,7 @@ vpImageIo::writePGM(const vpImage<unsigned char> &I,
   FILE* fd;
 
   // Test the filename
-  if (filename == '\0')   {
+  if (!filename || *filename == '\0')   {
      vpERROR_TRACE("no filename\n");
     throw (vpImageException(vpImageException::ioError,
            "no filename")) ;
@@ -742,7 +766,7 @@ vpImageIo::writePGM(const vpImage<vpRGBa> &I, const char *filename)
   FILE* fd;
 
   // Test the filename
-  if (filename == '\0')   {
+  if (!filename || *filename == '\0')   {
      vpERROR_TRACE("no filename\n");
     throw (vpImageException(vpImageException::ioError,
            "no filename")) ;
@@ -811,7 +835,7 @@ vpImageIo::readPFM(vpImage<float> &I, const char *filename)
   unsigned int   w, h;
 
   // Test the filename
-  if (filename == '\0')
+  if (!filename || *filename == '\0')
   {
     vpERROR_TRACE("no filename") ;
     throw (vpImageException(vpImageException::ioError,
@@ -978,7 +1002,7 @@ vpImageIo::readPGM(vpImage<unsigned char> &I, const char *filename)
   unsigned int magic=5, w=0, h=0, maxval=255;
 
   // Test the filename
-  if (filename == '\0') {
+  if (!filename || *filename == '\0') {
     throw (vpImageException(vpImageException::ioError,
           "No filename")) ;
   }
@@ -1258,7 +1282,7 @@ vpImageIo::readPPM(vpImage<vpRGBa> &I, const char *filename)
   unsigned int magic=5, w=0, h=0, maxval=255;
 
   // Test the filename
-  if (filename == '\0') {
+  if (!filename || *filename == '\0') {
     throw (vpImageException(vpImageException::ioError,
           "No filename")) ;
   }
@@ -1493,7 +1517,7 @@ vpImageIo::writePPM(const vpImage<vpRGBa> &I, const char *filename)
 
 
   // Test the filename
-  if (filename == '\0')   {
+  if (!filename || *filename == '\0')   {
      vpERROR_TRACE("no filename\n");
     throw (vpImageException(vpImageException::ioError,
            "no filename")) ;
@@ -1743,7 +1767,7 @@ vpImageIo::writeJPEG(const vpImage<unsigned char> &I, const char *filename)
   jpeg_create_compress(&cinfo);
 
   // Test the filename
-  if (filename == '\0')   {
+  if (!filename || *filename == '\0')   {
      vpERROR_TRACE("no filename\n");
     throw (vpImageException(vpImageException::ioError,
            "no filename")) ;
@@ -1822,7 +1846,7 @@ vpImageIo::writeJPEG(const vpImage<vpRGBa> &I, const char *filename)
   jpeg_create_compress(&cinfo);
 
   // Test the filename
-  if (filename == '\0')   {
+  if (!filename || *filename == '\0')   {
      vpERROR_TRACE("no filename\n");
     throw (vpImageException(vpImageException::ioError,
            "no filename")) ;
@@ -1912,7 +1936,7 @@ vpImageIo::readJPEG(vpImage<unsigned char> &I, const char *filename)
   jpeg_create_decompress(&cinfo);
 
   // Test the filename
-  if (filename == '\0')   {
+  if (!filename || *filename == '\0')   {
      vpERROR_TRACE("no filename\n");
     throw (vpImageException(vpImageException::ioError,
            "no filename")) ;
@@ -2025,7 +2049,7 @@ vpImageIo::readJPEG(vpImage<vpRGBa> &I, const char *filename)
   jpeg_create_decompress(&cinfo);
 
   // Test the filename
-  if (filename == '\0')   {
+  if (!filename || *filename == '\0')   {
      vpERROR_TRACE("no filename\n");
     throw (vpImageException(vpImageException::ioError,
            "no filename")) ;
@@ -2127,12 +2151,18 @@ vpImageIo::readJPEG(vpImage<vpRGBa> &I, const std::string filename)
 void
 vpImageIo::writeJPEG(const vpImage<unsigned char> &I, const char *filename)
 {
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+  cv::Mat Ip;
+  vpImageConvert::convert(I, Ip);
+  cv::imwrite(filename, Ip);
+#else
   IplImage* Ip = NULL;
   vpImageConvert::convert(I, Ip);
 
   cvSaveImage(filename, Ip);
 
   cvReleaseImage(&Ip);
+#endif
 }
 
 
@@ -2160,12 +2190,18 @@ vpImageIo::writeJPEG(const vpImage<unsigned char> &I, const std::string filename
 void
 vpImageIo::writeJPEG(const vpImage<vpRGBa> &I, const char *filename)
 {
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+  cv::Mat Ip;
+  vpImageConvert::convert(I, Ip);
+  cv::imwrite(filename, Ip);
+#else
   IplImage* Ip = NULL;
   vpImageConvert::convert(I, Ip);
 
   cvSaveImage(filename, Ip);
 
   cvReleaseImage(&Ip);
+#endif
 }
 
 
@@ -2202,6 +2238,19 @@ vpImageIo::writeJPEG(const vpImage<vpRGBa> &I, const std::string filename)
 void
 vpImageIo::readJPEG(vpImage<unsigned char> &I, const char *filename)
 {
+#if (VISP_HAVE_OPENCV_VERSION >= 0x030000)
+  cv::Mat Ip = cv::imread(filename, cv::IMREAD_GRAYSCALE);
+  if ( ! Ip.empty())
+    vpImageConvert::convert(Ip, I);
+  else
+    throw (vpImageException(vpImageException::ioError, "Can't read the image")) ;
+#elif (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+  cv::Mat Ip = cv::imread(filename, CV_LOAD_IMAGE_GRAYSCALE);
+  if ( ! Ip.empty())
+    vpImageConvert::convert(Ip, I);
+  else
+    throw (vpImageException(vpImageException::ioError, "Can't read the image")) ;
+#else
   IplImage* Ip = NULL;
   Ip = cvLoadImage(filename, CV_LOAD_IMAGE_GRAYSCALE);
   if (Ip != NULL)
@@ -2210,6 +2259,7 @@ vpImageIo::readJPEG(vpImage<unsigned char> &I, const char *filename)
     throw (vpImageException(vpImageException::ioError,
            "Can't read the image")) ;
   cvReleaseImage(&Ip);
+#endif
 }
 
 
@@ -2257,14 +2307,27 @@ vpImageIo::readJPEG(vpImage<unsigned char> &I, const std::string filename)
 void
 vpImageIo::readJPEG(vpImage<vpRGBa> &I, const char *filename)
 {
+#if (VISP_HAVE_OPENCV_VERSION >= 0x030000)
+  cv::Mat Ip = cv::imread(filename, cv::IMREAD_GRAYSCALE);
+  if ( ! Ip.empty())
+    vpImageConvert::convert(Ip, I);
+  else
+    throw (vpImageException(vpImageException::ioError, "Can't read the image")) ;
+#elif (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+  cv::Mat Ip = cv::imread(filename, CV_LOAD_IMAGE_GRAYSCALE);
+  if ( ! Ip.empty())
+    vpImageConvert::convert(Ip, I);
+  else
+    throw (vpImageException(vpImageException::ioError, "Can't read the image")) ;
+#else
   IplImage* Ip = NULL;
   Ip = cvLoadImage(filename, CV_LOAD_IMAGE_COLOR);
   if (Ip != NULL)
     vpImageConvert::convert(Ip, I);
   else
-    throw (vpImageException(vpImageException::ioError,
-           "Can't read the image")) ;
+    throw (vpImageException(vpImageException::ioError, "Can't read the image")) ;
   cvReleaseImage(&Ip);
+#endif
 }
 
 
@@ -2318,7 +2381,7 @@ vpImageIo::writePNG(const vpImage<unsigned char> &I, const char *filename)
   FILE *file;
 
   // Test the filename
-  if (filename == '\0')   {
+  if (!filename || *filename == '\0')   {
      vpERROR_TRACE("no filename\n");
     throw (vpImageException(vpImageException::ioError,
            "no filename")) ;
@@ -2470,7 +2533,7 @@ vpImageIo::writePNG(const vpImage<vpRGBa> &I, const char *filename)
   FILE *file;
 
   // Test the filename
-  if (filename == '\0')   {
+  if (!filename || *filename == '\0')   {
      vpERROR_TRACE("no filename\n");
     throw (vpImageException(vpImageException::ioError,
            "no filename")) ;
@@ -2632,7 +2695,7 @@ vpImageIo::readPNG(vpImage<unsigned char> &I, const char *filename)
   FILE *file;
   png_byte magic[8];
   // Test the filename
-  if (filename == '\0')   {
+  if (!filename || *filename == '\0')   {
      vpERROR_TRACE("no filename\n");
     throw (vpImageException(vpImageException::ioError,
            "no filename")) ;
@@ -2851,7 +2914,7 @@ vpImageIo::readPNG(vpImage<vpRGBa> &I, const char *filename)
   png_byte magic[8];
 
   // Test the filename
-  if (filename == '\0')   {
+  if (!filename || *filename == '\0')   {
      vpERROR_TRACE("no filename\n");
     throw (vpImageException(vpImageException::ioError,
            "no filename")) ;
@@ -3058,12 +3121,18 @@ vpImageIo::readPNG(vpImage<vpRGBa> &I, const std::string filename)
 void
 vpImageIo::writePNG(const vpImage<unsigned char> &I, const char *filename)
 {
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+  cv::Mat Ip;
+  vpImageConvert::convert(I, Ip);
+  cv::imwrite(filename, Ip);
+#else
   IplImage* Ip = NULL;
   vpImageConvert::convert(I, Ip);
 
   cvSaveImage(filename, Ip);
 
   cvReleaseImage(&Ip);
+#endif
 }
 
 
@@ -3091,12 +3160,18 @@ vpImageIo::writePNG(const vpImage<unsigned char> &I, const std::string filename)
 void
 vpImageIo::writePNG(const vpImage<vpRGBa> &I, const char *filename)
 {
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+  cv::Mat Ip;
+  vpImageConvert::convert(I, Ip);
+  cv::imwrite(filename, Ip);
+#else
   IplImage* Ip = NULL;
   vpImageConvert::convert(I, Ip);
 
   cvSaveImage(filename, Ip);
 
   cvReleaseImage(&Ip);
+#endif
 }
 
 
@@ -3133,6 +3208,19 @@ vpImageIo::writePNG(const vpImage<vpRGBa> &I, const std::string filename)
 void
 vpImageIo::readPNG(vpImage<unsigned char> &I, const char *filename)
 {
+#if (VISP_HAVE_OPENCV_VERSION >= 0x030000)
+  cv::Mat Ip = cv::imread(filename, cv::IMREAD_GRAYSCALE);
+  if ( ! Ip.empty())
+    vpImageConvert::convert(Ip, I);
+  else
+    throw (vpImageException(vpImageException::ioError, "Can't read the image")) ;
+#elif (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+  cv::Mat Ip = cv::imread(filename, CV_LOAD_IMAGE_GRAYSCALE);
+  if ( ! Ip.empty())
+    vpImageConvert::convert(Ip, I);
+  else
+    throw (vpImageException(vpImageException::ioError, "Can't read the image")) ;
+#else
   IplImage* Ip = NULL;
   Ip = cvLoadImage(filename, CV_LOAD_IMAGE_GRAYSCALE);
   if (Ip != NULL)
@@ -3141,6 +3229,7 @@ vpImageIo::readPNG(vpImage<unsigned char> &I, const char *filename)
     throw (vpImageException(vpImageException::ioError,
            "Can't read the image")) ;
   cvReleaseImage(&Ip);
+#endif
 }
 
 
@@ -3188,6 +3277,19 @@ vpImageIo::readPNG(vpImage<unsigned char> &I, const std::string filename)
 void
 vpImageIo::readPNG(vpImage<vpRGBa> &I, const char *filename)
 {
+#if (VISP_HAVE_OPENCV_VERSION >= 0x030000)
+  cv::Mat Ip = cv::imread(filename, cv::IMREAD_GRAYSCALE);
+  if ( ! Ip.empty())
+    vpImageConvert::convert(Ip, I);
+  else
+    throw (vpImageException(vpImageException::ioError, "Can't read the image")) ;
+#elif (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+  cv::Mat Ip = cv::imread(filename, CV_LOAD_IMAGE_GRAYSCALE);
+  if ( ! Ip.empty())
+    vpImageConvert::convert(Ip, I);
+  else
+    throw (vpImageException(vpImageException::ioError, "Can't read the image")) ;
+#else
   IplImage* Ip = NULL;
   Ip = cvLoadImage(filename, CV_LOAD_IMAGE_COLOR);
   if (Ip != NULL)
@@ -3196,6 +3298,7 @@ vpImageIo::readPNG(vpImage<vpRGBa> &I, const char *filename)
     throw (vpImageException(vpImageException::ioError,
            "Can't read the image")) ;
   cvReleaseImage(&Ip);
+#endif
 }
 
 
diff --git a/src/image/vpImagePoint.cpp b/src/image/vpImagePoint.cpp
index 8bd2415cc3e3418f1b909246c1c9ea9ea9afad35..c0a833969da8b61002db6b81ba5da7ae3d2876ea 100644
--- a/src/image/vpImagePoint.cpp
+++ b/src/image/vpImagePoint.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpImagePoint.cpp 4640 2014-02-05 12:41:38Z fspindle $
+ * $Id: vpImagePoint.cpp 5244 2015-02-03 06:44:17Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -397,7 +397,19 @@ Image point with coordinates: 10, 11.1
   \endverbatim
 */
 VISP_EXPORT std::ostream& operator<< (std::ostream &os, const vpImagePoint& ip)
- {
+{
   os << ip.get_i() << ", " << ip.get_j();
   return os;
 }
+
+/**
+ * Computes and returns the bounding box.
+ * @param ipVec : Vector of input image points.
+ * @return Bounding box of the points.
+ */
+vpRect vpImagePoint::getBBox(const std::vector<vpImagePoint>& ipVec)
+{
+  vpRect rec(ipVec);
+
+  return rec;
+}
diff --git a/src/image/vpImagePoint.h b/src/image/vpImagePoint.h
index 95350feabdd4d09a7aaf59fca4cf14440315d14a..9fae9de20ad18340ee22892b8799f8da01479faf 100644
--- a/src/image/vpImagePoint.h
+++ b/src/image/vpImagePoint.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpImagePoint.h 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpImagePoint.h 5175 2015-01-15 17:06:07Z nmeriaux $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -55,6 +55,7 @@
 #include <ostream>
 #include <cmath>    // std::fabs
 #include <limits>   // numeric_limits
+#include <vector>
 
 class vpHomography;
 class vpRect;
@@ -273,6 +274,9 @@ class VISP_EXPORT vpImagePoint
   */
   static double distance (const vpImagePoint &iP1, const vpImagePoint &iP2) {
     return(sqrt(vpMath::sqr(iP1.get_i()-iP2.get_i())+vpMath::sqr(iP1.get_j()-iP2.get_j())));}
+
+
+  static vpRect getBBox(const std::vector<vpImagePoint>& ipVec);
     
   /*!
 
diff --git a/src/image/vpImageTools.cpp b/src/image/vpImageTools.cpp
index c0ea67ad690a528a62b152c916a272e05272952f..091bef3f7275b811d0b6798f2bb5188afbe29cc5 100644
--- a/src/image/vpImageTools.cpp
+++ b/src/image/vpImageTools.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpImageTools.cpp 4604 2014-01-21 14:15:23Z fspindle $
+ * $Id: vpImageTools.cpp 5236 2015-01-30 13:51:42Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -113,19 +113,19 @@ void vpImageTools::changeLUT(vpImage<unsigned char>& I,
   }
   unsigned char v;
 
-  double factor = (B_star - A_star)/(B - A);
+  double factor = (double)(B_star - A_star)/(double)(B - A);
 
   for (unsigned int i=0 ; i < I.getHeight(); i++)
     for (unsigned int j=0 ; j < I.getWidth(); j++) {
       v = I[i][j];
 
       if (v <= A)
-	I[i][j] = A_star;
+        I[i][j] = A_star;
       else if (v >= B)
-	I[i][j] = B_star;
+        I[i][j] = B_star;
       else
-	I[i][j] = (unsigned char)(A_star + factor*(v-A));
-  }
+        I[i][j] = (unsigned char)(A_star + factor*(v-A));
+    }
 }
 
 /*!
diff --git a/src/key-point/vpFernClassifier.cpp b/src/key-point/vpFernClassifier.cpp
index f8035811e5e3016b9c03d51ffeb92a3946a57e40..a14886f194a8f34f2625cdfda2eb1b2334000d23 100644
--- a/src/key-point/vpFernClassifier.cpp
+++ b/src/key-point/vpFernClassifier.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpFernClassifier.cpp 4632 2014-02-03 17:06:40Z fspindle $
+ * $Id: vpFernClassifier.cpp 5023 2014-12-03 16:07:48Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -42,7 +42,7 @@
 
 #include <visp/vpConfig.h>
 
-#if (VISP_HAVE_OPENCV_VERSION >= 0x020000) // Require opencv >= 2.0.0
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020000) && (VISP_HAVE_OPENCV_VERSION < 0x030000) // Require opencv >= 2.0.0 and < 3.0.0
 
 #include <visp/vpFernClassifier.h>
 #include <visp/vpImageTools.h>
@@ -59,7 +59,13 @@ vpFernClassifier::vpFernClassifier()
     ldetector(), fernClassifier(), gen(0, 256, 5, true, 0.6, 1.5, -CV_PI/2, CV_PI/2, -CV_PI/2, CV_PI/2),
     hasLearn(false), threshold(20), nbView(2000), dist(2), nbClassfier(100), ClassifierSize(11),
     nbOctave(2), patchSize(32), radius(7), nbPoints(200), blurImage(true), radiusBlur(7),
-    sigmaBlur(1), nbMinPoint(10), curIplImg(NULL), objKeypoints(), modelROI_Ref(), modelROI(),
+    sigmaBlur(1), nbMinPoint(10),
+    #if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+    curImg(),
+    #else
+    curImg(NULL),
+    #endif
+    objKeypoints(), modelROI_Ref(), modelROI(),
     modelPoints(), imgKeypoints(), refPt(), curPt()
 {
 }
@@ -79,7 +85,13 @@ vpFernClassifier::vpFernClassifier(const std::string& _dataFile, const std::stri
     ldetector(), fernClassifier(), gen(0, 256, 5, true, 0.6, 1.5, -CV_PI/2, CV_PI/2, -CV_PI/2, CV_PI/2),
     hasLearn(false), threshold(20), nbView(2000), dist(2), nbClassfier(100), ClassifierSize(11),
     nbOctave(2), patchSize(32), radius(7), nbPoints(200), blurImage(true), radiusBlur(7),
-    sigmaBlur(1), nbMinPoint(10), curIplImg(NULL), objKeypoints(), modelROI_Ref(), modelROI(),
+    sigmaBlur(1), nbMinPoint(10),
+    #if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+    curImg(),
+    #else
+    curImg(NULL),
+    #endif
+    objKeypoints(), modelROI_Ref(), modelROI(),
     modelPoints(), imgKeypoints(), refPt(), curPt()
 {
    this->load(_dataFile, _objectName);
@@ -91,15 +103,17 @@ vpFernClassifier::vpFernClassifier(const std::string& _dataFile, const std::stri
 */
 vpFernClassifier::~vpFernClassifier()
 {
-  if(curIplImg != NULL){
-    if(curIplImg->width % 8 == 0){
-      curIplImg->imageData = NULL;
-      cvReleaseImageHeader(&curIplImg);
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+  if(curImg != NULL){
+    if(curImg->width % 8 == 0){
+      curImg->imageData = NULL;
+      cvReleaseImageHeader(&curImg);
     }else{
-      cvReleaseImage(&curIplImg);
+      cvReleaseImage(&curImg);
     }
-    curIplImg = NULL;
+    curImg = NULL;
   }  
+#endif
 }
 
 /*!
@@ -114,7 +128,9 @@ vpFernClassifier::init()
   nbClassfier = 100;
   ClassifierSize = 11;
   nbPoints = 200;
-  curIplImg = NULL;
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+  curImg = NULL;
+#endif
   blurImage = true;
   radiusBlur = 7;
   sigmaBlur = 1;
@@ -140,7 +156,7 @@ vpFernClassifier::train()
   cv::LDetector d(radius, threshold, nbOctave, nbView, patchSize, dist);
   
     //blur 
-  cv::Mat obj = (cv::Mat)curIplImg;
+  cv::Mat obj = (cv::Mat)curImg;
   
   if(this->getBlurSetting()){
     cv::GaussianBlur(obj, obj, cv::Size(getBlurSize(), getBlurSize()), getBlurSigma(), getBlurSigma());
@@ -299,7 +315,7 @@ vpFernClassifier::matchPoint(const vpImage<unsigned char> &_I)
   setImage(_I);
   // resize image  
 //  cv::resize(_image, image, Size(), 1./imgscale, 1./imgscale, INTER_CUBIC);
-  cv::Mat img = this->curIplImg;
+  cv::Mat img = this->curImg;
   
   if(this->getBlurSetting()){
     cv::GaussianBlur(img, img, cv::Size(this->getBlurSize(), this->getBlurSize()), this->getBlurSigma(), this->getBlurSigma());
@@ -528,36 +544,40 @@ vpFernClassifier::record(const std::string& _objectName, const std::string& _dat
   Set the current image. This method allows to convert a image from the ViSP
   format to the OpenCV one. 
   
-  \param _I : the input image.
+  \param I : the input image.
 */
 void 
-vpFernClassifier::setImage(const vpImage<unsigned char>& _I)
+vpFernClassifier::setImage(const vpImage<unsigned char>& I)
 {  
-  if(curIplImg != NULL){
-    cvResetImageROI(curIplImg);
-    if((curIplImg->width % 8) == 0){
-      curIplImg->imageData = NULL;
-      cvReleaseImageHeader(&curIplImg);
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+  vpImageConvert::convert(I, curImg);
+#else
+  if(curImg != NULL){
+    cvResetImageROI(curImg);
+    if((curImg->width % 8) == 0){
+      curImg->imageData = NULL;
+      cvReleaseImageHeader(&curImg);
     }else{
-      cvReleaseImage(&curIplImg);
+      cvReleaseImage(&curImg);
     }
-    curIplImg = NULL;
+    curImg = NULL;
   }
-  
-  if((_I.getWidth()%8) == 0){
-    curIplImg = cvCreateImageHeader(cvSize((int)_I.getWidth(), (int)_I.getHeight()), IPL_DEPTH_8U, 1);
-    if(curIplImg != NULL){
-      curIplImg->imageData = (char*)_I.bitmap;
+  if((I.getWidth()%8) == 0){
+    curImg = cvCreateImageHeader(cvSize((int)I.getWidth(), (int)I.getHeight()), IPL_DEPTH_8U, 1);
+    if(curImg != NULL){
+      curImg->imageData = (char*)I.bitmap;
     }else{
       throw vpException(vpException::memoryAllocationError, "Could not create the image in the OpenCV format.");
     }
   }else{
-    vpImageConvert::convert(_I, curIplImg);
+    vpImageConvert::convert(I, curImg);
   }
-  if(curIplImg == NULL){
+  if(curImg == NULL){
     std::cout << "!> conversion failed" << std::endl;
     throw vpException(vpException::notInitialized , "conversion failed");
   }
+#endif
+
 }
 
 #endif
diff --git a/src/key-point/vpFernClassifier.h b/src/key-point/vpFernClassifier.h
index f840e3f2243e3abdb6cbc9933d5c45d7de2d395f..118105b68e6453fde526982282e9c1f4a69a4948 100644
--- a/src/key-point/vpFernClassifier.h
+++ b/src/key-point/vpFernClassifier.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpFernClassifier.h 4664 2014-02-16 16:17:54Z fspindle $
+ * $Id: vpFernClassifier.h 5203 2015-01-24 09:33:54Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -47,7 +47,7 @@
 
 #include <string>
 
-#if (VISP_HAVE_OPENCV_VERSION >= 0x020000) // Require opencv >= 2.0.0
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020000) && (VISP_HAVE_OPENCV_VERSION < 0x030000) // Require opencv >= 2.0.0 and < 3.0.0
 #if (VISP_HAVE_OPENCV_VERSION >= 0x020101) // Require opencv >= 2.1.1
 #  include <opencv2/imgproc/imgproc.hpp>
 #  include <opencv2/features2d/features2d.hpp>
@@ -65,7 +65,8 @@
   \brief Class that implements the Fern classifier and the YAPE detector thanks
   to the OpenCV library.
   
-  
+  \deprecated This class is deprecated with OpenCV 3.0.0 or more recent.
+
   This class provides a way to detect and match point using the YAPE and 
   a Fern Classifiers, thanks to the OpenCV library (version >= 2.0)
 
@@ -186,7 +187,6 @@ protected:
   //! The patch generator (OpenCV format).
   cv::PatchGenerator gen;
   
-  
   //! Flag to indicate whether the classifier has been trained or not.
   bool hasLearn;
   
@@ -222,7 +222,11 @@ protected:
   unsigned int nbMinPoint;
   
   //! The current image in the OpenCV format.
-  IplImage* curIplImg; 
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+  cv::Mat curImg;
+#else
+  IplImage* curImg;
+#endif
   
   //! keypoints detected in the reference image.
   std::vector<cv::KeyPoint> objKeypoints;
@@ -243,29 +247,29 @@ public:
   vpFernClassifier(const std::string& _dataFile, const std::string& _objectName);
   virtual ~vpFernClassifier();
 
-    /* build reference */
+  /* build reference */
   virtual unsigned int buildReference(const vpImage<unsigned char> &I);
-  virtual unsigned int buildReference(const vpImage<unsigned char> &I, 
-                const vpImagePoint &iP,
-	        const unsigned int height, const unsigned int width);
-  virtual unsigned int buildReference(const vpImage<unsigned char> &I, 
-	        const vpRect& rectangle);
-    
-    /* matching */
+  virtual unsigned int buildReference(const vpImage<unsigned char> &I,
+                                      const vpImagePoint &iP,
+                                      const unsigned int height, const unsigned int width);
+  virtual unsigned int buildReference(const vpImage<unsigned char> &I,
+                                      const vpRect& rectangle);
+
+  /* matching */
   virtual unsigned int matchPoint(const vpImage<unsigned char> &I);
-  virtual unsigned int matchPoint(const vpImage<unsigned char> &I, 
-            const vpImagePoint &iP,
-	    const unsigned int height, const unsigned int width);
-  virtual unsigned int matchPoint(const vpImage<unsigned char> &I, 
-	    const vpRect& rectangle);
-
-    /* display */
-  virtual void display(const vpImage<unsigned char> &Iref, 
+  virtual unsigned int matchPoint(const vpImage<unsigned char> &I,
+                                  const vpImagePoint &iP,
+                                  const unsigned int height, const unsigned int width);
+  virtual unsigned int matchPoint(const vpImage<unsigned char> &I,
+                                  const vpRect& rectangle);
+
+  /* display */
+  virtual void display(const vpImage<unsigned char> &Iref,
                        const vpImage<unsigned char> &Icurrent, unsigned int size=3);
   virtual void display(const vpImage<unsigned char> &Icurrent, unsigned int size=3,
                        const vpColor &color=vpColor::green);
   
-    /* io methods */
+  /* io methods */
   void load(const std::string& _dataFile, const std::string& /*_objectName*/);
   void record(const std::string& _objectName, const std::string& _dataFile);
   
@@ -324,7 +328,7 @@ public:
   cv::Rect getModelROI() const { return modelROI;}
 
 protected:
-  void setImage(const vpImage<unsigned char>& _I);
+  void setImage(const vpImage<unsigned char>& I);
   void train();
   virtual void init();
 };
diff --git a/src/key-point/vpKeyPoint.cpp b/src/key-point/vpKeyPoint.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..18e7d68d747b7b3e6d4b9c3b6370cec9d025f69d
--- /dev/null
+++ b/src/key-point/vpKeyPoint.cpp
@@ -0,0 +1,3008 @@
+/****************************************************************************
+ *
+ * This file is part of the ViSP software.
+ * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+ *
+ * This software is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * ("GPL") version 2 as published by the Free Software Foundation.
+ * See the file LICENSE.txt at the root directory of this source
+ * distribution for additional information about the GNU GPL.
+ *
+ * For using ViSP with software that can not be combined with the GNU
+ * GPL, please contact INRIA about acquiring a ViSP Professional
+ * Edition License.
+ *
+ * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+ *
+ * This software was developed at:
+ * INRIA Rennes - Bretagne Atlantique
+ * Campus Universitaire de Beaulieu
+ * 35042 Rennes Cedex
+ * France
+ * http://www.irisa.fr/lagadic
+ *
+ * If you have questions regarding the use of this file, please contact
+ * INRIA at visp@inria.fr
+ *
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Description:
+ * Key point functionalities.
+ *
+ * Authors:
+ * Souriya Trinh
+ *
+ *****************************************************************************/
+
+#include <limits>
+
+#include <visp/vpKeyPoint.h>
+
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020101)
+
+#if (VISP_HAVE_OPENCV_VERSION >= 0x030000)
+#  include <opencv2/calib3d/calib3d.hpp>
+#endif
+
+
+//Specific Type transformation functions
+///*!
+//   Convert a list of cv::DMatch to a cv::DMatch (extract the first cv::DMatch, the nearest neighbor).
+//
+//   \param knnMatches : List of cv::DMatch.
+//   \return The nearest neighbor.
+// */
+inline cv::DMatch knnToDMatch(const std::vector<cv::DMatch> &knnMatches) {
+  if(knnMatches.size() > 0) {
+    return knnMatches[0];
+  }
+
+  return cv::DMatch();
+}
+
+///*!
+//   Convert a cv::DMatch to an index (extract the train index).
+//
+//   \param match : Point to convert in ViSP type.
+//   \return The train index.
+// */
+inline vpImagePoint matchRansacToVpImage(const std::pair<cv::KeyPoint, cv::Point3f> &pair) {
+  return vpImagePoint(pair.first.pt.y, pair.first.pt.x);
+}
+
+//TODO: Try to implement a pyramidal feature detection
+//#if (VISP_HAVE_OPENCV_VERSION >= 0x030000)
+//class MaskPredicate
+//{
+//public:
+//    MaskPredicate( const cv::Mat& _mask ) : mask(_mask) {}
+//    bool operator() (const cv::KeyPoint& key_pt) const
+//    {
+//        return mask.at<uchar>( (int)(key_pt.pt.y + 0.5f), (int)(key_pt.pt.x + 0.5f) ) == 0;
+//    }
+//
+//private:
+//    const cv::Mat mask;
+//    MaskPredicate& operator=(const MaskPredicate&);
+//};
+//
+//void vpKeyPoint::runByPixelsMask( std::vector<cv::KeyPoint>& keypoints, const cv::Mat& mask )
+//{
+//    if( mask.empty() )
+//  {
+//        return;
+//  }
+//
+//    keypoints.erase(std::remove_if(keypoints.begin(), keypoints.end(), MaskPredicate(mask)), keypoints.end());
+//}
+//
+//void vpKeyPoint::pyramidFeatureDetection(cv::Ptr<cv::FeatureDetector> &detector, const cv::Mat& image, std::vector<cv::KeyPoint>& keypoints, const cv::Mat& mask,
+//               const int maxLevel)
+//{
+//    cv::Mat src = image;
+//    cv::Mat src_mask = mask;
+//
+//    cv::Mat dilated_mask;
+//    if( !mask.empty() )
+//    {
+//        dilate( mask, dilated_mask, cv::Mat() );
+//        cv::Mat mask255( mask.size(), CV_8UC1, cv::Scalar(0) );
+//        mask255.setTo( cv::Scalar(255), dilated_mask != 0 );
+//        dilated_mask = mask255;
+//    }
+//
+//    for( int l = 0, multiplier = 1; l <= maxLevel; ++l, multiplier *= 2 )
+//    {
+//        // Detect on current level of the pyramid
+//        std::vector<cv::KeyPoint> new_pts;
+//        detector->detect( src, new_pts, src_mask );
+//        std::vector<cv::KeyPoint>::iterator it = new_pts.begin(),
+//                                   end = new_pts.end();
+//        for( ; it != end; ++it)
+//        {
+//            it->pt.x *= multiplier;
+//            it->pt.y *= multiplier;
+//            it->size *= multiplier;
+//            it->octave = l;
+//        }
+//        keypoints.insert( keypoints.end(), new_pts.begin(), new_pts.end() );
+//
+//        // Downsample
+//        if( l < maxLevel )
+//        {
+//            cv::Mat dst;
+//            pyrDown( src, dst );
+//            src = dst;
+//
+//            if( !mask.empty() )
+//                resize( dilated_mask, src_mask, src.size(), 0, 0, CV_INTER_AREA );
+//        }
+//    }
+//
+//    if( !mask.empty() )
+//  {
+//        //KeyPointsFilter::runByPixelsMask( keypoints, mask );
+//  }
+//}
+//#endif
+
+/*!
+  Constructor to initialize specified detector, extractor, matcher and filtering method.
+
+  \param detectorName : Name of the detector.
+  \param extractorName : Name of the extractor.
+  \param matcherName : Name of the matcher.
+  \param filterType : Filtering matching method chosen.
+ */
+vpKeyPoint::vpKeyPoint(const std::string &detectorName, const std::string &extractorName,
+                       const std::string &matcherName, const vpFilterMatchingType &filterType)
+  : m_computeCovariance(false), m_covarianceMatrix(), m_currentImageId(0), m_detectionMethod(detectionScore),
+    m_detectionScore(0.15), m_detectionThreshold(100.0), m_detectionTime(0.), m_detectorNames(),
+    m_detectors(), m_extractionTime(0.), m_extractorNames(), m_extractors(), m_filteredMatches(), m_filterType(filterType),
+    m_knnMatches(), m_mapOfImageId(), m_mapOfImages(), m_matcher(), m_matcherName(matcherName), m_matches(),
+    m_matchingFactorThreshold(2.0), m_matchingRatioThreshold(0.85), m_matchingTime(0.),
+    m_matchQueryToTrainKeyPoints(), m_matchRansacKeyPointsToPoints(), m_matchRansacQueryToTrainKeyPoints(),
+    m_nbRansacIterations(200), m_nbRansacMinInlierCount(100), m_objectFilteredPoints(),
+    m_poseTime(0.), m_queryDescriptors(), m_queryFilteredKeyPoints(), m_queryKeyPoints(),
+    m_ransacConsensusPercentage(20.0), m_ransacInliers(), m_ransacOutliers(), m_ransacReprojectionError(6.0),
+    m_ransacThreshold(0.001), m_trainDescriptors(), m_trainKeyPoints(), m_trainPoints(),
+    m_trainVpPoints(), m_useAffineDetection(false), m_useBruteForceCrossCheck(true),
+    m_useConsensusPercentage(false), m_useKnn(false), m_useRansacVVS(false)
+{
+  //Use k-nearest neighbors (knn) to retrieve the two best matches for a keypoint
+  //So this is useful only for ratioDistanceThreshold method
+  if(filterType == ratioDistanceThreshold || filterType == stdAndRatioDistanceThreshold) {
+    m_useKnn = true;
+  }
+
+  m_detectorNames.push_back(detectorName);
+  m_extractorNames.push_back(extractorName);
+
+  init();
+}
+
+/*!
+  Constructor to initialize specified detector, extractor, matcher and filtering method.
+
+  \param detectorNames : List of name detector for allowing multiple detectors.
+  \param extractorNames : List of name extractor for allowing multiple extractors.
+  \param matcherName : Name of the matcher.
+  \param filterType : Filtering matching method chosen.
+ */
+vpKeyPoint::vpKeyPoint(const std::vector<std::string> &detectorNames, const std::vector<std::string> &extractorNames,
+                       const std::string &matcherName, const vpFilterMatchingType &filterType)
+  : m_computeCovariance(false), m_covarianceMatrix(), m_currentImageId(0), m_detectionMethod(detectionScore),
+    m_detectionScore(0.15), m_detectionThreshold(100.0), m_detectionTime(0.), m_detectorNames(detectorNames),
+    m_detectors(), m_extractionTime(0.), m_extractorNames(extractorNames), m_extractors(), m_filteredMatches(),
+    m_filterType(filterType), m_knnMatches(), m_mapOfImageId(), m_mapOfImages(), m_matcher(), m_matcherName(matcherName),
+    m_matches(), m_matchingFactorThreshold(2.0), m_matchingRatioThreshold(0.85), m_matchingTime(0.),
+    m_matchQueryToTrainKeyPoints(), m_matchRansacKeyPointsToPoints(), m_matchRansacQueryToTrainKeyPoints(),
+    m_nbRansacIterations(200), m_nbRansacMinInlierCount(100), m_objectFilteredPoints(),
+    m_poseTime(0.), m_queryDescriptors(), m_queryFilteredKeyPoints(), m_queryKeyPoints(),
+    m_ransacConsensusPercentage(20.0), m_ransacInliers(), m_ransacOutliers(), m_ransacReprojectionError(6.0),
+    m_ransacThreshold(0.001), m_trainDescriptors(), m_trainKeyPoints(), m_trainPoints(),
+    m_trainVpPoints(), m_useAffineDetection(false), m_useBruteForceCrossCheck(true),
+    m_useConsensusPercentage(false), m_useKnn(false), m_useRansacVVS(false)
+{
+  //Use k-nearest neighbors (knn) to retrieve the two best matches for a keypoint
+  //So this is useful only for ratioDistanceThreshold method
+  if(filterType == ratioDistanceThreshold || filterType == stdAndRatioDistanceThreshold) {
+    m_useKnn = true;
+  }
+
+  init();
+}
+
+/*!
+   Apply an affine and skew transformation to an image.
+   \param tilt : Tilt value in the direction of x
+   \param phi : Rotation value
+   \param img : Modified image after the transformation
+   \param mask : Mask containing the location of the image pixels after the transformation
+   \param Ai : Inverse affine matrix
+ */
+void vpKeyPoint::affineSkew(double tilt, double phi, cv::Mat& img,
+    cv::Mat& mask, cv::Mat& Ai) {
+  int h = img.rows;
+  int w = img.cols;
+
+  mask = cv::Mat(h, w, CV_8UC1, cv::Scalar(255));
+
+  cv::Mat A = cv::Mat::eye(2, 3, CV_32F);
+
+  //if (phi != 0.0) {
+  if (std::fabs(phi) > std::numeric_limits<double>::epsilon()) {
+    phi *= M_PI / 180.;
+    double s = sin(phi);
+    double c = cos(phi);
+
+    A = (cv::Mat_<float>(2, 2) << c, -s, s, c);
+
+    cv::Mat corners = (cv::Mat_<float>(4, 2) << 0, 0, w, 0, w, h, 0, h);
+    cv::Mat tcorners = corners * A.t();
+    cv::Mat tcorners_x, tcorners_y;
+    tcorners.col(0).copyTo(tcorners_x);
+    tcorners.col(1).copyTo(tcorners_y);
+    std::vector<cv::Mat> channels;
+    channels.push_back(tcorners_x);
+    channels.push_back(tcorners_y);
+    merge(channels, tcorners);
+
+    cv::Rect rect = boundingRect(tcorners);
+    A = (cv::Mat_<float>(2, 3) << c, -s, -rect.x, s, c, -rect.y);
+
+    cv::warpAffine(img, img, A, cv::Size(rect.width, rect.height),
+        cv::INTER_LINEAR, cv::BORDER_REPLICATE);
+  }
+  //if (tilt != 1.0) {
+  if (std::fabs(tilt - 1.0) > std::numeric_limits<double>::epsilon()) {
+    double s = 0.8 * sqrt(tilt * tilt - 1);
+    cv::GaussianBlur(img, img, cv::Size(0, 0), s, 0.01);
+    cv::resize(img, img, cv::Size(0, 0), 1.0 / tilt, 1.0, cv::INTER_NEAREST);
+    A.row(0) = A.row(0) / tilt;
+  }
+  //if (tilt != 1.0 || phi != 0.0) {
+  if (std::fabs(tilt - 1.0) > std::numeric_limits<double>::epsilon() || std::fabs(phi) > std::numeric_limits<double>::epsilon() ) {
+    h = img.rows;
+    w = img.cols;
+    cv::warpAffine(mask, mask, A, cv::Size(w, h), cv::INTER_NEAREST);
+  }
+  invertAffineTransform(A, Ai);
+}
+
+/*!
+   Build the reference keypoints list.
+
+   \param I : Input reference image.
+   \return The number of detected keypoints in the image \p I.
+ */
+unsigned int vpKeyPoint::buildReference(const vpImage<unsigned char> &I) {
+  return buildReference(I, vpRect());
+}
+
+/*!
+   Build the reference keypoints list in a region of interest in the image.
+
+   \param I : Input reference image
+   \param iP : Position of the top-left corner of the region of interest.
+   \param height : Height of the region of interest.
+   \param width : Width of the region of interest.
+   \return The number of detected keypoints in the current image I.
+ */
+unsigned int vpKeyPoint::buildReference(const vpImage<unsigned char> &I,
+                                        const vpImagePoint &iP,
+                                        const unsigned int height, const unsigned int width) {
+
+  return buildReference(I, vpRect(iP, width, height));
+}
+
+/*!
+   Build the reference keypoints list in a region of interest in the image.
+
+   \param I : Input image.
+   \param rectangle : Rectangle of the region of interest.
+   \return The number of detected keypoints in the current image I.
+ */
+unsigned int vpKeyPoint::buildReference(const vpImage<unsigned char> &I,
+                                        const vpRect &rectangle) {
+  //Reset variables used when dealing with 3D models
+  //So as no 3D point list is passed, we dont need this variables
+  m_trainPoints.clear();
+  m_mapOfImageId.clear();
+  m_mapOfImages.clear();
+  m_currentImageId = 1;
+
+  if(m_useAffineDetection) {
+    std::vector<std::vector<cv::KeyPoint> > listOfTrainKeyPoints;
+    std::vector<cv::Mat> listOfTrainDescriptors;
+
+    //Detect keypoints and extract descriptors on multiple images
+    detectExtractAffine(I, listOfTrainKeyPoints, listOfTrainDescriptors);
+
+    //Flatten the different train lists
+    m_trainKeyPoints.clear();
+    for(std::vector<std::vector<cv::KeyPoint> >::const_iterator it = listOfTrainKeyPoints.begin();
+        it != listOfTrainKeyPoints.end(); ++it) {
+      m_trainKeyPoints.insert(m_trainKeyPoints.end(), it->begin(), it->end());
+    }
+
+    bool first = true;
+    for(std::vector<cv::Mat>::const_iterator it = listOfTrainDescriptors.begin(); it != listOfTrainDescriptors.end(); ++it) {
+      if(first) {
+        first = false;
+        it->copyTo(m_trainDescriptors);
+      } else {
+        m_trainDescriptors.push_back(*it);
+      }
+    }
+  } else {
+    detect(I, m_trainKeyPoints, m_detectionTime, rectangle);
+    extract(I, m_trainKeyPoints, m_trainDescriptors, m_extractionTime);
+  }
+
+  //Save the correspondence keypoint class_id with the training image_id in a map
+  //Used to display the matching with all the training images
+  for(std::vector<cv::KeyPoint>::const_iterator it = m_trainKeyPoints.begin(); it != m_trainKeyPoints.end(); ++it) {
+    m_mapOfImageId[it->class_id] = m_currentImageId;
+  }
+
+  //Save the image in a map at a specific image_id
+  m_mapOfImages[m_currentImageId] = I;
+
+  //Convert OpenCV type to ViSP type for compatibility
+  vpConvert::convertFromOpenCV(m_trainKeyPoints, referenceImagePointsList);
+
+  _reference_computed = true;
+
+  return static_cast<unsigned int>(m_trainKeyPoints.size());
+}
+
+/*!
+   Build the reference keypoints list and compute the 3D position corresponding of the keypoints locations.
+
+   \param I : Input image
+   \param trainKeyPoints : List of the train keypoints.
+   \param points3f : Output list of the 3D position corresponding of the keypoints locations.
+   \param append : If true, append the supply train keypoints with those already present.
+ */
+void vpKeyPoint::buildReference(const vpImage<unsigned char> &I, std::vector<cv::KeyPoint> &trainKeyPoints,
+                                std::vector<cv::Point3f> &points3f, bool append) {
+  cv::Mat trainDescriptors;
+  extract(I, trainKeyPoints, trainDescriptors, m_extractionTime);
+
+  buildReference(I, trainKeyPoints, trainDescriptors, points3f, append);
+}
+
+/*!
+   Build the reference keypoints list and compute the 3D position corresponding of the keypoints locations.
+
+   \param I : Input image
+   \param trainKeyPoints : List of the train keypoints.
+   \param points3f : List of the 3D position corresponding of the keypoints locations.
+   \param trainDescriptors : List of the train descriptors.
+   \param append : If true, append the supply train keypoints with those already present.
+ */
+void vpKeyPoint::buildReference(const vpImage<unsigned char> &I, const std::vector<cv::KeyPoint> &trainKeyPoints,
+                                const cv::Mat &trainDescriptors, const std::vector<cv::Point3f> &points3f, bool append) {
+  if(!append) {
+    m_currentImageId = 0;
+    m_mapOfImageId.clear();
+    m_mapOfImages.clear();
+    this->m_trainKeyPoints.clear();
+    this->m_trainPoints.clear();
+  }
+
+  m_currentImageId++;
+
+  //Save the correspondence keypoint class_id with the training image_id in a map
+  //Used to display the matching with all the training images
+  for(std::vector<cv::KeyPoint>::const_iterator it = trainKeyPoints.begin(); it != trainKeyPoints.end(); ++it) {
+    m_mapOfImageId[it->class_id] = m_currentImageId;
+  }
+
+  //Save the image in a map at a specific image_id
+  m_mapOfImages[m_currentImageId] = I;
+
+  //Append reference lists
+  this->m_trainKeyPoints.insert(this->m_trainKeyPoints.end(), trainKeyPoints.begin(), trainKeyPoints.end());
+  if(!append) {
+    trainDescriptors.copyTo(this->m_trainDescriptors);
+  } else {
+    this->m_trainDescriptors.push_back(trainDescriptors);
+  }
+  this->m_trainPoints.insert(this->m_trainPoints.end(), points3f.begin(), points3f.end());
+
+
+  //Convert OpenCV type to ViSP type for compatibility
+  vpConvert::convertFromOpenCV(this->m_trainKeyPoints, referenceImagePointsList);
+  vpConvert::convertFromOpenCV(this->m_trainPoints, m_trainVpPoints);
+
+  _reference_computed = true;
+}
+
+/*!
+   Compute the 3D coordinate given the 2D image coordinate and under the assumption that the point is located on a plane
+   whose the plane equation is known in the camera frame.
+   The Z-coordinate is retrieved according to the proportional relation between the plane equation expressed in the
+   normalized camera frame (derived from the image coordinate) and the same plane equation expressed in the camera frame.
+
+   \param candidate : Keypoint we want to compute the 3D coordinate.
+   \param roi : List of 3D points representing a planar face.
+   \param cam : Camera parameters.
+   \param cMo : Homogeneous matrix between the world and the camera frames.
+   \param point : 3D coordinate computed.
+ */
+void vpKeyPoint::compute3D(const cv::KeyPoint &candidate, const std::vector<vpPoint> &roi,
+    const vpCameraParameters &cam, const vpHomogeneousMatrix &cMo, cv::Point3f &point) {
+  /* compute plane equation */
+  std::vector<vpPoint>::const_iterator it_roi = roi.begin();
+  vpPoint pts[3];
+  pts[0] = *it_roi;
+  ++it_roi;
+  pts[1] = *it_roi;
+  ++it_roi;
+  pts[2] = *it_roi;
+  vpPlane Po(pts[0], pts[1], pts[2]);
+  double xc = 0.0, yc = 0.0;
+  vpPixelMeterConversion::convertPoint(cam, candidate.pt.x, candidate.pt.y, xc, yc);
+  double Z = -Po.getD() / (Po.getA() * xc + Po.getB() * yc + Po.getC());
+  double X = xc * Z;
+  double Y = yc * Z;
+  vpColVector point_cam(4);
+  point_cam[0] = X;
+  point_cam[1] = Y;
+  point_cam[2] = Z;
+  point_cam[3] = 1;
+  vpColVector point_obj(4);
+  point_obj = cMo.inverse() * point_cam;
+  point = cv::Point3f((float) point_obj[0], (float) point_obj[1], (float) point_obj[2]);
+}
+
+/*!
+   Compute the 3D coordinate given the 2D image coordinate and under the assumption that the point is located on a plane
+   whose the plane equation is known in the camera frame.
+   The Z-coordinate is retrieved according to the proportional relation between the plane equation expressed in the
+   normalized camera frame (derived from the image coordinate) and the same plane equation expressed in the camera frame.
+
+   \param candidate : vpImagePoint we want to compute the 3D coordinate.
+   \param roi : List of 3D points representing a planar face.
+   \param cam : Camera parameters.
+   \param cMo : Homogeneous matrix between the world and the camera frames.
+   \param point : 3D coordinate computed.
+ */
+void vpKeyPoint::compute3D(const vpImagePoint &candidate, const std::vector<vpPoint> &roi,
+    const vpCameraParameters &cam, const vpHomogeneousMatrix &cMo, vpPoint &point) {
+  /* compute plane equation */
+  std::vector<vpPoint>::const_iterator it_roi = roi.begin();
+  vpPoint pts[3];
+  pts[0] = *it_roi;
+  ++it_roi;
+  pts[1] = *it_roi;
+  ++it_roi;
+  pts[2] = *it_roi;
+  vpPlane Po(pts[0], pts[1], pts[2]);
+  double xc = 0.0, yc = 0.0;
+  vpPixelMeterConversion::convertPoint(cam, candidate, xc, yc);
+  double Z = -Po.getD() / (Po.getA() * xc + Po.getB() * yc + Po.getC());
+  double X = xc * Z;
+  double Y = yc * Z;
+  vpColVector point_cam(4);
+  point_cam[0] = X;
+  point_cam[1] = Y;
+  point_cam[2] = Z;
+  point_cam[3] = 1;
+  vpColVector point_obj(4);
+  point_obj = cMo.inverse() * point_cam;
+  point.setWorldCoordinates(point_obj);
+}
+
+/*!
+   Keep only keypoints located on faces and compute for those keypoints the 3D coordinate given the 2D image coordinate
+   and under the assumption that the point is located on a plane.
+
+   \param cMo : Homogeneous matrix between the world and the camera frames.
+   \param cam : Camera parameters.
+   \param candidates : In input, list of keypoints detected in the whole image, in output, list of keypoints only located
+   on planes.
+   \param polygons : List of 2D polygons representing the projection of the faces in the image plane.
+   \param  roisPt : List of faces.
+   \param points : Output list of computed 3D coordinates of keypoints located only on faces.
+   \param descriptors : Optional parameter, pointer to the descriptors to filter
+ */
+void vpKeyPoint::compute3DForPointsInPolygons(const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam,
+    std::vector<cv::KeyPoint> &candidates, std::vector<vpPolygon> &polygons, std::vector<std::vector<vpPoint> > &roisPt,
+    std::vector<cv::Point3f> &points, cv::Mat *descriptors) {
+
+  std::vector<cv::KeyPoint> candidateToCheck = candidates;
+  candidates.clear();
+  vpImagePoint iPt;
+  cv::Point3f pt;
+  cv::Mat desc;
+
+  size_t cpt1 = 0;
+  for (std::vector<vpPolygon>::iterator it1 = polygons.begin(); it1 != polygons.end(); ++it1, cpt1++) {
+    int cpt2 = 0;
+
+    for (std::vector<cv::KeyPoint>::iterator it2 = candidateToCheck.begin(); it2 != candidateToCheck.end(); cpt2++) {
+      iPt.set_ij(it2->pt.y, it2->pt.x);
+      if (it1->isInside(iPt)) {
+        candidates.push_back(*it2);
+        vpKeyPoint::compute3D(*it2, roisPt[cpt1], cam, cMo, pt);
+        points.push_back(pt);
+
+        if(descriptors != NULL) {
+          desc.push_back(descriptors->row(cpt2));
+        }
+
+        //Remove candidate keypoint which is located on the current polygon
+        candidateToCheck.erase(it2);
+      } else {
+        ++it2;
+      }
+    }
+  }
+
+  if(descriptors != NULL) {
+    desc.copyTo(*descriptors);
+  }
+}
+
+/*!
+   Keep only keypoints located on faces and compute for those keypoints the 3D coordinate given the 2D image coordinate
+   and under the assumption that the point is located on a plane.
+
+   \param cMo : Homogeneous matrix between the world and the camera frames.
+   \param cam : Camera parameters.
+   \param candidates : In input, list of vpImagePoint located in the whole image, in output, list of vpImagePoint only located
+   on planes.
+   \param polygons : List of 2D polygons representing the projection of the faces in the image plane.
+   \param  roisPt : List of faces.
+   \param points : Output list of computed 3D coordinates of vpImagePoint located only on faces.
+   \param descriptors : Optional parameter, pointer to the descriptors to filter
+ */
+void vpKeyPoint::compute3DForPointsInPolygons(const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam,
+    std::vector<vpImagePoint> &candidates, std::vector<vpPolygon> &polygons, std::vector<std::vector<vpPoint> > &roisPt,
+    std::vector<vpPoint> &points, cv::Mat *descriptors) {
+
+  std::vector<vpImagePoint> candidateToCheck = candidates;
+  candidates.clear();
+  vpPoint pt;
+  cv::Mat desc;
+
+  size_t cpt1 = 0;
+  for (std::vector<vpPolygon>::iterator it1 = polygons.begin(); it1 != polygons.end(); ++it1, cpt1++) {
+    int cpt2 = 0;
+
+    for (std::vector<vpImagePoint>::iterator it2 = candidateToCheck.begin(); it2 != candidateToCheck.end(); cpt2++) {
+      if (it1->isInside(*it2)) {
+        candidates.push_back(*it2);
+        vpKeyPoint::compute3D(*it2, roisPt[cpt1], cam, cMo, pt);
+        points.push_back(pt);
+
+        if(descriptors != NULL) {
+          desc.push_back(descriptors->row(cpt2));
+        }
+
+        //Remove candidate keypoint which is located on the current polygon
+        candidateToCheck.erase(it2);
+      } else {
+        ++it2;
+      }
+    }
+  }
+}
+
+/*!
+   Compute the pose using the correspondence between 2D points and 3D points using OpenCV function with RANSAC method.
+
+   \param imagePoints : List of 2D points corresponding to the location of the detected keypoints.
+   \param  objectPoints : List of the 3D points in the object frame matched.
+   \param cam : Camera parameters.
+   \param cMo : Homogeneous matrix between the object frame and the camera frame.
+   \param inlierIndex : List of indexes of inliers.
+   \param elapsedTime : Elapsed time.
+   \param func : Function pointer to filter the final pose returned by OpenCV pose estimation method.
+   \return True if the pose has been computed, false otherwise (not enough points, or size list mismatch).
+ */
+bool vpKeyPoint::computePose(const std::vector<cv::Point2f> &imagePoints, const std::vector<cv::Point3f> &objectPoints,
+                         const vpCameraParameters &cam, vpHomogeneousMatrix &cMo, std::vector<int> &inlierIndex,
+                         double &elapsedTime, bool (*func)(vpHomogeneousMatrix *)) {
+  double t = vpTime::measureTimeMs();
+
+  if(imagePoints.size() < 4 || objectPoints.size() < 4 || imagePoints.size() != objectPoints.size()) {
+    elapsedTime = (vpTime::measureTimeMs() - t);
+    std::cerr << "Not enough points to compute the pose (at least 4 points are needed)." << std::endl;
+
+    return false;
+  }
+
+  cv::Mat cameraMatrix =
+      (cv::Mat_<double>(3, 3) << cam.get_px(), 0, cam.get_u0(), 0, cam.get_py(), cam.get_v0(), 0, 0, 1);
+  cv::Mat rvec, tvec;
+  cv::Mat distCoeffs;
+
+  try {
+#if (VISP_HAVE_OPENCV_VERSION >= 0x030000)
+    //OpenCV 3.0.0 (2014/12/12)
+    cv::solvePnPRansac(objectPoints, imagePoints, cameraMatrix, distCoeffs,
+        rvec, tvec, false, m_nbRansacIterations, (float) m_ransacReprojectionError,
+        0.99,//confidence=0.99 (default) – The probability that the algorithm produces a useful result.
+        inlierIndex,
+        cv::SOLVEPNP_ITERATIVE);
+    //SOLVEPNP_ITERATIVE (default): Iterative method is based on Levenberg-Marquardt optimization.
+    //In this case the function finds such a pose that minimizes reprojection error, that is the sum of squared distances
+    //between the observed projections imagePoints and the projected (using projectPoints() ) objectPoints .
+    //SOLVEPNP_P3P: Method is based on the paper of X.S. Gao, X.-R. Hou, J. Tang, H.-F. Chang “Complete Solution Classification
+    //for the Perspective-Three-Point Problem”. In this case the function requires exactly four object and image points.
+    //SOLVEPNP_EPNP: Method has been introduced by F.Moreno-Noguer, V.Lepetit and P.Fua in the paper “EPnP: Efficient
+    //Perspective-n-Point Camera Pose Estimation”.
+    //SOLVEPNP_DLS: Method is based on the paper of Joel A. Hesch and Stergios I. Roumeliotis. “A Direct Least-Squares (DLS)
+    //Method for PnP”.
+    //SOLVEPNP_UPNP Method is based on the paper of A.Penate-Sanchez, J.Andrade-Cetto, F.Moreno-Noguer.
+    //“Exhaustive Linearization for Robust Camera Pose and Focal Length Estimation”. In this case the function also
+    //estimates the parameters f_x and f_y assuming that both have the same value. Then the cameraMatrix is updated with the
+    //estimated focal length.
+#else
+    int nbInlierToReachConsensus = m_nbRansacMinInlierCount;
+    if(m_useConsensusPercentage) {
+      nbInlierToReachConsensus = (int) (m_ransacConsensusPercentage / 100.0 * (double) m_queryFilteredKeyPoints.size());
+    }
+
+    cv::solvePnPRansac(objectPoints, imagePoints, cameraMatrix, distCoeffs,
+        rvec, tvec, false, m_nbRansacIterations,
+        (float) m_ransacReprojectionError, nbInlierToReachConsensus,
+        inlierIndex);
+#endif
+  } catch (cv::Exception &e) {
+    std::cerr << e.what() << std::endl;
+    elapsedTime = (vpTime::measureTimeMs() - t);
+    return false;
+  }
+  vpTranslationVector translationVec(tvec.at<double>(0),
+                                     tvec.at<double>(1), tvec.at<double>(2));
+  vpThetaUVector thetaUVector(rvec.at<double>(0), rvec.at<double>(1),
+                              rvec.at<double>(2));
+  cMo = vpHomogeneousMatrix(translationVec, thetaUVector);
+
+  if(func != NULL) {
+    //Check the final pose returned by the Ransac VVS pose estimation as in rare some cases
+    //we can converge toward a final cMo that does not respect the pose criterion even
+    //if the 4 minimal points picked to respect the pose criterion.
+    if(!func(&cMo)) {
+      elapsedTime = (vpTime::measureTimeMs() - t);
+      return false;
+    }
+  }
+
+  elapsedTime = (vpTime::measureTimeMs() - t);
+  return true;
+}
+
+/*!
+   Compute the pose using the correspondence between 2D points and 3D points using ViSP function with RANSAC method.
+
+   \param objectVpPoints : List of vpPoint with coordinates expressed in the object and in the camera frame.
+   \param cMo : Homogeneous matrix between the object frame and the camera frame.
+   \param inliers : List of inliers.
+   \param elapsedTime : Elapsed time.
+   \return True if the pose has been computed, false otherwise (not enough points, or size list mismatch).
+   \param func : Function pointer to filter the pose in Ransac pose estimation, if we want to eliminate
+   the poses which do not respect some criterion
+ */
+bool vpKeyPoint::computePose(const std::vector<vpPoint> &objectVpPoints, vpHomogeneousMatrix &cMo,
+                         std::vector<vpPoint> &inliers, double &elapsedTime, bool (*func)(vpHomogeneousMatrix *)) {
+  double t = vpTime::measureTimeMs();
+
+  if(objectVpPoints.size() < 4) {
+    elapsedTime = (vpTime::measureTimeMs() - t);
+    std::cerr << "Not enough points to compute the pose (at least 4 points are needed)." << std::endl;
+
+    return false;
+  }
+
+  vpPose pose;
+  pose.setCovarianceComputation(true);
+
+  for(std::vector<vpPoint>::const_iterator it = objectVpPoints.begin(); it != objectVpPoints.end(); ++it) {
+    pose.addPoint(*it);
+  }
+
+  unsigned int nbInlierToReachConsensus = (unsigned int) m_nbRansacMinInlierCount;
+  if(m_useConsensusPercentage) {
+    nbInlierToReachConsensus = (unsigned int) (m_ransacConsensusPercentage / 100.0 *
+                               (double) m_queryFilteredKeyPoints.size());
+  }
+
+  pose.setRansacNbInliersToReachConsensus(nbInlierToReachConsensus);
+  pose.setRansacThreshold(m_ransacThreshold);
+  pose.setRansacMaxTrials(m_nbRansacIterations);
+
+  bool isRansacPoseEstimationOk = false;
+  try {
+    pose.setCovarianceComputation(m_computeCovariance);
+    isRansacPoseEstimationOk = pose.computePose(vpPose::RANSAC, cMo, func);
+    inliers = pose.getRansacInliers();
+    if(m_computeCovariance) {
+      m_covarianceMatrix = pose.getCovarianceMatrix();
+    }
+  } catch(vpException &e) {
+    std::cerr << "e=" << e.what() << std::endl;
+    elapsedTime = (vpTime::measureTimeMs() - t);
+    return false;
+  }
+
+  if(func != NULL && isRansacPoseEstimationOk) {
+    //Check the final pose returned by the Ransac VVS pose estimation as in rare some cases
+    //we can converge toward a final cMo that does not respect the pose criterion even
+    //if the 4 minimal points picked to respect the pose criterion.
+    if(!func(&cMo)) {
+      elapsedTime = (vpTime::measureTimeMs() - t);
+      return false;
+    }
+  }
+
+  elapsedTime = (vpTime::measureTimeMs() - t);
+  return isRansacPoseEstimationOk;
+}
+
+/*!
+   Compute the pose estimation error, the mean square error (in pixel) between the location of the detected keypoints
+   and the location of the projection of the 3D model with the estimated pose.
+
+   \param matchKeyPoints : List of pairs between the detected keypoints and the corresponding 3D points.
+   \param cam : Camera parameters.
+   \param cMo_est : Estimated pose of the object.
+
+   \return The mean square error (in pixel) between the location of the detected keypoints
+   and the location of the projection of the 3D model with the estimated pose.
+ */
+double vpKeyPoint::computePoseEstimationError(const std::vector<std::pair<cv::KeyPoint, cv::Point3f> > &matchKeyPoints,
+                                              const vpCameraParameters &cam, const vpHomogeneousMatrix &cMo_est) {
+  if(matchKeyPoints.size() == 0) {
+    //return std::numeric_limits<double>::max(); // create an error under Windows. To fix it we have to add #undef max
+    return DBL_MAX;
+  }
+
+  std::vector<double> errors(matchKeyPoints.size());
+  size_t cpt = 0;
+  vpPoint pt;
+  for(std::vector<std::pair<cv::KeyPoint, cv::Point3f> >::const_iterator it = matchKeyPoints.begin();
+      it != matchKeyPoints.end(); ++it, cpt++) {
+    pt.set_oX(it->second.x);
+    pt.set_oY(it->second.y);
+    pt.set_oZ(it->second.z);
+    pt.project(cMo_est);
+    double u = 0.0, v = 0.0;
+    vpMeterPixelConversion::convertPoint(cam, pt.get_x(), pt.get_y(), u, v);
+    errors[cpt] = std::sqrt((u-it->first.pt.x)*(u-it->first.pt.x) + (v-it->first.pt.y)*(v-it->first.pt.y));
+  }
+
+  return std::accumulate(errors.begin(), errors.end(), 0.0) / errors.size();
+}
+
+/*!
+   Initialize the size of the matching image (case with a matching side by side between IRef and ICurrent).
+
+   \param IRef : Reference image.
+   \param ICurrent : Current image.
+   \param IMatching : Image matching.
+ */
+void vpKeyPoint::createImageMatching(vpImage<unsigned char> &IRef, vpImage<unsigned char> &ICurrent,
+                                     vpImage<unsigned char> &IMatching) {
+  //Image matching side by side
+  unsigned int width = IRef.getWidth() + ICurrent.getWidth();
+  unsigned int height = (std::max)(IRef.getHeight(), ICurrent.getHeight());
+
+  IMatching = vpImage<unsigned char>(height, width);
+}
+
+/*!
+   Initialize the size of the matching image with appropriate size according to the number of training images.
+   Used to display the matching of keypoints detected in the current image with those detected in multiple
+   training images.
+
+   \param ICurrent : Current image.
+   \param IMatching : Image initialized with appropriate size.
+ */
+void vpKeyPoint::createImageMatching(vpImage<unsigned char> &ICurrent, vpImage<unsigned char> &IMatching) {
+  //Nb images in the training database + the current image we want to detect the object
+  unsigned int nbImg = (unsigned int) (m_mapOfImages.size() + 1);
+
+  if(m_mapOfImages.empty()) {
+    return;
+  }
+
+  if(nbImg == 2) {
+    //Only one training image, so we display them side by side
+    createImageMatching(m_mapOfImages.begin()->second, ICurrent, IMatching);
+  } else {
+    //Multiple training images, display them as a mosaic image
+    //round(std::sqrt((double) nbImg)); VC++ compiler does not have round so the next line is used
+    //Different implementations of round exist, here round to the closest integer but will not work for negative numbers
+    unsigned int nbImgSqrt = (unsigned int) std::floor(std::sqrt((double) nbImg) + 0.5);
+
+    //Number of columns in the mosaic grid
+    unsigned int nbWidth = nbImgSqrt;
+    //Number of rows in the mosaic grid
+    unsigned int nbHeight = nbImgSqrt;
+
+    //Deals with non square mosaic grid and the total number of images
+    if(nbImgSqrt * nbImgSqrt < nbImg) {
+      nbWidth++;
+    }
+
+    unsigned int maxW = ICurrent.getWidth();
+    unsigned int maxH = ICurrent.getHeight();
+    for(std::map<int, vpImage<unsigned char> >::const_iterator it = m_mapOfImages.begin(); it != m_mapOfImages.end(); ++it) {
+      if(maxW < it->second.getWidth()) {
+        maxW = it->second.getWidth();
+      }
+
+      if(maxH < it->second.getHeight()) {
+        maxH = it->second.getHeight();
+      }
+    }
+
+    IMatching = vpImage<unsigned char>(maxH * nbHeight, maxW * nbWidth);
+  }
+}
+
+/*!
+   Detect keypoints in the image.
+
+   \param I : Input image.
+   \param keyPoints : Output list of the detected keypoints.
+   \param elapsedTime : Elapsed time.
+   \param rectangle : Optional rectangle of the region of interest.
+ */
+void vpKeyPoint::detect(const vpImage<unsigned char> &I, std::vector<cv::KeyPoint> &keyPoints, double &elapsedTime,
+                        const vpRect &rectangle) {
+  cv::Mat matImg;
+  vpImageConvert::convert(I, matImg, false);
+  cv::Mat mask = cv::Mat::zeros(matImg.rows, matImg.cols, CV_8U);
+
+  if(rectangle.getWidth() > 0 && rectangle.getHeight() > 0) {
+    cv::Point leftTop((int) rectangle.getLeft(), (int) rectangle.getTop()), rightBottom((int) rectangle.getRight(),
+                      (int) rectangle.getBottom());
+    cv::rectangle(mask, leftTop, rightBottom, cv::Scalar(255), CV_FILLED);
+  } else {
+    mask = cv::Mat::ones(matImg.rows, matImg.cols, CV_8U);
+  }
+
+  detect(matImg, keyPoints, elapsedTime, mask);
+}
+
+/*!
+   Detect keypoints in the image.
+
+   \param matImg : Input image.
+   \param keyPoints : Output list of the detected keypoints.
+   \param elapsedTime : Elapsed time.
+   \param mask : Optional mask to detect only where mask[i][j] == 1.
+ */
+void vpKeyPoint::detect(const cv::Mat &matImg, std::vector<cv::KeyPoint> &keyPoints, double &elapsedTime,
+                        const cv::Mat &mask) {
+  double t = vpTime::measureTimeMs();
+  keyPoints.clear();
+
+  for(std::map<std::string, cv::Ptr<cv::FeatureDetector> >::const_iterator it = m_detectors.begin(); it != m_detectors.end(); ++it) {
+    std::vector<cv::KeyPoint> kp;
+    it->second->detect(matImg, kp, mask);
+    keyPoints.insert(keyPoints.end(), kp.begin(), kp.end());
+  }
+
+  elapsedTime = vpTime::measureTimeMs() - t;
+}
+
+/*!
+   Display the reference and the detected keypoints in the images.
+
+   \param IRef : Input reference image.
+   \param ICurrent : Input current image.
+   \param size : Size of the displayed cross.
+ */
+void vpKeyPoint::display(const vpImage<unsigned char> &IRef,
+                         const vpImage<unsigned char> &ICurrent, unsigned int size) {
+  std::vector<vpImagePoint> vpQueryImageKeyPoints;
+  getQueryKeyPoints(vpQueryImageKeyPoints);
+  std::vector<vpImagePoint> vpTrainImageKeyPoints;
+  getTrainKeyPoints(vpTrainImageKeyPoints);
+
+  for(std::vector<cv::DMatch>::const_iterator it = m_filteredMatches.begin(); it != m_filteredMatches.end(); ++it) {
+    vpDisplay::displayCross(IRef, vpTrainImageKeyPoints[(size_t)(it->trainIdx)], size, vpColor::red);
+    vpDisplay::displayCross(ICurrent, vpQueryImageKeyPoints[(size_t)(it->queryIdx)], size, vpColor::green);
+  }
+}
+
+/*!
+   Display the reference keypoints.
+
+   \param ICurrent : Input current image.
+   \param size : Size of the displayed crosses.
+   \param color : Color of the crosses.
+ */
+void vpKeyPoint::display(const vpImage<unsigned char> &ICurrent, unsigned int size, const vpColor &color) {
+  std::vector<vpImagePoint> vpQueryImageKeyPoints;
+  getQueryKeyPoints(vpQueryImageKeyPoints);
+
+  for(std::vector<cv::DMatch>::const_iterator it = m_filteredMatches.begin(); it != m_filteredMatches.end(); ++it) {
+    vpDisplay::displayCross (ICurrent, vpQueryImageKeyPoints[(size_t)(it->queryIdx)], size, color);
+  }
+}
+
+/*!
+  Display the matching lines between the detected keypoints with those detected in one training image.
+
+  \param IRef : Reference image, used to have the x-offset.
+  \param IMatching : Resulting image matching.
+  \param crossSize : Size of the displayed crosses.
+  \param lineThickness : Thickness of the displayed lines.
+  \param color : Color to use, if none, we pick randomly a color for each pair of matching.
+ */
+void vpKeyPoint::displayMatching(const vpImage<unsigned char> &IRef, vpImage<unsigned char> &IMatching,
+                                 unsigned int crossSize, unsigned int lineThickness, const vpColor &color) {
+  bool randomColor = (color == vpColor::none);
+  srand((unsigned int) time(NULL));
+  vpColor currentColor = color;
+
+  std::vector<vpImagePoint> queryImageKeyPoints;
+  getQueryKeyPoints(queryImageKeyPoints);
+  std::vector<vpImagePoint> trainImageKeyPoints;
+  getTrainKeyPoints(trainImageKeyPoints);
+
+  vpImagePoint leftPt, rightPt;
+  for(std::vector<cv::DMatch>::const_iterator it = m_filteredMatches.begin(); it != m_filteredMatches.end(); ++it) {
+    if(randomColor) {
+      currentColor = vpColor((rand() % 256), (rand() % 256), (rand() % 256));
+    }
+
+    leftPt = trainImageKeyPoints[(size_t)(it->trainIdx)];
+    rightPt = vpImagePoint(queryImageKeyPoints[(size_t)(it->queryIdx)].get_i(),
+        queryImageKeyPoints[(size_t)it->queryIdx].get_j() + IRef.getWidth());
+    vpDisplay::displayCross(IMatching, leftPt, crossSize, currentColor);
+    vpDisplay::displayCross(IMatching, rightPt, crossSize, currentColor);
+    vpDisplay::displayLine(IMatching, leftPt, rightPt, currentColor, lineThickness);
+  }
+}
+
+/*!
+   Display matching between keypoints detected in the current image and with those detected in the multiple training
+   images. Display also RANSAC inliers if the list is supplied.
+
+   \param ICurrent : Current image.
+   \param IMatching : Resulting matching image.
+   \param ransacInliers : List of Ransac inliers or empty list if not available.
+   \param crossSize : Size of the displayed crosses.
+   \param lineThickness : Thickness of the displayed line.
+ */
+void vpKeyPoint::displayMatching(const vpImage<unsigned char> &ICurrent, vpImage<unsigned char> &IMatching,
+                                 const std::vector<vpImagePoint> &ransacInliers, unsigned int crossSize, unsigned int lineThickness) {
+  if(m_mapOfImages.empty()) {
+    //No training images so return
+    return;
+  }
+
+  //Nb images in the training database + the current image we want to detect the object
+  int nbImg = (int) (m_mapOfImages.size() + 1);
+
+  if(nbImg == 2) {
+    //Only one training image, so we display the matching result side-by-side
+    displayMatching(m_mapOfImages.begin()->second, IMatching, crossSize);
+  } else {
+    //Multiple training images, display them as a mosaic image
+    //round(std::sqrt((double) nbImg)); VC++ compiler does not have round so the next line is used
+    //Different implementations of round exist, here round to the closest integer but will not work for negative numbers
+    int nbImgSqrt = (int) std::floor(std::sqrt((double) nbImg) + 0.5);
+    int nbWidth = nbImgSqrt;
+    int nbHeight = nbImgSqrt;
+
+    if(nbImgSqrt * nbImgSqrt < nbImg) {
+      nbWidth++;
+    }
+
+    std::map<int, int> mapOfImageIdIndex;
+    int cpt = 0;
+    unsigned int maxW = ICurrent.getWidth(), maxH = ICurrent.getHeight();
+    for(std::map<int, vpImage<unsigned char> >::const_iterator it = m_mapOfImages.begin(); it != m_mapOfImages.end(); ++it, cpt++) {
+      mapOfImageIdIndex[it->first] = cpt;
+
+      if(maxW < it->second.getWidth()) {
+        maxW = it->second.getWidth();
+      }
+
+      if(maxH < it->second.getHeight()) {
+        maxH = it->second.getHeight();
+      }
+    }
+
+    //Indexes of the current image in the grid made in order to the image is in the center square in the mosaic grid
+    int medianI = nbHeight / 2;
+    int medianJ = nbWidth / 2;
+    int medianIndex = medianI * nbWidth + medianJ;
+    for(std::vector<cv::KeyPoint>::const_iterator it = m_trainKeyPoints.begin(); it != m_trainKeyPoints.end(); ++it) {
+      vpImagePoint topLeftCorner;
+      int current_class_id_index = 0;
+      if(mapOfImageIdIndex[m_mapOfImageId[it->class_id]] < medianIndex) {
+        current_class_id_index = mapOfImageIdIndex[m_mapOfImageId[it->class_id]];
+      } else {
+        //Shift of one unity the index of the training images which are after the current image
+        current_class_id_index = mapOfImageIdIndex[m_mapOfImageId[it->class_id]] + 1;
+      }
+
+      int indexI = current_class_id_index / nbWidth;
+      int indexJ = current_class_id_index - (indexI * nbWidth);
+      topLeftCorner.set_ij((int)maxH*indexI, (int)maxW*indexJ);
+
+      //Display cross for keypoints in the learning database
+      vpDisplay::displayCross(IMatching, (int) (it->pt.y + topLeftCorner.get_i()), (int) (it->pt.x + topLeftCorner.get_j()),
+                              crossSize, vpColor::red);
+    }
+
+    vpImagePoint topLeftCorner((int)maxH*medianI, (int)maxW*medianJ);
+    for(std::vector<cv::KeyPoint>::const_iterator it = m_queryKeyPoints.begin(); it != m_queryKeyPoints.end(); ++it) {
+      //Display cross for keypoints detected in the current image
+      vpDisplay::displayCross(IMatching, (int) (it->pt.y + topLeftCorner.get_i()), (int) (it->pt.x + topLeftCorner.get_j()),
+                              crossSize, vpColor::red);
+    }
+    for(std::vector<vpImagePoint>::const_iterator it = ransacInliers.begin();
+        it != ransacInliers.end(); ++it) {
+      //Display green circle for RANSAC inliers
+      vpDisplay::displayCircle(IMatching, (int) (it->get_v() + topLeftCorner.get_i()), (int) (it->get_u() +
+                                                                                              topLeftCorner.get_j()), 4, vpColor::green);
+    }
+    for(std::vector<vpImagePoint>::const_iterator it = m_ransacOutliers.begin(); it != m_ransacOutliers.end(); ++it) {
+      //Display red circle for RANSAC outliers
+      vpDisplay::displayCircle(IMatching, (int) (it->get_i() + topLeftCorner.get_i()), (int) (it->get_j() +
+                                                                                              topLeftCorner.get_j()), 4, vpColor::red);
+    }
+
+    for(std::vector<std::pair<cv::KeyPoint, cv::KeyPoint> >::const_iterator it = m_matchQueryToTrainKeyPoints.begin();
+        it != m_matchQueryToTrainKeyPoints.end(); ++it) {
+      int current_class_id = 0;
+      if(mapOfImageIdIndex[m_mapOfImageId[it->second.class_id]] < medianIndex) {
+        current_class_id = mapOfImageIdIndex[m_mapOfImageId[it->second.class_id]];
+      } else {
+        //Shift of one unity the index of the training images which are after the current image
+        current_class_id = mapOfImageIdIndex[m_mapOfImageId[it->second.class_id]] + 1;
+      }
+
+      int indexI = current_class_id / nbWidth;
+      int indexJ = current_class_id - (indexI * nbWidth);
+
+      vpImagePoint end((int)maxH*indexI + it->second.pt.y, (int)maxW*indexJ + it->second.pt.x);
+      vpImagePoint start((int)maxH*medianI + it->first.pt.y, (int)maxW*medianJ + it->first.pt.x);
+
+      //Draw line for matching keypoints detected in the current image and those detected
+      //in the training images
+      vpDisplay::displayLine(IMatching, start, end, vpColor::green, lineThickness);
+    }
+  }
+}
+
+/*!
+   Extract the descriptors for each keypoints of the list.
+
+   \param I : Input image.
+   \param keyPoints : List of keypoints we want to extract their descriptors.
+   \param descriptors : Descriptors matrix with at each row the descriptors values for each keypoint.
+   \param elapsedTime : Elapsed time.
+ */
+void vpKeyPoint::extract(const vpImage<unsigned char> &I, std::vector<cv::KeyPoint> &keyPoints, cv::Mat &descriptors,
+                         double &elapsedTime) {
+  cv::Mat matImg;
+  vpImageConvert::convert(I, matImg, false);
+  extract(matImg, keyPoints, descriptors, elapsedTime);
+}
+
+/*!
+   Extract the descriptors for each keypoints of the list.
+
+   \param matImg : Input image.
+   \param keyPoints : List of keypoints we want to extract their descriptors.
+   \param descriptors : Descriptors matrix with at each row the descriptors values for each keypoint.
+   \param elapsedTime : Elapsed time.
+ */
+void vpKeyPoint::extract(const cv::Mat &matImg, std::vector<cv::KeyPoint> &keyPoints, cv::Mat &descriptors,
+                         double &elapsedTime) {
+  double t = vpTime::measureTimeMs();
+  bool first = true;
+
+  for(std::map<std::string, cv::Ptr<cv::DescriptorExtractor> >::const_iterator it = m_extractors.begin();
+      it != m_extractors.end(); ++it) {
+    if(first) {
+      first = false;
+      it->second->compute(matImg, keyPoints, descriptors);
+    } else {
+      cv::Mat desc;
+      it->second->compute(matImg, keyPoints, desc);
+      if(descriptors.empty()) {
+        desc.copyTo(descriptors);
+      } else {
+        cv::hconcat(descriptors, desc, descriptors);
+      }
+    }
+  }
+
+  if(keyPoints.size() != (size_t) descriptors.rows) {
+    std::cerr << "keyPoints.size() != (size_t) descriptors.rows" << std::endl;
+  }
+  elapsedTime = vpTime::measureTimeMs() - t;
+}
+
+/*!
+   Filter the matches using the desired filtering method.
+ */
+void vpKeyPoint::filterMatches() {
+  m_matchQueryToTrainKeyPoints.clear();
+
+  std::vector<cv::KeyPoint> queryKpts;
+  std::vector<cv::Point3f> trainPts;
+  std::vector<cv::DMatch> m;
+
+  if(m_useKnn) {
+    double max_dist = 0;
+    //double min_dist = std::numeric_limits<double>::max(); // create an error under Windows. To fix it we have to add #undef max
+    double min_dist = DBL_MAX;
+    double mean = 0.0;
+    std::vector<double> distance_vec(m_knnMatches.size());
+
+    if(m_filterType == stdAndRatioDistanceThreshold) {
+      for(size_t i = 0; i < m_knnMatches.size(); i++) {
+        double dist = m_knnMatches[i][0].distance;
+        mean += dist;
+        distance_vec[i] = dist;
+
+        if (dist < min_dist) {
+          min_dist = dist;
+        }
+        if (dist > max_dist) {
+          max_dist = dist;
+        }
+      }
+      mean /= m_queryDescriptors.rows;
+    }
+
+    double sq_sum = std::inner_product(distance_vec.begin(), distance_vec.end(), distance_vec.begin(), 0.0);
+    double stdev = std::sqrt(sq_sum / distance_vec.size() - mean * mean);
+    double threshold = min_dist + stdev;
+
+    for(size_t i = 0; i < m_knnMatches.size(); i++) {
+      if(m_knnMatches[i].size() >= 2) {
+        //Calculate ratio of the descriptor distance between the two nearest neighbors of the keypoint
+        float ratio = m_knnMatches[i][0].distance / m_knnMatches[i][1].distance;
+//        float ratio = std::sqrt((vecMatches[i][0].distance * vecMatches[i][0].distance)
+//            / (vecMatches[i][1].distance * vecMatches[i][1].distance));
+        double dist = m_knnMatches[i][0].distance;
+
+        if(ratio < m_matchingRatioThreshold || (m_filterType == stdAndRatioDistanceThreshold && dist < threshold)) {
+          m.push_back(cv::DMatch((int) queryKpts.size(), m_knnMatches[i][0].trainIdx, m_knnMatches[i][0].distance));
+
+          if(!m_trainPoints.empty()) {
+            trainPts.push_back(m_trainPoints[(size_t)m_knnMatches[i][0].trainIdx]);
+          }
+          queryKpts.push_back(m_queryKeyPoints[(size_t)m_knnMatches[i][0].queryIdx]);
+
+//          //Add the pair with the correspondence between the detected keypoints and the one matched in the train keypoints list
+//          m_matchQueryToTrainKeyPoints.push_back(std::pair<cv::KeyPoint, cv::KeyPoint>(
+//                                                 m_queryKeyPoints[(size_t)m_knnMatches[i][0].queryIdx],
+//                                                 m_trainKeyPoints[(size_t)m_knnMatches[i][0].trainIdx]));
+        }
+      }
+    }
+  } else {
+    double max_dist = 0;
+    //double min_dist = std::numeric_limits<double>::max(); // create an error under Windows. To fix it we have to add #undef max
+    double min_dist = DBL_MAX;
+    double mean = 0.0;
+    std::vector<double> distance_vec(m_matches.size());
+    for(size_t i = 0; i < m_matches.size(); i++) {
+      double dist = m_matches[i].distance;
+      mean += dist;
+      distance_vec[i] = dist;
+
+      if (dist < min_dist) {
+        min_dist = dist;
+      }
+      if (dist > max_dist) {
+        max_dist = dist;
+      }
+    }
+    mean /= m_queryDescriptors.rows;
+
+    double sq_sum = std::inner_product(distance_vec.begin(), distance_vec.end(), distance_vec.begin(), 0.0);
+    double stdev = std::sqrt(sq_sum / distance_vec.size() - mean * mean);
+
+    //Define a threshold where we keep all keypoints whose the descriptor distance falls below a factor of the
+    //minimum descriptor distance (for all the query keypoints)
+    //or below the minimum descriptor distance + the standard deviation (calculated on all the query descriptor distances)
+    double threshold = m_filterType == constantFactorDistanceThreshold ? m_matchingFactorThreshold * min_dist : min_dist + stdev;
+
+    for (size_t i = 0; i < m_matches.size(); i++) {
+      if(m_matches[i].distance <= threshold) {
+        m.push_back(cv::DMatch((int) queryKpts.size(), m_matches[i].trainIdx, m_matches[i].distance));
+
+        if(!m_trainPoints.empty()) {
+          trainPts.push_back(m_trainPoints[(size_t)m_matches[i].trainIdx]);
+        }
+        queryKpts.push_back(m_queryKeyPoints[(size_t)m_matches[i].queryIdx]);
+
+//        //Add the pair with the correspondence between the detected keypoints and the one matched in the train keypoints list
+//        m_matchQueryToTrainKeyPoints.push_back(std::pair<cv::KeyPoint, cv::KeyPoint>(
+//                                              m_queryKeyPoints[(size_t)m_matches[i].queryIdx], m_trainKeyPoints[(size_t)m_matches[i].trainIdx]));
+      }
+    }
+  }
+
+  //Eliminate matches where multiple query keypoints are matched to the same train keypoint
+  std::vector<cv::DMatch> mTmp;
+  std::vector<cv::Point3f> trainPtsTmp;
+  std::vector<cv::KeyPoint> queryKptsTmp;
+
+  std::map<int, int> mapOfTrainIdx;
+  //Count the number of query points matched to the same train point
+  for(std::vector<cv::DMatch>::const_iterator it = m.begin(); it != m.end(); ++it) {
+    mapOfTrainIdx[it->trainIdx]++;
+  }
+
+  //Keep matches with only one correspondence
+  for(std::vector<cv::DMatch>::const_iterator it = m.begin(); it != m.end(); ++it) {
+    if(mapOfTrainIdx[it->trainIdx] == 1) {
+      mTmp.push_back(cv::DMatch((int) queryKptsTmp.size(), it->trainIdx, it->distance));
+
+      if(!m_trainPoints.empty()) {
+        trainPtsTmp.push_back(m_trainPoints[(size_t) it->trainIdx]);
+      }
+      queryKptsTmp.push_back(queryKpts[(size_t) it->queryIdx]);
+
+      //Add the pair with the correspondence between the detected keypoints and the one matched in the train keypoints list
+      m_matchQueryToTrainKeyPoints.push_back(std::pair<cv::KeyPoint, cv::KeyPoint>(
+                                             queryKpts[(size_t) it->queryIdx],
+                                             m_trainKeyPoints[(size_t) it->trainIdx]));
+    }
+  }
+
+  m_filteredMatches = mTmp;
+  m_objectFilteredPoints = trainPtsTmp;
+  m_queryFilteredKeyPoints = queryKptsTmp;
+}
+
+/*!
+   Get the 3D coordinates of the object points matched (the corresponding 3D coordinates in the object frame
+   of the keypoints detected in the current image after the matching).
+
+   \param objectPoints : List of 3D coordinates in the object frame.
+ */
+void vpKeyPoint::getObjectPoints(std::vector<cv::Point3f> &objectPoints) const {
+  objectPoints = m_objectFilteredPoints;
+}
+
+/*!
+   Get the 3D coordinates of the object points matched (the corresponding 3D coordinates in the object frame
+   of the keypoints detected in the current image after the matching).
+
+   \param objectPoints : List of 3D coordinates in the object frame.
+ */
+void vpKeyPoint::getObjectPoints(std::vector<vpPoint> &objectPoints) const {
+  vpConvert::convertFromOpenCV(m_objectFilteredPoints, objectPoints);
+}
+
+/*!
+   Get the query keypoints list in OpenCV type.
+
+   \param keyPoints : List of query keypoints (or keypoints detected in the current image).
+ */
+void vpKeyPoint::getQueryKeyPoints(std::vector<cv::KeyPoint> &keyPoints) const {
+  keyPoints = m_queryFilteredKeyPoints;
+}
+
+/*!
+   Get the query keypoints list in ViSP type.
+
+   \param keyPoints : List of query keypoints (or keypoints detected in the current image).
+ */
+void vpKeyPoint::getQueryKeyPoints(std::vector<vpImagePoint> &keyPoints) const {
+  keyPoints = currentImagePointsList;
+}
+
+/*!
+   Get the train keypoints list in OpenCV type.
+
+   \param keyPoints : List of train keypoints (or reference keypoints).
+ */
+void vpKeyPoint::getTrainKeyPoints(std::vector<cv::KeyPoint> &keyPoints) const {
+  keyPoints = m_trainKeyPoints;
+}
+
+/*!
+   Get the train keypoints list in ViSP type.
+
+   \param keyPoints : List of train keypoints (or reference keypoints).
+ */
+void vpKeyPoint::getTrainKeyPoints(std::vector<vpImagePoint> &keyPoints) const {
+  keyPoints = referenceImagePointsList;
+}
+
+/*!
+   Get the train points (the 3D coordinates in the object frame) list in OpenCV type.
+
+   \param points : List of train points (or reference points).
+ */
+void vpKeyPoint::getTrainPoints(std::vector<cv::Point3f> &points) const {
+  points = m_trainPoints;
+}
+
+/*!
+   Get the train points (the 3D coordinates in the object frame) list in ViSP type.
+
+   \param points : List of train points (or reference points).
+ */
+void vpKeyPoint::getTrainPoints(std::vector<vpPoint> &points) const {
+  points = m_trainVpPoints;
+}
+
+/*!
+   Initialize method for RANSAC parameters and for detectors, extractors and matcher, and for others parameters.
+ */
+void vpKeyPoint::init() {
+#if defined(VISP_HAVE_OPENCV_NONFREE) && (VISP_HAVE_OPENCV_VERSION >= 0x020400) && (VISP_HAVE_OPENCV_VERSION < 0x030000) // Require 2.4.0 <= opencv < 3.0.0
+  //The following line must be called in order to use SIFT or SURF
+  if (!cv::initModule_nonfree()) {
+    std::cerr << "Cannot init module non free, SIFT or SURF cannot be used."
+        << std::endl;
+  }
+#endif
+
+  initDetectors(m_detectorNames);
+  initExtractors(m_extractorNames);
+  initMatcher(m_matcherName);
+}
+
+/*!
+   Initialize a keypoint detector based on its name.
+
+   \param detectorName : Name of the detector (e.g FAST, SIFT, SURF, etc.).
+ */
+void vpKeyPoint::initDetector(const std::string &detectorName) {
+  // TODO: Add function to process detection in pyramid images with OpenCV 3.0.0
+  // since there seems to have no equivalent function (2014/12/11)
+  //  std::string pyramid = "Pyramid";
+  //  std::size_t pos = detectorName.find(pyramid);
+  //  if(pos != std::string::npos) {
+  //    std::string sub = detectorName.substr(pos + pyramid.size());
+  //    detectors[detectorName] = cv::Ptr<cv::FeatureDetector>(
+  //        new cv::PyramidAdaptedFeatureDetector(cv::FeatureDetector::create<cv::FeatureDetector>(sub), 2));
+  //  } else {
+  //    detectors[detectorName] = cv::FeatureDetector::create<cv::FeatureDetector>(detectorName);
+  //  }
+#if (VISP_HAVE_OPENCV_VERSION < 0x030000)
+  m_detectors[detectorName] = cv::FeatureDetector::create(detectorName);
+
+  if(m_detectors[detectorName] == NULL) {
+    std::stringstream ss_msg;
+    ss_msg << "Fail to initialize the detector: " << detectorName << " or it is not available in OpenCV version: "
+        << std::hex << VISP_HAVE_OPENCV_VERSION << ".";
+    throw vpException(vpException::fatalError, ss_msg.str());
+  }
+#else
+  //TODO: Add a pyramidal feature detection
+  std::string detectorNameTmp = detectorName;
+  std::string pyramid = "Pyramid";
+  std::size_t pos = detectorName.find(pyramid);
+  if(pos != std::string::npos) {
+    detectorNameTmp = detectorName.substr(pos + pyramid.size());
+  }
+
+  if(detectorNameTmp == "SIFT") {
+#ifdef VISP_HAVE_OPENCV_XFEATURES2D
+    m_detectors[detectorNameTmp] = cv::xfeatures2d::SIFT::create();
+#else
+    std::stringstream ss_msg;
+    ss_msg << "Fail to initialize the detector: SIFT. OpenCV version  "
+        << std::hex << VISP_HAVE_OPENCV_VERSION << " was not build with xFeatures2d module.";
+    throw vpException(vpException::fatalError, ss_msg.str());
+#endif
+  } else if(detectorNameTmp == "SURF") {
+#ifdef VISP_HAVE_OPENCV_XFEATURES2D
+    m_detectors[detectorNameTmp] = cv::xfeatures2d::SURF::create();
+#else
+    std::stringstream ss_msg;
+    ss_msg << "Fail to initialize the detector: SURF. OpenCV version  "
+        << std::hex << VISP_HAVE_OPENCV_VERSION << " was not build with xFeatures2d module.";
+    throw vpException(vpException::fatalError, ss_msg.str());
+#endif
+  } else if(detectorNameTmp == "FAST") {
+    m_detectors[detectorNameTmp] = cv::FastFeatureDetector::create();
+  } else if(detectorNameTmp == "MSER") {
+    m_detectors[detectorNameTmp] = cv::MSER::create();
+  } else if(detectorNameTmp == "ORB") {
+    m_detectors[detectorNameTmp] = cv::ORB::create();
+  } else if(detectorNameTmp == "BRISK") {
+    m_detectors[detectorNameTmp] = cv::BRISK::create();
+  } else if(detectorNameTmp == "KAZE") {
+    m_detectors[detectorNameTmp] = cv::KAZE::create();
+  } else if(detectorNameTmp == "AKAZE") {
+    m_detectors[detectorNameTmp] = cv::AKAZE::create();
+  } else if(detectorNameTmp == "GFFT") {
+    m_detectors[detectorNameTmp] = cv::GFTTDetector::create();
+  } else if(detectorNameTmp == "SimpleBlob") {
+    m_detectors[detectorNameTmp] = cv::SimpleBlobDetector::create();
+  } else if(detectorNameTmp == "STAR") {
+#ifdef VISP_HAVE_OPENCV_XFEATURES2D
+    m_detectors[detectorNameTmp] = cv::xfeatures2d::StarDetector::create();
+#else
+    std::stringstream ss_msg;
+    ss_msg << "Fail to initialize the detector: STAR. OpenCV version  "
+        << std::hex << VISP_HAVE_OPENCV_VERSION << " was not build with xFeatures2d module.";
+    throw vpException(vpException::fatalError, ss_msg.str());
+#endif
+  } else {
+    std::cerr << "The detector:" << detectorNameTmp << " is not available." << std::endl;
+  }
+
+  if(m_detectors[detectorNameTmp] == NULL) {
+    std::stringstream ss_msg;
+    ss_msg << "Fail to initialize the detector: " << detectorNameTmp << " or it is not available in OpenCV version: "
+        << std::hex << VISP_HAVE_OPENCV_VERSION << ".";
+    throw vpException(vpException::fatalError, ss_msg.str());
+  }
+//  m_detectors[detectorName] = cv::FeatureDetector::create<cv::FeatureDetector>(detectorName);
+#endif
+}
+
+/*!
+   Initialize a list of keypoints detectors if we want to concatenate multiple detectors.
+
+   \param detectorNames : List of detector names.
+ */
+void vpKeyPoint::initDetectors(const std::vector<std::string> &detectorNames) {
+  for(std::vector<std::string>::const_iterator it = detectorNames.begin(); it != detectorNames.end(); ++it) {
+    initDetector(*it);
+  }
+}
+
+/*!
+   Initialize a descriptor extractor based on its name.
+
+   \param extractorName : Name of the extractor (e.g SIFT, SURF, ORB, etc.).
+ */
+void vpKeyPoint::initExtractor(const std::string &extractorName) {
+#if (VISP_HAVE_OPENCV_VERSION < 0x030000)
+  m_extractors[extractorName] = cv::DescriptorExtractor::create(extractorName);
+#else
+  if(extractorName == "SIFT") {
+#ifdef VISP_HAVE_OPENCV_XFEATURES2D
+    m_extractors[extractorName] = cv::xfeatures2d::SIFT::create();
+#else
+    std::stringstream ss_msg;
+    ss_msg << "Fail to initialize the extractor: SIFT. OpenCV version  "
+        << std::hex << VISP_HAVE_OPENCV_VERSION << " was not build with xFeatures2d module.";
+    throw vpException(vpException::fatalError, ss_msg.str());
+#endif
+  } else if(extractorName == "SURF") {
+#ifdef VISP_HAVE_OPENCV_XFEATURES2D
+    m_extractors[extractorName] = cv::xfeatures2d::SURF::create();
+#else
+    std::stringstream ss_msg;
+    ss_msg << "Fail to initialize the extractor: SURF. OpenCV version  "
+        << std::hex << VISP_HAVE_OPENCV_VERSION << " was not build with xFeatures2d module.";
+    throw vpException(vpException::fatalError, ss_msg.str());
+#endif
+  } else if(extractorName == "ORB") {
+    m_extractors[extractorName] = cv::ORB::create();
+  } else if(extractorName == "BRISK") {
+    m_extractors[extractorName] = cv::BRISK::create();
+  } else if(extractorName == "FREAK") {
+#ifdef VISP_HAVE_OPENCV_XFEATURES2D
+    m_extractors[extractorName] = cv::xfeatures2d::FREAK::create();
+#else
+    std::stringstream ss_msg;
+    ss_msg << "Fail to initialize the extractor: FREAK. OpenCV version  "
+        << std::hex << VISP_HAVE_OPENCV_VERSION << " was not build with xFeatures2d module.";
+    throw vpException(vpException::fatalError, ss_msg.str());
+#endif
+  } else if(extractorName == "BRIEF") {
+#ifdef VISP_HAVE_OPENCV_XFEATURES2D
+    m_extractors[extractorName] = cv::xfeatures2d::BriefDescriptorExtractor::create();
+#else
+    std::stringstream ss_msg;
+    ss_msg << "Fail to initialize the extractor: BRIEF. OpenCV version  "
+        << std::hex << VISP_HAVE_OPENCV_VERSION << " was not build with xFeatures2d module.";
+    throw vpException(vpException::fatalError, ss_msg.str());
+#endif
+  } else {
+    std::cerr << "The extractor:" << extractorName << " is not available." << std::endl;
+  }
+//  m_extractors[extractorName] = cv::DescriptorExtractor::create<cv::DescriptorExtractor>(extractorName);
+#endif
+
+  if(m_extractors[extractorName] == NULL) {
+    std::stringstream ss_msg;
+    ss_msg << "Fail to initialize the extractor: " << extractorName << " or it is not available in OpenCV version: "
+        << std::hex << VISP_HAVE_OPENCV_VERSION << ".";
+    throw vpException(vpException::fatalError, ss_msg.str());
+  }
+}
+
+/*!
+   Initialize a list of descriptor extractors if we want to concatenate multiple extractors.
+
+   \param extractorNames : List of extractor names.
+ */
+void vpKeyPoint::initExtractors(const std::vector<std::string> &extractorNames) {
+  for(std::vector<std::string>::const_iterator it = extractorNames.begin(); it != extractorNames.end(); ++it) {
+    initExtractor(*it);
+  }
+}
+
+/*!
+   Initialize a matcher based on its name.
+
+   \param matcherName : Name of the matcher (e.g BruteForce, FlannBased).
+ */
+void vpKeyPoint::initMatcher(const std::string &matcherName) {
+  m_matcher = cv::DescriptorMatcher::create(matcherName);
+
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020400)
+  if(m_matcher != NULL && !m_useKnn && matcherName == "BruteForce") {
+    m_matcher->set("crossCheck", m_useBruteForceCrossCheck);
+  }
+#endif
+
+  if(m_matcher == NULL) {
+    std::stringstream ss_msg;
+    ss_msg << "Fail to initialize the matcher: " << matcherName << " or it is not available in OpenCV version: "
+        << std::hex << VISP_HAVE_OPENCV_VERSION << ".";
+    throw vpException(vpException::fatalError, ss_msg.str());
+  }
+}
+
+/*!
+   Insert a reference image and a current image side-by-side.
+
+   \param IRef : Reference image.
+   \param ICurrent : Current image.
+   \param IMatching : Matching image for displaying all the matching between the query keypoints and those
+   detected in the training images.
+ */
+void vpKeyPoint::insertImageMatching(const vpImage<unsigned char> &IRef, const vpImage<unsigned char> &ICurrent,
+                                     vpImage<unsigned char> &IMatching) {
+  vpImagePoint topLeftCorner(0, 0);
+  IMatching.insert(IRef, topLeftCorner);
+  topLeftCorner = vpImagePoint(0, IRef.getWidth());
+  IMatching.insert(ICurrent, topLeftCorner);
+}
+
+/*!
+   Insert the different training images in the matching image.
+
+   \param ICurrent : Current image.
+   \param IMatching : Matching image for displaying all the matching between the query keypoints and those
+   detected in the training images
+ */
+void vpKeyPoint::insertImageMatching(const vpImage<unsigned char> &ICurrent, vpImage<unsigned char> &IMatching) {
+  //Nb images in the training database + the current image we want to detect the object
+  int nbImg = (int) (m_mapOfImages.size() + 1);
+
+  if(nbImg == 2) {
+    //Only one training image, so we display them side by side
+    insertImageMatching(m_mapOfImages.begin()->second, ICurrent, IMatching);
+  } else {
+    //Multiple training images, display them as a mosaic image
+    //round(std::sqrt((double) nbImg)); VC++ compiler does not have round so the next line is used
+    //Different implementations of round exist, here round to the closest integer but will not work for negative numbers
+    int nbImgSqrt = (int) std::floor(std::sqrt((double) nbImg) + 0.5);
+    int nbWidth = nbImgSqrt;
+    int nbHeight = nbImgSqrt;
+
+    if(nbImgSqrt * nbImgSqrt < nbImg) {
+      nbWidth++;
+    }
+
+    unsigned int maxW = ICurrent.getWidth(), maxH = ICurrent.getHeight();
+    for(std::map<int, vpImage<unsigned char> >::const_iterator it = m_mapOfImages.begin(); it != m_mapOfImages.end(); ++it) {
+      if(maxW < it->second.getWidth()) {
+        maxW = it->second.getWidth();
+      }
+
+      if(maxH < it->second.getHeight()) {
+        maxH = it->second.getHeight();
+      }
+    }
+
+    //Indexes of the current image in the grid made in order to the image is in the center square in the mosaic grid
+    int medianI = nbHeight / 2;
+    int medianJ = nbWidth / 2;
+    int medianIndex = medianI * nbWidth + medianJ;
+
+    int cpt = 0;
+    for(std::map<int, vpImage<unsigned char> >::const_iterator it = m_mapOfImages.begin(); it != m_mapOfImages.end(); ++it, cpt++) {
+      int local_cpt = cpt;
+      if(cpt >= medianIndex) {
+        //Shift of one unity the index of the training images which are after the current image
+        local_cpt++;
+      }
+      int indexI = local_cpt / nbWidth;
+      int indexJ = local_cpt - (indexI * nbWidth);
+      vpImagePoint topLeftCorner((int)maxH*indexI, (int)maxW*indexJ);
+
+      IMatching.insert(it->second, topLeftCorner);
+    }
+
+    vpImagePoint topLeftCorner((int)maxH*medianI, (int)maxW*medianJ);
+    IMatching.insert(ICurrent, topLeftCorner);
+  }
+}
+
+#ifdef VISP_HAVE_XML2
+/*!
+   Load configuration parameters from an XML config file.
+
+   \param configFile : Path to the XML config file.
+ */
+void vpKeyPoint::loadConfigFile(const std::string &configFile) {
+  vpXmlConfigParserKeyPoint xmlp;
+
+  try {
+    //Reset detector and extractor
+    m_detectorNames.clear();
+    m_extractorNames.clear();
+    m_detectors.clear();
+    m_extractors.clear();
+
+    std::cout << " *********** Parsing XML for configuration for vpKeyPoint ************ " << std::endl;
+    xmlp.parse(configFile);
+
+    m_detectorNames.push_back(xmlp.getDetectorName());
+    m_extractorNames.push_back(xmlp.getExtractorName());
+    m_matcherName = xmlp.getMatcherName();
+
+    switch(xmlp.getMatchingMethod()) {
+    case vpXmlConfigParserKeyPoint::constantFactorDistanceThreshold:
+      m_filterType = constantFactorDistanceThreshold;
+      break;
+
+    case vpXmlConfigParserKeyPoint::stdDistanceThreshold:
+      m_filterType = stdDistanceThreshold;
+      break;
+
+    case vpXmlConfigParserKeyPoint::ratioDistanceThreshold:
+      m_filterType = ratioDistanceThreshold;
+      break;
+
+    case vpXmlConfigParserKeyPoint::stdAndRatioDistanceThreshold:
+      m_filterType = stdAndRatioDistanceThreshold;
+      break;
+
+    case vpXmlConfigParserKeyPoint::noFilterMatching:
+      m_filterType = noFilterMatching;
+      break;
+
+    default:
+      break;
+    }
+
+    m_matchingFactorThreshold = xmlp.getMatchingFactorThreshold();
+    m_matchingRatioThreshold = xmlp.getMatchingRatioThreshold();
+
+    m_useRansacVVS = xmlp.getUseRansacVVSPoseEstimation();
+    m_useConsensusPercentage = xmlp.getUseRansacConsensusPercentage();
+    m_nbRansacIterations = xmlp.getNbRansacIterations();
+    m_ransacReprojectionError = xmlp.getRansacReprojectionError();
+    m_nbRansacMinInlierCount = xmlp.getNbRansacMinInlierCount();
+    m_ransacThreshold = xmlp.getRansacThreshold();
+    m_ransacConsensusPercentage = xmlp.getRansacConsensusPercentage();
+
+    if(m_filterType == ratioDistanceThreshold || m_filterType == stdAndRatioDistanceThreshold) {
+      m_useKnn = true;
+    } else {
+      m_useKnn = false;
+    }
+
+    init();
+  }
+  catch(...) {
+    throw vpException(vpException::ioError, "Can't open XML file \"%s\"\n ", configFile.c_str());
+  }
+}
+#endif
+
+/*!
+   Load learning data saved on disk.
+
+   \param filename : Path of the learning file.
+   \param binaryMode : If true, the learning file is in a binary mode, otherwise it is in XML mode.
+   \param append : If true, concatenate the learning data, otherwise reset the variables.
+ */
+void vpKeyPoint::loadLearningData(const std::string &filename, const bool binaryMode, const bool append) {
+  int startClassId = 0;
+  int startImageId = 0;
+  if(!append) {
+    m_trainKeyPoints.clear();
+    m_trainPoints.clear();
+    m_mapOfImageId.clear();
+    m_mapOfImages.clear();
+  } else {
+    //In append case, find the max index of keypoint class Id
+    for(std::map<int, int>::const_iterator it = m_mapOfImageId.begin(); it != m_mapOfImageId.end(); ++it) {
+      if(startClassId < it->first) {
+        startClassId = it->first;
+      }
+    }
+
+    //In append case, find the max index of images Id
+    for(std::map<int, vpImage<unsigned char> >::const_iterator it = m_mapOfImages.begin(); it != m_mapOfImages.end(); ++it) {
+      if(startImageId < it->first) {
+        startImageId = it->first;
+      }
+    }
+  }
+
+  //Get parent directory
+  std::string parent = vpIoTools::getParent(filename);
+  if(!parent.empty()) {
+    parent += "/";
+  }
+
+  if(binaryMode) {
+    std::ifstream file(filename.c_str(), std::ifstream::binary);
+    if(!file.is_open()){
+      throw vpException(vpException::ioError, "Cannot open the file.");
+    }
+
+    //Read info about training images
+    int nbImgs = 0;
+    file.read((char *)(&nbImgs), sizeof(nbImgs));
+
+    for(int i = 0; i < nbImgs; i++) {
+      //Read image_id
+      int id = 0;
+      file.read((char *)(&id), sizeof(id));
+
+      int length = 0;
+      file.read((char *)(&length), sizeof(length));
+      //Will contain the path to the training images
+      char* path = new char[length + 1];//char path[length + 1];
+
+      for(int cpt = 0; cpt < length; cpt++) {
+        char c;
+        file.read((char *)(&c), sizeof(c));
+        path[cpt] = c;
+      }
+      path[length] = '\0';
+
+      vpImage<unsigned char> I;
+      if(vpIoTools::isAbsolutePathname(std::string(path))) {
+        vpImageIo::read(I, path);
+      } else {
+        vpImageIo::read(I, parent + path);
+      }
+
+      m_mapOfImages[id + startImageId] = I;
+    }
+
+    //Read if 3D point information are saved or not
+    int have3DInfoInt = 0;
+    file.read((char *)(&have3DInfoInt), sizeof(have3DInfoInt));
+    bool have3DInfo = have3DInfoInt != 0;
+
+    //Read the number of descriptors
+    int nRows = 0;
+    file.read((char *)(&nRows), sizeof(nRows));
+
+    //Read the size of the descriptor
+    int nCols = 0;
+    file.read((char *)(&nCols), sizeof(nCols));
+
+    //Read the type of the descriptor
+    int descriptorType = 5; //CV_32F
+    file.read((char *)(&descriptorType), sizeof(descriptorType));
+
+    cv::Mat trainDescriptorsTmp = cv::Mat(nRows, nCols, descriptorType);
+    for(int i = 0; i < nRows; i++) {
+      //Read information about keyPoint
+      float u, v, size, angle, response;
+      int octave, class_id, image_id;
+      file.read((char *)(&u), sizeof(u));
+      file.read((char *)(&v), sizeof(v));
+      file.read((char *)(&size), sizeof(size));
+      file.read((char *)(&angle), sizeof(angle));
+      file.read((char *)(&response), sizeof(response));
+      file.read((char *)(&octave), sizeof(octave));
+      file.read((char *)(&class_id), sizeof(class_id));
+      file.read((char *)(&image_id), sizeof(image_id));
+      cv::KeyPoint keyPoint(cv::Point2f(u, v), size, angle, response, octave, (class_id + startClassId));
+      m_trainKeyPoints.push_back(keyPoint);
+
+      if(image_id != -1) {
+        //No training images if image_id == -1
+        m_mapOfImageId[class_id] = image_id + startImageId;
+      }
+
+      if(have3DInfo) {
+        //Read oX, oY, oZ
+        float oX, oY, oZ;
+        file.read((char *)(&oX), sizeof(oX));
+        file.read((char *)(&oY), sizeof(oY));
+        file.read((char *)(&oZ), sizeof(oZ));
+        m_trainPoints.push_back(cv::Point3f(oX, oY, oZ));
+      }
+
+      for(int j = 0; j < nCols; j++) {
+        //Read the value of the descriptor
+        switch(descriptorType) {
+          case CV_8U:
+          {
+            unsigned char value;
+            file.read((char *)(&value), sizeof(value));
+            trainDescriptorsTmp.at<unsigned char>(i, j) = value;
+          }
+          break;
+
+          case CV_8S:
+          {
+            char value;
+            file.read((char *)(&value), sizeof(value));
+            trainDescriptorsTmp.at<char>(i, j) = value;
+          }
+          break;
+
+          case CV_16U:
+          {
+            unsigned short int value;
+            file.read((char *)(&value), sizeof(value));
+            trainDescriptorsTmp.at<unsigned short int>(i, j) = value;
+          }
+          break;
+
+          case CV_16S:
+          {
+            short int value;
+            file.read((char *)(&value), sizeof(value));
+            trainDescriptorsTmp.at<short int>(i, j) = value;
+          }
+          break;
+
+          case CV_32S:
+          {
+            int value;
+            file.read((char *)(&value), sizeof(value));
+            trainDescriptorsTmp.at<int>(i, j) = value;
+          }
+          break;
+
+          case CV_32F:
+          {
+            float value;
+            file.read((char *)(&value), sizeof(value));
+            trainDescriptorsTmp.at<float>(i, j) = value;
+          }
+          break;
+
+          case CV_64F:
+          {
+            double value;
+            file.read((char *)(&value), sizeof(value));
+            trainDescriptorsTmp.at<double>(i, j) = value;
+          }
+          break;
+
+          default:
+          {
+            float value;
+            file.read((char *)(&value), sizeof(value));
+            trainDescriptorsTmp.at<float>(i, j) = value;
+          }
+          break;
+        }
+      }
+    }
+
+    if(!append || m_trainDescriptors.empty()) {
+      trainDescriptorsTmp.copyTo(m_trainDescriptors);
+    } else {
+      cv::vconcat(m_trainDescriptors, trainDescriptorsTmp, m_trainDescriptors);
+    }
+
+    file.close();
+  } else {
+#ifdef VISP_HAVE_XML2
+    xmlDocPtr doc = NULL;
+    xmlNodePtr root_element = NULL;
+
+    /*
+     * this initialize the library and check potential ABI mismatches
+     * between the version it was compiled for and the actual shared
+     * library used.
+     */
+    LIBXML_TEST_VERSION
+
+    /*parse the file and get the DOM */
+    doc = xmlReadFile(filename.c_str(), NULL, 0);
+
+    if (doc == NULL) {
+      throw vpException(vpException::ioError, "Error with file " + filename);
+    }
+
+    root_element = xmlDocGetRootElement(doc);
+
+    xmlNodePtr first_level_node = NULL;
+    char *pEnd = NULL;
+
+    int descriptorType = CV_32F; //float
+    int nRows = 0, nCols = 0;
+    int i = 0, j = 0;
+
+    cv::Mat trainDescriptorsTmp;
+
+    for (first_level_node = root_element->children; first_level_node;
+         first_level_node = first_level_node->next) {
+
+      std::string name((char *) first_level_node->name);
+      if (first_level_node->type == XML_ELEMENT_NODE && name == "TrainingImageInfo") {
+        xmlNodePtr image_info_node = NULL;
+
+        for (image_info_node = first_level_node->children; image_info_node; image_info_node =
+             image_info_node->next) {
+          name = std::string ((char *) image_info_node->name);
+
+          if(name == "trainImg") {
+            //Read image_id
+            int id = std::atoi((char *) xmlGetProp(image_info_node, BAD_CAST "image_id"));
+
+            vpImage<unsigned char> I;
+            std::string path((char *) image_info_node->children->content);
+            //Read path to the training images
+            if(vpIoTools::isAbsolutePathname(std::string(path))) {
+              vpImageIo::read(I, path);
+            } else {
+              vpImageIo::read(I, parent + path);
+            }
+
+            m_mapOfImages[id + startImageId] = I;
+          }
+        }
+      } else if(first_level_node->type == XML_ELEMENT_NODE && name == "DescriptorsInfo") {
+        xmlNodePtr descriptors_info_node = NULL;
+        for (descriptors_info_node = first_level_node->children; descriptors_info_node; descriptors_info_node =
+            descriptors_info_node->next) {
+          if (descriptors_info_node->type == XML_ELEMENT_NODE) {
+            name = std::string ((char *) descriptors_info_node->name);
+
+            if(name == "nrows") {
+              nRows = std::atoi((char *) descriptors_info_node->children->content);
+            } else if(name == "ncols") {
+              nCols = std::atoi((char *) descriptors_info_node->children->content);
+            } else if(name == "type") {
+              descriptorType = std::atoi((char *) descriptors_info_node->children->content);
+            }
+          }
+        }
+
+        trainDescriptorsTmp = cv::Mat(nRows, nCols, descriptorType);
+      } else if (first_level_node->type == XML_ELEMENT_NODE && name == "DescriptorInfo") {
+        xmlNodePtr point_node = NULL;
+        double u = 0.0, v = 0.0, size = 0.0, angle = 0.0, response = 0.0;
+        int octave = 0, class_id = 0, image_id = 0;
+        double oX = 0.0, oY = 0.0, oZ = 0.0;
+
+        std::stringstream ss;
+
+        for (point_node = first_level_node->children; point_node; point_node =
+             point_node->next) {
+          if (point_node->type == XML_ELEMENT_NODE) {
+            name = std::string ((char *) point_node->name);
+
+            //Read information about keypoints
+            if(name == "u") {
+              u = std::strtod((char *) point_node->children->content, &pEnd);
+            } else if(name == "v") {
+              v = std::strtod((char *) point_node->children->content, &pEnd);
+            } else if(name == "size") {
+              size = std::strtod((char *) point_node->children->content, &pEnd);
+            } else if(name == "angle") {
+              angle = std::strtod((char *) point_node->children->content, &pEnd);
+            } else if(name == "response") {
+              response = std::strtod((char *) point_node->children->content, &pEnd);
+            } else if(name == "octave") {
+              octave = std::atoi((char *) point_node->children->content);
+            } else if(name == "class_id") {
+              class_id = std::atoi((char *) point_node->children->content);
+              cv::KeyPoint keyPoint(cv::Point2f((float) u, (float) v), (float) size,
+                                    (float) angle, (float) response, octave, (class_id + startClassId));
+              m_trainKeyPoints.push_back(keyPoint);
+            } else if(name == "image_id") {
+              image_id = std::atoi((char *) point_node->children->content);
+              if(image_id != -1) {
+                //No training images if image_id == -1
+                m_mapOfImageId[m_trainKeyPoints.back().class_id] = image_id + startImageId;
+              }
+            } else if (name == "oX") {
+              oX = std::atof((char *) point_node->children->content);
+            } else if (name == "oY") {
+              oY = std::atof((char *) point_node->children->content);
+            } else if (name == "oZ") {
+              oZ = std::atof((char *) point_node->children->content);
+              m_trainPoints.push_back(cv::Point3f((float) oX, (float) oY, (float) oZ));
+            } else if (name == "desc") {
+              xmlNodePtr descriptor_value_node = NULL;
+              j = 0;
+
+              for (descriptor_value_node = point_node->children;
+                   descriptor_value_node; descriptor_value_node =
+                   descriptor_value_node->next) {
+
+                if (descriptor_value_node->type == XML_ELEMENT_NODE) {
+                  //Read descriptors values
+                  std::string parseStr((char *) descriptor_value_node->children->content);
+                  ss.clear();
+                  ss.str(parseStr);
+
+                  if(!ss.fail()) {
+                    switch(descriptorType) {
+                      case CV_8U:
+                      {
+                        //Parse the numeric value [0 ; 255] to an int
+                        int parseValue;
+                        ss >> parseValue;
+                        trainDescriptorsTmp.at<unsigned char>(i, j) = (unsigned char) parseValue;
+                      }
+                      break;
+
+                      case CV_8S:
+                        //Parse the numeric value [-128 ; 127] to an int
+                        int parseValue;
+                        ss >> parseValue;
+                        trainDescriptorsTmp.at<char>(i, j) = (char) parseValue;
+                      break;
+
+                      case CV_16U:
+                        ss >> trainDescriptorsTmp.at<unsigned short int>(i, j);
+                      break;
+
+                      case CV_16S:
+                        ss >> trainDescriptorsTmp.at<short int>(i, j);
+                      break;
+
+                      case CV_32S:
+                        ss >> trainDescriptorsTmp.at<int>(i, j);
+                      break;
+
+                      case CV_32F:
+                        ss >> trainDescriptorsTmp.at<float>(i, j);
+                      break;
+
+                      case CV_64F:
+                        ss >> trainDescriptorsTmp.at<double>(i, j);
+                      break;
+
+                      default:
+                        ss >> trainDescriptorsTmp.at<float>(i, j);
+                      break;
+                    }
+                  } else {
+                    std::cerr << "Error when converting:" << ss.str() << std::endl;
+                  }
+
+                  j++;
+                }
+              }
+            }
+          }
+        }
+        i++;
+      }
+    }
+
+    if(!append || m_trainDescriptors.empty()) {
+      trainDescriptorsTmp.copyTo(m_trainDescriptors);
+    } else {
+      cv::vconcat(m_trainDescriptors, trainDescriptorsTmp, m_trainDescriptors);
+    }
+
+    /*free the document */
+    xmlFreeDoc(doc);
+
+    /*
+     *Free the global variables that may
+     *have been allocated by the parser.
+     */
+    xmlCleanupParser();
+#else
+    std::cout << "Error: libxml2 is required !" << std::endl;
+#endif
+  }
+
+  //Convert OpenCV type to ViSP type for compatibility
+  vpConvert::convertFromOpenCV(m_trainKeyPoints, referenceImagePointsList);
+  vpConvert::convertFromOpenCV(this->m_trainPoints, m_trainVpPoints);
+
+  //Set _reference_computed to true as we load learning file
+  _reference_computed = true;
+}
+
+/*!
+   Match keypoints based on distance between their descriptors.
+
+   \param trainDescriptors : Train descriptors (or reference descriptors).
+   \param queryDescriptors : Query descriptors.
+   \param matches : Output list of matches.
+   \param elapsedTime : Elapsed time.
+ */
+void vpKeyPoint::match(const cv::Mat &trainDescriptors, const cv::Mat &queryDescriptors,
+                       std::vector<cv::DMatch> &matches, double &elapsedTime) {
+  double t = vpTime::measureTimeMs();
+
+  if(m_useKnn) {
+    m_knnMatches.clear();
+    m_matcher->knnMatch(queryDescriptors, trainDescriptors, m_knnMatches, 2);
+    matches.resize(m_knnMatches.size());
+    std::transform(m_knnMatches.begin(), m_knnMatches.end(), matches.begin(), knnToDMatch);
+  } else {
+    matches.clear();
+    m_matcher->match(queryDescriptors, trainDescriptors, matches);
+  }
+  elapsedTime = vpTime::measureTimeMs() - t;
+}
+
+/*!
+   Match keypoints detected in the image with those built in the reference list.
+
+   \param I : Input current image.
+   \return The number of matched keypoints.
+ */
+unsigned int vpKeyPoint::matchPoint(const vpImage<unsigned char> &I) {
+  return matchPoint(I, vpRect());
+}
+
+/*!
+   Match keypoints detected in a region of interest of the image with those
+   built in the reference list.
+
+   \param I : Input image
+   \param iP : Coordinate of the top-left corner of the region of interest
+   \param height : Height of the region of interest
+   \param width : Width of the region of interest
+   \return The number of matched keypoints
+ */
+unsigned int vpKeyPoint::matchPoint(const vpImage<unsigned char> &I,
+                                    const vpImagePoint &iP,
+                                    const unsigned int height, const unsigned int width) {
+  return matchPoint(I, vpRect(iP, width, height));
+}
+
+/*!
+   Match keypoints detected in a region of interest of the image with those
+   built in the reference list.
+
+   \param I : Input image
+   \param rectangle : Rectangle of the region of interest
+   \return The number of matched keypoints
+ */
+unsigned int vpKeyPoint::matchPoint(const vpImage<unsigned char> &I,
+                                    const vpRect& rectangle) {
+  if(m_trainDescriptors.empty()) {
+    std::cerr << "Reference is empty." << std::endl;
+    if(!_reference_computed) {
+      std::cerr << "Reference is not computed." << std::endl;
+    }
+    std::cerr << "Matching is not possible." << std::endl;
+
+    return 0;
+  }
+
+  if(m_useAffineDetection) {
+    std::vector<std::vector<cv::KeyPoint> > listOfQueryKeyPoints;
+    std::vector<cv::Mat> listOfQueryDescriptors;
+
+    //Detect keypoints and extract descriptors on multiple images
+    detectExtractAffine(I, listOfQueryKeyPoints, listOfQueryDescriptors);
+
+    //Flatten the different train lists
+    m_queryKeyPoints.clear();
+    for(std::vector<std::vector<cv::KeyPoint> >::const_iterator it = listOfQueryKeyPoints.begin();
+        it != listOfQueryKeyPoints.end(); ++it) {
+      m_queryKeyPoints.insert(m_queryKeyPoints.end(), it->begin(), it->end());
+    }
+
+    bool first = true;
+    for(std::vector<cv::Mat>::const_iterator it = listOfQueryDescriptors.begin(); it != listOfQueryDescriptors.end(); ++it) {
+      if(first) {
+        first = false;
+        it->copyTo(m_queryDescriptors);
+      } else {
+        m_queryDescriptors.push_back(*it);
+      }
+    }
+  } else {
+    detect(I, m_queryKeyPoints, m_detectionTime, rectangle);
+    extract(I, m_queryKeyPoints, m_queryDescriptors, m_extractionTime);
+  }
+
+  match(m_trainDescriptors, m_queryDescriptors, m_matches, m_matchingTime);
+
+  if(m_filterType != noFilterMatching) {
+    m_queryFilteredKeyPoints.clear();
+    m_objectFilteredPoints.clear();
+    m_filteredMatches.clear();
+
+    filterMatches();
+  } else {
+    m_queryFilteredKeyPoints = m_queryKeyPoints;
+    m_objectFilteredPoints = m_trainPoints;
+    m_filteredMatches = m_matches;
+
+    m_matchQueryToTrainKeyPoints.clear();
+    for (size_t i = 0; i < m_matches.size(); i++) {
+      m_matchQueryToTrainKeyPoints.push_back(std::pair<cv::KeyPoint, cv::KeyPoint>(
+                                            m_queryKeyPoints[(size_t) m_matches[i].queryIdx],
+                                            m_trainKeyPoints[(size_t) m_matches[i].trainIdx]));
+    }
+  }
+
+  //Convert OpenCV type to ViSP type for compatibility
+  vpConvert::convertFromOpenCV(m_queryFilteredKeyPoints, currentImagePointsList);
+  vpConvert::convertFromOpenCV(m_filteredMatches, matchedReferencePoints);
+
+  return static_cast<unsigned int>(m_filteredMatches.size());
+}
+
+/*!
+   Match keypoints detected in the image with those built in the reference list and compute the pose.
+
+   \param I : Input image
+   \param cam : Camera parameters
+   \param cMo : Homogeneous matrix between the object frame and the camera frame
+   \param error : Reprojection mean square error (in pixel) between the 2D points and the projection of the 3D points with
+   the estimated pose
+   \param elapsedTime : Time to detect, extract, match and compute the pose
+   \param func : Function pointer to filter the pose in Ransac pose estimation, if we want to eliminate
+   the poses which do not respect some criterion
+   \return True if the matching and the pose estimation are OK, false otherwise
+ */
+bool vpKeyPoint::matchPoint(const vpImage<unsigned char> &I, const vpCameraParameters &cam, vpHomogeneousMatrix &cMo,
+                            double &error, double &elapsedTime, bool (*func)(vpHomogeneousMatrix *)) {
+  //Check if we have training descriptors
+  if(m_trainDescriptors.empty()) {
+    std::cerr << "Reference is empty." << std::endl;
+    if(!_reference_computed) {
+      std::cerr << "Reference is not computed." << std::endl;
+    }
+    std::cerr << "Matching is not possible." << std::endl;
+
+    return false;
+  }
+
+  if(m_useAffineDetection) {
+    std::vector<std::vector<cv::KeyPoint> > listOfQueryKeyPoints;
+    std::vector<cv::Mat> listOfQueryDescriptors;
+
+    //Detect keypoints and extract descriptors on multiple images
+    detectExtractAffine(I, listOfQueryKeyPoints, listOfQueryDescriptors);
+
+    //Flatten the different train lists
+    m_queryKeyPoints.clear();
+    for(std::vector<std::vector<cv::KeyPoint> >::const_iterator it = listOfQueryKeyPoints.begin();
+        it != listOfQueryKeyPoints.end(); ++it) {
+      m_queryKeyPoints.insert(m_queryKeyPoints.end(), it->begin(), it->end());
+    }
+
+    bool first = true;
+    for(std::vector<cv::Mat>::const_iterator it = listOfQueryDescriptors.begin(); it != listOfQueryDescriptors.end(); ++it) {
+      if(first) {
+        first = false;
+        it->copyTo(m_queryDescriptors);
+      } else {
+        m_queryDescriptors.push_back(*it);
+      }
+    }
+  } else {
+    detect(I, m_queryKeyPoints, m_detectionTime);
+    extract(I, m_queryKeyPoints, m_queryDescriptors, m_extractionTime);
+  }
+
+  match(m_trainDescriptors, m_queryDescriptors, m_matches, m_matchingTime);
+
+  elapsedTime = m_detectionTime + m_extractionTime + m_matchingTime;
+
+  if(m_filterType != noFilterMatching) {
+    m_queryFilteredKeyPoints.clear();
+    m_objectFilteredPoints.clear();
+    m_filteredMatches.clear();
+
+    filterMatches();
+  } else {
+    m_queryFilteredKeyPoints = m_queryKeyPoints;
+    m_objectFilteredPoints = m_trainPoints;
+    m_filteredMatches = m_matches;
+
+    m_matchQueryToTrainKeyPoints.clear();
+    for (size_t i = 0; i < m_matches.size(); i++) {
+      m_matchQueryToTrainKeyPoints.push_back(std::pair<cv::KeyPoint, cv::KeyPoint>(
+                                            m_queryKeyPoints[(size_t) m_matches[i].queryIdx],
+                                            m_trainKeyPoints[(size_t) m_matches[i].trainIdx]));
+    }
+  }
+
+  //Convert OpenCV type to ViSP type for compatibility
+  vpConvert::convertFromOpenCV(m_queryFilteredKeyPoints, currentImagePointsList);
+  vpConvert::convertFromOpenCV(m_filteredMatches, matchedReferencePoints);
+
+  //error = std::numeric_limits<double>::max(); // create an error under Windows. To fix it we have to add #undef max
+  error = DBL_MAX;
+  m_ransacInliers.clear();
+  m_ransacOutliers.clear();
+
+  if(m_useRansacVVS) {
+    std::vector<vpPoint> objectVpPoints(m_objectFilteredPoints.size());
+    size_t cpt = 0;
+    //Create a list of vpPoint with 2D coordinates (current keypoint location) + 3D coordinates (world/object coordinates)
+    for(std::vector<cv::Point3f>::const_iterator it = m_objectFilteredPoints.begin(); it != m_objectFilteredPoints.end();
+        ++it, cpt++) {
+      vpPoint pt;
+      pt.setWorldCoordinates(it->x, it->y, it->z);
+
+      vpImagePoint imP(m_queryFilteredKeyPoints[cpt].pt.y, m_queryFilteredKeyPoints[cpt].pt.x);
+
+      double x = 0.0, y = 0.0;
+      vpPixelMeterConversion::convertPoint(cam, imP, x, y);
+      pt.set_x(x);
+      pt.set_y(y);
+
+      objectVpPoints[cpt] = pt;
+    }
+
+    std::vector<vpPoint> inliers;
+    bool res = computePose(objectVpPoints, cMo, inliers, m_poseTime, func);
+    m_ransacInliers.resize(inliers.size());
+    for(size_t i = 0; i < m_ransacInliers.size(); i++) {
+      vpMeterPixelConversion::convertPoint(cam, inliers[i].get_x(), inliers[i].get_y(), m_ransacInliers[i]);
+    }
+
+    elapsedTime += m_poseTime;
+
+    return res;
+  } else {
+    std::vector<cv::Point2f> imageFilteredPoints;
+    cv::KeyPoint::convert(m_queryFilteredKeyPoints, imageFilteredPoints);
+    std::vector<int> inlierIndex;
+    bool res = computePose(imageFilteredPoints, m_objectFilteredPoints, cam, cMo, inlierIndex, m_poseTime);
+
+    std::map<int, bool> mapOfInlierIndex;
+    m_matchRansacKeyPointsToPoints.clear();
+    m_matchRansacQueryToTrainKeyPoints.clear();
+    for (std::vector<int>::const_iterator it = inlierIndex.begin(); it != inlierIndex.end(); ++it) {
+      m_matchRansacKeyPointsToPoints.push_back(std::pair<cv::KeyPoint, cv::Point3f>(m_queryFilteredKeyPoints[(size_t)(*it)],
+                                              m_objectFilteredPoints[(size_t)(*it)]));
+      m_matchRansacQueryToTrainKeyPoints.push_back(std::pair<cv::KeyPoint, cv::KeyPoint>(m_queryFilteredKeyPoints[(size_t)(*it)],
+                                                  m_trainKeyPoints[(size_t)m_matches[(size_t)(*it)].trainIdx]));
+      mapOfInlierIndex[*it] = true;
+    }
+
+    for(size_t i = 0; i < m_queryFilteredKeyPoints.size(); i++) {
+      if(mapOfInlierIndex.find((int) i) == mapOfInlierIndex.end()) {
+        m_ransacOutliers.push_back(vpImagePoint(m_queryFilteredKeyPoints[i].pt.y, m_queryFilteredKeyPoints[i].pt.x));
+      }
+    }
+
+    error = computePoseEstimationError(m_matchRansacKeyPointsToPoints, cam, cMo);
+
+    m_ransacInliers.resize(m_matchRansacKeyPointsToPoints.size());
+    std::transform(m_matchRansacKeyPointsToPoints.begin(), m_matchRansacKeyPointsToPoints.end(), m_ransacInliers.begin(),
+                   matchRansacToVpImage);
+
+    elapsedTime += m_poseTime;
+
+    return res;
+  }
+}
+
+/*!
+   Match keypoints detected in the image with those built in the reference list and return the bounding box and the center
+   of gravity.
+
+   \param I : Input image
+   \param boundingBox : Bounding box that contains the good matches
+   \param centerOfGravity : Center of gravity computed from the location of the good matches (could differ of the center of
+   the bounding box)
+   \param isPlanarObject : If the object is planar, the homography matrix is estimated to eliminate outliers, otherwise
+   it is the fundamental matrix which is estimated
+   \param imPts1 : Pointer to the list of reference keypoints if not null
+   \param imPts2 : Pointer to the list of current keypoints if not null
+   \param meanDescriptorDistance : Pointer to the value of the average distance of the descriptors if not null
+   \param detectionScore : Pointer to the value of the detection score if not null
+   \return True if the object is present, false otherwise
+ */
+bool vpKeyPoint::matchPointAndDetect(const vpImage<unsigned char> &I, vpRect &boundingBox, vpImagePoint &centerOfGravity,
+    const bool isPlanarObject, std::vector<vpImagePoint> *imPts1, std::vector<vpImagePoint> *imPts2,
+    double *meanDescriptorDistance, double *detectionScore) {
+  if(imPts1 != NULL && imPts2 != NULL) {
+    imPts1->clear();
+    imPts2->clear();
+  }
+
+  matchPoint(I);
+
+  double meanDescriptorDistanceTmp = 0.0;
+  for(std::vector<cv::DMatch>::const_iterator it = m_filteredMatches.begin(); it != m_filteredMatches.end(); ++it) {
+    meanDescriptorDistanceTmp += (double) it->distance;
+  }
+
+  meanDescriptorDistanceTmp /= (double) m_filteredMatches.size();
+  double score = (double) m_filteredMatches.size() / meanDescriptorDistanceTmp;
+
+  if(meanDescriptorDistance != NULL) {
+    *meanDescriptorDistance = meanDescriptorDistanceTmp;
+  }
+  if(detectionScore != NULL) {
+    *detectionScore = score;
+  }
+
+  if(m_filteredMatches.size() >= 4) {
+    //Training / Reference 2D points
+    std::vector<cv::Point2f> points1(m_filteredMatches.size());
+    //Query / Current 2D points
+    std::vector<cv::Point2f> points2(m_filteredMatches.size());
+
+    for(size_t i = 0; i < m_filteredMatches.size(); i++) {
+      points1[i] = cv::Point2f(m_trainKeyPoints[(size_t)m_filteredMatches[i].trainIdx].pt);
+      points2[i] = cv::Point2f(m_queryFilteredKeyPoints[(size_t)m_filteredMatches[i].queryIdx].pt);
+    }
+
+    std::vector<vpImagePoint> inliers;
+    if(isPlanarObject) {
+#if (VISP_HAVE_OPENCV_VERSION < 0x030000)
+      cv::Mat homographyMatrix = cv::findHomography(points1, points2, CV_RANSAC);
+#else
+      cv::Mat homographyMatrix = cv::findHomography(points1, points2, cv::RANSAC);
+#endif
+
+      for(size_t i = 0; i < m_filteredMatches.size(); i++ ) {
+        //Compute reprojection error
+        cv::Mat realPoint = cv::Mat(3, 1, CV_64F);
+        realPoint.at<double>(0,0) = points1[i].x;
+        realPoint.at<double>(1,0) = points1[i].y;
+        realPoint.at<double>(2,0) = 1.f;
+
+        cv::Mat reprojectedPoint = homographyMatrix * realPoint;
+        double err_x = (reprojectedPoint.at<double>(0,0) / reprojectedPoint.at<double>(2,0)) - points2[i].x;
+        double err_y = (reprojectedPoint.at<double>(1,0) / reprojectedPoint.at<double>(2,0)) - points2[i].y;
+        double reprojectionError = std::sqrt(err_x*err_x + err_y*err_y);
+
+        if(reprojectionError < 6.0) {
+          inliers.push_back(vpImagePoint((double) points2[i].y, (double) points2[i].x));
+          if(imPts1 != NULL) {
+            imPts1->push_back(vpImagePoint((double) points1[i].y, (double) points1[i].x));
+          }
+
+          if(imPts2 != NULL) {
+            imPts2->push_back(vpImagePoint((double) points2[i].y, (double) points2[i].x));
+          }
+        }
+      }
+    } else if(m_filteredMatches.size() >= 8) {
+      cv::Mat fundamentalInliers;
+      cv::Mat fundamentalMatrix = cv::findFundamentalMat(points1, points2, cv::FM_RANSAC, 3, 0.99, fundamentalInliers);
+
+      for(size_t i = 0; i < (size_t) fundamentalInliers.rows; i++) {
+        if(fundamentalInliers.at<uchar>((int) i, 0)) {
+          inliers.push_back(vpImagePoint((double) points2[i].y, (double) points2[i].x));
+
+          if(imPts1 != NULL) {
+            imPts1->push_back(vpImagePoint((double) points1[i].y, (double) points1[i].x));
+          }
+
+          if(imPts2 != NULL) {
+            imPts2->push_back(vpImagePoint((double) points2[i].y, (double) points2[i].x));
+          }
+        }
+      }
+    }
+
+    if(!inliers.empty()) {
+      //Build a polygon with the list of inlier keypoints detected in the current image to get the bounding box
+      vpPolygon polygon(inliers);
+      boundingBox = polygon.getBoundingBox();
+
+      //Compute the center of gravity
+      double meanU = 0.0, meanV = 0.0;
+      for(std::vector<vpImagePoint>::const_iterator it = inliers.begin(); it != inliers.end(); ++it) {
+        meanU += it->get_u();
+        meanV += it->get_v();
+      }
+
+      meanU /= (double) inliers.size();
+      meanV /= (double) inliers.size();
+
+      centerOfGravity.set_u(meanU);
+      centerOfGravity.set_v(meanV);
+    }
+  } else {
+    //Too few matches
+    return false;
+  }
+
+  if(m_detectionMethod == detectionThreshold) {
+    return meanDescriptorDistanceTmp < m_detectionThreshold;
+  } else {
+    return score > m_detectionScore;
+  }
+}
+
+/*!
+   Match keypoints detected in the image with those built in the reference list, compute the pose and return also
+   the bounding box and the center of gravity.
+
+   \param I : Input image
+   \param cam : Camera parameters
+   \param cMo : Homogeneous matrix between the object frame and the camera frame
+   \param error : Reprojection mean square error (in pixel) between the 2D points and the projection of the 3D points with
+   the estimated pose
+   \param elapsedTime : Time to detect, extract, match and compute the pose
+   \param boundingBox : Bounding box that contains the good matches
+   \param centerOfGravity : Center of gravity computed from the location of the good matches (could differ of the center of
+   the bounding box)
+   \param func : Function pointer to filter the pose in Ransac pose estimation, if we want to eliminate
+   the poses which do not respect some criterion
+   \return True if the matching and the pose estimation are OK, false otherwise.
+ */
+bool vpKeyPoint::matchPointAndDetect(const vpImage<unsigned char> &I, const vpCameraParameters &cam, vpHomogeneousMatrix &cMo,
+                                     double &error, double &elapsedTime, vpRect &boundingBox, vpImagePoint &centerOfGravity,
+                                     bool (*func)(vpHomogeneousMatrix *)) {
+  bool isMatchOk = matchPoint(I, cam, cMo, error, elapsedTime, func);
+  if(isMatchOk) {
+    //Use the pose estimated to project the model points in the image
+    vpPoint pt;
+    vpImagePoint imPt;
+    std::vector<vpImagePoint> modelImagePoints(m_trainVpPoints.size());
+    size_t cpt = 0;
+    for(std::vector<vpPoint>::const_iterator it = m_trainVpPoints.begin(); it != m_trainVpPoints.end(); ++it, cpt++) {
+      pt = *it;
+      pt.project(cMo);
+      vpMeterPixelConversion::convertPoint(cam, pt.get_x(), pt.get_y(), imPt);
+      modelImagePoints[cpt] = imPt;
+    }
+
+    //Build a polygon with the list of model image points to get the bounding box
+    vpPolygon polygon(modelImagePoints);
+    boundingBox = polygon.getBoundingBox();
+
+    //Compute the center of gravity of the current inlier keypoints
+    double meanU = 0.0, meanV = 0.0;
+    for(std::vector<vpImagePoint>::const_iterator it = m_ransacInliers.begin(); it != m_ransacInliers.end();
+        ++it) {
+      meanU += it->get_u();
+      meanV += it->get_v();
+    }
+
+    meanU /= (double) m_ransacInliers.size();
+    meanV /= (double) m_ransacInliers.size();
+
+    centerOfGravity.set_u(meanU);
+    centerOfGravity.set_v(meanV);
+  }
+
+  return isMatchOk;
+}
+
+/*!
+    Apply a set of affine transormations to the image, detect keypoints and
+    reproject them into initial image coordinates.
+    See http://www.ipol.im/pub/algo/my_affine_sift/ for the details.
+    See https://github.com/Itseez/opencv/blob/master/samples/python2/asift.py for the Python implementation by Itseez
+    and Matt Sheckells for the current implementation in C++.
+    \param I : Input image
+    \param listOfKeypoints : List of detected keypoints in the multiple images after affine transformations
+    \param listOfDescriptors : Corresponding list of descriptors
+    \param listOfAffineI : Optional parameter, list of images after affine transformations
+ */
+void vpKeyPoint::detectExtractAffine(const vpImage<unsigned char> &I,std::vector<std::vector<cv::KeyPoint> >& listOfKeypoints,
+    std::vector<cv::Mat>& listOfDescriptors, std::vector<vpImage<unsigned char> > *listOfAffineI) {
+  cv::Mat img;
+  vpImageConvert::convert(I, img);
+  listOfKeypoints.clear();
+  listOfDescriptors.clear();
+
+  for (int tl = 1; tl < 6; tl++) {
+    double t = pow(2, 0.5 * tl);
+    for (int phi = 0; phi < 180; phi += (int)(72.0 / t)) {
+      std::vector<cv::KeyPoint> keypoints;
+      cv::Mat descriptors;
+
+      cv::Mat timg, mask, Ai;
+      img.copyTo(timg);
+
+      affineSkew(t, phi, timg, mask, Ai);
+
+
+      if(listOfAffineI != NULL) {
+        cv::Mat img_disp;
+        bitwise_and(mask, timg, img_disp);
+        vpImage<unsigned char> tI;
+        vpImageConvert::convert(img_disp, tI);
+        listOfAffineI->push_back(tI);
+      }
+#if 0
+      cv::namedWindow( "Skew", cv::WINDOW_AUTOSIZE ); // Create a window for display.
+      cv::imshow( "Skew", img_disp );
+      cv::waitKey(0);
+#endif
+
+      for(std::map<std::string, cv::Ptr<cv::FeatureDetector> >::const_iterator it = m_detectors.begin(); it != m_detectors.end(); ++it) {
+        std::vector<cv::KeyPoint> kp;
+        it->second->detect(timg, kp, mask);
+        keypoints.insert(keypoints.end(), kp.begin(), kp.end());
+      }
+
+      double elapsedTime;
+      extract(timg, keypoints, descriptors, elapsedTime);
+
+      for(unsigned int i = 0; i < keypoints.size(); i++) {
+        cv::Point3f kpt(keypoints[i].pt.x, keypoints[i].pt.y, 1.f);
+        cv::Mat kpt_t = Ai * cv::Mat(kpt);
+        keypoints[i].pt.x = kpt_t.at<float>(0, 0);
+        keypoints[i].pt.y = kpt_t.at<float>(1, 0);
+      }
+
+      listOfKeypoints.push_back(keypoints);
+      listOfDescriptors.push_back(descriptors);
+    }
+  }
+}
+
+/*!
+   Save the learning data in a file in XML or binary mode.
+
+   \param filename : Path of the save file
+   \param binaryMode : If true, the data are saved in binary mode, otherwise in XML mode
+   \param saveTrainingImages : If true, save also the training images on disk
+ */
+void vpKeyPoint::saveLearningData(const std::string &filename, bool binaryMode, const bool saveTrainingImages) {
+  std::string parent = vpIoTools::getParent(filename);
+  if(!parent.empty()) {
+    vpIoTools::makeDirectory(parent);
+  }
+
+  std::map<int, std::string> mapOfImgPath;
+  if(saveTrainingImages) {
+    //Save the training image files in the same directory
+    int cpt = 0;
+
+    for(std::map<int, vpImage<unsigned char> >::const_iterator it = m_mapOfImages.begin(); it != m_mapOfImages.end(); ++it, cpt++) {
+      char buffer[4];
+      sprintf(buffer, "%03d", cpt);
+      std::stringstream ss;
+      ss << "train_image_" << buffer << ".jpg";
+      std::string filename_ = ss.str();
+      mapOfImgPath[it->first] = filename_;
+      vpImageIo::write(it->second, parent + (!parent.empty() ? "/" : "") + filename_);
+    }
+  }
+
+  bool have3DInfo = m_trainPoints.size() > 0;
+  if(have3DInfo && m_trainPoints.size() != m_trainKeyPoints.size()) {
+    throw vpException(vpException::fatalError, "List of keypoints and list of 3D points have different size !");
+  }
+
+  if(binaryMode) {
+    std::ofstream file(filename.c_str(), std::ofstream::binary);
+    if(!file.is_open()) {
+      throw vpException(vpException::ioError, "Cannot create the file.");
+    }
+
+    //Write info about training images
+    int nbImgs = (int) mapOfImgPath.size();
+    file.write((char *)(&nbImgs), sizeof(nbImgs));
+
+    for(std::map<int, std::string>::const_iterator it = mapOfImgPath.begin(); it != mapOfImgPath.end(); ++it) {
+      //Write image_id
+      int id = it->first;
+      file.write((char *)(&id), sizeof(id));
+
+      //Write image path
+      std::string path = it->second;
+      int length = (int) path.length();
+      file.write((char *)(&length), sizeof(length));
+
+      for(int cpt = 0; cpt < length; cpt++) {
+        file.write((char *) (&path[(size_t)cpt]), sizeof(path[(size_t)cpt]));
+      }
+    }
+
+    //Write if we have 3D point information
+    int have3DInfoInt = have3DInfo ? 1 : 0;
+    file.write((char *)(&have3DInfoInt), sizeof(have3DInfoInt));
+
+
+    int nRows = m_trainDescriptors.rows,
+        nCols = m_trainDescriptors.cols;
+    int descriptorType = m_trainDescriptors.type();
+
+    //Write the number of descriptors
+    file.write((char *)(&nRows), sizeof(nRows));
+
+    //Write the size of the descriptor
+    file.write((char *)(&nCols), sizeof(nCols));
+
+    //Write the type of the descriptor
+    file.write((char *)(&descriptorType), sizeof(descriptorType));
+
+    for (int i = 0; i < nRows; i++) {
+      unsigned int i_ = (unsigned int) i;
+      //Write u
+      float u = m_trainKeyPoints[i_].pt.x;
+      file.write((char *)(&u), sizeof(u));
+
+      //Write v
+      float v = m_trainKeyPoints[i_].pt.y;
+      file.write((char *)(&v), sizeof(v));
+
+      //Write size
+      float size = m_trainKeyPoints[i_].size;
+      file.write((char *)(&size), sizeof(size));
+
+      //Write angle
+      float angle = m_trainKeyPoints[i_].angle;
+      file.write((char *)(&angle), sizeof(angle));
+
+      //Write response
+      float response = m_trainKeyPoints[i_].response;
+      file.write((char *)(&response), sizeof(response));
+
+      //Write octave
+      int octave = m_trainKeyPoints[i_].octave;
+      file.write((char *)(&octave), sizeof(octave));
+
+      //Write class_id
+      int class_id = m_trainKeyPoints[i_].class_id;
+      file.write((char *)(&class_id), sizeof(class_id));
+
+      //Write image_id
+      int image_id = (saveTrainingImages && m_mapOfImageId.size() > 0) ? m_mapOfImageId[m_trainKeyPoints[i_].class_id] : -1;
+      file.write((char *)(&image_id), sizeof(image_id));
+
+      if(have3DInfo) {
+        float oX = m_trainPoints[i_].x, oY = m_trainPoints[i_].y, oZ = m_trainPoints[i_].z;
+        //Write oX
+        file.write((char *)(&oX), sizeof(oX));
+
+        //Write oY
+        file.write((char *)(&oY), sizeof(oY));
+
+        //Write oZ
+        file.write((char *)(&oZ), sizeof(oZ));
+      }
+
+      for (int j = 0; j < nCols; j++) {
+        //Write the descriptor value
+        switch(descriptorType) {
+        case CV_8U:
+          file.write((char *)(&m_trainDescriptors.at<unsigned char>(i, j)), sizeof(m_trainDescriptors.at<unsigned char>(i, j)));
+          break;
+
+        case CV_8S:
+          file.write((char *)(&m_trainDescriptors.at<char>(i, j)), sizeof(m_trainDescriptors.at<char>(i, j)));
+          break;
+
+        case CV_16U:
+          file.write((char *)(&m_trainDescriptors.at<unsigned short int>(i, j)), sizeof(m_trainDescriptors.at<unsigned short int>(i, j)));
+          break;
+
+        case CV_16S:
+          file.write((char *)(&m_trainDescriptors.at<short int>(i, j)), sizeof(m_trainDescriptors.at<short int>(i, j)));
+          break;
+
+        case CV_32S:
+          file.write((char *)(&m_trainDescriptors.at<int>(i, j)), sizeof(m_trainDescriptors.at<int>(i, j)));
+          break;
+
+        case CV_32F:
+          file.write((char *)(&m_trainDescriptors.at<float>(i, j)), sizeof(m_trainDescriptors.at<float>(i, j)));
+          break;
+
+        case CV_64F:
+          file.write((char *)(&m_trainDescriptors.at<double>(i, j)), sizeof(m_trainDescriptors.at<double>(i, j)));
+          break;
+
+        default:
+          file.write((char *)(&m_trainDescriptors.at<float>(i, j)), sizeof(m_trainDescriptors.at<float>(i, j)));
+          break;
+        }
+      }
+    }
+
+
+    file.close();
+  } else {
+#ifdef VISP_HAVE_XML2
+    xmlDocPtr doc = NULL;
+    xmlNodePtr root_node = NULL, image_node = NULL, image_info_node = NULL, descriptors_info_node = NULL,
+        descriptor_node = NULL, desc_node = NULL;
+
+    /*
+     * this initialize the library and check potential ABI mismatches
+     * between the version it was compiled for and the actual shared
+     * library used.
+     */
+    LIBXML_TEST_VERSION
+
+        doc = xmlNewDoc(BAD_CAST "1.0");
+    if (doc == NULL) {
+      throw vpException(vpException::ioError, "Error with file " + filename);
+    }
+
+    root_node = xmlNewNode(NULL, BAD_CAST "LearningData");
+    xmlDocSetRootElement(doc, root_node);
+
+    std::stringstream ss;
+
+    //Write the training images info
+    image_node = xmlNewChild(root_node, NULL, BAD_CAST "TrainingImageInfo", NULL);
+
+    for(std::map<int, std::string>::const_iterator it = mapOfImgPath.begin(); it != mapOfImgPath.end(); ++it) {
+      image_info_node = xmlNewChild(image_node, NULL, BAD_CAST "trainImg",
+                                    BAD_CAST it->second.c_str());
+      ss.str("");
+      ss << it->first;
+      xmlNewProp(image_info_node, BAD_CAST "image_id", BAD_CAST ss.str().c_str());
+    }
+
+    //Write information about descriptors
+    descriptors_info_node = xmlNewChild(root_node, NULL, BAD_CAST "DescriptorsInfo", NULL);
+
+    int nRows = m_trainDescriptors.rows,
+        nCols = m_trainDescriptors.cols;
+    int descriptorType = m_trainDescriptors.type();
+
+    //Write the number of rows
+    ss.str("");
+    ss << nRows;
+    xmlNewChild(descriptors_info_node, NULL, BAD_CAST "nrows", BAD_CAST ss.str().c_str());
+
+    //Write the number of cols
+    ss.str("");
+    ss << nCols;
+    xmlNewChild(descriptors_info_node, NULL, BAD_CAST "ncols", BAD_CAST ss.str().c_str());
+
+    //Write the descriptors type
+    ss.str("");
+    ss << descriptorType;
+    xmlNewChild(descriptors_info_node, NULL, BAD_CAST "type", BAD_CAST ss.str().c_str());
+
+    for (int i = 0; i < nRows; i++) {
+      unsigned int i_ = (unsigned int) i;
+      descriptor_node = xmlNewChild(root_node, NULL, BAD_CAST "DescriptorInfo",
+                                    NULL);
+
+      ss.str("");
+      ss << m_trainKeyPoints[i_].pt.x;
+      xmlNewChild(descriptor_node, NULL, BAD_CAST "u",
+                               BAD_CAST ss.str().c_str());
+
+      ss.str("");
+      ss << m_trainKeyPoints[i_].pt.y;
+      xmlNewChild(descriptor_node, NULL, BAD_CAST "v",
+                               BAD_CAST ss.str().c_str());
+
+      ss.str("");
+      ss << m_trainKeyPoints[i_].size;
+      xmlNewChild(descriptor_node, NULL, BAD_CAST "size",
+                               BAD_CAST ss.str().c_str());
+
+      ss.str("");
+      ss << m_trainKeyPoints[i_].angle;
+      xmlNewChild(descriptor_node, NULL, BAD_CAST "angle",
+                               BAD_CAST ss.str().c_str());
+
+      ss.str("");
+      ss << m_trainKeyPoints[i_].response;
+      xmlNewChild(descriptor_node, NULL, BAD_CAST "response",
+                               BAD_CAST ss.str().c_str());
+
+      ss.str("");
+      ss << m_trainKeyPoints[i_].octave;
+      xmlNewChild(descriptor_node, NULL, BAD_CAST "octave",
+                               BAD_CAST ss.str().c_str());
+
+      ss.str("");
+      ss << m_trainKeyPoints[i_].class_id;
+      xmlNewChild(descriptor_node, NULL, BAD_CAST "class_id",
+                               BAD_CAST ss.str().c_str());
+
+      ss.str("");
+      ss << ((saveTrainingImages && m_mapOfImageId.size() > 0) ? m_mapOfImageId[m_trainKeyPoints[i_].class_id] : -1);
+      xmlNewChild(descriptor_node, NULL, BAD_CAST "image_id",
+                               BAD_CAST ss.str().c_str());
+
+      if (have3DInfo) {
+        ss.str("");
+        ss << m_trainPoints[i_].x;
+        xmlNewChild(descriptor_node, NULL, BAD_CAST "oX",
+                                 BAD_CAST ss.str().c_str());
+
+        ss.str("");
+        ss << m_trainPoints[i_].y;
+        xmlNewChild(descriptor_node, NULL, BAD_CAST "oY",
+                                 BAD_CAST ss.str().c_str());
+
+        ss.str("");
+        ss << m_trainPoints[i_].z;
+        xmlNewChild(descriptor_node, NULL, BAD_CAST "oZ",
+                                 BAD_CAST ss.str().c_str());
+      }
+
+      desc_node = xmlNewChild(descriptor_node, NULL, BAD_CAST "desc", NULL);
+
+      for (int j = 0; j < nCols; j++) {
+        ss.str("");
+
+        switch(descriptorType) {
+        case CV_8U:
+          {
+            //Promote an unsigned char to an int
+            //val_tmp holds the numeric value that will be written
+            //We save the value in numeric form otherwise libxml2 will not be able to parse
+            //A better solution could be possible
+            int val_tmp = m_trainDescriptors.at<unsigned char>(i, j);
+            ss << val_tmp;
+          }
+          break;
+
+          case CV_8S:
+          {
+            //Promote a char to an int
+            //val_tmp holds the numeric value that will be written
+            //We save the value in numeric form otherwise libxml2 will not be able to parse
+            //A better solution could be possible
+            int val_tmp = m_trainDescriptors.at<char>(i, j);
+            ss << val_tmp;
+          }
+          break;
+
+          case CV_16U:
+            ss << m_trainDescriptors.at<unsigned short int>(i, j);
+            break;
+
+          case CV_16S:
+            ss << m_trainDescriptors.at<short int>(i, j);
+            break;
+
+          case CV_32S:
+            ss << m_trainDescriptors.at<int>(i, j);
+            break;
+
+          case CV_32F:
+            ss << m_trainDescriptors.at<float>(i, j);
+            break;
+
+          case CV_64F:
+            ss << m_trainDescriptors.at<double>(i, j);
+            break;
+
+          default:
+            ss << m_trainDescriptors.at<float>(i, j);
+            break;
+        }
+        xmlNewChild(desc_node, NULL, BAD_CAST "val",
+                    BAD_CAST ss.str().c_str());
+      }
+    }
+
+    xmlSaveFormatFileEnc(filename.c_str(), doc, "UTF-8", 1);
+
+    /*free the document */
+    xmlFreeDoc(doc);
+
+    /*
+     *Free the global variables that may
+     *have been allocated by the parser.
+     */
+    xmlCleanupParser();
+#else
+    std::cerr << "Error: libxml2 is required !" << std::endl;
+#endif
+  }
+}
+
+#endif
diff --git a/src/key-point/vpKeyPoint.h b/src/key-point/vpKeyPoint.h
new file mode 100644
index 0000000000000000000000000000000000000000..7d1e70f5c44834b725391fd9f0a08988cd1a4824
--- /dev/null
+++ b/src/key-point/vpKeyPoint.h
@@ -0,0 +1,861 @@
+/****************************************************************************
+ *
+ * This file is part of the ViSP software.
+ * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+ *
+ * This software is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * ("GPL") version 2 as published by the Free Software Foundation.
+ * See the file LICENSE.txt at the root directory of this source
+ * distribution for additional information about the GNU GPL.
+ *
+ * For using ViSP with software that can not be combined with the GNU
+ * GPL, please contact INRIA about acquiring a ViSP Professional
+ * Edition License.
+ *
+ * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+ *
+ * This software was developed at:
+ * INRIA Rennes - Bretagne Atlantique
+ * Campus Universitaire de Beaulieu
+ * 35042 Rennes Cedex
+ * France
+ * http://www.irisa.fr/lagadic
+ *
+ * If you have questions regarding the use of this file, please contact
+ * INRIA at visp@inria.fr
+ *
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Description:
+ * Key point functionalities.
+ *
+ * Authors:
+ * Souriya Trinh
+ *
+ *****************************************************************************/
+#ifndef __vpKeyPoint_h__
+#define __vpKeyPoint_h__
+
+#include <algorithm>    // std::transform
+#include <vector>       // std::vector
+#include <stdlib.h>     // srand, rand
+#include <time.h>       // time
+#include <fstream>      // std::ofstream
+#include <numeric>      // std::accumulate
+#include <float.h>      // DBL_MAX
+#include <map>          // std::map
+#include <limits>
+
+#include <visp/vpConfig.h>
+#include <visp/vpBasicKeyPoint.h>
+#include <visp/vpImageConvert.h>
+#include <visp/vpPoint.h>
+#include <visp/vpDisplay.h>
+#include <visp/vpPlane.h>
+#include <visp/vpPixelMeterConversion.h>
+#include <visp/vpMbEdgeTracker.h>
+#include <visp/vpIoTools.h>
+#include <visp/vpPose.h>
+#include <visp/vpImageIo.h>
+#include <visp/vpPolygon.h>
+#include <visp/vpXmlConfigParserKeyPoint.h>
+#include <visp/vpConvert.h>
+
+// Require at least OpenCV >= 2.1.1
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020101)
+
+#include <opencv2/features2d/features2d.hpp>
+#include <opencv2/calib3d/calib3d.hpp>
+
+#if defined(VISP_HAVE_OPENCV_XFEATURES2D) // OpenCV >= 3.0.0
+#  include <opencv2/xfeatures2d.hpp>
+#elif defined(VISP_HAVE_OPENCV_NONFREE) && (VISP_HAVE_OPENCV_VERSION >= 0x020400) && (VISP_HAVE_OPENCV_VERSION < 0x030000)
+#  include <opencv2/nonfree/nonfree.hpp>
+#endif
+
+#ifdef VISP_HAVE_XML2
+#  include <libxml/xmlwriter.h>
+#endif
+
+/*!
+  \class vpKeyPoint
+
+  \brief Class that allows keypoints detection (and descriptors extraction) and matching thanks to OpenCV library.
+  This class permits to use different types of detectors, extractors and matchers easily.
+  So, the classical SIFT and SURF keypoints could be used, as well as ORB, FAST, (etc.) keypoints,
+  depending of the version of OpenCV you use.
+
+  \note Due to some patents, SIFT and SURF are packaged in an external module called nonfree module
+  in OpenCV version before 3.0.0 and in xfeatures2d from 3.0.0. You have to check you have the
+  corresponding module to use SIFT and SURF.
+
+  The goal of this class is to provide a tool to match reference keypoints from a
+  reference image (or train keypoints in OpenCV terminology) and detected keypoints from a current image (or query
+  keypoints in OpenCV terminology).
+
+  If you supply the corresponding 3D coordinates corresponding to the 2D coordinates of the reference keypoints,
+  you can also estimate the pose of the object by matching a set of detected keypoints in the current image with
+  the reference keypoints.
+
+
+  If you use this class, the first thing you have to do is to build
+  the reference keypoints by detecting keypoints in a reference image which contains the
+  object to detect. Then you match keypoints detected in a current image with those detected in a reference image
+  by calling matchPoint() methods.
+  You can access to the lists of matched points thanks to the
+  methods getMatchedPointsInReferenceImage() and
+  getMatchedPointsInCurrentImage(). These two methods return a list of
+  matched points. The nth element of the first list is matched with
+  the nth element of the second list.
+  To provide easy compatibility with OpenCV terminology, getTrainKeyPoints() give you access to the list
+  of keypoints detected in train images (or reference images) and getQueryKeyPoints() give you access to the list
+  of keypoints detected in a query image (or current image).
+  The method getMatches() give you access to a list of cv::DMatch with the correspondence between the index of the
+  train keypoints and the index of the query keypoints.
+
+  The following small example shows how to use the class to do the matching between current and reference keypoints.
+
+  \code
+#include <visp/vpConfig.h>
+#include <visp/vpImage.h>
+#include <visp/vpKeyPoint.h>
+
+int main()
+{
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020300)
+  vpImage<unsigned char> Irefrence;
+  vpImage<unsigned char> Icurrent;
+
+  vpKeyPoint::vpFilterMatchingType filterType = vpKeyPoint::ratioDistanceThreshold;
+  vpKeyPoint keypoint("ORB", "ORB", "BruteForce-Hamming", filterType);
+
+  // First grab the reference image Irefrence
+  // Add your code to load the reference image in Ireference
+
+  // Build the reference ORB points.
+  keypoint.buildReference(Irefrence);
+
+  // Then grab another image which represents the current image Icurrent
+
+  // Match points between the reference points and the ORB points computed in the current image.
+  keypoint.matchPoint(Icurrent);
+
+  // Display the matched points
+  keypoint.display(Irefrence, Icurrent);
+#endif
+
+  return (0);
+}
+  \endcode
+
+  It is also possible to build the reference keypoints in a region of interest (ROI) of an image
+  and find keypoints to match in only a part of the current image. The small following example shows how to do this:
+
+  \code
+#include <visp/vpConfig.h>
+#include <visp/vpImage.h>
+#include <visp/vpDisplay.h>
+#include <visp/vpKeyPoint.h>
+
+int main()
+{
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020300)
+  vpImage<unsigned char> Ireference;
+  vpImage<unsigned char> Icurrent;
+
+  vpKeyPoint::vpFilterMatchingType filterType = vpKeyPoint::ratioDistanceThreshold;
+  vpKeyPoint keypoint("ORB", "ORB", "BruteForce-Hamming", filterType);
+
+  //First grab the reference image Irefrence
+  //Add your code to load the reference image in Ireference
+
+  //Select a part of the image by clincking on two points which define a rectangle
+  vpImagePoint corners[2];
+  for (int i=0 ; i < 2 ; i++)
+  {
+    vpDisplay::getClick(Ireference, corners[i]);
+  }
+
+  //Build the reference ORB points.
+  int nbrRef;
+  unsigned int height, width;
+  height = (unsigned int)(corners[1].get_i() - corners[0].get_i());
+  width = (unsigned int)(corners[1].get_j() - corners[0].get_j());
+  nbrRef = keypoint.buildReference(Ireference, corners[0], height, width);
+
+  //Then grab another image which represents the current image Icurrent
+
+  //Select a part of the image by clincking on two points which define a rectangle
+  for (int i=0 ; i < 2 ; i++)
+  {
+    vpDisplay::getClick(Icurrent, corners[i]);
+  }
+
+  //Match points between the reference points and the ORB points computed in the current image.
+  int nbrMatched;
+  height = (unsigned int)(corners[1].get_i() - corners[0].get_i());
+  width = (unsigned int)(corners[1].get_j() - corners[0].get_j());
+  nbrMatched = keypoint.matchPoint(Icurrent, corners[0], height, width);
+
+  //Display the matched points
+  keypoint.display(Ireference, Icurrent);
+#endif
+
+  return(0);
+}
+  \endcode
+
+  This class is also described in \ref tutorial-matching.
+*/
+class VISP_EXPORT vpKeyPoint : public vpBasicKeyPoint {
+
+public:
+
+  /*! Predefined filtering method identifier. */
+  typedef enum {
+    constantFactorDistanceThreshold,  /*!< Keep all the points below a constant factor threshold. */
+    stdDistanceThreshold,             /*!< Keep all the points below a minimal distance + the standard deviation. */
+    ratioDistanceThreshold,           /*!< Keep all the points enough discriminated (the ratio distance between the two best matches is below the threshold). */
+    stdAndRatioDistanceThreshold,     /*!< Keep all the points which fall with the two conditions above. */
+    noFilterMatching                  /*!< No filtering. */
+  } vpFilterMatchingType;
+
+  /*! Predefined detection method identifier. */
+  typedef enum {
+    detectionThreshold,  /*!< The object is present if the average of the descriptor distances is below the threshold. */
+    detectionScore       /*!< Same condition than the previous but with a formula taking into account the number of matches,
+                              the object is present if the score is above the threshold. */
+  } vpDetectionMethodType;
+
+
+  vpKeyPoint(const std::string &detectorName="ORB", const std::string &extractorName="ORB",
+             const std::string &matcherName="BruteForce-Hamming", const vpFilterMatchingType &filterType=ratioDistanceThreshold);
+  vpKeyPoint(const std::vector<std::string> &detectorNames, const std::vector<std::string> &extractorNames,
+             const std::string &matcherName="BruteForce", const vpFilterMatchingType &filterType=ratioDistanceThreshold);
+
+  unsigned int buildReference(const vpImage<unsigned char> &I);
+  unsigned int buildReference(const vpImage<unsigned char> &I,
+                              const vpImagePoint &iP, const unsigned int height, const unsigned int width);
+  unsigned int buildReference(const vpImage<unsigned char> &I, const vpRect& rectangle);
+
+  void buildReference(const vpImage<unsigned char> &I, std::vector<cv::KeyPoint> &trainKeyPoint,
+                      std::vector<cv::Point3f> &points3f, bool append=false);
+  void buildReference(const vpImage<unsigned char> &I, const std::vector<cv::KeyPoint> &trainKeyPoint,
+                      const cv::Mat &trainDescriptors, const std::vector<cv::Point3f> &points3f, bool append=false);
+
+  static void compute3D(const cv::KeyPoint &candidate, const std::vector<vpPoint> &roi,
+      const vpCameraParameters &cam, const vpHomogeneousMatrix &cMo, cv::Point3f &point);
+
+  static void compute3D(const vpImagePoint &candidate, const std::vector<vpPoint> &roi,
+      const vpCameraParameters &cam, const vpHomogeneousMatrix &cMo, vpPoint &point);
+
+  static void compute3DForPointsInPolygons(const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam,
+      std::vector<cv::KeyPoint> &candidate, std::vector<vpPolygon> &polygons, std::vector<std::vector<vpPoint> > &roisPt,
+      std::vector<cv::Point3f> &points, cv::Mat *descriptors=NULL);
+
+  static void compute3DForPointsInPolygons(const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam,
+      std::vector<vpImagePoint> &candidate, std::vector<vpPolygon> &polygons, std::vector<std::vector<vpPoint> > &roisPt,
+      std::vector<vpPoint> &points, cv::Mat *descriptors=NULL);
+
+  bool computePose(const std::vector<cv::Point2f> &imagePoints, const std::vector<cv::Point3f> &objectPoints,
+               const vpCameraParameters &cam, vpHomogeneousMatrix &cMo, std::vector<int> &inlierIndex, double &elapsedTime,
+               bool (*func)(vpHomogeneousMatrix *)=NULL);
+
+  bool computePose(const std::vector<vpPoint> &objectVpPoints, vpHomogeneousMatrix &cMo,
+               std::vector<vpPoint> &inliers, double &elapsedTime, bool (*func)(vpHomogeneousMatrix *)=NULL);
+
+  void createImageMatching(vpImage<unsigned char> &IRef, vpImage<unsigned char> &ICurrent, vpImage<unsigned char> &IMatching);
+  void createImageMatching(vpImage<unsigned char> &ICurrent, vpImage<unsigned char> &IMatching);
+
+  void detect(const vpImage<unsigned char> &I, std::vector<cv::KeyPoint> &keyPoints, double &elapsedTime,
+              const vpRect& rectangle=vpRect());
+  void detect(const cv::Mat &matImg, std::vector<cv::KeyPoint> &keyPoints, double &elapsedTime,
+              const cv::Mat &mask=cv::Mat());
+
+  void detectExtractAffine(const vpImage<unsigned char> &I, std::vector<std::vector<cv::KeyPoint> >& listOfKeypoints,
+                           std::vector<cv::Mat>& listOfDescriptors,
+                           std::vector<vpImage<unsigned char> > *listOfAffineI=NULL);
+
+  void display(const vpImage<unsigned char> &IRef, const vpImage<unsigned char> &ICurrent, unsigned int size=3);
+  void display(const vpImage<unsigned char> &ICurrent, unsigned int size=3, const vpColor &color=vpColor::green);
+
+  void displayMatching(const vpImage<unsigned char> &IRef, vpImage<unsigned char> &IMatching,
+                       unsigned int crossSize, unsigned int lineThickness=1,
+                       const vpColor &color=vpColor::green);
+  void displayMatching(const vpImage<unsigned char> &ICurrent, vpImage<unsigned char> &IMatching,
+                       const std::vector<vpImagePoint> &ransacInliers=std::vector<vpImagePoint>(), unsigned int crossSize=3,
+                       unsigned int lineThickness=1);
+
+  void extract(const vpImage<unsigned char> &I, std::vector<cv::KeyPoint> &keyPoints, cv::Mat &descriptors, double &elapsedTime);
+  void extract(const cv::Mat &matImg, std::vector<cv::KeyPoint> &keyPoints, cv::Mat &descriptors, double &elapsedTime);
+
+  /*!
+    Get the covariance matrix when estimating the pose using the Virtual Visual Servoing approach.
+
+    \warning The compute covariance flag has to be true if you want to compute the covariance matrix.
+
+    \sa setCovarianceComputation
+  */
+  inline vpMatrix getCovarianceMatrix() const {
+    if(!m_computeCovariance) {
+      std::cout << "Warning : The covariance matrix has not been computed. See setCovarianceComputation() to do it." << std::endl;
+      return vpMatrix();
+    }
+
+    if(m_computeCovariance && !m_useRansacVVS) {
+      std::cout << "Warning : The covariance matrix can only be computed with a Virtual Visual Servoing approach." << std::endl
+          << "Use setUseRansacVVS(true) to choose to use a pose estimation method based on a Virtual Visual Servoing approach."
+          << std::endl;
+      return vpMatrix();
+    }
+
+    return m_covarianceMatrix;
+  }
+
+  /*!
+    Get the elapsed time to compute the keypoint detection.
+
+    \return The elapsed time.
+  */
+  inline double getDetectionTime() const {
+    return m_detectionTime;
+  }
+
+  /*!
+    Get the elapsed time to compute the keypoint extraction.
+
+    \return The elapsed time.
+  */
+  inline double getExtractionTime() const {
+    return m_extractionTime;
+  }
+
+  /*!
+    Get the elapsed time to compute the matching.
+
+    \return The elapsed time.
+  */
+  inline double getMatchingTime() const {
+    return m_matchingTime;
+  }
+
+  /*!
+    Get the list of matches (correspondences between the indexes of the detected keypoints and the train keypoints).
+
+    \return The list of matches.
+  */
+  inline std::vector<cv::DMatch> getMatches() const {
+    return m_filteredMatches;
+  }
+
+  /*!
+    Get the list of pairs with the correspondence between the matched query and train keypoints.
+
+    \return The list of pairs with the correspondence between the matched query and train keypoints.
+  */
+  inline std::vector<std::pair<cv::KeyPoint, cv::KeyPoint> > getMatchQueryToTrainKeyPoints() const {
+    return m_matchQueryToTrainKeyPoints;
+  }
+
+  /*!
+    Get the number of train images.
+
+    \return The number of train images.
+  */
+  inline unsigned int getNbImages() const {
+    return static_cast<unsigned int>(m_mapOfImages.size());
+  }
+
+  void getObjectPoints(std::vector<cv::Point3f> &objectPoints) const;
+  void getObjectPoints(std::vector<vpPoint> &objectPoints) const;
+
+  /*!
+    Get the elapsed time to compute the pose.
+
+    \return The elapsed time.
+  */
+  inline double getPoseTime() const {
+    return m_poseTime;
+  }
+
+  /*!
+     Get the descriptors matrix for the query keypoints.
+
+     \return Matrix with descriptors values at each row for each query keypoints.
+   */
+  inline cv::Mat getQueryDescriptors() const {
+    return m_queryDescriptors;
+  }
+
+  void getQueryKeyPoints(std::vector<cv::KeyPoint> &keyPoints) const;
+  void getQueryKeyPoints(std::vector<vpImagePoint> &keyPoints) const;
+
+  /*!
+    Get the list of Ransac inliers.
+
+    \return The list of Ransac inliers.
+  */
+  inline std::vector<vpImagePoint> getRansacInliers() const {
+    return m_ransacInliers;
+  }
+
+  /*!
+    Get the list of Ransac outliers.
+
+    \return The list of Ransac outliers.
+  */
+  inline std::vector<vpImagePoint> getRansacOutliers() const {
+    return m_ransacOutliers;
+  }
+
+  /*!
+     Get the train descriptors matrix.
+
+     \return : Matrix with descriptors values at each row for each train keypoints (or reference keypoints).
+   */
+  inline cv::Mat getTrainDescriptors() const {
+    return m_trainDescriptors;
+  }
+
+  void getTrainKeyPoints(std::vector<cv::KeyPoint> &keyPoints) const;
+  void getTrainKeyPoints(std::vector<vpImagePoint> &keyPoints) const;
+
+  void getTrainPoints(std::vector<cv::Point3f> &points) const;
+  void getTrainPoints(std::vector<vpPoint> &points) const;
+
+  void initMatcher(const std::string &matcherName);
+
+  void insertImageMatching(const vpImage<unsigned char> &IRef, const vpImage<unsigned char> &ICurrent,
+                           vpImage<unsigned char> &IMatching);
+  void insertImageMatching(const vpImage<unsigned char> &ICurrent, vpImage<unsigned char> &IMatching);
+
+#ifdef VISP_HAVE_XML2
+  void loadConfigFile(const std::string &configFile);
+#endif
+
+  void loadLearningData(const std::string &filename, const bool binaryMode=false, const bool append=false);
+
+  void match(const cv::Mat &trainDescriptors, const cv::Mat &queryDescriptors,
+             std::vector<cv::DMatch> &matches, double &elapsedTime);
+
+  unsigned int matchPoint(const vpImage<unsigned char> &I);
+  unsigned int matchPoint(const vpImage<unsigned char> &I, const vpImagePoint &iP,
+                          const unsigned int height, const unsigned int width);
+  unsigned int matchPoint(const vpImage<unsigned char> &I, const vpRect& rectangle);
+
+  bool matchPoint(const vpImage<unsigned char> &I, const vpCameraParameters &cam, vpHomogeneousMatrix &cMo,
+                  double &error, double &elapsedTime, bool (*func)(vpHomogeneousMatrix *)=NULL);
+
+  bool matchPointAndDetect(const vpImage<unsigned char> &I, vpRect &boundingBox, vpImagePoint &centerOfGravity,
+                           const bool isPlanarObject=true, std::vector<vpImagePoint> *imPts1=NULL,
+                           std::vector<vpImagePoint> *imPts2=NULL, double *meanDescriptorDistance=NULL,
+                           double *detectionScore=NULL);
+
+  bool matchPointAndDetect(const vpImage<unsigned char> &I, const vpCameraParameters &cam, vpHomogeneousMatrix &cMo,
+                  double &error, double &elapsedTime, vpRect &boundingBox, vpImagePoint &centerOfGravity,
+                  bool (*func)(vpHomogeneousMatrix *)=NULL);
+
+  void saveLearningData(const std::string &filename, const bool binaryMode=false, const bool saveTrainingImages=true);
+
+  /*!
+    Set if the covariance matrix has to be computed in the Virtual Visual Servoing approach.
+
+    \param flag : True if the covariance has to be computed, false otherwise.
+  */
+  inline void setCovarianceComputation(const bool& flag) {
+    m_computeCovariance = flag;
+    if(!m_useRansacVVS) {
+      std::cout << "Warning : The covariance matrix can only be computed with a Virtual Visual Servoing approach." << std::endl
+                << "Use setUseRansacVVS(true) to choose to use a pose estimation method based on a Virtual "
+                    "Visual Servoing approach." << std::endl;
+    }
+  }
+
+  /*!
+     Set the method to decide if the object is present or not.
+
+     \param method : Detection method (detectionThreshold or detectionScore).
+   */
+  inline void setDetectionMethod(const vpDetectionMethodType &method) {
+    m_detectionMethod = method;
+  }
+
+  /*!
+     Set and initialize a detector denominated by his name \p detectorName.
+
+     \param detectorName : Name of the detector.
+   */
+  inline void setDetector(const std::string &detectorName) {
+    m_detectorNames.clear();
+    m_detectorNames.push_back(detectorName);
+    m_detectors.clear();
+    initDetector(detectorName);
+  }
+
+  /*!
+    Template function to set to a \p parameterName a value for a specific detector named by his \p detectorName.
+
+    \param detectorName : Name of the detector
+    \param parameterName : Name of the parameter
+    \param value : Value to set
+  */
+  template<typename T1, typename T2, typename T3> inline void setDetectorParameter(const T1 detectorName,
+                                                                                   const T2 parameterName, const T3 value) {
+    if(m_detectors.find(detectorName) != m_detectors.end()) {
+      m_detectors[detectorName]->set(parameterName, value);
+    }
+  }
+
+  /*!
+     Set and initialize a list of detectors denominated by their names \p detectorNames.
+
+     \param detectorNames : List of detector names.
+   */
+  inline void setDetectors(const std::vector<std::string> &detectorNames) {
+    m_detectorNames.clear();
+    m_detectors.clear();
+    m_detectorNames = detectorNames;
+    initDetectors(m_detectorNames);
+  }
+
+  /*!
+     Set and initialize an extractor denominated by his name \p extractorName.
+
+     \param extractorName : Name of the extractor.
+   */
+  inline void setExtractor(const std::string &extractorName) {
+    m_extractorNames.clear();
+    m_extractorNames.push_back(extractorName);
+    m_extractors.clear();
+    initExtractor(extractorName);
+  }
+
+  /*!
+    Template function to set to a \p parameterName a value for a specific extractor named by his \p extractorName.
+
+    \param extractorName : Name of the extractor
+    \param parameterName : Name of the parameter
+    \param value : Value to set
+  */
+  template<typename T1, typename T2, typename T3> inline void setExtractorParameter(const T1 extractorName,
+                                                                                    const T2 parameterName, const T3 value) {
+    if(m_extractors.find(extractorName) != m_extractors.end()) {
+      m_extractors[extractorName]->set(parameterName, value);
+    }
+  }
+
+  /*!
+     Set and initialize a list of extractors denominated by their names \p extractorNames.
+
+     \param extractorNames : List of extractor names.
+   */
+  inline void setExtractors(const std::vector<std::string> &extractorNames) {
+    m_extractorNames.clear();
+    m_extractorNames = extractorNames;
+    m_extractors.clear();
+    initExtractors(m_extractorNames);
+  }
+
+  /*!
+     Set and initialize a matcher denominated by his name \p matcherName.
+     The different matchers are:
+       - BruteForce (it uses L2 distance)
+       - BruteForce-L1
+       - BruteForce-Hamming
+       - BruteForce-Hamming(2)
+       - FlannBased
+
+     L1 and L2 norms are preferable choices for SIFT and SURF descriptors, NORM_HAMMING should be used with ORB,
+     BRISK and BRIEF, NORM_HAMMING2 should be used with ORB when WTA_K==3 or 4.
+
+     \param matcherName : Name of the matcher.
+   */
+  inline void setMatcher(const std::string &matcherName) {
+    m_matcherName = matcherName;
+    initMatcher(m_matcherName);
+  }
+
+  /*!
+    Set the filtering method to eliminate false matching.
+    The different methods are:
+      - constantFactorDistanceThreshold (keep matches whose the descriptor distance is below dist_min * factor)
+      - stdDistanceThreshold (keep matches whose the descriptor distance is below dist_min + standard_deviation)
+      - ratioDistanceThreshold (keep matches enough discriminated: the ratio distance between the 2 best matches is below the threshold)
+      - stdAndRatioDistanceThreshold (keep matches that agree with at least one of the two conditions)
+      - noFilterMatching
+
+    \param filterType : Type of the filtering method
+  */
+  inline void setFilterMatchingType(const vpFilterMatchingType &filterType) {
+    m_filterType = filterType;
+
+    //Use k-nearest neighbors (knn) to retrieve the two best matches for a keypoint
+    //So this is useful only for ratioDistanceThreshold method
+    if(filterType == ratioDistanceThreshold || filterType == stdAndRatioDistanceThreshold) {
+      m_useKnn = true;
+    } else {
+      m_useKnn = false;
+    }
+  }
+
+  /*!
+    Set the factor value for the filtering method: constantFactorDistanceThreshold.
+
+    \param factor : Factor value
+  */
+  inline void setMatchingFactorThreshold(const double factor) {
+    if(factor > 0.0) {
+      m_matchingFactorThreshold = factor;
+    } else {
+      throw vpException(vpException::badValue, "The factor must be positive.");
+    }
+  }
+
+  /*!
+    Set the ratio value for the filtering method: ratioDistanceThreshold.
+
+    \param ratio : Ratio value (]0 ; 1])
+  */
+  inline void setMatchingRatioThreshold(const double ratio) {
+    if(ratio > 0.0 && (ratio < 1.0 || std::fabs(ratio - 1.0) < std::numeric_limits<double>::epsilon())) {
+      m_matchingRatioThreshold = ratio;
+    } else {
+      throw vpException(vpException::badValue, "The ratio must be in the interval ]0 ; 1].");
+    }
+  }
+
+  /*!
+    Set the percentage value for defining the cardinality of the consensus group.
+
+    \param percentage : Percentage value (]0 ; 100])
+  */
+  inline void setRansacConsensusPercentage(const double percentage) {
+    if(percentage > 0.0 && (percentage < 100.0 || std::fabs(percentage - 100.0) < std::numeric_limits<double>::epsilon())) {
+      m_ransacConsensusPercentage = percentage;
+    } else {
+      throw vpException(vpException::badValue, "The percentage must be in the interval ]0 ; 100].");
+    }
+  }
+
+  /*!
+    Set the maximum number of iterations for the Ransac pose estimation method.
+
+    \param nbIter : Maximum number of iterations for the Ransac
+  */
+  inline void setRansacIteration(const int nbIter) {
+    if(nbIter > 0) {
+      m_nbRansacIterations = nbIter;
+    } else {
+      throw vpException(vpException::badValue, "The number of iterations must be greater than zero.");
+    }
+  }
+
+  /*!
+    Set the maximum reprojection error (in pixel) to determine if a point is an inlier or not.
+
+    \param reprojectionError : Maximum reprojection error in pixel (used by OpenCV function)
+  */
+  inline void setRansacReprojectionError(const double reprojectionError) {
+    if(reprojectionError > 0.0) {
+      m_ransacReprojectionError = reprojectionError;
+    } else {
+      throw vpException(vpException::badValue, "The Ransac reprojection threshold must be positive as we deal with distance.");
+    }
+  }
+
+  /*!
+    Set the minimum number of inlier for the Ransac pose estimation method.
+
+    \param minCount : Minimum number of inlier for the consensus
+  */
+  inline void setRansacMinInlierCount(const int minCount) {
+    if(minCount > 0) {
+      m_nbRansacMinInlierCount = minCount;
+    } else {
+      throw vpException(vpException::badValue, "The minimum number of inliers must be greater than zero.");
+    }
+  }
+
+  /*!
+    Set the maximum error (in meter) to determine if a point is an inlier or not.
+
+    \param threshold : Maximum error in meter for ViSP function
+  */
+  inline void setRansacThreshold(const double threshold) {
+    if(threshold > 0.0) {
+      m_ransacThreshold = threshold;
+    } else {
+      throw vpException(vpException::badValue, "The Ransac threshold must be positive as we deal with distance.");
+    }
+  }
+
+  /*!
+    Set if multiple affine transformations must be used to detect and extract keypoints.
+
+    \param useAffine : True to use multiple affine transformations, false otherwise
+  */
+  inline void setUseAffineDetection(const bool useAffine) {
+    m_useAffineDetection = useAffine;
+  }
+
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020400)
+  /*!
+    Set if cross check method must be used to eliminate some false matches with a brute-force matching method.
+
+    \param useCrossCheck : True to use cross check, false otherwise
+  */
+  inline void setUseBruteForceCrossCheck(const bool useCrossCheck) {
+    //Only available with BruteForce and with k=1 (i.e not used with a ratioDistanceThreshold method)
+    if(m_matcher != NULL && !m_useKnn && m_matcherName == "BruteForce") {
+      m_matcher->set("crossCheck", useCrossCheck);
+    }
+  }
+#endif
+
+  /*!
+    Set the flag to choose between a percentage value of inliers for the cardinality of the consensus group
+    or a minimum number.
+
+    \param usePercentage : True to a percentage ratio of inliers, otherwise use a specified number of inliers
+  */
+  inline void setUseRansacConsensusPercentage(const bool usePercentage) {
+    m_useConsensusPercentage = usePercentage;
+  }
+
+  /*!
+    Set the flag to choose between the OpenCV or ViSP Ransac pose estimation function.
+
+    \param ransacVVS : True to use ViSP function, otherwise use OpenCV function
+  */
+  inline void setUseRansacVVS(const bool ransacVVS) {
+    m_useRansacVVS = ransacVVS;
+  }
+
+private:
+  //! If true, compute covariance matrix if the user select the pose estimation method using ViSP
+  bool m_computeCovariance;
+  //! Covariance matrix
+  vpMatrix m_covarianceMatrix;
+  //! Current id associated to the training image used for the learning.
+  int m_currentImageId;
+  //! Method (based on descriptor distances) to decide if the object is present or not.
+  vpDetectionMethodType m_detectionMethod;
+  //! Detection score to decide if the object is present or not.
+  double m_detectionScore;
+  //! Detection threshold based on average of descriptor distances to decide if the object is present or not.
+  double m_detectionThreshold;
+  //! Elapsed time to detect keypoints.
+  double m_detectionTime;
+  //! List of detector names.
+  std::vector<std::string> m_detectorNames;
+  //! Map of smart reference-counting pointers (similar to shared_ptr in Boost) detectors,
+  // with a key based upon the detector name.
+  std::map<std::string, cv::Ptr<cv::FeatureDetector> > m_detectors;
+  //! Elapsed time to extract descriptors for the detected keypoints.
+  double m_extractionTime;
+  //! List of extractor name.
+  std::vector<std::string> m_extractorNames;
+  //! Map of smart reference-counting pointers (similar to shared_ptr in Boost) extractors,
+  // with a key based upon the extractor name.
+  std::map<std::string, cv::Ptr<cv::DescriptorExtractor> > m_extractors;
+  //! List of filtered matches between the detected and the trained keypoints.
+  std::vector<cv::DMatch> m_filteredMatches;
+  //! Chosen method of filtering to eliminate false matching.
+  vpFilterMatchingType m_filterType;
+  //! List of k-nearest neighbors for each detected keypoints (if the method chosen is based upon on knn).
+  std::vector<std::vector<cv::DMatch> > m_knnMatches;
+  //! Map of image id to know to which training image is related a training keypoints.
+  std::map<int, int> m_mapOfImageId;
+  //! Map of images to have access to the image buffer according to his image id.
+  std::map<int, vpImage<unsigned char> > m_mapOfImages;
+  //! Smart reference-counting pointer (similar to shared_ptr in Boost) of descriptor matcher (e.g. BruteForce or FlannBased).
+  cv::Ptr<cv::DescriptorMatcher> m_matcher;
+  //! Name of the matcher.
+  std::string m_matcherName;
+  //! List of matches between the detected and the trained keypoints.
+  std::vector<cv::DMatch> m_matches;
+  //! Factor value for the filtering method: constantFactorDistanceThreshold.
+  double m_matchingFactorThreshold;
+  //! Ratio value for the filtering method: ratioDistanceThreshold.
+  double m_matchingRatioThreshold;
+  //! Elapsed time to do the matching.
+  double m_matchingTime;
+  //! List of pairs between the matched query and train keypoints.
+  std::vector<std::pair<cv::KeyPoint, cv::KeyPoint> > m_matchQueryToTrainKeyPoints;
+  //! List of pairs between the keypoint and the 3D point after the Ransac.
+  std::vector<std::pair<cv::KeyPoint, cv::Point3f> > m_matchRansacKeyPointsToPoints;
+  //! List of pairs between the matched query and train keypoints after the Ransac.
+  std::vector<std::pair<cv::KeyPoint, cv::KeyPoint> > m_matchRansacQueryToTrainKeyPoints;
+  //! Maximum number of iterations for the Ransac method.
+  int m_nbRansacIterations;
+  //! Minimum number of inliers for the Ransac method.
+  int m_nbRansacMinInlierCount;
+  //! List of 3D points (in the object frame) filtered after the matching to compute the pose.
+  std::vector<cv::Point3f> m_objectFilteredPoints;
+  //! Elapsed time to compute the pose.
+  double m_poseTime;
+  /*! Matrix of descriptors (each row contains the descriptors values for each keypoints
+      detected in the current image). */
+  cv::Mat m_queryDescriptors;
+  //! List of detected keypoints filtered after the matching.
+  std::vector<cv::KeyPoint> m_queryFilteredKeyPoints;
+  //! List of keypoints detected in the current image.
+  std::vector<cv::KeyPoint> m_queryKeyPoints;
+  //! Percentage value to determine the number of inliers for the Ransac method.
+  double m_ransacConsensusPercentage;
+  //! List of inliers.
+  std::vector<vpImagePoint> m_ransacInliers;
+  //! List of outliers.
+  std::vector<vpImagePoint> m_ransacOutliers;
+  //! Maximum reprojection error (in pixel for the OpenCV method) to decide if a point is an inlier or not.
+  double m_ransacReprojectionError;
+  //! Maximum error (in meter for the ViSP method) to decide if a point is an inlier or not.
+  double m_ransacThreshold;
+  //! Matrix of descriptors (each row contains the descriptors values for each keypoints
+  //detected in the train images).
+  cv::Mat m_trainDescriptors;
+  //! List of keypoints detected in the train images.
+  std::vector<cv::KeyPoint> m_trainKeyPoints;
+  //! List of 3D points (in the object frame) corresponding to the train keypoints.
+  std::vector<cv::Point3f> m_trainPoints;
+  //! List of 3D points in vpPoint format (in the object frame) corresponding to the train keypoints.
+  std::vector<vpPoint> m_trainVpPoints;
+  //! If true, use multiple affine transformations to cober the 6 affine parameters
+  bool m_useAffineDetection;
+  //! If true, some false matches will be eliminate by keeping only pairs (i,j) such that for i-th
+  //! query descriptor the j-th descriptor in the matcher’s collection is the nearest and vice versa.
+  bool m_useBruteForceCrossCheck;
+  //! Flag set if a percentage value is used to determine the number of inliers for the Ransac method.
+  bool m_useConsensusPercentage;
+  //! Flag set if a knn matching method must be used.
+  bool m_useKnn;
+  //! Flag set if a Ransac VVS pose estimation must be used.
+  bool m_useRansacVVS;
+
+
+  void affineSkew(double tilt, double phi, cv::Mat& img, cv::Mat& mask, cv::Mat& Ai);
+
+  double computePoseEstimationError(const std::vector<std::pair<cv::KeyPoint, cv::Point3f> > &matchKeyPoints,
+                                    const vpCameraParameters &cam, const vpHomogeneousMatrix &cMo_est);
+
+  void filterMatches();
+
+  void init();
+  void initDetector(const std::string &detectorNames);
+  void initDetectors(const std::vector<std::string> &detectorNames);
+
+  void initExtractor(const std::string &extractorName);
+  void initExtractors(const std::vector<std::string> &extractorNames);
+
+//TODO: Try to implement a pyramidal feature detection
+//#if (VISP_HAVE_OPENCV_VERSION >= 0x030000)
+//  void pyramidFeatureDetection(cv::Ptr<cv::FeatureDetector> &detector, const cv::Mat& image, std::vector<cv::KeyPoint>& keypoints, const cv::Mat& mask,
+//      const int maxLevel=2);
+//  void runByPixelsMask(std::vector<cv::KeyPoint>& keypoints, const cv::Mat& mask);
+//#endif
+};
+
+#endif
+#endif
diff --git a/src/key-point/vpKeyPointSurf.cpp b/src/key-point/vpKeyPointSurf.cpp
index 7a7d8194bdc2f7a58fd5caacbe6368f634e7c3e5..f75051d8405ea016caa5a50afc0784af646f952b 100644
--- a/src/key-point/vpKeyPointSurf.cpp
+++ b/src/key-point/vpKeyPointSurf.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpKeyPointSurf.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpKeyPointSurf.cpp 5202 2015-01-24 09:29:06Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,7 +43,7 @@
 #include <visp/vpKeyPointSurf.h>
 
 #if defined (VISP_HAVE_OPENCV_NONFREE)
-#if VISP_HAVE_OPENCV_VERSION >= 0x010100 // Require opencv >= 1.1.0
+#if (VISP_HAVE_OPENCV_VERSION >= 0x010100) && VISP_HAVE_OPENCV_VERSION < 0x030000// Require opencv >= 1.1.0 < 3.0.0
 
 #include <visp/vpImageConvert.h>
 #include <visp/vpImageTools.h>
diff --git a/src/key-point/vpKeyPointSurf.h b/src/key-point/vpKeyPointSurf.h
index afea5383b88efcf2e5e55f1736137d1b1abebefc..4b7035eb0fa6e7404ed162562696f5c3dff739b3 100644
--- a/src/key-point/vpKeyPointSurf.h
+++ b/src/key-point/vpKeyPointSurf.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpKeyPointSurf.h 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpKeyPointSurf.h 5205 2015-01-26 08:56:41Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -58,10 +58,9 @@
 #include <list>
 #include <vector>
 
-#if defined (VISP_HAVE_OPENCV_NONFREE)
+#if defined (VISP_HAVE_OPENCV_NONFREE) && (VISP_HAVE_OPENCV_VERSION < 0x030000)
 
-
-#if (VISP_HAVE_OPENCV_VERSION >= 0x020400) // Require opencv >= 2.4.0
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020400)  // Require opencv >= 1.1.0 < 3.0.0
 #  include <opencv2/features2d/features2d.hpp>
 #  include <opencv2/legacy/compat.hpp>
 #  include <opencv2/nonfree/nonfree.hpp>
@@ -76,7 +75,10 @@
   \class vpKeyPointSurf
 
   \brief Class that implements the SURF key points and technics thanks
-  to the OpenCV library.
+  to OpenCV library.
+
+  \deprecated This class is deprecated with OpenCV 3.0.0 or more recent.
+  You should rather use vpKeyPoint class that is more generic.
 
   The goal of this class is to provide a tool to match points from a
   model and points belonging to an image in which the model appears.
@@ -105,31 +107,29 @@
 #include <visp/vpImage.h>
 #include <visp/vpKeyPointSurf.h>
 
-#if VISP_HAVE_OPENCV_VERSION >= 0x010100 // Surf key-points only available since OpenCV-1.1.0
 int main()
 {
+#if defined (VISP_HAVE_OPENCV_NONFREE) && (VISP_HAVE_OPENCV_VERSION < 0x030000)
   vpImage<unsigned char> Ireference;
   vpImage<unsigned char> Icurrent;
   vpKeyPointSurf surf;
 
-  //First grab the reference image Ireference
+  // First grab the reference image Ireference
 
-  //Build the reference SURF points.
+  // Build the reference SURF points.
   surf.buildReference(Ireference);
 
-  //Then grab another image which represents the current image Icurrent
+  // Then grab another image which represents the current image Icurrent
 
-  //Match points between the reference points and the SURF points computed in the current image.
+  // Match points between the reference points and the SURF points computed in the current image.
   surf.matchPoint(Icurrent);
 
-  //Display the matched points
+  // Display the matched points
   surf.display(Ireference, Icurrent);
 
   return (0);
-}
-#else
-int main() {}
 #endif
+}
   \endcode
 
   It is also possible to create the reference thanks to only a part of the
@@ -142,9 +142,9 @@ int main() {}
 #include <visp/vpDisplay.h>
 #include <visp/vpKeyPointSurf.h>
 
-#if VISP_HAVE_OPENCV_VERSION >= 0x010100 // Surf key-points only available since OpenCV-1.1.0
 int main()
 {
+#if defined (VISP_HAVE_OPENCV_NONFREE) && (VISP_HAVE_OPENCV_VERSION < 0x030000)
   vpImage<unsigned char> Ireference;
   vpImage<unsigned char> Icurrent;
   vpKeyPointSurf surf;
@@ -183,10 +183,8 @@ int main()
   surf.display(Ireference, Icurrent);
 
   return(0);
-}
-#else
-int main() {}
 #endif
+}
   \endcode
 
   This class is also described in \ref tutorial-matching.
diff --git a/src/key-point/vpPlanarObjectDetector.cpp b/src/key-point/vpPlanarObjectDetector.cpp
index 71b4704e09451c7b6938731569ebfe2a875eabcb..818d12394e5f9b7ba4992b699c23a3acabad48f5 100755
--- a/src/key-point/vpPlanarObjectDetector.cpp
+++ b/src/key-point/vpPlanarObjectDetector.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpPlanarObjectDetector.cpp 4632 2014-02-03 17:06:40Z fspindle $
+ * $Id: vpPlanarObjectDetector.cpp 4976 2014-11-18 10:17:38Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -41,7 +41,7 @@
 
 #include <visp/vpPlanarObjectDetector.h>
 
-#if (VISP_HAVE_OPENCV_VERSION >= 0x020000) // Require opencv >= 2.0.0
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020000) && (VISP_HAVE_OPENCV_VERSION < 0x030000) // Require opencv >= 2.0.0 and < 3.0.0
 
 #include <visp/vpImageConvert.h>
 #include <visp/vpException.h>
diff --git a/src/key-point/vpPlanarObjectDetector.h b/src/key-point/vpPlanarObjectDetector.h
index 72d3074e7f8fe63cfd0a223058fe3fc5e95a2000..ad772537a77655f5639a466b9ff5e581564f2022 100755
--- a/src/key-point/vpPlanarObjectDetector.h
+++ b/src/key-point/vpPlanarObjectDetector.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpPlanarObjectDetector.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpPlanarObjectDetector.h 5203 2015-01-24 09:33:54Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -44,7 +44,7 @@
 
 #include <visp/vpConfig.h>
 
-#if (VISP_HAVE_OPENCV_VERSION >= 0x020000) // Require opencv >= 2.0.0
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020000) && (VISP_HAVE_OPENCV_VERSION < 0x030000) // Require opencv >= 2.0.0 and < 3.0.0
 
 #if (VISP_HAVE_OPENCV_VERSION >= 0x020101) // Require opencv >= 2.1.1
 #  include <opencv2/imgproc/imgproc.hpp>
@@ -69,6 +69,8 @@
   \class vpPlanarObjectDetector
   \ingroup PlanarSurfaceDetector
   \brief Class used to detect a planar surface. 
+
+  \deprecated This class is deprecated with OpenCV 3.0.0 or more recent.
   
   This class allows to learn and recognise a surface in an image based on the 
   Fern Classifier or any other point of interest matching class.
diff --git a/src/key-point/vpXmlConfigParserKeyPoint.cpp b/src/key-point/vpXmlConfigParserKeyPoint.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..2ee1811923cb93cff0f0c313a5357f78c760f3f2
--- /dev/null
+++ b/src/key-point/vpXmlConfigParserKeyPoint.cpp
@@ -0,0 +1,426 @@
+/****************************************************************************
+ *
+ * This file is part of the ViSP software.
+ * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+ *
+ * This software is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * ("GPL") version 2 as published by the Free Software Foundation.
+ * See the file LICENSE.txt at the root directory of this source
+ * distribution for additional information about the GNU GPL.
+ *
+ * For using ViSP with software that can not be combined with the GNU
+ * GPL, please contact INRIA about acquiring a ViSP Professional
+ * Edition License.
+ *
+ * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+ *
+ * This software was developed at:
+ * INRIA Rennes - Bretagne Atlantique
+ * Campus Universitaire de Beaulieu
+ * 35042 Rennes Cedex
+ * France
+ * http://www.irisa.fr/lagadic
+ *
+ * If you have questions regarding the use of this file, please contact
+ * INRIA at visp@inria.fr
+ *
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Description:
+ * XML parser to load configuration for vpKeyPoint class.
+ *
+ * Authors:
+ * Souriya Trinh
+ *
+ *****************************************************************************/
+
+/*!
+  \file vpXmlConfigParserKeyPoint.cpp
+  \brief Definition of the vpXmlConfigParserKeyPoint class member functions.
+  Class vpXmlConfigParserKeyPoint permits to load configuration defined in a XML file for vpKeyPoint class.
+
+*/
+
+#include <iostream>
+
+#include <visp/vpXmlConfigParserKeyPoint.h>
+
+#ifdef VISP_HAVE_XML2
+
+vpXmlConfigParserKeyPoint::vpXmlConfigParserKeyPoint() : m_detectorName("SIFT"), m_extractorName("SIFT"), m_matcherName("BruteForce"),
+m_matchingFactorThreshold(2.0), m_matchingMethod(stdDistanceThreshold), m_matchingRatioThreshold(0.85), m_nbRansacIterations(200),
+m_nbRansacMinInlierCount(100), m_ransacConsensusPercentage(20.0), m_ransacReprojectionError(6.0), m_ransacThreshold(0.001),
+m_useRansacConsensusPercentage(false), m_useRansacVVS(false)
+{
+  init();
+}
+
+/*!
+  Initialize the nodeMap for the node parsing.
+*/
+void
+vpXmlConfigParserKeyPoint::init()
+{
+  setMainTag("conf");
+
+  nodeMap["conf"] = conf;
+  nodeMap["detector"] = detector;
+  nodeMap["extractor"] = extractor;
+  nodeMap["matcher"] = matcher;
+  nodeMap["name"] = name;
+  nodeMap["matching_method"] = matching_method;
+  nodeMap["constantFactorDistanceThreshold"] = constant_factor_distance_threshold;
+  nodeMap["stdDistanceThreshold"] = std_distance_threshold;
+  nodeMap["ratioDistanceThreshold"] = ratio_distance_threshold;
+  nodeMap["stdAndRatioDistanceThreshold"] = std_and_ratio_distance_threshold;
+  nodeMap["noFilterMatching"] = no_filter_matching;
+  nodeMap["matchingFactorThreshold"] = matching_factor_threshold;
+  nodeMap["matchingRatioThreshold"] = matching_ratio_threshold;
+  nodeMap["ransac"] = ransac;
+  nodeMap["useRansacVVS"] = use_ransac_vvs;
+  nodeMap["useRansacConsensusPercentage"] = use_ransac_consensus_percentage;
+  nodeMap["nbRansacIterations"] = nb_ransac_iterations;
+  nodeMap["ransacReprojectionError"] = ransac_reprojection_error;
+  nodeMap["nbRansacMinInlierCount"] = nb_ransac_min_inlier_count;
+  nodeMap["ransacThreshold"] = ransac_threshold;
+  nodeMap["ransacConsensusPercentage"] = ransac_consensus_percentage;
+}
+
+/*!
+  Parse an XML file to load configuration for vpKeyPoint class.
+  \param filename : filename of the XML file to parse.
+*/
+void
+vpXmlConfigParserKeyPoint::parse(const std::string &filename)
+{
+  vpXmlParser::parse(filename);
+}
+
+/*!
+  Read the parameters of the class from the file given by its document pointer
+  and by its root node.
+
+  \param doc : Document to parse.
+  \param node : Root node.
+*/
+void
+vpXmlConfigParserKeyPoint::readMainClass(xmlDocPtr doc, xmlNodePtr node)
+{
+  bool detector_node = false;
+  bool extractor_node = false;
+  bool matcher_node = false;
+
+  for(xmlNodePtr dataNode = node->xmlChildrenNode; dataNode != NULL;  dataNode = dataNode->next)  {
+    if(dataNode->type == XML_ELEMENT_NODE){
+      std::map<std::string, int>::iterator iter_data= this->nodeMap.find((char*)dataNode->name);
+      if(iter_data != nodeMap.end()){
+        switch (iter_data->second){
+        case detector:
+          this->read_detector(doc, dataNode);
+          detector_node = true;
+          break;
+
+        case extractor:
+          this->read_extractor(doc, dataNode);
+          extractor_node = true;
+          break;
+
+        case matcher:
+          this->read_matcher(doc, dataNode);
+          matcher_node = true;
+          break;
+
+        case ransac:
+          this->read_ransac(doc, dataNode);
+          break;
+
+        default:
+          break;
+        }
+      }
+    }
+  }
+
+  if(!detector_node) {
+    std::cout << "detector: name: "<< m_detectorName << " (default)" << std::endl;
+  }
+
+  if(!extractor_node) {
+    std::cout << "extractor: name: "<< m_extractorName << " (default)" << std::endl;
+  }
+
+  if(!matcher_node) {
+    std::cout << "matcher: name: "<< m_matcherName << " (default)" << std::endl;
+  }
+}
+
+/*!
+  Parse detector tag part.
+
+  \param doc : Document to parse.
+  \param node : Detector node.
+*/
+void
+vpXmlConfigParserKeyPoint::read_detector(xmlDocPtr doc, xmlNodePtr node)
+{
+  bool detector_name_node = false;
+
+  for(xmlNodePtr dataNode = node->xmlChildrenNode; dataNode != NULL; dataNode = dataNode->next) {
+    if(dataNode->type == XML_ELEMENT_NODE) {
+      std::map<std::string, int>::iterator iter_data = this->nodeMap.find((char*) dataNode->name);
+      if (iter_data != nodeMap.end()) {
+        switch(iter_data->second) {
+        case name:
+          m_detectorName = xmlReadStringChild(doc, dataNode);
+          detector_name_node = true;
+          break;
+
+        default:
+          break;
+        }
+      }
+    }
+  }
+
+  if(!detector_name_node)
+    std::cout << "detector : Name : "<< m_detectorName << " (default)" << std::endl;
+  else
+    std::cout << "detector : Name : "<< m_detectorName << std::endl;
+}
+
+/*!
+  Parse extractor tag part.
+
+  \param doc : Document to parse.
+  \param node : Extractor node.
+*/
+void
+vpXmlConfigParserKeyPoint::read_extractor(xmlDocPtr doc, xmlNodePtr node)
+{
+  bool extractor_name_node = false;
+
+  for(xmlNodePtr dataNode = node->xmlChildrenNode; dataNode != NULL; dataNode = dataNode->next) {
+    if(dataNode->type == XML_ELEMENT_NODE) {
+      std::map<std::string, int>::iterator iter_data = this->nodeMap.find((char*) dataNode->name);
+      if (iter_data != nodeMap.end()) {
+        switch(iter_data->second) {
+        case name:
+          m_extractorName = xmlReadStringChild(doc, dataNode);
+          extractor_name_node = true;
+          break;
+
+        default:
+          break;
+        }
+      }
+    }
+  }
+
+  if(!extractor_name_node)
+    std::cout << "extractor : Name : "<< m_extractorName << " (default)" << std::endl;
+  else
+    std::cout << "extractor : Name : "<< m_extractorName << std::endl;
+}
+
+/*!
+  Parse matcher tag part.
+
+  \param doc : Document to parse.
+  \param node : Matcher node.
+*/
+void
+vpXmlConfigParserKeyPoint::read_matcher(xmlDocPtr doc, xmlNodePtr node)
+{
+  bool matcher_name_node = false;
+  bool matching_method_node = false;
+  std::string matchingMethodName = "stdDistanceThreshold";
+  bool matching_factor_threshold_node = false;
+  bool matching_ratio_threshold_node = false;
+
+  for(xmlNodePtr dataNode = node->xmlChildrenNode; dataNode != NULL; dataNode = dataNode->next) {
+    if(dataNode->type == XML_ELEMENT_NODE) {
+      std::map<std::string, int>::iterator iter_data = this->nodeMap.find((char*) dataNode->name);
+      if(iter_data != nodeMap.end()) {
+        switch(iter_data->second) {
+        case name:
+          m_matcherName = xmlReadStringChild(doc, dataNode);
+          matcher_name_node = true;
+          break;
+
+        case matching_method:
+        {
+          matchingMethodName = xmlReadStringChild(doc, dataNode);
+
+          std::map<std::string, int>::iterator iter_data2 = nodeMap.find(matchingMethodName);
+          if(iter_data2 != nodeMap.end()) {
+            matching_method_node = true;
+            switch(iter_data2->second) {
+            case constant_factor_distance_threshold:
+              m_matchingMethod = constantFactorDistanceThreshold;
+              break;
+
+            case std_distance_threshold:
+              m_matchingMethod = stdDistanceThreshold;
+              break;
+
+            case ratio_distance_threshold:
+              m_matchingMethod = ratioDistanceThreshold;
+              break;
+
+            case std_and_ratio_distance_threshold:
+              m_matchingMethod = stdAndRatioDistanceThreshold;
+              break;
+
+            case no_filter_matching:
+              m_matchingMethod = noFilterMatching;
+              break;
+
+            default:
+              matching_method_node = false;
+              break;
+            }
+          }
+          break;
+        }
+
+        case matching_factor_threshold:
+          m_matchingFactorThreshold = xmlReadDoubleChild(doc, dataNode);
+          matching_factor_threshold_node = true;
+          break;
+
+        case matching_ratio_threshold:
+          m_matchingRatioThreshold = xmlReadDoubleChild(doc, dataNode);
+          matching_ratio_threshold_node = true;
+          break;
+
+        default:
+          break;
+        }
+      }
+    }
+  }
+
+  if(!matcher_name_node)
+    std::cout << "matcher : Name : "<< m_matcherName << " (default)" << std::endl;
+  else
+    std::cout << "matcher : Name : "<< m_matcherName <<std::endl;
+
+  if(!matching_method_node)
+    std::cout << "matcher : Filter method : "<< matchingMethodName << " (default)" << std::endl;
+  else
+    std::cout << "matcher : Filter method : "<< matchingMethodName << std::endl;
+
+  if(!matching_factor_threshold_node)
+    std::cout << "matcher : matching factor threshold : "<< m_matchingFactorThreshold << " (default)" << std::endl;
+  else
+    std::cout << "matcher : matching factor threshold : "<< m_matchingFactorThreshold << std::endl;
+
+  if(!matching_ratio_threshold_node)
+    std::cout << "matcher : matching ratio threshold : "<< m_matchingRatioThreshold << " (default)" << std::endl;
+  else
+    std::cout << "matcher : matching ratio threshold : "<< m_matchingRatioThreshold << std::endl;
+}
+
+/*!
+  Parse ransac tag part.
+
+  \param doc : Document to parse.
+  \param node : Ransac node.
+*/
+void
+vpXmlConfigParserKeyPoint::read_ransac(xmlDocPtr doc, xmlNodePtr node)
+{
+  bool use_ransac_vvs_node = false;
+  bool use_ransac_consensus_percentage_node = false;
+  bool nb_ransac_iterations_node = false;
+  bool ransac_reprojection_error_node = false;
+  bool nb_ransac_min_inlier_count_node = false;
+  bool ransac_threshold_node = false;
+  bool ransac_consensus_percentage_node = false;
+
+  for(xmlNodePtr dataNode = node->xmlChildrenNode; dataNode != NULL; dataNode = dataNode->next) {
+    if(dataNode->type == XML_ELEMENT_NODE) {
+      std::map<std::string, int>::iterator iter_data = this->nodeMap.find((char*) dataNode->name);
+      if(iter_data != nodeMap.end()) {
+        switch(iter_data->second) {
+        case use_ransac_vvs:
+          m_useRansacVVS = xmlReadIntChild(doc, dataNode) != 0;
+          use_ransac_vvs_node = true;
+          break;
+
+        case use_ransac_consensus_percentage:
+          m_useRansacConsensusPercentage = xmlReadIntChild(doc, dataNode) != 0;
+          use_ransac_consensus_percentage_node = true;
+          break;
+
+        case nb_ransac_iterations:
+          m_nbRansacIterations = xmlReadIntChild(doc, dataNode);
+          nb_ransac_iterations_node = true;
+          break;
+
+        case ransac_reprojection_error:
+          m_ransacReprojectionError = xmlReadDoubleChild(doc, dataNode);
+          ransac_reprojection_error_node = true;
+          break;
+
+        case nb_ransac_min_inlier_count:
+          m_nbRansacMinInlierCount = xmlReadIntChild(doc, dataNode);
+          nb_ransac_min_inlier_count_node = true;
+          break;
+
+        case ransac_threshold:
+          m_ransacThreshold = xmlReadDoubleChild(doc, dataNode);
+          ransac_threshold_node = true;
+          break;
+
+        case ransac_consensus_percentage:
+          m_ransacConsensusPercentage = xmlReadDoubleChild(doc, dataNode);
+          ransac_consensus_percentage_node = true;
+          break;
+
+        default:
+          break;
+        }
+      }
+    }
+  }
+
+  if(!use_ransac_vvs_node)
+    std::cout << "ransac: use ransac vvs pose estimation: "<< m_useRansacVVS << " (default)" << std::endl;
+  else
+    std::cout << "ransac: use ransac vvs pose estimation: "<< m_useRansacVVS <<std::endl;
+
+  if(!use_ransac_consensus_percentage_node)
+    std::cout << "ransac: use consensus percentage: "<< m_useRansacConsensusPercentage << " (default)" << std::endl;
+  else
+    std::cout << "ransac: use consensus percentage: "<< m_useRansacConsensusPercentage <<std::endl;
+
+  if(!nb_ransac_iterations_node)
+    std::cout << "ransac: nb ransac iterations: "<< m_nbRansacIterations << " (default)" << std::endl;
+  else
+    std::cout << "ransac: nb ransac iterations: "<< m_nbRansacIterations <<std::endl;
+
+  if(!ransac_reprojection_error_node)
+    std::cout << "ransac: ransac reprojection error in pixel (for OpenCV function): "<< m_ransacReprojectionError << " (default)" << std::endl;
+  else
+    std::cout << "ransac: ransac reprojection error in pixel (for OpenCV function): "<< m_ransacReprojectionError <<std::endl;
+
+  if(!nb_ransac_min_inlier_count_node)
+    std::cout << "ransac: nb ransac min inlier count: "<< m_nbRansacMinInlierCount << " (default)" << std::endl;
+  else
+    std::cout << "ransac: nb ransac min inlier count: "<< m_nbRansacMinInlierCount <<std::endl;
+
+  if(!ransac_threshold_node)
+    std::cout << "ransac: ransac threshold in meter (for ViSP function): "<< m_ransacThreshold << " (default)" << std::endl;
+  else
+    std::cout << "ransac: ransac threshold in meter (for ViSP function): "<< m_ransacThreshold <<std::endl;
+
+  if(!ransac_consensus_percentage_node)
+    std::cout << "ransac: consensus percentage: "<< m_ransacConsensusPercentage << " (default)" << std::endl;
+  else
+    std::cout << "ransac: consensus percentage: "<< m_ransacConsensusPercentage <<std::endl;
+}
+
+#endif //VISP_HAVE_XML2
diff --git a/src/key-point/vpXmlConfigParserKeyPoint.h b/src/key-point/vpXmlConfigParserKeyPoint.h
new file mode 100644
index 0000000000000000000000000000000000000000..3d6e8b588b71460d407f659507ea4bf17a551748
--- /dev/null
+++ b/src/key-point/vpXmlConfigParserKeyPoint.h
@@ -0,0 +1,269 @@
+/****************************************************************************
+ *
+ * This file is part of the ViSP software.
+ * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+ *
+ * This software is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * ("GPL") version 2 as published by the Free Software Foundation.
+ * See the file LICENSE.txt at the root directory of this source
+ * distribution for additional information about the GNU GPL.
+ *
+ * For using ViSP with software that can not be combined with the GNU
+ * GPL, please contact INRIA about acquiring a ViSP Professional
+ * Edition License.
+ *
+ * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+ *
+ * This software was developed at:
+ * INRIA Rennes - Bretagne Atlantique
+ * Campus Universitaire de Beaulieu
+ * 35042 Rennes Cedex
+ * France
+ * http://www.irisa.fr/lagadic
+ *
+ * If you have questions regarding the use of this file, please contact
+ * INRIA at visp@inria.fr
+ *
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Description:
+ * XML parser to load configuration for vpKeyPoint class.
+ *
+ * Authors:
+ * Souriya Trinh
+ *
+ *****************************************************************************/
+
+/*!
+  \file vpXmlConfigParserKeyPoint.cpp
+  \brief Definition of the vpXmlConfigParserKeyPoint class member functions.
+  Class vpXmlConfigParserKeyPoint allows to load configuration defined  in a XML file for vpKeyPoint class.
+
+*/
+
+#ifndef __vpXmlConfigParserKeyPoint_h__
+#define __vpXmlConfigParserKeyPoint_h__
+
+#include <visp/vpConfig.h>
+
+#ifdef VISP_HAVE_XML2
+
+#include <iostream>
+#include <stdlib.h>
+
+#include <libxml/xmlmemory.h>      // Functions of libxml.
+
+#include <visp/vpXmlParser.h>
+
+
+class VISP_EXPORT vpXmlConfigParserKeyPoint: public vpXmlParser
+{
+
+public:
+  /*! Predefined xml node identifier. */
+  typedef enum {
+    conf,                               /*!< Identifier associated to the root tag. */
+    detector,                           /*!< Identifier associated to the detector tag. */
+    extractor,                          /*!< Identifier associated to the extractor tag. */
+    matcher,                            /*!< Identifier associated to the matcher tag. */
+    name,                               /*!< Identifier associated to the name tag. */
+    matching_method,                    /*!< Identifier associated to the matching_method tag. */
+    constant_factor_distance_threshold, /*!< Identifier associated to the constant_factor_distance_threshold tag. */
+    std_distance_threshold,             /*!< Identifier associated to the std_distance_threshold tag. */
+    ratio_distance_threshold,           /*!< Identifier associated to the ratio_distance_threshold tag. */
+    std_and_ratio_distance_threshold,   /*!< Identifier associated to the std_and_ratio_distance_threshold tag. */
+    no_filter_matching,                 /*!< Identifier associated to the no_filter_matching tag. */
+    matching_factor_threshold,          /*!< Identifier associated to the matching_factor_threshold tag. */
+    matching_ratio_threshold,           /*!< Identifier associated to the matching_ratio_threshold tag. */
+    ransac,                             /*!< Identifier associated to the ransac tag. */
+    use_ransac_vvs,                     /*!< Identifier associated to the use_ransac_vvs tag. */
+    use_ransac_consensus_percentage,    /*!< Identifier associated to the use_ransac_consensus_percentage tag. */
+    nb_ransac_iterations,               /*!< Identifier associated to the nb_ransac_iterations tag. */
+    ransac_reprojection_error,          /*!< Identifier associated to the ransac_reprojection_error tag. */
+    nb_ransac_min_inlier_count,         /*!< Identifier associated to the nb_ransac_min_inlier_count tag. */
+    ransac_threshold,                   /*!< Identifier associated to the ransac_threshold tag. */
+    ransac_consensus_percentage         /*!< Identifier associated to the ransac_consensus_percentage tag. */
+  } vpNodeIdentifier;
+
+  /*! Enumerator for the different filtering matching method. */
+  typedef enum {
+    constantFactorDistanceThreshold,  /*!< Keep all the points below a constant factor threshold. */
+    stdDistanceThreshold,             /*!< Keep all the points below a minimal distance + the standard deviation. */
+    ratioDistanceThreshold,           /*!< Keep all the points enough discriminated. */
+    stdAndRatioDistanceThreshold,     /*!< Keep all the points which fall with the two conditions. */
+    noFilterMatching                  /*!< No filtering. */
+  } vpMatchingMethodEnum;
+
+private :
+  //! Name of the keypoint detector.
+  std::string m_detectorName;
+  //! Name of the keypoint extractor.
+  std::string m_extractorName;
+  //! Name of the keypoint matcher.
+  std::string m_matcherName;
+  //! Factor value for filtering method: constantFactorDistanceThreshold.
+  double m_matchingFactorThreshold;
+  //! Filtering method.
+  vpMatchingMethodEnum m_matchingMethod;
+  //! Ratio value for filtering method: ratioDistanceThreshold.
+  double m_matchingRatioThreshold;
+  //! Maximum number of iterations for the Ransac method.
+  int m_nbRansacIterations;
+  //! Minimum number of inliers for the Ransac method.
+  int m_nbRansacMinInlierCount;
+  //! Percentage value of inliers compared to outliers for the Ransac method.
+  double m_ransacConsensusPercentage;
+  //! Maximum reprojection error (in pixel for OpenCV method) to consider a point as an inlier.
+  double m_ransacReprojectionError;
+  //! Maximum error (in meter for ViSP method) to consider a point as an inlier.
+  double m_ransacThreshold;
+  //! If true, the cardinality of the consensus is based upon a percentage, otherwise
+  //it is based on a fixed number.
+  bool m_useRansacConsensusPercentage;
+  //! If true, use ViSP Ransac VVS pose estimation method, otherwise use OpenCV method.
+  bool m_useRansacVVS;
+
+
+public:
+
+  vpXmlConfigParserKeyPoint();
+
+  /*!
+    Get the detector name.
+
+    \return The detector name.
+  */
+  inline std::string getDetectorName() const {
+    return m_detectorName;
+  }
+
+  /*!
+    Get the extractor name.
+
+    \return The extractor name.
+  */
+  inline std::string getExtractorName() const {
+    return m_extractorName;
+  }
+  /*!
+    Get the matcher name.
+
+    \return The detector name.
+  */
+  inline std::string getMatcherName() const {
+    return m_matcherName;
+  }
+  /*!
+    Get the factor value.
+
+    \return The factor value for the filtering method: constantFactorDistanceThreshold.
+  */
+  inline double getMatchingFactorThreshold() const {
+    return m_matchingFactorThreshold;
+  }
+
+  /*!
+    Get the filtering method.
+
+    \return The filtering method.
+  */
+  inline vpMatchingMethodEnum getMatchingMethod() const {
+    return m_matchingMethod;
+  }
+
+  /*!
+    Get the ratio value.
+
+    \return The factor value for the filtering method: ratioDistanceThreshold.
+  */
+  inline double getMatchingRatioThreshold() const {
+    return m_matchingRatioThreshold;
+  }
+
+  /*!
+    Get the maximum number of iterations for the Ransac method.
+
+    \return The maximum number of iterations for the Ransac method.
+  */
+  inline int getNbRansacIterations() const {
+    return m_nbRansacIterations;
+  }
+
+  /*!
+    Get the minimum number of inliers for the Ransac method.
+
+    \return The minimum number of inliers for the Ransac method.
+  */
+  inline int getNbRansacMinInlierCount() const {
+    return m_nbRansacMinInlierCount;
+  }
+
+  /*!
+    Get the percentage value of inliers for the Ransac method.
+
+    \return The percentage value of inliers for the Ransac method.
+  */
+  inline double getRansacConsensusPercentage() const {
+    return m_ransacConsensusPercentage;
+  }
+
+  /*!
+    Get the maximum reprojection error for a candidate inlier for the Ransac method.
+
+    \return The maximum reprojection error for the Ransac method.
+  */
+  inline double getRansacReprojectionError() const {
+    return m_ransacReprojectionError;
+  }
+
+  /*!
+    Get the maximum error for a candidate inlier for the Ransac method.
+
+    \return The maximum error for the Ransac method.
+  */
+  inline double getRansacThreshold() const {
+    return m_ransacThreshold;
+  }
+
+  /*!
+    Get the flag state to choose between a percentage of inliers or a fixed number.
+
+    \return True to use a percentage value for inliers, false otherwise.
+  */
+  inline bool getUseRansacConsensusPercentage() const {
+    return m_useRansacConsensusPercentage;
+  }
+
+  /*!
+    Get the flag state to choose between OpenCV Ransac pose estimation or ViSP
+    Ransac VVS pose estimation.
+
+    \return True to use ViSP method, false otherwise.
+  */
+  inline bool getUseRansacVVSPoseEstimation() const {
+    return m_useRansacVVS;
+  }
+
+  /*!
+    Parse an XML file to get configuration value for vpKeyPoint class.
+
+    \param filename : filename of the XML file to parse
+  */
+  void parse(const std::string &filename);
+
+
+private:
+
+  void init();
+  void read_detector(xmlDocPtr doc, xmlNodePtr node);
+  void read_extractor(xmlDocPtr doc, xmlNodePtr node);
+  void read_matcher(xmlDocPtr doc, xmlNodePtr node);
+  virtual void readMainClass(xmlDocPtr doc, xmlNodePtr node);
+  void read_ransac(xmlDocPtr doc, xmlNodePtr node);
+  virtual void writeMainClass(xmlNodePtr ){};
+  
+};
+#endif //VISP_HAVE_XML2
+#endif
diff --git a/src/math/kalman/vpKalmanFilter.cpp b/src/math/kalman/vpKalmanFilter.cpp
index 10067e505521749529a992e820d0af0dcfda9ab4..8fe3cd916e03168397b2b6cc58ec50eac1009a9a 100644
--- a/src/math/kalman/vpKalmanFilter.cpp
+++ b/src/math/kalman/vpKalmanFilter.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpKalmanFilter.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpKalmanFilter.cpp 5060 2014-12-12 18:31:03Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -255,11 +255,11 @@ vpKalmanFilter::filtering(vpColVector &z)
   \param Vn : Variance of measure noise
   \param Vw : Variance of the state noise
 
-  modèle d'état
+  State model:
   \f[ S = \left[\; y  \quad \frac{\partial y}{\partial t}\;\right]^T = \left[\;  y  \quad \dot{ y}\;\right]^T
   \f]
 
-  Modélisation des filtres
+  Filter model:
   \f[
   \begin{array}{rclll} \\
   S(t+1) &= & F S(t) + W(t)&~~~~~~~~~~~& S(t+1) \mbox{ est un vecteur} \left[\;
@@ -269,16 +269,15 @@ vpKalmanFilter::filtering(vpColVector &z)
   \f]
 
 
-  La matrice F décrit le modèle d'évolution de l'état. Dans le cas présent elle
-  est donnée par :
+  Matrix F describes the evolution of the state. This matrix is given by:
   \f[
   F= \left( \begin{array}{cc} 1 & \Delta t  \\ 0 & 1 \end{array} \right)
   \f]
 
-  Le bruit \f$W = \left( \begin{array}{c} \;W_1 \quad W_2\;  \end{array} \right)^T\f$
-  vient modéliser les variations sur le modèle à vitesse constante (dues aux accélérations)
+  The noise \f$W = \left( \begin{array}{c} \;W_1 \quad W_2\;  \end{array} \right)^T\f$
+  take into account the variations of the constant velocity model due to the accelerations.
 
-  En effet on a:
+  Thus we have:
   \f[
   \left\{
   \begin{array}{rcl}
diff --git a/src/math/matrix/vpColVector.cpp b/src/math/matrix/vpColVector.cpp
index f931cc8841ad1246cd91af33ee4614f647ac4c0c..7f35664fb295f9b36eb062256898039f84e37a05 100644
--- a/src/math/matrix/vpColVector.cpp
+++ b/src/math/matrix/vpColVector.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpColVector.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpColVector.cpp 5218 2015-01-28 10:27:40Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -64,22 +64,15 @@
 vpColVector
 vpColVector::operator+(const vpColVector &m) const
 {
-  vpColVector v ;
-
-  try {
-    v.resize(rowNum) ;
-  }
-  catch(vpException me)
-  {
-    vpERROR_TRACE("Error caught") ;
-    throw ;
+  if (getRows() != m.getRows() ) {
+    throw(vpException(vpException::dimensionError,
+                      "Bad size during vpColVector (%dx1) and vpColVector (%dx1) addition",
+                      getRows(), m.getRows())) ;
   }
-
-  double *vd = v.data ;   double *d = data ;  double *md = m.data ;
+  vpColVector v(rowNum);
 
   for (unsigned int i=0;i<rowNum;i++)
-      *(vd++) = *(d++) + *(md++);
-
+    v[i] = (*this)[i] + m[i];
   return v;
 }
 
@@ -104,19 +97,15 @@ vpMatrix vpColVector::operator*(const vpRowVector &m) const
   //! operator substraction of two vectors V = A-v
 vpColVector vpColVector::operator-(const vpColVector &m) const
 {
-  vpColVector v ;
-
-  try {
-    v.resize(rowNum) ;
-  }
-  catch(vpException me)
-  {
-    vpERROR_TRACE("Error caught") ;
-    throw ;
+  if (getRows() != m.getRows() ) {
+    throw(vpException(vpException::dimensionError,
+                      "Bad size during vpColVector (%dx1) and vpColVector (%dx1) substraction",
+                      getRows(), m.getRows())) ;
   }
+  vpColVector v(rowNum);
 
   for (unsigned int i=0;i<rowNum;i++)
-      v[i] = (*this)[i] - m[i];
+    v[i] = (*this)[i] - m[i];
   return v;
 }
 
@@ -138,7 +127,7 @@ vpColVector::vpColVector (const vpRotationVector &v){
 }
 
   
- //! operator A = -A
+ //! Operator A = -A
 vpColVector vpColVector::operator-() const
 {
   vpColVector A ;
@@ -180,8 +169,8 @@ vpColVector vpColVector::operator*(double x) const
 }
 
 /*!
-  \brief copy from a matrix
-  \warning  Handled with care m should be a 1 row matrix
+  Copy from a matrix
+  \warning  Handled with care m should be a 1 row matrix.
 */
 vpColVector &vpColVector::operator=(const vpMatrix &m)
 {
@@ -248,27 +237,66 @@ vpColVector &vpColVector::operator=(const vpColVector &v)
   return *this;
 }
 
-//! Copy operator.   Allow operation such as A = v
+/*!
+  Copy operator.
+  Allows operation such as A << v
+  \code
+#include <visp/vpColVector.h>
+
+int main()
+{
+  vpColVector A, B(5);
+  for (unsigned int i=0; i<B.size(); i++)
+    B[i] = i;
+  A << B;
+  std::cout << "A: \n" << A << std::endl;
+}
+  \endcode
+  In column vector A we get:
+  \code
+A:
+0
+1
+2
+3
+4
+  \endcode
+  */
 vpColVector & vpColVector::operator<<(const vpColVector &v)
 {
-  try {
-    resize(v.getRows());
-  }
-  catch(vpException me)
-  {
-    vpERROR_TRACE("Error caught") ;
-    throw ;
-  }
-
-  for (unsigned int i=0; i<rowNum; i++) {
-    for (unsigned int j=0; j<colNum; j++) {
-      rowPtrs[i][j] = v.rowPtrs[i][j];
-    }
-  }
+  *this = v;
   return *this;
 }
 
-//! Assigment operator.   Allow operation such as A = *v
+/*!
+  Assigment operator.   Allow operation such as A = *v
+
+  The following example shows how to use this operator.
+  \code
+#include <visp/vpColVector.h>
+
+int main()
+{
+  size_t n = 5;
+  vpColVector A(n);
+  double *B = new double [n];
+  for (unsigned int i = 0; i < n; i++)
+    B[i] = i;
+  A << B;
+  std::cout << "A: \n" << A << std::endl;
+  delete [] B;
+}
+  \endcode
+  It produces the following output:
+  \code
+A:
+0
+1
+2
+3
+4
+  \endcode
+  */
 vpColVector & vpColVector::operator<<( double *x )
 {
   for (unsigned int i=0; i<rowNum; i++) {
@@ -402,11 +430,11 @@ vpColVector::dotProd(const vpColVector &a, const vpColVector &b)
 vpColVector &vpColVector::normalize()
 {
 
-  double sum = sumSquare() ;
+  double sum_square = sumSquare() ;
 
   //if (sum != 0.0)
-  if (std::fabs(sum) > std::numeric_limits<double>::epsilon())
-    *this /= sqrt(sum) ;
+  if (std::fabs(sum_square) > std::numeric_limits<double>::epsilon())
+    *this /= sqrt(sum_square) ;
 
   // If sum = 0, we have a nul vector. So we return just.
   return *this;
@@ -782,8 +810,54 @@ void vpColVector::reshape(vpMatrix & m,const unsigned int &nrows,const unsigned
 	  m[i][j]=data[j*ncols+i];
 }
 
-/*
- * Local variables:
- * c-basic-offset: 2
- * End:
+/*!
+  Insert a column vector.
+  \param i : Index of the first element to introduce. This index starts from 0.
+  \param v : Column vector to insert.
+
+  The following example shows how to use this function:
+  \code
+#include <visp/vpColVector.h>
+
+int main()
+{
+  vpColVector v(4);
+  for (unsigned int i=0; i < v.size(); i++)
+    v[i] = i;
+  std::cout << "v:\n" << v << std::endl;
+
+  vpColVector w(2);
+  for (unsigned int i=0; i < w.size(); i++)
+    w[i] = i+10;
+  std::cout << "w:\n" << w << std::endl;
+
+  v.insert(1, w);
+  std::cout << "v:\n" << v << std::endl;
+}
+  \endcode
+  It produces the following output:
+  \code
+v:
+0
+1
+2
+3
+
+w:
+10
+11
+
+v:
+0
+10
+11
+3
+  \endcode
  */
+void vpColVector::insert(unsigned int i, const vpColVector &v)
+{
+  if (i+v.size() > this->size())
+    throw(vpException(vpException::dimensionError, "Unable to insert a column vector"));
+  for (unsigned int j=0; j < v.size(); j++)
+    (*this)[i+j] = v[j];
+}
diff --git a/src/math/matrix/vpColVector.h b/src/math/matrix/vpColVector.h
index 3ec8895b97b6ee5e2e11b5b172bca715e23339e7..b732f117e3237d40219071721dfa4b15de5a07cb 100644
--- a/src/math/matrix/vpColVector.h
+++ b/src/math/matrix/vpColVector.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpColVector.h 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpColVector.h 5185 2015-01-21 14:36:41Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -78,22 +78,27 @@ protected:
 
 public:
 
-  //! basic constructor
+  //! Basic constructor.
   vpColVector() : vpMatrix() {};
-  //! constructor of vector of size n
-  vpColVector(unsigned int nn) : vpMatrix(nn,1){};
-  //! copy constructor
+  //! Constructor of vector of size n. Each element is set to 0.
+  vpColVector(unsigned int n) : vpMatrix(n,1){};
+  //! Constructor of vector of size n. Each element is set to \e val.
+  vpColVector(unsigned int n, double val) : vpMatrix(n, 1, val){};
+  //! Copy constructor.
   vpColVector (const vpColVector &v);
-  //! constructor initialize a vpColVector from a vpRotationVector
+  //! Constructor that initialize a vpColVector from a vpRotationVector.
   vpColVector (const vpRotationVector &v);
 
+  void insert(unsigned int i, const vpColVector &v);
+
   /*! Set the size of the column vector.
     \param i : Column vector size.
     \param flagNullify : If true, set the data to zero.
    */
   void resize(const unsigned int i, const bool flagNullify = true)
-  {  vpMatrix::resize(i, 1, flagNullify); }
-
+  {
+    vpMatrix::resize(i, 1, flagNullify);
+  }
 
   //! Access  V[i] = x
   inline double &operator [](unsigned int n) {  return *(data + n);  }
@@ -101,27 +106,27 @@ public:
   inline const double &operator [](unsigned int n) const { return *(data+n);  }
   //! Copy operator.   Allow operation such as A = v
   vpColVector &operator=(const vpColVector &v);
-  //! Copy operator.   Allow operation such as A = v
-  vpColVector &operator<<(const vpColVector &v);
-  //! Assigment operator.   Allow operation such as A = *v
-  vpColVector &operator<<(double *);
-  //! copy from a matrix
+  // Copy from a matrix.
   vpColVector &operator=(const vpMatrix &m);
-  //! initialisation each element of the vector is x
+  //! Initialize each element of the vector to x
   vpColVector &operator=(double x);
+  // Copy operator.   Allow operation such as A << v
+  vpColVector &operator<<(const vpColVector &v);
+  // Assigment operator.   Allow operation such as A = *v
+  vpColVector &operator<<(double *);
 
-  //! operator addition of two vectors V = A+v
+  //! Addition of two vectors V = A+v
   vpColVector operator+(const vpColVector &v) const;
-  //! operator substraction of two vectors V = A-v
+  //! Substraction of two vectors V = A-v
   vpColVector operator-(const vpColVector &v) const;
-  //! operator dot product
+  //! Operator A = -A
+  vpColVector operator-() const;
+  //! Dot product
   double  operator*(const vpColVector &x) const;
-  //! operator dot product
+  //! Dot product
   vpMatrix  operator*(const vpRowVector &x) const;
-  //! operator multiplication by a scalar V =  A * x
+  //! Multiplication by a scalar V =  A * x
   vpColVector operator*(const double x) const;
-  //! operator A = -A
-  vpColVector operator-() const;
 
   vpColVector rows(unsigned int first_row, unsigned int last_row)
   { 
@@ -138,22 +143,22 @@ public:
   static vpColVector stack(const vpColVector &A, const vpColVector &B);
   static void stack(const vpColVector &A, const vpColVector &B, vpColVector &C);
 
-  //! transpose of Vector
+  //! Transpose of a vector
   vpRowVector t() const;
 
-  //! normalise the vector
+  //! Normalise the vector
   vpColVector &normalize() ;
-  //! normalise the vector
+  // normalise the vector
   //  vpColVector &normalize(vpColVector &x) const ;
 
-  //! compute the cross product of two vectors C = a x b
+  //! Compute the cross product of two vectors C = a x b
   static vpColVector crossProd(const vpColVector &a, const vpColVector &b)  ;
   
-  // compute the cross product of two vectors C = a x b
+  // Compute the cross product of two vectors C = a x b
   inline static vpColVector cross(const vpColVector &a, const vpColVector &b){
                                   return crossProd(a,b);}
   
-  // compute the skew matrix [v]x
+  // Compute the skew matrix [v]x
   static vpMatrix skew(const vpColVector &v);
   //! Dot Product
   
diff --git a/src/math/matrix/vpMatrix.cpp b/src/math/matrix/vpMatrix.cpp
index 711b650533c3013a1b4f99fb708c2bae02b9205f..99acb536dda66768535d5e12c0feee6c1a18d31a 100644
--- a/src/math/matrix/vpMatrix.cpp
+++ b/src/math/matrix/vpMatrix.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
 *
-* $Id: vpMatrix.cpp 4649 2014-02-07 14:57:11Z fspindle $
+* $Id: vpMatrix.cpp 5238 2015-01-30 13:52:25Z fspindle $
 *
 * This file is part of the ViSP software.
 * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -133,6 +133,22 @@ vpMatrix::vpMatrix(unsigned int r, unsigned int c)
   resize(r, c);
 }
 
+/*!
+Constructor.
+
+Initialize a matrix with \e val.
+
+\param r : Matrix number of rows.
+\param c : Matrix number of columns.
+\param val : Each element of the matrix is set to \e val.
+*/
+vpMatrix::vpMatrix(unsigned int r, unsigned int c, double val)
+  : rowNum(0), colNum(0), data(NULL), rowPtrs(NULL), dsize(0), trsize(0)
+{
+  resize(r, c);
+  *this = val;
+}
+
 vpMatrix::vpMatrix(const vpHomography& H)
   : rowNum(0), colNum(0), data(NULL), rowPtrs(NULL), dsize(0), trsize(0)
 {
@@ -186,7 +202,7 @@ void vpMatrix::resize(const unsigned int nrows, const unsigned int ncols,
 
   if ((nrows == rowNum) && (ncols == colNum))
   {
-    if (flagNullify)
+    if (flagNullify && this->data != NULL)
     { memset(this->data,0,this->dsize*sizeof(double)) ;}
   }
   else
@@ -198,7 +214,7 @@ void vpMatrix::resize(const unsigned int nrows, const unsigned int ncols,
     vpDEBUG_TRACE (25, "Recopy case per case is required iff number of "
       "cols has changed (structure of double array is not "
       "the same in this case.");
-    if (recopyNeeded)
+    if (recopyNeeded && this->data != NULL)
     {
       copyTmp = new double[this->dsize];
       memcpy (copyTmp, this ->data, sizeof(double)*this->dsize);
@@ -242,7 +258,7 @@ void vpMatrix::resize(const unsigned int nrows, const unsigned int ncols,
     { memset(this->data,0,this->dsize*sizeof(double)) ;}
     else
     {
-      if (recopyNeeded)
+      if (recopyNeeded && this->rowPtrs != NULL)
       {
         vpDEBUG_TRACE (25, "Recopy...");
         const unsigned int minRow = (this->rowNum<rowTmp)?this->rowNum:rowTmp;
@@ -267,25 +283,69 @@ void vpMatrix::resize(const unsigned int nrows, const unsigned int ncols,
 
 }
 
+/*!
+  Initialize the matrix from a part of an input matrix M.
 
-void
-vpMatrix::init(const vpMatrix &m,unsigned int r, unsigned int c, unsigned int nrows, unsigned int ncols)
+  \param M : Input matrix used for initialization.
+  \param r : row index in matrix M.
+  \param c : column index in matrix M.
+  \param nrows : Number of rows of the matrix that should be initialized.
+  \param ncols : Number of columns of the matrix that should be initialized.
+
+  The sub-matrix starting from M[r][c] element and ending on M[r+nrows-1][c+ncols-1] element
+  is used to initialize the matrix.
+
+  The following code shows how to use this function:
+\code
+#include <visp/vpMatrix.h>
+
+int main()
 {
-  try {
-    resize(nrows, ncols) ;
-  }
-  catch(vpException me)
-  {
-    vpERROR_TRACE("Error caught") ;
-    std::cout << me << std::endl ;
-    throw ;
+  vpMatrix M(4,5);
+  int val = 0;
+  for(size_t i=0; i<M.getRows(); i++) {
+    for(size_t j=0; j<M.getCols(); j++) {
+      M[i][j] = val++;
+    }
   }
+  M.print (std::cout, 4, "M ");
 
+  vpMatrix N;
+  N.init(M, 0, 1, 2, 3);
+  N.print (std::cout, 4, "N ");
+}
+\endcode
+  It produces the following output:
+  \code
+M [4,5]=
+   0  1  2  3  4
+   5  6  7  8  9
+  10 11 12 13 14
+  15 16 17 18 19
+N [2,3]=
+  1 2 3
+  6 7 8
+  \endcode
+ */
+void
+vpMatrix::init(const vpMatrix &M,unsigned int r, unsigned int c, unsigned int nrows, unsigned int ncols)
+{
   unsigned int rnrows = r+nrows ;
   unsigned int cncols = c+ncols ;
+
+  if (rnrows > M.getRows())
+    throw(vpException(vpException::dimensionError,
+                      "Bad row dimension (%d > %d) used to initialize vpMatrix", rnrows, M.getRows()));
+  if (cncols > M.getCols())
+    throw(vpException(vpException::dimensionError,
+                      "Bad column dimension (%d > %d) used to initialize vpMatrix", cncols, M.getCols()));
+  resize(nrows, ncols);
+
+  if (this->rowPtrs == NULL) // Fix coverity scan: explicit null dereferenced
+    return; // Noting to do
   for (unsigned int i=r ; i < rnrows; i++)
     for (unsigned int j=c ; j < cncols; j++)
-      (*this)[i-r][j-c] = m[i][j] ;
+      (*this)[i-r][j-c] = M[i][j] ;
 }
 
 /*!
@@ -804,11 +864,10 @@ vpMatrix vpMatrix::operator-() const //negate
   return C;
 }
 
-//!return sum of the Aij^2 (for all i, for all j)
 double
 vpMatrix::sumSquare() const
 {
-  double sum=0.0;
+  double sum_square=0.0;
   double x ;
 
   // 	double t0,t1;
@@ -819,28 +878,40 @@ vpMatrix::sumSquare() const
   // 	while (d < n )
   // 	{
   // 	  x = *d++ ;
-  // 	  sum += x*x ;
+  // 	  sum_square += x*x ;
   // 	}
   // 	t1=vpTime::measureTimeMicros();
   // 	std::cout<< t1-t0<<" "<< sum << " ";
   // 	
 
 
-  // 	sum= 0.0;
+  // 	sum_square= 0.0;
   // 	t0=vpTime::measureTimeMicros();
   for (unsigned int i=0;i<rowNum;i++)
     for(unsigned int j=0;j<colNum;j++)
     {
       x=rowPtrs[i][j];
-      sum+=x*x;
+      sum_square += x*x;
     }
     // 	t1=vpTime::measureTimeMicros();
     // 	std::cout<< t1-t0<<" "<< sum << std::endl;
 
+    return sum_square;
+}
 
+double
+vpMatrix::sum() const
+{
+  double s=0.0;
+  for (unsigned int i=0;i<rowNum;i++)
+  {
+    for(unsigned int j=0;j<colNum;j++)
+    {
+      s += rowPtrs[i][j];
+    }
+  }
 
-
-    return sum;
+  return s;
 }
 
 
@@ -1027,7 +1098,7 @@ vpMatrix  vpMatrix::operator/(double x) const
 
   //if (x == 0) {
   if (std::fabs(x) <= std::numeric_limits<double>::epsilon()) {
-    vpERROR_TRACE("Divide by zero in method /(double x)") ;
+    //vpERROR_TRACE("Divide by zero in method /(double x)") ;
     throw vpMatrixException(vpMatrixException::divideByZeroError, "Divide by zero in method /(double x)");
   }
 
@@ -2202,7 +2273,7 @@ vpMatrix::pseudoInverse(vpMatrix &Ap,
   for (j = 0; j < ncols_orig ; j++)
   {
     //if ( cons.row(j+1).sumSquare() != 0)
-    if ( std::fabs(cons.row(j+1).sumSquare()) > std::numeric_limits<double>::epsilon())
+    if ( std::fabs(cons.getRow(j).sumSquare()) > std::numeric_limits<double>::epsilon())
     {
       for (i = 0; i < cons.getCols(); i++)
         Ker[k][i] = cons[j][i];
@@ -2264,27 +2335,29 @@ vpMatrix::pseudoInverse(vpMatrix &Ap,
   return rank ;
 }
 
-
+#ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
 /*!
-\brief  Return the ith rows of the matrix
-\warning notice row(1) is the 0th row.
-*/
+  \deprecated This method is deprecated. You should use getRow().
 
+  Return the i-th row of the matrix.
+  \warning notice row(1) is the 0th row.
+*/
 vpRowVector
-vpMatrix::row(const unsigned int j)
+vpMatrix::row(const unsigned int i)
 {
   vpRowVector c(getCols()) ;
 
-  for (unsigned int i =0 ; i < getCols() ; i++)  c[i] = (*this)[j-1][i] ;
+  for (unsigned int j =0 ; j < getCols() ; j++)  c[j] = (*this)[i-1][j] ;
   return c ;
 }
 
-
 /*!
-\brief  Return the ith columns of the matrix
-\warning notice column(1) is the 0th column.
-*/
+  \deprecated This method is deprecated. You should use getCol().
 
+  Return the j-th columns of the matrix.
+  \warning notice column(1) is the 0-th column.
+  \param j : Index of the column to extract.
+*/
 vpColVector
 vpMatrix::column(const unsigned int j)
 {
@@ -2293,9 +2366,205 @@ vpMatrix::column(const unsigned int j)
   for (unsigned int i =0 ; i < getRows() ; i++)     c[i] = (*this)[i][j-1] ;
   return c ;
 }
+#endif
+
+
+/*!
+  Extract a column vector from a matrix.
+  \warning All the indexes start from 0 in this function.
+  \param j : Index of the column to extract. If col=0, the first column is extracted.
+  \param i_begin : Index of the row that gives the location of the first element of the column vector to extract.
+  \param column_size : Size of the column vector to extract.
+  \return The extracted column vector.
+
+  The following example shows how to use this function:
+  \code
+#include <visp/vpColVector.h>
+#include <visp/vpMatrix.h>
+
+int main()
+{
+  vpMatrix A(4,4);
 
+  for(unsigned int i=0; i < A.getRows(); i++)
+    for(unsigned int j=0; j < A.getCols(); j++)
+      A[i][j] = i*A.getCols()+j;
 
+  A.print(std::cout, 4);
 
+  vpColVector cv = A.getCol(1, 1, 3);
+  std::cout << "Column vector: \n" << cv << std::endl;
+}
+  \endcode
+It produces the following output:
+  \code
+[4,4]=
+   0  1  2  3
+   4  5  6  7
+   8  9 10 11
+  12 13 14 15
+column vector:
+5
+9
+13
+  \endcode
+ */
+vpColVector
+vpMatrix::getCol(const unsigned int j, const unsigned int i_begin, const unsigned int column_size) const
+{
+  if (i_begin + column_size > getRows() || j >= getCols())
+    throw(vpException(vpException::dimensionError, "Unable to extract a column vector from the matrix"));
+  vpColVector c(column_size);
+  for (unsigned int i=0 ; i < column_size ; i++)
+    c[i] = (*this)[i_begin+i][j];
+  return c;
+}
+
+/*!
+  Extract a column vector from a matrix.
+  \warning All the indexes start from 0 in this function.
+  \param j : Index of the column to extract. If j=0, the first column is extracted.
+  \return The extracted column vector.
+
+  The following example shows how to use this function:
+  \code
+#include <visp/vpColVector.h>
+#include <visp/vpMatrix.h>
+
+int main()
+{
+  vpMatrix A(4,4);
+
+  for(unsigned int i=0; i < A.getRows(); i++)
+    for(unsigned int j=0; j < A.getCols(); j++)
+      A[i][j] = i*A.getCols()+j;
+
+  A.print(std::cout, 4);
+
+  vpColVector cv = A.getCol(1);
+  std::cout << "Column vector: \n" << cv << std::endl;
+}
+  \endcode
+It produces the following output:
+  \code
+[4,4]=
+   0  1  2  3
+   4  5  6  7
+   8  9 10 11
+  12 13 14 15
+column vector:
+1
+5
+9
+13
+  \endcode
+ */
+vpColVector
+vpMatrix::getCol(const unsigned int j) const
+{
+  if (j >= getCols())
+    throw(vpException(vpException::dimensionError, "Unable to extract a column vector from the matrix"));
+  unsigned int nb_rows = getRows();
+  vpColVector c(nb_rows);
+  for (unsigned int i=0 ; i < nb_rows ; i++)
+    c[i] = (*this)[i][j];
+  return c;
+}
+
+/*!
+  Extract a row vector from a matrix.
+  \warning All the indexes start from 0 in this function.
+  \param i : Index of the row to extract. If i=0, the first row is extracted.
+  \return The extracted row vector.
+
+  The following example shows how to use this function:
+  \code
+#include <visp/vpMatrix.h>
+#include <visp/vpRowVector.h>
+
+int main()
+{
+  vpMatrix A(4,4);
+
+  for(unsigned int i=0; i < A.getRows(); i++)
+    for(unsigned int j=0; j < A.getCols(); j++)
+      A[i][j] = i*A.getCols()+j;
+
+  A.print(std::cout, 4);
+
+  vpRowVector rv = A.getRow(1);
+  std::cout << "Row vector: \n" << rv << std::endl;
+}  \endcode
+It produces the following output:
+  \code
+[4,4]=
+   0  1  2  3
+   4  5  6  7
+   8  9 10 11
+  12 13 14 15
+Row vector:
+4  5  6  7
+  \endcode
+ */
+vpRowVector
+vpMatrix::getRow(const unsigned int i) const
+{
+  if (i >= getRows())
+    throw(vpException(vpException::dimensionError, "Unable to extract a row vector from the matrix"));
+  unsigned int nb_cols = getCols();
+  vpRowVector r( nb_cols );
+  for (unsigned int j=0 ; j < nb_cols ; j++)
+    r[j] = (*this)[i][j];
+  return r;
+}
+
+/*!
+  Extract a row vector from a matrix.
+  \warning All the indexes start from 0 in this function.
+  \param i : Index of the row to extract. If i=0, the first row is extracted.
+  \param j_begin : Index of the column that gives the location of the first element of the row vector to extract.
+  \param row_size : Size of the row vector to extract.
+  \return The extracted row vector.
+
+  The following example shows how to use this function:
+  \code
+#include <visp/vpMatrix.h>
+#include <visp/vpRowVector.h>
+
+int main()
+{
+  vpMatrix A(4,4);
+
+  for(unsigned int i=0; i < A.getRows(); i++)
+    for(unsigned int j=0; j < A.getCols(); j++)
+      A[i][j] = i*A.getCols()+j;
+
+  A.print(std::cout, 4);
+
+  vpRowVector rv = A.getRow(1, 1, 3);
+  std::cout << "Row vector: \n" << rv << std::endl;
+}  \endcode
+It produces the following output:
+  \code
+[4,4]=
+   0  1  2  3
+   4  5  6  7
+   8  9 10 11
+  12 13 14 15
+Row vector:
+5  6  7
+  \endcode
+ */
+vpRowVector
+vpMatrix::getRow(const unsigned int i, const unsigned int j_begin, const unsigned int row_size) const
+{
+  if (j_begin + row_size > getCols() || i >= getRows())
+    throw(vpException(vpException::dimensionError, "Unable to extract a row vector from the matrix"));
+  vpRowVector r(row_size);
+  for (unsigned int j=0 ; j < row_size ; j++)
+    r[j] = (*this)[i][j_begin+i];
+  return r;
+}
 
 /*!
 \brief Stack matrices. "Stack" two matrices  C = [ A B ]^T
@@ -2715,7 +2984,7 @@ vpMatrix::print(std::ostream& s, unsigned int length, char const* intro)
   if (maxAfter==1) maxAfter=0;
 
   // the following line is useful for debugging
-  std::cerr <<totalLength <<" " <<maxBefore <<" " <<maxAfter <<"\n";
+  //std::cerr <<totalLength <<" " <<maxBefore <<" " <<maxAfter <<"\n";
 
   if (intro) s <<intro;
   s <<"["<<m<<","<<n<<"]=\n";
@@ -3446,7 +3715,7 @@ vpMatrix::kernel(vpMatrix &kerA, double svThreshold)
           //    cout << cons.Row(j+1) << " = " << cons.Row(j+1).SumSquare() << endl ;
 
           //if (cons.row(j+1).sumSquare() !=0)
-          if (std::fabs(cons.row(j+1).sumSquare()) > std::numeric_limits<double>::epsilon())
+          if (std::fabs(cons.getRow(j).sumSquare()) > std::numeric_limits<double>::epsilon())
           {
             for (i=0 ; i < cons.getCols() ; i++)
               Ker[k][i] = cons[j][i] ;
@@ -3876,16 +4145,16 @@ vpMatrix::expm()
   else
   {
 #ifdef VISP_HAVE_GSL
-    size_t size = rowNum * colNum;
-    double *b = new double [size];
-    for (size_t i=0; i< size; i++)
+    size_t size_ = rowNum * colNum;
+    double *b = new double [size_];
+    for (size_t i=0; i< size_; i++)
       b[i] = 0.;
     gsl_matrix_view m  = gsl_matrix_view_array(this->data, rowNum, colNum);
     gsl_matrix_view em = gsl_matrix_view_array(b, rowNum, colNum);
     gsl_linalg_exponential_ss(&m.matrix, &em.matrix, 0);
     //gsl_matrix_fprintf(stdout, &em.matrix, "%g");
     vpMatrix expA(rowNum, colNum);
-    memcpy(expA.data, b, size * sizeof(double));
+    memcpy(expA.data, b, size_ * sizeof(double));
 
     delete [] b;
     return expA;
diff --git a/src/math/matrix/vpMatrix.h b/src/math/matrix/vpMatrix.h
index be6df84df4e7ecc954123b6fbb541b9214e4b250..3f3659d688b22b8c925d429cc1a78ea2b5a1674f 100644
--- a/src/math/matrix/vpMatrix.h
+++ b/src/math/matrix/vpMatrix.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMatrix.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpMatrix.h 5238 2015-01-30 13:52:25Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -130,7 +130,7 @@ protected:
   vpMatrix() ;
   //! Constructor. Initialization of A as an r x c matrix with 0.
   vpMatrix(unsigned int r, unsigned int c) ;
-
+  vpMatrix(unsigned int r, unsigned int c, double val);
   //! sub vpMatrix constructor
   vpMatrix(const vpMatrix &m, unsigned int r, unsigned int c, 
 	   unsigned int nrows, unsigned int ncols) ;
@@ -161,6 +161,8 @@ protected:
   inline unsigned int getRows() const { return rowNum ;}
   //! Return the number of columns of the matrix
   inline unsigned int getCols() const { return colNum; }
+  //! Return the number of elements of the matrix.
+  inline unsigned int size() const { return colNum*rowNum; }
 
   // Set the size of the matrix A, initialization with a zero matrix
   void resize(const unsigned int nrows, const unsigned int ncols, 
@@ -369,7 +371,17 @@ protected:
   // Cij = Aij / x (A is unchanged)
   vpMatrix operator/(const double x) const;
 
-  //!return sum of the Aij^2 (for all i, for all j)
+  /*!
+    Return the sum of all the \f$a_{ij}\f$ elements of the matrix.
+
+    \return \f$\sum a_{ij}\f$
+    */
+  double sum() const;
+  /*!
+    Return the sum square of all the \f$a_{ij}\f$ elements of the matrix.
+
+    \return \f$\sum a_{ij}^{2}\f$
+    */
   double sumSquare() const;
 
   // return the determinant of the matrix.
@@ -383,13 +395,11 @@ protected:
   //-------------------------------------------------
   /** @name Columns, Rows extraction, Submatrix  */
   //@{
-  //! Row extraction
-  vpRowVector row(const unsigned int i);
-  //! Column extraction
-  vpColVector column(const unsigned int j);
-  //! subvpMatrix extraction
-  void init(const vpMatrix &m, unsigned int r, unsigned int c, 
-	    unsigned int nrows, unsigned int ncols);
+  vpRowVector getRow(const unsigned int i) const;
+  vpRowVector getRow(const unsigned int i, const unsigned int j_begin, const unsigned int size) const;
+  vpColVector getCol(const unsigned int j) const;
+  vpColVector getCol(const unsigned int j, const unsigned int i_begin, const unsigned int size) const;
+  void init(const vpMatrix &M, unsigned int r, unsigned int c, unsigned int nrows, unsigned int ncols);
   //@}
 
   //-------------------------------------------------
@@ -544,6 +554,14 @@ protected:
   double infinityNorm () const;
   //@}
 
+#ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
+  /*!
+    @name Deprecated functions
+  */
+  vp_deprecated vpRowVector row(const unsigned int i);
+  vp_deprecated vpColVector column(const unsigned int j);
+#endif
+
  private:
   double detByLU() const;
 
diff --git a/src/math/matrix/vpMatrix_covariance.cpp b/src/math/matrix/vpMatrix_covariance.cpp
index 9bb664424fa82ff75f05d504723083a9d7ea9047..c8490109a1c149316683090d92359ed2b74e7db3 100644
--- a/src/math/matrix/vpMatrix_covariance.cpp
+++ b/src/math/matrix/vpMatrix_covariance.cpp
@@ -32,16 +32,21 @@
  *
  *
  * Description:
- * Matrix LU decomposition.
+ * Covariance matrix computation.
  *
  * Authors:
  * Aurelien Yol
  *
  *****************************************************************************/
 
+#include <limits> // numeric_limits
+#include <cmath>  // std::fabs()
+
 #include <visp/vpConfig.h>
 #include <visp/vpMatrix.h>
 #include <visp/vpColVector.h>
+#include <visp/vpMatrixException.h>
+
 
 /*!
   Compute the covariance matrix of the parameters x from a least squares minimisation defined as:
@@ -55,8 +60,18 @@
 */
 vpMatrix vpMatrix::computeCovarianceMatrix(const vpMatrix &A, const vpColVector &x, const vpColVector &b)
 {
-  double sigma2 = ( ((b.t())*b) - ( (b.t())*A*x ) );
-  return (A.t()*A).pseudoInverse()*sigma2;
+//  double denom = ((double)(A.getRows()) - (double)(A.getCols())); // To consider OLS Estimate for sigma
+  double denom = ((double)(A.getRows())); // To consider MLE Estimate for sigma
+
+  if(denom <= std::numeric_limits<double>::epsilon())
+      throw vpMatrixException(vpMatrixException::divideByZeroError, "Impossible to compute covariance matrix: not enough data");
+
+//  double sigma2 = ( ((b.t())*b) - ( (b.t())*A*x ) ); // Should be equivalent to line bellow.
+  double sigma2 = (b - (A * x)).t() * (b - (A * x));
+
+  sigma2 /= denom;
+
+  return (A.t()*A).pseudoInverse(A.getCols()*std::numeric_limits<double>::epsilon())*sigma2;
 }
 
 /*!
@@ -73,6 +88,19 @@ vpMatrix vpMatrix::computeCovarianceMatrix(const vpMatrix &A, const vpColVector
 */
 vpMatrix vpMatrix::computeCovarianceMatrix(const vpMatrix &A, const vpColVector &x, const vpColVector &b, const vpMatrix &W)
 {
-  double sigma2 = ( ((W*b).t())*W*b - ( ((W*b).t())*W*A*x ) );
-  return (A.t()*W*A).pseudoInverse()*sigma2;
+  double denom = 0.0;
+  vpMatrix W2(W.getCols(),W.getCols());
+  for(unsigned int i = 0 ; i < W.getCols() ; i++){
+      denom += W[i][i];
+      W2[i][i] = W[i][i]*W[i][i];
+  }
+
+  if(denom <= std::numeric_limits<double>::epsilon())
+      throw vpMatrixException(vpMatrixException::divideByZeroError, "Impossible to compute covariance matrix: not enough data");
+
+//  double sigma2 = ( ((W*b).t())*W*b - ( ((W*b).t())*W*A*x ) ); // Should be equivalent to line bellow.
+  double sigma2 = (W * b - (W * A * x)).t() * (W*b - (W * A * x));
+  sigma2 /= denom;
+
+  return (A.t()*(W2)*A).pseudoInverse(A.getCols()*std::numeric_limits<double>::epsilon())*sigma2;
 }
diff --git a/src/math/matrix/vpMatrix_lu.cpp b/src/math/matrix/vpMatrix_lu.cpp
index d43710efa7fc95ca2c74ebf0ef60856b37d51ef2..18be650f3eca81487f4b8826b1ef370e078ee12c 100644
--- a/src/math/matrix/vpMatrix_lu.cpp
+++ b/src/math/matrix/vpMatrix_lu.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMatrix_lu.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpMatrix_lu.cpp 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -88,7 +88,7 @@ vpMatrix::LUDcmp(unsigned int *perm, int& d)
   unsigned int n = rowNum;
 
   unsigned int i,imax=0,j,k;
-  double big,dum,sum,temp;
+  double big,dum,sum_,temp;
   vpColVector vv(n);
 
   d=1;
@@ -99,41 +99,41 @@ vpMatrix::LUDcmp(unsigned int *perm, int& d)
     //if (big == 0.0)
     if (std::fabs(big) <= std::numeric_limits<double>::epsilon())
     {
-      vpERROR_TRACE("Singular vpMatrix in  LUDcmp") ;
-        throw(vpMatrixException(vpMatrixException::matrixError,
-			    "\n\t\tSingular vpMatrix in  LUDcmp")) ;
+      //vpERROR_TRACE("Singular vpMatrix in  LUDcmp") ;
+      throw(vpMatrixException(vpMatrixException::matrixError,
+                              "Singular vpMatrix in  LUDcmp")) ;
     }
     vv[i]=1.0/big;
   }
   for (j=0;j<n;j++) {
     for (i=0;i<j;i++) {
-      sum=rowPtrs[i][j];
-      for (k=0;k<i;k++) sum -= rowPtrs[i][k]*rowPtrs[k][j];
-      rowPtrs[i][j]=sum;
+      sum_=rowPtrs[i][j];
+      for (k=0;k<i;k++) sum_ -= rowPtrs[i][k]*rowPtrs[k][j];
+      rowPtrs[i][j]=sum_;
     }
     big=0.0;
     for (i=j;i<n;i++) {
-      sum=rowPtrs[i][j];
+      sum_=rowPtrs[i][j];
       for (k=0;k<j;k++)
-	sum -= rowPtrs[i][k]*rowPtrs[k][j];
-      rowPtrs[i][j]=sum;
-      if ( (dum=vv[i]*fabs(sum)) >= big) {
-	big=dum;
-	imax=i;
+        sum_ -= rowPtrs[i][k]*rowPtrs[k][j];
+      rowPtrs[i][j]=sum_;
+      if ( (dum=vv[i]*fabs(sum_)) >= big) {
+        big=dum;
+        imax=i;
       }
     }
     if (j != imax) {
       for (k=0;k<n;k++) {
-	dum=rowPtrs[imax][k];
-	rowPtrs[imax][k]=rowPtrs[j][k];
-	rowPtrs[j][k]=dum;
+        dum=rowPtrs[imax][k];
+        rowPtrs[imax][k]=rowPtrs[j][k];
+        rowPtrs[j][k]=dum;
       }
       d *= -1;
       vv[imax]=vv[j];
     }
     perm[j]=imax;
-    //if (rowPtrs[j][j] == 0.0) 
-    if (std::fabs(rowPtrs[j][j]) <= std::numeric_limits<double>::epsilon()) 
+    //if (rowPtrs[j][j] == 0.0)
+    if (std::fabs(rowPtrs[j][j]) <= std::numeric_limits<double>::epsilon())
       rowPtrs[j][j]=TINY;
     if (j != n) {
       dum=1.0/(rowPtrs[j][j]);
@@ -169,36 +169,36 @@ void vpMatrix::LUBksb(unsigned int *perm, vpColVector& b)
 
   unsigned int ii=0;
   unsigned int ip;
-  double sum;
+  double sum_;
   bool flag = false;
   unsigned int i;
 
   for (i=0;i<n;i++) {
     ip=perm[i];
-    sum=b[ip];
+    sum_=b[ip];
     b[ip]=b[i];
     if (flag) {
-      for (unsigned int j=ii;j<=i-1;j++) sum -= rowPtrs[i][j]*b[j];
+      for (unsigned int j=ii;j<=i-1;j++) sum_ -= rowPtrs[i][j]*b[j];
 	}
-    //else if (sum) {
-    else if (std::fabs(sum) > std::numeric_limits<double>::epsilon()) {
+    //else if (sum_) {
+    else if (std::fabs(sum_) > std::numeric_limits<double>::epsilon()) {
       ii=i;
       flag = true;
     }
-    b[i]=sum;
+    b[i]=sum_;
   }
   // for (int i=n-1;i>=0;i--) {
-  //   sum=b[i];
-  //   for (int j=i+1;j<n;j++) sum -= rowPtrs[i][j]*b[j];
-  //   b[i]=sum/rowPtrs[i][i];
+  //   sum_=b[i];
+  //   for (int j=i+1;j<n;j++) sum_ -= rowPtrs[i][j]*b[j];
+  //   b[i]=sum_/rowPtrs[i][i];
   // }
   i=n;
   do {
     i --;
 
-    sum=b[i];
-    for (unsigned int j=i+1;j<n;j++) sum -= rowPtrs[i][j]*b[j];
-    b[i]=sum/rowPtrs[i][i];
+    sum_=b[i];
+    for (unsigned int j=i+1;j<n;j++) sum_ -= rowPtrs[i][j]*b[j];
+    b[i]=sum_/rowPtrs[i][i];
   } while(i != 0);
 }
 #endif // doxygen should skip this
diff --git a/src/math/matrix/vpMatrix_svd.cpp b/src/math/matrix/vpMatrix_svd.cpp
index 4a9184e9aae62f2dcf6dfa1020de4b0fc149225c..97ff0d6f2fb38798e4b887ba86ed0c2a7045badb 100644
--- a/src/math/matrix/vpMatrix_svd.cpp
+++ b/src/math/matrix/vpMatrix_svd.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMatrix_svd.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpMatrix_svd.cpp 4896 2014-09-10 16:41:23Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -596,6 +596,9 @@ void vpMatrix::svdLapack(vpColVector& W, vpMatrix& V){
 
   if( info > 0 ) {
    vpTRACE("The algorithm computing SVD failed to converge.");
+   throw(vpMatrixException(vpMatrixException::fatalError,
+         "The algorithm computing SVD failed to converge.")) ;
+
   }
 
   V=V.transpose();
diff --git a/src/math/matrix/vpRowVector.cpp b/src/math/matrix/vpRowVector.cpp
index a7b70e40a0967435de476a44c671e51cabd6e69b..2f8ca5e88319649b5a6553b1da9870adf16ea50b 100644
--- a/src/math/matrix/vpRowVector.cpp
+++ b/src/math/matrix/vpRowVector.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpRowVector.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpRowVector.cpp 5185 2015-01-21 14:36:41Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -115,9 +115,9 @@ double vpRowVector::operator*(const vpColVector &x) const
 {
   unsigned int nelements = x.getRows();
   if (getCols() != nelements ) {
-    vpERROR_TRACE("\n\t\t Illegal matrix operation") ;
-    throw(vpMatrixException(vpMatrixException::matrixError,
-			    "\n\t\t Illegal matrix operation, bad vector size")) ;
+    throw(vpException(vpException::dimensionError,
+                      "Bad size during vpRowVector (1x%d) by vpColVector (%dx1) multiplication",
+                      colNum, x.getRows())) ;
   }
 
   double scalar = 0.0;
@@ -144,7 +144,6 @@ double vpRowVector::operator*(const vpColVector &x) const
 */
 vpRowVector vpRowVector::operator*(const vpMatrix &A) const
 {
-
   vpRowVector c(A.getCols());
 
   if (colNum != A.getRows())
@@ -168,6 +167,87 @@ vpRowVector vpRowVector::operator*(const vpMatrix &A) const
   return c ;
 }
 
+//! Operator A = -A
+vpRowVector vpRowVector::operator-() const
+{
+ vpRowVector A ;
+ try {
+   A.resize(colNum)  ;
+ }
+ catch(vpException me)
+ {
+   vpERROR_TRACE("Error caught") ;
+   throw ;
+ }
+
+ double *vd = A.data ;   double *d = data ;
+
+ for (unsigned int i=0; i<colNum; i++)
+   *(vd++)= - (*d++);
+
+ return A;
+}
+
+//! Substraction of two vectors V = A-v
+vpRowVector vpRowVector::operator-(const vpRowVector &m) const
+{
+  if (getCols() != m.getCols() ) {
+    throw(vpException(vpException::dimensionError,
+                      "Bad size during vpRowVector (1x%d) and vpRowVector (1x%d) substraction",
+                      getCols(), m.getCols())) ;
+  }
+
+  vpRowVector v(colNum) ;
+
+  for (unsigned int i=0;i<colNum;i++)
+    v[i] = (*this)[i] - m[i];
+  return v;
+}
+
+//! Addition of two vectors V = A-v
+vpRowVector vpRowVector::operator+(const vpRowVector &m) const
+{
+  if (getCols() != m.getCols() ) {
+    throw(vpException(vpException::dimensionError,
+                      "Bad size during vpRowVector (1x%d) and vpRowVector (1x%d) substraction",
+                      getCols(), m.getCols())) ;
+  }
+
+  vpRowVector v(colNum) ;
+
+  for (unsigned int i=0;i<colNum;i++)
+    v[i] = (*this)[i] + m[i];
+  return v;
+}
+
+/*!
+  Copy operator.
+  Allows operation such as A << v
+  \code
+#include <visp/vpRowVector.h>
+
+int main()
+{
+  vpRowVector A, B(5);
+  for (unsigned int i=0; i<B.size(); i++)
+    B[i] = i;
+  A << B;
+  std::cout << "A: \n" << A << std::endl;
+}
+  \endcode
+  In row vector A we get:
+  \code
+A:
+0  1  2  3  4
+  \endcode
+
+  */
+vpRowVector & vpRowVector::operator<<(const vpRowVector &v)
+{
+  *this = v;
+  return *this;
+}
+
 /*!
   \brief Transpose the row vector A
 
@@ -222,9 +302,8 @@ vpRowVector &vpRowVector::normalize(vpRowVector &x) const
 */
 vpRowVector &vpRowVector::normalize()
 {
-
-  double sum = sumSquare() ;
-  *this /= sum ;
+  double sum_square = sumSquare() ;
+  *this /= sum_square ;
 
   return *this;
 }
@@ -268,3 +347,46 @@ void vpRowVector::reshape(vpMatrix & m,const unsigned int &nrows,const unsigned
          for(unsigned int j =0; j< ncols; j++)
          	  m[i][j]=data[i*nrows+j];
 }
+
+/*!
+  Insert a row vector.
+  \param i : Index of the first element to introduce. This index starts from 0.
+  \param v : Row vector to insert.
+
+  The following example shows how to use this function:
+  \code
+#include <visp/vpRowVector.h>
+
+int main()
+{
+  vpRowVector v(4);
+  for (unsigned int i=0; i < v.size(); i++)
+    v[i] = i;
+  std::cout << "v:\n" << v << std::endl;
+
+  vpRowVector w(2);
+  for (unsigned int i=0; i < w.size(); i++)
+    w[i] = i+10;
+  std::cout << "w:\n" << w << std::endl;
+
+  v.insert(1, w);
+  std::cout << "v:\n" << v << std::endl;
+}
+  \endcode
+  It produces the following output:
+  \code
+v:
+0  1  2  3
+w:
+10  11
+v:
+0  10  11  3
+  \endcode
+ */
+void vpRowVector::insert(unsigned int i, const vpRowVector &v)
+{
+  if (i+v.size() > this->size())
+    throw(vpException(vpException::dimensionError, "Unable to insert a row vector"));
+  for (unsigned int j=0; j < v.size(); j++)
+    (*this)[i+j] = v[j];
+}
diff --git a/src/math/matrix/vpRowVector.h b/src/math/matrix/vpRowVector.h
index 8d049a45dff8746f2174d24e495fb40503c8e42d..e16a36db12e657be6b38e5dc1ea992b82b7e03a8 100644
--- a/src/math/matrix/vpRowVector.h
+++ b/src/math/matrix/vpRowVector.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpRowVector.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpRowVector.h 5185 2015-01-21 14:36:41Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -80,15 +80,25 @@ protected:
   vpRowVector(vpMatrix &m, unsigned int i);
 
 public:
-  //! basic constructor
+  //! Basic constructor.
   vpRowVector() : vpMatrix() {};
-  //! constructor of vector of size n
-  vpRowVector(unsigned int nn) : vpMatrix(1,nn){};
-  //! copy constructor
+  //! Constructor of vector of size n.
+  vpRowVector(unsigned int n) : vpMatrix(1, n){};
+  //! Constructor of vector of size n. Each element is set to \e val.
+  vpRowVector(unsigned int n, double val) : vpMatrix(1, n, val){};
+  //! Copy constructor.
   vpRowVector(const vpRowVector &v);
 
-  //! Set the size of the Row vector
-  inline void resize(unsigned int i)      {   vpMatrix::resize(1, i) ;  }
+  void insert(unsigned int i, const vpRowVector &v);
+
+  /*! Set the size of the row vector.
+    \param i : Column vector size.
+    \param flagNullify : If true, set the data to zero.
+   */
+  inline void resize(const unsigned int i, const bool flagNullify = true)
+  {
+    vpMatrix::resize(1, i, flagNullify);
+  }
   //! Access  V[i] = x
   inline double &operator [](unsigned int n)             { return *(data+n); }
   //! Access x = V[i]
@@ -98,25 +108,35 @@ public:
   vpRowVector &operator=(const vpRowVector &v);
   //! copy from a matrix
   vpRowVector & operator=(const vpMatrix &m) ;
+  //! Initialize each element of the vector to x
+  vpRowVector& operator=(const double x);
 
   //!operator dot product
   double  operator*(const vpColVector &x) const;
   //!operator dot product
   vpRowVector operator*(const vpMatrix &A) const;
-  
-  //! initialisation each element of the vector is x
-  vpRowVector& operator=(const double x);
 
-  //! Reshape methods
+  //! Addition of two vectors V = A+v
+  vpRowVector operator+(const vpRowVector &v) const;
+
+  //! Substraction of two vectors V = A-v
+  vpRowVector operator-(const vpRowVector &v) const;
+
+  //! Operator A = -A
+  vpRowVector operator-() const;
+  // Copy operator.   Allow operation such as A << v
+  vpRowVector &operator<<(const vpRowVector &v);
+
+  //! Reshape methods.
   void reshape(vpMatrix & m,const unsigned int &nrows,const unsigned int &ncols);
   vpMatrix reshape(const unsigned int &nrows,const unsigned int &ncols);
   
-  //! Transpose the vector
+  //! Transpose the vector.
   vpColVector t() const;
 
-  //! normalise the vector
+  //! Normalise the vector.
   vpRowVector &normalize() ;
-  //! normalise the vector
+  //! Normalise the vector.
   vpRowVector &normalize(vpRowVector &x) const ;
 
   /*!
diff --git a/src/math/misc/vpHinkley.cpp b/src/math/misc/vpHinkley.cpp
index d7d88939bf5b9f4d60f27d7db6a5a199b7f81c9e..c24c1689366c79373d58ec70ed8104033e52963f 100755
--- a/src/math/misc/vpHinkley.cpp
+++ b/src/math/misc/vpHinkley.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpHinkley.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpHinkley.cpp 5060 2014-12-12 18:31:03Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -196,7 +196,7 @@ vpHinkley::vpHinkleyJumpType vpHinkley::testDownwardJump(double signal)
 
   if (nsignal == 1) mean = signal;
 
-  // Calcul des variables cumulées
+  // Calcul des variables cumulees
   computeSk(signal);
 
   computeMk();
@@ -204,7 +204,7 @@ vpHinkley::vpHinkleyJumpType vpHinkley::testDownwardJump(double signal)
   vpCDEBUG(2) << "alpha: " << alpha << " dmin2: " << dmin2
 	    << " signal: " << signal << " Sk: " << Sk << " Mk: " << Mk;
 
-  // teste si les variables cumulées excèdent le seuil
+  // teste si les variables cumulees excedent le seuil
   if ((Mk - Sk) > alpha)
     jump = downwardJump;
 
@@ -254,7 +254,7 @@ vpHinkley::vpHinkleyJumpType vpHinkley::testUpwardJump(double signal)
 
   if (nsignal == 1) mean = signal;
 
-  // Calcul des variables cumulées
+  // Calcul des variables cumulees
   computeTk(signal);
 
   computeNk();
@@ -262,7 +262,7 @@ vpHinkley::vpHinkleyJumpType vpHinkley::testUpwardJump(double signal)
   vpCDEBUG(2) << "alpha: " << alpha << " dmin2: " << dmin2
 	    << " signal: " << signal << " Tk: " << Tk << " Nk: " << Nk;
 
-  // teste si les variables cumulées excèdent le seuil
+  // teste si les variables cumulees excedent le seuil
   if ((Tk - Nk) > alpha)
     jump = upwardJump;
 
@@ -311,7 +311,7 @@ vpHinkley::vpHinkleyJumpType vpHinkley::testDownUpwardJump(double signal)
 
   if (nsignal == 1) mean = signal;
 
-  // Calcul des variables cumulées
+  // Calcul des variables cumulees
   computeSk(signal);
   computeTk(signal);
 
@@ -323,7 +323,7 @@ vpHinkley::vpHinkleyJumpType vpHinkley::testDownUpwardJump(double signal)
 	      << " Sk: " << Sk << " Mk: " << Mk
 	      << " Tk: " << Tk << " Nk: " << Nk << std::endl;
 
-  // teste si les variables cumulées excèdent le seuil
+  // teste si les variables cumulees excedent le seuil
   if ((Mk - Sk) > alpha)
     jump = downwardJump;
   else if ((Tk - Nk) > alpha)
@@ -370,10 +370,10 @@ vpHinkley::vpHinkleyJumpType vpHinkley::testDownUpwardJump(double signal)
 void vpHinkley::computeMean(double signal)
 {
   // Debut modif FS le 03/09/2003
-  // Lors d'une chute ou d'une remontée lente du signal, pariculièrement
-  // après un saut, la moyenne a tendance à "dériver". Pour réduire ces
-  // dérives de la moyenne, elle n'est remise à jour avec la valeur
-  // courante du signal que si un début de saut potentiel n'est pas détecté.
+  // Lors d'une chute ou d'une remontee lente du signal, pariculierement
+  // apres un saut, la moyenne a tendance a "deriver". Pour reduire ces
+  // derives de la moyenne, elle n'est remise a jour avec la valeur
+  // courante du signal que si un debut de saut potentiel n'est pas detecte.
   //if ( ((Mk-Sk) == 0) && ((Tk-Nk) == 0) )
   if ( ( std::fabs(Mk-Sk) <= std::fabs(vpMath::maximum(Mk,Sk))*std::numeric_limits<double>::epsilon() ) 
        && 
@@ -394,7 +394,7 @@ void vpHinkley::computeMean(double signal)
 void vpHinkley::computeSk(double signal)
 {
 
-  // Calcul des variables cumulées
+  // Calcul des variables cumulees
   Sk += signal - mean + dmin2;
 }
 /*!
@@ -415,7 +415,7 @@ void vpHinkley::computeMk()
 void vpHinkley::computeTk(double signal)
 {
 
-  // Calcul des variables cumulées
+  // Calcul des variables cumulees
   Tk += signal - mean - dmin2;
 }
 /*!
diff --git a/src/math/misc/vpNoise.cpp b/src/math/misc/vpNoise.cpp
index d1616ae4bbdfe4bd1ec685f241f0cd29ea13b131..39f9ef766b34ccd29aedcbb23e83418d2d743da8 100644
--- a/src/math/misc/vpNoise.cpp
+++ b/src/math/misc/vpNoise.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpNoise.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpNoise.cpp 4975 2014-11-17 15:59:42Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -44,23 +44,17 @@
 
 /*!
   \file vpNoise.cpp
-  \brief Classe for generating random number
-  with uniform and normal probability density
+  \brief Class for generating random numbers with uniform and normal probability density.
 
-  The algorithms and notations used are described in
+  The algorithms and notations used are described in \cite Gentle:2004.
 
-  James E. Gentle, Random Number Generation and Monte Carlo Methods,
-  Springer 1998
 */
 
 
-/*!  \brief Minimal random number generator of Park and Miller. Returns a
+/*!
+  Minimal random number generator of Park and Miller \cite Park:1988. Returns a
   uniform random deviate between 0.0 and 1.0.
 
-  S.K. Park and K.W. Miller, " Random Number Generators: Good Ones Are Hard To
-  Find", Communications of the ACM, October 1988, pp. 1192-1201.
-
-
 */
 inline void
 vpUniRand::draw0()
@@ -73,7 +67,7 @@ vpUniRand::draw0()
 }
 
 /*!
-  \brief Bays-Durham Shuffling of Park-Miller generator
+  Bays-Durham Shuffling of Park-Miller generator.
 
   Minimal random number generator of Park and Miller with Bays-Durham
   shuffle. Returns a uniform random deviate between 0.0 and 1.0 (exclusive of
@@ -118,11 +112,11 @@ vpUniRand::draw1()
 }
 
 /*!
-  \brief Generate a normal random variable using the Box-Muller generator
+  Generate a normal random variable using the Box-Muller generator.
 
   Generate a normal random variable with mean 0 and standard deviation of 1.
-   To adjust to some other distribution, multiply by the standard deviation and
-   add the mean.  Box-Muller method
+  To adjust to some other distribution, multiply by the standard deviation and
+  add the mean.  Box-Muller method
 */
 double
 vpGaussRand::gaussianDraw()
diff --git a/src/math/misc/vpNoise.h b/src/math/misc/vpNoise.h
index 0db43e4bf9b15b1ae2382a1e0d40f9b97ffb8a38..bb0e0582e59c5c7d57674e886f66f1bc8a2fd99c 100644
--- a/src/math/misc/vpNoise.h
+++ b/src/math/misc/vpNoise.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpNoise.h 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpNoise.h 5179 2015-01-16 09:42:33Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -49,10 +49,8 @@
   \brief Class for generating random number
   with uniform and normal probability density
 
-  The algorithms and notations used are described in
+  The algorithms and notations used are described in \cite Gentle:2004.
 
-  James E. Gentle, Random Number Generation and Monte Carlo Methods,
-  Springer 1998
  */
 
 #include <visp/vpConfig.h>
@@ -64,9 +62,7 @@
   \ingroup Random
   \brief Class for generating random numbers with uniform probability density.
 
-  The algorithms and notations used are described in
-  Random Number Generation and Monte Carlo Methods
-  James E. Gentle, Springer 1998
+  The algorithms and notations used are described in \cite Gentle:2004.
 
  */
 class VISP_EXPORT vpUniRand
@@ -99,10 +95,10 @@ class VISP_EXPORT vpUniRand
   \ingroup Random
   \brief Class for generating random number with normal probability density.
 
-  The algorithms and notations used are described in "Random Number Generation and Monte Carlo Methods",
-  James E. Gentle, Springer 1998
+  The algorithms and notations used are described in \cite Gentle:2004.
 
-  The code below shows how to use the random generator.
+  The code below shows how to use the random generator to get values that have their mean equal to
+  10 with a standart deviation equal to 0.5.
 
   \code
 #include <iostream>
@@ -117,8 +113,58 @@ int main()
   return 0;
 }
   \endcode
+
+  The previous example produces the following printings:
+\code
+noise 0: 9.43873
+noise 1: 10.1977
+noise 2: 10.8145
+noise 3: 9.13729
+noise 4: 8.86476
+noise 5: 9.83382
+noise 6: 9.43609
+noise 7: 9.34311
+noise 8: 9.62742
+noise 9: 9.37701
+\endcode
+
+  Note that the previous example produces always the same "random" results. To produce real random
+  values, you need to initialize the random generator with different values using seed(). For example,
+  this could be done using the current time. The code becomes:
+
+\code
+#include <iostream>
+#include <visp/vpNoise.h>
+#include <visp/vpTime.h>
+
+int main()
+{
+  vpGaussRand noise(0.5, 10);
+  long seed = (long)vpTime::measureTimeMs();
+
+  noise.seed(seed);
+  for(int i=0; i< 10; i++) {
+    std::cout << "noise " << i << ": " << noise() << std::endl;
+  }
+  return 0;
+}
+\endcode
+
+  Now if you run the previous example you will always get different values:
+  \code
+noise 0: 10.5982
+noise 1: 9.19111
+noise 2: 9.82498
+noise 3: 9.07857
+noise 4: 9.9285
+noise 5: 10.3688
+noise 6: 9.75621
+noise 7: 10.3259
+noise 8: 10.4238
+noise 9: 10.2391
+  \endcode
  */
-class vpGaussRand : public vpUniRand
+class VISP_EXPORT vpGaussRand : public vpUniRand
 {
   private :
     double mean;
diff --git a/src/math/robust/vpRobust.cpp b/src/math/robust/vpRobust.cpp
index 835574178b28b6946433dfc61ecdaa4f19c94419..86c0aab3e1741cc98d58e4e285948cb62a22b8e2 100644
--- a/src/math/robust/vpRobust.cpp
+++ b/src/math/robust/vpRobust.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpRobust.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpRobust.cpp 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -151,7 +151,7 @@ void vpRobust::MEstimator(const vpRobustEstimatorType method,
   unsigned int ind_med = (unsigned int)(ceil(n_data/2.0))-1;
 
   // Calculate median
-  med = select(sorted_residues, 0, n_data-1, ind_med/*(int)n_data/2*/);
+  med = select(sorted_residues, 0, (int)n_data-1, (int)ind_med/*(int)n_data/2*/);
    //residualMedian = med ;
 
   // Normalize residues
@@ -163,7 +163,7 @@ void vpRobust::MEstimator(const vpRobustEstimatorType method,
   }
 
   // Calculate MAD
-  normmedian = select(sorted_normres, 0, n_data-1, ind_med/*(int)n_data/2*/);
+  normmedian = select(sorted_normres, 0, (int)n_data-1, (int)ind_med/*(int)n_data/2*/);
   //normalizedResidualMedian = normmedian ;
   // 1.48 keeps scale estimate consistent for a normal probability dist.
   sigma = 1.4826*normmedian; // median Absolute Deviation
@@ -312,7 +312,7 @@ double vpRobust::computeNormalizedMedian(vpColVector &all_normres,
   // calculation.
   
   unsigned int ind_med = (unsigned int)(ceil(n_data/2.0))-1;
-  med = select(sorted_residues, 0, n_data-1, ind_med/*(int)n_data/2*/);
+  med = select(sorted_residues, 0, (int)n_data-1, (int)ind_med/*(int)n_data/2*/);
 
   unsigned int i;
   // Normalize residues
@@ -329,7 +329,7 @@ double vpRobust::computeNormalizedMedian(vpColVector &all_normres,
 
   //normmedian = Median(normres, weights);
   //normmedian = Median(normres);
-  normmedian = select(sorted_normres, 0, n_data-1, ind_med/*(int)n_data/2*/);
+  normmedian = select(sorted_normres, 0, (int)n_data-1, (int)ind_med/*(int)n_data/2*/);
 
   return normmedian;
 }
@@ -360,7 +360,7 @@ vpRobust::simultMEstimator(vpColVector &residues)
 
   // Calculate Median
   unsigned int ind_med = (unsigned int)(ceil(n_data/2.0))-1;
-  med = select(residues, 0, n_data-1, ind_med/*(int)n_data/2*/);
+  med = select(residues, 0, (int)n_data-1, (int)ind_med/*(int)n_data/2*/);
 
   // Normalize residues
   for(unsigned int i=0; i<n_data; i++)
@@ -371,7 +371,7 @@ vpRobust::simultMEstimator(vpColVector &residues)
   // For Others use MAD calculated on first iteration
   if(it==0)
   {
-    normmedian = select(norm_res, 0, n_data-1, ind_med/*(int)n_data/2*/);
+    normmedian = select(norm_res, 0, (int)n_data-1, (int)ind_med/*(int)n_data/2*/);
     // 1.48 keeps scale estimate consistent for a normal probability dist.
     sigma = 1.4826*normmedian; // Median Absolute Deviation
   }
@@ -721,21 +721,21 @@ void vpRobust::psiMcLure(double sig, vpColVector &r,vpColVector &weights)
   \param l : first value to be considered
   \param r : last value to be considered
 */
-unsigned int 
-vpRobust::partition(vpColVector &a, unsigned int l, unsigned int r)
+int
+vpRobust::partition(vpColVector &a, int l, int r)
 {
-  unsigned int i = l-1;
-  unsigned int j = r;
-  double v = a[r];
+  int i = l-1;
+  int j = r;
+  double v = a[(unsigned int)r];
 
   for (;;)
   {
-    while (a[++i] < v) ;
-    while (v < a[--j]) if (j == l) break;
+    while (a[(unsigned int)++i] < v) ;
+    while (v < a[(unsigned int)--j]) if (j == l) break;
     if (i >= j) break;
-    exch(a[i], a[j]);
+    exch(a[(unsigned int)i], a[(unsigned int)j]);
   }
-  exch(a[i], a[r]);
+  exch(a[(unsigned int)i], a[(unsigned int)r]);
   return i;
 }
 
@@ -747,15 +747,15 @@ vpRobust::partition(vpColVector &a, unsigned int l, unsigned int r)
   \param k : value to be selected
 */
 double 
-vpRobust::select(vpColVector &a, unsigned int l, unsigned int r, unsigned int k)
+vpRobust::select(vpColVector &a, int l, int r, int k)
 {
   while (r > l)
   {
-    unsigned int i = partition(a, l, r);
+    int i = partition(a, l, r);
     if (i >= k) r = i-1;
     if (i <= k) l = i+1;
   }
-  return a[k];
+  return a[(unsigned int)k];
 }
 
 
diff --git a/src/math/robust/vpRobust.h b/src/math/robust/vpRobust.h
index b6849689c797e77da8d89626bd5443793796c5ce..28f3c1d15beb21a866b706c4483f43b3575ef5ee 100644
--- a/src/math/robust/vpRobust.h
+++ b/src/math/robust/vpRobust.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpRobust.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpRobust.h 4796 2014-07-23 15:51:16Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -201,9 +201,9 @@ public:
   //! Swap two value
   void exch(double &A, double &B){swap = A; A = B;  B = swap;}
   //! Sort function using partition method
-  unsigned int partition(vpColVector &a, unsigned int l, unsigned int r);
+  int partition(vpColVector &a, int l, int r);
   //! Sort the vector and select a value in the sorted vector
-  double select(vpColVector &a, unsigned int l, unsigned int r, unsigned int k);
+  double select(vpColVector &a, int l, int r, int k);
   //@}
 };
 
diff --git a/src/math/robust/vpScale.cpp b/src/math/robust/vpScale.cpp
index dff1b375f96df150fab441e2494e803e51d423eb..d8d4553f5a161ad34d0d0439fe96ea5956a7d235 100644
--- a/src/math/robust/vpScale.cpp
+++ b/src/math/robust/vpScale.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpScale.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpScale.cpp 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -72,7 +72,7 @@ vpScale::vpScale()
 }
 
 //! Constructor
-vpScale::vpScale(double kernel_bandwidth, int dim=1, int type=EPANECHNIKOV)
+vpScale::vpScale(double kernel_bandwidth, unsigned int dim, int type)
   : bandwidth(kernel_bandwidth), dimension(dim), kernel_type(type)
 
 {
diff --git a/src/math/robust/vpScale.h b/src/math/robust/vpScale.h
index a39029c1f52ffe75a5599f137b389a6fea3da734..97a60bc6807ef47c8a894dead2385979a44f18d0 100644
--- a/src/math/robust/vpScale.h
+++ b/src/math/robust/vpScale.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpScale.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpScale.h 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -88,7 +88,7 @@ public:
 
   //! Constructor
   vpScale();
-  vpScale(double, int, int);
+  vpScale(double kernel_bandwidth, unsigned int dim=1, int type=EPANECHNIKOV);
   //! Destructor
   virtual ~vpScale(void);
 
diff --git a/src/math/spline/vpNurbs.cpp b/src/math/spline/vpNurbs.cpp
index a413915030d003ca914046060e62b15610b5305a..63ba0d0b7d040867907b2b410f232d5712f7c398 100644
--- a/src/math/spline/vpNurbs.cpp
+++ b/src/math/spline/vpNurbs.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpNurbs.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpNurbs.cpp 5235 2015-01-30 13:51:21Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -550,7 +550,7 @@ vpNurbs::removeCurveKnot(double l_u, unsigned int l_r, unsigned int l_num, doubl
   }
 
   unsigned int ord = l_p + 1;
-  double fout = (2*l_r-l_s-l_p)/2;
+  double fout = (2*l_r-l_s-l_p)/2.;
   unsigned int last = l_r - l_s;
   unsigned int first = l_r - l_p;
   unsigned int tblSize = 2*l_p+1;
diff --git a/src/math/transformation/vpHomogeneousMatrix.cpp b/src/math/transformation/vpHomogeneousMatrix.cpp
index db8ca5d5e988b8d9d4fb243c0b0ac7cd014c70d7..10783a9ed7cc65d1a6841c619e90dbbcc18843a7 100644
--- a/src/math/transformation/vpHomogeneousMatrix.cpp
+++ b/src/math/transformation/vpHomogeneousMatrix.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpHomogeneousMatrix.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpHomogeneousMatrix.cpp 5130 2015-01-06 18:50:43Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -87,7 +87,7 @@ vpHomogeneousMatrix::init()
 }
 
 vpHomogeneousMatrix::vpHomogeneousMatrix(const vpTranslationVector &tv,
-                                         const vpQuaternionVector &q)
+                                         const vpQuaternionVector &q) : vpMatrix()
 {
   init();
   buildFrom(tv,q);
@@ -133,6 +133,94 @@ vpHomogeneousMatrix::vpHomogeneousMatrix(const vpPoseVector &p) : vpMatrix()
   buildFrom(p[0],p[1],p[2],p[3],p[4],p[5]) ;
 }
 
+/*!
+  Creates an homogeneous matrix from a vector.
+  \param v : Vector of 12 or 16 values corresponding to the values of the homogeneous matrix.
+
+  The following example shows how to use this function:
+  \code
+#include <visp/vpHomogeneousMatrix.h>
+
+int main()
+{
+  std::vector<float> v(12, 0);
+  v[1]  = -1.; // ry=-90
+  v[4]  =  1.; // rx=90
+  v[10] = -1.; // rz=-90
+  v[3]  = 0.3; // tx
+  v[7]  = 0.4; // ty
+  v[11] = 0.5; // tz
+
+  std::cout << "v: ";
+  for(unsigned int i=0; i<v.size(); i++)
+    std::cout << v[i] << " ";
+  std::cout << std::endl;
+
+  vpHomogeneousMatrix M(v);
+  std::cout << "M:\n" << M << std::endl;
+}
+  \endcode
+
+  It produces the following printings:
+  \code
+v: 0 -1 0 0.3 1 0 0 0.4 0 0 -1 0.5
+M:
+0  -1  0  0.3000000119
+1  0  0  0.400000006
+0  0  -1  0.5
+0  0  0  1
+  \endcode
+  */
+vpHomogeneousMatrix::vpHomogeneousMatrix(const std::vector<float> &v) : vpMatrix()
+{
+  init() ;
+  buildFrom(v) ;
+}
+
+/*!
+  Creates an homogeneous matrix from a vector.
+  \param v : Vector of 12 or 16 values corresponding to the values of the homogeneous matrix.
+
+  The following example shows how to use this function:
+  \code
+#include <visp/vpHomogeneousMatrix.h>
+
+int main()
+{
+  std::vector<double> v(12, 0);
+  v[1]  = -1.; // ry=-90
+  v[4]  =  1.; // rx=90
+  v[10] = -1.; // rz=-90
+  v[3]  = 0.3; // tx
+  v[7]  = 0.4; // ty
+  v[11] = 0.5; // tz
+
+  std::cout << "v: ";
+  for(unsigned int i=0; i<v.size(); i++)
+    std::cout << v[i] << " ";
+  std::cout << std::endl;
+
+  vpHomogeneousMatrix M(v);
+  std::cout << "M:\n" << M << std::endl;
+}
+  \endcode
+
+  It produces the following printings:
+  \code
+v: 0 -1 0 0.3 1 0 0 0.4 0 0 -1 0.5
+M:
+0  -1  0  0.3
+1  0  0  0.4
+0  0  -1  0.5
+0  0  0  1
+  \endcode
+  */
+vpHomogeneousMatrix::vpHomogeneousMatrix(const std::vector<double> &v) : vpMatrix()
+{
+  init() ;
+  buildFrom(v) ;
+}
+
 vpHomogeneousMatrix::vpHomogeneousMatrix(const double tx,
 					 const double ty,
 					 const double tz,
@@ -195,6 +283,106 @@ vpHomogeneousMatrix::buildFrom(const double tx,
   insert(tv) ;
 }
 
+/*!
+  Converts a vector to an homogeneous matrix.
+  \param v : Vector of 12 or 16 values corresponding to the values of the homogeneous matrix.
+
+  The following example shows how to use this function:
+  \code
+#include <visp/vpHomogeneousMatrix.h>
+
+int main()
+{
+  std::vector<float> v(12, 0);
+  v[1]  = -1.; // ry=-90
+  v[4]  =  1.; // rx=90
+  v[10] = -1.; // rz=-90
+  v[3]  = 0.3; // tx
+  v[7]  = 0.4; // ty
+  v[11] = 0.5; // tz
+
+  std::cout << "v: ";
+  for(unsigned int i=0; i<v.size(); i++)
+    std::cout << v[i] << " ";
+  std::cout << std::endl;
+
+  vpHomogeneousMatrix M;
+  M.buildFrom(v);
+  std::cout << "M:\n" << M << std::endl;
+}
+  \endcode
+
+  It produces the following printings:
+  \code
+v: 0 -1 0 0.3 1 0 0 0.4 0 0 -1 0.5
+M:
+0  -1  0  0.3000000119
+1  0  0  0.400000006
+0  0  -1  0.5
+0  0  0  1
+  \endcode
+  */
+void
+vpHomogeneousMatrix::buildFrom(const std::vector<float> &v)
+{
+  if (v.size() != 12 && v.size() != 16) {
+    throw(vpException(vpException::dimensionError, "Cannot convert std::vector<float> to vpHomogeneousMatrix"));
+  }
+
+  for (unsigned int i=0; i < 12; i++)
+    this->data[i] = (double)v[i];
+}
+
+/*!
+  Converts a vector to an homogeneous matrix.
+  \param v : Vector of 12 or 16 values corresponding to the values of the homogeneous matrix.
+
+  The following example shows how to use this function:
+  \code
+#include <visp/vpHomogeneousMatrix.h>
+
+int main()
+{
+  std::vector<double> v(12, 0);
+  v[1]  = -1.; // ry=-90
+  v[4]  =  1.; // rx=90
+  v[10] = -1.; // rz=-90
+  v[3]  = 0.3; // tx
+  v[7]  = 0.4; // ty
+  v[11] = 0.5; // tz
+
+  std::cout << "v: ";
+  for(unsigned int i=0; i<v.size(); i++)
+    std::cout << v[i] << " ";
+  std::cout << std::endl;
+
+  vpHomogeneousMatrix M;
+  M.buildFrom(v);
+  std::cout << "M:\n" << M << std::endl;
+}
+  \endcode
+
+  It produces the following printings:
+  \code
+v: 0 -1 0 0.3 1 0 0 0.4 0 0 -1 0.5
+M:
+0  -1  0  0.3
+1  0  0  0.4
+0  0  -1  0.5
+0  0  0  1
+  \endcode
+  */
+void
+vpHomogeneousMatrix::buildFrom(const std::vector<double> &v)
+{
+  if (v.size() != 12 && v.size() != 16) {
+    throw(vpException(vpException::dimensionError, "Cannot convert std::vector<double> to vpHomogeneousMatrix"));
+  }
+
+  for (unsigned int i=0; i < 12; i++)
+    this->data[i] = v[i];
+}
+
 /*!
   Affectation of two homogeneous matrices.
 
@@ -259,7 +447,7 @@ vpHomogeneousMatrix::operator*(const vpHomogeneousMatrix &M) const
 }
 
 vpColVector
-vpHomogeneousMatrix::operator*(vpColVector &v) const
+vpHomogeneousMatrix::operator*(const vpColVector &v) const
 {
   vpColVector p(rowNum);
 
@@ -543,9 +731,24 @@ vpHomogeneousMatrix::setIdentity()
   init() ;
 }
 
+/*!
+  Converts an homogenous matrix to a vector of 12 floats.
+  \param M : Converted matrix.
+ */
+void vpHomogeneousMatrix::convert(std::vector<float> &M)
+{
+  M.resize(12);
+  for(unsigned int i=0; i < 12; i++)
+    M[i] = (float)(this->data[i]);
+}
 
-/*
- * Local variables:
- * c-basic-offset: 2
- * End:
+/*!
+  Converts an homogenous matrix to a vector of 12 doubles.
+  \param M : Converted matrix.
  */
+void vpHomogeneousMatrix::convert(std::vector<double> &M)
+{
+  M.resize(12);
+  for(unsigned int i=0; i < 12; i++)
+    M[i] = this->data[i];
+}
diff --git a/src/math/transformation/vpHomogeneousMatrix.h b/src/math/transformation/vpHomogeneousMatrix.h
index 9d1abda13a13e89dc835a7de32168aa02a176fc2..a12a8bc3c7ab76299c28e45808814f7d62a460e0 100644
--- a/src/math/transformation/vpHomogeneousMatrix.h
+++ b/src/math/transformation/vpHomogeneousMatrix.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpHomogeneousMatrix.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpHomogeneousMatrix.h 5130 2015-01-06 18:50:43Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -56,8 +56,9 @@ class vpRotationMatrix;
 class vpPoseVector;
 class vpThetaUVector;
 
-#include <visp/vpMatrix.h>
+#include <vector>
 
+#include <visp/vpMatrix.h>
 #include <visp/vpRotationMatrix.h>
 #include <visp/vpThetaUVector.h>
 #include <visp/vpTranslationVector.h>
@@ -121,13 +122,17 @@ class VISP_EXPORT vpHomogeneousMatrix : public vpMatrix
   //! Construction from translation and rotation defined as a theta u vector.
   vpHomogeneousMatrix(const double tx, const double ty, const double tz,
 		      const double tux, const double tuy, const double tuz) ;
+  vpHomogeneousMatrix(const std::vector<float> &v);
+  vpHomogeneousMatrix(const std::vector<double> &v);
 
   //! Construction from translation vector and rotation matrix.
   void buildFrom(const vpTranslationVector &t, const vpRotationMatrix &R) ;
   //! Construction from translation vector and theta u rotation vector.
   void buildFrom(const vpTranslationVector &t, const vpThetaUVector &tu) ;
   //! Construction from translation vector and quaternion rotation vector.
-  void buildFrom(const vpTranslationVector &t, const vpQuaternionVector& q  ) ;
+  void buildFrom(const vpTranslationVector &t, const vpQuaternionVector& q) ;
+  void buildFrom(const std::vector<float> &v) ;
+  void buildFrom(const std::vector<double> &v) ;
 
   /*!
     Construction from translation vector and theta u rotation vector 
@@ -139,6 +144,29 @@ class VISP_EXPORT vpHomogeneousMatrix : public vpMatrix
   void buildFrom(const double tx,const  double ty, const double tz,
 		 const double tux,const  double tuy, const double tuz  ) ;
     
+  void convert(std::vector<float> &M);
+  void convert(std::vector<double> &M);
+
+  /*!
+    Return the translation vector from the homogeneous transformation matrix.
+   */
+  vpTranslationVector getTranslationVector()
+  {
+    vpTranslationVector tr;
+    this->extract(tr);
+    return tr;
+  }
+//  /*!
+//    Return the rotation matrix from the homogeneous transformation matrix.
+//   */
+//  vpThetaUVector getThetaUVector()
+//  vpRotationMatrix getRotationMatrix()
+//  {
+//    vpRotationMatrix R;
+//    this->extract(R);
+//    return R;
+//  }
+
   //! Copy operator from vpHomogeneousMatrix.
   vpHomogeneousMatrix &operator=(const vpHomogeneousMatrix &M);
 
@@ -146,7 +174,7 @@ class VISP_EXPORT vpHomogeneousMatrix : public vpMatrix
   vpHomogeneousMatrix operator*(const vpHomogeneousMatrix &M) const;
 
   //! Multiply by a vector ! size 4 !!!
-  vpColVector operator*(vpColVector &v) const;
+  vpColVector operator*(const vpColVector &v) const;
 
   // Invert the homogeneous matrix.
   vpHomogeneousMatrix inverse() const ;
diff --git a/src/math/transformation/vpRotationMatrix.cpp b/src/math/transformation/vpRotationMatrix.cpp
index b1fe772bb9421cbe2a4e52eb4defaf366e792e80..ee2dbdb78bca4e499fb58154fc9df4fe95f8b98d 100644
--- a/src/math/transformation/vpRotationMatrix.cpp
+++ b/src/math/transformation/vpRotationMatrix.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpRotationMatrix.cpp 4620 2014-01-27 21:28:32Z fspindle $
+ * $Id: vpRotationMatrix.cpp 4900 2014-09-11 09:16:21Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -359,12 +359,19 @@ vpRotationMatrix::vpRotationMatrix() : vpMatrix()
 /*!
   \brief initialize a rotation matrix from another rotation matrix
 */
-
 vpRotationMatrix::vpRotationMatrix(const vpRotationMatrix &M) : vpMatrix()
 {
   init() ;
   (*this) = M ;
 }
+/*!
+  Initialize a rotation matrix from an homogenous matrix.
+*/
+vpRotationMatrix::vpRotationMatrix(const vpHomogeneousMatrix &M) : vpMatrix()
+{
+  init() ;
+  buildFrom(M);
+}
 
 //! Construction from  rotation (Theta U parameterization)
 vpRotationMatrix::vpRotationMatrix(const vpThetaUVector &tu) : vpMatrix()
@@ -372,6 +379,12 @@ vpRotationMatrix::vpRotationMatrix(const vpThetaUVector &tu) : vpMatrix()
   init() ;
   buildFrom(tu) ;
 }
+//! Construction from a pose vector.
+vpRotationMatrix::vpRotationMatrix(const vpPoseVector &p) : vpMatrix()
+{
+  init() ;
+  buildFrom(p) ;
+}
 
 
 //! Construction from  rotation (Euler parameterization, ie Rzyz parameterization)
@@ -573,6 +586,32 @@ vpRotationMatrix::buildFrom(const vpThetaUVector &v)
   return *this ;
 }
 
+/*!
+  Build a rotation matrix from an homogenous matrix.
+*/
+vpRotationMatrix
+vpRotationMatrix::buildFrom(const vpHomogeneousMatrix &M)
+{
+  for (unsigned int i=0 ; i < 3 ; i++)
+    for (unsigned int j=0 ; j < 3; j++)
+      (*this)[i][j] = M[i][j] ;
+
+  return *this ;
+}
+
+/*
+  \relates vpRotationMatrix
+  Transform a pose vector into a rotation matrix.
+
+  \sa buildFrom(const vpThetaUVector &)
+*/
+vpRotationMatrix
+vpRotationMatrix::buildFrom(const vpPoseVector &p)
+{
+  vpThetaUVector tu(p);
+  return buildFrom(tu);
+}
+
 /*!
   Transform a vector representing the euler angle
   into a rotation matrix.
diff --git a/src/math/transformation/vpRotationMatrix.h b/src/math/transformation/vpRotationMatrix.h
index dfbad694508aece704b0888ebe80dc2e6171aed2..c45f0879d7df8ba71fd1296c212f7a4521e44084 100644
--- a/src/math/transformation/vpRotationMatrix.h
+++ b/src/math/transformation/vpRotationMatrix.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpRotationMatrix.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpRotationMatrix.h 5037 2014-12-05 19:06:41Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -48,6 +48,7 @@
   \brief Class that consider the particular case of rotation matrix
 */
 
+#include <visp/vpHomogeneousMatrix.h>
 #include <visp/vpMatrix.h>
 #include <visp/vpRxyzVector.h>
 #include <visp/vpRzyxVector.h>
@@ -55,6 +56,7 @@
 #include <visp/vpThetaUVector.h>
 #include <visp/vpTranslationVector.h>
 #include <visp/vpQuaternionVector.h>
+#include <visp/vpPoseVector.h>
 
 /*!
   \class vpRotationMatrix
@@ -71,12 +73,14 @@
 */
 class VISP_EXPORT vpRotationMatrix : public vpMatrix
 {
-  friend class vpMatrix;  
+  friend class vpMatrix;
+  friend class vpHomogeneousMatrix;
   friend class vpRxyzVector;
   friend class vpRzyzVector;
   friend class vpRzyxVector;
   friend class vpThetaUVector;
   friend class vpTranslationVector;
+  friend class vpPoseVector;
 public:
   //! Basic initialisation (identity)
   void init() ;
@@ -84,23 +88,36 @@ public:
   //! Basic initialisation (identity)
   void setIdentity() ;
   void eye();
-  //! basic constructor
+  //! Default constructor.
   vpRotationMatrix()   ;
-  //! copy constructor
+  //! Copy constructor.
   vpRotationMatrix(const vpRotationMatrix &R) ;
-  //! Construction from  rotation (theta U parameterization)
+  //! Copy constructor.
+  vpRotationMatrix(const vpHomogeneousMatrix &M) ;
+  //! Construction from rotation (theta U parameterization)
   vpRotationMatrix(const vpThetaUVector &r) ;
-  //! Construction from  rotation (Euler parameterization)
+  //! Construction from a pose vector.
+  vpRotationMatrix(const vpPoseVector &p) ;
+  //! Construction from rotation (Euler parameterization)
   vpRotationMatrix(const vpRzyzVector &r) ;
-  //! Construction from  rotation Rxyz
+  //! Construction from rotation Rxyz
   vpRotationMatrix(const vpRxyzVector &r) ;
-  //! Construction from  rotation Rzyx
+  //! Construction from rotation Rzyx
   vpRotationMatrix(const vpRzyxVector &r) ;
-  //! Construction from  rotation (theta U parameterization)
+  //! Construction from rotation (theta U parameterization)
   vpRotationMatrix(const double tux, const  double tuy, const double tuz) ;
 
   vpRotationMatrix(const vpQuaternionVector& q);
 
+//  /*!
+//    Return the \f$\theta u\f$ vector that corresponds to tha rotation matrix.
+//   */
+//  vpThetaUVector getThetaUVector()
+//  {
+//    vpThetaUVector tu;
+//    tu.buildFrom(*this);
+//    return tu;
+//  }
 
   //! copy operator from vpRotationMatrix
   vpRotationMatrix &operator=(const vpRotationMatrix &R);
@@ -134,8 +151,12 @@ public:
   void printVector() ;
   friend VISP_EXPORT std::ostream &operator << (std::ostream &s, const vpRotationMatrix &m);
 
-  //! Transform a vector vpThetaUVector into an rotation matrix
+  //! Build a rotation matrix from an homogeneous matrix.
+  vpRotationMatrix buildFrom(const vpHomogeneousMatrix &M) ;
+  //! Transform a vector vpThetaUVector into a rotation matrix
   vpRotationMatrix buildFrom(const vpThetaUVector &v) ;
+  //! Transform a pose vector into a rotation matrix
+  vpRotationMatrix buildFrom(const vpPoseVector &p) ;
   //! Transform a vector reprensenting the euler (Rzyz) angle
   //! into a rotation matrix
   vpRotationMatrix buildFrom(const vpRzyzVector &v) ;
diff --git a/src/math/transformation/vpThetaUVector.cpp b/src/math/transformation/vpThetaUVector.cpp
index 84f4176a22823674a892c99615e6295fe0aadd51..3ceb8ed3948d269930292284f9ec866522b9bbf6 100644
--- a/src/math/transformation/vpThetaUVector.cpp
+++ b/src/math/transformation/vpThetaUVector.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
 *
-* $Id: vpThetaUVector.cpp 4632 2014-02-03 17:06:40Z fspindle $
+* $Id: vpThetaUVector.cpp 4792 2014-07-18 11:56:02Z fspindle $
 *
 * This file is part of the ViSP software.
 * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -62,6 +62,13 @@ vpThetaUVector::vpThetaUVector(const vpHomogeneousMatrix& M)
   buildFrom(M) ;
 }
 /*!
+Initialize a \f$\theta {\bf u}\f$ vector from a pose vector.
+*/
+vpThetaUVector::vpThetaUVector(const vpPoseVector& p)
+{
+  buildFrom(p) ;
+}
+/*!
 Initialize a \f$\theta {\bf u}\f$ vector from a rotation matrix.
 */
 vpThetaUVector::vpThetaUVector(const vpRotationMatrix& R)
@@ -107,6 +114,17 @@ vpThetaUVector::buildFrom(const vpHomogeneousMatrix& M)
 
   return *this ;
 }
+/*!
+Converts a pose vector into a \f$\theta {\bf u}\f$ vector.
+*/
+vpThetaUVector
+vpThetaUVector::buildFrom(const vpPoseVector& p)
+{
+  for(unsigned int i=0; i<3; i++)
+    r[i] = p[i+3];
+
+  return *this ;
+}
 
 /*!
 Converts a rotation matrix into a \f$\theta {\bf u}\f$ vector.
diff --git a/src/math/transformation/vpThetaUVector.h b/src/math/transformation/vpThetaUVector.h
index 27b1331f912f09f8d6e5f6c8c2cefde2c4354620..354e7b1df8a40769bdd2be840e17d2a80f1ba9fb 100644
--- a/src/math/transformation/vpThetaUVector.h
+++ b/src/math/transformation/vpThetaUVector.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpThetaUVector.h 4632 2014-02-03 17:06:40Z fspindle $
+ * $Id: vpThetaUVector.h 4792 2014-07-18 11:56:02Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -155,6 +155,8 @@ public:
 
   // constructor initialize a Theta U vector from a homogeneous matrix
   vpThetaUVector(const vpHomogeneousMatrix & M) ;
+  // constructor initialize a Theta U vector from a pose vector
+  vpThetaUVector(const vpPoseVector & p) ;
   // constructor initialize a Theta U vector from a rotation matrix
   vpThetaUVector(const vpRotationMatrix& R) ;
   // constructor initialize a Theta U vector from a RzyxVector
@@ -172,6 +174,8 @@ public:
 
   // convert an homogeneous matrix into Theta U vector
   vpThetaUVector buildFrom(const vpHomogeneousMatrix& M) ;
+  // convert a pose vector into Theta U vector
+  vpThetaUVector buildFrom(const vpPoseVector& p) ;
   // convert a rotation matrix into Theta U vector
   vpThetaUVector buildFrom(const vpRotationMatrix& R) ;
   // convert an Rzyx vector into Theta U vector
diff --git a/src/math/transformation/vpTranslationVector.cpp b/src/math/transformation/vpTranslationVector.cpp
index 9222e97906d70a4bcd1feca4190ea52739d07383..00e7945ad3c5da7115cfaf4ef7abd5bf5d03a350 100644
--- a/src/math/transformation/vpTranslationVector.cpp
+++ b/src/math/transformation/vpTranslationVector.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpTranslationVector.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpTranslationVector.cpp 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -131,11 +131,11 @@ vpTranslationVector::set(const double tx,
 vpTranslationVector
 vpTranslationVector::operator+(const vpTranslationVector &tv) const
 {
-    vpTranslationVector sum ;
+  vpTranslationVector s;
 
-    for (unsigned int i=0;i<3;i++)  sum[i] = (*this)[i]+tv[i] ;
+  for (unsigned int i=0;i<3;i++)  s[i] = (*this)[i]+tv[i] ;
 
-    return sum;
+  return s;
 }
 
 /*!
diff --git a/src/math/transformation/vpXmlParserHomogeneousMatrix.cpp b/src/math/transformation/vpXmlParserHomogeneousMatrix.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..2c9befe835d32b82dad2ec26811d071b7e3ea687
--- /dev/null
+++ b/src/math/transformation/vpXmlParserHomogeneousMatrix.cpp
@@ -0,0 +1,608 @@
+/****************************************************************************
+ *
+ * $Id: vpXmlParserHomogeneousMatrix.cpp 4920 2014-10-09 08:18:30Z fspindle $
+ *
+ * This file is part of the ViSP software.
+ * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+ *
+ * This software is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * ("GPL") version 2 as published by the Free Software Foundation.
+ * See the file LICENSE.txt at the root directory of this source
+ * distribution for additional information about the GNU GPL.
+ *
+ * For using ViSP with software that can not be combined with the GNU
+ * GPL, please contact INRIA about acquiring a ViSP Professional
+ * Edition License.
+ *
+ * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+ *
+ * This software was developed at:
+ * INRIA Rennes - Bretagne Atlantique
+ * Campus Universitaire de Beaulieu
+ * 35042 Rennes Cedex
+ * France
+ * http://www.irisa.fr/lagadic
+ *
+ * If you have questions regarding the use of this file, please contact
+ * INRIA at visp@inria.fr
+ *
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ *
+ * Description:
+ * XML parser to load and save Homogeneous Matrix in a XML file
+ *
+ * Authors:
+ * Giovanni Claudio
+ *
+ *****************************************************************************/
+
+
+/*!
+  \file vpXmlParserHomogeneousMatrix.cpp
+  \brief Definition of the vpXmlParserHomogeneousMatrix class member functions.
+  Class vpXmlParserHomogeneousMatrix allowed to load and save an homogeneous matrix in a XML file.
+
+*/
+#include <visp/vpXmlParserHomogeneousMatrix.h>
+#ifdef VISP_HAVE_XML2
+
+#include <stdlib.h>
+#include <string.h>
+
+#include <visp/vpDebug.h>
+#include <visp/vpThetaUVector.h>
+/* -------------------------------------------------------------------------- */
+/* --- LABEL XML ------------------------------------------------------------ */
+/* -------------------------------------------------------------------------- */
+
+#define LABEL_XML_ROOT                               "root"
+#define LABEL_XML_M                                  "homogeneous_transformation"
+#define LABEL_XML_M_NAME                             "name"
+#define LABEL_XML_VALUE                              "values"
+#define LABEL_XML_TRANSLATION                        "translation"
+#define LABEL_XML_TX                                 "tx"
+#define LABEL_XML_TY                                 "ty"
+#define LABEL_XML_TZ                                 "tz"
+#define LABEL_XML_ROTATION                           "rotation"
+#define LABEL_XML_TUX                                "theta_ux"
+#define LABEL_XML_TUY                                "theta_uy"
+#define LABEL_XML_TUZ                                "theta_uz"
+
+/*!
+  Default constructor
+*/
+vpXmlParserHomogeneousMatrix::vpXmlParserHomogeneousMatrix()
+  : vpXmlParser(), m_M(), m_name()
+{
+}
+/*!
+  Copy constructor
+  \param twinParser : parser object to copy
+*/
+vpXmlParserHomogeneousMatrix::vpXmlParserHomogeneousMatrix(vpXmlParserHomogeneousMatrix& twinParser)
+  : vpXmlParser(twinParser), m_M(), m_name()
+{
+  *this = twinParser;
+}
+
+/*!
+  Copy operator
+  \param twinParser : parser object to copy
+  \return a copy of the input.
+*/
+vpXmlParserHomogeneousMatrix&
+vpXmlParserHomogeneousMatrix::operator =(const vpXmlParserHomogeneousMatrix& twinParser)
+{
+  this->m_M    = twinParser.m_M;
+  this->m_name = twinParser.m_name;
+
+  return *this ;
+}
+
+/*!
+  Parse an xml file to load an homogeneous matrix
+  \param M : homogeneous matrix to fill.
+  \param filename : name of the xml file to parse.
+  \param name : name of the homogeneous matrix to find in the xml file.
+
+  \return error code.
+*/
+int
+vpXmlParserHomogeneousMatrix::parse(vpHomogeneousMatrix &M, const std::string &filename,
+                                    const std::string &name)
+{
+  xmlDocPtr doc;
+  xmlNodePtr node;
+
+  doc = xmlParseFile(filename.c_str());
+  if (doc == NULL)
+  {
+    std::cerr << std::endl
+              << "ERROR:" << std::endl;
+    std::cerr << " I cannot open the file "<< filename << std::endl;
+
+    return SEQUENCE_ERROR;
+  }
+
+  node = xmlDocGetRootElement(doc);
+  if (node == NULL)
+  {
+    xmlFreeDoc(doc);
+    return SEQUENCE_ERROR;
+  }
+
+  int ret = this ->read (doc, node, name);
+
+  M = m_M ;
+
+  xmlFreeDoc(doc);
+
+  return ret;
+}
+
+/*!
+  Save an homogenous matrix in an xml file.
+  \param M : homogenous matrix to save.
+  \param filename : name of the xml file to fill.
+  \param name : name of the homogenous matrix.
+
+  \return error code.
+*/
+int
+vpXmlParserHomogeneousMatrix::save(const vpHomogeneousMatrix &M, const std::string &filename,
+                                   const std::string &name)
+{
+  xmlDocPtr doc;
+  xmlNodePtr node;
+
+  doc = xmlReadFile(filename.c_str(), NULL, XML_PARSE_NOWARNING + XML_PARSE_NOERROR
+                    + XML_PARSE_NOBLANKS);
+  if (doc == NULL){
+    doc = xmlNewDoc ((xmlChar*)"1.0");
+    node = xmlNewNode(NULL,(xmlChar*)LABEL_XML_ROOT);
+    xmlDocSetRootElement(doc,node);
+    xmlNodePtr node_tmp = xmlNewComment((xmlChar*)
+                                        "This file stores homogeneous matrix used\n"
+                                        "   in the vpHomogeneousMatrix Class of ViSP available\n"
+                                        "   at http://www.irisa.fr/lagadic/visp/visp.html .\n"
+                                        "   It can be read with the parse method of\n"
+                                        "   the vpXmlParserHomogeneousMatrix class.");
+    xmlAddChild(node,node_tmp);
+  }
+
+  node = xmlDocGetRootElement(doc);
+  if (node == NULL)
+  {
+    xmlFreeDoc(doc);
+    return SEQUENCE_ERROR;
+  }
+
+  this->m_M = M;
+
+  int M_isFound = count(doc, node, name);
+
+  if( M_isFound > 0){
+    //vpCERROR
+    std::cout << "There is already an homogeneous matrix "<< std::endl
+              << "available in the file with the input name: "<< name << "."<< std::endl
+              << "Please delete it manually from the xml file."<< std::endl;
+    xmlFreeDoc(doc);
+    return SEQUENCE_ERROR;
+  }
+
+  write(node, name);
+
+  xmlSaveFormatFile(filename.c_str(), doc, 1);
+  xmlFreeDoc(doc);
+//  std::cout << "Homogeneous matrix '"<< name << "' saved in the file named "<< filename << " correctly." << std::endl;
+
+  return SEQUENCE_OK;
+}
+
+
+
+/*!
+  Read Homogeneous matrix values from a XML file.
+
+  \param doc : XML file.
+  \param node : XML tree, pointing on a marker equipement.
+  \param name : name of the Homogeneous Matrix
+  \return error code.
+ */
+int
+vpXmlParserHomogeneousMatrix::read (xmlDocPtr doc, xmlNodePtr node,
+                                    const std::string& name)
+{
+  //    char * val_char;
+  vpXmlCodeType prop;
+
+  vpXmlCodeSequenceType back = SEQUENCE_OK;
+  unsigned int nbM = 0;
+
+  for (node = node->xmlChildrenNode; node != NULL;  node = node->next)
+  {
+    if (node->type != XML_ELEMENT_NODE) continue;
+    if (SEQUENCE_OK != str2xmlcode ((char*)(node ->name), prop))
+    {
+      prop = CODE_XML_OTHER;
+      back = SEQUENCE_ERROR;
+    }
+
+    if (prop == CODE_XML_M){
+      if (SEQUENCE_OK == this->read_matrix (doc, node, name))
+        nbM++;
+    }
+    else back = SEQUENCE_ERROR;
+  }
+
+  if (nbM == 0){
+    back = SEQUENCE_ERROR;
+    vpCERROR << "No Homogeneous matrix is available" << std::endl
+             << "with name: " << name << std::endl;
+  }
+  else if(nbM > 1){
+    back = SEQUENCE_ERROR;
+    vpCERROR << nbM << " There are more Homogeneous matrix"  << std::endl
+             << "with the same name : "              << std::endl
+             << "precise your choice..."                   << std::endl;
+  }
+
+  return back;
+}
+/*!
+  Read homogeneous matrix names from a XML file and read if there is already a homogeneous matrix
+  with the same name.
+
+  \param doc : XML file.
+  \param node : XML tree, pointing on a marker equipement.
+  \param name : name of the homogeneous matrix.
+
+  \return 1 if there is an homogeneous matrix corresponding with the input name, 0 otherwise.
+ */
+int
+vpXmlParserHomogeneousMatrix::count (xmlDocPtr doc, xmlNodePtr node,
+                                     const std::string& name)
+{
+  //    char * val_char;
+  vpXmlCodeType prop;
+  int nbM = 0;
+
+  for (node = node->xmlChildrenNode; node != NULL;  node = node->next)
+  {
+    if (node->type != XML_ELEMENT_NODE) continue;
+    if (SEQUENCE_OK != str2xmlcode ((char*)(node ->name), prop))
+    {
+      prop = CODE_XML_OTHER;
+    }
+    if (prop== CODE_XML_M) {
+      if (SEQUENCE_OK == this->read_matrix (doc, node, name))
+        nbM++;
+    }
+  }
+
+  return nbM;
+}
+
+/*!
+  Read Homogeneous Matrix fields from a XML file.
+
+  \param doc : XML file.
+  \param node : XML tree, pointing on a marker equipement.
+  \param name : name of the Homogeneous matrix
+
+  \return error code.
+
+ */
+int
+vpXmlParserHomogeneousMatrix::read_matrix (xmlDocPtr doc, xmlNodePtr node,
+                                           const std::string& name)
+{
+  vpXmlCodeType prop;
+  /* read value in the XML file. */
+  std::string M_name_tmp = "";
+  vpHomogeneousMatrix M_tmp;
+
+  vpXmlCodeSequenceType back = SEQUENCE_OK;
+
+  for (node = node->xmlChildrenNode; node != NULL;  node = node->next)
+  {
+    // vpDEBUG_TRACE (15, "Carac : %s.", node ->name);
+    if (node->type != XML_ELEMENT_NODE) continue;
+    if (SEQUENCE_OK != str2xmlcode ((char*)(node ->name), prop))
+    {
+      prop = CODE_XML_OTHER;
+      back = SEQUENCE_ERROR;
+    }
+
+
+    switch (prop)
+    {
+    case CODE_XML_M_NAME: {
+      char * val_char = xmlReadCharChild(doc, node);
+      M_name_tmp = val_char;
+      xmlFree(val_char);
+      break;
+    }
+
+    case CODE_XML_VALUE: //VALUE
+      if (name == M_name_tmp)
+      {
+        std::cout << "Found Homogeneous Matrix with name: \"" << M_name_tmp << "\"" << std::endl;
+        back = read_values(doc, node, M_tmp);
+      }
+      break;
+
+    case CODE_XML_BAD:
+    case CODE_XML_OTHER:
+    case CODE_XML_M:
+    case CODE_XML_TX:
+    case CODE_XML_TY:
+    case CODE_XML_TZ:
+    case CODE_XML_TUX:
+    case CODE_XML_TUY:
+    case CODE_XML_TUZ:
+
+    default:
+      back = SEQUENCE_ERROR;
+      break;
+    }
+
+  }
+
+  if( !(name == M_name_tmp)){
+    back = SEQUENCE_ERROR;
+  }
+  else{
+    this-> m_M = M_tmp;
+    //std::cout << "Convert in Homogeneous Matrix:"<< std::endl;
+    //std::cout << this-> M << std::endl;
+    this-> m_name = M_name_tmp;
+
+  }
+  return back;
+}
+
+
+/*!
+  Read homogeneous matrix fields from a XML file.
+
+  \param doc : XML file.
+  \param node : XML tree, pointing on a marker equipement.
+  \param M_tmp : homogeneous matrix to fill with read data (output).
+
+  \return error code.
+
+ */
+vpXmlParserHomogeneousMatrix::vpXmlCodeSequenceType
+vpXmlParserHomogeneousMatrix::read_values (xmlDocPtr doc, xmlNodePtr node,
+                                                 vpHomogeneousMatrix &M)
+{
+  // counter of the number of read parameters
+  int nb = 0;
+  vpXmlCodeType prop;
+  /* read value in the XML file. */
+
+  double tx_=0.;
+  double ty_=0.;
+  double tz_=0.;
+  double tux_=0.;
+  double tuy_=0.;
+  double tuz_=0.;
+
+  vpXmlCodeSequenceType back = SEQUENCE_OK;
+  //int validation = 0;
+
+  for (node = node->xmlChildrenNode; node != NULL;  node = node->next)
+  {
+    // vpDEBUG_TRACE (15, "Carac : %s.", node ->name);
+    if (node->type != XML_ELEMENT_NODE) continue;
+    if (SEQUENCE_OK != str2xmlcode ((char*)(node ->name), prop))
+    {
+      prop = CODE_XML_OTHER;
+      back = SEQUENCE_ERROR;
+    }
+
+    switch (prop)
+    {
+
+    case CODE_XML_TX:
+      tx_ = xmlReadDoubleChild(doc, node);
+      nb++;
+      break;
+    case CODE_XML_TY:
+      ty_ = xmlReadDoubleChild(doc, node);
+      nb++;
+      break;
+    case CODE_XML_TZ:
+      tz_ = xmlReadDoubleChild(doc, node);
+      nb++;
+      break;
+    case CODE_XML_TUX:
+      tux_ = xmlReadDoubleChild(doc, node);
+      nb++;
+      break;
+    case CODE_XML_TUY:
+      tuy_ = xmlReadDoubleChild(doc, node);
+      nb++;
+      break;
+    case CODE_XML_TUZ:
+      tuz_ = xmlReadDoubleChild(doc, node);
+      nb++;
+      break;
+
+    case CODE_XML_BAD:
+    case CODE_XML_OTHER:
+    case CODE_XML_M:
+    case CODE_XML_M_NAME:
+    case CODE_XML_VALUE:
+
+    default:
+      back = SEQUENCE_ERROR;
+      break;
+    }
+  }
+
+  if (nb != 6)
+  {
+    vpCERROR <<"ERROR in 'model' field:\n";
+    vpCERROR << "it must contain 6 parameters\n";
+
+    return SEQUENCE_ERROR;
+  }
+
+  // Create the Homogeneous matrix
+  M.buildFrom(tx_,ty_,tz_,tux_,tuy_,tuz_);
+
+  //  std::cout << "Read values from file:" << std::endl;
+  //  std::cout << "tx:" << tx_<< std::endl;
+  //  std::cout << "ty:" << ty_<< std::endl;
+  //  std::cout << "tz:" << tz_<< std::endl;
+  //  std::cout << "tux:" << tux_<< std::endl;
+  //  std::cout << "tuy:" << tuy_<< std::endl;
+  //  std::cout << "tuz:" << tuz_<< std::endl;
+
+  return back;
+}
+
+/*!
+  Write Homogeneous Matrix in an XML Tree.
+
+  \param node : XML tree, pointing on a marker equipement.
+  \param name : name of the Homogeneous Matrix.
+
+
+  \return error code.
+ */
+int vpXmlParserHomogeneousMatrix::
+write (xmlNodePtr node, const std::string& name)
+{
+  int back = SEQUENCE_OK;
+
+  xmlNodePtr node_tmp;
+  xmlNodePtr node_matrix;
+  xmlNodePtr node_values;
+  char str[11];
+
+  // Convert from Rotational matrix to Theta-U vector
+  vpRotationMatrix R;
+  m_M.extract(R);
+
+  vpThetaUVector tu(R);
+
+  // <homogenous_transformation>
+  node_tmp = xmlNewComment((xmlChar*)"Homogeneous Matrix");
+  xmlAddChild(node,node_tmp);
+  node_matrix = xmlNewNode(NULL,(xmlChar*)LABEL_XML_M);
+  xmlAddChild(node,node_matrix);
+  {
+    //<name>
+
+    if(!name.empty()){
+      node_tmp = xmlNewComment((xmlChar*)"Name of the homogeneous matrix");
+      xmlAddChild(node_matrix,node_tmp);
+      xmlNewTextChild(node_matrix,NULL,(xmlChar*)LABEL_XML_M_NAME, (xmlChar*)name.c_str());
+    }
+
+    //<values>
+
+    node_values = xmlNewNode(NULL,(xmlChar*)LABEL_XML_VALUE);
+    xmlAddChild(node_matrix,node_values);
+    {
+      node_tmp = xmlNewComment((xmlChar*)"Translation vector with values in meters");
+      xmlAddChild(node_values,node_tmp);
+
+      //<tx>
+      sprintf(str,"%f", m_M[0][3]);
+      xmlNewTextChild(node_values,NULL,(xmlChar*)LABEL_XML_TX,(xmlChar*)str);
+
+      //<ty>
+      sprintf(str,"%f", m_M[1][3]);
+      xmlNewTextChild(node_values,NULL,(xmlChar*)LABEL_XML_TY,(xmlChar*)str);
+
+      //<tz>
+      sprintf(str,"%f", m_M[2][3]);
+      xmlNewTextChild(node_values,NULL,(xmlChar*)LABEL_XML_TZ,(xmlChar*)str);
+
+      node_tmp = xmlNewComment((xmlChar*)"Rotational vector expressed in angle axis representation with values in radians");
+      xmlAddChild(node_values,node_tmp);
+
+      //<tux>
+      sprintf(str,"%f", tu[0]);
+      xmlNewTextChild(node_values,NULL,(xmlChar*)LABEL_XML_TUX,(xmlChar*)str);
+
+      //<tuy>
+      sprintf(str,"%f", tu[1]);
+      xmlNewTextChild(node_values,NULL,(xmlChar*)LABEL_XML_TUY,(xmlChar*)str);
+
+      //<tuz>
+      sprintf(str,"%f", tu[2]);
+      xmlNewTextChild(node_values,NULL,(xmlChar*)LABEL_XML_TUZ,(xmlChar*)str);
+    }
+  }
+  return back;
+}
+
+/*!
+  Translate a string (label) to a xml code.
+  \param str : string to translate.
+  \param res : resulting code.
+
+  \return error code.
+*/
+
+vpXmlParserHomogeneousMatrix::vpXmlCodeSequenceType
+vpXmlParserHomogeneousMatrix::str2xmlcode (char * str, vpXmlCodeType & res)
+{
+  vpXmlCodeType val_int = CODE_XML_BAD;
+  vpXmlCodeSequenceType back = vpXmlParserHomogeneousMatrix::SEQUENCE_OK;
+
+  // DEBUG_TRACE (9, "# Entree :str=%s.", str);
+
+  if (! strcmp (str,  LABEL_XML_M))
+  {
+    val_int = CODE_XML_M;
+  }
+  else if (! strcmp (str,  LABEL_XML_M_NAME))
+  {
+    val_int = CODE_XML_M_NAME;
+  }
+  else if (! strcmp (str,  LABEL_XML_VALUE))
+  {
+    val_int = CODE_XML_VALUE;
+  }
+  else if (! strcmp (str,  LABEL_XML_TX))
+  {
+    val_int = CODE_XML_TX;
+  }
+  else if (! strcmp (str,  LABEL_XML_TY))
+  {
+    val_int = CODE_XML_TY;
+  }
+  else if (! strcmp (str,  LABEL_XML_TZ))
+  {
+    val_int = CODE_XML_TZ;
+  }
+  else if (! strcmp (str,  LABEL_XML_TUX))
+  {
+    val_int = CODE_XML_TUX;
+  }
+  else if (! strcmp (str,  LABEL_XML_TUY))
+  {
+    val_int = CODE_XML_TUY;
+  }
+  else if (! strcmp (str,  LABEL_XML_TUZ))
+  {
+    val_int = CODE_XML_TUZ;
+  }
+  else
+  {
+    val_int = CODE_XML_OTHER;
+  }
+  res = val_int;
+
+  return back;
+}
+#endif //VISP_HAVE_XML2
diff --git a/src/math/transformation/vpXmlParserHomogeneousMatrix.h b/src/math/transformation/vpXmlParserHomogeneousMatrix.h
new file mode 100644
index 0000000000000000000000000000000000000000..27d288126c7a92af4ddbaf447ff192a34bf937b2
--- /dev/null
+++ b/src/math/transformation/vpXmlParserHomogeneousMatrix.h
@@ -0,0 +1,262 @@
+/****************************************************************************
+ *
+ * $Id: vpXmlParserHomogeneousMatrix.h 4649 2014-02-07 14:57:11Z fspindle $
+ *
+ * This file is part of the ViSP software.
+ * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+ *
+ * This software is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * ("GPL") version 2 as published by the Free Software Foundation.
+ * See the file LICENSE.txt at the root directory of this source
+ * distribution for additional information about the GNU GPL.
+ *
+ * For using ViSP with software that can not be combined with the GNU
+ * GPL, please contact INRIA about acquiring a ViSP Professional
+ * Edition License.
+ *
+ * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+ *
+ * This software was developed at:
+ * INRIA Rennes - Bretagne Atlantique
+ * Campus Universitaire de Beaulieu
+ * 35042 Rennes Cedex
+ * France
+ * http://www.irisa.fr/lagadic
+ *
+ * If you have questions regarding the use of this file, please contact
+ * INRIA at visp@inria.fr
+ *
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ *
+ * Description:
+ * XML parser to load and save Homogeneous Matrix in a XML file
+ *
+ * Authors:
+ * Giovanni Claudio
+ *
+ *****************************************************************************/
+
+/*!
+  \file vpXmlParserHomogeneousMatrix.h
+  \brief Declaration of the vpXmlParserHomogeneousMatrix class.
+  Class vpXmlParserHomogeneousMatrix allowed to load and save Homogeneous Matrixes in a file XML
+
+*/
+
+#ifndef vpXMLPARSERHOMOGENEOUSMATRIX_H
+#define vpXMLPARSERHOMOGENEOUSMATRIX_H
+
+#include <visp/vpConfig.h>
+
+#ifdef VISP_HAVE_XML2
+
+#include <string>
+#include <visp/vpXmlParser.h>
+#include <visp/vpHomogeneousMatrix.h>
+#include <libxml/xmlmemory.h>      /* Functions of libxml.                */
+
+/*!
+  \class vpXmlParserHomogeneousMatrix
+
+  \ingroup PoseTransformation
+
+  \brief XML parser to load and save an homogenous matrix in a file.
+
+  To have a complete description of the homogeneous matrix implemented in ViSP, see
+  vpHomogeneousMatrix.
+
+  Example of an XML file "homogenous_matrixes.xml" containing a Pose vector
+  that will be converted in an homogeneous matrix:
+
+  \code
+<?xml version="1.0"?>
+<root>
+  <homogeneous_transformation>
+    <!--Name of the homogeneous matrix-->
+    <name>eMc</name>
+    <values>
+      <!--Translation vector with values in meters -->
+      <tx>1.00</tx>
+      <ty>1.30</ty>
+      <tz>3.50</tz>
+      <!--Rotational vector expressed in angle axis representation with values in radians -->
+      <theta_ux>0.20</theta_ux>
+      <theta_uy>0.30</theta_uy>
+      <theta_uz>0.50</theta_uz>
+    </values>
+  </homogeneous_transformation>
+</root>
+  \endcode
+
+  Example of loading an existing homogeneous matrix from an XML file.
+  \code
+
+#include <iostream>
+#include <string>
+
+#include <visp/vpXmlParserHomogeneousMatrix.h>
+
+int main(int argc, char* argv[])
+{
+#ifdef VISP_HAVE_XML2
+  vpHomogeneousMatrix eMc;
+
+  // Create a XML parser
+  vpXmlParserHomogeneousMatrix p;
+
+  // Define the name of the matrix to load
+  std::string name = "eMc";
+
+  if (p.parse(eMc,"homogenous_matrixes.xml", name) != vpXmlParserHomogeneousMatrix::SEQUENCE_OK) {
+    std::cout << "Cannot found the Homogeneous matrix named " << name << "." << std::endl;
+  }
+  else
+    std::cout << "Homogeneous matrix " << name <<": " << std::endl << eMc << std::endl;
+#endif
+
+  return 0;
+}
+  \endcode
+
+  Example of writing an homogenoeus matrix in a XML file.
+  \note Before writing an homogeneous matrix check if there
+  is already in the xml file a matrix with the same name.
+  If you are sure to overwrite it please delete it manually
+  from the file before.
+
+  \code
+#include <iostream>
+#include <string>
+
+#include <visp/vpXmlParserHomogeneousMatrix.h>
+
+int main(int argc, char* argv[])
+{
+#ifdef VISP_HAVE_XML2
+  // Create Pose Vector and convert to homogeneous matrix
+  vpPoseVector r(1.0,1.3,3.5,0.2,0.3,0.5);
+  vpHomogeneousMatrix M(r);
+
+  // Create a XML parser
+  vpXmlParserHomogeneousMatrix p;
+
+  // Define the name of the matrix
+  std::string name_M =  "eMe";
+
+  // Define name of the file xml to fill
+  char filename[FILENAME_MAX];
+  sprintf(filename, "%s", "homogenous_matrixes.xml");
+
+  if (p.save(M, filename, name_M) != vpXmlParserHomogeneousMatrix::SEQUENCE_OK) {
+    std::cout << "Cannot save the Homogeneous matrix" << std::endl;
+  }
+
+  vpXmlParser::cleanup();
+#endif
+  return 0;
+}
+  \endcode
+*/
+
+class VISP_EXPORT vpXmlParserHomogeneousMatrix: public vpXmlParser
+{
+
+public:
+
+  /* --- XML Code------------------------------------------------------------ */
+  typedef enum
+  {
+    CODE_XML_BAD = -1,
+    CODE_XML_OTHER,
+    CODE_XML_M,
+    CODE_XML_M_NAME,
+    CODE_XML_VALUE,
+    CODE_XML_TX,
+    CODE_XML_TY,
+    CODE_XML_TZ,
+    CODE_XML_TUX,
+    CODE_XML_TUY,
+    CODE_XML_TUZ
+  } vpXmlCodeType;
+
+  typedef enum
+  {
+    SEQUENCE_OK,
+    SEQUENCE_ERROR
+  } vpXmlCodeSequenceType;
+
+private :
+
+  vpHomogeneousMatrix m_M;
+  std::string m_name;
+
+public:
+
+  vpXmlParserHomogeneousMatrix();
+  vpXmlParserHomogeneousMatrix(vpXmlParserHomogeneousMatrix& twinParser);
+  ~vpXmlParserHomogeneousMatrix(){}
+
+  // get/set functions
+  vpHomogeneousMatrix getHomogeneousMatrix() const {return this->m_M;}
+  std::string getHomogeneousMatrixName() const {return this->m_name;}
+
+  vpXmlParserHomogeneousMatrix& operator =(const vpXmlParserHomogeneousMatrix& twinparser);
+  int parse(vpHomogeneousMatrix &M, const std::string &filename, const std::string &name);
+
+  int save(const vpHomogeneousMatrix &M, const std::string &filename, const std::string &name);
+
+  void setHomogeneousMatrixName(const std::string& name){
+    this->m_name = name;
+  }
+
+private:
+  int read (xmlDocPtr doc, xmlNodePtr node,
+            const std::string& name);
+
+  int count (xmlDocPtr doc, xmlNodePtr node,
+             const std::string& name);
+
+  int read_matrix (xmlDocPtr doc, xmlNodePtr node,
+                   const std::string& name);
+  
+  vpXmlCodeSequenceType read_values (xmlDocPtr doc, xmlNodePtr node,
+                                     vpHomogeneousMatrix &M);
+  
+  static vpXmlCodeSequenceType str2xmlcode (char * str, vpXmlCodeType & res);
+  void myXmlReadIntChild (xmlDocPtr doc,
+                          xmlNodePtr node,
+                          int &res,
+                          vpXmlCodeSequenceType &code_error);
+
+  void myXmlReadDoubleChild (xmlDocPtr doc,
+                             xmlNodePtr node,
+                             double &res,
+                             vpXmlCodeSequenceType &code_error);
+
+  void myXmlReadCharChild (xmlDocPtr doc,
+                           xmlNodePtr node,
+                           char **res);
+  int write (xmlNodePtr node, const std::string& name);
+
+private:
+
+  /*!
+
+    \param 2doc : a pointer representing the document
+    \param node : the root node of the document
+  */
+  virtual void readMainClass(xmlDocPtr , xmlNodePtr ){};
+  
+  /*!
+
+    
+    \param node2 : the root node of the document
+  */
+  virtual void writeMainClass(xmlNodePtr ){};
+  
+};
+#endif //VISP_HAVE_XML2
+#endif
diff --git a/src/network/vpNetwork.cpp b/src/network/vpNetwork.cpp
index 7f8e57c0132ec53ae656cf493bd1eba4e1e0ecda..459e6e5c203502d272df85de9ba73c912c9bb977 100644
--- a/src/network/vpNetwork.cpp
+++ b/src/network/vpNetwork.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpNetwork.cpp 4632 2014-02-03 17:06:40Z fspindle $
+ * $Id: vpNetwork.cpp 4794 2014-07-21 17:43:22Z ayol $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -576,7 +576,7 @@ int vpNetwork::_handleFirstRequest()
   size_t indEndParam = currentMessageReceived.find(param_sep,indDebParam);
   
   std::string param;
-  while(indEndParam != std::string::npos)
+  while(indEndParam != std::string::npos || indEndParam < indEnd)
   {
     param = currentMessageReceived.substr((unsigned)indDebParam,(unsigned)(indEndParam - indDebParam));
     request_list[(unsigned)indRequest]->addParameter(param);
diff --git a/src/robot/real-robot/viper/vpRobotViper650.cpp b/src/robot/real-robot/viper/vpRobotViper650.cpp
index f5795447f99a4c36db69040b47e11ebe85b919eb..bf2780b25c61f115eaa11a582527cdf6b52d5b19 100644
--- a/src/robot/real-robot/viper/vpRobotViper650.cpp
+++ b/src/robot/real-robot/viper/vpRobotViper650.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpRobotViper650.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpRobotViper650.cpp 4793 2014-07-21 15:10:52Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -218,6 +218,8 @@ vpRobotViper650::vpRobotViper650 (bool verbose)
   }
   positioningVelocity  = defaultPositioningVelocity ;
 
+  maxRotationVelocity_joint6 = maxRotationVelocity;
+
   vpRobotViper650::robotAlreadyCreated = true;
 
   return ;
@@ -1524,13 +1526,21 @@ void
     }
     // saturation in joint space
   case vpRobot::ARTICULAR_FRAME : {
-      vpColVector vel_max(6);
+    vpColVector vel_max(6);
 
+    if (getMaxRotationVelocity() == getMaxRotationVelocityJoint6()) {
       for (unsigned int i=0; i<6; i++)
         vel_max[i] = getMaxRotationVelocity();
-
-      vel_sat = vpRobot::saturateVelocities(vel, vel_max, true);
     }
+    else {
+      for (unsigned int i=0; i<5; i++)
+        vel_max[i] = getMaxRotationVelocity();
+      vel_max[5] = getMaxRotationVelocityJoint6();
+    }
+
+    vel_sat = vpRobot::saturateVelocities(vel, vel_max, true);
+
+  }
   }
 
   InitTry;
@@ -2279,5 +2289,60 @@ void vpRobotViper650::disableJoint6Limits() const
                             "Cannot disable joint limits on axis 6.");
   }
 }
+
+/*!
+
+  Set the maximal rotation velocity that can be sent to the robot  during a velocity control.
+
+  \param w_max : Maximum rotation velocity expressed in rad/s.
+*/
+
+void
+vpRobotViper650::setMaxRotationVelocity (double w_max)
+{
+  vpRobot::setMaxRotationVelocity(w_max);
+  setMaxRotationVelocityJoint6(w_max);
+
+  return;
+}
+
+/*!
+
+  Set the maximal rotation velocity on joint 6 that is used only during velocity joint control.
+
+  This function affects only the velocities that are sent as joint velocities.
+
+  \code
+  vpRobotViper650 robot;
+  robot.setMaxRotationVelocity( vpMath::rad(20) );
+  robot.setMaxRotationVelocityJoint6( vpMath::rad(50) );
+
+  robot.setRobotState(vpRobot::STATE_VELOCITY_CONTROL);
+  robot.setVelocity(ARTICULAR_FRAME, v);
+  \endcode
+
+
+  \param w6_max : Maximum rotation velocity expressed in rad/s on joint 6.
+*/
+
+void
+vpRobotViper650::setMaxRotationVelocityJoint6 (const double w6_max)
+{
+  maxRotationVelocity_joint6 = w6_max;
+  return;
+}
+
+/*!
+
+  Get the maximal rotation velocity on joint 6 that is used only during velocity joint control.
+
+  \return Maximum rotation velocity on joint 6 expressed in rad/s.
+*/
+double
+vpRobotViper650::getMaxRotationVelocityJoint6() const
+{
+  return maxRotationVelocity_joint6;
+}
+
 #endif
 
diff --git a/src/robot/real-robot/viper/vpRobotViper650.h b/src/robot/real-robot/viper/vpRobotViper650.h
index c28f8b5fb845127045f947a06762b3391d67b81e..d9ad2bff8789ee9a1694c30635850c9bb97e440f 100644
--- a/src/robot/real-robot/viper/vpRobotViper650.h
+++ b/src/robot/real-robot/viper/vpRobotViper650.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpRobotViper650.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpRobotViper650.h 4793 2014-07-21 15:10:52Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -353,6 +353,8 @@ public:  /* Methode publiques */
                        vpColVector &displacement);
   void getForceTorque(vpColVector &H) const;
 
+  double getMaxRotationVelocityJoint6() const;
+
   void getPosition (const vpRobot::vpControlFrameType frame,
                     vpColVector &position);
   void getPosition (const vpRobot::vpControlFrameType frame,
@@ -394,6 +396,9 @@ public:  /* Methode publiques */
   static bool readPosFile(const char *filename, vpColVector &q);
   static bool savePosFile(const char *filename, const vpColVector &q);
 
+  void setMaxRotationVelocity(double w_max);
+  void setMaxRotationVelocityJoint6(double w6_max);
+
   // Position control
   void setPosition(const vpRobot::vpControlFrameType frame,
                    const vpColVector &position) ;
@@ -414,6 +419,7 @@ public:  /* Methode publiques */
 private:
   void getArticularDisplacement(vpColVector &displacement);
   void getCameraDisplacement(vpColVector &displacement);
+  double maxRotationVelocity_joint6;
 };
 
 #endif
diff --git a/src/robot/robot/vpRobot.cpp b/src/robot/robot/vpRobot.cpp
index 1f331bcab55ecec85faae1386dc01c702dbe66da..e8addbcd7fadae892c19287865054a3dbef1f529 100644
--- a/src/robot/robot/vpRobot.cpp
+++ b/src/robot/robot/vpRobot.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpRobot.cpp 4632 2014-02-03 17:06:40Z fspindle $
+ * $Id: vpRobot.cpp 5238 2015-01-30 13:52:25Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -74,6 +74,21 @@ vpRobot::vpRobot (const vpRobot &robot)
   *this = robot;
 }
 
+/*!
+   Destructor that free allocated memory.
+ */
+vpRobot::~vpRobot()
+{
+  if (qmin != NULL) {
+    delete [] qmin;
+    qmin = NULL;
+  }
+  if (qmax != NULL) {
+    delete [] qmax;
+    qmax = NULL;
+  }
+}
+
 /*! Copy operator. */
 vpRobot & vpRobot::operator=(const vpRobot &robot)
 {
diff --git a/src/robot/robot/vpRobot.h b/src/robot/robot/vpRobot.h
index 7839599ff60cd2c18486317650f02a19269e1a68..4987af7d9f530f3d67d4fd12a407f4ca1c93dcb6 100644
--- a/src/robot/robot/vpRobot.h
+++ b/src/robot/robot/vpRobot.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpRobot.h 4632 2014-02-03 17:06:40Z fspindle $
+ * $Id: vpRobot.h 5238 2015-01-30 13:52:25Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -117,7 +117,7 @@ protected:
 public:
   vpRobot (void);
   vpRobot (const vpRobot &robot);
-  virtual ~vpRobot() { ; }
+  virtual ~vpRobot();
 
   //---------- Jacobian -----------------------------
   //! Get the robot Jacobian expressed in the end-effector frame
diff --git a/src/robot/simulator-robot/vpRobotWireFrameSimulator.cpp b/src/robot/simulator-robot/vpRobotWireFrameSimulator.cpp
index 2749c10ada952ab86e9db214dc330dc67699f964..e69b9bfb6c18c8bccb27b12da04ea86e47817dd1 100644
--- a/src/robot/simulator-robot/vpRobotWireFrameSimulator.cpp
+++ b/src/robot/simulator-robot/vpRobotWireFrameSimulator.cpp
@@ -53,7 +53,11 @@
 vpRobotWireFrameSimulator::vpRobotWireFrameSimulator()
   : vpWireFrameSimulator(), vpRobotSimulator(),
     I(), tcur(0), tprev(0), robotArms(NULL), size_fMi(8), fMi(NULL), artCoord(), artVel(), velocity(),
-    /* thread(), attr(), */ mutex_fMi(), mutex_artVel(), mutex_artCoord(), mutex_velocity(), mutex_display(),
+#if defined(_WIN32)
+#elif defined(VISP_HAVE_PTHREAD)
+    thread(), attr(),
+#endif
+    mutex_fMi(), mutex_artVel(), mutex_artCoord(), mutex_velocity(), mutex_display(),
     displayBusy(false), robotStop(false), jointLimit(false), jointLimitArt(false), singularityManagement(true),
     cameraParam(),
 #if defined(VISP_HAVE_DISPLAY)
@@ -81,6 +85,10 @@ vpRobotWireFrameSimulator::vpRobotWireFrameSimulator()
 vpRobotWireFrameSimulator::vpRobotWireFrameSimulator(bool do_display)
   : vpWireFrameSimulator(), vpRobotSimulator(),
     I(), tcur(0), tprev(0), robotArms(NULL), size_fMi(8), fMi(NULL), artCoord(), artVel(), velocity(),
+#if defined(_WIN32)
+#elif defined(VISP_HAVE_PTHREAD)
+    thread(), attr(),
+#endif
     /* thread(), attr(), */ mutex_fMi(), mutex_artVel(), mutex_artCoord(), mutex_velocity(), mutex_display(),
     displayBusy(false), robotStop(false), jointLimit(false), jointLimitArt(false), singularityManagement(true),
     cameraParam(),
diff --git a/src/robot/simulator-robot/vpSimulatorAfma6.cpp b/src/robot/simulator-robot/vpSimulatorAfma6.cpp
index 8283073f3f47f3ad023a89dce45cace48154aee5..2a380134e58ea183f76f85b2f380885b2cb8a09a 100644
--- a/src/robot/simulator-robot/vpSimulatorAfma6.cpp
+++ b/src/robot/simulator-robot/vpSimulatorAfma6.cpp
@@ -2276,7 +2276,7 @@ vpSimulatorAfma6::stopMotion()
   stop = 0;
   set_artVel(stop);
   set_velocity(stop);
-  setRobotState (vpRobot::STATE_STOP);
+  vpRobot::setRobotState (vpRobot::STATE_STOP);
 }
 
 
diff --git a/src/robot/simulator-robot/vpSimulatorViper850.cpp b/src/robot/simulator-robot/vpSimulatorViper850.cpp
index 364cea4017044c28828d368f91e5bcb7820ccddb..9286b2a3ba374640d04ecad06b8f22258ecf93bc 100644
--- a/src/robot/simulator-robot/vpSimulatorViper850.cpp
+++ b/src/robot/simulator-robot/vpSimulatorViper850.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpSimulatorViper850.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpSimulatorViper850.cpp 5171 2015-01-15 15:11:54Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -2268,7 +2268,7 @@ vpSimulatorViper850::stopMotion()
   stop = 0;
   set_artVel(stop);
   set_velocity(stop);
-  setRobotState (vpRobot::STATE_STOP);
+  vpRobot::setRobotState (vpRobot::STATE_STOP);
 }
 
 
diff --git a/src/servo/vpAdaptiveGain.cpp b/src/servo/vpAdaptiveGain.cpp
index 1e65445370cf1ddb7d533e55637690cf4dbc522e..6bc54f7c935bd9a12899938bb45aac44951c3dc9 100644
--- a/src/servo/vpAdaptiveGain.cpp
+++ b/src/servo/vpAdaptiveGain.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpAdaptiveGain.cpp 4641 2014-02-05 12:42:03Z fspindle $
+ * $Id: vpAdaptiveGain.cpp 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -86,6 +86,11 @@ vpAdaptiveGain::vpAdaptiveGain ()
   \param c : Value of the constant gain.
 */
 vpAdaptiveGain::vpAdaptiveGain (double c)
+  :
+  coeff_a (),
+  coeff_b (),
+  coeff_c (),
+  lambda(1.)
 {
   initFromConstant(c);
 }
@@ -99,6 +104,11 @@ vpAdaptiveGain::vpAdaptiveGain (double c)
 
 */
 vpAdaptiveGain::vpAdaptiveGain (double gain_at_zero, double gain_at_infinity, double slope_at_zero)
+  :
+  coeff_a (),
+  coeff_b (),
+  coeff_c (),
+  lambda(1.)
 {
   initStandard(gain_at_zero, gain_at_infinity, slope_at_zero);
 }
diff --git a/src/servo/vpServo.cpp b/src/servo/vpServo.cpp
index 02127dd5a77ff02ef3b2d3b0732017302bd17012..04ebe2c7f0d1caddf6a39bd2dff1001d49dfa504 100644
--- a/src/servo/vpServo.cpp
+++ b/src/servo/vpServo.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpServo.cpp 4674 2014-02-17 15:34:41Z fspindle $
+ * $Id: vpServo.cpp 5219 2015-01-28 10:29:21Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -829,7 +829,7 @@ bool vpServo::testInitialization()
     break ;
   case  EYETOHAND_L_cVf_fVe_eJe:
     if (!init_cVf) vpERROR_TRACE("cVf not initialized") ;
-    if (!init_fJe) vpERROR_TRACE("fVe not initialized") ;
+    if (!init_fVe) vpERROR_TRACE("fVe not initialized") ;
     if (!init_eJe) vpERROR_TRACE("eJe not initialized") ;
     return (init_cVf && init_fVe && init_eJe) ;
     break ;
@@ -978,7 +978,7 @@ vpColVector vpServo::computeControlLaw()
     else
       J1p = J1.t() ;
 
-    if (rankJ1 == L.getCols())
+    if (rankJ1 == J1.getCols())
     {
       /* if no degrees of freedom remains (rank J1 = ndof)
        WpW = I, multiply by WpW is useless
@@ -1068,7 +1068,7 @@ vpColVector vpServo::computeControlLaw()
 vpColVector vpServo::computeControlLaw(double t)
 {
   static int iteration =0;
-  static vpColVector e1_initial;
+  //static vpColVector e1_initial;
 
   try
   {
@@ -1145,7 +1145,7 @@ vpColVector vpServo::computeControlLaw(double t)
     else
       J1p = J1.t() ;
 
-    if (rankJ1 == L.getCols())
+    if (rankJ1 == J1.getCols())
     {
       /* if no degrees of freedom remains (rank J1 = ndof)
        WpW = I, multiply by WpW is useless
@@ -1183,6 +1183,9 @@ vpColVector vpServo::computeControlLaw(double t)
     if (iteration==0 || std::fabs(t) < std::numeric_limits<double>::epsilon()) {
       e1_initial = e1;
     }
+    // Security check. If size of e1_initial and e1 differ, that means that e1_initial was not set
+    if (e1_initial.getRows() != e1.getRows())
+      e1_initial = e1;
 
     e = - lambda(e1) * e1 + lambda(e1) * e1_initial*exp(-mu*t);
 
@@ -1241,7 +1244,6 @@ vpColVector vpServo::computeControlLaw(double t)
 vpColVector vpServo::computeControlLaw(double t, const vpColVector &e_dot_init)
 {
   static int iteration =0;
-  static vpColVector e1_initial;
 
   try
   {
@@ -1318,7 +1320,7 @@ vpColVector vpServo::computeControlLaw(double t, const vpColVector &e_dot_init)
     else
       J1p = J1.t() ;
 
-    if (rankJ1 == L.getCols())
+    if (rankJ1 == J1.getCols())
     {
       /* if no degrees of freedom remains (rank J1 = ndof)
        WpW = I, multiply by WpW is useless
@@ -1356,6 +1358,9 @@ vpColVector vpServo::computeControlLaw(double t, const vpColVector &e_dot_init)
     if (iteration==0 || std::fabs(t) < std::numeric_limits<double>::epsilon()) {
       e1_initial = e1;
     }
+    // Security check. If size of e1_initial and e1 differ, that means that e1_initial was not set
+    if (e1_initial.getRows() != e1.getRows())
+      e1_initial = e1;
 
     e = - lambda(e1) * e1 + (e_dot_init + lambda(e1) * e1_initial)*exp(-mu*t);
 
@@ -1415,7 +1420,7 @@ vpColVector vpServo::computeControlLaw(double t, const vpColVector &e_dot_init)
 */
 vpColVector vpServo::secondaryTask(const vpColVector &de2dt)
 {
-  if (rankJ1 == L.getCols())
+  if (rankJ1 == J1.getCols())
   {
     vpERROR_TRACE("no degree of freedom is free, cannot use secondary task") ;
     throw(vpServoException(vpServoException::noDofFree,
@@ -1473,7 +1478,7 @@ vpColVector vpServo::secondaryTask(const vpColVector &de2dt)
 */
 vpColVector vpServo::secondaryTask(const vpColVector &e2, const vpColVector &de2dt)
 {
-  if (rankJ1 == L.getCols())
+  if (rankJ1 == J1.getCols())
   {
     vpERROR_TRACE("no degree of freedom is free, cannot use secondary task") ;
     throw(vpServoException(vpServoException::noDofFree,
diff --git a/src/servo/vpServo.h b/src/servo/vpServo.h
index cb8720cdb5d1ff35f51fcb98195aefeaa2a9d817..9c80a30513d45a39e888bf9419b1c7d0a45a0f8f 100644
--- a/src/servo/vpServo.h
+++ b/src/servo/vpServo.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpServo.h 4674 2014-02-17 15:34:41Z fspindle $
+ * $Id: vpServo.h 5219 2015-01-28 10:29:21Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -560,6 +560,9 @@ public:
   vpColVector sv ;
 
   double mu;
+
+  vpColVector e1_initial;
+
 } ;
 
 #endif
diff --git a/src/simulator/coin-simulator/vpSimulator.cpp b/src/simulator/coin-simulator/vpSimulator.cpp
index d5b031e810daa374d21fecec7420553fddb0e586..684669c2c11b559959a02543249f32e024e4b8b4 100644
--- a/src/simulator/coin-simulator/vpSimulator.cpp
+++ b/src/simulator/coin-simulator/vpSimulator.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpSimulator.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpSimulator.cpp 5263 2015-02-04 13:43:25Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -324,6 +324,23 @@ vpSimulator::kill()
 }
 
 vpSimulator::vpSimulator()
+  :
+#if defined(VISP_HAVE_SOWIN)
+    mainWindow(),
+#elif defined(VISP_HAVE_SOQT)
+    mainWindow(NULL),
+#elif defined(VISP_HAVE_SOXT)
+    mainWindow(),
+#endif
+    mainWindowInitialized(false), typeImage(vpSimulator::grayImage),
+    image_background(NULL), internalView(NULL), externalView(NULL),
+    mainThread(NULL), internal_width(0), internal_height(0),
+    external_width(0), external_height(0), scene(NULL), internalRoot(NULL),
+    externalRoot(NULL), internalCamera(NULL), externalCamera(NULL),
+    internalCameraPosition(NULL), extrenalCameraPosition(NULL), internalCameraObject(NULL),
+    zoomFactor(0.), cameraPositionInitialized(false), cMf(), internalCameraParameters(),
+    externalCameraParameters(), realtime(NULL), offScreenRenderer(NULL), bufferView(NULL),
+    get(0)
 {
   vpSimulator::init() ;
 }
@@ -849,7 +866,6 @@ vpSimulator::addObject(SoSeparator * object,
 
   if (identity==true)
   {
-    vpTRACE("identity ") ;
     root->addChild (object);
   }
   else
diff --git a/src/simulator/image-simulator/vpImageSimulator.cpp b/src/simulator/image-simulator/vpImageSimulator.cpp
index c9d56e8a4fa12669885a44976add6efdb5c0952f..462a2c7371dfad622beee8e76b79ef2ea30ffd83 100644
--- a/src/simulator/image-simulator/vpImageSimulator.cpp
+++ b/src/simulator/image-simulator/vpImageSimulator.cpp
@@ -48,6 +48,7 @@
 #include <visp/vpPixelMeterConversion.h>
 #include <visp/vpMeterPixelConversion.h>
 #include <visp/vpMatrixException.h>
+#include <visp/vpMbtPolygon.h>
 
 /*!
   Basic constructor.
@@ -59,12 +60,12 @@
   By default the class uses colored images.
 */
 vpImageSimulator::vpImageSimulator(const vpColorPlan &col)
-  : cMt(), interp(SIMPLE), normal_obj(), normal_Cam(), normal_Cam_optim(),
+  : cMt(), pt(), ptClipped(), interp(SIMPLE), normal_obj(), normal_Cam(), normal_Cam_optim(),
     distance(1.), visible_result(1.), visible(false), X0_2_optim(NULL),
     euclideanNorm_u(0.), euclideanNorm_v(0.), vbase_u(), vbase_v(),
-    vbase_u_optim(NULL), vbase_v_optim(NULL), Xinter_optim(NULL), T1(), T2(),
+    vbase_u_optim(NULL), vbase_v_optim(NULL), Xinter_optim(NULL), listTriangle(),
     colorI(col), Ig(), Ic(), rect(), cleanPrevImage(false),
-    setBackgroundTexture(false), bgColor(vpColor::white), focal()
+    setBackgroundTexture(false), bgColor(vpColor::white), focal(), needClipping(false)
 {
   for(int i=0;i<4;i++)
     X[i].resize(3);
@@ -90,6 +91,8 @@ vpImageSimulator::vpImageSimulator(const vpColorPlan &col)
   vbase_u_optim = new double[3];
   vbase_v_optim = new double[3];
   Xinter_optim = new double[3];
+
+  pt.resize(4);
 }
 
 
@@ -97,14 +100,15 @@ vpImageSimulator::vpImageSimulator(const vpColorPlan &col)
   Copy constructor
 */
 vpImageSimulator::vpImageSimulator(const vpImageSimulator &text)
-  : cMt(), interp(SIMPLE), normal_obj(), normal_Cam(), normal_Cam_optim(),
+  : cMt(), pt(), ptClipped(), interp(SIMPLE), normal_obj(), normal_Cam(), normal_Cam_optim(),
     distance(1.), visible_result(1.), visible(false), X0_2_optim(NULL),
     euclideanNorm_u(0.), euclideanNorm_v(0.), vbase_u(), vbase_v(),
-    vbase_u_optim(NULL), vbase_v_optim(NULL), Xinter_optim(NULL), T1(), T2(),
+    vbase_u_optim(NULL), vbase_v_optim(NULL), Xinter_optim(NULL), listTriangle(),
     colorI(GRAY_SCALED), Ig(), Ic(), rect(), cleanPrevImage(false),
-    setBackgroundTexture(false), bgColor(vpColor::white), focal()
+    setBackgroundTexture(false), bgColor(vpColor::white), focal(), needClipping(false)
 {
-  for(int i=0;i<4;i++)
+  pt.resize(4);
+  for(unsigned int i=0;i<4;i++)
   {
     X[i] = text.X[i];
     pt[i] = text.pt[i];
@@ -160,7 +164,7 @@ vpImageSimulator::~vpImageSimulator()
 vpImageSimulator&
 vpImageSimulator::operator=(const vpImageSimulator& sim)
 {
-  for(int i=0;i<4;i++)
+  for(unsigned int i=0;i<4;i++)
   {
     X[i] = sim.X[i];
     pt[i] = sim.pt[i];
@@ -217,7 +221,10 @@ vpImageSimulator::getImage(vpImage<unsigned char> &I,
 
   if(visible)
   {
-    getRoi(I.getWidth(),I.getHeight(),cam,pt,rect);
+    if(!needClipping)
+        getRoi(I.getWidth(),I.getHeight(),cam,pt,rect);
+    else
+        getRoi(I.getWidth(),I.getHeight(),cam,ptClipped,rect);
     
     double top = rect.getTop();
     double bottom = rect.getBottom();
@@ -227,7 +234,7 @@ vpImageSimulator::getImage(vpImage<unsigned char> &I,
     unsigned char *bitmap = I.bitmap;
     unsigned int width = I.getWidth();
     vpImagePoint ip;
-    
+
     for (unsigned int i = (unsigned int)top; i < (unsigned int)bottom; i++)
     {
       for (unsigned int j = (unsigned int)left; j < (unsigned int)right; j++)
@@ -287,7 +294,10 @@ vpImageSimulator::getImage(vpImage<unsigned char> &I,
   }
   if(visible)
   {
-    getRoi(I.getWidth(),I.getHeight(),cam,pt,rect);
+    if(!needClipping)
+        getRoi(I.getWidth(),I.getHeight(),cam,pt,rect);
+    else
+        getRoi(I.getWidth(),I.getHeight(),cam,ptClipped,rect);
 
     double top = rect.getTop();
     double bottom = rect.getBottom();
@@ -347,7 +357,10 @@ vpImageSimulator::getImage(vpImage<unsigned char> &I,
   }
   if(visible)
   {
-    getRoi(I.getWidth(),I.getHeight(),cam,pt,rect);
+    if(!needClipping)
+        getRoi(I.getWidth(),I.getHeight(),cam,pt,rect);
+    else
+        getRoi(I.getWidth(),I.getHeight(),cam,ptClipped,rect);
     
     double top = rect.getTop();
     double bottom = rect.getBottom();
@@ -421,7 +434,10 @@ vpImageSimulator::getImage(vpImage<vpRGBa> &I, const vpCameraParameters &cam)
   
   if(visible)
   {
-    getRoi(I.getWidth(),I.getHeight(),cam,pt,rect);
+    if(!needClipping)
+        getRoi(I.getWidth(),I.getHeight(),cam,pt,rect);
+    else
+        getRoi(I.getWidth(),I.getHeight(),cam,ptClipped,rect);
     
     double top = rect.getTop();
     double bottom = rect.getBottom();
@@ -493,7 +509,10 @@ vpImageSimulator::getImage(vpImage<vpRGBa> &I, vpImage<vpRGBa> &Isrc,
   
   if(visible)
   {
-    getRoi(I.getWidth(),I.getHeight(),cam,pt,rect);
+    if(!needClipping)
+        getRoi(I.getWidth(),I.getHeight(),cam,pt,rect);
+    else
+        getRoi(I.getWidth(),I.getHeight(),cam,ptClipped,rect);
     
     double top = rect.getTop();
     double bottom = rect.getBottom();
@@ -552,7 +571,10 @@ vpImageSimulator::getImage(vpImage<vpRGBa> &I, const vpCameraParameters &cam,
   }
   if(visible)
   {
-    getRoi(I.getWidth(),I.getHeight(),cam,pt,rect);
+    if(!needClipping)
+        getRoi(I.getWidth(),I.getHeight(),cam,pt,rect);
+    else
+        getRoi(I.getWidth(),I.getHeight(),cam,ptClipped,rect);
     
     double top = rect.getTop();
     double bottom = rect.getBottom();
@@ -757,8 +779,10 @@ vpImageSimulator::getImage(vpImage<unsigned char> &I,
       
   for (unsigned int i = 0; i < nbsimList; i++)
   {
-    
-    simList[i]->getRoi(width,height,cam,simList[i]->pt,simList[i]->rect);
+    if(!simList[i]->needClipping)
+        simList[i]->getRoi(width,height,cam,simList[i]->pt,simList[i]->rect);
+    else
+        simList[i]->getRoi(width,height,cam,simList[i]->ptClipped,simList[i]->rect);
     
     if (topFinal > simList[i]->rect.getTop()) topFinal = simList[i]->rect.getTop();
     if (bottomFinal < simList[i]->rect.getBottom()) bottomFinal = simList[i]->rect.getBottom();
@@ -962,8 +986,10 @@ vpImageSimulator::getImage(vpImage<vpRGBa> &I, vpList<vpImageSimulator> &list,
       
   for (unsigned int i = 0; i < nbsimList; i++)
   {
-    
-    simList[i]->getRoi(width,height,cam,simList[i]->pt,simList[i]->rect);
+    if(!simList[i]->needClipping)
+        simList[i]->getRoi(width,height,cam,simList[i]->pt,simList[i]->rect);
+    else
+        simList[i]->getRoi(width,height,cam,simList[i]->ptClipped,simList[i]->rect);
     
     if (topFinal > simList[i]->rect.getTop()) topFinal = simList[i]->rect.getTop();
     if (bottomFinal < simList[i]->rect.getBottom()) bottomFinal = simList[i]->rect.getBottom();
@@ -1165,8 +1191,10 @@ vpImageSimulator::getImage(vpImage<unsigned char> &I,
 
   for (unsigned int i = 0; i < nbsimList; i++)
   {
-
-    simList[i]->getRoi(width,height,cam,simList[i]->pt,simList[i]->rect);
+    if(!simList[i]->needClipping)
+        simList[i]->getRoi(width,height,cam,simList[i]->pt,simList[i]->rect);
+    else
+        simList[i]->getRoi(width,height,cam,simList[i]->ptClipped,simList[i]->rect);
 
     if (topFinal > simList[i]->rect.getTop()) topFinal = simList[i]->rect.getTop();
     if (bottomFinal < simList[i]->rect.getBottom()) bottomFinal = simList[i]->rect.getBottom();
@@ -1365,8 +1393,10 @@ vpImageSimulator::getImage(vpImage<vpRGBa> &I,
 
   for (unsigned int i = 0; i < nbsimList; i++)
   {
-
-    simList[i]->getRoi(width,height,cam,simList[i]->pt,simList[i]->rect);
+    if(!simList[i]->needClipping)
+        simList[i]->getRoi(width,height,cam,simList[i]->pt,simList[i]->rect);
+    else
+        simList[i]->getRoi(width,height,cam,simList[i]->ptClipped,simList[i]->rect);
 
     if (topFinal > simList[i]->rect.getTop()) topFinal = simList[i]->rect.getTop();
     if (bottomFinal < simList[i]->rect.getBottom()) bottomFinal = simList[i]->rect.getBottom();
@@ -1437,12 +1467,13 @@ vpImageSimulator::setCameraPosition(const vpHomogeneousMatrix &cMt_)
   cMt = cMt_;
   vpRotationMatrix R;
   cMt.extract(R);
+  needClipping = false;
 
   normal_Cam = R * normal_obj;	
   
   visible_result = vpColVector::dotProd(normal_Cam,focal);
   
-  for(int i = 0; i < 4; i++)
+  for(unsigned int i = 0; i < 4; i++)
     pt[i].track(cMt);
   
   vpColVector e1(3) ;
@@ -1461,18 +1492,21 @@ vpImageSimulator::setCameraPosition(const vpHomogeneousMatrix &cMt_)
 
   double angle = pt[0].get_X()*facenormal[0] +  pt[0].get_Y()*facenormal[1]  +  pt[0].get_Z()*facenormal[2]  ;
 
-  if (angle > 0)
+  if (angle > 0){
     visible=true;
+  }
   else {
     visible=false;
   }
 
   if(visible)
   {
-    for(int i = 0; i < 4; i++)
+    for(unsigned int i = 0; i < 4; i++)
     {
       project(X[i],cMt,X2[i]);
       pt[i].track(cMt);
+      if(pt[i].get_Z() < 0)
+        needClipping = true;
     }
 
     vbase_u = X2[1]-X2[0];
@@ -1480,6 +1514,7 @@ vpImageSimulator::setCameraPosition(const vpHomogeneousMatrix &cMt_)
 
     distance = vpColVector::dotProd(normal_Cam,X2[1]);
     
+
     if(distance < 0)
     {
       visible = false;
@@ -1493,16 +1528,28 @@ vpImageSimulator::setCameraPosition(const vpHomogeneousMatrix &cMt_)
       vbase_u_optim[i] = vbase_u[i];
       vbase_v_optim[i] = vbase_v[i];
     }
-    
-    vpImagePoint iPa[4];
-    for(unsigned int i = 0; i < 4; i++)
-    {
-      iPa[i].set_j(X2[i][0]/X2[i][2]);
-      iPa[i].set_i(X2[i][1]/X2[i][2]);
+
+    std::vector<vpPoint> *ptPtr = &pt;
+    if(needClipping){
+        vpMbtPolygon::getClippedPolygon(pt,ptClipped,cMt,vpMbtPolygon::NEAR_CLIPPING);
+        ptPtr = &ptClipped;
+    }
+
+    listTriangle.clear();
+    for(unsigned int i = 1 ; i < (*ptPtr).size()-1 ; i++){
+      vpImagePoint ip1, ip2, ip3;
+      ip1.set_j((*ptPtr)[0].get_x());
+      ip1.set_i((*ptPtr)[0].get_y());
+
+      ip2.set_j((*ptPtr)[i].get_x());
+      ip2.set_i((*ptPtr)[i].get_y());
+
+      ip3.set_j((*ptPtr)[i+1].get_x());
+      ip3.set_i((*ptPtr)[i+1].get_y());
+
+      vpTriangle tri(ip1,ip2,ip3);
+      listTriangle.push_back(tri);
     }
-    
-    T1.buildFrom(iPa[0],iPa[1],iPa[3]);
-    T2.buildFrom(iPa[2],iPa[1],iPa[3]);
   }
 }
 
@@ -1685,9 +1732,19 @@ vpImageSimulator::init(const char* file_image, const std::vector<vpPoint>& X_)
 bool
 vpImageSimulator::getPixel(const vpImagePoint &iP, unsigned char &Ipixelplan)
 {
+//  std::cout << "In get Pixel" << std::endl;
   //test si pixel dans zone projetee
-  if(!T1.inTriangle(iP) && !T2.inTriangle(iP))
-    return false;
+  bool inside = false;
+  for(unsigned int i = 0 ; i < listTriangle.size() ; i++)
+      if(listTriangle[i].inTriangle(iP)){
+          inside = true;
+          break;
+      }
+  if(!inside) return false;
+
+//  if(!T1.inTriangle(iP) && !T2.inTriangle(iP)){
+////      std::cout << "The pixel is inside the projected area" << std::endl;
+//    return false;}
 
   //methoed algebrique
   double z;
@@ -1735,8 +1792,16 @@ vpImageSimulator::getPixel(vpImage<unsigned char> &Isrc,
 			   const vpImagePoint &iP, unsigned char &Ipixelplan)
 {
   //test si pixel dans zone projetee
-  if(!T1.inTriangle(iP) && !T2.inTriangle(iP))
-    return false;
+  bool inside = false;
+  for(unsigned int i = 0 ; i < listTriangle.size() ; i++)
+      if(listTriangle[i].inTriangle(iP)){
+          inside = true;
+          break;
+      }
+  if(!inside) return false;
+
+//  if(!T1.inTriangle(iP) && !T2.inTriangle(iP))
+//    return false;
 
   //methoed algebrique
   double z;
@@ -1784,8 +1849,15 @@ bool
 vpImageSimulator::getPixel(const vpImagePoint &iP, vpRGBa &Ipixelplan)
 {
   //test si pixel dans zone projetee
-  if(!T1.inTriangle(iP) && !T2.inTriangle(iP))
-    return false;
+  bool inside = false;
+  for(unsigned int i = 0 ; i < listTriangle.size() ; i++)
+      if(listTriangle[i].inTriangle(iP)){
+          inside = true;
+          break;
+      }
+  if(!inside) return false;
+//  if(!T1.inTriangle(iP) && !T2.inTriangle(iP))
+//    return false;
 
   //methoed algebrique
   double z;
@@ -1833,8 +1905,15 @@ vpImageSimulator::getPixel(vpImage<vpRGBa> &Isrc, const vpImagePoint &iP,
 			   vpRGBa &Ipixelplan)
 {
   //test si pixel dans zone projetee
-  if(!T1.inTriangle(iP) && !T2.inTriangle(iP))
-    return false;
+//  if(!T1.inTriangle(iP) && !T2.inTriangle(iP))
+//    return false;
+  bool inside = false;
+  for(unsigned int i = 0 ; i < listTriangle.size() ; i++)
+      if(listTriangle[i].inTriangle(iP)){
+          inside = true;
+          break;
+      }
+  if(!inside) return false;
 
   //methoed algebrique
   double z;
@@ -1881,8 +1960,15 @@ bool
 vpImageSimulator::getPixelDepth(const vpImagePoint &iP, double &Zpixelplan)
 {
   //test si pixel dans zone projetee
-  if(!T1.inTriangle(iP) && !T2.inTriangle(iP))
-    return false;
+    bool inside = false;
+    for(unsigned int i = 0 ; i < listTriangle.size() ; i++)
+        if(listTriangle[i].inTriangle(iP)){
+            inside = true;
+            break;
+        }
+    if(!inside) return false;
+//  if(!T1.inTriangle(iP) && !T2.inTriangle(iP))
+//    return false;
 
   Zpixelplan = distance/(normal_Cam_optim[0]*iP.get_u()+normal_Cam_optim[1]*iP.get_v()+normal_Cam_optim[2]);
   return true;
@@ -1893,8 +1979,15 @@ vpImageSimulator::getPixelVisibility(const vpImagePoint &iP,
 				     double &Visipixelplan)
 {
   //test si pixel dans zone projetee
-  if(!T1.inTriangle(iP) && !T2.inTriangle(iP))
-    return false;
+  bool inside = false;
+  for(unsigned int i = 0 ; i < listTriangle.size() ; i++)
+      if(listTriangle[i].inTriangle(iP)){
+          inside = true;
+          break;
+      }
+  if(!inside) return false;
+//  if(!T1.inTriangle(iP) && !T2.inTriangle(iP))
+//    return false;
   
   Visipixelplan = visible_result;
   return true;
@@ -1929,13 +2022,15 @@ void
 vpImageSimulator::getRoi(const unsigned int &Iwidth, 
 			 const unsigned int &Iheight, 
 			 const vpCameraParameters &cam, 
-			 vpPoint* point, vpRect &rectangle)
+             const std::vector<vpPoint> &point,
+             vpRect &rectangle)
 {
   double top = Iheight+1;
   double bottom = -1;
   double right = -1;
   double left= Iwidth+1;
-  for( int i = 0; i < 4; i++)
+
+  for( unsigned int i = 0; i < point.size(); i++)
   {
     double u=0,v=0;
     vpMeterPixelConversion::convertPoint(cam,point[i].get_x(),point[i].get_y(),u,v);
diff --git a/src/simulator/image-simulator/vpImageSimulator.h b/src/simulator/image-simulator/vpImageSimulator.h
index 01f99ea5d9d12d9eefc69110adff69d979681f16..054a519b5b94e76db03751033cda69d7bb2bcd29 100644
--- a/src/simulator/image-simulator/vpImageSimulator.h
+++ b/src/simulator/image-simulator/vpImageSimulator.h
@@ -152,9 +152,10 @@ class VISP_EXPORT vpImageSimulator
     
   private:
     vpColVector X[4];
-    vpPoint pt[4];
     vpHomogeneousMatrix cMt;
     vpColVector X2[4];
+    std::vector<vpPoint> pt;
+    std::vector<vpPoint> ptClipped;
     
     vpInterpolationType interp;
 
@@ -187,7 +188,7 @@ class VISP_EXPORT vpImageSimulator
     double *Xinter_optim;
 
     //triangles de projection du plan
-    vpTriangle T1,T2;
+    std::vector<vpTriangle> listTriangle;
     
     //image de texture
     vpColorPlan colorI;
@@ -200,6 +201,9 @@ class VISP_EXPORT vpImageSimulator
     vpColor bgColor;
     
     vpColVector focal;
+
+    //boolean to tell if the points in the camera frame have to be clipped
+    bool needClipping;
     
   public:
     vpImageSimulator(const vpColorPlan &col = COLORED);
@@ -286,7 +290,7 @@ class VISP_EXPORT vpImageSimulator
     
     //result = plan est visible.
     //ie: un plan est oriente dans si normal_plan.focal < 0 => plan est visible sinon invisible.
-    bool isVisible() {return visible;};
+    bool isVisible() {return visible;}
     
     //function that project a point x,y on the plane, return true if the projection is on the limited plane
     // and in this case return the corresponding image pixel Ipixelplan
@@ -308,7 +312,7 @@ class VISP_EXPORT vpImageSimulator
     void getCoordFromHomog(const vpColVector &_vH, vpColVector &_v);
     
     void getRoi(const unsigned int &Iwidth, const unsigned int &Iheight, 
-		const vpCameraParameters &cam, vpPoint* pt, vpRect &rect);
+        const vpCameraParameters &cam, const std::vector<vpPoint> &point, vpRect &rect);
 };
 
 
diff --git a/src/simulator/ogre-simulator/vpAROgre.cpp b/src/simulator/ogre-simulator/vpAROgre.cpp
index 79a2fc9cdc1edc7e498102b296e6fd7c22c5acbf..074a0e6bc3cece07e494d4fdf0c0d94fab09f6ab 100644
--- a/src/simulator/ogre-simulator/vpAROgre.cpp
+++ b/src/simulator/ogre-simulator/vpAROgre.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpAROgre.cpp 4604 2014-01-21 14:15:23Z fspindle $
+ * $Id: vpAROgre.cpp 5234 2015-01-30 13:51:02Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -75,33 +75,17 @@
 vpAROgre::vpAROgre(const vpCameraParameters &cam,
 		   unsigned int width, unsigned int height,
 		   const char *resourcePath, const char *pluginsPath)
-  : mRoot(0), mCamera(0), mSceneMgr(0), mWindow(0)
+    : name("ViSP - Augmented Reality"),mRoot(0), mCamera(0), mSceneMgr(0), mWindow(0),
+      mResourcePath(resourcePath), mPluginsPath(pluginsPath),
 #ifdef VISP_HAVE_OIS
-  , mInputManager(0), mKeyboard(0)
+      mInputManager(0), mKeyboard(0),
 #endif
+      keepOn(true), // When created no reason to stop displaying
+      mImageRGBA(), mImage(), mPixelBuffer(NULL), mBackground(NULL), mBackgroundHeight(0),
+      mBackgroundWidth(0), mWindowHeight(height), mWindowWidth(width), windowHidden(false),
+      mNearClipping(0.001), mFarClipping(200), mcam(cam), mshowConfigDialog(true),
+      mOptionnalResourceLocation()
 {
-  // Get resources.cfg path
-  mResourcePath = resourcePath;
-  //std::cout << "mResourcePath: " << mResourcePath<< std::endl;
-  // Get plugins.cfg path
-  mPluginsPath = pluginsPath;
-  //std::cout << "mPluginsPath: " << mPluginsPath<< std::endl;
-  // Set intrinsic camera parameters
-  mcam = cam;
-  // When created no reason to stop displaying
-  keepOn = true;
-  // Set Dimensions
-  mWindowWidth = width;
-  mWindowHeight = height;
-  windowHidden = false;
-  mshowConfigDialog = true;
-  mOptionnalResourceLocation.clear();
-
-  name = "ViSP - Augmented Reality";
-
-  mBackground = NULL;
-  mBackgroundHeight = 0;
-  mBackgroundWidth = 0;
 }
 
 /*!
@@ -338,8 +322,11 @@ void vpAROgre::init(bool
     Ogre::String rightconf = (*it).second.currentValue;
 
     if(leftconf == "Video Mode"){
-      if(canInit)
-        sscanf(rightconf.c_str(), "%d %*s %d", &mWindowWidth, &mWindowHeight);
+      if(canInit) {
+        int ret = sscanf(rightconf.c_str(), "%d %*s %d", &mWindowWidth, &mWindowHeight);
+        if (ret == 0)
+          std::cout << "Cannot read Ogre video mode" << std::endl;
+      }
       else{
         if(mWindowWidth == 0 && mWindowHeight == 0){
           mWindowWidth = mBackgroundWidth;
@@ -942,23 +929,27 @@ void vpAROgre::closeOIS(void)
 /*!
   Update the projection parameters of the camera.
 */
+// Note: equation taken from:
+// http://strawlab.org/2011/11/05/augmented-reality-with-OpenGL/
 void vpAROgre::updateCameraProjection(void)
 {
-  Ogre::Real f,n,f_m_n,f_p_n,px,py,u0,v0;
-  f = (Ogre::Real)200.0; // Far clip distance
-  n = (Ogre::Real)0.001; // Near clip distance
-  f_m_n = (Ogre::Real)(f-n);
-  f_p_n = (Ogre::Real)(f+n);
-  px = (Ogre::Real)mcam.get_px();
-  py = (Ogre::Real)mcam.get_py();
-  u0 = (Ogre::Real)mcam.get_u0();
-  v0 = (Ogre::Real)mcam.get_v0();
-  Ogre::Matrix4 Projection
-    = Ogre::Matrix4( (Ogre::Real)(2.0*px/mBackgroundWidth), 0,  (Ogre::Real)(2.0*(u0/mBackgroundWidth)-1.0), 0,
-		     0, (Ogre::Real)(2.0*py/mBackgroundHeight), (Ogre::Real)(2.0*(v0/mBackgroundHeight)-1.0),0,
-		     0, 0, (Ogre::Real)(-1.0*f_p_n/f_m_n), (Ogre::Real)(-2.0*f*n/f_m_n),
-		     0, 0, -1.0, 0);
-  mCamera->setCustomProjectionMatrix(true, Projection);
+  if(mCamera != 0){
+      Ogre::Real f,n,f_m_n,f_p_n,px,py,u0,v0;
+      f = (Ogre::Real)(mFarClipping); // Far clip distance
+      n = (Ogre::Real)(mNearClipping); // Near clip distance
+      f_m_n = (Ogre::Real)(f-n);
+      f_p_n = (Ogre::Real)(f+n);
+      px = (Ogre::Real)mcam.get_px();
+      py = (Ogre::Real)mcam.get_py();
+      u0 = (Ogre::Real)mcam.get_u0();
+      v0 = (Ogre::Real)mcam.get_v0();
+      Ogre::Matrix4 Projection
+        = Ogre::Matrix4( (Ogre::Real)(2.0*px/mBackgroundWidth), 0,  (Ogre::Real)(1.0 - 2.0*(u0/mBackgroundWidth)), 0,
+                 0, (Ogre::Real)(2.0*py/mBackgroundHeight), (Ogre::Real)(-1.0 + 2.0*(v0/mBackgroundHeight)),0,
+                 0, 0, (Ogre::Real)(-1.0*f_p_n/f_m_n), (Ogre::Real)(-2.0*f*n/f_m_n),
+                 0, 0, -1.0, 0);
+      mCamera->setCustomProjectionMatrix(true, Projection);
+  }
 }
 
 /*!
diff --git a/src/simulator/ogre-simulator/vpAROgre.h b/src/simulator/ogre-simulator/vpAROgre.h
index 42dd1839a592bcc5b00409f784ff9a2303bd945b..7ce79b51b0d8a22aed1d6f09442d85ac8f4bbfc5 100644
--- a/src/simulator/ogre-simulator/vpAROgre.h
+++ b/src/simulator/ogre-simulator/vpAROgre.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpAROgre.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpAROgre.h 4931 2014-10-09 14:02:52Z ayol $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -140,6 +140,20 @@ class VISP_EXPORT vpAROgre : public Ogre::FrameListener, public Ogre::WindowEven
            const vpHomogeneousMatrix &cMw);
   
   inline Ogre::Camera* getCamera(){ return mCamera; }
+
+  /*!
+    Get the far distance for clipping.
+
+    \return Far clipping value.
+  */
+  inline double getFarClippingDistance() const { return mFarClipping; }
+
+  /*!
+    Get the near distance for clipping.
+
+    \return Near clipping value.
+  */
+  inline double getNearClippingDistance() const { return mNearClipping; }
   
   vpTranslationVector getPosition(const std::string &name)const;
   
@@ -175,6 +189,26 @@ class VISP_EXPORT vpAROgre : public Ogre::FrameListener, public Ogre::WindowEven
   bool renderOneFrame(const vpImage<vpRGBa> &I, const vpHomogeneousMatrix &cMw);
   
   void setCameraParameters(const vpCameraParameters &cameraP);
+
+  /*!
+    Set the far distance for clipping.
+
+    \param dist : Far clipping value.
+  */
+  void setFarClippingDistance(const double &dist){
+    mFarClipping = dist;
+    updateCameraProjection();
+  }
+
+  /*!
+    Set the near distance for clipping.
+
+    \param dist : Near clipping value.
+  */
+  void setNearClippingDistance(const double &dist){
+    mNearClipping = dist;
+    updateCameraProjection();
+  }
   
   /*!
     Set the plugins path used to locate the plugins.cfg file.
@@ -287,7 +321,15 @@ class VISP_EXPORT vpAROgre : public Ogre::FrameListener, public Ogre::WindowEven
     
     \return Always true.
   */
-  virtual bool destroyScene(void) {return true;};
+  virtual bool destroyScene(void) {
+      if(!mSceneMgr)
+           return false;
+
+      mSceneMgr->destroyAllCameras ();
+      mSceneMgr->clearScene();
+      mRoot->destroySceneManager(mSceneMgr);
+      return true;
+  }
   
   virtual void updateCameraParameters (const vpHomogeneousMatrix &cMo);
 
@@ -340,6 +382,8 @@ class VISP_EXPORT vpAROgre : public Ogre::FrameListener, public Ogre::WindowEven
   bool windowHidden;                                     /** Is window hidden */
 
   // Camera calculations
+  double mNearClipping;                          /** Near Clipping Distance **/
+  double mFarClipping;                           /** Far Clipping Distance **/
   vpCameraParameters mcam;                       /** The intrinsic camera parameters */
   
   bool mshowConfigDialog;                         /** if true, shows the dialog window (used to set the display options) */
diff --git a/src/simulator/wireframe-simulator/core/vpArit.c b/src/simulator/wireframe-simulator/core/vpArit.cpp
similarity index 99%
rename from src/simulator/wireframe-simulator/core/vpArit.c
rename to src/simulator/wireframe-simulator/core/vpArit.cpp
index 62f7f5fbd470966e3f5ce90a27611890d2e7e964..d4ca6a5ced84f7d73de20a3d0c36698e2727955c 100755
--- a/src/simulator/wireframe-simulator/core/vpArit.c
+++ b/src/simulator/wireframe-simulator/core/vpArit.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpArit.c 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpArit.cpp 5284 2015-02-09 14:24:10Z fspindle $
  *
 * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
diff --git a/src/simulator/wireframe-simulator/core/vpAritio.c b/src/simulator/wireframe-simulator/core/vpAritio.cpp
similarity index 97%
rename from src/simulator/wireframe-simulator/core/vpAritio.c
rename to src/simulator/wireframe-simulator/core/vpAritio.cpp
index 80d935148892e6b6b32a4c44d456f9aa3044efcf..716db6ea61ce1326673413a1eb7e5f32fd240d8d 100755
--- a/src/simulator/wireframe-simulator/core/vpAritio.c
+++ b/src/simulator/wireframe-simulator/core/vpAritio.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpAritio.c 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpAritio.cpp 5284 2015-02-09 14:24:10Z fspindle $
  *
 * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -74,7 +74,7 @@ void fprintf_Position (FILE *f, AritPosition *pp)
  */
 void fscanf_Point3f (Point3f *pp)
 {
-static	 char	*err_tbl[] = {
+static const char	*err_tbl[] = {
 "float expected (coordinate ",
 " of point)"
 };
@@ -106,7 +106,7 @@ static	 char	*err_tbl[] = {
  */
 void fscanf_Vector (Vector *vp)
 {
-static	 char	*err_tbl[] = {
+static const char	*err_tbl[] = {
 "float expected (coordinate ",
 " of vector)"
 };
diff --git a/src/simulator/wireframe-simulator/core/vpBound.c b/src/simulator/wireframe-simulator/core/vpBound.cpp
similarity index 99%
rename from src/simulator/wireframe-simulator/core/vpBound.c
rename to src/simulator/wireframe-simulator/core/vpBound.cpp
index 2eb3980976661148e0b4e9a1d602ddf447e4949d..1a875159a37c35c80114771462f57d25b917b67e 100755
--- a/src/simulator/wireframe-simulator/core/vpBound.c
+++ b/src/simulator/wireframe-simulator/core/vpBound.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpBound.c 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpBound.cpp 5284 2015-02-09 14:24:10Z fspindle $
  *
 * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
diff --git a/src/simulator/wireframe-simulator/core/vpBoundio.c b/src/simulator/wireframe-simulator/core/vpBoundio.cpp
similarity index 97%
rename from src/simulator/wireframe-simulator/core/vpBoundio.c
rename to src/simulator/wireframe-simulator/core/vpBoundio.cpp
index c27cc5949848144495370b032abb3dda36dae384..fe971a0ac15ecde7ebb09d1909dd805608ed24be 100755
--- a/src/simulator/wireframe-simulator/core/vpBoundio.c
+++ b/src/simulator/wireframe-simulator/core/vpBoundio.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpBoundio.c 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpBoundio.cpp 5284 2015-02-09 14:24:10Z fspindle $
  *
 * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -166,9 +166,9 @@ void fscanf_Face_list (Face_list *lp)
  */
 void fscanf_Point3f_list (Point3f_list *lp)
 {
-	static	char	proc_name[] = "fscanf_Point3f_list";
+  static const char	proc_name[] = "fscanf_Point3f_list";
 
-static	char	*err_tbl[] = {
+static const char	*err_tbl[] = {
 "float expected (coordinate ",
 " of point)"
 };
diff --git a/src/simulator/wireframe-simulator/core/vpClipping.c b/src/simulator/wireframe-simulator/core/vpClipping.cpp
similarity index 95%
rename from src/simulator/wireframe-simulator/core/vpClipping.c
rename to src/simulator/wireframe-simulator/core/vpClipping.cpp
index b36a3c33dca6b4f8270a04d7ffbd1207f72ba00f..63c34136e4007d5eecc73a3429522b3ee5bd77af 100755
--- a/src/simulator/wireframe-simulator/core/vpClipping.c
+++ b/src/simulator/wireframe-simulator/core/vpClipping.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpClipping.c 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpClipping.cpp 5285 2015-02-09 14:32:54Z fspindle $
  *
 * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -58,8 +58,8 @@
 #include <visp/vpView.h>
 #include <stdio.h>
 #include <stdlib.h>
-#include <float.h>  //DBL_EPSILON
-#include <math.h>  //DBL_EPSILON
+#include <limits>
+#include <cmath>
 
 void open_clipping (void);
 void close_clipping (void);
@@ -337,7 +337,7 @@ inter (Byte mask, Index v0, Index v1)
 	/* t = (p0->w - p0->y) / ((p0->w - p0->y) - (p1->w - p1->y));	*/
 		t = (p0->w - p0->y) - (p1->w - p1->y);
 		//t = (t == 0) ? (float)1.0 : (p0->w - p0->y) / t;
-		t = (fabs(t) <= DBL_EPSILON) ? (float)1.0 : (p0->w - p0->y) / t;
+    t = (std::fabs(t) <= std::numeric_limits<double>::epsilon()) ? (float)1.0 : (p0->w - p0->y) / t;
 		PAR_COORD3(*p,t,*p0,*p1);
 		p->w = p->y;	/* propriete du point d'intersection	*/
 		break;
@@ -346,7 +346,7 @@ inter (Byte mask, Index v0, Index v1)
 	/* t = (p0->w + p0->y) / ((p0->w + p0->y) - (p1->w + p1->y));	*/
 		t = (p0->w + p0->y) - (p1->w + p1->y);
 		//t = (t == 0) ? (float)1.0 : (p0->w + p0->y) / t;
-		t = (fabs(t) <= DBL_EPSILON) ? (float)1.0 : (p0->w + p0->y) / t;
+    t = (std::fabs(t) <= std::numeric_limits<double>::epsilon()) ? (float)1.0 : (p0->w + p0->y) / t;
 		PAR_COORD3(*p,t,*p0,*p1);
 		p->w = - p->y;	/* propriete du point d'intersection	*/
 		break;
@@ -355,7 +355,7 @@ inter (Byte mask, Index v0, Index v1)
 	/* t = (p0->w - p0->x) / ((p0->w - p0->x) - (p1->w - p1->x));	*/
 		t = (p0->w - p0->x) - (p1->w - p1->x);
 		//t = (t == 0) ? (float)1.0 : (p0->w - p0->x) / t;
-		t = (fabs(t) <= DBL_EPSILON) ? (float)1.0 : (p0->w - p0->x) / t;
+    t = (std::fabs(t) <= std::numeric_limits<double>::epsilon()) ? (float)1.0 : (p0->w - p0->x) / t;
 		PAR_COORD3(*p,t,*p0,*p1);
 		p->w = p->x;	/* propriete du point d'intersection	*/
 		break;
@@ -364,7 +364,7 @@ inter (Byte mask, Index v0, Index v1)
 	/* t = (p0->w + p0->x) / ((p0->w + p0->x) - (p1->w + p1->x));	*/ 
 		t = (p0->w + p0->x) - (p1->w + p1->x);
 		//t = (t == 0) ? (float)1.0 : (p0->w + p0->x) / t;
-		t = (fabs(t) <= DBL_EPSILON) ? (float)1.0 : (p0->w + p0->x) / t;
+    t = (std::fabs(t) <= std::numeric_limits<double>::epsilon()) ? (float)1.0 : (p0->w + p0->x) / t;
 		PAR_COORD3(*p,t,*p0,*p1);
 		p->w = - p->x;	/* propriete du point d'intersection	*/
 		break;
@@ -373,7 +373,7 @@ inter (Byte mask, Index v0, Index v1)
 	/* t = (p0->w - p0->z) / ((p0->w - p0->z) - (p1->w - p1->z));	*/
 		t = (p0->w - p0->z) - (p1->w - p1->z);
 		//t = (t == 0) ? (float)1.0 : (p0->w - p0->z) / t;
-		t = (fabs(t) <= DBL_EPSILON) ? (float)1.0 : (p0->w - p0->z) / t;
+    t = (std::fabs(t) <= std::numeric_limits<double>::epsilon()) ? (float)1.0 : (p0->w - p0->z) / t;
 		PAR_COORD3(*p,t,*p0,*p1);
 		p->w = p->z;	/* propriete du point d'intersection	*/
 		break;
@@ -382,7 +382,7 @@ inter (Byte mask, Index v0, Index v1)
 	/* t =  p0->z / (p0->z - p1->z);				*/
 		t =  (p0->z - p1->z);
 		//t = (t == 0) ? (float)1.0 : p0->z / t;
-		t = (fabs(t) <= DBL_EPSILON) ? (float)1.0 : p0->z / t;
+    t = (std::fabs(t) <= std::numeric_limits<double>::epsilon()) ? (float)1.0 : p0->z / t;
 		p->x = (p1->x - p0->x) * t + p0->x;
 		p->y = (p1->y - p0->y) * t + p0->y;
 		p->w = (p1->w - p0->w) * t + p0->w;
diff --git a/src/simulator/wireframe-simulator/core/vpDisplay.c b/src/simulator/wireframe-simulator/core/vpCoreDisplay.cpp
similarity index 99%
rename from src/simulator/wireframe-simulator/core/vpDisplay.c
rename to src/simulator/wireframe-simulator/core/vpCoreDisplay.cpp
index ca80982f6651f5ce60ea5f92acd80c660455e078..6cc784b043f255def543a13867e77d17c455cc18 100755
--- a/src/simulator/wireframe-simulator/core/vpDisplay.c
+++ b/src/simulator/wireframe-simulator/core/vpCoreDisplay.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpDisplay.c 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpCoreDisplay.cpp 5294 2015-02-10 09:41:38Z fspindle $
  *
 * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
diff --git a/src/simulator/wireframe-simulator/core/vpKeyword.c b/src/simulator/wireframe-simulator/core/vpKeyword.cpp
similarity index 93%
rename from src/simulator/wireframe-simulator/core/vpKeyword.c
rename to src/simulator/wireframe-simulator/core/vpKeyword.cpp
index 8337e5752e88b4bf69d905caac7c26d1d2456c83..d89143ab201744d41f7151febf499cb790c5d9d0 100755
--- a/src/simulator/wireframe-simulator/core/vpKeyword.c
+++ b/src/simulator/wireframe-simulator/core/vpKeyword.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpKeyword.c 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpKeyword.cpp 5310 2015-02-11 11:57:10Z fspindle $
  *
 * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -53,8 +53,8 @@
 void open_keyword (Keyword *kwp);
 static	void	open_hash (void);
 static	void	close_hash (void);
-static	int hashpjw (char *str);
-static	void insert_keyword (char *str, Index token);
+static	int hashpjw (const char *str);
+static	void insert_keyword (const char *str, Index token);
 Index get_symbol (char *ident, int length);
 
 #ifdef	debug
@@ -68,7 +68,7 @@ static	char	*get_keyword (void);
 
 typedef struct	bucket {
 	struct	bucket	*next;	/* element suivant	*/
-	char		*ident;	/* identifateur 	*/
+  char		*ident;	/* identifateur 	*/
 	Byte		length;	/* longueur de "ident"	*/
 	Index		token;	/* code du jeton 	*/
 } Bucket;
@@ -115,7 +115,7 @@ open_hash (void)
 	}
 	head = hash_tbl;
 	bend = head + PRIME;
-	for (; head < bend; *head++ = NULL);
+  for (; head < bend; *head++ = NULL) {};
 }
 
 /*
@@ -151,7 +151,7 @@ close_hash (void)
  *		Le code de la chaine.
  */
 static	int
-hashpjw (char *str)
+hashpjw (const char *str)
 {
 	unsigned	h = 0;	/* "hash value"	*/
 	unsigned	g;
@@ -176,9 +176,9 @@ hashpjw (char *str)
  * token	Valeur du jeton associe au mot cle.
  */
 static	void
-insert_keyword (char *str, Index token)
+insert_keyword (const char *str, Index token)
 {
-	static	 char	proc_name[] = "insert_keyword";
+  static	const char	proc_name[] = "insert_keyword";
 
 	Bucket	**head = hash_tbl + hashpjw (str);
 	Bucket	*bp;
@@ -212,7 +212,7 @@ insert_keyword (char *str, Index token)
 Index get_symbol (char *ident, int length)
 {
 	Bucket	*bp; 
-	char	*kwd; 
+  const char	*kwd;
 	char	*idn = ident;
 	int	len  = length;
 
diff --git a/src/simulator/wireframe-simulator/core/vpLex.c b/src/simulator/wireframe-simulator/core/vpLex.cpp
similarity index 95%
rename from src/simulator/wireframe-simulator/core/vpLex.c
rename to src/simulator/wireframe-simulator/core/vpLex.cpp
index 630570c8c75dbcf056a7f861de0dfcdb118dccc8..108ac694dd050ad53fb54fcf3227b452588ae97d 100755
--- a/src/simulator/wireframe-simulator/core/vpLex.c
+++ b/src/simulator/wireframe-simulator/core/vpLex.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpLex.c 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpLex.cpp 5310 2015-02-11 11:57:10Z fspindle $
  *
 * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -134,7 +134,7 @@ void lexerr (const char* path, ...);
 #define	E_9		9
 
 
-char	*lex_errtbl[] = {	/* table des messages d'erreur		*/
+const char	*lex_errtbl[] = {	/* table des messages d'erreur		*/
 	"error unknown",
 	"symbol undefined",
 	"unexpected EOF in comment",
@@ -257,7 +257,7 @@ int lex (void)
 {
 lex_loop :
 
-	for (; chtbl[(int)CURC] == SPCT; mysptr++);	/* saute les espaces	*/
+  for (; chtbl[(int)CURC] == SPCT; mysptr++) {};	/* saute les espaces	*/
 
 	switch (chtbl[(int)CURC]) {
 
@@ -288,7 +288,7 @@ lex_loop :
 			return (*mytext);
 		mysptr++;
 comment :
-		for (; iscmtt((int)CURC); mysptr++);
+    for (; iscmtt((int)CURC); mysptr++) {};
 		switch (chtbl[(int)CURC]) {
 		case EOBT	:
 			next_source ();
@@ -318,7 +318,7 @@ comment :
 	case IDNT	:
 		mytext = mysptr;	/* sauvegarde le jeton	*/
 		mysptr++;
-		for (; isidnt((int)CURC); mysptr++);
+    for (; isidnt((int)CURC); mysptr++) {};
 		mylength = (int)(mysptr - mytext);
 		return (get_symbol (mytext, mylength));
 		break;
@@ -333,7 +333,7 @@ int_part :
 		case '.'	:	/* lecture fraction	*/
 float_part :
 			mysptr++;
-			for (; isintt((int)CURC); mysptr++);
+      for (; isintt((int)CURC); mysptr++) {};
 			if (CURC != 'E' && CURC != 'e') {
 				myfloat = (float) atof (mytext);
 /* FC
@@ -354,7 +354,7 @@ printf("mytext %s, myfloat %f\n",mytext,myfloat);
 				myfloat = (float) atof (mytext);
 				return (T_FLOAT);
 			}
-			for (; isintt((int)CURC); mysptr++);
+      for (; isintt((int)CURC); mysptr++) {};
 			myfloat = (float) atof (mytext);
 			return (T_FLOAT);
 			break;
@@ -385,7 +385,7 @@ printf("mytext %s, myfloat %f\n",mytext,myfloat);
 		mytext = mysptr;	/* sauvegarde le jeton	*/
 		mysptr++;
 string :
-		for (; isstgt((int)CURC); mysptr++);
+    for (; isstgt((int)CURC); mysptr++) {};
 		switch (chtbl[(int)CURC]) {
 		case EOBT	:
 			next_source ();
@@ -508,7 +508,7 @@ comment :
   case IDNT	:
     mytext = mysptr;	/* sauvegarde le jeton	*/
     mysptr++;
-    for (; isidnt((int)CURC); mysptr++);
+    for (; isidnt((int)CURC); mysptr++) {};
     mylength = (int)(mysptr - mytext);
     if (token != get_symbol (mytext, mylength))
       fwrite (mytext, mylength, 1, f);
@@ -518,12 +518,12 @@ comment :
     mytext = mysptr;	/* sauvegarde le jeton	*/
 int_part	:
     mysptr++;
-    for (; isintt((int)CURC); mysptr++);
+    for (; isintt((int)CURC); mysptr++) {};
     switch (CURC) {
     case '.'	:	/* lecture fraction	*/
 float_part :
       mysptr++;
-      for (; isintt((int)CURC); mysptr++);
+      for (; isintt((int)CURC); mysptr++) {};
       if (CURC != 'E' && CURC != 'e') {
         if (token != T_FLOAT)
           fwrite (mytext, mysptr - mytext, 1, f);
@@ -541,7 +541,7 @@ float_part :
           fwrite (mytext, mysptr - mytext, 1, f);
         return (T_FLOAT);
       }
-      for (; isintt((int)CURC); mysptr++);
+      for (; isintt((int)CURC); mysptr++) {};
       if (token != T_FLOAT)
         fwrite (mytext, mysptr - mytext, 1, f);
       return (T_FLOAT);
@@ -688,7 +688,7 @@ static	void	next_source (void)
 	/* recopie la derniere ligne devant "buf"	*/
 
 	*bot = EOL;	/* evite le debordement de "buf"	*/
-	while ((*--bot = *--top) != EOL);
+  while ((*--bot = *--top) != EOL) {};
 	myline = mysptr = bot + 1;
 
   size = fread (buf,sizeof (char), BUFSIZE,fds);
@@ -704,7 +704,7 @@ static	void	next_source (void)
 
 		/* recherche de la derniere ligne	*/
 		top = topbuf;
-		while (*--top != EOL);
+    while (*--top != EOL) {};
 		lastline = top;
 	}
 }
@@ -718,7 +718,7 @@ static	void	next_source (void)
 #define	ERR_STACK_MAX	32
 
 
-static	char	*err_stack[ERR_STACK_MAX];
+static	const char	*err_stack[ERR_STACK_MAX];
 static	int	size_stack = 0;
 
 
@@ -794,9 +794,9 @@ void poperr (void)
 /*
  * La procedure "popup_error" remplace le message d'erreur du sommet de pile.
  */
-void popuperr (/*const */char *str)
+void popuperr (const char *str)
 {
-	static	char	proc_name[] = "popuerr";
+  static const char	proc_name[] = "popuerr";
 
 	if (size_stack <= 0) {
 		fprintf (stderr, "%s: error stack underflow\n", proc_name);
@@ -808,9 +808,9 @@ void popuperr (/*const */char *str)
 /*
  * La procedure "pusherr" empile le message d'erreur.
  */
-void pusherr (/*const */char *str)
+void pusherr (const char *str)
 {
-	static	char	proc_name[] = "pusherr";
+  static const char	proc_name[] = "pusherr";
 
 	if (size_stack >= ERR_STACK_MAX) {
 		fprintf (stderr, "%s: error stack overflow\n", proc_name);
diff --git a/src/simulator/wireframe-simulator/core/vpLex.h b/src/simulator/wireframe-simulator/core/vpLex.h
index 495ed7308294c216dcecd7ac32b3250aae2e9328..859426df074cb8114dcf825eff3357449d708621 100644
--- a/src/simulator/wireframe-simulator/core/vpLex.h
+++ b/src/simulator/wireframe-simulator/core/vpLex.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpLex.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpLex.h 5297 2015-02-10 11:19:24Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -53,9 +53,9 @@
 int lex(void);
 void unlex (void);
 void lexerr (const char* path, ...);
-int pusherr (char *str);
-int popuperr (char *str);
-int poperr (void);
+void pusherr (const char *str);
+void popuperr (const char *str);
+void poperr (void);
 int lexecho (FILE *f, int token);
 
 #endif
diff --git a/src/simulator/wireframe-simulator/core/vpMyio.c b/src/simulator/wireframe-simulator/core/vpMyio.cpp
similarity index 98%
rename from src/simulator/wireframe-simulator/core/vpMyio.c
rename to src/simulator/wireframe-simulator/core/vpMyio.cpp
index 986dcf40b453072908536faa230b8074f606e8dd..3eca168a6dc36ad04d99ad294f9fd6418e7c269e 100755
--- a/src/simulator/wireframe-simulator/core/vpMyio.c
+++ b/src/simulator/wireframe-simulator/core/vpMyio.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMyio.c 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpMyio.cpp 5284 2015-02-09 14:24:10Z fspindle $
  *
 * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
diff --git a/src/simulator/wireframe-simulator/core/vpParser.c b/src/simulator/wireframe-simulator/core/vpParser.cpp
similarity index 97%
rename from src/simulator/wireframe-simulator/core/vpParser.c
rename to src/simulator/wireframe-simulator/core/vpParser.cpp
index 6f0f28d5451b4ee91daefb6bf3a71581b3e5188f..e5092b64ddc83632ad78f68eb86c1ce185c86f5d 100755
--- a/src/simulator/wireframe-simulator/core/vpParser.c
+++ b/src/simulator/wireframe-simulator/core/vpParser.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpParser.c 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpParser.cpp 5284 2015-02-09 14:24:10Z fspindle $
  *
 * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
diff --git a/src/simulator/wireframe-simulator/core/vpProjection.c b/src/simulator/wireframe-simulator/core/vpProjection.cpp
similarity index 98%
rename from src/simulator/wireframe-simulator/core/vpProjection.c
rename to src/simulator/wireframe-simulator/core/vpProjection.cpp
index 364971d82c8bc692084e5d5f722c65b30ef1673e..f0f2acacfc0a8e32ce7ddfda502c09989c33cc76 100755
--- a/src/simulator/wireframe-simulator/core/vpProjection.c
+++ b/src/simulator/wireframe-simulator/core/vpProjection.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpProjection.c 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpProjection.cpp 5284 2015-02-09 14:24:10Z fspindle $
  *
 * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -120,7 +120,7 @@ static void set_zy (Matrix m, Vector *v0, Vector *v1)
  */
 void set_parallel (View_parameters *vp, Matrix wc)
 {
-	Matrix		m;
+  Matrix		m = IDENTITY_MATRIX;
 	Point3f		cop;
 	Point4f		doprim;
 	Vector		dop, v;
@@ -190,7 +190,7 @@ void set_parallel (View_parameters *vp, Matrix wc)
  */
 void set_perspective (View_parameters *vp, Matrix wc)
 {
-	Matrix		m;
+  Matrix		m = IDENTITY_MATRIX;
 	Point4f		vrprim, cw;
 	float	zmin;
 	Vector		v;
diff --git a/src/simulator/wireframe-simulator/core/vpRfstack.c b/src/simulator/wireframe-simulator/core/vpRfstack.cpp
similarity index 97%
rename from src/simulator/wireframe-simulator/core/vpRfstack.c
rename to src/simulator/wireframe-simulator/core/vpRfstack.cpp
index 77f4da5859776141812bc9a12a633eb530ab7a42..c784b7d3b92a072f01a949b8877d73b1b79b4eb0 100755
--- a/src/simulator/wireframe-simulator/core/vpRfstack.c
+++ b/src/simulator/wireframe-simulator/core/vpRfstack.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpRfstack.c 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpRfstack.cpp 5284 2015-02-09 14:24:10Z fspindle $
  *
 * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -103,7 +103,7 @@ fprintf_rfstack (FILE *fp)
     fprintf (fp, "back");
 	}
 	if (*sp & IS_FRONT) {
-    if (flg) fprintf (fp, " ");
+    /*if (flg)*/ fprintf (fp, " ");
     flg ++;
     fprintf (fp, "front");
 	}
diff --git a/src/simulator/wireframe-simulator/core/vpSkipio.c b/src/simulator/wireframe-simulator/core/vpSkipio.cpp
similarity index 93%
rename from src/simulator/wireframe-simulator/core/vpSkipio.c
rename to src/simulator/wireframe-simulator/core/vpSkipio.cpp
index 81934ecc9a770e94a81325ef97135edbe11f8b4b..24ee2741e4975f9fdf94be23acd5637212a63c61 100755
--- a/src/simulator/wireframe-simulator/core/vpSkipio.c
+++ b/src/simulator/wireframe-simulator/core/vpSkipio.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpSkipio.c 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpSkipio.cpp 5310 2015-02-11 11:57:10Z fspindle $
  *
 * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -65,7 +65,7 @@ void skip_cmd (void)
 
 	fprintf (stderr, "\n$ ");
 	fwrite (mytext, mylength, 1, stderr);
-	while ((token = lexecho (stderr, '$')) !=  T_EOF && token != '$');
+  while ((token = lexecho (stderr, '$')) !=  T_EOF && token != '$') {};
 	unlex ();
 }
 
@@ -76,7 +76,7 @@ void skip_cmd (void)
  * token	Jeton du mot cle a reconnaitre.
  * err		Message d'erreur si le mot cle n'est pas reconnu.
  */
-void skip_keyword (int token, char *err)
+void skip_keyword (int token, const char *err)
 {
 	int	t;
 
diff --git a/src/simulator/wireframe-simulator/core/vpSkipio.h b/src/simulator/wireframe-simulator/core/vpSkipio.h
index 42171ab327a2a1cba2606519d93eba7d253f042f..d4d4cc514ba52c4af946f6ef5ae1472b30ffd2e3 100644
--- a/src/simulator/wireframe-simulator/core/vpSkipio.h
+++ b/src/simulator/wireframe-simulator/core/vpSkipio.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpSkipio.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpSkipio.h 5284 2015-02-09 14:24:10Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -49,7 +49,7 @@
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 
 void skip_cmd (void);
-void skip_keyword (int token, char *err);
+void skip_keyword (int token, const char *err);
 
 #endif
 #endif
diff --git a/src/simulator/wireframe-simulator/core/vpTmstack.c b/src/simulator/wireframe-simulator/core/vpTmstack.cpp
similarity index 98%
rename from src/simulator/wireframe-simulator/core/vpTmstack.c
rename to src/simulator/wireframe-simulator/core/vpTmstack.cpp
index ffe7660d02da31ab3fe353c3f33d9de8bef9e015..61e4461cfae4d27249c832f79c6ba94ad8adc2ed 100755
--- a/src/simulator/wireframe-simulator/core/vpTmstack.c
+++ b/src/simulator/wireframe-simulator/core/vpTmstack.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpTmstack.c 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpTmstack.cpp 5284 2015-02-09 14:24:10Z fspindle $
  *
 * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
diff --git a/src/simulator/wireframe-simulator/core/vpToken.c b/src/simulator/wireframe-simulator/core/vpToken.cpp
similarity index 97%
rename from src/simulator/wireframe-simulator/core/vpToken.c
rename to src/simulator/wireframe-simulator/core/vpToken.cpp
index b52f5805eb2f090e7e679eb8f4b20be0295b4897..989f94206049ec89affabbf4573979ed67176e40 100755
--- a/src/simulator/wireframe-simulator/core/vpToken.c
+++ b/src/simulator/wireframe-simulator/core/vpToken.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpToken.c 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpToken.cpp 5284 2015-02-09 14:24:10Z fspindle $
  *
 * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
diff --git a/src/simulator/wireframe-simulator/core/vpToken.h b/src/simulator/wireframe-simulator/core/vpToken.h
index b185f28f6bc1c81e824311a4562829bf36060c91..e7c251d94edbcbc2b9d87f1205a00f2007075a7a 100755
--- a/src/simulator/wireframe-simulator/core/vpToken.h
+++ b/src/simulator/wireframe-simulator/core/vpToken.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpToken.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpToken.h 5284 2015-02-09 14:24:10Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -48,7 +48,7 @@
 
 
 typedef	struct	{
-	char	*ident;	/* identifateur 	*/
+  const char	*ident;	/* identifateur 	*/
 	Index	token;	/* code du jeton 	*/
 } Keyword;
 
diff --git a/src/simulator/wireframe-simulator/core/vpViewio.c b/src/simulator/wireframe-simulator/core/vpViewio.cpp
similarity index 98%
rename from src/simulator/wireframe-simulator/core/vpViewio.c
rename to src/simulator/wireframe-simulator/core/vpViewio.cpp
index 6b011645e5b18fd931189b066c5e56b712d846da..6c19df08874ccab6e94b80aa91ed72a8ff0d54ff 100755
--- a/src/simulator/wireframe-simulator/core/vpViewio.c
+++ b/src/simulator/wireframe-simulator/core/vpViewio.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpViewio.c 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpViewio.cpp 5284 2015-02-09 14:24:10Z fspindle $
  *
 * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
diff --git a/src/simulator/wireframe-simulator/core/vpVwstack.c b/src/simulator/wireframe-simulator/core/vpVwstack.cpp
similarity index 93%
rename from src/simulator/wireframe-simulator/core/vpVwstack.c
rename to src/simulator/wireframe-simulator/core/vpVwstack.cpp
index 9db5e9e45d390ab3ed8a060bd4cefe7e3232e567..e0dfbc101b56f59a23833954a668648bcd31cfd8 100644
--- a/src/simulator/wireframe-simulator/core/vpVwstack.c
+++ b/src/simulator/wireframe-simulator/core/vpVwstack.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpVwstack.c 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpVwstack.cpp 5285 2015-02-09 14:32:54Z fspindle $
  *
 * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -45,8 +45,8 @@
 
 #include	<stdio.h>
 #include	<string.h>
-#include	<float.h>
-#include	<math.h>
+#include	<limits>
+#include	<cmath> // std::fabs()
 
 // #include	<varargs.h> /* modif Fedora
 #include	<stdarg.h>
@@ -77,7 +77,7 @@ fprintf_vwstack (FILE *fp, char *argv)
 	static	 char	proc_name[] = "fprintf_vwstack";
 
 	if (argv == NULL || strcmp (argv, "type") == 0) {
-		char	*typetoa;
+    const char	*typetoa;
 
 		switch (sp->type) {
 		case PARALLEL	:
@@ -239,7 +239,7 @@ add_vwstack (const char* path, ... )
 		float	z = (float) va_arg (ap, double);
 
 		//if (x == 0 && y == 0 && z == 0)
-		if (fabs(x) <= DBL_EPSILON && fabs(y) <= DBL_EPSILON && fabs(z) <= DBL_EPSILON)
+    if (std::fabs(x) <= std::numeric_limits<double>::epsilon() && std::fabs(y) <= std::numeric_limits<double>::epsilon() && std::fabs(z) <= std::numeric_limits<double>::epsilon())
 			fprintf (stderr, "%s: bad vpn\n", proc_name);
 		else {
 			SET_COORD3(sp->vpn,x,y,z);
@@ -259,7 +259,7 @@ add_vwstack (const char* path, ... )
 		float	z = (float) va_arg (ap, double);
 
 		//if (x == 0 && y == 0 && z == 0)
-		if (fabs(x) <= DBL_EPSILON && fabs(y) <= DBL_EPSILON && fabs(z) <= DBL_EPSILON)
+    if (std::fabs(x) <= std::numeric_limits<double>::epsilon() && std::fabs(y) <= std::numeric_limits<double>::epsilon() && std::fabs(z) <= std::numeric_limits<double>::epsilon())
 			fprintf (stderr, "%s: bad vup\n", proc_name);
 		else {
 			SET_COORD3(sp->vup,x,y,z);
diff --git a/src/simulator/wireframe-simulator/vpWireFrameSimulator.cpp b/src/simulator/wireframe-simulator/vpWireFrameSimulator.cpp
index 5ecb517d54b2074f558d25e9a74fef73b3d322a3..e5e38ddfbf38e96abeb3c4f0e07b9be74290237a 100644
--- a/src/simulator/wireframe-simulator/vpWireFrameSimulator.cpp
+++ b/src/simulator/wireframe-simulator/vpWireFrameSimulator.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpWireFrameSimulator.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpWireFrameSimulator.cpp 5297 2015-02-10 11:19:24Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -73,8 +73,8 @@
 #include <Inventor/VRMLnodes/SoVRMLShape.h>
 #endif
 
-extern "C"{extern Point2i *point2i;}
-extern "C"{extern Point2i *listpoint2i;}
+extern Point2i *point2i;
+extern Point2i *listpoint2i;
 
 typedef enum
 {
@@ -158,8 +158,9 @@ void set_scene (const char* str, Bound_scene *sc, float factor)
 #if defined(VISP_HAVE_COIN)
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
-typedef struct
+typedef struct indexFaceSet
 {
+  indexFaceSet() : nbPt(0), pt(), nbIndex(0), index() {};
   int nbPt;
   std::vector<vpPoint> pt;
   int nbIndex;
diff --git a/src/simulator/wireframe-simulator/vpWireFrameSimulator.h b/src/simulator/wireframe-simulator/vpWireFrameSimulator.h
index 8f0b06bda2aa4330a92b424a2b2fcd88d0533e7d..4c30224d5e8250fb67f737fdd0ca7afa36914a52 100644
--- a/src/simulator/wireframe-simulator/vpWireFrameSimulator.h
+++ b/src/simulator/wireframe-simulator/vpWireFrameSimulator.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpWireFrameSimulator.h 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpWireFrameSimulator.h 5297 2015-02-10 11:19:24Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -55,7 +55,6 @@
 #include <list>
 #include <string>
 
-extern "C" {
 #include <visp/vpMy.h>
 #include <visp/vpArit.h>
 #include <visp/vpBound.h>
@@ -66,26 +65,25 @@ extern "C" {
 #include <visp/vpRfstack.h>
 #include <visp/vpArit.h>
 
-int open_display();
-int close_display();
-int open_clipping();
-int close_clipping();
-int open_keyword (Keyword *kwp);
-int open_lex (void);
-int open_source (FILE *fd, const char *str);
-int malloc_Bound_scene (Bound_scene *bsp, const char *name,Index bn);
-int free_Bound_scene (Bound_scene *bsp);
-int parser (Bound_scene *bsp);
-int close_source (void);
-int close_lex (void);
-int close_keyword (void);
+void open_display();
+void close_display();
+void open_clipping();
+void close_clipping();
+void open_keyword (Keyword *kwp);
+void open_lex (void);
+void open_source (FILE *fd, const char *str);
+void malloc_Bound_scene (Bound_scene *bsp, const char *name,Index bn);
+void free_Bound_scene (Bound_scene *bsp);
+void parser (Bound_scene *bsp);
+void close_source (void);
+void close_lex (void);
+void close_keyword (void);
 void display_scene(Matrix mat, Bound_scene sc);
-int View_to_Matrix (View_parameters *vp, Matrix m);
+void View_to_Matrix (View_parameters *vp, Matrix m);
 Bound *clipping_Bound (Bound *bp, Matrix m);
-int set_Bound_face_display (Bound *bp, Byte b);
-int point_3D_2D (Point3f *p3, Index size, unsigned int xsize, unsigned int ysize, Point2i *p2);
-int wireframe_Face (Face *fp, Point2i *pp);
-}
+void set_Bound_face_display (Bound *bp, Byte b);
+void point_3D_2D (Point3f *p3, Index size, int xsize, int ysize, Point2i *p2);
+void wireframe_Face (Face *fp, Point2i *pp);
 
 #include <visp/vpConfig.h>
 #include <visp/vpImage.h>
diff --git a/src/tools/convert/vpConvert.cpp b/src/tools/convert/vpConvert.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..a5294c51bc473b12a47d0c2b5014c0caabbf0596
--- /dev/null
+++ b/src/tools/convert/vpConvert.cpp
@@ -0,0 +1,435 @@
+/****************************************************************************
+ *
+ * $Id: vpIoTools.cpp 5214 2015-01-27 18:33:01Z fspindle $
+ *
+ * This file is part of the ViSP software.
+ * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+ * 
+ * This software is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * ("GPL") version 2 as published by the Free Software Foundation.
+ * See the file LICENSE.txt at the root directory of this source
+ * distribution for additional information about the GNU GPL.
+ *
+ * For using ViSP with software that can not be combined with the GNU
+ * GPL, please contact INRIA about acquiring a ViSP Professional 
+ * Edition License.
+ *
+ * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+ * 
+ * This software was developed at:
+ * INRIA Rennes - Bretagne Atlantique
+ * Campus Universitaire de Beaulieu
+ * 35042 Rennes Cedex
+ * France
+ * http://www.irisa.fr/lagadic
+ *
+ * If you have questions regarding the use of this file, please contact
+ * INRIA at visp@inria.fr
+ * 
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ *
+ * Description:
+ * Directory management.
+ *
+ * Authors:
+ * Fabien Spindler
+ * Souriya Trinh
+ *
+ *****************************************************************************/
+
+/*!
+  \file vpConvert.cpp
+  \brief Tools for type or general conversion.
+*/
+
+#include <vector>       // std::vector
+#include <algorithm>    // std::transform
+
+#include <visp/vpConvert.h>
+
+
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020101)
+  /**!
+     Unary function used to transform a cv::KeyPoint to a vpImagePoint.
+     \param keypoint : KeyPoint to convert.
+
+     \return A vpImagePoint with the 2D coordinates corresponding to the location of the KeyPoint.
+   */
+  vpImagePoint vpConvert::keyPointToVpImagePoint(const cv::KeyPoint &keypoint) {
+    return vpImagePoint(keypoint.pt.y, keypoint.pt.x);
+  }
+
+  /*!
+     Unary function to convert a cv::Point2f to a vpImagePoint.
+     \param point : Point to convert.
+
+     \return A vpImagePoint with the 2D coordinates stored in cv::Point2f.
+   */
+  vpImagePoint vpConvert::point2fToVpImagePoint(const cv::Point2f &point) {
+    return vpImagePoint(point.y, point.x);
+  }
+
+  /*!
+     Unary function to convert a cv::Point2d to a vpImagePoint.
+     \param point : Point to convert.
+
+     \return A vpImagePoint with the 2D coordinates stored in cv::Point2d.
+   */
+  vpImagePoint vpConvert::point2dToVpImagePoint(const cv::Point2d &point) {
+    return vpImagePoint(point.y, point.x);
+  }
+
+  /*!
+     Unary function to convert a cv::Point3f to a vpPoint (object frame).
+     \param point3f : Point to convert.
+     \return A vpPoint with 3D coordinates in the object frame from from a cv::Point3f.
+   */
+  vpPoint vpConvert::point3fToVpObjectPoint(const cv::Point3f &point3f) {
+    vpPoint pt;
+    pt.set_oX(point3f.x);
+    pt.set_oY(point3f.y);
+    pt.set_oZ(point3f.z);
+    pt.set_oW(1.0);
+    return pt;
+  }
+
+  /*!
+     Unary function to convert a cv::Point3f to a vpPoint (camera frame).
+     \param point3f : Point to convert.
+     \return A vpPoint with 3D coordinates in the camera frame from from a cv::Point3f.
+   */
+  vpPoint vpConvert::point3fToVpCamPoint(const cv::Point3f &point3f) {
+    vpPoint pt;
+    pt.set_X(point3f.x);
+    pt.set_Y(point3f.y);
+    pt.set_Z(point3f.z);
+    pt.set_W(1.0);
+    return pt;
+  }
+
+  /*!
+     Unary function to convert a cv::Point3d to a vpPoint (object frame).
+     \param point3d : Point to convert.
+     \return A vpPoint with 3D coordinates in the object frame from from a cv::Point3d.
+   */
+  vpPoint vpConvert::point3dToVpObjectPoint(const cv::Point3d &point3d) {
+    vpPoint pt;
+    pt.set_oX(point3d.x);
+    pt.set_oY(point3d.y);
+    pt.set_oZ(point3d.z);
+    pt.set_oW(1.0);
+    return pt;
+  }
+
+  /*!
+     Unary function to convert a cv::Point3d to a vpPoint (camera frame).
+     \param point3d : Point to convert.
+     \return A vpPoint with 3D coordinates in the camera frame from from a cv::Point3d.
+   */
+  vpPoint vpConvert::point3dToVpCamPoint(const cv::Point3d &point3d) {
+    vpPoint pt;
+    pt.set_X(point3d.x);
+    pt.set_Y(point3d.y);
+    pt.set_Z(point3d.z);
+    pt.set_W(1.0);
+    return pt;
+  }
+
+  /*!
+     Unary function to convert a vpImagePoint to a cv::Point2f.
+     \param point : Image point to convert.
+
+     \return A cv::Point2f with the 2D coordinates stored in vpImagePoint.
+   */
+  cv::Point2f vpConvert::vpImagePointToPoint2f(const vpImagePoint &point) {
+    return cv::Point2f((float) point.get_u(), (float) point.get_v());
+  }
+
+  /*!
+     Unary function to convert a vpImagePoint to a cv::Point2d.
+     \param point : Image point to convert.
+
+     \return A cv::Point2d with the 2D coordinates stored in vpImagePoint.
+   */
+  cv::Point2d vpConvert::vpImagePointToPoint2d(const vpImagePoint &point) {
+    return cv::Point2d(point.get_u(), point.get_v());
+  }
+
+  /*!
+     Unary function to convert the 3D coordinates in the camera frame to a cv::Point3f.
+     \param point : Point to convert.
+
+     \return A cv::Point3f with the 3D coordinates stored in vpPoint in the camera frame.
+   */
+  cv::Point3f vpConvert::vpCamPointToPoint3f(const vpPoint &point) {
+    return cv::Point3f((float) point.get_X(), (float) point.get_Y(), (float) point.get_Z());
+  }
+
+  /*!
+     Unary function to convert the 3D coordinates in the camera frame to a cv::Point3d.
+     \param point : Point to convert.
+
+     \return A cv::Point3d with the 3D coordinates stored in vpPoint in the camera frame.
+   */
+  cv::Point3d vpConvert::vpCamPointToPoint3d(const vpPoint &point) {
+    return cv::Point3d(point.get_X(), point.get_Y(), point.get_Z());
+  }
+
+  /*!
+     Unary function to convert the 3D coordinates in the object frame to a cv::Point3f.
+     \param point : Point to convert.
+
+     \return A cv::Point3f with the 3D coordinates stored in vpPoint in the object frame.
+   */
+  cv::Point3f vpConvert::vpObjectPointToPoint3f(const vpPoint &point) {
+    return cv::Point3f((float) point.get_oX(), (float) point.get_oY(), (float) point.get_oZ());
+  }
+
+  /*!
+     Unary function to convert the 3D coordinates in the object frame to a cv::Point3d.
+     \param point : Point to convert.
+
+     \return A cv::Point3d with the 3D coordinates stored in vpPoint in the object frame.
+   */
+  cv::Point3d vpConvert::vpObjectPointToPoint3d(const vpPoint &point) {
+    return cv::Point3d(point.get_oX(), point.get_oY(), point.get_oZ());
+  }
+
+  /*!
+     Unary function to return the train index stored in a cv::DMatch.
+     \param match : The cv::DMatch we want to get the train index.
+
+     \return The train index stored in a cv::DMatch.
+   */
+  int vpConvert::dMatchToTrainIndex(const cv::DMatch &match) {
+    return match.trainIdx;
+  }
+
+
+  /*!
+     Convert a cv::KeyPoint to a vpImagePoint.
+     \param from : cv::KeyPoint to convert.
+     \param to : vpImagePoint converted.
+   */
+  void vpConvert::convertFromOpenCV(const cv::KeyPoint &from, vpImagePoint &to) {
+    to = keyPointToVpImagePoint(from);
+  }
+
+  /*!
+     Convert a cv::Point2f to a vpImagePoint.
+     \param from : cv::Point2f to convert.
+     \param to : vpImagePoint converted.
+   */
+  void vpConvert::convertFromOpenCV(const cv::Point2f &from, vpImagePoint &to) {
+    to = point2fToVpImagePoint(from);
+  }
+
+  /*!
+     Convert a cv::Point2d to a vpImagePoint.
+     \param from : cv::Point2d to convert.
+     \param to : vpImagePoint converted.
+   */
+  void vpConvert::convertFromOpenCV(const cv::Point2d &from, vpImagePoint &to) {
+    to = point2dToVpImagePoint(from);
+  }
+
+  /*!
+     Convert a cv::Point3f to a vpPoint.
+     \param from : cv::Point3f to convert.
+     \param to : vpPoint converted.
+     \param cameraFrame : If true, convert into the camera frame, otherwise in the object frame.
+   */
+  void vpConvert::convertFromOpenCV(const cv::Point3f &from, vpPoint &to, const bool cameraFrame) {
+    if(cameraFrame) {
+      to = point3fToVpCamPoint(from);
+    } else {
+      to = point3fToVpObjectPoint(from);
+    }
+  }
+
+  /*!
+     Convert a cv::Point3d to a vpPoint.
+     \param from : cv::Point3d to convert.
+     \param to : vpPoint converted.
+     \param cameraFrame : If true, convert into the camera frame, otherwise in the object frame.
+   */
+  void vpConvert::convertFromOpenCV(const cv::Point3d &from, vpPoint &to, const bool cameraFrame) {
+    if(cameraFrame) {
+      to = point3dToVpCamPoint(from);
+    } else {
+      to = point3dToVpObjectPoint(from);
+    }
+  }
+
+  /*!
+     Convert a vector of cv::KeyPoint to a vector of vpImagePoint.
+     \param from : Vector of cv::KeyPoint to convert.
+     \param to : Vector of vpImagePoint converted.
+   */
+  void vpConvert::convertFromOpenCV(const std::vector<cv::KeyPoint> &from, std::vector<vpImagePoint> &to) {
+    to.resize(from.size());
+    std::transform(from.begin(), from.end(), to.begin(), keyPointToVpImagePoint);
+  }
+
+  /*!
+     Convert a vector of cv::Point2f to a vector of vpImagePoint.
+     \param from : Vector of cv::Point2f to convert.
+     \param to : Vector of vpImagePoint converted.
+   */
+  void vpConvert::convertFromOpenCV(const std::vector<cv::Point2f> &from, std::vector<vpImagePoint> &to) {
+    to.resize(from.size());
+    std::transform(from.begin(), from.end(), to.begin(), point2fToVpImagePoint);
+  }
+
+  /*!
+     Convert a vector of cv::Point2d to a vector of vpImagePoint.
+     \param from : Vector of cv::Point2d to convert.
+     \param to : Vector of vpImagePoint converted.
+   */
+  void vpConvert::convertFromOpenCV(const std::vector<cv::Point2d> &from, std::vector<vpImagePoint> &to) {
+    to.resize(from.size());
+    std::transform(from.begin(), from.end(), to.begin(), point2dToVpImagePoint);
+  }
+
+  /*!
+     Convert a vector of cv::Point3f to a vector of vpPoint.
+     \param from : Vector of cv::Point3f to convert.
+     \param to : Vector of vpPoint converted.
+     \param cameraFrame : If true, convert into the camera frame, otherwise in the object frame.
+   */
+  void vpConvert::convertFromOpenCV(const std::vector<cv::Point3f> &from, std::vector<vpPoint> &to, const bool cameraFrame) {
+    to.resize(from.size());
+    if(cameraFrame) {
+      std::transform(from.begin(), from.end(), to.begin(), point3fToVpCamPoint);
+    } else {
+      std::transform(from.begin(), from.end(), to.begin(), point3fToVpObjectPoint);
+    }
+  }
+
+  /*!
+     Convert a vector of cv::Point3d to a vector of vpPoint.
+     \param from : Vector of cv::Point3d to convert.
+     \param to : Vector of vpPoint converted.
+     \param cameraFrame : If true, convert into the camera frame, otherwise in the object frame.
+   */
+  void vpConvert::convertFromOpenCV(const std::vector<cv::Point3d> &from, std::vector<vpPoint> &to, const bool cameraFrame) {
+    to.resize(from.size());
+    if(cameraFrame) {
+      std::transform(from.begin(), from.end(), to.begin(), point3dToVpCamPoint);
+    } else {
+      std::transform(from.begin(), from.end(), to.begin(), point3dToVpObjectPoint);
+    }
+  }
+
+  /*!
+     Convert a vector of cv::DMatch to a vector of unsigned int (for a query index 0, to[0] ==> train index).
+
+     \warning The list of query indexes in DMatch must be ordered in a way that from[i].queryIdx == i.
+
+     \param from : Vector of cv::DMatch to convert.
+     \param to : Vector of unsigned int converted.
+   */
+  void vpConvert::convertFromOpenCV(const std::vector<cv::DMatch> &from, std::vector<unsigned int> &to) {
+    to.resize(from.size());
+    std::transform(from.begin(), from.end(), to.begin(), dMatchToTrainIndex);
+  }
+
+  /*!
+     Convert a vpImagePoint to a cv::Point2f.
+     \param from : vpImagePoint to convert.
+     \param to : cv::Point2f converted.
+   */
+  void vpConvert::convertToOpenCV(const vpImagePoint &from, cv::Point2f &to) {
+    to = vpImagePointToPoint2f(from);
+  }
+
+  /*!
+     Convert a vpImagePoint to a cv::Point2d.
+     \param from : vpImagePoint to convert.
+     \param to : cv::Point2d converted.
+   */
+  void vpConvert::convertToOpenCV(const vpImagePoint &from, cv::Point2d &to) {
+    to = vpImagePointToPoint2d(from);
+  }
+
+  /*!
+     Convert a vpPoint to a cv::Point3f.
+     \param from : vpPoint to convert.
+     \param to : cv::Point3f converted.
+     \param cameraFrame : If true, convert from coordinates in the camera frame, otherwise in the object frame.
+   */
+  void vpConvert::convertToOpenCV(const vpPoint &from, cv::Point3f &to, const bool cameraFrame) {
+    if(cameraFrame) {
+      to = vpCamPointToPoint3f(from);
+    } else {
+      to = vpObjectPointToPoint3f(from);
+    }
+  }
+
+  /*!
+     Convert a vpPoint to a cv::Point3d.
+     \param from : vpPoint to convert.
+     \param to : cv::Point3d converted.
+     \param cameraFrame : If true, convert from coordinates in the camera frame, otherwise in the object frame.
+   */
+  void vpConvert::convertToOpenCV(const vpPoint &from, cv::Point3d &to, const bool cameraFrame) {
+    if(cameraFrame) {
+      to = vpCamPointToPoint3d(from);
+    } else {
+      to = vpObjectPointToPoint3d(from);
+    }
+  }
+
+  /*!
+     Convert a vector of vpImagePoint to a vector of cv::Point2f.
+     \param from : Vector of vpImagePoint to convert.
+     \param to : Vector of cv::Point2f converted.
+   */
+  void vpConvert::convertToOpenCV(const std::vector<vpImagePoint> &from, std::vector<cv::Point2f> &to) {
+    to.resize(from.size());
+    std::transform(from.begin(), from.end(), to.begin(), vpImagePointToPoint2f);
+  }
+
+  /*!
+     Convert a vector of vpImagePoint to a vector of cv::Point2d.
+     \param from : Vector of vpImagePoint to convert.
+     \param to : Vector of cv::Point2d converted.
+   */
+  void vpConvert::convertToOpenCV(const std::vector<vpImagePoint> &from, std::vector<cv::Point2d> &to) {
+    to.resize(from.size());
+    std::transform(from.begin(), from.end(), to.begin(), vpImagePointToPoint2d);
+  }
+
+  /*!
+     Convert a vector of vpPoint to a vector of cv::Point3f.
+     \param from : Vector of vpPoint to convert.
+     \param to : Vector of cv::Point3f converted.
+     \param cameraFrame : If true, the camera frame is considered, otherwise the object frame.
+   */
+  void vpConvert::convertToOpenCV(const std::vector<vpPoint> &from, std::vector<cv::Point3f> &to, const bool cameraFrame) {
+    to.resize(from.size());
+    if(cameraFrame) {
+      std::transform(from.begin(), from.end(), to.begin(), vpCamPointToPoint3f);
+    } else {
+      std::transform(from.begin(), from.end(), to.begin(), vpObjectPointToPoint3f);
+    }
+  }
+
+  /*!
+     Convert a vector of vpPoint to a vector of cv::Point3d.
+     \param from : Vector of vpPoint to convert.
+     \param to : Vector of cv::Point3d converted.
+     \param cameraFrame : If true, the camera frame is considered, otherwise the object frame.
+   */
+  void vpConvert::convertToOpenCV(const std::vector<vpPoint> &from, std::vector<cv::Point3d> &to, const bool cameraFrame) {
+    to.resize(from.size());
+    if(cameraFrame) {
+      std::transform(from.begin(), from.end(), to.begin(), vpCamPointToPoint3d);
+    } else {
+      std::transform(from.begin(), from.end(), to.begin(), vpObjectPointToPoint3d);
+    }
+  }
+#endif
diff --git a/src/tools/convert/vpConvert.h b/src/tools/convert/vpConvert.h
new file mode 100644
index 0000000000000000000000000000000000000000..2a871f28df36e49eff444cde3063bd6969a7740b
--- /dev/null
+++ b/src/tools/convert/vpConvert.h
@@ -0,0 +1,112 @@
+/****************************************************************************
+ *
+ * $Id: vpIoTools.h 5197 2015-01-23 17:24:22Z strinh $
+ *
+ * This file is part of the ViSP software.
+ * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+ * 
+ * This software is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * ("GPL") version 2 as published by the Free Software Foundation.
+ * See the file LICENSE.txt at the root directory of this source
+ * distribution for additional information about the GNU GPL.
+ *
+ * For using ViSP with software that can not be combined with the GNU
+ * GPL, please contact INRIA about acquiring a ViSP Professional 
+ * Edition License.
+ *
+ * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+ * 
+ * This software was developed at:
+ * INRIA Rennes - Bretagne Atlantique
+ * Campus Universitaire de Beaulieu
+ * 35042 Rennes Cedex
+ * France
+ * http://www.irisa.fr/lagadic
+ *
+ * If you have questions regarding the use of this file, please contact
+ * INRIA at visp@inria.fr
+ * 
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ *
+ * Description:
+ * Directory management.
+ *
+ * Authors:
+ * Fabien Spindler
+ * Souriya Trinh
+ *
+ *****************************************************************************/
+
+
+#ifndef __vpConvert_h__
+#define __vpConvert_h__
+
+/*!
+  \file vpConvert.h
+  \brief Tools for type or general conversion.
+ */
+
+#include <visp/vpConfig.h>
+
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020101)
+  #include <opencv2/core/core.hpp>
+  #include <opencv2/features2d/features2d.hpp>
+#endif
+
+#include <visp/vpImagePoint.h>
+#include <visp/vpPoint.h>
+
+
+class VISP_EXPORT vpConvert
+{
+
+public:
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020101)
+  static void convertFromOpenCV(const cv::KeyPoint &from, vpImagePoint &to);
+  static void convertFromOpenCV(const cv::Point2f &from, vpImagePoint &to);
+  static void convertFromOpenCV(const cv::Point2d &from, vpImagePoint &to);
+  static void convertFromOpenCV(const cv::Point3f &from, vpPoint &to, const bool cameraFrame=false);
+  static void convertFromOpenCV(const cv::Point3d &from, vpPoint &to, const bool cameraFrame=false);
+
+  static void convertFromOpenCV(const std::vector<cv::KeyPoint> &from, std::vector<vpImagePoint> &to);
+  static void convertFromOpenCV(const std::vector<cv::Point2f> &from, std::vector<vpImagePoint> &to);
+  static void convertFromOpenCV(const std::vector<cv::Point2d> &from, std::vector<vpImagePoint> &to);
+  static void convertFromOpenCV(const std::vector<cv::Point3f> &from, std::vector<vpPoint> &to, const bool cameraFrame=false);
+  static void convertFromOpenCV(const std::vector<cv::Point3d> &from, std::vector<vpPoint> &to, const bool cameraFrame=false);
+  static void convertFromOpenCV(const std::vector<cv::DMatch> &from, std::vector<unsigned int> &to);
+
+  static void convertToOpenCV(const vpImagePoint &from, cv::Point2f &to);
+  static void convertToOpenCV(const vpImagePoint &from, cv::Point2d &to);
+  static void convertToOpenCV(const vpPoint &from, cv::Point3f &to, const bool cameraFrame=false);
+  static void convertToOpenCV(const vpPoint &from, cv::Point3d &to, const bool cameraFrame=false);
+
+  static void convertToOpenCV(const std::vector<vpImagePoint> &from, std::vector<cv::Point2f> &to);
+  static void convertToOpenCV(const std::vector<vpImagePoint> &from, std::vector<cv::Point2d> &to);
+  static void convertToOpenCV(const std::vector<vpPoint> &from, std::vector<cv::Point3f> &to, const bool cameraFrame=false);
+  static void convertToOpenCV(const std::vector<vpPoint> &from, std::vector<cv::Point3d> &to, const bool cameraFrame=false);
+
+private:
+  static vpImagePoint keyPointToVpImagePoint(const cv::KeyPoint &keypoint);
+  static vpImagePoint point2fToVpImagePoint(const cv::Point2f &point);
+  static vpImagePoint point2dToVpImagePoint(const cv::Point2d &point);
+  static vpPoint point3fToVpObjectPoint(const cv::Point3f &point3f);
+  static vpPoint point3dToVpObjectPoint(const cv::Point3d &point3d);
+  static vpPoint point3fToVpCamPoint(const cv::Point3f &point3f);
+  static vpPoint point3dToVpCamPoint(const cv::Point3d &point3d);
+  static int dMatchToTrainIndex(const cv::DMatch &match);
+
+  static cv::Point2f vpImagePointToPoint2f(const vpImagePoint &point);
+  static cv::Point2d vpImagePointToPoint2d(const vpImagePoint &point);
+  static cv::Point3f vpCamPointToPoint3f(const vpPoint &point);
+  static cv::Point3d vpCamPointToPoint3d(const vpPoint &point);
+  static cv::Point3f vpObjectPointToPoint3f(const vpPoint &point);
+  static cv::Point3d vpObjectPointToPoint3d(const vpPoint &point);
+
+#endif
+
+};
+
+#endif
diff --git a/src/tools/geometry/vpPlane.cpp b/src/tools/geometry/vpPlane.cpp
index 84f6a296f1fb313aaab186ce3686c3f7f02014f2..58055c0b4cb49b53a15ddffa71b1125e2fc0fd35 100644
--- a/src/tools/geometry/vpPlane.cpp
+++ b/src/tools/geometry/vpPlane.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpPlane.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpPlane.cpp 4740 2014-05-26 07:15:44Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -104,12 +104,16 @@ vpPlane::vpPlane(const vpPlane& P)
   (x,y,z) are the coordinates of a point and \f$[A,B,C]^T\f$ is the normal
   vector of the plane.
 
-  \param P : A point with coordinates (x,y,z) on the plane.
+  \param P : A point with coordinates (x,y,z) on the plane. The \e frame parameter indicates
+  if the coordinates of this points that are used are expressed in the camera of object frame.
   
   \param n : The normal to the plane.
 
+  \param frame: Indicates if the plane should be initialized from the point P
+  coordinates expressed in the camera or object frame.
+
 */
-vpPlane::vpPlane(const vpPoint& P, const vpColVector &n)
+vpPlane::vpPlane(const vpPoint& P, const vpColVector &n, vpPlaneFrame frame)
   : A(0), B(0), C(0), D(0)
 {
   //Equation of the plane is given by:
@@ -117,7 +121,11 @@ vpPlane::vpPlane(const vpPoint& P, const vpColVector &n)
   B = n[1];
   C = n[2];
 
-  D=-(A*P.get_X()+B*P.get_Y()+C*P.get_Z());
+  if (frame == vpPlane::camera_frame)
+    D=-(A*P.get_X()+B*P.get_Y()+C*P.get_Z());
+  else
+    D=-(A*P.get_oX()+B*P.get_oY()+C*P.get_oZ());
+
 }
 
 /*!
@@ -138,6 +146,7 @@ void vpPlane::init(const vpPlane& P)
   \e n to the plane.
 
   \param P : A point with coordinates (x,y,z) on the plane.
+  The size of the vector should be 3, with P[0]=x, with P[1]=y, with P[2]=z.
   
   \param n : The normal to the plane.
 
@@ -156,26 +165,42 @@ void vpPlane::init(const vpColVector & P, const vpColVector &n)
 /*!
   Compute the equation of a plane given three point P, Q, R.
 
-  The normal to the plane is given by
+  The normal to the plane is given by:
   n = PQ x PR
 
+  \param P,Q,R: Three points on the plane.
+  \param frame: Indicates if the plane should be initialized from the points
+  coordinates expressed in the camera or object frame.
+
 */
 void
-vpPlane::init(const vpPoint &P, const vpPoint &Q, const vpPoint &R)
+vpPlane::init(const vpPoint &P, const vpPoint &Q, const vpPoint &R, vpPlaneFrame frame)
 {
   vpColVector a(3);
   vpColVector b(3);
   vpColVector n(3);
-  //Calculate vector corresponding to PQ
-  a[0]=P.get_X()-Q.get_X();
-  a[1]=P.get_Y()-Q.get_Y();
-  a[2]=P.get_Z()-Q.get_Z();
-
-  //Calculate vector corresponding to PR
-  b[0]=P.get_X()-R.get_X();
-  b[1]=P.get_Y()-R.get_Y();
-  b[2]=P.get_Z()-R.get_Z();
-
+  if (frame == vpPlane::camera_frame) {
+    //Calculate vector corresponding to PQ
+    a[0]=P.get_X()-Q.get_X();
+    a[1]=P.get_Y()-Q.get_Y();
+    a[2]=P.get_Z()-Q.get_Z();
+
+    //Calculate vector corresponding to PR
+    b[0]=P.get_X()-R.get_X();
+    b[1]=P.get_Y()-R.get_Y();
+    b[2]=P.get_Z()-R.get_Z();
+  }
+  else {
+    //Calculate vector corresponding to PQ
+    a[0]=P.get_oX()-Q.get_oX();
+    a[1]=P.get_oY()-Q.get_oY();
+    a[2]=P.get_oZ()-Q.get_oZ();
+
+    //Calculate vector corresponding to PR
+    b[0]=P.get_oX()-R.get_oX();
+    b[1]=P.get_oY()-R.get_oY();
+    b[2]=P.get_oZ()-R.get_oZ();
+  }
   //Calculate normal vector to plane PQ x PR
   n=vpColVector::cross(a,b);
 
@@ -183,7 +208,10 @@ vpPlane::init(const vpPoint &P, const vpPoint &Q, const vpPoint &R)
   A = n[0];
   B = n[1];
   C = n[2];
-  D=-(A*P.get_X()+B*P.get_Y()+C*P.get_Z());
+  if (frame == vpPlane::camera_frame)
+    D=-(A*P.get_X()+B*P.get_Y()+C*P.get_Z());
+  else
+    D=-(A*P.get_oX()+B*P.get_oY()+C*P.get_oZ());
 
   double norm =  sqrt(A*A+B*B+C*C) ;
   A /= norm ;
@@ -196,15 +224,19 @@ vpPlane::init(const vpPoint &P, const vpPoint &Q, const vpPoint &R)
 /*!
   Compute the equation of a plane given three point P, Q, R.
 
-  The normal to the plane is given by
+  The normal to the plane is given by:
   n = PQ x PR
 
+  \param P,Q,R: Three points on the plane.
+  \param frame: Indicates if the plane should be initialized from the points
+  coordinates expressed in the camera or object frame.
+
   \sa init(const vpPoint &, const vpPoint &, const vpPoint &)
 */
-vpPlane::vpPlane(const vpPoint &P, const vpPoint &Q, const vpPoint &R)
+vpPlane::vpPlane(const vpPoint &P, const vpPoint &Q, const vpPoint &R, vpPlaneFrame frame)
   : A(0), B(0), C(0), D(0)
 {
-  init(P,Q,R) ;
+  init(P, Q, R, frame) ;
 }
 
 /*!
diff --git a/src/tools/geometry/vpPlane.h b/src/tools/geometry/vpPlane.h
index 3a6907fb120c94ee28c6855fdc15f6f79af4984c..c55e08f38279eb41822a5a8cb9f19a66b2ababbd 100644
--- a/src/tools/geometry/vpPlane.h
+++ b/src/tools/geometry/vpPlane.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpPlane.h 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpPlane.h 4702 2014-03-27 15:33:52Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -76,12 +76,16 @@ class VISP_EXPORT vpPlane
   double A,B,C,D ;
 
 public:
+  typedef enum {
+    object_frame,
+    camera_frame
+  } vpPlaneFrame;
   vpPlane() ;
   vpPlane(const vpPlane& P) ;
   vpPlane(const double A, const double B,const  double C,const  double D) ;
-  vpPlane(const vpPoint& P, const vpColVector &n) ;
-  vpPlane(const vpPoint &P, const vpPoint &Q, const vpPoint &R) ;
-  void init(const vpPoint& P, const vpPoint& Q, const vpPoint& R) ;
+  vpPlane(const vpPoint& P, const vpColVector &n, vpPlaneFrame frame=camera_frame) ;
+  vpPlane(const vpPoint &P, const vpPoint &Q, const vpPoint &R, vpPlaneFrame frame=camera_frame) ;
+  void init(const vpPoint& P, const vpPoint& Q, const vpPoint& R, vpPlaneFrame frame=camera_frame) ;
   void init(const vpColVector& P, const vpColVector &n) ;
   void init(const vpPlane& P) ;
 
diff --git a/src/tools/geometry/vpRect.cpp b/src/tools/geometry/vpRect.cpp
index 1b51f46a282dd268f2a65b48e3c4ebc8dee198bf..1dba245ec789388ea5fb282078783c8b6fe69676 100755
--- a/src/tools/geometry/vpRect.cpp
+++ b/src/tools/geometry/vpRect.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpRect.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpRect.cpp 4917 2014-10-06 08:35:22Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -63,6 +63,11 @@ vpRect::vpRect() : left(0), top(0), width(0), height(0) {};
   Constructs a rectangle with the \e top, \e left corner and \e width
   and \e height.
 
+  \param l : coordinate of the top/left corner along the horizontal axis.
+  \param t : coordinate of the top/left corner along the vertical axis.
+  \param w : rectangle width.
+  \param h : rectangle height.
+
 */
 vpRect::vpRect(double l, double t, double w, double h)
   : left(l), top(t), width(w), height(h)
@@ -74,6 +79,10 @@ vpRect::vpRect(double l, double t, double w, double h)
   Constructs a rectangle with \e topLeft the top-left corner location
   and \e width and \e height the rectangle size.
 
+  \param topLeft : coordinates of the top/left corner.
+  \param w : rectangle width.
+  \param h : rectangle height.
+
 */
 vpRect::vpRect(const vpImagePoint &topLeft, double w, double h)
   : left(topLeft.get_u()), top(topLeft.get_v()), width(w), height(h)
@@ -132,6 +141,41 @@ vpRect::vpRect(const std::vector<vpImagePoint> &ip)
   set(ip);
 }
 
+/*!
+
+  Set the rectangle with the \e top, \e left corner and \e width
+  and \e height.
+  \param l : coordinate of the top/left corner along the horizontal axis.
+  \param t : coordinate of the top/left corner along the vertical axis.
+  \param w : rectangle width.
+  \param h : rectangle height.
+
+*/
+void vpRect::set(double l, double t, double w, double h)
+{
+  left = l;
+  top = t;
+  width = w;
+  height = h;
+};
+
+/*!
+
+  Set the rectangle with \e topLeft the top-left corner location
+  and \e width and \e height the rectangle size.
+
+  \param topLeft : coordinates of the top-left corner.
+  \param w : rectangle width.
+  \param h : rectangle height.
+*/
+void vpRect::set(const vpImagePoint &topLeft, double w, double h)
+{
+  left = topLeft.get_u();
+  top = topLeft.get_v();
+  width = w;
+  height = h;
+};
+
 /*!
 
   Set the rectangle as the bounding box of a vector of image points.
@@ -163,6 +207,34 @@ void vpRect::set(const std::vector<vpImagePoint> &ip)
   setBottom(maxv);
 };
 
+/*!
+
+  Set the rectangle with \e topLeft the top-left corner location
+  and \e bottomRight the bottom-right corner.
+
+  \param topLeft : coordinates of the top-left corner.
+  \param bottomRight : coordinates of the bottom-right corner.
+
+*/
+void vpRect::set(const vpImagePoint &topLeft, const vpImagePoint &bottomRight)
+{
+  this->left = topLeft.get_u();
+  this->top = topLeft.get_v();
+
+  setBottom( bottomRight.get_v() );
+  setRight( bottomRight.get_u() );
+};
+
+/*!
+
+  Set the rectangle from \e r.
+
+*/
+void vpRect::set(const vpRect& r)
+{
+  *this = r;
+};
+
 /*!
 
   Check if an image point belongs to a rectangle.
diff --git a/src/tools/geometry/vpRect.h b/src/tools/geometry/vpRect.h
index 542986fb6f19b28b0e19f0cbecb08a7c12aa8731..9ae88e5687c9d4c3469d101ea526c8b1491b0579 100755
--- a/src/tools/geometry/vpRect.h
+++ b/src/tools/geometry/vpRect.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpRect.h 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpRect.h 5009 2014-11-25 18:00:13Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -166,6 +166,12 @@ public:
   */
   inline double getRight() const { return (this->left + this->width - 1.0); };
 
+  /*!
+    Returns the size of the rectangle.
+    \sa getWidth(), getHeight()
+  */
+  inline double getSize() const { return (this->width * this->height); };
+
   /*!
     Returns the top coordinate of the rectangle. 
 
@@ -194,6 +200,10 @@ public:
 
   friend VISP_EXPORT bool inRectangle( const vpImagePoint &ip, const vpRect &rect );
   friend VISP_EXPORT std::ostream& operator<< (std::ostream &os, const vpRect& r);
+  void set(double left, double top, double width, double height);
+  void set(const vpImagePoint &topLeft, double width, double height);
+  void set(const vpImagePoint &topLeft, const vpImagePoint &bottomRight);
+  void set(const vpRect& r);
   void set(const std::vector<vpImagePoint> &ip);
 
   /*!
@@ -302,6 +312,19 @@ public:
     this->top  = y - this->height/2 + 0.5;
   };
   
+  /*!
+
+    Center the rectangle to the image point given as parameter, leaving
+    the size unchanged.
+
+    \sa getCenter()
+
+  */
+  inline void moveCenter(const vpImagePoint &center) {
+    this->left = center.get_u() - this->width/2  + 0.5;
+    this->top  = center.get_v() - this->height/2 + 0.5;
+  };
+
 private:
   double left;   // Upper left corner position along the columns axis
   double top;    // Upper left corner position along the rows axis
diff --git a/src/tools/io/vpIoTools.cpp b/src/tools/io/vpIoTools.cpp
index 8f1f4ebb88d0dbafcb96d88da00d777945d79d92..ae85396e9684da12656efde4f65c03d84fe98c8c 100644
--- a/src/tools/io/vpIoTools.cpp
+++ b/src/tools/io/vpIoTools.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpIoTools.cpp 4604 2014-01-21 14:15:23Z fspindle $
+ * $Id: vpIoTools.cpp 5214 2015-01-27 18:33:01Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -55,6 +55,7 @@
 #include <fcntl.h>
 #include <limits>
 #include <cmath>
+#include <algorithm>
 #if !defined(_WIN32) && (defined(__unix__) || defined(__unix) || (defined(__APPLE__) && defined(__MACH__))) // UNIX
 #  include <unistd.h>
 #elif defined(_WIN32)
@@ -171,16 +172,11 @@ vpIoTools::getUserName()
 /*!
   Get the content of an environment variable.
 
-  \warning Under windows, this function is not implemented yet.
-
   \param env : Environment variable name (HOME, LOGNAME...).
-  \return Value of the environment variable
-
-  \exception vpException::notImplementedError : If this method is
-  called under Windows.
+  \return Value of the environment variable.
 
   \exception vpIoException::cantGetenv : If an error occur while
-  getting the environement variable value.
+  getting the environment variable value.
 
   \code
 #include <iostream>
@@ -194,8 +190,8 @@ int main()
     envvalue = vpIoTools::getenv("HOME");
     std::cout << "$HOME = \"" << envvalue << "\"" << std::endl;
   }
-  catch (...) {
-    std::cout << "Cannot get the environment variable value" << std::endl;
+  catch (vpException &e) {
+    std::cout << e.getMessage() << std::endl;
     return -1;
   }
   return 0;
@@ -205,14 +201,9 @@ int main()
   \sa getenv(std::string &)
 */
 std::string
-vpIoTools::getenv(const char *
-#if !defined(_WIN32) && (defined(__unix__) || defined(__unix) || (defined(__APPLE__) && defined(__MACH__))) // UNIX
-                  env
-#endif
-                  )
+vpIoTools::getenv(const char *env)
 {
   std::string value;
-#if !defined(_WIN32) && (defined(__unix__) || defined(__unix) || (defined(__APPLE__) && defined(__MACH__))) // UNIX
   // Get the environment variable value.
   char *_value = NULL;
   _value = ::getenv(env);
@@ -224,27 +215,16 @@ vpIoTools::getenv(const char *
   value = _value;
 
   return value;
-#elif defined(_WIN32)
-
-  vpERROR_TRACE( "Not implemented!" );
-  throw(vpIoException(vpException::notImplementedError,
-		      "Not implemented!")) ;
-#endif
 }
 
 /*!
   Get the content of an environment variable.
 
-  \warning Under windows, this function is not implemented yet.
-
   \param env : Environment variable name (HOME, LOGNAME...).
   \return Value of the environment variable
 
-  \exception vpException::notImplementedError : If this method is
-  called under Windows.
-
   \exception vpIoException::cantGetenv : If an error occur while
-  getting the environement variable value.
+  getting the environment variable value.
 
   \code
 #include <iostream>
@@ -259,8 +239,8 @@ int main()
     envvalue = vpIoTools::getenv(env);
     std::cout << "$HOME = \"" << envvalue << "\"" << std::endl;
   }
-  catch (...) {
-    std::cout << "Cannot get the environment variable value" << std::endl;
+  catch (vpException &e) {
+    std::cout << e.getMessage() << std::endl;
     return -1;
   }
   return 0;
@@ -270,7 +250,7 @@ int main()
   \sa getenv(const char *)
 */
 std::string
-vpIoTools::getenv(std::string &env)
+vpIoTools::getenv(const std::string &env)
 {
   return (vpIoTools::getenv(env.c_str()));
 }
@@ -1076,3 +1056,352 @@ void vpIoTools::saveConfigFile(const bool &actuallySave)
     vpIoTools::copy(configFile, dest);
   }
 }
+
+/*!
+ Get ViSP images data path. ViSP images data can be installed from Debian or Ubuntu \e visp-images-data package.
+ It can be also installed from ViSP-images.zip that can be found on http://team.inria.fr/lagadic/visp/download.html page.
+
+ This function returns the path to the folder that contains the data.
+ - It checks first if \e visp-images-data package is installed. In that case returns then \e /usr/share/visp-images-data".
+ - Then it checks if VISP_INPUT_IMAGE_PATH environment variable that gives the location of the data is set. In that
+   case returns the content of this environment var.
+
+ If the path is not found, returns an empty string.
+ */
+std::string vpIoTools::getViSPImagesDataPath()
+{
+  std::string data_path;
+  std::string file_to_test("ViSP-images/mbt/cube.cao");
+  std::string filename;
+#ifdef UNIX
+  // Test if visp-images-data package is u-installed (Ubuntu and Debian)
+  data_path = "/usr/share/visp-images-data";
+  filename = data_path + "/" + file_to_test;
+  if (vpIoTools::checkFilename(filename))
+    return data_path;
+#endif
+  // Test if VISP_INPUT_IMAGE_PATH env var is set
+  try {
+    data_path = vpIoTools::getenv("VISP_INPUT_IMAGE_PATH");
+    filename = data_path + "/" + file_to_test;
+    if (vpIoTools::checkFilename(filename))
+      return data_path;
+  }
+  catch(...) {
+  }
+  data_path = "";
+  return data_path;
+}
+
+/*!
+   Returns the extension of the file or an empty string if the file has no extension. If checkFile flag is set,
+   it will check first if the pathname denotes a directory and so return an empty string and second it will check
+   if the file denoted by the pathanme exists. If so, it will return the extension if present.
+   \param pathname : The pathname of the file we want to get the extension.
+   \param checkFile : If true, the file must exist otherwise an empty string will be returned.
+   \return The extension of the file or an empty string if the file has no extension.
+   or if the pathname is empty.
+ */
+std::string vpIoTools::getFileExtension(const std::string& pathname, const bool checkFile)
+{
+  if(checkFile && (vpIoTools::checkDirectory(pathname) || !vpIoTools::checkFilename(pathname))) {
+    return "";
+  }
+
+  //On Unix, or on the Mac
+  std::string sep = "/";
+  std::string altsep = "";
+  std::string extsep = ".";
+
+#if defined(_WIN32)
+  sep = "\\";
+  altsep = "/";
+  extsep = ".";
+#endif
+
+  //Python 2.7.8 module.
+//# Split a path in root and extension.
+//# The extension is everything starting at the last dot in the last
+//# pathname component; the root is everything before that.
+//# It is always true that root + ext == p.
+//
+//# Generic implementation of splitext, to be parametrized with
+//# the separators
+//def _splitext(p, sep, altsep, extsep):
+//    """Split the extension from a pathname.
+//
+//    Extension is everything from the last dot to the end, ignoring
+//    leading dots.  Returns "(root, ext)"; ext may be empty."""
+//
+//    sepIndex = p.rfind(sep)
+//    if altsep:
+//        altsepIndex = p.rfind(altsep)
+//        sepIndex = max(sepIndex, altsepIndex)
+//
+//    dotIndex = p.rfind(extsep)
+//    if dotIndex > sepIndex:
+//        # skip all leading dots
+//        filenameIndex = sepIndex + 1
+//        while filenameIndex < dotIndex:
+//            if p[filenameIndex] != extsep:
+//                return p[:dotIndex], p[dotIndex:]
+//            filenameIndex += 1
+//
+//    return p, ''
+
+  int sepIndex = (int)pathname.rfind(sep);
+  if(!altsep.empty()) {
+    int altsepIndex = (int)pathname.rfind(altsep);
+    sepIndex = (std::max)(sepIndex, altsepIndex);
+  }
+
+  size_t dotIndex = pathname.rfind(extsep);
+  if(dotIndex != std::string::npos) {
+    //The extsep character exists
+    if((sepIndex != (int)std::string::npos && (int)dotIndex > sepIndex) || sepIndex == (int)std::string::npos) {
+      if(sepIndex == (int)std::string::npos) {
+        sepIndex = -1;
+      }
+      size_t filenameIndex = (size_t)(sepIndex + 1);
+
+      while(filenameIndex < dotIndex) {
+        if(pathname.compare(filenameIndex, 1, extsep) != 0) {
+          return pathname.substr(dotIndex);
+        }
+        filenameIndex++;
+      }
+    }
+  }
+
+
+  return "";
+}
+
+/*!
+   Returns the name of the file or directory denoted by this pathname.
+   \return The name of the file or directory denoted by this pathname, or an
+   empty string if this pathname's name sequence is empty.
+ */
+std::string vpIoTools::getName(const std::string& pathname)
+{
+  if(pathname.size() > 0)
+  {
+    std::string convertedPathname = vpIoTools::path(pathname);
+
+    size_t index = convertedPathname.find_last_of(vpIoTools::separator);
+    if(index != std::string::npos) {
+      return convertedPathname.substr(index + 1);
+    }
+
+    return convertedPathname;
+  }
+
+  return "";
+}
+
+/*!
+   Returns the name of the file without extension or directory denoted by this pathname.
+   \return The name of the file without extension or directory denoted by this pathname, or an
+   empty string if this pathname's name sequence is empty.
+ */
+std::string vpIoTools::getNameWE(const std::string& pathname)
+{
+  std::string name = vpIoTools::getName(pathname);
+  size_t found = name.find_last_of(".");
+  std::string name_we = name.substr(0, found);
+  return name_we;
+}
+
+/*!
+ 	 Returns the pathname string of this pathname's parent.
+   \return The pathname string of this pathname's parent, or
+   an empty string if this pathname does not name a parent directory.
+ */
+std::string vpIoTools::getParent(const std::string& pathname)
+{
+	if(pathname.size() > 0)
+	{
+		std::string convertedPathname = vpIoTools::path(pathname);
+
+		size_t index = convertedPathname.find_last_of(vpIoTools::separator);
+		if(index != std::string::npos) {
+			return convertedPathname.substr(0, index);
+		}
+	}
+
+	return "";
+}
+
+/*!
+  Return the file path that corresponds to the concatenated
+  \e parent and \e child string files
+  by adding the corresponding separator for unix or windows.
+
+  The corresponding path is also converted. Under
+  windows, all the "/" characters are converted
+  into "\\" characters. Under Unix systems all the "\\"
+  characters are converted into "/" characters.
+ */
+std::string vpIoTools::createFilePath(const std::string& parent, const std::string child)
+{
+	if(child.size() == 0 && parent.size() == 0)
+	{
+		return "";
+	}
+
+	if(child.size() == 0)
+	{
+		return vpIoTools::path(parent);
+	}
+
+	if(parent.size() == 0)
+	{
+		return vpIoTools::path(child);
+	}
+
+	std::string convertedParent = vpIoTools::path(parent);
+	std::string convertedChild = vpIoTools::path(child);
+
+	std::stringstream ss;
+	ss << vpIoTools::separator;
+	std::string stringSeparator;
+	ss >> stringSeparator;
+
+	std::string lastConvertedParentChar = convertedParent.substr(convertedParent.size() - 1);
+	std::string firstConvertedChildChar = convertedChild.substr(0, 1);
+
+	if(lastConvertedParentChar == stringSeparator)
+	{
+		convertedParent = convertedParent.substr(0, convertedParent.size() - 1);
+	}
+
+	if(firstConvertedChildChar == stringSeparator)
+	{
+		convertedChild = convertedChild.substr(1);
+	}
+
+	return std::string(convertedParent + vpIoTools::separator + convertedChild);
+}
+
+/*!
+   Return whether a path is absolute.
+
+   \return true if the pathname is absolute, false otherwise.
+ */
+bool vpIoTools::isAbsolutePathname(const std::string& pathname)
+{
+  //# Inspired by the Python 2.7.8 module.
+	//# Return whether a path is absolute.
+	//# Trivial in Posix, harder on the Mac or MS-DOS.
+	//# For DOS it is absolute if it starts with a slash or backslash (current
+	//# volume), or if a pathname after the volume letter and colon / UNC resource
+	//# starts with a slash or backslash.
+	//
+	//def isabs(s):
+	//    """Test whether a path is absolute"""
+	//    s = splitdrive(s)[1]
+	//    return s != '' and s[:1] in '/\\'
+	std::string path = splitDrive(pathname).second;
+	return path.size() > 0 && (path.substr(0, 1) == "/" || path.substr(0, 1) == "\\");
+}
+
+/*!
+   Split a path in a drive specification (a drive letter followed by a colon) and the path specification.
+   It is always true that drivespec + pathspec == p
+ 	 Inspired by the Python 2.7.8 module.
+ 	 \return a pair whose the first element is the drive specification and the second element
+ 	 the path specification
+ */
+std::pair<std::string, std::string> vpIoTools::splitDrive(const std::string& pathname)
+{
+//# Split a path in a drive specification (a drive letter followed by a
+//# colon) and the path specification.
+//# It is always true that drivespec + pathspec == p
+//def splitdrive(p):
+//    """Split a pathname into drive/UNC sharepoint and relative path specifiers.
+//    Returns a 2-tuple (drive_or_unc, path); either part may be empty.
+//
+//    If you assign
+//        result = splitdrive(p)
+//    It is always true that:
+//        result[0] + result[1] == p
+//
+//    If the path contained a drive letter, drive_or_unc will contain everything
+//    up to and including the colon.  e.g. splitdrive("c:/dir") returns ("c:", "/dir")
+//
+//    If the path contained a UNC path, the drive_or_unc will contain the host name
+//    and share up to but not including the fourth directory separator character.
+//    e.g. splitdrive("//host/computer/dir") returns ("//host/computer", "/dir")
+//
+//    Paths cannot contain both a drive letter and a UNC path.
+//
+//    """
+//    if len(p) > 1:
+//        normp = p.replace(altsep, sep)
+//        if (normp[0:2] == sep*2) and (normp[2] != sep):
+//            # is a UNC path:
+//            # vvvvvvvvvvvvvvvvvvvv drive letter or UNC path
+//            # \\machine\mountpoint\directory\etc\...
+//            #           directory ^^^^^^^^^^^^^^^
+//            index = normp.find(sep, 2)
+//            if index == -1:
+//                return '', p
+//            index2 = normp.find(sep, index + 1)
+//            # a UNC path can't have two slashes in a row
+//            # (after the initial two)
+//            if index2 == index + 1:
+//                return '', p
+//            if index2 == -1:
+//                index2 = len(p)
+//            return p[:index2], p[index2:]
+//        if normp[1] == ':':
+//            return p[:2], p[2:]
+//    return '', p
+
+
+  //On Unix, the drive is always empty.
+  //On the Mac, the drive is always empty (don't use the volume name -- it doesn't have the same
+  //syntactic and semantic oddities as DOS drive letters, such as there being a separate current directory per drive).
+#if !defined(_WIN32) && (defined(__unix__) || defined(__unix) || (defined(__APPLE__) && defined(__MACH__)))
+  return std::pair<std::string, std::string>("", pathname);
+#else
+	const std::string sep = "\\";
+	const std::string sepsep = "\\\\";
+	const std::string altsep = "/";
+
+	if(pathname.size() > 1) {
+		std::string normPathname = pathname;
+		std::replace(normPathname.begin(), normPathname.end(), *altsep.c_str(), *sep.c_str());
+
+		if(normPathname.substr(0, 2) == sepsep && normPathname.substr(2, 1) != sep) {
+			// is a UNC path:
+			// vvvvvvvvvvvvvvvvvvvv drive letter or UNC path
+			// \\machine\mountpoint\directory\etc\...
+			//           directory ^^^^^^^^^^^^^^^
+			size_t index = normPathname.find(sep, 2);
+			if(index == std::string::npos) {
+				return std::pair<std::string, std::string>("", pathname);
+			}
+
+			size_t index2 = normPathname.find(sep, index + 1);
+			//# a UNC path can't have two slashes in a row
+			//# (after the initial two)
+			if(index2 == index + 1) {
+				return std::pair<std::string, std::string>("", pathname);
+			}
+
+			if(index2 == std::string::npos) {
+				index2 = pathname.size();
+			}
+
+			return std::pair<std::string, std::string>(pathname.substr(0, index2), pathname.substr(index2));
+		}
+
+		if(normPathname[1] == ':') {
+			return std::pair<std::string, std::string>(pathname.substr(0, 2), pathname.substr(2));
+		}
+	}
+
+	return std::pair<std::string, std::string>("", pathname);
+#endif
+}
diff --git a/src/tools/io/vpIoTools.h b/src/tools/io/vpIoTools.h
index 51c7e9c35797366f884bae3e620fe80341f1a973..7d7ef707538410f390777d849c8918d56b27f7e8 100644
--- a/src/tools/io/vpIoTools.h
+++ b/src/tools/io/vpIoTools.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpIoTools.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpIoTools.h 5197 2015-01-23 17:24:22Z strinh $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -159,8 +159,9 @@ public:
   static void getUserName(std::string &username);
   static std::string getUserName();
   static std::string getenv(const char *env);
-  static std::string getenv(std::string &env);
-  static void getVersion(const std::string &version, unsigned int &major, unsigned int &minor, unsigned int &patch);  
+  static std::string getenv(const std::string &env);
+  static std::string getViSPImagesDataPath();
+  static void getVersion(const std::string &version, unsigned int &major, unsigned int &minor, unsigned int &patch);
   static bool checkDirectory(const char *dirname);
   static bool checkDirectory(const std::string &dirname);
   static bool checkFilename(const char *filename);
@@ -172,12 +173,29 @@ public:
   static bool remove(const char *filename);
   static bool remove(const std::string &filename);
   static bool rename(const char *oldfilename, const char *newfilename);
-  static bool rename(const std::string &oldfilename, 
-		     const std::string &newfilename);
+  static bool rename(const std::string &oldfilename, const std::string &newfilename);
   
   static std::string path(const char * pathname);
   static std::string path(const std::string &pathname);
   
+  /*!
+   	 Define the directory separator character, backslash ('\') for windows platform or slash ('/') otherwise.
+   */
+  static const char separator =
+  #if defined(_WIN32)
+  	'\\';
+  #else
+  	'/';
+  #endif
+
+  static std::string getFileExtension(const std::string &pathname, const bool checkFile=false);
+  static std::string getName(const std::string &pathname);
+  static std::string getNameWE(const std::string &pathname);
+  static std::string getParent(const std::string& pathname);
+  static std::string createFilePath(const std::string& parent, const std::string child);
+  static bool isAbsolutePathname(const std::string& pathname);
+  static std::pair<std::string, std::string> splitDrive(const std::string& pathname);
+
   // read configuration file
   static bool loadConfigFile(const std::string &confFile);
   static bool readConfigVar(const std::string &var, float &value);
@@ -224,7 +242,7 @@ public:
   // write files
   static void saveConfigFile(const bool &actuallySave = true);
   static void createBaseNamePath(const bool &empty = false);
-  
+
  protected:
   static std::string baseName;
   static std::string baseDir;
diff --git a/src/tools/io/vpParallelPort.cpp b/src/tools/io/vpParallelPort.cpp
index 7b8be9fde7a358aa1b85f72f69a8b8be97523b6f..2ff06281429f10fc2659d6b584c4bc8bd285c340 100644
--- a/src/tools/io/vpParallelPort.cpp
+++ b/src/tools/io/vpParallelPort.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpParallelPort.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpParallelPort.cpp 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -74,7 +74,7 @@ static unsigned char vpParallelPortData;
   write access.
 
 */
-vpParallelPort::vpParallelPort()
+vpParallelPort::vpParallelPort() : fd(0), device()
 {
   sprintf(device, "/dev/parport0");
 
diff --git a/src/tools/io/vpParallelPortException.h b/src/tools/io/vpParallelPortException.h
index b1867e754ca48d87554f1e1b5e071a2a725341ea..c022185edbb5cbf2e0c6901e4bb573f71dfc1f88 100644
--- a/src/tools/io/vpParallelPortException.h
+++ b/src/tools/io/vpParallelPortException.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpParallelPortException.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpParallelPortException.h 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -90,18 +90,18 @@ class VISP_EXPORT vpParallelPortException : public vpException
     } ;
 
   public:
-    vpParallelPortException (const int code,  const char* format, ...)
+    vpParallelPortException (const int id,  const char* format, ...)
     {
-      this->code = code;
+      this->code = id;
       va_list args;
       va_start(args, format);
       setMessage(format, args);
       va_end (args);
     }
-    vpParallelPortException (const int code, const std::string & msg)
-      : vpException(code, msg){ ; }
-    vpParallelPortException (const int code)
-      : vpException(code){ ; }
+    vpParallelPortException (const int id, const std::string & msg)
+      : vpException(id, msg){ ; }
+    vpParallelPortException (const int id)
+      : vpException(id){ ; }
 
 };
 
diff --git a/src/tools/io/vpParseArgv.cpp b/src/tools/io/vpParseArgv.cpp
index 3e3f2b04e548de79596b0206df544b86ccc299bb..a6622263bcc259a503e3ea8ea09da3779fd38a14 100644
--- a/src/tools/io/vpParseArgv.cpp
+++ b/src/tools/io/vpParseArgv.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpParseArgv.cpp 3789 2012-06-13 21:01:08Z fspindle $
+ * $Id: vpParseArgv.cpp 5311 2015-02-11 17:42:01Z fspindle $
  *
  * This file contains a procedure that handles table-based
  * argv-argc parsing.
@@ -33,6 +33,7 @@
 #include <visp/vpParseArgv.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <stdint.h>
 #include <string.h>
 #include <math.h>
 #include <ctype.h>
@@ -95,7 +96,7 @@ vpParseArgv::parse(int *argcPtr, const char **argv, vpArgvInfo *argTable,
 				 * than srcIndex). */
    int argc;			/* # arguments in argv still to process. */
    size_t length;			/* Number of characters in current argument. */
-   unsigned long nargs;                   /* Number of following arguments to get. */
+   unsigned long long nargs;                   /* Number of following arguments to get. */
 
 /* Macro to optionally print errors */
 #define FPRINTF if (!(flags&ARGV_NO_PRINT)) (void) fprintf
@@ -172,10 +173,10 @@ vpParseArgv::parse(int *argcPtr, const char **argv, vpArgvInfo *argTable,
       infoPtr = matchPtr;
       switch (infoPtr->type) {
       case ARGV_CONSTANT:
-	*((int *) infoPtr->dst) = (long) infoPtr->src;
+  *((long long *) infoPtr->dst) = 1;
          break;
       case ARGV_INT:
-         nargs = (unsigned long) infoPtr->src;
+         nargs = (uintptr_t) infoPtr->src;
          if (nargs<1) nargs=1;
          for (unsigned long i=0; i<nargs; i++) {
             if (argc == 0) {
@@ -197,7 +198,7 @@ vpParseArgv::parse(int *argcPtr, const char **argv, vpArgvInfo *argTable,
          }
          break;
       case ARGV_LONG:
-         nargs = (unsigned long) infoPtr->src;
+         nargs = (uintptr_t) infoPtr->src;
          if (nargs<1) nargs=1;
          for (unsigned long i=0; i<nargs; i++) {
             if (argc == 0) {
@@ -219,7 +220,7 @@ vpParseArgv::parse(int *argcPtr, const char **argv, vpArgvInfo *argTable,
          }
          break;
       case ARGV_STRING:
-         nargs = (unsigned long) infoPtr->src;
+         nargs = (uintptr_t) infoPtr->src;
          if (nargs<1) nargs=1;
          for (unsigned long i=0; i<nargs; i++) {
             if (argc == 0) {
@@ -235,7 +236,7 @@ vpParseArgv::parse(int *argcPtr, const char **argv, vpArgvInfo *argTable,
          *((int *) infoPtr->dst) = dstIndex;
          goto argsDone;
       case ARGV_FLOAT:
-         nargs = (unsigned long) infoPtr->src;
+         nargs = (uintptr_t) infoPtr->src;
          if (nargs<1) nargs=1;
          for (unsigned long i=0; i<nargs; i++) {
             if (argc == 0) {
@@ -257,7 +258,7 @@ vpParseArgv::parse(int *argcPtr, const char **argv, vpArgvInfo *argTable,
          }
          break;
       case ARGV_DOUBLE:
-         nargs = (unsigned long) infoPtr->src;
+         nargs = (uintptr_t) infoPtr->src;
          if (nargs<1) nargs=1;
          for (unsigned long i=0; i<nargs; i++) {
             if (argc == 0) {
@@ -356,7 +357,7 @@ vpParseArgv::printUsage(vpArgvInfo * argTable, int flags)
 #define NUM_SPACES 20
    static char spaces[] = "                    ";
 /*   char tmp[30]; */
-   unsigned long nargs;
+   unsigned long long nargs;
 
 /* Macro to optionally print errors */
 #define FPRINTF if (!(flags&ARGV_NO_PRINT)) (void) fprintf
@@ -403,7 +404,7 @@ vpParseArgv::printUsage(vpArgvInfo * argTable, int flags)
          switch (infoPtr->type) {
          case ARGV_INT: {
             FPRINTF(stderr, "\n\t\tDefault value:");
-            nargs = (unsigned long) infoPtr->src;
+            nargs = (uintptr_t) infoPtr->src;
             if (nargs<1) nargs=1;
             for (unsigned long j=0; j<nargs; j++) {
                FPRINTF(stderr, " %d", *(((int *) infoPtr->dst)+j));
@@ -412,7 +413,7 @@ vpParseArgv::printUsage(vpArgvInfo * argTable, int flags)
          }
          case ARGV_LONG: {
             FPRINTF(stderr, "\n\t\tDefault value:");
-            nargs = (unsigned long) infoPtr->src;
+            nargs = (uintptr_t) infoPtr->src;
             if (nargs<1) nargs=1;
             for (unsigned long j=0; j<nargs; j++) {
                FPRINTF(stderr, " %ld", *(((long *) infoPtr->dst)+j));
@@ -421,7 +422,7 @@ vpParseArgv::printUsage(vpArgvInfo * argTable, int flags)
          }
          case ARGV_FLOAT: {
             FPRINTF(stderr, "\n\t\tDefault value:");
-            nargs = (unsigned long) infoPtr->src;
+            nargs = (uintptr_t) infoPtr->src;
             if (nargs<1) nargs=1;
             for (unsigned long j=0; j<nargs; j++) {
                FPRINTF(stderr, " %f", *(((float *) infoPtr->dst)+j));
@@ -430,7 +431,7 @@ vpParseArgv::printUsage(vpArgvInfo * argTable, int flags)
          }
          case ARGV_DOUBLE: {
             FPRINTF(stderr, "\n\t\tDefault value:");
-            nargs = (unsigned long) infoPtr->src;
+            nargs = (uintptr_t) infoPtr->src;
             if (nargs<1) nargs=1;
             for (unsigned long j=0; j<nargs; j++) {
                FPRINTF(stderr, " %g", *(((double *) infoPtr->dst)+j));
@@ -440,7 +441,7 @@ vpParseArgv::printUsage(vpArgvInfo * argTable, int flags)
          case ARGV_STRING: {
             const char *string;
 
-            nargs = (unsigned long) infoPtr->src;
+            nargs = (uintptr_t) infoPtr->src;
             if (nargs<1) nargs=1;
             string = *((const char **) infoPtr->dst);
             if ((nargs==1) && (string == NULL)) break;
@@ -449,9 +450,6 @@ vpParseArgv::printUsage(vpArgvInfo * argTable, int flags)
                if (string != NULL) {
                   FPRINTF(stderr, " \"%s\"", string);
                }
-               else {
-                  FPRINTF(stderr, " \"%s\"", string);
-               }
             }
 
             break;
diff --git a/src/tools/mutex/vpMutex.h b/src/tools/mutex/vpMutex.h
index 812d2a3948360ab3a750f77b1e95b845b507fce4..c0bfd0f7b294350df7404018546a106f50034849 100644
--- a/src/tools/mutex/vpMutex.h
+++ b/src/tools/mutex/vpMutex.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMutex.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpMutex.h 5126 2015-01-05 22:07:11Z fspindle $
  *
  *
  * This file is part of the ViSP software.
@@ -62,7 +62,7 @@
 */
 class VISP_EXPORT vpMutex {
 public:
-	vpMutex() {
+  vpMutex() : m_mutex() {
 		pthread_mutex_init( &m_mutex, NULL );
 	}
 	void lock() {
diff --git a/src/tools/plot/vpPlot.cpp b/src/tools/plot/vpPlot.cpp
index d65d4a598c9131d832240611b66c51203da06441..dcf216c49c38b95f5454bacc33c626aa95bba7c7 100644
--- a/src/tools/plot/vpPlot.cpp
+++ b/src/tools/plot/vpPlot.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpPlot.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpPlot.cpp 5226 2015-01-29 17:05:35Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -322,10 +322,10 @@ void vpPlot::plot(const unsigned int graphNum,
   \param y : The coordinate of the new point along the y axis and given in the user unit system.
   \param z : The coordinate of the new point along the z axis and given in the user unit system.
 */
-void
+vpMouseButton::vpMouseButtonType
 vpPlot::plot (const unsigned int graphNum, const unsigned int curveNum, const double x, const double y, const double z)
 {
-  (graphList+graphNum)->plot(I,curveNum,x,y,z);
+  return (graphList+graphNum)->plot(I,curveNum,x,y,z);
 }
 
 /*!
@@ -336,24 +336,31 @@ vpPlot::plot (const unsigned int graphNum, const unsigned int curveNum, const do
   \param v_y : y coordinates vector. The coordinates of the new points along the y axis and given in the user unit system.
   \param v_z : z coordinates vector. The coordinates of the new points along the z axis and given in the user unit system.
 */
-void vpPlot::plot(const unsigned int graphNum, const double x, const vpColVector &v_y, const vpColVector &v_z)
+vpMouseButton::vpMouseButtonType
+vpPlot::plot(const unsigned int graphNum, const double x, const vpColVector &v_y, const vpColVector &v_z)
 {
+  vpMouseButton::vpMouseButtonType button = vpMouseButton::none;
 	if((graphList+graphNum)->curveNbr == v_y.getRows() && (graphList+graphNum)->curveNbr == v_z.getRows())
 	{
 		for(unsigned int i = 0;i < v_y.getRows();++i)
-			this->plot(graphNum, i, x, v_y[i], v_z[i]);
+      button = this->plot(graphNum, i, x, v_y[i], v_z[i]);
 	}
 	else
 		vpTRACE("error in plot vector : not the right dimension");
+  return button;
 }
 
 /*!
   This method allows to change the point of view with the mouse if you have a 3D graphic.
+  The navigation is performed using the mouse.
+  - A click on left mouse button allows rotations
+  - A click on middle mouse button allows zoom
+  - A click on rigt mouse button quit the infinite navigation loop.
 */
 void
 vpPlot::navigate()
 {
-  vpMouseButton::vpMouseButtonType b = vpMouseButton::button1;
+  vpMouseButton::vpMouseButtonType b = vpMouseButton::none;
   
   bool blocked = false;
   unsigned int iblocked = 0;
@@ -372,21 +379,21 @@ vpPlot::navigate()
           break;
         }
       }
-      if ((graphList+iblocked)->move(I))
+      if ((graphList+iblocked)->move(I, b))
       {
         (graphList+iblocked)->replot3D(I);
       }
-      
       blocked = (graphList+iblocked)->blocked;
     }
     else
     {
-      if ((graphList+iblocked)->move(I))
+      if ((graphList+iblocked)->move(I, b))
       {
         (graphList+iblocked)->replot3D(I);
       }
       blocked = (graphList+iblocked)->blocked;
     }
+    vpTime::sleepMs(20);
   }
 }
 
diff --git a/src/tools/plot/vpPlot.h b/src/tools/plot/vpPlot.h
index f16bfc119156d0fae645e3c4ddb966614c93b6f0..a5d672b1e916cccb61bab4e4b37966a572b0f5f4 100644
--- a/src/tools/plot/vpPlot.h
+++ b/src/tools/plot/vpPlot.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpPlot.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpPlot.h 5226 2015-01-29 17:05:35Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -151,8 +151,8 @@ class VISP_EXPORT vpPlot
 
     void plot (const unsigned int graphNum, const unsigned int curveNum, const double x, const double y);
     void plot(const unsigned int graphNum, const double x, const vpColVector &v_y);
-    void plot (const unsigned int graphNum, const unsigned int curveNum, const double x, const double y, const double z);
-    void plot(const unsigned int graphNum, const double x, const vpColVector &v_y, const vpColVector &v_z);
+    vpMouseButton::vpMouseButtonType plot (const unsigned int graphNum, const unsigned int curveNum, const double x, const double y, const double z);
+    vpMouseButton::vpMouseButtonType plot(const unsigned int graphNum, const double x, const vpColVector &v_y, const vpColVector &v_z);
 
     void resetPointList (const unsigned int graphNum);
     void resetPointList (const unsigned int graphNum, const unsigned int curveNum);
diff --git a/src/tools/plot/vpPlotGraph.cpp b/src/tools/plot/vpPlotGraph.cpp
index cbe0d662958a9de7ea156bc851744617b2df90d2..49c2fc023cb338ceb7c947fb6e68b6be8f795c8c 100644
--- a/src/tools/plot/vpPlotGraph.cpp
+++ b/src/tools/plot/vpPlotGraph.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpPlotGraph.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpPlotGraph.cpp 5226 2015-01-29 17:05:35Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -1131,7 +1131,7 @@ vpPlotGraph::displayGrid3D (vpImage<unsigned char> &I)
     displayLegend(I);
 }
 
-void
+vpMouseButton::vpMouseButtonType
 vpPlotGraph::plot (vpImage<unsigned char> &I, const unsigned int curveNb, const double x, const double y, const double z)
 {
   if (!scaleInitialized)
@@ -1193,7 +1193,9 @@ vpPlotGraph::plot (vpImage<unsigned char> &I, const unsigned int curveNb, const
   if (z > zmax) {rescalez(1,z);changed = true;}
   else if(z < zmin) {rescalez(0,z);changed = true;}
   
-  if (changed || move(I))
+  vpMouseButton::vpMouseButtonType button = vpMouseButton::none;
+
+  if (changed || move(I, button))
   {
     computeGraphParameters3D();
     replot3D(I);
@@ -1235,10 +1237,10 @@ vpPlotGraph::plot (vpImage<unsigned char> &I, const unsigned int curveNb, const
   (curveList+curveNb)->pointListz.push_back(z);
   (curveList+curveNb)->nbPoint++;
   
-  
 #if( !defined VISP_HAVE_X11 && defined FLUSH_ON_PLOT)  
   vpDisplay::flushROI(I,graphZone);
 #endif
+  return button;
 }
 
 void
@@ -1306,12 +1308,16 @@ vpPlotGraph::rescalez(unsigned int side, double extremity)
   zdelt = (zmax-zmin)/(double)nbDivisionz;
 }
 
+/*!
+  \param I : Image used to display the graph.
+  \param button : Mouse button used during navigation.
+ */
 bool
-vpPlotGraph::move(const vpImage<unsigned char> &I)
+vpPlotGraph::move(const vpImage<unsigned char> &I, vpMouseButton::vpMouseButtonType &button)
 {
   bool changed = false;
-  vpHomogeneousMatrix displacement = navigation(I,changed);
-  
+  vpHomogeneousMatrix displacement = navigation(I, changed, button);
+
   //if (displacement[2][3] != 0)
   if (std::fabs(displacement[2][3]) > std::numeric_limits<double>::epsilon())
     cMf = cMf*displacement;
@@ -1322,13 +1328,12 @@ vpPlotGraph::move(const vpImage<unsigned char> &I)
 }
 
 vpHomogeneousMatrix
-vpPlotGraph::navigation(const vpImage<unsigned char> &I, bool &changed)
+vpPlotGraph::navigation(const vpImage<unsigned char> &I, bool &changed, vpMouseButton::vpMouseButtonType &b)
 {
   vpImagePoint iP;
   vpImagePoint trash;
   bool clicked = false;
   bool clickedUp = false;
-  vpMouseButton::vpMouseButtonType b = vpMouseButton::button1;
 
   vpHomogeneousMatrix mov(0,0,0,0,0,0);
   changed = false;
@@ -1370,7 +1375,7 @@ vpPlotGraph::navigation(const vpImage<unsigned char> &I, bool &changed)
       //while (vpDisplay::getClick(I,trash,b,false)) {};
     }
   }
-  
+
   vpDisplay::getPointerPosition(I,iP);
 
   double anglei = 0;
diff --git a/src/tools/plot/vpPlotGraph.h b/src/tools/plot/vpPlotGraph.h
index 0e8af1e8862bf920a5e5c10bfa5f0b718e74d847..2da1a0fb1fada3c0d3e69da46c88f11bc7756a20 100644
--- a/src/tools/plot/vpPlotGraph.h
+++ b/src/tools/plot/vpPlotGraph.h
@@ -1,7 +1,7 @@
 
 /****************************************************************************
  *
- * $Id: vpPlotGraph.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpPlotGraph.h 5226 2015-01-29 17:05:35Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -49,6 +49,7 @@
 #include <visp/vpImage.h>
 
 #include <visp/vpPlotCurve.h>
+#include <visp/vpMouseButton.h>
 
 #include <visp/vpHomogeneousMatrix.h>
 #include <visp/vpRect.h>
@@ -168,11 +169,11 @@ class vpPlotGraph
 
     bool getPixelValue(vpImage<unsigned char> &I, vpImagePoint &iP);
 
-    bool move(const vpImage<unsigned char> &I);
-    vpHomogeneousMatrix navigation(const vpImage<unsigned char> &I, bool &changed);
+    bool move(const vpImage<unsigned char> &I, vpMouseButton::vpMouseButtonType &button);
+    vpHomogeneousMatrix navigation(const vpImage<unsigned char> &I, bool &changed, vpMouseButton::vpMouseButtonType &b);
 
     void plot (vpImage<unsigned char> &I, const unsigned int curveNb, const double x, const double y);
-    void plot (vpImage<unsigned char> &I, const unsigned int curveNb, const double x, const double y, const double z);
+    vpMouseButton::vpMouseButtonType plot (vpImage<unsigned char> &I, const unsigned int curveNb, const double x, const double y, const double z);
     void replot (vpImage<unsigned char> &I);
     void replot3D (vpImage<unsigned char> &I);
 
diff --git a/src/tracking/dots/vpDot.cpp b/src/tracking/dots/vpDot.cpp
index 1955089a621b916b234abc1565a718649dc5359c..2a926ff9fd93a1791c7735e500d8ec733e4a9b61 100644
--- a/src/tracking/dots/vpDot.cpp
+++ b/src/tracking/dots/vpDot.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpDot.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpDot.cpp 4943 2014-11-03 13:51:09Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -47,17 +47,11 @@
 */
 
 #include <visp/vpDot.h>
-
 #include <visp/vpDisplay.h>
 #include <visp/vpColor.h>
-
-// exception handling
 #include <visp/vpTrackingException.h>
-#include <vector>
 
-#ifdef VISP_USE_MSVC
-#  pragma comment(linker, "/STACK:256000000") // Increase max recursion depth
-#endif
+#include <vector>
 
 /*
   \class vpDot
@@ -216,7 +210,7 @@ vpDot::setGrayLevelOut()
   if (gray_level_min == 0) {
     if (gray_level_max == 255) {
       // gray_level_min = 0 and gray_level_max = 255: this should not occur
-      vpERROR_TRACE("Unable to choose a good \"out\" level") ;
+      //vpERROR_TRACE("Unable to choose a good \"out\" level") ;
       throw(vpTrackingException(vpTrackingException::initializationError,
 				"Unable to choose a good \"out\" level")) ;
     }
@@ -296,14 +290,18 @@ bool vpDot::connexe(const vpImage<unsigned char>& I,unsigned int u,unsigned int
     n+=1 ;
 
     if (n > nbMaxPoint) {
-      vpERROR_TRACE("Too many point %lf (%lf%% of image size). "
-		    "This threshold can be modified using the setMaxDotSize() "
-		    "method.",
-		    n, n / (I.getWidth() * I.getHeight()),
-		    nbMaxPoint, maxDotSizePercentage) ;
+//      vpERROR_TRACE("Too many point %lf (%lf%% of image size). "
+//		    "This threshold can be modified using the setMaxDotSize() "
+//		    "method.",
+//		    n, n / (I.getWidth() * I.getHeight()),
+//		    nbMaxPoint, maxDotSizePercentage) ;
 
       throw(vpTrackingException(vpTrackingException::featureLostError,
-				"Dot to big")) ;
+                                "Too many point %lf (%lf%% of image size). "
+                                "This threshold can be modified using the setMaxDotSize() "
+                                "method.",
+                                n, n / (I.getWidth() * I.getHeight()),
+                                nbMaxPoint, maxDotSizePercentage)) ;
     }
 
     // Bounding box update
@@ -464,7 +462,7 @@ vpDot::COG(const vpImage<unsigned char> &I, double& u, double& v)
     }
     if (sol == false)
     {
-      vpERROR_TRACE("Dot has been lost") ;
+      //vpERROR_TRACE("Dot has been lost") ;
       throw(vpTrackingException(vpTrackingException::featureLostError,
 				"Dot has been lost")) ;
     }
@@ -545,7 +543,7 @@ vpDot::COG(const vpImage<unsigned char> &I, double& u, double& v)
     }
 
     if (sol == false) {
-      vpERROR_TRACE("Dot has been lost") ;
+      //vpERROR_TRACE("Dot has been lost") ;
       throw(vpTrackingException(vpTrackingException::featureLostError,
 				"Dot has been lost")) ;
     }
@@ -589,19 +587,21 @@ vpDot::COG(const vpImage<unsigned char> &I, double& u, double& v)
 
   if (npoint < 5)
   {
-    vpERROR_TRACE("Dot to small") ;
+    //vpERROR_TRACE("Dot to small") ;
     throw(vpTrackingException(vpTrackingException::featureLostError,
 			      "Dot to small")) ;
   }
 
   if (npoint > nbMaxPoint)
   {
-    vpERROR_TRACE("Too many point %lf (%lf%%). Max allowed is %lf (%lf%%). This threshold can be modified using the setMaxDotSize() method.",
-		  npoint, npoint / (I.getWidth() * I.getHeight()),
-		  nbMaxPoint, maxDotSizePercentage) ;
+//    vpERROR_TRACE("Too many point %lf (%lf%%). Max allowed is %lf (%lf%%). This threshold can be modified using the setMaxDotSize() method.",
+//		  npoint, npoint / (I.getWidth() * I.getHeight()),
+//		  nbMaxPoint, maxDotSizePercentage) ;
 
-   throw(vpTrackingException(vpTrackingException::featureLostError,
-			      "Dot to big")) ;
+    throw(vpTrackingException(vpTrackingException::featureLostError,
+                              "Too many point %lf (%lf%%). Max allowed is %lf (%lf%%). This threshold can be modified using the setMaxDotSize() method.",
+                              npoint, npoint / (I.getWidth() * I.getHeight()),
+                              nbMaxPoint, maxDotSizePercentage)) ;
   }  
 }
 
@@ -679,10 +679,9 @@ vpDot::initTracking(const vpImage<unsigned char>& I)
   try {
     track( I );
   }
-  catch(...)
+  catch(vpException &e)
   {
-    vpERROR_TRACE("Error caught") ;
-    throw ;
+    throw(e) ;
   }
 }
 
@@ -734,10 +733,9 @@ vpDot::initTracking(const vpImage<unsigned char>& I, const vpImagePoint &ip)
   try {
     track( I );
   }
-  catch(...)
+  catch(vpException &e)
   {
-    vpERROR_TRACE("Error caught") ;
-    throw ;
+    throw(e) ;
   }
 }
 
@@ -781,10 +779,9 @@ vpDot::initTracking(const vpImage<unsigned char>& I, const vpImagePoint &ip,
   try {
     track( I );
   }
-  catch(...)
+  catch(vpException &e)
   {
-    vpERROR_TRACE("Error caught") ;
-    throw ;
+    throw(e) ;
   }
 }
 
@@ -829,10 +826,9 @@ vpDot::track(const vpImage<unsigned char> &I)
     }
 
   }
-  catch(...)
+  catch(vpException &e)
   {
-    vpERROR_TRACE("Error caught") ;
-    throw ;
+    throw(e) ;
   }
 }
 
diff --git a/src/tracking/dots/vpDot.h b/src/tracking/dots/vpDot.h
index 96d08644104b1ee2074b0238c0a7b0d48058f49b..558deeeb6b745ea3b7521c721b531520c7b05a93 100644
--- a/src/tracking/dots/vpDot.h
+++ b/src/tracking/dots/vpDot.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpDot.h 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpDot.h 4943 2014-11-03 13:51:09Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -48,6 +48,7 @@
 #ifndef vpDot_hh
 #define vpDot_hh
 
+#include <visp/vpConfig.h>
 #include <visp/vpImage.h>
 #include <visp/vpDisplay.h>
 #include <visp/vpTracker.h>
@@ -59,6 +60,10 @@
 #include <list>
 #include <vector>
 
+#ifdef VISP_USE_MSVC
+#  pragma comment(linker, "/STACK:256000000") // Increase max recursion depth
+#endif
+
 /*!
   \class vpDot
 
diff --git a/src/tracking/dots/vpDot2.cpp b/src/tracking/dots/vpDot2.cpp
index ece7b13031c197ad9fb2cc7ac75e72337d1745f6..5edc64a4ae963a184bce2d7fe0350f0479a67643 100644
--- a/src/tracking/dots/vpDot2.cpp
+++ b/src/tracking/dots/vpDot2.cpp
@@ -290,10 +290,10 @@ void vpDot2::initTracking(const vpImage<unsigned char>& I, unsigned int size)
   try {
     track( I );
   }
-  catch(...)
+  catch(vpException e)
   {
-    vpERROR_TRACE("Error caught") ;
-    throw ;
+    //vpERROR_TRACE("Error caught") ;
+    throw(e) ;
   }
 }
 
@@ -352,10 +352,10 @@ void vpDot2::initTracking(const vpImage<unsigned char>& I,
   try {
     track( I );
   }
-  catch(...)
+  catch(vpException &e)
   {
-    vpERROR_TRACE("Error caught") ;
-    throw ;
+    //vpERROR_TRACE("Error caught") ;
+    throw(e) ;
   }
 }
 
@@ -415,10 +415,10 @@ void vpDot2::initTracking(const vpImage<unsigned char>& I,
   try {
     track( I );
   }
-  catch(...)
+  catch(vpException &e)
   {
-    vpERROR_TRACE("Error caught") ;
-    throw ;
+    //vpERROR_TRACE("Error caught") ;
+    throw(e) ;
   }
 }
 
@@ -530,7 +530,7 @@ void vpDot2::track(const vpImage<unsigned char> &I)
     // in the area, return an error tracking.
     if( candidates.empty() )
     {
-      vpERROR_TRACE("No dot was found") ;
+      //vpERROR_TRACE("No dot was found") ;
       throw(vpTrackingException(vpTrackingException::featureLostError,
                                 "No dot was found")) ;
     }
@@ -577,9 +577,9 @@ void vpDot2::track(const vpImage<unsigned char> &I)
   // if this dot is partially out of the image, return an error tracking.
   if( !isInImage( I ) )
   {
-    vpERROR_TRACE("The center of gravity of the dot is not in the image") ;
+    //vpERROR_TRACE("The center of gravity of the dot is not in the image") ;
     throw(vpTrackingException(vpTrackingException::featureLostError,
-                              "No dot was found")) ;
+                              "The center of gravity of the dot is not in the image")) ;
   }
 
   // Get dots center of gravity
diff --git a/src/tracking/dots/vpDot2.h b/src/tracking/dots/vpDot2.h
index 4989a78ad76112987d36efc698b74108f83ca240..15a0d304c9945cb276b03c2f9a790cad20209adf 100644
--- a/src/tracking/dots/vpDot2.h
+++ b/src/tracking/dots/vpDot2.h
@@ -1,4 +1,4 @@
- /****************************************************************************
+/****************************************************************************
   *
   * $Id: vpDot2.h 2135 2009-04-29 13:51:31Z fspindle $
   *
@@ -105,11 +105,11 @@
     is used when there was a problem performing basic tracking of the dot, but
     can also be used to find a certain type of dots in the full image.
 
-  The following sample code available in tutorial-blob-tracker.cpp shows how to
+  The following sample code available in tutorial-blob-tracker-live-firewire.cpp shows how to
   grab images from a firewire camera, track a blob and display the tracking
   results.
 
-  \include tutorial-blob-tracker.cpp
+  \include tutorial-blob-tracker-live-firewire.cpp
   A line by line explanation of the previous example is provided in
   \ref tutorial-tracking-blob.
 
diff --git a/src/tracking/forward-projection/vpCircle.cpp b/src/tracking/forward-projection/vpCircle.cpp
index f0b5fe80ff542ba35eb34bf9fdbc3178dd9404ca..58a22b1044207eefff7fc0f18dd9b23d93acae78 100644
--- a/src/tracking/forward-projection/vpCircle.cpp
+++ b/src/tracking/forward-projection/vpCircle.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpCircle.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpCircle.cpp 4772 2014-07-10 17:05:53Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -73,19 +73,17 @@ vpCircle::setWorldCoordinates(const vpColVector& oP_)
   We mean here the coordinates of the circle in the object frame
  
   \param A : A from the plane equation Ax + By + Cz = 0.
-  \param B : A from the plane equation Ax + By + Cz = 0.
-  \param C : A from the plane equation Ax + By + Cz = 0.
+  \param B : B from the plane equation Ax + By + Cz = 0.
+  \param C : C from the plane equation Ax + By + Cz = 0.
   \param X0 : X Coordinate of the center of the sphere.
   \param Y0 : Y Coordinate of the center of the sphere.
   \param Z0 : Z Coordinate of the center of the sphere.
   \param R : Radius of the sphere.
 */
 void
-vpCircle::setWorldCoordinates(const double A, const double B,
-			       const double C,
-			       const double X0, const double Y0,
-			       const double Z0,
-			       const double R)
+vpCircle::setWorldCoordinates(const double A, const double B, const double C,
+                              const double X0, const double Y0, const double Z0,
+                              const double R)
 {
   oP[0] = A ;
   oP[1] = B ;
@@ -122,8 +120,8 @@ vpCircle::vpCircle(const vpColVector& oP_)
   Construct the circle from the intersection of a plane and a sphere. 
  
   \param A : A from the plane equation Ax + By + Cz = 0.
-  \param B : A from the plane equation Ax + By + Cz = 0.
-  \param C : A from the plane equation Ax + By + Cz = 0.
+  \param B : B from the plane equation Ax + By + Cz = 0.
+  \param C : C from the plane equation Ax + By + Cz = 0.
   \param X0 : X Coordinate of the center of the sphere.
   \param Y0 : Y Coordinate of the center of the sphere.
   \param Z0 : Z Coordinate of the center of the sphere.
@@ -150,14 +148,31 @@ vpCircle::~vpCircle()
 
 
 
-//! perspective projection of the circle
+/*!
+  Perspective projection of the circle.
+
+  From the 3D parameters of the circle in the camera frame available in cP, computes the 2D parameters of the ellipse resulting from the perspective projection in the image plane. Those 2D parameters are available in p vector.
+
+  See vpCircle::projection(const vpColVector &, vpColVector &) for a more detailed description of the parameters.
+  */
 void
 vpCircle::projection()
 {
   projection(cP,p) ;
 }
 
-//! Perspective projection of the circle.
+/*!
+  Perspective projection of the circle.
+  \param cP_: 3D cercle input parameters. This vector is of dimension 7. It contains the following parameters: A, B, C, X0, Y0, Z0, r where
+  - A,B,C are the parameters of the plane with equation Ax+By+Cz+D=0 containing the circle
+  - X0,Y0,Z0 are the 3D coordinates of the cercle in the camera frame
+  - r is the circle radius.
+
+  \param p_: 2D circle output parameters. This is a 5 dimension vector. It contains the following parameters: xc, yc, m20, m11, m02 where:
+  - xc,yc are the normalized coordinates of the center of the ellipse (ie the perspective projection of a 3D
+    circle becomes a 2D ellipse in the image) in the image plane.
+  - mu20,mu11,mu02 are the second order centered moments of the ellipse.
+  */
 void
 vpCircle::projection(const vpColVector &cP_, vpColVector &p_)
 {
@@ -188,6 +203,12 @@ vpCircle::projection(const vpColVector &cP_, vpColVector &p_)
     K[5] = 1 - 2*C*Z0 + C*C*s;
 
   }
+
+//  {
+//    std::cout << "K dans vpCircle::projection(): " << std::endl;
+//    for (unsigned int i=1; i<6; i++)
+//      std::cout << K[i]/K[0] << std::endl;
+//  }
   double det  = K[2]*K[2] -K[0]*K[1];
   if (fabs(det) < 1e-8)
   {
@@ -204,7 +225,8 @@ vpCircle::projection(const vpColVector &cP_, vpColVector &p_)
 
   double A,B,E ;
 
-  if (fabs(K[2])<1e-6)
+  //if (fabs(K[2])<1e-6)
+  if (fabs(K[2])<std::numeric_limits<double>::epsilon())
   {
     E = 0.0;
     if (K[0] > K[1])
@@ -235,15 +257,15 @@ vpCircle::projection(const vpColVector &cP_, vpColVector &p_)
   }
 
   det =  (1.0 + vpMath::sqr(E));
-  double m20 = (vpMath::sqr(A) +  vpMath::sqr(B*E))  /det ;
-  double m11 = (vpMath::sqr(A)  - vpMath::sqr(B)) *E / det ;
-  double m02 = (vpMath::sqr(B) + vpMath::sqr(A*E))   / det ;
+  double mu20 = (vpMath::sqr(A) +  vpMath::sqr(B*E))  /det ;
+  double mu11 = (vpMath::sqr(A) - vpMath::sqr(B)) *E / det ;
+  double mu02 = (vpMath::sqr(B) + vpMath::sqr(A*E))   / det ;
 
   p_[0] = xc ;
   p_[1] = yc ;
-  p_[2] = m20 ;
-  p_[3] = m11 ;
-  p_[4] = m02 ;
+  p_[2] = mu20 ;
+  p_[3] = mu11 ;
+  p_[4] = mu02 ;
 }
 
 //! perspective projection of the circle
diff --git a/src/tracking/forward-projection/vpCircle.h b/src/tracking/forward-projection/vpCircle.h
index 3dbba40aa7849f325bdd5b4e48ed166d64178df5..86151b247669caf39314c3ac52aef3ce9b7cce2e 100644
--- a/src/tracking/forward-projection/vpCircle.h
+++ b/src/tracking/forward-projection/vpCircle.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpCircle.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpCircle.h 4702 2014-03-27 15:33:52Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -63,25 +63,17 @@ class VISP_EXPORT vpCircle : public vpForwardProjection
 public:
   void init() ;
   vpCircle() ;
-  virtual ~vpCircle() ;
-
-public:
-  typedef enum
-    {
-      line1,
-      line2
-    } vpLineCircleType;
-
   vpCircle(const vpColVector& oP) ;
-  vpCircle(const double A, const double B1,
+  vpCircle(const double A, const double B,
 	   const double C,
 	   const double X0, const double Y0,
 	   const double Z0,
 	   const double R) ;
+  virtual ~vpCircle() ;
 
 
   void setWorldCoordinates(const vpColVector& oP) ;
-  void setWorldCoordinates(const double A, const double B1,
+  void setWorldCoordinates(const double A, const double B,
 			   const double C,
 			   const double X0, const double Y0,
 			   const double Z0,
diff --git a/src/tracking/forward-projection/vpCylinder.cpp b/src/tracking/forward-projection/vpCylinder.cpp
index 6fe38e52315a31eb50f08f24aeb6cba49d0dfd90..208538c0ecf0340551d087c6bb0d23d6aaade291 100644
--- a/src/tracking/forward-projection/vpCylinder.cpp
+++ b/src/tracking/forward-projection/vpCylinder.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpCylinder.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpCylinder.cpp 4908 2014-09-19 06:55:24Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -240,7 +240,7 @@ vpCylinder::projection(const vpColVector &cP_, vpColVector &p_)
   s = X0*X0 + Y0*Y0 + Z0*Z0 - R*R - zero*zero;
   if (s < 0) 
     {
-      printf("The camera is inside the cylinder!\n");
+      printf("The camera is inside the cylinder with s=%f !\n", s);
       throw vpException(vpException::fatalError, "The camera is inside the cylinder!");
     }
   s = 1.0/sqrt(s);
diff --git a/src/tracking/klt/vpKltOpencv.cpp b/src/tracking/klt/vpKltOpencv.cpp
index db5ac8e61f3660ccde4e714eb423b767b4911968..787c8437aa791f085a964af0c248be4e1880a5d1 100644
--- a/src/tracking/klt/vpKltOpencv.cpp
+++ b/src/tracking/klt/vpKltOpencv.cpp
@@ -1,10 +1,10 @@
 /****************************************************************************
  *
- * $Id: vpKltOpencv.cpp 4632 2014-02-03 17:06:40Z fspindle $
+ * $Id: vpKltOpencv.cpp 5189 2015-01-21 16:42:18Z ayol $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
- * 
+ *
  * This software is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  * ("GPL") version 2 as published by the Free Software Foundation.
@@ -12,11 +12,11 @@
  * distribution for additional information about the GNU GPL.
  *
  * For using ViSP with software that can not be combined with the GNU
- * GPL, please contact INRIA about acquiring a ViSP Professional 
+ * GPL, please contact INRIA about acquiring a ViSP Professional
  * Edition License.
  *
  * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
- * 
+ *
  * This software was developed at:
  * INRIA Rennes - Bretagne Atlantique
  * Campus Universitaire de Beaulieu
@@ -26,7 +26,7 @@
  *
  * If you have questions regarding the use of this file, please contact
  * INRIA at visp@inria.fr
- * 
+ *
  * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
@@ -48,13 +48,525 @@
   implemented with opencv.
 */
 
-#include "visp/vpConfig.h"
+#include <visp/vpConfig.h>
 
-#ifdef VISP_HAVE_OPENCV
+#if defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020408)
 
 #include <string>
 
-#include "vpKltOpencv.h"
+#include <visp/vpDisplay.h>
+#include <visp/vpKltOpencv.h>
+#include <visp/vpTrackingException.h>
+
+/*!
+  Default constructor.
+ */
+vpKltOpencv::vpKltOpencv()
+  : m_gray(), m_prevGray(), m_points_id(), m_maxCount(500), m_termcrit(), m_winSize(10), m_qualityLevel(0.01),
+    m_minDistance(15), m_minEigThreshold(1e-4), m_harris_k(0.04), m_blockSize(3), m_useHarrisDetector(1), m_pyrMaxLevel(3),
+    m_next_points_id(0), m_initial_guess(false)
+{
+  m_termcrit = cv::TermCriteria(cv::TermCriteria::COUNT|cv::TermCriteria::EPS, 20, 0.03);
+
+}
+
+/*!
+  Copy constructor.
+ */
+vpKltOpencv::vpKltOpencv(const vpKltOpencv& copy)
+  : m_gray(), m_prevGray(), m_points_id(), m_maxCount(500), m_termcrit(), m_winSize(10), m_qualityLevel(0.01),
+    m_minDistance(15), m_minEigThreshold(1e-4), m_harris_k(0.04), m_blockSize(3), m_useHarrisDetector(1), m_pyrMaxLevel(3),
+    m_next_points_id(0), m_initial_guess(false)
+{
+  *this = copy;
+}
+
+/*!
+  Copy operator.
+ */
+vpKltOpencv & vpKltOpencv::operator=(const vpKltOpencv& copy)
+{
+  m_gray = copy.m_gray;
+  m_prevGray = copy.m_prevGray;
+  m_points[0] = copy.m_points[0];
+  m_points[1] = copy.m_points[1];
+  m_points_id = copy.m_points_id;
+  m_maxCount = copy.m_maxCount;
+  m_termcrit = copy.m_termcrit;
+  m_winSize = copy.m_winSize;
+  m_qualityLevel = copy.m_qualityLevel;
+  m_minDistance = copy.m_minDistance;
+  m_minEigThreshold = copy.m_minEigThreshold;
+  m_harris_k = copy.m_harris_k;
+  m_blockSize = copy.m_blockSize;
+  m_useHarrisDetector = copy.m_useHarrisDetector;
+  m_pyrMaxLevel = copy.m_pyrMaxLevel;
+  m_next_points_id = copy.m_next_points_id;
+  m_initial_guess = copy.m_initial_guess;
+
+  return *this;
+}
+
+vpKltOpencv::~vpKltOpencv()
+{
+}
+
+/*!
+  Initialise the tracking by extracting KLT keypoints on the provided image.
+
+  \param I : Grey level image used as input. This image should have only 1 channel.
+  \param mask : Image mask used to restrict the keypoint detection area.
+  If mask is NULL, all the image will be considered.
+
+  \exception vpTrackingException::initializationError : If the image I is not
+  initialized, or if the image or the mask have bad coding format.
+*/
+void vpKltOpencv::initTracking(const cv::Mat &I, const cv::Mat &mask)
+{
+  m_next_points_id = 0;
+
+  //cvtColor(I, m_gray, cv::COLOR_BGR2GRAY);
+  I.copyTo(m_gray);
+
+  for (size_t i=0; i<2; i++) {
+    m_points[i].clear();
+  }
+
+  m_points_id.clear();
+
+  cv::goodFeaturesToTrack(m_gray, m_points[1], m_maxCount, m_qualityLevel, m_minDistance, mask, m_blockSize, 0, m_harris_k);
+
+  if(m_points[1].size() > 0){
+    cv::cornerSubPix(m_gray, m_points[1], cv::Size(m_winSize, m_winSize), cv::Size(-1,-1), m_termcrit);
+
+    for (size_t i=0; i < m_points[1].size(); i++)
+     m_points_id.push_back(m_next_points_id++);
+  }
+}
+
+/*!
+   Track KLT keypoints using the iterative Lucas-Kanade method with pyramids.
+
+   \param I : Input image.
+ */
+void vpKltOpencv::track(const cv::Mat &I)
+{
+  if(m_points[1].size() == 0)
+    throw vpTrackingException(vpTrackingException::fatalError, "Not enough key points to track.");
+
+  std::vector<float> err;
+  int flags = 0;
+
+  cv::swap(m_prevGray, m_gray);
+
+  if (m_initial_guess) {
+    flags |= cv::OPTFLOW_USE_INITIAL_FLOW;
+    m_initial_guess = false;
+  }
+  else {
+    std::swap(m_points[1], m_points[0]);
+  }
+
+  //cvtColor(I, m_gray, cv::COLOR_BGR2GRAY);
+  I.copyTo(m_gray);
+
+  if(m_prevGray.empty()){
+    m_gray.copyTo(m_prevGray);
+  }
+
+  std::vector<uchar> status;
+
+  cv::calcOpticalFlowPyrLK(m_prevGray, m_gray, m_points[0], m_points[1], status, err, cv::Size(m_winSize, m_winSize),
+      m_pyrMaxLevel, m_termcrit, flags, m_minEigThreshold);
+
+  // Remove points that are lost
+  for (int i=(int)status.size()-1; i>=0; i--) {
+    if (status[(size_t)i] == 0) { // point is lost
+      m_points[0].erase(m_points[0].begin()+i);
+      m_points[1].erase(m_points[1].begin()+i);
+      m_points_id.erase(m_points_id.begin()+i);
+    }
+  }
+}
+
+/*!
+
+  Get the 'index'th feature image coordinates.  Beware that
+  getFeature(i,...) may not represent the same feature before and
+  after a tracking iteration (if a feature is lost, features are
+  shifted in the array).
+
+  \param index : Index of feature.
+  \param id : id of the feature.
+  \param x : x coordinate.
+  \param y : y coordinate.
+
+*/
+void vpKltOpencv::getFeature(const int &index, int &id, float &x, float &y) const
+{
+  if ((size_t)index >= m_points[1].size()){
+    throw(vpException(vpException::badValue, "Feature [%d] doesn't exist", index));
+  }
+
+  x = m_points[1][(size_t)index].x;
+  y = m_points[1][(size_t)index].y;
+  id = m_points_id[(size_t)index];
+}
+
+/*!
+  Display features position and id.
+
+  \param I : Image used as background. Display should be initialized on it.
+  \param color : Color used to display the features.
+  \param thickness : Thickness of the drawings.
+  */
+void vpKltOpencv::display(const vpImage<unsigned char> &I,
+                          const vpColor &color, unsigned int thickness)
+{
+  vpKltOpencv::display(I, m_points[1], m_points_id, color, thickness);
+}
+
+/*!
+
+  Display features list.
+
+  \param I : The image used as background.
+
+  \param features : Vector of features.
+
+  \param color : Color used to display the points.
+
+  \param thickness : Thickness of the points.
+*/
+void vpKltOpencv::display(const vpImage<unsigned char> &I, const std::vector<cv::Point2f> &features,
+                          const vpColor &color, unsigned int thickness)
+{
+  vpImagePoint ip;
+  for (size_t i = 0 ; i < features.size() ; i++) {
+    ip.set_u( vpMath::round(features[i].x ) );
+    ip.set_v( vpMath::round(features[i].y ) );
+    vpDisplay::displayCross(I, ip, 10+thickness, color, thickness);
+  }
+}
+
+/*!
+
+  Display features list.
+
+  \param I : The image used as background.
+
+  \param features : Vector of features.
+
+  \param color : Color used to display the points.
+
+  \param thickness : Thickness of the points.
+*/
+void vpKltOpencv::display(const vpImage<vpRGBa> &I, const std::vector<cv::Point2f> &features,
+                          const vpColor &color, unsigned int thickness)
+{
+  vpImagePoint ip;
+  for (size_t i = 0 ; i < features.size() ; i++) {
+    ip.set_u( vpMath::round(features[i].x ) );
+    ip.set_v( vpMath::round(features[i].y ) );
+    vpDisplay::displayCross(I, ip, 10+thickness, color, thickness);
+  }
+}
+
+/*!
+
+  Display features list with ids.
+
+  \param I : The image used as background.
+
+  \param features : Vector of features.
+
+  \param featuresid : Vector of ids corresponding to the features.
+
+  \param color : Color used to display the points.
+
+  \param thickness : Thickness of the points
+*/
+void vpKltOpencv::display(const vpImage<unsigned char> &I, const std::vector<cv::Point2f> &features,
+                          const std::vector<long> &featuresid,
+                          const vpColor &color, unsigned int thickness)
+{
+  vpImagePoint ip;
+  for (size_t i = 0; i < features.size(); i++) {
+    ip.set_u( vpMath::round(features[i].x ) );
+    ip.set_v( vpMath::round(features[i].y ) );
+    vpDisplay::displayCross(I, ip, 10, color, thickness);
+
+    std::ostringstream id;
+    id << featuresid[i];
+    ip.set_u( vpMath::round( features[i].x + 5 ) );
+    vpDisplay::displayText(I, ip, id.str(), color);
+  }
+}
+
+/*!
+
+  Display features list with ids.
+
+  \param I : The image used as background.
+
+  \param features : Vector of features.
+
+  \param featuresid : Vector of ids corresponding to the features.
+
+  \param color : Color used to display the points.
+
+  \param thickness : Thickness of the points
+*/
+void vpKltOpencv::display(const vpImage<vpRGBa> &I, const std::vector<cv::Point2f> &features,
+                          const std::vector<long> &featuresid,
+                          const vpColor &color, unsigned int thickness)
+{
+  vpImagePoint ip;
+  for (size_t i = 0 ; i < features.size() ; i++) {
+    ip.set_u( vpMath::round(features[i].x ) );
+    ip.set_v( vpMath::round(features[i].y ) );
+    vpDisplay::displayCross(I, ip, 10, color, thickness);
+
+    std::ostringstream id;
+    id << featuresid[i];
+    ip.set_u( vpMath::round( features[i].x + 5 ) );
+    vpDisplay::displayText(I, ip, id.str(), color);
+  }
+}
+
+/*!
+  Set the maximum number of features to track in the image.
+
+  \param maxCount : Maximum number of features to detect and track. Default value is set to 500.
+*/
+void vpKltOpencv::setMaxFeatures(const int maxCount)
+{
+  m_maxCount = maxCount;
+}
+
+/*!
+  Set the window size used to refine the corner locations.
+
+  \param winSize : Half of the side length of the search window. Default value is set to 10.
+  For example, if \e winSize=5 , then a 5*2+1 \f$\times\f$ 5*2+1 = 11 \f$\times\f$ 11 search window is used.
+*/
+void vpKltOpencv::setWindowSize(const int winSize)
+{
+  m_winSize = winSize;
+}
+
+/*!
+  Set the parameter characterizing the minimal accepted quality of image corners.
+
+  \param qualityLevel : Quality level parameter. Default value is set to 0.01. The parameter value is multiplied by the
+  best corner quality measure, which is the minimal eigenvalue or the Harris function response. The corners with
+  the quality measure less than the product are rejected. For example, if the best corner has the quality
+  measure = 1500, and the qualityLevel=0.01, then all the corners with the quality measure less than 15 are rejected.
+ */
+void vpKltOpencv::setQuality(double qualityLevel)
+{
+  m_qualityLevel = qualityLevel;
+}
+
+/*!
+  Set the free parameter of the Harris detector.
+
+  \param harris_k : Free parameter of the Harris detector. Default value is set to 0.04.
+*/
+void vpKltOpencv::setHarrisFreeParameter(double harris_k)
+{
+  m_harris_k = harris_k;
+}
+
+/*!
+  Set the parameter indicating whether to use a Harris detector or
+  the minimal eigenvalue of gradient matrices for corner detection.
+  \param useHarrisDetector : If 1 (default value), use the Harris detector. If 0 use the eigenvalue.
+*/
+void vpKltOpencv::setUseHarris(const int useHarrisDetector)
+{
+  m_useHarrisDetector = useHarrisDetector;
+}
+
+/*!
+  Set the minimal Euclidean distance between detected corners during initialization.
+
+  \param minDistance : Minimal possible Euclidean distance between the detected corners.
+  Default value is set to 15.
+*/
+void vpKltOpencv::setMinDistance(double minDistance)
+{
+  m_minDistance = minDistance;
+}
+
+/*!
+  Set the minimal eigen value threshold used to reject a point during the tracking.
+  \param minEigThreshold : Minimal eigen value threshold. Default value is set to 1e-4.
+*/
+void vpKltOpencv::setMinEigThreshold(double minEigThreshold)
+{
+  m_minEigThreshold = minEigThreshold;
+}
+
+/*!
+  Set the size of the averaging block used to track the features.
+
+  \warning The input is a signed integer to be compatible with OpenCV. However,
+  it must be a positive integer.
+
+  \param blockSize : Size of an average block for computing a derivative covariation
+  matrix over each pixel neighborhood. Default value is set to 3.
+*/
+void vpKltOpencv::setBlockSize(const int blockSize)
+{
+  m_blockSize = blockSize;
+}
+
+/*!
+  Set the maximal pyramid level. If the level is zero, then no pyramid is
+  computed for the optical flow.
+
+  \param pyrMaxLevel : 0-based maximal pyramid level number; if set to 0, pyramids are not used (single level),
+  if set to 1, two levels are used, and so on. Default value is set to 3.
+*/
+void vpKltOpencv::setPyramidLevels(const int pyrMaxLevel)
+{
+  m_pyrMaxLevel = pyrMaxLevel;
+}
+
+/*!
+  Set the points that will be used as initial guess during the next call to track().
+  A typical usage of this function is to predict the position of the features before the
+  next call to track().
+
+  \param guess_pts : Vector of points that should be tracked. The size of this
+  vector should be the same as the one returned by getFeatures(). If this is not the case,
+  an exception is returned. Note also that the id of the points is not modified.
+
+  \sa initTracking()
+*/
+void
+vpKltOpencv::setInitialGuess(const std::vector<cv::Point2f> &guess_pts)
+{
+  if(guess_pts.size() != m_points[1].size()){
+    throw(vpException(vpException::badValue,
+                      "Cannot set initial guess: size feature vector [%d] and guess vector [%d] doesn't match",
+                      m_points[1].size(), guess_pts.size()));
+  }
+
+  m_points[1] = guess_pts;
+  m_initial_guess = true;
+}
+
+/*!
+  Set the points that will be used as initialization during the next call to track().
+
+  \param I : Input image.
+  \param pts : Vector of points that should be tracked.
+
+*/
+void
+vpKltOpencv::initTracking(const cv::Mat &I, const std::vector<cv::Point2f> &pts)
+{
+  m_initial_guess = false;
+  m_points[1] = pts;
+  m_next_points_id = 0;
+  m_points_id.clear();
+  for(size_t i=0; i < m_points[1].size(); i++) {
+    m_points_id.push_back(m_next_points_id ++);
+  }
+
+  I.copyTo(m_gray);
+}
+
+void
+vpKltOpencv::initTracking(const cv::Mat &I, const std::vector<cv::Point2f> &pts, const std::vector<long> &ids)
+{
+  m_initial_guess = false;
+  m_points[1] = pts;
+  m_points_id.clear();
+
+  if(ids.size() != pts.size()){
+    m_next_points_id = 0;
+    for(size_t i=0; i < m_points[1].size(); i++)
+      m_points_id.push_back(m_next_points_id ++);
+  }
+  else{
+    long max = 0;
+    for(size_t i=0; i < m_points[1].size(); i++){
+      m_points_id.push_back(ids[i]);
+      if(ids[i] > max) max = ids[i];
+    }
+    m_next_points_id = max + 1;
+  }
+
+  I.copyTo(m_gray);
+}
+
+/*!
+
+  Add a keypoint at the end of the feature list. The id of the feature is set to ensure that it is unique.
+  \param x,y : Coordinates of the feature in the image.
+
+*/
+void vpKltOpencv::addFeature(const float &x, const float &y)
+{
+  cv::Point2f f(x, y);
+  m_points[1].push_back(f);
+  m_points_id.push_back(m_next_points_id++);
+}
+
+/*!
+
+  \deprecated Add a keypoint at the end of the feature list.
+  This function is deprecated since it doesn't ensure that the id of the feature is unique.
+  You should rather use addFeature(const float &, const float &) or addFeature(const cv::Point2f &).
+
+  \param id : Feature id. Should be unique
+  \param x,y : Coordinates of the feature in the image.
+
+*/
+void vpKltOpencv::addFeature(const long &id, const float &x, const float &y)
+{
+  cv::Point2f f(x, y);
+  m_points[1].push_back(f);
+  m_points_id.push_back(id);
+  if (id >= m_next_points_id)
+    m_next_points_id = id + 1;
+}
+
+/*!
+
+  Add a keypoint at the end of the feature list. The id of the feature is set to ensure that it is unique.
+  \param f : Coordinates of the feature in the image.
+
+*/
+void vpKltOpencv::addFeature(const cv::Point2f &f)
+{
+  m_points[1].push_back(f);
+  m_points_id.push_back(m_next_points_id++);
+}
+
+/*!
+   Remove the feature with the given index as parameter.
+   \param index : Index of the feature to remove.
+ */
+void vpKltOpencv::suppressFeature(const int &index)
+{
+  if ((size_t)index >= m_points[1].size()){
+    throw(vpException(vpException::badValue, "Feature [%d] doesn't exist", index));
+  }
+
+  m_points[1].erase(m_points[1].begin()+index);
+  m_points_id.erase(m_points_id.begin()+index);
+}
+
+
+#elif defined(VISP_HAVE_OPENCV)
+
+#include <string>
+
+#include <visp/vpKltOpencv.h>
 
 void vpKltOpencv::clean()
 {
@@ -265,7 +777,7 @@ void vpKltOpencv::setMaxFeatures(const int input) {
   if (lostDuringTrack) cvFree(&lostDuringTrack);
   if (featuresid) cvFree(&featuresid);
   if (prev_featuresid) cvFree(&prev_featuresid);
- 
+
 
   features = (CvPoint2D32f*)cvAlloc((unsigned int)maxFeatures*sizeof(CvPoint2D32f));
   prev_features = (CvPoint2D32f*)cvAlloc((unsigned int)maxFeatures*sizeof(CvPoint2D32f));
@@ -321,7 +833,7 @@ void vpKltOpencv::initTracking(const IplImage *I, const IplImage *mask)
     countPrevFeatures = 0;
     flags = 0;
     initialized = 0;
-    globalcountFeatures = 0;   
+    globalcountFeatures = 0;
   }
 
   initialized = 1;
@@ -329,17 +841,17 @@ void vpKltOpencv::initTracking(const IplImage *I, const IplImage *mask)
   //Import
   cvCopy(I, image, 0);
 
-  //Recherche de points d'int�rets
+  //Recherche de points d'interets
   countFeatures = maxFeatures;
   countPrevFeatures = 0;
   IplImage* eig = cvCreateImage(cvGetSize(image), 32, 1);
   IplImage* temp = cvCreateImage(cvGetSize(image), 32, 1);
   cvGoodFeaturesToTrack(image, eig, temp, features,
-			&countFeatures, quality, min_distance,
-      mask, block_size, use_harris, harris_free_parameter);
+                        &countFeatures, quality, min_distance,
+                        mask, block_size, use_harris, harris_free_parameter);
   cvFindCornerSubPix(image, features, countFeatures, cvSize(win_size, win_size),
-		     cvSize(-1,-1),cvTermCriteria(CV_TERMCRIT_ITER|
-						  CV_TERMCRIT_EPS,20,0.03));
+                     cvSize(-1,-1),cvTermCriteria(CV_TERMCRIT_ITER|
+                                                  CV_TERMCRIT_EPS,20,0.03));
   cvReleaseImage(&eig);
   cvReleaseImage(&temp);
 
@@ -353,28 +865,111 @@ void vpKltOpencv::initTracking(const IplImage *I, const IplImage *mask)
     
     if (OnNewFeature){
       OnNewFeature(_tid, boucle, featuresid[boucle], features[boucle].x,
-		   features[boucle].y);
+                   features[boucle].y);
     }
   }
 }
- 
+
+/*!
+  Set the points that will be used as initialization during the next call to track().
+
+  \param I : Input image.
+  \param pts : Vector of points that should be tracked.
+
+*/
+void
+vpKltOpencv::initTracking(const IplImage *I, CvPoint2D32f *pts, int size)
+{
+  if (size > maxFeatures)
+    throw(vpException(vpTrackingException::initializationError,
+                      "Cannot initialize tracker from points"));
+
+  //Creation des buffers
+  CvSize Sizeim, SizeI;
+  SizeI = cvGetSize(I);
+  bool b_imOK = true;
+  if(image != NULL){
+    Sizeim = cvGetSize(image);
+    if(SizeI.width != Sizeim.width || SizeI.height != Sizeim.height) b_imOK = false;
+  }
+  if(image == NULL || prev_image == NULL || pyramid==NULL || prev_pyramid ==NULL || !b_imOK){
+    reset();
+    image = cvCreateImage(cvGetSize(I), 8, 1);image->origin = I->origin;
+    prev_image = cvCreateImage(cvGetSize(I), IPL_DEPTH_8U, 1);
+    pyramid = cvCreateImage(cvGetSize(I), IPL_DEPTH_8U, 1);
+    prev_pyramid = cvCreateImage(cvGetSize(I), IPL_DEPTH_8U, 1);
+  } else {
+    flags = 0;
+  }
+  // Save current features as previous features
+  countFeatures = size;
+  for (int i=0; i<countFeatures;i++)  {
+    features[i] = pts[i];
+    featuresid[i] = i;
+  }
+
+  globalcountFeatures = size;
+  initialized = 1;
+
+  cvCopy(I, image, 0);
+}
+
+void
+vpKltOpencv::initTracking(const IplImage *I, CvPoint2D32f *pts, long *fid, int size)
+{
+  if (size > maxFeatures)
+    throw(vpException(vpTrackingException::initializationError,
+                      "Cannot initialize tracker from points"));
+
+  //Creation des buffers
+  CvSize Sizeim, SizeI;
+  SizeI = cvGetSize(I);
+  bool b_imOK = true;
+  if(image != NULL){
+    Sizeim = cvGetSize(image);
+    if(SizeI.width != Sizeim.width || SizeI.height != Sizeim.height) b_imOK = false;
+  }
+  if(image == NULL || prev_image == NULL || pyramid==NULL || prev_pyramid ==NULL || !b_imOK){
+    reset();
+    image = cvCreateImage(cvGetSize(I), 8, 1);image->origin = I->origin;
+    prev_image = cvCreateImage(cvGetSize(I), IPL_DEPTH_8U, 1);
+    pyramid = cvCreateImage(cvGetSize(I), IPL_DEPTH_8U, 1);
+    prev_pyramid = cvCreateImage(cvGetSize(I), IPL_DEPTH_8U, 1);
+  } else {
+    flags = 0;
+  }
+  // Save current features as previous features
+  countFeatures = size;
+  long max = 0;
+  for (int i=0; i<countFeatures;i++)  {
+    features[i] = pts[i];
+    featuresid[i] = fid[i];
+    if (fid[i] > max)
+      max = fid[i];
+  }
+
+  globalcountFeatures = max + 1;
+  initialized = 1;
+
+  cvCopy(I, image, 0);
+}
 
 void vpKltOpencv::track(const IplImage *I)
 {
   if (!initialized) {
     vpERROR_TRACE("KLT Not initialized") ;
     throw(vpException(vpTrackingException::initializationError,
-		      "KLT Not initialized")) ;
+                      "KLT Not initialized")) ;
   }
 
   if (!I) {
     throw(vpException(vpTrackingException::initializationError,
-		      "Image Not initialized")) ;
+                      "Image Not initialized")) ;
   }
 
   if (I->depth != IPL_DEPTH_8U || I->nChannels != 1)  {
     throw(vpException(vpTrackingException::initializationError,
-		      "Bad Image format")) ;
+                      "Bad Image format")) ;
   }
 
   
@@ -398,11 +993,11 @@ void vpKltOpencv::track(const IplImage *I)
   if (countFeatures <= 0) return;
 
   cvCalcOpticalFlowPyrLK( prev_image, image, prev_pyramid, pyramid,
-			  prev_features, features, countFeatures,
-			  cvSize(win_size, win_size), pyramid_level,
-			  status, 0, cvTermCriteria(CV_TERMCRIT_ITER
-						    |CV_TERMCRIT_EPS,20,0.03),
-			  flags );
+                          prev_features, features, countFeatures,
+                          cvSize(win_size, win_size), pyramid_level,
+                          status, 0, cvTermCriteria(CV_TERMCRIT_ITER
+                                                    |CV_TERMCRIT_EPS,20,0.03),
+                          flags );
   
   if(!initial_guess)
     flags |= CV_LKFLOW_PYR_A_READY;
@@ -416,17 +1011,17 @@ void vpKltOpencv::track(const IplImage *I)
     if (!status[i]) 	{
       lostDuringTrack[i] = 1;
       if (OnFeatureLost)
-	OnFeatureLost(_tid, i, featuresid[i], features[i].x,
-		      features[i].y);
+        OnFeatureLost(_tid, i, featuresid[i], features[i].x,
+                      features[i].y);
       continue;
     }
     
     if (IsFeatureValid)	{
       if (!IsFeatureValid(_tid, features[i].x, features[i].y))   {
-	lostDuringTrack[i] = 1;
-	if (OnFeatureLost)
-	  OnFeatureLost(_tid, i, featuresid[i], features[i].x, features[i].y);
-	continue;
+        lostDuringTrack[i] = 1;
+        if (OnFeatureLost)
+          OnFeatureLost(_tid, i, featuresid[i], features[i].x, features[i].y);
+        continue;
       }
     }
     features[k] = features[i];
@@ -451,10 +1046,10 @@ void vpKltOpencv::display(const vpImage<unsigned char> &I,
                           vpColor color, unsigned int thickness)
 {
   if ((features == 0) || (I.bitmap==0) || (!initialized))
-    {
-      vpERROR_TRACE(" Memory problem ");
-      throw(vpException(vpException::memoryAllocationError," Memory problem"));
-    }
+  {
+    vpERROR_TRACE(" Memory problem ");
+    throw(vpException(vpException::memoryAllocationError," Memory problem"));
+  }
 
   vpKltOpencv::display(I, features, featuresid, countFeatures, color, thickness);
 }
@@ -475,10 +1070,10 @@ void vpKltOpencv::display(const vpImage<unsigned char> &I,
 void vpKltOpencv::getFeature(int index, int &id, float &x, float &y) const
 {
   if (index >= countFeatures)
-    {
-      vpERROR_TRACE(" Memory problem ");
-      throw(vpException(vpException::memoryAllocationError," Memory problem"));
-    }
+  {
+    vpERROR_TRACE(" Memory problem ");
+    throw(vpException(vpException::memoryAllocationError," Memory problem"));
+  }
 
   x = features[index].x;
   y = features[index].y;
@@ -523,10 +1118,10 @@ vpKltOpencv::setInitialGuess(CvPoint2D32f **guess_pts)
 void vpKltOpencv::getPrevFeature(int index, int &id, float &x, float &y) const
 {
   if (index >= countPrevFeatures)
-    {
-      vpERROR_TRACE(" Memory problem ");
-      throw(vpException(vpException::memoryAllocationError," Memory problem"));
-    }
+  {
+    vpERROR_TRACE(" Memory problem ");
+    throw(vpException(vpException::memoryAllocationError," Memory problem"));
+  }
 
   x = prev_features[index].x;
   y = prev_features[index].y;
@@ -540,18 +1135,18 @@ Add at the end of the feauture list.
 If there is no space left, the feature is not added (just return)
 */
 void vpKltOpencv::addFeature(const int &id,
-			     const float &x, const float &y)
+                             const float &x, const float &y)
 {
   if (maxFeatures == countFeatures)
-    {
-      vpERROR_TRACE(" Cannot add the feature ");
-      return;
-    }
+  {
+    vpERROR_TRACE(" Cannot add the feature ");
+    return;
+  }
 
   CvPoint2D32f f;
   f.x = x;
   f.y = y;
-   features[countFeatures] = f;
+  features[countFeatures] = f;
   featuresid[countFeatures] = id;
   countFeatures ++;
 }
@@ -559,10 +1154,10 @@ void vpKltOpencv::addFeature(const int &id,
 void vpKltOpencv::suppressFeature(int index)
 {
   if (index >= countFeatures)
-    {
-      vpERROR_TRACE(" Memory problem ");
-      throw(vpException(vpException::memoryAllocationError," Memory problem"));
-    }
+  {
+    vpERROR_TRACE(" Memory problem ");
+    throw(vpException(vpException::memoryAllocationError," Memory problem"));
+  }
 
   countFeatures --;
 
@@ -653,7 +1248,7 @@ void vpKltOpencv::display(const vpImage<unsigned char>& I,const CvPoint2D32f* fe
     char id[10];
     sprintf(id, "%ld", featuresid_list[i]);
     ip.set_u( vpMath::round( features_list[i].x + 5 ) );
-    vpDisplay::displayCharString(I, ip, id, color);
+    vpDisplay::displayText(I, ip, id, color);
   }
 }
 
@@ -687,7 +1282,7 @@ void vpKltOpencv::display(const vpImage<vpRGBa>& I,const CvPoint2D32f* features_
     char id[10];
     sprintf(id, "%ld", featuresid_list[i]);
     ip.set_u( vpMath::round( features_list[i].x + 5 ) );
-    vpDisplay::displayCharString(I, ip, id, color);
+    vpDisplay::displayText(I, ip, id, color);
   }
 }
 
diff --git a/src/tracking/klt/vpKltOpencv.h b/src/tracking/klt/vpKltOpencv.h
index ba7eb3634c6b52848c5099b957bad8a62ed3e593..12fc28390004c1330b517b916fd16962421619f9 100644
--- a/src/tracking/klt/vpKltOpencv.h
+++ b/src/tracking/klt/vpKltOpencv.h
@@ -1,10 +1,10 @@
 /****************************************************************************
  *
- * $Id: vpKltOpencv.h 4632 2014-02-03 17:06:40Z fspindle $
+ * $Id: vpKltOpencv.h 5148 2015-01-12 14:31:30Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
- * 
+ *
  * This software is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  * ("GPL") version 2 as published by the Free Software Foundation.
@@ -12,11 +12,11 @@
  * distribution for additional information about the GNU GPL.
  *
  * For using ViSP with software that can not be combined with the GNU
- * GPL, please contact INRIA about acquiring a ViSP Professional 
+ * GPL, please contact INRIA about acquiring a ViSP Professional
  * Edition License.
  *
  * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
- * 
+ *
  * This software was developed at:
  * INRIA Rennes - Bretagne Atlantique
  * Campus Universitaire de Beaulieu
@@ -26,7 +26,7 @@
  *
  * If you have questions regarding the use of this file, please contact
  * INRIA at visp@inria.fr
- * 
+ *
  * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
@@ -52,9 +52,128 @@
 #define vpKltOpencv_h
 
 #include <visp/vpConfig.h>
+#include <visp/vpColor.h>
+#include <visp/vpImage.h>
+
+#if (defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020408))
+
+#include <opencv2/video/tracking.hpp>
+#include <opencv2/imgproc/imgproc.hpp>
+#include <opencv2/highgui/highgui.hpp>
+
+/*!
+  \class vpKltOpencv
+
+  \ingroup TrackingImagePoint
+
+  \brief Wrapper for the KLT (Kanade-Lucas-Tomasi) feature tracker
+  implemented in OpenCV.
+
+  The following example available in tutorial-klt-tracker.cpp shows how to use
+  the main functions of the class.
+
+  \include tutorial-klt-tracker.cpp
+
+  A line by line explanation is provided in \ref tutorial-tracking-keypoint.
+*/
+class VISP_EXPORT vpKltOpencv
+{
+public:
+  vpKltOpencv();
+  vpKltOpencv(const vpKltOpencv& copy);
+  virtual ~vpKltOpencv();
 
-#ifdef VISP_HAVE_OPENCV
+  void addFeature(const float &x, const float &y);
+  void addFeature(const long &id, const float &x, const float &y);
+  void addFeature(const cv::Point2f &f);
 
+  void display(const vpImage<unsigned char> &I,
+               const vpColor &color = vpColor::red, unsigned int thickness=1);
+  static void display(const vpImage<unsigned char> &I, const std::vector<cv::Point2f> &features,
+                      const vpColor &color = vpColor::green, unsigned int thickness=1);
+  static void display(const vpImage<vpRGBa> &I, const std::vector<cv::Point2f> &features,
+                      const vpColor &color = vpColor::green, unsigned int thickness=1);
+  static void display(const vpImage<unsigned char> &I, const std::vector<cv::Point2f> &features,
+                      const std::vector<long> &featuresid,
+                      const vpColor &color = vpColor::green, unsigned int thickness=1);
+  static void display(const vpImage<vpRGBa> &I, const std::vector<cv::Point2f> &features,
+                      const std::vector<long> &featuresid,
+                      const vpColor &color = vpColor::green, unsigned int thickness=1);
+
+  //! Get the size of the averaging block used to track the features.
+  int getBlockSize() const {return m_blockSize;}
+  void getFeature(const int &index, int &id, float &x, float &y) const;
+  //! Get the list of current features.
+  std::vector<cv::Point2f> getFeatures() const {return m_points[1];}
+  //CvPoint2D32f* getFeatures() const {return features;}
+  //! Get the unique id of each feature.
+  std::vector<long> getFeaturesId() const {return m_points_id;}
+  //long* getFeaturesId() const {return featuresid;}
+  //! Get the free parameter of the Harris detector.
+  double getHarrisFreeParameter() const {return m_harris_k;}
+  //! Get the list of lost feature
+  //bool *getListOfLostFeature() const { return lostDuringTrack; }
+  //! Get the maximum number of features to track in the image.
+  int getMaxFeatures() const {return m_maxCount;}
+  //! Get the minimal Euclidean distance between detected corners during initialization.
+  double getMinDistance() const {return m_minDistance;}
+  //! Get the number of current features
+  int getNbFeatures() const { return (int)m_points[1].size(); }
+  //! Get the number of previous features.
+  int getNbPrevFeatures() const { return (int)m_points[0].size(); }
+  //void getPrevFeature(int index, int &id, float &x, float &y) const;
+  //! Get the list of previous features
+  std::vector<cv::Point2f> getPrevFeatures() const {return m_points[0];}
+  //CvPoint2D32f* getPrevFeatures() const {return prev_features;}
+  //! Get the list of features id
+  //long* getPrevFeaturesId() const {return prev_featuresid;}
+  //! Get the maximal pyramid level.
+  int getPyramidLevels() const {return m_pyrMaxLevel;}
+  //! Get the parameter characterizing the minimal accepted quality of image corners.
+  double getQuality() const {return m_qualityLevel;}
+  //! Get the window size used to refine the corner locations.
+  int getWindowSize() const {return m_winSize;}
+
+  void initTracking(const cv::Mat &I, const cv::Mat &mask=cv::Mat());
+  void initTracking(const cv::Mat &I, const std::vector<cv::Point2f> &pts);
+  void initTracking(const cv::Mat &I, const std::vector<cv::Point2f> &pts, const std::vector<long> &ids);
+
+  vpKltOpencv & operator=(const vpKltOpencv& copy);
+  void track(const cv::Mat &I);
+  void setBlockSize(const int blockSize);
+  void setHarrisFreeParameter(double harris_k);
+  void setInitialGuess(const std::vector<cv::Point2f> &guess_pts);
+  void setMaxFeatures(const int maxCount);
+  void setMinDistance(double minDistance);
+  void setMinEigThreshold(double minEigThreshold);
+  void setPyramidLevels(const int pyrMaxLevel);
+  void setQuality(double qualityLevel);
+  //! Does nothing. Just here for compat with previous releases that use OpenCV C api to do the tracking.
+  void setTrackerId(int tid) {(void)tid;}
+  void setUseHarris(const int useHarrisDetector);
+  void setWindowSize(const int winSize);
+  void suppressFeature(const int &index);
+
+protected:
+  cv::Mat m_gray, m_prevGray;
+  std::vector<cv::Point2f> m_points[2]; //!< Previous [0] and current [1] keypoint location
+  std::vector<long> m_points_id;     //!< Keypoint id
+  int m_maxCount;
+  cv::TermCriteria m_termcrit;
+  int m_winSize;
+  double m_qualityLevel;
+  double m_minDistance;
+  double m_minEigThreshold;
+  double m_harris_k;
+  int m_blockSize;
+  int m_useHarrisDetector;
+  int m_pyrMaxLevel;
+  long m_next_points_id;
+  bool m_initial_guess;
+
+};
+
+#elif defined(VISP_HAVE_OPENCV)
 #ifdef _CH_
 #pragma package <opencv>
 #endif
@@ -102,7 +221,7 @@ typedef void (*funcevent)(int);
 */
 class VISP_EXPORT vpKltOpencv
 {
- private:
+private:
   int initialized; //Is the tracker ready ?
 
   int maxFeatures; //Maximum number of features to track (Default 50)
@@ -150,14 +269,14 @@ class VISP_EXPORT vpKltOpencv
   funcinfo OnMeasureFeature;
   funccheck IsFeatureValid;
 
- private:
+private:
 
   //Internal
   void clean();
   void cleanAll();
   void reset();
 
- public:
+public:
   vpKltOpencv();
   vpKltOpencv(const vpKltOpencv& copy);
   virtual ~vpKltOpencv();
@@ -201,7 +320,8 @@ class VISP_EXPORT vpKltOpencv
 
   //Detect corners in the image. Initialize the tracker
   void initTracking(const IplImage *I, const IplImage *mask = NULL);
-
+  void initTracking(const IplImage *I, CvPoint2D32f *pts, int size);
+  void initTracking(const IplImage *I, CvPoint2D32f *pts, long *fid, int size);
   vpKltOpencv & operator=(const vpKltOpencv& copy);
   //Track !
   void track(const IplImage *I);
@@ -275,7 +395,7 @@ class VISP_EXPORT vpKltOpencv
 
   void suppressFeature(int index);
   
-//Static Functions
+  //Static Functions
 public: 
   static void display(const vpImage<unsigned char>& I, const CvPoint2D32f* features_list,
                       const int &nbFeatures, vpColor color = vpColor::green,
diff --git a/src/tracking/mbt/edge/vpMbEdgeTracker.cpp b/src/tracking/mbt/edge/vpMbEdgeTracker.cpp
index ab7c736a8c2ba22ac0e32aa3ba4046700dee9161..259a0c1409fcd24c9b14e7d935873b8981323cd8 100644
--- a/src/tracking/mbt/edge/vpMbEdgeTracker.cpp
+++ b/src/tracking/mbt/edge/vpMbEdgeTracker.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMbEdgeTracker.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpMbEdgeTracker.cpp 5285 2015-02-09 14:32:54Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -63,11 +63,13 @@
 #include <visp/vpMbtDistanceLine.h>
 #include <visp/vpMbtXmlParser.h>
 #include <visp/vpMbtPolygon.h>
+#include <visp/vpVelocityTwistMatrix.h>
 
 #include <limits>
 #include <string>
 #include <sstream>
 #include <float.h>
+#include <map>
 
 bool samePoint(const vpPoint &P1, const vpPoint &P2, double threshold);
 
@@ -75,12 +77,13 @@ bool samePoint(const vpPoint &P1, const vpPoint &P2, double threshold);
   Basic constructor
 */
 vpMbEdgeTracker::vpMbEdgeTracker()
-  : compute_interaction(1), lambda(1), me(), lines(1), cylinders(1), nline(0), ncylinder(0),
-    index_polygon(0), faces(), nbvisiblepolygone(0), percentageGdPt(0.4), scales(1),
-    Ipyramid(0), scaleLevel(0), useOgre(false),
-    angleAppears( vpMath::rad(89) ), angleDisappears( vpMath::rad(89) ),
-    distNearClip(0.001), distFarClip(100), clippingFlag(vpMbtPolygon::NO_CLIPPING)
+  : compute_interaction(1), lambda(1), me(), lines(1), circles(1), cylinders(1), nline(0), ncircle(0), ncylinder(0),
+    nbvisiblepolygone(0), percentageGdPt(0.4), scales(1),
+    Ipyramid(0), scaleLevel(0)
 {
+  angleAppears = vpMath::rad(89);
+  angleDisappears = vpMath::rad(89);
+
   scales[0] = true;
   
 #ifdef VISP_HAVE_OGRE
@@ -94,8 +97,9 @@ vpMbEdgeTracker::vpMbEdgeTracker()
 vpMbEdgeTracker::~vpMbEdgeTracker()
 {
   vpMbtDistanceLine *l ;
-  vpMbtDistanceCylinder *c;
-  
+  vpMbtDistanceCylinder *cy;
+  vpMbtDistanceCircle *ci;
+
   for (unsigned int i = 0; i < lines.size(); i += 1){
     if(scales[i]){
       for(std::list<vpMbtDistanceLine*>::const_iterator it=lines[i].begin(); it!=lines[i].end(); ++it){
@@ -107,17 +111,27 @@ vpMbEdgeTracker::~vpMbEdgeTracker()
       }
 
       for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders[i].begin(); it!=cylinders[i].end(); ++it){
-        c = *it;
-        if (c!=NULL){
-          delete c ;
+        cy = *it;
+        if (cy!=NULL){
+          delete cy ;
         }
-        c = NULL ;
+        cy = NULL ;
       }
 
       lines[i].clear();
       cylinders[i].clear();
     }
   }
+  for (unsigned int i = 0; i < circles.size(); i += 1){
+    for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[i].begin(); it!=circles[i].end(); ++it){
+      ci = *it;
+      if (ci!=NULL){
+        delete ci ;
+      }
+      ci = NULL ;
+    }
+    circles[i].clear();
+  }
   cleanPyramid(Ipyramid);
 }
 
@@ -142,26 +156,13 @@ vpMbEdgeTracker::setMovingEdge(const vpMe &p_me)
         cy = *it;
         cy->setMovingEdge(&(this->me)) ;
       }
-    }
-  }
-}
 
-/*!
-  Use Ogre3D for visibility tests
-  
-  \warning This function has to be called before the initialization of the tracker.
-  
-  \param v : True to use it, False otherwise
-*/
-void    
-vpMbEdgeTracker::setOgreVisibilityTest(const bool &v) 
-{
-  useOgre = v; 
-  if(useOgre){
-#ifndef VISP_HAVE_OGRE     
-    useOgre = false;
-    std::cout << "WARNING: ViSP doesn't have Ogre3D, basic visibility test will be used. setOgreVisibilityTest() set to false." << std::endl;
-#endif
+      vpMbtDistanceCircle *ci;
+      for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[i].begin(); it!=circles[i].end(); ++it){
+        ci = *it;
+        ci->setMovingEdge(&(this->me)) ;
+      }
+    }
   }
 }
 
@@ -184,10 +185,13 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
   // compute the interaction matrix and its pseudo inverse
   vpMbtDistanceLine *l ;
   vpMbtDistanceCylinder *cy ;
+  vpMbtDistanceCircle *ci ;
 
-  vpColVector w;
-  vpColVector weighted_error;
+  //vpColVector w;
   vpColVector factor;
+  //vpColVector error; // s-s*
+  vpColVector weighted_error; // Weighted error vector wi(s-s)*
+  vpVelocityTwistMatrix cVo;
 
   unsigned int iter = 0;
 
@@ -195,12 +199,13 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
   unsigned int nbrow  = 0;
   unsigned int nberrors_lines = 0;
   unsigned int nberrors_cylinders = 0;
+  unsigned int nberrors_circles = 0;
 
   for(std::list<vpMbtDistanceLine*>::const_iterator it=lines[scaleLevel].begin(); it!=lines[scaleLevel].end(); ++it){
     l = *it;
-    nbrow += l->nbFeature ;
+    nbrow += l->nbFeature;
     nberrors_lines+=l->nbFeature;
-    l->initInteractionMatrixError() ;
+    l->initInteractionMatrixError();
   }
 
   for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders[scaleLevel].begin(); it!=cylinders[scaleLevel].end(); ++it){
@@ -209,17 +214,23 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
     nberrors_cylinders += cy->nbFeature ;
     cy->initInteractionMatrixError() ;
   }
-  
+
+  for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[scaleLevel].begin(); it!=circles[scaleLevel].end(); ++it){
+    ci = *it;
+    nbrow += ci->nbFeature ;
+    nberrors_circles += ci->nbFeature ;
+    ci->initInteractionMatrixError() ;
+  }
+
   if (nbrow==0){
-    vpERROR_TRACE("\n\t\t Error-> not enough data in the interaction matrix...") ;
-    throw vpTrackingException(vpTrackingException::notEnoughPointError, "\n\t\t Error-> not enough data in the interaction matrix...");
+    throw vpTrackingException(vpTrackingException::notEnoughPointError, "No data found to compute the interaction matrix...");
   }
   
   vpMatrix L(nbrow,6), Lp;
 
   // compute the error vector
-  vpColVector error(nbrow);
-  unsigned int nerror = error.getRows();
+  m_error.resize(nbrow);
+  unsigned int nerror = m_error.getRows();
   vpColVector v ;
 
   double limite = 3; //Une limite de 3 pixels
@@ -230,14 +241,17 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
   bool reloop = true;
   double count = 0;
   
+  bool isoJoIdentity_ = isoJoIdentity; // Backup since it can be modified if L is not full rank
+
   /*** First phase ***/
+
   while ( reloop == true && iter<10)
   {
     if(iter==0)
     {
       weighted_error.resize(nerror) ;
-      w.resize(nerror);
-      w = 0;
+      m_w.resize(nerror);
+      m_w = 0;
       factor.resize(nerror);
       factor = 1;
     }
@@ -278,11 +292,11 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
         {
           L[n+i][j] = l->L[i][j]; //On remplit la matrice d'interaction globale
         }
-        error[n+i] = l->error[i]; //On remplit la matrice d'erreur
+        m_error[n+i] = l->error[i]; //On remplit la matrice d'erreur
 
-        if (error[n+i] <= limite) count = count+1.0; //Si erreur proche de 0 on incremente cur
+        if (m_error[n+i] <= limite) count = count+1.0; //Si erreur proche de 0 on incremente cur
 
-        w[n+i] = 0;
+        m_w[n+i] = 0;
 
         if (iter == 0)
         {
@@ -301,11 +315,11 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
             e_next = l->error[1];
             if ( fabs(e_cur - e_next) < limite && vpMath::sign(e_cur) == vpMath::sign(e_next) )
             {
-              w[n+i] = 1/*0.5*/;
+              m_w[n+i] = 1/*0.5*/;
             }
             e_prev = e_cur;
           }
-          else w[n+i] = 1;
+          else m_w[n+i] = 1;
         }
 
         //If pour la derniere extremite des moving edges
@@ -314,7 +328,7 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
           e_cur = l->error[i];
           if ( fabs(e_cur - e_prev) < limite && vpMath::sign(e_cur) == vpMath::sign(e_prev) )
           {
-            w[n+i] += 1/*0.5*/;
+            m_w[n+i] += 1/*0.5*/;
           }
         }
 
@@ -324,11 +338,11 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
           e_next = l->error[i+1];
           if ( fabs(e_cur - e_prev) < limite )
           {
-            w[n+i] += 0.5;
+            m_w[n+i] += 0.5;
           }
           if ( fabs(e_cur - e_next) < limite )
           {
-            w[n+i] += 0.5;
+            m_w[n+i] += 0.5;
           }
           e_prev = e_cur;
         }
@@ -336,8 +350,6 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
       
       n+= l->nbFeature ;
     }
-
-
     for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders[scaleLevel].begin(); it!=cylinders[scaleLevel].end(); ++it){
       cy = *it;
       cy->computeInteractionMatrixError(cMo, _I);
@@ -354,11 +366,11 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
         for(unsigned int j=0; j < 6 ; j++){
           L[n+i][j] = cy->L[i][j]; //On remplit la matrice d'interaction globale
         }
-        error[n+i] = cy->error[i]; //On remplit la matrice d'erreur
+        m_error[n+i] = cy->error[i]; //On remplit la matrice d'erreur
 
-        if (error[n+i] <= limite) count = count+1.0; //Si erreur proche de 0 on incremente cur
+        if (m_error[n+i] <= limite) count = count+1.0; //Si erreur proche de 0 on incremente cur
 
-        w[n+i] = 0;
+        m_w[n+i] = 0;
 
         if (iter == 0)
         {
@@ -384,11 +396,11 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
             e_next = cy->error[1];
             if ( fabs(e_cur - e_next) < limite && vpMath::sign(e_cur) == vpMath::sign(e_next) )
             {
-              w[n+i] = 1/*0.5*/;
+              m_w[n+i] = 1/*0.5*/;
             }
             e_prev = e_cur;
           }
-          else w[n+i] = 1;
+          else m_w[n+i] = 1;
         }
         if (i == cy->nbFeaturel1)
         {
@@ -398,11 +410,11 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
             e_next = cy->error[i+1];
             if ( fabs(e_cur - e_next) < limite && vpMath::sign(e_cur) == vpMath::sign(e_next) )
             {
-              w[n+i] = 1/*0.5*/;
+              m_w[n+i] = 1/*0.5*/;
             }
             e_prev = e_cur;
           }
-          else w[n+i] = 1;
+          else m_w[n+i] = 1;
         }
 
         //If pour la derniere extremite des moving edges
@@ -411,7 +423,7 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
           e_cur = cy->error[i];
           if ( fabs(e_cur - e_prev) < limite && vpMath::sign(e_cur) == vpMath::sign(e_prev) )
           {
-            w[n+i] += 1/*0.5*/;
+            m_w[n+i] += 1/*0.5*/;
           }
         }
         //If pour la derniere extremite des moving edges
@@ -420,7 +432,7 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
           e_cur = cy->error[i];
           if ( fabs(e_cur - e_prev) < limite && vpMath::sign(e_cur) == vpMath::sign(e_prev) )
           {
-            w[n+i] += 1/*0.5*/;
+            m_w[n+i] += 1/*0.5*/;
           }
         }
 
@@ -429,10 +441,10 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
           e_cur = cy->error[i];
           e_next = cy->error[i+1];
           if ( fabs(e_cur - e_prev) < limite ){
-            w[n+i] += 0.5;
+            m_w[n+i] += 0.5;
           }
           if ( fabs(e_cur - e_next) < limite ){
-            w[n+i] += 0.5;
+            m_w[n+i] += 0.5;
           }
           e_prev = e_cur;
         }
@@ -440,7 +452,78 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
 
       n+= cy->nbFeature ;
     }
-    
+
+    for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[scaleLevel].begin(); it!=circles[scaleLevel].end(); ++it){
+      ci = *it;
+      ci->computeInteractionMatrixError(cMo);
+      double fac = 1.0;
+
+      std::list<vpMeSite>::const_iterator itCir;
+      if (iter == 0 && (ci->meEllipse != NULL)) {
+        itCir = ci->meEllipse->getMeList().begin();
+      }
+
+      for(unsigned int i=0 ; i < ci->nbFeature ; i++){
+        for(unsigned int j=0; j < 6 ; j++){
+          L[n+i][j] = ci->L[i][j]; //On remplit la matrice d'interaction globale
+        }
+        m_error[n+i] = ci->error[i]; //On remplit la matrice d'erreur
+
+        if (m_error[n+i] <= limite) count = count+1.0; //Si erreur proche de 0 on incremente cur
+
+        m_w[n+i] = 0;
+
+        if (iter == 0)
+        {
+          factor[n+i] = fac;
+          vpMeSite site = *itCir;
+          if (site.getState() != vpMeSite::NO_SUPPRESSION) factor[n+i] = 0.2;
+          ++itCir;
+        }
+
+        //If pour la premiere extremite des moving edges
+        if (i == 0)
+        {
+          e_cur = ci->error[0];
+          if (ci->nbFeature > 1)
+          {
+            e_next = ci->error[1];
+            if ( fabs(e_cur - e_next) < limite && vpMath::sign(e_cur) == vpMath::sign(e_next) )
+            {
+              m_w[n+i] = 1/*0.5*/;
+            }
+            e_prev = e_cur;
+          }
+          else m_w[n+i] = 1;
+        }
+
+        //If pour la derniere extremite des moving edges
+        else if(i == ci->nbFeature-1)
+        {
+          e_cur = ci->error[i];
+          if ( fabs(e_cur - e_prev) < limite && vpMath::sign(e_cur) == vpMath::sign(e_prev) )
+          {
+            m_w[n+i] += 1/*0.5*/;
+          }
+        }
+
+        else
+        {
+          e_cur = ci->error[i];
+          e_next = ci->error[i+1];
+          if ( fabs(e_cur - e_prev) < limite ){
+            m_w[n+i] += 0.5;
+          }
+          if ( fabs(e_cur - e_next) < limite ){
+            m_w[n+i] += 0.5;
+          }
+          e_prev = e_cur;
+        }
+      }
+
+      n+= ci->nbFeature ;
+    }
+
     count = count / (double)nbrow;
     if (count < 0.85){
       reloop = true;
@@ -451,8 +534,8 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
 
     double wi ; double eri ;
     for(unsigned int i = 0; i < nerror; i++){
-      wi = w[i]*factor[i];
-      eri = error[i];
+      wi = m_w[i]*factor[i];
+      eri = m_error[i];
       num += wi*vpMath::sqr(eri);
       den += wi ;
 
@@ -462,49 +545,89 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
     if((iter==0) || compute_interaction){
       for (unsigned int i=0 ; i < nerror ; i++){
         for (unsigned int j=0 ; j < 6 ; j++){
-          L[i][j] = w[i]*factor[i]*L[i][j] ;
+          L[i][j] = m_w[i]*factor[i]*L[i][j] ;
         }
       }
     }
 
-    LTL = L.AtA();
-    computeJTR(L, weighted_error, LTR);
-    v = -0.7*LTL.pseudoInverse(LTL.getRows()*DBL_EPSILON)*LTR;
+    // If all the 6 dof should be estimated, we check if the interaction matrix is full rank.
+    // If not we remove automatically the dof that cannot be estimated
+    // This is particularly useful when consering circles (rank 5) and cylinders (rank 4)
+    if (isoJoIdentity_) {
+      cVo.buildFrom(cMo);
+
+      vpMatrix K; // kernel
+      unsigned int rank = (L*cVo).kernel(K);
+      if(rank == 0) {
+        throw vpException(vpException::fatalError, "Rank=0, cannot estimate the pose !");
+      }
+      if (rank != 6) {
+        vpMatrix I; // Identity
+        I.eye(6);
+        oJo = I-K.AtA();
+
+        isoJoIdentity_ = false;
+      }
+    }
+
+    if(isoJoIdentity_){
+        LTL = L.AtA();
+        computeJTR(L, weighted_error, LTR);
+        v = -0.7*LTL.pseudoInverse(LTL.getRows()*std::numeric_limits<double>::epsilon())*LTR;
+    }
+    else{
+        cVo.buildFrom(cMo);
+        vpMatrix LVJ = (L*cVo*oJo);
+        vpMatrix LVJTLVJ = (LVJ).AtA();
+        vpMatrix LVJTR;
+        computeJTR(LVJ, weighted_error, LVJTR);
+        v = -0.7*LVJTLVJ.pseudoInverse(LVJTLVJ.getRows()*std::numeric_limits<double>::epsilon())*LVJTR;
+        v = cVo * v;
+    }
+
     cMo =  vpExponentialMap::direct(v).inverse() * cMo;
 
     iter++;
   }
-//   cout << "\t First minimization in " << iter << " iteration " << endl ;
+
+//   std::cout << "\t First minimization in " << iter << " iteration give as initial cMo: \n" << cMo << std::endl ;
   
+
 /*** Second phase ***/
 
   vpRobust robust_lines(nberrors_lines);
   vpRobust robust_cylinders(nberrors_cylinders);
+  vpRobust robust_circles(nberrors_circles);
   robust_lines.setIteration(0) ;
   robust_cylinders.setIteration(0) ;
+  robust_circles.setIteration(0) ;
   iter = 0;
   vpColVector w_lines(nberrors_lines);
   vpColVector w_cylinders(nberrors_cylinders);
+  vpColVector w_circles(nberrors_circles);
   vpColVector error_lines(nberrors_lines);
   vpColVector error_cylinders(nberrors_cylinders);
+  vpColVector error_circles(nberrors_circles);
 
-  vpColVector error_vec;
+  vpHomogeneousMatrix cMoPrev;
   vpColVector W_true;
   vpMatrix L_true;
+  vpMatrix LVJ_true;
   
   while ( ((int)((residu_1 - r)*1e8) !=0 )  && (iter<30))
   {
     unsigned int n = 0 ;
     unsigned int nlines = 0;
     unsigned int ncylinders = 0;
+    unsigned int ncircles = 0;
     for(std::list<vpMbtDistanceLine*>::const_iterator it=lines[scaleLevel].begin(); it!=lines[scaleLevel].end(); ++it){
       l = *it;
       l->computeInteractionMatrixError(cMo) ;
       for (unsigned int i=0 ; i < l->nbFeature ; i++){
         for (unsigned int j=0; j < 6 ; j++){
           L[n+i][j] = l->L[i][j];
-          error[n+i] = l->error[i];
-          error_lines[nlines+i] = error[n+i];
+          m_error[n+i] = l->error[i];
+          error_lines[nlines+i] = m_error[n+i];
         }
       }
       n+= l->nbFeature;
@@ -517,51 +640,75 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
       for(unsigned int i=0 ; i < cy->nbFeature ; i++){
         for(unsigned int j=0; j < 6 ; j++){
           L[n+i][j] = cy->L[i][j];
-          error[n+i] = cy->error[i];
-          error_cylinders[ncylinders+i] = error[n+i];
+          m_error[n+i] = cy->error[i];
+          error_cylinders[ncylinders+i] = m_error[n+i];
         }
       }
 
       n+= cy->nbFeature ;
       ncylinders+= cy->nbFeature ;
     }
-    
+
+    for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[scaleLevel].begin(); it!=circles[scaleLevel].end(); ++it){
+      ci = *it;
+      ci->computeInteractionMatrixError(cMo) ;
+      for(unsigned int i=0 ; i < ci->nbFeature ; i++){
+        for(unsigned int j=0; j < 6 ; j++){
+          L[n+i][j] = ci->L[i][j];
+          m_error[n+i] = ci->error[i];
+          error_circles[ncircles+i] = m_error[n+i];
+        }
+      }
+
+      n+= ci->nbFeature ;
+      ncircles+= ci->nbFeature ;
+    }
+
     if(iter==0)
     {
       weighted_error.resize(nerror);
-      w.resize(nerror);
-      w = 1;
+      m_w.resize(nerror);
+      m_w = 1;
       w_lines.resize(nberrors_lines);
       w_lines = 1;
       w_cylinders.resize(nberrors_cylinders);
       w_cylinders = 1;
+      w_circles.resize(nberrors_circles);
+      w_circles = 1;
 
       robust_lines.setThreshold(2/cam.get_px());
       robust_cylinders.setThreshold(2/cam.get_px());
-			if(nberrors_lines > 0)
-				robust_lines.MEstimator(vpRobust::TUKEY, error_lines,w_lines);
-      if(nberrors_cylinders > 0){
+      robust_circles.setThreshold(vpMath::sqr(2/cam.get_px()));
+      if(nberrors_lines > 0)
+                robust_lines.MEstimator(vpRobust::TUKEY, error_lines,w_lines);
+      if(nberrors_cylinders > 0)
        robust_cylinders.MEstimator(vpRobust::TUKEY, error_cylinders,w_cylinders);
-      }
+      if(nberrors_circles > 0)
+        robust_circles.MEstimator(vpRobust::TUKEY, error_circles,w_circles);
     }
     else
     {
       robust_lines.setIteration(iter);
       robust_cylinders.setIteration(iter);
-			if(nberrors_lines > 0)
-				robust_lines.MEstimator(vpRobust::TUKEY, error_lines, w_lines);
-      if(nberrors_cylinders > 0){
+      robust_circles.setIteration(iter);
+      if(nberrors_lines > 0)
+                robust_lines.MEstimator(vpRobust::TUKEY, error_lines, w_lines);
+      if(nberrors_cylinders > 0)
         robust_cylinders.MEstimator(vpRobust::TUKEY, error_cylinders,w_cylinders);
-      }
+      if(nberrors_circles > 0)
+        robust_circles.MEstimator(vpRobust::TUKEY, error_circles,w_circles);
     }
 
     unsigned int cpt = 0;
     while(cpt<nbrow){
       if(cpt<nberrors_lines){
-        w[cpt] = w_lines[cpt];
+        m_w[cpt] = w_lines[cpt];
+      }
+      else if (cpt<nberrors_lines+nberrors_cylinders){
+        m_w[cpt] = w_cylinders[cpt-nberrors_lines];
       }
-      else{
-        w[cpt] = w_cylinders[cpt-nberrors_lines];
+      else {
+        m_w[cpt] = w_circles[cpt-nberrors_lines-nberrors_cylinders];
       }
       cpt++;
     }
@@ -575,11 +722,19 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
     
     L_true = L;
     W_true = vpColVector(nerror);
+
+    if(computeCovariance){
+        L_true = L;
+       if(!isoJoIdentity_){
+         cVo.buildFrom(cMo);
+         LVJ_true = (L*cVo*oJo);
+       }
+    }
     
     for(unsigned int i=0; i<nerror; i++){
-      wi = w[i]*factor[i];
-      W_true[i] = wi*wi;
-      eri = error[i];
+      wi = m_w[i]*factor[i];
+      W_true[i] = wi;
+      eri = m_error[i];
       num += wi*vpMath::sqr(eri);
       den += wi;
 
@@ -591,23 +746,44 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
     if((iter==0)|| compute_interaction){
       for (unsigned int i=0 ; i < nerror ; i++){
         for (unsigned int j=0 ; j < 6 ; j++){
-          L[i][j] = w[i]*factor[i]*L[i][j];
+          L[i][j] = m_w[i]*factor[i]*L[i][j];
         }
       }
     }
 
-    LTL = L.AtA();
-    computeJTR(L, weighted_error, LTR);
-    v = -lambda*LTL.pseudoInverse(LTL.getRows()*DBL_EPSILON)*LTR;
+    if(isoJoIdentity_){
+        LTL = L.AtA();
+        computeJTR(L, weighted_error, LTR);
+        v = -lambda*LTL.pseudoInverse(LTL.getRows()*std::numeric_limits<double>::epsilon())*LTR;
+    }
+    else{
+        cVo.buildFrom(cMo);
+        vpMatrix LVJ = (L*cVo*oJo);
+        vpMatrix LVJTLVJ = (LVJ).AtA();
+        vpMatrix LVJTR;
+        computeJTR(LVJ, weighted_error, LVJTR);
+        v = -lambda*LVJTLVJ.pseudoInverse(LVJTLVJ.getRows()*std::numeric_limits<double>::epsilon())*LVJTR;
+        v = cVo * v;
+    }
+
+    cMoPrev = cMo;
     cMo =  vpExponentialMap::direct(v).inverse() * cMo;
 
     iter++;
   }
-  
+
+  // std::cout << "VVS estimate pose cMo:\n" << cMo << std::endl;
   if(computeCovariance){
-    vpMatrix D; //Should be the M.diag(wi) * M.diag(wi).transpose() =  (M.diag(wi^2))  which is more efficient
+    vpMatrix D;
     D.diag(W_true);
-    covarianceMatrix = vpMatrix::computeCovarianceMatrix(L_true,v,-lambda*error,D);
+
+    // Note that here the covariance is computed on cMoPrev for time computation efficiency
+    if(isoJoIdentity_){
+        computeCovarianceMatrix(cMoPrev,m_error,L_true,D);
+    }
+    else{
+        computeCovarianceMatrix(cMoPrev,m_error,LVJ_true,D);
+    }
   }
   
   unsigned int n =0 ;
@@ -619,9 +795,9 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
       if (l->nbFeature > 0) itListLine = l->meline->getMeList().begin();
       
       for (unsigned int i=0 ; i < l->nbFeature ; i++){
-        wmean += w[n+i] ;
+        wmean += m_w[n+i] ;
         vpMeSite p = *itListLine;
-        if (w[n+i] < 0.5){
+        if (m_w[n+i] < 0.5){
           p.setState(vpMeSite::M_ESTIMATOR);
           
           *itListLine = p;
@@ -643,13 +819,13 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
     }
   }
 
-
   // Same thing with cylinders as with lines
   for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders[scaleLevel].begin(); it!=cylinders[scaleLevel].end(); ++it){
     cy = *it;
     double wmean = 0 ;
     std::list<vpMeSite>::iterator itListCyl1;
     std::list<vpMeSite>::iterator itListCyl2;
+
     if (cy->nbFeature > 0){
       itListCyl1 = cy->meline1->getMeList().begin();
       itListCyl2 = cy->meline2->getMeList().begin();
@@ -657,9 +833,9 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
 
     wmean = 0;
     for(unsigned int i=0 ; i < cy->nbFeaturel1 ; i++){
-      wmean += w[n+i] ;
+      wmean += m_w[n+i] ;
       vpMeSite p = *itListCyl1;
-      if (w[n+i] < 0.5){
+      if (m_w[n+i] < 0.5){
         p.setState(vpMeSite::M_ESTIMATOR);
           
         *itListCyl1 = p;
@@ -681,9 +857,9 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
 
     wmean = 0;
     for(unsigned int i=cy->nbFeaturel1 ; i < cy->nbFeature ; i++){
-      wmean += w[n+i] ;
+      wmean += m_w[n+i] ;
       vpMeSite p = *itListCyl2;
-      if (w[n+i] < 0.5){
+      if (m_w[n+i] < 0.5){
         p.setState(vpMeSite::M_ESTIMATOR);
         
         *itListCyl2 = p;
@@ -705,6 +881,43 @@ vpMbEdgeTracker::computeVVS(const vpImage<unsigned char>& _I)
 
     n+= cy->nbFeature ;
   }
+
+  // Same thing with circles as with lines
+  for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[scaleLevel].begin(); it!=circles[scaleLevel].end(); ++it){
+    ci = *it;
+    double wmean = 0 ;
+    std::list<vpMeSite>::iterator itListCir;
+
+    if (ci->nbFeature > 0){
+      itListCir = ci->meEllipse->getMeList().begin();
+    }
+
+    wmean = 0;
+    for(unsigned int i=0 ; i < ci->nbFeature ; i++){
+      wmean += m_w[n+i] ;
+      vpMeSite p = *itListCir;
+      if (m_w[n+i] < 0.5){
+        p.setState(vpMeSite::M_ESTIMATOR);
+
+        *itListCir = p;
+      }
+
+      ++itListCir;
+    }
+
+    if (ci->nbFeature!=0)
+      wmean /= ci->nbFeature ;
+    else
+      wmean = 1;
+
+    ci->setMeanWeight(wmean);
+
+    if (wmean < 0.8){
+      ci->Reinit = true;
+    }
+
+    n+= ci->nbFeature ;
+  }
 }
 
 /*!
@@ -733,11 +946,10 @@ vpMbEdgeTracker::testTracking()
     }
   }    
 
-
   vpMbtDistanceCylinder *cy ;
   for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders[scaleLevel].begin(); it!=cylinders[scaleLevel].end(); ++it){
     cy = *it;
-    if (cy->meline1 !=NULL && cy->meline2 != NULL)
+    if ((cy->meline1 !=NULL && cy->meline2 != NULL) && cy->isVisible())
     {
       nbExpectedPoint += (int)cy->meline1->expecteddensity;
       for(std::list<vpMeSite>::const_iterator itme1=cy->meline1->getMeList().begin(); itme1!=cy->meline1->getMeList().end(); ++itme1){
@@ -754,16 +966,37 @@ vpMbEdgeTracker::testTracking()
     }
   }
 
-  //if (nbGoodPoint < percentageGdPt *(nbGoodPoint+nbBadPoint) || nbExpectedPoint < 2)
-  // Compare the number of good points with the min between the number of expected points and number of points that are tracked
-  if ( ( (nbGoodPoint < percentageGdPt *nbExpectedPoint) && (nbGoodPoint < percentageGdPt *(nbGoodPoint+nbBadPoint)) ) // Modif FS
-       || nbExpectedPoint < 2)
-  {
-    throw vpTrackingException(vpTrackingException::fatalError, "Not enough points to track the object");
+  vpMbtDistanceCircle *ci ;
+  for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[scaleLevel].begin(); it!=circles[scaleLevel].end(); ++it){
+    ci = *it;
+    if (ci->isVisible() && ci->meEllipse !=NULL)
+    {
+      nbExpectedPoint += ci->meEllipse->getExpectedDensity();
+      for(std::list<vpMeSite>::const_iterator itme=ci->meEllipse->getMeList().begin(); itme!=ci->meEllipse->getMeList().end(); ++itme){
+        vpMeSite pix = *itme;
+        if (pix.getState() == vpMeSite::NO_SUPPRESSION) nbGoodPoint++;
+        else nbBadPoint++;
+      }
+    }
+  }
+
+  // Compare the number of good points with the min between the number of expected points and
+  // number of points that are tracked
+  int nb_min = (int)vpMath::minimum(percentageGdPt *nbExpectedPoint, percentageGdPt *(nbGoodPoint + nbBadPoint) );
+  //int nb_min = std::min(val1, val2);
+  if (nbGoodPoint < nb_min || nbExpectedPoint < 2) {
+    std::ostringstream oss;
+    oss << "Not enough moving edges ("
+        << nbGoodPoint
+        << ") to track the object: expected "
+        << nb_min
+        << ". Try to reduce the threshold="
+        << percentageGdPt
+        << " using vpMbTracker::setGoodMovingEdgesRatioThreshold()";
+    throw vpTrackingException(vpTrackingException::fatalError, oss.str());
   }      
 }
 
-
 /*!
   Compute each state of the tracking procedure for all the feature sets.
   
@@ -809,28 +1042,38 @@ vpMbEdgeTracker::track(const vpImage<unsigned char> &I)
         vpMbtDistanceCylinder *cy ;
         for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders[lvl].begin(); it!=cylinders[lvl].end(); ++it){
           cy = *it;
-          cy->initInteractionMatrixError();
+          if(cy->isVisible()) {
+            cy->initInteractionMatrixError();
+          }
+        }
+
+        vpMbtDistanceCircle *ci ;
+        for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[lvl].begin(); it!=circles[lvl].end(); ++it){
+          ci = *it;
+          if (ci->isVisible()){
+            ci->initInteractionMatrixError();
+          }
         }
 
         try
         {
           computeVVS(*Ipyramid[lvl]);
         }
-        catch(...)
+        catch(vpException &e)
         {
-          vpTRACE("Error in computeVVS") ;
-          throw vpException(vpException::fatalError, "Error in computeVVS");
+          covarianceMatrix = -1;
+          throw e;
         }
-        
+
         try
         {
           testTracking();
         }
-        catch(...)
+        catch(vpException &e)
         {
-          throw vpTrackingException(vpTrackingException::fatalError, "test Tracking fail");
+          throw e;
         }
-        
+
         if (displayFeatures)
         {
           if(lvl == 0){
@@ -843,21 +1086,29 @@ vpMbEdgeTracker::track(const vpImage<unsigned char> &I)
 
             for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders[lvl].begin(); it!=cylinders[lvl].end(); ++it){
               cy = *it;
-              cy->displayMovingEdges(I);
+              if(cy->isVisible()) {
+                cy->displayMovingEdges(I);
+              }
+            }
+
+            for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[lvl].begin(); it!=circles[lvl].end(); ++it){
+              ci = *it;
+              if (ci->isVisible()){
+                ci->displayMovingEdges(I);
+              }
             }
           }
         }
-        
+
         try
         {
           updateMovingEdge(I);
         }
-        catch(...)
+        catch(vpException &e)
         {
-          vpTRACE("Error in moving edge updating") ;
-          throw ;
+          throw e;
         }
-        
+
         // Looking for new visible face
         bool newvisibleface = false ;
         visibleFace(I, cMo, newvisibleface) ;
@@ -867,7 +1118,7 @@ vpMbEdgeTracker::track(const vpImage<unsigned char> &I)
         reinitMovingEdge(I,cMo);
         upScale(lvl);
       }
-      catch(...)
+      catch(vpException &e)
       {
         if(lvl != 0){
           cMo = cMo_1;
@@ -876,7 +1127,7 @@ vpMbEdgeTracker::track(const vpImage<unsigned char> &I)
         }
         else{
           upScale(lvl);
-          throw ;
+          throw(e) ;
         }
       }
     }
@@ -892,13 +1143,18 @@ vpMbEdgeTracker::track(const vpImage<unsigned char> &I)
 */
 void vpMbEdgeTracker::init(const vpImage<unsigned char>& I)
 {
+  if(!modelInitialised){
+    throw vpException(vpException::fatalError, "model not initialized");
+  }
+
 	bool a = false;
 
 #ifdef VISP_HAVE_OGRE 
   if(useOgre){
-    if(!faces.isOgreInitialised())
+    if(!faces.isOgreInitialised()){
       faces.setBackgroundSizeOgre(I.getHeight(), I.getWidth());
       faces.initOgre(cam);
+    }
   }
 #endif
   
@@ -933,16 +1189,40 @@ vpMbEdgeTracker::setPose( const vpImage<unsigned char> &I, const vpHomogeneousMa
 {
   cMo = cdMo;
   
-  vpMbtDistanceLine *l;
-  lines[scaleLevel].front() ;
-  for(std::list<vpMbtDistanceLine*>::const_iterator it=lines[scaleLevel].begin(); it!=lines[scaleLevel].end(); ++it){
-    l = *it;
-    if(l->meline != NULL){
-      delete l->meline;
-      l->meline = NULL;
+  if (! lines[scaleLevel].empty()) {
+    lines[scaleLevel].front() ;
+    for(std::list<vpMbtDistanceLine*>::const_iterator it=lines[scaleLevel].begin(); it!=lines[scaleLevel].end(); ++it){
+      if((*it)->meline != NULL){
+        delete (*it)->meline;
+        (*it)->meline = NULL;
+      }
     }
   }
-  
+
+  if (! cylinders[scaleLevel].empty()) {
+    cylinders[scaleLevel].front() ;
+    for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders[scaleLevel].begin(); it!=cylinders[scaleLevel].end(); ++it){
+      if((*it)->meline1 != NULL){
+        delete (*it)->meline1;
+        (*it)->meline1 = NULL;
+      }
+      if((*it)->meline2 != NULL){
+        delete (*it)->meline2;
+        (*it)->meline2 = NULL;
+      }
+    }
+  }
+
+  if (! circles[scaleLevel].empty()) {
+    circles[scaleLevel].front() ;
+    for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[scaleLevel].begin(); it!=circles[scaleLevel].end(); ++it){
+      if((*it)->meEllipse != NULL){
+        delete (*it)->meEllipse;
+        (*it)->meEllipse = NULL;
+      }
+    }
+  }
+
   init(I);
 }
 
@@ -1029,8 +1309,7 @@ vpMbEdgeTracker::loadConfigFile(const char* configFile)
     xmlp.parse(configFile);
   }
   catch(...){
-    vpERROR_TRACE("Can't open XML file \"%s\"\n ", configFile);
-    throw vpException(vpException::ioError, "problem to parse configuration file.");
+    throw vpException(vpException::ioError, "Cannot open XML file \"%s\"", configFile);
   }
   
   vpCameraParameters camera;
@@ -1052,6 +1331,18 @@ vpMbEdgeTracker::loadConfigFile(const char* configFile)
   if(xmlp.getFovClipping())
     setClipping(clippingFlag | vpMbtPolygon::FOV_CLIPPING);
 
+  useLodGeneral = xmlp.getLodState();
+  minLineLengthThresholdGeneral = xmlp.getMinLineLengthThreshold();
+  minPolygonAreaThresholdGeneral = xmlp.getMinPolygonAreaThreshold();
+
+  applyLodSettingInConfig = false;
+  if(this->getNbPolygon() > 0) {
+    applyLodSettingInConfig = true;
+    setLod(useLodGeneral);
+    setMinLineLengthThresh(minLineLengthThresholdGeneral);
+    setMinPolygonAreaThresh(minPolygonAreaThresholdGeneral);
+  }
+
 #else
   vpTRACE("You need the libXML2 to read the config file %s", configFile);
 #endif
@@ -1066,24 +1357,25 @@ vpMbEdgeTracker::loadConfigFile(const char* configFile)
   \param camera : The camera parameters.
   \param col : The desired color.
   \param thickness : The thickness of the lines.
-  \param displayFullModel : If true, the full model is displayed (even the non visible surfaces).
+  \param displayFullModel : If true, the full model is displayed (even the non visible faces).
 */
 void
 vpMbEdgeTracker::display(const vpImage<unsigned char>& I, const vpHomogeneousMatrix &cMo_,
                          const vpCameraParameters &camera, const vpColor& col,
                          const unsigned int thickness, const bool displayFullModel)
-{
-  vpMbtDistanceLine *l ;
-  
+{  
   for (unsigned int i = 0; i < scales.size(); i += 1){
     if(scales[i]){
       for(std::list<vpMbtDistanceLine*>::const_iterator it=lines[scaleLevel].begin(); it!=lines[scaleLevel].end(); ++it){
-        l = *it;
-        l->display(I,cMo_, camera, col, thickness, displayFullModel);
+        (*it)->display(I,cMo_, camera, col, thickness, displayFullModel);
       }
 
       for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders[scaleLevel].begin(); it!=cylinders[scaleLevel].end(); ++it){
-        (*it)->display(I, cMo_, camera, col, thickness);
+        (*it)->display(I, cMo_, camera, col, thickness, displayFullModel);
+      }
+
+      for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[scaleLevel].begin(); it!=circles[scaleLevel].end(); ++it){
+        (*it)->display(I, cMo_, camera, col, thickness, displayFullModel);
       }
 
       break ; //displaying model on one scale only
@@ -1111,19 +1403,19 @@ vpMbEdgeTracker::display(const vpImage<vpRGBa>& I, const vpHomogeneousMatrix &cM
                          const vpCameraParameters &camera, const vpColor& col,
                          const unsigned int thickness, const bool displayFullModel)
 {
-  vpMbtDistanceLine *l ;
-  
   for (unsigned int i = 0; i < scales.size(); i += 1){
     if(scales[i]){
       for(std::list<vpMbtDistanceLine*>::const_iterator it=lines[scaleLevel].begin(); it!=lines[scaleLevel].end(); ++it){
-        l = *it;
-        l->display(I, cMo_, camera, col, thickness, displayFullModel) ;
+        (*it)->display(I, cMo_, camera, col, thickness, displayFullModel) ;
       }
 
       for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders[scaleLevel].begin(); it!=cylinders[scaleLevel].end(); ++it){
-        (*it)->display(I, cMo_, camera, col, thickness) ;
+        (*it)->display(I, cMo_, camera, col, thickness, displayFullModel) ;
       }
 
+      for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[scaleLevel].begin(); it!=circles[scaleLevel].end(); ++it){
+        (*it)->display(I, cMo_, camera, col, thickness, displayFullModel);
+      }
       break ; //displaying model on one scale only
     }
   }
@@ -1144,9 +1436,9 @@ vpMbEdgeTracker::display(const vpImage<vpRGBa>& I, const vpHomogeneousMatrix &cM
 */
 void
 vpMbEdgeTracker::initMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &_cMo)
-{
+{  
   vpMbtDistanceLine *l ;
-  
+
   lines[scaleLevel].front() ;
   for(std::list<vpMbtDistanceLine*>::const_iterator it=lines[scaleLevel].begin(); it!=lines[scaleLevel].end(); ++it){
     l = *it;
@@ -1162,7 +1454,7 @@ vpMbEdgeTracker::initMovingEdge(const vpImage<unsigned char> &I, const vpHomogen
     }
 
     //Si la ligne n'appartient a aucune face elle est tout le temps visible
-    if (l->Lindex_polygon.empty()) isvisible = true;
+    if (l->Lindex_polygon.empty()) isvisible = true; // Not sure that this can occur
 
     if (isvisible)
     {
@@ -1181,12 +1473,62 @@ vpMbEdgeTracker::initMovingEdge(const vpImage<unsigned char> &I, const vpHomogen
     }
   }   
 
-
   vpMbtDistanceCylinder *cy ;
   for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders[scaleLevel].begin(); it!=cylinders[scaleLevel].end(); ++it){
     cy = *it;
-    if (cy->meline1==NULL || cy->meline2==NULL){
-      cy->initMovingEdge(I, _cMo) ;
+
+    bool isvisible = false ;
+
+    int index = cy->index_polygon;
+    if (index ==-1) isvisible =true ;
+    else
+    {
+      if (cy->hiddenface->isVisible((unsigned int)index)) isvisible = true ;
+    }
+//    vpTRACE("cyl with index %d is visible: %d", index, isvisible);
+
+    if (isvisible)
+    {
+      cy->setVisible(true) ;
+      if (cy->meline1==NULL || cy->meline2==NULL){
+        cy->initMovingEdge(I, _cMo) ;
+      }
+    }
+    else
+    {
+      cy->setVisible(false) ;
+      if (cy->meline1!=NULL) delete cy->meline1;
+      if (cy->meline2!=NULL) delete cy->meline2;
+      cy->meline1=NULL;
+      cy->meline2=NULL;
+    }
+  }
+
+  vpMbtDistanceCircle *ci ;
+  for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[scaleLevel].begin(); it!=circles[scaleLevel].end(); ++it){
+    ci = *it;
+    bool isvisible = false ;
+
+    int index = ci->index_polygon;
+    if (index ==-1) isvisible =true ;
+    else
+    {
+      if (ci->hiddenface->isVisible((unsigned int)index)) isvisible = true ;
+    }
+
+    if (isvisible)
+    {
+      ci->setVisible(true) ;
+      if (ci->meEllipse==NULL)
+      {
+        ci->initMovingEdge(I, _cMo) ;
+      }
+    }
+    else
+    {
+      ci->setVisible(false) ;
+      if (ci->meEllipse!=NULL) delete ci->meEllipse;
+      ci->meEllipse=NULL;
     }
   }
 }
@@ -1214,10 +1556,23 @@ vpMbEdgeTracker::trackMovingEdge(const vpImage<unsigned char> &I)
   vpMbtDistanceCylinder *cy;
   for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders[scaleLevel].begin(); it!=cylinders[scaleLevel].end(); ++it){
     cy = *it;
-    if(cy->meline1 == NULL || cy->meline2 == NULL){
-      cy->initMovingEdge(I, cMo);
+    if(cy->isVisible()) {
+        if(cy->meline1 == NULL || cy->meline2 == NULL){
+          cy->initMovingEdge(I, cMo);
+        }
+        cy->trackMovingEdge(I, cMo) ;
+    }
+  }
+
+  vpMbtDistanceCircle *ci;
+  for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[scaleLevel].begin(); it!=circles[scaleLevel].end(); ++it){
+    ci = *it;
+    if(ci->isVisible() == true){
+      if(ci->meEllipse == NULL){
+        ci->initMovingEdge(I, cMo);
+      }
+      ci->trackMovingEdge(I, cMo) ;
     }
-    cy->trackMovingEdge(I, cMo) ;
   }
 }
 
@@ -1239,15 +1594,23 @@ vpMbEdgeTracker::updateMovingEdge(const vpImage<unsigned char> &I)
     }
   }
 
-
   vpMbtDistanceCylinder *cy ;
   for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders[scaleLevel].begin(); it!=cylinders[scaleLevel].end(); ++it){
     cy = *it;
     cy->updateMovingEdge(I, cMo) ;
-    if(cy->nbFeaturel1 == 0 || cy->nbFeaturel2 == 0){
+    if((cy->nbFeaturel1 == 0 || cy->nbFeaturel2 == 0) && cy->isVisible()){
       cy->Reinit = true;
     }
   }
+
+  vpMbtDistanceCircle *ci ;
+  for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[scaleLevel].begin(); it!=circles[scaleLevel].end(); ++it){
+    ci = *it;
+    ci->updateMovingEdge(I, cMo) ;
+    if(ci->nbFeature == 0  && ci->isVisible()){
+      ci->Reinit = true;
+    }
+  }
 }
 
 
@@ -1272,27 +1635,35 @@ vpMbEdgeTracker::reinitMovingEdge(const vpImage<unsigned char> &I, const vpHomog
   vpMbtDistanceCylinder*cy;
   for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders[scaleLevel].begin(); it!=cylinders[scaleLevel].end(); ++it){
     cy = *it;
-    if (cy->Reinit)
+    if (cy->Reinit && cy->isVisible())
       cy->reinitMovingEdge(I, _cMo);
   }
+
+  vpMbtDistanceCircle*ci;
+  for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[scaleLevel].begin(); it!=circles[scaleLevel].end(); ++it){
+    ci = *it;
+    if (ci->Reinit && ci->isVisible())
+      ci->reinitMovingEdge(I, _cMo);
+  }
 }
 
 
 /*!
   Check if two vpPoints are similar.
   
-  To be similar : \f$ (X_1 - X_2)^2 + (Y_1 - Y_2)^2 + (Z_1 - Z_2)^2 < threshold \f$.
+  To be similar : \f$ (X_1 - X_2)^2 + (Y_1 - Y_2)^2 + (Z_1 - Z_2)^2 < epsilon \f$.
   
   \param P1 : The first point to compare
   \param P2 : The second point to compare
-  \param threshold : The threshold  used to decide if the points are similar or not.
 */
-bool samePoint(const vpPoint &P1, const vpPoint &P2, double threshold=1e-5)
+bool
+vpMbEdgeTracker::samePoint(const vpPoint &P1, const vpPoint &P2)
 {
-  double d = vpMath::sqr(P1.get_oX() - P2.get_oX())+
-  vpMath::sqr(P1.get_oY() - P2.get_oY())+
-  vpMath::sqr(P1.get_oZ() - P2.get_oZ()) ;
-  if (d  < threshold)
+  double dx = fabs(P1.get_oX() - P2.get_oX());
+  double dy = fabs(P1.get_oY() - P2.get_oY());
+  double dz = fabs(P1.get_oZ() - P2.get_oZ());
+
+  if (dx  <= std::numeric_limits<double>::epsilon() && dy  <= std::numeric_limits<double>::epsilon() && dz <= std::numeric_limits<double>::epsilon())
     return true ;
   else
     return false ;
@@ -1300,20 +1671,19 @@ bool samePoint(const vpPoint &P1, const vpPoint &P2, double threshold=1e-5)
 
 
 /*!
-  Add a line belonging to the \f$ index \f$ th polygone to the list of lines. It is defined by its two extremities.
+  Add a line belonging to the \f$ index \f$ the polygon to the list of lines. It is defined by its two extremities.
   
   If the line already exists, the ploygone's index is added to the list of polygon to which it belongs.
   
   \param P1 : The first extremity of the line.
   \param P2 : The second extremity of the line.
-  \param polygone : The index of the polygon to which the line belongs.
+  \param polygon : The index of the polygon to which the line belongs.
   \param name : the optional name of the line 
 */
 void
-vpMbEdgeTracker::addLine(vpPoint &P1, vpPoint &P2, int polygone, std::string name)
+vpMbEdgeTracker::addLine(vpPoint &P1, vpPoint &P2, int polygon, std::string name)
 {
   //suppress line already in the model
-  
   bool already_here = false ;
   vpMbtDistanceLine *l ;
   
@@ -1325,7 +1695,7 @@ vpMbEdgeTracker::addLine(vpPoint &P1, vpPoint &P2, int polygone, std::string nam
         if((samePoint(*(l->p1),P1) && samePoint(*(l->p2),P2)) ||
            (samePoint(*(l->p1),P2) && samePoint(*(l->p2),P1)) ){
           already_here = true ;
-          l->Lindex_polygon.push_back(polygone);
+          l->Lindex_polygon.push_back(polygon);
           l->hiddenface = &faces ;
         }
       }
@@ -1335,9 +1705,10 @@ vpMbEdgeTracker::addLine(vpPoint &P1, vpPoint &P2, int polygone, std::string nam
 
         l->setCameraParameters(cam) ;
         l->buildFrom(P1,P2) ;
-        l->Lindex_polygon.push_back(polygone);
+        l->Lindex_polygon.push_back(polygon);
         l->setMovingEdge(&me) ;
         l->hiddenface = &faces ;
+
         l->setIndex(nline) ;
         l->setName(name);
         
@@ -1381,8 +1752,60 @@ vpMbEdgeTracker::removeLine(const std::string& name)
   }
 }
 
+/*!
+  Add a circle to the list of circles.
+
+  \param P1 : Center of the circle.
+  \param P2,P3 : Two points on the plane containing the circle. With the center of the circle we have 3 points
+  defining the plane that contains the circle.
+  \param r : Radius of the circle.
+  \param idFace : Id of the face that is associated to the circle to handle visibility test.
+  \param name : the optional name of the circle.
+*/
+void
+vpMbEdgeTracker::addCircle(const vpPoint &P1, const vpPoint &P2, const vpPoint &P3, const double r, int idFace, const std::string& name)
+{
+  bool already_here = false ;
+  vpMbtDistanceCircle *ci ;
 
+  for (unsigned int i = 0; i < scales.size(); i += 1){
+    if(scales[i]){
+      downScale(i);
+      for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[i].begin(); it!=circles[i].end(); ++it){
+        ci = *it;
+        if((samePoint(*(ci->p1),P1) && samePoint(*(ci->p2),P2) && samePoint(*(ci->p3),P3)) ||
+           (samePoint(*(ci->p1),P1) && samePoint(*(ci->p2),P3) && samePoint(*(ci->p3),P2)) ){
+          already_here = (std::fabs(ci->radius - r) < std::numeric_limits<double>::epsilon() * vpMath::maximum(ci->radius, r));
+        }
+      }
 
+      if (!already_here){
+        ci = new vpMbtDistanceCircle ;
+
+        ci->setCameraParameters(cam);
+        ci->buildFrom(P1, P2, P3, r);
+        ci->setMovingEdge(&me);
+        ci->setIndex(ncircle);
+        ci->setName(name);
+        ci->index_polygon = idFace;
+        ci->hiddenface = &faces ;
+
+//        if(clippingFlag != vpMbtPolygon::NO_CLIPPING)
+//          ci->getPolygon().setClipping(clippingFlag);
+
+//        if((clippingFlag & vpMbtPolygon::NEAR_CLIPPING) == vpMbtPolygon::NEAR_CLIPPING)
+//          ci->getPolygon().setNearClippingDistance(distNearClip);
+
+//        if((clippingFlag & vpMbtPolygon::FAR_CLIPPING) == vpMbtPolygon::FAR_CLIPPING)
+//          ci->getPolygon().setFarClippingDistance(distFarClip);
+
+        ncircle +=1;
+        circles[i].push_back(ci);
+      }
+      upScale(i);
+    }
+  }
+}
 
 /*!
   Add a cylinder to the list of cylinders.
@@ -1390,10 +1813,11 @@ vpMbEdgeTracker::removeLine(const std::string& name)
   \param P1 : The first extremity of the axis.
   \param P2 : The second extremity of the axis.
   \param r : The radius of the cylinder.
+  \param idFace : The index of the face.
   \param name : the optional name of the cylinder
 */
 void
-vpMbEdgeTracker::addCylinder(const vpPoint &P1, const vpPoint &P2, const double r, const std::string& name)
+vpMbEdgeTracker::addCylinder(const vpPoint &P1, const vpPoint &P2, const double r, int idFace, const std::string& name)
 {
   bool already_here = false ;
   vpMbtDistanceCylinder *cy ;
@@ -1417,6 +1841,8 @@ vpMbEdgeTracker::addCylinder(const vpPoint &P1, const vpPoint &P2, const double
         cy->setMovingEdge(&me);
         cy->setIndex(ncylinder);
         cy->setName(name);
+        cy->index_polygon = idFace;
+        cy->hiddenface = &faces ;
         ncylinder +=1;
         cylinders[i].push_back(cy);
       }
@@ -1425,7 +1851,6 @@ vpMbEdgeTracker::addCylinder(const vpPoint &P1, const vpPoint &P2, const double
   }
 }
 
-
 /*!
   Remove a cylinder by its name.
 
@@ -1449,6 +1874,29 @@ vpMbEdgeTracker::removeCylinder(const std::string& name)
   }
 }
 
+/*!
+  Remove a circle by its name.
+
+  \param name : The name of the circle to remove.
+*/
+void
+vpMbEdgeTracker::removeCircle(const std::string& name)
+{
+  vpMbtDistanceCircle *ci;
+
+  for(unsigned int i=0; i<scales.size(); i++){
+    if(scales[i]){
+      for(std::list<vpMbtDistanceCircle*>::iterator it=circles[i].begin(); it!=circles[i].end(); ++it){
+        ci = *it;
+        if (name.compare(ci->getName()) == 0){
+          circles[i].erase(it);
+          break;
+        }
+      }
+    }
+  }
+}
+
 /*!
   Add a polygon to the list of polygons.
   
@@ -1457,17 +1905,12 @@ vpMbEdgeTracker::removeCylinder(const std::string& name)
 void
 vpMbEdgeTracker::addPolygon(vpMbtPolygon &p)
 {
-  p.setIndex(index_polygon) ;
-  faces.addPolygon(&p) ;
-
   unsigned int nbpt = p.getNbPoint() ;
   if(nbpt > 0){
     for (unsigned int i=0 ; i < nbpt-1 ; i++)
-      addLine(p.p[i], p.p[i+1], index_polygon) ;
-    addLine(p.p[nbpt-1], p.p[0], index_polygon) ;
+      addLine(p.p[i], p.p[i+1], p.getIndex()) ;
+    addLine(p.p[nbpt-1], p.p[0], p.getIndex()) ;
   }
-  
-  index_polygon++ ;
 }
 
 
@@ -1534,14 +1977,13 @@ vpMbEdgeTracker::visibleFace(const vpImage<unsigned char> & _I,
     n = faces.setVisible(_I, cam, _cMo,  angleAppears, angleDisappears, changed) ;
   }
   else{
-#ifdef VISP_HAVE_OGRE   
+#ifdef VISP_HAVE_OGRE
     n = faces.setVisibleOgre(_I, cam, _cMo, angleAppears, angleDisappears, changed);
 #else
     n = faces.setVisible(_I, cam, _cMo,  angleAppears, angleDisappears, changed) ;
 #endif
   } 
-  
-//  cout << "visible face " << n << endl ;
+
   if (n > nbvisiblepolygone)
   {
     //cout << "une nouvelle face est visible " << endl ;
@@ -1553,76 +1995,83 @@ vpMbEdgeTracker::visibleFace(const vpImage<unsigned char> & _I,
   nbvisiblepolygone= n ;
 }
 
-
 /*!
-  Load a 3D model contained in a file. This file is either a vrml or a cao file.
-  
-  \param file : Full name the file containing the 3D model description.
-  The extension of this file is either .wrl or .cao.
+  Add the lines to track from the polygon description. If the polygon has only
+  two points, it defines a single line that is always visible. If it has three or
+  more corners, it defines a face. In that case the visibility of the face is computed
+  in order to track the corresponding lines only if the face is visible.
+
+  The id of the polygon is supposed to be set prior calling this function.
+
+  This method is called from the loadModel() one to add a face of the object to track.
 
-  \sa vpMbTracker::loadModel()
+  \param polygon : The polygon describing the set of lines that has to be tracked.
 */
 void
-vpMbEdgeTracker::loadModel(const char* file)
+vpMbEdgeTracker::initFaceFromCorners(vpMbtPolygon &polygon)
 {
-  std::string model(file);
-  vpMbTracker::loadModel(model);
+  unsigned int nbpt = polygon.getNbPoint() ;
+  if(nbpt > 0){
+    for (unsigned int i=0 ; i < nbpt-1 ; i++)
+      addLine(polygon.p[i], polygon.p[i+1], polygon.getIndex(), polygon.getName());
+    addLine(polygon.p[nbpt-1], polygon.p[0], polygon.getIndex(), polygon.getName());
+  }
 }
-
 /*!
-  Load a 3D model contained in a file.
-  
-  \param file : Full name the file containing the 3D model description.
-  The extension of this file is either .wrl or .cao.
+  Add the lines to track from the polygon description. If the polygon has only
+  two points, it defines a single line that is always visible. If it has three or
+  more corners, it defines a face. In that case the visibility of the face is computed
+  in order to track the corresponding lines only if the face is visible.
+
+  The id of the polygon is supposed to be set prior calling this function.
 
-  \sa vpMbTracker::loadModel()
+  This method is called from the loadModel() one to add a face of the object to track.
+
+  \param polygon : The polygon describing the set of lines that has to be tracked.
 */
 void
-vpMbEdgeTracker::loadModel(const std::string &file)
+vpMbEdgeTracker::initFaceFromLines(vpMbtPolygon &polygon)
 {
-  vpMbTracker::loadModel(file);
+  unsigned int nbpt = polygon.getNbPoint() ;
+  if(nbpt > 0){
+    for (unsigned int i=0 ; i < nbpt-1 ; i++)
+      addLine(polygon.p[i], polygon.p[i+1], polygon.getIndex(), polygon.getName());
+  }
 }
 
 /*!
-  Add a face to track from its corners (in the object frame). This method is
-  called from the loadModel() one to add a face of the object to track. 
-  The initialization of the face depends on the primitive to track.
-  
-  \param _corners : The vector of corners representing the face.
-  \param _indexFace : The index of the face.
+  Add a circle to track from its center, 3 points (including the center) defining the plane that contain
+  the circle and its radius.
+
+  \param p1 : Center of the circle.
+  \param p2,p3 : Two points on the plane containing the circle. With the center of the circle we have 3 points
+  defining the plane that contains the circle.
+  \param radius : Radius of the circle.
+  \param idFace : Index of the face associated to the circle to handle visibility test.
+  \param name : The optional name of the circle.
 */
-void 
-vpMbEdgeTracker::initFaceFromCorners(const std::vector<vpPoint>& _corners, const unsigned int _indexFace)
+void
+vpMbEdgeTracker::initCircle(const vpPoint& p1, const vpPoint &p2, const vpPoint &p3, const double radius,
+                            const int idFace, const std::string &name)
 {
-  vpMbtPolygon *polygon = NULL;
-  polygon = new vpMbtPolygon;
-  polygon->setNbPoint((unsigned int)_corners.size());
-  polygon->setIndex((int)_indexFace);
-  for(unsigned int j = 0; j < _corners.size(); j++) {
-    polygon->addPoint(j, _corners[j]);
-  }
-  addPolygon(*polygon);
-
-  delete polygon;
-  polygon = NULL;
+  addCircle(p1, p2, p3, radius, (int)idFace, name);
 }
 
 /*!
-  Add a cylinder to track from tow points on the axis (defining the length of
+  Add a cylinder to track from two points on the axis (defining the length of
   the cylinder) and its radius.
 
   \param p1 : First point on the axis.
   \param p2 : Second point on the axis.
   \param radius : Radius of the cylinder.
-  \param indexCylinder : Index of the cylinder.
+  \param idFace : Id of the face that is associated to the cylinder to handle visibility test.
+  \param name : The optional name of the cylinder.
 */
 void
-vpMbEdgeTracker::initCylinder(const vpPoint& p1, const vpPoint &p2, const double radius, const unsigned int indexCylinder)
+vpMbEdgeTracker::initCylinder(const vpPoint& p1, const vpPoint &p2, const double radius, const int idFace,
+    const std::string &name)
 {
-  if(indexCylinder != 0){
-    ncylinder = indexCylinder;
-  }
-  addCylinder(p1, p2, radius);
+  addCylinder(p1, p2, radius, (int)idFace, name);
 }
 
 /*!
@@ -1636,6 +2085,7 @@ vpMbEdgeTracker::resetTracker()
   this->cMo.setIdentity();
   vpMbtDistanceLine *l;
   vpMbtDistanceCylinder *cy;
+  vpMbtDistanceCircle *ci;
 
   for (unsigned int i = 0; i < scales.size(); i += 1){
     if(scales[i]){
@@ -1650,14 +2100,24 @@ vpMbEdgeTracker::resetTracker()
         if (cy!=NULL) delete cy;
         cy = NULL;
       }
+
+      for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[i].begin(); it!=circles[i].end(); ++it){
+        ci = *it;
+        if (ci!=NULL) delete ci;
+        ci = NULL;
+      }
       lines[i].clear();
       cylinders[i].clear();
+      circles[i].clear();
     }
   }
-  
+
   faces.reset();
+
+#ifdef VISP_HAVE_OGRE
+  useOgre = false;
+#endif
   
-  index_polygon =0;
   compute_interaction=1;
   nline = 0;
   ncylinder = 0;
@@ -1673,7 +2133,21 @@ vpMbEdgeTracker::resetTracker()
   this->setScales(scales);
 }
 
+/*!
+  Re-initialize the model used by the tracker.
 
+  \param I : The image containing the object to initialize.
+  \param cad_name : Path to the file containing the 3D model description.
+  \param cMo_ : The new vpHomogeneousMatrix between the camera and the new model
+  \param verbose : verbose option to print additional information when loading CAO model files which include other
+  CAO model files.
+*/
+void
+vpMbEdgeTracker::reInitModel(const vpImage<unsigned char>& I, const std::string &cad_name,
+                             const vpHomogeneousMatrix& cMo_, const bool verbose)
+{
+  reInitModel(I, cad_name.c_str(), cMo_, verbose);
+}
 
 /*!
   Re-initialize the model used by the tracker.  
@@ -1681,14 +2155,17 @@ vpMbEdgeTracker::resetTracker()
   \param I : The image containing the object to initialize.
   \param cad_name : Path to the file containing the 3D model description.
   \param cMo_ : The new vpHomogeneousMatrix between the camera and the new model
+  \param verbose : verbose option to print additional information when loading CAO model files which include other
+  CAO model files.
 */
 void
 vpMbEdgeTracker::reInitModel(const vpImage<unsigned char>& I, const char* cad_name,
-                             const vpHomogeneousMatrix& cMo_)
+                             const vpHomogeneousMatrix& cMo_, const bool verbose)
 {
   this->cMo.setIdentity();
   vpMbtDistanceLine *l;
   vpMbtDistanceCylinder *cy;
+  vpMbtDistanceCircle *ci;
 
   for (unsigned int i = 0; i < scales.size(); i += 1){
     if(scales[i]){
@@ -1703,21 +2180,29 @@ vpMbEdgeTracker::reInitModel(const vpImage<unsigned char>& I, const char* cad_na
         if (cy!=NULL) delete cy;
         cy = NULL;
       }
+
+      for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[i].begin(); it!=circles[i].end(); ++it){
+        ci = *it;
+        if (ci!=NULL) delete ci;
+        ci = NULL;
+      }
+
       lines[i].clear();
       cylinders[i].clear();
+      circles[i].clear();
     }
   }
 
   faces.reset();
 
-  index_polygon =0;
   //compute_interaction=1;
   nline = 0;
   ncylinder = 0;
+  ncircle = 0;
   //lambda = 1;
   nbvisiblepolygone = 0;
 
-  loadModel(cad_name);
+  loadModel(cad_name, verbose);
   initFromPose(I, cMo_);
 }
 
@@ -1735,7 +2220,7 @@ unsigned int
 vpMbEdgeTracker::getNbPoints(const unsigned int level) const
 {
   if((level > scales.size()) || !scales[level]){
-    throw vpException(vpException::dimensionError, "Level is not used");
+    throw vpException(vpException::dimensionError, "Cannot get the number of points for level %d: level is not used", level);
   }
   
   unsigned int nbGoodPoints = 0;
@@ -1753,7 +2238,7 @@ vpMbEdgeTracker::getNbPoints(const unsigned int level) const
   vpMbtDistanceCylinder *cy ;
   for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders[level].begin(); it!=cylinders[level].end(); ++it){
     cy = *it;
-    if (cy->meline1 != NULL || cy->meline2 != NULL)
+    if (cy->isVisible() && (cy->meline1 != NULL || cy->meline2 != NULL))
     {
       for(std::list<vpMeSite>::const_iterator itme1=cy->meline1->getMeList().begin(); itme1!=cy->meline1->getMeList().end(); ++itme1){
         if (itme1->getState() == vpMeSite::NO_SUPPRESSION) nbGoodPoints++;
@@ -1764,38 +2249,18 @@ vpMbEdgeTracker::getNbPoints(const unsigned int level) const
     }
   }
 
-  return nbGoodPoints;
-}
-
-
-/*!
-  Return the polygon (face) "index".
-  
-  \exception vpException::dimensionError if index does not represent a good 
-  polygon.
-  
-  \param index : Index of the polygon to return.
-  \return Pointer to the polygon index.
-*/
-vpMbtPolygon* 
-vpMbEdgeTracker::getPolygon(const unsigned int index)
-{
-  if(index >= static_cast<unsigned int>(faces.size()) ){
-    throw vpException(vpException::dimensionError, "index out of range");
+  vpMbtDistanceCircle *ci ;
+  for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[level].begin(); it!=circles[level].end(); ++it){
+    ci = *it;
+    if (ci->isVisible() && ci->meEllipse != NULL)
+    {
+      for(std::list<vpMeSite>::const_iterator itme=ci->meEllipse->getMeList().begin(); itme!=ci->meEllipse->getMeList().end(); ++itme){
+        if (itme->getState() == vpMeSite::NO_SUPPRESSION) nbGoodPoints++;
+      }
+    }
   }
-  
-  return faces[index];
-}
 
-/*!
-  Get the number of polygon (face) representing the object to track.
-  
-  \return Number of polygon.
-*/
-unsigned int 
-vpMbEdgeTracker::getNbPolygon() const
-{
-  return static_cast<unsigned int>(faces.size());
+  return nbGoodPoints;
 }
 
 /*!
@@ -1860,8 +2325,7 @@ vpMbEdgeTracker::setFarClippingDistance(const double &dist)
   else if ( dist < 0 ) 
     vpTRACE("Far clipping value cannot be inferior than 0. Far clipping won't be considered.");
   else{  
-    distFarClip = dist; 
-    clippingFlag = (clippingFlag | vpMbtPolygon::FAR_CLIPPING);
+    vpMbTracker::setFarClippingDistance(dist);
     vpMbtDistanceLine *l;
 
     for (unsigned int i = 0; i < scales.size(); i += 1){
@@ -1888,8 +2352,7 @@ vpMbEdgeTracker::setNearClippingDistance(const double &dist)
   else if ( dist < 0 ) 
     vpTRACE("Near clipping value cannot be inferior than 0. Near clipping won't be considered.");
   else{
-    distNearClip = dist; 
-    clippingFlag = (clippingFlag | vpMbtPolygon::NEAR_CLIPPING);
+    vpMbTracker::setNearClippingDistance(dist);
     vpMbtDistanceLine *l;
 
     for (unsigned int i = 0; i < scales.size(); i += 1){
@@ -1913,7 +2376,7 @@ vpMbEdgeTracker::setNearClippingDistance(const double &dist)
 void            
 vpMbEdgeTracker::setClipping(const unsigned int &flags) 
 { 
-  clippingFlag = flags;
+  vpMbTracker::setClipping(flags);
   
   vpMbtDistanceLine *l;
 
@@ -1957,7 +2420,7 @@ vpMbEdgeTracker::initPyramid(const vpImage<unsigned char>& _I, std::vector< cons
     if(scales[i]){
       unsigned int cScale = static_cast<unsigned int>(pow(2., (int)i));
       vpImage<unsigned char>* I = new vpImage<unsigned char>(_I.getHeight() / cScale, _I.getWidth() / cScale);
-#ifdef VISP_HAVE_OPENCV
+#if (defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION < 0x020408))
       IplImage* vpI0 = cvCreateImageHeader(cvSize((int)_I.getWidth(), (int)_I.getHeight()), IPL_DEPTH_8U, 1);
       vpI0->imageData = (char*)(_I.bitmap);
       IplImage* vpI = cvCreateImage(cvSize((int)(_I.getWidth() / cScale), (int)(_I.getHeight() / cScale)), IPL_DEPTH_8U, 1);
@@ -2050,6 +2513,29 @@ vpMbEdgeTracker::getLcylinder(std::list<vpMbtDistanceCylinder *>& cylindersList,
 }
 
 
+/*!
+  Get the list of the circles tracked for the specified level. Each circle
+  contains the list of the vpMeSite.
+
+  \throw vpException::dimensionError if the second parameter does not correspond
+  to an used level.
+
+  \param level : Level corresponding to the list to return.
+  \param circlesList : The list of the circles of the model.
+*/
+void
+vpMbEdgeTracker::getLcircle(std::list<vpMbtDistanceCircle *>& circlesList, const unsigned int level)
+{
+  if(level > scales.size() || !scales[level]){
+    std::ostringstream oss;
+    oss << level;
+    std::string errorMsg = "level " + oss.str() + " is not used, cannot get its distance lines.";
+    throw vpException(vpException::dimensionError, errorMsg);
+  }
+
+  circlesList = circles[level];
+}
+
 /*!
   Modify the camera parameters to have them corresponding to the current scale.
   The new parameters are divided by \f$ 2^{\_scale} \f$. 
@@ -2091,6 +2577,7 @@ vpMbEdgeTracker::upScale(const unsigned int _scale)
   K[0][2] *= ratio;
   K[1][2] *= ratio;
 
+
   cam.initFromCalibrationMatrix(K);
 }
 
@@ -2113,13 +2600,18 @@ vpMbEdgeTracker::reInitLevel(const unsigned int _lvl)
     l->reinitMovingEdge(*Ipyramid[_lvl], cMo);
   }
 
-
   vpMbtDistanceCylinder *cy;
   for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders[scaleLevel].begin(); it!=cylinders[scaleLevel].end(); ++it){
     cy = *it;
     cy->reinitMovingEdge(*Ipyramid[_lvl], cMo);
   }
   
+  vpMbtDistanceCircle *ci;
+  for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[scaleLevel].begin(); it!=circles[scaleLevel].end(); ++it){
+    ci = *it;
+    ci->reinitMovingEdge(*Ipyramid[_lvl], cMo);
+  }
+
   trackMovingEdge(*Ipyramid[_lvl]);
   updateMovingEdge(*Ipyramid[_lvl]);
   scaleLevel = scaleLevel_1;
diff --git a/src/tracking/mbt/edge/vpMbEdgeTracker.h b/src/tracking/mbt/edge/vpMbEdgeTracker.h
index 6935b6df5e8399d2f3448dd2f924c14b8cc273f1..e497e6e4b8012b2249d2835b1a7804ad7b91871d 100644
--- a/src/tracking/mbt/edge/vpMbEdgeTracker.h
+++ b/src/tracking/mbt/edge/vpMbEdgeTracker.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMbEdgeTracker.h 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpMbEdgeTracker.h 5217 2015-01-28 09:40:02Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -54,6 +54,7 @@
 #include <visp/vpMe.h>
 #include <visp/vpMbtMeLine.h>
 #include <visp/vpMbtDistanceLine.h>
+#include <visp/vpMbtDistanceCircle.h>
 #include <visp/vpMbtDistanceCylinder.h>
 #include <visp/vpXmlParser.h>
 
@@ -88,10 +89,6 @@
 #  endif
 #endif
 
-#ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
-#  include <visp/vpList.h>
-#endif
-
 /*!
   \class vpMbEdgeTracker
   \ingroup ModelBasedTracking 
@@ -277,24 +274,25 @@ class VISP_EXPORT vpMbEdgeTracker: virtual public vpMbTracker
     double lambda;
     
     //! The moving edges parameters. 
-    vpMe  me;
+    vpMe me;
     //! Vector of list of all the lines tracked (each line is linked to a list of moving edges). Each element of the vector is for a scale (element 0 = level 0 = no subsampling).
     std::vector< std::list< vpMbtDistanceLine*> > lines;
+
+    //! Vector of the tracked circles.
+    std::vector< std::list< vpMbtDistanceCircle*> > circles;
+
     //! Vector of the tracked cylinders.
     std::vector< std::list< vpMbtDistanceCylinder*> > cylinders;
 
     //! Index of the polygon to add, and total number of polygon extracted so far. 
     unsigned int nline;
 
-    //! Index of the cylinder to add, and total number of polygon extracted so far.
+    //! Index of the circle to add, and total number of circles extracted so far.
+    unsigned int ncircle;
+
+    //! Index of the cylinder to add, and total number of cylinders extracted so far.
     unsigned int ncylinder;
     
-    //! Index of the polygon to add, and total number of polygon extracted so far. Cannot be unsigned because the default index of a polygon is -1.
-    int index_polygon;
-    
-    //! Set of faces describing the object. 
-    vpMbHiddenFaces<vpMbtPolygon> faces;
-    
     //! Number of polygon (face) currently visible. 
     unsigned int nbvisiblepolygone;
     
@@ -309,25 +307,7 @@ class VISP_EXPORT vpMbEdgeTracker: virtual public vpMbTracker
     
     //! Current scale level used. This attribute must not be modified outside of the downScale() and upScale() methods, as it used to specify to some methods which set of distanceLine use. 
     unsigned int scaleLevel;
-    
-    //! Use Ogre3d for visibility tests
-    bool useOgre;
-  
-    //! Angle used to detect a face appearance
-    double angleAppears;
-  
-    //! Angle used to detect a face disappearance
-    double angleDisappears;
-    
-    //! Distance for near clipping
-    double distNearClip;
-    
-    //! Distance for near clipping
-    double distFarClip;
-    
-    //! Flags specifying which clipping to used
-    unsigned int clippingFlag;
-  
+
 public:
   
   vpMbEdgeTracker(); 
@@ -337,34 +317,7 @@ public:
                const vpColor& col , const unsigned int thickness=1, const bool displayFullModel = false);
   void display(const vpImage<vpRGBa>& I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam,
                const vpColor& col , const unsigned int thickness=1, const bool displayFullModel = false);
-  
-  /*! Return the angle used to test polygons appearance. */
-  virtual inline double getAngleAppear() const { return angleAppears; }   
-  
-  /*! Return the angle used to test polygons disappearance. */
-  virtual inline double getAngleDisappear() const { return angleDisappears; } 
-  
-  /*!
-    Get the clipping used.
-    
-    \sa vpMbtPolygonClipping
-    
-    \return Clipping flags.
-  */          
-  virtual inline  unsigned int getClipping() const { return clippingFlag; } 
-  
-  /*! Return a reference to the faces structure. */
-  inline vpMbHiddenFaces<vpMbtPolygon>& getFaces() { return faces; }
-  
-  /*!
-    Get the far distance for clipping.
-    
-    \return Far clipping value.
-  */
-  virtual inline double getFarClippingDistance() const { return distFarClip; }
-  
-  inline double getFirstThreshold() const { return percentageGdPt;}
-  
+
   /*!
     Get the value of the gain used to compute the control law.
     
@@ -373,25 +326,23 @@ public:
   virtual inline double getLambda() const {return lambda;}
   
   void getLline(std::list<vpMbtDistanceLine *>& linesList, const unsigned int level = 0);
+  void getLcircle(std::list<vpMbtDistanceCircle *>& circlesList, const unsigned int level = 0);
   void getLcylinder(std::list<vpMbtDistanceCylinder *>& cylindersList, const unsigned int level = 0);
-  
+
   /*!
     Get the moving edge parameters.
-    
+
     \return an instance of the moving edge parameters used by the tracker.
   */
   inline void getMovingEdge(vpMe &p_me ) const { p_me = this->me;}
-  
   /*!
-    Get the near distance for clipping.
-    
-    \return Near clipping value.
+    Get the moving edge parameters.
+
+    \return an instance of the moving edge parameters used by the tracker.
   */
-  virtual inline double getNearClippingDistance() const { return distNearClip; }
-  
+  inline vpMe getMovingEdge() const { return this->me;}
+
   unsigned int getNbPoints(const unsigned int level=0) const;
-  unsigned int getNbPolygon() const ;
-  vpMbtPolygon* getPolygon(const unsigned int index);
   
   /*!
     Return the scales levels used for the tracking. 
@@ -399,42 +350,23 @@ public:
     \return The scales levels used for the tracking. 
   */
   std::vector<bool> getScales() const {return scales;}
-  
-  void loadConfigFile(const std::string &configFile);
-  void loadConfigFile(const char* configFile);
-  void loadModel(const std::string &cad_name);
-  void loadModel(const char* cad_name);  
-  
-  void reInitModel(const vpImage<unsigned char>& I, const char* cad_name, const vpHomogeneousMatrix& cMo);
-  void resetTracker();
-  
-  /*!
-    Set the angle used to test polygons appearance.
-    If the angle between the normal of the polygon and the line going
-    from the camera to the polygon center has a value lower than
-    this parameter, the polygon is considered as appearing.
-    The polygon will then be tracked.
-
-    \warning This angle will only be used when setOgreVisibilityTest(true)
-    is called.
-
-    \param a : new angle in radian.
-  */
-  virtual inline  void setAngleAppear(const double &a) { angleAppears = a; }   
-  
   /*!
-    Set the angle used to test polygons disappearance.
-    If the angle between the normal of the polygon and the line going
-    from the camera to the polygon center has a value greater than
-    this parameter, the polygon is considered as disappearing.
-    The tracking of the polygon will then be stopped.
+     \return The threshold value between 0 and 1 over good moving edges ratio. It allows to
+     decide if the tracker has enough valid moving edges to compute a pose. 1 means that all
+     moving edges should be considered as good to have a valid pose, while 0.1 means that
+     10% of the moving edge are enough to declare a pose valid.
 
-    \warning This angle will only be used when setOgreVisibilityTest(true)
-    is called.
+     \sa setGoodMovingEdgesRatioThreshold()
+   */
+  inline double getGoodMovingEdgesRatioThreshold() const { return percentageGdPt;}
 
-    \param a : new angle in radian.
-  */
-  virtual inline void setAngleDisappear(const double &a) { angleDisappears = a; }
+  void loadConfigFile(const std::string &configFile);
+  void loadConfigFile(const char* configFile);
+  void reInitModel(const vpImage<unsigned char>& I, const std::string &cad_name, const vpHomogeneousMatrix& cMo_,
+		  const bool verbose=false);
+  void reInitModel(const vpImage<unsigned char>& I, const char* cad_name, const vpHomogeneousMatrix& cMo,
+		  const bool verbose=false);
+  void resetTracker();
   
   /*!
     Set the camera parameters.
@@ -453,37 +385,48 @@ public:
         for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders[i].begin(); it!=cylinders[i].end(); ++it){
           (*it)->setCameraParameters(cam);
         }
+
+        for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[i].begin(); it!=circles[i].end(); ++it){
+          (*it)->setCameraParameters(cam);
+        }
       }
     }
   }
-  
-  virtual void  setClipping(const unsigned int &flags);
-  
-  /*!
-    Enable to display the points along the line with a color corresponding to their state.
-    
-    - If green : The vpMeSite is a good point.
-    - If blue : The point is removed because of the vpMeSite tracking phase (contrast problem).
-    - If purple : The point is removed because of the vpMeSite tracking phase (threshold problem).
-    - If red : The point is removed because of the robust method in the virtual visual servoing.
-    
-    \param displayMe : set it to true to display the points.
-  */
-  void setDisplayMovingEdges(const bool displayMe) {displayFeatures = displayMe;}
-  
+
+  virtual void setClipping(const unsigned int &flags);
+
   virtual void setFarClippingDistance(const double &dist);
-  
+
+  virtual void setNearClippingDistance(const double &dist);
+
   /*!
-    Set the first threshold used to check if the tracking failed. It corresponds to the percentage of good point which is necessary.
-    
-    The condition which has to be be satisfied is the following : \f$ nbGoodPoint > threshold1 \times (nbGoodPoint + nbBadPoint)\f$.
-    
-    The threshold is ideally between 0 and 1.
-    
-    \param threshold1 : The new value of the threshold. 
+    Use Ogre3D for visibility tests
+
+    \warning This function has to be called before the initialization of the tracker.
+
+    \param v : True to use it, False otherwise
   */
-  void setFirstThreshold(const double  threshold1) {percentageGdPt = threshold1;}
-  
+  virtual void setOgreVisibilityTest(const bool &v){
+      vpMbTracker::setOgreVisibilityTest(v);
+#ifdef VISP_HAVE_OGRE
+      faces.getOgreContext()->setWindowName("MBT Edge");
+#endif
+  }
+
+  /*!
+     Set the threshold value between 0 and 1 over good moving edges ratio. It allows to
+     decide if the tracker has enough valid moving edges to compute a pose. 1 means that all
+     moving edges should be considered as good to have a valid pose, while 0.1 means that
+     10% of the moving edge are enough to declare a pose valid.
+
+     \param threshold : Value between 0 and 1 that corresponds to the ratio of good
+     moving edges that is necessary to consider that the estimated pose is valid.
+     Default value is 0.4.
+
+     \sa getGoodMovingEdgesRatioThreshold()
+   */
+  void setGoodMovingEdgesRatioThreshold(const double  threshold) {percentageGdPt = threshold;}
+
   /*!
     Set the value of the gain used to compute the control law.
     
@@ -492,11 +435,7 @@ public:
   virtual inline void setLambda(const double gain) {this->lambda = gain;}
   
   void setMovingEdge(const vpMe &me);
-  
-  virtual void setNearClippingDistance(const double &dist);
-  
-  virtual void setOgreVisibilityTest(const bool &v);
-  
+
   virtual void setPose(const vpImage<unsigned char> &I, const vpHomogeneousMatrix& cdMo);
   
   void setScales(const std::vector<bool>& _scales);
@@ -504,19 +443,26 @@ public:
   void track(const vpImage<unsigned char> &I);
 
 protected:
-  void addCylinder(const vpPoint &P1, const vpPoint &P2, const double r, const std::string& name = "");
-  void addLine(vpPoint &p1, vpPoint &p2, int polygone = -1, std::string name = "");
+  bool samePoint(const vpPoint &P1, const vpPoint &P2);
+  void addCircle(const vpPoint &P1, const vpPoint &P2, const vpPoint &P3, const double r, int idFace = -1, const std::string& name = "");
+  void addCylinder(const vpPoint &P1, const vpPoint &P2, const double r, int idFace = -1, const std::string& name = "");
+  void addLine(vpPoint &p1, vpPoint &p2, int polygon = -1, std::string name = "");
   void addPolygon(vpMbtPolygon &p) ;
   void cleanPyramid(std::vector<const vpImage<unsigned char>* >& _pyramid);
   void computeVVS(const vpImage<unsigned char>& _I);
   void downScale(const unsigned int _scale);
   void init(const vpImage<unsigned char>& I);
-  virtual void initCylinder(const vpPoint& p1, const vpPoint &p2, const double radius, const unsigned int indexCylinder=0);
-  virtual void initFaceFromCorners(const std::vector<vpPoint>& _corners, const unsigned int _indexFace = -1);
+  virtual void initCircle(const vpPoint& p1, const vpPoint &p2, const vpPoint &p3, const double radius,
+                          const int idFace=0, const std::string &name="");
+  virtual void initCylinder(const vpPoint& p1, const vpPoint &p2, const double radius, const int idFace=0,
+                            const std::string &name="");
+  virtual void initFaceFromCorners(vpMbtPolygon &polygon);
+  virtual void initFaceFromLines(vpMbtPolygon &polygon);
   void initMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &_cMo) ;
   void initPyramid(const vpImage<unsigned char>& _I, std::vector<const vpImage<unsigned char>* >& _pyramid);
   void reInitLevel(const unsigned int _lvl);
   void reinitMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &_cMo);
+  void removeCircle(const std::string& name);
   void removeCylinder(const std::string& name);
   void removeLine(const std::string& name);
   void testTracking();
@@ -530,7 +476,42 @@ protected:
     @name Deprecated functions
   */
   vp_deprecated void visibleFace(const vpHomogeneousMatrix &_cMo, bool &newvisibleline);
-#endif
+
+public:
+  /*!
+    \deprecated Since this function name is not explicit, use rather getGoodMovingEdgesRatioThreshold()
+    that does the same.
+
+    \return The threshold value between 0 and 1 that allows to decide if the tracker
+    has enough valid moving edges to compute a pose.
+   */
+  vp_deprecated inline double getFirstThreshold() const { return percentageGdPt;}
+  /*!
+    \deprecated Use vpMbTracker::setDisplayFeatures() instead.
+    Enable to display the points along the line with a color corresponding to their state.
+
+    - If green : The vpMeSite is a good point.
+    - If blue : The point is removed because of the vpMeSite tracking phase (contrast problem).
+    - If purple : The point is removed because of the vpMeSite tracking phase (threshold problem).
+    - If red : The point is removed because of the robust method in the virtual visual servoing.
+
+    \param displayMe : set it to true to display the points.
+  */
+  vp_deprecated void setDisplayMovingEdges(const bool displayMe) {displayFeatures = displayMe;}
+  /*!
+    \deprecated Since this function name is not explicit, use rather setGoodMovingEdgesRatioThreshold()
+    that does the same.
+    Set the first threshold used to check if the tracking failed. It corresponds to the percentage
+    of good point which is necessary.
+
+    The condition which has to be be satisfied is the following : \f$ nbGoodPoint > threshold1 \times (nbGoodPoint + nbBadPoint)\f$.
+
+    The threshold is ideally between 0 and 1.
+
+    \param threshold1 : The new value of the threshold.
+  */
+  vp_deprecated void setFirstThreshold(const double  threshold1) {percentageGdPt = threshold1;}
+  #endif
 };
 
 #endif
diff --git a/src/tracking/mbt/edge/vpMbtDistanceCircle.cpp b/src/tracking/mbt/edge/vpMbtDistanceCircle.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..60fd7ed9729663369310e61ee49d43c8a611799c
--- /dev/null
+++ b/src/tracking/mbt/edge/vpMbtDistanceCircle.cpp
@@ -0,0 +1,430 @@
+/****************************************************************************
+ *
+ * $Id: vpMbtDistanceCircle.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ *
+ * This file is part of the ViSP software.
+ * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+ *
+ * This software is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * ("GPL") version 2 as published by the Free Software Foundation.
+ * See the file LICENSE.txt at the root directory of this source
+ * distribution for additional information about the GNU GPL.
+ *
+ * For using ViSP with software that can not be combined with the GNU
+ * GPL, please contact INRIA about acquiring a ViSP Professional
+ * Edition License.
+ *
+ * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+ *
+ * This software was developed at:
+ * INRIA Rennes - Bretagne Atlantique
+ * Campus Universitaire de Beaulieu
+ * 35042 Rennes Cedex
+ * France
+ * http://www.irisa.fr/lagadic
+ *
+ * If you have questions regarding the use of this file, please contact
+ * INRIA at visp@inria.fr
+ *
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Description:
+ * Make the complete tracking of an object by using its CAD model. Circle
+ * tracking.
+ *
+ * Authors:
+ * Fabien Spindler
+ *
+ *****************************************************************************/
+
+#include <visp/vpConfig.h>
+
+/*!
+ \file vpMbtDistanceCircle.cpp
+ \brief Make the complete tracking of an object by using its CAD model.
+*/
+
+#include <stdlib.h>
+#include <algorithm>
+
+#include <visp/vpMbtDistanceCircle.h>
+#include <visp/vpPlane.h>
+#include <visp/vpMeterPixelConversion.h>
+#include <visp/vpPixelMeterConversion.h>
+#include <visp/vpFeatureBuilder.h>
+#include <visp/vpFeatureEllipse.h>
+#include <visp/vpPose.h>
+
+/*!
+  Basic constructor
+*/
+vpMbtDistanceCircle::vpMbtDistanceCircle()
+  : name(), index(0), cam(), me(NULL), wmean(1),
+    featureEllipse(), meEllipse(NULL),
+    circle(NULL), radius(0.), p1(NULL), p2(NULL), p3(NULL),
+    L(), error(), nbFeature(0), Reinit(false),
+    hiddenface(NULL), index_polygon(-1), isvisible(false)
+{
+}
+
+/*!
+  Basic destructor useful to deallocate the memory.
+*/
+vpMbtDistanceCircle::~vpMbtDistanceCircle()
+{
+  if (meEllipse != NULL) delete meEllipse;
+  if (circle != NULL) delete circle;
+  if (p1 != NULL) delete p1;
+  if (p2 != NULL) delete p2;
+  if (p3 != NULL) delete p3;
+}
+
+/*!
+  Project the circle into the image.
+  
+  \param cMo : The pose of the camera used to project the circle into the image.
+*/
+void
+vpMbtDistanceCircle::project(const vpHomogeneousMatrix &cMo)
+{
+  circle->project(cMo) ;
+}
+
+
+/*!
+  Build a vpMbtDistanceCircle thanks to its center, 3 points (including the center) with
+  coordinates expressed in the object frame and defining the plane that contain
+  the circle and its radius.
+
+  \param _p1 : Center of the circle.
+  \param _p2,_p3 : Two points on the plane containing the circle. With the center of the circle we have 3 points
+  defining the plane that contains the circle.
+  \param r : Radius of the circle.
+*/
+void
+vpMbtDistanceCircle::buildFrom(const vpPoint &_p1, const vpPoint &_p2, const vpPoint &_p3, const double r)
+{
+  circle = new vpCircle ;
+  p1 = new vpPoint ;
+  p2 = new vpPoint ;
+  p3 = new vpPoint ;
+
+  // Get the points
+  *p1 = _p1;
+  *p2 = _p2;
+  *p3 = _p3;
+
+  // Get the radius
+  radius = r;
+
+  vpPlane plane(*p1, *p2, *p3, vpPlane::object_frame);
+
+  // Build our circle
+  circle->setWorldCoordinates(plane.getA(), plane.getB(), plane.getC(), _p1.get_oX(), _p1.get_oY(), _p1.get_oZ(), r);
+}
+
+
+/*! 
+  Set the moving edge parameters.
+  
+  \param _me : an instance of vpMe containing all the desired parameters
+*/
+void
+vpMbtDistanceCircle::setMovingEdge(vpMe *_me)
+{
+  me = _me ;
+  if (meEllipse != NULL)
+  {
+    meEllipse->setMe(me) ;
+  }
+}
+
+/*!
+  Initialize the moving edge thanks to a given pose of the camera.
+  The 3D model is projected into the image to create moving edges along the circle.
+  
+  \param I : The image.
+  \param cMo : The pose of the camera used to initialize the moving edges.
+  \return false if an error occur, true otherwise.
+*/
+bool
+vpMbtDistanceCircle::initMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo)
+{
+  if(isvisible){
+    // Perspective projection
+    circle->changeFrame(cMo);
+
+    try{
+      circle->projection();
+    }
+    catch(...){
+      std::cout<<"Problem when projecting circle\n";
+      return false;
+    }
+
+    // Create the moving edges containers
+    meEllipse = new vpMbtMeEllipse;
+    meEllipse->setMe(me) ;
+
+    //meEllipse->setDisplay(vpMeSite::RANGE_RESULT) ; // TODO only for debug
+    meEllipse->setInitRange(me->getRange()); // TODO: check because set to zero for lines
+
+    try
+    {
+      vpImagePoint ic;
+      double mu20_p, mu11_p, mu02_p;
+      vpMeterPixelConversion::convertEllipse(cam, *circle, ic, mu20_p, mu11_p, mu02_p);
+      meEllipse->initTracking(I, ic, mu20_p, mu11_p, mu02_p);
+    }
+    catch(...)
+    {
+      //vpTRACE("the circle can't be initialized");
+      return false;
+    }
+  }
+  return true;
+}
+
+/*!
+  Track the moving edges in the image.
+  
+  \param I : the image.
+  \param cMo : The pose of the camera.
+*/
+void
+vpMbtDistanceCircle::trackMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix & /*cMo*/)
+{
+  if(isvisible){
+    try
+    {
+      meEllipse->track(I) ;
+    }
+    catch(...)
+    {
+      //std::cout << "Track meEllipse failed" << std::endl;
+      meEllipse->reset();
+      Reinit = true;
+    }
+
+    // Update the number of features
+    nbFeature = (unsigned int)meEllipse->getMeList().size();
+  }
+}
+
+
+/*!
+  Update the moving edges internal parameters.
+
+  \warning : Not implemented.
+  
+  \param I : the image.
+  \param cMo : The pose of the camera.
+*/
+void
+vpMbtDistanceCircle::updateMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo)
+{
+  if(isvisible){
+    // Perspective projection
+    circle->changeFrame(cMo);
+
+    try{
+      circle->projection();
+    }
+    catch(...){std::cout<<"Problem when projecting circle\n";}
+
+    try
+    {
+
+      vpImagePoint ic;
+      double mu20_p, mu11_p, mu02_p;
+      vpMeterPixelConversion::convertEllipse(cam, *circle, ic, mu20_p, mu11_p, mu02_p);
+      meEllipse->updateParameters(I, ic, mu20_p, mu11_p, mu02_p);
+    }
+    catch(...)
+    {
+      Reinit = true;
+    }
+    nbFeature = (unsigned int)meEllipse->getMeList().size();
+  }
+}
+
+
+/*!
+  Reinitialize the circle if it is required.
+  
+  A circle is reinitialized if the ellipse do not match enough with the projected 3D circle.
+  
+  \param I : the image.
+  \param cMo : The pose of the camera.
+*/
+void
+vpMbtDistanceCircle::reinitMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo)
+{
+  if(meEllipse!= NULL)
+    delete meEllipse;
+  
+  meEllipse = NULL;
+
+  if(initMovingEdge(I,cMo) == false)
+    Reinit = true;
+
+  Reinit = false;
+}
+
+
+/*!
+  Display the circle. The 3D circle is projected into the image as an ellipse.
+
+  \param I : The image.
+  \param cMo : Pose used to project the 3D model into the image.
+  \param camera : The camera parameters.
+  \param col : The desired color.
+  \param thickness : The thickness of the lines.
+  \param displayFullModel : When true, display the circle even if non visible.
+  If false, display the circle only if visible.
+*/
+void
+vpMbtDistanceCircle::display(const vpImage<unsigned char>&I, const vpHomogeneousMatrix &cMo,
+                             const vpCameraParameters &camera, const vpColor col, const unsigned int thickness,
+                             const bool displayFullModel )
+{
+  if(isvisible || displayFullModel){
+    // Perspective projection
+    circle->changeFrame(cMo);
+
+    try{
+      circle->projection();
+    }
+    catch(...){std::cout<<"Cannot project the circle";}
+
+    vpImagePoint center;
+    double mu20_p, mu11_p, mu02_p;
+    vpMeterPixelConversion::convertEllipse(camera, *circle, center, mu20_p, mu11_p, mu02_p);
+    vpDisplay::displayEllipse(I, center, mu20_p, mu11_p, mu02_p, true, col, thickness);
+  }
+}
+
+/*!
+  Display the cylinder. The 3D cylinder is projected into the image.
+
+  \param I : The image.
+  \param cMo : Pose used to project the 3D model into the image.
+  \param camera : The camera parameters.
+  \param col : The desired color.
+  \param thickness : The thickness of the lines.
+  \param displayFullModel : When true, display the circle even if non visible.
+  If false, display the circle only if visible.
+*/
+void
+vpMbtDistanceCircle::display(const vpImage<vpRGBa> &I, const vpHomogeneousMatrix &cMo,
+                             const vpCameraParameters &camera, const vpColor col,
+                             const unsigned int thickness, const bool displayFullModel)
+{
+  if(isvisible || displayFullModel){
+    // Perspective projection
+    circle->changeFrame(cMo);
+
+    try{
+      circle->projection();
+    }
+    catch(...){std::cout<<"Cannot project the circle";}
+
+    vpImagePoint center;
+    double mu20_p, mu11_p, mu02_p;
+    vpMeterPixelConversion::convertEllipse(camera, *circle, center, mu20_p, mu11_p, mu02_p);
+    vpDisplay::displayEllipse(I, center, mu20_p, mu11_p, mu02_p, true, col, thickness);
+  }
+}
+
+
+/*!
+    Enable to display the points along the ellipse with a color corresponding to their state.
+    
+    - If green : The vpMeSite is a good point.
+    - If blue : The point is removed because of the vpMeSite tracking phase (constrast problem).
+    - If purple : The point is removed because of the vpMeSite tracking phase (threshold problem).
+    - If blue : The point is removed because of the robust method in the virtual visual servoing.
+    
+    \param I : The image.
+*/
+void
+vpMbtDistanceCircle::displayMovingEdges(const vpImage<unsigned char> &I)
+{
+  if (meEllipse != NULL)
+  {
+    meEllipse->display(I); // display the me
+    if (vpDEBUG_ENABLE(3))
+      vpDisplay::flush(I);
+  }
+}
+
+/*!
+  Initialize the size of the interaction matrix and the error vector.
+*/
+void
+vpMbtDistanceCircle::initInteractionMatrixError()
+{
+  if (isvisible == true)
+  {
+    nbFeature = (unsigned int)meEllipse->getMeList().size();
+    L.resize(nbFeature, 6);
+    error.resize(nbFeature);
+  }
+  else
+    nbFeature = 0 ;
+}
+
+/*!
+  Compute the interaction matrix and the error vector corresponding to the point to ellipse algebraic distance.
+*/
+void
+vpMbtDistanceCircle::computeInteractionMatrixError(const vpHomogeneousMatrix &cMo)
+{
+  if (isvisible)
+  {
+    // Perspective projection
+    circle->changeFrame(cMo) ;
+    try{
+      circle->projection();
+    }
+    catch(...){std::cout<<"Problem projection circle\n";}
+
+    vpFeatureBuilder::create(featureEllipse, *circle);
+
+    vpMatrix H1 = featureEllipse.interaction();
+
+    vpRowVector H(5);
+    double x=0, y=0;
+
+    // Get the parameters of the ellipse in the image plane
+    double xg = circle->p[0];
+    double yg = circle->p[1];
+    double mu20 = circle->p[2];
+    double mu11 = circle->p[3];
+    double mu02 = circle->p[4];
+
+    unsigned int j = 0;
+
+    for(std::list<vpMeSite>::const_iterator it=meEllipse->getMeList().begin(); it!=meEllipse->getMeList().end(); ++it){
+      vpPixelMeterConversion::convertPoint(cam, it->j, it->i, x, y);
+      H[0] = 2*(mu11*(y-yg)+mu02*(xg-x));
+      H[1] = 2*(mu20*(yg-y)+mu11*(x-xg));
+      H[2] = vpMath::sqr(y-yg)-mu02;
+      H[3] = 2*(yg*(x-xg)+y*xg+mu11-x*y);
+      H[4] = vpMath::sqr(x-xg)-mu20;
+
+      for (unsigned int k=0; k<6; k++)
+        L[j][k] = H[0]*H1[0][k] + H[1]*H1[1][k] + H[2]*H1[2][k] + H[3]*H1[3][k]  + H[4]*H1[4][k];
+
+      error[j] = mu02*vpMath::sqr(x) + mu20*vpMath::sqr(y) - 2*mu11*x*y
+          + 2*(mu11*yg-mu02*xg)*x + 2*(mu11*xg-mu20*yg)*y
+          + mu02*vpMath::sqr(xg) + mu20*vpMath::sqr(yg) - 2*mu11*xg*yg
+          + vpMath::sqr(mu11) - mu20*mu02;
+
+      j++;
+    }
+  }
+}
+
diff --git a/src/tracking/mbt/edge/vpMbtDistanceCircle.h b/src/tracking/mbt/edge/vpMbtDistanceCircle.h
new file mode 100644
index 0000000000000000000000000000000000000000..07aa075e9200d008d104a7324503901c2e8365e9
--- /dev/null
+++ b/src/tracking/mbt/edge/vpMbtDistanceCircle.h
@@ -0,0 +1,222 @@
+/****************************************************************************
+ *
+ * $Id: vpMbtDistanceCircle.h 4649 2014-02-07 14:57:11Z fspindle $
+ *
+ * This file is part of the ViSP software.
+ * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+ *
+ * This software is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * ("GPL") version 2 as published by the Free Software Foundation.
+ * See the file LICENSE.txt at the root directory of this source
+ * distribution for additional information about the GNU GPL.
+ *
+ * For using ViSP with software that can not be combined with the GNU
+ * GPL, please contact INRIA about acquiring a ViSP Professional
+ * Edition License.
+ *
+ * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+ *
+ * This software was developed at:
+ * INRIA Rennes - Bretagne Atlantique
+ * Campus Universitaire de Beaulieu
+ * 35042 Rennes Cedex
+ * France
+ * http://www.irisa.fr/lagadic
+ *
+ * If you have questions regarding the use of this file, please contact
+ * INRIA at visp@inria.fr
+ *
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Description:
+ * Manage a circle used in the model-based tracker.
+ *
+ * Authors:
+ * Fabien Spindler
+ *
+ *****************************************************************************/
+
+/*!
+ \file vpMbtDistanceCircle.h
+ \brief Manage a circle used in the model-based tracker.
+*/
+
+#ifndef vpMbtDistanceCircle_HH
+#define vpMbtDistanceCircle_HH
+
+#include <visp/vpPoint.h>
+#include <visp/vpMbtMeEllipse.h>
+#include <visp/vpHomogeneousMatrix.h>
+#include <visp/vpFeatureEllipse.h>
+#include <visp/vpCircle.h>
+#include <visp/vpMbHiddenFaces.h>
+
+/*!
+  \class vpMbtDistanceCircle
+  
+  \brief Manage a circle used in the model-based tracker.
+
+  \ingroup ModelBasedTracking
+*/
+class VISP_EXPORT vpMbtDistanceCircle
+{
+  private :
+    std::string name;
+    unsigned int index;
+    vpCameraParameters cam;
+    vpMe *me;
+    //double alpha;
+    double wmean;
+    vpFeatureEllipse featureEllipse ;
+    //! Polygon describing the circle bbox
+//    vpMbtPolygon poly;
+    
+  public: 
+    //! The moving edge containers
+    vpMbtMeEllipse *meEllipse;
+
+    //! The circle to track
+    vpCircle *circle;
+
+    //! The radius of the circle
+    double radius;
+
+    //! The center of the circle
+    vpPoint *p1;
+    //! A point on the plane containing the circle
+    vpPoint *p2;
+    //! An other point on the plane containing the circle
+    vpPoint *p3;
+
+    //! The interaction matrix
+    vpMatrix L;
+    //! The error vector
+    vpColVector error;
+    //! The number of moving edges
+    unsigned int nbFeature;
+    //! Indicates if the circle has to be reinitialized
+    bool Reinit;
+    //! Pointer to the list of faces
+    vpMbHiddenFaces<vpMbtPolygon> *hiddenface;
+    //! Index of the faces which contain the line
+    int index_polygon;
+    //! Indicates if the circle is visible or not
+    bool isvisible;
+    
+  public:
+    vpMbtDistanceCircle() ;
+    ~vpMbtDistanceCircle() ;
+
+    void buildFrom(const vpPoint &_p1, const vpPoint &_p2, const vpPoint &_p3, const double r);
+    
+    void computeInteractionMatrixError(const vpHomogeneousMatrix &cMo);
+    
+    void display(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, const vpColor col, const unsigned int thickness = 1, const bool displayFullModel = false);
+    void display(const vpImage<vpRGBa> &I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, const vpColor col, const unsigned int thickness = 1, const bool displayFullModel = false);
+    void displayMovingEdges(const vpImage<unsigned char> &I);
+    
+    /*!
+     Get the camera paramters.
+   
+     \param camera : The vpCameraParameters used to store the camera parameters.
+    */
+    inline void getCameraParameters(vpCameraParameters& camera) {camera = this->cam;}
+    
+    /*!
+      Get the index of the circle.
+      
+      \return Return the index of the line.
+    */
+    inline unsigned int getIndex() {return index ;}
+    
+    /*!
+     Get the mean weight of the circle. The mean weight is computed thanks to the weight of each moving edge.
+     Those weights are computed by the robust estimation method used during the virtual visual servoing.
+   
+     \return The mean weight of the circle.
+    */
+    inline double getMeanWeight() const {return wmean;}
+        
+    /*!
+      Get the name of the circle.
+      
+      \return Return the name of the circle.
+    */
+    inline std::string getName() const {return name;}
+
+    /*!
+     Get the polygon associated to the circle.
+
+     \return poly.
+    */
+//    inline vpMbtPolygon& getPolygon() {return poly;}
+    
+    void initInteractionMatrixError();
+    
+    bool initMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo);
+
+    /*!
+      Check if the circle is visible in the image or not.
+
+      \return Return true if the circle is visible
+    */
+    inline bool isVisible() const {return isvisible; }
+
+    void reinitMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo);
+    
+    /*!
+     Set the camera paramters.
+     \param camera : The camera parameters.
+    */
+    inline void setCameraParameters(const vpCameraParameters& camera) {this->cam = camera;}
+    
+    /*!
+      Set the index of the circle.
+      
+      \param i : The index number
+    */
+    inline void setIndex(const unsigned int i) {index = i;}
+
+    /*!
+     Set the mean weight of the circle.
+
+     \param _wmean : The mean weight of the circle.
+    */
+    inline void setMeanWeight(const double _wmean) {this->wmean = _wmean;}
+    
+    void setMovingEdge(vpMe *Me);
+    
+    /*!
+      Set the name of the circle.
+      
+      \param circle_name : The name of the circle.
+    */
+    inline void setName(const std::string& circle_name) {this->name = circle_name;}
+    
+    /*!
+      Set the name of the circle.
+      
+      \param circle_name : The name of the circle.
+    */
+    inline void setName(const char* circle_name) {this->name = std::string(circle_name);}
+
+    /*!
+      Set a boolean parameter to indicates if the circle is visible in the image or not.
+
+      \param _isvisible : Set to true if the circle is visible
+    */
+    inline void setVisible(bool _isvisible) {isvisible = _isvisible ;}
+
+
+    void trackMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo);
+    
+    void updateMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo);
+
+  private:
+    void project(const vpHomogeneousMatrix &cMo);
+} ;
+
+#endif
+
diff --git a/src/tracking/mbt/edge/vpMbtDistanceCylinder.cpp b/src/tracking/mbt/edge/vpMbtDistanceCylinder.cpp
index ec401b7ee98b91fe2ee7b0938e1970bbe6bd9626..f664e31b773c3a512d344ae33c7037a920abb532 100755
--- a/src/tracking/mbt/edge/vpMbtDistanceCylinder.cpp
+++ b/src/tracking/mbt/edge/vpMbtDistanceCylinder.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMbtDistanceCylinder.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpMbtDistanceCylinder.cpp 4914 2014-10-02 13:25:47Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -68,7 +68,7 @@ vpMbtDistanceCylinder::vpMbtDistanceCylinder()
     featureline1(), featureline2(), meline1(NULL), meline2(NULL),
     cercle1(NULL), cercle2(NULL), radius(0), p1(NULL), p2(NULL), L(),
     error(), nbFeature(0), nbFeaturel1(0), nbFeaturel2(0), Reinit(false),
-    c(NULL)
+    c(NULL), hiddenface(NULL), index_polygon(-1), isvisible(false)
 {
 }
 
@@ -228,97 +228,109 @@ vpMbtDistanceCylinder::getCylinderLineExtremity(double &i, double &j,double rho,
   
   \param I : The image.
   \param cMo : The pose of the camera used to initialize the moving edges.
+  \return false if an error occur, true otherwise.
 */
-void
+bool
 vpMbtDistanceCylinder::initMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo)
 {
-	// Perspective projection
-	p1->changeFrame(cMo);
-  p2->changeFrame(cMo);
-  cercle1->changeFrame(cMo);
-  cercle2->changeFrame(cMo);
-  c->changeFrame(cMo);
-
-  p1->projection();
-  p2->projection();
-  try{
-  	cercle1->projection();
-  }
-  catch(...){std::cout<<"Problem when projecting circle 1\n";}
-  try{
-  	cercle2->projection();
-  }
-  catch(...){std::cout<<"Problem when projecting circle 2\n";}
-  c->projection();
+  if(isvisible){
+    // Perspective projection
+    p1->changeFrame(cMo);
+    p2->changeFrame(cMo);
+    cercle1->changeFrame(cMo);
+    cercle2->changeFrame(cMo);
+    c->changeFrame(cMo);
+
+    p1->projection();
+    p2->projection();
+    try{
+      cercle1->projection();
+    }
+    catch(...){
+      //std::cout<<"Problem when projecting circle 1\n";
+      return false;
+    }
+    try{
+      cercle2->projection();
+    }
+    catch(...){
+      //std::cout<<"Problem when projecting circle 2\n";
+      return false;
+    }
+    c->projection();
 
-  double rho1,theta1;
-  double rho2,theta2;
+    double rho1,theta1;
+    double rho2,theta2;
 
-// Create the moving edges containers
-  meline1 = new vpMbtMeLine ;
-  meline1->setMe(me) ;
-  meline2 = new vpMbtMeLine ;
-  meline2->setMe(me) ;
+    // Create the moving edges containers
+    meline1 = new vpMbtMeLine ;
+    meline1->setMe(me) ;
+    meline2 = new vpMbtMeLine ;
+    meline2->setMe(me) ;
 
-//    meline->setDisplay(vpMeSite::RANGE_RESULT) ;
-  meline1->setInitRange(0);
-  meline2->setInitRange(0);
+    //    meline->setDisplay(vpMeSite::RANGE_RESULT) ;
+    meline1->setInitRange(0);
+    meline2->setInitRange(0);
 
-  // Conversion meter to pixels
-  vpMeterPixelConversion::convertLine(cam,c->getRho1(),c->getTheta1(),rho1,theta1);
-  vpMeterPixelConversion::convertLine(cam,c->getRho2(),c->getTheta2(),rho2,theta2);
+    // Conversion meter to pixels
+    vpMeterPixelConversion::convertLine(cam,c->getRho1(),c->getTheta1(),rho1,theta1);
+    vpMeterPixelConversion::convertLine(cam,c->getRho2(),c->getTheta2(),rho2,theta2);
 
-	// Determine intersections between circles and limbos
-	double i11,i12,i21,i22,j11,j12,j21,j22;
-	getCylinderLineExtremity(i11, j11, rho1, theta1, cercle1);
-  getCylinderLineExtremity(i12, j12, rho1, theta1, cercle2);
-	getCylinderLineExtremity(i21, j21, rho2, theta2, cercle1);
-  getCylinderLineExtremity(i22, j22, rho2, theta2, cercle2);
+    // Determine intersections between circles and limbos
+    double i11,i12,i21,i22,j11,j12,j21,j22;
+    getCylinderLineExtremity(i11, j11, rho1, theta1, cercle1);
+    getCylinderLineExtremity(i12, j12, rho1, theta1, cercle2);
+    getCylinderLineExtremity(i21, j21, rho2, theta2, cercle1);
+    getCylinderLineExtremity(i22, j22, rho2, theta2, cercle2);
 
     // Create the image points
-	vpImagePoint ip11,ip12,ip21,ip22;
-	ip11.set_ij(i11,j11);
-	ip12.set_ij(i12,j12);
-	ip21.set_ij(i21,j21);
-	ip22.set_ij(i22,j22);
-
-  // update limits of the melines.
-  int marge = /*10*/5; //ou 5 normalement
-  if (ip11.get_j()<ip12.get_j()) { meline1->jmin = (int)ip11.get_j()-marge ; meline1->jmax = (int)ip12.get_j()+marge ; } else{ meline1->jmin = (int)ip12.get_j()-marge ; meline1->jmax = (int)ip11.get_j()+marge ; }
-  if (ip11.get_i()<ip12.get_i()) { meline1->imin = (int)ip11.get_i()-marge ; meline1->imax = (int)ip12.get_i()+marge ; } else{ meline1->imin = (int)ip12.get_i()-marge ; meline1->imax = (int)ip11.get_i()+marge ; }
-
-  if (ip21.get_j()<ip22.get_j()) { meline2->jmin = (int)ip21.get_j()-marge ; meline2->jmax = (int)ip22.get_j()+marge ; } else{ meline2->jmin = (int)ip22.get_j()-marge ; meline2->jmax = (int)ip21.get_j()+marge ; }
-  if (ip21.get_i()<ip22.get_i()) { meline2->imin = (int)ip21.get_i()-marge ; meline2->imax = (int)ip22.get_i()+marge ; } else{ meline2->imin = (int)ip22.get_i()-marge ; meline2->imax = (int)ip21.get_i()+marge ; }
-  
-	// Initialize the tracking
-  while (theta1 > M_PI) { theta1 -= M_PI ; }
-  while (theta1 < -M_PI) { theta1 += M_PI ; }
+    vpImagePoint ip11,ip12,ip21,ip22;
+    ip11.set_ij(i11,j11);
+    ip12.set_ij(i12,j12);
+    ip21.set_ij(i21,j21);
+    ip22.set_ij(i22,j22);
 
-  if (theta1 < -M_PI/2.0) theta1 = -theta1 - 3*M_PI/2.0;
-  else theta1 = M_PI/2.0 - theta1;
+    // update limits of the melines.
+    int marge = /*10*/5; //ou 5 normalement
+    if (ip11.get_j()<ip12.get_j()) { meline1->jmin = (int)ip11.get_j()-marge ; meline1->jmax = (int)ip12.get_j()+marge ; } else{ meline1->jmin = (int)ip12.get_j()-marge ; meline1->jmax = (int)ip11.get_j()+marge ; }
+    if (ip11.get_i()<ip12.get_i()) { meline1->imin = (int)ip11.get_i()-marge ; meline1->imax = (int)ip12.get_i()+marge ; } else{ meline1->imin = (int)ip12.get_i()-marge ; meline1->imax = (int)ip11.get_i()+marge ; }
 
-  while (theta2 > M_PI) { theta2 -= M_PI ; }
-  while (theta2 < -M_PI) { theta2 += M_PI ; }
+    if (ip21.get_j()<ip22.get_j()) { meline2->jmin = (int)ip21.get_j()-marge ; meline2->jmax = (int)ip22.get_j()+marge ; } else{ meline2->jmin = (int)ip22.get_j()-marge ; meline2->jmax = (int)ip21.get_j()+marge ; }
+    if (ip21.get_i()<ip22.get_i()) { meline2->imin = (int)ip21.get_i()-marge ; meline2->imax = (int)ip22.get_i()+marge ; } else{ meline2->imin = (int)ip22.get_i()-marge ; meline2->imax = (int)ip21.get_i()+marge ; }
 
-  if (theta2 < -M_PI/2.0) theta2 = -theta2 - 3*M_PI/2.0;
-  else theta2 = M_PI/2.0 - theta2;
+    // Initialize the tracking
+    while (theta1 > M_PI) { theta1 -= M_PI ; }
+    while (theta1 < -M_PI) { theta1 += M_PI ; }
 
-  try
-  {
-    meline1->initTracking(I,ip11,ip12,rho1,theta1);
-  }
-  catch(...)
-  {
-    vpTRACE("the line can't be initialized");
-  }
-  try
-  {
-    meline2->initTracking(I,ip21,ip22,rho2,theta2);
-  }
-  catch(...)
-  {
-    vpTRACE("the line can't be initialized");
+    if (theta1 < -M_PI/2.0) theta1 = -theta1 - 3*M_PI/2.0;
+    else theta1 = M_PI/2.0 - theta1;
+
+    while (theta2 > M_PI) { theta2 -= M_PI ; }
+    while (theta2 < -M_PI) { theta2 += M_PI ; }
+
+    if (theta2 < -M_PI/2.0) theta2 = -theta2 - 3*M_PI/2.0;
+    else theta2 = M_PI/2.0 - theta2;
+
+    try
+    {
+      meline1->initTracking(I,ip11,ip12,rho1,theta1);
+    }
+    catch(...)
+    {
+      //vpTRACE("the line can't be initialized");
+      return false;
+    }
+    try
+    {
+      meline2->initTracking(I,ip21,ip22,rho2,theta2);
+    }
+    catch(...)
+    {
+      //vpTRACE("the line can't be initialized");
+      return false;
+    }
   }
+  return true;
 }
 
 
@@ -332,29 +344,33 @@ vpMbtDistanceCylinder::initMovingEdge(const vpImage<unsigned char> &I, const vpH
 void
 vpMbtDistanceCylinder::trackMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix & /*cMo*/)
 {
-  try 
-  {
-    meline1->track(I) ;
-  }
-  catch(...)
-  {
-    std::cout << "Track meline1 failed" << std::endl;
-    Reinit = true;
-  }
-  try 
-  {
-    meline2->track(I) ;
-  }
-  catch(...)
-  {
-    std::cout << "Track meline2 failed" << std::endl;
-    Reinit = true;
-  }
+  if(isvisible){
+    try
+    {
+      meline1->track(I) ;
+    }
+    catch(...)
+    {
+      //std::cout << "Track meline1 failed" << std::endl;
+      meline1->reset();
+      Reinit = true;
+    }
+    try
+    {
+      meline2->track(I) ;
+    }
+    catch(...)
+    {
+      //std::cout << "Track meline2 failed" << std::endl;
+      meline2->reset();
+      Reinit = true;
+    }
 
-  // Update the number of features
-  nbFeaturel1 = (unsigned int)meline1->getMeList().size();
-  nbFeaturel2 = (unsigned int)meline2->getMeList().size();
-  nbFeature = nbFeaturel1 + nbFeaturel2;
+    // Update the number of features
+    nbFeaturel1 = (unsigned int)meline1->getMeList().size();
+    nbFeaturel2 = (unsigned int)meline2->getMeList().size();
+    nbFeature = nbFeaturel1 + nbFeaturel2;
+  }
 }
 
 
@@ -367,93 +383,95 @@ vpMbtDistanceCylinder::trackMovingEdge(const vpImage<unsigned char> &I, const vp
 void
 vpMbtDistanceCylinder::updateMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo)
 {
-	// Perspective projection
-	p1->changeFrame(cMo);
-  p2->changeFrame(cMo);
-  cercle1->changeFrame(cMo);
-  cercle2->changeFrame(cMo);
-  c->changeFrame(cMo);
-
-  p1->projection();
-  p2->projection();
-  try{
-  	cercle1->projection();
-  }
-  catch(...){std::cout<<"Probleme projection cercle 1\n";}
-  try{
-  	cercle2->projection();
-  }
-  catch(...){std::cout<<"Probleme projection cercle 2\n";}
-  c->projection();
+  if(isvisible){
+    // Perspective projection
+    p1->changeFrame(cMo);
+    p2->changeFrame(cMo);
+    cercle1->changeFrame(cMo);
+    cercle2->changeFrame(cMo);
+    c->changeFrame(cMo);
+
+    p1->projection();
+    p2->projection();
+    try{
+      cercle1->projection();
+    }
+    catch(...){std::cout<<"Probleme projection cercle 1\n";}
+    try{
+      cercle2->projection();
+    }
+    catch(...){std::cout<<"Probleme projection cercle 2\n";}
+    c->projection();
 
-	// Get the limbos
-  double rho1,theta1;
-  double rho2,theta2;
+    // Get the limbos
+    double rho1,theta1;
+    double rho2,theta2;
 
-  // Conversion meter to pixels
-  vpMeterPixelConversion::convertLine(cam,c->getRho1(),c->getTheta1(),rho1,theta1);
-  vpMeterPixelConversion::convertLine(cam,c->getRho2(),c->getTheta2(),rho2,theta2);
+    // Conversion meter to pixels
+    vpMeterPixelConversion::convertLine(cam,c->getRho1(),c->getTheta1(),rho1,theta1);
+    vpMeterPixelConversion::convertLine(cam,c->getRho2(),c->getTheta2(),rho2,theta2);
 
-	// Determine intersections between circles and limbos
-	double i11,i12,i21,i22,j11,j12,j21,j22;
+    // Determine intersections between circles and limbos
+    double i11,i12,i21,i22,j11,j12,j21,j22;
 
-	getCylinderLineExtremity(i11, j11, rho1, theta1, cercle1);
-  getCylinderLineExtremity(i12, j12, rho1, theta1, cercle2);
+    getCylinderLineExtremity(i11, j11, rho1, theta1, cercle1);
+    getCylinderLineExtremity(i12, j12, rho1, theta1, cercle2);
 
-	getCylinderLineExtremity(i21, j21, rho2, theta2, cercle1);
-  getCylinderLineExtremity(i22, j22, rho2, theta2, cercle2);
+    getCylinderLineExtremity(i21, j21, rho2, theta2, cercle1);
+    getCylinderLineExtremity(i22, j22, rho2, theta2, cercle2);
 
     // Create the image points
-	vpImagePoint ip11,ip12,ip21,ip22;
-	ip11.set_ij(i11,j11);
-	ip12.set_ij(i12,j12);
-	ip21.set_ij(i21,j21);
-	ip22.set_ij(i22,j22);
+    vpImagePoint ip11,ip12,ip21,ip22;
+    ip11.set_ij(i11,j11);
+    ip12.set_ij(i12,j12);
+    ip21.set_ij(i21,j21);
+    ip22.set_ij(i22,j22);
 
-  // update limits of the meline.
-  int marge = /*10*/5; //ou 5 normalement
-  if (ip11.get_j()<ip12.get_j()) { meline1->jmin = (int)ip11.get_j()-marge ; meline1->jmax = (int)ip12.get_j()+marge ; } else{ meline1->jmin = (int)ip12.get_j()-marge ; meline1->jmax = (int)ip11.get_j()+marge ; }
-  if (ip11.get_i()<ip12.get_i()) { meline1->imin = (int)ip11.get_i()-marge ; meline1->imax = (int)ip12.get_i()+marge ; } else{ meline1->imin = (int)ip12.get_i()-marge ; meline1->imax = (int)ip11.get_i()+marge ; }
+    // update limits of the meline.
+    int marge = /*10*/5; //ou 5 normalement
+    if (ip11.get_j()<ip12.get_j()) { meline1->jmin = (int)ip11.get_j()-marge ; meline1->jmax = (int)ip12.get_j()+marge ; } else{ meline1->jmin = (int)ip12.get_j()-marge ; meline1->jmax = (int)ip11.get_j()+marge ; }
+    if (ip11.get_i()<ip12.get_i()) { meline1->imin = (int)ip11.get_i()-marge ; meline1->imax = (int)ip12.get_i()+marge ; } else{ meline1->imin = (int)ip12.get_i()-marge ; meline1->imax = (int)ip11.get_i()+marge ; }
 
-  if (ip21.get_j()<ip22.get_j()) { meline2->jmin = (int)ip21.get_j()-marge ; meline2->jmax = (int)ip22.get_j()+marge ; } else{ meline2->jmin = (int)ip22.get_j()-marge ; meline2->jmax = (int)ip21.get_j()+marge ; }
-  if (ip21.get_i()<ip22.get_i()) { meline2->imin = (int)ip21.get_i()-marge ; meline2->imax = (int)ip22.get_i()+marge ; } else{ meline2->imin = (int)ip22.get_i()-marge ; meline2->imax = (int)ip21.get_i()+marge ; }
+    if (ip21.get_j()<ip22.get_j()) { meline2->jmin = (int)ip21.get_j()-marge ; meline2->jmax = (int)ip22.get_j()+marge ; } else{ meline2->jmin = (int)ip22.get_j()-marge ; meline2->jmax = (int)ip21.get_j()+marge ; }
+    if (ip21.get_i()<ip22.get_i()) { meline2->imin = (int)ip21.get_i()-marge ; meline2->imax = (int)ip22.get_i()+marge ; } else{ meline2->imin = (int)ip22.get_i()-marge ; meline2->imax = (int)ip21.get_i()+marge ; }
 
-  // Initialize the tracking
-  while (theta1 > M_PI) { theta1 -= M_PI ; }
-  while (theta1 < -M_PI) { theta1 += M_PI ; }
+    // Initialize the tracking
+    while (theta1 > M_PI) { theta1 -= M_PI ; }
+    while (theta1 < -M_PI) { theta1 += M_PI ; }
 
-  if (theta1 < -M_PI/2.0) theta1 = -theta1 - 3*M_PI/2.0;
-  else theta1 = M_PI/2.0 - theta1;
+    if (theta1 < -M_PI/2.0) theta1 = -theta1 - 3*M_PI/2.0;
+    else theta1 = M_PI/2.0 - theta1;
 
-  while (theta2 > M_PI) { theta2 -= M_PI ; }
-  while (theta2 < -M_PI) { theta2 += M_PI ; }
+    while (theta2 > M_PI) { theta2 -= M_PI ; }
+    while (theta2 < -M_PI) { theta2 += M_PI ; }
 
-  if (theta2 < -M_PI/2.0) theta2 = -theta2 - 3*M_PI/2.0;
-  else theta2 = M_PI/2.0 - theta2;
+    if (theta2 < -M_PI/2.0) theta2 = -theta2 - 3*M_PI/2.0;
+    else theta2 = M_PI/2.0 - theta2;
 
-  try 
-  {
-    //meline1->updateParameters(I,rho1,theta1) ;
-    meline1->updateParameters(I,ip11,ip12,rho1,theta1) ;
-  }
-  catch(...)
-  {
-    Reinit = true;
-  }
-  try 
-  {
-    //meline2->updateParameters(I,rho2,theta2) ;
-    meline2->updateParameters(I,ip21,ip22,rho2,theta2) ;
-  }
-  catch(...)
-  {
-    Reinit = true;
-  }
+    try
+    {
+      //meline1->updateParameters(I,rho1,theta1) ;
+      meline1->updateParameters(I,ip11,ip12,rho1,theta1) ;
+    }
+    catch(...)
+    {
+      Reinit = true;
+    }
+    try
+    {
+      //meline2->updateParameters(I,rho2,theta2) ;
+      meline2->updateParameters(I,ip21,ip22,rho2,theta2) ;
+    }
+    catch(...)
+    {
+      Reinit = true;
+    }
 
-  // Update the numbers of features
-  nbFeaturel1 = (unsigned int)meline1->getMeList().size();
-  nbFeaturel2 = (unsigned int)meline2->getMeList().size();
-  nbFeature = nbFeaturel1 + nbFeaturel2;
+    // Update the numbers of features
+    nbFeaturel1 = (unsigned int)meline1->getMeList().size();
+    nbFeaturel2 = (unsigned int)meline2->getMeList().size();
+    nbFeature = nbFeaturel1 + nbFeaturel2;
+  }
 }
 
 
@@ -476,7 +494,8 @@ vpMbtDistanceCylinder::reinitMovingEdge(const vpImage<unsigned char> &I, const v
   meline1 = NULL;
   meline2 = NULL;
 
-  initMovingEdge(I,cMo);
+  if (initMovingEdge(I,cMo) == false)
+    Reinit = true;
 
   Reinit = false;
 }
@@ -490,56 +509,60 @@ vpMbtDistanceCylinder::reinitMovingEdge(const vpImage<unsigned char> &I, const v
   \param camera : The camera parameters.
   \param col : The desired color.
   \param thickness : The thickness of the lines.
+  \param displayFullModel : When true, display the circle even if non visible.
 */
 void
 vpMbtDistanceCylinder::display(const vpImage<unsigned char>&I, const vpHomogeneousMatrix &cMo,
-                               const vpCameraParameters&camera, const vpColor col, const unsigned int thickness)
+                               const vpCameraParameters&camera, const vpColor col, const unsigned int thickness,
+                               const bool displayFullModel)
 {
-	// Perspective projection
-	p1->changeFrame(cMo);
-  p2->changeFrame(cMo);
-  cercle1->changeFrame(cMo);
-  cercle2->changeFrame(cMo);
-  c->changeFrame(cMo);
-
-  p1->projection();
-  p2->projection();
-  try{
-  	cercle1->projection();
-  }
-  catch(...){std::cout<<"Problem projection circle 1";}
-  try{
-  	cercle2->projection();
-  }
-  catch(...){std::cout<<"Problem projection circle 2";}
-  c->projection();
+  if(isvisible || displayFullModel){
+    // Perspective projection
+    p1->changeFrame(cMo);
+    p2->changeFrame(cMo);
+    cercle1->changeFrame(cMo);
+    cercle2->changeFrame(cMo);
+    c->changeFrame(cMo);
+
+    p1->projection();
+    p2->projection();
+    try{
+      cercle1->projection();
+    }
+    catch(...){std::cout<<"Problem projection circle 1";}
+    try{
+      cercle2->projection();
+    }
+    catch(...){std::cout<<"Problem projection circle 2";}
+    c->projection();
 
-  double rho1,theta1;
-  double rho2,theta2;
+    double rho1,theta1;
+    double rho2,theta2;
 
-  // Meters to pixels conversion
-  vpMeterPixelConversion::convertLine(camera,c->getRho1(),c->getTheta1(),rho1,theta1);
-  vpMeterPixelConversion::convertLine(camera,c->getRho2(),c->getTheta2(),rho2,theta2);
+    // Meters to pixels conversion
+    vpMeterPixelConversion::convertLine(camera,c->getRho1(),c->getTheta1(),rho1,theta1);
+    vpMeterPixelConversion::convertLine(camera,c->getRho2(),c->getTheta2(),rho2,theta2);
 
-	// Determine intersections between circles and limbos
-	double i11,i12,i21,i22,j11,j12,j21,j22;
+    // Determine intersections between circles and limbos
+    double i11,i12,i21,i22,j11,j12,j21,j22;
 
-	getCylinderLineExtremity(i11, j11, rho1, theta1, cercle1);
-  getCylinderLineExtremity(i12, j12, rho1, theta1, cercle2);
+    getCylinderLineExtremity(i11, j11, rho1, theta1, cercle1);
+    getCylinderLineExtremity(i12, j12, rho1, theta1, cercle2);
 
-	getCylinderLineExtremity(i21, j21, rho2, theta2, cercle1);
-  getCylinderLineExtremity(i22, j22, rho2, theta2, cercle2);
+    getCylinderLineExtremity(i21, j21, rho2, theta2, cercle1);
+    getCylinderLineExtremity(i22, j22, rho2, theta2, cercle2);
 
     // Create the image points
-	vpImagePoint ip11,ip12,ip21,ip22;
-	ip11.set_ij(i11,j11);
-	ip12.set_ij(i12,j12);
-	ip21.set_ij(i21,j21);
-	ip22.set_ij(i22,j22);
-
-	// Display
-  vpDisplay::displayLine(I,ip11,ip12,col, thickness);
-  vpDisplay::displayLine(I,ip21,ip22,col, thickness);
+    vpImagePoint ip11,ip12,ip21,ip22;
+    ip11.set_ij(i11,j11);
+    ip12.set_ij(i12,j12);
+    ip21.set_ij(i21,j21);
+    ip22.set_ij(i22,j22);
+
+    // Display
+    vpDisplay::displayLine(I,ip11,ip12,col, thickness);
+    vpDisplay::displayLine(I,ip21,ip22,col, thickness);
+  }
 }
 
 /*!
@@ -550,56 +573,60 @@ vpMbtDistanceCylinder::display(const vpImage<unsigned char>&I, const vpHomogeneo
   \param camera : The camera parameters.
   \param col : The desired color.
   \param thickness : The thickness of the lines.
+  \param displayFullModel : When true, display the circle even if non visible.
 */
 void
 vpMbtDistanceCylinder::display(const vpImage<vpRGBa> &I, const vpHomogeneousMatrix &cMo,
-                               const vpCameraParameters &camera, const vpColor col, const unsigned int thickness)
+                               const vpCameraParameters &camera, const vpColor col, const unsigned int thickness,
+                               const bool displayFullModel)
 {
-	// Perspective projection
-	p1->changeFrame(cMo);
-  p2->changeFrame(cMo);
-  cercle1->changeFrame(cMo);
-  cercle2->changeFrame(cMo);
-  c->changeFrame(cMo);
-
-  p1->projection();
-  p2->projection();
-  try{
-	  cercle1->projection();
-  }
-  catch(...){std::cout<<"Problem projection circle 1";}
-  try{
-	  cercle2->projection();
-  }
-  catch(...){std::cout<<"Problem projection circle 2";}
-  c->projection();
+  if(isvisible || displayFullModel){
+    // Perspective projection
+    p1->changeFrame(cMo);
+    p2->changeFrame(cMo);
+    cercle1->changeFrame(cMo);
+    cercle2->changeFrame(cMo);
+    c->changeFrame(cMo);
+
+    p1->projection();
+    p2->projection();
+    try{
+      cercle1->projection();
+    }
+    catch(...){std::cout<<"Problem projection circle 1";}
+    try{
+      cercle2->projection();
+    }
+    catch(...){std::cout<<"Problem projection circle 2";}
+    c->projection();
 
-  double rho1,theta1;
-  double rho2,theta2;
+    double rho1,theta1;
+    double rho2,theta2;
 
-  // Meters to pixels conversion
-  vpMeterPixelConversion::convertLine(camera,c->getRho1(),c->getTheta1(),rho1,theta1);
-  vpMeterPixelConversion::convertLine(camera,c->getRho2(),c->getTheta2(),rho2,theta2);
+    // Meters to pixels conversion
+    vpMeterPixelConversion::convertLine(camera,c->getRho1(),c->getTheta1(),rho1,theta1);
+    vpMeterPixelConversion::convertLine(camera,c->getRho2(),c->getTheta2(),rho2,theta2);
 
-	// Determine intersections between circles and limbos
-	double i11,i12,i21,i22,j11,j12,j21,j22;
+    // Determine intersections between circles and limbos
+    double i11,i12,i21,i22,j11,j12,j21,j22;
 
-	getCylinderLineExtremity(i11, j11, rho1, theta1, cercle1);
-  getCylinderLineExtremity(i12, j12, rho1, theta1, cercle2);
+    getCylinderLineExtremity(i11, j11, rho1, theta1, cercle1);
+    getCylinderLineExtremity(i12, j12, rho1, theta1, cercle2);
 
-	getCylinderLineExtremity(i21, j21, rho2, theta2, cercle1);
-  getCylinderLineExtremity(i22, j22, rho2, theta2, cercle2);
+    getCylinderLineExtremity(i21, j21, rho2, theta2, cercle1);
+    getCylinderLineExtremity(i22, j22, rho2, theta2, cercle2);
 
     // Create the image points
-	vpImagePoint ip11,ip12,ip21,ip22;
-	ip11.set_ij(i11,j11);
-	ip12.set_ij(i12,j12);
-	ip21.set_ij(i21,j21);
-	ip22.set_ij(i22,j22);
-
-	// Display
-  vpDisplay::displayLine(I,ip11,ip12,col, thickness);
-  vpDisplay::displayLine(I,ip21,ip22,col, thickness);
+    vpImagePoint ip11,ip12,ip21,ip22;
+    ip11.set_ij(i11,j11);
+    ip12.set_ij(i12,j12);
+    ip21.set_ij(i21,j21);
+    ip22.set_ij(i22,j22);
+
+    // Display
+    vpDisplay::displayLine(I,ip11,ip12,col, thickness);
+    vpDisplay::displayLine(I,ip21,ip22,col, thickness);
+  }
 }
 
 
@@ -632,11 +659,18 @@ vpMbtDistanceCylinder::displayMovingEdges(const vpImage<unsigned char> &I)
 void
 vpMbtDistanceCylinder::initInteractionMatrixError()
 {
+  if (isvisible == true) {
     nbFeaturel1 = (unsigned int)meline1->getMeList().size();
     nbFeaturel2 = (unsigned int)meline2->getMeList().size();
     nbFeature = nbFeaturel1 + nbFeaturel2;
     L.resize(nbFeature, 6);
     error.resize(nbFeature);
+  }
+  else {
+    nbFeature = 0 ;
+    nbFeaturel1 = 0;
+    nbFeaturel2 = 0;
+  }
 }
 
 /*!
@@ -645,25 +679,26 @@ vpMbtDistanceCylinder::initInteractionMatrixError()
 void
 vpMbtDistanceCylinder::computeInteractionMatrixError(const vpHomogeneousMatrix &cMo, const vpImage<unsigned char> &I)
 {
-	// Perspective projection
-  c->changeFrame(cMo) ;
-  c->projection() ;
-  cercle1->changeFrame(cMo) ;
-  cercle1->changeFrame(cMo) ;
-  try{
-  	cercle1->projection();
-  }
-  catch(...){std::cout<<"Problem projection circle 1\n";}
-  try{
-  	cercle2->projection();
-  }
-  catch(...){std::cout<<"Problem projection circle 2\n";}
+  if (isvisible) {
+    // Perspective projection
+    c->changeFrame(cMo) ;
+    c->projection() ;
+    cercle1->changeFrame(cMo) ;
+    cercle1->changeFrame(cMo) ;
+    try{
+      cercle1->projection();
+    }
+    catch(...){std::cout<<"Problem projection circle 1\n";}
+    try{
+      cercle2->projection();
+    }
+    catch(...){std::cout<<"Problem projection circle 2\n";}
 
-	bool disp = false;
-	bool disp2 = false;
-	if (disp || disp2) vpDisplay::flush(I);
+    bool disp = false;
+    bool disp2 = false;
+    if (disp || disp2) vpDisplay::flush(I);
 
-	// Build the lines
+    // Build the lines
     vpFeatureBuilder::create(featureline2,*c,vpCylinder::line2) ;
     vpFeatureBuilder::create(featureline1,*c,vpCylinder::line1) ;
 
@@ -718,8 +753,8 @@ vpMbtDistanceCylinder::computeInteractionMatrixError(const vpHomogeneousMatrix &
       x = (double)it->j;
       y = (double)it->i;
 
-	    x = (x-xc)*mx ;
-	    y = (y-yc)*my ;
+      x = (x-xc)*mx ;
+      y = (y-yc)*my ;
 
       alpha2 = x*si2 - y*co2;
 
@@ -735,5 +770,6 @@ vpMbtDistanceCylinder::computeInteractionMatrixError(const vpHomogeneousMatrix &
 
       j++;
     }
+  }
 }
 
diff --git a/src/tracking/mbt/edge/vpMbtDistanceCylinder.h b/src/tracking/mbt/edge/vpMbtDistanceCylinder.h
index ec448b7e1843b8c9a59af167459f5038575eba9f..0c272b9ce5090aeeb5374df7cbe754e89ca1fefe 100755
--- a/src/tracking/mbt/edge/vpMbtDistanceCylinder.h
+++ b/src/tracking/mbt/edge/vpMbtDistanceCylinder.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMbtDistanceCylinder.h 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpMbtDistanceCylinder.h 4914 2014-10-02 13:25:47Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -56,6 +56,7 @@
 #include <visp/vpFeatureLine.h>
 #include <visp/vpCylinder.h>
 #include <visp/vpCircle.h>
+#include <visp/vpMbHiddenFaces.h>
 
 /*!
   \class vpMbtDistanceCylinder
@@ -111,6 +112,13 @@ class VISP_EXPORT vpMbtDistanceCylinder
     //! The cylinder
     vpCylinder *c;
     
+    //! Pointer to the list of faces
+    vpMbHiddenFaces<vpMbtPolygon> *hiddenface;
+    //! Index of the face which contains the cylinder
+    int index_polygon;
+    //! Indicates if the cylinder is visible or not
+    bool isvisible;
+
   public:
     vpMbtDistanceCylinder() ;
     ~vpMbtDistanceCylinder() ;
@@ -119,8 +127,8 @@ class VISP_EXPORT vpMbtDistanceCylinder
     
     void computeInteractionMatrixError(const vpHomogeneousMatrix &cMo, const vpImage<unsigned char> &I);
     
-    void display(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, const vpColor col, const unsigned int thickness = 1);
-    void display(const vpImage<vpRGBa> &I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, const vpColor col, const unsigned int thickness = 1);
+    void display(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, const vpColor col, const unsigned int thickness = 1, const bool displayFullModel = false);
+    void display(const vpImage<vpRGBa> &I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, const vpColor col, const unsigned int thickness = 1, const bool displayFullModel = false);
     void displayMovingEdges(const vpImage<unsigned char> &I);
     
     /*!
@@ -162,8 +170,15 @@ class VISP_EXPORT vpMbtDistanceCylinder
     
     void initInteractionMatrixError();
     
-    void initMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo);
+    bool initMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo);
     
+    /*!
+      Check if the cylinder is visible in the image or not.
+
+      \return Return true if the cylinder is visible
+    */
+    inline bool isVisible() const {return isvisible; }
+
     void reinitMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo);
     
     /*!
@@ -209,6 +224,13 @@ class VISP_EXPORT vpMbtDistanceCylinder
     */
     inline void setName(const char* cyl_name) {this->name = std::string(cyl_name);}
 
+    /*!
+      Set a boolean parameter to indicates if the cylinder is visible in the image or not.
+
+      \param _isvisible : Set to true if the cylinder is visible
+    */
+    inline void setVisible(bool _isvisible) {isvisible = _isvisible ;}
+
     void trackMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo);
     
     void updateMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo);
diff --git a/src/tracking/mbt/edge/vpMbtDistanceLine.cpp b/src/tracking/mbt/edge/vpMbtDistanceLine.cpp
index 876b32bc336f1a4e77a7a7beb5269e1feaa544ca..78adf27278059948a3b63baf061b7e2100389cf7 100644
--- a/src/tracking/mbt/edge/vpMbtDistanceLine.cpp
+++ b/src/tracking/mbt/edge/vpMbtDistanceLine.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMbtDistanceLine.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpMbtDistanceLine.cpp 5136 2015-01-08 10:09:04Z ayol $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -228,6 +228,7 @@ vpMbtDistanceLine::setMovingEdge(vpMe *_me)
   me = _me ;
   if (meline != NULL)
   {
+    meline->reset();
     meline->setMe(me) ;
   }
 }
@@ -239,8 +240,9 @@ vpMbtDistanceLine::setMovingEdge(vpMe *_me)
   
   \param I : The image.
   \param cMo : The pose of the camera used to initialize the moving edges.
+  \return false if an error occur, true otherwise.
 */
-void
+bool
 vpMbtDistanceLine::initMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo)
 {
   if(isvisible){
@@ -287,6 +289,7 @@ vpMbtDistanceLine::initMovingEdge(const vpImage<unsigned char> &I, const vpHomog
       catch(...)
       {
         //vpTRACE("the line can't be initialized");
+        return false;
       }
     }
     else{
@@ -296,6 +299,7 @@ vpMbtDistanceLine::initMovingEdge(const vpImage<unsigned char> &I, const vpHomog
     }
   }   
 //	trackMovingEdge(I,cMo)  ;
+  return true;
 }
 
 
@@ -335,6 +339,7 @@ vpMbtDistanceLine::trackMovingEdge(const vpImage<unsigned char> &I, const vpHomo
     }
     catch(...)
     {
+      meline->reset();
       Reinit = true;
     }
     nbFeature =(unsigned int) meline->getMeList().size();
@@ -416,7 +421,8 @@ vpMbtDistanceLine::reinitMovingEdge(const vpImage<unsigned char> &I, const vpHom
   if(meline!= NULL)
     delete meline;
   
-  initMovingEdge(I,cMo);
+  if (initMovingEdge(I,cMo) == false)
+    Reinit = true;
 
   Reinit = false;
 }
@@ -436,10 +442,10 @@ void
 vpMbtDistanceLine::display(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo,
                            const vpCameraParameters &camera, const vpColor col, const unsigned int thickness, const bool displayFullModel)
 {
-  p1->changeFrame(cMo);
-  p2->changeFrame(cMo);
-
   if(isvisible || displayFullModel){
+    p1->changeFrame(cMo);
+    p2->changeFrame(cMo);
+
     vpImagePoint ip1, ip2;
     vpCameraParameters c = camera;
     if(poly.getClipping() > 3) // Contains at least one FOV constraint
@@ -456,7 +462,7 @@ vpMbtDistanceLine::display(const vpImage<unsigned char> &I, const vpHomogeneousM
        ((poly.roiPointsClip[1].second & poly.roiPointsClip[0].second & vpMbtPolygon::RIGHT_CLIPPING) == 0)){ 
       vpMeterPixelConversion::convertPoint(cam,poly.roiPointsClip[0].first.get_x(),poly.roiPointsClip[0].first.get_y(),ip1);
       vpMeterPixelConversion::convertPoint(cam,poly.roiPointsClip[1].first.get_x(),poly.roiPointsClip[1].first.get_y(),ip2);
-    
+
       vpDisplay::displayLine(I,ip1,ip2,col, thickness);
     }
   }
@@ -478,10 +484,10 @@ vpMbtDistanceLine::display(const vpImage<vpRGBa> &I, const vpHomogeneousMatrix &
                            const vpCameraParameters &camera, const vpColor col,
                            const unsigned int thickness, const bool displayFullModel)
 {
-  p1->changeFrame(cMo);
-  p2->changeFrame(cMo);
-
   if(isvisible || displayFullModel){
+    p1->changeFrame(cMo);
+    p2->changeFrame(cMo);
+
     vpImagePoint ip1, ip2;
     vpCameraParameters c = camera;
     if(poly.getClipping() > 3) // Contains at least one FOV constraint
diff --git a/src/tracking/mbt/edge/vpMbtDistanceLine.h b/src/tracking/mbt/edge/vpMbtDistanceLine.h
index ad0d2af148057c6dac2ec5cf59673f7cfd8034cd..336e27d52ff9fce713cbbdf7688ca8a8a75f6b8e 100644
--- a/src/tracking/mbt/edge/vpMbtDistanceLine.h
+++ b/src/tracking/mbt/edge/vpMbtDistanceLine.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMbtDistanceLine.h 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpMbtDistanceLine.h 4802 2014-07-24 09:24:43Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -154,7 +154,7 @@ class VISP_EXPORT vpMbtDistanceLine
     
     void initInteractionMatrixError();
     
-    void initMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo);
+    bool initMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo);
     
     /*!
       Check if the line is visible in the image or not.
@@ -213,11 +213,7 @@ class VISP_EXPORT vpMbtDistanceLine
     void updateMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo);
 
   private:
-    void belongToPolygon(int index_) { Lindex_polygon.push_back(index_); }
     void project(const vpHomogeneousMatrix &cMo);
-    void setFace( vpMbHiddenFaces<vpMbtPolygon> *_hiddenface) { hiddenface = _hiddenface ; }
-    
-
 } ;
 
 #endif
diff --git a/src/tracking/mbt/edge/vpMbtMeEllipse.cpp b/src/tracking/mbt/edge/vpMbtMeEllipse.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..2fe646b268b1ff05f37fdbedcdcfd810cdad62cf
--- /dev/null
+++ b/src/tracking/mbt/edge/vpMbtMeEllipse.cpp
@@ -0,0 +1,359 @@
+/****************************************************************************
+ *
+ * $Id: vpMbtMeEllipse.cpp 4706 2014-03-28 07:52:00Z fspindle $
+ *
+ * This file is part of the ViSP software.
+ * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+ * 
+ * This software is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * ("GPL") version 2 as published by the Free Software Foundation.
+ * See the file LICENSE.txt at the root directory of this source
+ * distribution for additional information about the GNU GPL.
+ *
+ * For using ViSP with software that can not be combined with the GNU
+ * GPL, please contact INRIA about acquiring a ViSP Professional 
+ * Edition License.
+ *
+ * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+ * 
+ * This software was developed at:
+ * INRIA Rennes - Bretagne Atlantique
+ * Campus Universitaire de Beaulieu
+ * 35042 Rennes Cedex
+ * France
+ * http://www.irisa.fr/lagadic
+ *
+ * If you have questions regarding the use of this file, please contact
+ * INRIA at visp@inria.fr
+ * 
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ *
+ * Description:
+ * Moving edges.
+ *
+ * Authors:
+ * Eric Marchand
+ *
+ *****************************************************************************/
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+#include <visp/vpMbtMeEllipse.h>
+
+#include <visp/vpMe.h>
+#include <visp/vpRobust.h>
+#include <visp/vpTrackingException.h>
+#include <visp/vpDebug.h>
+#include <visp/vpImagePoint.h>
+
+#include <cmath>    // std::fabs
+#include <limits>   // numeric_limits
+
+
+/*!
+  Basic constructor that calls the constructor of the class vpMeTracker.
+*/
+vpMbtMeEllipse::vpMbtMeEllipse()
+  : iPc(), a(0.), b(0.), e(0.),
+    ce(0.), se(0.), mu11(0.), mu20(0.), mu02(0.), thresholdWeight(0.), expecteddensity(0.)
+{
+}
+
+/*!
+  Copy constructor.
+*/
+vpMbtMeEllipse::vpMbtMeEllipse(const vpMbtMeEllipse &meellipse)
+  : vpMeTracker(meellipse), iPc(), a(0.), b(0.), e(0.),
+    ce(0.), se(0.), mu11(0.), mu20(0.), mu02(0.), thresholdWeight(0.), expecteddensity(0.)
+{
+  iPc = meellipse.iPc;
+  a = meellipse.a;
+  b = meellipse.b;
+  e = meellipse.e;
+
+  ce = meellipse.ce;
+  se = meellipse.se;
+  
+  mu11 = meellipse.mu11;
+  mu20 = meellipse.mu20;
+  mu02 = meellipse.mu02;
+
+  expecteddensity = meellipse.expecteddensity;
+}
+
+/*!
+  Basic destructor.
+*/
+vpMbtMeEllipse::~vpMbtMeEllipse()
+{
+  list.clear();
+}
+
+/*!
+  Construct a list of vpMeSite moving edges at a particular sampling
+  step between the two extremities. The two extremities are defined by
+  the points with the smallest and the biggest \f$ alpha \f$ angle.
+
+  \param I : Image in which the ellipse appears.
+
+  \exception vpTrackingException::initializationError : Moving edges not initialized.
+
+*/
+void
+vpMbtMeEllipse::sample(const vpImage<unsigned char> & I)
+{
+  if (!me) {
+    vpDERROR_TRACE(2, "Tracking error: Moving edges not initialized");
+    throw(vpTrackingException(vpTrackingException::initializationError,
+      "Moving edges not initialized")) ;
+  }
+
+  int height = (int)I.getHeight() ;
+  int width = (int)I.getWidth() ;
+
+  //if (me->getSampleStep()==0)
+  if (std::fabs(me->getSampleStep()) <= std::numeric_limits<double>::epsilon())
+  {
+    std::cout << "In vpMbtMeEllipse::sample: " ;
+    std::cout << "function called with sample step = 0" ;
+    //return fatalError ;
+  }
+
+  double j, i;//, j11, i11;
+  vpImagePoint iP11;
+  j = i = 0.0 ;
+
+  // Approximation of the circumference of an ellipse:
+  // [Ramanujan, S., "Modular Equations and Approximations to ,"
+  // Quart. J. Pure. Appl. Math., vol. 45 (1913-1914), pp. 350-372]
+  double t = (a-b)/(a+b);
+  double circumference = M_PI*(a+b)*(1 + 3*vpMath::sqr(t)/(10 + sqrt(4 - 3*vpMath::sqr(t))));
+  int nb_points_to_track = (int)(circumference / me->getSampleStep());
+  double incr = 2*M_PI/nb_points_to_track;
+
+  expecteddensity = 0;//nb_points_to_track;
+
+  // Delete old list
+  list.clear();
+
+  // sample positions
+  double k = 0 ;
+  double iP_i, iP_j;
+  for (int pt=0; pt < nb_points_to_track; pt++)
+  {
+    j = a *cos(k) ; // equation of an ellipse
+    i = b *sin(k) ; // equation of an ellipse
+
+    iP_j = iPc.get_j() + ce *j - se *i;
+    iP_i = iPc.get_i() + se *j + ce *i;
+
+    //vpColor col = vpColor::red ;
+    //vpDisplay::displayCross(I, vpImagePoint(iP_i, iP_j),  5, col) ; //debug only
+
+    // If point is in the image, add to the sample list
+    if(!outOfImage(vpMath::round(iP_i), vpMath::round(iP_j), 0, height, width))
+    {
+      // The tangent angle to the ellipse at a site
+      double theta = atan( (-mu02*iP_j + mu02*iPc.get_j() + mu11*iP_i - mu11*iPc.get_i())
+                          / (mu20*iP_i - mu11*iP_j + mu11*iPc.get_j() - mu20*iPc.get_i()))
+          - M_PI/2;
+
+      vpMeSite pix ;
+      pix.init((int)iP_i, (int)iP_j, theta) ;
+      pix.setDisplay(selectDisplay) ;
+      pix.setState(vpMeSite::NO_SUPPRESSION);
+
+      list.push_back(pix);
+      expecteddensity ++;
+    }
+    k += incr ;
+
+  }
+
+  vpMeTracker::initTracking(I) ;
+}
+
+
+/*!
+	
+  Resample the ellipse if the number of sample is less than 90% of the
+  expected value.
+	
+  \note The expected value is computed thanks to the difference between the smallest and the biggest \f$ \alpha \f$ angles
+  and the parameter which indicates the number of degrees between
+  two points (vpMe::sample_step).
+
+  \param I : Image in which the ellipse appears.
+
+  \exception vpTrackingException::initializationError : Moving edges not initialized.
+
+*/
+void
+vpMbtMeEllipse::reSample(const vpImage<unsigned char>  &I)
+{
+  if (!me) {
+    vpDERROR_TRACE(2, "Tracking error: Moving edges not initialized");
+    throw(vpTrackingException(vpTrackingException::initializationError,
+      "Moving edges not initialized")) ;
+  }
+
+  unsigned int n = numberOfSignal() ;
+  if ((double)n<0.9*expecteddensity){
+    sample(I) ;
+    vpMeTracker::track(I) ;
+  }
+}
+
+/*!
+  Compute the oriantation angle for each vpMeSite.
+
+  \note The \f$ \theta \f$ angle is useful during the tracking part.
+*/
+void
+vpMbtMeEllipse::updateTheta()
+{
+  vpMeSite p_me;
+  double theta;
+  for(std::list<vpMeSite>::iterator it=list.begin(); it!=list.end(); ++it){
+    p_me = *it;
+    vpImagePoint iP;
+    iP.set_i(p_me.ifloat);
+    iP.set_j(p_me.jfloat);
+
+    // The tangent angle to the ellipse at a site
+    theta = atan( (-mu02*p_me.jfloat + mu02*iPc.get_j() + mu11*p_me.ifloat - mu11*iPc.get_i())
+                        / (mu20*p_me.ifloat - mu11*p_me.jfloat + mu11*iPc.get_j() - mu20*iPc.get_i()))
+        - M_PI/2;
+
+    p_me.alpha = theta ;
+    *it = p_me;
+  }
+}
+
+/*!
+  Suppress the vpMeSite which are no more detected as point which belongs to the ellipse edge.
+*/
+void
+vpMbtMeEllipse::suppressPoints()
+{
+  // Loop through list of sites to track
+  for(std::list<vpMeSite>::iterator itList=list.begin(); itList!=list.end();){
+    vpMeSite s = *itList;//current reference pixel
+    if (s.getState() != vpMeSite::NO_SUPPRESSION)
+      itList = list.erase(itList);
+    else
+      ++itList;
+  }
+}
+
+/*!
+  Display the ellipse.
+
+  \warning To effectively display the ellipse a call to
+  vpDisplay::flush() is needed.
+
+  \param I : Image in which the ellipse appears.
+  \param col : Color of the displayed ellipse.
+ */
+void
+vpMbtMeEllipse::display(const vpImage<unsigned char> &I, vpColor col)
+{
+  vpDisplay::displayEllipse(I, iPc, mu20, mu11, mu02, true, col);
+}
+
+void
+vpMbtMeEllipse::initTracking(const vpImage<unsigned char> &I, const vpImagePoint &ic,
+                             double mu20_p, double mu11_p, double mu02_p)
+{
+  iPc = ic;
+  mu20 = mu20_p;
+  mu11 = mu11_p;
+  mu02 = mu02_p;
+
+  if (std::fabs(mu11_p) > std::numeric_limits<double>::epsilon()) {
+
+    double val_p = sqrt(vpMath::sqr(mu20_p-mu02_p) + 4*vpMath::sqr(mu11_p));
+    a = sqrt((mu20_p + mu02_p + val_p)/2);
+    b = sqrt((mu20_p + mu02_p - val_p)/2);
+
+    e = (mu02_p - mu20_p + val_p)/(2*mu11_p);
+  }
+  else {
+    a = sqrt(mu20_p);
+    b = sqrt(mu02_p);
+    e = 0.;
+  }
+
+  e = atan(e);
+
+  ce = cos(e);
+  se = sin(e);
+
+  sample(I) ;
+
+  vpMeTracker::initTracking(I) ;
+
+  try{
+    track(I) ;
+  }
+  catch(vpException &exception)
+  {
+    throw(exception) ;
+  }
+}
+
+/*!
+  Track the ellipse in the image I.
+
+  \param I : Image in which the ellipse appears.
+*/
+void
+vpMbtMeEllipse::track(const vpImage<unsigned char> &I)
+{
+  try{
+    vpMeTracker::track(I) ;
+  }
+  catch(vpException &exception)
+  {
+    throw(exception) ;
+  }
+}
+
+void
+vpMbtMeEllipse::updateParameters(const vpImage<unsigned char> &I, const vpImagePoint &ic, double mu20_p, double mu11_p, double mu02_p)
+{
+  iPc = ic;
+  mu20 = mu20_p;
+  mu11 = mu11_p;
+  mu02 = mu02_p;
+
+  if (std::fabs(mu11_p) > std::numeric_limits<double>::epsilon()) {
+
+    double val_p = sqrt(vpMath::sqr(mu20_p-mu02_p) + 4*vpMath::sqr(mu11_p));
+    a = sqrt((mu20_p + mu02_p + val_p)/2);
+    b = sqrt((mu20_p + mu02_p - val_p)/2);
+
+    e = (mu02_p - mu20_p + val_p)/(2*mu11_p);
+  }
+  else {
+    a = sqrt(mu20_p);
+    b = sqrt(mu02_p);
+    e = 0.;
+  }
+
+  e = atan(e);
+
+  ce = cos(e);
+  se = sin(e);
+
+  suppressPoints();
+  reSample(I);
+
+  // remet a jour l'angle delta pour chaque  point de la liste
+  updateTheta();
+}
+
+#endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
diff --git a/src/tracking/mbt/edge/vpMbtMeEllipse.h b/src/tracking/mbt/edge/vpMbtMeEllipse.h
new file mode 100644
index 0000000000000000000000000000000000000000..87f11b72388be7a99387b0c700b146b558ff144a
--- /dev/null
+++ b/src/tracking/mbt/edge/vpMbtMeEllipse.h
@@ -0,0 +1,245 @@
+/****************************************************************************
+ *
+ * $Id: vpMbtMeEllipse.h 4705 2014-03-27 16:24:35Z fspindle $
+ *
+ * This file is part of the ViSP software.
+ * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+ * 
+ * This software is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * ("GPL") version 2 as published by the Free Software Foundation.
+ * See the file LICENSE.txt at the root directory of this source
+ * distribution for additional information about the GNU GPL.
+ *
+ * For using ViSP with software that can not be combined with the GNU
+ * GPL, please contact INRIA about acquiring a ViSP Professional 
+ * Edition License.
+ *
+ * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+ * 
+ * This software was developed at:
+ * INRIA Rennes - Bretagne Atlantique
+ * Campus Universitaire de Beaulieu
+ * 35042 Rennes Cedex
+ * France
+ * http://www.irisa.fr/lagadic
+ *
+ * If you have questions regarding the use of this file, please contact
+ * INRIA at visp@inria.fr
+ * 
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ *
+ * Description:
+ * Moving edges.
+ *
+ * Authors:
+ * Eric Marchand
+ *
+ *****************************************************************************/
+
+/*!
+  \file vpMbtMeEllipse.h
+  \brief Moving edges on an ellipse
+*/
+
+#ifndef vpMbtMeEllipse_HH
+#define vpMbtMeEllipse_HH
+
+#include <visp/vpMatrix.h>
+#include <visp/vpColVector.h>
+
+#include <visp/vpMeTracker.h>
+#include <visp/vpMeSite.h>
+#include <visp/vpImagePoint.h>
+
+#include <visp/vpImage.h>
+#include <visp/vpColor.h>
+
+#include <math.h>
+#include <list>
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+/*!
+  \class vpMbtMeEllipse
+  \ingroup TrackingImageME
+
+  \brief Class that tracks an ellipse moving edges.
+
+  In this class, an ellipse is defined as the set of points \f$ (i,j) \f$ of the image frame (For more information about the image frame see the vpImagePoint documentation) that satisfy the implicit equation :
+
+  \f[ i^2 + K_0j^2 + 2K_1ij + 2K_2i + 2K_3j + K4 = 0 \f]
+
+  If \f$ K_0 \f$ is equal to 1 and \f$ K_1 \f$ is equal to 0 the the set of points \f$ (i,j) \f$ represents a circle.
+
+  The five parameters are stored in the public attribute K.
+
+  An ellipse is also defined thanks to three other parameter which are \f$ a \f$, \f$ b \f$ and \f$ e \f$. \f$ a \f$ represents the semiminor axis and \f$ b \f$ is the semimajor axis. Here \f$ e \f$ is the angle made by the
+  major axis and the i axis of the image frame \f$ (i,j) \f$. The following figure shows better meaning of those parameters.
+
+  \image html vpMbtMeEllipse.gif
+  \image latex vpMbtMeEllipse.ps  width=10cm
+
+  It is possible to compute the coordinates \f$ (i,j) \f$ of a point which belongs to the ellipse thanks to the following equations :
+
+  \f[ i = i_c + b cos(e) cos(\alpha) - a sin(e) sin(\alpha) \f]
+  \f[ j = j_c + b sin(e) cos(\alpha) + a cos(e) sin(\alpha) \f]
+
+  Here the coordinates \f$ (i_c,j_c) \f$ are the coordinates of the ellipse center in the image frame and \f$ \alpha \f$ is an angle beetween \f$ [0,2\pi] \f$ and which enables to describe all the points of the ellipse.
+
+  \image html vpMbtMeEllipse2.gif
+  \image latex vpMbtMeEllipse2.ps  width=10cm
+
+  The example below available in tutorial-me-ellipse-tracker.cpp and described
+  in \ref tutorial-tracking-me, section \ref tracking_me_ellipse shows how to use this class.
+
+  \include tutorial-me-ellipse-tracker.cpp
+
+  */
+/*
+  The code below shows how to use this class.
+\code
+#include <visp/vpConfig.h>
+#include <visp/vpImage.h>
+#include <visp/vpMbtMeEllipse.h>
+#include <visp/vpImagePoint.h>
+
+int main()
+{
+  vpImage<unsigned char> I;
+
+  // I is the image containing the ellipse to track
+    
+  // Set the moving-edges tracker parameters
+  vpMe me;
+  me.setRange(25);
+  me.setPointsToTrack(20);
+  me.setThreshold(15000);
+  me.setSampleStep(10);
+
+  // Initialize the moving-edges ellipse tracker parameters
+  vpMbtMeEllipse ellipse;
+  ellipse.setMe(&me);
+
+  // Initialize the tracking. You have to click on five different points belonging to the ellipse.
+  ellipse.initTracking(I);
+
+  while ( 1 )
+  {
+    // ... Here the code to read or grab the next image.
+
+    // Track the ellipse.
+    ellipse.track(I);
+  }
+  return 0;
+}
+\endcode
+
+  \note It is possible to display the ellipse as an overlay. For that you 
+  must use the display function of the class vpMbtMeEllipse.
+*/
+
+class VISP_EXPORT vpMbtMeEllipse : public vpMeTracker
+{
+public:
+  vpMbtMeEllipse() ;
+  vpMbtMeEllipse(const vpMbtMeEllipse &meellipse) ;
+  virtual ~vpMbtMeEllipse() ;
+
+
+  void display(const vpImage<unsigned char>&I, vpColor col) ;
+  void display(const vpImage<unsigned char>& I) {vpMeTracker::display(I);} //Shouldn't be here since it's already in vpMeTracker
+  /*!
+    \return Expected number of moving edges to track along the ellipse.
+   */
+  int getExpectedDensity() {return (int)expecteddensity;};
+
+  /*!
+    Gets the 2 order central moment \f$ \mu_{11} \f$.
+    
+    \return the value of \f$ \mu_{11} \f$.
+  */
+  inline double get_mu11() const {return mu11;}
+  
+  /*!
+    Gets the 2 order central moment \f$ \mu_{02} \f$.
+    
+    \return the value of \f$ \mu_{02} \f$.
+  */
+  inline double get_mu02() const {return mu02;}
+  
+  /*!
+    Gets the 2 order central moment \f$ \mu_{20} \f$.
+    
+    \return the value of \f$ \mu_{20} \f$.
+  */
+  inline double get_mu20() const {return mu20;}
+  
+  /*!
+    Gets the center of the ellipse.
+  */
+  inline vpImagePoint getCenter() const {return iPc; }
+  
+  /*!
+    Gets the semiminor axis of the ellipse.
+  */
+  inline double getA() const {return a; }
+  
+  /*!
+    Gets the semimajor axis of the ellipse.
+  */
+  inline double getB() const {return b; }
+  
+  /*!
+    Gets the angle made by the major axis and the i axis of the image frame \f$ (i,j) \f$
+  */
+  inline double getE() const {return e; }
+  
+  /*!
+    Gets the parameters a, b, e of the ellipse.
+  */
+  void getEquationParam(double &A, double &B, double &E) { A = a; B = b; E = e; }
+
+  void initTracking(const vpImage<unsigned char> &I, const vpImagePoint &ic,
+                    double mu20_p, double mu11_p, double mu02_p) ;
+
+  void track(const vpImage<unsigned char>& Im);
+
+  void updateParameters(const vpImage<unsigned char> &I, const vpImagePoint &ic,
+                        double mu20_p, double mu11_p, double mu02_p);
+
+
+protected:
+  //! The coordinates of the ellipse center.
+  vpImagePoint iPc;
+  //! \f$ a \f$ is the semiminor axis of the ellipse.
+  double a;
+  //! \f$ b \f$ is the semimajor axis of the ellipse.
+  double b;
+  //! \f$ e \f$ is the angle made by the major axis and the i axis of the image frame \f$ (i,j) \f$.
+  double e;
+
+protected:
+  //! Value of cos(e).
+  double ce;
+  //! Value of sin(e).
+  double se;
+
+  //! Second order central moments
+  double mu11,mu20, mu02;
+  //! Threshold for the robust least square.
+  double thresholdWeight;
+  //! Expected number of me to track along the ellipse.
+  double expecteddensity;
+
+private:
+  void sample(const vpImage<unsigned char>&image);
+  void reSample(const vpImage<unsigned char> &I) ;
+  void updateTheta();
+  void suppressPoints() ;
+};
+
+#endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
+#endif
diff --git a/src/tracking/mbt/edge/vpMbtMeLine.cpp b/src/tracking/mbt/edge/vpMbtMeLine.cpp
index 7c2cea16902219661e2e1e724d42f1ba955a71e6..6a9c96fd6294fd9386e43838c6e25185ef6a0798 100644
--- a/src/tracking/mbt/edge/vpMbtMeLine.cpp
+++ b/src/tracking/mbt/edge/vpMbtMeLine.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMbtMeLine.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpMbtMeLine.cpp 5216 2015-01-28 08:03:09Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -85,7 +85,7 @@ vpMbtMeLine::~vpMbtMeLine()
   Initialization of the tracking. The line is defined thanks to the
   coordinates of two points corresponding to the extremities and its (\f$\rho \: \theta\f$) parameters.
   
-  Remeber the equation of a line : \f$ i \; cos(\theta) + j \; sin(\theta) - \rho = 0 \f$
+  Remember the equation of a line : \f$ i \; cos(\theta) + j \; sin(\theta) - \rho = 0 \f$
 
   \param I : Image in which the line appears.
   \param ip1 : Coordinates of the first point.
@@ -110,27 +110,24 @@ vpMbtMeLine::initTracking(const vpImage<unsigned char> &I, const vpImagePoint &i
      
     this->rho = rho_;
     this->theta = theta_;
+    theta_1 = theta_;
       
     a = cos(theta);
     b = sin(theta);
     c = -rho;
-    
-    double d = sqrt(vpMath::sqr(ip1.get_i()-ip2.get_i())+vpMath::sqr(ip1.get_j()-ip2.get_j())) ;
-
-    expecteddensity = d / (double)me->getSampleStep();
-      
+          
     delta = - theta + M_PI/2.0;
     normalizeAngle(delta);
     delta_1 = delta;
 
     sample(I) ;
+    expecteddensity = (double)list.size();
 
     vpMeTracker::track(I);
   }
-  catch(...)
+  catch(vpException &e)
   {
-//    vpERROR_TRACE("Error caught") ;
-    throw ;
+    throw e;
   }
   vpCDEBUG(1) <<" end vpMeLine::initTracking()"<<std::endl ;
 }
@@ -152,9 +149,8 @@ vpMbtMeLine::sample(const vpImage<unsigned char>& I)
   //if (me->getSampleStep==0)
   if (std::fabs(me->getSampleStep()) <= std::numeric_limits<double>::epsilon())
   {
-    vpERROR_TRACE("function called with sample step = 0") ;
     throw(vpTrackingException(vpTrackingException::fatalError,
-			      "sample step = 0")) ;
+                              "Function vpMbtMeLine::sample() called with moving-edges sample step = 0")) ;
   }
 
   // i, j portions of the line_p
@@ -183,12 +179,12 @@ vpMbtMeLine::sample(const vpImage<unsigned char>& I)
   for(int i=0; i<=vpMath::round(n_sample); i++)
   {
     // If point is in the image, add to the sample list
-    if(!outOfImage(vpMath::round(is), vpMath::round(js), 0, rows, cols))
+    if(!outOfImage(vpMath::round(is), vpMath::round(js), (int)(me->getRange()+me->getMaskSize()+1), (int)rows, (int)cols))
     {
       vpMeSite pix ; //= list.value();
       pix.init((int)is, (int)js, delta, 0, sign) ;
   
-      pix.track(I,me,0);
+      pix.track(I, me, false);
       
       pix.setDisplay(selectDisplay) ;
 
@@ -207,7 +203,7 @@ vpMbtMeLine::sample(const vpImage<unsigned char>& I)
   }
 
   vpCDEBUG(1) << "end vpMeLine::sample() : ";
-  vpCDEBUG(1) << n_sample << " point inserted in the list " << std::endl  ;
+  vpCDEBUG(1) << list.size() << " point inserted in the list " << std::endl  ;
 }
 
 
@@ -217,39 +213,45 @@ vpMbtMeLine::sample(const vpImage<unsigned char>& I)
   \param I : The image.
 */
 void
-vpMbtMeLine::suppressPoints(const vpImage<unsigned char> & /*I*/)
+vpMbtMeLine::suppressPoints(const vpImage<unsigned char> & I)
 {
   for(std::list<vpMeSite>::iterator it=list.begin(); it!=list.end(); ){
     vpMeSite s = *it;//current reference pixel
 
-  if (fabs(sin(theta)) > 0.9) // Vertical line management
-  {
-    if ((s.i < imin) ||(s.i > imax)) 
+    if (fabs(sin(theta)) > 0.9) // Vertical line management
     {
-      s.setState(vpMeSite::CONSTRAST);
+      if ((s.i < imin) ||(s.i > imax))
+      {
+        s.setState(vpMeSite::CONSTRAST);
+      }
     }
-  }
 
-  else if (fabs(cos(theta)) > 0.9) // Horizontal line management
-  {
-    if ((s.j < jmin) || (s.j > jmax))
+    else if (fabs(cos(theta)) > 0.9) // Horizontal line management
     {
-      s.setState(vpMeSite::CONSTRAST);
+      if ((s.j < jmin) || (s.j > jmax))
+      {
+        s.setState(vpMeSite::CONSTRAST);
+      }
     }
-  }
 
-  else
-  {
-    if ((s.i < imin) ||(s.i > imax) || (s.j < jmin) || (s.j > jmax) ) 
+    else
     {
-      s.setState(vpMeSite::CONSTRAST);
+      if ((s.i < imin) ||(s.i > imax) || (s.j < jmin) || (s.j > jmax) )
+      {
+        s.setState(vpMeSite::CONSTRAST);
+      }
+
     }
-  }
 
-  if (s.getState() != vpMeSite::NO_SUPPRESSION)
-    it = list.erase(it);
-  else
-    ++it;
+    if (outOfImage(s.i, s.j, (int)(me->getRange()+me->getMaskSize()+1), (int)I.getHeight(), (int)I.getWidth()))
+    {
+      s.setState(vpMeSite::TOO_NEAR);
+    }
+
+    if (s.getState() != vpMeSite::NO_SUPPRESSION)
+      it = list.erase(it);
+    else
+      ++it;
   }
 }
 
@@ -271,9 +273,8 @@ vpMbtMeLine::seekExtremities(const vpImage<unsigned char> &I)
   //if (me->getSampleStep()==0)
   if (std::fabs(me->getSampleStep()) <= std::numeric_limits<double>::epsilon())
   {
-
-    vpERROR_TRACE("function called with sample step = 0") ;
-    throw(vpTrackingException(vpTrackingException::fatalError,"sample step = 0")) ;
+    throw(vpTrackingException(vpTrackingException::fatalError,
+                              "Function called with sample step = 0")) ;
   }
 
   // i, j portions of the line_p
@@ -303,13 +304,12 @@ vpMbtMeLine::seekExtremities(const vpImage<unsigned char> &I)
     P.ifloat = P.ifloat + di*sample_step ; P.i = (int)P.ifloat ;
     P.jfloat = P.jfloat + dj*sample_step ; P.j = (int)P.jfloat ;
 
-
-    if ((P.i < imin) ||(P.i > imax) || (P.j < jmin) || (P.j > jmax) ) 
+    if ((P.i < imin) ||(P.i > imax) || (P.j < jmin) || (P.j > jmax) )
     {
       if (vpDEBUG_ENABLE(3)) vpDisplay::displayCross(I,P.i,P.j,5,vpColor::cyan) ;
     }
     else
-    if(!outOfImage(P.i, P.j, 5, rows, cols))
+    if(!outOfImage(P.i, P.j, (int)(me->getRange()+me->getMaskSize()+1), (int)rows, (int)cols))
     {
       P.track(I,me,false) ;
 
@@ -330,24 +330,23 @@ vpMbtMeLine::seekExtremities(const vpImage<unsigned char> &I)
     P.ifloat = P.ifloat - di*sample_step ; P.i = (int)P.ifloat ;
     P.jfloat = P.jfloat - dj*sample_step ; P.j = (int)P.jfloat ;
 
-
-    if ((P.i < imin) ||(P.i > imax) || (P.j < jmin) || (P.j > jmax) ) 
+    if ((P.i < imin) ||(P.i > imax) || (P.j < jmin) || (P.j > jmax) )
     {
       if (vpDEBUG_ENABLE(3)) vpDisplay::displayCross(I,P.i,P.j,5,vpColor::cyan) ;
     }
 
-  else
-  if(!outOfImage(P.i, P.j, 5, rows, cols))
+    else
+    if(!outOfImage(P.i, P.j, (int)(me->getRange()+me->getMaskSize()+1), (int)rows, (int)cols))
     {
       P.track(I,me,false) ;
-			
+
       if (P.getState() == vpMeSite::NO_SUPPRESSION)
       {
         list.push_back(P);
-				if (vpDEBUG_ENABLE(3)) vpDisplay::displayCross(I,P.i,P.j, 5, vpColor::green) ;
+        if (vpDEBUG_ENABLE(3)) vpDisplay::displayCross(I,P.i,P.j, 5, vpColor::green) ;
       }
       else
-				if (vpDEBUG_ENABLE(3)) vpDisplay::displayCross(I,P.i,P.j, 10, vpColor::blue) ;
+        if (vpDEBUG_ENABLE(3)) vpDisplay::displayCross(I,P.i,P.j, 10, vpColor::blue) ;
     }
   }
 	
@@ -370,16 +369,14 @@ vpMbtMeLine::seekExtremities(const vpImage<unsigned char> &I)
 void
 vpMbtMeLine::reSample(const vpImage<unsigned char> &I)
 {
-  double d = sqrt(vpMath::sqr(PExt[0].ifloat-PExt[1].ifloat)+vpMath::sqr(PExt[0].jfloat-PExt[1].jfloat)) ;
-
   unsigned int n = numberOfSignal() ;
-  double expected_density = d / (double)me->getSampleStep();
 
-  if ((double)n<0.5*expected_density && n > 0)
+  if ((double)n<0.5*expecteddensity && n > 0)
   {
     double delta_new = delta;
     delta = delta_1;
     sample(I) ;
+    expecteddensity = (double)list.size();
     delta = delta_new;
     //  2. On appelle ce qui n'est pas specifique
     {
@@ -404,12 +401,9 @@ vpMbtMeLine::reSample(const vpImage<unsigned char> &I)
 void
 vpMbtMeLine::reSample(const vpImage<unsigned char> &I, vpImagePoint ip1, vpImagePoint ip2)
 {
-  double d = sqrt(vpMath::sqr(ip1.get_i()-ip2.get_i())+vpMath::sqr(ip1.get_j()-ip2.get_j())) ;
-
   size_t n = list.size();
-  expecteddensity = d / (double)me->getSampleStep();
 
-  if ((double)n<0.5*expecteddensity && n > 0)
+  if ((double)n<0.5*expecteddensity /*&& n > 0*/) // n is always > 0
   {
     double delta_new = delta;
     delta = delta_1;
@@ -418,6 +412,7 @@ vpMbtMeLine::reSample(const vpImage<unsigned char> &I, vpImagePoint ip1, vpImage
     PExt[1].ifloat = (float)ip2.get_i() ;
     PExt[1].jfloat = (float)ip2.get_j() ;
     sample(I) ;
+    expecteddensity = (double)list.size();
     delta = delta_new;
     vpMeTracker::track(I) ;
   }
@@ -470,9 +465,9 @@ vpMbtMeLine::track(const vpImage<unsigned char> &I)
   {
     vpMeTracker::track(I);
   }
-  catch(...)
+  catch(vpException &e)
   {
-    throw ;
+    throw e;
   }
 
   // supression des points rejetes par les ME
diff --git a/src/tracking/mbt/edge/vpMbtMeLine.h b/src/tracking/mbt/edge/vpMbtMeLine.h
index 8cdaaa009e293bbc1509cb5298bb2eecc3197764..dac7d9f6c48a5e7ae8e2282583c973c8c7ee0c8d 100644
--- a/src/tracking/mbt/edge/vpMbtMeLine.h
+++ b/src/tracking/mbt/edge/vpMbtMeLine.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMbtMeLine.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpMbtMeLine.h 4740 2014-05-26 07:15:44Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -53,6 +53,8 @@
 #include <visp/vpMe.h>
 #include <visp/vpMeTracker.h>
 
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
 /*!
   \class vpMbtMeLine
   \brief Implementation of a line used by the model-based tracker.
@@ -121,5 +123,7 @@ class VISP_EXPORT vpMbtMeLine : public vpMeTracker
     void updateDelta();
 } ;
 
+#endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
+
 #endif
 
diff --git a/src/tracking/mbt/edge/vpMbtXmlParser.cpp b/src/tracking/mbt/edge/vpMbtXmlParser.cpp
index 8dd9cf2438ce53eb99825f1096485107b36d46fd..fef84274535e58a7ee217fee8773972e7015e8ca 100644
--- a/src/tracking/mbt/edge/vpMbtXmlParser.cpp
+++ b/src/tracking/mbt/edge/vpMbtXmlParser.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMbtXmlParser.cpp 4632 2014-02-03 17:06:40Z fspindle $
+ * $Id: vpMbtXmlParser.cpp 5238 2015-01-30 13:52:25Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -58,7 +58,7 @@
   Default constructor. 
   
 */
-vpMbtXmlParser::vpMbtXmlParser() : m_ecm()
+vpMbtXmlParser::vpMbtXmlParser() : m_ecm(), useLod(false), minLineLengthThreshold(50.0), minPolygonAreaThreshold(2500.0)
 {
   init();
 }
@@ -91,6 +91,10 @@ vpMbtXmlParser::init()
   nodeMap["sample"] = sample;
   nodeMap["step"] = step;
   nodeMap["nb_sample"] = nb_sample;
+  nodeMap["lod"] = lod;
+  nodeMap["use_lod"] = use_lod;
+  nodeMap["min_line_length_threshold"] = min_line_length_threshold;
+  nodeMap["min_polygon_area_threshold"] = min_polygon_area_threshold;
 }
 
 /*!
@@ -131,6 +135,7 @@ vpMbtXmlParser::readMainClass(xmlDocPtr doc, xmlNodePtr node)
   bool face_node = false;
   bool ecm_node = false;
   bool sample_node = false;
+  bool lod_node = false;
   
   for(xmlNodePtr dataNode = node->xmlChildrenNode; dataNode != NULL;  dataNode = dataNode->next)  {
     if(dataNode->type == XML_ELEMENT_NODE){
@@ -153,6 +158,10 @@ vpMbtXmlParser::readMainClass(xmlDocPtr doc, xmlNodePtr node)
           this->read_sample (doc, dataNode);
           sample_node = true;
           }break;
+        case lod:{
+          this->read_lod(doc, dataNode);
+          lod_node = true;
+          }break;
         default:{
 //          vpTRACE("unknown tag in read_sample : %d, %s", iter_data->second, (iter_data->first).c_str());
           }break;
@@ -186,6 +195,12 @@ vpMbtXmlParser::readMainClass(xmlDocPtr doc, xmlNodePtr node)
     std::cout <<"sample : sample_step : "<< this->m_ecm.getSampleStep()<< " (default)" << std::endl;
     std::cout <<"sample : n_total_sample : "<< this->m_ecm.getNbTotalSample()<< " (default)"<<std::endl;
   }
+
+  if(!lod_node) {
+    std::cout << "lod : use lod : " << useLod << " (default)" << std::endl;
+    std::cout << "lod : min line length threshold : " << minLineLengthThreshold << " (default)" << std::endl;
+    std::cout << "lod : min polygon area threshold : " << minPolygonAreaThreshold << " (default)" << std::endl;
+  }
 }
 
 
@@ -338,6 +353,9 @@ vpMbtXmlParser::read_mask (xmlDocPtr doc, xmlNodePtr node)
   }
 
   this->m_ecm.setMaskSize(d_size) ;
+  // Check to ensure that d_nb_mask > 0
+  if (! d_nb_mask)
+    throw(vpException(vpException::badValue, "Model-based tracker mask size parameter should be different from zero in xml file"));
   this->m_ecm.setMaskNumber(d_nb_mask);
   
   if(!size_node)
@@ -458,5 +476,53 @@ vpMbtXmlParser::read_contrast (xmlDocPtr doc, xmlNodePtr node)
     std::cout <<"ecm : contrast : mu2 " << this->m_ecm.getMu2()<<std::endl;
 }
 
+void
+vpMbtXmlParser::read_lod (xmlDocPtr doc, xmlNodePtr node) {
+  bool use_lod_node = false;
+  bool min_line_length_threshold_node = false;
+  bool min_polygon_area_threshold_node = false;
+
+
+  for(xmlNodePtr dataNode = node->xmlChildrenNode; dataNode != NULL;  dataNode = dataNode->next)  {
+    if(dataNode->type == XML_ELEMENT_NODE){
+      std::map<std::string, int>::iterator iter_data= this->nodeMap.find((char*)dataNode->name);
+      if(iter_data != nodeMap.end()){
+        switch (iter_data->second){
+        case use_lod:
+          useLod = (xmlReadIntChild(doc, dataNode) != 0);
+          use_lod_node = true;
+          break;
+        case min_line_length_threshold:
+          minLineLengthThreshold = xmlReadDoubleChild(doc, dataNode);
+          min_line_length_threshold_node = true;
+          break;
+        case min_polygon_area_threshold:
+          minPolygonAreaThreshold = xmlReadDoubleChild(doc, dataNode);
+          min_polygon_area_threshold_node = true;
+          break;
+        default:{
+//          vpTRACE("unknown tag in read_contrast : %d, %s", iter_data->second, (iter_data->first).c_str());
+          }break;
+        }
+      }
+    }
+  }
+
+  if(!use_lod_node)
+    std::cout << "lod : use lod : " << useLod << " (default)" <<std::endl;
+  else
+    std::cout << "lod : use lod : " << useLod << std::endl;
+
+  if(!min_line_length_threshold_node)
+    std::cout <<"lod : min line length threshold : " << minLineLengthThreshold <<" (default)" <<std::endl;
+  else
+    std::cout <<"lod : min line length threshold : " << minLineLengthThreshold <<std::endl;
+
+  if(!min_polygon_area_threshold_node)
+    std::cout <<"lod : min polygon area threshold : " << minPolygonAreaThreshold <<" (default)" <<std::endl;
+  else
+    std::cout <<"lod : min polygon area threshold : " << minPolygonAreaThreshold <<std::endl;
+}
+
 #endif
 
diff --git a/src/tracking/mbt/edge/vpMbtXmlParser.h b/src/tracking/mbt/edge/vpMbtXmlParser.h
index ed870fecae4bb5026bb4be54000a48ca0d28f062..75e3dd8db1344c1c2001a6020033e4b6fc3d684f 100644
--- a/src/tracking/mbt/edge/vpMbtXmlParser.h
+++ b/src/tracking/mbt/edge/vpMbtXmlParser.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMbtXmlParser.h 4582 2014-01-14 14:02:46Z ayol $
+ * $Id: vpMbtXmlParser.h 5054 2014-12-11 17:50:44Z strinh $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -70,9 +70,6 @@
 class VISP_EXPORT vpMbtXmlParser: virtual public vpMbXmlParser
 {
 protected:
-  //! Moving edges parameters.
-  vpMe m_ecm;
-
   typedef enum{
     ecm = vpMbXmlParser::last,
     mask,
@@ -87,17 +84,56 @@ protected:
     sample,
     step,
     nb_sample,
+    lod,
+    use_lod,
+    min_line_length_threshold,
+    min_polygon_area_threshold,
     last
   } dataToParseMb;
 
+  //! Moving edges parameters.
+  vpMe m_ecm;
+  //! If true, the LOD is enabled, otherwise it is not
+  bool useLod;
+  //! Minimum line length to track a segment when LOD is enabled
+  double minLineLengthThreshold;
+  //! Minimum polygon area to track a face when LOD is enabled
+  double minPolygonAreaThreshold;
+
 
 public:
 
-	vpMbtXmlParser();
-	virtual ~vpMbtXmlParser();
+  vpMbtXmlParser();
+  virtual ~vpMbtXmlParser();
+
+  /*!
+     Get the state of LOD setting.
+
+     \return True if LOD is enabled, false otherwise.
+   */
+  inline bool getLodState() const {
+    return useLod;
+  }
 
   void getMe(vpMe& _ecm) const { _ecm = this->m_ecm;}
   
+  /*!
+     Get the minimum line length to track a segment when LOD is enabled.
+
+     \return The minimum line length.
+   */
+  inline double getMinLineLengthThreshold() const {
+    return minLineLengthThreshold;
+  }
+
+  /*!
+     Get the minimum polygon area to track a face when LOD is enabled.
+
+     \return The minimum polygon area.
+   */
+  inline double getMinPolygonAreaThreshold() const {
+    return minPolygonAreaThreshold;
+  }
 
   void parse(const char * filename);
 
@@ -107,11 +143,12 @@ public:
   void read_mask (xmlDocPtr doc, xmlNodePtr node);
   void read_range (xmlDocPtr doc, xmlNodePtr node);
   void read_contrast (xmlDocPtr doc, xmlNodePtr node);
+  void read_lod (xmlDocPtr doc, xmlNodePtr node);
   
   void setMovingEdge(const vpMe &_ecm){ m_ecm = _ecm; }
-	
+
   void writeMainClass(xmlNodePtr node);
-	
+
 protected:
   void init();
 
diff --git a/src/tracking/mbt/hybrid/vpMbEdgeKltTracker.cpp b/src/tracking/mbt/hybrid/vpMbEdgeKltTracker.cpp
index 6c9c2842f65299b2052953dcb531f05a5a946b55..3799fc3af79647c948da85a3654effee45a1f402 100644
--- a/src/tracking/mbt/hybrid/vpMbEdgeKltTracker.cpp
+++ b/src/tracking/mbt/hybrid/vpMbEdgeKltTracker.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMbEdgeKltTracker.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpMbEdgeKltTracker.cpp 5189 2015-01-21 16:42:18Z ayol $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -39,9 +39,14 @@
  *
  *****************************************************************************/
 
+//#define VP_DEBUG_MODE 1 // Activate debug level 1
+
+#include <visp/vpDebug.h>
 #include <visp/vpMbEdgeKltTracker.h>
+#include <visp/vpTrackingException.h>
+#include <visp/vpVelocityTwistMatrix.h>
 
-#ifdef VISP_HAVE_OPENCV
+#if (defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020100))
 
 vpMbEdgeKltTracker::vpMbEdgeKltTracker()
   : compute_interaction(true), lambda(0.8), thresholdKLT(2.), thresholdMBT(2.), maxIter(200)
@@ -49,9 +54,12 @@ vpMbEdgeKltTracker::vpMbEdgeKltTracker()
   computeCovariance = false;
   
   vpMbKltTracker::setMaxIter(30);
+
+  angleAppears = vpMath::rad(65);
+  angleDisappears = vpMath::rad(75);
   
 #ifdef VISP_HAVE_OGRE
-  vpMbKltTracker::faces.getOgreContext()->setWindowName("MBT Hybrid");
+  faces.getOgreContext()->setWindowName("MBT Hybrid");
 #endif
 }
 
@@ -75,18 +83,7 @@ vpMbEdgeKltTracker::init(const vpImage<unsigned char>& I)
   vpMbKltTracker::init(I);
   
   initPyramid(I, Ipyramid);
-  
-  unsigned int n = 0;
-  for(unsigned int i = 0; i < vpMbKltTracker::faces.size() ; i++){
-      if(vpMbKltTracker::faces[i]->isVisible()){
-        vpMbEdgeTracker::faces[i]->isvisible = true;
-        n++;
-      }
-      else
-        vpMbEdgeTracker::faces[i]->isvisible = false;
-  }
-  vpMbEdgeTracker::nbvisiblepolygone = n;
-  
+
   unsigned int i = (unsigned int)scales.size();
   do {
     i--;
@@ -112,32 +109,44 @@ vpMbEdgeKltTracker::init(const vpImage<unsigned char>& I)
 void           
 vpMbEdgeKltTracker::setPose( const vpImage<unsigned char> &I, const vpHomogeneousMatrix& cdMo)
 {
-  if(firstTrack){
     vpMbKltTracker::setPose(I, cdMo);
     
-    vpMbtDistanceLine *l;
-    lines[scaleLevel].front() ;
-    for(std::list<vpMbtDistanceLine*>::const_iterator it=lines[scaleLevel].begin(); it!=lines[scaleLevel].end(); ++it){
-      l = *it;
-      if(l->meline != NULL){
-        delete l->meline;
-        l->meline = NULL;
+    if (! lines[scaleLevel].empty()) {
+      lines[scaleLevel].front() ;
+      for(std::list<vpMbtDistanceLine*>::const_iterator it=lines[scaleLevel].begin(); it!=lines[scaleLevel].end(); ++it){
+        if((*it)->meline != NULL){
+          delete (*it)->meline;
+          (*it)->meline = NULL;
+        }
       }
     }
     
-    initPyramid(I, Ipyramid);
-    
-    unsigned int n = 0;
-    for(unsigned int i = 0; i < vpMbKltTracker::faces.size() ; i++){
-        if(vpMbKltTracker::faces[i]->isVisible()){
-          vpMbEdgeTracker::faces[i]->isvisible = true;
-          n++;
+    if (! cylinders[scaleLevel].empty()) {
+      cylinders[scaleLevel].front() ;
+      for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders[scaleLevel].begin(); it!=cylinders[scaleLevel].end(); ++it){
+        if((*it)->meline1 != NULL){
+          delete (*it)->meline1;
+          (*it)->meline1 = NULL;
+        }
+        if((*it)->meline2 != NULL){
+          delete (*it)->meline2;
+          (*it)->meline2 = NULL;
         }
-        else
-          vpMbEdgeTracker::faces[i]->isvisible = false;
+      }
     }
-    vpMbEdgeTracker::nbvisiblepolygone = n;
-    
+
+    if (! circles[scaleLevel].empty()) {
+      circles[scaleLevel].front() ;
+      for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[scaleLevel].begin(); it!=circles[scaleLevel].end(); ++it){
+        if((*it)->meEllipse != NULL){
+          delete (*it)->meEllipse;
+          (*it)->meEllipse = NULL;
+        }
+      }
+    }
+
+    initPyramid(I, Ipyramid);
+
     unsigned int i = (unsigned int)scales.size();
     do {
       i--;
@@ -149,7 +158,6 @@ vpMbEdgeKltTracker::setPose( const vpImage<unsigned char> &I, const vpHomogeneou
     } while(i != 0);
     
     cleanPyramid(Ipyramid);
-  }
 }
 
 /*!
@@ -168,6 +176,7 @@ vpMbEdgeKltTracker::initMbtTracking(const unsigned int lvl)
 {
   vpMbtDistanceLine *l ;
   vpMbtDistanceCylinder *cy ;
+  vpMbtDistanceCircle *ci ;
 
   if(lvl  >= scales.size() || !scales[lvl]){
     throw vpException(vpException::dimensionError, "lvl not used.");
@@ -185,7 +194,13 @@ vpMbEdgeKltTracker::initMbtTracking(const unsigned int lvl)
     nbrow += cy->nbFeature ;
     cy->initInteractionMatrixError() ;
   }
-  
+
+  for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[lvl].begin(); it!=circles[lvl].end(); ++it){
+    ci = *it;
+    nbrow += ci->nbFeature ;
+    ci->initInteractionMatrixError() ;
+  }
+
   return nbrow;  
 }
 
@@ -277,8 +292,8 @@ vpMbEdgeKltTracker::loadConfigFile(const char* configFile)
   vpMbtEdgeKltXmlParser xmlp;
 
   xmlp.setCameraParameters(cam);
-  xmlp.setAngleAppear(vpMath::deg(vpMbKltTracker::angleAppears));
-  xmlp.setAngleDisappear(vpMath::deg(vpMbKltTracker::angleDisappears));
+  xmlp.setAngleAppear(vpMath::deg(angleAppears));
+  xmlp.setAngleDisappear(vpMath::deg(angleDisappears));
 
   xmlp.setMovingEdge(me);
 
@@ -304,10 +319,8 @@ vpMbEdgeKltTracker::loadConfigFile(const char* configFile)
   xmlp.getCameraParameters(camera);
   setCameraParameters(camera);
 
-  vpMbEdgeTracker::angleAppears = vpMath::rad(xmlp.getAngleAppear());
-  vpMbEdgeTracker::angleDisappears = vpMath::rad(xmlp.getAngleDisappear());
-  vpMbKltTracker::angleAppears = vpMath::rad(xmlp.getAngleAppear());
-  vpMbKltTracker::angleDisappears = vpMath::rad(xmlp.getAngleDisappear());
+  angleAppears = vpMath::rad(xmlp.getAngleAppear());
+  angleDisappears = vpMath::rad(xmlp.getAngleDisappear());
 
   if(xmlp.hasNearClippingDistance())
     setNearClippingDistance(xmlp.getNearClippingDistance());
@@ -316,8 +329,7 @@ vpMbEdgeKltTracker::loadConfigFile(const char* configFile)
     setFarClippingDistance(xmlp.getFarClippingDistance());
 
   if(xmlp.getFovClipping()){
-    vpMbEdgeTracker::setClipping(vpMbEdgeTracker::clippingFlag | vpMbtPolygon::FOV_CLIPPING);
-    vpMbKltTracker::setClipping(vpMbKltTracker::clippingFlag | vpMbtPolygon::FOV_CLIPPING);
+    setClipping(vpMbEdgeTracker::clippingFlag | vpMbtPolygon::FOV_CLIPPING);
   }
 
   vpMe meParser;
@@ -337,22 +349,6 @@ vpMbEdgeKltTracker::loadConfigFile(const char* configFile)
 #endif
 }
 
-/*!
-  Load a 3D model from the file in parameter. This file must either be a vrml
-  file (.wrl) or a CAO file (.cao). CAO format is described in the 
-  loadCAOModel() method. 
-
-  \throw vpException::ioError if the file cannot be open, or if its extension is
-  not wrl or cao. 
-
-  \param modelFile : the file containing the model.
-*/
-void
-vpMbEdgeKltTracker::loadModel(const std::string& modelFile)
-{
-  vpMbTracker::loadModel(modelFile);
-}
-
 /*!
   Realize the post tracking operations. Mostly visibility tests
 */
@@ -363,7 +359,7 @@ vpMbEdgeKltTracker::postTracking(const vpImage<unsigned char>& I, vpColVector &w
   bool reInit = vpMbKltTracker::postTracking(I, w_klt);
   
   postTrackingMbt(w_mbt,lvl);
-  
+
   if (displayFeatures)
   {
     if(lvl == 0){
@@ -378,8 +374,17 @@ vpMbEdgeKltTracker::postTracking(const vpImage<unsigned char>& I, vpColVector &w
       vpMbtDistanceCylinder *cy ;
       for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders[lvl].begin(); it!=cylinders[lvl].end(); ++it){
         cy = *it;
+        // A cylinder is always visible
         cy->displayMovingEdges(I);
       }
+
+      vpMbtDistanceCircle *ci ;
+      for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[lvl].begin(); it!=circles[lvl].end(); ++it){
+        ci = *it;
+        if (ci->isVisible()){
+          ci->displayMovingEdges(I);
+        }
+      }
     }
   }
   
@@ -387,16 +392,6 @@ vpMbEdgeKltTracker::postTracking(const vpImage<unsigned char>& I, vpColVector &w
     return true;
   
   vpMbEdgeTracker::updateMovingEdge(I);
-  unsigned int n = 0;
-  for(unsigned int i = 0; i < vpMbKltTracker::faces.size() ; i++){
-      if(vpMbKltTracker::faces[i]->isVisible()){
-        vpMbEdgeTracker::faces[i]->isvisible = true;
-        n++;
-      }
-      else
-        vpMbEdgeTracker::faces[i]->isvisible = false;
-  }
-  vpMbEdgeTracker::nbvisiblepolygone = n;
   
   vpMbEdgeTracker::initMovingEdge(I, cMo) ;
   vpMbEdgeTracker::reinitMovingEdge(I, cMo);
@@ -405,7 +400,7 @@ vpMbEdgeKltTracker::postTracking(const vpImage<unsigned char>& I, vpColVector &w
 }
 
 /*!
-  post tracking computation. Compute the mean weight of a line and, check the
+  Post tracking computation. Compute the mean weight of a line and, check the
   weight associated to a site (to eventually remove an outlier) and eventually
   set a flag to re-initialize the line.
 
@@ -417,7 +412,6 @@ vpMbEdgeKltTracker::postTracking(const vpImage<unsigned char>& I, vpColVector &w
 void
 vpMbEdgeKltTracker::postTrackingMbt(vpColVector &w, const unsigned int lvl)
 {
-
   if(lvl  >= scales.size() || !scales[lvl]){
     throw vpException(vpException::dimensionError, "_lvl not used.");
   }
@@ -517,6 +511,44 @@ vpMbEdgeKltTracker::postTrackingMbt(vpColVector &w, const unsigned int lvl)
 
     n+= cy->nbFeature ;
   }
+
+  // Same thing with circles as with lines
+  vpMbtDistanceCircle *ci;
+  for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[scaleLevel].begin(); it!=circles[scaleLevel].end(); ++it){
+    ci = *it;
+    double wmean = 0 ;
+    std::list<vpMeSite>::iterator itListCir;
+
+    if (ci->nbFeature > 0){
+      itListCir = ci->meEllipse->getMeList().begin();
+    }
+
+    wmean = 0;
+    for(unsigned int i=0 ; i < ci->nbFeature ; i++){
+      wmean += w[n+i] ;
+      vpMeSite p = *itListCir;
+      if (w[n+i] < 0.5){
+        p.setState(vpMeSite::M_ESTIMATOR);
+
+        *itListCir = p;
+      }
+
+      ++itListCir;
+    }
+
+    if (ci->nbFeature!=0)
+      wmean /= ci->nbFeature ;
+    else
+      wmean = 1;
+
+    ci->setMeanWeight(wmean);
+
+    if (wmean < 0.8){
+      ci->Reinit = true;
+    }
+
+    n+= ci->nbFeature ;
+  }
 }
 
 /*!
@@ -545,30 +577,31 @@ vpMbEdgeKltTracker::computeVVS(const vpImage<unsigned char>& I, const unsigned i
   double residu_1 = -1;
   unsigned int iter = 0;
 
-  vpMatrix *J;
-  vpMatrix J_mbt, J_klt;     // interaction matrix
+  vpMatrix *L;
+  vpMatrix L_mbt, L_klt;     // interaction matrix
   vpColVector *R;
   vpColVector R_mbt, R_klt;  // residu
-  vpMatrix J_true;
-  vpColVector R_true;
+  vpMatrix L_true;
+  vpMatrix LVJ_true;
+  //vpColVector R_true;
   vpColVector w_true;
   
   if(nbrow != 0){
-    J_mbt.resize(nbrow,6);
+    L_mbt.resize(nbrow,6);
     R_mbt.resize(nbrow);
   }
   
   if(nbInfos != 0){
-    J_klt.resize(2*nbInfos,6);
+    L_klt.resize(2*nbInfos,6);
     R_klt.resize(2*nbInfos);
   }
   
-  vpColVector w;  // weight from MEstimator
+  //vpColVector w;  // weight from MEstimator
   vpColVector v;  // "speed" for VVS
   vpRobust robust_mbt(0), robust_klt(0);
   vpHomography H;
 
-  vpMatrix JTJ, JTR;
+  vpMatrix LTL, LTR;
   
   double factorMBT = 1.0;
   double factorKLT = 1.0;
@@ -579,41 +612,55 @@ vpMbEdgeKltTracker::computeVVS(const vpImage<unsigned char>& I, const unsigned i
   factorMBT = 0.35;
   factorKLT = 0.65;
   
+  if (nbrow < 4)
+    factorKLT = 1.;
+  if (nbInfos < 4)
+    factorMBT = 1.;
+
   double residuMBT = 0;
   double residuKLT = 0;
+
+  vpHomogeneousMatrix cMoPrev;
   
   while( ((int)((residu - residu_1)*1e8) !=0 )  && (iter<maxIter) ){   
-    J = new vpMatrix(); 
+    L = new vpMatrix();
     R = new vpColVector();
     
     if(nbrow >= 4)
-      trackSecondLoop(I,J_mbt,R_mbt,cMo,lvl);
+      trackSecondLoop(I,L_mbt,R_mbt,cMo,lvl);
       
     if(nbInfos >= 4){
       unsigned int shift = 0;
-      for (unsigned int i = 0; i < vpMbKltTracker::faces.size(); i += 1){
-        if(vpMbKltTracker::faces[i]->isVisible() && vpMbKltTracker::faces[i]->hasEnoughPoints()){
-          vpSubColVector subR(R_klt, shift, 2*vpMbKltTracker::faces[i]->getNbPointsCur());
-          vpSubMatrix subJ(J_klt, shift, 0, 2*vpMbKltTracker::faces[i]->getNbPointsCur(), 6);
-          vpMbKltTracker::faces[i]->computeHomography(ctTc0, H);
-          vpMbKltTracker::faces[i]->computeInteractionMatrixAndResidu(subR, subJ);
-          shift += 2*vpMbKltTracker::faces[i]->getNbPointsCur();
+      vpMbtDistanceKltPoints *kltpoly;
+    //  for (unsigned int i = 0; i < faces.size(); i += 1){
+      for(std::list<vpMbtDistanceKltPoints*>::const_iterator it=vpMbKltTracker::kltPolygons.begin(); it!=vpMbKltTracker::kltPolygons.end(); ++it){
+        kltpoly = *it;
+        if(kltpoly->polygon->isVisible() && kltpoly->hasEnoughPoints()){
+          vpSubColVector subR(R_klt, shift, 2*kltpoly->getCurrentNumberPoints());
+          vpSubMatrix subL(L_klt, shift, 0, 2*kltpoly->getCurrentNumberPoints(), 6);
+          kltpoly->computeHomography(ctTc0, H);
+          kltpoly->computeInteractionMatrixAndResidu(subR, subL);
+          shift += 2*kltpoly->getCurrentNumberPoints();
         }
       }
     }
     
     if(iter == 0){
-      w.resize(nbrow + 2*nbInfos);
-      w=1;
-      
-      w_mbt.resize(nbrow);
-      w_mbt = 1;
-      robust_mbt.resize(nbrow);
-      
-      w_klt.resize(2*nbInfos);
-      w_klt = 1;
-      robust_klt.resize(2*nbInfos);
-      
+      m_w.resize(nbrow + 2*nbInfos);
+      m_w=1;
+
+      if(nbrow != 0){
+        w_mbt.resize(nbrow);
+        w_mbt = 1;
+        robust_mbt.resize(nbrow);
+      }
+
+      if(nbInfos != 0){
+        w_klt.resize(2*nbInfos);
+        w_klt = 1;
+        robust_klt.resize(2*nbInfos);
+      }
+
       w_true.resize(nbrow + 2*nbInfos);
     }
 
@@ -627,7 +674,7 @@ vpMbEdgeKltTracker::computeVVS(const vpImage<unsigned char>& I, const unsigned i
       robust_mbt.setIteration(iter);
       robust_mbt.setThreshold(thresholdMBT/cam.get_px());
       robust_mbt.MEstimator( vpRobust::TUKEY, R_mbt, w_mbt);
-      J->stackMatrices(J_mbt);
+      L->stackMatrices(L_mbt);
       R->stackMatrices(R_mbt);
     }
     
@@ -641,23 +688,28 @@ vpMbEdgeKltTracker::computeVVS(const vpImage<unsigned char>& I, const unsigned i
       robust_klt.setThreshold(thresholdKLT/cam.get_px());
       robust_klt.MEstimator( vpRobust::TUKEY, R_klt, w_klt);
       
-      J->stackMatrices(J_klt);
+      L->stackMatrices(L_klt);
       R->stackMatrices(R_klt);
     }
 
     unsigned int cpt = 0;
     while(cpt< (nbrow+2*nbInfos)){
       if(cpt<(unsigned)nbrow){
-        w[cpt] = ((w_mbt[cpt] * factor[cpt]) * factorMBT) ;
+        m_w[cpt] = ((w_mbt[cpt] * factor[cpt]) * factorMBT) ;
       }
       else
-        w[cpt] = (w_klt[cpt-nbrow] * factorKLT);
+        m_w[cpt] = (w_klt[cpt-nbrow] * factorKLT);
       cpt++;
     }
     
+    m_error = (*R);
     if(computeCovariance){
-      R_true = (*R);
-      J_true = (*J);
+      L_true = (*L);
+      if(!isoJoIdentity){
+         vpVelocityTwistMatrix cVo;
+         cVo.buildFrom(cMo);
+         LVJ_true = ((*L)*cVo*oJo);
+      }
     }
 
     residu_1 = residu;
@@ -665,36 +717,57 @@ vpMbEdgeKltTracker::computeVVS(const vpImage<unsigned char>& I, const unsigned i
     double num = 0;
     double den = 0;
     for (unsigned int i = 0; i < static_cast<unsigned int>(R->getRows()); i++){
-      num += w[i]*vpMath::sqr((*R)[i]);
-      den += w[i];
+      num += m_w[i]*vpMath::sqr((*R)[i]);
+      den += m_w[i];
       
-      w_true[i] = w[i]*w[i];
-      (*R)[i] *= w[i];
+      w_true[i] = m_w[i];
+      (*R)[i] *= m_w[i];
       if(compute_interaction){
         for (unsigned int j = 0; j < 6; j += 1){
-          (*J)[i][j] *= w[i];
+          (*L)[i][j] *= m_w[i];
         }
       }
     }
 
     residu = sqrt(num/den);
 
-    JTJ = J->AtA();
-    computeJTR(*J, *R, JTR);
-    v = -lambda * JTJ.pseudoInverse() * JTR;
+    if(isoJoIdentity){
+        LTL = L->AtA();
+        computeJTR(*L, *R, LTR);
+        v = -lambda * LTL.pseudoInverse() * LTR;
+    }
+    else{
+        vpVelocityTwistMatrix cVo;
+        cVo.buildFrom(cMo);
+        vpMatrix LVJ = ((*L)*cVo*oJo);
+        vpMatrix LVJTLVJ = (LVJ).AtA();
+        vpMatrix LVJTR;
+        computeJTR(LVJ, *R, LVJTR);
+        v = -lambda*LVJTLVJ.pseudoInverse(1e-16)*LVJTR;
+        v = cVo * v;
+    }
+
+    cMoPrev = cMo;
     cMo = vpExponentialMap::direct(v).inverse() * cMo;
     ctTc0 = vpExponentialMap::direct(v).inverse() * ctTc0;
     
     iter++;
     
-    delete J;
+    delete L;
     delete R;
   }
   
   if(computeCovariance){
     vpMatrix D;
     D.diag(w_true);
-    covarianceMatrix = vpMatrix::computeCovarianceMatrix(J_true,v,-lambda*R_true,D);
+
+    // Note that here the covariance is computed on cMoPrev for time computation efficiency
+    if(isoJoIdentity){
+        computeCovarianceMatrix(cMoPrev,m_error,L_true,D);
+    }
+    else{
+        computeCovarianceMatrix(cMoPrev,m_error,LVJ_true,D);
+    }
   }
 }
 
@@ -708,11 +781,14 @@ vpMbEdgeKltTracker::computeVVS(const vpImage<unsigned char>& I, const unsigned i
 void
 vpMbEdgeKltTracker::track(const vpImage<unsigned char>& I)
 { 
-  unsigned int nbInfos;
-  unsigned int nbFaceUsed;
+  unsigned int nbInfos  = 0;
+  unsigned int nbFaceUsed = 0;
   vpColVector w_klt;
-  
-  vpMbKltTracker::preTracking(I, nbInfos, nbFaceUsed);
+
+  try{
+    vpMbKltTracker::preTracking(I, nbInfos, nbFaceUsed);
+  }
+  catch(...){}
   
   if(nbInfos >= 4)
     vpMbKltTracker::computeVVS(nbInfos, w_klt);
@@ -725,22 +801,11 @@ vpMbEdgeKltTracker::track(const vpImage<unsigned char>& I)
  
   vpColVector w_mbt;
   computeVVS(I, nbInfos, w_mbt, w_klt);
-  
+
   if(postTracking(I, w_mbt, w_klt)){
     vpMbKltTracker::reinit(I);
     
     initPyramid(I, Ipyramid);
-  
-    unsigned int n = 0;
-    for(unsigned int i = 0; i < vpMbKltTracker::faces.size() ; i++){
-        if(vpMbKltTracker::faces[i]->isVisible()){
-          vpMbEdgeTracker::faces[i]->isvisible = true;
-          n++;
-        }
-        else
-          vpMbEdgeTracker::faces[i]->isvisible = false;
-    }
-    vpMbEdgeTracker::nbvisiblepolygone = n;
     
     unsigned int i = (unsigned int)scales.size();
     do {
@@ -761,6 +826,7 @@ vpMbEdgeKltTracker::trackFirstLoop(const vpImage<unsigned char>& I, vpColVector
 {
   vpMbtDistanceLine *l ;
   vpMbtDistanceCylinder *cy ;
+  vpMbtDistanceCircle *ci ;
 
   if(lvl  >= scales.size() || !scales[lvl]){
     throw vpException(vpException::dimensionError, "_lvl not used.");
@@ -836,6 +902,26 @@ vpMbEdgeKltTracker::trackFirstLoop(const vpImage<unsigned char>& I, vpColVector
 
     n+= cy->nbFeature ;
   }
+
+  for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[scaleLevel].begin(); it!=circles[scaleLevel].end(); ++it){
+    ci = *it;
+    ci->computeInteractionMatrixError(cMo);
+    double fac = 1.0;
+
+    std::list<vpMeSite>::const_iterator itCir;
+    if (ci->meEllipse != NULL) {
+      itCir = ci->meEllipse->getMeList().begin();
+    }
+
+    for(unsigned int i=0 ; i < ci->nbFeature ; i++){
+      factor[n+i] = fac;
+      vpMeSite site = *itCir;
+      if (site.getState() != vpMeSite::NO_SUPPRESSION) factor[n+i] = 0.2;
+      ++itCir;
+    }
+
+    n+= ci->nbFeature ;
+  }
   
   return nbrow;
 }
@@ -846,7 +932,8 @@ vpMbEdgeKltTracker::trackSecondLoop(const vpImage<unsigned char>& I,  vpMatrix &
 {
   vpMbtDistanceLine* l;
   vpMbtDistanceCylinder *cy ;
-  
+  vpMbtDistanceCircle *ci ;
+
   unsigned int n = 0 ;
   for(std::list<vpMbtDistanceLine*>::const_iterator it=lines[lvl].begin(); it!=lines[lvl].end(); ++it){
     l = *it;
@@ -869,9 +956,20 @@ vpMbEdgeKltTracker::trackSecondLoop(const vpImage<unsigned char>& I,  vpMatrix &
         error[n+i] = cy->error[i];
       }
     }
-
     n+= cy->nbFeature ;
   }
+  for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[scaleLevel].begin(); it!=circles[scaleLevel].end(); ++it){
+    ci = *it;
+    ci->computeInteractionMatrixError(cMo) ;
+    for(unsigned int i=0 ; i < ci->nbFeature ; i++){
+      for(unsigned int j=0; j < 6 ; j++){
+        L[n+i][j] = ci->L[i][j];
+        error[n+i] = ci->error[i];
+      }
+    }
+
+    n+= ci->nbFeature ;
+  }
 }
 
 /*!
@@ -891,14 +989,42 @@ vpMbEdgeKltTracker::setCameraParameters(const vpCameraParameters& camera)
 /*!
   Initialise a new face from the coordinates given in parameter.
 
-  \param corners : Coordinates of the corners of the face in the object frame.
-  \param indexFace : index of the face (depends on the vrml file organization).
+  \param polygon : The polygon describing the set of lines that has to be tracked.
+*/
+void
+vpMbEdgeKltTracker::initFaceFromCorners(vpMbtPolygon &polygon)
+{
+  vpMbEdgeTracker::initFaceFromCorners(polygon);
+  vpMbKltTracker::initFaceFromCorners(polygon);
+}
+/*!
+  Initialise a new face from the coordinates given in parameter.
+
+  \param polygon : The polygon describing the set of lines that has to be tracked.
 */
 void
-vpMbEdgeKltTracker::initFaceFromCorners(const std::vector<vpPoint>& corners, const unsigned int indexFace)
+vpMbEdgeKltTracker::initFaceFromLines(vpMbtPolygon &polygon)
 {
-  vpMbEdgeTracker::initFaceFromCorners(corners, indexFace);
-  vpMbKltTracker::initFaceFromCorners(corners, indexFace);
+  vpMbEdgeTracker::initFaceFromLines(polygon);
+  vpMbKltTracker::initFaceFromLines(polygon);
+}
+
+/*!
+  Add a circle to track from its center, 3 points (including the center) defining the plane that contain
+  the circle and its radius.
+
+  \param p1 : Center of the circle.
+  \param p2,p3 : Two points on the plane containing the circle. With the center of the circle we have 3 points
+  defining the plane that contains the circle.
+  \param radius : Radius of the circle.
+  \param idFace : Id of the face associated to the circle.
+  \param name : The optional name of the circle.
+*/
+void
+vpMbEdgeKltTracker::initCircle(const vpPoint& p1, const vpPoint &p2, const vpPoint &p3, const double radius,
+    const int idFace, const std::string &name)
+{
+  vpMbEdgeTracker::initCircle(p1, p2, p3, radius, idFace, name);
 }
 
 /*!
@@ -908,12 +1034,14 @@ vpMbEdgeKltTracker::initFaceFromCorners(const std::vector<vpPoint>& corners, con
   \param p1 : First point on the axis.
   \param p2 : Second point on the axis.
   \param radius : Radius of the cylinder.
-  \param indexCylinder : Index of the cylinder.
+  \param idFace : Id of the face associated to the cylinder.
+  \param name : The optional name of the cylinder.
 */
-void    
-vpMbEdgeKltTracker::initCylinder(const vpPoint& p1, const vpPoint &p2, const double radius, const unsigned int indexCylinder)
+void
+vpMbEdgeKltTracker::initCylinder(const vpPoint& p1, const vpPoint &p2, const double radius, const int idFace,
+    const std::string &name)
 {
-  vpMbEdgeTracker::initCylinder(p1, p2, radius, indexCylinder);
+  vpMbEdgeTracker::initCylinder(p1, p2, radius, idFace, name);
 }
 
 /*!
@@ -924,38 +1052,41 @@ vpMbEdgeKltTracker::initCylinder(const vpPoint& p1, const vpPoint &p2, const dou
   \param camera : The camera parameters.
   \param col : The desired color.
   \param thickness : The thickness of the lines.
-  \param displayFullModel : boolean to say if all the model has to be displayed.
+  \param displayFullModel : boolean to say if all the model has to be displayed, even the faces that are not visible.
 */
 void
 vpMbEdgeKltTracker::display(const vpImage<unsigned char>& I, const vpHomogeneousMatrix &cMo_, const vpCameraParameters &camera,
                             const vpColor& col, const unsigned int thickness, const bool displayFullModel)
 {  
-  vpMbtDistanceLine *l ;
-  
   for (unsigned int i = 0; i < scales.size(); i += 1){
     if(scales[i]){
       for(std::list<vpMbtDistanceLine*>::const_iterator it=lines[scaleLevel].begin(); it!=lines[scaleLevel].end(); ++it){
-        l = *it;
-        l->display(I,cMo_, camera, col, thickness, displayFullModel);
+        (*it)->display(I,cMo_, camera, col, thickness, displayFullModel);
       }
 
       for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders[scaleLevel].begin(); it!=cylinders[scaleLevel].end(); ++it){
-        (*it)->display(I, cMo_, camera, col, thickness);
+        (*it)->display(I, cMo_, camera, col, thickness, displayFullModel);
+      }
+
+      for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[scaleLevel].begin(); it!=circles[scaleLevel].end(); ++it){
+        (*it)->display(I, cMo_, camera, col, thickness, displayFullModel);
       }
 
       break ; //displaying model on one scale only
     }
   }
   
-  for (unsigned int i = 0; i < vpMbKltTracker::faces.size(); i += 1){
-    if(displayFeatures && vpMbKltTracker::faces[i]->hasEnoughPoints() && vpMbKltTracker::faces[i]->isVisible()) {
-        vpMbKltTracker::faces[i]->displayPrimitive(I);
+  vpMbtDistanceKltPoints *kltpoly;
+  for(std::list<vpMbtDistanceKltPoints*>::const_iterator it=kltPolygons.begin(); it!=kltPolygons.end(); ++it){
+    kltpoly = *it;
+    if(displayFeatures && kltpoly->hasEnoughPoints() && kltpoly->polygon->isVisible()) {
+        kltpoly->displayPrimitive(I);
     }
   }
   
 #ifdef VISP_HAVE_OGRE
-  if(vpMbKltTracker::useOgre)
-    vpMbKltTracker::faces.displayOgre(cMo_);
+  if(useOgre)
+    faces.displayOgre(cMo_);
 #endif
 }
 
@@ -967,39 +1098,75 @@ vpMbEdgeKltTracker::display(const vpImage<unsigned char>& I, const vpHomogeneous
   \param camera : The camera parameters.
   \param col : The desired color.
   \param thickness : The thickness of the lines.
-  \param displayFullModel : boolean to say if all the model has to be displayed.
+  \param displayFullModel : boolean to say if all the model has to be displayed, even the faces that are not visible.
 */
 void
 vpMbEdgeKltTracker::display(const vpImage<vpRGBa>& I, const vpHomogeneousMatrix &cMo_, const vpCameraParameters &camera,
                             const vpColor& col , const unsigned int thickness, const bool displayFullModel)
-{ 
-  vpMbtDistanceLine *l ;
-  
+{   
   for (unsigned int i = 0; i < scales.size(); i += 1){
     if(scales[i]){
       for(std::list<vpMbtDistanceLine*>::const_iterator it=lines[scaleLevel].begin(); it!=lines[scaleLevel].end(); ++it){
-        l = *it;
-        l->display(I,cMo_, camera, col, thickness, displayFullModel);
+        (*it)->display(I,cMo_, camera, col, thickness, displayFullModel);
       }
 
       for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders[scaleLevel].begin(); it!=cylinders[scaleLevel].end(); ++it){
-        (*it)->display(I, cMo_, camera, col, thickness);
+        (*it)->display(I, cMo_, camera, col, thickness, displayFullModel);
+      }
+
+      for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles[scaleLevel].begin(); it!=circles[scaleLevel].end(); ++it){
+        (*it)->display(I, cMo_, camera, col, thickness, displayFullModel);
       }
 
       break ; //displaying model on one scale only
     }
   }
   
-  for (unsigned int i = 0; i < vpMbKltTracker::faces.size(); i += 1){
-    if(displayFeatures && vpMbKltTracker::faces[i]->hasEnoughPoints() && vpMbKltTracker::faces[i]->isVisible()) {
-        vpMbKltTracker::faces[i]->displayPrimitive(I);
+  vpMbtDistanceKltPoints *kltpoly;
+  for(std::list<vpMbtDistanceKltPoints*>::const_iterator it=kltPolygons.begin(); it!=kltPolygons.end(); ++it){
+    kltpoly = *it;
+    if(displayFeatures && kltpoly->hasEnoughPoints() && kltpoly->polygon->isVisible()) {
+        kltpoly->displayPrimitive(I);
     }
   }
   
 #ifdef VISP_HAVE_OGRE
-  if(vpMbKltTracker::useOgre)
-    vpMbKltTracker::faces.displayOgre(cMo_);
+  if(useOgre)
+    faces.displayOgre(cMo_);
 #endif
 }
 
+/*!
+  Re-initialize the model used by the tracker.
+
+  \param I : The image containing the object to initialize.
+  \param cad_name : Path to the file containing the 3D model description.
+  \param cMo_ : The new vpHomogeneousMatrix between the camera and the new model
+  \param verbose : verbose option to print additional information when loading CAO model files which include other
+  CAO model files.
+*/
+void
+vpMbEdgeKltTracker::reInitModel(const vpImage<unsigned char>& I, const std::string &cad_name,
+                                const vpHomogeneousMatrix& cMo_, const bool verbose)
+{
+  reInitModel(I, cad_name.c_str(), cMo_, verbose);
+}
+
+/*!
+  Re-initialize the model used by the tracker.
+
+  \param I : The image containing the object to initialize.
+  \param cad_name : Path to the file containing the 3D model description.
+  \param cMo_ : The new vpHomogeneousMatrix between the camera and the new model
+  \param verbose : verbose option to print additional information when loading CAO model files which include other
+  CAO model files.
+*/
+void
+vpMbEdgeKltTracker::reInitModel(const vpImage<unsigned char>& I, const char* cad_name,
+                                const vpHomogeneousMatrix& cMo_, const bool verbose)
+{
+  vpMbKltTracker::reInitModel(I, cad_name, cMo_, verbose);
+  vpMbEdgeTracker::reInitModel(I, cad_name, cMo_, verbose);
+}
+
 #endif //VISP_HAVE_OPENCV
diff --git a/src/tracking/mbt/hybrid/vpMbEdgeKltTracker.h b/src/tracking/mbt/hybrid/vpMbEdgeKltTracker.h
index 8f1c27044360fad2d55174472d8880307e1bc96c..8d694dacca84c27e7adc161828977f26c300e561 100644
--- a/src/tracking/mbt/hybrid/vpMbEdgeKltTracker.h
+++ b/src/tracking/mbt/hybrid/vpMbEdgeKltTracker.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMbEdgeKltTracker.h 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpMbEdgeKltTracker.h 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -49,7 +49,7 @@
 
 #include <visp/vpConfig.h>
 
-#ifdef VISP_HAVE_OPENCV
+#if (defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020100))
 
 #include <visp/vpRobust.h>
 #include <visp/vpSubMatrix.h>
@@ -246,31 +246,6 @@ public:
                           const vpColor& col , const unsigned int thickness=1, const bool displayFullModel = false);
   virtual void    display(const vpImage<vpRGBa>& I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam,
                           const vpColor& col , const unsigned int thickness=1, const bool displayFullModel = false);
-  
-  /*! Return the angle used to test polygons appearance. */
-  virtual inline  double  getAngleAppear() const { return vpMbKltTracker::getAngleAppear(); }   
-  
-          /*! Return the angle used to test polygons disappearance. */
-  virtual inline  double  getAngleDisappear() const { return vpMbKltTracker::getAngleDisappear(); } 
-  
-          /*!
-            Get the clipping used.
-            
-            \sa vpMbtPolygonClipping
-            
-            \return Clipping flags.
-          */          
-  virtual inline  unsigned int getClipping() const { return vpMbKltTracker::clippingFlag; } 
-  
-          /*! Return a reference to the faces structure. */
-  inline  vpMbHiddenFaces<vpMbtKltPolygon>& getFaces() { return vpMbKltTracker::faces;}
-
-          /*!
-            Get the far distance for clipping.
-
-            \return Far clipping value.
-          */
-  virtual inline  double  getFarClippingDistance() const { return vpMbKltTracker::getFarClippingDistance(); }
 
           /*!
             Get the value of the gain used to compute the control law.
@@ -295,31 +270,12 @@ public:
 
           void    loadConfigFile(const char* configFile);
   virtual void    loadConfigFile(const std::string& configFile);
-  virtual void    loadModel(const std::string& modelFile);
   
+          void    reInitModel(const vpImage<unsigned char>& I, const std::string &cad_name, const vpHomogeneousMatrix& cMo_,
+        		  const bool verbose=false);
+          void    reInitModel(const vpImage<unsigned char>& I, const char* cad_name, const vpHomogeneousMatrix& cMo,
+        		  const bool verbose=false);
           void    resetTracker();
-          
-          /*!
-            Set the angle used to test polygons appearance.
-            If the angle between the normal of the polygon and the line going
-            from the camera to the polygon center has a value lower than
-            this parameter, the polygon is considered as appearing.
-            The polygon will then be tracked.
-
-            \param a : new angle in radian.
-          */
-  virtual inline  void setAngleAppear(const double &a) { vpMbKltTracker::setAngleAppear(a); vpMbEdgeTracker::setAngleAppear(a);}
-  
-          /*!
-            Set the angle used to test polygons disappearance.
-            If the angle between the normal of the polygon and the line going
-            from the camera to the polygon center has a value greater than
-            this parameter, the polygon is considered as disappearing.
-            The tracking of the polygon will then be stopped.
-
-            \param a : new angle in radian.
-          */
-  virtual inline  void setAngleDisappear(const double &a) { vpMbKltTracker::setAngleDisappear(a); vpMbEdgeTracker::setAngleDisappear(a);}
 
   virtual void    setCameraParameters(const vpCameraParameters& cam);
   
@@ -330,14 +286,14 @@ public:
             
             \param flags : New clipping flags.
           */
-  virtual void    setClipping(const unsigned int &flags) {vpMbEdgeTracker::setClipping(flags); vpMbKltTracker::setClipping(flags);}
+  virtual void    setClipping(const unsigned int &flags) {vpMbEdgeTracker::setClipping(flags); }
 
           /*!
             Set the far distance for clipping.
 
             \param dist : Far clipping value.
           */
-  virtual void   setFarClippingDistance(const double &dist) { vpMbEdgeTracker::setFarClippingDistance(dist); vpMbKltTracker::setFarClippingDistance(dist); }
+  virtual void   setFarClippingDistance(const double &dist) { vpMbEdgeTracker::setFarClippingDistance(dist); }
 
           /*!
             Set the value of the gain used to compute the control law.
@@ -358,17 +314,22 @@ public:
             
             \param dist : Near clipping value.
           */
-  virtual void   setNearClippingDistance(const double &dist) { vpMbEdgeTracker::setNearClippingDistance(dist); vpMbKltTracker::setNearClippingDistance(dist); }
-          
+  virtual void   setNearClippingDistance(const double &dist) { vpMbEdgeTracker::setNearClippingDistance(dist); }
+
           /*!
             Use Ogre3D for visibility tests
-            
+
             \warning This function has to be called before the initialization of the tracker.
-            
+
             \param v : True to use it, False otherwise
           */
-  virtual inline  void    setOgreVisibilityTest(const bool &v) { vpMbKltTracker::setOgreVisibilityTest(v); }
-  
+  virtual void   setOgreVisibilityTest(const bool &v){
+       vpMbTracker::setOgreVisibilityTest(v);
+#ifdef VISP_HAVE_OGRE
+       faces.getOgreContext()->setWindowName("MBT Hybrid");
+#endif
+      }
+
   virtual void    setPose(const vpImage<unsigned char> &I, const vpHomogeneousMatrix& cdMo);
 
   virtual void    testTracking(){};
@@ -379,8 +340,12 @@ protected:
                              vpColVector &w_klt, const unsigned int lvl=0);
 
   virtual void    init(const vpImage<unsigned char>& I);
-  virtual void    initCylinder(const vpPoint& , const vpPoint &, const double , const unsigned int );
-  virtual void    initFaceFromCorners(const std::vector<vpPoint>& corners, const unsigned int indexFace = -1);
+  virtual void    initCircle(const vpPoint&, const vpPoint &, const vpPoint &, const double r, const int idFace=0,
+      const std::string &name="");
+  virtual void    initCylinder(const vpPoint&, const vpPoint &, const double r, const int idFace,
+      const std::string &name="");
+          virtual void    initFaceFromCorners(vpMbtPolygon &polygon);
+          virtual void    initFaceFromLines(vpMbtPolygon &polygon);
   unsigned int    initMbtTracking(const unsigned int level=0);
 
           bool    postTracking(const vpImage<unsigned char>& I, vpColVector &w_mbt, vpColVector &w_klt,
diff --git a/src/tracking/mbt/klt/vpMbKltTracker.cpp b/src/tracking/mbt/klt/vpMbKltTracker.cpp
index 542405c1f7031a1051638d079025fbd226e1c0a7..10eb319430b6e9ff74319835deaeea5465e90845 100644
--- a/src/tracking/mbt/klt/vpMbKltTracker.cpp
+++ b/src/tracking/mbt/klt/vpMbKltTracker.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMbKltTracker.cpp 4661 2014-02-10 19:34:58Z fspindle $
+ * $Id: vpMbKltTracker.cpp 5189 2015-01-21 16:42:18Z ayol $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -39,19 +39,26 @@
  *
  *****************************************************************************/
 
+#include <visp/vpImageConvert.h>
 #include <visp/vpMbKltTracker.h>
+#include <visp/vpVelocityTwistMatrix.h>
+#include <visp/vpTrackingException.h>
 
-#ifdef VISP_HAVE_OPENCV
+#if (defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020100))
 
 vpMbKltTracker::vpMbKltTracker()
-  : cur(NULL), c0Mo(), angleAppears(0), angleDisappears(0), compute_interaction(true),
+  :
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+    cur(),
+#else
+    cur(NULL),
+#endif
+    c0Mo(), compute_interaction(true),
     firstInitialisation(true), maskBorder(5), lambda(0.8), maxIter(200), threshold_outlier(0.5),
-    percentGood(0.6), useOgre(false), ctTc0(), tracker(), faces(), firstTrack(false),
-    distNearClip(0.01), distFarClip(100), clippingFlag(vpMbtPolygon::NO_CLIPPING)
+    percentGood(0.6), ctTc0(), tracker(), firstTrack(false), kltPolygons(), cylinders_disp(), circles_disp()
 {  
   tracker.setTrackerId(1);
   tracker.setUseHarris(1);
-  
   tracker.setMaxFeatures(10000);
   tracker.setWindowSize(5);
   tracker.setQuality(0.01);
@@ -62,9 +69,9 @@ vpMbKltTracker::vpMbKltTracker()
   
   angleAppears = vpMath::rad(65);
   angleDisappears = vpMath::rad(75);
-    
+
 #ifdef VISP_HAVE_OGRE
-  faces.getOgreContext()->setWindowName("MBT KLT");
+  faces.getOgreContext()->setWindowName("MBT Klt");
 #endif
 }
 
@@ -74,10 +81,45 @@ vpMbKltTracker::vpMbKltTracker()
 */
 vpMbKltTracker::~vpMbKltTracker()
 {
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
   if(cur != NULL){
     cvReleaseImage(&cur);
     cur = NULL;
   }
+#endif
+
+  // delete the Klt Polygon features
+  vpMbtDistanceKltPoints *kltpoly;
+  for(std::list<vpMbtDistanceKltPoints*>::const_iterator it=kltPolygons.begin(); it!=kltPolygons.end(); ++it){
+    kltpoly = *it;
+    if (kltpoly!=NULL){
+      delete kltpoly ;
+    }
+    kltpoly = NULL ;
+  }
+  kltPolygons.clear();
+
+  // delete the structures used to display cylinders and circles
+  vpMbtDistanceCylinder *cy;
+  vpMbtDistanceCircle *ci;
+  for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders_disp.begin(); it!=cylinders_disp.end(); ++it){
+    cy = *it;
+    if (cy!=NULL){
+      delete cy ;
+    }
+    cy = NULL ;
+  }
+
+  for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles_disp.begin(); it!=circles_disp.end(); ++it){
+    ci = *it;
+    if (ci!=NULL){
+      delete ci ;
+    }
+    ci = NULL ;
+  }
+
+  cylinders_disp.clear();
+  circles_disp.clear();
 }
 
 void 
@@ -103,54 +145,102 @@ vpMbKltTracker::init(const vpImage<unsigned char>& I)
     faces.setVisible(I, cam, cMo, angleAppears, angleDisappears, reInitialisation);
 #endif
   }
-  
   reinit(I);
 }
 
 void 
 vpMbKltTracker::reinit(const vpImage<unsigned char>& I)
-{  
+{
   c0Mo = cMo;
   ctTc0.setIdentity();
   firstTrack = false;
 
   vpImageConvert::convert(I, cur);
+
+  cam.computeFov(I.getWidth(), I.getHeight());
   
   // mask
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+  cv::Mat mask((int)I.getRows(), (int)I.getCols(), CV_8UC1, cv::Scalar(0));
+#else
   IplImage* mask = cvCreateImage(cvSize((int)I.getWidth(), (int)I.getHeight()), IPL_DEPTH_8U, 1);
   cvZero(mask);
-  
+#endif
   unsigned char val = 255/* - i*15*/;
-  for (unsigned int i = 0; i < faces.size(); i += 1){
-    if(faces[i]->isVisible())
-      faces[i]->updateMask(mask, val, maskBorder);
+
+  vpMbtDistanceKltPoints *kltpoly;
+  for(std::list<vpMbtDistanceKltPoints*>::const_iterator it=kltPolygons.begin(); it!=kltPolygons.end(); ++it){
+    kltpoly = *it;
+    if(kltpoly->polygon->isVisible() && kltpoly->polygon->getNbPoint() > 2){
+      kltpoly->polygon->computeRoiClipped(cam);
+      kltpoly->updateMask(mask, val, maskBorder);
+    }
   }
   
   tracker.initTracking(cur, mask);
-  
-  for (unsigned int i = 0; i < faces.size(); i += 1){
-    if(faces[i]->isVisible()){
-      faces[i]->init(tracker);
+//  tracker.track(cur); // AY: Not sure to be usefull but makes sure that the points are valid for tracking and avoid too fast reinitialisations.
+//  vpCTRACE << "init klt. detected " << tracker.getNbFeatures() << " points" << std::endl;
+
+  for(std::list<vpMbtDistanceKltPoints*>::const_iterator it=kltPolygons.begin(); it!=kltPolygons.end(); ++it){
+    kltpoly = *it;
+    if(kltpoly->polygon->isVisible() && kltpoly->polygon->getNbPoint() > 2){
+      kltpoly->init(tracker);
     }
   }
-
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
   cvReleaseImage(&mask);
+#endif
 }
 
 /*!
   Reset the tracker. The model is removed and the pose is set to identity.
-  The tracker needs to be initialized with a new model and a new pose. 
+  The tracker needs to be initialized with a new model and a new pose.
 */
 void            
 vpMbKltTracker::resetTracker()
 {
   cMo.setIdentity();
   
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
   if(cur != NULL){
     cvReleaseImage(&cur);
     cur = NULL;
   }
-  
+#endif
+
+  // delete the Klt Polygon features
+  vpMbtDistanceKltPoints *kltpoly;
+  for(std::list<vpMbtDistanceKltPoints*>::const_iterator it=kltPolygons.begin(); it!=kltPolygons.end(); ++it){
+    kltpoly = *it;
+    if (kltpoly!=NULL){
+      delete kltpoly ;
+    }
+    kltpoly = NULL ;
+  }
+  kltPolygons.clear();
+
+  // delete the structures used to display cylinders and circles
+  vpMbtDistanceCylinder *cy;
+  vpMbtDistanceCircle *ci;
+  for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders_disp.begin(); it!=cylinders_disp.end(); ++it){
+    cy = *it;
+    if (cy!=NULL){
+      delete cy ;
+    }
+    cy = NULL ;
+  }
+
+  for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles_disp.begin(); it!=circles_disp.end(); ++it){
+    ci = *it;
+    if (ci!=NULL){
+      delete ci ;
+    }
+    ci = NULL ;
+  }
+
+  cylinders_disp.clear();
+  circles_disp.clear();
+
   compute_interaction = true;
   firstInitialisation = true;
   computeCovariance = false;
@@ -178,7 +268,7 @@ vpMbKltTracker::resetTracker()
   
   lambda = 0.8;
   maxIter = 200;
-  
+
   faces.reset();
   
 #ifdef VISP_HAVE_OGRE
@@ -252,30 +342,18 @@ vpMbKltTracker::setKltOpencv(const vpKltOpencv& t){
 void
 vpMbKltTracker::setCameraParameters(const vpCameraParameters& camera)
 {
-  for (unsigned int i = 0; i < faces.size(); i += 1){
-    faces[i]->setCameraParameters(camera);
+//  for (unsigned int i = 0; i < faces.size(); i += 1){
+//    faces[i]->setCameraParameters(camera);
+//  }
+
+  vpMbtDistanceKltPoints *kltpoly;
+  for(std::list<vpMbtDistanceKltPoints*>::const_iterator it=kltPolygons.begin(); it!=kltPolygons.end(); ++it){
+    kltpoly = *it;
+    kltpoly->setCameraParameters(camera);
   }
+
   this->cam = camera;
 }
-   
-/*!
-  Use Ogre3D for visibility tests
-  
-  \warning This function has to be called before the initialization of the tracker.
-  
-  \param v : True to use it, False otherwise
-*/
-void    
-vpMbKltTracker::setOgreVisibilityTest(const bool &v) 
-{
-  useOgre = v; 
-  if(useOgre){
-#ifndef VISP_HAVE_OGRE     
-    useOgre = false;
-    std::cout << "WARNING: ViSP doesn't have Ogre3D, basic visibility test will be used. setOgreVisibilityTest() set to false." << std::endl;
-#endif
-  }
-}
 
 /*!
   Set the pose to be used in entry of the next call to the track() function.
@@ -289,61 +367,82 @@ vpMbKltTracker::setOgreVisibilityTest(const bool &v)
 void           
 vpMbKltTracker::setPose(const vpImage<unsigned char> &I, const vpHomogeneousMatrix& cdMo)
 {
-  if(firstTrack){
+  if(firstTrack)
+  {
     bool reInitialisation = false;
     if(!useOgre)
       faces.setVisible(I, cam, cdMo, angleAppears, angleDisappears, reInitialisation);
     else{
-  #ifdef VISP_HAVE_OGRE    
+#ifdef VISP_HAVE_OGRE
       faces.setVisibleOgre(I, cam, cdMo, angleAppears, angleDisappears, reInitialisation);
-  #else
+#else
       faces.setVisible(I, cam, cdMo, angleAppears, angleDisappears, reInitialisation);
-  #endif
+#endif
     }
-    
     if(reInitialisation){
       std::cout << "WARNING: Visibility changed, must reinitialize to update pose" << std::endl;
       cMo = cdMo;
       reinit(I);
     }
     else{
+      vpMbtDistanceKltPoints *kltpoly;
+
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+      std::vector<cv::Point2f> initial_pts;
+      std::vector<long> initial_ids;
+#else
+      unsigned int nbp = 0;
+      for(std::list<vpMbtDistanceKltPoints*>::const_iterator it=kltPolygons.begin(); it!=kltPolygons.end(); ++it) {
+        kltpoly = *it;
+        if(kltpoly->polygon->isVisible() && kltpoly->polygon->getNbPoint() > 2 && kltpoly->hasEnoughPoints() )
+          nbp += (*it)->getCurrentNumberPoints();
+      }
+
+      CvPoint2D32f* initial_pts = NULL;
+      initial_pts = (CvPoint2D32f*)cvAlloc(nbp*sizeof(initial_pts[0]));
+      long *initial_ids = new long [nbp];
+      unsigned int iter_points = 0;
+#endif
       vpHomogeneousMatrix cdMc = cdMo * cMo.inverse();
       vpHomogeneousMatrix cMcd = cdMc.inverse();
-      
+
       vpRotationMatrix cdRc;
       vpTranslationVector cdtc;
-      
+
       cdMc.extract(cdRc);
       cdMc.extract(cdtc);
-      
-      CvPoint2D32f* initial_guess = NULL;
-      initial_guess = (CvPoint2D32f*)cvAlloc((unsigned int)tracker.getMaxFeatures()*sizeof(initial_guess[0]));
-        
-      for (unsigned int i = 0; i < faces.size(); i += 1){
-        if(faces[i]->isVisible() && faces[i]->hasEnoughPoints()){  
+
+      unsigned int nbCur = 0;
+
+      for(std::list<vpMbtDistanceKltPoints*>::const_iterator it=kltPolygons.begin(); it!=kltPolygons.end(); ++it) {
+        kltpoly = *it;
+
+        if(kltpoly->polygon->isVisible() && kltpoly->polygon->getNbPoint() > 2 && kltpoly->hasEnoughPoints() ) {
+
           //Get the normal to the face at the current state cMo
-          vpPlane plan(faces[i]->p[0], faces[i]->p[1], faces[i]->p[2]);
+          vpPlane plan(kltpoly->polygon->p[0], kltpoly->polygon->p[1], kltpoly->polygon->p[2]);
           plan.changeFrame(cMcd);
-          
-          vpColVector Nc = plan.getNormal(); 
+
+          vpColVector Nc = plan.getNormal();
           Nc.normalize();
-          
+
           double invDc = 1.0 / plan.getD();
-          
+
           //Create the homography
           vpMatrix cdHc;
           vpGEMM(cdtc, Nc, -invDc, cdRc, 1.0, cdHc, VP_GEMM_B_T);
           cdHc /= cdHc[2][2];
-          
+
           //Create the 2D homography
           vpMatrix cdGc = cam.get_K() * cdHc * cam.get_K_inverse();
-          
+
           //Points displacement
-          std::map<int, vpImagePoint>::const_iterator iter = faces[i]->getCurrentPoints().begin();
-          for( ; iter != faces[i]->getCurrentPoints().end(); iter++){
+          std::map<int, vpImagePoint>::const_iterator iter = kltpoly->getCurrentPoints().begin();
+          nbCur+= (unsigned int)kltpoly->getCurrentPoints().size();
+          for( ; iter != kltpoly->getCurrentPoints().end(); iter++){
             vpColVector cdp(3);
             cdp[0] = iter->second.get_j(); cdp[1] = iter->second.get_i(); cdp[2] = 1.0;
-            
+
             double p_mu_t_2 = cdp[0] * cdGc[2][0] + cdp[1] * cdGc[2][1] + cdGc[2][2];
 
             if( fabs(p_mu_t_2) < std::numeric_limits<double>::epsilon()){
@@ -354,117 +453,82 @@ vpMbKltTracker::setPose(const vpImage<unsigned char> &I, const vpHomogeneousMatr
 
             cdp[0] = (cdp[0] * cdGc[0][0] + cdp[1] * cdGc[0][1] + cdGc[0][2]) / p_mu_t_2;
             cdp[1] = (cdp[0] * cdGc[1][0] + cdp[1] * cdGc[1][1] + cdGc[1][2]) / p_mu_t_2;
-            
+
             //Set value to the KLT tracker
-            initial_guess[(faces[i]->getCurrentPointsInd())[iter->first]].x = (float)cdp[0];
-            initial_guess[(faces[i]->getCurrentPointsInd())[iter->first]].y = (float)cdp[1];
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+            cv::Point2f p((float)cdp[0], (float)cdp[1]);
+            initial_pts.push_back(p);
+            initial_ids.push_back((size_t)(kltpoly->getCurrentPointsInd())[(size_t)iter->first]);
+#else
+            initial_pts[iter_points].x = (float)cdp[0];
+            initial_pts[iter_points].y = (float)cdp[1];
+            initial_ids[iter_points++] = (kltpoly->getCurrentPointsInd())[(size_t)iter->first];
+#endif
           }
         }
-      }  
-      
-      tracker.setInitialGuess(&initial_guess);
-      
-      if(initial_guess) cvFree(&initial_guess);
-      initial_guess = NULL;
-      
+      }
+
+      vpImageConvert::convert(I, cur);
+
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+      tracker.initTracking(cur,initial_pts,initial_ids); // false to keep the id of the points
+#else
+      tracker.initTracking(cur, initial_pts, initial_ids, iter_points);
+
+      if(initial_pts) cvFree(&initial_pts);
+      initial_pts = NULL;
+      delete [] initial_ids;
+#endif
+
+      for(std::list<vpMbtDistanceKltPoints*>::const_iterator it=kltPolygons.begin(); it!=kltPolygons.end(); ++it){
+        kltpoly = *it;
+        if(kltpoly->polygon->isVisible() && kltpoly->polygon->getNbPoint() > 2){
+          kltpoly->polygon->computeRoiClipped(cam);
+          kltpoly->init(tracker);
+        }
+      }
+
       cMo = cdMo;
+      c0Mo = cMo;
+      ctTc0.setIdentity();
+      firstTrack = false;
     }
   }
-}
-
-/*!
-  Set the far distance for clipping.
-  
-  \param dist : Far clipping value.
-*/
-void            
-vpMbKltTracker::setFarClippingDistance(const double &dist) 
-{ 
-  if( (clippingFlag & vpMbtPolygon::NEAR_CLIPPING) == vpMbtPolygon::NEAR_CLIPPING && dist <= distNearClip)
-    vpTRACE("Far clipping value cannot be inferior than near clipping value. Far clipping won't be considered.");
-  else if ( dist < 0 ) 
-    vpTRACE("Far clipping value cannot be inferior than 0. Far clipping won't be considered.");
-  else{   
-    clippingFlag = (clippingFlag | vpMbtPolygon::FAR_CLIPPING);
-    distFarClip = dist; 
-    for (unsigned int i = 0; i < faces.size(); i ++){
-      faces[i]->setFarClippingDistance(distFarClip);
-    }  
-  }
-}
-
-/*!
-  Set the near distance for clipping.
-  
-  \param dist : Near clipping value.
-*/
-void           
-vpMbKltTracker::setNearClippingDistance(const double &dist) 
-{ 
-  if( (clippingFlag & vpMbtPolygon::FAR_CLIPPING) == vpMbtPolygon::FAR_CLIPPING && dist >= distFarClip)
-    vpTRACE("Near clipping value cannot be superior than far clipping value. Near clipping won't be considered.");
-  else if ( dist < 0 ) 
-    vpTRACE("Near clipping value cannot be inferior than 0. Near clipping won't be considered.");
   else{
-    clippingFlag = (clippingFlag | vpMbtPolygon::NEAR_CLIPPING);
-    distNearClip = dist; 
-    for (unsigned int i = 0; i < faces.size(); i ++){
-      faces[i]->setNearClippingDistance(distNearClip);
-    } 
+    cMo = cdMo;
+    init(I);
   }
 }
 
 /*!
-  Specify which clipping to use.
-  
-  \sa vpMbtPolygonClipping
-  
-  \param flags : New clipping flags.
+  Initialise a new face from the coordinates given in parameter.
+
+  \param polygon : The polygon describing the set of lines that has to be tracked.
 */
-void            
-vpMbKltTracker::setClipping(const unsigned int &flags) 
-{ 
-  clippingFlag = flags;
-  for (unsigned int i = 0; i < faces.size(); i ++)
-    faces[i]->setClipping(clippingFlag);
+void
+vpMbKltTracker::initFaceFromCorners(vpMbtPolygon &polygon)
+{
+    vpMbtDistanceKltPoints *kltPoly = new vpMbtDistanceKltPoints();
+    kltPoly->setCameraParameters(cam) ;
+    kltPoly->polygon = &polygon;
+    kltPolygons.push_back(kltPoly);
 }
-          
 /*!
   Initialise a new face from the coordinates given in parameter.
 
-  \param corners : Coordinates of the corners of the face in the object frame.
-  \param indexFace : index of the face (depends on the vrml file organization).
+  \param polygon : The polygon describing the set of lines that has to be tracked.
 */
 void
-vpMbKltTracker::initFaceFromCorners(const std::vector<vpPoint>& corners, const unsigned int indexFace)
-{     
-  if( corners.size() > 2){ // This tracker can't handle lignes
-    vpMbtKltPolygon *polygon = new vpMbtKltPolygon;
-  //   polygon->setCameraParameters(cam);
-    polygon->setNbPoint((unsigned int)corners.size());
-    polygon->setIndex((int)indexFace);
-    for(unsigned int j = 0; j < corners.size(); j++) {
-      polygon->addPoint(j, corners[j]);
-    }
-    faces.addPolygon(polygon);
-    faces.getPolygon().back()->setCameraParameters(cam);
-    
-    if(clippingFlag != vpMbtPolygon::NO_CLIPPING)
-      faces.getPolygon().back()->setClipping(clippingFlag);
-    
-    if((clippingFlag & vpMbtPolygon::NEAR_CLIPPING) == vpMbtPolygon::NEAR_CLIPPING)
-      faces.getPolygon().back()->setNearClippingDistance(distNearClip);
-    
-    if((clippingFlag & vpMbtPolygon::FAR_CLIPPING) == vpMbtPolygon::FAR_CLIPPING)
-      faces.getPolygon().back()->setFarClippingDistance(distFarClip);
-
-    delete polygon;
-    polygon = NULL;
-  }
+vpMbKltTracker::initFaceFromLines(vpMbtPolygon &polygon)
+{
+    vpMbtDistanceKltPoints *kltPoly = new vpMbtDistanceKltPoints();
+    kltPoly->setCameraParameters(cam) ;
+    kltPoly->polygon = &polygon;
+    kltPolygons.push_back(kltPoly);
 }
 
 /*!
-  Realize the pre tracking operations
+  Achieve the tracking of the KLT features and associate the features to the faces.
 
   \param I : The input image.
   \param nbInfos : Size of the features.
@@ -475,22 +539,25 @@ vpMbKltTracker::preTracking(const vpImage<unsigned char>& I, unsigned int &nbInf
 {
   vpImageConvert::convert(I, cur);
   tracker.track(cur);
-  
+
   if(!firstTrack)
     firstTrack = true;
   
-  nbInfos = 0;  
+  nbInfos = 0;
   nbFaceUsed = 0;
-  for (unsigned int i = 0; i < faces.size(); i += 1){
-    if(faces[i]->isVisible()){
-      faces[i]->computeNbDetectedCurrent(tracker);
+  vpMbtDistanceKltPoints *kltpoly;
+//  for (unsigned int i = 0; i < faces.size(); i += 1){
+  for(std::list<vpMbtDistanceKltPoints*>::const_iterator it=kltPolygons.begin(); it!=kltPolygons.end(); ++it){
+    kltpoly = *it;
+    if(kltpoly->polygon->isVisible() && kltpoly->polygon->getNbPoint() > 2){
+      kltpoly->computeNbDetectedCurrent(tracker);
 //       faces[i]->ransac();
-      if(faces[i]->hasEnoughPoints()){
-        nbInfos += faces[i]->getNbPointsCur();
+      if(kltpoly->hasEnoughPoints()){
+        nbInfos += kltpoly->getCurrentNumberPoints();
         nbFaceUsed++;
       }
     }
-  } 
+  }
 }
 
 /*!
@@ -506,15 +573,18 @@ vpMbKltTracker::postTracking(const vpImage<unsigned char>& I, vpColVector &w)
   unsigned int initialNumber = 0;
   unsigned int currentNumber = 0;
   unsigned int shift = 0;
-  for (unsigned int i = 0; i < faces.size(); i += 1){
-    if(faces[i]->isVisible()){
-      initialNumber += faces[i]->getInitialNumberPoint();
-      if(faces[i]->hasEnoughPoints()){    
-        vpSubColVector sub_w(w, shift, 2*faces[i]->getNbPointsCur());
-        faces[i]->removeOutliers(sub_w, threshold_outlier);
-        shift += 2*faces[i]->getNbPointsCur();
+  vpMbtDistanceKltPoints *kltpoly;
+//  for (unsigned int i = 0; i < faces.size(); i += 1){
+  for(std::list<vpMbtDistanceKltPoints*>::const_iterator it=kltPolygons.begin(); it!=kltPolygons.end(); ++it){
+    kltpoly = *it;
+    if(kltpoly->polygon->isVisible() && kltpoly->polygon->getNbPoint() > 2){
+      initialNumber += kltpoly->getInitialNumberPoint();
+      if(kltpoly->hasEnoughPoints()){
+        vpSubColVector sub_w(w, shift, 2*kltpoly->getCurrentNumberPoints());
+        kltpoly->removeOutliers(sub_w, threshold_outlier);
+        shift += 2*kltpoly->getCurrentNumberPoints();
         
-        currentNumber += faces[i]->getNbPointsCur();
+        currentNumber += kltpoly->getCurrentNumberPoints();
       }
 //       else{
 //         reInitialisation = true;
@@ -557,40 +627,45 @@ vpMbKltTracker::postTracking(const vpImage<unsigned char>& I, vpColVector &w)
 void
 vpMbKltTracker::computeVVS(const unsigned int &nbInfos, vpColVector &w)
 {
-  vpMatrix J;     // interaction matrix
+  vpMatrix L;     // interaction matrix
   vpColVector R;  // residu
-  vpMatrix J_true;     // interaction matrix
-  vpColVector R_true;  // residu
+  vpMatrix L_true;     // interaction matrix
+  vpMatrix LVJ_true;
+  //vpColVector R_true;  // residu
   vpColVector v;  // "speed" for VVS
   vpHomography H;
   vpColVector w_true;
   vpRobust robust(2*nbInfos);
 
-  vpMatrix JTJ, JTR;
+  vpMatrix LTL, LTR;
+  vpHomogeneousMatrix cMoPrev;
   
   double normRes = 0;
   double normRes_1 = -1;
   unsigned int iter = 0;
 
   R.resize(2*nbInfos);
-  J.resize(2*nbInfos, 6, 0);
+  L.resize(2*nbInfos, 6, 0);
   
   while( ((int)((normRes - normRes_1)*1e8) != 0 )  && (iter<maxIter) ){
     
     unsigned int shift = 0;
-    for (unsigned int i = 0; i < faces.size(); i += 1){
-      if(faces[i]->isVisible() && faces[i]->hasEnoughPoints()){
-        vpSubColVector subR(R, shift, 2*faces[i]->getNbPointsCur());
-        vpSubMatrix subJ(J, shift, 0, 2*faces[i]->getNbPointsCur(), 6);
+    vpMbtDistanceKltPoints *kltpoly;
+  //  for (unsigned int i = 0; i < faces.size(); i += 1){
+    for(std::list<vpMbtDistanceKltPoints*>::const_iterator it=kltPolygons.begin(); it!=kltPolygons.end(); ++it){
+      kltpoly = *it;
+      if(kltpoly->polygon->isVisible() && kltpoly->polygon->getNbPoint() > 2 &&
+         kltpoly->hasEnoughPoints()){
+        vpSubColVector subR(R, shift, 2*kltpoly->getCurrentNumberPoints());
+        vpSubMatrix subL(L, shift, 0, 2*kltpoly->getCurrentNumberPoints(), 6);
         try{
-          faces[i]->computeHomography(ctTc0, H);
-          faces[i]->computeInteractionMatrixAndResidu(subR, subJ);
+          kltpoly->computeHomography(ctTc0, H);
+          kltpoly->computeInteractionMatrixAndResidu(subR, subL);
         }catch(...){
-          std::cerr << "exception while tracking face " << i << std::endl;
-          throw ;
+          throw vpTrackingException(vpTrackingException::fatalError, "Cannot compute interaction matrix");
         }
 
-        shift += 2*faces[i]->getNbPointsCur();
+        shift += 2*kltpoly->getCurrentNumberPoints();
       }
     }
 
@@ -599,20 +674,26 @@ vpMbKltTracker::computeVVS(const unsigned int &nbInfos, vpColVector &w)
       w_true.resize(2*nbInfos);
       w.resize(2*nbInfos);
       w = 1;
+      w_true = 1;
     }
     robust.setIteration(iter);
     robust.setThreshold(2/cam.get_px());
     robust.MEstimator( vpRobust::TUKEY, R, w);
     
+    m_error = R;
     if(computeCovariance){
-      R_true = R;
-      J_true = J;
+      L_true = L;
+      if(!isoJoIdentity){
+         vpVelocityTwistMatrix cVo;
+         cVo.buildFrom(cMo);
+         LVJ_true = (L*cVo*oJo);
+      }
     }
 
     normRes_1 = normRes;
     normRes = 0;
     for (unsigned int i = 0; i < static_cast<unsigned int>(R.getRows()); i += 1){
-      w_true = w[i] * w[i];
+      w_true[i] = w[i];
       R[i] = R[i] * w[i];
       normRes += R[i];
     }
@@ -620,16 +701,30 @@ vpMbKltTracker::computeVVS(const unsigned int &nbInfos, vpColVector &w)
     if((iter == 0) || compute_interaction){
       for(unsigned int i=0; i<static_cast<unsigned int>(R.getRows()); i++){
         for(unsigned int j=0; j<6; j++){
-          J[i][j] *= w[i];
+          L[i][j] *= w[i];
         }
       }
     }
-    
-    JTJ = J.AtA();
-    computeJTR(J, R, JTR);
-    v = -lambda * JTJ.pseudoInverse(1e-16) * JTR;
-    
+
+    if(isoJoIdentity){
+        LTL = L.AtA();
+        computeJTR(L, R, LTR);
+        v = -lambda * LTL.pseudoInverse(1e-16) * LTR;
+    }
+    else{
+        vpVelocityTwistMatrix cVo;
+        cVo.buildFrom(cMo);
+        vpMatrix LVJ = (L*cVo*oJo);
+        vpMatrix LVJTLVJ = (LVJ).AtA();
+        vpMatrix LVJTR;
+        computeJTR(LVJ, R, LVJTR);
+        v = -lambda*LVJTLVJ.pseudoInverse(1e-16)*LVJTR;
+        v = cVo * v;
+    }
+
     ctTc0 = vpExponentialMap::direct(v).inverse() * ctTc0;
+    cMoPrev = cMo;
+    cMo = ctTc0 * c0Mo;
     
     iter++;
   }
@@ -637,10 +732,15 @@ vpMbKltTracker::computeVVS(const unsigned int &nbInfos, vpColVector &w)
   if(computeCovariance){
     vpMatrix D;
     D.diag(w_true);
-    covarianceMatrix = vpMatrix::computeCovarianceMatrix(J_true,v,-lambda*R_true,D);
+
+    // Note that here the covariance is computed on cMoPrev for time computation efficiency
+    if(isoJoIdentity){
+        computeCovarianceMatrix(cMoPrev,m_error,L_true,D);
+    }
+    else{
+        computeCovarianceMatrix(cMoPrev,m_error,LVJ_true,D);
+    }
   }
-  
-  cMo = ctTc0 * c0Mo;
 }
 
 /*!
@@ -653,19 +753,25 @@ vpMbKltTracker::computeVVS(const unsigned int &nbInfos, vpColVector &w)
 void
 vpMbKltTracker::track(const vpImage<unsigned char>& I)
 {   
-  unsigned int nbInfos;
-  unsigned int nbFaceUsed;
-  preTracking(I, nbInfos, nbFaceUsed);
+  unsigned int nbInfos = 0;
+  unsigned int nbFaceUsed = 0;
+
+  try{
+    preTracking(I, nbInfos, nbFaceUsed);
+  }
+  catch(vpException &e){
+    throw e;
+  }
   
   if(nbInfos < 4 || nbFaceUsed == 0){
     vpERROR_TRACE("\n\t\t Error-> not enough data") ;
     throw vpTrackingException(vpTrackingException::notEnoughPointError, "\n\t\t Error-> not enough data");
   }
 
-  vpColVector w;
-  computeVVS(nbInfos, w);  
+  //vpColVector w;
+  computeVVS(nbInfos, m_w);
 
-  if(postTracking(I, w))
+  if(postTracking(I, m_w))
     reinit(I);
 }
 
@@ -694,7 +800,7 @@ vpMbKltTracker::loadConfigFile(const std::string& configFile)
   vpXmlParser::cleanup() before the exit().
 
   \throw vpException::ioError if the file has not been properly parsed (file not
-  found or wrong format for the data). 
+  found or wrong format for the data).
 
   \param configFile : full name of the xml file.
 
@@ -760,7 +866,7 @@ vpMbKltTracker::loadConfigFile(const char* configFile)
 
   vpCameraParameters camera;
   xmlp.getCameraParameters(camera);
-  setCameraParameters(camera); 
+  setCameraParameters(camera);
   
   tracker.setMaxFeatures((int)xmlp.getMaxFeatures());
   tracker.setWindowSize((int)xmlp.getWindowSize());
@@ -795,7 +901,7 @@ vpMbKltTracker::loadConfigFile(const char* configFile)
   \param camera : The camera parameters.
   \param col : The desired color.
   \param thickness : The thickness of the lines.
-  \param displayFullModel : Boolean to say if all the model has to be displayed.
+  \param displayFullModel : Boolean to say if all the model has to be displayed, even the faces that are visible.
 */
 void
 vpMbKltTracker::display(const vpImage<unsigned char>& I, const vpHomogeneousMatrix &cMo_, const vpCameraParameters & camera,
@@ -806,20 +912,23 @@ vpMbKltTracker::display(const vpImage<unsigned char>& I, const vpHomogeneousMatr
   if(clippingFlag > 3) // Contains at least one FOV constraint
     c.computeFov(I.getWidth(), I.getHeight());
   
-  for (unsigned int i = 0; i < faces.size(); i += 1){
-    if(displayFullModel || faces[i]->isVisible())
+  vpMbtDistanceKltPoints *kltpoly;
+//  for (unsigned int i = 0; i < faces.size(); i += 1){
+  for(std::list<vpMbtDistanceKltPoints*>::const_iterator it=kltPolygons.begin(); it!=kltPolygons.end(); ++it){
+    kltpoly = *it;
+    if(displayFullModel || kltpoly->polygon->isVisible())
     {
-      faces[i]->changeFrame(cMo_);
-      faces[i]->computeRoiClipped(c);
+      kltpoly->polygon->changeFrame(cMo_);
+      kltpoly->polygon->computeRoiClipped(c);
       std::vector<std::pair<vpImagePoint,unsigned int> > roi;
-      faces[i]->getRoiClipped(c, roi);
+      kltpoly->polygon->getRoiClipped(c, roi);
       
       for (unsigned int j = 0; j < roi.size(); j += 1){
-        if(((roi[(j+1)%roi.size()].second & roi[j].second & vpMbtPolygon::NEAR_CLIPPING) == 0) && 
-           ((roi[(j+1)%roi.size()].second & roi[j].second & vpMbtPolygon::FAR_CLIPPING) == 0) && 
-           ((roi[(j+1)%roi.size()].second & roi[j].second & vpMbtPolygon::DOWN_CLIPPING) == 0) && 
-           ((roi[(j+1)%roi.size()].second & roi[j].second & vpMbtPolygon::UP_CLIPPING) == 0) && 
-           ((roi[(j+1)%roi.size()].second & roi[j].second & vpMbtPolygon::LEFT_CLIPPING) == 0) && 
+        if(((roi[(j+1)%roi.size()].second & roi[j].second & vpMbtPolygon::NEAR_CLIPPING) == 0) &&
+           ((roi[(j+1)%roi.size()].second & roi[j].second & vpMbtPolygon::FAR_CLIPPING) == 0) &&
+           ((roi[(j+1)%roi.size()].second & roi[j].second & vpMbtPolygon::DOWN_CLIPPING) == 0) &&
+           ((roi[(j+1)%roi.size()].second & roi[j].second & vpMbtPolygon::UP_CLIPPING) == 0) &&
+           ((roi[(j+1)%roi.size()].second & roi[j].second & vpMbtPolygon::LEFT_CLIPPING) == 0) &&
            ((roi[(j+1)%roi.size()].second & roi[j].second & vpMbtPolygon::RIGHT_CLIPPING) == 0)){
           vpImagePoint ip1, ip2;
           ip1 = roi[j].first;
@@ -829,12 +938,20 @@ vpMbKltTracker::display(const vpImage<unsigned char>& I, const vpHomogeneousMatr
         }
       }
     }
-    if(displayFeatures && faces[i]->hasEnoughPoints() && faces[i]->isVisible()) {
-        faces[i]->displayPrimitive(I);
+    if(displayFeatures && kltpoly->hasEnoughPoints() && kltpoly->polygon->isVisible()) {
+        kltpoly->displayPrimitive(I);
 //         faces[i]->displayNormal(I);
     }
   }
 
+  for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders_disp.begin(); it!=cylinders_disp.end(); ++it){
+    (*it)->display(I, cMo_, camera, col, thickness);
+  }
+
+  for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles_disp.begin(); it!=circles_disp.end(); ++it){
+    (*it)->display(I, cMo_, camera, col, thickness);
+  }
+
 #ifdef VISP_HAVE_OGRE
   if(useOgre)
     faces.displayOgre(cMo_);
@@ -849,7 +966,7 @@ vpMbKltTracker::display(const vpImage<unsigned char>& I, const vpHomogeneousMatr
   \param camera : The camera parameters.
   \param col : The desired color.
   \param thickness : The thickness of the lines.
-  \param displayFullModel : Boolean to say if all the model has to be displayed.
+  \param displayFullModel : Boolean to say if all the model has to be displayed, even the faces that are not visible.
 */
 void
 vpMbKltTracker::display(const vpImage<vpRGBa>& I, const vpHomogeneousMatrix &cMo_, const vpCameraParameters & camera,
@@ -860,35 +977,46 @@ vpMbKltTracker::display(const vpImage<vpRGBa>& I, const vpHomogeneousMatrix &cMo
   if(clippingFlag > 3) // Contains at least one FOV constraint
     c.computeFov(I.getWidth(), I.getHeight());
   
-  for (unsigned int i = 0; i < faces.size(); i += 1){
-    if(displayFullModel || faces[i]->isVisible())
+  vpMbtDistanceKltPoints *kltpoly;
+//  for (unsigned int i = 0; i < faces.size(); i += 1){
+  for(std::list<vpMbtDistanceKltPoints*>::const_iterator it=kltPolygons.begin(); it!=kltPolygons.end(); ++it){
+    kltpoly = *it;
+    if(displayFullModel || kltpoly->polygon->isVisible())
     {
-      faces[i]->changeFrame(cMo_);
-      faces[i]->computeRoiClipped(c);      
+      kltpoly->polygon->changeFrame(cMo_);
+      kltpoly->polygon->computeRoiClipped(c);
       std::vector<std::pair<vpImagePoint,unsigned int> > roi;
-      faces[i]->getRoiClipped(c, roi);
-      
+      kltpoly->polygon->getRoiClipped(c, roi);
+
       for (unsigned int j = 0; j < roi.size(); j += 1){
-        if(((roi[(j+1)%roi.size()].second & roi[j].second & vpMbtPolygon::NEAR_CLIPPING) == 0) && 
-           ((roi[(j+1)%roi.size()].second & roi[j].second & vpMbtPolygon::FAR_CLIPPING) == 0) && 
-           ((roi[(j+1)%roi.size()].second & roi[j].second & vpMbtPolygon::DOWN_CLIPPING) == 0) && 
-           ((roi[(j+1)%roi.size()].second & roi[j].second & vpMbtPolygon::UP_CLIPPING) == 0) && 
-           ((roi[(j+1)%roi.size()].second & roi[j].second & vpMbtPolygon::LEFT_CLIPPING) == 0) && 
+        if(((roi[(j+1)%roi.size()].second & roi[j].second & vpMbtPolygon::NEAR_CLIPPING) == 0) &&
+           ((roi[(j+1)%roi.size()].second & roi[j].second & vpMbtPolygon::FAR_CLIPPING) == 0) &&
+           ((roi[(j+1)%roi.size()].second & roi[j].second & vpMbtPolygon::DOWN_CLIPPING) == 0) &&
+           ((roi[(j+1)%roi.size()].second & roi[j].second & vpMbtPolygon::UP_CLIPPING) == 0) &&
+           ((roi[(j+1)%roi.size()].second & roi[j].second & vpMbtPolygon::LEFT_CLIPPING) == 0) &&
            ((roi[(j+1)%roi.size()].second & roi[j].second & vpMbtPolygon::RIGHT_CLIPPING) == 0)){
           vpImagePoint ip1, ip2;
           ip1 = roi[j].first;
           ip2 = roi[(j+1)%roi.size()].first;
-          
+
           vpDisplay::displayLine (I, ip1, ip2, col, thickness);
         }
       }
     }
-    if(displayFeatures && faces[i]->hasEnoughPoints() && faces[i]->isVisible()) {
-        faces[i]->displayPrimitive(I);
+    if(displayFeatures && kltpoly->hasEnoughPoints() && kltpoly->polygon->isVisible()) {
+        kltpoly->displayPrimitive(I);
 //         faces[i]->displayNormal(I);
     }
   }
 
+  for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders_disp.begin(); it!=cylinders_disp.end(); ++it){
+    (*it)->display(I, cMo_, camera, col, thickness);
+  }
+
+  for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles_disp.begin(); it!=circles_disp.end(); ++it){
+    (*it)->display(I, cMo_, camera, col, thickness);
+  }
+
 #ifdef VISP_HAVE_OGRE
   if(useOgre)
     faces.displayOgre(cMo_);
@@ -907,9 +1035,12 @@ void
 vpMbKltTracker::testTracking()
 {
   unsigned int nbTotalPoints = 0;
-  for (unsigned int i = 0; i < faces.size(); i += 1){
-    if(faces[i]->isVisible()){
-      nbTotalPoints += faces[i]->getNbPointsCur();
+  vpMbtDistanceKltPoints *kltpoly;
+//  for (unsigned int i = 0; i < faces.size(); i += 1){
+  for(std::list<vpMbtDistanceKltPoints*>::const_iterator it=kltPolygons.begin(); it!=kltPolygons.end(); ++it){
+    kltpoly = *it;
+    if(kltpoly->polygon->isVisible() && kltpoly->polygon->getNbPoint() > 2){
+      nbTotalPoints += kltpoly->getCurrentNumberPoints();
     }
   }
 
@@ -920,4 +1051,149 @@ vpMbKltTracker::testTracking()
   }
 }
 
+/*!
+  Add a cylinder to display (not for tracking) from two points on the axis (defining the length of
+  the cylinder) and its radius.
+
+  \param p1 : First point on the axis.
+  \param p2 : Second point on the axis.
+  \param radius : Radius of the cylinder.
+  \param name : The optional name of the cylinder.
+*/
+void
+vpMbKltTracker::initCylinder(const vpPoint& p1, const vpPoint &p2, const double radius, const int /*idFace*/,
+    const std::string &name)
+{
+  addCylinder(p1, p2, radius, name);
+}
+
+/*!
+  Add a cylinder to the list of cylinders.
+
+  \param P1 : The first extremity of the axis.
+  \param P2 : The second extremity of the axis.
+  \param r : The radius of the cylinder.
+  \param name : The optional name of the cylinder.
+*/
+void
+vpMbKltTracker::addCylinder(const vpPoint &P1, const vpPoint &P2, const double r, const std::string &name)
+{
+  bool already_here = false ;
+  vpMbtDistanceCylinder *cy ;
+
+//  for(std::list<vpMbtDistanceCylinder*>::const_iterator it=cylinders_disp.begin(); it!=cylinders_disp.end(); ++it){
+//    cy = *it;
+//    if((samePoint(*(cy->p1),P1) && samePoint(*(cy->p2),P2)) ||
+//       (samePoint(*(cy->p1),P2) && samePoint(*(cy->p2),P1)) ){
+//      already_here = (std::fabs(cy->radius - r) < std::numeric_limits<double>::epsilon() * vpMath::maximum(cy->radius, r));
+//    }
+//  }
+
+  if (!already_here){
+    cy = new vpMbtDistanceCylinder ;
+
+    cy->setCameraParameters(cam);
+    cy->setName(name);
+    cy->buildFrom(P1, P2, r);
+    cylinders_disp.push_back(cy);
+  }
+}
+
+/*!
+  Add a circle to display (not for tracking) from its center, 3 points (including the center) defining the plane that contain
+  the circle and its radius.
+
+  \param p1 : Center of the circle.
+  \param p2,p3 : Two points on the plane containing the circle. With the center of the circle we have 3 points
+  defining the plane that contains the circle.
+  \param radius : Radius of the circle.
+  \param name : The optional name of the circle.
+*/
+void
+vpMbKltTracker::initCircle(const vpPoint& p1, const vpPoint &p2, const vpPoint &p3, const double radius,
+    const int /*idFace*/, const std::string &name)
+{
+  addCircle(p1, p2, p3, radius, name);
+}
+
+/*!
+  Add a circle to the list of circles.
+
+  \param P1 : Center of the circle.
+  \param P2,P3 : Two points on the plane containing the circle. With the center of the circle we have 3 points
+  defining the plane that contains the circle.
+  \param r : Radius of the circle.
+  \param name : Name of the circle.
+*/
+void
+vpMbKltTracker::addCircle(const vpPoint &P1, const vpPoint &P2, const vpPoint &P3, const double r, const std::string &name)
+{
+  bool already_here = false ;
+  vpMbtDistanceCircle *ci ;
+
+//  for(std::list<vpMbtDistanceCircle*>::const_iterator it=circles_disp.begin(); it!=circles_disp[i].end(); ++it){
+//    ci = *it;
+//    if((samePoint(*(ci->p1),P1) && samePoint(*(ci->p2),P2) && samePoint(*(ci->p3),P3)) ||
+//       (samePoint(*(ci->p1),P1) && samePoint(*(ci->p2),P3) && samePoint(*(ci->p3),P2)) ){
+//      already_here = (std::fabs(ci->radius - r) < std::numeric_limits<double>::epsilon() * vpMath::maximum(ci->radius, r));
+//    }
+//  }
+
+  if (!already_here){
+    ci = new vpMbtDistanceCircle ;
+
+    ci->setCameraParameters(cam);
+    ci->setName(name);
+    ci->buildFrom(P1, P2, P3, r);
+    circles_disp.push_back(ci);
+  }
+}
+
+/*!
+  Re-initialize the model used by the tracker.
+
+  \param I : The image containing the object to initialize.
+  \param cad_name : Path to the file containing the 3D model description.
+  \param cMo_ : The new vpHomogeneousMatrix between the camera and the new model
+  \param verbose : verbose option to print additional information when loading CAO model files which include other
+  CAO model files.
+*/
+void
+vpMbKltTracker::reInitModel(const vpImage<unsigned char>& I, const std::string &cad_name,
+                            const vpHomogeneousMatrix& cMo_, const bool verbose)
+{
+  reInitModel(I, cad_name.c_str(), cMo_, verbose);
+}
+
+/*!
+  Re-initialize the model used by the tracker.
+
+  \param I : The image containing the object to initialize.
+  \param cad_name : Path to the file containing the 3D model description.
+  \param cMo_ : The new vpHomogeneousMatrix between the camera and the new model
+  \param verbose : verbose option to print additional information when loading CAO model files which include other
+  CAO model files.
+*/
+void
+vpMbKltTracker::reInitModel(const vpImage<unsigned char>& I, const char* cad_name,
+                            const vpHomogeneousMatrix& cMo_, const bool verbose)
+{
+  this->cMo.setIdentity();
+
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+  if(cur != NULL){
+    cvReleaseImage(&cur);
+    cur = NULL;
+  }
+#endif
+
+  firstInitialisation = true;
+  firstTrack = false;
+
+  faces.reset();
+
+  loadModel(cad_name, verbose);
+  initFromPose(I, cMo_);
+}
+
 #endif //VISP_HAVE_OPENCV
diff --git a/src/tracking/mbt/klt/vpMbKltTracker.h b/src/tracking/mbt/klt/vpMbKltTracker.h
index b51a97ffa01e2f31049752a4ba7275d460501be3..4fdaa2b1344440c7afa99931886f2d26cff42cb5 100644
--- a/src/tracking/mbt/klt/vpMbKltTracker.h
+++ b/src/tracking/mbt/klt/vpMbKltTracker.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMbKltTracker.h 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpMbKltTracker.h 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -48,11 +48,10 @@
 
 #include <visp/vpConfig.h>
 
-#ifdef VISP_HAVE_OPENCV
+#if (defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020100))
 
 #include <visp/vpMbTracker.h>
 #include <visp/vpKltOpencv.h>
-#include <visp/vpMbtKltPolygon.h>
 #include <visp/vpMeterPixelConversion.h>
 #include <visp/vpPixelMeterConversion.h>
 #include <visp/vpDisplayX.h>
@@ -62,7 +61,10 @@
 #include <visp/vpSubColVector.h>
 #include <visp/vpSubMatrix.h>
 #include <visp/vpExponentialMap.h>
-#include <visp/vpMbtKltPolygon.h>
+//#include <visp/vpMbtKltPolygon.h>
+#include <visp/vpMbtDistanceKltPoints.h>
+#include <visp/vpMbtDistanceCircle.h>
+#include <visp/vpMbtDistanceCylinder.h>
 
 /*!
   \class vpMbKltTracker
@@ -228,13 +230,13 @@ class VISP_EXPORT vpMbKltTracker: virtual public vpMbTracker
 {
 protected:
   //! Temporary OpenCV image for fast conversion.
-  IplImage* cur;
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+  cv::Mat cur;
+#else
+  IplImage *cur;
+#endif
   //! Initial pose.
   vpHomogeneousMatrix c0Mo;
-  //! Angle used to detect a face appearance
-  double angleAppears;
-  //! Angle used to detect a face disappearance
-  double angleDisappears;
   //! If true, compute the interaction matrix at each iteration of the minimization. Otherwise, compute it only on the first iteration.
   bool compute_interaction;
   //! Flag to specify whether the init method is called the first or not (specific calls to realize in this case).
@@ -249,28 +251,25 @@ protected:
   double threshold_outlier;
   //! Percentage of good points, according to the initial number, that must have the tracker.
   double percentGood;
-  //! Use Ogre3d for visibility tests
-  bool useOgre;
   //! The estimated displacement of the pose between the current instant and the initial position.
   vpHomogeneousMatrix ctTc0;
   //! Points tracker.
   vpKltOpencv tracker;
-  //! Set of faces describing the object. 
-  vpMbHiddenFaces<vpMbtKltPolygon> faces;
   //! First track() called
   bool firstTrack;
-  //! Distance for near clipping
-  double distNearClip;
-  //! Distance for near clipping
-  double distFarClip;
-  //! Flags specifying which clipping to used
-  unsigned int clippingFlag;
-  
+  //! Vector of the cylinders used here only to display the full model.
+  std::list<vpMbtDistanceKltPoints*> kltPolygons;
+  //! Vector of the cylinders used here only to display the full model.
+  std::list<vpMbtDistanceCylinder*> cylinders_disp;
+  //! Vector of the circles used here only to display the full model.
+  std::list<vpMbtDistanceCircle*> circles_disp;
+
 public:
-  
             vpMbKltTracker();
   virtual   ~vpMbKltTracker();
   
+            void addCircle(const vpPoint &P1, const vpPoint &P2, const vpPoint &P3, const double r, const std::string &name="");
+            void addCylinder(const vpPoint &P1, const vpPoint &P2, const double r, const std::string &name="");
   virtual void            display(const vpImage<unsigned char>& I, const vpHomogeneousMatrix &cMo,
                                   const vpCameraParameters &cam, const vpColor& col, const unsigned int thickness=1,
                                   const bool displayFullModel = false);
@@ -282,40 +281,25 @@ protected:
   virtual void            reinit(const vpImage<unsigned char>& I);
   
 public:
+  /*! Return the address of the circle feature list. */
+  std::list<vpMbtDistanceCircle*> &getFeaturesCircle() { return circles_disp; }
+  /*! Return the address of the cylinder feature list. */
+  std::list<vpMbtDistanceCylinder*> &getFeaturesCylinder() { return cylinders_disp; }
+  /*! Return the address of the Klt feature list. */
+  std::list<vpMbtDistanceKltPoints*> &getFeaturesKlt() { return kltPolygons; }
   virtual void            loadConfigFile(const std::string& configFile);
           void            loadConfigFile(const char* configFile);
           
-          /*! Return the angle used to test polygons appearance. */
-  virtual inline  double  getAngleAppear() const { return angleAppears; }   
-  
-          /*! Return the angle used to test polygons disappearance. */
-  virtual inline  double  getAngleDisappear() const { return angleDisappears; } 
-  
-          /*!
-            Get the clipping used.
-            
-            \sa vpMbtPolygonClipping
-            
-            \return Clipping flags.
-          */          
-  virtual inline  unsigned int getClipping() const { return clippingFlag; } 
-    
-          /*! Return a reference to the faces structure. */
-  inline  vpMbHiddenFaces<vpMbtKltPolygon>& getFaces() { return faces;}
-          
-          /*!
-            Get the far distance for clipping.
-            
-            \return Far clipping value.
-          */
-  virtual inline  double  getFarClippingDistance() const { return distFarClip; }
-
           /*!
             Get the current list of KLT points.
             
             \return the list of KLT points through vpKltOpencv.
           */
-  inline  CvPoint2D32f*   getKltPoints() {return tracker.getFeatures();}
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+          inline  std::vector<cv::Point2f> getKltPoints() {return tracker.getFeatures();}
+#else
+          inline  CvPoint2D32f*   getKltPoints() {return tracker.getFeatures();}
+#endif
   
           std::vector<vpImagePoint> getKltImagePoints() const;
           
@@ -355,14 +339,7 @@ public:
             \return the number of features
           */
   inline  int             getNbKltPoints() const {return tracker.getNbFeatures();}
-       
-          /*!
-            Get the near distance for clipping.
-            
-            \return Near clipping value.
-          */
-  virtual inline double   getNearClippingDistance() const { return distNearClip; }
-  
+        
           /*!
             Get the threshold for the acceptation of a point.
 
@@ -370,36 +347,14 @@ public:
           */
   inline  double          getThresholdAcceptation() const { return threshold_outlier;}
   
+  void reInitModel(const vpImage<unsigned char>& I, const std::string &cad_name, const vpHomogeneousMatrix& cMo_,
+		  const bool verbose=false);
+  void reInitModel(const vpImage<unsigned char>& I, const char* cad_name, const vpHomogeneousMatrix& cMo,
+		  const bool verbose=false);
           void            resetTracker();
-          
-          /*! 
-            Set the angle used to test polygons appearance.
-            If the angle between the normal of the polygon and the line going
-            from the camera to the polygon center has a value lower than
-            this parameter, the polygon is considered as appearing.
-            The polygon will then be tracked.
             
-            \param a : new angle in radian.
-          */
-  virtual inline  void    setAngleAppear(const double &a) { angleAppears = a; }   
-  
-          /*! 
-            Set the angle used to test polygons disappearance.
-            If the angle between the normal of the polygon and the line going
-            from the camera to the polygon center has a value greater than
-            this parameter, the polygon is considered as disappearing.
-            The tracking of the polygon will then be stopped.
-
-            \param a : new angle in radian.
-          */
-  virtual inline  void    setAngleDisappear(const double &a) { angleDisappears = a; } 
-  
           void            setCameraParameters(const vpCameraParameters& cam);
-          
-  virtual void            setClipping(const unsigned int &flags);
-          
-  virtual void            setFarClippingDistance(const double &dist);
-          
+
           void            setKltOpencv(const vpKltOpencv& t);
           
           /*!
@@ -422,10 +377,20 @@ public:
             \param max : the desired number of iteration
           */
   virtual inline  void    setMaxIter(const unsigned int max) {maxIter = max;}
-  
-  virtual void            setNearClippingDistance(const double &dist);
-  
-  virtual void            setOgreVisibilityTest(const bool &v);
+
+          /*!
+            Use Ogre3D for visibility tests
+
+            \warning This function has to be called before the initialization of the tracker.
+
+            \param v : True to use it, False otherwise
+          */
+  virtual         void    setOgreVisibilityTest(const bool &v){
+      vpMbTracker::setOgreVisibilityTest(v);
+#ifdef VISP_HAVE_OGRE
+      faces.getOgreContext()->setWindowName("MBT Klt");
+#endif
+  }
   
   virtual void            setPose(const vpImage<unsigned char> &I, const vpHomogeneousMatrix& cdMo);
   
@@ -442,9 +407,13 @@ public:
 protected:
           void            computeVVS(const unsigned int &nbInfos, vpColVector &w);
           
-  virtual void            initFaceFromCorners(const std::vector<vpPoint>& corners, const unsigned int indexFace = -1);
-  virtual void            initCylinder(const vpPoint&, const vpPoint &, const double, const unsigned int ){};
-  
+          virtual void            initFaceFromCorners(vpMbtPolygon &polygon);
+          virtual void            initFaceFromLines(vpMbtPolygon &polygon);
+          virtual void    initCircle(const vpPoint&, const vpPoint &, const vpPoint &, const double, const int,
+              const std::string &name="");
+          virtual void    initCylinder(const vpPoint&, const vpPoint &, const double, const int,
+              const std::string &name="");
+
           void            preTracking(const vpImage<unsigned char>& I, unsigned int &nbInfos, unsigned int &nbFaceUsed);
           bool            postTracking(const vpImage<unsigned char>& I, vpColVector &w);
 };
diff --git a/src/tracking/mbt/klt/vpMbtKltPolygon.cpp b/src/tracking/mbt/klt/vpMbtDistanceKltPoints.cpp
similarity index 73%
rename from src/tracking/mbt/klt/vpMbtKltPolygon.cpp
rename to src/tracking/mbt/klt/vpMbtDistanceKltPoints.cpp
index 6e88f1610967b54f8726bca4bd4cd234a03e1c60..8d8a8cfc622197e49904a8d76ecf3e64fe2e0240 100644
--- a/src/tracking/mbt/klt/vpMbtKltPolygon.cpp
+++ b/src/tracking/mbt/klt/vpMbtDistanceKltPoints.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMbtKltPolygon.cpp 4661 2014-02-10 19:34:58Z fspindle $
+ * $Id: vpMbtDistanceKltPoints.cpp 4661 2014-02-10 19:34:58Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -31,7 +31,7 @@
  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
  * Description:
- * Generic model polygon, containing points of interest.
+ * Klt polygon, containing points of interest.
  *
  * Authors:
  * Romain Tallonneau
@@ -39,31 +39,29 @@
  *
  *****************************************************************************/
 
+#include <visp/vpMbtDistanceKltPoints.h>
 
-#include <visp/vpMbtKltPolygon.h>
-
-#ifdef VISP_HAVE_OPENCV
+#if (defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020100))
 
 /*!
   Basic constructor.
 
 */
-vpMbtKltPolygon::vpMbtKltPolygon()
+vpMbtDistanceKltPoints::vpMbtDistanceKltPoints()
   : H(), N(), N_cur(), invd0(1.), cRc0_0n(), initPoints(), curPoints(), curPointsInd(),
-    nbPointsCur(0), nbPointsInit(0), minNbPoint(4), enoughPoints(false), dt(1.), d0(1.), cam()
+    nbPointsCur(0), nbPointsInit(0), minNbPoint(4), enoughPoints(false), dt(1.), d0(1.),
+    cam(), polygon(NULL)
 {
   initPoints = std::map<int, vpImagePoint>();
   curPoints = std::map<int, vpImagePoint>();
   curPointsInd = std::map<int, int>();
-  
-  isvisible = false;
 }
 
 /*!
   Basic destructor.
 
 */
-vpMbtKltPolygon::~vpMbtKltPolygon()
+vpMbtDistanceKltPoints::~vpMbtDistanceKltPoints()
 {}
 
 /*!
@@ -74,7 +72,7 @@ vpMbtKltPolygon::~vpMbtKltPolygon()
   \param _tracker : ViSP OpenCV KLT Tracker.
 */
 void
-vpMbtKltPolygon::init(const vpKltOpencv& _tracker)
+vpMbtDistanceKltPoints::init(const vpKltOpencv& _tracker)
 {
   // extract ids of the points in the face
   nbPointsInit = 0;
@@ -83,8 +81,8 @@ vpMbtKltPolygon::init(const vpKltOpencv& _tracker)
   curPoints = std::map<int, vpImagePoint>();
   curPointsInd = std::map<int, int>();
   std::vector<vpImagePoint> roi;
-  getRoiClipped(cam, roi);
-  
+  polygon->getRoiClipped(cam, roi);
+
   for (unsigned int i = 0; i < static_cast<unsigned int>(_tracker.getNbFeatures()); i ++){
     int id;
     float x_tmp, y_tmp;
@@ -99,12 +97,15 @@ vpMbtKltPolygon::init(const vpKltOpencv& _tracker)
     }
   }
 
+  if(nbPointsCur >= minNbPoint) enoughPoints = true;
+  else enoughPoints = false;
+
   // initialisation of the value for the computation in SE3
-  vpPlane plan(p[0], p[1], p[2]);
+  vpPlane plan(polygon->getPoint(0), polygon->getPoint(1), polygon->getPoint(2));
 
   d0 = plan.getD();
-  N = plan.getNormal(); 
-  
+  N = plan.getNormal();
+
   N.normalize();
   N_cur = N;
   invd0 = 1.0 / d0;
@@ -118,14 +119,14 @@ vpMbtKltPolygon::init(const vpKltOpencv& _tracker)
   \return the number of points that are tracked in this face and in this instanciation of the tracker
 */
 unsigned int
-vpMbtKltPolygon::computeNbDetectedCurrent(const vpKltOpencv& _tracker)
+vpMbtDistanceKltPoints::computeNbDetectedCurrent(const vpKltOpencv& _tracker)
 {
   int id;
   float x, y;
   nbPointsCur = 0;
   curPoints = std::map<int, vpImagePoint>();
   curPointsInd = std::map<int, int>();
-  
+
   for (unsigned int i = 0; i < static_cast<unsigned int>(_tracker.getNbFeatures()); i++){
     _tracker.getFeature((int)i, id, x, y);
     if(isTrackedFeature(id)){
@@ -134,10 +135,10 @@ vpMbtKltPolygon::computeNbDetectedCurrent(const vpKltOpencv& _tracker)
       nbPointsCur++;
     }
   }
-  
+
   if(nbPointsCur >= minNbPoint) enoughPoints = true;
   else enoughPoints = false;
-  
+
   return nbPointsCur;
 }
 
@@ -152,34 +153,34 @@ vpMbtKltPolygon::computeNbDetectedCurrent(const vpKltOpencv& _tracker)
   \param _J : the interaction matrix
 */
 void
-vpMbtKltPolygon::computeInteractionMatrixAndResidu(vpColVector& _R, vpMatrix& _J)
+vpMbtDistanceKltPoints::computeInteractionMatrixAndResidu(vpColVector& _R, vpMatrix& _J)
 {
   unsigned int index_ = 0;
-  
+
   std::map<int, vpImagePoint>::const_iterator iter = curPoints.begin();
   for( ; iter != curPoints.end(); iter++){
     int id(iter->first);
     double i_cur(iter->second.get_i()), j_cur(iter->second.get_j());
-    
+
     double x_cur(0), y_cur(0);
     vpPixelMeterConversion::convertPoint(cam, j_cur, i_cur, x_cur, y_cur);
-    
+
     vpImagePoint iP0 = initPoints[id];
     double x0(0), y0(0);
     vpPixelMeterConversion::convertPoint(cam, iP0, x0, y0);
-    
+
     double x0_transform, y0_transform ;// equivalent x and y in the first image (reference)
     computeP_mu_t(x0, y0, x0_transform, y0_transform, H );
 
     double invZ = compute_1_over_Z(x_cur, y_cur);
-      
+
     _J[2*index_][0] = - invZ;
     _J[2*index_][1] = 0;
     _J[2*index_][2] = x_cur * invZ;
     _J[2*index_][3] = x_cur * y_cur;
     _J[2*index_][4] = -(1+x_cur*x_cur);
     _J[2*index_][5] = y_cur;
-    
+
     _J[2*index_+1][0] = 0;
     _J[2*index_+1][1] = - invZ;
     _J[2*index_+1][2] = y_cur * invZ;
@@ -194,7 +195,7 @@ vpMbtKltPolygon::computeInteractionMatrixAndResidu(vpColVector& _R, vpMatrix& _J
 }
 
 double
-vpMbtKltPolygon::compute_1_over_Z(const double x, const double y)
+vpMbtDistanceKltPoints::compute_1_over_Z(const double x, const double y)
 {
   double num = cRc0_0n[0] * x + cRc0_0n[1] * y + cRc0_0n[2];
   double den = -(d0 - dt);
@@ -214,7 +215,7 @@ vpMbtKltPolygon::compute_1_over_Z(const double x, const double y)
   \param _cHc0 : the homography used to transfer the point
 */
 inline void
-vpMbtKltPolygon::computeP_mu_t(const double x_in, const double y_in, double& x_out, double& y_out, const vpMatrix& _cHc0)
+vpMbtDistanceKltPoints::computeP_mu_t(const double x_in, const double y_in, double& x_out, double& y_out, const vpMatrix& _cHc0)
 {
   double p_mu_t_2 = x_in * _cHc0[2][0] + y_in * _cHc0[2][1] + _cHc0[2][2];
 
@@ -226,8 +227,8 @@ vpMbtKltPolygon::computeP_mu_t(const double x_in, const double y_in, double& x_o
 
   x_out = (x_in * _cHc0[0][0] + y_in * _cHc0[0][1] + _cHc0[0][2]) / p_mu_t_2;
   y_out = (x_in * _cHc0[1][0] + y_in * _cHc0[1][1] + _cHc0[1][2]) / p_mu_t_2;
-}  
-  
+}
+
 /*!
   compute the homography using a displacement matrix.
 
@@ -241,7 +242,7 @@ vpMbtKltPolygon::computeP_mu_t(const double x_in, const double y_in, double& x_o
   \param _cHc0 : the homography of the plane
 */
 void
-vpMbtKltPolygon::computeHomography(const vpHomogeneousMatrix& _cTc0, vpHomography& _cHc0)
+vpMbtDistanceKltPoints::computeHomography(const vpHomogeneousMatrix& _cTc0, vpHomography& _cHc0)
 {
   vpRotationMatrix cRc0;
   vpTranslationVector ctransc0;
@@ -253,22 +254,22 @@ vpMbtKltPolygon::computeHomography(const vpHomogeneousMatrix& _cTc0, vpHomograph
 //   vpGEMM(cRc0, 1.0, invd0, cRc0, -1.0, _cHc0, VP_GEMM_A_T);
   vpGEMM(ctransc0, N, -invd0, cRc0, 1.0, cHc0, VP_GEMM_B_T);
   cHc0 /= cHc0[2][2];
-  
+
   H = cHc0;
-  
+
 //   vpQuaternionVector NQuat(N[0], N[1], N[2], 0.0);
 //   vpQuaternionVector RotQuat(cRc0);
 //   vpQuaternionVector RotQuatConj(-RotQuat.x(), -RotQuat.y(), -RotQuat.z(), RotQuat.w());
 //   vpQuaternionVector partial = RotQuat * NQuat;
 //   vpQuaternionVector resQuat = (partial * RotQuatConj);
-//   
+//
 //   cRc0_0n = vpColVector(3);
 //   cRc0_0n[0] = resQuat.x();
 //   cRc0_0n[1] = resQuat.y();
 //   cRc0_0n[2] = resQuat.z();
-  
+
   cRc0_0n = cRc0*N;
-  
+
 //   vpPlane p(corners[0], corners[1], corners[2]);
 //   vpColVector Ncur = p.getNormal();
 //   Ncur.normalize();
@@ -287,7 +288,7 @@ vpMbtKltPolygon::computeHomography(const vpHomogeneousMatrix& _cTc0, vpHomograph
   \return true if the id is in the list of tracked feature
 */
 bool
-vpMbtKltPolygon::isTrackedFeature(const int _id)
+vpMbtDistanceKltPoints::isTrackedFeature(const int _id)
 {
 //   std::map<int, vpImagePoint>::const_iterator iter = initPoints.begin();
 //   while(iter != initPoints.end()){
@@ -296,11 +297,11 @@ vpMbtKltPolygon::isTrackedFeature(const int _id)
 //     }
 //     iter++;
 //   }
-  
+
   std::map<int, vpImagePoint>::iterator iter = initPoints.find(_id);
   if(iter != initPoints.end())
     return true;
-  
+
   return false;
 }
 
@@ -308,65 +309,98 @@ vpMbtKltPolygon::isTrackedFeature(const int _id)
   Modification of all the pixels that are in the roi to the value of _nb (
   default is 255).
 
-  \param _mask : the mask to update (0, not in the object, _nb otherwise).
-  \param _nb : Optionnal value to set to the pixels included in the face.
-  \param _shiftBorder : Optionnal shift for the border in pixel (sort of built-in erosion) to avoid to consider pixels near the limits of the face.
+  \param mask : the mask to update (0, not in the object, _nb otherwise).
+  \param nb : Optionnal value to set to the pixels included in the face.
+  \param shiftBorder : Optionnal shift for the border in pixel (sort of built-in erosion) to avoid to consider pixels near the limits of the face.
 */
 void
-vpMbtKltPolygon::updateMask(IplImage* _mask, unsigned char _nb, unsigned int _shiftBorder)
+vpMbtDistanceKltPoints::updateMask(
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+    cv::Mat &mask,
+#else
+    IplImage* mask,
+#endif
+    unsigned char nb, unsigned int shiftBorder)
 {
-  int width = _mask->width;
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+  int width  = mask.cols;
+  int height = mask.rows;
+#else
+  int width  = mask->width;
+  int height = mask->height;
+#endif
+
   int i_min, i_max, j_min, j_max;
-  cam.computeFov((unsigned)_mask->width, (unsigned)_mask->height);
-  computeRoiClipped(cam);
   std::vector<vpImagePoint> roi;
-  getRoiClipped(cam, roi);
+  polygon->getRoiClipped(cam, roi);
   vpMbtPolygon::getMinMaxRoi(roi, i_min, i_max, j_min,j_max);
 
   /* check image boundaries */
-  if(i_min > _mask->height){ //underflow
+  if(i_min > height){ //underflow
     i_min = 0;
   }
-  if(i_max > _mask->height){
-    i_max = _mask->height;
+  if(i_max > height){
+    i_max = height;
   }
-  if(j_min > _mask->width){ //underflow
+  if(j_min > width){ //underflow
     j_min = 0;
   }
-  if(j_max > _mask->width){
-    j_max = _mask->width;
+  if(j_max > width){
+    j_max = width;
   }
-  
-  double shiftBorder_d = (double) _shiftBorder;
-  unsigned char* ptrData = (unsigned char*)_mask->imageData + i_min*width+j_min;
+
+  double shiftBorder_d = (double) shiftBorder;
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+  for(int i=i_min; i< i_max; i++){
+    double i_d = (double) i;
+    for(int j=j_min; j< j_max; j++){
+      double j_d = (double) j;
+      if(shiftBorder != 0){
+        if( vpMbtDistanceKltPoints::isInside(roi, i_d, j_d)
+            && vpMbtDistanceKltPoints::isInside(roi, i_d+shiftBorder_d, j_d+shiftBorder_d)
+            && vpMbtDistanceKltPoints::isInside(roi, i_d-shiftBorder_d, j_d+shiftBorder_d)
+            && vpMbtDistanceKltPoints::isInside(roi, i_d+shiftBorder_d, j_d-shiftBorder_d)
+            && vpMbtDistanceKltPoints::isInside(roi, i_d-shiftBorder_d, j_d-shiftBorder_d) ){
+          mask.at<unsigned char>(i,j) = nb;
+        }
+      }
+      else{
+        if(vpMbtDistanceKltPoints::isInside(roi, i, j)){
+          mask.at<unsigned char>(i,j) = nb;
+        }
+      }
+    }
+  }
+#else
+  unsigned char* ptrData = (unsigned char*)mask->imageData + i_min*mask->widthStep+j_min;
   for(int i=i_min; i< i_max; i++){
     double i_d = (double) i;
     for(int j=j_min; j< j_max; j++){
       double j_d = (double) j;
-      if(_shiftBorder != 0){
-        if( vpMbtKltPolygon::isInside(roi, i_d, j_d)
-            && vpMbtKltPolygon::isInside(roi, i_d+shiftBorder_d, j_d+shiftBorder_d)
-            && vpMbtKltPolygon::isInside(roi, i_d-shiftBorder_d, j_d+shiftBorder_d)
-            && vpMbtKltPolygon::isInside(roi, i_d+shiftBorder_d, j_d-shiftBorder_d)
-            && vpMbtKltPolygon::isInside(roi, i_d-shiftBorder_d, j_d-shiftBorder_d) ){
-          *(ptrData++) = _nb;
+      if(shiftBorder != 0){
+        if( vpMbtDistanceKltPoints::isInside(roi, i_d, j_d)
+            && vpMbtDistanceKltPoints::isInside(roi, i_d+shiftBorder_d, j_d+shiftBorder_d)
+            && vpMbtDistanceKltPoints::isInside(roi, i_d-shiftBorder_d, j_d+shiftBorder_d)
+            && vpMbtDistanceKltPoints::isInside(roi, i_d+shiftBorder_d, j_d-shiftBorder_d)
+            && vpMbtDistanceKltPoints::isInside(roi, i_d-shiftBorder_d, j_d-shiftBorder_d) ){
+          *(ptrData++) = nb;
         }
         else{
           ptrData++;
         }
       }
       else{
-        if(vpMbtKltPolygon::isInside(roi, i, j)){
-          *(ptrData++) = _nb;
+        if(vpMbtDistanceKltPoints::isInside(roi, i, j)){
+          *(ptrData++) = nb;
         }
         else{
           ptrData++;
         }
       }
     }
-    ptrData += width - j_max + j_min;
+    ptrData += mask->widthStep - j_max + j_min;
   }
-  
+#endif
 }
 
 /*!
@@ -377,13 +411,13 @@ vpMbtKltPolygon::updateMask(IplImage* _mask, unsigned char _nb, unsigned int _sh
   \param threshold_outlier : Threshold to specify wether or not a point has to be deleted.
 */
 void
-vpMbtKltPolygon::removeOutliers(const vpColVector& _w, const double &threshold_outlier)
+vpMbtDistanceKltPoints::removeOutliers(const vpColVector& _w, const double &threshold_outlier)
 {
   std::map<int, vpImagePoint> tmp;
   std::map<int, int> tmp2;
   unsigned int nbSupp = 0;
   unsigned int k = 0;
-  
+
   nbPointsCur = 0;
   std::map<int, vpImagePoint>::const_iterator iter = curPoints.begin();
   for( ; iter != curPoints.end(); iter++){
@@ -397,18 +431,18 @@ vpMbtKltPolygon::removeOutliers(const vpColVector& _w, const double &threshold_o
       nbSupp++;
       initPoints.erase(iter->first);
     }
-      
+
     k+=2;
   }
-  
+
   if(nbSupp != 0){
     curPoints = std::map<int, vpImagePoint>();
     curPointsInd = std::map<int, int>();
-    
+
     curPoints = tmp;
     curPointsInd = tmp2;
     if(nbPointsCur >= minNbPoint) enoughPoints = true;
-    else enoughPoints = false; 
+    else enoughPoints = false;
   }
 }
 
@@ -418,22 +452,22 @@ vpMbtKltPolygon::removeOutliers(const vpColVector& _w, const double &threshold_o
   \param _I : The image where to display.
 */
 void
-vpMbtKltPolygon::displayPrimitive(const vpImage<unsigned char>& _I)
-{  
+vpMbtDistanceKltPoints::displayPrimitive(const vpImage<unsigned char>& _I)
+{
   std::map<int, vpImagePoint>::const_iterator iter = curPoints.begin();
   for( ; iter != curPoints.end(); iter++){
     int id(iter->first);
     vpImagePoint iP;
     iP.set_i(static_cast<double>(iter->second.get_i()));
     iP.set_j(static_cast<double>(iter->second.get_j()));
-    
+
     vpDisplay::displayCross(_I, iP, 10, vpColor::red);
-    
+
     iP.set_i( vpMath::round( iP.get_i() + 7 ) );
     iP.set_j( vpMath::round( iP.get_j() + 7 ) );
     char ide[10];
     sprintf(ide, "%ld", static_cast<long int>(id));
-    vpDisplay::displayCharString(_I, iP, ide, vpColor::red);
+    vpDisplay::displayText(_I, iP, ide, vpColor::red);
   }
 }
 
@@ -443,22 +477,22 @@ vpMbtKltPolygon::displayPrimitive(const vpImage<unsigned char>& _I)
   \param _I : The image where to display.
 */
 void
-vpMbtKltPolygon::displayPrimitive(const vpImage<vpRGBa>& _I)
-{  
+vpMbtDistanceKltPoints::displayPrimitive(const vpImage<vpRGBa>& _I)
+{
   std::map<int, vpImagePoint>::const_iterator iter = curPoints.begin();
   for( ; iter != curPoints.end(); iter++){
     int id(iter->first);
     vpImagePoint iP;
     iP.set_i(static_cast<double>(iter->second.get_i()));
     iP.set_j(static_cast<double>(iter->second.get_j()));
-    
+
     vpDisplay::displayCross(_I, iP, 10, vpColor::red);
-    
+
     iP.set_i( vpMath::round( iP.get_i() + 7 ) );
     iP.set_j( vpMath::round( iP.get_j() + 7 ) );
     char ide[10];
     sprintf(ide, "%ld", static_cast<long int>(id));
-    vpDisplay::displayCharString(_I, iP, ide, vpColor::red);
+    vpDisplay::displayText(_I, iP, ide, vpColor::red);
   }
 }
 
@@ -466,7 +500,8 @@ vpMbtKltPolygon::displayPrimitive(const vpImage<vpRGBa>& _I)
 //      Static functions
 //###################################
 
-bool vpMbtKltPolygon::intersect(const vpImagePoint& p1, const vpImagePoint& p2, const double i_test, const double j_test, const double i, const double j)
+bool
+vpMbtDistanceKltPoints::intersect(const vpImagePoint& p1, const vpImagePoint& p2, const double i_test, const double j_test, const double i, const double j)
 {
   double dx = p2.get_j() - p1.get_j();
   double dy = p2.get_i() - p1.get_i();
@@ -486,7 +521,8 @@ bool vpMbtKltPolygon::intersect(const vpImagePoint& p1, const vpImagePoint& p2,
   return ( t >= std::numeric_limits<double>::epsilon() && t < 1.0 && u >= std::numeric_limits<double>::epsilon() && u < 1.0);
 }
 
-bool vpMbtKltPolygon::isInside(const std::vector<vpImagePoint>& roi, const double i, const double j)
+bool
+vpMbtDistanceKltPoints::isInside(const std::vector<vpImagePoint>& roi, const double i, const double j)
 {
   double i_test = 100000.;
   double j_test = 100000.;
@@ -497,7 +533,7 @@ bool vpMbtKltPolygon::isInside(const std::vector<vpImagePoint>& roi, const doubl
     computeAgain = false;
     for(unsigned int k=0; k< roi.size(); k++){
       try{
-        if(vpMbtKltPolygon::intersect(roi[k], roi[(k+1)%roi.size()], i, j, i_test, j_test)){
+        if(vpMbtDistanceKltPoints::intersect(roi[k], roi[(k+1)%roi.size()], i, j, i_test, j_test)){
           nbInter++;
         }
       }
@@ -516,4 +552,4 @@ bool vpMbtKltPolygon::isInside(const std::vector<vpImagePoint>& roi, const doubl
   return ((nbInter%2) == 1);
 }
 
-#endif // VISP_HAVE_OPENCV
+#endif
diff --git a/src/tracking/mbt/klt/vpMbtKltPolygon.h b/src/tracking/mbt/klt/vpMbtDistanceKltPoints.h
similarity index 73%
rename from src/tracking/mbt/klt/vpMbtKltPolygon.h
rename to src/tracking/mbt/klt/vpMbtDistanceKltPoints.h
index ba8fe2a698960de7e1e39c5df276aa0302d6ec68..5bcf43dfd3f7cb9352234c98a783c41fd90ae2b2 100644
--- a/src/tracking/mbt/klt/vpMbtKltPolygon.h
+++ b/src/tracking/mbt/klt/vpMbtDistanceKltPoints.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMbtKltPolygon.h 4661 2014-02-10 19:34:58Z fspindle $
+ * $Id: vpMbtDistanceKltPoints.h 4661 2014-02-10 19:34:58Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -31,7 +31,7 @@
  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
  * Description:
- * Generic model polygon, containing points of interest.
+ * Klt polygon, containing points of interest.
  *
  * Authors:
  * Romain Tallonneau
@@ -39,12 +39,14 @@
  *
  *****************************************************************************/
 
-#ifndef vpMbtKltPolygon_h
-#define vpMbtKltPolygon_h
+#ifndef vpMbtDistanceKltPoints_h
+#define vpMbtDistanceKltPoints_h
 
 #include <visp/vpConfig.h>
 
-#ifdef VISP_HAVE_OPENCV
+#if (defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020100))
+
+#include <map>
 
 #include <visp/vpMbtPolygon.h>
 #include <visp/vpKltOpencv.h>
@@ -53,21 +55,22 @@
 #include <visp/vpGEMM.h>
 #include <visp/vpHomography.h>
 #include <visp/vpPlot.h>
+#include <visp/vpMbHiddenFaces.h>
 
 /*!
-  \class vpMbtKltPolygon
-  
+  \class vpMbtDistanceKltPoints
+
   \brief Implementation of a polygon of the model containing points of interest. It is used by the model-based tracker KLT, and hybrid.
-  
+
   \warning This class is only available if OpenCV is installed, and used.
-  
+
   \ingroup ModelBasedTracking
 */
-class VISP_EXPORT vpMbtKltPolygon: public vpMbtPolygon
+class VISP_EXPORT vpMbtDistanceKltPoints
 {
 private:
   //! the homography in meter
-  vpMatrix H; 
+  vpMatrix H;
   //! normal to the initial plane
   vpColVector N;
   //! current normal
@@ -80,7 +83,7 @@ private:
   std::map<int, vpImagePoint> initPoints;
   //! Current points and their ID
   std::map<int, vpImagePoint> curPoints;
-  //! Current points indexes and their ID
+  //! Current points ID and their indexes
   std::map<int, int> curPointsInd;
   //! number of points detected
   unsigned int nbPointsCur;
@@ -96,72 +99,101 @@ private:
   double d0;
   //! Camera parameters
   vpCameraParameters cam;
-  
+
+public:
+  //! Pointer to the polygon that define a face
+  vpMbtPolygon *polygon;
+
 private:
-  
+
   double              compute_1_over_Z(const double x, const double y);
   void                computeP_mu_t(const double x_in, const double y_in, double& x_out, double& y_out, const vpMatrix& cHc0);
   bool                isTrackedFeature(const int id);
-  
+
 public:
-                      vpMbtKltPolygon();
-  virtual             ~vpMbtKltPolygon();
-  
+                      vpMbtDistanceKltPoints();
+  virtual             ~vpMbtDistanceKltPoints();
+
   unsigned int        computeNbDetectedCurrent(const vpKltOpencv& _tracker);
   void                computeHomography(const vpHomogeneousMatrix& _cTc0, vpHomography& cHc0);
   void                computeInteractionMatrixAndResidu(vpColVector& _R, vpMatrix& _J);
-  
+
   void                displayPrimitive(const vpImage<unsigned char>& _I);
   void                displayPrimitive(const vpImage<vpRGBa>& _I);
-  
+
   /*!
     Get the camera parameters of the face.
 
     \return cam : the camera parameters of the face.
   */
   inline vpCameraParameters& getCameraParameters(){ return cam; }
-  
+
   inline vpColVector  getCurrentNormal() const {return N_cur; }
-  
+
   inline std::map<int, vpImagePoint>& getCurrentPoints() {return curPoints; }
-  
+
   inline std::map<int, int>& getCurrentPointsInd() {return curPointsInd; }
-  
+
   /*!
     Get the number of point that was belonging to the face at the initialisation
 
-    \return the number of initial point
+    \return the number of initial point.
+
+    \sa getCurrentNumberPoints()
   */
   inline unsigned int getInitialNumberPoint() const { return nbPointsInit;}
-  
   /*!
-    get the number of points detected in the last image.
+    Get the number of points detected in the last image.
 
-    \warning to have the real number of points, the function computeNbDetectedCurrent
+    \warning To have the real number of points, the function computeNbDetectedCurrent()
     must be called first.
 
-    \return the number of points detected in the current image
+    \return the number of points detected in the current image.
+
+    \sa getInitialNumberPoint()
   */
-  inline unsigned int getNbPointsCur() const {return nbPointsCur;}
-  
+  inline unsigned int getCurrentNumberPoints() const {return nbPointsCur;}
+
   inline  bool        hasEnoughPoints() const {return enoughPoints;}
-  
+
           void        init(const vpKltOpencv& _tracker);
-          
+
           void        removeOutliers(const vpColVector& weight, const double &threshold_outlier);
-  
+
   /*!
     Set the camera parameters
 
     \param _cam : the new camera parameters
   */
-  virtual inline void setCameraParameters(const vpCameraParameters& _cam){ cam = _cam; } 
-  
-  void                updateMask(IplImage* _mask, unsigned char _nb = 255, unsigned int _shiftBorder = 0);
-  
-//###################
-// Static Functions
-//###################
+  virtual inline void setCameraParameters(const vpCameraParameters& _cam){ cam = _cam; }
+
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+  void updateMask(cv::Mat &mask, unsigned char _nb = 255, unsigned int _shiftBorder = 0);
+#else
+  void updateMask(IplImage* mask, unsigned char _nb = 255, unsigned int _shiftBorder = 0);
+#endif
+
+  //###################
+  // Deprecated Functions
+  //###################
+#ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
+public:
+  /*!
+    \deprecated Use rather getCurrentNumberPoints() that does the same.
+
+    Get the number of points detected in the last image.
+
+    \warning to have the real number of points, the function computeNbDetectedCurrent()
+    must be called first.
+
+    \return the number of points detected in the current image
+  */
+  vp_deprecated inline unsigned int getNbPointsCur() const {return nbPointsCur;}
+#endif
+
+  //###################
+  // Static Functions
+  //###################
 private:
   static bool         isInside(const std::vector<vpImagePoint>& roi, const double i, const double  j);
   static bool         intersect(const vpImagePoint& p1, const vpImagePoint& p2, const double  i, const double  j, const double  i_test, const double  j_test);
diff --git a/src/tracking/mbt/klt/vpMbtKltXmlParser.cpp b/src/tracking/mbt/klt/vpMbtKltXmlParser.cpp
index 5b81b53cf299cd67bab47a54c5a3d5e0f48c0761..239389a74556daa1e4fbbcf809269bd2a6411495 100644
--- a/src/tracking/mbt/klt/vpMbtKltXmlParser.cpp
+++ b/src/tracking/mbt/klt/vpMbtKltXmlParser.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMbtKltXmlParser.cpp 4582 2014-01-14 14:02:46Z ayol $
+ * $Id: vpMbtKltXmlParser.cpp 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -55,9 +55,9 @@
   
 */
 vpMbtKltXmlParser::vpMbtKltXmlParser()
+  : maskBorder(0), maxFeatures(0), winSize(0), qualityValue(0.), minDist(0.),
+    harrisParam(0.), blockSize(0), pyramidLevels(0)
 {
-  maskBorder = maxFeatures = winSize = blockSize = pyramidLevels = 0;
-  qualityValue = minDist = harrisParam = 0.;
   init();
 }
 
diff --git a/src/tracking/mbt/vpMbHiddenFaces.h b/src/tracking/mbt/vpMbHiddenFaces.h
index 0fecbd1241c4a52572741a84df0059a4fe2dc862..9bd1356db4f81289af4669507bdfde86fe0fd35c 100644
--- a/src/tracking/mbt/vpMbHiddenFaces.h
+++ b/src/tracking/mbt/vpMbHiddenFaces.h
@@ -36,7 +36,7 @@
  *
  * Authors:
  * Romain Tallonneau
- * Aurélien Yol
+ * Aurelien Yol
  *
  *****************************************************************************/
 #pragma once
@@ -84,16 +84,21 @@ class vpMbHiddenFaces
                            bool &changed, 
                            bool useOgre = false, bool testRoi = false,
                            const vpImage<unsigned char> &I = vpImage<unsigned char>(),
-                           const vpCameraParameters &cam = vpCameraParameters()
-                          ) ;
+                           const vpCameraParameters &cam = vpCameraParameters()) ;
 
-  
   public :
                     vpMbHiddenFaces() ;
                   ~vpMbHiddenFaces() ;
                 
     void          addPolygon(PolygonType *p)  ;
 
+    bool computeVisibility(const vpHomogeneousMatrix &cMo,
+                           const double &angleAppears, const double &angleDisappears,
+                           bool &changed, bool useOgre, bool testRoi,
+                           const vpImage<unsigned char> &I,
+                           const vpCameraParameters &cam,
+                           const vpTranslationVector &cameraPos,
+                           unsigned int index);
 #ifdef VISP_HAVE_OGRE
     void          displayOgre(const vpHomogeneousMatrix &cMo);
 #endif   
@@ -155,7 +160,7 @@ class vpMbHiddenFaces
     //! operator[] as reader.
     inline const PolygonType*  operator[](const unsigned int i) const { return Lpol[i];}
 
-    void          reset();  
+    void          reset();
     
 #ifdef VISP_HAVE_OGRE
     /*!
@@ -167,7 +172,7 @@ class vpMbHiddenFaces
       \param h : Height of the background
       \param w : Width of the background
     */
-    void          setBackgroundSizeOgre(const unsigned int &h, const unsigned int &w) { ogreBackground.resize(h,w); }
+    void          setBackgroundSizeOgre(const unsigned int &h, const unsigned int &w) { ogreBackground = vpImage<unsigned char>(h, w, 0); }
 #endif
     
     unsigned int  setVisible(const vpImage<unsigned char>& I, const vpCameraParameters &cam, const vpHomogeneousMatrix &cMo, const double &angle, bool &changed) ;
@@ -227,11 +232,10 @@ vpMbHiddenFaces<PolygonType>::vpMbHiddenFaces()
   ogreInitialised = false;
   ogre = new vpAROgre();
   ogre->setShowConfigDialog(false);
-  ogreBackground = vpImage<unsigned char>(480, 640);
+  ogreBackground = vpImage<unsigned char>(480, 640, 0);
 #endif
 }
 
-
 /*!
   Basic destructor.
 */
@@ -245,9 +249,22 @@ vpMbHiddenFaces<PolygonType>::~vpMbHiddenFaces()
     Lpol[i] = NULL ;
   }
   Lpol.resize(0);
-  
+
 #ifdef VISP_HAVE_OGRE
-  delete ogre;
+  if(ogre != NULL){
+    delete ogre;
+    ogre = NULL;
+  }
+
+  // This is already done by calling "delete ogre"
+//  for(unsigned int i = 0 ; i < lOgrePolygons.size() ; i++){
+//    if (lOgrePolygons[i]!=NULL){
+//      delete lOgrePolygons[i] ;
+//    }
+//    lOgrePolygons[i] = NULL ;
+//  }
+
+  lOgrePolygons.resize(0);
 #endif
 }
 
@@ -264,6 +281,11 @@ vpMbHiddenFaces<PolygonType>::addPolygon(PolygonType *p)
   p_new->index = p->index;
   p_new->setNbPoint(p->nbpt);
   p_new->isvisible = p->isvisible;
+  p_new->useLod = p->useLod;
+  p_new->minLineLengthThresh = p->minLineLengthThresh;
+  p_new->minPolygonAreaThresh = p->minPolygonAreaThresh;
+  p_new->setName(p->name);
+
   for(unsigned int i = 0; i < p->nbpt; i++)
     p_new->p[i]= p->p[i];
   Lpol.push_back(p_new);
@@ -284,6 +306,28 @@ vpMbHiddenFaces<PolygonType>::reset()
     Lpol[i] = NULL ;
   }
   Lpol.resize(0);
+
+#ifdef VISP_HAVE_OGRE
+  if(ogre != NULL){
+    delete ogre;
+    ogre = NULL;
+  }
+
+  // This is already done by calling "delete ogre"
+//  for(unsigned int i = 0 ; i < lOgrePolygons.size() ; i++){
+//    if (lOgrePolygons[i]!=NULL){
+//      delete lOgrePolygons[i] ;
+//    }
+//    lOgrePolygons[i] = NULL ;
+//  }
+
+  lOgrePolygons.resize(0);
+
+  ogreInitialised = false;
+  ogre = new vpAROgre();
+  ogre->setShowConfigDialog(false);
+  ogreBackground = vpImage<unsigned char>(480, 640);
+#endif
 }
 
 /*!
@@ -302,11 +346,11 @@ vpMbHiddenFaces<PolygonType>::reset()
 */
 template<class PolygonType>
 unsigned int
-vpMbHiddenFaces<PolygonType>::setVisiblePrivate(const vpHomogeneousMatrix &cMo, const double &angleAppears, const double &angleDisappears,
-                                               bool &changed, bool useOgre, bool testRoi, 
-                                               const vpImage<unsigned char> &I,
-                                               const vpCameraParameters &cam
-                                              )
+vpMbHiddenFaces<PolygonType>::setVisiblePrivate(const vpHomogeneousMatrix &cMo,
+                                                const double &angleAppears, const double &angleDisappears,
+                                                bool &changed, bool useOgre, bool testRoi,
+                                                const vpImage<unsigned char> &I,
+                                                const vpCameraParameters &cam)
 {  
   nbVisiblePolygon = 0;
   changed = false;
@@ -322,77 +366,122 @@ vpMbHiddenFaces<PolygonType>::setVisiblePrivate(const vpHomogeneousMatrix &cMo,
 #endif
   }
   
-  for (unsigned int i = 0; i < Lpol.size(); i += 1){ 
-    Lpol[i]->changeFrame(cMo);
-    Lpol[i]->isappearing = false;
-    
-    if(Lpol[i]->isVisible())
-    {
-      bool testDisappear = false;
-      unsigned int nbCornerInsidePrev = 0;
-      
-      if(testRoi){
-       nbCornerInsidePrev = Lpol[i]->getNbCornerInsidePrevImage();
-       if(Lpol[i]->getNbCornerInsideImage(I, cam) == 0)
-          testDisappear = true;
-      }
-      
-      if(!testDisappear){
-        if(useOgre)
+  for (unsigned int i = 0; i < Lpol.size(); i++){
+    if (computeVisibility(cMo, angleAppears, angleDisappears, changed, useOgre, testRoi, I, cam, cameraPos, i))
+      nbVisiblePolygon ++;
+  }
+  return nbVisiblePolygon;
+}
+
+/*!
+  Compute the visibility of a given face index.
+
+  \param cMo : The pose of the camera
+  \param angleAppears : Angle used to test the appearance of a face
+  \param angleDisappears : Angle used to test the disappearance of a face
+  \param changed : True if a face appeared, disappeared or too many points have been lost. False otherwise
+  \param useOgre : True if a Ogre is used to test the visibility, False otherwise
+  \param testRoi : True if a face have to be entirely in the image False otherwise
+  \param I : Image used to test if a face is entirely projected in the image.
+  \param cam : Camera parameters.
+  \param cameraPos : Position of the camera. Used only when Ogre is used as 3rd party.
+  \param index : Index of the face to consider.
+
+  \return Return true if the face is visible.
+*/
+template<class PolygonType>
+bool
+vpMbHiddenFaces<PolygonType>::computeVisibility(const vpHomogeneousMatrix &cMo,
+                                                const double &angleAppears, const double &angleDisappears,
+                                                bool &changed, bool useOgre, bool /* testRoi */,
+                                                const vpImage<unsigned char> & I,
+                                                const vpCameraParameters & cam,
+                                                const vpTranslationVector &
+                                                #ifdef VISP_HAVE_OGRE
+                                                cameraPos
+                                                #endif
+                                                ,
+                                                unsigned int index)
+{
+  unsigned int i = index;
+  Lpol[i]->changeFrame(cMo);
+  Lpol[i]->isappearing = false;
+
+  //Commented because we need to compute visibility
+  // even when dealing with line in level of detail case
+  /*if(Lpol[i]->getNbPoint() <= 2)
+  {
+      Lpol[i]->isvisible = true;
+  }
+  else*/{
+  if(Lpol[i]->isVisible())
+  {
+    bool testDisappear = false;
+    unsigned int nbCornerInsidePrev = 0;
+
+//    if(testRoi){
+//      nbCornerInsidePrev = Lpol[i]->getNbCornerInsidePrevImage();
+//      if(Lpol[i]->getNbCornerInsideImage(I, cam) == 0)
+//        testDisappear = true;
+//    }
+
+    if(!testDisappear){
+      if(useOgre)
 #ifdef VISP_HAVE_OGRE
-          testDisappear = ((!Lpol[i]->isVisible(cMo, angleDisappears, true)) || !isVisibleOgre(cameraPos,i));
+        testDisappear = ((!Lpol[i]->isVisible(cMo, angleDisappears, true, cam, I)) || !isVisibleOgre(cameraPos,i));
 #else
-          testDisappear = (!Lpol[i]->isVisible(cMo, angleDisappears));
+        testDisappear = (!Lpol[i]->isVisible(cMo, angleDisappears, false, cam, I));
 #endif
-        else
-          testDisappear = (!Lpol[i]->isVisible(cMo, angleDisappears));
-      }
-  
-      // test if the face is still visible
-      if(testDisappear){
-//         std::cout << "Face " << i << " disappears" << std::endl;
+      else
+        testDisappear = (!Lpol[i]->isVisible(cMo, angleDisappears, false, cam, I));
+    }
+
+    // test if the face is still visible
+    if(testDisappear){
+//               std::cout << "Face " << i << " disappears" << std::endl;
+      changed = true;
+      Lpol[i]->isvisible = false;
+    }
+    else {
+      //nbVisiblePolygon++;
+      Lpol[i]->isvisible = true;
+
+      if(nbCornerInsidePrev > Lpol[i]->getNbCornerInsidePrevImage())
         changed = true;
-        Lpol[i]->isvisible = false;
-      }
-      else {
-        nbVisiblePolygon++;
-        Lpol[i]->isvisible = true;
-        
-        if(nbCornerInsidePrev > Lpol[i]->getNbCornerInsidePrevImage())
-          changed = true;
-      }
     }
-    else
-    {
-      bool testAppear = true;
-      
-      if(testRoi && Lpol[i]->getNbCornerInsideImage(I, cam) == 0)
-       testAppear = false;
-      
-      if(testAppear){
-        if(useOgre)
+  }
+  else
+  {
+    bool testAppear = true;
+
+//    if(testRoi && Lpol[i]->getNbCornerInsideImage(I, cam) == 0)
+//      testAppear = false;
+
+    if(testAppear){
+      if(useOgre)
 #ifdef VISP_HAVE_OGRE
-          testAppear = ((Lpol[i]->isVisible(cMo, angleAppears, true)) && isVisibleOgre(cameraPos,i));
+        testAppear = ((Lpol[i]->isVisible(cMo, angleAppears, true, cam, I)) && isVisibleOgre(cameraPos,i));
 #else
-          testAppear = (Lpol[i]->isVisible(cMo, angleAppears));
+        testAppear = (Lpol[i]->isVisible(cMo, angleAppears, false, cam, I));
 #endif
-        else
-          testAppear = (Lpol[i]->isVisible(cMo, angleAppears));
-      } 
-      
-      if(testAppear){   
-//         std::cout << "Face " << i << " appears" << std::endl;
-        Lpol[i]->isvisible = true;
-        changed = true;
-        nbVisiblePolygon++;
-      }
       else
-        Lpol[i]->isvisible = false;
+        testAppear = (Lpol[i]->isVisible(cMo, angleAppears, false, cam, I));
+    }
+
+    if(testAppear){
+//      std::cout << "Face " << i << " appears" << std::endl;
+      Lpol[i]->isvisible = true;
+      changed = true;
+      //nbVisiblePolygon++;
+    }
+    else{
+//      std::cout << "Problem" << std::endl;
+      Lpol[i]->isvisible = false;
     }
   }
-  
-//   std::cout << "Nombre de polygones visibles: " << nbVisiblePolygon << std::endl;
-  return nbVisiblePolygon;
+  }
+  //   std::cout << "Nombre de polygones visibles: " << nbVisiblePolygon << std::endl;
+  return Lpol[i]->isvisible;
 }
 
 /*!
diff --git a/src/tracking/mbt/vpMbTracker.cpp b/src/tracking/mbt/vpMbTracker.cpp
index 1752beaea7a982307968a67d39599ef9d2927af3..6b0760c196a935c9f0b35f5dc6ab49d3f65bdff1 100755
--- a/src/tracking/mbt/vpMbTracker.cpp
+++ b/src/tracking/mbt/vpMbTracker.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMbTracker.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpMbTracker.cpp 5285 2015-02-09 14:32:54Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -48,6 +48,10 @@
   \brief Generic model based tracker
 */
 
+#include <iostream>
+#include <limits>
+#include <algorithm>
+#include <map>
 
 #include <visp/vpMatrix.h>
 #include <visp/vpMath.h>
@@ -67,8 +71,7 @@
 #include <visp/vpMbTracker.h>
 #include <visp/vpMatrixException.h>
 #include <visp/vpIoTools.h>
-#include <iostream>
-#include <limits>
+
 #ifdef VISP_HAVE_COIN
 //Inventor includes
 #include <Inventor/nodes/SoSeparator.h>
@@ -87,15 +90,58 @@
 #endif
 
 
+
+
+/*!
+  Structure to store info about segment in CAO model files.
+ */
+struct SegmentInfo {
+  SegmentInfo() : extremities(), name(), useLod(false), minLineLengthThresh(0.) {}
+
+  std::vector<vpPoint> extremities;
+  std::string name;
+  bool useLod;
+  double minLineLengthThresh;
+};
+
+/*!
+  Structure to store info about a polygon face represented by a vpPolygon and by a list of vpPoint
+  representing the corners of the polygon face in 3D.
+ */
+struct PolygonFaceInfo {
+  PolygonFaceInfo(const double dist, const vpPolygon &poly, const std::vector<vpPoint> &corners)
+: distanceToCamera(dist), polygon(poly), faceCorners(corners) {}
+
+  bool operator<(const PolygonFaceInfo &pfi) const {
+    return distanceToCamera < pfi.distanceToCamera;
+  }
+
+  double distanceToCamera;
+  vpPolygon polygon;
+  std::vector<vpPoint> faceCorners;
+};
+
 /*!
   Basic constructor.
   Set default values.
 
 */
 vpMbTracker::vpMbTracker()
-  : cam(), cMo(), modelFileName(), modelInitialised(false),
-    poseSavingFilename(), computeCovariance(false), covarianceMatrix(), displayFeatures(false)
+: cam(), cMo(), oJo(6,6), isoJoIdentity(true), modelFileName(), modelInitialised(false),
+  poseSavingFilename(), computeCovariance(false), covarianceMatrix(), displayFeatures(false),
+  m_w(), m_error(), faces(), angleAppears( vpMath::rad(89) ), angleDisappears( vpMath::rad(89) ),
+  distNearClip(0.001), distFarClip(100), clippingFlag(vpMbtPolygon::NO_CLIPPING), useOgre(false),
+  nbPoints(0), nbLines(0), nbPolygonLines(0), nbPolygonPoints(0), nbCylinders(0), nbCircles(0),
+  useLodGeneral(false), applyLodSettingInConfig(false), minLineLengthThresholdGeneral(50.0),
+  minPolygonAreaThresholdGeneral(2500.0), mapOfParameterNames()
 {
+    oJo.setIdentity();
+    //Map used to parse additional information in CAO model files,
+    //like name of faces or LOD setting
+    mapOfParameterNames["name"] = "string";
+    mapOfParameterNames["minPolygonAreaThreshold"] = "number";
+    mapOfParameterNames["minLineLengthThreshold"] = "number";
+    mapOfParameterNames["useLod"] = "boolean";
 }
 
 /*!
@@ -105,7 +151,6 @@ vpMbTracker::~vpMbTracker()
 {
 }
 
-
 /*!
   Initialise the tracking by clicking on the image points corresponding to the 
   3D points (object frame) in the file initFile. The structure of this file
@@ -177,7 +222,7 @@ vpMbTracker::initClick(const vpImage<unsigned char>& I, const std::string& initF
     std::cout << "No modification : left click " << std::endl;
     std::cout << "Modify initial pose : right click " << std::endl ;
 
-    vpDisplay::displayCharString(I, 15, 10,
+    vpDisplay::displayText(I, 15, 10,
               "left click to validate, right click to modify initial pose",
               vpColor::red);
 
@@ -192,6 +237,8 @@ vpMbTracker::initClick(const vpImage<unsigned char>& I, const std::string& initF
   }
   else
   {
+    vpDisplay *d_help = NULL;
+
     vpDisplay::display(I) ;
     vpDisplay::flush(I) ;
 
@@ -211,45 +258,63 @@ vpMbTracker::initClick(const vpImage<unsigned char>& I, const std::string& initF
 		else
       sprintf(s,"%s.init", initFile.c_str());
 	
-    std::cout << "filename " << s << std::endl ;
+    std::cout << "Load 3D points from: " << s << std::endl ;
     finit.open(s,std::ios::in) ;
     if (finit.fail()){
       std::cout << "cannot read " << s << std::endl;
 	    throw vpException(vpException::ioError, "cannot read init file");
     }
 
-		std::string dispF;
-    if( pos == initFile.size()-ext.size() && pos != 0)
-      dispF = initFile.substr(0,pos) + ".ppm";
-		else
-      dispF = initFile + ".ppm";
-    
-		sprintf(s, "%s", dispF.c_str());
-
-    vpImage<vpRGBa> Iref ;
-    //Display window creation and initialistation
+    //Display window creation and initialisation
+    try{
+      if(displayHelp){
+        std::string dispF;
+        if( pos == initFile.size()-ext.size() && pos != 0)
+          dispF = initFile.substr(0,pos) + ".ppm";
+        else
+          dispF = initFile + ".ppm";
+
+        if (vpIoTools::checkFilename(dispF)) {
+          std::cout << "Load image to help initialization: " << dispF << std::endl;
 #if defined VISP_HAVE_X11
-    vpDisplayX d;
+          d_help = new vpDisplayX ;
 #elif defined VISP_HAVE_GDI
-    vpDisplayGDI d;
+          d_help = new vpDisplayGDI;
 #elif defined VISP_HAVE_OPENCV
-    vpDisplayOpenCV d;
+          d_help = new vpDisplayOpenCV;
 #endif
-    try{
-      if(displayHelp){
-        vpImageIo::read(Iref,s) ;
+
+          vpImage<vpRGBa> Iref ;
+          vpImageIo::read(Iref, dispF) ;
 #if defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV)
-        d.init(Iref,10,500, "Where to initialize...")  ;
-    	  vpDisplay::display(Iref) ;
-    	  vpDisplay::flush(Iref);
+          d_help->init(Iref, I.display->getWindowXPosition()+(int)I.getWidth()+80, I.display->getWindowYPosition(),
+                       "Where to initialize...")  ;
+          vpDisplay::display(Iref) ;
+          vpDisplay::flush(Iref);
 #endif
-	  	}
+        }
+      }
+    }
+    catch(...) {
+      if(d_help != NULL) {
+        delete d_help;
+        d_help = NULL;
+      }
     }
-    catch(...){}
+
+    char c;
+    // skip lines starting with # as comment
+    finit.get(c);
+    while (!finit.fail() && (c == '#')) {
+      finit.ignore(256, '\n');
+      finit.get(c);
+    }
+    finit.unget();
 
     unsigned int n ;
     finit >> n ;
-    std::cout << "number of points  " << n << std::endl ;
+    finit.ignore(256, '\n'); // skip the rest of the line
+    std::cout << "Number of 3D points  " << n << std::endl ;
     if (n > 100000) {
       throw vpException(vpException::badValue,
         "Exceed the max number of points.");
@@ -257,9 +322,20 @@ vpMbTracker::initClick(const vpImage<unsigned char>& I, const std::string& initF
 
     vpPoint *P = new vpPoint [n]  ;
     for (unsigned int i=0 ; i < n ; i++){
+      // skip lines starting with # as comment
+      finit.get(c);
+      while (!finit.fail() && (c == '#')) {
+        finit.ignore(256, '\n');
+        finit.get(c);
+      }
+      finit.unget();
+
       finit >> X ;
       finit >> Y ;
       finit >> Z ;
+      finit.ignore(256, '\n'); // skip the rest of the line
+
+      std::cout << "Point " << i+1 << " with 3D coordinates: " << X << " " << Y << " " << Z << std::endl;
       P[i].setWorldCoordinates(X,Y,Z) ; // (X,Y,Z)
     }
 
@@ -270,23 +346,33 @@ vpMbTracker::initClick(const vpImage<unsigned char>& I, const std::string& initF
     while(!isWellInit)
     {
 ////////////////////////////////
+      std::vector<vpImagePoint> mem_ip;
       for(unsigned int i=0 ; i< n ; i++)
       {
-        std::cout << "Click on point " << i+1 << std::endl ;
+        std::ostringstream text;
+        text << "Click on point " << i+1;
+        vpDisplay::display(I);
+        vpDisplay::displayText(I, 15, 10, text.str(), vpColor::red);
+        for (unsigned int k=0; k<mem_ip.size(); k++) {
+          vpDisplay::displayCross(I, mem_ip[k], 10, vpColor::green, 2) ;
+        }
+        vpDisplay::flush(I) ;
+
+        std::cout << "Click on point " << i+1 << " ";
         double x=0,y=0;
         vpDisplay::getClick(I, ip) ;
-        vpDisplay::displayCross(I, ip, 5,vpColor::green) ;
+        mem_ip.push_back(ip);
         vpDisplay::flush(I) ;
         vpPixelMeterConversion::convertPoint(cam, ip, x, y);
         P[i].set_x(x);
         P[i].set_y(y);
 
-        std::cout << "click sur point " << ip << std::endl;
+        std::cout << "with 2D coordinates: " << ip << std::endl;
 
-        vpDisplay::displayPoint (I, ip, vpColor::green); //display target point
         pose.addPoint(P[i]) ; // and added to the pose computation point list
       }
       vpDisplay::flush(I) ;
+      vpDisplay::display(I) ;
 
       vpHomogeneousMatrix cMo1, cMo2;
       pose.computePose(vpPose::LAGRANGE, cMo1) ;
@@ -303,9 +389,9 @@ vpMbTracker::initClick(const vpImage<unsigned char>& I, const std::string& initF
       pose.computePose(vpPose::VIRTUAL_VS, cMo);
 
       display(I, cMo, cam, vpColor::green, 1, true);
-      vpDisplay::displayCharString(I, 15, 10,
-				 "left click to validate, right click to re initialize object",
-				 vpColor::red);
+      vpDisplay::displayText(I, 15, 10,
+                             "left click to validate, right click to re initialize object",
+                             vpColor::red);
 
       vpDisplay::flush(I) ;
 
@@ -334,6 +420,11 @@ vpMbTracker::initClick(const vpImage<unsigned char>& I, const std::string& initF
 			savePose(str_pose);
 		else
 			savePose(poseSavingFilename);
+
+    if(d_help != NULL) {
+      delete d_help;
+      d_help = NULL;
+    }
 	}
 
   std::cout <<"cMo : "<<std::endl << cMo <<std::endl;
@@ -354,6 +445,7 @@ void vpMbTracker::initClick(const vpImage<unsigned char>& I, const std::vector<v
 {
   vpDisplay::display(I) ;
   vpDisplay::flush(I) ;
+  vpDisplay *d_help = NULL;
 
 	vpPose pose ;
   vpPoint *P = NULL; P = new vpPoint [points3D_list.size()]  ;
@@ -361,27 +453,33 @@ void vpMbTracker::initClick(const vpImage<unsigned char>& I, const std::vector<v
 		P[i].setWorldCoordinates(points3D_list[i].get_oX(),points3D_list[i].get_oY(),points3D_list[i].get_oZ()) ; 
   
 	vpImage<vpRGBa> Iref ;
-	//Display window creation and initialistation
-	#if defined VISP_HAVE_X11
-		vpDisplayX d;
-	#elif defined VISP_HAVE_GDI
-		vpDisplayGDI d;
-	#elif defined VISP_HAVE_OPENCV
-		vpDisplayOpenCV d;
-	#endif
-			
-	if(displayFile != ""){	
-		try{
-			std::cout << displayFile.c_str() << std::endl;
-      vpImageIo::read(Iref,displayFile.c_str()) ;
-			#if defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV)
-				d.init(Iref,10,500, "Where to initialize...")  ;
-				vpDisplay::display(Iref) ;
-				vpDisplay::flush(Iref);
-			#endif
-		}
-		catch(...){}
-	}
+  //Display window creation and initialisation
+  if(vpIoTools::checkFilename(displayFile)){
+    try{
+      std::cout << "Load image to help initialization: " << displayFile << std::endl;
+#if defined VISP_HAVE_X11
+      d_help = new vpDisplayX ;
+#elif defined VISP_HAVE_GDI
+      d_help = new vpDisplayGDI;
+#elif defined VISP_HAVE_OPENCV
+      d_help = new vpDisplayOpenCV;
+#endif
+
+      vpImageIo::read(Iref, displayFile) ;
+#if defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV)
+      d_help->init(Iref, I.display->getWindowXPosition()+(int)I.getWidth()+80, I.display->getWindowYPosition(),
+                   "Where to initialize...")  ;
+      vpDisplay::display(Iref) ;
+      vpDisplay::flush(Iref);
+#endif
+    }
+    catch(...) {
+      if(d_help != NULL) {
+        delete d_help;
+        d_help = NULL;
+      }
+    }
+  }
 	
 	vpImagePoint ip;
 	bool isWellInit = false;
@@ -420,7 +518,7 @@ void vpMbTracker::initClick(const vpImage<unsigned char>& I, const std::vector<v
 		pose.computePose(vpPose::VIRTUAL_VS, cMo);
 
     display(I, cMo, cam, vpColor::green, 1, true);
-    vpDisplay::displayCharString(I, 15, 10,
+    vpDisplay::displayText(I, 15, 10,
 				"left click to validate, right click to re initialize object",
 				vpColor::red);
 
@@ -445,6 +543,10 @@ void vpMbTracker::initClick(const vpImage<unsigned char>& I, const std::vector<v
   vpDisplay::displayFrame(I, cMo, cam, 0.05, vpColor::red);
 
 	delete [] P;
+  if(d_help != NULL) {
+    delete d_help;
+    d_help = NULL;
+  }
 
   init(I);
 }
@@ -678,6 +780,171 @@ void vpMbTracker::savePose(const std::string &filename)
 	finitpos.close();
 }
 
+
+void vpMbTracker::addPolygon(const std::vector<vpPoint>& corners, const int idFace, const std::string &polygonName,
+    const bool useLod, const double minPolygonAreaThreshold, const double minLineLengthThreshold)
+{
+  std::vector<vpPoint> corners_without_duplicates;
+  corners_without_duplicates.push_back(corners[0]);
+  for (unsigned int i=0; i < corners.size()-1; i++) {
+    if (std::fabs(corners[i].get_oX() - corners[i+1].get_oX()) > std::fabs(corners[i].get_oX())*std::numeric_limits<double>::epsilon()
+        || std::fabs(corners[i].get_oY() - corners[i+1].get_oY()) > std::fabs(corners[i].get_oY())*std::numeric_limits<double>::epsilon()
+        || std::fabs(corners[i].get_oZ() - corners[i+1].get_oZ()) > std::fabs(corners[i].get_oZ())*std::numeric_limits<double>::epsilon()) {
+      corners_without_duplicates.push_back(corners[i+1]);
+    }
+  }
+
+  vpMbtPolygon polygon;
+  polygon.setNbPoint((unsigned int)corners_without_duplicates.size());
+  polygon.setIndex((int)idFace);
+  polygon.setName(polygonName);
+  polygon.setLod(useLod);
+
+//  //if(minPolygonAreaThreshold != -1.0) {
+//  if(std::fabs(minPolygonAreaThreshold + 1.0) > std::fabs(minPolygonAreaThreshold)*std::numeric_limits<double>::epsilon()) {
+//    polygon.setMinPolygonAreaThresh(minPolygonAreaThreshold);
+//  }
+//
+//  //if(minLineLengthThreshold != -1.0) {
+//  if(std::fabs(minLineLengthThreshold + 1.0) > std::fabs(minLineLengthThreshold)*std::numeric_limits<double>::epsilon()) {
+//    polygon.setMinLineLengthThresh(minLineLengthThreshold);
+//  }
+
+  polygon.setMinPolygonAreaThresh(minPolygonAreaThreshold);
+  polygon.setMinLineLengthThresh(minLineLengthThreshold);
+
+  for(unsigned int j = 0; j < corners_without_duplicates.size(); j++) {
+    polygon.addPoint(j, corners_without_duplicates[j]);
+  }
+
+  faces.addPolygon(&polygon);
+
+  if(clippingFlag != vpMbtPolygon::NO_CLIPPING)
+    faces.getPolygon().back()->setClipping(clippingFlag);
+
+  if((clippingFlag & vpMbtPolygon::NEAR_CLIPPING) == vpMbtPolygon::NEAR_CLIPPING)
+    faces.getPolygon().back()->setNearClippingDistance(distNearClip);
+
+  if((clippingFlag & vpMbtPolygon::FAR_CLIPPING) == vpMbtPolygon::FAR_CLIPPING)
+    faces.getPolygon().back()->setFarClippingDistance(distFarClip);
+}
+
+void vpMbTracker::addPolygon(const vpPoint& p1, const vpPoint &p2, const vpPoint &p3, const double radius,
+    const int idFace, const std::string &polygonName, const bool useLod, const double minPolygonAreaThreshold)
+{
+    vpMbtPolygon polygon;
+    polygon.setNbPoint(4);
+    polygon.setName(polygonName);
+    polygon.setLod(useLod);
+
+//    //if(minPolygonAreaThreshold != -1.0) {
+//    if(std::fabs(minPolygonAreaThreshold + 1.0) > std::fabs(minPolygonAreaThreshold)*std::numeric_limits<double>::epsilon()) {
+//      polygon.setMinPolygonAreaThresh(minPolygonAreaThreshold);
+//    }
+    polygon.setMinPolygonAreaThresh(minPolygonAreaThreshold);
+    //Non sense to set minLineLengthThreshold for circle
+    //but used to be coherent when applying LOD settings for all polygons
+    polygon.setMinLineLengthThresh(minLineLengthThresholdGeneral);
+
+    {
+      // Create the 4 points of the circle bounding box
+      vpPlane plane(p1, p2, p3, vpPlane::object_frame);
+
+      // Matrice de passage entre world et circle frame
+      double norm_X = sqrt(vpMath::sqr(p2.get_oX()-p1.get_oX())
+                           + vpMath::sqr(p2.get_oY()-p1.get_oY())
+                           + vpMath::sqr(p2.get_oZ()-p1.get_oZ()));
+      double norm_Y = sqrt(vpMath::sqr(plane.getA())
+                           + vpMath::sqr(plane.getB())
+                           + vpMath::sqr(plane.getC()));
+      vpRotationMatrix wRc;
+      vpColVector x(3),y(3),z(3);
+      // X axis is P2-P1
+      x[0] = (p2.get_oX()-p1.get_oX()) / norm_X;
+      x[1] = (p2.get_oY()-p1.get_oY()) / norm_X;
+      x[2] = (p2.get_oZ()-p1.get_oZ()) / norm_X;
+      // Y axis is the normal of the plane
+      y[0] = plane.getA() / norm_Y;
+      y[1] = plane.getB() / norm_Y;
+      y[2] = plane.getC() / norm_Y;
+      // Z axis = X ^ Y
+      z = vpColVector::crossProd(x, y);
+      for (unsigned int i=0; i< 3; i++) {
+        wRc[i][0] = x[i];
+        wRc[i][1] = y[i];
+        wRc[i][2] = z[i];
+      }
+
+      vpTranslationVector wtc(p1.get_oX(), p1.get_oY(), p1.get_oZ());
+      vpHomogeneousMatrix wMc(wtc, wRc);
+
+      vpColVector c_p(4); // A point in the circle frame that is on the bbox
+      c_p[0] = radius;
+      c_p[1] = 0;
+      c_p[2] = radius;
+      c_p[3] = 1;
+
+      // Matrix to rotate a point by 90 deg around Y in the circle frame
+      for(unsigned int i=0; i<4; i++) {
+        vpColVector w_p(4); // A point in the word frame
+        vpHomogeneousMatrix cMc_90(vpTranslationVector(), vpRotationMatrix(0,vpMath::rad(90*i), 0));
+        w_p = wMc * cMc_90 * c_p;
+
+        vpPoint w_P;
+        w_P.setWorldCoordinates(w_p[0], w_p[1], w_p[2]);
+
+        polygon.addPoint(i,w_P);
+      }
+    }
+
+    polygon.setIndex(idFace);
+    faces.addPolygon(&polygon);
+
+    if(clippingFlag != vpMbtPolygon::NO_CLIPPING)
+      faces.getPolygon().back()->setClipping(clippingFlag);
+
+    if((clippingFlag & vpMbtPolygon::NEAR_CLIPPING) == vpMbtPolygon::NEAR_CLIPPING)
+      faces.getPolygon().back()->setNearClippingDistance(distNearClip);
+
+    if((clippingFlag & vpMbtPolygon::FAR_CLIPPING) == vpMbtPolygon::FAR_CLIPPING)
+      faces.getPolygon().back()->setFarClippingDistance(distFarClip);
+}
+
+void vpMbTracker::addPolygon(const vpPoint& p1, const vpPoint &p2, const int idFace, const std::string &polygonName,
+    const bool useLod, const double minLineLengthThreshold)
+{
+  // A polygon as a single line that corresponds to the revolution axis of the cylinder
+  vpMbtPolygon polygon;
+  polygon.setNbPoint(2);
+
+  polygon.addPoint(0, p1);
+  polygon.addPoint(1, p2);
+
+  polygon.setIndex(idFace) ;
+  polygon.setName(polygonName);
+  polygon.setLod(useLod);
+
+//  //if(minLineLengthThreshold != -1.0) {
+//  if(std::fabs(minLineLengthThreshold + 1.0) > std::fabs(minLineLengthThreshold)*std::numeric_limits<double>::epsilon()) {
+//    polygon.setMinLineLengthThresh(minLineLengthThreshold);
+//  }
+  polygon.setMinLineLengthThresh(minLineLengthThreshold);
+  //Non sense to set minPolygonAreaThreshold for cylinder
+  //but used to be coherent when applying LOD settings for all polygons
+  polygon.setMinPolygonAreaThresh(minPolygonAreaThresholdGeneral);
+
+  faces.addPolygon(&polygon) ;
+
+  if(clippingFlag != vpMbtPolygon::NO_CLIPPING)
+    faces.getPolygon().back()->setClipping(clippingFlag);
+
+  if((clippingFlag & vpMbtPolygon::NEAR_CLIPPING) == vpMbtPolygon::NEAR_CLIPPING)
+    faces.getPolygon().back()->setNearClippingDistance(distNearClip);
+
+  if((clippingFlag & vpMbtPolygon::FAR_CLIPPING) == vpMbtPolygon::FAR_CLIPPING)
+    faces.getPolygon().back()->setFarClippingDistance(distFarClip);
+}
+
 /*!
   Load a 3D model from the file in parameter. This file must either be a vrml
   file (.wrl) or a CAO file (.cao). CAO format is described in the 
@@ -689,28 +956,69 @@ void vpMbTracker::savePose(const std::string &filename)
 int main()
 {
     ...
-#ifdef VISP_HAVE_COIN
+#if defined(VISP_HAVE_COIN) && (COIN_MAJOR_VERSION == 3)
   SoDB::finish();
 #endif
 }
   \endcode
 
-
   \throw vpException::ioError if the file cannot be open, or if its extension is
   not wrl or cao. 
 
-  \param modelFile : the file containing the model.
+  \param modelFile : the file containing the the 3D model description.
+  The extension of this file is either .wrl or .cao.
+  \param verbose : verbose option to print additional information when loading CAO model files which include other
+  CAO model files.
 */
 void
-vpMbTracker::loadModel(const std::string& modelFile)
+vpMbTracker::loadModel(const char *modelFile, const bool verbose)
+{
+  loadModel( std::string(modelFile), verbose );
+}
+
+/*!
+  Load a 3D model from the file in parameter. This file must either be a vrml
+  file (.wrl) or a CAO file (.cao). CAO format is described in the
+  loadCAOModel() method.
+
+  \warning When this class is called to load a vrml model, remember that you
+  have to call Call SoDD::finish() before ending the program.
+  \code
+int main()
+{
+    ...
+#if defined(VISP_HAVE_COIN) && (COIN_MAJOR_VERSION == 3)
+  SoDB::finish();
+#endif
+}
+  \endcode
+
+  \throw vpException::ioError if the file cannot be open, or if its extension is
+  not wrl or cao.
+
+  \param modelFile : the file containing the the 3D model description.
+  The extension of this file is either .wrl or .cao.
+  \param verbose : verbose option to print additional information when loading CAO model files which include other
+  CAO model files.
+*/
+void
+vpMbTracker::loadModel(const std::string& modelFile, const bool verbose)
 {
   std::string::const_iterator it;
   
-  if(vpIoTools::checkFilename(modelFile)){
+  if(vpIoTools::checkFilename(modelFile)) {
     it = modelFile.end();
-    if((*(it-1) == 'o' && *(it-2) == 'a' && *(it-3) == 'c' && *(it-4) == '.') || 
+    if((*(it-1) == 'o' && *(it-2) == 'a' && *(it-3) == 'c' && *(it-4) == '.') ||
        (*(it-1) == 'O' && *(it-2) == 'A' && *(it-3) == 'C' && *(it-4) == '.') ){
-      loadCAOModel(modelFile);
+      std::vector<std::string> vectorOfModelFilename;
+      int startIdFace = 0;
+      nbPoints = 0;
+      nbLines = 0;
+      nbPolygonLines = 0;
+      nbPolygonPoints = 0;
+      nbCylinders = 0;
+      nbCircles = 0;
+      loadCAOModel(modelFile, vectorOfModelFilename, startIdFace, verbose, true);
     }
     else if((*(it-1) == 'l' && *(it-2) == 'r' && *(it-3) == 'w' && *(it-4) == '.') ||
             (*(it-1) == 'L' && *(it-2) == 'R' && *(it-3) == 'W' && *(it-4) == '.') ){
@@ -739,7 +1047,7 @@ vpMbTracker::loadModel(const std::string& modelFile)
 int main()
 {
     ...
-#ifdef VISP_HAVE_COIN
+#if defined(VISP_HAVE_COIN) && (COIN_MAJOR_VERSION == 3)
   SoDB::finish();
 #endif
 }
@@ -763,7 +1071,7 @@ void
 vpMbTracker::loadVRMLModel(const std::string& modelFile)
 {
 #ifdef VISP_HAVE_COIN
-  SoDB::init(); // Call SoDD::finish() before ending the program.
+  SoDB::init(); // Call SoDB::finish() before ending the program.
 
   SoInput in;
   SbBool ok = in.openFile(modelFile.c_str());
@@ -798,7 +1106,7 @@ vpMbTracker::loadVRMLModel(const std::string& modelFile)
   in.closeFile();
 
   vpHomogeneousMatrix transform;
-  unsigned int indexFace = 0;
+  int indexFace = 0;
   extractGroup(sceneGraphVRML2, transform, indexFace);
   
   sceneGraphVRML2->unref();
@@ -808,325 +1116,663 @@ vpMbTracker::loadVRMLModel(const std::string& modelFile)
 #endif
 }
 
+void vpMbTracker::removeComment(std::ifstream& fileId) {
+	char c;
+
+	fileId.get(c);
+	while (!fileId.fail() && (c == '#')) {
+		fileId.ignore(256, '\n');
+		fileId.get(c);
+	}
+	fileId.unget();
+}
+
+std::map<std::string, std::string> vpMbTracker::parseParameters(std::string& endLine) {
+  std::map<std::string, std::string> mapOfParams;
+
+  bool exit = false;
+  while (!endLine.empty() && !exit) {
+    exit = true;
+
+    for (std::map<std::string, std::string>::const_iterator it =
+        mapOfParameterNames.begin(); it != mapOfParameterNames.end();
+        ++it) {
+      endLine = trim(endLine);
+      //          std::cout << "endLine=" << endLine << std::endl;
+      std::string param(it->first + "=");
+
+      //Compare with a potential parameter
+      if (endLine.compare(0, param.size(), param) == 0) {
+        exit = false;
+        endLine = endLine.substr(param.size());
+
+        bool parseQuote = false;
+        if (it->second == "string") {
+          //Check if the string is between quotes
+          if (endLine.size() > 2 && endLine[0] == '"') {
+            parseQuote = true;
+            endLine = endLine.substr(1);
+            size_t pos = endLine.find_first_of('"');
+
+            if (pos != std::string::npos) {
+              mapOfParams[it->first] = endLine.substr(0, pos);
+              endLine = endLine.substr(pos + 1);
+            } else {
+              parseQuote = false;
+            }
+          }
+        }
+
+        if (!parseQuote) {
+          //Deal with space or tabulation after parameter value to substring
+          // to the next sequence
+          size_t pos1 = endLine.find_first_of(' ');
+          size_t pos2 = endLine.find_first_of('\t');
+          size_t pos = pos1 < pos2 ? pos1 : pos2;
+
+          mapOfParams[it->first] = endLine.substr(0, pos);
+          endLine = endLine.substr(pos + 1);
+        }
+      }
+    }
+  }
+
+//  for(std::map<std::string, std::string>::const_iterator it = mapOfParams.begin(); it != mapOfParams.end(); ++it) {
+//    std::cout << it->first << "=" << it->second << std::endl;
+//  }
+
+  return mapOfParams;
+}
+
 /*!
-  Load a 3D model contained in a .cao file.
+  Load a 3D model contained in a *.cao file.
   
-  the structure of the file is (without the comments) :
+  Since ViSP 2.9.1, lines starting with # character are considered as comments.
+  It is also possible to add comment at the end of the lines. No specific character is requested before the comment.
+  In the following example we use "//" but it could be an other character.
+
+  Since ViSP 2.9.1, circles are supported.
+
+  The structure of the file is :
   \code
   V1
-  8 // Number of points describing the object
-  0.01 0.01 0.01  //  \
-  ...             //  | coordinates of the points in the object frame (in m.)
-  0.01 0.01 0.01  // /
-  3 // Number of lines to track. 
-  0 2 //  \
-  1 4 //  | Index of the points representing the extremities of the lines
-  1 5 // /
-  0 // Number of polygon (face) to track using the line previously described
-  // Face described as follow : nbLine IndexLine1 indexLine2 ... indexLineN
-  3 // Number of polygon (face) to track using the line previously described
+  # Number of points describing the object
+  8
+  0.01 0.01 0.01  // point with index 0 \
+  ...             // ...                 | coordinates of the points in the object frame (in m.)
+  0.01 0.01 0.01  // point with index 7 /
+  # Number of lines to track.
+  3
+  0 2 // line with index 0 \
+  1 4 //                    | Index of the points representing the extremities of the lines
+  1 5 // line with index 2 /
+  # Number of polygon (face) to track using the line previously described
+  1
+  3 0 1 2 // Face described as follow : nbLine indexLine1 indexLine2 ... indexLineN
+  # Number of polygon (face) to track using the points previously described
+  3
   4 0 2 3 4 // Face described as follow : nbPoint IndexPoint1 IndexPoint2 ... IndexPointN
   4 1 3 5 7
   3 1 5 6 
-  1 // Number of cylinder
+  # Number of cylinder
+  1
   6 7 0.05 // Index of the limits points on the axis (used to know the 'height' of the cylinder) and radius of the cyclinder (in m.)
+  # Number of circle
+  1
+  0.5 0 1 2 // radius, index center point, index 2 other points on the plane containing the circle
   \endcode
   
-  \param modelFile : Full name of the .CAO file containing the model.
+  \param modelFile : Full name of the main *.cao file containing the model.
+  \param vectorOfModelFilename : A vector of *.cao files.
+  \param startIdFace : Current Id of the face.
+  \param verbose : If true, will print additional information with CAO model files which include other CAO model files.
+  \param parent : This parameter is set to true when parsing a parent CAO model file, and false when parsing an included
+  CAO model file.
 */
-void 
-vpMbTracker::loadCAOModel(const std::string& modelFile)
-{
+void
+vpMbTracker::loadCAOModel(const std::string& modelFile,
+    std::vector<std::string>& vectorOfModelFilename, int& startIdFace,
+		const bool verbose, const bool parent) {
   std::ifstream fileId;
-  fileId.exceptions ( std::ifstream::failbit | std::ifstream::eofbit );
-  fileId.open (modelFile.c_str(), std::ifstream::in);
-  if(fileId.fail()) {
-    std::cout << "cannot read CAO model file: " << modelFile << std::endl;
-    throw vpException(vpException::ioError, "cannot read CAO model file");
+  fileId.exceptions(std::ifstream::failbit | std::ifstream::eofbit);
+  fileId.open(modelFile.c_str(), std::ifstream::in);
+  if (fileId.fail()) {
+      std::cout << "cannot read CAO model file: " << modelFile << std::endl;
+      throw vpException(vpException::ioError, "cannot read CAO model file");
   }
 
-  try{
-    char c;
-    // Extraction of the version (remove empty line and commented ones (comment
-    // line begin with the #)).
-    //while ((fileId.get(c) != NULL) && (c == '#')) fileId.ignore(256, '\n');
-    fileId.get(c);
-    while (!fileId.fail() && (c == '#'))
-    {
-      fileId.ignore(256, '\n');
-      fileId.get(c);
-    }
-    fileId.unget();
+  if(verbose) {
+      std::cout << "Model file : " << modelFile << std::endl;
+  }
+  vectorOfModelFilename.push_back(modelFile);
 
-    int caoVersion;
-    fileId.get(c);
-    if(c=='V'){
-      fileId >> caoVersion;
-    }
-    else{
-      std::cout <<"in vpMbTracker::loadCAOModel() -> Bad parameter header file : use V0, V1, ...";
-      throw vpException(vpException::badValue,
-                        "in vpMbTracker::loadCAOModel() -> Bad parameter header file : use V0, V1, ...");
-    }
+  try {
+      char c;
+      // Extraction of the version (remove empty line and commented ones (comment
+      // line begin with the #)).
+      //while ((fileId.get(c) != NULL) && (c == '#')) fileId.ignore(256, '\n');
+      removeComment(fileId);
 
-    //while( (fileId.get(c)!=NULL)&&(c!='\n')) ;
-    fileId.get(c);
-    while (!fileId.fail() && (c != '\n'))
-    {
+      //////////////////////////Read CAO Version (V1, V2, ...)//////////////////////////
+      int caoVersion;
       fileId.get(c);
-    }
+      if (c == 'V') {
+          fileId >> caoVersion;
+          fileId.ignore(256, '\n'); // skip the rest of the line
+      } else {
+          std::cout
+                  << "in vpMbTracker::loadCAOModel() -> Bad parameter header file : use V0, V1, ...";
+          throw vpException(vpException::badValue,
+                  "in vpMbTracker::loadCAOModel() -> Bad parameter header file : use V0, V1, ...");
+      }
+
+      removeComment(fileId);
+
+
+      //////////////////////////Read the header part if present//////////////////////////
+      std::string line;
+      std::string prefix = "load";
 
-    //while ((fileId.get(c) != NULL) && (c == '#')) fileId.ignore(256, '\n');
-    fileId.get(c);
-    while (!fileId.fail() && (c == '#'))
-    {
-      fileId.ignore(256, '\n');
       fileId.get(c);
-    }
-    fileId.unget();
+      fileId.unget();
+      bool header = false;
+      while(c == 'l' || c == 'L') {
+          header = true;
+
+          getline(fileId, line);
+          if(!line.compare(0, prefix.size(), prefix)) {
+
+              //Get the loaded model pathname
+              std::string headerPathname = line.substr(6);
+              size_t firstIndex = headerPathname.find_first_of("\")");
+              headerPathname = headerPathname.substr(0, firstIndex);
+
+              std::string headerPath = headerPathname;
+              if(!vpIoTools::isAbsolutePathname(headerPathname)) {
+                  std::string parentDirectory = vpIoTools::getParent(modelFile);
+                  headerPath = vpIoTools::createFilePath(parentDirectory, headerPathname);
+              }
+
+              bool cyclic = false;
+              std::string headerModelFilename = vpIoTools::getName(headerPath);
+              if (!headerModelFilename.compare(vpIoTools::getName(modelFile))) {
+                  cyclic = true;
+              }
+
+              for (std::vector<std::string>::const_iterator it =
+                      vectorOfModelFilename.begin();
+                      it != vectorOfModelFilename.end() - 1 && !cyclic;
+                      ++it) {
+                  std::string loadedModelFilename = vpIoTools::getName(*it);
+                  if (!headerModelFilename.compare(loadedModelFilename)) {
+                      cyclic = true;
+                  }
+              }
+
+              if (!cyclic) {
+                  if (vpIoTools::checkFilename(modelFile)) {
+                      loadCAOModel(headerPath, vectorOfModelFilename, startIdFace, verbose, false);
+                  } else {
+                      throw vpException(vpException::ioError,
+                              "file cannot be open");
+                  }
+              } else {
+                  std::cout << "WARNING Cyclic dependency detected with file "
+                          << headerPath << " declared in " << modelFile << std::endl;
+              }
+          } else {
+            header = false;
+          }
 
-    //Read the points
-    unsigned int caoNbrPoint;
-    fileId >> caoNbrPoint;
-    std::cout << "> " << caoNbrPoint << " points" << std::endl;
-    if (caoNbrPoint > 100000) {
-      throw vpException(vpException::badValue,
-                        "Exceed the max number of points in the CAO model.");
-    }
+          removeComment(fileId);
+          fileId.get(c);
+          fileId.unget();
+      }
 
-    if (caoNbrPoint == 0) {
-      throw vpException(vpException::badValue,
-                        "in vpMbTracker::loadCAOModel() -> no points are defined");
 
-    }
-    vpPoint *caoPoints = new vpPoint[caoNbrPoint];
-
-    double x ; // 3D coordinates
-    double y ;
-    double z ;
-
-    int i ;    // image coordinate (used for matching)
-    int j ;
-
-    for(unsigned int k=0; k < caoNbrPoint; k++){
-      fileId >> x ;
-      fileId >> y ;
-      fileId >> z ;
-      if (caoVersion == 2){
-        fileId >> i ;
-        fileId >> j ;
+      //////////////////////////Read the point declaration part//////////////////////////
+      unsigned int caoNbrPoint;
+      fileId >> caoNbrPoint;
+      fileId.ignore(256, '\n'); // skip the rest of the line
+
+      nbPoints += caoNbrPoint;
+      if(verbose || vectorOfModelFilename.size() == 1) {
+          std::cout << "> " << caoNbrPoint << " points" << std::endl;
       }
 
-      if(k != caoNbrPoint-1){// the rest of the line is removed (not the last one due to the need to remove possible comments).
-        fileId.ignore(256,'\n');
+      if (caoNbrPoint > 100000) {
+          throw vpException(vpException::badValue,
+                  "Exceed the max number of points in the CAO model.");
       }
-      caoPoints[k].setWorldCoordinates(x, y, z) ;
-    }
 
-    //while( (fileId.get(c)!=NULL)&&(c!='\n')) ;
-    fileId.get(c);
-    while (!fileId.fail() && (c != '\n'))
-    {
-      fileId.get(c);
-    }
+      if (caoNbrPoint == 0 && !header) {
+          throw vpException(vpException::badValue,
+                  "in vpMbTracker::loadCAOModel() -> no points are defined");
+      }
+      vpPoint *caoPoints = new vpPoint[caoNbrPoint];
 
-    //while ((fileId.get(c) != NULL) && (c == '#')) fileId.ignore(256, '\n');
-    fileId.get(c);
-    while (!fileId.fail() && (c == '#'))
-    {
-      fileId.ignore(256, '\n');
-      fileId.get(c);
-    }
-    fileId.unget();
+      double x; // 3D coordinates
+      double y;
+      double z;
 
-    //Read the lines
-    unsigned int caoNbrLine;
-    fileId >> caoNbrLine;
-    unsigned int *caoLinePoints = NULL;
-    std::cout << "> " << caoNbrLine << " lines" << std::endl;
+      int i;    // image coordinate (used for matching)
+      int j;
 
-    if (caoNbrLine > 100000) {
-      delete [] caoPoints;
-      throw vpException(vpException::badValue,
-                        "Exceed the max number of lines in the CAO model.");
-    }
+      for (unsigned int k = 0; k < caoNbrPoint; k++) {
+          removeComment(fileId);
+
+          fileId >> x;
+          fileId >> y;
+          fileId >> z;
+          fileId.ignore(256, '\n'); // skip the rest of the line
 
-    if (caoNbrLine > 0)
-      caoLinePoints = new unsigned int[2*caoNbrLine];
+          if (caoVersion == 2) {
+              fileId >> i;
+              fileId >> j;
+          }
 
-    unsigned int index1, index2;
+          caoPoints[k].setWorldCoordinates(x, y, z);
+      }
 
-    for(unsigned int k=0; k < caoNbrLine ; k++){
-      fileId >> index1 ;
-      fileId >> index2 ;
 
-      caoLinePoints[2*k] = index1;
-      caoLinePoints[2*k+1] = index2;
+      removeComment(fileId);
 
-      if(index1 < caoNbrPoint && index2 < caoNbrPoint){
-        std::vector<vpPoint> extremities;
-        extremities.push_back(caoPoints[index1]);
-        extremities.push_back(caoPoints[index2]);
-        initFaceFromCorners(extremities, k);
-      }
-      else{
-        vpTRACE(" line %d has wrong coordinates.", k);
+
+      //////////////////////////Read the segment declaration part//////////////////////////
+      //Store in a map the potential segments to add
+      std::map<std::pair<unsigned int, unsigned int>, SegmentInfo > segmentTemporaryMap;
+      unsigned int caoNbrLine;
+      fileId >> caoNbrLine;
+      fileId.ignore(256, '\n'); // skip the rest of the line
+
+      nbLines += caoNbrLine;
+      unsigned int *caoLinePoints = NULL;
+      if(verbose || vectorOfModelFilename.size() == 1) {
+          std::cout << "> " << caoNbrLine << " lines" << std::endl;
       }
 
-      if(k != caoNbrLine-1){// the rest of the line is removed (not the last one due to the need to remove possible comments).
-        fileId.ignore(256,'\n');
+      if (caoNbrLine > 100000) {
+          delete[] caoPoints;
+          throw vpException(vpException::badValue,
+                  "Exceed the max number of lines in the CAO model.");
       }
-    }
 
-    //while( (fileId.get(c)!=NULL)&&(c!='\n')) ;
-    fileId.get(c);
-    while (!fileId.fail() && (c != '\n'))
-    {
-      fileId.get(c);
-    }
+      if (caoNbrLine > 0)
+          caoLinePoints = new unsigned int[2 * caoNbrLine];
 
-    //while ((fileId.get(c) != NULL) && (c == '#')) fileId.ignore(256, '\n');
-    fileId.get(c);
-    while (!fileId.fail() && (c == '#'))
-    {
-      fileId.ignore(256, '\n');
-      fileId.get(c);
-    }
-    fileId.unget();
-
-    /* Load polygon from the lines extracted earlier
-          (the first point of the line is used)*/
-    unsigned int caoNbrPolygonLine;
-    fileId >> caoNbrPolygonLine;
-    std::cout << "> " << caoNbrPolygonLine << " polygon line" << std::endl;
-    if (caoNbrPolygonLine > 100000) {
-      delete [] caoPoints;
-      delete [] caoLinePoints;
-      throw vpException(vpException::badValue, "Exceed the max number of polygon lines.");
-    }
+      unsigned int index1, index2;
+      //Initialization of idFace with startIdFace for dealing with recursive load in header
+      int idFace = startIdFace;
+
+      for (unsigned int k = 0; k < caoNbrLine; k++) {
+          removeComment(fileId);
+
+          fileId >> index1;
+          fileId >> index2;
+
+          //////////////////////////Read the parameter value if present//////////////////////////
+          //Get the end of the line
+          char buffer[256];
+          fileId.getline(buffer, 256);
+          std::string endLine(buffer);
+          std::map<std::string, std::string> mapOfParams = parseParameters(endLine);
+
+//          fileId.ignore(256, '\n'); // skip the rest of the line
+
+          std::string segmentName = "";
+          double minLineLengthThresh = !applyLodSettingInConfig ? minLineLengthThresholdGeneral : 50.0;
+          bool useLod = !applyLodSettingInConfig ? useLodGeneral : false;
+          if(mapOfParams.find("name") != mapOfParams.end()) {
+            segmentName = mapOfParams["name"];
+          }
+          if(mapOfParams.find("minLineLengthThreshold") != mapOfParams.end()) {
+            minLineLengthThresh = std::atof(mapOfParams["minLineLengthThreshold"].c_str());
+          }
+          if(mapOfParams.find("useLod") != mapOfParams.end()) {
+            useLod = parseBoolean(mapOfParams["useLod"]);
+          }
+
+          SegmentInfo segmentInfo;
+          segmentInfo.name = segmentName;
+          segmentInfo.useLod = useLod;
+          segmentInfo.minLineLengthThresh = minLineLengthThresh;
+
+          caoLinePoints[2 * k] = index1;
+          caoLinePoints[2 * k + 1] = index2;
+
+          if (index1 < caoNbrPoint && index2 < caoNbrPoint) {
+            std::vector<vpPoint> extremities;
+            extremities.push_back(caoPoints[index1]);
+            extremities.push_back(caoPoints[index2]);
+            segmentInfo.extremities = extremities;
 
-    unsigned int index;
-    for(unsigned int k = 0;k < caoNbrPolygonLine; k++){
-      unsigned int nbLinePol;
-      fileId >> nbLinePol;
-      std::vector<vpPoint> corners;
-      if (nbLinePol > 100000) {
-        throw vpException(vpException::badValue, "Exceed the max number of lines.");
+            std::pair<unsigned int, unsigned int> key(index1, index2);
+
+            segmentTemporaryMap[key] = segmentInfo;
+//        addPolygon(extremities, idFace++);
+//        initFaceFromCorners(*(faces.getPolygon().back())); // Init from the last polygon that was added
+          } else {
+              vpTRACE(" line %d has wrong coordinates.", k);
+          }
       }
 
-      for(unsigned int n = 0; n < nbLinePol; n++){
-        fileId >> index;
-        if (2*index > 2*caoNbrLine-1) {
-          throw vpException(vpException::badValue, "Exceed the max number of lines.");
-        }
+      removeComment(fileId);
 
-        corners.push_back(caoPoints[caoLinePoints[2*index]]);
+
+      //////////////////////////Read the face segment declaration part//////////////////////////
+      /* Load polygon from the lines extracted earlier (the first point of the line is used)*/
+      //Store in a vector the indexes of the segments added in the face segment case
+      std::vector<std::pair<unsigned int, unsigned int> > faceSegmentKeyVector;
+      unsigned int caoNbrPolygonLine;
+      fileId >> caoNbrPolygonLine;
+      fileId.ignore(256, '\n'); // skip the rest of the line
+
+      nbPolygonLines += caoNbrPolygonLine;
+      if(verbose || vectorOfModelFilename.size() == 1) {
+          std::cout << "> " << caoNbrPolygonLine << " polygon lines" << std::endl;
       }
-      if(k != caoNbrPolygonLine-1){// the rest of the line is removed (not the last one due to the need to remove possible comments).
-        fileId.ignore(256,'\n');
+
+      if (caoNbrPolygonLine > 100000) {
+          delete[] caoPoints;
+          delete[] caoLinePoints;
+          throw vpException(vpException::badValue,
+                  "Exceed the max number of polygon lines.");
       }
-      initFaceFromCorners(corners, k);
-    }
 
-    //while( (fileId.get(c)!=NULL)&&(c!='\n')) ;
-    fileId.get(c);
-    while (!fileId.fail() && (c != '\n'))
-    {
-      fileId.get(c);
-    }
+      unsigned int index;
+      for (unsigned int k = 0; k < caoNbrPolygonLine; k++) {
+          removeComment(fileId);
 
-    //while ((fileId.get(c) != NULL) && (c == '#')) fileId.ignore(256, '\n');
-    fileId.get(c);
-    while (!fileId.fail() && (c == '#'))
-    {
-      fileId.ignore(256, '\n');
-      fileId.get(c);
-    }
-    fileId.unget();
+          unsigned int nbLinePol;
+          fileId >> nbLinePol;
+          std::vector<vpPoint> corners;
+          if (nbLinePol > 100000) {
+              throw vpException(vpException::badValue, "Exceed the max number of lines.");
+          }
 
-    /* Extract the polygon using the point coordinates (top of the file) */
-    unsigned int caoNbrPolygonPoint;
-    fileId >> caoNbrPolygonPoint;
-    std::cout << "> " << caoNbrPolygonPoint << " polygon point" << std::endl;
+          for (unsigned int n = 0; n < nbLinePol; n++) {
+            fileId >> index;
+//              if (2 * index > 2 * caoNbrLine - 1) {
+            if(index >= caoNbrLine) {
+              throw vpException(vpException::badValue, "Exceed the max number of lines.");
+            }
+            corners.push_back(caoPoints[caoLinePoints[2 * index]]);
+            corners.push_back(caoPoints[caoLinePoints[2 * index + 1]]);
+
+            std::pair<unsigned int, unsigned int> key(caoLinePoints[2 * index], caoLinePoints[2 * index + 1]);
+            faceSegmentKeyVector.push_back(key);
+          }
 
-    if (caoNbrPolygonPoint > 100000) {
-      throw vpException(vpException::badValue, "Exceed the max number of polygon point.");
-    }
 
-    for(unsigned int k = 0;k < caoNbrPolygonPoint; k++){
-      unsigned int nbPointPol;
-      fileId >> nbPointPol;
-      if (nbPointPol > 100000) {
-        throw vpException(vpException::badValue, "Exceed the max number of points.");
+          //////////////////////////Read the parameter value if present//////////////////////////
+          //Get the end of the line
+          char buffer[256];
+          fileId.getline(buffer, 256);
+          std::string endLine(buffer);
+          std::map<std::string, std::string> mapOfParams = parseParameters(endLine);
+
+//          fileId.ignore(256, '\n'); // skip the rest of the line
+
+          std::string polygonName = "";
+          bool useLod = !applyLodSettingInConfig ? useLodGeneral : false;
+          double minPolygonAreaThreshold = !applyLodSettingInConfig ? minPolygonAreaThresholdGeneral : 2500.0;
+          if(mapOfParams.find("name") != mapOfParams.end()) {
+            polygonName = mapOfParams["name"];
+          }
+          if(mapOfParams.find("minPolygonAreaThreshold") != mapOfParams.end()) {
+            minPolygonAreaThreshold = std::atof(mapOfParams["minPolygonAreaThreshold"].c_str());
+          }
+          if(mapOfParams.find("useLod") != mapOfParams.end()) {
+            useLod = parseBoolean(mapOfParams["useLod"]);
+          }
+
+          addPolygon(corners, idFace++, polygonName, useLod, minPolygonAreaThreshold, minLineLengthThresholdGeneral);
+      //      initFaceFromCorners(*(faces.getPolygon().back())); // Init from the last polygon that was added
+          initFaceFromLines(*(faces.getPolygon().back())); // Init from the last polygon that was added
       }
 
-      std::vector<vpPoint> corners;
-      for(unsigned int n = 0; n < nbPointPol; n++){
-        fileId >> index;
-        if (index > caoNbrPoint-1) {
-          throw vpException(vpException::badValue, "Exceed the max number of points.");
+      //Add the segments which were not already added in the face segment case
+      for(std::map<std::pair<unsigned int, unsigned int>, SegmentInfo >::const_iterator it =
+          segmentTemporaryMap.begin(); it != segmentTemporaryMap.end(); ++it) {
+        if(std::find(faceSegmentKeyVector.begin(), faceSegmentKeyVector.end(), it->first) == faceSegmentKeyVector.end()) {
+          addPolygon(it->second.extremities, idFace++, it->second.name, it->second.useLod, minPolygonAreaThresholdGeneral,
+              it->second.minLineLengthThresh);
+          initFaceFromCorners(*(faces.getPolygon().back())); // Init from the last polygon that was added
         }
-        corners.push_back(caoPoints[index]);
       }
-      if(k != caoNbrPolygonPoint-1){// the rest of the line is removed (not the last one due to the need to remove possible comments).
-        fileId.ignore(256,'\n');
+
+      removeComment(fileId);
+
+
+      //////////////////////////Read the face point declaration part//////////////////////////
+      /* Extract the polygon using the point coordinates (top of the file) */
+      unsigned int caoNbrPolygonPoint;
+      fileId >> caoNbrPolygonPoint;
+      fileId.ignore(256, '\n'); // skip the rest of the line
+
+      nbPolygonPoints += caoNbrPolygonPoint;
+      if(verbose || vectorOfModelFilename.size() == 1) {
+          std::cout << "> " << caoNbrPolygonPoint << " polygon points"
+                  << std::endl;
       }
-      initFaceFromCorners(corners, k);
-    }
 
-    unsigned int caoNbCylinder;
-    try{
-      //while( (fileId.get(c)!=NULL)&&(c!='\n')) ;
-      fileId.get(c);
-      while (!fileId.fail() && (c != '\n'))
-      {
-        fileId.get(c);
+      if (caoNbrPolygonPoint > 100000) {
+          throw vpException(vpException::badValue,
+                  "Exceed the max number of polygon point.");
       }
 
-      //while ((fileId.get(c) != NULL) && (c == '#')) fileId.ignore(256, '\n');
-      fileId.get(c);
-      while (!fileId.fail() && (c == '#'))
-      {
-        fileId.ignore(256, '\n');
-        fileId.get(c);
-      }      fileId.unget();
-
-      if(fileId.eof()){// check if not at the end of the file (for old style files)
-        delete[] caoPoints;
-        delete[] caoLinePoints;
-        return ;
+      for (unsigned int k = 0; k < caoNbrPolygonPoint; k++) {
+          removeComment(fileId);
+
+          unsigned int nbPointPol;
+          fileId >> nbPointPol;
+          if (nbPointPol > 100000) {
+              throw vpException(vpException::badValue,
+                      "Exceed the max number of points.");
+          }
+          std::vector<vpPoint> corners;
+          for (unsigned int n = 0; n < nbPointPol; n++) {
+              fileId >> index;
+              if (index > caoNbrPoint - 1) {
+                  throw vpException(vpException::badValue,
+                          "Exceed the max number of points.");
+              }
+              corners.push_back(caoPoints[index]);
+          }
+
+
+          //////////////////////////Read the parameter value if present//////////////////////////
+          //Get the end of the line
+          char buffer[256];
+          fileId.getline(buffer, 256);
+          std::string endLine(buffer);
+          std::map<std::string, std::string> mapOfParams = parseParameters(endLine);
+
+//          fileId.ignore(256, '\n'); // skip the rest of the line
+
+          std::string polygonName = "";
+          bool useLod = !applyLodSettingInConfig ? useLodGeneral : false;
+          double minPolygonAreaThreshold = !applyLodSettingInConfig ? minPolygonAreaThresholdGeneral : 2500.0;
+          if(mapOfParams.find("name") != mapOfParams.end()) {
+            polygonName = mapOfParams["name"];
+          }
+          if(mapOfParams.find("minPolygonAreaThreshold") != mapOfParams.end()) {
+            minPolygonAreaThreshold = std::atof(mapOfParams["minPolygonAreaThreshold"].c_str());
+          }
+          if(mapOfParams.find("useLod") != mapOfParams.end()) {
+            useLod = parseBoolean(mapOfParams["useLod"]);
+          }
+
+
+          addPolygon(corners, idFace++, polygonName, useLod, minPolygonAreaThreshold, minLineLengthThresholdGeneral);
+          initFaceFromCorners(*(faces.getPolygon().back())); // Init from the last polygon that was added
       }
 
-      /* Extract the cylinders */
+      //////////////////////////Read the cylinder declaration part//////////////////////////
+      unsigned int caoNbCylinder;
+      try {
+          removeComment(fileId);
+
+          if (fileId.eof()) { // check if not at the end of the file (for old style files)
+              delete[] caoPoints;
+              delete[] caoLinePoints;
+              return;
+          }
+
+          /* Extract the cylinders */
+          fileId >> caoNbCylinder;
+          fileId.ignore(256, '\n'); // skip the rest of the line
+
+          nbCylinders += caoNbCylinder;
+          if(verbose || vectorOfModelFilename.size() == 1) {
+              std::cout << "> " << caoNbCylinder << " cylinders" << std::endl;
+          }
 
+          if (caoNbCylinder > 100000) {
+              throw vpException(vpException::badValue,
+                      "Exceed the max number of cylinders.");
+          }
+
+          for (unsigned int k = 0; k < caoNbCylinder; ++k) {
+              removeComment(fileId);
+
+              double radius;
+              unsigned int indexP1, indexP2;
+              fileId >> indexP1;
+              fileId >> indexP2;
+              fileId >> radius;
+
+              //////////////////////////Read the parameter value if present//////////////////////////
+              //Get the end of the line
+              char buffer[256];
+              fileId.getline(buffer, 256);
+              std::string endLine(buffer);
+              std::map<std::string, std::string> mapOfParams = parseParameters(endLine);
+
+//              fileId.ignore(256, '\n'); // skip the rest of the line
+
+              std::string polygonName = "";
+              bool useLod = !applyLodSettingInConfig ? useLodGeneral : false;
+              double minLineLengthThreshold = !applyLodSettingInConfig ? minLineLengthThresholdGeneral : 50.0;
+              if(mapOfParams.find("name") != mapOfParams.end()) {
+                polygonName = mapOfParams["name"];
+              }
+              if(mapOfParams.find("minLineLengthThreshold") != mapOfParams.end()) {
+                minLineLengthThreshold = std::atof(mapOfParams["minLineLengthThreshold"].c_str());
+              }
+              if(mapOfParams.find("useLod") != mapOfParams.end()) {
+                useLod = parseBoolean(mapOfParams["useLod"]);
+              }
+
+              addPolygon(caoPoints[indexP1], caoPoints[indexP2], idFace, polygonName, useLod, minLineLengthThreshold);
+              initCylinder(caoPoints[indexP1], caoPoints[indexP2], radius, idFace++, polygonName);
+          }
 
-      fileId >> caoNbCylinder;
-      std::cout << "> " << caoNbCylinder << " cylinder" << std::endl;
-      if (caoNbCylinder > 100000) {
-        throw vpException(vpException::badValue, "Exceed the max number of cylinders.");
+      } catch (...) {
+          std::cerr
+                  << "Cannot get the number of cylinders. Defaulting to zero."
+                  << std::endl;
+          caoNbCylinder = 0;
       }
 
-      for(unsigned int k=0; k<caoNbCylinder; ++k){
-        double radius;
-        unsigned int indexP1, indexP2;
-        fileId >> indexP1;
-        fileId >> indexP2;
-        fileId >> radius;
-        initCylinder(caoPoints[indexP1], caoPoints[indexP2], radius);
+
+      //////////////////////////Read the circle declaration part//////////////////////////
+      unsigned int caoNbCircle;
+      try {
+          removeComment(fileId);
+
+          if (fileId.eof()) { // check if not at the end of the file (for old style files)
+              delete[] caoPoints;
+              delete[] caoLinePoints;
+              return;
+          }
+
+          /* Extract the circles */
+          fileId >> caoNbCircle;
+          fileId.ignore(256, '\n'); // skip the rest of the line
+
+          nbCircles += caoNbCircle;
+          if(verbose || vectorOfModelFilename.size() == 1) {
+              std::cout << "> " << caoNbCircle << " circles" << std::endl;
+          }
+
+          if (caoNbCircle > 100000) {
+              throw vpException(vpException::badValue,
+                      "Exceed the max number of cicles.");
+          }
+
+          for (unsigned int k = 0; k < caoNbCircle; ++k) {
+              removeComment(fileId);
+
+              double radius;
+              unsigned int indexP1, indexP2, indexP3;
+              fileId >> radius;
+              fileId >> indexP1;
+              fileId >> indexP2;
+              fileId >> indexP3;
+
+              //////////////////////////Read the parameter value if present//////////////////////////
+              //Get the end of the line
+              char buffer[256];
+              fileId.getline(buffer, 256);
+              std::string endLine(buffer);
+              std::map<std::string, std::string> mapOfParams = parseParameters(endLine);
+
+//              fileId.ignore(256, '\n'); // skip the rest of the line
+
+              std::string polygonName = "";
+              bool useLod = !applyLodSettingInConfig ? useLodGeneral : false;
+              double minPolygonAreaThreshold = !applyLodSettingInConfig ? minPolygonAreaThresholdGeneral : 2500.0;
+              if(mapOfParams.find("name") != mapOfParams.end()) {
+                polygonName = mapOfParams["name"];
+              }
+              if(mapOfParams.find("minPolygonAreaThreshold") != mapOfParams.end()) {
+                minPolygonAreaThreshold = std::atof(mapOfParams["minPolygonAreaThreshold"].c_str());
+              }
+              if(mapOfParams.find("useLod") != mapOfParams.end()) {
+                useLod = parseBoolean(mapOfParams["useLod"]);
+              }
+
+              addPolygon(caoPoints[indexP1], caoPoints[indexP2],
+                      caoPoints[indexP3], radius, idFace, polygonName, useLod, minPolygonAreaThreshold);
+
+              initCircle(caoPoints[indexP1], caoPoints[indexP2],
+                      caoPoints[indexP3], radius, idFace++, polygonName);
+          }
+
+      } catch (...) {
+          std::cerr << "Cannot get the number of circles. Defaulting to zero."
+                  << std::endl;
+          caoNbCircle = 0;
       }
 
-    }catch(...){
-      std::cerr << "Cannot get the number of cylinders. Defaulting to zero." << std::endl;
-      caoNbCylinder = 0;
-    }
-    
-    delete[] caoPoints;
-    delete[] caoLinePoints;
-  }catch(std::ifstream::failure e){
-    std::cerr << "Cannot read line!" << std::endl;
-    throw vpException(vpException::ioError, "cannot read line");
+      startIdFace = idFace;
+
+      delete[] caoPoints;
+      delete[] caoLinePoints;
+
+      if(vectorOfModelFilename.size() > 1 && parent) {
+          if(verbose) {
+              std::cout << "Global information for " << vpIoTools::getName(modelFile) << " :" << std::endl;
+              std::cout << "Total nb of points : " << nbPoints << std::endl;
+              std::cout << "Total nb of lines : " << nbLines << std::endl;
+              std::cout << "Total nb of polygon lines : " << nbPolygonLines << std::endl;
+              std::cout << "Total nb of polygon points : " << nbPolygonPoints << std::endl;
+              std::cout << "Total nb of cylinders : " << nbCylinders << std::endl;
+              std::cout << "Total nb of circles : " << nbCircles << std::endl;
+          } else {
+              std::cout << "> " << nbPoints << " points" << std::endl;
+              std::cout << "> " << nbLines << " lines" << std::endl;
+              std::cout << "> " << nbPolygonLines << " polygon lines" << std::endl;
+              std::cout << "> " << nbPolygonPoints << " polygon points" << std::endl;
+              std::cout << "> " << nbCylinders << " cylinders" << std::endl;
+              std::cout << "> " << nbCircles << " circles" << std::endl;
+          }
+      }
+  } catch (...) {
+      std::cerr << "Cannot read line!" << std::endl;
+      throw vpException(vpException::ioError, "cannot read line");
   }
-
 }
 
 #ifdef VISP_HAVE_COIN
@@ -1135,10 +1781,10 @@ vpMbTracker::loadCAOModel(const std::string& modelFile)
   
   \param sceneGraphVRML2 : Current node (either Transform, or Group node).
   \param transform : Transformation matrix for this group.
-  \param indexFace : Index of the face.
+  \param idFace : Index of the face.
 */
 void
-vpMbTracker::extractGroup(SoVRMLGroup *sceneGraphVRML2, vpHomogeneousMatrix &transform, unsigned int &indexFace)
+vpMbTracker::extractGroup(SoVRMLGroup *sceneGraphVRML2, vpHomogeneousMatrix &transform, int &idFace)
 { 
   vpHomogeneousMatrix transformCur;
   SoVRMLTransform *sceneGraphVRML2Trasnform = dynamic_cast<SoVRMLTransform *>(sceneGraphVRML2);
@@ -1184,11 +1830,11 @@ vpMbTracker::extractGroup(SoVRMLGroup *sceneGraphVRML2, vpHomogeneousMatrix &tra
     child = sceneGraphVRML2->getChild(i);
     
     if (child->getTypeId() == SoVRMLGroup::getClassTypeId()){
-      extractGroup((SoVRMLGroup*)child, transform_recursive, indexFace);
+      extractGroup((SoVRMLGroup*)child, transform_recursive, idFace);
     }
     
     if (child->getTypeId() == SoVRMLTransform::getClassTypeId()){
-      extractGroup((SoVRMLTransform*)child, transform_recursive, indexFace);
+      extractGroup((SoVRMLTransform*)child, transform_recursive, idFace);
     }
     
     if (child->getTypeId() == SoVRMLShape::getClassTypeId()){
@@ -1200,16 +1846,16 @@ vpMbTracker::extractGroup(SoVRMLGroup *sceneGraphVRML2, vpHomogeneousMatrix &tra
           SoVRMLIndexedFaceSet * face_set;
           face_set = (SoVRMLIndexedFaceSet*)child2list->get(j);
           if(!strncmp(face_set->getName().getString(),"cyl",3)){
-            extractCylinders(face_set, transform);
+            extractCylinders(face_set, transform, idFace);
           }else{
-            extractFaces(face_set, transform, indexFace);
+            extractFaces(face_set, transform, idFace);
           }
         }
         if (((SoNode*)child2list->get(j))->getTypeId() == SoVRMLIndexedLineSet::getClassTypeId())
         {
           SoVRMLIndexedLineSet * line_set;
           line_set = (SoVRMLIndexedLineSet*)child2list->get(j);
-          extractLines(line_set);
+          extractLines(line_set, idFace);
         }
       }
     }
@@ -1222,10 +1868,10 @@ vpMbTracker::extractGroup(SoVRMLGroup *sceneGraphVRML2, vpHomogeneousMatrix &tra
 
   \param face_set : Pointer to the face in the vrml format.
   \param transform : Transformation matrix applied to the face.
-  \param indexFace : Face index.
+  \param idFace : Face id.
 */
 void
-vpMbTracker::extractFaces(SoVRMLIndexedFaceSet* face_set, vpHomogeneousMatrix &transform, unsigned int &indexFace)
+vpMbTracker::extractFaces(SoVRMLIndexedFaceSet* face_set, vpHomogeneousMatrix &transform, int &idFace)
 {
   std::vector<vpPoint> corners;
   corners.resize(0);
@@ -1244,8 +1890,8 @@ vpMbTracker::extractFaces(SoVRMLIndexedFaceSet* face_set, vpHomogeneousMatrix &t
     {
       if(corners.size() > 1)
       {
-        initFaceFromCorners(corners, indexFace);
-        indexFace++;
+        addPolygon(corners, idFace++);
+        initFaceFromCorners(*(faces.getPolygon().back())); // Init from the last polygon that was added
         corners.resize(0);
       }
     }
@@ -1277,9 +1923,10 @@ vpMbTracker::extractFaces(SoVRMLIndexedFaceSet* face_set, vpHomogeneousMatrix &t
 
   \param face_set : Pointer to the cylinder in the vrml format.
   \param transform : Transformation matrix applied to the cylinder.
+  \param idFace : Id of the face.
 */
 void
-vpMbTracker::extractCylinders(SoVRMLIndexedFaceSet* face_set, vpHomogeneousMatrix &transform)
+vpMbTracker::extractCylinders(SoVRMLIndexedFaceSet* face_set, vpHomogeneousMatrix &transform, int &idFace)
 {
   std::vector<vpPoint> corners_c1, corners_c2;//points belonging to the first circle and to the second one.
   SoVRMLCoordinate* coords = (SoVRMLCoordinate *)face_set->coord.getValue();
@@ -1332,10 +1979,56 @@ vpMbTracker::extractCylinders(SoVRMLIndexedFaceSet* face_set, vpHomogeneousMatri
     throw vpException(vpException::badValue, "Radius from the two circles of the cylinders are different.");
   }
 
-  initCylinder(p1, p2, radius_c1);
+  addPolygon(p1, p2, idFace);
+  initCylinder(p1, p2, radius_c1, idFace++);
+}
+
+/*!
+  Extract a line of the object to track from the VMRL model. This method calls
+  the initFaceFromCorners() method implemented in the child class. 
+
+  \param line_set : Pointer to the line in the vrml format.
+  \param idFace : Id of the face.
+*/
+void
+vpMbTracker::extractLines(SoVRMLIndexedLineSet* line_set, int &idFace)
+{
+  std::vector<vpPoint> corners;
+  corners.resize(0);
 
+  int indexListSize = line_set->coordIndex.getNum();
+
+  SbVec3f point(0,0,0);
+  vpPoint pt;
+  SoVRMLCoordinate *coord;
+  
+  for (int i = 0; i < indexListSize; i++)
+  {
+    if (line_set->coordIndex[i] == -1)
+    {
+      if(corners.size() > 1)
+      {
+        addPolygon(corners, idFace++);
+        initFaceFromCorners(*(faces.getPolygon().back())); // Init from the last polygon that was added
+        corners.resize(0);
+      }
+    }
+    else
+    {
+      coord = (SoVRMLCoordinate *)(line_set->coord.getValue());
+      int index = line_set->coordIndex[i];
+      point[0]=coord->point[index].getValue()[0];
+      point[1]=coord->point[index].getValue()[1];
+      point[2]=coord->point[index].getValue()[2];
+
+      pt.setWorldCoordinates(point[0],point[1],point[2]);
+      corners.push_back(pt);
+    }
+  }
 }
 
+#endif // VISP_HAVE_COIN
+
 /*!
   Compute the center of gravity of a set of point. This is used in the cylinder
   extraction to find the center of the circles.
@@ -1367,53 +2060,304 @@ vpMbTracker::getGravityCenter(const std::vector<vpPoint>& pts)
   return G;
 }
 
+/*!
+  Get the list of polygons faces (a vpPolygon representing the projection of the face in the image and a list of face corners
+  in 3D), with the possibility to order by distance to the camera or to use the visibility check to consider if the polygon
+  face must be retrieved or not.
+
+  \param orderPolygons : If true, the resulting list is ordered from the nearest polygon faces to the farther.
+  \param useVisibility : If true, only visible faces will be retrieved.
+  \return A pair object containing the list of vpPolygon and the list of face corners.
+ */
+std::pair<std::vector<vpPolygon>, std::vector<std::vector<vpPoint> > >
+vpMbTracker::getPolygonFaces(const bool orderPolygons, const bool useVisibility)
+{
+  vpHomogeneousMatrix cMo;
+  vpCameraParameters cam;
+  getPose(cMo);
+  getCameraParameters(cam);
+
+  //Temporary variable to permit to order polygons by distance
+  std::vector<vpPolygon> polygonsTmp;
+  std::vector<std::vector<vpPoint> > roisPtTmp;
+
+  //Pair containing the list of vpPolygon and the list of face corners
+  std::pair<std::vector<vpPolygon>, std::vector<std::vector<vpPoint> > > pairOfPolygonFaces;
+
+  for (unsigned int i = 0; i < getNbPolygon(); i++) {
+    std::vector<vpImagePoint> roi;
+    std::vector<vpPoint> roiPt;
+    //A face has at least three points
+    if (getPolygon(i)->nbpt >= 3) {
+      if((useVisibility && getPolygon(i)->isvisible) || !useVisibility) {
+        for (unsigned int j = 0; j < getPolygon(i)->nbpt; j++) {
+          vpPoint pt(getPolygon(i)->p[j]);
+          pt.project(cMo);
+          double u = 0, v = 0;
+          vpMeterPixelConversion::convertPoint(cam, pt.get_x(), pt.get_y(), u, v);
+          roi.push_back(vpImagePoint(v, u));
+          roiPt.push_back(pt);
+        }
+
+        polygonsTmp.push_back(vpPolygon(roi));
+        roisPtTmp.push_back(roiPt);
+      }
+    }
+  }
+
+  if(orderPolygons) {
+    //Order polygons by distance (near to far)
+    std::vector<PolygonFaceInfo> listOfPolygonFaces;
+    for(unsigned int i = 0; i < polygonsTmp.size(); i++) {
+      double x_centroid = 0.0, y_centroid = 0.0, z_centroid = 0.0;
+      for(unsigned int j = 0; j < roisPtTmp[i].size(); j++) {
+        x_centroid += roisPtTmp[i][j].get_X();
+        y_centroid += roisPtTmp[i][j].get_Y();
+        z_centroid += roisPtTmp[i][j].get_Z();
+      }
+
+      x_centroid /= roisPtTmp[i].size();
+      y_centroid /= roisPtTmp[i].size();
+      z_centroid /= roisPtTmp[i].size();
+
+      double squared_dist = x_centroid*x_centroid + y_centroid*y_centroid + z_centroid*z_centroid;
+      listOfPolygonFaces.push_back(PolygonFaceInfo(squared_dist, polygonsTmp[i], roisPtTmp[i]));
+    }
+
+    //Sort the list of polygon faces
+    std::sort(listOfPolygonFaces.begin(), listOfPolygonFaces.end());
+
+    polygonsTmp.resize(listOfPolygonFaces.size());
+    roisPtTmp.resize(listOfPolygonFaces.size());
+
+    size_t cpt = 0;
+    for(std::vector<PolygonFaceInfo>::const_iterator it = listOfPolygonFaces.begin(); it != listOfPolygonFaces.end();
+        ++it, cpt++) {
+      polygonsTmp[cpt] = it->polygon;
+      roisPtTmp[cpt] = it->faceCorners;
+    }
+
+    pairOfPolygonFaces.first = polygonsTmp;
+    pairOfPolygonFaces.second = roisPtTmp;
+  } else {
+    pairOfPolygonFaces.first = polygonsTmp;
+    pairOfPolygonFaces.second = roisPtTmp;
+  }
+
+  return pairOfPolygonFaces;
+}
 
 /*!
-  Extract a line of the object to track from the VMRL model. This method calls
-  the initFaceFromCorners() method implemented in the child class. 
+  Use Ogre3D for visibility tests
 
-  \param line_set : Pointer to the line in the vrml format.
+  \warning This function has to be called before the initialization of the tracker.
+
+  \param v : True to use it, False otherwise
 */
 void
-vpMbTracker::extractLines(SoVRMLIndexedLineSet* line_set)
+vpMbTracker::setOgreVisibilityTest(const bool &v)
 {
-  std::vector<vpPoint> corners;
-  corners.resize(0);
+  useOgre = v;
+  if(useOgre){
+#ifndef VISP_HAVE_OGRE
+    useOgre = false;
+    std::cout << "WARNING: ViSP doesn't have Ogre3D, basic visibility test will be used. setOgreVisibilityTest() set to false." << std::endl;
+#endif
+  }
+}
 
-  int indexListSize = line_set->coordIndex.getNum();
+/*!
+  Set the far distance for clipping.
 
-  SbVec3f point(0,0,0);
-  vpPoint pt;
-  SoVRMLCoordinate *coord;
-  
-  unsigned int indexFace = 0;
+  \param dist : Far clipping value.
+*/
+void
+vpMbTracker::setFarClippingDistance(const double &dist)
+{
+  if( (clippingFlag & vpMbtPolygon::NEAR_CLIPPING) == vpMbtPolygon::NEAR_CLIPPING && dist <= distNearClip)
+    vpTRACE("Far clipping value cannot be inferior than near clipping value. Far clipping won't be considered.");
+  else if ( dist < 0 )
+    vpTRACE("Far clipping value cannot be inferior than 0. Far clipping won't be considered.");
+  else{
+    clippingFlag = (clippingFlag | vpMbtPolygon::FAR_CLIPPING);
+    distFarClip = dist;
+    for (unsigned int i = 0; i < faces.size(); i ++){
+      faces[i]->setFarClippingDistance(distFarClip);
+    }
+#ifdef VISP_HAVE_OGRE
+    faces.getOgreContext()->setFarClippingDistance(distFarClip);
+#endif
+  }
+}
 
-  for (int i = 0; i < indexListSize; i++)
+/*!
+  Set the flag to consider if the level of detail (LOD) is used.
+
+  \param useLod : true if the level of detail must be used, false otherwise. When true,
+  two parameters can be set, see setMinLineLengthThresh() and setMinPolygonAreaThresh().
+  \param name : name of the face we want to modify the LOD parameter.
+
+  \sa setMinLineLengthThresh(), setMinPolygonAreaThresh()
+ */
+void
+vpMbTracker::setLod(const bool useLod, const std::string &name)
+{
+  for (unsigned int i = 0; i < faces.size(); i++)
   {
-    if (line_set->coordIndex[i] == -1)
-    {
-      if(corners.size() > 1)
-      {
-        initFaceFromCorners(corners, indexFace);
-        indexFace++;
-        corners.resize(0);
-      }
+    if(name.empty() || faces[i]->name == name) {
+      faces[i]->setLod(useLod);
     }
-    else
-    {
-      coord = (SoVRMLCoordinate *)(line_set->coord.getValue());
-      int index = line_set->coordIndex[i];
-      point[0]=coord->point[index].getValue()[0];
-      point[1]=coord->point[index].getValue()[1];
-      point[2]=coord->point[index].getValue()[2];
+  }
+}
 
-      pt.setWorldCoordinates(point[0],point[1],point[2]);
-      corners.push_back(pt);
+/*!
+    Set the threshold for the minimum line length to be considered as visible in the LOD case.
+
+    \param minLineLengthThresh : threshold for the minimum line length in pixel.
+    \param name : name of the face we want to modify the LOD threshold.
+
+    \sa setLod(), setMinPolygonAreaThresh()
+ */
+void
+vpMbTracker::setMinLineLengthThresh(const double minLineLengthThresh, const std::string &name)
+{
+  for (unsigned int i = 0; i < faces.size(); i++)
+  {
+    if(name.empty() || faces[i]->name == name) {
+      faces[i]->setMinLineLengthThresh(minLineLengthThresh);
+    }
+  }
+}
+
+/*!
+  Set the minimum polygon area to be considered as visible in the LOD case.
+
+  \param minPolygonAreaThresh : threshold for the minimum polygon area in pixel.
+  \param name : name of the face we want to modify the LOD threshold.
+
+  \sa setLod(), setMinLineLengthThresh()
+ */
+void
+vpMbTracker::setMinPolygonAreaThresh(const double minPolygonAreaThresh, const std::string &name)
+{
+  for (unsigned int i = 0; i < faces.size(); i++)
+  {
+    if(name.empty() || faces[i]->name == name) {
+      faces[i]->setMinPolygonAreaThresh(minPolygonAreaThresh);
     }
   }
 }
 
+/*!
+  Set the near distance for clipping.
+
+  \param dist : Near clipping value.
+*/
+void
+vpMbTracker::setNearClippingDistance(const double &dist)
+{
+  if( (clippingFlag & vpMbtPolygon::FAR_CLIPPING) == vpMbtPolygon::FAR_CLIPPING && dist >= distFarClip)
+    vpTRACE("Near clipping value cannot be superior than far clipping value. Near clipping won't be considered.");
+  else if ( dist < 0 )
+    vpTRACE("Near clipping value cannot be inferior than 0. Near clipping won't be considered.");
+  else{
+    clippingFlag = (clippingFlag | vpMbtPolygon::NEAR_CLIPPING);
+    distNearClip = dist;
+    for (unsigned int i = 0; i < faces.size(); i ++){
+      faces[i]->setNearClippingDistance(distNearClip);
+    }
+#ifdef VISP_HAVE_OGRE
+    faces.getOgreContext()->setNearClippingDistance(distNearClip);
 #endif
+  }
+}
+
+/*!
+  Specify which clipping to use.
+
+  \sa vpMbtPolygonClipping
+
+  \param flags : New clipping flags.
+*/
+void
+vpMbTracker::setClipping(const unsigned int &flags)
+{
+  clippingFlag = flags;
+  for (unsigned int i = 0; i < faces.size(); i ++)
+    faces[i]->setClipping(clippingFlag);
+}
+
+
+void
+vpMbTracker::computeCovarianceMatrix(const vpHomogeneousMatrix &cMoPrev, const vpColVector &deltaS, const vpMatrix &Ls, const vpMatrix &W)
+{
+    //building Lp
+    vpMatrix LpInv(6,6);
+    LpInv = 0;
+    LpInv[0][0] = -1.0;
+    LpInv[1][1] = -1.0;
+    LpInv[2][2] = -1.0;
+
+    vpTranslationVector ctoInit;
+
+    cMoPrev.extract(ctoInit);
+    vpMatrix ctoInitSkew = ctoInit.skew();
+
+    vpThetaUVector thetau;
+    cMoPrev.extract(thetau);
+
+    vpColVector tu(3);
+    for(unsigned int i = 0 ; i < 3 ; i++)
+        tu[i] = thetau[i];
+
+    double theta = sqrt(tu.sumSquare()) ;
+
+//    vpMatrix Lthetau(3,3);
+    vpMatrix LthetauInvAnalytic(3,3);
+    vpMatrix I3(3,3);
+    I3.setIdentity();
+//    Lthetau = -I3;
+    LthetauInvAnalytic = -I3;
+
+    if(theta / (2.0 * M_PI) > std::numeric_limits<double>::epsilon())
+    {
+        // Computing [theta/2 u]_x
+        vpColVector theta2u(3)  ;
+        for (unsigned int i=0 ; i < 3 ; i++) {
+          theta2u[i] = tu[i]/2.0 ;
+        }
+        vpMatrix theta2u_skew = vpColVector::skew(theta2u);
+
+        vpColVector u(3)  ;
+        for (unsigned int i=0 ; i < 3 ; i++) {
+          u[i] = tu[i]/theta ;
+        }
+        vpMatrix u_skew = vpColVector::skew(u);
+
+//        Lthetau += (theta2u_skew - (1.0-vpMath::sinc(theta)/vpMath::sqr(vpMath::sinc(theta/2.0)))*u_skew*u_skew);
+        LthetauInvAnalytic += -(vpMath::sqr(vpMath::sinc(theta/2.0)) * theta2u_skew - (1.0-vpMath::sinc(theta))*u_skew*u_skew);
+    }
+
+//    vpMatrix LthetauInv = Lthetau.inverseByLU();
+
+    ctoInitSkew = ctoInitSkew * LthetauInvAnalytic;
+
+    for(unsigned int a = 0 ; a < 3 ; a++)
+        for(unsigned int b = 0 ; b < 3 ; b++)
+            LpInv[a][b+3] = ctoInitSkew[a][b];
+
+    for(unsigned int a = 0 ; a < 3 ; a++)
+        for(unsigned int b = 0 ; b < 3 ; b++)
+            LpInv[a+3][b+3] = LthetauInvAnalytic[a][b];
+
+    // Building Js
+    vpMatrix Js = Ls * LpInv;
+
+    // building deltaP
+    vpColVector deltaP = (Js).pseudoInverse(Js.getRows()*std::numeric_limits<double>::epsilon()) * deltaS;
+
+    covarianceMatrix = vpMatrix::computeCovarianceMatrix(Js,deltaP,deltaS,W);
+}
 
 /*!
   Compute \f$ J^T R \f$, with J the interaction matrix and R the vector of 
@@ -1449,4 +2393,53 @@ vpMbTracker::computeJTR(const vpMatrix& interaction, const vpColVector& error, v
   }
 }
 
+/*!
+  Get a 1x6 vpColVector representing the estimated degrees of freedom.
+  vpColVector[0] = 1 if translation on X is estimated, 0 otherwise;
+  vpColVector[1] = 1 if translation on Y is estimated, 0 otherwise;
+  vpColVector[2] = 1 if translation on Z is estimated, 0 otherwise;
+  vpColVector[3] = 1 if rotation on X is estimated, 0 otherwise;
+  vpColVector[4] = 1 if rotation on Y is estimated, 0 otherwise;
+  vpColVector[5] = 1 if rotation on Z is estimated, 0 otherwise;
+
+  \return 1x6 vpColVector representing the estimated degrees of freedom.
+*/
+vpColVector
+vpMbTracker::getEstimatedDoF()
+{
+    vpColVector v(6);
+    for(unsigned int i = 0 ; i < 6 ; i++)
+        v[i] = oJo[i][i];
+    return v;
+}
+
+/*!
+  Set a 1x6 vpColVector representing the estimated degrees of freedom. The vector has to be this form:
+  vpColVector[0] = 1 if translation on X is estimated, 0 otherwise;
+  vpColVector[1] = 1 if translation on Y is estimated, 0 otherwise;
+  vpColVector[2] = 1 if translation on Z is estimated, 0 otherwise;
+  vpColVector[3] = 1 if rotation on X is estimated, 0 otherwise;
+  vpColVector[4] = 1 if rotation on Y is estimated, 0 otherwise;
+  vpColVector[5] = 1 if rotation on Z is estimated, 0 otherwise;
+
+*/
+void
+vpMbTracker::setEstimatedDoF(const vpColVector& v)
+{
+    if(v.getRows() == 6)
+    {
+        isoJoIdentity = true;
+        for(unsigned int i = 0 ; i < 6 ; i++){
+            // if(v[i] != 0){
+            if(std::fabs(v[i]) > std::numeric_limits<double>::epsilon()){
+              oJo[i][i] = 1.0;
+            }
+            else{
+              oJo[i][i] = 0.0;
+              isoJoIdentity = false;
+            }
+        }
+    }
+}
+
 
diff --git a/src/tracking/mbt/vpMbTracker.h b/src/tracking/mbt/vpMbTracker.h
index 4e8e49a65b71f7dfb04d8c314ca16dba07d777b9..8c35e4763b60f80945e87df8bf8c322b28fff7b0 100755
--- a/src/tracking/mbt/vpMbTracker.h
+++ b/src/tracking/mbt/vpMbTracker.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMbTracker.h 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpMbTracker.h 5162 2015-01-14 19:09:23Z strinh $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -36,7 +36,7 @@
  *
  * Authors:
  * Romain Tallonneau
- * Aurélien Yol
+ * Aurelien Yol
  *
  *****************************************************************************/
 
@@ -47,6 +47,17 @@
 #ifndef vpMbTracker_hh
 #define vpMbTracker_hh
 
+#include <vector>
+#include <string>
+#include <sstream>
+#include <fstream>
+#include <map>
+#include <algorithm>
+#include <cctype>
+#include <locale>
+#include <functional>   // std::not1
+
+
 #include <visp/vpHomogeneousMatrix.h>
 #include <visp/vpImage.h>
 #include <visp/vpImagePoint.h>
@@ -57,6 +68,7 @@
 #include <visp/vpPoint.h>
 #include <visp/vpMbtPolygon.h>
 #include <visp/vpMbHiddenFaces.h>
+#include <visp/vpPolygon.h>
 
 #ifdef VISP_HAVE_COIN
 //Work around to avoid type redefinition int8_t with Coin
@@ -70,9 +82,6 @@
 # include <Inventor/VRMLnodes/SoVRMLIndexedLineSet.h>
 #endif
 
-#include <vector>
-#include <string>
-
 /*!
   \class vpMbTracker
   \ingroup ModelBasedTracking
@@ -87,17 +96,12 @@
   realised by implementing the main functions:
   - init() : Initialisation of the tracker (it includes re-initialisation). This
     method is called at the end of the initClick() method.
-  - initFaceFromCorners() : Initialisation of a face using its corners. 
+  - initFaceFromCorners() : Initialisation of the lines that has to be tracked.
   - track() : Tracking on the current image
   - testTracking() : Test the tracking. This method throws exception if the 
     tracking failed. 
   - display() : Display the model and eventually other information.
 
-  In addition, two flags are declared in this class and may have to be 
-  initialised in the child class : 
-  - modelInitialised : flag to ensure that the model has been loaded.
-  initialised (either by loading them from a configuration file or by setting 
-  them with the setCameraParameters() method).
 */
 class VISP_EXPORT vpMbTracker
 {
@@ -106,6 +110,10 @@ protected:
   vpCameraParameters cam;
   //! The current pose.
   vpHomogeneousMatrix cMo;
+  //! The Degrees of Freedom to estimate
+  vpMatrix oJo;
+  //! Boolean to know if oJo is identity (for fast computation)
+  bool isoJoIdentity;
   //! The name of the file containing the model (it is used to create a file name.0.pos used to store the compute pose in the initClick method).
   std::string modelFileName;
   //! Flag used to ensure that the CAD model is loaded before the initialisation.
@@ -118,6 +126,47 @@ protected:
   vpMatrix covarianceMatrix;
   //! If true, the features are displayed. 
   bool displayFeatures;
+  //! Weights used in the robust scheme
+  vpColVector m_w;
+  //! Error s-s*
+  vpColVector m_error;
+
+  //! Set of faces describing the object.
+  vpMbHiddenFaces<vpMbtPolygon> faces;
+  //! Angle used to detect a face appearance
+  double angleAppears;
+  //! Angle used to detect a face disappearance
+  double angleDisappears;
+  //! Distance for near clipping
+  double distNearClip;
+  //! Distance for near clipping
+  double distFarClip;
+  //! Flags specifying which clipping to used
+  unsigned int clippingFlag;
+  //! Use Ogre3d for visibility tests
+  bool useOgre;
+  //! Number of points in CAO model
+  unsigned int nbPoints;
+  //! Number of lines in CAO model
+  unsigned int nbLines;
+  //! Number of polygon lines in CAO model
+  unsigned int nbPolygonLines;
+  //! Number of polygon points in CAO model
+  unsigned int nbPolygonPoints;
+  //! Number of cylinders in CAO model
+  unsigned int nbCylinders;
+  //! Number of circles in CAO model
+  unsigned int nbCircles;
+  //! True if LOD mode is enabled
+  bool useLodGeneral;
+  //! True if the CAO model is loaded before the call to loadConfigFile, (deduced by the number of polygons)
+  bool applyLodSettingInConfig;
+  //! Minimum line length threshold for LOD mode (general setting)
+  double minLineLengthThresholdGeneral;
+  //! Minimum polygon area threshold for LOD mode (general setting)
+  double minPolygonAreaThresholdGeneral;
+  //! Map with [map.first]=parameter_names and [map.second]=type (string, number or boolean)
+  std::map<std::string, std::string> mapOfParameterNames;
 
 public:
   vpMbTracker();
@@ -132,7 +181,7 @@ public:
     \param cam : The camera parameters.
     \param col : The desired color.
     \param thickness : The thickness of the lines.
-  \param displayFullModel : If true, the full model is displayed (even the non visible surfaces).
+    \param displayFullModel : If true, the full model is displayed (even the non visible surfaces).
   */
   virtual void display(const vpImage<unsigned char>& I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam,
                        const vpColor& col , const unsigned int thickness=1, const bool displayFullModel = false)=0;
@@ -145,11 +194,17 @@ public:
     \param cam : The camera parameters.
     \param col : The desired color.
     \param thickness : The thickness of the lines.
-  \param displayFullModel : If true, the full model is displayed (even the non visible surfaces).
+    \param displayFullModel : If true, the full model is displayed (even the non visible surfaces).
   */
   virtual void display(const vpImage<vpRGBa>& I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam,
                        const vpColor& col , const unsigned int thickness=1, const bool displayFullModel = false)=0;
 
+  /*! Return the angle used to test polygons appearance. */
+  virtual inline  double  getAngleAppear() const { return angleAppears; }
+
+  /*! Return the angle used to test polygons disappearance. */
+  virtual inline  double  getAngleDisappear() const { return angleDisappears; }
+
   /*!
     Get the camera parameters.
 
@@ -157,6 +212,13 @@ public:
   */
   virtual void getCameraParameters(vpCameraParameters& camera) const { camera = this->cam;}
   
+  /*!
+    Get the clipping used and defined in vpMbtPolygon::vpMbtPolygonClippingType.
+
+    \return Clipping flags.
+  */
+  virtual inline  unsigned int getClipping() const { return clippingFlag; }
+
   /*!
     Get the covariance matrix.
   */
@@ -167,6 +229,95 @@ public:
     return covarianceMatrix; 
   }
 
+  virtual vpColVector getEstimatedDoF();
+
+  /*!
+    Return the error vector \f$(s-s^*)\f$ reached after the virtual visual servoing process used to estimate the pose.
+
+    The following example shows how to use this function to compute the norm of the residual and the norm of the residual
+    normalized by the number of features that are tracked:
+    \code
+      tracker.track(I);
+      std::cout << "Residual: " << sqrt( (tracker.getError()).sumSquare()) << std::endl;
+      std::cout << "Residual normalized: " << sqrt( (tracker.getError()).sumSquare())/tracker.getError().size() << std::endl;
+    \endcode
+
+    \sa getRobustWeights()
+   */
+  virtual vpColVector getError() {
+    return m_error;
+  }
+
+  /*! Return a reference to the faces structure. */
+  inline  vpMbHiddenFaces<vpMbtPolygon>& getFaces() { return faces;}
+
+  /*!
+    Get the far distance for clipping.
+
+    \return Far clipping value.
+  */
+  virtual inline  double  getFarClippingDistance() const { return distFarClip; }
+
+  /*!
+    Return the weights vector \f$w_i\f$ computed by the robust scheme.
+
+    The following example shows how to use this function to compute the norm of the weighted residual
+    and the norm of the weighted residual normalized by the sum of the weights associated to the
+    features that are tracked:
+    \code
+      tracker.track(I);
+      vpColVector w = tracker.getRobustWeights();
+      vpColVector e = tracker.getError();
+      vpColVector we(w.size());
+      for(unsigned int i=0; i<w.size(); i++)
+        we[i] = w[i]*e[i];
+
+      std::cout << "Weighted residual: " << sqrt( (we).sumSquare() ) << std::endl;
+      std::cout << "Weighted residual normalized: " << sqrt( (we).sumSquare() ) / w.sum() << std::endl;
+    \endcode
+
+    \sa getError()
+   */
+  virtual vpColVector getRobustWeights() {
+    return m_w;
+  }
+
+  /*!
+    Get the number of polygons (faces) representing the object to track.
+
+    \return Number of polygons.
+  */
+  virtual inline unsigned int getNbPolygon() const {
+    return static_cast<unsigned int>(faces.size());
+  }
+
+  /*!
+    Get the near distance for clipping.
+
+    \return Near clipping value.
+  */
+  virtual inline double   getNearClippingDistance() const { return distNearClip; }
+
+  /*!
+    Return the polygon (face) "index".
+
+    \exception vpException::dimensionError if index does not represent a good
+    polygon.
+
+    \param index : Index of the polygon to return.
+    \return Pointer to the polygon index.
+  */
+  virtual inline vpMbtPolygon* getPolygon(const unsigned int index) {
+    if(index >= static_cast<unsigned int>(faces.size()) ){
+      throw vpException(vpException::dimensionError, "index out of range");
+    }
+
+    return faces[index];
+  }
+
+  virtual std::pair<std::vector<vpPolygon>, std::vector<std::vector<vpPoint> > > getPolygonFaces(const bool orderPolygons=true,
+      const bool useVisibility=true);
+
   /*!
     Get the current pose between the object and the camera.
     cMo is the matrix which can be used to express 
@@ -212,11 +363,12 @@ public:
     
     Pure virtual method to adapt to each tracker.
     
-    \param configFile : the (xml) config file to parse
+    \param configFile : An xml config file to parse.
   */
   virtual void loadConfigFile(const std::string& configFile)=0;
 
-  virtual void loadModel(const std::string& modelFile);
+  virtual void loadModel(const char *modelFile, const bool verbose=false);
+  virtual void loadModel(const std::string &modelFile, const bool verbose=false);
 
   /*!
     Reset the tracker.
@@ -224,6 +376,28 @@ public:
   virtual void resetTracker() = 0;
 
   void savePose(const std::string &filename);
+
+  /*!
+    Set the angle used to test polygons appearance.
+    If the angle between the normal of the polygon and the line going
+    from the camera to the polygon center has a value lower than
+    this parameter, the polygon is considered as appearing.
+    The polygon will then be tracked.
+
+    \param a : new angle in radian.
+  */
+  virtual inline  void    setAngleAppear(const double &a) { angleAppears = a; }
+
+  /*!
+    Set the angle used to test polygons disappearance.
+    If the angle between the normal of the polygon and the line going
+    from the camera to the polygon center has a value greater than
+    this parameter, the polygon is considered as disappearing.
+    The tracking of the polygon will then be stopped.
+
+    \param a : new angle in radian.
+  */
+  virtual inline  void    setAngleDisappear(const double &a) { angleDisappears = a; }
   
   /*!
     Set the camera parameters.
@@ -231,6 +405,8 @@ public:
     \param camera : the new camera parameters
   */
   virtual void setCameraParameters(const vpCameraParameters& camera) {this->cam = camera;}
+
+  virtual void setClipping(const unsigned int &flags);
   
   /*!
     Set if the covaraince matrix has to be computed.
@@ -239,12 +415,30 @@ public:
   */
   virtual void setCovarianceComputation(const bool& flag) { computeCovariance = flag; }
 
+  virtual void setEstimatedDoF(const vpColVector& v);
+
   /*!
-    Enable to display the features.
-    
+    Enable to display the features. By features, we meant the moving edges (ME) and the klt points if used.
+
+    Note that if present, the moving edges can be displayed with different colors:
+    - If green : The ME is a good point.
+    - If blue : The ME is removed because of a contrast problem during the tracking phase.
+    - If purple : The ME is removed because of a threshold problem during the tracking phase.
+    - If red : The ME is removed because it is rejected by the robust approach in the virtual visual servoing scheme.
+
     \param displayF : set it to true to display the features.
   */
   void setDisplayFeatures(const bool displayF) {displayFeatures = displayF;}
+
+  virtual void setFarClippingDistance(const double &dist);
+
+  virtual void setLod(const bool useLod, const std::string &name="");
+
+  virtual void setMinLineLengthThresh(const double minLineLengthThresh, const std::string &name="");
+
+  virtual void setMinPolygonAreaThresh(const double minPolygonAreaThresh, const std::string &name="");
+
+  virtual void setNearClippingDistance(const double &dist);
   
   /*!
     Set the pose to be used in entry of the next call to the track() function.
@@ -270,6 +464,8 @@ public:
     poseSavingFilename = filename;
   }
 
+  virtual void setOgreVisibilityTest(const bool &v);
+
   /*!
     Test the quality of the tracking.
 
@@ -285,17 +481,38 @@ public:
   virtual void track(const vpImage<unsigned char>& I)=0;
 
 protected:
+  void addPolygon(const std::vector<vpPoint>& corners, const int idFace=-1, const std::string &polygonName="",
+      const bool useLod=false, const double minPolygonAreaThreshold=2500.0, const double minLineLengthThreshold=50.0);
+  void addPolygon(const vpPoint& p1, const vpPoint &p2, const vpPoint &p3, const double radius, const int idFace=-1,
+      const std::string &polygonName="", const bool useLod=false, const double minPolygonAreaThreshold=2500.0);
+  void addPolygon(const vpPoint& p1, const vpPoint &p2, const int idFace=-1, const std::string &polygonName="",
+      const bool useLod=false, const double minLineLengthThreshold=50);
+
+  void computeCovarianceMatrix(const vpHomogeneousMatrix &cMoPrev, const vpColVector &deltaS, const vpMatrix &Ls, const vpMatrix &W);
   void computeJTR(const vpMatrix& J, const vpColVector& R, vpMatrix& JTR);
   
 #ifdef VISP_HAVE_COIN
-  virtual void extractGroup(SoVRMLGroup *sceneGraphVRML2, vpHomogeneousMatrix &transform, unsigned int &indexFace);
-  virtual void extractFaces(SoVRMLIndexedFaceSet* face_set, vpHomogeneousMatrix &transform, unsigned int &indexFace);
-  virtual void extractLines(SoVRMLIndexedLineSet* line_set);
-  virtual void extractCylinders(SoVRMLIndexedFaceSet* face_set, vpHomogeneousMatrix &transform);
+  virtual void extractGroup(SoVRMLGroup *sceneGraphVRML2, vpHomogeneousMatrix &transform, int &idFace);
+  virtual void extractFaces(SoVRMLIndexedFaceSet* face_set, vpHomogeneousMatrix &transform, int &idFace);
+  virtual void extractLines(SoVRMLIndexedLineSet* line_set, int &idFace);
+  virtual void extractCylinders(SoVRMLIndexedFaceSet* face_set, vpHomogeneousMatrix &transform, int &idFace);
 #endif
   
   vpPoint getGravityCenter(const std::vector<vpPoint>& _pts);
   
+  /*!
+    Add a circle to track from its center, 3 points (including the center) defining the plane that contain
+    the circle and its radius.
+
+    \param p1 : Center of the circle.
+    \param p2,p3 : Two points on the plane containing the circle. With the center of the circle we have 3 points
+    defining the plane that contains the circle.
+    \param radius : Radius of the circle.
+    \param idFace : Id of the face associated to the circle.
+    \param name : Name of the circle.
+  */
+  virtual void initCircle(const vpPoint& p1, const vpPoint &p2, const vpPoint &p3, const double radius,
+      const int idFace=0, const std::string &name="")=0;
   /*!
     Add a cylinder to track from two points on the axis (defining the length of
     the cylinder) and its radius.
@@ -303,22 +520,56 @@ protected:
     \param p1 : First point on the axis.
     \param p2 : Second point on the axis.
     \param radius : Radius of the cylinder.
-    \param indexCylinder : Index of the cylinder.
+    \param idFace : Id of the face associated to the cylinder.
+    \param name : Name of the cylinder.
   */
-  virtual void initCylinder(const vpPoint& p1, const vpPoint &p2, const double radius, const unsigned int indexCylinder=0)=0;
+  virtual void initCylinder(const vpPoint& p1, const vpPoint &p2, const double radius, const int idFace=0,
+      const std::string &name="")=0;
 
   /*!
-    Add a face to track from its corners (in the object frame). This method is
-    called from the loadModel() one to add a face of the object to track. 
-    The initialisation of the face depends on the primitive to track.
-    
-    \param corners : The vector of corners representing the face.
-    \param indexFace : The index of the face.
+    Add the lines to track from the polygon description. If the polygon has only
+    two points, it defines a single line that is always visible. If it has three or
+    more corners, it defines a face. In that case the visibility of the face is computed
+    in order to track the corresponding lines only if the face is visible.
+
+    The id of the polygon is supposed to be set prior calling this function.
+
+    \param polygon : The polygon describing the set of lines that has to be tracked.
   */
-  virtual void initFaceFromCorners(const std::vector<vpPoint>& corners, const unsigned int indexFace = -1)=0;
-  
+  virtual void initFaceFromCorners(vpMbtPolygon &polygon)=0;
+  virtual void initFaceFromLines(vpMbtPolygon &polygon)=0;
+
   virtual void loadVRMLModel(const std::string& modelFile);
-  virtual void loadCAOModel(const std::string& modelFile);
+  virtual void loadCAOModel(const std::string& modelFile, std::vector<std::string>& vectorOfModelFilename, int& startIdFace,
+                            const bool verbose=false, const bool parent=true);
+
+  void removeComment(std::ifstream& fileId);
+
+  inline bool parseBoolean(std::string &input) {
+    std::transform(input.begin(), input.end(), input.begin(), ::tolower);
+    std::istringstream is(input);
+    bool b;
+    //Parse string to boolean either in the textual representation (True/False)
+    //or in numeric representation (1/0)
+    is >> (input.size() > 1 ? std::boolalpha : std::noboolalpha) >> b;
+    return b;
+  }
+
+  std::map<std::string, std::string> parseParameters(std::string& endLine);
+
+  inline std::string &ltrim(std::string &s) {
+    s.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun<int, int>(std::isspace))));
+    return s;
+  }
+
+  inline std::string &rtrim(std::string &s) {
+    s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun<int, int>(std::isspace))).base(), s.end());
+    return s;
+  }
+
+  inline std::string &trim(std::string &s) {
+    return ltrim(rtrim(s));
+  }
 };
 
 
diff --git a/src/tracking/mbt/edge/vpMbtPolygon.cpp b/src/tracking/mbt/vpMbtPolygon.cpp
similarity index 53%
rename from src/tracking/mbt/edge/vpMbtPolygon.cpp
rename to src/tracking/mbt/vpMbtPolygon.cpp
index c5c87c8300661e4ea96678413d1102c9b4c381ab..fe779b3dcfbfbc8bfd53cc6b1abaf79f1c4ffdd6 100644
--- a/src/tracking/mbt/edge/vpMbtPolygon.cpp
+++ b/src/tracking/mbt/vpMbtPolygon.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMbtPolygon.cpp 4632 2014-02-03 17:06:40Z fspindle $
+ * $Id: vpMbtPolygon.cpp 4952 2014-11-12 14:04:40Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -51,6 +51,7 @@
 */
 
 #include <visp/vpMbtPolygon.h>
+#include <visp/vpPolygon.h>
 
 /*!
   Basic constructor.
@@ -58,14 +59,16 @@
 vpMbtPolygon::vpMbtPolygon()
   : index(-1), nbpt(0), nbCornersInsidePrev(0), isvisible(false), isappearing(false),
     p(NULL), roiPointsClip(), clippingFlag(vpMbtPolygon::NO_CLIPPING),
-    distNearClip(0.001), distFarClip(100.)
+    distNearClip(0.001), distFarClip(100.),
+    useLod(false), minLineLengthThresh(50.0), minPolygonAreaThresh(2500.0), name("")
 {
 }
 
 vpMbtPolygon::vpMbtPolygon(const vpMbtPolygon& mbtp)
   : index(-1), nbpt(0), nbCornersInsidePrev(0), isvisible(false), isappearing(false),
     p(NULL), roiPointsClip(), clippingFlag(vpMbtPolygon::NO_CLIPPING),
-    distNearClip(0.001), distFarClip(100.)
+    distNearClip(0.001), distFarClip(100.),
+    useLod(false), minLineLengthThresh(50.0), minPolygonAreaThresh(2500.0), name("")
 {
   *this = mbtp;
 }
@@ -79,7 +82,12 @@ vpMbtPolygon& vpMbtPolygon::operator=(const vpMbtPolygon& mbtp)
   isappearing = mbtp.isappearing;
   roiPointsClip = mbtp.roiPointsClip;
   clippingFlag = mbtp.clippingFlag;
-  distNearClip = mbtp.distFarClip;
+  distNearClip = mbtp.distNearClip;
+  distFarClip = mbtp.distFarClip;
+  useLod = mbtp.useLod;
+  minLineLengthThresh = mbtp.minLineLengthThresh;
+  minPolygonAreaThresh = mbtp.minPolygonAreaThresh;
+  name = mbtp.name;
 
   if (p) delete [] p;
   p = new vpPoint [nbpt];
@@ -169,40 +177,68 @@ vpMbtPolygon::changeFrame(const vpHomogeneousMatrix &cMo)
   \param alpha : Maximum angle to detect if the face is visible (in rad).
   \param modulo : Indicates if the test should also consider faces that are not oriented
   counter clockwise. If true, the orientation of the face is without importance.
+  \param cam : Camera parameters (intrinsics parameters)
+  \param I : Image used to consider level of detail.
   
   \return Return true if the polygon is visible.
 */
 bool 
-vpMbtPolygon::isVisible(const vpHomogeneousMatrix &cMo, const double alpha, const bool &modulo)
+vpMbtPolygon::isVisible(const vpHomogeneousMatrix &cMo, const double alpha, const bool &modulo,
+		  const vpCameraParameters &cam, const vpImage<unsigned char> &I)
 {
   //   std::cout << "Computing angle from MBT Face (cMo, alpha)" << std::endl;
-  if(nbpt <= 2){
-    /* a line is allways visible */
-    isvisible = true;
-    isappearing = false;
-    return  true ;
-  }
 
   changeFrame(cMo);
 
-  vpColVector e1(3) ;
-  vpColVector e2(3) ;
-  vpColVector facenormal(3) ;
+  if(nbpt <= 2) {
+    //Level of detail (LOD)
+    if(useLod) {
+      vpCameraParameters c = cam;
+      if(clippingFlag > 3) { // Contains at least one FOV constraint
+        c.computeFov(I.getWidth(), I.getHeight());
+      }
+      computeRoiClipped(c);
+      std::vector<vpImagePoint> roiImagePoints;
+      getRoiClipped(c, roiImagePoints);
+
+      if (roiImagePoints.size() == 2) {
+        double x1 = roiImagePoints[0].get_u();
+        double y1 = roiImagePoints[0].get_v();
+        double x2 = roiImagePoints[1].get_u();
+        double y2 = roiImagePoints[1].get_v();
+        double length = std::sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
+//          std::cout << "Index=" << index << " ; Line length=" << length << " ; clippingFlag=" << clippingFlag << std::endl;
+//        vpTRACE("index=%d lenght=%f minLineLengthThresh=%f", index, length, minLineLengthThresh);
+
+        if (length < minLineLengthThresh) {
+          isvisible = false;
+          isappearing = false;
+          return false;
+        }
+      }
+    }
 
-  e1[0] = p[1].get_X() - p[0].get_X() ;
-  e1[1] = p[1].get_Y() - p[0].get_Y() ;
-  e1[2] = p[1].get_Z() - p[0].get_Z() ;
+    /* a line is always visible when LOD is not used */
+    isvisible = true;
+    isappearing = false;
+    return  true ;
+  }
 
-  e2[0] = p[2].get_X() - p[1].get_X() ;
-  e2[1] = p[2].get_Y() - p[1].get_Y() ;
-  e2[2] = p[2].get_Z() - p[1].get_Z() ;
- 
-  e1.normalize();
-  e2.normalize();
+  //Check visibility from normal
+  //Newell's Method for calculating the normal of an arbitrary 3D polygon
+  //https://www.opengl.org/wiki/Calculating_a_Surface_Normal
+  vpColVector faceNormal(3);
+  vpColVector currentVertex, nextVertex;
+  for(unsigned int  i = 0; i<nbpt; i++) {
+    currentVertex = p[i].cP;
+    nextVertex = p[(i+1) % nbpt].cP;
+
+    faceNormal[0] += (currentVertex[1] - nextVertex[1]) * (currentVertex[2] + nextVertex[2]);
+    faceNormal[1] += (currentVertex[2] - nextVertex[2]) * (currentVertex[0] + nextVertex[0]);
+    faceNormal[2] += (currentVertex[0] - nextVertex[0]) * (currentVertex[1] + nextVertex[1]);
+  }
+  faceNormal.normalize();
   
-  facenormal = vpColVector::crossProd(e1,e2) ;
-  facenormal.normalize();
- 
   vpColVector e4(3) ;
   vpPoint pt;
   for (unsigned int i = 0; i < nbpt; i += 1){
@@ -210,23 +246,39 @@ vpMbtPolygon::isVisible(const vpHomogeneousMatrix &cMo, const double alpha, cons
     pt.set_Y(pt.get_Y() + p[i].get_Y());
     pt.set_Z(pt.get_Z() + p[i].get_Z());
   }
-  e4[0] = -pt.get_X()/(double)nbpt; e4[1] = -pt.get_Y()/(double)nbpt; e4[2] = -pt.get_Z()/(double)nbpt; 
+  e4[0] = -pt.get_X() / (double)nbpt;
+  e4[1] = -pt.get_Y() / (double)nbpt;
+  e4[2] = -pt.get_Z() / (double)nbpt;
   e4.normalize();
-  
-  double cos_angle = vpColVector::dotProd (e4, facenormal);
-  double angle = acos(cos_angle);
-  
-//   std::cout << cos_angle << "/" << vpMath::deg(angle) << std::endl;
-  
-  if( angle < alpha ){
-    isvisible = true;
-    isappearing = false;
-    return true;
-  }
 
-  if(modulo && (M_PI - angle) < alpha){
+  double angle = acos(vpColVector::dotProd(e4, faceNormal));
+
+//  vpCTRACE << angle << "/" << vpMath::deg(angle) << "/" << vpMath::deg(alpha) << std::endl;
+
+  if( angle < alpha || (modulo && (M_PI - angle) < alpha)) {
     isvisible = true;
     isappearing = false;
+
+    if (useLod) {
+      vpCameraParameters c = cam;
+      if(clippingFlag > 3) { // Contains at least one FOV constraint
+        c.computeFov(I.getWidth(), I.getHeight());
+      }
+      computeRoiClipped(c);
+      std::vector<vpImagePoint> roiImagePoints;
+      getRoiClipped(c, roiImagePoints);
+
+      vpPolygon roiPolygon(roiImagePoints);
+      double area = roiPolygon.getArea();
+//      std::cout << "After normal test ; Index=" << index << " ; area=" << area << " ; clippingFlag="
+//          << clippingFlag << std::endl;
+      if (area < minPolygonAreaThresh) {
+        isappearing = false;
+        isvisible = false;
+        return false;
+      }
+    }
+
     return true;
   }
 
@@ -239,47 +291,106 @@ vpMbtPolygon::isVisible(const vpHomogeneousMatrix &cMo, const double alpha, cons
   else {
     isappearing = false;
   }
+
   isvisible = false ;
   return false ;
 }
 
 /*!
   Compute the region of interest in the image according to the used clipping.
+
+  \warning If the FOV clipping is used, camera normals have to be precomputed.
   
   \param cam : camera parameters used to compute the field of view.
 */
 void
 vpMbtPolygon::computeRoiClipped(const vpCameraParameters &cam)
-{  
-  roiPointsClip = std::vector<std::pair<vpPoint,unsigned int> >();
+{
+  roiPointsClip.clear();
   std::vector<vpColVector> fovNormals;
-  
+  std::vector<std::pair<vpPoint,unsigned int> > roiPointsClipTemp;
+  std::vector<std::pair<vpPoint,unsigned int> > roiPointsClipTemp2;
+
   if(cam.isFovComputed() && clippingFlag > 3)
     fovNormals = cam.getFovNormals();
-  
-  for (unsigned int i = 0; i < nbpt; i ++){
-    vpPoint p1Clipped, p2Clipped;
-    unsigned int p1ClippedInfo, p2ClippedInfo;
-    vpImagePoint ip;
-    if(vpMbtPolygon::getClippedPoints(p[i], p[(i+1)%nbpt], p1Clipped, p2Clipped, p1ClippedInfo, p2ClippedInfo, cam, fovNormals)){
-      p1Clipped.projection();
-      roiPointsClip.push_back(std::make_pair(p1Clipped, p1ClippedInfo));
-      
-      if(p2ClippedInfo != vpMbtPolygon::NO_CLIPPING){
-        p2Clipped.projection();
-        roiPointsClip.push_back(std::make_pair(p2Clipped, p2ClippedInfo));
+
+  for(unsigned int i = 0 ; i < nbpt ; i++){
+      p[i%nbpt].projection();
+      roiPointsClipTemp.push_back(std::make_pair(p[i%nbpt],vpMbtPolygon::NO_CLIPPING));
+  }
+
+  if(clippingFlag != vpMbtPolygon::NO_CLIPPING)
+  for(unsigned int i = 1 ; i < 64 ; i=i*2)
+  {
+      if(((clippingFlag & i) == i) || ((clippingFlag > vpMbtPolygon::FAR_CLIPPING) && (i==1)))
+      {
+      for(unsigned int j = 0 ; j < roiPointsClipTemp.size() ; j++)
+      {
+          vpPoint p1Clipped = roiPointsClipTemp[j].first;
+          vpPoint p2Clipped = roiPointsClipTemp[(j+1)%roiPointsClipTemp.size()].first;
+
+          unsigned int p2ClippedInfoBefore = roiPointsClipTemp[(j+1)%roiPointsClipTemp.size()].second;
+          unsigned int p1ClippedInfo = roiPointsClipTemp[j].second;
+          unsigned int p2ClippedInfo = roiPointsClipTemp[(j+1)%roiPointsClipTemp.size()].second;
+
+          bool problem = true;
+
+          switch(i){
+          case 1:
+            problem = !(vpMbtPolygon::getClippedPointsDistance(p1Clipped, p2Clipped, p1Clipped, p2Clipped, p1ClippedInfo, p2ClippedInfo,
+                                                               i, distNearClip));
+            break;
+          case 2:
+            problem = !(vpMbtPolygon::getClippedPointsDistance(p1Clipped, p2Clipped, p1Clipped, p2Clipped, p1ClippedInfo, p2ClippedInfo,
+                                                               i, distFarClip));
+            break;
+          case 4:
+            problem = !(vpMbtPolygon::getClippedPointsFovGeneric(p1Clipped, p2Clipped, p1Clipped, p2Clipped, p1ClippedInfo, p2ClippedInfo,
+                                                        fovNormals[0], vpMbtPolygon::LEFT_CLIPPING));
+            break;
+          case 8:
+            problem = !(vpMbtPolygon::getClippedPointsFovGeneric(p1Clipped, p2Clipped, p1Clipped, p2Clipped, p1ClippedInfo, p2ClippedInfo,
+                                                        fovNormals[1], vpMbtPolygon::RIGHT_CLIPPING));
+            break;
+          case 16:
+            problem = !(vpMbtPolygon::getClippedPointsFovGeneric(p1Clipped, p2Clipped, p1Clipped, p2Clipped, p1ClippedInfo, p2ClippedInfo,
+                                                        fovNormals[2], vpMbtPolygon::UP_CLIPPING));
+            break;
+          case 32:
+            problem = !(vpMbtPolygon::getClippedPointsFovGeneric(p1Clipped, p2Clipped, p1Clipped, p2Clipped, p1ClippedInfo, p2ClippedInfo,
+                                                        fovNormals[3], vpMbtPolygon::DOWN_CLIPPING));
+            break;
+          }
+
+          if(!problem)
+          {
+            p1Clipped.projection();
+            roiPointsClipTemp2.push_back(std::make_pair(p1Clipped, p1ClippedInfo));
+
+            if(p2ClippedInfo != p2ClippedInfoBefore)
+            {
+              p2Clipped.projection();
+              roiPointsClipTemp2.push_back(std::make_pair(p2Clipped, p2ClippedInfo));
+            }
+
+            if(nbpt == 2){
+              if(p2ClippedInfo == p2ClippedInfoBefore)
+              {
+                p2Clipped.projection();
+                roiPointsClipTemp2.push_back(std::make_pair(p2Clipped, p2ClippedInfo));
+              }
+              break;
+            }
+          }
       }
-      
-      if(nbpt == 2){ //Case of a line.
-        if(p2ClippedInfo == vpMbtPolygon::NO_CLIPPING){
-          p2Clipped.projection();
-          roiPointsClip.push_back(std::make_pair(p2Clipped, p2ClippedInfo));
-        }
-        break;
+
+      roiPointsClipTemp = roiPointsClipTemp2;
+      roiPointsClipTemp2.clear();
       }
-    }
   }
-}    
+
+  roiPointsClip = roiPointsClipTemp;
+}
     
 /*!
   Get the clipped points according to a plane equation.
@@ -300,7 +411,7 @@ vpMbtPolygon::computeRoiClipped(const vpCameraParameters &cam)
   \return True if the points have been clipped, False otherwise
 */
 bool
-vpMbtPolygon::getClippedPointsFov(const vpPoint &p1, const vpPoint &p2, 
+vpMbtPolygon::getClippedPointsFovGeneric(const vpPoint &p1, const vpPoint &p2,
                                 vpPoint &p1Clipped, vpPoint &p2Clipped, 
                                 unsigned int &p1ClippedInfo, unsigned int &p2ClippedInfo,
                                 const vpColVector &normal, const unsigned int &flag)
@@ -316,7 +427,10 @@ vpMbtPolygon::getClippedPointsFov(const vpPoint &p1, const vpPoint &p2,
   if((clippingFlag & flag) == flag){
     double beta1 = acos( p1Vec * normal );
     double beta2 = acos( p2Vec * normal );
-    
+
+//    std::cout << beta1 << " && " << beta2 << std::endl;
+
+    //    if(!(beta1 < M_PI / 2.0 && beta2 < M_PI / 2.0))
     if(beta1 < M_PI / 2.0 && beta2 < M_PI / 2.0)
       return false;
     else if (beta1 < M_PI / 2.0 || beta2 < M_PI / 2.0){
@@ -342,119 +456,65 @@ vpMbtPolygon::getClippedPointsFov(const vpPoint &p1, const vpPoint &p2,
   return true;
 }
 
-/*!
-  Get the clipped points.
-
-  \param p1 : First extremity of the line.
-  \param p2 : Second extremity of the line.
-  \param p1Clipped : Resulting p1.
-  \param p2Clipped : Resulting p2.
-  \param p1ClippedInfo : Resulting clipping flag for p1.
-  \param p2ClippedInfo : Resulting clipping flag for p2.
-  \param cam : camera parameters.
-  
-  \return True if the points have been clipped, False otherwise
-*/
-bool           
-vpMbtPolygon::getClippedPoints(const vpPoint &p1, const vpPoint &p2, 
-                               vpPoint &p1Clipped, vpPoint &p2Clipped, 
+bool
+vpMbtPolygon::getClippedPointsDistance(const vpPoint &p1, const vpPoint &p2,
+                               vpPoint &p1Clipped, vpPoint &p2Clipped,
                                unsigned int &p1ClippedInfo, unsigned int &p2ClippedInfo,
-                               const vpCameraParameters &cam, const std::vector<vpColVector> &fovNormals)
+                               const unsigned int &flag, const double &distance)
 {
-  p1Clipped = p1;
-  p2Clipped = p2;
-  p1ClippedInfo = vpMbtPolygon::NO_CLIPPING;
-  p2ClippedInfo = vpMbtPolygon::NO_CLIPPING;
-  
-  if(clippingFlag != vpMbtPolygon::NO_CLIPPING){
-    // Near Clipping
-    if( (clippingFlag & vpMbtPolygon::NEAR_CLIPPING) == vpMbtPolygon::NEAR_CLIPPING || 
-        ((clippingFlag & vpMbtPolygon::LEFT_CLIPPING) == vpMbtPolygon::LEFT_CLIPPING && (clippingFlag & vpMbtPolygon::RIGHT_CLIPPING) == vpMbtPolygon::RIGHT_CLIPPING) || 
-        ((clippingFlag & vpMbtPolygon::UP_CLIPPING) == vpMbtPolygon::UP_CLIPPING && (clippingFlag & vpMbtPolygon::DOWN_CLIPPING) == vpMbtPolygon::DOWN_CLIPPING)){
-      if(p1Clipped.get_Z() < distNearClip && p2Clipped.get_Z() < distNearClip) //Not using getClippedPointsFov for efficiency
-        return false;
-      else if(p1Clipped.get_Z() < distNearClip || p2Clipped.get_Z() < distNearClip){
-        vpPoint pClippedNear;
-        double t = (p2Clipped.get_Z() - p1Clipped.get_Z());
-        t = (distNearClip - p1Clipped.get_Z()) / t;
-        
-        pClippedNear.set_X((p2Clipped.get_X() - p1Clipped.get_X())*t + p1Clipped.get_X());
-        pClippedNear.set_Y((p2Clipped.get_Y() - p1Clipped.get_Y())*t + p1Clipped.get_Y());
-        pClippedNear.set_Z(distNearClip);
-        
-        if(p1Clipped.get_Z() < distNearClip){
-          p1Clipped = pClippedNear;
-          p1ClippedInfo = p1ClippedInfo | vpMbtPolygon::NEAR_CLIPPING;
-        }
-        else{
-          p2Clipped = pClippedNear;
-          p2ClippedInfo = p2ClippedInfo | vpMbtPolygon::NEAR_CLIPPING;
-        }
+    // Since p1 and p1Clipped can be the same object as well as p2 and p2Clipped
+    // to avoid a valgrind "Source and destination overlap in memcpy" error,
+    // we introduce a two temporary points.
+    vpPoint p1Clipped_, p2Clipped_;
+    p1Clipped_ = p1;
+    p2Clipped_ = p2;
+
+    p1Clipped = p1Clipped_;
+    p2Clipped = p2Clipped_;
+
+
+    bool test1 = (p1Clipped.get_Z() < distance && p2Clipped.get_Z() < distance);
+    if(flag == vpMbtPolygon::FAR_CLIPPING)
+        test1 = (p1Clipped.get_Z() > distance && p2Clipped.get_Z() > distance);
+
+    bool test2 = (p1Clipped.get_Z() < distance || p2Clipped.get_Z() < distance);
+    if(flag == vpMbtPolygon::FAR_CLIPPING)
+        test2 = (p1Clipped.get_Z() > distance || p2Clipped.get_Z() > distance);
+
+    bool test3 = (p1Clipped.get_Z() < distance);
+    if(flag == vpMbtPolygon::FAR_CLIPPING)
+        test3 = (p1Clipped.get_Z() > distance);
+
+    if(test1)
+      return false;
+
+    else if(test2){
+      vpPoint pClippedNear;
+      double t;
+      t = (p2Clipped.get_Z() - p1Clipped.get_Z());
+      t = (distance - p1Clipped.get_Z()) / t;
+
+      pClippedNear.set_X((p2Clipped.get_X() - p1Clipped.get_X())*t + p1Clipped.get_X());
+      pClippedNear.set_Y((p2Clipped.get_Y() - p1Clipped.get_Y())*t + p1Clipped.get_Y());
+      pClippedNear.set_Z(distance);
+
+      if(test3){
+        p1Clipped = pClippedNear;
+        if(flag == vpMbtPolygon::FAR_CLIPPING)
+            p1ClippedInfo = p1ClippedInfo | vpMbtPolygon::FAR_CLIPPING;
+        else
+            p1ClippedInfo = p1ClippedInfo | vpMbtPolygon::NEAR_CLIPPING;
       }
-    }
-    
-    // Left Clipping
-    if((clippingFlag & vpMbtPolygon::LEFT_CLIPPING) == vpMbtPolygon::LEFT_CLIPPING){
-      if(!cam.isFovComputed())
-        vpTRACE("Field of view not computed, left clipping skipped.");
-      else if(!getClippedPointsFov(p1Clipped, p2Clipped, p1Clipped, p2Clipped, p1ClippedInfo, p2ClippedInfo, 
-             fovNormals[0], vpMbtPolygon::LEFT_CLIPPING))
-        return false;
-    }
-    
-    // Right Clipping
-    if((clippingFlag & vpMbtPolygon::RIGHT_CLIPPING) == vpMbtPolygon::RIGHT_CLIPPING ){
-      if(!cam.isFovComputed())
-        vpTRACE("Field of view not computed, right clipping skipped.");
-      else if(!getClippedPointsFov(p1Clipped, p2Clipped, p1Clipped, p2Clipped, p1ClippedInfo, p2ClippedInfo, 
-             fovNormals[1], vpMbtPolygon::RIGHT_CLIPPING))
-        return false;
-    }
-      
-    // Up Clipping
-    if((clippingFlag & vpMbtPolygon::UP_CLIPPING) == vpMbtPolygon::UP_CLIPPING){
-      if(!cam.isFovComputed())
-        vpTRACE("Field of view not computed, up clipping skipped.");
-      else if(!getClippedPointsFov(p1Clipped, p2Clipped, p1Clipped, p2Clipped, p1ClippedInfo, p2ClippedInfo, 
-              fovNormals[2], vpMbtPolygon::UP_CLIPPING))
-        return false;
-    }
-      
-    // Down Clipping
-    if((clippingFlag & vpMbtPolygon::DOWN_CLIPPING) == vpMbtPolygon::DOWN_CLIPPING ){
-      if(!cam.isFovComputed())
-        vpTRACE("Field of view not computed, down clipping skipped.");
-      else if(!getClippedPointsFov(p1Clipped, p2Clipped, p1Clipped, p2Clipped, p1ClippedInfo, p2ClippedInfo, 
-              fovNormals[3], vpMbtPolygon::DOWN_CLIPPING))
-        return false;
-    }
-      
-    // Far Clipping
-    if( (clippingFlag & vpMbtPolygon::FAR_CLIPPING) == vpMbtPolygon::FAR_CLIPPING ){
-      if(p1Clipped.get_Z() > distFarClip && p2Clipped.get_Z() > distFarClip) //Not using getClippedPointsFov for efficiency
-        return false;
-      else if(p1Clipped.get_Z() > distFarClip || p2Clipped.get_Z() > distFarClip){
-        vpPoint pClippedFar;
-        double t = (p2Clipped.get_Z() - p1Clipped.get_Z());
-        t = (distFarClip - p1Clipped.get_Z()) / t;
-        
-        pClippedFar.set_X((p2Clipped.get_X() - p1Clipped.get_X())*t + p1Clipped.get_X());
-        pClippedFar.set_Y((p2Clipped.get_Y() - p1Clipped.get_Y())*t + p1Clipped.get_Y());
-        pClippedFar.set_Z(distFarClip); 
-        
-        if(p1Clipped.get_Z() > distFarClip){
-          p1Clipped = pClippedFar;
-          p1ClippedInfo = p1ClippedInfo | vpMbtPolygon::FAR_CLIPPING;
-        }
-        else{
-          p2Clipped = pClippedFar;
-          p2ClippedInfo = p2ClippedInfo | vpMbtPolygon::FAR_CLIPPING;
-        }
+      else{
+        p2Clipped = pClippedNear;
+        if(flag == vpMbtPolygon::FAR_CLIPPING)
+            p2ClippedInfo = p2ClippedInfo | vpMbtPolygon::FAR_CLIPPING;
+        else
+            p2ClippedInfo = p2ClippedInfo | vpMbtPolygon::NEAR_CLIPPING;
       }
     }
-  }
-  
-  return true;
+
+    return true;
 }
 
 /*!
@@ -494,6 +554,21 @@ vpMbtPolygon::getRoi(const vpCameraParameters &cam, const vpHomogeneousMatrix &c
   return getRoi(cam);
 }
 
+/*!
+  Get the 3D points of the clipped region of interest.
+
+  \warning Suppose that changeFrame() and computeRoiClipped() have already been called.
+
+  \param points : resulting points.
+*/
+void
+vpMbtPolygon::getRoiClipped(std::vector<vpPoint> &points)
+{
+  for(unsigned int i = 0 ; i < roiPointsClip.size() ; i++){
+    points.push_back(roiPointsClip[i].first);
+  }
+}
+
 /*!
   Get the region of interest clipped in the image.
   
@@ -508,6 +583,7 @@ vpMbtPolygon::getRoiClipped(const vpCameraParameters &cam, std::vector<vpImagePo
   for(unsigned int i = 0 ; i < roiPointsClip.size() ; i++){
     vpImagePoint ip;
     vpMeterPixelConversion::convertPoint(cam,roiPointsClip[i].first.get_x(),roiPointsClip[i].first.get_y(),ip);
+//    std::cout << "## " << ip.get_j() << " - " << ip.get_i() << std::endl;
     roi.push_back(ip);
   }
 }
@@ -540,6 +616,7 @@ vpMbtPolygon::getRoiClipped(const vpCameraParameters &cam, std::vector<std::pair
 {
   for(unsigned int i = 0 ; i < roiPointsClip.size() ; i++){
     vpImagePoint ip;
+    roiPointsClip[i].first.projection();
     vpMeterPixelConversion::convertPoint(cam,roiPointsClip[i].first.get_x(),roiPointsClip[i].first.get_y(),ip);
     roi.push_back(std::make_pair(ip, roiPointsClip[i].second));
   }
@@ -590,6 +667,42 @@ vpMbtPolygon::getNbCornerInsideImage(const vpImage<unsigned char>& I, const vpCa
 //      Static functions
 //###################################
 
+/*!
+  Static method to compute the clipped points from a set of initial points.
+
+  \warning When using FOV clipping and personnal camera parameters, camera normals have to be computed before (see vpCameraParameters::computeFov())
+
+  \param ptIn : Input points
+  \param ptOut : Output points (result of the clipping).
+  \param cMo : Pose considered for the clipping.
+  \param clippingFlags: Clipping flag (see vpMbtPolygon::vpMbtPolygonClippingType).
+  \param cam : Camera parameters (Only used if clipping flags contain FOV clipping).
+  \param znear : Near clipping distance value (Only used if clipping flags contain Near clipping).
+  \param zfar : Far clipping distance value (Only used if clipping flags contain Far clipping).
+*/
+void
+vpMbtPolygon::getClippedPolygon(const std::vector<vpPoint> &ptIn, std::vector<vpPoint> &ptOut, const vpHomogeneousMatrix &cMo, const unsigned int &clippingFlags,
+                                const vpCameraParameters &cam, const double &znear, const double &zfar)
+{
+    ptOut.clear();
+    vpMbtPolygon poly;
+    poly.setNbPoint((unsigned int)ptIn.size());
+    poly.setClipping(clippingFlags);
+
+    if((clippingFlags & vpMbtPolygon::NEAR_CLIPPING) == vpMbtPolygon::NEAR_CLIPPING)
+        poly.setNearClippingDistance(znear);
+
+    if((clippingFlags & vpMbtPolygon::FAR_CLIPPING) == vpMbtPolygon::FAR_CLIPPING)
+        poly.setFarClippingDistance(zfar);
+
+    for(unsigned int i = 0; i < ptIn.size(); i++)
+        poly.addPoint(i,ptIn[i]);
+
+    poly.changeFrame(cMo);
+    poly.computeRoiClipped(cam);
+    poly.getRoiClipped(ptOut);
+}
+
 void                
 vpMbtPolygon::getMinMaxRoi(const std::vector<vpImagePoint> &iroi, int & i_min, int &i_max, int &j_min, int &j_max)
 {
@@ -648,6 +761,57 @@ vpMbtPolygon::roiInsideImage(const vpImage<unsigned char>& I, const std::vector<
   return true;
 }
 
+/*!
+  Set the flag to consider if the level of detail (LOD) is used or not.
+  When activated, lines and faces of the 3D model are tracked if respectively their
+  projected lenght and area in the image are significative enough. By significative, we mean:
+  - if the lenght of the projected line in the image is greater that a threshold set by
+  setMinLineLengthThresh()
+  - if the area of the projected face in the image is greater that a threshold set by
+  setMinPolygonAreaThresh().
+
+  \param use_lod : true if level of detail must be used, false otherwise.
+
+  The sample code below shows how to introduce this feature:
+  \code
+#include <visp/vpMbEdgeTracker.h>
+#include <visp/vpImageIo.h>
+
+int main()
+{
+vpImage<unsigned char> I;
+
+// Acquire an image
+vpImageIo::read(I, "my-image.pgm");
+
+std::string object = "my-object";
+vpMbEdgeTracker tracker;
+tracker.loadConfigFile( object+".xml" );
+tracker.loadModel( object+".cao" );
+
+tracker.setLod(true);
+tracker.setMinLineLengthThresh(20.);
+tracker.setMinPolygonAreaThresh(20.*20.);
+
+tracker.initClick(I, object+".init" );
+
+while (true) {
+  // tracking loop
+}
+vpXmlParser::cleanup();
+
+return 0;
+}
+  \endcode
+
+  \sa setMinLineLengthThresh(), setMinPolygonAreaThresh()
+ */
+void
+vpMbtPolygon::setLod(const bool use_lod)
+{
+  this->useLod = use_lod;
+}
+
 #ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
 /*!
   \deprecated This method is deprecated since it is no more used since ViSP 2.7.2. \n
diff --git a/src/tracking/mbt/edge/vpMbtPolygon.h b/src/tracking/mbt/vpMbtPolygon.h
similarity index 71%
rename from src/tracking/mbt/edge/vpMbtPolygon.h
rename to src/tracking/mbt/vpMbtPolygon.h
index 75283e9ce65f9313a248e2e716d0bce2a83bd5f4..3fde8b700540f55b72b62e36617886a2fcdcd0d5 100644
--- a/src/tracking/mbt/edge/vpMbtPolygon.h
+++ b/src/tracking/mbt/vpMbtPolygon.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMbtPolygon.h 4632 2014-02-03 17:06:40Z fspindle $
+ * $Id: vpMbtPolygon.h 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -101,18 +101,26 @@ public:
   double distNearClip;
   //! Distance for near clipping
   double distFarClip;
+  //! Flag to specify if the visibility of the polygon depends also of the current level of detail (LOD)
+  bool useLod;
+  //! Threshold for minimum line length in pixel to consider if the line is visible or not in LOD case
+  double minLineLengthThresh;
+  //! Threshold for minimum polygon area in pixel to consider if the polygon is visible or not in LOD case
+  double minPolygonAreaThresh;
+  //! Name of the polygon
+  std::string name;
   
 private:            
-            bool          getClippedPointsFov(const vpPoint &p1, const vpPoint &p2, 
+            bool          getClippedPointsFovGeneric(const vpPoint &p1, const vpPoint &p2,
                                            vpPoint &p1Clipped, vpPoint &p2Clipped, 
                                            unsigned int &p1ClippedInfo, unsigned int &p2ClippedInfo,
                                            const vpColVector &normal,
                                            const unsigned int &flag);
-            
-            bool          getClippedPoints(const vpPoint &p1, const vpPoint &p2, 
-                                           vpPoint &p1Clipped, vpPoint &p2Clipped, 
+
+            bool          getClippedPointsDistance(const vpPoint &p1, const vpPoint &p2,
+                                           vpPoint &p1Clipped, vpPoint &p2Clipped,
                                            unsigned int &p1ClippedInfo, unsigned int &p2ClippedInfo,
-                                           const vpCameraParameters &cam, const std::vector<vpColVector> &fovNormals);
+                                           const unsigned int &flag, const double &distance);
     
 public: 
             vpMbtPolygon() ;
@@ -147,6 +155,13 @@ public:
     \return index : the index of the face.
   */
   inline    int           getIndex() const {return index ;}
+
+  /*!
+   Get the name of the face.
+
+   \return Name of the face.
+   */
+  inline    std::string   getName() const {return name;}
             
   /*!
     Return the number of corners.
@@ -177,6 +192,8 @@ public:
 
   std::vector<vpImagePoint> getRoi(const vpCameraParameters &cam, const vpHomogeneousMatrix &cMo);
 
+            void          getRoiClipped(std::vector<vpPoint> &points);
+
             void          getRoiClipped(const vpCameraParameters &cam, std::vector<vpImagePoint>&roi);
 
             void          getRoiClipped(const vpCameraParameters &cam, std::vector<vpImagePoint>&roi, const vpHomogeneousMatrix &cMo);
@@ -186,7 +203,8 @@ public:
             void          getRoiClipped(const vpCameraParameters &cam, std::vector<std::pair<vpImagePoint,unsigned int> > &roi, const vpHomogeneousMatrix &cMo);
 
   inline    bool          isAppearing() const {return isappearing;}
-  virtual   bool          isVisible(const vpHomogeneousMatrix &cMo, const double alpha, const bool &modulo = false) ;
+  virtual   bool          isVisible(const vpHomogeneousMatrix &cMo, const double alpha, const bool &modulo = false,
+		  const vpCameraParameters &cam = vpCameraParameters(), const vpImage<unsigned char> &I = vpImage<unsigned char>());
             bool          isVisible() const {return isvisible;}
 
             vpMbtPolygon& operator=(const vpMbtPolygon& mbtp) ;
@@ -213,6 +231,45 @@ public:
     \param i : the new index of the face.
   */
   virtual inline void     setIndex(const int i ) { index = i ; } 
+
+  // Due to a doxygen warning include the sample code in the doc, we remove the inline and put the doc in the *.cpp file
+  void	  setLod(const bool use_lod);
+  /*!
+    Set the threshold for the minimum line length to be considered as visible in the LOD
+    (level of detail) case. This threshold is only used when setLoD() is turned on.
+
+    \param min_line_length : threshold for the minimum line length in pixel. When a single line that doesn't
+    belong to a face is considered by the tracker, this line is tracked only if its lenght in pixel is
+    greater than \e min_line_length.
+
+    \sa setLoD()
+   */
+  inline		 void	  setMinLineLengthThresh(const double min_line_length) {
+    this->minLineLengthThresh = min_line_length;
+  }
+  /*!
+    Set the minimum polygon area to be considered as visible in the LOD (level of detail)
+    case. This threshold is only used when setLoD() is turned on.
+
+    \param min_polygon_area : threshold for the minimum polygon area in pixel. When a face
+    is considered by the tracker, this face is tracked only if its area in pixel is
+    greater than \e min_polygon_area.
+
+    \sa setLoD()
+  */
+  inline		 void	  setMinPolygonAreaThresh(const double min_polygon_area) {
+    this->minPolygonAreaThresh = min_polygon_area;
+  }
+
+  /*!
+   Set the name of the face.
+
+   \param face_name : name of the face.
+   */
+  inline        void        setName(const std::string &face_name) {
+    this->name = face_name;
+  }
+
   virtual        void     setNbPoint(const unsigned int nb)  ;
   
   /*!
@@ -223,6 +280,9 @@ public:
   inline    void          setNearClippingDistance(const double &dist) { distNearClip = dist; clippingFlag = (clippingFlag | vpMbtPolygon::NEAR_CLIPPING);}
   
 public:
+  static   void           getClippedPolygon(const std::vector<vpPoint> &ptIn, std::vector<vpPoint> &ptOut, const vpHomogeneousMatrix &cMo,
+                                            const unsigned int &clippingFlags, const vpCameraParameters &cam = vpCameraParameters(),
+                                            const double &znear = 0.001, const double &zfar = 100 );
   static   void           getMinMaxRoi(const std::vector<vpImagePoint> &roi, int & i_min, int &i_max, int &j_min, int &j_max);
   static   bool           roiInsideImage(const vpImage<unsigned char>& I, const std::vector<vpImagePoint>& corners);
   
diff --git a/src/tracking/moments/vpMoment.cpp b/src/tracking/moments/vpMoment.cpp
index e681b382baf905f1fdeef482bba57b72f6c549f6..df576f6d17bca6e5f4792d3bf3c5e3355bced1c4 100644
--- a/src/tracking/moments/vpMoment.cpp
+++ b/src/tracking/moments/vpMoment.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMoment.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpMoment.cpp 4709 2014-03-28 17:37:12Z mbakthav $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -133,3 +133,11 @@ VISP_EXPORT std::ostream & operator<<(std::ostream & os, const vpMoment& m){
   return os;
 }
 
+/*!
+Prints values of all dependent moments required to calculate a specific vpMoment.
+Not made pure to maintain compatibility
+Recommended : Types inheriting from vpMoment should implement this function
+*/
+void vpMoment::printDependencies(std::ostream& os) const{
+    os << " WARNING : Falling back to base class version of printDependencies(). To prevent that, this has to be implemented in the derived classes!" << std::endl;
+}
diff --git a/src/tracking/moments/vpMoment.h b/src/tracking/moments/vpMoment.h
index 470c9cc573ea0ac4c79f1158b9aee295bc004415..60bcf6e0f23c2a6f10545af5c1dfb5c7e2bc6548 100644
--- a/src/tracking/moments/vpMoment.h
+++ b/src/tracking/moments/vpMoment.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMoment.h 4583 2014-01-14 17:06:37Z fspindle $
+ * $Id: vpMoment.h 4708 2014-03-28 17:36:46Z mbakthav $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -116,9 +116,7 @@ class VISP_EXPORT vpMoment{
         Returns the linked moment database.
         \return the moment database
         */
-        inline vpMomentDatabase& getMoments(){ return *moments; }
-
-
+        inline vpMomentDatabase& getMoments() const { return *moments; }
  public:
         inline const vpMomentObject& getObject() const { return *object;}
         vpMoment();
@@ -132,6 +130,7 @@ class VISP_EXPORT vpMoment{
         virtual void compute()=0;
         virtual const char* name() const = 0;
         friend VISP_EXPORT std::ostream & operator<<(std::ostream & os, const vpMoment& m);
+        virtual void printDependencies(std::ostream& os) const;
 
         /*!
         Virtual destructor.
diff --git a/src/tracking/moments/vpMomentAlpha.cpp b/src/tracking/moments/vpMomentAlpha.cpp
index e6370ffe2ce7f4d48c74df874d6a03c9e2de67f1..8a180db4b378541f063c6559e29cd175d42e4171 100644
--- a/src/tracking/moments/vpMomentAlpha.cpp
+++ b/src/tracking/moments/vpMomentAlpha.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMomentAlpha.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpMomentAlpha.cpp 4713 2014-03-28 18:02:26Z mbakthav $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -147,9 +147,26 @@ void vpMomentAlpha::compute(){
 }
 
 /*!
-        Prints the value of the orientation.
+  Prints the value of the major-axis orientation in degrees and rad
  */
 VISP_EXPORT std::ostream & operator<<(std::ostream & os, const vpMomentAlpha& c){
-	os << c.values[0] ;
+    os << (__FILE__) << std::endl;
+    os << "Alpha = " << c.values[0] << "rad = " << vpMath::deg(c.values[0]) << "deg " << std::endl;
 	return os;
 }
+
+/*!
+Prints the dependencies of alpha, namely centered moments mu11, mu20 ad mu02
+*/
+void  vpMomentAlpha::printDependencies(std::ostream& os) const{
+    os << (__FILE__) << std::endl;
+    bool found_moment_centered;
+    const vpMomentCentered& momentCentered = (static_cast<const vpMomentCentered&> (getMoments().get("vpMomentCentered",
+            found_moment_centered)));
+    if (!found_moment_centered)
+        throw vpException(vpException::notInitialized, "vpMomentCentered not found");
+
+    os << "mu11 = " << momentCentered.get(1, 1) << "\t";
+    os << "mu20 = " << momentCentered.get(2, 0) << "\t";
+    os << "mu02 = " << momentCentered.get(0, 2) << std::endl;
+}
diff --git a/src/tracking/moments/vpMomentAlpha.h b/src/tracking/moments/vpMomentAlpha.h
index 821c8e6c8ffd3e927b4fd51b9b5553d4a9c99ab0..4fcf3562a1b167c6294cfa9f0b20d53c89bcef10 100644
--- a/src/tracking/moments/vpMomentAlpha.h
+++ b/src/tracking/moments/vpMomentAlpha.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMomentAlpha.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpMomentAlpha.h 4713 2014-03-28 18:02:26Z mbakthav $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -233,8 +233,7 @@ class VISP_EXPORT vpMomentAlpha : public vpMoment {
         }
 
   friend VISP_EXPORT std::ostream & operator<<(std::ostream & os, const vpMomentAlpha& v);
-	
-
+  void  printDependencies(std::ostream& os) const;
 };
 
 #endif
diff --git a/src/tracking/moments/vpMomentArea.cpp b/src/tracking/moments/vpMomentArea.cpp
index 679aca15d3b1ad5f750a13d17516452d7856c21d..371362d8acee218a668b84623c059664c6c59e8c 100644
--- a/src/tracking/moments/vpMomentArea.cpp
+++ b/src/tracking/moments/vpMomentArea.cpp
@@ -75,6 +75,30 @@ vpMomentArea::vpMomentArea() : vpMoment(){
   Outputs the moment's values to a stream.
 */
 VISP_EXPORT std::ostream & operator<<(std::ostream & os, const vpMomentArea& m){
-    os << "Area a:" << m.values[0];
+    os << (__FILE__) << std::endl;
+    os << "a(m00) = " << m.values[0] << std::endl;
     return os;    
 }
+
+/*!
+If the vpMomentObject type is
+1. DISCRETE(set of discrete points), uses mu20+mu02
+2. DENSE_FULL_OBJECT(from image) used mu00
+*/
+void vpMomentArea::printDependencies(std::ostream& os) const{
+    os << (__FILE__) << std::endl;
+
+    bool found_moment_centered;
+    const vpMomentCentered& momentCentered = static_cast<const vpMomentCentered&>(getMoments().get("vpMomentCentered",found_moment_centered));
+    if(!found_moment_centered) throw vpException(vpException::notInitialized,"vpMomentCentered not found");
+
+    if(getObject().getType()==vpMomentObject::DISCRETE)
+    {
+        os << "mu20 = " << momentCentered.get(2, 0) << "\t";
+        os << "mu02 = " << momentCentered.get(0, 2) << std::endl;
+    }
+    else
+    {
+        os << "mu00 = " << momentCentered.get(0, 0) << std::endl;
+    }
+}
diff --git a/src/tracking/moments/vpMomentArea.h b/src/tracking/moments/vpMomentArea.h
index b14ebd3e87f39d6ac6fab7332d6797105bf83b39..70500c41914670ed8cd30f84321e0f09fb406002 100644
--- a/src/tracking/moments/vpMomentArea.h
+++ b/src/tracking/moments/vpMomentArea.h
@@ -63,6 +63,7 @@ class VISP_EXPORT vpMomentArea : public vpMoment {
         */
         const char* name() const {return "vpMomentArea";}
         friend VISP_EXPORT std::ostream & operator<<(std::ostream & os, const vpMomentArea& m);
+        void printDependencies(std::ostream& os) const;
 };
 
 #endif
diff --git a/src/tracking/moments/vpMomentAreaNormalized.cpp b/src/tracking/moments/vpMomentAreaNormalized.cpp
index 2c141de05040344b01b2b708fd39c86daabb9eff..4b2865b337b5700a3b6431fcb18dbf457b794a6a 100644
--- a/src/tracking/moments/vpMomentAreaNormalized.cpp
+++ b/src/tracking/moments/vpMomentAreaNormalized.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMomentAreaNormalized.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpMomentAreaNormalized.cpp 4713 2014-03-28 18:02:26Z mbakthav $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -84,7 +84,33 @@ vpMomentAreaNormalized::vpMomentAreaNormalized(double desired_surface, double de
   Outputs the moment's values to a stream.
 */
 VISP_EXPORT std::ostream & operator<<(std::ostream & os, const vpMomentAreaNormalized& m){
-    os << "An:" << m.values[0] ;
-
+    os << (__FILE__) << std::endl;
+    os << "An = " << m.values[0] << std::endl ;
     return os;    
 }
+
+/*!
+Prints dependencies namely,
+1. Depth at desired pose Z*
+2. Area moment at desired pose
+   m00* if DENSE moment object, (mu20* + mu02*) if DISCRETE moment object
+3. Area moment at current pose
+   m00 if DENSE moment object, (mu20 + mu02) if DISCRETE moment object
+*/
+void vpMomentAreaNormalized::printDependencies(std::ostream& os) const{
+    os << (__FILE__) << std::endl;
+    os << "Desired depth Z* = " << desiredDepth << std::endl;
+    os << "Desired area m00* = " << desiredSurface << std::endl;
+
+    bool found_moment_centered;
+    const vpMomentCentered& momentCentered = static_cast<const vpMomentCentered&>(getMoments().get("vpMomentCentered",found_moment_centered));
+    if(!found_moment_centered)
+        throw vpException(vpException::notInitialized,"vpMomentCentered not found");
+
+    double a;
+    if(getObject().getType()==vpMomentObject::DISCRETE)
+        a = momentCentered.get(2,0)+momentCentered.get(0,2);
+    else
+        a = getObject().get(0,0);
+    os << "a = " << a << std::endl;
+}
diff --git a/src/tracking/moments/vpMomentAreaNormalized.h b/src/tracking/moments/vpMomentAreaNormalized.h
index b61a51048261252c19c9674cbad2d42df2ff653e..5c5e1c42711a1e0df3131c4f3b2ced039f2f6b75 100644
--- a/src/tracking/moments/vpMomentAreaNormalized.h
+++ b/src/tracking/moments/vpMomentAreaNormalized.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMomentAreaNormalized.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpMomentAreaNormalized.h 4713 2014-03-28 18:02:26Z mbakthav $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -150,6 +150,7 @@ class VISP_EXPORT vpMomentAreaNormalized : public vpMoment {
         */
         const char* name() const {return "vpMomentAreaNormalized";}
         friend VISP_EXPORT std::ostream & operator<<(std::ostream & os, const vpMomentAreaNormalized& v);
+        void printDependencies(std::ostream& os) const;
 };
 
 #endif
diff --git a/src/tracking/moments/vpMomentBasic.cpp b/src/tracking/moments/vpMomentBasic.cpp
index 50b1d371d0a9d7fafaa0e757a6d0a0712925f343..9dfb71f905fb4702cbd7a59f443ddc3cc71ba745 100644
--- a/src/tracking/moments/vpMomentBasic.cpp
+++ b/src/tracking/moments/vpMomentBasic.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMomentBasic.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpMomentBasic.cpp 4711 2014-03-28 17:41:47Z mbakthav $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -81,9 +81,18 @@ void vpMomentBasic::compute(){
   Outputs the moment's values to a stream.
   Same output as in vpMomentObject.
 */
-std::ostream & operator<<(std::ostream & os, vpMomentBasic& m){
-
-    os << m.getObject();
-    
+VISP_EXPORT std::ostream& operator<<(std::ostream & os, const vpMomentBasic& m){
+    os << (__FILE__) << std::endl;
+    vpMomentObject::printWithIndices(m.getObject(), os);
     return os;
 }
+
+/*!
+No dependencies on other vpMoments, since basic moments are computed in vpMomentObject
+Just prints the basic moments in vpMomentObject with indices
+*/
+void vpMomentBasic::printDependencies(std::ostream& os) const{
+    os << (__FILE__) << std::endl;
+    os << "No dependencies on other vpMoments, since basic moments are computed in vpMomentObject" << std::endl;
+    vpMomentObject::printWithIndices(getObject(), os);
+}
diff --git a/src/tracking/moments/vpMomentBasic.h b/src/tracking/moments/vpMomentBasic.h
index d16290d89531a10870381ed07912966f8dbf2b1b..8dde8610ae622b45dae6cf1c9ad1c0d8889824a0 100644
--- a/src/tracking/moments/vpMomentBasic.h
+++ b/src/tracking/moments/vpMomentBasic.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMomentBasic.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpMomentBasic.h 4710 2014-03-28 17:39:33Z mbakthav $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -82,7 +82,7 @@ class VISP_EXPORT vpMomentBasic : public vpMoment {
           Moment name.
           */
         const char* name() const { return "vpMomentBasic";}
-
+        friend VISP_EXPORT std::ostream & operator<<(std::ostream & os, const vpMomentBasic& v);
+        void printDependencies(std::ostream& os) const;
 };
-std::ostream & operator<<(std::ostream & os, vpMomentBasic& v);
 #endif
diff --git a/src/tracking/moments/vpMomentCInvariant.cpp b/src/tracking/moments/vpMomentCInvariant.cpp
index 3513467c0fd49d52b9819dd8ea139dfe0912bbe2..20230acb13202db68910ed3256bba797ce94f0c8 100644
--- a/src/tracking/moments/vpMomentCInvariant.cpp
+++ b/src/tracking/moments/vpMomentCInvariant.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMomentCInvariant.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpMomentCInvariant.cpp 5304 2015-02-10 17:03:04Z mbakthav $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -253,13 +253,26 @@ void vpMomentCInvariant::printI(unsigned int index){
   std::cout << "I("<< index << ")=" << I[index] << std::endl;
 }
 
+/*!
+  Print out all invariants that were computed
+  There are 15 of them, as in [Point-based and region based.ITRO05]
+  \cite Tahri05z
+ */
+void vpMomentCInvariant::printInvariants(std::ostream& os) const{
+    for (unsigned int i = 1; i < I.size(); ++i){ // i = 1 since vector I has been indexed from 1 in vpMomentCinvariant
+        os << "I[" << i << "]=" << I[i] << std::endl;
+    }
+    os << std::endl;
+
+}
+
 /*!
   Outputs the moment's values to a stream.
 */
-VISP_EXPORT std::ostream & operator<<(std::ostream & os, const vpMomentCInvariant& c){
+VISP_EXPORT std::ostream& operator<<(std::ostream & os, const vpMomentCInvariant& c){
     for(unsigned int i = 0;i<c.values.size();i++){
       os << c.values[i] << "," << std::endl;
     }
-
     return os;
 }
+
diff --git a/src/tracking/moments/vpMomentCInvariant.h b/src/tracking/moments/vpMomentCInvariant.h
index 7aef7624ed8cfb57a830eeb1be2a359db58a59d0..c4652af9e3f9fcbdfde38d4a46d475a6877aeb0d 100644
--- a/src/tracking/moments/vpMomentCInvariant.h
+++ b/src/tracking/moments/vpMomentCInvariant.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMomentCInvariant.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpMomentCInvariant.h 5303 2015-02-10 17:01:28Z mbakthav $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -194,6 +194,11 @@ class VISP_EXPORT vpMomentCInvariant : public vpMoment {
           */
         double getI(unsigned int index) const {return I[index];}
 
+        /*!
+          Print the moment invariants used to obtain the actual visual features
+         */
+        void printInvariants(std::ostream& os) const;
+
         /*!
           Access to partial invariant I (see [2]).
           */
diff --git a/src/tracking/moments/vpMomentCentered.cpp b/src/tracking/moments/vpMomentCentered.cpp
index 94c8fd09e379c54ea234bf743dfa4963a8c38cd9..2e0a06693af33aa59e7b73179b9cdc0105a0beff 100644
--- a/src/tracking/moments/vpMomentCentered.cpp
+++ b/src/tracking/moments/vpMomentCentered.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMomentCentered.cpp 4620 2014-01-27 21:28:32Z fspindle $
+ * $Id: vpMomentCentered.cpp 4712 2014-03-28 17:55:43Z mbakthav $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -123,8 +123,9 @@ u02 u12  x  x
 u30 x    x  x
   \endcode
 
+ This output will be followed by an output with indexes as produced by printWithIndices() function
 */
-VISP_EXPORT std::ostream & operator<<(std::ostream & os, vpMomentCentered& m){
+VISP_EXPORT std::ostream & operator<<(std::ostream & os, const vpMomentCentered& m){
     for(unsigned int i = 0;i<m.values.size();i++){
         if(i%(m.getObject().getOrder()+1)==0)
           os << std::endl;
@@ -136,6 +137,48 @@ VISP_EXPORT std::ostream & operator<<(std::ostream & os, vpMomentCentered& m){
 
         os << "\t";
     }
-    
+    os << std::endl;
+    m.printWithIndices(os);
     return os;
 }
+
+/*!
+Print in a readable form which looks better than output from << operator
+*/
+void
+vpMomentCentered::printWithIndices(std::ostream& os) const {
+    unsigned int orderp1 = getObject().getOrder()+1;
+    for(unsigned int k=0; k<orderp1; k++) {
+        for(unsigned int l=0; l<orderp1-k; l++)
+        {
+            os << "mu[" << k << "," << l << "] = " << this->get(k,l) << "\t";
+        }
+        os << std::endl;
+    }
+    os << std::endl;
+}
+
+/*!
+Prints moments required for calculation of vpMomentCentered,
+which are
+1. Raw geometric moments (vpMomentObject) and
+2. Centre of gravity (vpMomentGravityCentered)
+*/
+void
+vpMomentCentered::printDependencies(std::ostream& os) const {
+    os << (__FILE__) << std::endl;
+    /*
+    Retreive the raw moments
+    */
+    const vpMomentObject objt = getObject();
+    vpMomentObject::printWithIndices(objt, os);
+
+    /*
+    Get xg,yg
+    */
+    bool found_moment_gravity;
+    const vpMomentGravityCenter& momentGravity = static_cast<const vpMomentGravityCenter&>(getMoments().get("vpMomentGravityCenter",found_moment_gravity));
+    if(!found_moment_gravity)
+        throw vpException(vpException::notInitialized,"vpMomentGravityCenter not found");
+    os << "Xg = " << momentGravity.getXg() << "\t" << "Yg = " << momentGravity.getYg() << std::endl;
+}
diff --git a/src/tracking/moments/vpMomentCentered.h b/src/tracking/moments/vpMomentCentered.h
index c0815848951709ebca1961ff8294afd6202cb29f..0d00fb59b55ec9d4d709121f62ae6cce89214644 100644
--- a/src/tracking/moments/vpMomentCentered.h
+++ b/src/tracking/moments/vpMomentCentered.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMomentCentered.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpMomentCentered.h 4712 2014-03-28 17:55:43Z mbakthav $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -90,7 +90,9 @@ public:
   */
   inline const char* name() const {return "vpMomentCentered";}
 
-  friend VISP_EXPORT std::ostream & operator<<(std::ostream & os, vpMomentCentered& v);
+  friend VISP_EXPORT std::ostream & operator<<(std::ostream & os, const vpMomentCentered& v);
+  void printWithIndices(std::ostream& os) const;
+  void printDependencies(std::ostream& os) const;
 
 protected:
 
diff --git a/src/tracking/moments/vpMomentGravityCenter.cpp b/src/tracking/moments/vpMomentGravityCenter.cpp
index 5e0d00f3b0992c2e7fed2bcaa1a536ec12576f35..3d1e38fc37fbd39b43a0acf2bdda841fb5b01375 100644
--- a/src/tracking/moments/vpMomentGravityCenter.cpp
+++ b/src/tracking/moments/vpMomentGravityCenter.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMomentGravityCenter.cpp 4620 2014-01-27 21:28:32Z fspindle $
+ * $Id: vpMomentGravityCenter.cpp 4713 2014-03-28 18:02:26Z mbakthav $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -68,7 +68,18 @@ const std::vector<double>& vpMomentGravityCenter::get() const{
   Outputs the moment's values to a stream.
 */
 VISP_EXPORT std::ostream & operator<<(std::ostream & os, const vpMomentGravityCenter& m){
-    os << "Xg=" << m.values[0] << ", Yg=" << m.values[1];
-    
+    os << (__FILE__) << std::endl;
+    os << "(Xg,Yg) = (" << m.values[0] << ", " << m.values[1] << ")" << std::endl;
     return os;    
 }
+
+/*!
+Prints its dependencies
+Basic moments m10, m01 and m00 from vpMomentObject
+*/
+void  vpMomentGravityCenter::printDependencies(std::ostream& os) const{
+    os << (__FILE__) << std::endl;
+    os << "m10 = " << getObject().get(1,0) << "\t";
+    os << "m00 = " << getObject().get(0,1) << "\t";
+    os << "m00 = " << getObject().get(0,0) << std::endl;
+}
diff --git a/src/tracking/moments/vpMomentGravityCenter.h b/src/tracking/moments/vpMomentGravityCenter.h
index 3e391f7e4f11686b87d725f3232eecb8f9a2b79c..8efe3c31062ac7339f2595120922ccf3c205fcb4 100644
--- a/src/tracking/moments/vpMomentGravityCenter.h
+++ b/src/tracking/moments/vpMomentGravityCenter.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMomentGravityCenter.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpMomentGravityCenter.h 4713 2014-03-28 18:02:26Z mbakthav $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -131,6 +131,7 @@ class VISP_EXPORT vpMomentGravityCenter : public vpMoment {
           */
   const char* name() const {return "vpMomentGravityCenter";}
   friend VISP_EXPORT std::ostream & operator<<(std::ostream & os, const vpMomentGravityCenter& v);
+  void  printDependencies(std::ostream& os) const;
 };
 
 #endif
diff --git a/src/tracking/moments/vpMomentGravityCenterNormalized.cpp b/src/tracking/moments/vpMomentGravityCenterNormalized.cpp
index c18ff89eeb93ecf5c46ad9abc177dc25ead91af2..15da64662ade4a4ceef79255038be7129a6432d4 100644
--- a/src/tracking/moments/vpMomentGravityCenterNormalized.cpp
+++ b/src/tracking/moments/vpMomentGravityCenterNormalized.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMomentGravityCenterNormalized.cpp 4620 2014-01-27 21:28:32Z fspindle $
+ * $Id: vpMomentGravityCenterNormalized.cpp 4713 2014-03-28 18:02:26Z mbakthav $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -75,7 +75,26 @@ vpMomentGravityCenterNormalized::vpMomentGravityCenterNormalized() : vpMomentGra
   Outputs the moment's values to a stream.
 */
 VISP_EXPORT std::ostream & operator<<(std::ostream & os, const vpMomentGravityCenterNormalized& m){
-    os << "Xn:" << m.values[0] << ",Yn=" << m.values[1];
-    
+    os << (__FILE__) << std::endl;
+    os << "(Xn,Yn) = (" << m.values[0] << ", " << m.values[1] << ")" << std::endl;
     return os;    
 }
+
+/*!
+Prints the dependent moments,
+1. centre of gravity
+2. normalized area moment
+*/
+void  vpMomentGravityCenterNormalized::printDependencies(std::ostream& os) const{
+    os << (__FILE__) << std::endl;
+    bool found_moment_gravity;
+    bool found_moment_surface_normalized;
+
+    const vpMomentAreaNormalized& momentSurfaceNormalized = static_cast<const vpMomentAreaNormalized&>(getMoments().get("vpMomentAreaNormalized",found_moment_surface_normalized));
+    const vpMomentGravityCenter& momentGravity = static_cast<const vpMomentGravityCenter&>(getMoments().get("vpMomentGravityCenter",found_moment_gravity));
+
+    if(!found_moment_surface_normalized) throw vpException(vpException::notInitialized,"vpMomentAreaNormalized not found");
+    if(!found_moment_gravity) throw vpException(vpException::notInitialized,"vpMomentGravityCenter not found");
+    os << "Xg = " << momentGravity.get()[0] << "\t" << "Yg = " << momentGravity.get()[1] << std::endl;
+    os << "An = " << momentSurfaceNormalized.get()[0] << std::endl;
+}
diff --git a/src/tracking/moments/vpMomentGravityCenterNormalized.h b/src/tracking/moments/vpMomentGravityCenterNormalized.h
index 64b892399b2bc6743f7bf3b1320888e59661eec2..b3a9caa7bd2772445fb5ac1c71abdd01cba494ec 100644
--- a/src/tracking/moments/vpMomentGravityCenterNormalized.h
+++ b/src/tracking/moments/vpMomentGravityCenterNormalized.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMomentGravityCenterNormalized.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpMomentGravityCenterNormalized.h 4713 2014-03-28 18:02:26Z mbakthav $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -70,6 +70,7 @@ class VISP_EXPORT vpMomentGravityCenterNormalized : public vpMomentGravityCenter
           */
         const char* name() const {return "vpMomentGravityCenterNormalized";}
         friend VISP_EXPORT std::ostream & operator<<(std::ostream & os, const vpMomentGravityCenterNormalized& v);
+        void  printDependencies(std::ostream& os) const;
 };
 
 #endif
diff --git a/src/tracking/moments/vpMomentObject.cpp b/src/tracking/moments/vpMomentObject.cpp
index c92a6ebd1b09043b63ad0ebd78a2f79848438245..52b518d75c87fa0bc6165a951d642226a7bedb4c 100644
--- a/src/tracking/moments/vpMomentObject.cpp
+++ b/src/tracking/moments/vpMomentObject.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMomentObject.cpp 4653 2014-02-07 15:38:09Z mbakthav $
+ * $Id: vpMomentObject.cpp 5301 2015-02-10 16:36:52Z mbakthav $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -143,11 +143,11 @@ void vpMomentObject::cacheValues(std::vector<double>& cache,double x, double y){
  */
 void vpMomentObject::cacheValues(std::vector<double>& cache,double x, double y, double IntensityNormalized) {
 
-	cache[0]=IntensityNormalized;
+    cache[0]=IntensityNormalized;
 
-	double invIntensityNormalized = 0.;
-	if (std::fabs(IntensityNormalized)>=std::numeric_limits<double>::epsilon())
-		 invIntensityNormalized = 1.0/IntensityNormalized;
+    double invIntensityNormalized = 0.;
+    if (std::fabs(IntensityNormalized)>=std::numeric_limits<double>::epsilon())
+         invIntensityNormalized = 1.0/IntensityNormalized;
 
     for(register unsigned int i=1;i<order;i++)
         cache[i]=cache[i-1]*x;
@@ -460,11 +460,11 @@ void vpMomentObject::fromImage(const vpImage<unsigned char>& image, const vpCame
  */
 void
 vpMomentObject::init(unsigned int orderinp) {
-	order = orderinp + 1;
-	type = vpMomentObject::DENSE_FULL_OBJECT;
-	flg_normalize_intensity = true;                 // By default, the intensity values are normalized
-	values.resize((order+1)*(order+1));
-	values.assign((order+1)*(order+1),0);
+    order = orderinp + 1;
+    type = vpMomentObject::DENSE_FULL_OBJECT;
+    flg_normalize_intensity = true;                 // By default, the intensity values are normalized
+    values.resize((order+1)*(order+1));
+    values.assign((order+1)*(order+1),0);
 }
 
 /*!
@@ -472,11 +472,11 @@ vpMomentObject::init(unsigned int orderinp) {
  */
 void
 vpMomentObject::init(const vpMomentObject& objin){
-	order = objin.getOrder()+1;
-	type = objin.getType();
-	flg_normalize_intensity = objin.flg_normalize_intensity;
-	values.resize(objin.values.size());
-	values = objin.values;
+    order = objin.getOrder()+1;
+    type = objin.getType();
+    flg_normalize_intensity = objin.flg_normalize_intensity;
+    values.resize(objin.values.size());
+    values = objin.values;
 }
 
 /*!
@@ -503,7 +503,7 @@ vpMomentObject::vpMomentObject(unsigned int max_order)
   Copy constructor
  */
 vpMomentObject::vpMomentObject(const vpMomentObject& srcobj)
-  : flg_normalize_intensity(true), order(order+1), type(vpMomentObject::DENSE_FULL_OBJECT),
+  : flg_normalize_intensity(true), order(1), type(vpMomentObject::DENSE_FULL_OBJECT),
     values()
 {
     init(srcobj);
@@ -559,7 +559,7 @@ void vpMomentObject::set(unsigned int i, unsigned int j, const double& value_ij)
 }
 
 /*!
-  Outputs the basic moment's values \f$m_{ij}\f$ to a stream presented as a matrix.    
+  Outputs the basic moment's values \f$m_{ij}\f$ to a stream presented as a matrix.
   The first line corresponds to \f$m_{0[0:order]}\f$, the second one to \f$m_{1[0:order]}\f$
   Values in table corresponding to a higher order are marked with an "x" and not computed.
 
@@ -590,3 +590,71 @@ VISP_EXPORT std::ostream & operator<<(std::ostream & os, const vpMomentObject& m
 
     return os;
 }
+
+/*!
+  Outputs the raw moment values \f$m_{ij}\f$ in indexed form.
+  The moment values are same as provided by the operator << which outputs x for uncalculated moments.
+ */
+void
+vpMomentObject::printWithIndices(const vpMomentObject& momobj, std::ostream& os) {
+    std::vector<double> moment = momobj.get();
+    os << std::endl <<"Order of vpMomentObject: "<<momobj.getOrder()<<std::endl;
+    // Print out values. This is same as printing using operator <<
+    for(unsigned int k=0; k<=momobj.getOrder(); k++) {
+            for(unsigned int l=0; l<(momobj.getOrder()+1)-k; l++){
+                    os << "m[" << l << "," << k << "] = " << moment[k*(momobj.getOrder()+1)+ l] << "\t";
+            }
+            os << std::endl;
+    }
+    os <<std::endl;
+}
+
+/*!
+ This function returns a vpMatrix of size (order+1, order+1).
+\code
+ vpMomentObject obj(8);
+ obj.setType(vpMomentObject::DENSE_FULL_OBJECT);
+ obj.fromImageWeighted(I, cam, vpMomentObject::BLACK); // cam should have the camera parameters
+ vpMatrix Mpq = vpMomentObject::convertTovpMatrix(obj);
+\endcode
+ Instead of accessing the moment m21 as obj.get(2,1), you can now do Mpq[2][1].
+ This is useful when you want to use the functions available in vpMatrix.
+ One use case i see now is to copy the contents of the matrix to a file or std::cout.
+ For instance, like
+ \code
+ // Print to console
+ Mpq.maplePrint(std::cout);
+ // Or write to a file
+ std::ofstream fileMpq("Mpq.csv");
+ Mpq.maplePrint(fileMpq);
+\endcode
+
+The output can be copied and pasted to MAPLE as a matrix.
+
+\warning
+The moments that are not calculated have zeros. For instance, for a vpMomentObject of order 8,
+the moment m[7,2] is not calculated. It will have 0 by default. User discretion is advised.
+*/
+vpMatrix
+vpMomentObject::convertTovpMatrix(const vpMomentObject& momobj) {
+    std::vector<double> moment = momobj.get();
+    unsigned int order = momobj.getOrder();
+    vpMatrix M(order+1, order+1);
+    for(unsigned int k=0; k<=order; k++) {
+        for(unsigned int l=0; l<(order+1)-k; l++){
+            M[l][k] = moment[k*(order+1)+ l];
+        }
+    }
+    return M;
+}
+
+/*!
+  Nothing to destruct. This will allow for a polymorphic usage
+  For instance,
+  \code
+  vpMomentObject* obj = new vpWeightedMomentObject(weightfunc,ORDER); where vpWeightedMomentObject is child class of vpMomentObject
+  \endcode
+ */
+vpMomentObject::~vpMomentObject(){
+// deliberate empty
+}
diff --git a/src/tracking/moments/vpMomentObject.h b/src/tracking/moments/vpMomentObject.h
index 14eedb5d3995dc910a30adfb7e93b5cc11facf56..7b11b82d4c11fdaedb64a3d967fcb360e7e4c8a4 100644
--- a/src/tracking/moments/vpMomentObject.h
+++ b/src/tracking/moments/vpMomentObject.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMomentObject.h 4650 2014-02-07 15:30:36Z mbakthav $
+ * $Id: vpMomentObject.h 5300 2015-02-10 16:26:32Z mbakthav $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -59,7 +59,7 @@ class vpCameraParameters;
 
   \ingroup TrackingMoments
 
-  \brief Class for generic objects. 
+  \brief Class for generic objects.
 
   It contains all basic moments often described by \f$m_{ij}\f$ of order \f$i+j\f$ going from \f$m_{00}\f$ to the order used as parameter in vpMomentObject() constructor.
   All other moments implemented in ViSP (gravity center, alpha orientation, centered moments...) use this moment object as a combination of its different values.
@@ -134,11 +134,11 @@ int main()
   std::vector<double> moment = obj.get();
   std::cout << std::endl << "Basic moment available (from vector of doubles) " << std::endl;
   for(unsigned int k=0; k<=obj.getOrder(); k++) {
-		for(unsigned int l=0; l<(obj.getOrder()+1)-k; l++){
-			std::cout << "m" << l << k << "=" << moment[k*(momobj.getOrder()+1)+ l] << "\t";
-		}
-		std::cout<<std::endl;
-	}
+        for(unsigned int l=0; l<(obj.getOrder()+1)-k; l++){
+            std::cout << "m" << l << k << "=" << moment[k*(momobj.getOrder()+1)+ l] << "\t";
+        }
+        std::cout<<std::endl;
+    }
 
   // 2. Print the contents of moment object directly
   std::cout << std::endl << "Basic moment available: ";
@@ -172,7 +172,7 @@ int main()
 
   This example produces the following results:
   \code
-Considered points: 
+Considered points:
 point 0: -0.2, 0.1
 point 1: 0.3, 0.1
 point 2: 0.2, -0.1
@@ -187,14 +187,14 @@ m04=0.00080625  m14=-7.125e-05
 m05=-6.59375e-05
 
 Basic moment available:
-4	0.1	0.21	0.019	0.0129	0.00211	
--0.05	0.02	0.003	0.0023	0.00057	x	
-0.0525	-0.0015	0.0026	9e-05	x	x	
--0.002375	0.000575	-4.5e-05	x	x	x	
-0.00080625	-7.125e-05	x	x	x	x	
--6.59375e-05	x	x	x	x	x	
-
-Direct acces to some basic moments: 
+4	0.1	0.21	0.019	0.0129	0.00211
+-0.05	0.02	0.003	0.0023	0.00057	x
+0.0525	-0.0015	0.0026	9e-05	x	x
+-0.002375	0.000575	-4.5e-05	x	x	x
+0.00080625	-7.125e-05	x	x	x	x
+-6.59375e-05	x	x	x	x	x
+
+Direct acces to some basic moments:
 m00: 4
 m10: 0.1
 m01: -0.05
@@ -205,7 +205,7 @@ m02: 0.0525
 Common moments computed using basic moments:
 Surface: 0.259375
 Alpha: 0.133296
-Centered moments (mu03, mu12, mu21, mu30): 0.003375 0.0045625 -0.00228125 -0.000421875 
+Centered moments (mu03, mu12, mu21, mu30): 0.003375 0.0045625 -0.00228125 -0.000421875
   \endcode
 
   Note that in the continuous case, the moment object \f$m_{00}\f$ corresponds to the surface \f$a\f$ of the object.
@@ -239,6 +239,14 @@ public:
   // Constructors
   vpMomentObject(unsigned int order);
   vpMomentObject(const vpMomentObject& srcobj);
+  /*!
+  Virtual destructor to allow polymorphic usage.
+  For instance,
+  \code
+  vpMomentObject* obj = new vpWeightedMomentObject(weightfunc,ORDER); where vpWeightedMomentObject is child class of vpMomentObject
+  \endcode
+  */
+  virtual ~vpMomentObject();
 
   void fromImage(const vpImage<unsigned char>& image,unsigned char threshold, const vpCameraParameters& cam); // Binary version
   void fromImage(const vpImage<unsigned char>& image, const vpCameraParameters& cam, vpCameraImgBckGrndType bg_type, bool normalize_with_pix_size = true); // Photometric version
@@ -264,6 +272,17 @@ public:
   */
   void setType(vpObjectType input_type){this->type=input_type;}
   friend VISP_EXPORT std::ostream & operator<<(std::ostream & os, const vpMomentObject& v);
+  /*!
+    Outputs raw moments in indexed form like m[1,1] = value of moment m11
+    \param momobj : A vpMomentObject
+    \param os : Output stream.
+   */
+  static void printWithIndices(const vpMomentObject& momobj, std::ostream& os);
+  /*!
+    Converts the raw moments contained in vpMomentObject to a vpMatrix
+    \param momobj : A vpMomentObject
+   */
+  static vpMatrix convertTovpMatrix(const vpMomentObject& momobj);
 
 protected:
   unsigned int order;
diff --git a/src/tracking/moving-edges/vpMe.cpp b/src/tracking/moving-edges/vpMe.cpp
index 5c86afde3dc35ada50ff30f1e2acdb26e079a964..bdc02643c39ab8c68e36ba78174ba31048f919ef 100644
--- a/src/tracking/moving-edges/vpMe.cpp
+++ b/src/tracking/moving-edges/vpMe.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMe.cpp 4632 2014-02-03 17:06:40Z fspindle $
+ * $Id: vpMe.cpp 5060 2014-12-12 18:31:03Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -100,9 +100,9 @@ static point
 point_intersection(droite D1, droite D2)
 {
  point  I;
- double det;  // déterminant des 2 vect.normaux
+ double det;  // determinant des 2 vect.normaux
 
- det = (D1.a*D2.b - D2.a*D1.b); // interdit D1,D2 parallèles
+ det = (D1.a*D2.b - D2.a*D1.b); // interdit D1,D2 paralleles
  I.x = (D2.c*D1.b - D1.c*D2.b)/det;
  I.y = (D1.c*D2.a - D2.c*D1.a)/det;
 
@@ -114,7 +114,7 @@ recale(point & P,
 			 double Xmin, double Ymin, double Xmax, double Ymax)
 {
   if(vpMath::equal(P.x,Xmin))
-		P.x=Xmin; // à peu près => exactement !
+    P.x=Xmin; // a peu pres => exactement !
   if(vpMath::equal(P.x,Xmax))
 		P.x=Xmax;
 
@@ -143,7 +143,7 @@ permute(point &A,  point &B)
 static bool
 clipping  (point  A, point B,
  					 double Xmin, double Ymin, double Xmax, double Ymax,
-					 point  & Ac , point & Bc )// résultat: A,B clippés
+           point  & Ac , point & Bc )// resultat: A,B clippes
 {
  droite AB, D[4];
  D[0].a = 1;     D[0].b = 0;     D[0].c = -Xmin;
@@ -180,10 +180,10 @@ clipping  (point  A, point B,
 
    // 2 CAS OU L'ON PEUT CONCLURE => sortie
    // =====================================
-   if((code_P[0] | code_P[1])==0000)  // Aucun bit à 1
+   if((code_P[0] | code_P[1])==0000)  // Aucun bit a 1
 		/* NE TRIE PLUS LE RESULTAT ! S_relative() en tient compte
         { if(P[0].x < P[1].x) // Rend le couple de points
-                { Ac=P[0];  Bc=P[1]; }  //  clippés (ordonnés selon
+                { Ac=P[0];  Bc=P[1]; }  //  clippes (ordonnes selon
           else  { Ac=P[1];  Bc=P[0]; }  //  leur abscisse x)
 		*/
     {
@@ -191,16 +191,16 @@ clipping  (point  A, point B,
       if(vpMath::equal(Ac.x,Bc.x) && vpMath::equal(Ac.y,Bc.y))
       	return(false);    // AB = 1 point = invisible
       else
-				return(true);    // Partie de AB clippée visible!
+        return(true);    // Partie de AB clippee visible!
     }
 
    if((code_P[0] & code_P[1])!=0000)  // au moins 1 bit commun
    {
-		 return(false);  // AB complètement invisible!
+     return(false);  // AB completement invisible!
    }
 
 
-   // CAS GENERAL (on sait que code_P[0 ou 1] a au moins un bit à 1
+   // CAS GENERAL (on sait que code_P[0 ou 1] a au moins un bit a 1
    //   - clippe le point P[n] qui sort de la fenêtre (coupe Droite i)
    //   - reboucle avec le nouveau couple de points
    // ================================================================
@@ -215,7 +215,7 @@ clipping  (point  A, point B,
       for(i=0,bit_i=1;  !(code_P[1] & bit_i);  i++,bit_i<<=1){;}
    }
 
-   P[n] = point_intersection(AB,D[i]); // clippe le point concerné
+   P[n] = point_intersection(AB,D[i]); // clippe le point concerne
 
 
    // RECALE EXACTEMENT LE POINT (calcul flottant => arrondi)
@@ -228,9 +228,9 @@ clipping  (point  A, point B,
 }
 
 
-// calcule la surface relative des 2 portions définies
-// par le segment PQ sur le carré Xmin,Ymin,Xmax,Ymax
-// Rem : P,Q triés sur x, et donc seulement 6 cas
+// calcule la surface relative des 2 portions definies
+// par le segment PQ sur le carre Xmin,Ymin,Xmax,Ymax
+// Rem : P,Q tries sur x, et donc seulement 6 cas
 static double
 S_relative(point P, point Q,
 	   double Xmin, double Ymin, double Xmax, double Ymax)
@@ -288,11 +288,11 @@ S_relative(point P, point Q,
 
 
 static void
-calcul_masques(vpColVector &angle, // définitions des angles theta
+calcul_masques(vpColVector &angle, // definitions des angles theta
 	       unsigned int n,             // taille masques (PAIRE ou IMPAIRE Ok)
-	       vpMatrix *M)        // résultat M[theta](n,n)
+         vpMatrix *M)        // resultat M[theta](n,n)
 {
-  // Le coef |a| = |1/2n| n'est pas incorporé dans M(i,j) (=> que des int)
+  // Le coef |a| = |1/2n| n'est pas incorpore dans M(i,j) (=> que des int)
 
   unsigned int i_theta,  // indice (boucle sur les masques)
        i,j;      // indices de boucle sur M(i,j)
@@ -338,7 +338,7 @@ calcul_masques(vpColVector &angle, // d
        // produit vectoriel dir_droite*(X,Y)
        sgn = vpMath::sign(cos_theta*Y - sin_theta*X);
 
-       // Résultat = P,Q
+       // Resultat = P,Q
        if( clipping(P1,Q1, X-0.5,Y-0.5,X+0.5,Y+0.5, P,Q) )
        {
 	 // v dans [0,1]
diff --git a/src/tracking/moving-edges/vpMeEllipse.cpp b/src/tracking/moving-edges/vpMeEllipse.cpp
index 0496655a31ba6f8eb6713dff3599e997f92cfbb3..2ee89eabfa3326e1a90943cf54da3334babe9cf5 100644
--- a/src/tracking/moving-edges/vpMeEllipse.cpp
+++ b/src/tracking/moving-edges/vpMeEllipse.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMeEllipse.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpMeEllipse.cpp 4706 2014-03-28 07:52:00Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -83,7 +83,8 @@ computeTheta(double &theta, vpColVector &K, vpImagePoint iP)
 vpMeEllipse::vpMeEllipse()
   : K(), iPc(), a(0.), b(0.), e(0.), iP1(), iP2(), alpha1(0), alpha2(2*M_PI),
     ce(0.), se(0.), angle(), m00(0.), mu11(0.), mu20(0.), mu02(0.),
-    m10(0.), m01(0.), m11(0.), m02(0.), m20(0.), thresholdWeight(0.2), circle(false)
+    m10(0.), m01(0.), m11(0.), m02(0.), m20(0.),
+    thresholdWeight(0.2), expecteddensity(0.), circle(false)
 {
   vpCDEBUG(1) << "begin vpMeEllipse::vpMeEllipse() " <<  std::endl ;
 
@@ -107,7 +108,8 @@ vpMeEllipse::vpMeEllipse()
 vpMeEllipse::vpMeEllipse(const vpMeEllipse &meellipse)
   : vpMeTracker(meellipse), K(), iPc(), a(0.), b(0.), e(0.), iP1(), iP2(), alpha1(0), alpha2(2*M_PI),
     ce(0.), se(0.), angle(), m00(0.), mu11(0.), mu20(0.), mu02(0.),
-    m10(0.), m01(0.), m11(0.), m02(0.), m20(0.), thresholdWeight(0.2), circle(false)
+    m10(0.), m01(0.), m11(0.), m02(0.), m20(0.),
+    thresholdWeight(0.2), expecteddensity(0.), circle(false)
 {
   K = meellipse.K;
   iPc = meellipse.iPc;
@@ -136,6 +138,7 @@ vpMeEllipse::vpMeEllipse(const vpMeEllipse &meellipse)
   thresholdWeight = meellipse.thresholdWeight;
 
   circle = meellipse.circle;
+  expecteddensity = meellipse.expecteddensity;
 }
 
 /*!
@@ -274,7 +277,7 @@ vpMeEllipse::reSample(const vpImage<unsigned char>  &I)
   }
 
   unsigned int n = numberOfSignal() ;
-  double expecteddensity = (alpha2-alpha1) / vpMath::rad((double)me->getSampleStep());
+  expecteddensity = (alpha2-alpha1) / vpMath::rad((double)me->getSampleStep());
   if ((double)n<0.9*expecteddensity){
     sample(I) ;
   }
@@ -282,7 +285,7 @@ vpMeEllipse::reSample(const vpImage<unsigned char>  &I)
 
 
 /*!
-  Computes the length of the semiminor axis \f$ a \f$, the length of the semimajor axis \f$ b \f$ and, 
+  Computes the coordinates of the ellipse center, length of the semiminor axis \f$ a \f$, the length of the semimajor axis \f$ b \f$ and,
   \f$ e \f$ which is the angle made by the major axis and the i axis of the image frame \f$ (i,j) \f$.
   
   All those computations are made thanks to the parameters \f$ K = {K_0, ..., K_4} \f$.
@@ -298,7 +301,6 @@ vpMeEllipse::getParameters()
 
   double d = k[2]*k[2] - k[0]*k[1];
 
-
   iPc.set_i( (k[1] * k[3] - k[2] * k[4]) / d );
   iPc.set_j( (k[0] * k[4] - k[2] * k[3]) / d );
 
@@ -396,13 +398,11 @@ vpMeEllipse::computeAngle(vpImagePoint pt1, vpImagePoint pt2)
   }
   //std::cout << "end vpMeEllipse::computeAngle(..)" << alpha1 << "  " << alpha2 << std::endl ;
 
-  if (alpha2 <alpha1)
-  {
-//    double alphatmp = alpha2;
-//    alpha2 = alpha1;
-//    alpha1 = alphatmp;
+  if (alpha2 < alpha1)
+    alpha2 += 2 * M_PI;
+  //else if (alpha2 == alpha1)
+  else if (std::fabs(alpha2 - alpha1) < std::fabs(alpha1) * std::numeric_limits<double>::epsilon())
     alpha2 += 2 * M_PI;
-  }
 
   //std::cout << "end vpMeEllipse::computeAngle(..)" << alpha1 << "  " << alpha2 << std::endl ;
   
@@ -891,9 +891,14 @@ vpMeEllipse::initTracking(const vpImage<unsigned char> &I, const unsigned int n,
   iP2 = iP[n-1];
 
   getParameters() ;
+  std::cout << "vpMeEllipse::initTracking() ellipse avant: " << iPc << " " << a << " " << b << " " << vpMath::deg(e) << " alpha: " << alpha1 << " " << alpha2 << std::endl;
+
   computeAngle(iP1, iP2) ;
-  display(I, vpColor::green) ;
+  std::cout << "vpMeEllipse::initTracking() ellipse apres: " << iPc << " " << a << " " << b << " " << vpMath::deg(e) << " alpha: " << alpha1 << " " << alpha2 << std::endl;
+
+  expecteddensity = (alpha2-alpha1) / vpMath::rad((double)me->getSampleStep());
 
+  display(I, vpColor::green) ;
   sample(I) ;
 
   //  2. On appelle ce qui n'est pas specifique
@@ -914,6 +919,47 @@ vpMeEllipse::initTracking(const vpImage<unsigned char> &I, const unsigned int n,
 
 }
 
+void
+vpMeEllipse::initTracking(const vpImage<unsigned char> &I, const vpImagePoint &ic, double a_p, double b_p, double e_p,
+                          double low_alpha, double high_alpha)
+{
+  iPc = ic;
+  a = a_p;
+  b = b_p;
+  e = e_p;
+  alpha1 = low_alpha;
+  alpha2 = high_alpha;
+
+  if (alpha2 <alpha1)
+    alpha2 += 2 * M_PI;
+
+  ce = cos(e);
+  se = sin(e);
+
+//  vpDisplay::displayEllipse(I, iPc, a, b, e, 0, vpMath::rad(360), vpColor::red, 2); // TODO remove debug only
+  display(I, vpColor::green) ;
+//  vpDisplay::flush(I); // TODO remove debug only
+//  std::cout << "wait click" << std::endl;
+//  vpDisplay::getClick(I); // TODO remove debug only
+  sample(I) ;
+
+  //  2. On appelle ce qui n'est pas specifique
+  {
+    vpMeTracker::initTracking(I) ;
+  }
+
+  try{
+    track(I) ;
+  }
+  catch(...)
+  {
+    vpERROR_TRACE("Error caught") ;
+    throw ;
+  }
+  vpMeTracker::display(I) ;
+  vpDisplay::flush(I) ;
+}
+
 /*!
   Track the ellipse in the image I.
 
@@ -1059,7 +1105,7 @@ vpMeEllipse::computeMoments()
  */
 void
 vpMeEllipse::computeAngle(int ip1, int jp1, double &_alpha1,
-			  int ip2, int jp2, double &_alpha2)
+                          int ip2, int jp2, double &_alpha2)
 {
 
   getParameters() ;
@@ -1219,16 +1265,18 @@ vpMeEllipse::initTracking(const vpImage<unsigned char> &I, const unsigned int n,
   
   \param E : Angle made by the major axis and the i axis of the image frame \f$ (i,j) \f$
   
-  \param smallalpha : Smallest \f$ alpha \f$ angle.
+  \param smallalpha : Smallest \f$ alpha \f$ angle in rad.
 
-  \param highalpha : Highest \f$ alpha \f$ angle.
+  \param highalpha : Highest \f$ alpha \f$ angle in rad.
   
   \param color : Color used to display th lines.
+
+  \param thickness : Thickness of the drawings.
 */
 void vpMeEllipse::display(const vpImage<unsigned char>& I, const vpImagePoint &center,
                           const double &A, const double &B, const double &E,
                           const double & smallalpha, const double &highalpha,
-                          vpColor color)
+                          const vpColor &color, unsigned int thickness)
 {
   double j1, i1;
   vpImagePoint iP11;
@@ -1238,7 +1286,7 @@ void vpMeEllipse::display(const vpImage<unsigned char>& I, const vpImagePoint &c
 
   double incr = vpMath::rad(2) ; // angle increment
 
-  vpDisplay::displayCross(I,center,20,vpColor::red) ;
+  vpDisplay::displayCross(I,center,20, vpColor::red, thickness) ;
 
   double k = smallalpha ;
   while (k+incr<highalpha)
@@ -1258,7 +1306,7 @@ void vpMeEllipse::display(const vpImage<unsigned char>& I, const vpImagePoint &c
     iP22.set_j ( center.get_j() + cos(E) *j2 - sin(E) *i2 );
     iP22.set_i ( center.get_i() -( sin(E) *j2 + cos(E) *i2) );
 
-    vpDisplay::displayLine(I, iP11, iP22, color, 3) ;
+    vpDisplay::displayLine(I, iP11, iP22, color, thickness) ;
 
     k += incr ;
   }
@@ -1278,8 +1326,8 @@ void vpMeEllipse::display(const vpImage<unsigned char>& I, const vpImagePoint &c
   iP22.set_j ( center.get_j() + cos(E) *j2 - sin(E) *i2 );
   iP22.set_i ( center.get_i() -( sin(E) *j2 + cos(E) *i2) );
 
-  vpDisplay::displayLine(I, center, iP11, vpColor::red, 3) ;
-  vpDisplay::displayLine(I, center, iP22, vpColor::blue, 3) ;
+  vpDisplay::displayLine(I, center, iP11, vpColor::red, thickness) ;
+  vpDisplay::displayLine(I, center, iP22, vpColor::blue, thickness) ;
 }
 
 /*!
@@ -1296,16 +1344,18 @@ void vpMeEllipse::display(const vpImage<unsigned char>& I, const vpImagePoint &c
 
   \param E : Angle made by the major axis and the i axis of the image frame \f$ (i,j) \f$
 
-  \param smallalpha : Smallest \f$ alpha \f$ angle.
+  \param smallalpha : Smallest \f$ alpha \f$ angle in rad.
 
-  \param highalpha : Highest \f$ alpha \f$ angle.
+  \param highalpha : Highest \f$ alpha \f$ angle in rad.
 
   \param color : Color used to display th lines.
+
+  \param thickness : Thickness of the drawings.
 */
 void vpMeEllipse::display(const vpImage<vpRGBa>& I, const vpImagePoint &center,
                           const double &A, const double &B, const double &E,
                           const double & smallalpha, const double &highalpha,
-                          vpColor color)
+                          const vpColor &color, unsigned int thickness)
 {
   double j1, i1;
   vpImagePoint iP11;
@@ -1315,7 +1365,7 @@ void vpMeEllipse::display(const vpImage<vpRGBa>& I, const vpImagePoint &center,
 
   double incr = vpMath::rad(2) ; // angle increment
 
-  vpDisplay::displayCross(I,center,20,vpColor::red) ;
+  vpDisplay::displayCross(I,center,20, vpColor::red, thickness) ;
 
   double k = smallalpha ;
   while (k+incr<highalpha)
@@ -1335,7 +1385,7 @@ void vpMeEllipse::display(const vpImage<vpRGBa>& I, const vpImagePoint &center,
     iP22.set_j ( center.get_j() + cos(E) *j2 - sin(E) *i2 );
     iP22.set_i ( center.get_i() -( sin(E) *j2 + cos(E) *i2) );
 
-    vpDisplay::displayLine(I, iP11, iP22, color, 3) ;
+    vpDisplay::displayLine(I, iP11, iP22, color, thickness) ;
 
     k += incr ;
   }
@@ -1355,6 +1405,6 @@ void vpMeEllipse::display(const vpImage<vpRGBa>& I, const vpImagePoint &center,
   iP22.set_j ( center.get_j() + cos(E) *j2 - sin(E) *i2 );
   iP22.set_i ( center.get_i() -( sin(E) *j2 + cos(E) *i2) );
 
-  vpDisplay::displayLine(I, center, iP11, vpColor::red, 3) ;
-  vpDisplay::displayLine(I, center, iP22, vpColor::blue, 3) ;
+  vpDisplay::displayLine(I, center, iP11, vpColor::red, thickness) ;
+  vpDisplay::displayLine(I, center, iP22, vpColor::blue, thickness) ;
 }
diff --git a/src/tracking/moving-edges/vpMeEllipse.h b/src/tracking/moving-edges/vpMeEllipse.h
index 741d60ea294b91a06f3e73799663c9437e54eacf..fff27012ec61fb8b3277c3a23ab94313f5d73fc0 100644
--- a/src/tracking/moving-edges/vpMeEllipse.h
+++ b/src/tracking/moving-edges/vpMeEllipse.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMeEllipse.h 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpMeEllipse.h 4705 2014-03-27 16:24:35Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -146,12 +146,17 @@ public:
   vpMeEllipse(const vpMeEllipse &meellipse) ;
   virtual ~vpMeEllipse() ;
 
+  /*!
+    \return Expected number of moving edges to track along the ellipse.
+   */
+  int getExpectedDensity() {return (int)expecteddensity;};
   void track(const vpImage<unsigned char>& Im);
 
   void initTracking(const vpImage<unsigned char> &I) ;
-  void initTracking(const vpImage<unsigned char> &I, const unsigned int n,
-		    vpImagePoint* iP) ;
+  void initTracking(const vpImage<unsigned char> &I, const unsigned int n, vpImagePoint* iP) ;
+  void initTracking(const vpImage<unsigned char> &I, const vpImagePoint &ic, double a_p, double b_p, double e_p, double low_alpha, double high_alpha) ;
   void display(const vpImage<unsigned char>&I, vpColor col) ;
+  void display(const vpImage<unsigned char>& I) {vpMeTracker::display(I);} //Shouldn't be here since it's already in vpMeTracker
   void printParameters() ;
 
 #ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
@@ -315,7 +320,7 @@ protected:
   double b;
   //! \f$ e \f$ is the angle made by the major axis and the i axis of the image frame \f$ (i,j) \f$.
   double e;
-	
+
 protected:
   //! The coordinates of the point corresponding to the smallest \f$ alpha \f$ angle. More things about the \f$ alpha \f$ are given at the beginning of the class description.
   vpImagePoint iP1;
@@ -341,6 +346,8 @@ protected:
   double m11,m02,m20;
   //! Threshold for the robust least square.
   double thresholdWeight;
+  //! Expected number of me to track along the ellipse.
+  double expecteddensity;
 
 private:
   //! True if the ellipse to track is a circle
@@ -373,11 +380,13 @@ public:
   static void display(const vpImage<unsigned char>& I, const vpImagePoint &center,
                       const double &A, const double &B, const double &E,
                       const double & smallalpha, const double &highalpha,
-                      vpColor color = vpColor::green);
+                      const vpColor &color = vpColor::green,
+                      unsigned int thickness=1);
   static void display(const vpImage<vpRGBa>& I, const vpImagePoint &center,
                       const double &A, const double &B, const double &E,
                       const double & smallalpha, const double &highalpha,
-                      vpColor color = vpColor::green);
+                      const vpColor &color = vpColor::green,
+                      unsigned int thickness=1);
 
 };
 
diff --git a/src/tracking/moving-edges/vpMeNurbs.cpp b/src/tracking/moving-edges/vpMeNurbs.cpp
index 1ea32929d147ee0e57c9cc38c8e27906047ffbcc..568561940b35712fd364b7efeb581b9de75686e8 100644
--- a/src/tracking/moving-edges/vpMeNurbs.cpp
+++ b/src/tracking/moving-edges/vpMeNurbs.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMeNurbs.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpMeNurbs.cpp 5060 2014-12-12 18:31:03Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -56,6 +56,7 @@
 #include <visp/vpRect.h>
 #include <visp/vpImageTools.h>
 #include <visp/vpImageConvert.h>
+#include <visp/vpImageFilter.h>
 #include <stdlib.h>
 #include <cmath>    // std::fabs
 #include <limits>   // numeric_limits
@@ -575,7 +576,7 @@ vpMeNurbs::seekExtremities(const vpImage<unsigned char> &I)
 
   \param I : Image in which the edge appears.
 */
-#ifdef VISP_HAVE_OPENCV
+#if (defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION < 0x030000))
 void
 vpMeNurbs::seekExtremitiesCanny(const vpImage<unsigned char> &I)
 #else
@@ -583,7 +584,7 @@ void
 vpMeNurbs::seekExtremitiesCanny(const vpImage<unsigned char> & /* I */)
 #endif
 {
-#ifdef VISP_HAVE_OPENCV
+#if (defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION < 0x030000))
   vpMeSite pt = list.front();
   vpImagePoint firstPoint(pt.ifloat,pt.jfloat);
   pt = list.back();
@@ -614,14 +615,17 @@ vpMeNurbs::seekExtremitiesCanny(const vpImage<unsigned char> & /* I */)
     if( u > 0)
       lastPtInSubIm = nurbs.computeCurvePoint(u);
     
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+    vpImageFilter::canny(Isub, Isub, 3, cannyTh1, 3);
+#else
     IplImage* Ip = NULL;
     vpImageConvert::convert(Isub, Ip);
     
-
     IplImage* dst = cvCreateImage( cvSize((int)Isub.getWidth(), (int)Isub.getHeight()), 8, 1 );
     cvCanny( Ip, dst, cannyTh1, cannyTh2, 3 );
     
     vpImageConvert::convert(dst, Isub);
+#endif
     
     vpImagePoint firstBorder(-1,-1);
     
@@ -748,14 +752,17 @@ vpMeNurbs::seekExtremitiesCanny(const vpImage<unsigned char> & /* I */)
     if( u < 1.0)
       lastPtInSubIm = nurbs.computeCurvePoint(u);
     
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+    vpImageFilter::canny(Isub, Isub, 3, cannyTh1, 3);
+#else
     IplImage* Ip = NULL;
     vpImageConvert::convert(Isub, Ip);
-    
 
     IplImage* dst = cvCreateImage( cvSize((int)Isub.getWidth(), (int)Isub.getHeight()), 8, 1 );
     cvCanny( Ip, dst, cannyTh1, cannyTh2, 3 );
-    
+
     vpImageConvert::convert(dst, Isub);
+#endif
     
     vpImagePoint firstBorder(-1,-1);
     
@@ -1064,7 +1071,7 @@ vpMeNurbs::track(const vpImage<unsigned char> &I)
   //Suppressions des points ejectes par le tracking
   suppressPoints();
 
-  //Recalcule les param�tres
+  //Recalcule les parametres
 //  nurbs.globalCurveInterp(list);
   nurbs.globalCurveApprox(list,nbControlPoints);
   
diff --git a/src/tracking/moving-edges/vpMeSite.h b/src/tracking/moving-edges/vpMeSite.h
index bac0bbad5232e374900d32a2efcba1d63e98795d..31c404893f944bdcbb4c3923d6c050d9bea19593 100644
--- a/src/tracking/moving-edges/vpMeSite.h
+++ b/src/tracking/moving-edges/vpMeSite.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMeSite.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpMeSite.h 5060 2014-12-12 18:31:03Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -215,7 +215,7 @@ public:
   */
   inline double getWeight() const { return weight; }
   
-//Opérators
+//Operators
   vpMeSite &operator=(const vpMeSite &m) ;
   int       operator!=(const vpMeSite  &m) ;
   
diff --git a/src/tracking/moving-edges/vpMeTracker.cpp b/src/tracking/moving-edges/vpMeTracker.cpp
index f043857f5e516279ad76d0fb710b45e24b26bb6a..895f95f8556b3469b5302473e9af6d6797ca53fe 100644
--- a/src/tracking/moving-edges/vpMeTracker.cpp
+++ b/src/tracking/moving-edges/vpMeTracker.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
 *
-* $Id: vpMeTracker.cpp 4649 2014-02-07 14:57:11Z fspindle $
+* $Id: vpMeTracker.cpp 4797 2014-07-23 15:52:28Z fspindle $
 *
 * This file is part of the ViSP software.
 * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -95,11 +95,20 @@ vpMeTracker::vpMeTracker(const vpMeTracker& meTracker)
   #endif
 }
 
-vpMeTracker::~vpMeTracker()
+/*!
+ Reset the tracker by removing all the moving edges.
+ */
+void vpMeTracker::reset()
 {
+  nGoodElement = 0;
   list.clear();
 }
 
+vpMeTracker::~vpMeTracker()
+{
+  reset();
+}
+
 vpMeTracker&
 vpMeTracker::operator = (vpMeTracker& p_me)
 {
diff --git a/src/tracking/moving-edges/vpMeTracker.h b/src/tracking/moving-edges/vpMeTracker.h
index ecc60da7df06f17a8b2a1cbff637cd553aaf6c4c..f82162207b47f1425720798f8c6e869ce60a4bc6 100644
--- a/src/tracking/moving-edges/vpMeTracker.h
+++ b/src/tracking/moving-edges/vpMeTracker.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpMeTracker.h 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpMeTracker.h 4797 2014-07-23 15:52:28Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -114,6 +114,8 @@ public:
   int outOfImage( int i , int j , int half , int rows , int cols) ;
   int outOfImage( vpImagePoint iP , int half , int rows , int cols) ;
   
+  void reset();
+
   //!Sample pixels at a given interval
   virtual void sample(const vpImage<unsigned char> &image)=0;
   
diff --git a/src/tracking/template-tracker/ssd/vpTemplateTrackerSSD.cpp b/src/tracking/template-tracker/ssd/vpTemplateTrackerSSD.cpp
index b7dcbb91584fc35dae102ca28c9e1ddc7bc727a2..e5fed1971f4148483f0df3ab6828e95c6bd6b88f 100644
--- a/src/tracking/template-tracker/ssd/vpTemplateTrackerSSD.cpp
+++ b/src/tracking/template-tracker/ssd/vpTemplateTrackerSSD.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpTemplateTrackerSSD.cpp 4666 2014-02-16 16:21:33Z fspindle $
+ * $Id: vpTemplateTrackerSSD.cpp 5264 2015-02-04 13:49:55Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -100,7 +100,7 @@ double vpTemplateTrackerSSD::getSSD(vpImage<unsigned char> &I,vpColVector &tp)
   double IW,Tij;
   int i,j;
   double i2,j2;
-  int Nbpoint=0;
+  unsigned int Nbpoint=0;
 
   if(pyrInitialised)
   {
diff --git a/src/tracking/template-tracker/ssd/vpTemplateTrackerSSD.h b/src/tracking/template-tracker/ssd/vpTemplateTrackerSSD.h
index 00c6a92f92546f313a1eacec522df41a50ffb7cd..462066a4c76a0daebde6070b5fa0ecc57676bff0 100644
--- a/src/tracking/template-tracker/ssd/vpTemplateTrackerSSD.h
+++ b/src/tracking/template-tracker/ssd/vpTemplateTrackerSSD.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpTemplateTrackerSSD.h 4666 2014-02-16 16:21:33Z fspindle $
+ * $Id: vpTemplateTrackerSSD.h 4956 2014-11-12 15:50:23Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -58,7 +58,6 @@
 #include <visp/vpImageTools.h>
 #include <visp/vpImageFilter.h>
 #include <visp/vpMath.h>
-#include <visp/vpList.h>
 #include <visp/vpHomography.h>
 
 class VISP_EXPORT vpTemplateTrackerSSD: public vpTemplateTracker
diff --git a/src/tracking/template-tracker/ssd/vpTemplateTrackerSSDESM.cpp b/src/tracking/template-tracker/ssd/vpTemplateTrackerSSDESM.cpp
index 343680b0b95b45a2eda23a7767ea18687a1ddf49..7865c9d88c6247b79dd1a76253bea110669f3b05 100644
--- a/src/tracking/template-tracker/ssd/vpTemplateTrackerSSDESM.cpp
+++ b/src/tracking/template-tracker/ssd/vpTemplateTrackerSSDESM.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpTemplateTrackerSSDESM.cpp 4632 2014-02-03 17:06:40Z fspindle $
+ * $Id: vpTemplateTrackerSSDESM.cpp 5264 2015-02-04 13:49:55Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -106,7 +106,7 @@ compoInitialised=true;
 void vpTemplateTrackerSSDESM::trackNoPyr(const vpImage<unsigned char> &I)
 {
   double erreur=0;
-  int Nbpoint=0;
+  unsigned int Nbpoint=0;
 
   if(blur)
     vpImageFilter::filter(I, BI,fgG,taillef);
@@ -179,8 +179,13 @@ void vpTemplateTrackerSSDESM::trackNoPyr(const vpImage<unsigned char> &I)
 
 
     }
+    if(Nbpoint==0) {
+      //std::cout<<"plus de point dans template suivi"<<std::endl;
+      throw(vpTrackingException(vpTrackingException::notEnoughPointError, "No points in the template"));
+    }
+
     vpMatrix::computeHLM(HDir,lambdaDep,HLMDir);
-    //if(Nbpoint==0)std::cout<<"plus de point dans template suivi"<<std::endl;
+
     try
     {
       //dp=(HLMInv+HLMDir).inverseByLU()*(GInv+GDir);
@@ -188,20 +193,15 @@ void vpTemplateTrackerSSDESM::trackNoPyr(const vpImage<unsigned char> &I)
       //dp=HLMInv.inverseByLU()*GInv;
       dp=(HLMDir).inverseByLU()*(GDir);
     }
-    catch(...)
+    catch(vpException &e)
     {
-      std::cout<<"probleme inversion"<<std::endl;
-      break;
+      //std::cout<<"probleme inversion"<<std::endl;
+      throw(e);
     }
 
     dp=gain*dp;
     if(useBrent)
     {
-      if(! Nbpoint) {
-        throw(vpException(vpException::divideByZeroError,
-              "Cannot compute optimal Brent gain: size = 0")) ;
-      }
-
       alpha=2.;
       computeOptimalBrentGain(I,p,erreur/Nbpoint,dp,alpha);
       dp=alpha*dp;
diff --git a/src/tracking/template-tracker/ssd/vpTemplateTrackerSSDForwardAdditional.cpp b/src/tracking/template-tracker/ssd/vpTemplateTrackerSSDForwardAdditional.cpp
index 510ab358f173a10f44f8680843fb80f4e6035cec..90480f1119052715c7b0080852ef168480762289 100644
--- a/src/tracking/template-tracker/ssd/vpTemplateTrackerSSDForwardAdditional.cpp
+++ b/src/tracking/template-tracker/ssd/vpTemplateTrackerSSDForwardAdditional.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpTemplateTrackerSSDForwardAdditional.cpp 4661 2014-02-10 19:34:58Z fspindle $
+ * $Id: vpTemplateTrackerSSDForwardAdditional.cpp 5264 2015-02-04 13:49:55Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -54,7 +54,7 @@ vpTemplateTrackerSSDForwardAdditional::vpTemplateTrackerSSDForwardAdditional(vpT
 void vpTemplateTrackerSSDForwardAdditional::trackNoPyr(const vpImage<unsigned char> &I)
 {
   double erreur=0;
-  int Nbpoint=0;
+  unsigned int Nbpoint=0;
 
   if(blur)
     vpImageFilter::filter(I, BI,fgG,taillef);
@@ -119,17 +119,19 @@ void vpTemplateTrackerSSDForwardAdditional::trackNoPyr(const vpImage<unsigned ch
 
 
     }
-    if(Nbpoint==0)std::cout<<"plus de point dans template suivi"<<std::endl;
+    if(Nbpoint==0) {
+      //std::cout<<"plus de point dans template suivi"<<std::endl;
+      throw(vpTrackingException(vpTrackingException::notEnoughPointError, "No points in the template"));
+    }
 
     vpMatrix::computeHLM(H,lambda,HLM);
     try
     {
       dp=1.*HLM.inverseByLU()*G;
     }
-    catch(...)
+    catch(vpException &e)
     {
-      std::cout<<"probleme inversion"<<std::endl;
-      break;
+      throw(e);
     }
 
     switch(minimizationMethod)
diff --git a/src/tracking/template-tracker/ssd/vpTemplateTrackerSSDForwardCompositional.cpp b/src/tracking/template-tracker/ssd/vpTemplateTrackerSSDForwardCompositional.cpp
index 53655fe4517f8e81998b2d6f9a4d274cd131c1b2..d3e605ed068f26dd6c68007a1c95fbd2abb70658 100644
--- a/src/tracking/template-tracker/ssd/vpTemplateTrackerSSDForwardCompositional.cpp
+++ b/src/tracking/template-tracker/ssd/vpTemplateTrackerSSDForwardCompositional.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpTemplateTrackerSSDForwardCompositional.cpp 4632 2014-02-03 17:06:40Z fspindle $
+ * $Id: vpTemplateTrackerSSDForwardCompositional.cpp 5264 2015-02-04 13:49:55Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -74,7 +74,7 @@ void vpTemplateTrackerSSDForwardCompositional::trackNoPyr(const vpImage<unsigned
   if(!compoInitialised)
     std::cout<<"Compositionnal tracking no initialised\nUse InitCompo(vpImage<unsigned char> &I) function"<<std::endl;
   double erreur=0;
-  int Nbpoint=0;
+  unsigned int Nbpoint=0;
 
   if(blur)
     vpImageFilter::filter(I, BI,fgG,taillef);
@@ -143,7 +143,10 @@ void vpTemplateTrackerSSDForwardCompositional::trackNoPyr(const vpImage<unsigned
 
 
     }
-    if(Nbpoint==0)std::cout<<"plus de point dans template suivi"<<std::endl;
+    if(Nbpoint==0) {
+      //std::cout<<"plus de point dans template suivi"<<std::endl;
+      throw(vpTrackingException(vpTrackingException::notEnoughPointError, "No points in the template"));
+    }
 
     vpMatrix::computeHLM(H,lambda,HLM);
 
@@ -151,10 +154,10 @@ void vpTemplateTrackerSSDForwardCompositional::trackNoPyr(const vpImage<unsigned
     {
       dp=1.*HLM.inverseByLU()*G;
     }
-    catch(...)
+    catch(vpException &e)
     {
-      std::cout<<"probleme inversion"<<std::endl;
-      break;
+      //std::cout<<"probleme inversion"<<std::endl;
+      throw(e);
     }
 
     dp=gain*dp;
diff --git a/src/tracking/template-tracker/ssd/vpTemplateTrackerSSDInverseCompositional.cpp b/src/tracking/template-tracker/ssd/vpTemplateTrackerSSDInverseCompositional.cpp
index 4b1aa28a0a4d2dab778bdd9ee7bb8d58eeeaeb01..bd955a52c2e90de3073657ba218401106140c3d1 100644
--- a/src/tracking/template-tracker/ssd/vpTemplateTrackerSSDInverseCompositional.cpp
+++ b/src/tracking/template-tracker/ssd/vpTemplateTrackerSSDInverseCompositional.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpTemplateTrackerSSDInverseCompositional.cpp 4672 2014-02-17 09:01:17Z fspindle $
+ * $Id: vpTemplateTrackerSSDInverseCompositional.cpp 5264 2015-02-04 13:49:55Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -112,7 +112,7 @@ void vpTemplateTrackerSSDInverseCompositional::initHessienDesired(const vpImage<
 void vpTemplateTrackerSSDInverseCompositional::trackNoPyr(const vpImage<unsigned char> &I)
 {
   double erreur=0;
-  int Nbpoint=0;
+  unsigned int Nbpoint=0;
   if(blur)
     vpImageFilter::filter(I, BI,fgG,taillef);
 
@@ -162,7 +162,12 @@ void vpTemplateTrackerSSDInverseCompositional::trackNoPyr(const vpImage<unsigned
         }
       }
     }
-    if(Nbpoint==0)std::cout<<"plus de point dans template suivi"<<std::endl;
+    //std::cout << "npoint: " << Nbpoint << std::endl;
+    if(Nbpoint==0) {
+      //std::cout<<"plus de point dans template suivi"<<std::endl;
+      deletePosEvalRMS();
+      throw(vpTrackingException(vpTrackingException::notEnoughPointError, "No points in the template"));
+    }
     dp=gain*dp;
     //std::cout<<erreur/Nbpoint<<","<<GetCost(I,p)<<std::endl;
     if(useBrent)
@@ -176,6 +181,8 @@ void vpTemplateTrackerSSDInverseCompositional::trackNoPyr(const vpImage<unsigned
     iteration++;
 
     computeEvalRMS(p);
+    //std::cout << "iteration: " << iteration << " max: " << iterationMax << std::endl;
+    //std::cout << "evolRMS: " <<  evolRMS << " threshold: " << threshold_RMS << std::endl;
   }
   while(/*( erreur_prec-erreur<50) &&*/ (iteration < iterationMax)&&(evolRMS>threshold_RMS));
 
diff --git a/src/tracking/template-tracker/tools/vpTemplateTrackerTriangle.cpp b/src/tracking/template-tracker/tools/vpTemplateTrackerTriangle.cpp
index 5292864b46a0205d73ded7f75eff8e3df8004a4c..10c6f8f47da7b67147fb511e8a56e5c0980a1a9d 100644
--- a/src/tracking/template-tracker/tools/vpTemplateTrackerTriangle.cpp
+++ b/src/tracking/template-tracker/tools/vpTemplateTrackerTriangle.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpTemplateTrackerTriangle.cpp 4636 2014-02-04 08:17:58Z fspindle $
+ * $Id: vpTemplateTrackerTriangle.cpp 5060 2014-12-12 18:31:03Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -46,7 +46,7 @@
  */
 vpTemplateTrackerTriangle::vpTemplateTrackerTriangle()
   : minx_temp(0), miny_temp(0), C1(), C2(), C3(), l_t(0), h_t(0), not_good(false),
-    uvinv00(0.), uvinv01(0.), uvinv10(0.), uvinv11(0.), marge_triangle(0.00001)
+    uvinv00(0.), uvinv01(0.), uvinv10(0.), uvinv11(0.), marge_triangle(0.00001), area(0)
 {
 }
 
@@ -55,7 +55,7 @@ vpTemplateTrackerTriangle::vpTemplateTrackerTriangle()
  */
 vpTemplateTrackerTriangle::vpTemplateTrackerTriangle(const vpTemplateTrackerTriangle& T)
   : minx_temp(0), miny_temp(0), C1(), C2(), C3(), l_t(0), h_t(0), not_good(false),
-    uvinv00(0.), uvinv01(0.), uvinv10(0.), uvinv11(0.), marge_triangle(0.00001)
+    uvinv00(0.), uvinv01(0.), uvinv10(0.), uvinv11(0.), marge_triangle(0.00001), area(0)
 {
   *this = T;
 }
@@ -90,6 +90,7 @@ vpTemplateTrackerTriangle & vpTemplateTrackerTriangle::operator=(const vpTemplat
   uvinv11=T.uvinv11;
 
   marge_triangle = T.marge_triangle;
+  area = T.area;
 
   return (*this);
 }
@@ -106,7 +107,7 @@ vpTemplateTrackerTriangle::vpTemplateTrackerTriangle(const vpColVector &c1,
                                                      const vpColVector &c2,
                                                      const vpColVector &c3)
   : minx_temp(0), miny_temp(0), C1(), C2(), C3(), l_t(0), h_t(0), not_good(false),
-    uvinv00(0.), uvinv01(0.), uvinv10(0.), uvinv11(0.), marge_triangle(0.00001)
+    uvinv00(0.), uvinv01(0.), uvinv10(0.), uvinv11(0.), marge_triangle(0.00001), area(0)
 {
   init(c1[0],c1[1],c2[0],c2[1],c3[0],c3[1]);
 }
@@ -127,7 +128,7 @@ vpTemplateTrackerTriangle vpTemplateTrackerTriangle::getPyramidDown() const
   */
 vpTemplateTrackerTriangle::vpTemplateTrackerTriangle(int x1,int y1, int x2,int y2, int x3,int y3)
   : minx_temp(0), miny_temp(0), C1(), C2(), C3(), l_t(0), h_t(0), not_good(false),
-    uvinv00(0.), uvinv01(0.), uvinv10(0.), uvinv11(0.), marge_triangle(0.00001)
+    uvinv00(0.), uvinv01(0.), uvinv10(0.), uvinv11(0.), marge_triangle(0.00001), area(0)
 {
   init(x1,y1,x2,y2,x3,y3);
 }
@@ -140,7 +141,7 @@ vpTemplateTrackerTriangle::vpTemplateTrackerTriangle(int x1,int y1, int x2,int y
  */
 vpTemplateTrackerTriangle::vpTemplateTrackerTriangle(const vpImagePoint &c1, const vpImagePoint &c2, const vpImagePoint &c3)
   : minx_temp(0), miny_temp(0), C1(), C2(), C3(), l_t(0), h_t(0), not_good(false),
-    uvinv00(0.), uvinv01(0.), uvinv10(0.), uvinv11(0.), marge_triangle(0.00001)
+    uvinv00(0.), uvinv01(0.), uvinv10(0.), uvinv11(0.), marge_triangle(0.00001), area(0)
 {
   init(c1.get_u(), c1.get_v(), c2.get_u(), c2.get_v(), c3.get_u(), c3.get_v());
 }
@@ -152,7 +153,7 @@ vpTemplateTrackerTriangle::vpTemplateTrackerTriangle(const vpImagePoint &c1, con
   */
 vpTemplateTrackerTriangle::vpTemplateTrackerTriangle(double x1,double y1, double x2,double y2, double x3,double y3)
   : minx_temp(0), miny_temp(0), C1(), C2(), C3(), l_t(0), h_t(0), not_good(false),
-    uvinv00(0.), uvinv01(0.), uvinv10(0.), uvinv11(0.), marge_triangle(0.00001)
+    uvinv00(0.), uvinv01(0.), uvinv10(0.), uvinv11(0.), marge_triangle(0.00001), area(0)
 {
   init(x1,y1,x2,y2,x3,y3);
 }
@@ -201,7 +202,7 @@ void vpTemplateTrackerTriangle::init(double x1, double y1, double x2,double y2,
   C3.x=x3;C3.y=y3;
 
   double minx,miny,maxx,maxy;
-  //calcul du rectangle minimal contenant le triangle seletionn�
+  //calcul du rectangle minimal contenant le triangle seletionne
   minx=(x1<x2)?x1:x2;
   miny=(y1<y2)?y1:y2;
   minx=(minx<x3)?minx:x3;
@@ -248,6 +249,7 @@ void vpTemplateTrackerTriangle::init(double x1, double y1, double x2,double y2,
   miny_temp=miny;
 
   marge_triangle = 0.00001;
+  area = 0.5 * fabs(uv.det());
 }
 
 //marge ajoutee a zone pour que sommet soit pris en compte
diff --git a/src/tracking/template-tracker/tools/vpTemplateTrackerTriangle.h b/src/tracking/template-tracker/tools/vpTemplateTrackerTriangle.h
index 62460b5e820b0d5f10b59a1c80d9e9500477e5b3..e4324d5dfe1ee796f3da94d63332e319947d9bef 100644
--- a/src/tracking/template-tracker/tools/vpTemplateTrackerTriangle.h
+++ b/src/tracking/template-tracker/tools/vpTemplateTrackerTriangle.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpTemplateTrackerTriangle.h 4636 2014-02-04 08:17:58Z fspindle $
+ * $Id: vpTemplateTrackerTriangle.h 4781 2014-07-15 13:03:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -74,6 +74,7 @@ class VISP_EXPORT vpTemplateTrackerTriangle
     double            uvinv10;
     double            uvinv11;
     double            marge_triangle;
+    double area;
 
   private:
     vpColVector getCorner1() const;
@@ -88,6 +89,15 @@ class VISP_EXPORT vpTemplateTrackerTriangle
     vpTemplateTrackerTriangle(int x1, int y1, int x2, int y2, int x3, int y3);
     vpTemplateTrackerTriangle(double x1, double y1, double x2, double y2, double x3, double y3);
 
+    /*!
+      Return the area of the triangle.
+
+      \return The area of the triangle.
+    */
+    inline double getArea() const{
+      return this->area;
+    }
+
     vpTemplateTrackerTriangle getPyramidDown() const;
     void getCorners(vpColVector &c1,vpColVector &c2,vpColVector &c3) const;
     void getCorners(vpImagePoint &c1, vpImagePoint &c2, vpImagePoint &c3) const;
diff --git a/src/tracking/template-tracker/tools/vpTemplateTrackerZone.cpp b/src/tracking/template-tracker/tools/vpTemplateTrackerZone.cpp
index 5e7e2eaa2278e733d7ead4fe1ce4e60626ab8467..573786a84cbc7cb32b59a7d3bec24634ab5d7de7 100644
--- a/src/tracking/template-tracker/tools/vpTemplateTrackerZone.cpp
+++ b/src/tracking/template-tracker/tools/vpTemplateTrackerZone.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpTemplateTrackerZone.cpp 4661 2014-02-10 19:34:58Z fspindle $
+ * $Id: vpTemplateTrackerZone.cpp 5119 2015-01-05 10:02:46Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -146,13 +146,13 @@ void vpTemplateTrackerZone::initClick(const vpImage<unsigned char> &I, bool dela
 
         }
       }
-      vpDisplay::flush(I);
 
       if (button == vpMouseButton::button3)
         end = true;
     }
 
     vpTime::wait(20);
+    vpDisplay::flush(I);
   } while(!end);
 
   initFromPoints(I, vip, delaunay);
@@ -172,42 +172,57 @@ void vpTemplateTrackerZone::initClick(const vpImage<unsigned char> &I, bool dela
 void vpTemplateTrackerZone::initFromPoints(const vpImage<unsigned char>& I, const std::vector< vpImagePoint > &vip, bool delaunay)
 {
   if (delaunay) {
-#if VISP_HAVE_OPENCV_VERSION >= 0x020300
-    // Init Delaunay
-    cv::Subdiv2D subdiv(cv::Rect(0, 0, (int)I.getWidth(), (int)I.getHeight()));
-    for(size_t i=0; i< vip.size(); i++) {
-      cv::Point2f fp((float)vip[i].get_u(), (float)vip[i].get_v());
-      std::cout << "Click point: " << vip[i] << std::endl;
-      subdiv.insert(fp);
+    if(vip.size() == 3) {
+      initFromPoints(I, vip, false);
+    }
+    else if(vip.size() == 4) {
+      std::vector<vpImagePoint> vip_delaunay;
+      vip_delaunay.push_back(vip[0]);
+      vip_delaunay.push_back(vip[1]);
+      vip_delaunay.push_back(vip[2]);
+      vip_delaunay.push_back(vip[2]);
+      vip_delaunay.push_back(vip[3]);
+      vip_delaunay.push_back(vip[0]);
+      initFromPoints(I, vip_delaunay, false);
     }
+    else {
+#if VISP_HAVE_OPENCV_VERSION >= 0x020300
+      // Init Delaunay
+      cv::Subdiv2D subdiv(cv::Rect(0, 0, (int)I.getWidth(), (int)I.getHeight()));
+      for(size_t i=0; i< vip.size(); i++) {
+        cv::Point2f fp((float)vip[i].get_u(), (float)vip[i].get_v());
+        //std::cout << "Click point: " << vip[i] << std::endl;
+        subdiv.insert(fp);
+      }
 
-    // Compute Delaunay triangulation
-    std::vector<cv::Vec6f> triangleList;
-    subdiv.getTriangleList(triangleList);
+      // Compute Delaunay triangulation
+      std::vector<cv::Vec6f> triangleList;
+      subdiv.getTriangleList(triangleList);
 
-    // Keep only the Delaunay points that are inside the area
-    vpRect rect(vip);
+      // Keep only the Delaunay points that are inside the area
+      vpRect rect(0, 0, I.getWidth(), I.getHeight());
 
-    std::vector<vpImagePoint> vip_delaunay;
+      std::vector<vpImagePoint> vip_delaunay;
+      for( size_t i = 0; i < triangleList.size(); i++ ) {
+        cv::Vec6f t = triangleList[i];
+        std::vector<vpImagePoint> p(3);
 
-    for( size_t i = 0; i < triangleList.size(); i++ ) {
-      cv::Vec6f t = triangleList[i];
-      std::vector<vpImagePoint> p(3);
+        p[0].set_uv(t[0], t[1]);
+        p[1].set_uv(t[2], t[3]);
+        p[2].set_uv(t[4], t[5]);
 
-      p[0].set_uv(t[0], t[1]);
-      p[1].set_uv(t[2], t[3]);
-      p[2].set_uv(t[4], t[5]);
-      if (p[0].inRectangle(rect) && p[1].inRectangle(rect) && p[2].inRectangle(rect)) {
-        vip_delaunay.push_back(p[0]);
-        vip_delaunay.push_back(p[1]);
-        vip_delaunay.push_back(p[2]);
+        if (p[0].inRectangle(rect) && p[1].inRectangle(rect) && p[2].inRectangle(rect)) {
+          vip_delaunay.push_back(p[0]);
+          vip_delaunay.push_back(p[1]);
+          vip_delaunay.push_back(p[2]);
+        }
       }
-    }
 
-    initFromPoints(I, vip_delaunay, false);
+      initFromPoints(I, vip_delaunay, false);
 #else
-    throw vpException(vpException::functionNotImplementedError,"Delaunay triangulation is not available!");
+      throw vpException(vpException::functionNotImplementedError,"Delaunay triangulation is not available!");
 #endif
+    }
   }
   else {
     Zone.clear();
@@ -215,10 +230,10 @@ void vpTemplateTrackerZone::initFromPoints(const vpImage<unsigned char>& I, cons
       vpTemplateTrackerTriangle  triangle(vip[i], vip[i+1], vip[i+2]);
       add(triangle);
 
-      vpDisplay::displayLine(I, vip[i],   vip[i+1], vpColor::green, 1);
-      vpDisplay::displayLine(I, vip[i+1], vip[i+2], vpColor::green, 1);
-      vpDisplay::displayLine(I, vip[i+2], vip[i],   vpColor::green,1);
-      vpDisplay::flush(I) ;
+//      vpDisplay::displayLine(I, vip[i],   vip[i+1], vpColor::green, 1);
+//      vpDisplay::displayLine(I, vip[i+1], vip[i+2], vpColor::green, 1);
+//      vpDisplay::displayLine(I, vip[i+2], vip[i],   vpColor::green,1);
+//      vpDisplay::flush(I) ;
 
       // Update the bounding box
       if((triangle.getMinx()<min_x)||(min_x==-1))
@@ -588,3 +603,17 @@ vpImagePoint vpTemplateTrackerZone::getCenter(int borne_x, int borne_y) const
   return center;
 }
 
+/*!
+ Return the area of the template zone.
+ */
+double vpTemplateTrackerZone::getArea() const
+{
+  double area = 0;
+  vpTemplateTrackerTriangle triangle;
+  for (unsigned int i=0; i < getNbTriangle(); i++) {
+    getTriangle(i, triangle);
+    area += triangle.getArea();
+  }
+  return area;
+}
+
diff --git a/src/tracking/template-tracker/tools/vpTemplateTrackerZone.h b/src/tracking/template-tracker/tools/vpTemplateTrackerZone.h
index a1a6b2cffc8d8970669cce783ff6a51e1f0ced86..324eb9353240265d6a1c31b9f70296d2e0934e8a 100644
--- a/src/tracking/template-tracker/tools/vpTemplateTrackerZone.h
+++ b/src/tracking/template-tracker/tools/vpTemplateTrackerZone.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpTemplateTrackerZone.h 4661 2014-02-10 19:34:58Z fspindle $
+ * $Id: vpTemplateTrackerZone.h 4781 2014-07-15 13:03:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -83,6 +83,7 @@ class VISP_EXPORT vpTemplateTrackerZone
     //colorie le tieme triangle
     void fillTriangle(vpImage<unsigned char>& I, unsigned int id, unsigned char gray_level);
 
+    double getArea() const;
     vpImagePoint getCenter() const;
     vpImagePoint getCenter(int borne_x, int borne_y) const;
     //get bounds of the area
@@ -93,7 +94,7 @@ class VISP_EXPORT vpTemplateTrackerZone
     vpRect getBoundingBox() const;
 
     /*! Return the number of triangles that define the zone. \sa getTriangle() */
-	unsigned int getNbTriangle() const { return (unsigned int)Zone.size(); }
+    unsigned int getNbTriangle() const { return (unsigned int)Zone.size(); }
     vpTemplateTrackerZone getPyramidDown() const;
     //renvoie le ieme triangle de la zone
     void getTriangle(unsigned int i, vpTemplateTrackerTriangle &T) const;
diff --git a/src/tracking/template-tracker/vpTemplateTracker.cpp b/src/tracking/template-tracker/vpTemplateTracker.cpp
index 7fe6387b2e512bdc734f89bdf703adb49c68c623..8e85adcd14e2c33d9bde48ae8ab14a00eff58e2f 100644
--- a/src/tracking/template-tracker/vpTemplateTracker.cpp
+++ b/src/tracking/template-tracker/vpTemplateTracker.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpTemplateTracker.cpp 4635 2014-02-04 08:16:59Z fspindle $
+ * $Id: vpTemplateTracker.cpp 5062 2014-12-15 13:43:33Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -39,13 +39,14 @@
  * Fabien Spindler
  *
  *****************************************************************************/
+
 #include <visp/vpTemplateTracker.h>
 #include <visp/vpTemplateTrackerBSpline.h>
 
 vpTemplateTracker::vpTemplateTracker(vpTemplateTrackerWarp *_warp)
   : nbLvlPyr(1), l0Pyr(0), pyrInitialised(false), ptTemplate(NULL), ptTemplatePyr(NULL),
     ptTemplateInit(false), templateSize(0), templateSizePyr(NULL),
-    ptTemplateSelect(NULL), ptTemplateSelectPyr(NULL), ptTemplateSelectInit(NULL),
+    ptTemplateSelect(NULL), ptTemplateSelectPyr(NULL), ptTemplateSelectInit(false),
     templateSelectSize(0), ptTemplateSupp(NULL), ptTemplateSuppPyr(NULL),
     ptTemplateCompo(NULL), ptTemplateCompoPyr(NULL), zoneTracked(NULL), zoneTrackedPyr(NULL),
     pyr_IDes(NULL), H(), Hdesire(), HdesirePyr(), HLM(), HLMdesire(), HLMdesirePyr(),
@@ -88,19 +89,20 @@ void vpTemplateTracker::initTracking(const vpImage<unsigned char>& I, vpTemplate
   int hauteur_im=(int)I.getHeight();
 
   unsigned int NbPointDsZone=0;
-  double xtotal=0,ytotal=0;
+  //double xtotal=0,ytotal=0;
   int mod_fi,mod_fj;
   mod_fi=mod_i;mod_fj=mod_i;
 
-  for(int j=0;j<largeur_im;j++)
-    for(int i=0;i<hauteur_im;i++)
-      if(i%mod_fi ==0 && j%mod_fj ==0)
-        if(zone.inZone(i,j))
-        {
-          NbPointDsZone++;
-          xtotal+=j;
-          ytotal+=i;
-        }
+  for(int i=0;i<hauteur_im;i+=mod_fi) {
+    for(int j=0;j<largeur_im;j+=mod_fj) {
+      if(zone.inZone(i,j))  {
+        NbPointDsZone++;
+        //xtotal+=j;
+        //ytotal+=i;
+      }
+    }
+  }
+
   //Warp->setCentre((double)xtotal/NbPointDsZone,(double)ytotal/NbPointDsZone);
 
   templateSize=NbPointDsZone;
@@ -110,7 +112,6 @@ void vpTemplateTracker::initTracking(const vpImage<unsigned char>& I, vpTemplate
   Hdesire.resize(nbParam,nbParam);
   HLMdesire.resize(nbParam,nbParam);
 
-  //RecupÈration des donnÈes des triangles de la pyramide gaussienne
   vpTemplateTrackerPoint pt;
   //vpTemplateTrackerZPoint ptZ;
   vpImage<double> GaussI ;
@@ -120,12 +121,12 @@ void vpTemplateTracker::initTracking(const vpImage<unsigned char>& I, vpTemplate
 
   unsigned int cpt_point=0;
   templateSelectSize=0;
-  for(int i=0;i<hauteur_im;i++)
+  for(int i=0;i<hauteur_im;i+=mod_i)
   {
     //for(int  j=minx_t;j<maxx_t;j++)
-    for(int j=0;j<largeur_im;j++)
+    for(int j=0;j<largeur_im;j+=mod_j)
     {
-      if(i%mod_i ==0 && j%mod_j ==0)
+//      if(i%mod_i ==0 && j%mod_j ==0)
         if(zone.inZone(i,j))
         {
           pt.x=j;
@@ -184,16 +185,21 @@ void vpTemplateTracker::resetTracker()
   // 	vpTRACE("resetTracking");
   if(pyrInitialised)
   {
-    for(unsigned int i=0;i<nbLvlPyr;i++)
-    {
-      for(unsigned int point=0;point<templateSizePyr[i];point++)
-      {
-        delete[] ptTemplatePyr[i][point].dW;
-        delete[] ptTemplatePyr[i][point].HiG;
-      }
-      delete[] ptTemplatePyr[i];
+    if(ptTemplatePyr){
+        for(unsigned int i=0;i<nbLvlPyr;i++)
+        {
+          if(ptTemplatePyr[i]){
+              for(unsigned int point=0;point<templateSizePyr[i];point++)
+              {
+                delete[] ptTemplatePyr[i][point].dW;
+                delete[] ptTemplatePyr[i][point].HiG;
+              }
+              delete[] ptTemplatePyr[i];
+          }
+        }
+        delete[] ptTemplatePyr;
+        ptTemplatePyr = NULL;
     }
-    delete[] ptTemplatePyr;
 
     if (ptTemplateCompoPyr) {
       for(unsigned int i=0;i<nbLvlPyr;i++)
@@ -228,17 +234,44 @@ void vpTemplateTracker::resetTracker()
       ptTemplateSuppPyr = NULL;
     }
 
-    for(unsigned int i=0;i<nbLvlPyr;i++)
-      delete[] ptTemplateSelectPyr[i];
-    delete[] ptTemplateSelectPyr;
+    if(ptTemplateSelectPyr){
+        for(unsigned int i=0;i<nbLvlPyr;i++){
+            if(ptTemplateSelectPyr[i])
+                delete[] ptTemplateSelectPyr[i];
+        }
+        delete[] ptTemplateSelectPyr;
+        ptTemplateSelectPyr = NULL;
+    }
 
-    delete[] templateSizePyr;
-    delete[] HdesirePyr;
-    delete[] HLMdesirePyr;
-    delete[] HLMdesireInversePyr;
+    if(templateSizePyr){
+        delete[] templateSizePyr;
+        templateSizePyr = NULL;
+    }
 
-    delete[] zoneTrackedPyr;
-    delete[] pyr_IDes;
+    if(HdesirePyr) {
+        delete[] HdesirePyr;
+        HdesirePyr = NULL;
+    }
+
+    if(HLMdesirePyr){
+        delete[] HLMdesirePyr;
+        HLMdesirePyr = NULL;
+    }
+
+    if(HLMdesireInversePyr){
+        delete[] HLMdesireInversePyr;
+        HLMdesireInversePyr = NULL;
+    }
+
+    if(zoneTrackedPyr){
+        delete[] zoneTrackedPyr;
+        zoneTrackedPyr = NULL;
+    }
+
+    if(pyr_IDes){
+        delete[] pyr_IDes;
+        pyr_IDes = NULL;
+    }
   }
   else
   {
@@ -633,7 +666,6 @@ void vpTemplateTracker::initTrackingPyr(const vpImage<unsigned char>& I,vpTempla
   }*/
   zoneTracked=&zoneTrackedPyr[0];
 
-
   // 	vpTRACE("fin initTrackingPyr");
 
 }
@@ -754,20 +786,29 @@ void vpTemplateTracker::initCompInversePyr(const vpImage<unsigned char> &I)
 void vpTemplateTracker::initHessienDesiredPyr(const vpImage<unsigned char> &I)
 {
   // 	vpTRACE("initHessienDesiredPyr");
+
   templateSize=templateSizePyr[0];
   //ptTemplateSupp=ptTemplateSuppPyr[0];
   //ptTemplateCompo=ptTemplateCompoPyr[0];
   ptTemplate=ptTemplatePyr[0];
   ptTemplateSelect=ptTemplateSelectPyr[0];
-  initHessienDesired(I);
-  ptTemplateSuppPyr[0]=ptTemplateSupp;
-
-  ptTemplateCompoPyr[0]=ptTemplateCompo;
-  //HdesirePyr[0].resize(NbParam,NbParam);
-  //HLMdesirePyr[0].resize(NbParam,NbParam);
-  HdesirePyr[0]=Hdesire;
-  HLMdesirePyr[0]=HLMdesire;
-  HLMdesireInversePyr[0]=HLMdesireInverse;
+//  ptTemplateSupp=new vpTemplateTrackerPointSuppMIInv[templateSize];
+  try{
+      initHessienDesired(I);
+      ptTemplateSuppPyr[0]=ptTemplateSupp;
+      ptTemplateCompoPyr[0]=ptTemplateCompo;
+      HdesirePyr[0]=Hdesire;
+      HLMdesirePyr[0]=HLMdesire;
+      HLMdesireInversePyr[0]=HLMdesireInverse;
+  }
+  catch(vpException &e){
+      ptTemplateSuppPyr[0]=ptTemplateSupp;
+      ptTemplateCompoPyr[0]=ptTemplateCompo;
+      HdesirePyr[0]=Hdesire;
+      HLMdesirePyr[0]=HLMdesire;
+      HLMdesireInversePyr[0]=HLMdesireInverse;
+      throw(e);
+  }
 
   if(nbLvlPyr>1)
   {
@@ -781,15 +822,22 @@ void vpTemplateTracker::initHessienDesiredPyr(const vpImage<unsigned char> &I)
       ptTemplateSelect=ptTemplateSelectPyr[i];
       //ptTemplateSupp=ptTemplateSuppPyr[i];
       //ptTemplateCompo=ptTemplateCompoPyr[i];
-      initHessienDesired(Itemp);
-      ptTemplateSuppPyr[i]=ptTemplateSupp;
-      ptTemplateCompoPyr[i]=ptTemplateCompo;
-
-      /*HdesirePyr[i].resize(NbParam,NbParam);HdesirePyr[i]=H;
-      HLMdesirePyr[i].resize(NbParam,NbParam);HLMdesirePyr[i]=HLM;*/
-      HdesirePyr[i]=Hdesire;
-      HLMdesirePyr[i]=HLMdesire;
-      HLMdesireInversePyr[i]=HLMdesireInverse;
+      try{
+        initHessienDesired(Itemp);
+        ptTemplateSuppPyr[i]=ptTemplateSupp;
+        ptTemplateCompoPyr[i]=ptTemplateCompo;
+        HdesirePyr[i]=Hdesire;
+        HLMdesirePyr[i]=HLMdesire;
+        HLMdesireInversePyr[i]=HLMdesireInverse;
+      }
+      catch(vpException &e){
+          ptTemplateSuppPyr[i]=ptTemplateSupp;
+          ptTemplateCompoPyr[i]=ptTemplateCompo;
+          HdesirePyr[i]=Hdesire;
+          HLMdesirePyr[i]=HLMdesire;
+          HLMdesireInversePyr[i]=HLMdesireInverse;
+          throw(e);
+      }
     }
   }
   // 	vpTRACE("fin initHessienDesiredPyr");
@@ -815,94 +863,101 @@ void vpTemplateTracker::trackPyr(const vpImage<unsigned char> &I)
   pyr_I=new vpImage<unsigned char>[nbLvlPyr]; // Why +1 ?
   pyr_I[0]=I;
 
-  vpColVector ptemp(nbParam);
-  if(nbLvlPyr>1)
+  try
   {
-//    vpColVector *p_sauv=new vpColVector[nbLvlPyr];
-//    for(unsigned int i=0;i<nbLvlPyr;i++)p_sauv[i].resize(nbParam);
+      vpColVector ptemp(nbParam);
+      if(nbLvlPyr>1)
+      {
+    //    vpColVector *p_sauv=new vpColVector[nbLvlPyr];
+    //    for(unsigned int i=0;i<nbLvlPyr;i++)p_sauv[i].resize(nbParam);
 
-//    p_sauv[0]=p;
-    for(unsigned int i=1;i<nbLvlPyr;i++)
-    {
-      vpImageFilter::getGaussPyramidal(pyr_I[i-1],pyr_I[i]);
-      //test getParamPyramidDown
-      /*vpColVector vX_test(2);vX_test[0]=15.;vX_test[1]=30.;
-      vpColVector vX_test2(2);
-      Warp->computeCoeff(p);
-      Warp->computeDenom(vX_test,p);
-      Warp->warpX(vX_test,vX_test2,p);
-      std::cout<<"p = "<<p.t()<<std::endl;*/
-      //std::cout<<"get p down"<<std::endl;
-      Warp->getParamPyramidDown(p,ptemp);
-      p=ptemp;
-      zoneTracked=&zoneTrackedPyr[i];
-
-//      p_sauv[i]=p;
-      /*std::cout<<"p_down = "<<p.t()<<std::endl;
-
-      vpColVector vX_testd(2);vX_testd[0]=15./2.;vX_testd[1]=30./2.;
-      vpColVector vX_testd2(2);
-      Warp->computeCoeff(p);
-      Warp->computeDenom(vX_testd,p);
-      Warp->warpX(vX_testd,vX_testd2,p);
-      std::cout<<2.*vX_testd2[0]<<","<<2.*vX_testd2[1]<<" <=> "<<vX_test2[0]<<","<<vX_test2[1]<<std::endl;*/
+    //    p_sauv[0]=p;
+        for(unsigned int i=1;i<nbLvlPyr;i++)
+        {
+          vpImageFilter::getGaussPyramidal(pyr_I[i-1],pyr_I[i]);
+          //test getParamPyramidDown
+          /*vpColVector vX_test(2);vX_test[0]=15.;vX_test[1]=30.;
+          vpColVector vX_test2(2);
+          Warp->computeCoeff(p);
+          Warp->computeDenom(vX_test,p);
+          Warp->warpX(vX_test,vX_test2,p);
+          std::cout<<"p = "<<p.t()<<std::endl;*/
+          //std::cout<<"get p down"<<std::endl;
+          Warp->getParamPyramidDown(p,ptemp);
+          p=ptemp;
+          zoneTracked=&zoneTrackedPyr[i];
+
+    //      p_sauv[i]=p;
+          /*std::cout<<"p_down = "<<p.t()<<std::endl;
+
+          vpColVector vX_testd(2);vX_testd[0]=15./2.;vX_testd[1]=30./2.;
+          vpColVector vX_testd2(2);
+          Warp->computeCoeff(p);
+          Warp->computeDenom(vX_testd,p);
+          Warp->warpX(vX_testd,vX_testd2,p);
+          std::cout<<2.*vX_testd2[0]<<","<<2.*vX_testd2[1]<<" <=> "<<vX_test2[0]<<","<<vX_test2[1]<<std::endl;*/
 
-    }
+        }
 
-    for(int i=(int)nbLvlPyr-1;i>=0;i--)
-    {
-      if(i>=(int)l0Pyr)
-      {
-        templateSize=templateSizePyr[i];
-        ptTemplate=ptTemplatePyr[i];
-        ptTemplateSelect=ptTemplateSelectPyr[i];
-        ptTemplateSupp=ptTemplateSuppPyr[i];
-        ptTemplateCompo=ptTemplateCompoPyr[i];
-        H=HdesirePyr[i];
-        HLM=HLMdesirePyr[i];
-        HLMdesireInverse=HLMdesireInversePyr[i];
-//        zoneTracked=&zoneTrackedPyr[i];
-        trackRobust(pyr_I[i]);
+        for(int i=(int)nbLvlPyr-1;i>=0;i--)
+        {
+          if(i>=(int)l0Pyr)
+          {
+            templateSize=templateSizePyr[i];
+            ptTemplate=ptTemplatePyr[i];
+            ptTemplateSelect=ptTemplateSelectPyr[i];
+            ptTemplateSupp=ptTemplateSuppPyr[i];
+            ptTemplateCompo=ptTemplateCompoPyr[i];
+            H=HdesirePyr[i];
+            HLM=HLMdesirePyr[i];
+            HLMdesireInverse=HLMdesireInversePyr[i];
+    //        zoneTracked=&zoneTrackedPyr[i];
+            trackRobust(pyr_I[i]);
+          }
+          //std::cout<<"get p up"<<std::endl;
+    //      ptemp=p_sauv[i-1];
+          if (i > 0) {
+            Warp->getParamPyramidUp(p,ptemp);
+            p=ptemp;
+            zoneTracked=&zoneTrackedPyr[i-1];
+          }
+        }
+    #if 0
+        if(l0Pyr==0)
+        {
+          templateSize=templateSizePyr[0];
+          ptTemplate=ptTemplatePyr[0];
+          ptTemplateSelect=ptTemplateSelectPyr[0];
+          ptTemplateSupp=ptTemplateSuppPyr[0];
+          ptTemplateCompo=ptTemplateCompoPyr[0];
+          H=HdesirePyr[0];
+          HLM=HLMdesirePyr[0];
+          HLMdesireInverse=HLMdesireInversePyr[0];
+          zoneTracked=&zoneTrackedPyr[0];
+          trackRobust(pyr_I[0]);
+        }
+
+        if (l0Pyr > 0) {
+    //      for (int l=(int)l0Pyr; l >=0; l--) {
+    //        Warp->getParamPyramidUp(p,ptemp);
+    //        p=ptemp;
+    //      }
+          zoneTracked=&zoneTrackedPyr[0];
+        }
+    #endif
+        //    delete [] p_sauv;
       }
-      //std::cout<<"get p up"<<std::endl;
-//      ptemp=p_sauv[i-1];
-      if (i > 0) {
-        Warp->getParamPyramidUp(p,ptemp);
-        p=ptemp;
-        zoneTracked=&zoneTrackedPyr[i-1];
+      else
+      {
+        //std::cout<<"reviens a tracker de base"<<std::endl;
+        trackRobust(I);
       }
-    }
-#if 0
-    if(l0Pyr==0)
-    {
-      templateSize=templateSizePyr[0];
-      ptTemplate=ptTemplatePyr[0];
-      ptTemplateSelect=ptTemplateSelectPyr[0];
-      ptTemplateSupp=ptTemplateSuppPyr[0];
-      ptTemplateCompo=ptTemplateCompoPyr[0];
-      H=HdesirePyr[0];
-      HLM=HLMdesirePyr[0];
-      HLMdesireInverse=HLMdesireInversePyr[0];
-      zoneTracked=&zoneTrackedPyr[0];
-      trackRobust(pyr_I[0]);
-    }
-
-    if (l0Pyr > 0) {
-//      for (int l=(int)l0Pyr; l >=0; l--) {
-//        Warp->getParamPyramidUp(p,ptemp);
-//        p=ptemp;
-//      }
-      zoneTracked=&zoneTrackedPyr[0];
-    }
-#endif
-    //    delete [] p_sauv;
+      delete[] pyr_I;
   }
-  else
-  {
-    //std::cout<<"reviens a tracker de base"<<std::endl;
-    trackRobust(I);
+  catch(vpException &e){
+      delete[] pyr_I;
+      throw(vpTrackingException(vpTrackingException::badValue, e.getMessage()));
   }
-  delete[] pyr_I;
 }
 
 void vpTemplateTracker::trackRobust(const vpImage<unsigned char> &I)
@@ -923,5 +978,4 @@ void vpTemplateTracker::trackRobust(const vpImage<unsigned char> &I)
   }
   else
     trackNoPyr(I);
-
 }
diff --git a/src/tracking/template-tracker/vpTemplateTracker.h b/src/tracking/template-tracker/vpTemplateTracker.h
index 1fbdeaacb8992fcf46b63fdc6084563dbe653021..cac7730fb2b84b76f25449e4509cc077dfd823c1 100644
--- a/src/tracking/template-tracker/vpTemplateTracker.h
+++ b/src/tracking/template-tracker/vpTemplateTracker.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpTemplateTracker.h 4648 2014-02-07 13:30:07Z ayol $
+ * $Id: vpTemplateTracker.h 5113 2015-01-05 08:00:50Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -171,7 +171,15 @@ class VISP_EXPORT vpTemplateTracker
     void    setGain(double g){gain=g;}
     void    setGaussianFilterSize(unsigned int new_taill);
     void    setHDes(vpMatrix &tH){ Hdesire=tH; vpMatrix::computeHLM(Hdesire,lambdaDep,HLMdesire); HLMdesireInverse = HLMdesire.inverseByLU();}
+    /*!
+      Set the maximum number of iteration of the estimation scheme.
+      \param n : Maximum number of iterations to stop the estimation scheme. A typical value is arround 100.
+     */
     void    setIterationMax(const unsigned int &n) { iterationMax = n ; }
+    /*!
+      Set the convergence gain used in the estimation scheme.
+      \param l : Gain. A typical value is 0.001.
+      */
     void    setLambda(double l) { lambdaDep = l ; }
     void    setNbIterBrent(const unsigned int &b){nbIterBrent=b;}
     void    setp(const vpColVector &tp){ p=tp; diverge=false; iterationGlobale=0; }
@@ -179,8 +187,8 @@ class VISP_EXPORT vpTemplateTracker
      Set the number of pyramid levels used in the multi-resolution scheme.
      If \e nlevels > 1, the tracker uses a pyramidal approach.
 
-     \param nlevels: Number of pyramid levels. Algorithm starts at level nlevels-1.
-     \param level_to_stop: Last level of the pyramid that will be considered. (Lowest level is Zero)
+     \param nlevels : Number of pyramid levels. Algorithm starts at level nlevels-1.
+     \param level_to_stop : Last level of the pyramid that will be considered. Lowest level is zero.
      */
     void    setPyramidal(unsigned int nlevels=2, unsigned int level_to_stop=1) {
         nbLvlPyr = nlevels;
@@ -191,8 +199,15 @@ class VISP_EXPORT vpTemplateTracker
           l0Pyr = nlevels-1;
         }
     }
+    /*!
+      Set the pixel sampling parameters along the rows and the columns.
+      \param sample_i : Sampling factor along the rows.
+      If 1 all the lines are considered. If 2, consider one line over two.
 
-    void    setSampling(int _mod_i,int _mod_j){mod_i=_mod_i;mod_j=_mod_j;}
+      \param sample_j : Sampling factor along the columns.
+      If 1 all the columns are considered. If 2, consider one column over two.
+     */
+    void    setSampling(int sample_i,int sample_j){mod_i=sample_i; mod_j=sample_j;}
     void    setThresholdGradient(double threshold){thresholdGradient=threshold;}
     /*! By default Brent usage is disabled. */
     void    setUseBrent(bool b){useBrent = b;}
diff --git a/src/tracking/template-tracker/warp/vpTemplateTrackerWarp.cpp b/src/tracking/template-tracker/warp/vpTemplateTrackerWarp.cpp
index 7754a79b42c75d5940562b992519b079eeb5208d..23333ef44bf5a03f3012aee974df6be6894d308e 100644
--- a/src/tracking/template-tracker/warp/vpTemplateTrackerWarp.cpp
+++ b/src/tracking/template-tracker/warp/vpTemplateTrackerWarp.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpTemplateTrackerWarp.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpTemplateTrackerWarp.cpp 4782 2014-07-15 13:04:19Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,6 +43,10 @@
 
 void vpTemplateTrackerWarp::warpTriangle(const vpTemplateTrackerTriangle &in,const vpColVector &p, vpTemplateTrackerTriangle &out)
 {
+  if (p.size() < 2) {
+    vpCTRACE << "Bad template tracker warp parameters dimension. Should never occur. " << std::endl;
+    throw(vpException(vpException::dimensionError, "Bad template tracker warp parameters dimension"));
+  }
   vpColVector S1(2),S2(2),S3(2);
   vpColVector rS1(2),rS2(2),rS3(2);
   in.getCorners(S1,S2,S3);
@@ -150,9 +154,9 @@ void vpTemplateTrackerWarp::findWarp(const double *ut0,const double *vt0,const d
     try{
       p+=HLM.inverseByLU()*G;
     }
-    catch(...) {
-      std::cout<<"Cannot inverse the matrix by LU " << std::endl;
-      break;
+    catch(vpException &e) {
+      //std::cout<<"Cannot inverse the matrix by LU " << std::endl;
+      throw(e);
     }
     cpt++;
   }
diff --git a/src/tracking/template-tracker/warp/vpTemplateTrackerWarpHomographySL3.cpp b/src/tracking/template-tracker/warp/vpTemplateTrackerWarpHomographySL3.cpp
index 3e667651f9ca76e0071dca9af3775c06fa5420a1..507fec221a4be1bd1b72f23e3ec107669f7f0f3c 100644
--- a/src/tracking/template-tracker/warp/vpTemplateTrackerWarpHomographySL3.cpp
+++ b/src/tracking/template-tracker/warp/vpTemplateTrackerWarpHomographySL3.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpTemplateTrackerWarpHomographySL3.cpp 4669 2014-02-16 16:25:57Z fspindle $
+ * $Id: vpTemplateTrackerWarpHomographySL3.cpp 4783 2014-07-15 13:07:52Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -107,9 +107,9 @@ void vpTemplateTrackerWarpHomographySL3::findWarp(const double *ut0,const double
     try{
       dp=HLM.inverseByLU()*G_;
     }
-    catch(...){
-      std::cout<<"Cannot inverse the matrix by LU "<<std::endl;
-      break;
+    catch(vpException &e){
+      //std::cout<<"Cannot inverse the matrix by LU "<<std::endl;
+      throw(e);
     }
     pRondp(p,dp,p);
 
diff --git a/src/tracking/template-tracker/zncc/vpTemplateTrackerZNCC.cpp b/src/tracking/template-tracker/zncc/vpTemplateTrackerZNCC.cpp
index d8e866f1647c2fe329245e977954ee191d8a0ce6..1b14af265c20999e05003a9d1bb95e4a2089f4d4 100644
--- a/src/tracking/template-tracker/zncc/vpTemplateTrackerZNCC.cpp
+++ b/src/tracking/template-tracker/zncc/vpTemplateTrackerZNCC.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpTemplateTrackerZNCC.cpp 4666 2014-02-16 16:21:33Z fspindle $
+ * $Id: vpTemplateTrackerZNCC.cpp 4682 2014-02-24 07:56:27Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -126,7 +126,7 @@ double vpTemplateTrackerZNCC::getCost(const vpImage<unsigned char> &I, vpColVect
       Nbpoint++;
     }
   }
-  if(Nbpoint==0)return 10e10;
+  // if(Nbpoint==0)return 10e10; // cannot occur
   //return -nom/sqrt(denom);
   return -nom/sqrt(var1*var2);
 }
diff --git a/src/tracking/template-tracker/zncc/vpTemplateTrackerZNCC.h b/src/tracking/template-tracker/zncc/vpTemplateTrackerZNCC.h
index f0e5141365170030529d3e592db7391a7209c93d..39e45fa86a2f44eed4221eb5367d8b1ae8e4cb10 100644
--- a/src/tracking/template-tracker/zncc/vpTemplateTrackerZNCC.h
+++ b/src/tracking/template-tracker/zncc/vpTemplateTrackerZNCC.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpTemplateTrackerZNCC.h 4666 2014-02-16 16:21:33Z fspindle $
+ * $Id: vpTemplateTrackerZNCC.h 4956 2014-11-12 15:50:23Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -57,7 +57,6 @@
 #include <visp/vpImageTools.h>
 #include <visp/vpImageFilter.h>
 #include <visp/vpMath.h>
-#include <visp/vpList.h>
 #include <visp/vpHomography.h>
 
 #define APPROX_NCC
diff --git a/src/tracking/template-tracker/zncc/vpTemplateTrackerZNCCForwardAdditional.cpp b/src/tracking/template-tracker/zncc/vpTemplateTrackerZNCCForwardAdditional.cpp
index 1954f235a3a2fd38b501baa594e4208cf3fa3f63..98ab0ed8056a8a32a0160e4e3e7fa7c5f280c50a 100644
--- a/src/tracking/template-tracker/zncc/vpTemplateTrackerZNCCForwardAdditional.cpp
+++ b/src/tracking/template-tracker/zncc/vpTemplateTrackerZNCCForwardAdditional.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpTemplateTrackerZNCCForwardAdditional.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpTemplateTrackerZNCCForwardAdditional.cpp 4783 2014-07-15 13:07:52Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -291,7 +291,7 @@ void vpTemplateTrackerZNCCForwardAdditional::trackNoPyr(const vpImage<unsigned c
     //std::cout<<G<<std::endl;
     H=H/sqrt(denom);
 
-    if(Nbpoint==0)std::cout<<"plus de point dans template suivi"<<std::endl;
+    //if(Nbpoint==0)std::cout<<"plus de point dans template suivi"<<std::endl; // cannot occur
 
     try
     {
@@ -299,10 +299,10 @@ void vpTemplateTrackerZNCCForwardAdditional::trackNoPyr(const vpImage<unsigned c
       //dp=1.*HLM.inverseByLU()*G;
       dp=1.*HLMdesireInverse*G;
     }
-    catch(...)
+    catch(vpException &e)
     {
-      std::cout<<"probleme inversion"<<std::endl;
-      break;
+      //std::cout<<"probleme inversion"<<std::endl;
+      throw(e);
     }
 
     dp=gain*dp;
diff --git a/src/tracking/template-tracker/zncc/vpTemplateTrackerZNCCInverseCompositional.cpp b/src/tracking/template-tracker/zncc/vpTemplateTrackerZNCCInverseCompositional.cpp
index 4724275913422984a6d44723bce4ff4a1ea6f9d1..8d9cdcad9c7c7155fc048575e5b705ad06f67218 100644
--- a/src/tracking/template-tracker/zncc/vpTemplateTrackerZNCCInverseCompositional.cpp
+++ b/src/tracking/template-tracker/zncc/vpTemplateTrackerZNCCInverseCompositional.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpTemplateTrackerZNCCInverseCompositional.cpp 4671 2014-02-17 08:59:28Z fspindle $
+ * $Id: vpTemplateTrackerZNCCInverseCompositional.cpp 5264 2015-02-04 13:49:55Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -252,7 +252,7 @@ void vpTemplateTrackerZNCCInverseCompositional::trackNoPyr(const vpImage<unsigne
     vpImageFilter::filter(I, BI,fgG,taillef);
 
   double erreur=0;
-  int Nbpoint=0;
+  unsigned int Nbpoint=0;
   vpColVector dpinv(nbParam);
   double Ic;
   double Iref;
@@ -295,7 +295,7 @@ void vpTemplateTrackerZNCCInverseCompositional::trackNoPyr(const vpImage<unsigne
 
 
     }
-    if(Nbpoint!=0)
+    if(Nbpoint > 0)
     {
       moyIref=moyIref/Nbpoint;
       moyIc=moyIc/Nbpoint;
diff --git a/src/video/vpFFMPEG.cpp b/src/video/vpFFMPEG.cpp
index 744d873c01d2f1961f82200a4a78e804c5a04382..238238a30d6293899225b253b0bf3e1db25e98cd 100644
--- a/src/video/vpFFMPEG.cpp
+++ b/src/video/vpFFMPEG.cpp
@@ -134,8 +134,13 @@ bool vpFFMPEG::openStream(const char *filename, vpFFMPEGColorType colortype)
     {
       videoStream = i;
       //std::cout << "rate: " << pFormatCtx->streams[i]->r_frame_rate.num << " " << pFormatCtx->streams[i]->r_frame_rate.den << std::endl;
+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(55,12,0)
       framerate_stream =  pFormatCtx->streams[i]->r_frame_rate.num;
       framerate_stream /= pFormatCtx->streams[i]->r_frame_rate.den;
+#else
+      framerate_stream =  pFormatCtx->streams[i]->avg_frame_rate.num;
+      framerate_stream /= pFormatCtx->streams[i]->avg_frame_rate.den;
+#endif
       found_codec= true;
       break;
     }
@@ -162,11 +167,19 @@ bool vpFFMPEG::openStream(const char *filename, vpFFMPEGColorType colortype)
       return false;		// Could not open codec
     }
 
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55,34,0)
     pFrame = avcodec_alloc_frame();
-    
+#else
+    pFrame = av_frame_alloc(); // libavcodec 55.34.1
+#endif
+
     if (color_type == vpFFMPEG::COLORED)
     {
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55,34,0)
       pFrameRGB=avcodec_alloc_frame();
+#else
+      pFrameRGB=av_frame_alloc(); // libavcodec 55.34.1
+#endif
     
       if (pFrameRGB == NULL)
         return false;
@@ -176,7 +189,11 @@ bool vpFFMPEG::openStream(const char *filename, vpFFMPEGColorType colortype)
     
     else if (color_type == vpFFMPEG::GRAY_SCALED)
     {
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55,34,0)
       pFrameGRAY=avcodec_alloc_frame();
+#else
+      pFrameGRAY=av_frame_alloc(); // libavcodec 55.34.1
+#endif
     
       if (pFrameGRAY == NULL)
         return false;
@@ -585,7 +602,10 @@ void vpFFMPEG::closeStream()
 {
   if (streamWasOpen)
   {
-    av_free(buffer);
+    if (buffer != NULL) {
+      free(buffer);
+      buffer = NULL;
+    }
     
     if (color_type == vpFFMPEG::COLORED)
       av_free(pFrameRGB);
@@ -666,8 +686,14 @@ bool vpFFMPEG::openEncoder(const char *filename, unsigned int w, unsigned int h,
 #else
   pCodecCtx = avcodec_alloc_context3(NULL);
 #endif
+
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55,34,0)
   pFrame = avcodec_alloc_frame();
   pFrameRGB = avcodec_alloc_frame();
+#else
+  pFrame = av_frame_alloc(); // libavcodec 55.34.1
+  pFrameRGB = av_frame_alloc(); // libavcodec 55.34.1
+#endif
 
   /* put sample parameters */
   pCodecCtx->bit_rate = (int)bit_rate;
@@ -677,7 +703,8 @@ bool vpFFMPEG::openEncoder(const char *filename, unsigned int w, unsigned int h,
   this->width = (int)w;
   this->height = (int)h;
   /* frames per second */
-  pCodecCtx->time_base= (AVRational){1,framerate_encoder};
+  pCodecCtx->time_base.num = 1;
+  pCodecCtx->time_base.den = framerate_encoder;
   pCodecCtx->gop_size = 10; /* emit one intra frame every ten frames */
   pCodecCtx->max_b_frames=1;
   pCodecCtx->pix_fmt = PIX_FMT_YUV420P;
diff --git a/src/video/vpVideoReader.cpp b/src/video/vpVideoReader.cpp
index 187fce0c10f2086c4f1436532783a9a68e925b55..11aef7850b4a62e707e13e88f7fddfba116308e6 100644
--- a/src/video/vpVideoReader.cpp
+++ b/src/video/vpVideoReader.cpp
@@ -1,48 +1,48 @@
 /****************************************************************************
- *
- * $Id: vpImagePoint.h 2359 2009-11-24 15:09:25Z nmelchio $
- *
- * This file is part of the ViSP software.
- * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
- * 
- * This software is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * ("GPL") version 2 as published by the Free Software Foundation.
- * See the file LICENSE.txt at the root directory of this source
- * distribution for additional information about the GNU GPL.
- *
- * For using ViSP with software that can not be combined with the GNU
- * GPL, please contact INRIA about acquiring a ViSP Professional 
- * Edition License.
- *
- * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
- * 
- * This software was developed at:
- * INRIA Rennes - Bretagne Atlantique
- * Campus Universitaire de Beaulieu
- * 35042 Rennes Cedex
- * France
- * http://www.irisa.fr/lagadic
- *
- * If you have questions regarding the use of this file, please contact
- * INRIA at visp@inria.fr
- * 
- * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- *
- * Description:
- * Read videos and image sequences.
- *
- * Authors:
- * Nicolas Melchior
- * Fabien Spindler
- *
- *****************************************************************************/
+*
+* $Id: vpImagePoint.h 2359 2009-11-24 15:09:25Z nmelchio $
+*
+* This file is part of the ViSP software.
+* Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+* 
+* This software is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* ("GPL") version 2 as published by the Free Software Foundation.
+* See the file LICENSE.txt at the root directory of this source
+* distribution for additional information about the GNU GPL.
+*
+* For using ViSP with software that can not be combined with the GNU
+* GPL, please contact INRIA about acquiring a ViSP Professional 
+* Edition License.
+*
+* See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+* 
+* This software was developed at:
+* INRIA Rennes - Bretagne Atlantique
+* Campus Universitaire de Beaulieu
+* 35042 Rennes Cedex
+* France
+* http://www.irisa.fr/lagadic
+*
+* If you have questions regarding the use of this file, please contact
+* INRIA at visp@inria.fr
+* 
+* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+*
+*
+* Description:
+* Read videos and image sequences.
+*
+* Authors:
+* Nicolas Melchior
+* Fabien Spindler
+*
+*****************************************************************************/
 
 /*!
-  \file vpVideoReader.cpp
-  \brief Read videos and image sequences
+\file vpVideoReader.cpp
+\brief Read videos and image sequences
 */
 
 #include <visp/vpDebug.h>
@@ -50,515 +50,716 @@
 
 #include <iostream>
 #include <fstream>
+#include <limits>   // numeric_limits
 
 /*!
-  Basic constructor.
+Basic constructor.
 */
 vpVideoReader::vpVideoReader()
-  : imSequence(NULL),
+	: imSequence(NULL),
 #ifdef VISP_HAVE_FFMPEG
-    ffmpeg(NULL),
+	ffmpeg(NULL),
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020100
+  capture(), frame(),
 #endif
-    formatType(FORMAT_UNKNOWN), initFileName(false), isOpen(false), frameCount(0),
-    firstFrame(0), lastFrame(0), firstFrameIndexIsSet(false), lastFrameIndexIsSet(false)
+	formatType(FORMAT_UNKNOWN), initFileName(false), isOpen(false), frameCount(0),
+	firstFrame(0), lastFrame(0), firstFrameIndexIsSet(false), lastFrameIndexIsSet(false)
 {
 }
 
 /*!
-  Basic destructor.
+Basic destructor.
 */
 vpVideoReader::~vpVideoReader()
 {
-  if (imSequence != NULL)
-  {
-    delete imSequence;
-  }
-  #ifdef VISP_HAVE_FFMPEG
-  if (ffmpeg != NULL)
-  {
-    delete ffmpeg;
-  }
-  #endif
+	if (imSequence != NULL)
+	{
+		delete imSequence;
+	}
+#ifdef VISP_HAVE_FFMPEG
+	if (ffmpeg != NULL)
+	{
+		delete ffmpeg;
+	}
+#endif
 }
 
 
 /*!
-  It enables to set the path and the name of the file(s) which as/have to be read.
-  
-  If you want to read a video file, \f$ filename \f$ corresponds to the path to the file (example : /local/video.mpeg).
-  
-  If you want to read a sequence of images, \f$ filename \f$ corresponds to the path followed by the image name template. For exemple, if you want to read different images named image0001.jpeg, image0002.jpg, ... and located in the folder /local/image, \f$ filename \f$ will be "/local/image/image%04d.jpg". 
-  
-  \param filename : Path to a video file or file name template of a image sequence.
+It enables to set the path and the name of the file(s) which as/have to be read.
+
+If you want to read a video file, \f$ filename \f$ corresponds to the path to the file (example : /local/video.mpeg).
+
+If you want to read a sequence of images, \f$ filename \f$ corresponds to the path followed by the image name template. For exemple, if you want to read different images named image0001.jpeg, image0002.jpg, ... and located in the folder /local/image, \f$ filename \f$ will be "/local/image/image%04d.jpg". 
+
+\param filename : Path to a video file or file name template of a image sequence.
 */
 void vpVideoReader::setFileName(const char *filename)
 {
-  if (filename == '\0')
-  {
-    vpERROR_TRACE("filename empty ") ;
-    throw (vpImageException(vpImageException::noFileNameError,"filename empty ")) ;
-  }
-  
-  if (strlen( filename ) >= FILENAME_MAX) {
-    throw(vpException(vpException::memoryAllocationError,
-                      "Not enough memory to intialize the file name"));
+	if (!filename || *filename == '\0')
+	{
+		vpERROR_TRACE("filename empty ") ;
+		throw (vpImageException(vpImageException::noFileNameError,"filename empty ")) ;
+	}
+
+	if (strlen( filename ) >= FILENAME_MAX) {
+		throw(vpException(vpException::memoryAllocationError,
+			"Not enough memory to intialize the file name"));
+	}
+
+	strcpy(this->fileName,filename);
+
+	formatType = getFormat(fileName);
+
+  if (formatType == FORMAT_UNKNOWN) {
+    throw(vpException(vpException::badValue, "Filename extension not supported"));
   }
 
-  strcpy(this->fileName,filename);
-  
-  formatType = getFormat(fileName);
-  
-  initFileName = true;
+	initFileName = true;
 }
 
 /*!
-  It enables to set the path and the name of the file(s) which as/have to be read.
+It enables to set the path and the name of the file(s) which as/have to be read.
 
-  If you want to read a video file, \f$ filename \f$ corresponds to the path to the file (example : /local/video.mpeg).
+If you want to read a video file, \f$ filename \f$ corresponds to the path to the file (example : /local/video.mpeg).
 
-  If you want to read a sequence of images, \f$ filename \f$ corresponds to the path followed by the image name template. For exemple, if you want to read different images named image0001.jpeg, image0002.jpg, ... and located in the folder /local/image, \f$ filename \f$ will be "/local/image/image%04d.jpg".
+If you want to read a sequence of images, \f$ filename \f$ corresponds to the path followed by the image name template. For exemple, if you want to read different images named image0001.jpeg, image0002.jpg, ... and located in the folder /local/image, \f$ filename \f$ will be "/local/image/image%04d.jpg".
 
-  \param filename : Path to a video file or file name template of a image sequence.
+\param filename : Path to a video file or file name template of a image sequence.
 */
 void vpVideoReader::setFileName(const std::string &filename)
 {
-  setFileName(filename.c_str());
+	setFileName(filename.c_str());
 }
 
 /*!
-  Sets all the parameters needed to read the video or the image sequence.
-  
-  Grab the first frame and stores it in the image \f$ I \f$.
-  
-  \param I : The image where the frame is stored.
+Sets all the parameters needed to read the video or the image sequence.
+
+Grab the first frame and stores it in the image \f$ I \f$.
+
+\param I : The image where the frame is stored.
 */
 void vpVideoReader::open(vpImage< vpRGBa > &I)
 {
-  if (!initFileName)
-  {
-    vpERROR_TRACE("The generic filename has to be set");
-    throw (vpImageException(vpImageException::noFileNameError,"filename empty"));
-  }
-  
-  if (formatType == FORMAT_PGM ||
-      formatType == FORMAT_PPM ||
-      formatType == FORMAT_JPEG ||
-      formatType == FORMAT_PNG ||
-      formatType == FORMAT_TIFF ||
-      formatType == FORMAT_BMP ||
-      formatType == FORMAT_DIB ||
-      formatType == FORMAT_PBM ||
-      formatType == FORMAT_RASTER ||
-      formatType == FORMAT_JPEG2000)
-  {
-    imSequence = new vpDiskGrabber;
-    imSequence->setGenericName(fileName);
-    if (firstFrameIndexIsSet)
-      imSequence->setImageNumber(firstFrame);
-  }
-  #ifdef VISP_HAVE_FFMPEG
-  else if (formatType == FORMAT_AVI ||
-           formatType == FORMAT_MPEG ||
-           formatType == FORMAT_MOV ||
-           formatType == FORMAT_OGV)
-  {
-    ffmpeg = new vpFFMPEG;
-    if(!ffmpeg->openStream(fileName, vpFFMPEG::COLORED))
-      throw (vpException(vpException::ioError ,"Could not open the video"));
-    ffmpeg->initStream();
-  }
-  
-  #else
-  else if (formatType == FORMAT_AVI ||
-           formatType == FORMAT_MPEG ||
-           formatType == FORMAT_MOV ||
-           formatType == FORMAT_OGV)
-  {
-    vpERROR_TRACE("To read video files the FFmpeg library has to be installed");
-    throw (vpException(vpException::fatalError ,"the FFmpeg library is required"));
-  }
-  #endif
-  else if (formatType == FORMAT_UNKNOWN)
-  {
-    vpERROR_TRACE("The format of the file does not correpsond to a readable format.");
-    throw (vpException(vpException::fatalError ,"The format of the file does not correpsond to a readable format."));
-  }
-  
-  findFirstFrameIndex();
-  frameCount = firstFrame;
-  if(!getFrame(I,firstFrame))
-  {
-    vpERROR_TRACE("Could not read the first frame");
-    throw (vpException(vpException::ioError ,"Could not read the first frame"));
-  }
-  height = I.getHeight();
-  width = I.getWidth();
-  
-  isOpen = true;
-  
-  findLastFrameIndex();
+	if (!initFileName)
+	{
+		vpERROR_TRACE("The generic filename has to be set");
+		throw (vpImageException(vpImageException::noFileNameError,"filename empty"));
+	}
+
+	if (isImageExtensionSupported())
+	{
+		imSequence = new vpDiskGrabber;
+		imSequence->setGenericName(fileName);
+		if (firstFrameIndexIsSet)
+			imSequence->setImageNumber(firstFrame);
+	}
+	else if (isVideoExtensionSupported())
+	{
+#ifdef VISP_HAVE_FFMPEG
+		ffmpeg = new vpFFMPEG;
+		if(!ffmpeg->openStream(fileName, vpFFMPEG::COLORED))
+      throw (vpException(vpException::ioError ,"Could not open the video with ffmpeg"));
+		ffmpeg->initStream();
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020100
+		capture.open(fileName);
+
+		if(!capture.isOpened())
+		{
+      throw (vpException(vpException::ioError ,"Could not open the video with opencv"));
+		}
+#else
+    //vpERROR_TRACE("To read video files ViSP should be build with ffmpeg or opencv 3rd party libraries.");
+    throw (vpException(vpException::fatalError ,"To read video files ViSP should be build with ffmpeg or opencv 3rd >= 2.1.0 party libraries."));
+#endif
+	}
+	else if (formatType == FORMAT_UNKNOWN)
+	{
+    //vpERROR_TRACE("The format of the file does not correspond to a readable format.");
+    throw (vpException(vpException::fatalError ,"The format of the file does not correspond to a readable format supported by ViSP."));
+	}
+
+	findFirstFrameIndex();
+	frameCount = firstFrame;
+	if(!getFrame(I, firstFrame))
+	{
+    //vpERROR_TRACE("Could not read the video first frame");
+    throw (vpException(vpException::ioError ,"Could not read the video first frame"));
+	}
+
+	height = I.getHeight();
+	width = I.getWidth();
+
+	isOpen = true;
+	findLastFrameIndex();
 }
 
 
 /*!
-  Sets all the parameters needed to read the video or the image sequence.
-  
-  Grab the first frame and stores it in the image \f$ I \f$.
-  
-  \param I : The image where the frame is stored.
+Sets all the parameters needed to read the video or the image sequence.
+
+Grab the first frame and stores it in the image \f$ I \f$.
+
+\param I : The image where the frame is stored.
 */
 void vpVideoReader::open(vpImage<unsigned char> &I)
 {
-  if (!initFileName)
-  {
-    vpERROR_TRACE("The generic filename has to be set");
-    throw (vpImageException(vpImageException::noFileNameError,"filename empty"));
-  }
-  
-  if (formatType == FORMAT_PGM ||
-      formatType == FORMAT_PPM ||
-      formatType == FORMAT_JPEG ||
-      formatType == FORMAT_PNG ||
-      formatType == FORMAT_TIFF ||
-      formatType == FORMAT_BMP ||
-      formatType == FORMAT_DIB ||
-      formatType == FORMAT_PBM ||
-      formatType == FORMAT_RASTER ||
-      formatType == FORMAT_JPEG2000)
-  {
-    imSequence = new vpDiskGrabber;
-    imSequence->setGenericName(fileName);
-    if (firstFrameIndexIsSet)
-      imSequence->setImageNumber(firstFrame);
-  }
-  #ifdef VISP_HAVE_FFMPEG
-  else if (formatType == FORMAT_AVI ||
-           formatType == FORMAT_MPEG ||
-           formatType == FORMAT_MOV ||
-           formatType == FORMAT_OGV)
-  {
-    ffmpeg = new vpFFMPEG;
-    if (!ffmpeg->openStream(fileName, vpFFMPEG::GRAY_SCALED))
-      throw (vpException(vpException::ioError ,"Could not open the video"));
-    ffmpeg->initStream();
-  }
-  #else
-  else if (formatType == FORMAT_AVI ||
-           formatType == FORMAT_MPEG ||
-           formatType == FORMAT_MOV ||
-           formatType == FORMAT_OGV)
-  {
-    vpERROR_TRACE("To read video files the FFmpeg library has to be installed");
-    throw (vpException(vpException::fatalError ,"the FFmpeg library is required"));
-  }
-  #endif
-  else if (formatType == FORMAT_UNKNOWN)
-  {
-    vpERROR_TRACE("The format of the file does not correpsond to a readable format.");
-    throw (vpException(vpException::fatalError ,"The format of the file does not correpsond to a readable format."));
+	if (!initFileName)
+	{
+		vpERROR_TRACE("The generic filename has to be set");
+		throw (vpImageException(vpImageException::noFileNameError,"filename empty"));
+	}
+
+	if (isImageExtensionSupported())
+	{
+		imSequence = new vpDiskGrabber;
+		imSequence->setGenericName(fileName);
+		if (firstFrameIndexIsSet)
+			imSequence->setImageNumber(firstFrame);
+	}
+	else if (isVideoExtensionSupported())
+	{
+#ifdef VISP_HAVE_FFMPEG
+		ffmpeg = new vpFFMPEG;
+		if (!ffmpeg->openStream(fileName, vpFFMPEG::GRAY_SCALED))
+      throw (vpException(vpException::ioError ,"Could not open the video with ffmpeg"));
+		ffmpeg->initStream();
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020100
+		capture.open(fileName);
+
+		if(!capture.isOpened())
+		{
+      throw (vpException(vpException::ioError ,"Could not open the video with opencv"));
+		}
+#else
+    //vpERROR_TRACE("To read video files ViSP should be build with ffmpeg or opencv 3rd party libraries.");
+    throw (vpException(vpException::fatalError ,"To read video files ViSP should be build with ffmpeg or opencv >= 2.1.0 3rd party libraries."));
+#endif
+	}
+	else if (formatType == FORMAT_UNKNOWN)
+	{
+    //vpERROR_TRACE("The format of the file does not correspond to a readable format.");
+    throw (vpException(vpException::fatalError ,"The format of the file does not correspond to a readable format supported by ViSP."));
   }
-  
-  findFirstFrameIndex();
-  frameCount = firstFrame;
-  if(!getFrame(I,firstFrame))
-  {
-    vpERROR_TRACE("Could not read the first frame");
-    throw (vpException(vpException::ioError ,"Could not read the first frame"));
+
+	findFirstFrameIndex();
+	frameCount = firstFrame;
+	if(!getFrame(I,firstFrame))
+	{
+    //vpERROR_TRACE("Could not read the video first frame");
+    throw (vpException(vpException::ioError ,"Could not read the video first frame"));
   }
-  height = I.getHeight();
-  width = I.getWidth();
-  
-  isOpen = true;
-  
-  findLastFrameIndex();
+
+	height = I.getHeight();
+	width = I.getWidth();
+
+	isOpen = true;
+	findLastFrameIndex();
 }
 
 
 /*!
-  Grabs the current (k) image in the stack of frames and increments the frame counter
-  in order to grab the next image (k+1) during the next use of the method. If open()
-  was not called priviously, this method opens the video reader.
-  
-  This method enables to use the class as frame grabber.
-  
-  \param I : The image where the frame is stored.
+Grabs the current (k) image in the stack of frames and increments the frame counter
+in order to grab the next image (k+1) during the next use of the method. If open()
+was not called previously, this method opens the video reader.
+
+This method enables to use the class as frame grabber.
+
+\param I : The image where the frame is stored.
 */
 void vpVideoReader::acquire(vpImage< vpRGBa > &I)
 {
-  if (!isOpen) {
-    open(I);
+	if (!isOpen) {
+		open(I);
+	}
+
+	//getFrame(I,frameCount);
+	if (imSequence != NULL)
+	{
+		imSequence->acquire(I);
+    frameCount++; // next index
+  }
+#ifdef VISP_HAVE_FFMPEG
+	else if (ffmpeg !=NULL)
+	{
+		ffmpeg->acquire(I);
+    frameCount++; // next index
   }
-  
-  //getFrame(I,frameCount);
-  if (imSequence != NULL)
-    imSequence->acquire(I);
-  #ifdef VISP_HAVE_FFMPEG
-  else if (ffmpeg !=NULL)
-    ffmpeg->acquire(I);
-  #endif
-  
-  frameCount++;
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020100
+	else
+	{
+    capture >> frame;
+#if VISP_HAVE_OPENCV_VERSION >= 0x030000
+    frameCount = (long) capture.get(cv::CAP_PROP_POS_FRAMES); // next index
+#else
+    frameCount = (long) capture.get(CV_CAP_PROP_POS_FRAMES); // next index
+#endif
+
+    if(frame.empty())
+      setLastFrameIndex(frameCount-1);
+    else
+      vpImageConvert::convert(frame, I);
+	}
+#endif
 }
 
 
 /*!
-  Grabs the kth image in the stack of frames and increments the frame counter in order to grab the next image (k+1) during the next use of the method.
-  
-  This method enables to use the class as frame grabber.
-  
-  \param I : The image where the frame is stored.
+Grabs the kth image in the stack of frames and increments the frame counter in order to grab the next image (k+1) during the next use of the method.
+
+This method enables to use the class as frame grabber.
+
+\param I : The image where the frame is stored.
 */
 void vpVideoReader::acquire(vpImage< unsigned char > &I)
 {
-  if (!isOpen) {
-    open(I);
+	if (!isOpen) {
+		open(I);
+	}
+
+	if (imSequence != NULL)
+	{
+		imSequence->acquire(I);
+    frameCount++; // next index
+  }
+#ifdef VISP_HAVE_FFMPEG
+	else if (ffmpeg != NULL)
+	{
+		ffmpeg->acquire(I);
+    frameCount++; // next index
+  }
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020100
+	else
+	{
+    capture >> frame;
+#if VISP_HAVE_OPENCV_VERSION >= 0x030000
+    frameCount = (long) capture.get(cv::CAP_PROP_POS_FRAMES); // next index
+#else
+    frameCount = (long) capture.get(CV_CAP_PROP_POS_FRAMES); // next index
+#endif
+
+    if(frame.empty())
+      setLastFrameIndex(frameCount-1);
+    else
+      vpImageConvert::convert(frame, I);
   }
-  
-  if (imSequence != NULL)
-    imSequence->acquire(I);
-  #ifdef VISP_HAVE_FFMPEG
-  else if (ffmpeg != NULL)
-    ffmpeg->acquire(I);
-  #endif
-  
-  frameCount++;
+#endif
 }
 
 
 /*!
-  Gets the \f$ frame \f$ th frame and stores it in the image  \f$ I \f$.
-  
-  \warning For the video files this method is not precise, and returns the nearest key frame from the expected frame.
-  But this method enables to position the reader where you want. Then, use the acquire method to grab the following images
-  one after one.
-  
-  \param I : The vpImage used to stored the frame.
-  \param frame : The index of the frame which has to be read.
-  
-  \return It returns true if the frame could be read. Else it returns false.
+Gets the \f$ frame \f$ th frame and stores it in the image  \f$ I \f$.
+
+\warning For the video files this method is not precise, and returns the nearest key frame from the expected frame.
+But this method enables to position the reader where you want. Then, use the acquire method to grab the following images
+one after one.
+
+\param I : The vpImage used to stored the frame.
+\param frame_index : The index of the frame which has to be read.
+
+\return It returns true if the frame could be read. Else it returns false.
 */
-bool vpVideoReader::getFrame(vpImage<vpRGBa> &I, long frame)
+bool vpVideoReader::getFrame(vpImage<vpRGBa> &I, long frame_index)
 {
-  if (imSequence != NULL)
+	if (imSequence != NULL)
+	{
+		try
+		{
+      imSequence->acquire(I, frame_index);
+      frameCount = frame_index + 1; // next index
+    }
+		catch(...)
+		{
+      vpERROR_TRACE("Couldn't find the %u th frame", frame_index) ;
+			return false;
+		}
+	}
+  else
   {
-    try
+#ifdef VISP_HAVE_FFMPEG
+    if(!ffmpeg->getFrame(I, (unsigned int)frame_index))
     {
-      imSequence->acquire(I, frame);
+      vpERROR_TRACE("Couldn't find the %ld th frame", frame_index) ;
+      return false;
     }
-    catch(...)
+    frameCount = frame_index + 1;  // next index
+#elif defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x030000)
+    if(!capture.set(cv::CAP_PROP_POS_FRAMES, frame_index))
     {
-      vpERROR_TRACE("Couldn't find the %u th frame", frame) ;
+      vpERROR_TRACE("Couldn't find the %ld th frame", frame_index) ;
       return false;
     }
-  }
-  #ifdef VISP_HAVE_FFMPEG
-  else
-  {
-    
-    if(!ffmpeg->getFrame(I, (unsigned int)frame))
+
+    capture >> frame;
+    frameCount = (long) capture.get(cv::CAP_PROP_POS_FRAMES); // next index
+    if(frame.empty())
+      setLastFrameIndex(frameCount-1);
+    else
+      vpImageConvert::convert(frame, I);
+#elif defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020100)
+    if(!capture.set(CV_CAP_PROP_POS_FRAMES, frame_index))
     {
-      vpERROR_TRACE("Couldn't find the %ld th frame", frame) ;
+      vpERROR_TRACE("Couldn't find the %ld th frame", frame_index) ;
       return false;
     }
+
+    capture >> frame;
+    frameCount = (long) capture.get(CV_CAP_PROP_POS_FRAMES); // next index
+    if(frame.empty())
+      setLastFrameIndex(frameCount-1);
+    else
+      vpImageConvert::convert(frame, I);
+#endif
   }
-  #endif
-  return true;
+
+	return true;
 }
 
 
 /*!
-  Gets the \f$ frame \f$ th frame and stores it in the image  \f$ I \f$.
-  
-  \warning For the video files this method is not precise, and returns the nearest key frame from the expected frame.
-  But this method enables to position the reader where you want. Then, use the acquire method to grab the following images
-  one after one.
-  
-  \param I : The vpImage used to stored the frame.
-  \param frame : The index of the frame which has to be read.
-  
-  \return It returns true if the frame could be read. Else it returns false.
+Gets the \f$ frame \f$ th frame and stores it in the image  \f$ I \f$.
+
+\warning For the video files this method is not precise, and returns the nearest key frame from the expected frame.
+But this method enables to position the reader where you want. Then, use the acquire method to grab the following images
+one after one.
+
+\param I : The vpImage used to stored the frame.
+\param frame_index : The index of the frame which has to be read.
+
+\return It returns true if the frame could be read. Else it returns false.
 */
-bool vpVideoReader::getFrame(vpImage<unsigned char> &I, long frame)
+bool vpVideoReader::getFrame(vpImage<unsigned char> &I, long frame_index)
 {
-  if (imSequence != NULL)
+	if (imSequence != NULL)
+	{
+		try
+		{
+      imSequence->acquire(I, frame_index);
+      frameCount = frame_index + 1;
+    }
+		catch(...)
+		{
+      vpERROR_TRACE("Couldn't find the %u th frame", frame_index) ;
+			return false;
+		}
+	}
+  else
   {
-    try
+#ifdef VISP_HAVE_FFMPEG
+    if(!ffmpeg->getFrame(I, (unsigned int)frame_index))
     {
-      imSequence->acquire(I, frame);
+      vpERROR_TRACE("Couldn't find the %ld th frame", frame_index) ;
+      return false;
     }
-    catch(...)
+    frameCount = frame_index + 1;  // next index
+#elif VISP_HAVE_OPENCV_VERSION >= 0x030000
+    if(!capture.set(cv::CAP_PROP_POS_FRAMES, frame_index))
     {
-      vpERROR_TRACE("Couldn't find the %u th frame", frame) ;
+      vpERROR_TRACE("Couldn't find the %ld th frame", frame_index) ;
       return false;
     }
-  }
-  #ifdef VISP_HAVE_FFMPEG
-  else
-  {
-    if(!ffmpeg->getFrame(I, (unsigned int)frame))
+    capture >> frame;
+    frameCount = (long) capture.get(cv::CAP_PROP_POS_FRAMES); // next index
+    if(frame.empty())
+      setLastFrameIndex(frameCount-1);
+    else
+      vpImageConvert::convert(frame, I);
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020100
+    if(!capture.set(CV_CAP_PROP_POS_FRAMES, frame_index))
     {
-      vpERROR_TRACE("Couldn't find the %ld th frame", frame) ;
+      vpERROR_TRACE("Couldn't find the %ld th frame", frame_index); // next index
       return false;
     }
+    capture >> frame;
+    frameCount = (long) capture.get(CV_CAP_PROP_POS_FRAMES);
+    if(frame.empty())
+      setLastFrameIndex(frameCount-1);
+    else
+      vpImageConvert::convert(frame, I);
+#endif
   }
-  #endif
-  return true;
+
+	return true;
 }
 
 
 /*!
-  Gets the format of the file(s) which has/have to be read.
-  
-  \return Returns the format.
+Gets the format of the file(s) which has/have to be read.
+
+\return Returns the format.
 */
 vpVideoReader::vpVideoFormatType
-vpVideoReader::getFormat(const char *filename)
-{
-  std::string sfilename(filename);
-
-  std::string ext = vpVideoReader::getExtension(sfilename);
-
-  if (ext.compare(".PGM") == 0)
-    return FORMAT_PGM;
-  else if (ext.compare(".pgm") == 0)
-    return FORMAT_PGM;
-  else if (ext.compare(".PPM") == 0)
-    return FORMAT_PPM;
-  else if (ext.compare(".ppm") == 0)
-    return FORMAT_PPM;
-  else if (ext.compare(".JPG") == 0)
-    return FORMAT_JPEG;
-  else if (ext.compare(".jpg") == 0)
-    return FORMAT_JPEG;
-  else if (ext.compare(".JPEG") == 0)
-    return FORMAT_JPEG;
-  else if (ext.compare(".jpeg") == 0)
-    return FORMAT_JPEG;
-  else if (ext.compare(".PNG") == 0)
-    return FORMAT_PNG;
-  else if (ext.compare(".png") == 0)
-    return FORMAT_PNG;
+	vpVideoReader::getFormat(const char *filename)
+{  
+	std::string sfilename(filename);
+
+	std::string ext = vpVideoReader::getExtension(sfilename);
+
+	if (ext.compare(".PGM") == 0)
+		return FORMAT_PGM;
+	else if (ext.compare(".pgm") == 0)
+		return FORMAT_PGM;
+	else if (ext.compare(".PPM") == 0)
+		return FORMAT_PPM;
+	else if (ext.compare(".ppm") == 0)
+		return FORMAT_PPM;
+	else if (ext.compare(".JPG") == 0)
+		return FORMAT_JPEG;
+	else if (ext.compare(".jpg") == 0)
+		return FORMAT_JPEG;
+	else if (ext.compare(".JPEG") == 0)
+		return FORMAT_JPEG;
+	else if (ext.compare(".jpeg") == 0)
+		return FORMAT_JPEG;
+	else if (ext.compare(".PNG") == 0)
+		return FORMAT_PNG;
+	else if (ext.compare(".png") == 0)
+		return FORMAT_PNG;
+  else if (ext.compare(".TIFF") == 0)
+    return FORMAT_TIFF;
+  else if (ext.compare(".tiff") == 0)
+    return FORMAT_TIFF;
+  else if (ext.compare(".BMP") == 0)
+    return FORMAT_BMP;
+  else if (ext.compare(".bmp") == 0)
+    return FORMAT_BMP;
+  else if (ext.compare(".DIB") == 0)
+    return FORMAT_DIB;
+  else if (ext.compare(".dib") == 0)
+    return FORMAT_DIB;
+  else if (ext.compare(".PBM") == 0)
+    return FORMAT_PBM;
+  else if (ext.compare(".PBM") == 0)
+    return FORMAT_PBM;
+  else if (ext.compare(".SR") == 0)
+    return FORMAT_PBM;
+  else if (ext.compare(".sr") == 0)
+    return FORMAT_PBM;
+  else if (ext.compare(".RAS") == 0)
+    return FORMAT_RASTER;
+  else if (ext.compare(".ras") == 0)
+    return FORMAT_RASTER;
+  else if (ext.compare(".JP2") == 0)
+    return FORMAT_JPEG2000;
+  else if (ext.compare(".jp2") == 0)
+    return FORMAT_JPEG2000;
   else if (ext.compare(".AVI") == 0)
-    return FORMAT_AVI;
-  else if (ext.compare(".avi") == 0)
-    return FORMAT_AVI;
-  else if (ext.compare(".MPEG") == 0)
-    return FORMAT_MPEG;
-  else if (ext.compare(".mpeg") == 0)
-    return FORMAT_MPEG;
-  else if (ext.compare(".MPG") == 0)
-    return FORMAT_MPEG;
-  else if (ext.compare(".mpg") == 0)
-    return FORMAT_MPEG;
-  else if (ext.compare(".MOV") == 0)
-    return FORMAT_MOV;
-  else if (ext.compare(".mov") == 0)
-    return FORMAT_MOV;
-  else if (ext.compare(".OGV") == 0)
-    return FORMAT_OGV;
-  else if (ext.compare(".ogv") == 0)
-    return FORMAT_OGV;
-  else
-    return FORMAT_UNKNOWN;
+		return FORMAT_AVI;
+	else if (ext.compare(".avi") == 0)
+		return FORMAT_AVI;
+	else if (ext.compare(".MPEG") == 0)
+		return FORMAT_MPEG;
+	else if (ext.compare(".mpeg") == 0)
+		return FORMAT_MPEG;
+	else if (ext.compare(".MPG") == 0)
+		return FORMAT_MPEG;
+	else if (ext.compare(".mpg") == 0)
+		return FORMAT_MPEG;
+	else if (ext.compare(".MPEG4") == 0)
+		return FORMAT_MPEG4;
+	else if (ext.compare(".mpeg4") == 0)
+		return FORMAT_MPEG4;
+	else if (ext.compare(".MP4") == 0)
+		return FORMAT_MPEG4;
+	else if (ext.compare(".mp4") == 0)
+		return FORMAT_MPEG4;
+	else if (ext.compare(".MOV") == 0)
+		return FORMAT_MOV;
+	else if (ext.compare(".mov") == 0)
+		return FORMAT_MOV;
+	else if (ext.compare(".OGV") == 0)
+		return FORMAT_OGV;
+	else if (ext.compare(".ogv") == 0)
+		return FORMAT_OGV;
+	else if (ext.compare(".WMV") == 0)
+		return FORMAT_WMV;
+	else if (ext.compare(".wmv") == 0)
+		return FORMAT_WMV;
+	else if (ext.compare(".FLV") == 0)
+		return FORMAT_FLV;
+	else if (ext.compare(".flv") == 0)
+		return FORMAT_FLV;
+	else if (ext.compare(".MKV") == 0)
+		return FORMAT_MKV;
+	else if (ext.compare(".mkv") == 0)
+		return FORMAT_MKV;
+	else
+		return FORMAT_UNKNOWN;
 }
 
 // return the extension of the file including the dot
 std::string vpVideoReader::getExtension(const std::string &filename)
 {
-  // extract the extension
-  size_t dot = filename.find_last_of(".");
-  std::string ext = filename.substr(dot, filename.size()-1);
-  return ext;
+	// extract the extension
+	size_t dot = filename.find_last_of(".");
+	std::string ext = filename.substr(dot, filename.size()-1);
+	return ext;
 }
 
 
 /*!
-  Get the last frame index (update the lastFrame attribute).
+Get the last frame index (update the lastFrame attribute).
 */
 void
-vpVideoReader::findLastFrameIndex()
+	vpVideoReader::findLastFrameIndex()
 {
-  if (!isOpen)
-  {
-    vpERROR_TRACE("Use the open method before");
-    throw (vpException(vpException::notInitialized,"file not yet opened"));
-  }
+	if (!isOpen)
+	{
+		vpERROR_TRACE("Use the open method before");
+		throw (vpException(vpException::notInitialized,"file not yet opened"));
+	}
+
+	if (imSequence != NULL)
+	{
+		if (! lastFrameIndexIsSet) {
+			char name[FILENAME_MAX];
+			int image_number = firstFrame;
+			bool failed;
+			do
+			{
+				std::fstream file;
+				sprintf(name,fileName,image_number) ;
+				file.open(name, std::ios::in);
+				failed = file.fail();
+        if (!failed) {
+          file.close();
+          image_number++;
+        }
+			}while(!failed);
+
+			lastFrame = image_number;
+		}
+	}
 
-  if (imSequence != NULL)
+#ifdef VISP_HAVE_FFMPEG
+	else if (ffmpeg != NULL) {
+		if (! lastFrameIndexIsSet) {
+      lastFrame = (long)(ffmpeg->getFrameNumber());
+		}
+	}
+#elif VISP_HAVE_OPENCV_VERSION >= 0x030000
+  else if (! lastFrameIndexIsSet)
   {
-    if (! lastFrameIndexIsSet) {
-      char name[FILENAME_MAX];
-      int image_number = firstFrame;
-      bool failed;
-      do
-      {
-        std::fstream file;
-        sprintf(name,fileName,image_number) ;
-        file.open(name, std::ios::in);
-        failed = file.fail();
-        if (!failed) file.close();
-        image_number++;
-      }while(!failed);
-
-      lastFrame = image_number - 2;
+    lastFrame = (long) capture.get(cv::CAP_PROP_FRAME_COUNT);
+    if(lastFrame <= 2) // with tutorial/matching/video-postcard.mpeg it return 2 with OpenCV 3.0.0
+    {
+      //std::cout << "Warning: Problem with cv::CAP_PROP_FRAME_COUNT. We set video last frame to an arbitrary value (1000)." << std::endl;
+      lastFrame = 100000; // Set lastFrame to an arbitrary value
     }
+    lastFrame--; //Last frame index = total frame count - 1
   }
-
-#ifdef VISP_HAVE_FFMPEG
-  else if (ffmpeg != NULL) {
-    if (! lastFrameIndexIsSet) {
-      lastFrame = (long)(ffmpeg->getFrameNumber() - 1);
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020100
+  else if (! lastFrameIndexIsSet)
+  {
+    lastFrame = (long) capture.get(CV_CAP_PROP_FRAME_COUNT);
+    if(lastFrame <= 2) // with tutorial/matching/video-postcard.mpeg it return 2 with OpenCV 2.4.10
+    {
+      //std::cout << "Warning: Problem with CV_CAP_PROP_FRAME_COUNT. We set video last frame to an arbitrary value (1000)." << std::endl;
+      lastFrame = 100000; // Set lastFrame to an arbitrary value
     }
+    lastFrame--; //Last frame index = total frame count - 1
   }
-  #endif
+#endif
 }
 /*!
-  Get the first frame index (update the firstFrame attribute).
+Get the first frame index (update the firstFrame attribute).
 */
 void
-vpVideoReader::findFirstFrameIndex()
+	vpVideoReader::findFirstFrameIndex()
 {
-  if (imSequence != NULL)
-  {
-    if (! firstFrameIndexIsSet) {
-      char name[FILENAME_MAX];
-      int image_number = 0;
-      bool failed;
-      do {
-        std::fstream file;
-        sprintf(name, fileName, image_number) ;
-        file.open(name, std::ios::in);
-        failed = file.fail();
-        if (!failed) file.close();
-        image_number++;
-      } while(failed);
-
-      firstFrame = image_number - 1;
-      imSequence->setImageNumber(firstFrame);
-    }
-  }
-
-  #ifdef VISP_HAVE_FFMPEG
-  else if (ffmpeg != NULL) {
-    if (! firstFrameIndexIsSet) {
-      firstFrame = (long)(0);
-    }
-  }
-  #endif
+	if (imSequence != NULL)
+	{
+		if (! firstFrameIndexIsSet) {
+			char name[FILENAME_MAX];
+			int image_number = 0;
+			bool failed;
+			do {
+				std::fstream file;
+				sprintf(name, fileName, image_number) ;
+				file.open(name, std::ios::in);
+				failed = file.fail();
+				if (!failed) file.close();
+				image_number++;
+			} while(failed);
+
+			firstFrame = image_number - 1;
+			imSequence->setImageNumber(firstFrame);
+		}
+	}
+#ifdef VISP_HAVE_FFMPEG
+	else if (ffmpeg != NULL) {
+		if (! firstFrameIndexIsSet) {
+			firstFrame = (long)(0);
+		}
+	}
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020100
+	else if (! firstFrameIndexIsSet)
+	{		
+		firstFrame = (long) (0);		
+	}
+#endif
 }
 
 /*!
-  Return the framerate in Hz used to encode the video stream.
+Return the framerate in Hz used to encode the video stream.
 
-  If the video is a sequence of images, return -1.
-  */
-double vpVideoReader::getFramerate() const
+If the video is a sequence of images, return -1.
+*/
+double vpVideoReader::getFramerate()
 {
-  double framerate = -1.;
+	double framerate = -1.;
 
 #ifdef VISP_HAVE_FFMPEG
-  if (ffmpeg != NULL)
-    framerate = ffmpeg->getFramerate();
+	if (ffmpeg != NULL)
+	{
+		framerate = ffmpeg->getFramerate();
+	}
+#elif VISP_HAVE_OPENCV_VERSION >= 0x030000
+   framerate = capture.get(cv::CAP_PROP_FPS);
+   // if(framerate == 0)
+   if(std::fabs(framerate) <= std::numeric_limits<double>::epsilon())
+   {
+    vpERROR_TRACE("Problem with cv::CAP_PROP_FPS") ;
+   }
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020100
+   framerate = capture.get(CV_CAP_PROP_FPS);
+   // if(framerate == 0)
+   if(std::fabs(framerate) <= std::numeric_limits<double>::epsilon())
+   {
+    vpERROR_TRACE("Problem with CV_CAP_PROP_FPS") ;
+   }
 #endif
-  return framerate;
+	return framerate;
+}
+
+/*!
+Return true if the image file extension is supported, false otherwise.
+*/
+bool vpVideoReader::isImageExtensionSupported()
+{
+  return (formatType == FORMAT_PGM ||
+          formatType == FORMAT_PPM ||
+          formatType == FORMAT_JPEG ||
+          formatType == FORMAT_PNG ||
+          formatType == FORMAT_TIFF ||
+          formatType == FORMAT_BMP ||
+          formatType == FORMAT_DIB ||
+          formatType == FORMAT_PBM ||
+          formatType == FORMAT_RASTER ||
+          formatType == FORMAT_JPEG2000);
+}
+
+/*!
+Return true if the video file extension is supported, false otherwise.
+*/
+bool vpVideoReader::isVideoExtensionSupported()
+{
+	return (formatType == FORMAT_AVI ||
+		formatType == FORMAT_MPEG ||
+		formatType == FORMAT_MPEG4 ||
+		formatType == FORMAT_MOV ||
+		formatType == FORMAT_OGV || 
+		formatType == FORMAT_WMV ||
+		formatType == FORMAT_FLV ||
+		formatType == FORMAT_MKV);
 }
diff --git a/src/video/vpVideoReader.h b/src/video/vpVideoReader.h
index e0da5a4cd10a9f77553bf57adcfe0ba7a6d8668c..7bd511da7a072dfdaceebf8e3ce64d4ccf10ac5b 100644
--- a/src/video/vpVideoReader.h
+++ b/src/video/vpVideoReader.h
@@ -53,6 +53,12 @@
 #include <visp/vpDiskGrabber.h>
 #include <visp/vpFFMPEG.h>
 
+#if VISP_HAVE_OPENCV_VERSION >= 0x020200
+#include "opencv2/highgui/highgui.hpp"
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020000
+#include "opencv/highgui.h"
+#endif
+
 /*!
   \class vpVideoReader
 
@@ -62,9 +68,9 @@
   images. As it inherits from the vpFrameGrabber Class, it can be used like an
   other frame grabber class.
   
-  The following example available in tutorial-grabber-video.cpp shows how this
+  The following example available in tutorial-video-reader.cpp shows how this
   class is really easy to use. It enables to read a video file named video.mpeg.
-  \include tutorial-grabber-video.cpp
+  \include tutorial-video-reader.cpp
 
   As shown in the next example, this class allows also to access to a specific
   frame. But be careful, for video files, the getFrame() method is not precise
@@ -162,6 +168,10 @@ class VISP_EXPORT vpVideoReader : public vpFrameGrabber
 #ifdef VISP_HAVE_FFMPEG
     //!To read video files
     vpFFMPEG *ffmpeg;
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020100
+    //!To read video files with OpenCV
+    cv::VideoCapture capture;
+    cv::Mat frame;
 #endif
     //!Types of available formats
     typedef enum
@@ -180,8 +190,12 @@ class VISP_EXPORT vpVideoReader : public vpFrameGrabber
       // Video format
       FORMAT_AVI,
       FORMAT_MPEG,
+      FORMAT_MPEG4,
       FORMAT_MOV,
       FORMAT_OGV,
+      FORMAT_WMV,
+      FORMAT_FLV,
+      FORMAT_MKV,
       FORMAT_UNKNOWN
     } vpVideoFormatType;
     
@@ -195,7 +209,7 @@ class VISP_EXPORT vpVideoReader : public vpFrameGrabber
     //!Indicates if the video is "open".
     bool isOpen;
     //!Count the frame number when the class is used as a grabber.
-    long frameCount;
+    long frameCount; // Index of the next image
     //!The first frame index
     long firstFrame;
     //!The last frame index
@@ -221,10 +235,10 @@ class VISP_EXPORT vpVideoReader : public vpFrameGrabber
     }
     bool getFrame(vpImage<vpRGBa> &I, long frame);
     bool getFrame(vpImage<unsigned char> &I, long frame);
-    double getFramerate() const;
+    double getFramerate();
 
     /*!
-      Get the current frame index. This index is updated at each call of the
+      Get the frame index of the next image. This index is updated at each call of the
       acquire method. It can be used to detect the end of a file (comparison
       with getLastFrameIndex()).
 
@@ -232,6 +246,12 @@ class VISP_EXPORT vpVideoReader : public vpFrameGrabber
     */
     inline long getFrameIndex() const { return frameCount;}
 
+    /*!
+      Gets the first frame index.
+
+      \return Returns the first frame index.
+    */
+    inline long getFirstFrameIndex() const {return firstFrame;}
     /*!
       Gets the last frame index.
 
@@ -280,6 +300,8 @@ class VISP_EXPORT vpVideoReader : public vpFrameGrabber
     static std::string getExtension(const std::string &filename);
     void findFirstFrameIndex();
     void findLastFrameIndex();
+	bool isImageExtensionSupported();
+	bool isVideoExtensionSupported();
 };
 
 #endif
diff --git a/src/video/vpVideoWriter.cpp b/src/video/vpVideoWriter.cpp
index 9451e74fbef5b8ba983c6bc3af2b10ae58c554c6..82720a16c610923e90c3bcb6761468204f377268 100755
--- a/src/video/vpVideoWriter.cpp
+++ b/src/video/vpVideoWriter.cpp
@@ -48,11 +48,15 @@
 #include <visp/vpDebug.h>
 #include <visp/vpVideoWriter.h>
 
+#if VISP_HAVE_OPENCV_VERSION >= 0x020200
+#  include <opencv2/imgproc/imgproc.hpp>
+#endif
+
+
 /*!
   Basic constructor.
 */
-vpVideoWriter::vpVideoWriter()
-  :
+vpVideoWriter::vpVideoWriter() :
 #ifdef VISP_HAVE_FFMPEG
     ffmpeg(NULL),
 #  if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(54,51,110) // libavcodec 54.51.100
@@ -62,6 +66,8 @@ vpVideoWriter::vpVideoWriter()
 #  endif
     bit_rate(500000),
     framerate(25),
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020100
+    writer(), fourcc(0), framerate(0.),
 #endif
     formatType(FORMAT_UNKNOWN), initFileName(false), isOpen(false), frameCount(0),
     firstFrame(0), width(0), height(0)
@@ -80,6 +86,12 @@ vpVideoWriter::vpVideoWriter()
 #  endif
   bit_rate = 500000;
   framerate = 25;
+#elif VISP_HAVE_OPENCV_VERSION >= 0x030000
+  framerate = 25.0;
+  fourcc = cv::VideoWriter::fourcc('P','I','M','1');
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020100
+  framerate = 25.0;
+  fourcc = CV_FOURCC('P','I','M','1'); // default is a MPEG-1 codec
 #endif
 }
 
@@ -105,7 +117,7 @@ vpVideoWriter::~vpVideoWriter()
 */
 void vpVideoWriter::setFileName(const char *filename)
 {
-  if (filename == '\0')
+  if (!filename || *filename == '\0')
   {
     vpERROR_TRACE("filename empty ") ;
     throw (vpImageException(vpImageException::noFileNameError,"filename empty ")) ;
@@ -119,6 +131,10 @@ void vpVideoWriter::setFileName(const char *filename)
   strcpy(this->fileName,filename);
   
   formatType = getFormat(fileName);
+
+  if (formatType == FORMAT_UNKNOWN) {
+    throw(vpException(vpException::badValue, "Filename extension not supported"));
+  }
   
   initFileName = true;
 }
@@ -156,27 +172,31 @@ void vpVideoWriter::open(vpImage< vpRGBa > &I)
     width = I.getWidth();
     height = I.getHeight();
   }
-  #ifdef VISP_HAVE_FFMPEG
   else if (formatType == FORMAT_AVI ||
            formatType == FORMAT_MPEG ||
+           formatType == FORMAT_MPEG4 ||
            formatType == FORMAT_MOV)
   {
+#ifdef VISP_HAVE_FFMPEG
     ffmpeg = new vpFFMPEG;
     ffmpeg->setFramerate(framerate);
     ffmpeg->setBitRate(bit_rate);
-    if(!ffmpeg->openEncoder(fileName, I.getWidth(), I.getHeight(), codec))
-      throw (vpException(vpException::ioError ,"Could not open the video"));
-  }
-  
-  #else
-  else if (formatType == FORMAT_AVI ||
-           formatType == FORMAT_MPEG ||
-           formatType == FORMAT_MOV)
-  {
-    vpERROR_TRACE("To write video files the FFmpeg library has to be installed");
-    throw (vpException(vpException::fatalError ,"the FFmpeg library is required"));
+    if(!ffmpeg->openEncoder(fileName, I.getWidth(), I.getHeight(), codec)) {
+      throw (vpException(vpException::ioError ,"Could not open encode the video with ffmpeg"));
+    }
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020100
+    writer = cv::VideoWriter(fileName, fourcc, framerate, cv::Size((int)I.getWidth(), (int)I.getHeight()));
+
+    if(!writer.isOpened())
+    {
+      //vpERROR_TRACE("Could not open encode the video with opencv");
+      throw (vpException(vpException::fatalError , "Could not open encode the video with opencv"));
+    }
+#else
+    //vpERROR_TRACE("To encode video files ViSP should be build with ffmpeg or opencv 3rd party libraries.");
+    throw (vpException(vpException::fatalError ,"To encode video files ViSP should be build with ffmpeg or opencv 3rd >= 2.1.0 party libraries."));
+#endif
   }
-  #endif
   
   frameCount = firstFrame;
   
@@ -205,27 +225,31 @@ void vpVideoWriter::open(vpImage< unsigned char > &I)
     width = I.getWidth();
     height = I.getHeight();
   }
-  #ifdef VISP_HAVE_FFMPEG
   else if (formatType == FORMAT_AVI ||
            formatType == FORMAT_MPEG ||
+           formatType == FORMAT_MPEG4 ||
            formatType == FORMAT_MOV)
   {
+#ifdef VISP_HAVE_FFMPEG
     ffmpeg = new vpFFMPEG;
     ffmpeg->setFramerate(framerate);
     ffmpeg->setBitRate(bit_rate);
-    if(!ffmpeg->openEncoder(fileName, I.getWidth(), I.getHeight(), codec))
-      throw (vpException(vpException::ioError ,"Could not open the video"));
-  }
-  
-  #else
-  else if (formatType == FORMAT_AVI ||
-           formatType == FORMAT_MPEG ||
-           formatType == FORMAT_MOV)
-  {
-    vpERROR_TRACE("To write video files the FFmpeg library has to be installed");
-    throw (vpException(vpException::fatalError ,"the FFmpeg library is required"));
+    if(!ffmpeg->openEncoder(fileName, I.getWidth(), I.getHeight(), codec)) {
+      throw (vpException(vpException::ioError ,"Could not encode the video with ffmpeg"));
+    }
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020100
+    writer = cv::VideoWriter(fileName, fourcc, framerate, cv::Size((int)I.getWidth(), (int)I.getHeight()));
+
+    if(!writer.isOpened())
+    {
+      vpERROR_TRACE("Could not encode the video with opencv");
+      throw (vpException(vpException::ioError ,"Could not encode the video with opencv"));
+    }
+#else
+    //vpERROR_TRACE("To encode video files ViSP should be build with ffmpeg or opencv 3rd party libraries.");
+    throw (vpException(vpException::fatalError ,"To encode video files ViSP should be build with ffmpeg or opencv 3rd >= 2.1.0 party libraries."));
+#endif
   }
-  #endif
   
   frameCount = firstFrame;
   
@@ -260,13 +284,16 @@ void vpVideoWriter::saveFrame (vpImage< vpRGBa > &I)
 
     vpImageIo::write(I, name);
   }
-  
-  #ifdef VISP_HAVE_FFMPEG
   else
   {
+#ifdef VISP_HAVE_FFMPEG
     ffmpeg->saveFrame(I);
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020100
+	  cv::Mat matFrame;
+	  vpImageConvert::convert(I, matFrame);
+	  writer << matFrame;
+#endif
   }
-  #endif
 
   frameCount++;
 }
@@ -298,13 +325,22 @@ void vpVideoWriter::saveFrame (vpImage< unsigned char > &I)
 
     vpImageIo::write(I, name);
   }
-  
-  #ifdef VISP_HAVE_FFMPEG
   else
   {
+#ifdef VISP_HAVE_FFMPEG
     ffmpeg->saveFrame(I);
+#elif VISP_HAVE_OPENCV_VERSION >= 0x030000
+    cv::Mat matFrame, rgbMatFrame;
+    vpImageConvert::convert(I, matFrame);
+    cv::cvtColor(matFrame, rgbMatFrame, cv::COLOR_GRAY2BGR);
+    writer << rgbMatFrame;
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020100
+    cv::Mat matFrame, rgbMatFrame;
+    vpImageConvert::convert(I, matFrame);
+    cv::cvtColor(matFrame, rgbMatFrame, CV_GRAY2BGR);
+    writer << rgbMatFrame;
+#endif
   }
-  #endif
 
   frameCount++;
 }
@@ -373,6 +409,14 @@ vpVideoWriter::getFormat(const char *filename)
     return FORMAT_MPEG;
   else if (ext.compare(".mpg") == 0)
     return FORMAT_MPEG;
+  else if (ext.compare(".MPEG4") == 0)
+    return FORMAT_MPEG4;
+  else if (ext.compare(".mpeg4") == 0)
+    return FORMAT_MPEG4;
+  else if (ext.compare(".MP4") == 0)
+    return FORMAT_MPEG4;
+  else if (ext.compare(".mp4") == 0)
+    return FORMAT_MPEG4;
   else if (ext.compare(".MOV") == 0)
     return FORMAT_MOV;
   else if (ext.compare(".mov") == 0)
diff --git a/src/video/vpVideoWriter.h b/src/video/vpVideoWriter.h
index d8b50e0bd1eef075ca78fed9f865124ed66f5c47..bac0aa2de49dd2de29b0692e528b68f645847ae8 100755
--- a/src/video/vpVideoWriter.h
+++ b/src/video/vpVideoWriter.h
@@ -52,6 +52,13 @@
 #include <visp/vpImageIo.h>
 #include <visp/vpFFMPEG.h>
 
+#if VISP_HAVE_OPENCV_VERSION >= 0x020200
+#  include <opencv2/highgui/highgui.hpp>
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020000
+#  include <opencv/highgui.h>
+#endif
+
+
 /*!
   \class vpVideoWriter
 
@@ -59,7 +66,12 @@
 
   \brief Class that enables to write easily a video file or a sequence of images.
  
-  The following example shows how this class is really easy to use. It enable to write an image sequence. The images are stored in the folder "./image" and are named "image0000.jpeg", "image0001.jpeg", "image0002.jpeg", ...
+  The following example available in tutorial-video-recorder.cpp shows how this
+  class can be used to record a video from a camera by default in an mpeg file.
+  \include tutorial-video-recorder.cpp
+
+  The following example shows also how this class can be used to write an image sequence.
+  The images are stored in the folder "./image" and are named "image0000.jpeg", "image0001.jpeg", "image0002.jpeg", ...
   
   \code
   #include <visp/vpConfig.h>
@@ -97,13 +109,14 @@
 
 int main()
 {
-#ifdef VISP_HAVE_FFMPEG
   vpImage<vpRGBa> I;
 
   vpVideoWriter writer;
 
   // Set up the framerate to 30Hz. Default is 25Hz.
   writer.setFramerate(30);
+
+#ifdef VISP_HAVE_FFMPEG
   // Set up the bit rate
   writer.setBitRate(1000000);
   // Set up the codec to use
@@ -111,6 +124,9 @@ int main()
   writer.setCodec(CODEC_ID_MPEG2VIDEO);
 #else
   writer.setCodec(AV_CODEC_ID_MPEG2VIDEO);
+#endif
+#elif defined VISP_HAVE_OPENCV
+  writer.setCodec( CV_FOURCC('P','I','M','1') );
 #endif
   writer.setFileName("./test.mpeg");
 
@@ -127,7 +143,6 @@ int main()
   writer.close();
 
   return 0;
-#endif
 }
   \endcode
 */
@@ -147,6 +162,10 @@ class VISP_EXPORT vpVideoWriter
     //!The bite rate
     unsigned int bit_rate;
     int framerate;
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020100
+	  cv::VideoWriter writer;
+	  int fourcc;
+	  double framerate;
 #endif
     //!Types of available formats
     typedef enum
@@ -157,6 +176,7 @@ class VISP_EXPORT vpVideoWriter
       FORMAT_PNG,
       FORMAT_AVI,
       FORMAT_MPEG,
+      FORMAT_MPEG4,
       FORMAT_MOV,
       FORMAT_UNKNOWN
     } vpVideoFormatType;
@@ -234,6 +254,8 @@ class VISP_EXPORT vpVideoWriter
 #else
     inline void setCodec(const AVCodecID codec_id) {this->codec = codec_id;}
 #endif
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020100
+    inline void setCodec(const int fourcc_codec) {this->fourcc = fourcc_codec;}
 #endif
 
     void setFileName(const char *filename);
@@ -255,6 +277,17 @@ class VISP_EXPORT vpVideoWriter
     inline void setFramerate(const int frame_rate) {
       this->framerate = frame_rate;
     }
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020100
+	/*!
+      Sets the framerate in Hz of the video when encoding.
+
+      \param frame_rate : the expected framerate.
+
+      By default the framerate is set to 25Hz.
+    */
+    inline void setFramerate(const double frame_rate) {
+      this->framerate = frame_rate;
+    }
 #endif
 
     private:
diff --git a/src/visual-feature/vpBasicFeature.cpp b/src/visual-feature/vpBasicFeature.cpp
index 3c8ccdce2d1321ae37cf1b66ba58d38217210910..4029b5fa606d89b6f59ed0c6df8899ce0b41c433 100644
--- a/src/visual-feature/vpBasicFeature.cpp
+++ b/src/visual-feature/vpBasicFeature.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpBasicFeature.cpp 4632 2014-02-03 17:06:40Z fspindle $
+ * $Id: vpBasicFeature.cpp 5237 2015-01-30 13:52:04Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -68,7 +68,8 @@ const unsigned int vpBasicFeature::FEATURE_ALL = 0xffff;
 /*!
   \file vpBasicFeature.cpp
   \brief Class that defines what is a visual feature.
-
+*/
+/*!
   Default constructor.
 */
 vpBasicFeature::vpBasicFeature()
@@ -76,6 +77,17 @@ vpBasicFeature::vpBasicFeature()
 {
 }
 
+/*!
+  Destructor that free allocated memory.
+*/
+vpBasicFeature::~vpBasicFeature()
+{
+  if (flags != NULL) {
+    delete [] flags;
+    flags = NULL;
+  }
+}
+
 /*!
   Copy constructor.
 */
diff --git a/src/visual-feature/vpBasicFeature.h b/src/visual-feature/vpBasicFeature.h
index 79215c69a71150b94ecb24ef4af1e42388fcb64d..4f4d0550394b50f18ca00652c66ddbd6724ed82c 100644
--- a/src/visual-feature/vpBasicFeature.h
+++ b/src/visual-feature/vpBasicFeature.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpBasicFeature.h 4632 2014-02-03 17:06:40Z fspindle $
+ * $Id: vpBasicFeature.h 5237 2015-01-30 13:52:04Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -108,7 +108,7 @@ public:
   vpBasicFeature() ;
   vpBasicFeature(const vpBasicFeature &f) ;
   vpBasicFeature &operator=(const vpBasicFeature &f) ;
-  virtual ~vpBasicFeature() { /*vpTRACE("0x%x", this)*/; }
+  virtual ~vpBasicFeature();
   //! Return element \e i in the state vector  (usage : x = s[i] )
   virtual inline double operator[](const unsigned int i) const {  return s[i]; }
 
diff --git a/src/visual-feature/vpFeatureDepth.h b/src/visual-feature/vpFeatureDepth.h
index 17779f120dcafe613c9274838967f39e5d051c05..7528ea08dd38423af204b660d5d346233bd14619 100644
--- a/src/visual-feature/vpFeatureDepth.h
+++ b/src/visual-feature/vpFeatureDepth.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpFeatureDepth.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpFeatureDepth.h 5237 2015-01-30 13:52:04Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -175,13 +175,10 @@ private:
   double Z;
 
 public:
-
   void init() ;
-
   vpFeatureDepth() ;
-  //! destructor
-  virtual ~vpFeatureDepth() { if (flags != NULL) delete [] flags; }
-
+  //! Destructor.
+  virtual ~vpFeatureDepth() {}
 
   /*
     section Set coordinates
diff --git a/src/visual-feature/vpFeatureDisplay.cpp b/src/visual-feature/vpFeatureDisplay.cpp
index f29dae725cd167c2a7d5f9389cc7868c170afaa0..83fdd19801fe58d43a9b36d86528c51f0c3caf0f 100644
--- a/src/visual-feature/vpFeatureDisplay.cpp
+++ b/src/visual-feature/vpFeatureDisplay.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpFeatureDisplay.cpp 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpFeatureDisplay.cpp 4773 2014-07-10 17:09:23Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -165,11 +165,16 @@ void vpFeatureDisplay::displayCylinder(double rho1,double theta1,
   }
 }
 /*!
-  \param x, y, mu20, mu11, mu02 : Ellipse parameters.
+  \param x, y, mu20, mu11, mu02 : Ellipse parameters where:
+  - \f$(x,y)\f$ are the normalized coordinates of the ellipse center, respectively
+    along the horizontal and vertical axis in the image.
+  - \f$\mu_{20}, \mu_{11}, \mu_{02}\f$ are the centered moments.
   \param cam : Camera intrinsic parameters.
   \param I : Image.
   \param color : Color to use to display the feature
   \param thickness : Thickness of the feature representation.
+
+  \sa vpDisplay::displayEllipse()
 */
 void vpFeatureDisplay::displayEllipse(double x,double y,
                                       double mu20, double mu11, double mu02,
@@ -178,64 +183,62 @@ void vpFeatureDisplay::displayEllipse(double x,double y,
                                       const vpColor &color,
                                       unsigned int thickness)
 {
+  try {
+    unsigned int number_of_points = 45 ;
+    const double incr = 2 * M_PI/(double)number_of_points ; // angle increment
+    unsigned int i = 0 ;
+
+    double s = sqrt(vpMath::sqr(mu20-mu02)+4*mu11*mu11) ;
+    double a, b, e ;
+
+    //if (fabs(mu11)<1e-6) e =0 ;
+    if (fabs(mu11) < std::numeric_limits<double>::epsilon()) {
+      e = 0 ;
+      a = sqrt(mu20);
+      b = sqrt(mu02);
+    }
+    else {
+      e = (mu02-mu20+s)/(2*mu11) ;
+      a = sqrt( (mu02+mu20+s)/2.0) ;
+      b = sqrt( (mu02+mu20-s)/2.0) ;
+    }
 
+    double e1  = atan(e) ;
 
-  try{
-    {
-      unsigned int number_of_points = 45 ;
-      const double incr = 2 * M_PI/(double)number_of_points ; // angle increment
-      unsigned int i = 0 ;
-
-      //	 std::cout << s.t() ;
-      double s = sqrt(vpMath::sqr(mu20-mu02)+4*mu11*mu11) ;
-      double e ;
-
-      if (fabs(mu11)<1e-6) e =0 ;
-      else e =  (mu02-mu20+s)/(2*mu11) ;
-      double a =sqrt( (mu02+mu20+s)/2.0) ;
-      double b =sqrt( (mu02+mu20-s)/2.0) ;
-
-      //    vpTRACE("%f %f %f", a,b,e) ;
-
-      double e1  = atan(e) ;
-
-      double k = 0.0 ;
+    double k = 0.0 ;
 
-      double ce = cos(e1) ;
-      double se = sin(e1) ;
+    double ce = cos(e1) ;
+    double se = sin(e1) ;
 
-      double x2  = 0;
-      double y2 =0;
-      vpImagePoint ip1, ip2;
+    double x2  = 0;
+    double y2 =0;
+    vpImagePoint ip1, ip2;
 
-      for( i = 0; i < number_of_points+2 ; i++)
-      {
-        double    x1 = a *cos(k) ; // equation of an ellipse
-        double    y1 = b *sin(k) ; // equation of an ellipse
-        double    x11 = x + ce *x1 - se *y1 ;
-        double    y11 = y + se *x1 + ce *y1 ;
+    for( i = 0; i < number_of_points+2 ; i++)
+    {
+      double    x1 = a *cos(k) ; // equation of an ellipse
+      double    y1 = b *sin(k) ; // equation of an ellipse
+      double    x11 = x + ce *x1 - se *y1 ;
+      double    y11 = y + se *x1 + ce *y1 ;
 
-        vpMeterPixelConversion::convertPoint(cam, x11, y11, ip1);
+      vpMeterPixelConversion::convertPoint(cam, x11, y11, ip1);
 
-        if (i > 1) {
-          ip2.set_u( x2 );
-          ip2.set_v( y2 );
+      if (i > 1) {
+        ip2.set_u( x2 );
+        ip2.set_v( y2 );
 
-          vpDisplay::displayLine(I, ip1, ip2, color, thickness) ;
-        }
+        vpDisplay::displayLine(I, ip1, ip2, color, thickness) ;
+      }
 
-        ip2 = ip1;
-        y2 = y1 ;
-        x2 = x1 ;
-        k += incr ;
-      } // end for loop
-    }
-    //    vpDisplay::getClick(I) ;
+      ip2 = ip1;
+      y2 = y1 ;
+      x2 = x1 ;
+      k += incr ;
+    } // end for loop
   }
-  catch(...)
+  catch(vpException &e)
   {
-    vpERROR_TRACE("Error caught") ;
-    throw ;
+    throw(e);
   }
 }
 
@@ -348,11 +351,16 @@ void vpFeatureDisplay::displayCylinder(double rho1, double theta1,
 }
 
 /*!
-  \param x, y, mu20, mu11, mu02 : Ellipse parameters.
+  \param x, y, mu20, mu11, mu02 : Ellipse parameters where:
+  - \f$(x,y)\f$ are the normalized coordinates of the ellipse center, respectively
+    along the horizontal and vertical axis in the image.
+  - \f$\mu_{20}, \mu_{11}, \mu_{02}\f$ are the centered moments.
   \param cam : Camera intrinsic parameters.
   \param I : Image.
   \param color : Color to use to display the feature
   \param thickness : Thickness of the feature representation.
+
+  \sa vpDisplay::displayEllipse()
 */
 void vpFeatureDisplay::displayEllipse(double x, double y,
                                       double mu20, double mu11, double mu02,
@@ -361,67 +369,61 @@ void vpFeatureDisplay::displayEllipse(double x, double y,
                                       const vpColor &color,
                                       unsigned int thickness)
 {
+  try {
+    unsigned int number_of_points = 45 ;
+    const double incr = 2 * M_PI/(double)number_of_points ; // angle increment
+    unsigned int i = 0 ;
+
+    double s = sqrt(vpMath::sqr(mu20-mu02)+4*mu11*mu11) ;
+    double a, b, e ;
+
+    //if (fabs(mu11)<1e-6) e =0 ;
+    if (fabs(mu11) < std::numeric_limits<double>::epsilon()) {
+      e = 0 ;
+      a = sqrt(mu20);
+      b = sqrt(mu02);
+    }
+    else {
+      e = (mu02-mu20+s)/(2*mu11) ;
+      a = sqrt( (mu02+mu20+s)/2.0) ;
+      b = sqrt( (mu02+mu20-s)/2.0) ;
+    }
 
+    double e1  = atan(e) ;
 
-  try{
-    {
-      unsigned int number_of_points = 45 ;
-      const double incr = 2 * M_PI/(double)number_of_points ; // angle increment
-      unsigned int i = 0 ;
-
-      //	 std::cout << s.t() ;
-      double s = sqrt(vpMath::sqr(mu20-mu02)+4*mu11*mu11) ;
-      double e ;
-
-      if (fabs(mu11)<1e-6) e =0 ;
-      else e =  (mu02-mu20+s)/(2*mu11) ;
-      double a =sqrt( (mu02+mu20+s)/2.0) ;
-      double b =sqrt( (mu02+mu20-s)/2.0) ;
-
-      //    vpTRACE("%f %f %f", a,b,e) ;
-
-      double e1  = atan(e) ;
+    double k = 0.0 ;
 
-      double k = 0.0 ;
+    double ce = cos(e1) ;
+    double se = sin(e1) ;
 
-      double ce = cos(e1) ;
-      double se = sin(e1) ;
-      double x2  = 0;
-      double y2 =0;
-      vpImagePoint ip1, ip2;
+    double x2  = 0;
+    double y2 =0;
+    vpImagePoint ip1, ip2;
 
-      for( i = 0; i < number_of_points+2 ; i++)
-      {
-        double    x1 = a *cos(k) ; // equation of an ellipse
-        double    y1 = b *sin(k) ; // equation of an ellipse
-        double    x11 = x + ce *x1 - se *y1 ;
-        double    y11 = y + se *x1 + ce *y1 ;
+    for( i = 0; i < number_of_points+2 ; i++)
+    {
+      double    x1 = a *cos(k) ; // equation of an ellipse
+      double    y1 = b *sin(k) ; // equation of an ellipse
+      double    x11 = x + ce *x1 - se *y1 ;
+      double    y11 = y + se *x1 + ce *y1 ;
 
-        vpMeterPixelConversion::convertPoint(cam, x11, y11, ip1);
+      vpMeterPixelConversion::convertPoint(cam, x11, y11, ip1);
 
-        if (i > 1) {
-          ip2.set_u( x2 );
-          ip2.set_v( y2 );
+      if (i > 1) {
+        ip2.set_u( x2 );
+        ip2.set_v( y2 );
 
-          vpDisplay::displayLine(I, ip1, ip2, color, thickness) ;
-        }
+        vpDisplay::displayLine(I, ip1, ip2, color, thickness) ;
+      }
 
-        ip2 = ip1;
-        k += incr ;
-      } // end for loop
-    }
-    //    vpDisplay::getClick(I) ;
+      ip2 = ip1;
+      y2 = y1 ;
+      x2 = x1 ;
+      k += incr ;
+    } // end for loop
   }
-  catch(...)
+  catch(vpException &e)
   {
-    vpERROR_TRACE("Error caught") ;
-    throw ;
+    throw(e);
   }
 }
-
-
-/*
- * Local variables:
- * c-basic-offset: 2
- * End:
- */
diff --git a/src/visual-feature/vpFeatureEllipse.h b/src/visual-feature/vpFeatureEllipse.h
index 7e19a333686d0956266e3225e356f3134efc3827..aea4547494e4a9f858ac7d526c5aee55711fcd85 100644
--- a/src/visual-feature/vpFeatureEllipse.h
+++ b/src/visual-feature/vpFeatureEllipse.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpFeatureEllipse.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpFeatureEllipse.h 5237 2015-01-30 13:52:04Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -74,12 +74,12 @@ private:
 
 
 public:
-  //! basic construction
+  //! Default initialization.
   void init() ;
-  //! basic constructor
+  //! Default constructor.
   vpFeatureEllipse() ;
-  //! destructor
-  virtual ~vpFeatureEllipse() { if (flags != NULL) delete [] flags; }
+  //! Destructor.
+  virtual ~vpFeatureEllipse() { }
 
 public:
   /*!
diff --git a/src/visual-feature/vpFeatureLine.h b/src/visual-feature/vpFeatureLine.h
index f7ad5023cacabeed7d900e00238ff652bf9b4846..5bb47d27451d897bceed4ac676ae15b8174dcc2b 100644
--- a/src/visual-feature/vpFeatureLine.h
+++ b/src/visual-feature/vpFeatureLine.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpFeatureLine.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpFeatureLine.h 5237 2015-01-30 13:52:04Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -210,10 +210,10 @@ private:
   double A,B,C,D ;
 
 public:
-
   void init() ;
   vpFeatureLine() ;
-  virtual ~vpFeatureLine() { if (flags != NULL) delete [] flags; }
+  //! Destructor.
+  virtual ~vpFeatureLine() {}
 
 public:
 
diff --git a/src/visual-feature/vpFeatureLuminance.cpp b/src/visual-feature/vpFeatureLuminance.cpp
index 700eda41cd3c48dd5e79bf6cb141d968772d996e..b40dbe57590acc55422f56b2854cc6dd218e8dd0 100755
--- a/src/visual-feature/vpFeatureLuminance.cpp
+++ b/src/visual-feature/vpFeatureLuminance.cpp
@@ -15,7 +15,7 @@
   \file vpFeatureLuminance.cpp
   \brief Class that defines the image luminance visual feature
 
-  For more details see \cite collewet:inria-00261398..
+  For more details see \cite Collewet08c.
 */
 
 
@@ -106,16 +106,13 @@ vpFeatureLuminance &vpFeatureLuminance::operator=(const vpFeatureLuminance& f)
 }
 
 /*! 
-  Default destructor.
+  Destructor that free allocated memory.
 */
 vpFeatureLuminance::~vpFeatureLuminance() 
 {
   if (pixInfo != NULL) delete [] pixInfo ;
-  if (flags != NULL) delete [] flags;
 }
 
-
-
 /*!
   Set the value of \f$ Z \f$ which represents the depth in the 3D camera frame.
 
diff --git a/src/visual-feature/vpFeatureLuminance.h b/src/visual-feature/vpFeatureLuminance.h
index 3e4d9fa6a1587f63a10cc592da2a683de8efa601..e5958ab1192b5c91fbd3359151fdcab50a990367 100755
--- a/src/visual-feature/vpFeatureLuminance.h
+++ b/src/visual-feature/vpFeatureLuminance.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpFeatureLuminance.h 4664 2014-02-16 16:17:54Z fspindle $
+ * $Id: vpFeatureLuminance.h 5098 2014-12-20 16:32:06Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -51,7 +51,7 @@
   \file vpFeatureLuminance.h
   \brief Class that defines the image luminance visual feature
 
-  For more details see \cite collewet:inria-00261398.
+  For more details see \cite Collewet08c.
 */
 
 
@@ -78,7 +78,7 @@ class VISP_EXPORT vpLuminance
   \class vpFeatureLuminance
   \brief Class that defines the image luminance visual feature
 
-  For more details see \cite collewet:inria-00261398.
+  For more details see \cite Collewet08c.
 */
 
 class VISP_EXPORT vpFeatureLuminance : public vpBasicFeature
diff --git a/src/visual-feature/vpFeatureMoment.cpp b/src/visual-feature/vpFeatureMoment.cpp
index a2a26757635bd7be57669f5fe06a7ae030a3cc3e..9b92dee27f2949687a6440f0cc55fe2060d13972 100644
--- a/src/visual-feature/vpFeatureMoment.cpp
+++ b/src/visual-feature/vpFeatureMoment.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpFeatureMoment.cpp 4649 2014-02-07 14:57:11Z fspindle $
+ * $Id: vpFeatureMoment.cpp 5237 2015-01-30 13:52:04Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -251,5 +251,26 @@ void vpFeatureMoment::compute_interaction (){
 }
 
 vpFeatureMoment::~vpFeatureMoment (){
-  delete[] flags;
+}
+
+VISP_EXPORT std::ostream& operator<<(std::ostream & os, const vpFeatureMoment& featM) {
+    /*
+    A const_cast is forced here since interaction() defined in vpBasicFeature() is not const
+    But introducing const in vpBasicFeature() can break a lot of client code
+    */
+    vpMatrix Lcomplete((unsigned int)featM.getDimension(), 6); // 6 corresponds to 6velocities in standard interaction matrix
+    Lcomplete = const_cast<vpFeatureMoment&>(featM).interaction(vpBasicFeature::FEATURE_ALL);
+    Lcomplete.matlabPrint(os);
+    return os;
+}
+
+/*!
+Interface function to display the moments and other interaction matrices
+on which a particular vpFeatureMoment is dependent upon
+Not made pure to maintain compatibility
+Recommended : Types inheriting from vpFeatureMoment should implement this function
+*/
+void
+vpFeatureMoment::printDependencies(std::ostream& os) const{
+    os << " WARNING : Falling back to base class version of printDependencies() in vpFeatureMoment. To prevent that, this has to be implemented in the derived classes!" << std::endl;
 }
diff --git a/src/visual-feature/vpFeatureMoment.h b/src/visual-feature/vpFeatureMoment.h
index 76b8b4bce1c549f896411110e8224822eff03e0b..fcf9bbef7f1859e23aaa637abbd61533f01b66ad 100644
--- a/src/visual-feature/vpFeatureMoment.h
+++ b/src/visual-feature/vpFeatureMoment.h
@@ -1,6 +1,6 @@
 /****************************************************************************
 *
-* $Id: vpFeatureMoment.h 4649 2014-02-07 14:57:11Z fspindle $
+* $Id: vpFeatureMoment.h 4714 2014-03-28 18:16:13Z mbakthav $
 *
 * This file is part of the ViSP software.
 * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -206,6 +206,8 @@ public:
         }
 #endif
 
+      friend VISP_EXPORT std::ostream& operator<<(std::ostream & os, const vpFeatureMoment& featM);
+      virtual void printDependencies(std::ostream& os) const;
 };
 
 /*!
diff --git a/src/visual-feature/vpFeatureMomentArea.cpp b/src/visual-feature/vpFeatureMomentArea.cpp
index bd409128f162e1dac429f330c113df7e20f19376..175f9227b8ab32a64a791d694d7df57b4563e094 100644
--- a/src/visual-feature/vpFeatureMomentArea.cpp
+++ b/src/visual-feature/vpFeatureMomentArea.cpp
@@ -78,7 +78,7 @@ void vpFeatureMomentArea::compute_interaction(){
 		interaction_matrices[0][0][5] = 0.;
 	}
 	else {
-		// Get Xg and Yg
+        // Get Xg and Yg
 		bool found_xgyg;
 		const vpMomentGravityCenter& momentGravity = static_cast<const vpMomentGravityCenter&>(moments.get("vpMomentGravityCenter",found_xgyg));
 		if (!found_xgyg) throw vpException(vpException::notInitialized,"vpMomentGravityCenter not found");
@@ -91,7 +91,7 @@ void vpFeatureMomentArea::compute_interaction(){
 		double Yg = momentGravity.getYg();
 
 		double a = areamoment.get()[0];	// Area scalar
-        //assert(a==mobj.get(0,0));
+        
         assert(std::fabs(a-mobj.get(0,0)) < a*std::numeric_limits<double>::epsilon());
 
 		interaction_matrices[0][0][0] = -a*A;
diff --git a/src/visual-feature/vpFeatureMomentCInvariant.cpp b/src/visual-feature/vpFeatureMomentCInvariant.cpp
index c6dbe9577c27b296b6a4dfb2c8b04a0dcfbfa7fb..10aa1ec9fa8ae0d40bad9936eb97ae44803a3e1b 100644
--- a/src/visual-feature/vpFeatureMomentCInvariant.cpp
+++ b/src/visual-feature/vpFeatureMomentCInvariant.cpp
@@ -207,7 +207,8 @@ void vpFeatureMomentCInvariant::compute_interaction(){
 */
 void vpFeatureMomentCInvariant::compute_interaction(){
 
-    std::vector<vpMatrix> LI(16);
+    //std::vector<vpMatrix> LI(16);
+    LI.resize(16); // LI made class member
 
     bool found_moment_centered;
     bool found_moment_cinvariant;
@@ -340,7 +341,13 @@ void vpFeatureMomentCInvariant::compute_interaction(){
 
     interaction_matrices.resize(14);
 
+    /*
+    momentCInvariant.printInvariants(std::cout);
+    printLsofInvariants(std::cout);
+    */
+
     interaction_matrices[0] = (1./(momentCInvariant.getI(2)*momentCInvariant.getI(2)))*(momentCInvariant.getI(2)*LI[1]-momentCInvariant.getI(1)*LI[2]);
+
     interaction_matrices[1] = (1./(momentCInvariant.getI(4)*momentCInvariant.getI(4)))*(momentCInvariant.getI(4)*LI[3]-momentCInvariant.getI(3)*LI[4]);
 
     interaction_matrices[2] = (1./(momentCInvariant.getI(6)*momentCInvariant.getI(6)))*(momentCInvariant.getI(6)*LI[5]-momentCInvariant.getI(5)*LI[6]);
@@ -366,5 +373,52 @@ void vpFeatureMomentCInvariant::compute_interaction(){
     interaction_matrices[12] = (1/(I3*I3))*LI1-(2*I1/(I3*I3*I3))*LI3;
 
     interaction_matrices[13] = (I2/(I3*I3*I3))*La+(a/(I3*I3*I3))*LI2-(3*a*I2/(I3*I3*I3*I3))*LI3;
+
+    /*
+    std::cout << (*this);
+    vpTRACE("Done.");
+    std::exit(-1);
+    */
+}
+
+/*!
+  Print out all invariants that were computed
+  There are 15 of them, as in [Point-based and region based.ITRO05]
+  \cite Tahri05z
+ */
+void vpFeatureMomentCInvariant::printLsofInvariants(std::ostream& os) const{
+    for (unsigned int i = 1; i < 15; ++i){
+        os << "LI[" << i << "] = ";
+        LI[i].matlabPrint(os);
+        os << std::endl;
+    }
+}
+
+VISP_EXPORT std::ostream& operator<<(std::ostream & os, const vpFeatureMomentCInvariant& featcinv)
+{
+    //Print L for c1 .. c10
+    for (unsigned int i = 0; i < 10; ++i){
+        os << "L_c[" << i << "] = ";
+        featcinv.interaction_matrices[i].matlabPrint(os);
+        os << std::endl;
+    }
+
+    // sx, sy
+    os << "L_sx = ";
+    featcinv.interaction_matrices[10].matlabPrint(os);
+    os << std::endl;
+    os << "L_sy = ";
+    featcinv.interaction_matrices[11].matlabPrint(os);
+    os << std::endl;
+    // Px,Py
+    os << "L_Px = ";
+    featcinv.interaction_matrices[12].matlabPrint(os);
+    os << std::endl;
+    os << "L_Py = ";
+    featcinv.interaction_matrices[13].matlabPrint(os);
+    os << std::endl;
+
+    return os;
+
 }
 #endif
diff --git a/src/visual-feature/vpFeatureMomentCInvariant.h b/src/visual-feature/vpFeatureMomentCInvariant.h
index 258266822e7b0fe4b753210c3f0f235d50f81819..a9039cd52c6182ef1d2546a609d8b3114adaa58e 100644
--- a/src/visual-feature/vpFeatureMomentCInvariant.h
+++ b/src/visual-feature/vpFeatureMomentCInvariant.h
@@ -198,6 +198,8 @@ class vpMomentDatabase;
 
 */
 class VISP_EXPORT vpFeatureMomentCInvariant : public vpFeatureMoment{
+ private:
+    std::vector<vpMatrix> LI;
  public:
     /*!
     Initializes the feature with information about the database of moment primitives, the object plane and feature database.
@@ -209,7 +211,7 @@ class VISP_EXPORT vpFeatureMomentCInvariant : public vpFeatureMoment{
 
     */
     vpFeatureMomentCInvariant(vpMomentDatabase& data_base,double A_, double B_, double C_,vpFeatureMomentDatabase* featureMoments=NULL) :
-        vpFeatureMoment(data_base,A_,B_,C_,featureMoments,16){}
+        vpFeatureMoment(data_base,A_,B_,C_,featureMoments,16){LI.resize(16);}
     void compute_interaction();
         /*!
           associated moment name
@@ -277,6 +279,16 @@ class VISP_EXPORT vpFeatureMomentCInvariant : public vpFeatureMoment{
           */
         static unsigned int selectPy(){ return 1 << 13; }
 
+        /*!
+          Print all the interaction matrices of the moment invariants
+         */
+        void printLsofInvariants(std::ostream& os) const;
+
+        /*!
+          Print all the interaction matrices of visual features
+         */
+        friend VISP_EXPORT std::ostream & operator<<(std::ostream & os, const vpFeatureMomentCInvariant& featcinv);
+
 };
 #endif
 #endif
diff --git a/src/visual-feature/vpFeatureMomentCentered.cpp b/src/visual-feature/vpFeatureMomentCentered.cpp
index 36b7b62902362fb2cd61258d3868d912e8128b4f..e518fe27c158579a557ec40bbe7e9d74a5eeb7c5 100644
--- a/src/visual-feature/vpFeatureMomentCentered.cpp
+++ b/src/visual-feature/vpFeatureMomentCentered.cpp
@@ -36,35 +36,35 @@
  *
  * Authors:
  * Filip Novotny
- *
+ * Manikandan Bakthavatchalam
  *****************************************************************************/
 
 #include <visp/vpConfig.h>
 
-#ifdef VISP_MOMENTS_COMBINE_MATRICES
 #include <vector>
 #include <limits>
 
+#include <visp/vpMomentCentered.h>
+#include <visp/vpMomentGravityCenter.h>
 #include <visp/vpMomentObject.h>
-#include <visp/vpFeatureMomentCentered.h>
 #include <visp/vpFeatureMomentBasic.h>
-#include <visp/vpFeatureMomentGravityCenter.h>
-#include <visp/vpMomentGravityCenter.h>
+#include <visp/vpFeatureMomentCentered.h>
 #include <visp/vpFeatureMomentDatabase.h>
+#include <visp/vpFeatureMomentGravityCenter.h>
+
 
 /*!
   Default constructor
-  \param moments : Database of moment primitives.
+  \param moments_ : Database of moment primitives.
   \param A_ : First plane coefficient for a plane equation of the following type Ax+By+C=1/Z.
   \param B_ : Second plane coefficient for a plane equation of the following type Ax+By+C=1/Z.
   \param C_ : Third plane coefficient for a plane equation of the following type Ax+By+C=1/Z.
   \param featureMoments : Database of features.
 */
-vpFeatureMomentCentered::vpFeatureMomentCentered(vpMomentDatabase& moments,
+vpFeatureMomentCentered::vpFeatureMomentCentered(vpMomentDatabase& moments_,
                                                  double A_, double B_, double C_,
                                                  vpFeatureMomentDatabase* featureMoments)
-  : vpFeatureMoment(moments,A_,B_,C_,featureMoments), order(0)
-
+  : vpFeatureMoment(moments_, A_, B_, C_, featureMoments), order(0)
 {
 }
 
@@ -74,240 +74,241 @@ Interaction matrix corresponding to \f$ \mu_{ij} \f$ moment
 \param select_two : second index (j)
 \return Interaction matrix corresponding to the moment
 */
-vpMatrix 	vpFeatureMomentCentered::interaction (unsigned int select_one,unsigned int select_two){
+vpMatrix 	vpFeatureMomentCentered::interaction (unsigned int select_one,unsigned int select_two) const {
     if(select_one+select_two>moment->getObject().getOrder())
       throw vpException(vpException::badValue,
                         "The requested value has not been computed, you should specify a higher order.");
     return interaction_matrices[select_two*order+select_one];
 }
 
+/*!
+ *   Core function for the interaction matrix computation for moment m_pq
+ *   Given its dependent moment and interaction matrices, computes the interaction matrix of centred moments
+ */
+vpMatrix
+vpFeatureMomentCentered::compute_Lmu_pq(const unsigned int& p, const unsigned int& q, const double& xg, const double& yg,
+                                        const vpMatrix& L_xg, const vpMatrix& L_yg,
+                                        const vpMomentBasic& m, const vpFeatureMomentBasic& feature_moment_m) const
+{
+  // term1, term2 and Lterm3 (matrix) will be repeatedly computed inside the innermost loop
+  double term1 =  0.0;
+  double term2 =  0.0;
+  vpMatrix Lterm3(1,6);
+
+  double pcombk  = 0.0;
+  double qcombl  = 0.0;
+  double pcombkqcombl = 0.0;
+
+  double mkl = 0.0;
+  vpMatrix L_mkl;
+
+  int pmk = 0; // p-k
+  int qml = 0; // q-l
+  double minus1pow = 0.; // (-1)^(p+q-k-l)
+  double pintom = 0.;
+
+  for (unsigned int k = 0; k <=p; ++k)
+  {
+      pmk = (int)p-(int)k;
+      pcombk = static_cast<double>(vpMath::comb(p,k));
+      for (unsigned int l = 0; l <= q; ++l)
+      {
+          qml = (int)q - (int)l;
+          qcombl = static_cast<double>(vpMath::comb(q,l));
+		  minus1pow = pow((double)-1, (double)(pmk + qml));
+          pcombkqcombl =  pcombk * qcombl;
+          mkl = m.get(k, l);
+          pintom =   pcombkqcombl * mkl;
+          L_mkl = feature_moment_m.interaction(k, l);
+          if(pmk>0)
+              term1  +=  pintom * pmk * pow(xg, pmk-1) * pow(yg, qml)  *  minus1pow;
+          if(qml>0)
+              term2  +=  pintom * qml * pow(xg, pmk) * pow(yg, qml-1)  *  minus1pow;
+          Lterm3 +=  pcombkqcombl * pow(xg, pmk) * pow(yg, qml) * L_mkl * minus1pow;
+      }
+  }
+
+  // L_xg and L_yg stay constant with respect to the above loops. Lterm3 is summed over
+  vpMatrix L_mupq = L_xg*term1 + L_yg*term2 + Lterm3;
+  return L_mupq;
+}
 
 /*!
-  Computes interaction matrix for centered moment. Called internally.
-  The moment primitives must be computed before calling this.
-  This feature depends on:
+  Interface to the interaction matrix computation for centered moments. Called internally.
+  Calls compute_Lmu_pq() for main computation moments (upto order-1)
+Dependencies:
+  Moment classes
+  - vpMomentBasic
+  Interaction matrix classes
+  - vpMomentGravityCenter
   - vpFeatureMomentBasic
   - vpFeatureMomentGravityCenter
-  - vpMomentGravityCenter
 */
-void vpFeatureMomentCentered::compute_interaction(){
-    bool found_featuremoment_basic;
-    bool found_feature_gravity_center;
-    bool found_moment_gravity;
-
+void vpFeatureMomentCentered::compute_interaction() {
+#ifdef VISP_MOMENTS_COMBINE_MATRICES
     const vpMomentObject& momentObject = moment->getObject();
     order = momentObject.getOrder()+1;
     interaction_matrices.resize(order*order);
     for(std::vector< vpMatrix >::iterator i=interaction_matrices.begin();i!=interaction_matrices.end(); ++i)
         i->resize(1,6);
 
-    vpFeatureMomentBasic& featureMomentBasic= (static_cast<vpFeatureMomentBasic&>(featureMomentsDataBase->get("vpFeatureMomentBasic",found_featuremoment_basic)));
-    vpFeatureMomentGravityCenter& featureMomentGravityCenter= (static_cast<vpFeatureMomentGravityCenter&>(featureMomentsDataBase->get("vpFeatureMomentGravityCenter",found_feature_gravity_center)));
+    bool found_moment_gravity;
     const vpMomentGravityCenter& momentGravity = static_cast<const vpMomentGravityCenter&>(moments.get("vpMomentGravityCenter",found_moment_gravity));
-    vpMatrix zeros(1,6);
-    for(int i=0;i<6;i++) zeros[0][i]=0;
-
-    if(!found_featuremoment_basic) throw vpException(vpException::notInitialized,"vpFeatureMomentBasic not found");
-    if(!found_feature_gravity_center) throw vpException(vpException::notInitialized,"vpFeatureMomentGravityCenter not found");
     if(!found_moment_gravity) throw vpException(vpException::notInitialized,"vpMomentGravityCenter not found");
+    double xg = momentGravity.get()[0];
+    double yg = momentGravity.get()[1];
 
-    vpMatrix LXg = featureMomentGravityCenter.interaction(1<<0);
-    vpMatrix LYg = featureMomentGravityCenter.interaction(1<<1);
-
-    //compute centered moment features as a combination of basic features
-    for(int i=0;i<(int)order;i++){
-        for(int j=0;j<(int)order-i;j++){
-            interaction_matrices[(unsigned int)j*order+(unsigned int)i] = zeros;
-            vpMatrix mat1 = zeros;
-            vpMatrix mat2 = zeros;
-            vpMatrix mat3 = zeros;
-            for(int k=0;k<=i;k++){
-                for(int l=0;l<=j;l++){
-                    mat1+= std::abs(momentGravity.get()[0])<std::numeric_limits<double>::epsilon()?zeros:vpMath::comb((unsigned int)i, (unsigned int)k) * vpMath::comb((unsigned int)j, (unsigned int)l) * pow(-momentGravity.get()[0], i - k) * (i - k) * LXg / momentGravity.get()[0] * pow(-momentGravity.get()[1], j - l) * momentObject.get((unsigned int)k, (unsigned int)l);
-                    mat2+= std::abs(momentGravity.get()[1])<std::numeric_limits<double>::epsilon()?zeros:vpMath::comb((unsigned int)i, (unsigned int)k) * vpMath::comb((unsigned int)j, (unsigned int)l) * pow(-momentGravity.get()[0], i - k) * pow(-momentGravity.get()[1], j - l) * (j - l) * LYg / momentGravity.get()[1] * momentObject.get((unsigned int)k, (unsigned int)l);
-                    mat3+= vpMath::comb((unsigned int)i, (unsigned int)k) * vpMath::comb((unsigned int)j, (unsigned int)l) * pow(-momentGravity.get()[0], i - k) * pow(-momentGravity.get()[1], j - l) * featureMomentBasic.interaction((unsigned int)k, (unsigned int)l);
-                }
-            }
-            interaction_matrices[(unsigned int)j*order+(unsigned int)i]=(mat1+mat2+mat3);
-        }
-    }
-}
-
-#else
-
-#include <vector>
-#include <limits>
-
-#include <visp/vpMomentObject.h>
-#include <visp/vpMomentGravityCenter.h>
-#include <visp/vpMomentCentered.h>
-#include <visp/vpFeatureMomentCentered.h>
-#include <visp/vpFeatureMomentDatabase.h>
+    bool found_feature_gravity_center;
+    vpFeatureMomentGravityCenter& featureMomentGravityCenter= (static_cast<vpFeatureMomentGravityCenter&>(featureMomentsDataBase->get("vpFeatureMomentGravityCenter",found_feature_gravity_center)));
+    if(!found_feature_gravity_center) throw vpException(vpException::notInitialized,"vpFeatureMomentGravityCenter not found");
+    vpMatrix Lxg = featureMomentGravityCenter.interaction(1<<0);
+    vpMatrix Lyg = featureMomentGravityCenter.interaction(1<<1);
 
+    bool found_moment_basic;
+    const vpMomentBasic& momentbasic = static_cast<const vpMomentBasic&>(moments.get("vpMomentBasic",found_moment_basic));
+    if(!found_moment_basic) throw vpException(vpException::notInitialized,"vpMomentBasic not found");
 
-/*!
-  Default constructor
-  \param data_base : Database of moment primitives.
-  \param A_ : First plane coefficient for a plane equation of the following type Ax+By+C=1/Z.
-  \param B_ : Second plane coefficient for a plane equation of the following type Ax+By+C=1/Z.
-  \param C_ : Third plane coefficient for a plane equation of the following type Ax+By+C=1/Z.
-  \param featureMoments : Database of features.
-*/
-vpFeatureMomentCentered::vpFeatureMomentCentered(vpMomentDatabase& data_base,double A_, double B_, double C_,vpFeatureMomentDatabase* featureMoments)
-  : vpFeatureMoment(data_base,A_,B_,C_,featureMoments), order(0)
-{
-}
+    bool found_featuremoment_basic;
+    vpFeatureMomentBasic& featureMomentBasic= (static_cast<vpFeatureMomentBasic&>(featureMomentsDataBase->get("vpFeatureMomentBasic",found_featuremoment_basic)));
+    if(!found_featuremoment_basic) throw vpException(vpException::notInitialized,"vpFeatureMomentBasic not found");
 
-/*!
-Interaction matrix corresponding to \f$ \mu_{ij} \f$ moment
-\param select_one : first index (i)
-\param select_two : second index (j)
-\return Interaction matrix corresponding to the moment
-*/
-vpMatrix 	vpFeatureMomentCentered::interaction (unsigned int select_one,unsigned int select_two) const {
-    if(select_one+select_two>moment->getObject().getOrder())
-      throw vpException(vpException::badValue,"The requested value has not been computed, you should specify a higher order.");
-    return interaction_matrices[select_two*order+select_one];
-}
+    // Calls the main compute_Lmu_pq function for moments upto order-1
+    for(int i=0;i<(int)order-1;i++){
+        for(int j=0;j<(int)order-1-i;j++){
+            interaction_matrices[(unsigned int)j*order+(unsigned int)i] = compute_Lmu_pq(i, j, xg, yg, Lxg, Lyg, momentbasic, featureMomentBasic);
+        }
+    }
+#else // #ifdef VISP_MOMENTS_COMBINE_MATRICES
+  bool found_moment_centered;
+  bool found_moment_gravity;
+
+  const vpMomentCentered& momentCentered= (static_cast<const vpMomentCentered&>(moments.get("vpMomentCentered",found_moment_centered)));
+  const vpMomentGravityCenter& momentGravity = static_cast<const vpMomentGravityCenter&>(moments.get("vpMomentGravityCenter",found_moment_gravity));
+
+  if(!found_moment_centered) throw vpException(vpException::notInitialized,"vpMomentCentered not found");
+  if(!found_moment_gravity) throw vpException(vpException::notInitialized,"vpMomentGravityCenter not found");
+
+  int delta;
+  int epsilon;
+  const vpMomentObject& momentObject = moment->getObject();
+  order = momentObject.getOrder()+1;
+  interaction_matrices.resize(order*order);
+  for (std::vector< vpMatrix >::iterator i=interaction_matrices.begin(); i!=interaction_matrices.end(); ++i)
+      i->resize(1,6);
+  if (momentObject.getType()==vpMomentObject::DISCRETE) {
+      delta=0;
+      epsilon=1;
+  } else {
+      delta=1;
+      epsilon=4;
+  }
+  double n11 = momentCentered.get(1,1)/momentObject.get(0,0);
+  double n20 = momentCentered.get(2,0)/momentObject.get(0,0);
+  double n02 = momentCentered.get(0,2)/momentObject.get(0,0);
+  double Xg = momentGravity.getXg();
+  double Yg = momentGravity.getYg();
+  double mu00 = momentCentered.get(0,0);
+
+  unsigned int VX = 0;
+  unsigned int VY = 1;
+  unsigned int VZ = 2;
+  unsigned int WX = 3;
+  unsigned int WY = 4;
+  unsigned int WZ = 5;
+
+  interaction_matrices[0][0][VX] = -(delta)*A*mu00;
+  interaction_matrices[0][0][VY] = -(delta)*B*mu00;
+
+  // Since mu10=0 and mu01=0
+  // interaction_matrices[0][0][WX] =  (3*delta)*MU(0,1)+(3*delta)*Yg*mu00;
+  // interaction_matrices[0][0][WY] = -(3*delta)*MU(1,0)-(3*delta)*Xg*mu00;
+  // we get the simplification:
+  interaction_matrices[0][0][WX] =  (3*delta)*Yg*mu00;
+  interaction_matrices[0][0][WY] = -(3*delta)*Xg*mu00;
+  interaction_matrices[0][0][VZ] = -A*interaction_matrices[0][0][WY]+B*interaction_matrices[0][0][WX]+(2*delta)*C*mu00;
+  interaction_matrices[0][0][WZ] = 0.;
+
+  for (int i=1; i<(int)order-1; i++){
+    unsigned int i_ = (unsigned int) i;
+    unsigned int im1_ = i_ - 1;
+    unsigned int ip1_ = i_ + 1;
+
+    double mu_im10 = momentCentered.get(im1_,0);
+    double mu_ip10 = momentCentered.get(ip1_,0);
+    double mu_im11 = momentCentered.get(im1_,1);
+    double mu_i0 = momentCentered.get(i_,0);
+    double mu_i1 = momentCentered.get(i_,1);
+
+    interaction_matrices[i_][0][VX] = -(i+delta)*A*mu_i0-(i*B*mu_im11);
+    interaction_matrices[i_][0][VY] = -(delta)*B*mu_i0;
+
+    interaction_matrices[i_][0][WX] = (i+3*delta)*mu_i1+(i+3*delta)*Yg*mu_i0+i*Xg*mu_im11-i*epsilon*n11*mu_im10;
+    interaction_matrices[i_][0][WY] = -(i+3*delta)*mu_ip10-(2*i+3*delta)*Xg*mu_i0+i*epsilon*n20*mu_im10;
+    interaction_matrices[i_][0][VZ] = -A*interaction_matrices[i_][0][WY]+B*interaction_matrices[i_][0][WX]+(i+2*delta)*C*mu_i0;
+    interaction_matrices[i_][0][WZ] = i*mu_im11;
+  }
 
+  for(int j=1;j<(int)order-1;j++){
+    unsigned int j_ = (unsigned int) j;
+    unsigned int jm1_ = j_ - 1;
+    unsigned int jp1_ = j_ + 1;
 
-/*!
-  Computes interaction matrix for centered moment. Called internally.
-  The moment primitives must be computed before calling this.
-  This feature depends on:
-  - vpMomentGravityCenter
-  - vpMomentCentered
-*/
-void vpFeatureMomentCentered::compute_interaction(){
-
-    bool found_moment_centered;
-    bool found_moment_gravity;
+    double mu_0jm1 = momentCentered.get(0,jm1_);
+    double mu_0jp1 = momentCentered.get(0,jp1_);
+    double mu_1jm1 = momentCentered.get(1,jm1_);
+    double mu_0j = momentCentered.get(0,j_);
+    double mu_1j = momentCentered.get(1,j_);
 
-    const vpMomentCentered& momentCentered= (static_cast<const vpMomentCentered&>(moments.get("vpMomentCentered",found_moment_centered)));
-    const vpMomentGravityCenter& momentGravity = static_cast<const vpMomentGravityCenter&>(moments.get("vpMomentGravityCenter",found_moment_gravity));
+    interaction_matrices[j_*order][0][VX] = -(delta)*A*mu_0j;
+    interaction_matrices[j_*order][0][VY] = -j*A*mu_1jm1-(j+delta)*B*mu_0j;
 
-    if(!found_moment_centered) throw vpException(vpException::notInitialized,"vpMomentCentered not found");
-    if(!found_moment_gravity) throw vpException(vpException::notInitialized,"vpMomentGravityCenter not found");
+    interaction_matrices[j_*order][0][WX] = (j+3*delta)*mu_0jp1+(2*j+3*delta)*Yg*mu_0j-j*epsilon*n02*mu_0jm1;
+    interaction_matrices[j_*order][0][WY] = -(j+3*delta)*mu_1j-(j+3*delta)*Xg*mu_0j-j*Yg*mu_1jm1+j*epsilon*n11*mu_0jm1;
+    interaction_matrices[j_*order][0][VZ] = -A*interaction_matrices[j_*order][0][WY]+B*interaction_matrices[j_*order][0][WX]+(j+2*delta)*C*mu_0j;
+    interaction_matrices[j_*order][0][WZ] = -j*mu_1jm1;
+  }
 
-    int delta;
-    int epsilon;
-    const vpMomentObject& momentObject = moment->getObject();
-    order = momentObject.getOrder()+1;
-    interaction_matrices.resize(order*order);
-    for (std::vector< vpMatrix >::iterator i=interaction_matrices.begin(); i!=interaction_matrices.end(); ++i)
-        i->resize(1,6);
-    if (momentObject.getType()==vpMomentObject::DISCRETE) {
-        delta=0;
-        epsilon=1;
-    } else {
-        delta=1;
-        epsilon=4;
-    }
-    double n11 = momentCentered.get(1,1)/momentObject.get(0,0);
-    double n20 = momentCentered.get(2,0)/momentObject.get(0,0);
-    double n02 = momentCentered.get(0,2)/momentObject.get(0,0);
-    double Xg = momentGravity.getXg();
-    double Yg = momentGravity.getYg();
-    double mu00 = momentCentered.get(0,0);
-
-    unsigned int VX = 0;
-    unsigned int VY = 1;
-    unsigned int VZ = 2;
-    unsigned int WX = 3;
-    unsigned int WY = 4;
-    unsigned int WZ = 5;
-
-    interaction_matrices[0][0][VX] = -(delta)*A*mu00;
-    interaction_matrices[0][0][VY] = -(delta)*B*mu00;
-
-    // Since mu10=0 and mu01=0
-    // interaction_matrices[0][0][WX] =  (3*delta)*MU(0,1)+(3*delta)*Yg*mu00;
-    // interaction_matrices[0][0][WY] = -(3*delta)*MU(1,0)-(3*delta)*Xg*mu00;
-    // we get the simplification:
-    interaction_matrices[0][0][WX] =  (3*delta)*Yg*mu00;
-    interaction_matrices[0][0][WY] = -(3*delta)*Xg*mu00;
-    interaction_matrices[0][0][VZ] = -A*interaction_matrices[0][0][WY]+B*interaction_matrices[0][0][WX]+(2*delta)*C*mu00;
-    interaction_matrices[0][0][WZ] = 0.;
-
-    for (int i=1; i<(int)order-1; i++){
+  for(int j=1; j<(int)order-1; j++) {
+    unsigned int j_ = (unsigned int) j;
+    unsigned int jm1_ = j_ - 1;
+    unsigned int jp1_ = j_ + 1;
+    for(int i=1; i<(int)order-j-1; i++) {
       unsigned int i_ = (unsigned int) i;
       unsigned int im1_ = i_ - 1;
       unsigned int ip1_ = i_ + 1;
 
-      double mu_im10 = momentCentered.get(im1_,0);
-      double mu_ip10 = momentCentered.get(ip1_,0);
-      double mu_im11 = momentCentered.get(im1_,1);
-      double mu_i0 = momentCentered.get(i_,0);
-      double mu_i1 = momentCentered.get(i_,1);
-
-      interaction_matrices[i_][0][VX] = -(i+delta)*A*mu_i0-(i*B*mu_im11);
-      interaction_matrices[i_][0][VY] = -(delta)*B*mu_i0;
-
-      interaction_matrices[i_][0][WX] = (i+3*delta)*mu_i1+(i+3*delta)*Yg*mu_i0+i*Xg*mu_im11-i*epsilon*n11*mu_im10;
-      interaction_matrices[i_][0][WY] = -(i+3*delta)*mu_ip10-(2*i+3*delta)*Xg*mu_i0+i*epsilon*n20*mu_im10;
-      interaction_matrices[i_][0][VZ] = -A*interaction_matrices[i_][0][WY]+B*interaction_matrices[i_][0][WX]+(i+2*delta)*C*mu_i0;
-      interaction_matrices[i_][0][WZ] = i*mu_im11;
+      double mu_ijm1   = momentCentered.get(i_,jm1_);
+      double mu_ij     = momentCentered.get(i_,j_);
+      double mu_ijp1   = momentCentered.get(i_,jp1_);
+      double mu_im1j   = momentCentered.get(im1_,j_);
+      double mu_im1jp1 = momentCentered.get(im1_,jp1_);
+      double mu_ip1jm1 = momentCentered.get(ip1_,jm1_);
+      double mu_ip1j   = momentCentered.get(ip1_,j_);
+
+      interaction_matrices[j_*order+i_][0][VX] = -(i+delta)*A*mu_ij-i*B*mu_im1jp1;
+      interaction_matrices[j_*order+i_][0][VY] = -j*A*mu_ip1jm1-(j+delta)*B*mu_ij;
+
+      interaction_matrices[j_*order+i_][0][WX] = (i+j+3*delta)*mu_ijp1+(i+2*j+3*delta)*Yg*mu_ij
+                                                 +i*Xg*mu_im1jp1-i*epsilon*n11*mu_im1j-j*epsilon*n02*mu_ijm1;
+      interaction_matrices[j_*order+i_][0][WY] = -(i+j+3*delta)*mu_ip1j-(2*i+j+3*delta)*Xg*mu_ij
+                                                 -j*Yg*mu_ip1jm1+i*epsilon*n20*mu_im1j+j*epsilon*n11*mu_ijm1;
+      interaction_matrices[j_*order+i_][0][VZ] = -A*interaction_matrices[j_*order+i_][0][WY]+B*interaction_matrices[j_*order+i_][0][WX]+(i+j+2*delta)*C*mu_ij;
+      interaction_matrices[j_*order+i_][0][WZ] = i*mu_im1jp1-j*mu_ip1jm1;
     }
+  }
+#endif // #ifdef VISP_MOMENTS_COMBINE_MATRICES
+}
 
-    for(int j=1;j<(int)order-1;j++){
-      unsigned int j_ = (unsigned int) j;
-      unsigned int jm1_ = j_ - 1;
-      unsigned int jp1_ = j_ + 1;
-
-      double mu_0jm1 = momentCentered.get(0,jm1_);
-      double mu_0jp1 = momentCentered.get(0,jp1_);
-      double mu_1jm1 = momentCentered.get(1,jm1_);
-      double mu_0j = momentCentered.get(0,j_);
-      double mu_1j = momentCentered.get(1,j_);
-
-      interaction_matrices[j_*order][0][VX] = -(delta)*A*mu_0j;
-      interaction_matrices[j_*order][0][VY] = -j*A*mu_1jm1-(j+delta)*B*mu_0j;
-
-      interaction_matrices[j_*order][0][WX] = (j+3*delta)*mu_0jp1+(2*j+3*delta)*Yg*mu_0j-j*epsilon*n02*mu_0jm1;
-      interaction_matrices[j_*order][0][WY] = -(j+3*delta)*mu_1j-(j+3*delta)*Xg*mu_0j-j*Yg*mu_1jm1+j*epsilon*n11*mu_0jm1;
-      interaction_matrices[j_*order][0][VZ] = -A*interaction_matrices[j_*order][0][WY]+B*interaction_matrices[j_*order][0][WX]+(j+2*delta)*C*mu_0j;
-      interaction_matrices[j_*order][0][WZ] = -j*mu_1jm1;
-    }
 
-    for(int j=1; j<(int)order-1; j++) {
-      unsigned int j_ = (unsigned int) j;
-      unsigned int jm1_ = j_ - 1;
-      unsigned int jp1_ = j_ + 1;
-      for(int i=1; i<(int)order-j-1; i++) {
-        unsigned int i_ = (unsigned int) i;
-        unsigned int im1_ = i_ - 1;
-        unsigned int ip1_ = i_ + 1;
-
-        double mu_ijm1   = momentCentered.get(i_,jm1_);
-        double mu_ij     = momentCentered.get(i_,j_);
-        double mu_ijp1   = momentCentered.get(i_,jp1_);
-        double mu_im1j   = momentCentered.get(im1_,j_);
-        double mu_im1jp1 = momentCentered.get(im1_,jp1_);
-        double mu_ip1jm1 = momentCentered.get(ip1_,jm1_);
-        double mu_ip1j   = momentCentered.get(ip1_,j_);
-
-        interaction_matrices[j_*order+i_][0][VX] = -(i+delta)*A*mu_ij-i*B*mu_im1jp1;
-        interaction_matrices[j_*order+i_][0][VY] = -j*A*mu_ip1jm1-(j+delta)*B*mu_ij;
-
-        interaction_matrices[j_*order+i_][0][WX] = (i+j+3*delta)*mu_ijp1+(i+2*j+3*delta)*Yg*mu_ij
-                                                   +i*Xg*mu_im1jp1-i*epsilon*n11*mu_im1j-j*epsilon*n02*mu_ijm1;
-        interaction_matrices[j_*order+i_][0][WY] = -(i+j+3*delta)*mu_ip1j-(2*i+j+3*delta)*Xg*mu_ij
-                                                   -j*Yg*mu_ip1jm1+i*epsilon*n20*mu_im1j+j*epsilon*n11*mu_ijm1;
-        interaction_matrices[j_*order+i_][0][VZ] = -A*interaction_matrices[j_*order+i_][0][WY]+B*interaction_matrices[j_*order+i_][0][WX]+(i+j+2*delta)*C*mu_ij;
-        interaction_matrices[j_*order+i_][0][WZ] = i*mu_im1jp1-j*mu_ip1jm1;
+std::ostream& operator<<(std::ostream & os, const vpFeatureMomentCentered& mu){
+  vpTRACE(" << Ls - CENTRED MOMENTS >>");
+  unsigned int order_m_1 = (unsigned int)(mu.order - 1);
+  for(unsigned int i=0; i<order_m_1; i++){
+      for(unsigned int j=0; j<order_m_1-i; j++){
+          os << "L_mu[" << i << "," << j << "] = ";
+          mu.interaction(i,j).matlabPrint(os);
       }
-    }
   }
+  return os;
+}
 
-  std::ostream& operator<<(std::ostream & os, const vpFeatureMomentCentered& mu){
-    vpTRACE(" << CENTRED MOMENTS >>");
-    unsigned int order_m_1 = (unsigned int)(mu.order - 1);
-    for(unsigned int i=0; i<order_m_1; i++){
-        for(unsigned int j=0; j<order_m_1-i; j++){
-            std::cout << "L_mu[" << i << "," << j << "] = ";
-            mu.interaction(i,j).matlabPrint(std::cout);
-        }
-    }
-    return os;
-  }
-#endif
diff --git a/src/visual-feature/vpFeatureMomentCentered.h b/src/visual-feature/vpFeatureMomentCentered.h
index ccbebc666364e87169e61035a85f33b03c328a1f..bfb13abda7c9490d8e67536eb056938deee94c72 100644
--- a/src/visual-feature/vpFeatureMomentCentered.h
+++ b/src/visual-feature/vpFeatureMomentCentered.h
@@ -36,7 +36,7 @@
  *
  * Authors:
  * Filip Novotny
- *
+ * Manikandan Bakthavatchalam
  *****************************************************************************/
 /*!
   \file vpFeatureMomentCentered.h
@@ -45,7 +45,7 @@
 #ifndef __FEATUREMOMENTCENTERED_H__
 #define __FEATUREMOMENTCENTERED_H__
 #include <visp/vpFeatureMoment.h>
-#ifdef VISP_MOMENTS_COMBINE_MATRICES
+#include <visp/vpFeatureMomentBasic.h>
 class vpMomentDatabase;
 /*!
   \class vpFeatureMomentCentered
@@ -69,56 +69,18 @@ class vpMomentDatabase;
         - vpMomentGravityCenter
 */
 class VISP_EXPORT vpFeatureMomentCentered : public vpFeatureMoment{
-private:
-    unsigned int order;
- public:
-        vpFeatureMomentCentered(vpMomentDatabase& moments,double A, double B, double C,vpFeatureMomentDatabase* featureMoments=NULL);
-        void compute_interaction();
-        /*!
-        Interaction matrix corresponding to \f$ \mu_{ij} \f$ moment
-        \param select_one : first index (i)
-        \param select_two : second index (j)
-        \return Interaction matrix corresponding to the moment
-        */
-        vpMatrix 	interaction (unsigned int select_one,unsigned int select_two);
-
-        /*!
-          associated moment name
-          */
-        const char* momentName() const { return "vpMomentCentered";}
-        /*!
-          feature name
-          */
-        const char* name() const { return "vpFeatureMomentCentered";}
-
-
-};
-
-#else
-class vpMomentDatabase;
-/*!
-  \class vpFeatureMomentCentered
-
-  \ingroup VsFeature2
-
-  \brief Functionality computation for centered moment feature. Computes the interaction matrix associated with vpMomentCentered.
-
-  The interaction matrix for the feature is defined in \cite Tahri05z, equation (17).
-  This vpFeatureMoment, as well as it's corresponding moment primitive is double-indexed.
-  The interaction matrix \f$ L_{\mu_{ij}} \f$ is obtained by calling vpFeatureMomentBasic::interaction (i,j) and is associated to \f$ \mu_{ij} \f$ obtained by vpFeatureMomentCentered::get (i,j).
-
-  vpFeatureMomentCentered computes interaction matrices all interaction matrices up to vpMomentObject::getOrder()-1.
-  \attention The maximum order reached by vpFeatureMomentBasic is NOT the maximum order of the vpMomentObject, it is one unit smaller.
-  For example if you define your vpMomentObject up to order n then vpFeatureMomentBasic will be able to compute interaction matrices up to order n-1 that is
-  \f$ L_{m_{ij}} \f$ with \f$ i+j<=n-1 \f$.
 
-    This feature depends on:
-      - vpMomentGravityCenter
-      - vpMomentCentered
-*/
-class VISP_EXPORT vpFeatureMomentCentered : public vpFeatureMoment{
 protected:
+    
     unsigned int order;
+    /*!
+       Core computation of interaction matrix for moment m_pq
+    */
+    vpMatrix
+    compute_Lmu_pq(const unsigned int& p, const unsigned int& q, const double& xg, const double& yg,
+                   const vpMatrix& L_xg, const vpMatrix& L_yg,
+                   const vpMomentBasic& m, const vpFeatureMomentBasic& feature_moment_m) const;
+
  public:
         vpFeatureMomentCentered(vpMomentDatabase& moments,double A, double B, double C,vpFeatureMomentDatabase* featureMoments=NULL);
         void compute_interaction();
@@ -129,8 +91,13 @@ protected:
           throw vpException(vpException::functionNotImplementedError,"Not implemented!");
         }
 #endif
-
-        vpMatrix interaction (unsigned int select_one,unsigned int select_two) const;
+        /*!
+        Interaction matrix corresponding to \f$ \mu_{ij} \f$ moment
+        \param select_one : first index (i)
+        \param select_two : second index (j)
+        \return Interaction matrix corresponding to the moment
+        */
+        vpMatrix 	interaction (unsigned int select_one,unsigned int select_two) const;
 
         /*!
           associated moment name
@@ -141,8 +108,7 @@ protected:
           */
         const char* name() const { return "vpFeatureMomentCentered";}
 
-        friend VISP_EXPORT std::ostream & operator<<(std::ostream & os, const vpFeatureMomentCentered& v);
+friend VISP_EXPORT std::ostream & operator<<(std::ostream & os, const vpFeatureMomentCentered& v);
 };
 
 #endif
-#endif
diff --git a/src/visual-feature/vpFeatureMomentDatabase.h b/src/visual-feature/vpFeatureMomentDatabase.h
index 2efa12a9999217b6c1fb3e0ccffdef4645e2a789..f7457c57d1f98144266ef8f302b331b9224c9fe2 100644
--- a/src/visual-feature/vpFeatureMomentDatabase.h
+++ b/src/visual-feature/vpFeatureMomentDatabase.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpFeatureMomentDatabase.h 4632 2014-02-03 17:06:40Z fspindle $
+ * $Id: vpFeatureMomentDatabase.h 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -164,7 +164,7 @@ class VISP_EXPORT vpFeatureMomentDatabase{
   /*!
     Default constructor.
   */
-  vpFeatureMomentDatabase() {}
+  vpFeatureMomentDatabase() : featureMomentsDataBase() {}
   /*!
     Virtual destructor that does nothing.
   */
@@ -173,7 +173,7 @@ class VISP_EXPORT vpFeatureMomentDatabase{
 
   vpFeatureMoment& get(const char* type, bool& found);
 
-  //friend std::ostream & operator<<(ostream & os, const vpFeatureMomentDatabase& v);
+  friend VISP_EXPORT std::ostream & operator<<(std::ostream& os, const vpFeatureMomentDatabase& m);
   friend class vpFeatureMoment;
 };
 
diff --git a/src/visual-feature/vpFeaturePoint.h b/src/visual-feature/vpFeaturePoint.h
index 4efed37a93a1442c293781c3ef3616713036db46..932f08a80382fbd3d95342c7d0cff01610cd4811 100644
--- a/src/visual-feature/vpFeaturePoint.h
+++ b/src/visual-feature/vpFeaturePoint.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpFeaturePoint.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpFeaturePoint.h 5237 2015-01-30 13:52:04Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -197,7 +197,7 @@ public:
 
   vpFeaturePoint() ;
   //! Destructor.
-  virtual ~vpFeaturePoint() { if (flags != NULL) delete [] flags; }
+  virtual ~vpFeaturePoint() {}
 
 
   /*
diff --git a/src/visual-feature/vpFeaturePoint3D.h b/src/visual-feature/vpFeaturePoint3D.h
index b91984cb1b1e076a636a59b28b444530c8fe8ff2..b398d3767f2c56767d1b7f86176cd3864081cfc1 100644
--- a/src/visual-feature/vpFeaturePoint3D.h
+++ b/src/visual-feature/vpFeaturePoint3D.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpFeaturePoint3D.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpFeaturePoint3D.h 5237 2015-01-30 13:52:04Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -223,7 +223,7 @@ public:
   // basic constructor
   vpFeaturePoint3D() ;
   //! Destructor. Does nothing.
-  virtual ~vpFeaturePoint3D() { if (flags != NULL) delete [] flags; }
+  virtual ~vpFeaturePoint3D() {}
 
   /*
     /section Set coordinates
diff --git a/src/visual-feature/vpFeaturePointPolar.h b/src/visual-feature/vpFeaturePointPolar.h
index a005d8d6639168ae173bf03b8921ffaaf1ee7f30..dc3e8118a1a0f4d551f03065ece8ad4fef06ec86 100644
--- a/src/visual-feature/vpFeaturePointPolar.h
+++ b/src/visual-feature/vpFeaturePointPolar.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpFeaturePointPolar.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpFeaturePointPolar.h 5237 2015-01-30 13:52:04Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -276,7 +276,7 @@ public:
   // basic constructor
   vpFeaturePointPolar() ;
   //! Destructor. Does nothing.
-  virtual ~vpFeaturePointPolar() { if (flags != NULL) delete [] flags; }
+  virtual ~vpFeaturePointPolar() { }
 
   void buildFrom(const double rho, const double theta, const double Z) ;
 
diff --git a/src/visual-feature/vpFeatureSegment.h b/src/visual-feature/vpFeatureSegment.h
index 87a8f7627d5380799513ab1a10f6dfe529c1ad45..5463d2aeac4c3ae35ed539e7bace87691af7e22a 100644
--- a/src/visual-feature/vpFeatureSegment.h
+++ b/src/visual-feature/vpFeatureSegment.h
@@ -80,7 +80,7 @@ public:
   vpFeatureSegment(bool normalized=false);
 
   //! Destructor. Does nothing.
-  ~vpFeatureSegment() { if (flags != NULL) delete [] flags; }
+  ~vpFeatureSegment() {}
   // change values of the segment
   void buildFrom(const double x1, const double y1, const double Z1, const double x2, const double y2, const double Z2);
 
diff --git a/src/visual-feature/vpFeatureThetaU.h b/src/visual-feature/vpFeatureThetaU.h
index 431e19c2893415ada94f4b137d2fd661363e206c..aa4a8b93269a76852ee9425642f5fdf2739ee339 100644
--- a/src/visual-feature/vpFeatureThetaU.h
+++ b/src/visual-feature/vpFeatureThetaU.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpFeatureThetaU.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpFeatureThetaU.h 5237 2015-01-30 13:52:04Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -271,9 +271,8 @@ public:
   // build from an homogeneous  matrix
   void buildFrom(const vpHomogeneousMatrix &M) ;
 
-		  
   //! Destructor. Does nothing.
-  virtual ~vpFeatureThetaU() { if (flags != NULL) delete [] flags; /*vpTRACE("0x%x", this)*/ ;}
+  virtual ~vpFeatureThetaU() {}
 
 public:
 
diff --git a/src/visual-feature/vpFeatureTranslation.h b/src/visual-feature/vpFeatureTranslation.h
index 0636ff2248b7800def9a2cb332593fc39b1c689e..4ecacd4250116d7f3b05261059da4f336db24cc0 100644
--- a/src/visual-feature/vpFeatureTranslation.h
+++ b/src/visual-feature/vpFeatureTranslation.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpFeatureTranslation.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpFeatureTranslation.h 5237 2015-01-30 13:52:04Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -306,7 +306,7 @@ public:
   // cdMc is the displacement that the camera has to realize
   vpFeatureTranslation(vpHomogeneousMatrix &f2Mf1, vpFeatureTranslationRepresentationType r) ;
   //! Destructor. Does nothing.
-  virtual ~vpFeatureTranslation() { if (flags != NULL) delete [] flags; }
+  virtual ~vpFeatureTranslation() {}
 
   // build from an homogeneous matrix
   // cdMc is the displacement that the camera has to realize
diff --git a/src/visual-feature/vpFeatureVanishingPoint.h b/src/visual-feature/vpFeatureVanishingPoint.h
index d4dac922561a269201bc03a5d5956c094085849c..d3c0169f749ef34fcfaed8ce2584311d514b6a77 100644
--- a/src/visual-feature/vpFeatureVanishingPoint.h
+++ b/src/visual-feature/vpFeatureVanishingPoint.h
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: vpFeatureVanishingPoint.h 4574 2014-01-09 08:48:51Z fspindle $
+ * $Id: vpFeatureVanishingPoint.h 5237 2015-01-30 13:52:04Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -82,12 +82,12 @@ public:
   //no Z required
 
 public:
-  //! basic construction
+  //! Default initialization.
   void init() ;
-  //! basic constructor
+  //! Default constructor.
   vpFeatureVanishingPoint() ;
-  //! destructor
-  virtual ~vpFeatureVanishingPoint() { if (flags != NULL) delete [] flags; }
+  //! Destructor.
+  virtual ~vpFeatureVanishingPoint() {}
 
 
 public:
diff --git a/test/camera/CMakeLists.txt b/test/camera/CMakeLists.txt
index f5b4750f4681668b1d525b3c617652246b6430bb..3c36476c6b26900c2f6e2f6708651e4c6fcf1182 100644
--- a/test/camera/CMakeLists.txt
+++ b/test/camera/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,25 +43,24 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   testCameraParametersConversion.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
   # Add test
-  ADD_TEST(${binary} ${binary})
+  add_test(${binary} ${binary})
 
-ENDFOREACH(source)
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+  add_dependencies(visp_tests ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "tests")
+  endif()
+endforeach()
diff --git a/test/device/CMakeLists.txt b/test/device/CMakeLists.txt
index 81849363e813313216f4011516e8c48766fbb8d1..f61ebd21f80e10feee8cb9ac3d90af1cd0b6ddc0 100644
--- a/test/device/CMakeLists.txt
+++ b/test/device/CMakeLists.txt
@@ -49,8 +49,3 @@ SET (SRC_SUBDIRS
 
 # Build process propagation in the sub directories
 SUBDIRS(${SRC_SUBDIRS})
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
diff --git a/test/device/display/CMakeLists.txt b/test/device/display/CMakeLists.txt
index a17dd0f155d0652d8334be45f9e5c2c8a61f08e2..abb24d27f4c4b6b4c4bd0e5479e182a38e6d0274 100644
--- a/test/device/display/CMakeLists.txt
+++ b/test/device/display/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,8 +43,9 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   testClick.cpp
+  testDisplayRoi.cpp
   testDisplays.cpp
   testMouseEvent.cpp
   testVideoDevice.cpp
@@ -52,15 +53,19 @@ SET (SOURCE
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-ENDFOREACH(source)
+  add_dependencies(visp_tests ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "tests")
+  endif()
+endforeach()
 
 # Add test
 # To run some of these tests don't forget to set VISP_INPUT_IMAGE_PATH
@@ -68,13 +73,9 @@ ENDFOREACH(source)
 # To get these sequence download ViSP-images.tar.gz from
 # http://www.irisa.fr/lagadic/visp/visp.html
 
-ADD_TEST(testClick             testClick -c ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(testDisplays          testDisplays -c ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(testMouseEvent        testMouseEvent -c ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(testVideoDevice       testVideoDevice -c ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(testVideoDeviceDual   testVideoDeviceDual -c ${OPTION_TO_DESACTIVE_DISPLAY})
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+add_test(testClick             testClick -c ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(testDisplayRoi        testDisplayRoi -c ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(testDisplays          testDisplays -c ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(testMouseEvent        testMouseEvent -c ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(testVideoDevice       testVideoDevice -c ${OPTION_TO_DESACTIVE_DISPLAY})
+add_test(testVideoDeviceDual   testVideoDeviceDual -c ${OPTION_TO_DESACTIVE_DISPLAY})
diff --git a/test/device/display/testClick.cpp b/test/device/display/testClick.cpp
index 00d141b04c843e91eb4d880a95c406198c48784c..ed3d5c1e695db006282130372f2500bb149015fb 100644
--- a/test/device/display/testClick.cpp
+++ b/test/device/display/testClick.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: testClick.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: testClick.cpp 5230 2015-01-30 06:55:59Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -244,10 +244,8 @@ main(int argc, const char ** argv)
     opt_dtype = vpCV;  
 #endif
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -322,7 +320,7 @@ main(int argc, const char ** argv)
     vpImage<unsigned char> I ;
 
     // Load a grey image from the disk
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.pgm");
     vpCTRACE << "Load " <<  filename << std::endl;
     vpImageIo::read(I, filename) ;
 
@@ -376,7 +374,7 @@ main(int argc, const char ** argv)
       break;
     case vpCV:
       std::cout << "Requested OpenCV display functionnalities..." << std::endl;
-#if defined VISP_HAVE_OPENCV
+#if defined(VISP_HAVE_OPENCV)
       display = new vpDisplayOpenCV;
 #else
       std::cout << "  Sorry, OpenCV video device is not available.\n";
@@ -411,6 +409,7 @@ main(int argc, const char ** argv)
         case vpMouseButton::button1: std::cout << "with left button.\n"; break;
         case vpMouseButton::button2: std::cout << "with middle button.\n"; break;
         case vpMouseButton::button3: std::cout << "with right button.\n"; break;
+        case vpMouseButton::none: break;
         }
         vpDisplay::getClickUp(I, ip, button);
         std::cout << "  You click up on pixel (" << ip <<") ";
@@ -418,6 +417,7 @@ main(int argc, const char ** argv)
         case vpMouseButton::button1: std::cout << "with left button.\n"; break;
         case vpMouseButton::button2: std::cout << "with middle button.\n"; break;
         case vpMouseButton::button3: std::cout << "with right button.\n"; break;
+        case vpMouseButton::none: break;
         }
         vpDisplay::getPointerPosition(I,ip);
         std::cout << "  Pointer poisition : " << ip << std::endl;
diff --git a/test/device/display/testDisplayRoi.cpp b/test/device/display/testDisplayRoi.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..0e2ec1993a968d3365b7410557c4ca93f13a7e6a
--- /dev/null
+++ b/test/device/display/testDisplayRoi.cpp
@@ -0,0 +1,209 @@
+/****************************************************************************
+ *
+ * $Id: testDisplayRoi.cpp 4776 2014-07-11 10:11:02Z fspindle $
+ *
+ * This file is part of the ViSP software.
+ * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+ *
+ * This software is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * ("GPL") version 2 as published by the Free Software Foundation.
+ * See the file LICENSE.txt at the root directory of this source
+ * distribution for additional information about the GNU GPL.
+ *
+ * For using ViSP with software that can not be combined with the GNU
+ * GPL, please contact INRIA about acquiring a ViSP Professional
+ * Edition License.
+ *
+ * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+ *
+ * This software was developed at:
+ * INRIA Rennes - Bretagne Atlantique
+ * Campus Universitaire de Beaulieu
+ * 35042 Rennes Cedex
+ * France
+ * http://www.irisa.fr/lagadic
+ *
+ * If you have questions regarding the use of this file, please contact
+ * INRIA at visp@inria.fr
+ *
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ *
+ * Description:
+ * Test for image roi display.
+ *
+ * Authors:
+ * Fabien Spindler
+ *
+ *****************************************************************************/
+
+/*!
+  \example testDisplayRoi.cpp
+
+  Test display of an image roi.
+
+*/
+
+#include <stdlib.h>
+
+#include <visp/vpImage.h>
+#include <visp/vpDisplayX.h>
+#include <visp/vpDisplayGTK.h>
+#include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayD3D.h>
+#include <visp/vpDisplayOpenCV.h>
+#include <visp/vpParseArgv.h>
+#include <visp/vpRect.h>
+
+// List of allowed command line options
+#define GETOPTARGS	"cdh"
+
+void usage(const char *name, const char *badparam);
+bool getOptions(int argc, const char **argv, bool &click_allowed, bool &display);
+
+/*!
+
+  Print the program options.
+
+  \param name : Program name.
+  \param badparam : Bad parameter name.
+
+ */
+void usage(const char *name, const char *badparam)
+{
+  fprintf(stdout, "\n\
+Read an image on the disk, display it using X11, display some\n\
+features (line, circle, caracters) in overlay and finaly write \n\
+the image and the overlayed features in an image on the disk.\n\
+\n\
+SYNOPSIS\n\
+  %s [-c] [-d] [-h]\n", name);
+
+  fprintf(stdout, "\n\
+OPTIONS:                                               Default\n\
+  -c\n\
+     Disable the mouse click. Useful to automate the \n\
+     execution of this program without humain intervention.\n\
+\n\
+  -d                                             \n\
+     Disable the image display. This can be useful \n\
+     for automatic tests using crontab under Unix or \n\
+     using the task manager under Windows.\n\
+\n\
+  -h\n\
+     Print the help.\n\n");
+
+  if (badparam) {
+    fprintf(stderr, "ERROR: \n" );
+    fprintf(stderr, "\nBad parameter [%s]\n", badparam);
+  }
+
+}
+
+/*!
+
+  Set the program options.
+
+  \param argc : Command line number of parameters.
+  \param argv : Array of command line parameters.
+  \param click_allowed : Enable/disable mouse click.
+  \param display : Set as true, activates the image display. This is
+  the default configuration. When set to false, the display is
+  disabled. This can be useful for automatic tests using crontab
+  under Unix or using the task manager under Windows.
+
+  \return false if the program has to be stopped, true otherwise.
+
+*/
+bool getOptions(int argc, const char **argv, bool &click_allowed, bool &display)
+{
+  const char *optarg_;
+  int	c;
+  while ((c = vpParseArgv::parse(argc, argv, GETOPTARGS, &optarg_)) > 1) {
+
+    switch (c) {
+    case 'c': click_allowed = false; break;
+    case 'd': display = false; break;
+    case 'h': usage(argv[0], NULL); return false; break;
+
+    default:
+      usage(argv[0], optarg_); return false; break;
+    }
+  }
+
+  if ((c == 1) || (c == -1)) {
+    // standalone param or error
+    usage(argv[0], NULL);
+    std::cerr << "ERROR: " << std::endl;
+    std::cerr << "  Bad argument " << optarg_ << std::endl << std::endl;
+    return false;
+  }
+
+  return true;
+}
+
+int main(int argc, const char ** argv)
+{
+#ifdef VISP_HAVE_DISPLAY
+  bool opt_click_allowed = true;
+  bool opt_display = true;
+
+  // Read the command line options
+  if (getOptions(argc, argv, opt_click_allowed, opt_display) == false) {
+    exit (-1);
+  }
+
+  if (opt_display) {
+
+    vpImage<unsigned char> I(480,640,255);
+
+#if defined(VISP_HAVE_X11)
+    vpDisplayX d;
+#elif defined(VISP_HAVE_GTK)
+    vpDisplayGTK d;
+#elif defined(VISP_HAVE_GDI)
+    vpDisplayGDI d;
+#elif defined(VISP_HAVE_D3D9)
+    vpDisplayD3D d;
+#elif defined(VISP_HAVE_OPENCV)
+    vpDisplayOpenCV d;
+#endif
+    d.init(I);
+    vpDisplay::display(I);
+    vpDisplay::flush(I);
+
+    I = 0;
+
+    vpRect roi(I.getWidth()/4, I.getHeight()/4, I.getWidth()/2, I.getHeight()/2);
+    vpDisplay::displayROI(I, roi);
+    vpDisplay::flush(I);
+    if (opt_click_allowed) {
+      std::cout << "A click in the image to continue..." << std::endl;
+      vpDisplay::getClick(I);
+    }
+    vpDisplay::close(I);
+
+    vpImage<vpRGBa> C(480,640,vpRGBa(255,0,0,0));
+
+    //vpDisplayX d;
+    d.init(C);
+    vpDisplay::display(C);
+    vpDisplay::flush(C);
+
+    C = vpRGBa(0,255,0,0);
+
+    vpDisplay::displayROI(C, roi);
+    vpDisplay::flush(C);
+    if (opt_click_allowed) {
+      std::cout << "A click in the image to exit..." << std::endl;
+      vpDisplay::getClick(C);
+    }
+  }
+#else
+  (void)argc;
+  (void)argv;
+#endif
+  return 0;
+}
diff --git a/test/device/display/testDisplays.cpp b/test/device/display/testDisplays.cpp
index 1a161cfa758e58f6cec6537702a3e5ee1f1a848e..8d904cbba23c140f8c75a7c27c76033fdb077a27 100644
--- a/test/device/display/testDisplays.cpp
+++ b/test/device/display/testDisplays.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: testDisplays.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: testDisplays.cpp 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -68,7 +68,7 @@
 */
 
 // List of allowed command line options
-#define GETOPTARGS	"hl:dc"
+#define GETOPTARGS	"hldc"
 
 void usage(const char *name, const char *badparam);
 bool getOptions(int argc, const char **argv, bool &list, bool &click_allowed, bool &display);
@@ -167,7 +167,7 @@ void draw(vpImage<vpRGBa> &I)
 
   iP1.set_i(20);
   iP1.set_j(60);
-  vpDisplay::displayCharString (I, iP1, "Test...", vpColor::black);
+  vpDisplay::displayText (I, iP1, "Test...", vpColor::black);
 
   iP1.set_i(80);
   iP1.set_j(220);
@@ -236,8 +236,6 @@ void draw(vpImage<vpRGBa> &I)
   iP1.set_i(380);
   iP1.set_j(400);
   vpDisplay::displayRectangle (I, iP1, 45, w, h, vpColor::green, 3);
-
-
 }
 
 int
@@ -260,23 +258,23 @@ main(int argc, const char ** argv)
       unsigned nbDevices = 0;
       std::cout << "List of video-devices available: \n";
 #if defined VISP_HAVE_GTK
-      std::cout << "  GTK (use \"-t GTK\" option to use it)\n";
+      std::cout << "  GTK\n";
       nbDevices ++;
 #endif
 #if defined VISP_HAVE_X11
-      std::cout << "  X11 (use \"-t X11\" option to use it)\n";
+      std::cout << "  X11\n";
       nbDevices ++;
 #endif
 #if defined VISP_HAVE_GDI
-      std::cout << "  GDI (use \"-t GDI\" option to use it)\n";
+      std::cout << "  GDI\n";
       nbDevices ++;
 #endif
 #if defined VISP_HAVE_D3D9
-      std::cout << "  D3D (use \"-t D3D\" option to use it)\n";
+      std::cout << "  D3D\n";
       nbDevices ++;
 #endif
 #if defined VISP_HAVE_OPENCV
-      std::cout << "  CV (use \"-t CV\" option to use it)\n";
+      std::cout << "  OpenCV\n";
       nbDevices ++;
 #endif   
       if (!nbDevices) {
@@ -312,7 +310,7 @@ main(int argc, const char ** argv)
     }
 #endif
 
-#if defined VISP_HAVE_OPENCV
+#if defined(VISP_HAVE_OPENCV)
     vpDisplayOpenCV *displayCv = NULL;
     displayCv = new vpDisplayOpenCV;
     Icv.init(480, 640, 255);
@@ -382,7 +380,7 @@ main(int argc, const char ** argv)
     delete displayGtk;
 #endif
 
-#if defined VISP_HAVE_OPENCV
+#if defined(VISP_HAVE_OPENCV)
     delete displayCv;
 #endif
 
diff --git a/test/device/display/testMouseEvent.cpp b/test/device/display/testMouseEvent.cpp
index 66ef3a6a94afdbde9066f15a90789b59d7079c9e..52c428268e14c4a7fdf36ac53b630adc9a903b89 100644
--- a/test/device/display/testMouseEvent.cpp
+++ b/test/device/display/testMouseEvent.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: testMouseEvent.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: testMouseEvent.cpp 5230 2015-01-30 06:55:59Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -286,7 +286,7 @@ main(int argc, const char ** argv)
   unsigned opt_nimages = 10;
   unsigned opt_step = 1;
   vpDisplayType opt_dtype; // Type of display to use
-  bool opt_list = false; // To print the list of video devices 
+  bool opt_list = false; // To print the list of video devices
   bool opt_display = true;
   bool opt_click = true;
   bool opt_click_blocking = false;
@@ -302,10 +302,8 @@ main(int argc, const char ** argv)
   opt_dtype = vpD3D;
 #endif
 
-  // Get the VISP_IMAGE_PATH environment variable value
-  char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-  if (ptenv != NULL)
-    env_ipath = ptenv;
+  // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+  env_ipath = vpIoTools::getViSPImagesDataPath();
 
   // Set the default input path
   if (! env_ipath.empty())
@@ -313,11 +311,11 @@ main(int argc, const char ** argv)
 
   // Read the command line options
   if (getOptions(argc, argv, opt_ipath, opt_ppath,opt_first, opt_nimages,
-		 opt_step, opt_dtype, opt_list, opt_display, opt_click,
-		 opt_click_blocking) == false) {
+                 opt_step, opt_dtype, opt_list, opt_display, opt_click,
+                 opt_click_blocking) == false) {
     exit (-1);
   }
-    // Print the list of video-devices available
+  // Print the list of video-devices available
   if (opt_list) {
     unsigned nbDevices = 0;
     std::cout << "List of video-devices available: \n";
@@ -355,10 +353,10 @@ main(int argc, const char ** argv)
   if (!opt_ipath.empty() && !env_ipath.empty() && opt_ppath.empty()) {
     if (ipath != env_ipath) {
       std::cout << std::endl
-	   << "WARNING: " << std::endl;
+                << "WARNING: " << std::endl;
       std::cout << "  Since -i <visp image path=" << ipath << "> "
-	   << "  is different from VISP_IMAGE_PATH=" << env_ipath << std::endl
-	   << "  we skip the environment variable." << std::endl;
+                << "  is different from VISP_IMAGE_PATH=" << env_ipath << std::endl
+                << "  we skip the environment variable." << std::endl;
     }
   }
 
@@ -366,14 +364,14 @@ main(int argc, const char ** argv)
   if (opt_ipath.empty() && env_ipath.empty() && opt_ppath.empty() ){
     usage(argv[0], NULL, ipath, opt_ppath, opt_first, opt_nimages, opt_step,opt_dtype);
     std::cerr << std::endl
-	 << "ERROR:" << std::endl;
+              << "ERROR:" << std::endl;
     std::cerr << "  Use -i <visp image path> option or set VISP_INPUT_IMAGE_PATH "
-	 << std::endl
-	 << "  environment variable to specify the location of the " << std::endl
-	 << "  image path where test images are located." << std::endl
-	 << "  Use -p <personal image path> option if you want to "<<std::endl
-	 << "  use personal images." << std::endl
-         << std::endl;
+              << std::endl
+              << "  environment variable to specify the location of the " << std::endl
+              << "  image path where test images are located." << std::endl
+              << "  Use -p <personal image path> option if you want to "<<std::endl
+              << "  use personal images." << std::endl
+              << std::endl;
 
     exit(-1);
   }
@@ -388,8 +386,8 @@ main(int argc, const char ** argv)
   char cfilename[FILENAME_MAX];
 
   if (opt_ppath.empty()){
-  
-  
+
+
     // Warning :
     // the image sequence is not provided with the ViSP package
     // therefore the program will return you an error :
@@ -401,15 +399,15 @@ main(int argc, const char ** argv)
     //  The sequence is available on the visp www site
     //  http://www.irisa.fr/lagadic/visp/visp.html
     //  in the download section. It is named "ViSP-images.tar.gz"
-  
+
     // Set the path location of the image sequence
-    dirname = ipath + vpIoTools::path("/ViSP-images/cube/");
-  
+    dirname = vpIoTools::createFilePath(ipath, "ViSP-images/cube");
+
     // Build the name of the image file
-  
+
     s.setf(std::ios::right, std::ios::adjustfield);
     s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-    filename = dirname + s.str();
+    filename = vpIoTools::createFilePath(dirname, s.str());
   }
   else {
 
@@ -432,62 +430,62 @@ main(int argc, const char ** argv)
     // Note that another error message has been printed from readPGM
     // to give more information about the error
     std::cerr << std::endl
-	 << "ERROR:" << std::endl;
+              << "ERROR:" << std::endl;
     std::cerr << "  Cannot read " << filename << std::endl;
     std::cerr << "  Check your -i " << ipath << " option, " << std::endl
-	 << "  or your -p " << opt_ppath << " option " <<std::endl
-	 << "  or VISP_INPUT_IMAGE_PATH environment variable"
-	 << std::endl;
+              << "  or your -p " << opt_ppath << " option " <<std::endl
+              << "  or VISP_INPUT_IMAGE_PATH environment variable"
+              << std::endl;
     exit(-1);
   }
-    // Create a display for the image
+  // Create a display for the image
   vpDisplay *display = NULL;
 
   switch(opt_dtype) {
-    case vpX11:
-      std::cout << "Requested X11 display functionnalities..." << std::endl;
+  case vpX11:
+    std::cout << "Requested X11 display functionnalities..." << std::endl;
 #if defined VISP_HAVE_X11
-      display = new vpDisplayX;
+    display = new vpDisplayX;
 #else
-      std::cout << "  Sorry, X11 video device is not available.\n";
-      std::cout << "Use \"" << argv[0]
-          << " -l\" to print the list of available devices.\n";
-      return 0;
+    std::cout << "  Sorry, X11 video device is not available.\n";
+    std::cout << "Use \"" << argv[0]
+              << " -l\" to print the list of available devices.\n";
+    return 0;
 #endif
-      break;
-    case vpGTK:
-      std::cout << "Requested GTK display functionnalities..." << std::endl;
+    break;
+  case vpGTK:
+    std::cout << "Requested GTK display functionnalities..." << std::endl;
 #if defined VISP_HAVE_GTK
-      display = new vpDisplayGTK;
+    display = new vpDisplayGTK;
 #else
-      std::cout << "  Sorry, GTK video device is not available.\n";
-      std::cout << "Use \"" << argv[0]
-          << " -l\" to print the list of available devices.\n";
-      return 0;
+    std::cout << "  Sorry, GTK video device is not available.\n";
+    std::cout << "Use \"" << argv[0]
+              << " -l\" to print the list of available devices.\n";
+    return 0;
 #endif
-      break;
-    case vpGDI:
-      std::cout << "Requested GDI display functionnalities..." << std::endl;
+    break;
+  case vpGDI:
+    std::cout << "Requested GDI display functionnalities..." << std::endl;
 #if defined VISP_HAVE_GDI
-      display = new vpDisplayGDI;
+    display = new vpDisplayGDI;
 #else
-      std::cout << "  Sorry, GDI video device is not available.\n";
-      std::cout << "Use \"" << argv[0]
-          << " -l\" to print the list of available devices.\n";
-      return 0;
+    std::cout << "  Sorry, GDI video device is not available.\n";
+    std::cout << "Use \"" << argv[0]
+              << " -l\" to print the list of available devices.\n";
+    return 0;
 #endif
-      break;
-    case vpD3D:
-      std::cout << "Requested D3D display functionnalities..." << std::endl;
+    break;
+  case vpD3D:
+    std::cout << "Requested D3D display functionnalities..." << std::endl;
 #if defined VISP_HAVE_D3D9
-      display = new vpDisplayD3D;
+    display = new vpDisplayD3D;
 #else
-      std::cout << "  Sorry, D3D video device is not available.\n";
-      std::cout << "Use \"" << argv[0]
-          << " -l\" to print the list of available devices.\n";
-      return 0;
+    std::cout << "  Sorry, D3D video device is not available.\n";
+    std::cout << "Use \"" << argv[0]
+              << " -l\" to print the list of available devices.\n";
+    return 0;
 #endif
-      break;
+    break;
   }
 
   if (opt_display) {
@@ -506,12 +504,12 @@ main(int argc, const char ** argv)
     }
     catch(...) {
       vpERROR_TRACE("Error while displaying the image") ;
-      delete display;   
+      delete display;
       exit(-1);
     }
   }
 
-//  double tms_1 = vpTime::measureTimeMs() ;
+  //  double tms_1 = vpTime::measureTimeMs() ;
   unsigned niter=0 ;
   // this is the loop over the image sequence
   while (iter < opt_first + opt_nimages*opt_step) {
@@ -523,7 +521,7 @@ main(int argc, const char ** argv)
       if (opt_ppath.empty()){
         s.str("");
         s << "image." << std::setw(4) << std::setfill('0') << iter << ".pgm";
-        filename = dirname + s.str();
+        filename = vpIoTools::createFilePath(dirname, s.str());
       }
       else {
         sprintf(cfilename, opt_ppath.c_str(), iter) ;
@@ -539,31 +537,32 @@ main(int argc, const char ** argv)
         //Flush the display
         vpDisplay::flush(I) ;
 
-	if (opt_click_blocking) {
-	  std::cout << "A click in the image to continue..." << std::endl;
-	}
-	vpImagePoint ip;
-	vpMouseButton::vpMouseButtonType button;
-
-	if (opt_click) {
-	  bool pressed = vpDisplay::getClick(I, ip, button, opt_click_blocking);
-	  if (pressed) {
-	    switch (button) {
-	    case vpMouseButton::button1:
-	      std::cout << "Left button was pressed." << std::endl;
-	      break;
-	    case vpMouseButton::button2:
-	      std::cout << "Middle button was pressed." << std::endl;
-	      break;
-	    case vpMouseButton::button3:
-	      std::cout << "Right button was pressed. Bye. " << std::endl;
-	      delete display;      
-	      return 0; break;
-	    }
-	  }
-	}
-
-	vpTime::wait(tms, 1000);
+        if (opt_click_blocking) {
+          std::cout << "A click in the image to continue..." << std::endl;
+        }
+        vpImagePoint ip;
+        vpMouseButton::vpMouseButtonType button;
+
+        if (opt_click) {
+          bool pressed = vpDisplay::getClick(I, ip, button, opt_click_blocking);
+          if (pressed) {
+            switch (button) {
+            case vpMouseButton::button1:
+              std::cout << "Left button was pressed." << std::endl;
+              break;
+            case vpMouseButton::button2:
+              std::cout << "Middle button was pressed." << std::endl;
+              break;
+            case vpMouseButton::button3:
+              std::cout << "Right button was pressed. Bye. " << std::endl;
+              delete display;
+              return 0; break;
+            case vpMouseButton::none: break;
+            }
+          }
+        }
+
+        vpTime::wait(tms, 1000);
       }
       
       else {
@@ -573,15 +572,15 @@ main(int argc, const char ** argv)
       niter++ ;
     }
     catch(...) {
-      delete display;      
+      delete display;
       exit(-1) ;
     }
     iter += opt_step ;
   }
-  delete display;    
-//  double tms_2 = vpTime::measureTimeMs() ;
-//  double tms_total = tms_2 - tms_1 ;
-//  std::cout << "Total Time : "<< tms_total<<std::endl;
+  delete display;
+  //  double tms_2 = vpTime::measureTimeMs() ;
+  //  double tms_total = tms_2 - tms_1 ;
+  //  std::cout << "Total Time : "<< tms_total<<std::endl;
 
 }
 #else
@@ -592,9 +591,3 @@ main()
 }
 
 #endif
-
-/*
- * Local variables:
- * c-basic-offset: 2
- * End:
- */
diff --git a/test/device/display/testVideoDevice.cpp b/test/device/display/testVideoDevice.cpp
index bc2bc73d2c6005db1d6ec43124c8cafec9e22fe1..badda35468321ffc499812606d15695bc5dbfb26 100644
--- a/test/device/display/testVideoDevice.cpp
+++ b/test/device/display/testVideoDevice.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: testVideoDevice.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: testVideoDevice.cpp 5023 2014-12-03 16:07:48Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -240,10 +240,8 @@ main(int argc, const char ** argv)
     opt_dtype = vpCV;  
 #endif
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -285,7 +283,6 @@ main(int argc, const char ** argv)
       return (0);
     }
 
-
     // Get the option values
     if (!opt_ipath.empty())
       ipath = opt_ipath;
@@ -320,12 +317,12 @@ main(int argc, const char ** argv)
     vpImage<vpRGBa> Irgba ;
 
     // Load a grey image from the disk
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.pgm");
     vpCTRACE << "Load " <<  filename << std::endl;
     vpImageIo::read(I, filename) ;
 
     // Load a color image from the disk
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.ppm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.ppm");
     vpCTRACE << "Load " <<  filename << std::endl;
     vpImageIo::read(Irgba, filename) ;
 
@@ -380,7 +377,7 @@ main(int argc, const char ** argv)
       break;
     case vpCV:
       std::cout << "Requested OpenCV display functionnalities..." << std::endl;
-#if defined VISP_HAVE_OPENCV
+#if defined(VISP_HAVE_OPENCV)
       display = new vpDisplayOpenCV;
 #else
       std::cout << "  Sorry, OpenCV video device is not available.\n";
diff --git a/test/device/display/testVideoDeviceDual.cpp b/test/device/display/testVideoDeviceDual.cpp
index a3bc6ba9507cdd2735b96e32910ed339c0dbb8ea..b0c765c722fe574826b407ad8fc5ce23c77074a2 100644
--- a/test/device/display/testVideoDeviceDual.cpp
+++ b/test/device/display/testVideoDeviceDual.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: testVideoDeviceDual.cpp 4659 2014-02-09 14:11:51Z fspindle $
+ * $Id: testVideoDeviceDual.cpp 5023 2014-12-03 16:07:48Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -311,7 +311,7 @@ int main(int argc, const char ** argv)
       break;
     case vpCV:
       std::cout << "Requested OpenCV display functionnalities..." << std::endl;
-#if defined VISP_HAVE_OPENCV
+#if defined(VISP_HAVE_OPENCV)
       d1 = new vpDisplayOpenCV;
       d2 = new vpDisplayOpenCV;
 #else
diff --git a/test/device/framegrabber/CMakeLists.txt b/test/device/framegrabber/CMakeLists.txt
index 7f89c91819fdf50dafd6b00372b32bc599dec162..9a7a6db0ee3a81fdb2a9f66c7595f6b05ec183c9 100644
--- a/test/device/framegrabber/CMakeLists.txt
+++ b/test/device/framegrabber/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,25 +43,22 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   test1394TwoResetBus.cpp
   test1394TwoGrabber.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-  # Add test
-  #ADD_TEST(${binary} ${binary})
-ENDFOREACH(source)
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+  add_dependencies(visp_tests ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "tests")
+  endif()
+endforeach()
diff --git a/test/feature/CMakeLists.txt b/test/feature/CMakeLists.txt
index a12fb14dd6c14e93c6e42baf653ba2c8638df683..556fde323bf0cc104d0e00add841a784abfad155 100644
--- a/test/feature/CMakeLists.txt
+++ b/test/feature/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,25 +43,24 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   testPoint.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
   # Add test
-  ADD_TEST(${binary} ${binary})
+  add_test(${binary} ${binary})
 
-ENDFOREACH(source)
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+  add_dependencies(visp_tests ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "tests")
+  endif()
+endforeach()
diff --git a/test/homography/CMakeLists.txt b/test/homography/CMakeLists.txt
index f5aebdc1581e97358132cae6ad8bb977caf76a52..7382083497657e8c49dd0b8065d1e6d6ac006716 100644
--- a/test/homography/CMakeLists.txt
+++ b/test/homography/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,25 +43,24 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   testDisplacement.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
   # Add test
-  ADD_TEST(${binary} ${binary})
+  add_test(${binary} ${binary})
 
-ENDFOREACH(source)
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+  add_dependencies(visp_tests ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "tests")
+  endif()
+endforeach()
diff --git a/test/homography/testDisplacement.cpp b/test/homography/testDisplacement.cpp
index b23d2df3d73c7baba9544940203ee9c8a3d16087..1f9c5abe10f944b7dcfe58f9ab568aed984d65e6 100644
--- a/test/homography/testDisplacement.cpp
+++ b/test/homography/testDisplacement.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: testDisplacement.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: testDisplacement.cpp 4833 2014-08-28 14:21:46Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -205,9 +205,9 @@ main(int argc, const char ** argv)
       vpHomogeneousMatrix M ;
       M.insert(R) ;
 
-      M[0][3] = 0.21 ;
-      M[1][3] =- 0.31 ;
-      M[2][3] = 0.5 ;
+      M[0][3] =  0.21 ;
+      M[1][3] = -0.31 ;
+      M[2][3] =  0.5 ;
 
       std::cout << "M" << std::endl << M << std::endl ;
       vpPlane p(0.4,-0.5,0.5,1) ;
diff --git a/test/image/CMakeLists.txt b/test/image/CMakeLists.txt
index a879ba6481b805e6a8c40d2338e0c4eb0782c49f..3ac6c1069df7902d0f2e1e56c3706035550cde31 100644
--- a/test/image/CMakeLists.txt
+++ b/test/image/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,7 +43,7 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   testConversion.cpp
   testCreateSubImage.cpp
   testImagePoint.cpp
@@ -54,29 +54,28 @@ SET (SOURCE
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-ENDFOREACH(source)
+  add_dependencies(visp_tests ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "tests")
+  endif()
+endforeach()
 
 # Add test
 # To run some of these tests don't forget to set VISP_INPUT_IMAGE_PATH
 # environment variable to the ViSP test sequences location.
 # To get these sequence download ViSP-images.tar.gz from
 # http://www.irisa.fr/lagadic/visp/visp.html
-ADD_TEST(testConversion     testConversion)
-ADD_TEST(testCreateSubImage testCreateSubImage)
-ADD_TEST(testImagePoint     testImagePoint)
-ADD_TEST(testIoPGM          testIoPGM)
-ADD_TEST(testIoPPM          testIoPPM)
-ADD_TEST(testReadImage      testReadImage)
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+add_test(testConversion     testConversion)
+add_test(testCreateSubImage testCreateSubImage)
+add_test(testImagePoint     testImagePoint)
+add_test(testIoPGM          testIoPGM)
+add_test(testIoPPM          testIoPPM)
+add_test(testReadImage      testReadImage)
diff --git a/test/image/testConversion.cpp b/test/image/testConversion.cpp
index d1321216d62785c404389efbf0879ba3d4df82fd..4fe6cfd2fbd24874b438b80babc4bda958811a82 100644
--- a/test/image/testConversion.cpp
+++ b/test/image/testConversion.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: testConversion.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: testConversion.cpp 5023 2014-12-03 16:07:48Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -161,10 +161,8 @@ main(int argc, const char ** argv)
     std::string filename;
     std::string username;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -192,7 +190,7 @@ main(int argc, const char ** argv)
       opath = opt_opath;
 
     // Append to the output path string, the login name of the user
-    opath += vpIoTools::path("/") + username;
+    opath = vpIoTools::createFilePath(opath, username);
 
     // Test if the output path exist. If no try to create it
     if (vpIoTools::checkDirectory(opath) == false) {
@@ -244,24 +242,24 @@ main(int argc, const char ** argv)
     //-------------------- .pgm -> .ppm
     vpTRACE("Convert a grey image (.pgm) to a color image (.ppm)");
     // Load a grey image from the disk
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.pgm");
     vpCTRACE << "Load " <<  filename << std::endl;
     vpImageIo::read(Ig, filename) ;
     // Create a color image from the grey
     vpImageConvert::convert(Ig, Ic);
-    filename = opath +  vpIoTools::path("/Klimt_color.ppm");
+    filename = vpIoTools::createFilePath(opath, "Klimt_color.ppm");
     vpCTRACE << "Write " << filename << std::endl;
     vpImageIo::write(Ic, filename) ;
 
     //-------------------- .ppm -> .pgm
     vpTRACE("Convert a color image (.ppm) to a grey image (.pgm)");
     // Load a color image from the disk
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.ppm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.ppm");
     vpCTRACE << "Load " << filename << std::endl;
     vpImageIo::read(Ic, filename) ;
     // Create a grey image from the color
     vpImageConvert::convert(Ic, Ig);
-    filename = opath +  vpIoTools::path("/Klimt_grey.pgm");
+    filename = vpIoTools::createFilePath(opath, "Klimt_grey.pgm");
     vpCTRACE << "Write " << filename << std::endl;
     vpImageIo::write(Ig, filename) ;
 
@@ -274,12 +272,13 @@ main(int argc, const char ** argv)
     vpTRACE("y(%d) u(%d) v(%d) = r(%d) g(%d) b(%d)", y, u, v, r, g, b);
 
 #ifdef VISP_HAVE_OPENCV
+#if VISP_HAVE_OPENCV_VERSION < 0x020408
     double t0 = vpTime::measureTimeMs();
     /////////////////////////
     // Convert a IplImage to a vpImage<vpRGBa>
     ////////////////////////
     IplImage* image = NULL; /*!< The image read / acquired */
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.ppm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.ppm");
 
     /* Read the color image */
 
@@ -290,13 +289,13 @@ main(int argc, const char ** argv)
       return (-1);
     }
     vpImageConvert::convert(image, Ic);
-    filename = opath +  vpIoTools::path("/Klimt_color_cv.ppm");
+    filename = vpIoTools::createFilePath(opath, "Klimt_color_cv.ppm");
     /* Save the the current image */
     vpImageIo::write(Ic, filename) ;
 
     vpCTRACE<< "Convert result in "<<std::endl<< filename << std::endl;
 
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.pgm");
 
     /* Read the pgm image */
 
@@ -308,7 +307,7 @@ main(int argc, const char ** argv)
       return (-1);
     }
     vpImageConvert::convert(image, Ic);
-    filename = opath +  vpIoTools::path("/Klimt_grey_cv.ppm");
+    filename = vpIoTools::createFilePath(opath, "Klimt_grey_cv.ppm");
     /* Save the the current image */
     vpImageIo::write(Ic, filename) ;
 
@@ -317,7 +316,7 @@ main(int argc, const char ** argv)
     ///////////////////////////
     // Convert a IplImage to a vpImage<unsigned char>
     ////////////////////////////
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.ppm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.ppm");
 
     /* Read the color image */
 
@@ -329,13 +328,13 @@ main(int argc, const char ** argv)
       return (-1);
     }
     vpImageConvert::convert(image, Ig);
-    filename = opath +  vpIoTools::path("/Klimt_color_cv.pgm");
+    filename = vpIoTools::createFilePath(opath, "Klimt_color_cv.pgm");
     /* Save the the current image */
     vpImageIo::write(Ig, filename) ;
 
     vpCTRACE<< "Convert result in "<<std::endl<< filename << std::endl;
 
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.pgm");
 
     /* Read the pgm image */
 
@@ -348,7 +347,7 @@ main(int argc, const char ** argv)
       return (-1);
     }
     vpImageConvert::convert(image, Ig);
-    filename = opath +  vpIoTools::path("/Klimt_grey_cv.pgm");
+    filename = vpIoTools::createFilePath(opath, "Klimt_grey_cv.pgm");
     /* Save the the current image */
     vpImageIo::write(Ig, filename) ;
 
@@ -357,7 +356,7 @@ main(int argc, const char ** argv)
     ////////////////////////////////////
     // Convert a vpImage<vpRGBa> to a IplImage
     ////////////////////////////////////
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.ppm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.ppm");
 
     /* Read the color image */
 
@@ -365,7 +364,7 @@ main(int argc, const char ** argv)
     vpCTRACE << "Load " << filename << std::endl;
     vpImageIo::read(Ic, filename) ;
     vpImageConvert::convert(Ic, image);
-    filename = opath +  vpIoTools::path("/Klimt_ipl_color_cv.ppm");
+    filename = vpIoTools::createFilePath(opath, "Klimt_ipl_color_cv.ppm");
     /* Save the the current image */
     vpCTRACE << "Write " << filename << std::endl;
     if((cvSaveImage(filename.c_str(), image)) == 0) {
@@ -378,7 +377,7 @@ main(int argc, const char ** argv)
     ////////////////////////////////////////
     // Convert a IplImage to a vpImage<unsigned char>
     ////////////////////////////////////////
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.pgm");
 
     /* Read the grey image */
 
@@ -386,7 +385,7 @@ main(int argc, const char ** argv)
     vpCTRACE << "Load " << filename << std::endl;
     vpImageIo::read(Ig, filename) ;
     vpImageConvert::convert(Ig, image);
-    filename = opath +  vpIoTools::path("/Klimt_ipl_grey_cv.pgm");
+    filename = vpIoTools::createFilePath(opath, "Klimt_ipl_grey_cv.pgm");
     /* Save the the current image */
 
     vpCTRACE << "Write " << filename << std::endl;
@@ -400,6 +399,7 @@ main(int argc, const char ** argv)
     if(image!=NULL) cvReleaseImage( &image );
     double t1 = vpTime::measureTimeMs();
     std::cout << "Conversion c interface : " << t1 - t0 << " ms" << std::endl;
+#endif
 
     /* ------------------------------------------------------------------------ */
     /*                  conversion for the new c++ interface                    */
@@ -411,7 +411,7 @@ main(int argc, const char ** argv)
     // Convert a cv::Mat to a vpImage<vpRGBa>
     ////////////////////////
     cv::Mat imageMat;
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.ppm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.ppm");
     vpCTRACE << "Reading the color image with c++ interface of opencv: "<< std::endl
              << filename << std::endl;
     imageMat = cv::imread(filename, 1);// force to a three channel color image.
@@ -420,12 +420,12 @@ main(int argc, const char ** argv)
       return -1;
     }
     vpImageConvert::convert(imageMat, Ic);
-    filename = opath +  vpIoTools::path("/Klimt_color_cvMat.ppm");
+    filename = vpIoTools::createFilePath(opath, "Klimt_color_cvMat.ppm");
     /* Save the the current image */
     vpImageIo::write(Ic, filename) ;
     vpCTRACE<< "Convert result in "<<std::endl<< filename << std::endl;
 
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.pgm");
     /* Read the pgm image */
 
     vpCTRACE << "Reading the greyscale image with opencv: "<< std::endl
@@ -436,7 +436,7 @@ main(int argc, const char ** argv)
       return (-1);
     }
     vpImageConvert::convert(imageMat, Ic);
-    filename = opath +  vpIoTools::path("/Klimt_grey_cvMat.ppm");
+    filename = vpIoTools::createFilePath(opath, "Klimt_grey_cvMat.ppm");
     /* Save the the current image */
     vpImageIo::write(Ic, filename) ;
     vpCTRACE<< "Convert result in "<<std::endl<< filename << std::endl;
@@ -444,7 +444,7 @@ main(int argc, const char ** argv)
     ///////////////////////////
     // Convert a cv::Mat to a vpImage<unsigned char>
     ////////////////////////////
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.ppm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.ppm");
 
     /* Read the color image */
 
@@ -456,12 +456,12 @@ main(int argc, const char ** argv)
       return -1;
     }
     vpImageConvert::convert(imageMat, Ig);
-    filename = opath +  vpIoTools::path("/Klimt_color_cvMat.pgm");
+    filename = vpIoTools::createFilePath(opath, "Klimt_color_cvMat.pgm");
     /* Save the the current image */
     vpImageIo::write(Ig, filename) ;
     vpCTRACE<< "Convert result in "<<std::endl<< filename << std::endl;
 
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.pgm");
 
     /* Read the pgm image */
 
@@ -473,7 +473,7 @@ main(int argc, const char ** argv)
       return (-1);
     }
     vpImageConvert::convert(imageMat, Ig);
-    filename = opath +  vpIoTools::path("/Klimt_grey_cvMat.pgm");
+    filename = vpIoTools::createFilePath(opath, "Klimt_grey_cvMat.pgm");
     /* Save the the current image */
     vpImageIo::write(Ig, filename) ;
 
@@ -482,7 +482,7 @@ main(int argc, const char ** argv)
     ////////////////////////////////////
     // Convert a vpImage<vpRGBa> to a cv::Mat
     ////////////////////////////////////
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.ppm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.ppm");
 
     /* Read the color image */
 
@@ -490,12 +490,11 @@ main(int argc, const char ** argv)
     vpCTRACE << "Load " << filename << std::endl;
     vpImageIo::read(Ic, filename) ;
     vpImageConvert::convert(Ic, imageMat);
-    filename = opath +  vpIoTools::path("/Klimt_ipl_color_cvMat.ppm");
+    filename = vpIoTools::createFilePath(opath, "Klimt_ipl_color_cvMat.ppm");
     /* Save the the current image */
     vpCTRACE << "Write " << filename << std::endl;
     if(!cv::imwrite(filename, imageMat)){
       vpCTRACE<<"Cannot write image: "<< std::endl << filename << std::endl;
-      if(image!=NULL) cvReleaseImage( &image );
       return (-1);
     }
     vpCTRACE<< "Convert result in "<<std::endl<< filename << std::endl;
@@ -503,7 +502,7 @@ main(int argc, const char ** argv)
     ////////////////////////////////////////
     // Convert a IplImage to a vpImage<unsigned char>
     ////////////////////////////////////////
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.pgm");
 
     /* Read the grey image */
 
@@ -511,13 +510,12 @@ main(int argc, const char ** argv)
     vpCTRACE << "Load " << filename << std::endl;
     vpImageIo::read(Ig, filename);
     vpImageConvert::convert(Ig, imageMat);
-    filename = opath +  vpIoTools::path("/Klimt_ipl_grey_cvMat.pgm");
+    filename = vpIoTools::createFilePath(opath, "Klimt_ipl_grey_cvMat.pgm");
     /* Save the the current image */
 
     vpCTRACE << "Write " << filename << std::endl;
     if(!cv::imwrite(filename, imageMat)){
       vpCTRACE<<"Cannot write image: "<< std::endl << filename << std::endl;
-      if(image!=NULL) cvReleaseImage( &image );
       return (-1);
     }
     vpCTRACE<< "Convert result in "<<std::endl<< filename << std::endl;
@@ -529,7 +527,7 @@ main(int argc, const char ** argv)
     ////////////////////////////////////
     // Split a vpImage<vpRGBa> to vpImage<unsigned char>
     ////////////////////////////////////
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.ppm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.ppm");
 
     /* Read the color image */
 
@@ -546,13 +544,13 @@ main(int argc, const char ** argv)
 
     std::cout<<"Time for 1000 split (ms): "<< endtime - begintime <<std::endl;
 
-    filename = opath +  vpIoTools::path("/Klimt_RChannel.pgm");
+    filename = vpIoTools::createFilePath(opath, "Klimt_RChannel.pgm");
     /* Save the the current image */
     vpCTRACE << "Write " << filename << std::endl;
     vpImageIo::write(R, filename) ;
     vpCTRACE<< "Convert result in "<<std::endl<< filename << std::endl;
 
-    filename = opath +  vpIoTools::path("/Klimt_BChannel.pgm");
+    filename =  vpIoTools::createFilePath(opath, "Klimt_BChannel.pgm");
     /* Save the the current image */
     vpCTRACE << "Write " << filename << std::endl;
     vpImageIo::write(B, filename) ;
diff --git a/test/image/testCreateSubImage.cpp b/test/image/testCreateSubImage.cpp
index c27d182e815c04aaf75dcb4a93b3c2072e89a611..9f33448d36de4cd0bc78bc2e0a6618864a839dd6 100644
--- a/test/image/testCreateSubImage.cpp
+++ b/test/image/testCreateSubImage.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: testCreateSubImage.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: testCreateSubImage.cpp 4814 2014-07-31 11:38:39Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -162,10 +162,8 @@ main(int argc, const char ** argv)
     std::string filename;
     std::string username;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -193,7 +191,7 @@ main(int argc, const char ** argv)
       opath = opt_opath;
 
     // Append to the output path string, the login name of the user
-    opath += vpIoTools::path("/") + username;
+    opath = vpIoTools::createFilePath(opath, username);
 
     // Test if the output path exist. If no try to create it
     if (vpIoTools::checkDirectory(opath) == false) {
@@ -241,9 +239,8 @@ main(int argc, const char ** argv)
     vpImage<unsigned char> I; // Input image
     vpImage<unsigned char> C; // Cropped output image
 
-
     // Read the input grey image from the disk
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.pgm");
     std::cout << "Read image: " << filename << std::endl;
     vpImageIo::read(I, filename) ;
 
@@ -258,7 +255,7 @@ main(int argc, const char ** argv)
     vpImageTools::createSubImage(I, crop, C);
 
     // Write the cropped image on the disk
-    filename = opath +  vpIoTools::path("/Klimt_crop.pgm");
+    filename = vpIoTools::createFilePath(opath, "Klimt_crop.pgm");
     std::cout << "Write cropped image: " << filename << std::endl;
     vpImageIo::write(C, filename) ;
     return 0;
diff --git a/test/image/testIoPGM.cpp b/test/image/testIoPGM.cpp
index 8dd1a8bcd0eec03ff00b9d7116affb788bbdae7b..74a920511d55e1456cb43726a202f088a70a605e 100644
--- a/test/image/testIoPGM.cpp
+++ b/test/image/testIoPGM.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: testIoPGM.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: testIoPGM.cpp 4814 2014-07-31 11:38:39Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -157,10 +157,8 @@ main(int argc, const char ** argv)
     std::string filename;
     std::string username;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -188,7 +186,7 @@ main(int argc, const char ** argv)
       opath = opt_opath;
 
     // Append to the output path string, the login name of the user
-    opath += vpIoTools::path("/") + username;
+    opath = vpIoTools::createFilePath(opath, username);
 
     // Test if the output path exist. If no try to create it
     if (vpIoTools::checkDirectory(opath) == false) {
@@ -238,18 +236,18 @@ main(int argc, const char ** argv)
     vpImage<unsigned char> I ;
 
     // Load a grey image from the disk
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.pgm");
     std::cout << "Read image: " << filename << std::endl;
     vpImageIo::read(I, filename);
     // Write the content of the image on the disk
-    filename = opath +  vpIoTools::path("/Klimt_grey.pgm");
+    filename = vpIoTools::createFilePath(opath, "Klimt_grey.pgm");
     std::cout << "Write image: " << filename << std::endl;
     vpImageIo::write(I, filename) ;
 
     try {
       // Try to load a non existing image (test for exceptions)
       // Load a non existing grey image
-      filename = ipath +  vpIoTools::path("/ViSP-images/image-that-does-not-exist.pgm");
+      filename = vpIoTools::createFilePath(ipath, "ViSP-images/image-that-does-not-exist.pgm");
       std::cout << "Read image: " << filename << std::endl;
       vpImageIo::read(I, filename) ;
     }
@@ -259,7 +257,7 @@ main(int argc, const char ** argv)
 
     try {
       // Try to write an image to a non existing directory
-      filename = opath +  vpIoTools::path("/directory-that-does-not-exist/Klimt.pgm");
+      filename = vpIoTools::createFilePath(opath, "directory-that-does-not-exist/Klimt.pgm");
       std::cout << "Write image: " << filename << std::endl;
       vpImageIo::write(I, filename) ;
     }
diff --git a/test/image/testIoPPM.cpp b/test/image/testIoPPM.cpp
index 17dc62f1a0a9a4f19a53a07b9f10e432a63c364d..35ea8bedd5f134200842e1ad013fe4e5976aa47e 100644
--- a/test/image/testIoPPM.cpp
+++ b/test/image/testIoPPM.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: testIoPPM.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: testIoPPM.cpp 4814 2014-07-31 11:38:39Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -159,10 +159,8 @@ main(int argc, const char ** argv)
     std::string filename;
     std::string username;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -190,7 +188,7 @@ main(int argc, const char ** argv)
       opath = opt_opath;
 
     // Append to the output path string, the login name of the user
-    opath += vpIoTools::path("/") + username;
+    opath = vpIoTools::createFilePath(opath, username);
 
     // Test if the output path exist. If no try to create it
     if (vpIoTools::checkDirectory(opath) == false) {
@@ -241,11 +239,11 @@ main(int argc, const char ** argv)
     vpImage<unsigned char> I ;
 
     // Load a color image from the disk and convert it to a grey level one
-    filename = ipath + vpIoTools::path("/ViSP-images/Klimt/Klimt.ppm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.ppm");
     std::cout << "Read image: " << filename << std::endl;
     vpImageIo::read(I, filename);
     // Write the content of the image on the disk
-    filename = opath + vpIoTools::path("/Klimt_grey.ppm");
+    filename = vpIoTools::createFilePath(opath, "Klimt_grey.ppm");
     std::cout << "Write image: " << filename << std::endl;
     vpImageIo::write(I, filename) ;
 
@@ -253,7 +251,7 @@ main(int argc, const char ** argv)
     try
     {
       // Load a non existing grey image
-      filename = ipath + vpIoTools::path("/ViSP-images/image-that-does-not-exist.ppm");
+      filename = vpIoTools::createFilePath(ipath, "ViSP-images/image-that-does-not-exist.ppm");
       std::cout << "Read image: " << filename << std::endl;
       vpImageIo::read(I, filename) ;
     }
@@ -265,7 +263,7 @@ main(int argc, const char ** argv)
 
     // Try to write an image to a non existing directory
     try {
-      filename = opath + vpIoTools::path("/directory-that-does-not-exist/Klimt.ppm");
+      filename = vpIoTools::createFilePath(opath, "directory-that-does-not-exist/Klimt.ppm");
       std::cout << "Write image: " << filename << std::endl;
       vpImageIo::write(I, filename) ;
     }
@@ -278,18 +276,18 @@ main(int argc, const char ** argv)
     vpImage<vpRGBa> Irgba ;
 
     // Load a color image from the disk
-    filename = ipath + vpIoTools::path("/ViSP-images/Klimt/Klimt.ppm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.ppm");
     std::cout << "Read image: " << filename << std::endl;
     vpImageIo::read(Irgba, filename);
     // Write the content of the color image on the disk
-    filename = opath + vpIoTools::path("/Klimt_color.ppm");
+    filename = vpIoTools::createFilePath(opath, "Klimt_color.ppm");
     std::cout << "Write image: " << filename << std::endl;
     vpImageIo::write(Irgba, filename) ;
 
     try {
       // Try to load a non existing image (test for exceptions)
       // Load a non existing color image
-      filename = ipath + vpIoTools::path("/ViSP-images/image-that-does-not-exist.ppm");
+      filename = vpIoTools::createFilePath(ipath, "ViSP-images/image-that-does-not-exist.ppm");
       std::cout << "Read image: " << filename << std::endl;
       vpImageIo::read(Irgba, filename) ;
     }
@@ -299,7 +297,7 @@ main(int argc, const char ** argv)
 
     try {
       // Try to write a color image to a non existing directory
-      filename = opath + vpIoTools::path("/directory-that-does-not-exist/Klimt.ppm");
+      filename = vpIoTools::createFilePath(opath, "directory-that-does-not-exist/Klimt.ppm");
       std::cout << "Write image: " << filename << std::endl;
       vpImageIo::write(Irgba, filename) ;
     }
diff --git a/test/image/testReadImage.cpp b/test/image/testReadImage.cpp
index eb1c363e9d05df96a3a3ff88ef6ee4aaaa260dac..68cae29d2947f17b3e217bd37f8f16d835f8bfe0 100644
--- a/test/image/testReadImage.cpp
+++ b/test/image/testReadImage.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: testReadImage.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: testReadImage.cpp 4814 2014-07-31 11:38:39Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -152,10 +152,8 @@ main(int argc, const char ** argv)
     std::string ppath;
     std::string filename;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -197,35 +195,35 @@ main(int argc, const char ** argv)
 
     if (opt_ppath.empty())
     {
-      filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.ppm");
+      filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.ppm");
       vpImageIo::read(I,filename);
       printf("Read ppm ok\n");
-      filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+      filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.pgm");
       vpImageIo::read(I,filename);
       printf("Read pgm ok\n");
-      filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.jpeg");
+      filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.jpeg");
       vpImageIo::read(I,filename);
       printf("Read jpeg ok\n");
-      filename = ipath +  vpIoTools::path("/ViSP-images/mire/mire.jpg");
+      filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.jpg");
       vpImageIo::read(I,filename);
       printf("Read jpg ok\n");
-      filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.png");
+      filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.png");
       vpImageIo::read(I,filename);
       printf("Read png ok\n");
 
-      filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.ppm");
+      filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.ppm");
       vpImageIo::read(Irgb,filename);
       printf("Read ppm ok\n");
-      filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+      filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.pgm");
       vpImageIo::read(Irgb,filename);
       printf("Read pgm ok\n");
-      filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.jpeg");
+      filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.jpeg");
       vpImageIo::read(Irgb,filename);
       printf("Read jpeg ok\n");
-      filename = ipath +  vpIoTools::path("/ViSP-images/mire/mire.jpg");
+      filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.jpg");
       vpImageIo::read(Irgb,filename);
       printf("Read jpg ok\n");
-      filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.png");
+      filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.png");
       vpImageIo::read(Irgb,filename);
       printf("Read png ok\n");
     }
diff --git a/test/image/testUndistortImage.cpp b/test/image/testUndistortImage.cpp
index 73a12efa84e92cbc29385cb15669aab65973eb14..a29ce28c28a315d0068e4c90abb3331546381a04 100644
--- a/test/image/testUndistortImage.cpp
+++ b/test/image/testUndistortImage.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: testUndistortImage.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: testUndistortImage.cpp 4814 2014-07-31 11:38:39Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -166,10 +166,8 @@ int main(int argc, const char ** argv)
     std::string filename;
     std::string username;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -197,7 +195,7 @@ int main(int argc, const char ** argv)
       opath = opt_opath;
 
     // Append to the output path string, the login name of the user
-    opath += vpIoTools::path("/") + username;
+    opath = vpIoTools::createFilePath(opath, username);
 
     // Test if the output path exist. If no try to create it
     if (vpIoTools::checkDirectory(opath) == false) {
@@ -253,9 +251,9 @@ int main(int argc, const char ** argv)
     cam.initPersProjWithDistortion(600,600,192,144,-0.17,0.17);
     // Read the input grey image from the disk
 #if defined BW
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.pgm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.pgm") ;
 #elif defined COLOR
-    filename = ipath +  vpIoTools::path("/ViSP-images/Klimt/Klimt.ppm");
+    filename = vpIoTools::createFilePath(ipath, "ViSP-images/Klimt/Klimt.ppm");
 #endif
     std::cout << "Read image: " << filename << std::endl;
     vpImageIo::read(I, filename) ;
@@ -278,9 +276,9 @@ int main(int argc, const char ** argv)
 
     // Write the undistorted image on the disk
 #if defined BW
-    filename = opath +  vpIoTools::path("/Klimt_undistorted.pgm");
+    filename = vpIoTools::path( vpIoTools::createFilePath(opath, "Klimt_undistorted.pgm") );
 #elif defined COLOR
-    filename = opath +  vpIoTools::path("/Klimt_undistorted.ppm");
+    filename = vpIoTools::path( vpIoTools::createFilePath(opath, "Klimt_undistorted.ppm") );
 #endif
     std::cout << "Write undistorted image: " << filename << std::endl;
     vpImageIo::write(U, filename) ;
diff --git a/test/key-point/CMakeLists.txt b/test/key-point/CMakeLists.txt
index f9921338d1c6b98dab7cf73a4a3d3cb8a7095235..6f8bf19ac797e965362f7f5491148b1d17379a93 100644
--- a/test/key-point/CMakeLists.txt
+++ b/test/key-point/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,26 +43,24 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   testSurfKeyPoint.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-
-ENDFOREACH(source)
+  add_dependencies(visp_tests ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "tests")
+  endif()
+endforeach()
 
 # Add test
-ADD_TEST(testSurfKeyPoint      testSurfKeyPoint -c ${OPTION_TO_DESACTIVE_DISPLAY})
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+add_test(testSurfKeyPoint      testSurfKeyPoint -c ${OPTION_TO_DESACTIVE_DISPLAY})
diff --git a/test/key-point/testSurfKeyPoint.cpp b/test/key-point/testSurfKeyPoint.cpp
index 8f3dd418d3eaa86a311cbb59e131b6fdb97effa4..502112a457f9262deb0410da01811e6de985cf2b 100644
--- a/test/key-point/testSurfKeyPoint.cpp
+++ b/test/key-point/testSurfKeyPoint.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: testSurfKeyPoint.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: testSurfKeyPoint.cpp 5202 2015-01-24 09:29:06Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -47,7 +47,7 @@
 #include <stdio.h>
 #include <sstream>
 #include <iomanip>
-#if ((defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI)) && defined(VISP_HAVE_OPENCV_NONFREE) && (VISP_HAVE_OPENCV_VERSION >= 0x010100))  // Require opencv >= 1.1.0
+#if ((defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI)) && defined(VISP_HAVE_OPENCV_NONFREE) && (VISP_HAVE_OPENCV_VERSION < 0x030000))  // Require opencv >= 1.1.0 < 3.0.0
 
 #include <visp/vpKeyPointSurf.h>
 #include <visp/vpImage.h>
@@ -173,10 +173,8 @@ main(int argc, const char ** argv)
     bool opt_click_allowed = true;
     bool opt_display = true;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -225,11 +223,11 @@ main(int argc, const char ** argv)
     vpImage<unsigned char> Icur ;
 
     // Set the path location of the image sequence
-    dirname = ipath +  vpIoTools::path("/ViSP-images/cube/");
+    dirname = vpIoTools::createFilePath(ipath, "ViSP-images/cube");
 
     // Build the name of the image file
-    filenameRef = dirname + "image.0000.pgm";
-    filenameCur = dirname + "image.0079.pgm";
+    filenameRef = vpIoTools::createFilePath(dirname, "image.0000.pgm");
+    filenameCur = vpIoTools::createFilePath(dirname, "image.0079.pgm");
 
     // Read the PGM image named "filename" on the disk, and put the
     // bitmap into the image structure I.  I is initialized to the
@@ -381,7 +379,7 @@ main()
 #if ( ! (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_GDI)) )
   vpERROR_TRACE("You do not have X11, GTK or GDI display functionalities...");
 #else
-  vpERROR_TRACE("You do not have OpenCV-1.1.0 or a more recent release that contains opencv_nonfree component...");
+  vpERROR_TRACE("You do not have 1.1.0 <= OpenCV < 2.4.8 that contains opencv_nonfree component...");
 #endif
 }
 
diff --git a/test/math/CMakeLists.txt b/test/math/CMakeLists.txt
index ebd2ddd155743d1b092d8ac7e1895ae3cec7bc84..0ad8f8421935d507bd1bc36c06a8d399b5c04974 100644
--- a/test/math/CMakeLists.txt
+++ b/test/math/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,7 +43,7 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   testColvector.cpp
   testKalmanAcceleration.cpp
   testKalmanVelocity.cpp
@@ -57,20 +57,19 @@ SET (SOURCE
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
   # Add test
-  ADD_TEST(${binary} ${binary})
+  add_test(${binary} ${binary})
 
-ENDFOREACH(source)
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+  add_dependencies(visp_tests ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "tests")
+  endif()
+endforeach()
diff --git a/test/math/testMatrix.cpp b/test/math/testMatrix.cpp
index 619a2936ca28c21e21ca7d4223f142f6cd9bca15..02aad08306bce368a47e6bcab18b39a189dad302 100644
--- a/test/math/testMatrix.cpp
+++ b/test/math/testMatrix.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: testMatrix.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: testMatrix.cpp 5242 2015-01-30 18:22:41Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -126,134 +126,157 @@ main(int argc, const char ** argv)
     if (getOptions(argc, argv) == false) {
       exit (-1);
     }
-
-    vpTRACE("------------------------");
-    vpTRACE("--- TEST PRETTY PRINT---");
-    vpTRACE("------------------------");
-    vpMatrix M ;
-    M.eye(4);
-
-    vpTRACE("call std::cout << M;");
-    std::cout << M << std::endl;
-
-    vpTRACE("call M.print (std::cout, 4);");
-    M.print (std::cout, 4);
-
-    vpTRACE("------------------------");
-    M.resize(3,3) ;
-    M.eye(3);
-    M[1][0]=1.235;
-    M[1][1]=12.345;
-    M[1][2]=.12345;
-    vpTRACE("call std::cout << M;");
-    std::cout << M;
-    vpTRACE("call M.print (std::cout, 6);");
-    M.print (std::cout, 6);
-
-    vpTRACE("------------------------");
-    M[0][0]=-1.235;
-    M[1][0]=-12.235;
-
-    vpTRACE("call std::cout << M;");
-    std::cout << M;
-
-    vpTRACE("call M.print (std::cout, 10);");
-    M.print (std::cout, 10);
-
-    vpTRACE("call M.print (std::cout, 2);");
-    M.print (std::cout, 2);
-
-    vpTRACE("------------------------");
-    M.resize(3,3) ;
-    M.eye(3);
-    M[0][2]=-0.0000000876;
-    vpTRACE("call std::cout << M;");
-    std::cout << M;
-
-    vpTRACE("call M.print (std::cout, 4);");
-    M.print (std::cout, 4);
-    vpTRACE("call M.print (std::cout, 10, \"M\");");
-    M.print (std::cout, 10, "M");
-    vpTRACE("call M.print (std::cout, 20, \"M\");");
-    M.print (std::cout, 20, "M");
-
-
-    vpTRACE("------------------------");
-    vpTRACE("--- TEST RESIZE --------");
-    vpTRACE("------------------------");
-    vpCTRACE  << "5x5" << std::endl;
-    M.resize(5,5,false);
-    vpCTRACE << std::endl<< M;
-    vpCTRACE  << "3x2" << std::endl;
-    M.resize(3,2,false);
-    vpCTRACE <<std::endl<< M;
-    vpCTRACE  << "2x2" << std::endl;
-    M.resize(2,2,false);
-    vpCTRACE << std::endl<<M;
-    vpTRACE("------------------------");
-
-
-    vpVelocityTwistMatrix vMe;
-    vpMatrix A(1,6),B;
-
-    A=1.0;
-    //vMe=1.0;
-    B=A*vMe;
-
-    vpTRACE("------------------------");
-    vpTRACE("--- TEST vpRowVector * vpColVector");
-    vpTRACE("------------------------");
-    vpRowVector r(3);
-    r[0] = 2;
-    r[1] = 3;
-    r[2] = 4;
-
-    vpColVector c(3);
-    c[0] = 1;
-    c[1] = 2;
-    c[2] = -1;
-
-    double rc = r * c;
-
-    r.print(std::cout, 2, "r");
-    c.print(std::cout, 2, "c");
-    std::cout << "r * c = " << rc << std::endl;
-
-    vpTRACE("------------------------");
-    vpTRACE("--- TEST vpRowVector * vpMatrix");
-    vpTRACE("------------------------");
-    M.resize(3,3) ;
-    M.eye(3);
-
-    M[1][0] = 1.5;
-    M[2][0] = 2.3;
-
-    vpRowVector rM = r * M;
-
-    r.print(std::cout, 2, "r");
-    M.print(std::cout, 10, "M");
-    std::cout << "r * M = " << rM << std::endl;
-
-    vpTRACE("------------------------");
-    vpTRACE("--- TEST vpGEMM ");
-    vpTRACE("------------------------");
-    M.resize(3,3) ;
-    M.eye(3);
-    vpMatrix N(3, 3);
-    N[0][0] = 2;
-    N[1][0] = 1.2;
-    N[1][2] = 0.6;
-    N[2][2] = 0.25;
-
-    vpMatrix C(3, 3);
-    C.eye(3);
-
-    vpMatrix D;
-
-    //realise the operation D = 2 * M^T * N + 3 C
-    vpGEMM(M, N, 2, C, 3, D, VP_GEMM_A_T);
-    std::cout << D << std::endl;
-    return 0;
+    {
+      vpMatrix M(4,5);
+      int val = 0;
+      for(unsigned int i=0; i<M.getRows(); i++) {
+        for(unsigned int j=0; j<M.getCols(); j++) {
+          M[i][j] = val++;
+        }
+      }
+      std::cout <<"M ";
+      M.print (std::cout, 4);
+
+      vpMatrix N;
+      N.init(M, 0, 1, 2, 3);
+      std::cout <<"N ";
+      N.print (std::cout, 4);
+    }
+    {
+
+      std::cout << "------------------------" << std::endl;
+      std::cout << "--- TEST PRETTY PRINT---" << std::endl;
+      std::cout << "------------------------" << std::endl;
+      vpMatrix M ;
+      M.eye(4);
+
+      std::cout << "call std::cout << M;" << std::endl;
+      std::cout << M << std::endl;
+
+      std::cout << "call M.print (std::cout, 4);" << std::endl;
+      M.print (std::cout, 4);
+
+      std::cout << "------------------------" << std::endl;
+      M.resize(3,3) ;
+      M.eye(3);
+      M[1][0]=1.235;
+      M[1][1]=12.345;
+      M[1][2]=.12345;
+      std::cout << "call std::cout << M;" << std::endl;
+      std::cout << M;
+      std::cout << "call M.print (std::cout, 6);" << std::endl;
+      M.print (std::cout, 6);
+      std::cout << std::endl;
+
+      std::cout << "------------------------" << std::endl;
+      M[0][0]=-1.235;
+      M[1][0]=-12.235;
+
+      std::cout << "call std::cout << M;" << std::endl;
+      std::cout << M << std::endl;
+
+      std::cout << "call M.print (std::cout, 10);" << std::endl;
+      M.print (std::cout, 10);
+      std::cout << std::endl;
+
+      std::cout << "call M.print (std::cout, 2);" << std::endl;
+      M.print (std::cout, 2);
+      std::cout << std::endl;
+
+      std::cout << "------------------------" << std::endl;
+      M.resize(3,3) ;
+      M.eye(3);
+      M[0][2]=-0.0000000876;
+      std::cout << "call std::cout << M;" << std::endl;
+      std::cout << M << std::endl;
+
+      std::cout << "call M.print (std::cout, 4);" << std::endl;
+      M.print (std::cout, 4);
+      std::cout << std::endl;
+      std::cout << "call M.print (std::cout, 10, \"M\");" << std::endl;
+      M.print (std::cout, 10, "M");
+      std::cout << std::endl;
+      std::cout << "call M.print (std::cout, 20, \"M\");" << std::endl;
+      M.print (std::cout, 20, "M");
+      std::cout << std::endl;
+
+
+      std::cout << "------------------------" << std::endl;
+      std::cout << "--- TEST RESIZE --------" << std::endl;
+      std::cout << "------------------------" << std::endl;
+      std::cout <<  "5x5" << std::endl;
+      M.resize(5,5,false);
+      std::cout << M << std::endl;
+      std::cout << "3x2" << std::endl;
+      M.resize(3,2,false);
+      std::cout << M << std::endl;
+      std::cout << "2x2" << std::endl;
+      M.resize(2,2,false);
+      std::cout << M << std::endl;
+      std::cout << "------------------------" << std::endl;
+
+      vpVelocityTwistMatrix vMe;
+      vpMatrix A(1,6),B;
+
+      A=1.0;
+      //vMe=1.0;
+      B=A*vMe;
+
+      std::cout << "------------------------" << std::endl;
+      std::cout << "--- TEST vpRowVector * vpColVector" << std::endl;
+      std::cout << "------------------------" << std::endl;
+      vpRowVector r(3);
+      r[0] = 2;
+      r[1] = 3;
+      r[2] = 4;
+
+      vpColVector c(3);
+      c[0] = 1;
+      c[1] = 2;
+      c[2] = -1;
+
+      double rc = r * c;
+
+      r.print(std::cout, 2, "r");
+      c.print(std::cout, 2, "c");
+      std::cout << "r * c = " << rc << std::endl;
+
+      std::cout << "------------------------" << std::endl;
+      std::cout << "--- TEST vpRowVector * vpMatrix" << std::endl;
+      std::cout << "------------------------" << std::endl;
+      M.resize(3,3) ;
+      M.eye(3);
+
+      M[1][0] = 1.5;
+      M[2][0] = 2.3;
+
+      vpRowVector rM = r * M;
+
+      r.print(std::cout, 2, "r");
+      M.print(std::cout, 10, "M");
+      std::cout << "r * M = " << rM << std::endl;
+
+      std::cout << "------------------------" << std::endl;
+      std::cout << "--- TEST vpGEMM " << std::endl;
+      std::cout << "------------------------" << std::endl;
+      M.resize(3,3) ;
+      M.eye(3);
+      vpMatrix N(3, 3);
+      N[0][0] = 2;
+      N[1][0] = 1.2;
+      N[1][2] = 0.6;
+      N[2][2] = 0.25;
+
+      vpMatrix C(3, 3);
+      C.eye(3);
+
+      vpMatrix D;
+
+      //realise the operation D = 2 * M^T * N + 3 C
+      vpGEMM(M, N, 2, C, 3, D, VP_GEMM_A_T);
+      std::cout << D << std::endl;
+      return 0;
+    }
   }
   catch(vpException e) {
     std::cout << "Catch an exception: " << e << std::endl;
diff --git a/test/network/CMakeLists.txt b/test/network/CMakeLists.txt
index f8cace71163520e7842b5c3c310f93ee438c98a1..26f45ab28b38772b75b4c4dc46ed756c53421e1f 100644
--- a/test/network/CMakeLists.txt
+++ b/test/network/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,18 +43,22 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   testClient.cpp
   testServer.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
-ENDFOREACH(source)
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
+  add_dependencies(visp_tests ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "tests")
+  endif()
+endforeach()
diff --git a/test/pose/CMakeLists.txt b/test/pose/CMakeLists.txt
index 6191d5d6655313effc7f5d944f71371b0b2a47a3..6456016e1899b93179406d15bb48f77f6b57af3c 100644
--- a/test/pose/CMakeLists.txt
+++ b/test/pose/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,7 +43,7 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   testPose.cpp
   testPoseRansac.cpp
   testFindMatch.cpp
@@ -51,20 +51,19 @@ SET (SOURCE
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
   # Add test
-  ADD_TEST(${binary} ${binary})
+  add_test(${binary} ${binary})
 
-ENDFOREACH(source)
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+  add_dependencies(visp_tests ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "tests")
+  endif()
+endforeach()
diff --git a/test/servo-afma4/CMakeLists.txt b/test/servo-afma4/CMakeLists.txt
index 0211f577b0106d93444b7ec18379d9c10e2135be..abcac6cc6763eee3938c46977fd18755baee017c 100644
--- a/test/servo-afma4/CMakeLists.txt
+++ b/test/servo-afma4/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,26 +43,25 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   testAfma4.cpp
   testRobotAfma4.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
   # Add test
-  ADD_TEST(${binary} ${binary})
+  add_test(${binary} ${binary})
 
-ENDFOREACH(source)
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+  add_dependencies(visp_tests ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "tests")
+  endif()
+endforeach()
diff --git a/test/servo-afma6/CMakeLists.txt b/test/servo-afma6/CMakeLists.txt
index e445bda22982f6c1d6273dfff2a33419f9985424..d0a19dc6ed0046f5748e80561ccaac161c92a0e1 100644
--- a/test/servo-afma6/CMakeLists.txt
+++ b/test/servo-afma6/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,32 +43,31 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   testAfma6.cpp
   testRobotAfma6.cpp
   testRobotAfma6Pose.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-ENDFOREACH(source)
+  add_dependencies(visp_tests ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "tests")
+  endif()
+endforeach()
 
 # Add test 
-ADD_TEST(testAfma6      testAfma6) 
-ADD_TEST(testRobotAfma6 testRobotAfma6) 
+add_test(testAfma6      testAfma6)
+add_test(testRobotAfma6 testRobotAfma6)
 
 # testRobotAfma6Pose cannot be run automaticlly, since human interaction is
 # required to click on the dots for the pose computation
-#ADD_TEST(testRobotAfma6Pose testRobotAfma6Pose) 
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+#add_test(testRobotAfma6Pose testRobotAfma6Pose)
diff --git a/test/servo-viper/CMakeLists.txt b/test/servo-viper/CMakeLists.txt
index 9ac4f3bf6f3398b071cc88249dd39c1833983cfb..13f8ba559c9bf4cc2274a6d178debfefd54858ae 100644
--- a/test/servo-viper/CMakeLists.txt
+++ b/test/servo-viper/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -50,25 +50,24 @@ SET (SOURCE
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-ENDFOREACH(source)
+  add_dependencies(visp_tests ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "tests")
+  endif()
+endforeach()
 
 # Add test 
-ADD_TEST(testViper850      testViper850) 
-ADD_TEST(testRobotViper850 testRobotViper850) 
+add_test(testViper850      testViper850)
+add_test(testRobotViper850 testRobotViper850)
 
 # testRobotViper850Pose cannot be run automaticlly, since human interaction is
 # required to click on the dots for the pose computation
-#ADD_TEST(testRobotViper850Pose testRobotViper850Pose.cpp) 
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+#add_test(testRobotViper850Pose testRobotViper850Pose.cpp)
diff --git a/test/tools/CMakeLists.txt b/test/tools/CMakeLists.txt
index ad1e05ed3ebbcb963e0ac841aa506fabe4990889..b1437dfea560519f173589e9ddf558ee06c9f819 100644
--- a/test/tools/CMakeLists.txt
+++ b/test/tools/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 5255 2015-02-03 14:52:43Z strinh $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,6 +43,8 @@
 #
 # If you add/remove a directory, modify here
 SET (SRC_SUBDIRS
+  convert
+  io
   geometry
   time
   xml
@@ -50,8 +52,3 @@ SET (SRC_SUBDIRS
 
 # Build process propagation in the sub directories
 SUBDIRS(${SRC_SUBDIRS})
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
diff --git a/test/tools/convert/CMakeLists.txt b/test/tools/convert/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4a27cab28ecee3a93aebd914852d925b20766e08
--- /dev/null
+++ b/test/tools/convert/CMakeLists.txt
@@ -0,0 +1,68 @@
+#############################################################################
+#
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
+#
+# This file is part of the ViSP software.
+# Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+# 
+# This software is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# ("GPL") version 2 as published by the Free Software Foundation.
+# See the file LICENSE.txt at the root directory of this source
+# distribution for additional information about the GNU GPL.
+#
+# For using ViSP with software that can not be combined with the GNU
+# GPL, please contact INRIA about acquiring a ViSP Professional 
+# Edition License.
+#
+# See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+# 
+# This software was developed at:
+# INRIA Rennes - Bretagne Atlantique
+# Campus Universitaire de Beaulieu
+# 35042 Rennes Cedex
+# France
+# http://www.irisa.fr/lagadic
+#
+# If you have questions regarding the use of this file, please contact
+# INRIA at visp@inria.fr
+# 
+# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Description:
+# ViSP overall configuration file. 
+#
+# Authors:
+# Fabien Spindler
+#
+#############################################################################
+
+# SOURCE variable corresponds to the list of all the sources to build binaries.
+# The generate binary comes by removing the .cpp extension to
+# the source name.
+#
+# If you want to add/remove a source, modify here
+set(SOURCE
+  testConvert.cpp
+)
+
+# rule for binary build
+foreach(source ${SOURCE})
+  # Compute the name of the binary to create
+  get_filename_component(binary ${source} NAME_WE)
+
+  # From source compile the binary and add link rules
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+
+  # Add test
+  add_test(${binary} ${binary})
+
+  add_dependencies(visp_tests ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "tests")
+  endif()
+endforeach()
+
+
diff --git a/test/tools/convert/testConvert.cpp b/test/tools/convert/testConvert.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..92d8b85b9d0bad10d7427f3aa0cf66f54b80d829
--- /dev/null
+++ b/test/tools/convert/testConvert.cpp
@@ -0,0 +1,325 @@
+/****************************************************************************
+ *
+ * $Id: testIoTools.cpp 5210 2015-01-26 10:51:11Z strinh $
+ *
+ * This file is part of the ViSP software.
+ * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+ * 
+ * This software is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * ("GPL") version 2 as published by the Free Software Foundation.
+ * See the file LICENSE.txt at the root directory of this source
+ * distribution for additional information about the GNU GPL.
+ *
+ * For using ViSP with software that can not be combined with the GNU
+ * GPL, please contact INRIA about acquiring a ViSP Professional 
+ * Edition License.
+ *
+ * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+ * 
+ * This software was developed at:
+ * INRIA Rennes - Bretagne Atlantique
+ * Campus Universitaire de Beaulieu
+ * 35042 Rennes Cedex
+ * France
+ * http://www.irisa.fr/lagadic
+ *
+ * If you have questions regarding the use of this file, please contact
+ * INRIA at visp@inria.fr
+ * 
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ *
+ * Description:
+ * Test functions in vpIoTools.
+ *
+ * Authors:
+ * Souriya Trinh
+ *
+ *****************************************************************************/
+
+/*!
+
+  \example testConvert.cpp
+
+  \brief Test functions in Convert.
+
+*/
+
+#include <iostream>     // std::cout
+#include <limits>       // std::numeric_limits
+#include <visp/vpConfig.h>
+#include <visp/vpConvert.h>
+
+
+bool areSame(double a, double b) {
+    return fabs(a - b) < std::numeric_limits<double>::epsilon();
+}
+
+void testConvertFromImagePointToPoint2f() {
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020101)
+  vpImagePoint imPt1(12.5f, .85f);
+  vpImagePoint imPt2(-44.26f, 125.11f);
+  vpImagePoint imPt3(0.0f, -1.756e-10f);
+
+  cv::Point2f pt1, pt2, pt3;
+  vpConvert::convertToOpenCV(imPt1, pt1);
+  vpConvert::convertToOpenCV(imPt2, pt2);
+  vpConvert::convertToOpenCV(imPt3, pt3);
+
+  int nbOk = 0, nbNOk = 0;
+  if(areSame(imPt1.get_u(), pt1.x) && areSame(imPt1.get_v(), pt1.y)) nbOk++; else nbNOk++;
+  if(areSame(imPt2.get_u(), pt2.x) && areSame(imPt2.get_v(), pt2.y)) nbOk++; else nbNOk++;
+  if(areSame(imPt3.get_u(), pt3.x) && areSame(imPt3.get_v(), pt3.y)) nbOk++; else nbNOk++;
+
+  std::vector<vpImagePoint> listOfImPts(3);
+  listOfImPts[0] = imPt1;
+  listOfImPts[1] = imPt2;
+  listOfImPts[2] = imPt3;
+
+  std::vector<cv::Point2f> listOfPts;
+  vpConvert::convertToOpenCV(listOfImPts, listOfPts);
+
+  if(listOfImPts.size() == listOfPts.size()) {
+    for(size_t i = 0; i < 3; i++) {
+      if(areSame(listOfImPts[i].get_u(), listOfPts[i].x) && areSame(listOfImPts[i].get_v(), listOfPts[i].y)) nbOk++; else nbNOk++;
+    }
+  } else {
+    nbNOk += 3;
+  }
+
+  std::cout << "testConvertFromImagePointToPoint2f=" << nbOk << "/" << (nbOk + nbNOk) << std::endl;
+#endif
+}
+
+void testConvertFromPoint2fToImagePoint() {
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020101)
+  vpImagePoint imPt1, imPt2, imPt3;
+
+  cv::Point2f pt1(12.5f, .85f), pt2(-44.26f, 125.11f), pt3(0.0f, -1.756e-10f);
+  vpConvert::convertFromOpenCV(pt1, imPt1);
+  vpConvert::convertFromOpenCV(pt2, imPt2);
+  vpConvert::convertFromOpenCV(pt3, imPt3);
+
+  int nbOk = 0, nbNOk = 0;
+  if(areSame(imPt1.get_u(), pt1.x) && areSame(imPt1.get_v(), pt1.y)) nbOk++; else nbNOk++;
+  if(areSame(imPt2.get_u(), pt2.x) && areSame(imPt2.get_v(), pt2.y)) nbOk++; else nbNOk++;
+  if(areSame(imPt3.get_u(), pt3.x) && areSame(imPt3.get_v(), pt3.y)) nbOk++; else nbNOk++;
+
+  std::vector<vpImagePoint> listOfImPts;
+
+  std::vector<cv::Point2f> listOfPts(3);
+  listOfPts[0] = pt1;
+  listOfPts[1] = pt2;
+  listOfPts[2] = pt3;
+
+  vpConvert::convertFromOpenCV(listOfPts, listOfImPts);
+
+  if(listOfImPts.size() == listOfPts.size()) {
+    for(size_t i = 0; i < 3; i++) {
+      if(areSame(listOfImPts[i].get_u(), listOfPts[i].x) && areSame(listOfImPts[i].get_v(), listOfPts[i].y)) nbOk++; else nbNOk++;
+    }
+  } else {
+    nbNOk += 3;
+  }
+
+  std::cout << "testConvertFromPoint2fToImagePoint=" << nbOk << "/" << (nbOk + nbNOk) << std::endl;
+#endif
+}
+
+void testConvertFromImagePointToPoint2d() {
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020101)
+  vpImagePoint imPt1(12.5, .85);
+  vpImagePoint imPt2(-44.26, 125.11);
+  vpImagePoint imPt3(0, -1.756e-10);
+
+  cv::Point2d pt1, pt2, pt3;
+  vpConvert::convertToOpenCV(imPt1, pt1);
+  vpConvert::convertToOpenCV(imPt2, pt2);
+  vpConvert::convertToOpenCV(imPt3, pt3);
+
+  int nbOk = 0, nbNOk = 0;
+  if(areSame(imPt1.get_u(), pt1.x) && areSame(imPt1.get_v(), pt1.y)) nbOk++; else nbNOk++;
+  if(areSame(imPt2.get_u(), pt2.x) && areSame(imPt2.get_v(), pt2.y)) nbOk++; else nbNOk++;
+  if(areSame(imPt3.get_u(), pt3.x) && areSame(imPt3.get_v(), pt3.y)) nbOk++; else nbNOk++;
+
+  std::vector<vpImagePoint> listOfImPts(3);
+  listOfImPts[0] = imPt1;
+  listOfImPts[1] = imPt2;
+  listOfImPts[2] = imPt3;
+
+  std::vector<cv::Point2d> listOfPts;
+  vpConvert::convertToOpenCV(listOfImPts, listOfPts);
+
+  if(listOfImPts.size() == listOfPts.size()) {
+    for(size_t i = 0; i < 3; i++) {
+      if(areSame(listOfImPts[i].get_u(), listOfPts[i].x) && areSame(listOfImPts[i].get_v(), listOfPts[i].y)) nbOk++; else nbNOk++;
+    }
+  } else {
+    nbNOk += 3;
+  }
+
+  std::cout << "testConvertFromImagePointToPoint2d=" << nbOk << "/" << (nbOk + nbNOk) << std::endl;
+#endif
+}
+
+void testConvertFromPoint2dToImagePoint() {
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020101)
+  vpImagePoint imPt1, imPt2, imPt3;
+
+  cv::Point2d pt1(12.5, .85), pt2(-44.26, 125.11), pt3(0, -1.756e-10);
+  vpConvert::convertFromOpenCV(pt1, imPt1);
+  vpConvert::convertFromOpenCV(pt2, imPt2);
+  vpConvert::convertFromOpenCV(pt3, imPt3);
+
+  int nbOk = 0, nbNOk = 0;
+  if(areSame(imPt1.get_u(), pt1.x) && areSame(imPt1.get_v(), pt1.y)) nbOk++; else nbNOk++;
+  if(areSame(imPt2.get_u(), pt2.x) && areSame(imPt2.get_v(), pt2.y)) nbOk++; else nbNOk++;
+  if(areSame(imPt3.get_u(), pt3.x) && areSame(imPt3.get_v(), pt3.y)) nbOk++; else nbNOk++;
+
+  std::vector<vpImagePoint> listOfImPts;
+
+  std::vector<cv::Point2d> listOfPts(3);
+  listOfPts[0] = pt1;
+  listOfPts[1] = pt2;
+  listOfPts[2] = pt3;
+
+  vpConvert::convertFromOpenCV(listOfPts, listOfImPts);
+
+  if(listOfImPts.size() == listOfPts.size()) {
+    for(size_t i = 0; i < 3; i++) {
+      if(areSame(listOfImPts[i].get_u(), listOfPts[i].x) && areSame(listOfImPts[i].get_v(), listOfPts[i].y)) nbOk++; else nbNOk++;
+    }
+  } else {
+    nbNOk += 3;
+  }
+
+  std::cout << "testConvertFromPoint2dToImagePoint=" << nbOk << "/" << (nbOk + nbNOk) << std::endl;
+#endif
+}
+
+void testConvertFromKeyPointToImagePoint() {
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020101)
+  cv::KeyPoint kp1(12.5f, .85f, 0), kp2(-44.26f, 125.11f, 0), kp3(0.0f, -1.756e-10f, 0);
+  vpImagePoint imPt1, imPt2, imPt3;
+
+  vpConvert::convertFromOpenCV(kp1, imPt1);
+  vpConvert::convertFromOpenCV(kp2, imPt2);
+  vpConvert::convertFromOpenCV(kp3, imPt3);
+
+  int nbOk = 0, nbNOk = 0;
+  if(areSame(imPt1.get_u(), kp1.pt.x) && areSame(imPt1.get_v(), kp1.pt.y)) nbOk++; else nbNOk++;
+  if(areSame(imPt2.get_u(), kp2.pt.x) && areSame(imPt2.get_v(), kp2.pt.y)) nbOk++; else nbNOk++;
+  if(areSame(imPt3.get_u(), kp3.pt.x) && areSame(imPt3.get_v(), kp3.pt.y)) nbOk++; else nbNOk++;
+
+  std::vector<cv::KeyPoint> listOfKeyPoints(3);
+  listOfKeyPoints[0] = kp1;
+  listOfKeyPoints[1] = kp2;
+  listOfKeyPoints[2] = kp3;
+
+  std::vector<vpImagePoint> listOfImPts;
+  vpConvert::convertFromOpenCV(listOfKeyPoints, listOfImPts);
+
+  if(listOfImPts.size() == listOfKeyPoints.size()) {
+    for(size_t i = 0; i < 3; i++) {
+      if(areSame(listOfImPts[i].get_u(), listOfKeyPoints[i].pt.x) && areSame(listOfImPts[i].get_v(), listOfKeyPoints[i].pt.y)) nbOk++; else nbNOk++;
+    }
+  } else {
+    nbNOk += 3;
+  }
+
+  std::cout << "testConvertFromKeyPointToImagePoint=" << nbOk << "/" << (nbOk + nbNOk) << std::endl;
+#endif
+}
+
+void testConvertFromPoint3fToPoint() {
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020101)
+  cv::Point3f pt1(12.5f, .85f, 110.0f), pt2(-44.26f, 125.11f, -98e2f), pt3(0.0f, -1.756e-10f, 0.00015f);
+  vpPoint point1, point2, point3;
+
+  vpConvert::convertFromOpenCV(pt1, point1);
+  vpConvert::convertFromOpenCV(pt2, point2);
+  vpConvert::convertFromOpenCV(pt3, point3);
+
+  int nbOk = 0, nbNOk = 0;
+  if(areSame(pt1.x, point1.get_oX()) && areSame(pt1.y, point1.get_oY()) && areSame(pt1.z, point1.get_oZ())) nbOk++; else nbNOk++;
+  if(areSame(pt2.x, point2.get_oX()) && areSame(pt2.y, point2.get_oY()) && areSame(pt2.z, point2.get_oZ())) nbOk++; else nbNOk++;
+  if(areSame(pt3.x, point3.get_oX()) && areSame(pt3.y, point3.get_oY()) && areSame(pt3.z, point3.get_oZ())) nbOk++; else nbNOk++;
+
+  std::vector<cv::Point3f> listOfPoints3f(3);
+  listOfPoints3f[0] = pt1;
+  listOfPoints3f[1] = pt2;
+  listOfPoints3f[2] = pt3;
+
+  std::vector<vpPoint> listOfPts;
+  vpConvert::convertFromOpenCV(listOfPoints3f, listOfPts);
+
+  if(listOfPoints3f.size() == listOfPts.size()) {
+    for(size_t i = 0; i < 3; i++) {
+      if(areSame(listOfPts[i].get_oX(), listOfPoints3f[i].x) && areSame(listOfPts[i].get_oY(), listOfPoints3f[i].y) && areSame(listOfPts[i].get_oZ(), listOfPoints3f[i].z)) nbOk++; else nbNOk++;
+    }
+  } else {
+    nbNOk += 3;
+  }
+
+  std::cout << "testConvertFromPoint3fToPoint=" << nbOk << "/" << (nbOk + nbNOk) << std::endl;
+#endif
+}
+
+void testConvertFromPointToPoint3f() {
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020101)
+  cv::Point3f pt1, pt2, pt3;
+  vpPoint point1, point2, point3;
+  point1.set_oX(12.5f);
+  point1.set_oY(.85f);
+  point1.set_oZ(110.0f);
+
+  point2.set_oX(-44.26f);
+  point2.set_oY(125.11f);
+  point2.set_oZ(-98e2f);
+
+  point3.set_oX(0.0f);
+  point3.set_oY(-1.756e-10f);
+  point3.set_oZ(0.00015f);
+
+  vpConvert::convertToOpenCV(point1, pt1);
+  vpConvert::convertToOpenCV(point2, pt2);
+  vpConvert::convertToOpenCV(point3, pt3);
+
+  int nbOk = 0, nbNOk = 0;
+  if(areSame(pt1.x, point1.get_oX()) && areSame(pt1.y, point1.get_oY()) && areSame(pt1.z, point1.get_oZ())) nbOk++; else nbNOk++;
+  if(areSame(pt2.x, point2.get_oX()) && areSame(pt2.y, point2.get_oY()) && areSame(pt2.z, point2.get_oZ())) nbOk++; else nbNOk++;
+  if(areSame(pt3.x, point3.get_oX()) && areSame(pt3.y, point3.get_oY()) && areSame(pt3.z, point3.get_oZ())) nbOk++; else nbNOk++;
+
+  std::vector<cv::Point3f> listOfPoints3f;
+  std::vector<vpPoint> listOfPts(3);
+  listOfPts[0] = point1;
+  listOfPts[1] = point2;
+  listOfPts[2] = point3;
+
+  vpConvert::convertToOpenCV(listOfPts, listOfPoints3f);
+
+  if(listOfPoints3f.size() == listOfPts.size()) {
+    for(size_t i = 0; i < 3; i++) {
+      if(areSame(listOfPts[i].get_oX(), listOfPoints3f[i].x) && areSame(listOfPts[i].get_oY(), listOfPoints3f[i].y) && areSame(listOfPts[i].get_oZ(), listOfPoints3f[i].z)) nbOk++; else nbNOk++;
+    }
+  } else {
+    nbNOk += 3;
+  }
+
+  std::cout << "testConvertFromPointToPoint3f=" << nbOk << "/" << (nbOk + nbNOk) << std::endl;
+#endif
+}
+
+int main() {
+  testConvertFromImagePointToPoint2f();
+  testConvertFromPoint2fToImagePoint();
+  testConvertFromImagePointToPoint2d();
+  testConvertFromPoint2dToImagePoint();
+
+  testConvertFromKeyPointToImagePoint();
+  testConvertFromPoint3fToPoint();
+  testConvertFromPointToPoint3f();
+	return 0;
+}
diff --git a/test/tools/geometry/CMakeLists.txt b/test/tools/geometry/CMakeLists.txt
index 7ace752d23fc1bfc6453ef8a127964cd0c36aa0b..bc22f008d61da8aef6f04385650b5453133e867a 100644
--- a/test/tools/geometry/CMakeLists.txt
+++ b/test/tools/geometry/CMakeLists.txt
@@ -43,25 +43,24 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   testPolygon.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
   # Add test
-  ADD_TEST(${binary} ${binary} -c ${OPTION_TO_DESACTIVE_DISPLAY})
+  add_test(${binary} ${binary} -c ${OPTION_TO_DESACTIVE_DISPLAY})
 
-ENDFOREACH(source)
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+  add_dependencies(visp_tests ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "tests")
+  endif()
+endforeach()
diff --git a/test/tools/geometry/testPolygon.cpp b/test/tools/geometry/testPolygon.cpp
index d56c5ba7f40a8ed3be8ba592bc537ee551363753..3a9f7c74fbf502bea4ba47aa7eac46823c4ddba8 100755
--- a/test/tools/geometry/testPolygon.cpp
+++ b/test/tools/geometry/testPolygon.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: testPolygon.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: testPolygon.cpp 5004 2014-11-24 08:24:18Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -170,9 +170,6 @@ main(int argc, const char** argv)
 
 
     std::vector <vpImagePoint> vec3;
-    vec2.push_back(vpImagePoint(250, 250));
-    vec2.push_back(vpImagePoint(150, 250));
-    vec2.push_back(vpImagePoint(250, 250));
     vpPolygon p3(vec3);
 
 #if defined VISP_HAVE_X11
@@ -209,7 +206,7 @@ main(int argc, const char** argv)
       vpDisplay::displayCross(I, p2.getCenter(), 5, vpColor::red);
       p3.display(I, vpColor::blue, 1);
       vpDisplay::displayCross(I, p3.getCenter(), 5, vpColor::lightBlue);
-      vpDisplay::displayCharString(I, vpImagePoint(10, 10), "Click to finish", vpColor::red);
+      vpDisplay::displayText(I, vpImagePoint(10, 10), "Click to finish", vpColor::red);
       vpDisplay::flush(I);
 
       if (opt_click)
@@ -217,8 +214,8 @@ main(int argc, const char** argv)
 
 
       vpDisplay::display(I);
-      vpDisplay::displayCharString(I, vpImagePoint(10, 10), "Left click to add a point", vpColor::red);
-      vpDisplay::displayCharString(I, vpImagePoint(20, 10), "Right click to build the polygon", vpColor::red);
+      vpDisplay::displayText(I, vpImagePoint(10, 10), "Left click to add a point", vpColor::red);
+      vpDisplay::displayText(I, vpImagePoint(20, 10), "Right click to build the polygon", vpColor::red);
       vpDisplay::flush(I);
       if (opt_click) {
         vpPolygon p4;
diff --git a/test/tools/io/CMakeLists.txt b/test/tools/io/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6d3680715447ae3fbd848dc8d8bacffc390c57b8
--- /dev/null
+++ b/test/tools/io/CMakeLists.txt
@@ -0,0 +1,68 @@
+#############################################################################
+#
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
+#
+# This file is part of the ViSP software.
+# Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+# 
+# This software is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# ("GPL") version 2 as published by the Free Software Foundation.
+# See the file LICENSE.txt at the root directory of this source
+# distribution for additional information about the GNU GPL.
+#
+# For using ViSP with software that can not be combined with the GNU
+# GPL, please contact INRIA about acquiring a ViSP Professional 
+# Edition License.
+#
+# See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+# 
+# This software was developed at:
+# INRIA Rennes - Bretagne Atlantique
+# Campus Universitaire de Beaulieu
+# 35042 Rennes Cedex
+# France
+# http://www.irisa.fr/lagadic
+#
+# If you have questions regarding the use of this file, please contact
+# INRIA at visp@inria.fr
+# 
+# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Description:
+# ViSP overall configuration file. 
+#
+# Authors:
+# Fabien Spindler
+#
+#############################################################################
+
+# SOURCE variable corresponds to the list of all the sources to build binaries.
+# The generate binary comes by removing the .cpp extension to
+# the source name.
+#
+# If you want to add/remove a source, modify here
+set(SOURCE
+  testIoTools.cpp
+)
+
+# rule for binary build
+foreach(source ${SOURCE})
+  # Compute the name of the binary to create
+  get_filename_component(binary ${source} NAME_WE)
+
+  # From source compile the binary and add link rules
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+
+  # Add test
+  add_test(${binary} ${binary})
+
+  add_dependencies(visp_tests ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "tests")
+  endif()
+endforeach()
+
+
diff --git a/test/tools/io/testIoTools.cpp b/test/tools/io/testIoTools.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..871127ca3eae2af09f0300e283c5106252cbda02
--- /dev/null
+++ b/test/tools/io/testIoTools.cpp
@@ -0,0 +1,446 @@
+/****************************************************************************
+ *
+ * $Id: testIoTools.cpp 5210 2015-01-26 10:51:11Z strinh $
+ *
+ * This file is part of the ViSP software.
+ * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
+ * 
+ * This software is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * ("GPL") version 2 as published by the Free Software Foundation.
+ * See the file LICENSE.txt at the root directory of this source
+ * distribution for additional information about the GNU GPL.
+ *
+ * For using ViSP with software that can not be combined with the GNU
+ * GPL, please contact INRIA about acquiring a ViSP Professional 
+ * Edition License.
+ *
+ * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+ * 
+ * This software was developed at:
+ * INRIA Rennes - Bretagne Atlantique
+ * Campus Universitaire de Beaulieu
+ * 35042 Rennes Cedex
+ * France
+ * http://www.irisa.fr/lagadic
+ *
+ * If you have questions regarding the use of this file, please contact
+ * INRIA at visp@inria.fr
+ * 
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ *
+ * Description:
+ * Test functions in vpIoTools.
+ *
+ * Authors:
+ * Souriya Trinh
+ *
+ *****************************************************************************/
+
+/*!
+
+  \example testIoTools.cpp
+
+  \brief Test functions in IoTools.
+
+*/
+
+#include <stdio.h>
+#include <string.h>
+#include <iostream>
+#include <visp/vpIoTools.h>
+
+
+int
+main(int argc, const char ** argv)
+{
+	const char c = vpIoTools::separator;
+	if(c == '\\')
+	{
+		std::cout << "The directory separator character is '" << c << "' (Windows platform)." << std::endl;
+	}
+	else {
+		std::cout << "The directory separator character is '" << c << "' (Unix like platform)." << std::endl;
+	}
+
+
+	std::string pathname = "";
+#if defined(_WIN32)
+	pathname = "C:\\Program Files (x86)\\Java\\jre7";
+#else
+	pathname = "/usr/bin/java";
+#endif
+
+	std::cout << "Parent of " << pathname << " is " << vpIoTools::getParent(pathname) << std::endl;
+	std::cout << "Name of " << pathname << " is " << vpIoTools::getName(pathname) << std::endl;
+
+
+	if(argc == 3 && std::string(argv[1]) == std::string("-i"))
+	{
+		std::cout << "Parent of " << argv[2] << " is " << vpIoTools::getParent(argv[2]) << std::endl;
+		std::cout << "Name of " << argv[2] << " is " << vpIoTools::getName(argv[2]) << std::endl;
+	}
+
+	std::string windowsPathnameStyle = "\\usr\\bin\\java";
+	std::cout << "Parent of " << windowsPathnameStyle << " is " << vpIoTools::getParent(windowsPathnameStyle) << std::endl;
+	std::cout << "Name of " << windowsPathnameStyle << " is " << vpIoTools::getName(windowsPathnameStyle) << std::endl;
+
+	std::string parent = "/usr/toto/", child = "\\blabla\\java";
+	std::cout << "parent=" << vpIoTools::path(parent) << " ; child=" << vpIoTools::path(child) << std::endl;
+	std::cout << "Create file path from parent=" << parent << " and child=" << child << " is "
+			<< vpIoTools::createFilePath(parent, child) << std::endl;
+
+	std::string expandPath = "~/Documents/fictional directory/fictional file";
+	std::cout << "Path for " << expandPath << " is " << vpIoTools::path(expandPath) << std::endl;
+
+	std::cout << "Test get name with an empty pathname=" << vpIoTools::getName("") << std::endl;
+	std::cout << "Get parent with an empty pathname=" << vpIoTools::getParent("") << std::endl;
+	std::cout << "Get parent with a filename=" << vpIoTools::getParent("my_file.txt") << std::endl;
+	expandPath = "~/Documents/fictional dir/fictional file.txt";
+	std::cout << "Get name with a unix expand pathname " << expandPath << "=" << vpIoTools::getName(expandPath) << std::endl;
+	std::cout << "Get parent with a unix expand pathname " << expandPath << "=" << vpIoTools::getParent(expandPath) << std::endl;
+
+
+	pathname = "c:/dir";
+	std::cout << "pathname=" << vpIoTools::splitDrive(pathname).first << " ; " << vpIoTools::splitDrive(pathname).second << std::endl;
+
+	std::cout << "isAbsolutePath of " << pathname << "=" << vpIoTools::isAbsolutePathname(pathname) << std::endl;
+
+	pathname = "c:/dir/fictional directory/fictional file.txt";
+	std::cout << "isAbsolutePath of " << pathname << "=" << vpIoTools::isAbsolutePathname(pathname) << std::endl;
+
+	pathname = "/home/user/Documents/fictional directory/fictional file.txt";
+	std::cout << "isAbsolutePath of " << pathname << "=" << vpIoTools::isAbsolutePathname(pathname) << std::endl;
+
+	pathname = "~/Documents/fictional directory/fictional file.txt";
+	std::cout << "isAbsolutePath of " << pathname << "=" << vpIoTools::isAbsolutePathname(pathname) << std::endl;
+
+	pathname = "fictional directory/fictional file.txt";
+	std::cout << "isAbsolutePath of " << pathname << "=" << vpIoTools::isAbsolutePathname(pathname) << std::endl;
+
+
+	//Test vpIoTools::splitDrive
+  unsigned int nbFail = 0, nbOk = 0;
+#if defined(_WIN32)
+	if(strcmp(vpIoTools::splitDrive("c:\\foo\\bar").first.c_str(), "c:") == 0) {
+	  nbOk++;
+	}
+	else {
+	  nbFail++;
+	  std::cout << "Fail=" << vpIoTools::splitDrive("c:\\foo\\bar").first << " should be=c:" << std::endl;
+  }
+	if(strcmp(vpIoTools::splitDrive("c:\\foo\\bar").second.c_str(), "\\foo\\bar") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::splitDrive("c:\\foo\\bar").second << " should be=\\foo\\bar" << std::endl;
+  }
+
+	if(strcmp(vpIoTools::splitDrive("c:/foo/bar").first.c_str(), "c:") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::splitDrive("c:/foo/bar").first << " should be=c:" << std::endl;
+  }
+  if(strcmp(vpIoTools::splitDrive("c:/foo/bar").second.c_str(), "/foo/bar") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::splitDrive("c:/foo/bar").second << " should be=/foo/bar" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::splitDrive("\\\\conky\\mountpoint\\foo\\bar").first.c_str(), "\\\\conky\\mountpoint") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::splitDrive("\\\\conky\\mountpoint\\foo\\bar").first << " should be=\\\\conky\\mountpoint" << std::endl;
+  }
+  if(strcmp(vpIoTools::splitDrive("\\\\conky\\mountpoint\\foo\\bar").second.c_str(), "\\foo\\bar") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::splitDrive("\\\\conky\\mountpoint\\foo\\bar").second << " should be=\\foo\\bar" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::splitDrive("//conky/mountpoint/foo/bar").first.c_str(), "//conky/mountpoint") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::splitDrive("//conky/mountpoint/foo/bar").first << " should be=//conky/mountpoint" << std::endl;
+  }
+  if(strcmp(vpIoTools::splitDrive("//conky/mountpoint/foo/bar").second.c_str(), "/foo/bar") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::splitDrive("//conky/mountpoint/foo/bar").second << " should be=/foo/bar" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::splitDrive("\\\\\\conky\\mountpoint\\foo\\bar").first.c_str(), "") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::splitDrive("\\\\\\conky\\mountpoint\\foo\\bar").first << " should be=" << std::endl;
+  }
+  if(strcmp(vpIoTools::splitDrive("\\\\\\conky\\mountpoint\\foo\\bar").second.c_str(),
+      "\\\\\\conky\\mountpoint\\foo\\bar") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::splitDrive("\\\\\\conky\\mountpoint\\foo\\bar").second << " should be=\\\\\\conky\\mountpoint\\foo\\bar" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::splitDrive("///conky/mountpoint/foo/bar").first.c_str(), "") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::splitDrive("///conky/mountpoint/foo/bar").first << " should be=" << std::endl;
+  }
+  if(strcmp(vpIoTools::splitDrive("///conky/mountpoint/foo/bar").second.c_str(), "///conky/mountpoint/foo/bar") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::splitDrive("///conky/mountpoint/foo/bar").second << " should be=///conky/mountpoint/foo/bar" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::splitDrive("\\\\conky\\\\mountpoint\\foo\\bar").first.c_str(), "") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::splitDrive("\\\\conky\\\\mountpoint\\foo\\bar").first << " should be=" << std::endl;
+  }
+  if(strcmp(vpIoTools::splitDrive("\\\\conky\\\\mountpoint\\foo\\bar").second.c_str(),
+      "\\\\conky\\\\mountpoint\\foo\\bar") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::splitDrive("\\\\conky\\\\mountpoint\\foo\\bar").second << " should be=\\\\conky\\\\mountpoint\\foo\\bar" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::splitDrive("//conky//mountpoint/foo/bar").first.c_str(), "") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::splitDrive("//conky//mountpoint/foo/bar").first << " should be=" << std::endl;
+  }
+  if(strcmp(vpIoTools::splitDrive("//conky//mountpoint/foo/bar").second.c_str(), "//conky//mountpoint/foo/bar") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::splitDrive("//conky//mountpoint/foo/bar").second << " should be=//conky//mountpoint/foo/bar" << std::endl;
+  }
+
+  std::cout << "Test vpIoTools::splitDrive (Win32) - passed: " << nbOk << "/" << (nbOk+nbFail) << std::endl;
+#endif
+
+
+  //Test vpIoTools::getFileExtension
+#if defined(_WIN32)
+  nbFail = 0;
+  nbOk = 0;
+
+  if(strcmp(vpIoTools::getFileExtension("foo.ext").c_str(), ".ext") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::getFileExtension("foo.ext") << " should be=.ext" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::getFileExtension("/foo/foo.ext").c_str(), ".ext") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::getFileExtension("/foo/foo.ext") << " should be=.ext" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::getFileExtension(".ext").c_str(), "") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::getFileExtension(".ext") << " should be=" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::getFileExtension("\\foo.ext\\foo").c_str(), "") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::getFileExtension("\\foo.ext\\foo") << " should be=" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::getFileExtension("foo.ext\\").c_str(), "") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::getFileExtension("foo.ext\\") << " should be=" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::getFileExtension("").c_str(), "") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::getFileExtension("") << " should be=" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::getFileExtension("foo.bar.ext").c_str(), ".ext") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::getFileExtension("foo.bar.ext") << " should be=.ext" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::getFileExtension("xx/foo.bar.ext").c_str(), ".ext") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::getFileExtension("xx/foo.bar.ext") << " should be=.ext" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::getFileExtension("xx\\foo.bar.ext").c_str(), ".ext") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::getFileExtension("xx\\foo.bar.ext") << " should be=.ext" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::getFileExtension("c:a/b\\c.d").c_str(), ".d") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::getFileExtension("c:a/b\\c.d") << " should be=.d" << std::endl;
+  }
+
+  std::cout << "Test vpIoTools::getFileExtension (WIN32 platform) - passed: " << nbOk << "/" << (nbOk+nbFail) << std::endl;
+#else
+  nbFail = 0;
+  nbOk = 0;
+
+  if(strcmp(vpIoTools::getFileExtension("foo.bar").c_str(), ".bar") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::getFileExtension("foo.bar") << " should be=.bar" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::getFileExtension("foo.boo.bar").c_str(), ".bar") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::getFileExtension("foo.boo.bar") << " should be=.bar" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::getFileExtension("foo.boo.biff.bar").c_str(), ".bar") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::getFileExtension("foo.boo.biff.bar") << " should be=.bar" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::getFileExtension(".csh.rc").c_str(), ".rc") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::getFileExtension(".csh.rc") << " should be=.rc" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::getFileExtension("nodots").c_str(), "") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::getFileExtension("nodots") << " should be=" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::getFileExtension(".cshrc").c_str(), "") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::getFileExtension(".cshrc") << " should be=" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::getFileExtension("...manydots").c_str(), "") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::getFileExtension("...manydots") << " should be=" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::getFileExtension("...manydots.ext").c_str(), ".ext") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::getFileExtension("...manydots.ext") << " should be=.ext" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::getFileExtension(".").c_str(), "") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::getFileExtension(".") << " should be=" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::getFileExtension("..").c_str(), "") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::getFileExtension("..") << " should be=" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::getFileExtension("........").c_str(), "") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::getFileExtension("........") << " should be=" << std::endl;
+  }
+
+  if(strcmp(vpIoTools::getFileExtension("").c_str(), "") == 0) {
+    nbOk++;
+  }
+  else {
+    nbFail++;
+    std::cout << "Fail=" << vpIoTools::getFileExtension("") << " should be=" << std::endl;
+  }
+
+  std::cout << "Test vpIoTools::getFileExtension (Unix-like platform) - passed: " << nbOk << "/" << (nbOk+nbFail) << std::endl;
+#endif
+
+
+	std::cout << std::endl << "End" << std::endl;
+
+	return 0;
+}
diff --git a/test/tools/time/CMakeLists.txt b/test/tools/time/CMakeLists.txt
index 655203e61668efd968916661b14f8b7d8969c722..380fb6976ead677bf70182c2d047743fff772c32 100644
--- a/test/tools/time/CMakeLists.txt
+++ b/test/tools/time/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,25 +43,24 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   testTime.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
   # Add test
-  ADD_TEST(${binary} ${binary})
+  add_test(${binary} ${binary})
 
-ENDFOREACH(source)
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+  add_dependencies(visp_tests ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "tests")
+  endif()
+endforeach()
diff --git a/test/tools/xml/CMakeLists.txt b/test/tools/xml/CMakeLists.txt
index deb112f53eb25b9b3336605496f881ceccbe25b8..1738304f178eb273127440ed1ed25915439d67af 100644
--- a/test/tools/xml/CMakeLists.txt
+++ b/test/tools/xml/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,25 +43,24 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   testXmlParser.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
   # Add test
-  ADD_TEST(${binary} ${binary})
+  add_test(${binary} ${binary})
 
-ENDFOREACH(source)
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+  add_dependencies(visp_tests ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "tests")
+  endif()
+endforeach()
diff --git a/test/tools/xml/testXmlParser.cpp b/test/tools/xml/testXmlParser.cpp
index 18a1e5ca342756bf9cdbaca03f51265bc64e942a..d0f074010a88445ba3ca7a1c602c516cabcc4300 100755
--- a/test/tools/xml/testXmlParser.cpp
+++ b/test/tools/xml/testXmlParser.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: testXmlParser.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: testXmlParser.cpp 5126 2015-01-05 22:07:11Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -127,17 +127,13 @@ protected:
   
 */
 vpExampleDataParser::vpExampleDataParser()
+ : m_range(0.), m_step(0), m_size_filter(0), m_name("")
 {
   nodeMap["config"] = config;
   nodeMap["range"] = range;
   nodeMap["step"] = step;
   nodeMap["size_filter"] = size_filter;
   nodeMap["name"] = name;
-  
-  m_range = 0.0;
-  m_step = 0;
-  m_size_filter = 0;
-  m_name = "";
 }
 
 /*!
@@ -325,7 +321,7 @@ int main(int argc, const char** argv)
       opath = opt_opath;
 
     // Append to the output path string, the login name of the user
-    std::string dirname = opath + vpIoTools::path("/") + username;
+    std::string dirname = vpIoTools::createFilePath(opath, username);
 
     // Test if the output path exist. If no try to create it
     if (vpIoTools::checkDirectory(dirname) == false) {
diff --git a/test/tracking/CMakeLists.txt b/test/tracking/CMakeLists.txt
index a6170f72921e4a50cbd7b0c6dd67152c1f1613e4..9d1bec4e87443bd23855c30a21913ef9db9a6627 100644
--- a/test/tracking/CMakeLists.txt
+++ b/test/tracking/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,26 +43,24 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   testTrackDot.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
+  # Add test
+  add_test(${binary} ${binary} -c ${OPTION_TO_DESACTIVE_DISPLAY})
 
-ENDFOREACH(source)
-
-# Add test
-ADD_TEST(testTrackDot      testTrackDot -c ${OPTION_TO_DESACTIVE_DISPLAY})
-
-# customize clean target 
-SET_DIRECTORY_PROPERTIES(PROPERTIES 
-  ADDITIONAL_MAKE_CLEAN_FILES "core*;*~;gmon.out;DartTestfile.txt"
-)
+  add_dependencies(visp_tests ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "tests")
+  endif()
+endforeach()
diff --git a/test/tracking/testTrackDot.cpp b/test/tracking/testTrackDot.cpp
index ba8eb0eeb371609aa4261dc0653880d4b6b131da..2af158619368349b08f8754777c0e74fef237975 100644
--- a/test/tracking/testTrackDot.cpp
+++ b/test/tracking/testTrackDot.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * $Id: testTrackDot.cpp 4658 2014-02-09 09:50:14Z fspindle $
+ * $Id: testTrackDot.cpp 4814 2014-07-31 11:38:39Z fspindle $
  *
  * This file is part of the ViSP software.
  * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -172,10 +172,8 @@ main(int argc, const char ** argv)
     bool opt_click_allowed = true;
     bool opt_display = true;
 
-    // Get the VISP_IMAGE_PATH environment variable value
-    char *ptenv = getenv("VISP_INPUT_IMAGE_PATH");
-    if (ptenv != NULL)
-      env_ipath = ptenv;
+    // Get the visp-images-data package path or VISP_INPUT_IMAGE_PATH environment variable value
+    env_ipath = vpIoTools::getViSPImagesDataPath();
 
     // Set the default input path
     if (! env_ipath.empty())
@@ -223,10 +221,10 @@ main(int argc, const char ** argv)
     vpImage<unsigned char> I ;
 
     // Set the path location of the image sequence
-    dirname = ipath +  vpIoTools::path("/ViSP-images/ellipse/");
+    dirname = vpIoTools::createFilePath(ipath, "ViSP-images/ellipse");
 
     // Build the name of the image file
-    filename = dirname + "ellipse.pgm";
+    filename = vpIoTools::createFilePath(dirname, "ellipse.pgm");
 
     // Read the PGM image named "filename" on the disk, and put the
     // bitmap into the image structure I.  I is initialized to the
diff --git a/test/visual-feature/CMakeLists.txt b/test/visual-feature/CMakeLists.txt
index f62c16b81157afd9cebde84e4bc8972f90548138..203793e139061b0e5c3f4d0b974fd34bdbcea792 100755
--- a/test/visual-feature/CMakeLists.txt
+++ b/test/visual-feature/CMakeLists.txt
@@ -1,6 +1,6 @@
 #############################################################################
 #
-# $Id: CMakeLists.txt 4574 2014-01-09 08:48:51Z fspindle $
+# $Id: CMakeLists.txt 4961 2014-11-14 13:06:26Z fspindle $
 #
 # This file is part of the ViSP software.
 # Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
@@ -43,26 +43,28 @@
 # the source name.
 #
 # If you want to add/remove a source, modify here
-SET (SOURCE
+set(SOURCE
   testFeature.cpp
   testFeatureMoment.cpp
   testFeatureSegment.cpp
 )
 
 # rule for binary build
-FOREACH(source ${SOURCE})
+foreach(source ${SOURCE})
   # Compute the name of the binary to create
-  GET_FILENAME_COMPONENT(binary ${source} NAME_WE)
+  get_filename_component(binary ${source} NAME_WE)
 
   # From source compile the binary and add link rules
-  ADD_EXECUTABLE(${binary} ${source})
-  TARGET_LINK_LIBRARIES(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
+  add_executable(${binary} ${source})
+  target_link_libraries(${binary} ${VISP_INTERN_LIBRARY} ${VISP_EXTERN_LIBRARIES})
 
-  # Add test
+  add_dependencies(visp_tests ${binary})
+  if(ENABLE_SOLUTION_FOLDERS)
+    set_target_properties(${binary} PROPERTIES FOLDER "tests")
+  endif()
+endforeach()
 
-ENDFOREACH(source)
-
-ADD_TEST(testFeature testFeature ${OPTION_TO_DESACTIVE_DISPLAY})
-ADD_TEST(testFeatureMoment testFeatureMoment)
-ADD_TEST(testFeatureSegment testFeatureSegment ${OPTION_TO_DESACTIVE_DISPLAY} -normalized 0)
-ADD_TEST(testFeatureSegment-norm testFeatureSegment ${OPTION_TO_DESACTIVE_DISPLAY} -normalized 1)
+add_test(testFeature testFeature)
+add_test(testFeatureMoment testFeatureMoment)
+add_test(testFeatureSegment testFeatureSegment ${OPTION_TO_DESACTIVE_DISPLAY} -normalized 0)
+add_test(testFeatureSegment-norm testFeatureSegment ${OPTION_TO_DESACTIVE_DISPLAY} -normalized 1)
diff --git a/test/visual-feature/testFeatureSegment.cpp b/test/visual-feature/testFeatureSegment.cpp
index d82915a6f2dd2e726966f04a0c5b109aaf2908b4..855035acd587688110b8f1af23d375cebb89972f 100644
--- a/test/visual-feature/testFeatureSegment.cpp
+++ b/test/visual-feature/testFeatureSegment.cpp
@@ -71,7 +71,7 @@ int main(int argc, const char **argv)
 {  
   try {
 #if (defined (VISP_HAVE_X11) || defined (VISP_HAVE_GDI))
-    int opt_display = 1;
+    int opt_no_display = 0;
     int opt_curves = 1;
 #endif
     int opt_normalized = 1;
@@ -80,7 +80,7 @@ int main(int argc, const char **argv)
     vpParseArgv::vpArgvInfo argTable[] =
     {
   #if (defined (VISP_HAVE_X11) || defined (VISP_HAVE_GDI))
-      {"-d", vpParseArgv::ARGV_CONSTANT, 0, (char *) &opt_display,
+      {"-d", vpParseArgv::ARGV_CONSTANT, 0, (char *) &opt_no_display,
        "Disable display and graphics viewer."},
   #endif
       {"-normalized", vpParseArgv::ARGV_INT, (char*) NULL, (char *) &opt_normalized,
@@ -100,8 +100,8 @@ int main(int argc, const char **argv)
 
     std::cout << "Used options: " << std::endl;
 #if (defined (VISP_HAVE_X11) || defined (VISP_HAVE_GDI))
-    opt_curves = opt_display;
-    std::cout << " - display   : " << opt_display << std::endl;
+    opt_curves = (opt_no_display == 0) ? 1 : 0;
+    std::cout << " - no display: " << opt_no_display << std::endl;
     std::cout << " - curves    : " << opt_curves << std::endl;
 #endif
     std::cout << " - normalized: " << opt_normalized << std::endl;
@@ -110,7 +110,7 @@ int main(int argc, const char **argv)
 
 #if defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI)
     vpDisplay *display = NULL;
-    if (opt_display) {
+    if (!opt_no_display) {
 #if defined(VISP_HAVE_X11)
       display = new vpDisplayX;
 #elif defined VISP_HAVE_GDI
@@ -121,7 +121,7 @@ int main(int argc, const char **argv)
     vpImage<unsigned char> I(480,640,0);
 
 #if (defined (VISP_HAVE_X11) || defined (VISP_HAVE_GDI))
-    if (opt_display)
+    if (!opt_no_display)
       display->init(I);
 #endif
 
@@ -172,7 +172,7 @@ int main(int argc, const char **argv)
       task.addFeature(seg_cur[i], seg_des[i]);
 
 #if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GDI))
-    if (opt_display) {
+    if (!opt_no_display) {
       vpDisplay::display(I);
       for (int i=0; i <2; i++) {
         seg_cur[i].display(cam, I, vpColor::red);
@@ -214,7 +214,7 @@ int main(int argc, const char **argv)
         vpFeatureBuilder::create(seg_cur[i], Pc[i*2], Pc[i*2+1]);
 
 #if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GDI))
-      if (opt_display) {
+      if (!opt_no_display) {
         vpDisplay::display(I);
         for (int i=0; i <2; i++) {
           seg_cur[i].display(cam, I, vpColor::red);
@@ -249,7 +249,7 @@ int main(int argc, const char **argv)
       delete graph;
 #endif
 #if (defined (VISP_HAVE_X11) || defined (VISP_HAVE_GDI))
-    if (opt_display && display != NULL)
+    if (!opt_no_display && display != NULL)
       delete display;
 #endif
 
diff --git a/tutorial/CMakeLists.txt b/tutorial/CMakeLists.txt
index e89e18e3a248baa5ad76fdf7f3509c7f961cf3b4..cf3e0ce07e29bf945fb0d4366c6e086f69854cb9 100644
--- a/tutorial/CMakeLists.txt
+++ b/tutorial/CMakeLists.txt
@@ -2,13 +2,38 @@ project(ViSP-tutorial)
 
 cmake_minimum_required(VERSION 2.6)
 
+if(MSVC)
+  if(NOT VISP_SHARED)
+    foreach(flag_var
+            CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
+            CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO
+            CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
+            CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
+      if(${flag_var} MATCHES "/MD")
+        string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
+      endif()
+      if(${flag_var} MATCHES "/MDd")
+        string(REGEX REPLACE "/MDd" "/MTd" ${flag_var} "${${flag_var}}")
+      endif()
+    endforeach(flag_var)
+
+    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /NODEFAULTLIB:atlthunk.lib /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:msvcrtd.lib")
+    set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:libcmt.lib")
+    set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /NODEFAULTLIB:libcmtd.lib")
+  endif()
+endif()
+
 add_subdirectory(computer-vision)
 add_subdirectory(grabber)
+add_subdirectory(detection/barcode)
+add_subdirectory(detection/face)
+add_subdirectory(detection/matching)
+add_subdirectory(detection/object)
 add_subdirectory(image)
-add_subdirectory(matching)
 add_subdirectory(robot/pioneer)
 add_subdirectory(simulator/image)
 add_subdirectory(trace)
+#add_subdirectory(tracking/barcode)
 add_subdirectory(tracking/blob)
 add_subdirectory(tracking/keypoint)
 add_subdirectory(tracking/model-based/edges)
diff --git a/tutorial/computer-vision/CMakeLists.txt b/tutorial/computer-vision/CMakeLists.txt
index 002df71fd441250497904786467cae4d11d019cf..a8aed1f17a1ef4dcb37eb8be9d85d403312b707b 100644
--- a/tutorial/computer-vision/CMakeLists.txt
+++ b/tutorial/computer-vision/CMakeLists.txt
@@ -13,6 +13,9 @@ set(tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/square.pgm" )
 
 foreach(cpp ${tutorial_cpp})
   visp_add_target(${cpp})
+  if(COMMAND visp_add_dependency)
+    visp_add_dependency(${cpp} "tutorials")
+  endif()
 endforeach()
 
 # Copy the data files to the same location than the target
diff --git a/tutorial/computer-vision/tutorial-homography-from-points.cpp b/tutorial/computer-vision/tutorial-homography-from-points.cpp
index f4ca29a351200909034d434faa2fabeeee8180e5..e4aae515bcd047b8119ff921f2a75d4571139d30 100644
--- a/tutorial/computer-vision/tutorial-homography-from-points.cpp
+++ b/tutorial/computer-vision/tutorial-homography-from-points.cpp
@@ -1,20 +1,28 @@
-/*! \example tutorial-homography-from-points.cpp */
+//! \example tutorial-homography-from-points.cpp
+
+//! [Include]
 #include <visp/vpHomography.h>
+//! [Include]
 #include <visp/vpMeterPixelConversion.h>
 
 int main()
 {
+  //! [Set 3D points]
   double L = 0.1;
   std::vector<vpPoint> oP(4);
   oP[0].setWorldCoordinates( -L,-L,   0);
   oP[1].setWorldCoordinates(2*L,-L,   0);
   oP[2].setWorldCoordinates(  L, 3*L, 0);
   oP[3].setWorldCoordinates( -L, 4*L, 0);
+  //! [Set 3D points]
 
+  //! [Simulation]
   vpHomogeneousMatrix bMo(0.1, 0, 1,   0, vpMath::rad(15), 0);
   vpHomogeneousMatrix aMb(0.2, -0.1, 0.1, vpMath::rad(-3), vpMath::rad(20), vpMath::rad(5));
   vpHomogeneousMatrix aMo = aMb*bMo;
+  //! [Simulation]
 
+  //! [Image plane coordinates]
   std::vector<vpPoint> aP(4), bP(4);
   std::vector<double> xa(4), ya(4), xb(4), yb(4);
   for(unsigned int i=0 ; i < 4; i++)
@@ -26,19 +34,25 @@ int main()
     xb[i] = oP[i].get_x();
     yb[i] = oP[i].get_y();
   }
+  //! [Image plane coordinates]
 
+  //! [Compute homography]
   vpHomography aHb ;
   vpHomography::DLT(xb, yb, xa, ya, aHb, true);
   std::cout << "Estimated homography using DLT:\n" << aHb/aHb[2][2] << std::endl;
 
   vpHomography::HLM(xb, yb, xa, ya, true, aHb);
   std::cout << "Estimated homography using HLM:\n" << aHb/aHb[2][2] << std::endl;
+  //! [Compute homography]
 
+  //! [Get transformation]
   vpRotationMatrix aRb;
   vpTranslationVector atb;
   vpColVector n;
   aHb.computeDisplacement(aRb, atb, n);
+  //! [Get transformation]
 
+  //! [Print results]
   std::cout << "\nEstimated displacement:"  << std::endl;
   std::cout << " atb: " << atb.t() << std::endl;
   vpThetaUVector atub;
@@ -48,7 +62,9 @@ int main()
     std::cout << vpMath::deg(atub[i]) << " ";
   std::cout << std::endl;
   std::cout << " n: " << n.t() << std::endl;
+  //! [Print results]
 
+  //! [Get pixel coordinates]
   vpImagePoint iPa, iPb;
   vpCameraParameters cam;
   vpMeterPixelConversion::convertPoint(cam, xb[3], yb[3], iPb);
@@ -56,8 +72,11 @@ int main()
 
   std::cout << "Ground truth: Point 3 in pixels in frame b: " << iPb << std::endl;
   std::cout << "Ground truth: Point 3 in pixels in frame a: " << iPa << std::endl;
+  //! [Get pixel coordinates]
 
+  //! [Project]
   // Project the position in pixel of point 3 from the homography
   std::cout << "Estimation from homography: Point 3 in pixels in frame a: "
             << vpHomography::project(cam, aHb, iPb) << std::endl;
+  //! [Project]
 }
diff --git a/tutorial/computer-vision/tutorial-pose-from-points-image.cpp b/tutorial/computer-vision/tutorial-pose-from-points-image.cpp
index 2ed43da571409fb5943668a93238f78470a26d20..a4140871059de0de316c6a00e1b36cb6285bad1a 100644
--- a/tutorial/computer-vision/tutorial-pose-from-points-image.cpp
+++ b/tutorial/computer-vision/tutorial-pose-from-points-image.cpp
@@ -1,5 +1,6 @@
 /*! \example tutorial-pose-from-points-image.cpp */
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpDisplayX.h>
 #include <visp/vpDot2.h>
 #include <visp/vpImageIo.h>
@@ -20,8 +21,19 @@ void computePose(std::vector<vpPoint> &point, const std::vector<vpDot2> &dot,
     pose.addPoint(point[i]);
   }
 
-  if (init == true) pose.computePose(vpPose::DEMENTHON_VIRTUAL_VS, cMo);
-  else              pose.computePose(vpPose::VIRTUAL_VS, cMo) ;
+  if (init == true) {
+	  vpHomogeneousMatrix cMo_dem;
+	  vpHomogeneousMatrix cMo_lag;
+    pose.computePose(vpPose::DEMENTHON, cMo_dem);
+    pose.computePose(vpPose::LAGRANGE, cMo_lag);
+    double residual_dem = pose.computeResidual(cMo_dem);
+	  double residual_lag = pose.computeResidual(cMo_lag);
+	  if (residual_dem < residual_lag)
+		  cMo = cMo_dem;
+	  else
+		  cMo = cMo_lag;
+  }
+  pose.computePose(vpPose::VIRTUAL_VS, cMo);
 }
 
 int main()
@@ -34,6 +46,8 @@ int main()
     vpDisplayX d(I);
 #elif defined(VISP_HAVE_GDI)
     vpDisplayGDI d(I);
+#elif defined(VISP_HAVE_OPENCV)
+    vpDisplayOpenCV d(I);
 #endif
 
     vpCameraParameters cam(840, 840, I.getWidth()/2, I.getHeight()/2);
diff --git a/tutorial/computer-vision/tutorial-pose-from-points-tracking.cpp b/tutorial/computer-vision/tutorial-pose-from-points-tracking.cpp
index 68cd68c2645f29c739607764023c1dbd1a8217a5..a9af0cf034e084704aa183445c70379032d71de0 100644
--- a/tutorial/computer-vision/tutorial-pose-from-points-tracking.cpp
+++ b/tutorial/computer-vision/tutorial-pose-from-points-tracking.cpp
@@ -2,6 +2,7 @@
 #include <visp/vp1394CMUGrabber.h>
 #include <visp/vp1394TwoGrabber.h>
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpDisplayX.h>
 #include <visp/vpDot2.h>
 #include <visp/vpPixelMeterConversion.h>
@@ -9,7 +10,7 @@
 
 void computePose(std::vector<vpPoint> &point, const std::vector<vpDot2> &dot,
                  const vpCameraParameters &cam, bool init, vpHomogeneousMatrix &cMo);
-#if defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI)
+#if defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV)
 void track(vpImage<unsigned char> &I, std::vector<vpDot2> &dot, bool init);
 #endif
 
@@ -24,11 +25,22 @@ void computePose(std::vector<vpPoint> &point, const std::vector<vpDot2> &dot,
     pose.addPoint(point[i]);
   }
 
-  if (init == true) pose.computePose(vpPose::DEMENTHON_VIRTUAL_VS, cMo);
-  else              pose.computePose(vpPose::VIRTUAL_VS, cMo) ;
+  if (init == true) {
+	vpHomogeneousMatrix cMo_dem;
+	vpHomogeneousMatrix cMo_lag;
+  pose.computePose(vpPose::DEMENTHON, cMo_dem);
+  pose.computePose(vpPose::LAGRANGE, cMo_lag);
+  double residual_dem = pose.computeResidual(cMo_dem);
+	double residual_lag = pose.computeResidual(cMo_lag);
+	if (residual_dem < residual_lag)
+      cMo = cMo_dem;
+	else
+      cMo = cMo_lag;
+  }
+  pose.computePose(vpPose::VIRTUAL_VS, cMo);
 }
 
-#if defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI)
+#if defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV)
 void track(vpImage<unsigned char> &I, std::vector<vpDot2> &dot, bool init)
 {
   if (init) {
@@ -50,15 +62,25 @@ void track(vpImage<unsigned char> &I, std::vector<vpDot2> &dot, bool init)
 
 int main()
 {
-#if (defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI)) && (defined(VISP_HAVE_DC1394_2) || defined(VISP_HAVE_CMU1394))
+#if (defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV)) && (defined(VISP_HAVE_DC1394_2) || defined(VISP_HAVE_CMU1394) || (VISP_HAVE_OPENCV_VERSION >= 0x020100))
   try {  vpImage<unsigned char> I;
 
 #if defined(VISP_HAVE_DC1394_2)
     vp1394TwoGrabber g;
+    g.open(I);
 #elif defined(VISP_HAVE_CMU1394)
     vp1394CMUGrabber g;
-#endif
     g.open(I);
+#elif defined(VISP_HAVE_OPENCV)
+    cv::VideoCapture g(0); // open the default camera
+    if(!g.isOpened()) { // check if we succeeded
+      std::cout << "Failed to open the camera" << std::endl;
+      return -1;
+    }
+    cv::Mat frame;
+    g >> frame; // get a new frame from camera
+	vpImageConvert::convert(frame, I);
+#endif
 
     // Parameters of our camera
     vpCameraParameters cam(840, 840, I.getWidth()/2, I.getHeight()/2);
@@ -79,11 +101,19 @@ int main()
     vpDisplayX d(I);
 #elif defined(VISP_HAVE_GDI)
     vpDisplayGDI d(I);
+#elif defined(VISP_HAVE_OPENCV)
+    vpDisplayOpenCV d(I);
 #endif
 
     while(1){
       // Image Acquisition
+#if defined(VISP_HAVE_DC1394_2) || defined(VISP_HAVE_CMU1394)
       g.acquire(I);
+#elif defined(VISP_HAVE_OPENCV)
+	  g >> frame;
+      vpImageConvert::convert(frame, I);
+#endif
+
       vpDisplay::display(I);
       track(I, dot, init);
       computePose(point, dot, cam, init, cMo);
diff --git a/tutorial/detection/barcode/CMakeLists.txt b/tutorial/detection/barcode/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..add4cc6f4621b8e8be592116d819022e856c6732
--- /dev/null
+++ b/tutorial/detection/barcode/CMakeLists.txt
@@ -0,0 +1,24 @@
+project(tutorial-barcode)
+
+cmake_minimum_required(VERSION 2.6)
+
+find_package(VISP REQUIRED)
+
+set(tutorial_cpp
+  tutorial-barcode-detector.cpp
+  tutorial-barcode-detector-live.cpp)
+
+set(tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/bar-code.pgm")
+
+foreach(cpp ${tutorial_cpp})
+  visp_add_target(${cpp})
+  if(COMMAND visp_add_dependency)
+    visp_add_dependency(${cpp} "tutorials")
+  endif()
+endforeach()
+
+# Copy the data files to the same location than the target
+foreach(data ${tutorial_data})
+  visp_copy_data(tutorial-barcode-detector.cpp ${data})
+endforeach()
+
diff --git a/tutorial/detection/barcode/bar-code.pgm b/tutorial/detection/barcode/bar-code.pgm
new file mode 100644
index 0000000000000000000000000000000000000000..f8623e1f61a93836dc953978f100b7b2fc31c1bc
--- /dev/null
+++ b/tutorial/detection/barcode/bar-code.pgm
@@ -0,0 +1,215 @@
+P5
+640 480
+255
+wwttsutw{vuuvxwyy{zxyz{|||vxwywy{yyzxxyywyy|~|||||{}{}||{}{|{|xz{{yy||zy{{{xx{}zyzzzz{{{{{z{xxzywywzzxx{}zyzxv~z|z~{||{|{{xzyyvxwvvvvywvyywwxwzvwywxwxxvzvzuwwvvv{zzw|yyzzzy{zz{zzvxxxxyzzwzzywwzvwxvwuxwzxuyryuzwzzz}zzzywwyxzvywvuvwtvxtxvyyyxx|vyy|yywyyx{y}yz{y|{{yy|ywy{yyxwwwyyywwww{yzxyyyyywvuzv{{zzzw|wyyyy{v{ywx{wzw{v{vy{zv{yyywyzy|v{z}x|{|yzz{x|{vxywwyyywyywvvvxvxwwwvvwwwyzwyywwwvwyvvvyuzw|xxxyzxxxyyyywvwyyxxxyyxxzzwwyyyzuyyvvvxxywxzyyyy{zwzu{vuvzuuvvvvwvxwvzuxvvvwvwxwvwyvwxywwyyyyxxxwxyvxxyyyxwywwwvwvwvxwvwuwxwxwwwwuvzztwyzvvzxyyxzwwwv{zzv{zyzzz{{z{z|{}{{z{|}|{{{~y|}{{~~~€€ƒ‚€„„„…†††‡‡……„ˆ…Ї‹‹‹Œ‹ŽŽŽŽŒŒŠŒŠ‹Œ‰‰‰ˆ‰Š‰…ˆ‡‡‡ˆŠˆ‹vvuuvtuyzvvzyyxxyz|xzwzyxwwwywxy{yzxyy{yy|z{~{|~{{|{|||{|{{y||y|}|{{}|z{z{zz{~y|}~{~~~}~}yyz{xxyxzzyy~z~}||~y}~x}{{}w{yxywxwwvxzv{xvy{{zzwzyxzwxwwx{zw{vuvvvv{wwwvzvywzyzz{||{{{{yzyxzyyyz{zzwvzvyvwww{xzyzyztzzzzz{zuyyxxxxyxwxvtuuwwxuzzzzzvwyyyyw|{{{|x}z{zxzz{zz{y{z{{{yywwvyv{v|w{z{wyyyvzxw{{{{z|{{w{w{y{{{v{zzt{w{z{|{{{{zz{{{{wyyv|{|x~}|y||{z{{{zwxyxwywzxwyyywwvvvywwwwwwxxwzvywwwxyzw|||w{x|zwwyvyyyxyyyyywywywwzwswyyywuwvywzzwwyzyuyvywvyywzx{|{zzyyyzzzyxwwvzz{{yu{{xw{yvvvvw|xx{wyxyyzyyww{vux{x|zxzyyxwwxwxwxyxxywywyvwxxwzxvwyvuxzz{z{uzyxuzzz{|z{yyzzw{x}}||{{}z}~|}{~~|}}{{}~€}„€~}}ƒ€ƒ………ƒ†‡‡‡‰ˆˆŒ‹‹‹‹‹‹ŠŒŒŒŒ‹Œˆ‰‰ˆ‰‰‡‡†ˆˆ‰Œvvrusuuxwvvzz{zz|{{zvxwxs€yyxzyxyy|x~z~|||{||{|}~~~{|{|||{}||{{{~|}|yyz|}{{yy}€|z~{}~}}y|{{yyzz{zyzy~}}{€x~|yy}}|}|{{yvvwwtvvz{|www|{xwvzzzzwwwxv{yxvvvu{xuzzxvvvwwwvx~|y{{zyzzyxyy{y{{zuvvwzzzyxwyvwwzzyyzuwwxwzuzvyyvxzyyy|ztuxwwxwvwvxzxwyy|y{x{u~|zxzz{{{{{~w||{{vxywyvvwuvvvvywvyzxwx{vyyzy{xyyzy{wvwwyvwwwz{yvwwvv|{yw{vwv{zzz{zvu|xzxxzxxz{|zz{yxvwwvvyzzwyvvxuyxzvwtwwywwxwy|wvyzxvywwvv{y|yxxwyyzyzxxwyvyxwvwvwwzyuzu~ywvvyyzxyyywvvuywwuvxvvwxwwxvwvtt{qxuzwwv{{vxzu{zvx{uwvvwwz{xvv{yw{vywzz||w{{||vzy|wzzw|ww{xxwxyxwwvvxw|{txsyxyyysy{ywwwywvzzxx{zyxxyzyzx||{z}{~~{x~}|~|||||{€€~}€ƒ€|…………‡…ˆ‡†ˆ†‡ŠŒŠŒ†ŒŒ‰‹ŒŒŽ‰‘މŒŠŽŽŽŒ‹ˆŠŠŠ‡‹vrsusvuuvvvuvy{zwz|zwwwxq~xywwwxyw~~€y~|||||~{|}~€~{||~y{|}|||{{z||||{{z{y|y{{{|~{~~~~|}}}{{yz{z{~{yz}z~{}yy{}}|{y{{wyxwwvxvuywxwxx{{wv{{{yxvuvw|zwwvzxzxw{zwz{zwywwx~zyzzz{{zyzxx{zzzwvvvvzwzxywyyvvzwvyzxwwyvyzzwwvxyyxyx|vtvxwzxxwxvxwvzzx{vzv|v}zzzzz{yxy{{wy|}zvywwwvuwuxv{uywwvzw}{|zzzwy{z{y{|{vzyywwvww{zywww{w|yxx{uwv{y{zzwvu{xxwwy{zz{|{{zwu{uwvvvwzwvxvyzywztxvwvwwywwv|vyyzxvvvv|y{w{wwyyxyyyxxwywwvwwywywwwyzzo~yyyywwzyxyyyxzzyvyzxvuvuvzywwywuvzyyyzwwv{zvvzzzyv{{uwxwvwx|ywv{{yyvuxwzz|}{y||wyy{xxz||vwzwyzzxwwwxvxx|wvssrv{yxuyzwyyyyvw{zxw||{zyyzzzz{|zz|z|}}w|}}~|~||{|~}}~€€€€€~€€€ƒ…………„†…†„„†‹‹‡‡‡ŠŒŒŒŒŒŒŽŒŒ‹Š‹Œ‹‹‹‹‹ŒŒŽŒŠ‰ˆˆ‡ˆvwttuuuuuuvyvxxxwyyzyzxy|}|zyxyzxw~zxw|||x|}}||~|||{~€}~{zy{{{~{{z|||{}|zz|||{||€}}€}€~~}|}~z{{}{}{{z{||zzy{x}{yxyw{{wyzwvvvvwxwuwwuz}vvwwvvywuzz|zyvvvvzwxzzvxzxvxvwv}ywyyzxxzyzzzyz{z{y{uuvwwxvwwwvwwywyyyyyywvwxzvvvxxywwutsusuyzxrxwwwwwwvwy{w|xvw{{xvvvyz{yyxyzywwvvvvvvzxywywyxzzzwvztz{{{xyzzz{{xwwuwvvvwvuuvuw|ywxvv{vvwvvxz{xuwvwwwwzz{zvwxvvvwuqv{vvvzvvuvwxvxvvvwuvvwwwvstvwwyyvysvwyyvwxwyzwvxvwwxywvwvwxwyywuyyws{xyxxwwwwxyyywwwwuyzzyyyvxxvwxuyvvyyyyywvvvwwyvwy{zzvuvvwwwxy{wwz|{xyzzyxx{{zy{~x{y|yxy|xux|zyy{wyxwwzvxuus~uuuxyzyyzwyyyyvywwxyzz{uyyzvy{z{{|z|zxvvyz}z||}|~~}€€€~~€€ƒƒ„‚‚ƒ„‚„ˆ‰…ˆ†ˆ‡‡Ž‹Œ‹‹‹ŒŒ‹‰ˆ‰Œ‹ŒŒ‰‰ˆ‰‹‹‰uvttuuuvuuuyvuwy|xwwzzu{y{~zzxxxwz~~x|}}{~}}~}~|x|{~~~|zzx{{~~~zzy{}|{|{z{{|z{{€}{}{~€€{|{{}yzyxwxz{{|yy{y|yyxzxx{zyvwwxu|zwuyx||{yvvwvvy{wwwzzvxwwwwzxwxzzyxwuxy{v}yyvuzyxzxz{zzwv{zyzusrvywvwzxuwxwwwwutwyuvwvwzywwvvzvvtvvzzyyyvyyyvwvvwwv||}wwz{zyw|v{z|{{zzxyywvwvvx|zzzww{zwy{xwv|{{{zwwwwwww{wwvvuwtvvwvvvvv{{wwwx{w{vywvy{wvvwvvyz{zz{z{vvu{wuvwuwvuzwxwwwvwxvvuwyvwvvxywwwvvywyxsvywwvwyywwvywwuvxzvwwzyzwzyzwzwyy|yyxwwxvvyzwzwwwvvyyzzyvyyyyzyywywvvzyyyzxwwwwvuzyuzvvzu†z|xw{wwx||z{z}z{yzz{y{|yxz{|wy|xvwwwxw{x{wwwzvxxvtuwvwxu|zvzzywwxvy{{zzzz{tzz|zz}z{{|zz|zwvy{~x|}{z~~||~ƒ|}~€‚€€ƒ}€€„‚†……†…‡‡‡‹‹Œ‰Œ‹‰‹‰Š‰‹ˆ‰‰ŠˆˆŠ‰ˆˆuvuuvvwywuuyvzxzyxwwwyw~zyxzyyyzw||}|zxvz~|||{{|y|{}}}~|{xx|{}|yz{{yz|{}zyyy|~~~~|}}~z~}~zz{}~~yzyy{yxxy{z~w{yywx{{{zvwxxx{ywxyxvtuwxxwuwvvuwvxvwuuwwwuuyvvxswuywuu{yyzz{yzxzzyxywxyxvyvuuuvtuwwwruwuwywwttutxwvuttvyywxwvuwwxusuxxxwwxwywyvs|xvyyx{vvzzu{{{|{zvxwvuvvwvz{{{wuu{zxw{xvv{wzvwwvvwuwvvvwvvtwrwvvuvvvvv{zvyz{wuvwyvywxvuvuu{{{ywvsuvvvvvvwwryuszz|wyyrvxuvvvyvuvwwvvwywuvywwvwyywyvuwwvvwwvvuyzwwywyyzzzzvyyyy{kxywyxwvxyywwwyvxyvvuwwzywwwvxzwvwvy{vuy{wvwzuuzvwzywwwwzz{z{wxwz{{{zzyyyz{||zx{}xw|}||}}yxyzz{z{yyv{wwxxvvwyxyxxvuwyyswvwyx{y|yy{v{x{|z}}||}zzz{{zw|}y}€}~y~~~~~}€~~€€}~€‚……„ƒ…ˆ†‡‡ŠŠ‹‹‹‹Œ‹‹‰ŒŒŠ‹ŒŠ‰‰‹Š‰‹ŽˆŒtssuxvyzzuxvu{yyvxzxvvxz{xy{~|yxwy~}|zyxyy|z|{{|x|{}|}}~}|{}|{{{|{z{|}}z}€€z€~~}|||}|yzz€~z{}{z|~|wvwx}|}xx||{wx~zw{|x}z|v|{|y|zwxwvwvxxxwwwxx{wvvvvwwuwwwwvvwwvwwzwuwzwvwz{zzxwzywwwwywwywyyqvsuuwuuuwuvvuuxxzzzxwvvuwwywwvvwwwyzyvwwvvyvvyxxwruyv|{|uywwy{{{yvwwwwv||vvy|||w{{zyvw{w{zzz{w|vwwyyyvvuwuwuwsvvwuwuvvwwvv{z|yuuwwvvzzwuwwvtv{vvvvvvwvwuvuuzurx{zvy{uwvuwyyyvuv{uvvwwyvvwvvwvyy|xvuywvvwvvwyw{wywyyyyywzwzyzz|zyyxwyzwywwwwzwwvzxzyzz{z{wwxvwuwvyyvwvzwzxyxuwzy{{yw|zvxz{{{wwx{{{||{w{}||||{y||wz}||z|{{|yzyyxx{{xxyxzwxwwwwxwwvusxys{yyvx}{wxz{xz||{{||{xy{yyz||v{|{}}||||€ƒ{€}}~€€„~€€‚€‚ƒ‚ƒ€†‡‡‡……ˆˆ‹‹ŒŠŽ‹Š‹Žˆ‰ˆ‰Šˆ‰‰ˆ‡Š‹ˆˆyyuuuvxwvuw|||yxwwz{u{wzy}|}}~wywywx{}xzzy|zz|{~~y{}|}}~{{{}|}{zy|}{yz|~~z|€€€€z{|~z|{}{{zzxwy{}|yxxx|zxxz}||vw{yw|{vvwxxz|zxutwvuuwuwxwvwvvvvwvwuvvvwzwvvwwvvyvvvzsvxsuuvyywzyvvvttuuuxxvxvptsusrtstwtrtrrsruxxrwvvvvrvvwwuruvvwvwvvwvxswxxxvrsvuuwvvwwwwxxxwwv}v{vvvvuvvy{{{xz{zyvwzwy{z{ywvvuwxvvuuvvuuvwxuxvuuuuwvvvvwxz{zzvwyzyyvwytvvuzvwvvwvwwuruuuuvxz{{vvz{vvuvuyyyyvuuuvyvuwwvxvuuvwx|wvwyvuvwuwwvwwxwwwwyyyyzzxzwz{yyrywwyyywzzzuvsuvwvuuuuuyywyxvuyw{vvvuwwxyzzvzzuwx{xwvwxxzz|wzv||{z{{zz}{zz{{|{{}~{x||{y{~w{yzxz{{vyyxvuwvuwxwwvwwwywvvz{zyyvxvyz|{}|{z}xyww{|yxy{z|y~{||{}{|~~}||~}~~~€€€‚€†‡„„„†ˆŽ‰ˆˆ‰ŠŒŠŒ‡Š‡ˆˆˆ‡‡ˆ‰‰‹‹‹uuuuttzwvvwxyyvuuv{yx{xvyxxwx|xwyw|yywy|}||{z{{}~{|}||}|yz{|z{z{||{{}|||}}~}zz|~~}{z{}{{zyz~zyyxx{{~z{ww{|x|xwuv|vx{xwz|{xwwwwvwwwswvwwuuywwtvvvx{wvwvusswuuvwvwuuuzwvwuuwsuuvzzz{{wvvwuwxwyyzwvwuuvsusurwwurxruutvvrwvruwvwvwwvrrutvwuutusvswuyxvrvtvuvuwvvxxuxvvuvux{wxwrzwvvz|{uwz{vvx{yvuwwwvwuvwxtwwvtwtuuwvuuxwwuvyvuwv{ytvxwvv{yvtvuztvvwvvvvtquvwutuvzwvuvwzyvz{wuvwuywwyyvruvvvuwvvwwvyvwv|v|wwvwuyxywywvvvuwvyyzyzwwyyyzyyswwyzyyvuvsuuuuttvvyvywyzzyzwvwyxuwyyyvww{xvy{uwxzyvwxwxvv{vwwvwxzyx{{||zxv{~wxw|{|||}xy{yy{zwyy|wzurttxz|zxwwwuwzyxwuuv{wvuxvx{{r}zyyvwxww{xxzx{{xyy{{~}}yyy|~|{z~€~|{{€ƒ~€~€„€…………„…ˆˆˆˆ‰ˆ‹ŠŒŒˆ‹‰Š†‰ˆ‡‰‰‡…ˆŠtzxzxvzzz|xuwvwzwvwwxzyyywxyxxwyww{}x~€|x{z|~||||}{|{{{{y{|zy{|€~}}{{{{|}z~~z{~~~~{|||{yyzz{z}|xvyzywxww|wwwwvu|{{z{xw{|wwwxvwwwvtuwvuuwywuuvvuuvvvvuvuuuuuvvvwvvuuyuwvzwusvw{yyyzyyvxuxvywwyuvvtpqorppqtuvtuvsuqqusssuvysrtruwsuvvvupuqvpvrsqwvtruqvuvrvvvqxvwvvuvxwyz{wvvwwwvwuvuwwvv{{zwvuvwruuvuvvuuvwuuvvvvvuuuvwvxuvwwvvvwuvvvuuvuuuxvvuvwwwvvuuuwuuuu{ywyuqywvzxvurwvuvvnwwv{v{wvuuvvuvvvvs{vvyvustwxwwvvwyvxwwvyzwywwzwwxwytwwwvyzvvwxtzvuuwvuvvzxywuuwzuwzzwyy{yuw{zzxvuuwvwyyyxxz{zzwxx{vvy{||{{{ywxz|xwv{{}|}{y{{|z{zz{|xxz{y{x{z{yyxyv€yxwvutuxvvtyxxyz{zz{y{www}{wy{wz{xy}z}~{}}{|}{}}~€~z~€€€‚‚‚€€‚………„……‰ˆŠ‰ˆ‰‹Œ‹‹‹Šˆ‹‹ŠŒ‹utu{yxzzxz{vwuzzwvuysx{xywywyx|{yxyyy}{y|{||{{{{}}}{{y{~z||{{yz{|zz}{zz{{~|z~~~~{{~{zy~w~||z~zywyxwwwxzvxwwww|zzvyzz{zzy|zxwxwwttwrvwvyvvuzwvxxxvtsuyvzwvuvwvwvvuuvuux{{zxxvyyzyyyyvtvvvxwvywuup{orqvqtuyrwvuuvvvusuvvyvvtqsvuvwwvvvvpvpvqvuvspqvwvvwwvvvuwu{vvwxyxxzxyywy|wvuvvzuvyvyvwwtvuvuvuvvvtwvwyyswuvuuuzuvuwwyvxwzz{|{uzuvvutvuwwvvwvwwxwwvvuvuzyzvuvur{vvuxvuqwt{uvwxvwuuyzv{vwv{w{vurzvwwxuvwwxwvwwzyywwuwwywzvzzywwuz{zwzwz{zzzwuwyxxvzvwvzxz{zyyyvu{wyyyyzyzyuvzv|{zzwwz{{z{|{zzw{xvtzz}|z|{{|y{{zxy}{y}}||x~~~|€|~{zw~}|{z{xx{w{|xvzxvwxx{yxuttyxzwvu{|{{yxyy{z|ywy{x|~|z|}€€}|~~~}{|~€zz~}~}€€€€€‚~‚€€€„††ˆ‹‡ˆˆˆˆ‰Œ‹ŠŽ‰‹‰‰‰‰Š‹‹Š‹vx{zwx{xw|xwwuzzzvv{sxxxy}y}yx|z{xzz~|y{€z|~xx~|}~}|~y{{{{{|~~w~€}{|y}|||}zy{{z{x{yyxxwxwvwy{{{xyyyuwxz{{wwwvxz}wyxzxxxxz{yzwrvuuttxvvvvvwwxxvwvuvuvuvzzyyvwwutuwyvyuuwyzuwxwuyzyzwwwuryvtvrvqpourvqprutrvtruwsswvtwsrvwuvuxpvutuvuurqprrqrrtvrupvurrruvvpuwvuuuvxy{zxzzy{z{{wvvuuvww{vyyuuuvuuutuwwvuuuuuuuwuuvutuvvtuuvvuuxvuuuuzuvvuuvvyuuuvuuvvurrvvuwxuuxwvtvuuvvvtvsvu{svuuxvvsyywvwuvwwuuuryvwxv{vywwwxwwy{vvvvyzyyzwvwxyxxxwwwvxvvwwvsuvwuxvuxwyx{yyvyyzuuywyzyzwvyyxwvwwvxzuvxzyvw{yvzwywww{}{{||||{zxvy{v{|{z|{|{z{}|}|z||yw|z}yyyvxyyy{yxxzyyw{{uwtustuzwsyxuzzw{yx{z|xyyyxww{z{||}yy{||}}~~||€~}|~ƒ€€€„ƒ…ƒˆ‡‹‡‰Žˆ‹‡Œ‹ˆˆ‰ˆŒŠŠŠ‰‰ŠŒ‹yy{{||{wy{wwytywxuyxuxxxy}y{yw~}xxxwy|{y{|~}|{|~‚}|xwy{yy|v{z||{z~€}z{{}~{{wy{y{|ywyy|{yxv{xx{|{z{x|}|x}||{|{xvvvywvzwwwxww}xwvvrxwxsuwtuuvuwvwzwxwvvvvuwzwvywvuuuuyvuwtuvvxvuwwwyyzwzyxutvyywswuuqwqurrruturtrvtruvststrwqvxtrprsrxvrrrqurvqsqrvrtvtussquuwtvuwuwyzu{{{{zy{{{z{vvuvrvwwvvxysuuuttvvtwvwvvqzuzywuuuvu{wxwvuuuuvwuuqyy{twtutut{rwvwwzxvvvvvtvvwvvwwvuuwwvvwvvuvv{zyvvtrrrwuuvvvuvv{wwvvwyxuuuxwwyx|zy{vwyvvz{yzzwvvwxxzx|wzyvvwvyyyxwwwuvvyyywvwxwuzvvzyzyuvuvywzvyxz{yyuwxxzwvyz|zy{wxv{{www{|{~{}|xxy{{{|yz~yxy~||}}|{yx|x~yxwwzwwz||{wvyyyxzzxuuwyxzvtwwtzwvwywzy|}{xwvxy|{{z|}|}…~|}zz|}{}~€~~€~~~~„|‚€ƒ‚€‚„ƒ„ŒˆŒ‹‰‹‹‡ŒŒŒ‰‰Œ‰‰‰‰ˆŠ‡‰zzy{{{ywxyxxwuxwwuvwszxx{~x|yx|{w|{|z{y{{}~~{v|~~~|~{zyyyyxzz{z~~|y{x~~€}{w{zu{xy}yx{{yxy~wzy{yy{{wv|zy}}|{{wxvuz|{|wxwzxwvwwwwrwwvuuvuvuwwvxwwwxwvuuvvrywvxuuutuwvvtvuxttvxwuwvyvzz{srtuswyvssussqqurqtuuusrsuursvqvwrpwqvxuquxuqtvqqppvvqrruvurrpqqsrsrqvvtrwwvvvvvwwwvvwvvvvuuvuvuvvvvvzvuruturruvwutrpzvuvuvsuvvuvvwvuuvtqqrurrrutsuuuuwyruuuvvvvvvvvuvuvwwwuuuuuvuwvwvwwvuvvwuqqwvwuquwuvvvwyvuvxxxwwwxwwywzzw}uzyvvyyyyyvywxxwzxwyzyuvwuzwwvvvvtvvvwvwvyxyyztyy{yywwvvwxwvyvvvwzwzvvwvvzzzy{xwvw||w}|||||{|}||{|{|{z{z|z|y|}}yxy|w}{zzyzyyyyxzyyxyyuxywxxzzzxzuuvvwzwwwwy{|{wwwwvv{{y{}~||zw|~z|~||~€~~{~€}€€ƒ…€„ƒ‚ƒ‚„‹‡Œ‰‹ˆŒŒŽ‹ˆˆŠŠŽ‡ŠˆŠ‰‹zzyxywwyzyzwwxyvwwyxstvw{~yyy{~zyz{{}yx{{|}|||~~~|{y{|zy{{{{}xy|z|yyy|z~|z~{x~{z{wxxzz{yywzwxy{zxyxwuv|yz{|{ywuvyw|||{wvzz{wxwvvwsuuusuuvvvuvuzwxvvuuvvvzxxvvutvvruvuutvtvvvwwywyxzvzx{twvwtvtrssswsrrurqrrrurrquvsqvpvzsowqwwvuwvwrxtsqppvrqqquqvstvrrrrqyvuuvuvvzxvxzwvvwvvvvuzqvvuuuuwuuuztusvttpqtvuuuvwzu‚qvuwtvtwvzvuuqqvvvuutwquuutvwvvvuvvuv{uyuwvvuuuvuuuvvvuyqvwvuxv{vvuwvrqquzvvvvuvvvvuuwwyw{ywwwuwwywwvwvv{yvvvyz{vw{vwww{wywyyvwzzyw}{zvxsvuuwvzvvxxwyuwwwzzvwuwyvvvzwvvuxwyuuvwvyzz{xvy{w|{z|{|{{|{{zy|{{{{|{|||zw{}|{{vzw}}|{||~z~~yyw|}xxyu|yxz{yyyw{wuuuxxzvwwyw{{wuwy|||{|{|}|z~~€{~}t~}~|{}{|€}ƒƒ‚€‚ƒ„‚ƒ…‡ˆ‡‰‰ˆ†††‡ˆ‰‰‰‰Š‰‡ˆˆˆˆ†zzxyyxwywz||xvuuwxwzvvwxz|xy{~|ywyz~|{{|x|}}zx|{{|{|{{y}||{|{xy|||{{y}~{y}{{|z|xy{x}{zwxy‚xxxxy{yywwwywwwywxwvyx{||zwxyzzvwxwuvvuuutuuvuvvussuwwvvuvxutttuuvryuuruuusuuusuuuuuuuuvsusrrurtxusuuuutrtprtsprrrrrqsssupuvspvqqtssrrprqqrsopprrrrtuuqutrquupuuursvvwywuwwvuuxwuwwuvruvuwusturqwquputtpsuuuuvuuttuvuuutuuuvvvuurquuuvtuwtvvuvvwvuuuvvuwvvvxvvvwuwvyuuuvvvyvwwvrwttwvutuuussrruuvyvuuxtvvvuwwyvvwuvxvwwzv{{{vwuttuzwy|ywwyzvwwuz{zzyxxvusuvussuvwyvuyuwzzwzuyzyyuxyzvwuuvuuuv{vuvwxzzwvxvz{xwxyz||yw{|{{z~~|{{z{{||}{{|z||yzyy}|{yyy{{{{yyxz||{yw{zy~yyxxx{wwuyvzvww{zwzxvwwzzxz|~|{|y{|~}|{|{~~|€|||~~|~~~€€€…ƒ„ƒŠ‡‡‡†††‡‡ˆ…†‡‰ˆˆ†‰‡ˆ‡Ž{{zxzxxywzzyxvvwywwyvwxyywyx|{|yxxy~|{x|xy|{x{|{{{|{{xzz|{{}yx{yy{|zwzz{{~}||}{}xzxxz{xwwwwwwvvzz|xywwxwwxy|}|wyx||}zyvvvzwxwwvwuvxusuuuuvvuuqsvwuwuuuuutuwwuusruvuuuyxyxtuuquywuxwvswrvuwuwyywvvrttrusrqqppqrruqstvqsqrpvqqpprurtrrqqpprrqrputrssvptrvvqvwvqqsvvytvuvvvvvuwvvuuuuuwwuqrqqpvtvsusuqvsuuwuvuvtzywwvuwwuqutvtutpsutttvuywvwwuvtuuwutuzxvvwuvuvvwuwuuvzxyvyvvtvvwtwutvvtuvws~uvtututvvuuwwyyyyyvwuwwuuvuvvwwwtuzx||~w{yywxvvvvvyvxxvyyswvuuvs{wyuzzyxwwzzyzzxvyyxsvuuwvzwyxvwwvzz{vwzvx{{{z{{{zzz{||y{{w{||}{y~x{y{}z~{||{yy{|~~zyx{yzz{}~{yvzzxwyxxy{zzvwvuvwx{{xz|zzxvwx{{{~z{||y{~|{{~~€}|||~{€~~~€€€€€€€ƒ„ˆŠ‹‡†‡‡†ˆ‡Š‰‰‰ˆ‡‡Šˆ‡……|yzzxzxzwzw~yxw~xzwyuxwxx}xy|||~v~|}{{{||~||{z||zzz{|{x{|zz|zy{{yz{zz{|~{{}zyzz{wwxwywxv€xyywwwvyyxwwwwvxxyyywyzz{{z|ywvvwvvxwvvvvvuurvvuvuvvutuwvuuvuwvzvwvsuvuvutuvwvvxuusrvywvuurrrtssvwvwwwvurtqvuurrpwqqqpqpprrsrupqqqqrqrpqtqqrrwpvurqrqprqqutvwwwvvsrqpqrqruuvurqruvvvvwtuuuwvrppqqptwvquvspvvttvvuvvtvmuqrtuuttssttuuuttruvwxwuuyuwuuvvwwvzywvwvzzwwwwvuvvwvvvwwwuuuvvvuvvwvtv{wqtvuuu{vvvwvwwwwvwvvwwwwyvwtyvyvvwtywvxz{zxyywxwvuuvwwywwyxytvvwvvsvwyuvvvuwywvuvuvvzyvtwuuwywvvvtxu{zyvwx|ux{{|zzwxz{{zz|{y|w{{|{z{}w|zx|x}|~|z„yzz{zzz||xzwzzy}{|wwz{yxyz~{z}zywvxyw{|{zzy{{{xxwwxzz|{||}wxxx|{|~}€z€|~||||€€~€~…~€~Š‚„‡ˆ‰ˆˆ…ˆ‡†ˆ…‡‡ˆ‰‡ˆ†Š‰ˆˆ‹|xwwwwxwwyz|~zx}{{yxxxyyxwyxxz}x{{z{{|||~~|~xy|z}{z~{{{zyz{y||zyz|xx{yw{wy}|zzzzxwuywuwtuxxyxyvvwwwyxwwvyuy|wyxww{xv|yxvvyxvxxuuuvuvuuvuuqrqvvwtvyywwuwwvuvssuuwuutuuuwuvwvywywxvuwwquuvvwvxwwwvuwutuusrrrtsqqprqwwwrrqqqqqrrrsrvuprpquouvurqrrrqqrttutuuvvuuvqrpwwvtrquttrrvpuuuwtxuqozqtqtsutqxvqswtswtzuzvvvuuvtvqqtuuttvtwuuruuwuvxtsuwuuvtvwvwwuzzuvvxzxwvvuzvtuwwtrqusuvtuvzwztvxzyvuuvvvvu{vxvuu{xywvvuvyuvuuwwwtvvvwvwvwwwwwyxxyvztxytuuvxxzwwvyxwvvvyvuuuuxzyvyuuuzwzvuvvwxvwvwvvsvzvuvwz|vx{x{yzyvzvvx{{|vwwuw|wz}yx{{y|{~}}zy|xx}z}x|{|z|xyx{{{zyz|zz{z{|y{{zywzzxz|{{y{xx{zxywvzxwvz||yy}w||}|xxz}€w{x}€~„€~€…‚€€€€ƒ†‡ˆˆ‡‡…‰††‡„ˆˆ†ˆˆ‰…‰‡ˆ„…{}zzyyy|wzyz~x}|~~x}}}ywwywxx|~|{yx{{||||}~xy|x|{{}|{xx{{x{zzy{{|zz{yxzz~zwxzwyutuxwywzw†wvwwvww{wyz|v{vyvxxxwwy{z{xxuvxzvywvsuvvvzuvvwwwwwvusvyuuuuuuuuwvvuurruuuvuwwuvwutvxywvxzsutvvuuxxvvvwtuuvuuutuupqpqprrsrqqpoporrqpuuvurqutuvvuvurrsqqrrqqquuvuutuurpuvrrrqrqutqqupuvtvuuuuprtssrouzvwvttvvwvtxuyzz{ttvtvurtuvuvutvvvuutvuw{utuvuvutwxu{vtzzz|wzyxvwvvvvvwwwvvuutwuqtuyzxwvuy{vuuwuwvuzvvwuuuuvwv{vwuuuywwwyuswqwyxyvywvvxyzyvvvywwvwwwxwyyywvvvvvvwuvvxzuzxuvttvtyzsuutuxx{wyvwvwvzvz{|v{{xwzy{zzz{vzz|v{{|{|{{|yz|{z||}~}}{zz|zwvw|zxzwx{~x}~~|{z{wyz|wyzzyyyxxzx{zyyzz{yz{zz{z{{|{{zzxw{}|yz~x‚€}||}|}€ƒ€„€ƒ~‚‚}€€„…‡‡ˆ‡ˆ…‹…‰†……‡†‡†‰ˆˆˆ‰ŠŠy{{xyz|zzz|y€y}||z~x||{zyxx{vwz|z}zyy|{||{€z|zyz|{{{|~xy|{xxzz{yyyzzz{~z{|yxxzwxvvtwxxwvvuvxyxxuxxwuwwvvwwzxwvyvw{wvxvwvuwwvwuusrqqwuuuvsywwvurtwvvuusrrrruuurvvvvuuuvxwutuvxvyzrvyywuxwyrxwvtwwtrtuvvsuusqpqpvqwqtpqppoqrsupupqsqqsuvuprquprqqqqqstrsusvvuuuqpuuuurrqpqvsqpqrwttrqswour}rvqtuttututusvtzywuvuuuvtvtuuuuzuvqwuvuvtvwzwvuuvuvyuwvuuvuzzz{uvwvzxzvuwwxstvvtuvuvuuuzywvuuuxwuwwuvvu{vvuutwvwvwuvvvvvvrqryvwwwxwzxyzwuyyywwvvu|wwvwv{tsyzyuvyzzxwuuwyy{zzvwwvuvuzyuuutussxwxuuwvwwvzvvwz{vwyzzzz{xvzz{wz{z|||y|v|}~~{zy}y||{}|xyz{zz|xwzy|{|zyzyy{|zwzyzzzyy|xxwzzyzzy{{|{{{x{{yxy{}xz|zyw{||||zyzz}{€~}€~„€~€€€€€}€‰†…†ˆ……ˆ†…„ƒ‡ˆ††‡ƒ…‰ƒ||||yxxxyzyy~~~z}z~|}||yzz~zywxxw{|yxwvw{{{yzz|yyyyy{|€xx{{x~z{yzyxxy{~yz|xwwyyxxywvwvxxvvyzwxwvwxw{wwvvvuwwwvv|v{uwxxwywvwwvvusrtuwr{vwxwxvwwszuvurrurrrrrrtuvvuxvuuvvwwruxwuuvvrvvvvvvvrrsuwvvwwqtrsswrrruqpqrvpopoopppsuvuurrrqquupmmlmsnqsrutuusuuuruvuuuqputuuuuvrqqqpqqqrurrpourvtwpuospvuuuuuuuutrtuvvtuvttttsuuvuuusuvuttuuuvvv}rtuuwxvzuuuvwzz{uvyzzwyzwvvyz{vuuvvuvuuwwwuvvvvvvvvvuuvvvwvuuuwuvxwvuruvuuuuqvyquywnywvyvvvxyvwwwxxzwmxwzvvyvwwwxutuzxxyvxyzvtwxuuvy{yuvtuuytvuvtvwvtuuyvvwvzvwyzzzzxww{{|vvwwwyyyxwy|}|z|y}{}|||yz{y}x|xvy|y|zxyxwzv}~{uzy|zz{|yxw{yzxzz|{{|yy}xy{wxx|{yzzxzwy}|ywxz€y~|~}|}~~€~ƒ~€€~€ˆ‡‹…‡‡‡‡‡††…†††………†‡‰‰‡yyy}zvyyyxy|}~|z{y|~}|ywyy}|z}{yyy{yx|wwy{yyy€yy|z{z}{xx{z{{zzx{zxyx{{xzxxxxwxwxxyvxxzwuvxxwvwwwwvyxwywxwvvxwwwwwwyzwxzustrtrstvvuwtwwwvuuuvuuurrvssuqootrruuvuvxwqvuwwzxwtsusvzwxwwuuvwsuruvvsvuuqqqtqsusrsrrquqqpqnqpqqvrrtrtqpqvvsqmrprorqqtvvvtvuuttuttsqqoqtvtusuqrqqrqpptutpququstuvuttvtutuvvvvqssvvvqut}tutuswuututvuur}tuuwttqpstqwwwuuuuvwvzyvvzyzyuzzuvyuwvtwuvvvtuvuvvvwvttttuvwuvuuuwuvxwuwvrturuuutvtsuxwvwyvwvwvvwwyyyxxyyv{yzzwvwvtuyvxywyxtvvtuuvutzvuszyvvyvzuussvwvvuwuyuvvwvvvyy{zzyvyxw|wwwwvwwxwxxwvwvwvwxy{|{{y}x|{wwx{yw{{yz{wzww{wvvuuxyz{|{{xxyxxxyyxx{{y{yyyy{{||~{{{|x|yw{|}}}}zyx||~|}~~{~€€ƒ„ƒ…‰ˆ……‡„…††…ƒ†ƒ‚†ˆ†ˆ‡‡x{y|wwyxyzy~{yzz|||}|ywy|}|~wyz|yyz{{{xxzxxwyy{{yyy{zz{ww|{zzzz||||zwwy{yxwxwyywwwxutvwxzvwwwuvuwwuwvyxwysvxwvvwyvt€uuxxvwwztwvvuuuvwwwwwvuwuurvwvrqrsuurrquuvurvtuytrruwsqpuuuurttsrstsuvutrturstqqopoppqsssrrsrrqrrppppqprqqrusrrrqtvvpqqrqqqpqquvvwrqtuvvrrrrpqrttuqpruprrtpvqurvuvurtstqqqqqpqvruusrttuqutrtvsststvutvvwuututttuuvvuvuuvuuvvutuwuzwux|wwy{z{{{zuwywvvuxuuwvvvwuvvvwxvvuvvwyutuuzuuvxvvvvrruvuruwvwtruwwwwywvwstvvvvxvvwywrywyssuuurutwwwwwvsrruutwvxwxwvsuvtsvuvuwrwvwtrvutuuvvxvvwzyzyvwzwvstuvvzwvvvuwvvvywvvwwvvzyyvwz|wwxywvvxxuvvwyyzyxwwwyyzxxx~y{yw}}}x}||}}y{||{{}|||{|x|{{|z||z{|yx|||~~|~}{{}€…€~€……ƒ…„ˆˆ††…ƒ„€‡‡††„ƒƒ„†ˆˆˆvxyzxwxxzxy~xxy{~{wy|y}x~xv|vzv{yz{{|xwywxxwyy{y{yyyyxzxwwyz{zzzxxvy{zwy{{{zzy{|zxzxxwxzzwwvwwwuvwvwwwxuywvwvvwvwvvuuvxxxvvtvvwwvuuuvvswxuvwvssuwwzyyrwvuusruvussvyvrrrrvruttrqrqsuuwswsvusvwvvvvrrswrqqqqsuvquvwqrqsqqqqqrquoqrpmpsutvrppqovsrrrrurturqsuupqqvvuuvtuquruupruspqqtuwoqutuquuuvvqutvqututtuvruquuxsuuutusuvurvuttvtuvuvurruuvuuuwyxzxvwwtx|zvvxz{zz{tyzyxzzyz{vwvvvvvwv{wztvuwyzuvuwwwwwvvwvuwuvtutuuvu{vrtuvyyvvyvwvwvyzwvvuvwvrƒsvsxttuuvxwywywwvtvuuwwz|ysvtvuuvuvuusszuywuvwvvuwstvvzyxyxwwwwwwvvy{|{w|x{uvx{w{vywvxwxwxxvwxwvvxwpw|vquvussrutss|zuwy}|{|{y~{{xx{z|{{|yy||}~|||}w}|~{y}|{|}~}||~||€xy}}~u€~~‚€€†…‡‡ˆˆ‡†„…†‡ˆƒ‚‚†…ˆˆˆˆuxwyyxw{yyy~wyyyxxwyyyxvxyz|wzv{{|{wuvy{yyzwyzyy{{y~yxy{vxyzzxwxwyz{yyvz{zzzyyxxxxvttzxwuvwuwxwwwwxyvvusvzwwuvuvuwuyvquvvvvuvvtvtvvvuuuwuuwvuusuvqsvymvvvprsuruvrtuuqurqqrrrqrrrpssusuusrtvvxruvursuwsqqpqqpuqssqqqrssqrrrqrqqqrrzrrrvvqqrqquvvuswvrturuuvvrrpqtuptputvtuuuvtppqqvvvtuuuutuutqrrvvutvvvvuvvwvuuuutuvusqsrtuuvutuvuuyvwuuuuuuwuwwvtz{vuvuy{yzyyxyxyzuyzyyxyzywwwwuvutvvvvuutuwwvvvzwyutvwy|vvuuuvuvtutuvxurvvvxvwyvwvuuxywvwwvwvrrrrtywvwsywyyvyyyyuxwvwyxtssuuruvuuuuussrvuttvvuuwtvuzy{vvwxwwvzxxuwwuwrvwwwvvvwwwvvvwvzzzyvuyx|€ƒŒŠƒ~}y|vqomigfledLK_tw{}}z{z{{{yyzz{~}|{{}}}}{{{zyxxzw|||yw|}~|~}~‡w}€€€z€€~}€€…‡‡†ƒ…‡†„ƒ„……ƒ„„„†…†…vsw{zywywzzxyxzyy{~wyy~vzz}zvyy{||{wxw|xwx{x{yxz{zyyyzzywyzxzzzyyzxxv{wzxzw{zxxxxxttttwwwuvuwtrwrwvvwvssvzrvvvuxuvuyusuuwvwwvuusrvquuwuwxuwuvwvuuuvuvuvwwotutsuuvssrqrrqrqrrqopoqrrusursrtxwxqrrrrsqvqrrtqvqvqsqrqqssrqputqqrqqqpqqoqsuurprrutvsruvpvtrpqqwrroqtvtuquuwpvtuusqvqrpqvrtpqusvuusvsuuutvvvuuvuuvvtuutywuqzuvuuuutvuvuvwuuuuwvuvywvtvxzwuwzvvxyyyyyxyy{{zv{yxxz{{{zvvuutvuvvvvwuvtvuvwvxvwvwzyvuuuutuuuu{vwuvuvtuyvvyvwvwwwwwvwyswvvvvstxwvtuuxwxzzywvwwwwwyxuvsuuwsuuytvvyvsusstuusrsxwvuvvuuvuvvvuvvwwxzwpusqppovlonus{posus|umpcVX[J@>;<:532.-)!7Hzwz~|zz||}~~}~z|~{{|||yy{yyy{{wuvyx|}}|z||||€y€|~€y€~€‚}|†††………†…‚‚‚‚€‚„‚€‚……tywwyvyyyxxxyxzx}zwwy}xvxwx{|w{{||yxww|wwyyy{y}{xy|yywxyzxxy{zzvyyywzw{zyw{yxwxxwuttwwwvxvxtssvwwuuwsrrtxqvvvuzuwvxuusrvwuwvwuuuvvvusuwxxwwwvvusvurvyussrruroussssuqrqrrqqrpvppqquurtqssivutprvrrrqrtrrrsqsqqrvrrpqqprqwvpvpqqqqrqqqqsuurqsssuuqrsrrrqrrsvqqqquuvuquqrrtvvuttvqrusvvwututuurvutuuuuwvsuuvvyvvuuuuuuttzuuuuuuuuuuuuuuuuwvuwuyvuuvzyuvyxyyzz{yzyzyxyxyvwvvvvuzwvvvuuuuvwwvvuvvwwvvvyyyxusyxv{ywvuuvuvututvvvruyvvvvwwtxuvuvvxsvvwvxsvuvwusvvssssrwtuwwuuvsrvutvssuvvvuustuvuusssvusssrpqrrqw{{ƒxtswvwuvvpv~sspl_XSZD>993/#(1ywz~|||{|~|{y~{{}|y}{{zz{{xyy{||{zz}}|{|||~‚z~~~€€€€ƒ„†ˆ†…‚„€€‚€€€€…txzxvvwxzyyxyxyyxxxwwx~xxxvwxwy|}{|xwvwvwv{{{{yzyvyyyxzx{zzxzx{{yzyyyxwyuxx{zxyxxwwvuvxvurrvruruwvvswrsqqqswwuwvvwxxxuuuwuxuvwuvutvuvvvvvvutuuusuuutwvuusuuurququrrsrqqqsrrqqrurqpuvwsrruowurpuvsqrprrspuqrqvrrrrrttuqpqvspuqprqrqqqrqututrsvputqquqvrqrqtvttqutstvounvpvrvsuuuqqvutvvvuuuvptvurvuvvvtuuuuuvvrruvw{vwuzuuuywuuuvztvtzsuvvtvsyw{yywyuzyzwzyzzzxzz{yyy|xvuuuvu{{zyzvvuzuwvvuzwvw{v{uzxwvvtzvvvwvvvwuvtwvwvvuwswvyvwxuurqtvwxursvwurqsttuvrswwwsqurxusuwvuruvurvvuusuytxsvuvvstvyunqowusy‚€~|ygncPTawuxutw]@*)vww{z|}||||zzy€€~}}y|}~|y}||}{zz{}{{~|~}}|}ƒ|}~€€~€‚€€€‚‡…„„‡„€€‚€„ƒ€€€€wvzywwvzxzzyyxzyywyww|ywyt{yxuzwx|ywwvvuvzwy}yzxvyyy{zyyzzzzzx{wxvvyxxxxytsvyxwwwwsuqwwstsssssvvvvtqrqsqrrvrtuuvvvwwvvwvvuuwzsussrsrrvvwwusrussrrrtuuuvuuvtrrsrqqqrrrronorrsspnpqrowsrvuourqqrrstppqpoprqoppqqqsvvuppqurrqvvvrrprqqqpvuturquruuruspuutsuuuqtuuvvuvqqqwrprvvutuuvvvwvuuutxuquvvuvwuvuuuvuutvvyuvuutvvutuwyvuuuuxytuuwuvvuuuuzuvuxvvuzv{uyx{vyvzuwzyyyzzuvuuuzwvvwyuuuuuzvvvzzzyvwvwwuuuwvvvuuvuuuwuswwwvvssswrwwxyvvrsswvvuruvwqtutrrqrsvvuvsrrtt{yywvusuwuuuvwxvutwurvtrurwjmf_Y_SG?82.:Nruvuv†I ��"|vv|{xz~|}{}|w}|€||{}|‚~|{|}}|}||||z~~‚€€}}}~}‚z~|}~~}|~€~€‚€„…†…~‚„„ƒ€€€€€‚xxyyyzzxyx{yvwwv{xx{yw|xywvvywvuwy|yzuuuwx{ywxyxyyyyxyyx{yyz{zzxzyvvywwxwyvvwxsxwwwuvsvxrrstvuvvvuvvrrqpqrssrruvvxsu{wvvvsuuwuusssvsvruuruuvuvruvsuvtswuvusrrrqrsrqrrrsnrqrqqqqpqqrnvqpqwuvstrrrsuqrqrsqrqqpqqvrrtrrrtsqqprsuuurvvrqurvsuvrqupuqurrqutvtuuvuuutvusuprwwvvvvxuuvutwwuuywuwutuuzvvvuuztytuuvvuyvwxvyvvrvuzwutuvuuytvtxuyvvwyx{uvvyyzyzvyryx|vyyywvuvwz{|vvv{zzx|vuvvvvvvyvvuuuvwuuuvuuuwvvvwtzuutuvvuvvvuvusuwtvvvupqrssrvuvqwxvvvvuqrruuursrtrrqokkkjgjhmvususuyuuvuuruuuvv{5��DmvvwvŽC	��'€wv{{€€€~€~{||yx|~€}}||{}~~z{}|†|}{zz{~||{}}y|{||€~~~ƒ‚„………€€€„‚€‚€~€‚xxw{xv{zxyxyvww{{|vzxyyvwxuuwwuxz{zz{vuuw{z{y{yyxxxvwzxxww{{z|zxzwuyxvwxwxxyxxwxwwwwwtvwvwtwvvtrvvuvuwqqqvrsrqswwwvvuuwwuusuuxwusuvvusrssrvuuysssusotruuuwsrprrrqrqrrrqnqrplqsomprooutqquvvrrsrrrrquuurqqrrpptvvrqsqqurqqqpotqtuuvtttrsuuwutsptpsqrrrvuusvutuvuuuuttuvuvtuuuvuuuuuutuuwzxxuyutsssuuuvwwvvzvzyywywvutrtttwvwxwyuuyvwyxvwyvyvuvuwyxyywvvyszyzvyzyzwyutz{zuvyzzyzwuvxxzvvvyuwutuvvvuusuuuuvvtvuzuuwvuvuwywvuwvuuvvqsruutuurqpopppopppomptrzy€†„…†€€wqdk_Q>Bbrsutuvvutrsuwutuxr|1A:wuuwv„G		�‚vv{|z||yww{|{~}{|€€}}||~|~}||}}|}~~€y}}}}}||€~}€||~|~ƒ‚}~€ƒ……†‚…†€„€€€€‚zxyyxwywxxxwwxx|x}vwxwywwxxxxwtwvvwxzxvvwwwxyywu|yxwvuvxvv{yz{zz{vxxvxuyyxxwussvxvquvvrrssssssvqtuvvwspqrrrsvqqsvvxvwuzvvwvwvuwwvwwvwusuwurruwusssrrtuurusssrpqqpnopqqommqqpqrmnmprpsuspqtvvwswrrqqqrrrqpqqqppquvrsrpurquuvpurutwuuuurruvtuuutttuqtpqwuuttuuvuvuusvtvvvvytuuuvuuusvsytuuxwuvywvruuuuuuvvxyvvzxvvvvvtztttyuyxxvxyyyzzyxywvzuuywvxyxyzyvztvxzuyyxxzyys{yzuvyyyvuvw|wuvww{xtuzrvtwvuuuuuruvvrvuzywwvuwvyuwwvwuqtuurpppmkknlxz‚{{~ur~y}of^ZE=71(
++)[psuuvvvwrsuvvvuuws€I �1yvuvwŠK
+
# (%+*30-8<ADLkO �ƒzxz|xxxy{yz}~~~~|{~|€}€|~~~}{}~}~}z}~}|}}}}~}~~€~|}€€~}€€€…„€€ƒ„~~~|}€wyxxxzyzzyw†wx{}w|vyw|w}wxwwwxuwu{yuz{yyxvwzwvxvzzy|{|wxuuxzz|ywvwwvvwxyyxxxusrvvssruussttvwrssrrrrssqpvrrrqmkqqrrqrvvvwvwwwvuvxwvusvvuuuvuvuyusvorsrvurruuuuurrmuoqqrorsqomprssppsrrrrrrvvpurrqqssqoqqrqqprqpuuvqruvvurpqvutqvtuvvvvtuuvutttttuvqsuuvstuvvvuuuuvvwttuttzwvuuutuuuvuuttuxwuwvxtttuuyuuuywzvtytuvtutvuvvvuuyyyuyywvzuwywvvzuvyyyyyxyzwwvwxxxvyuwyzvyuuvvuwxwywvvywuuuvtzvvuyquvvuvwvusquqvtvwwvvvuvuuvtuuupx†…„ˆ†ƒxupuf]B;41/+����Pvqurxwuuuuuuuuwvvm~J��/…uvtv†W	1379?BINUORX[^npvs~‚ŠŒ‚x†h(�ƒuxz|{|yyz|z~|€|}~|€€€€{€‚|{z||}||}{|ƒ€~|€€€‚„……€€€€ƒ€‚€vz|zxzxzzxwxy{{ywuuuw{yyxy|yxwvxwy{y{yvx{vwzvuwv|xzyzyxwwwyxzywvyxyurvxzxxuvxvtrqvsswrsssssrrrsrqsrqvqqqrrroqqvvuprrvvwwwxzyzxwvswwvvvssuuvuuuwuuuvrruwpuuttvsrspuqprqrssqmprqqqrppprrrtuwvqvussrqwrqqrtwsrrrqvuvtvvuuvsrputuqwtuuwuvtusvwutttuuvuvuuusqtvvuuuuuuuxvuuttytutttvtvuvuuqxwyvvuvuttutuuuvvwzutsyyywzruutuyyyyxyyzxvyyzuvyxxzxvvxvuvuuzzzwyvywxvzzyzyyzvvw|vzwzxyuvwvwzyvs{wyuzquuvsuuvu}svvvvvuutvutvurwvvvug>'.1+	J}ssvvwusuutuuusru]{S�B$
+	
+
+�(€rrrvƒXQ_ehw~{x~q|„‚zw|~€~zwwvwwxxyvl~)‚uxwz||ywywz}~~}~}€€€€~‚‚„ƒ‚ƒ~||~}}}}}}}€€€}~€€€ƒƒ…‚€‚‚€~~‚€€€€€€w{vv{{yywxvxw{yxxxwww|y{z||}yxyywuz|yxvwyyxzxwuxwyxxy{xwuyxvwywuzxvwwwyzwxuuvwvruwuusssruvqsrrswtsrqqrqrquppqqrdrqquuvwyy{xwyywwsxvwvvuussssutvssuurrsrtrnuxxwvuutqqppuimmorrrpqssrrrruvwwursruuvsrruvquuvsrsrroulvruuvwrquwuqwtvusturvuuquuuuutvtqquvuuuvvuuuuvvuwytutvtrtrruttvywtqqtuvyvuuuuutytuvyuvuutttuutytuuutvywvwzxxyuvxzwvzyxyuvxxvwuuuyyzwuvvuyvyzzvwyyvuvvvuvvuuuwvvvzywuzyuuuuttuvtuvvuvtuvvuuuuuvuutuuvuuwe+Osssssssrrsqppysr‡„U�
+
%!%��'‚qwuvzkh]u|sxuuvuvuwvvwwywwvxwxwwuuxozxr”,�ˆszyy{|z|xˆ{~}}~~€~€€€€}€„€€~}€€~~€€€}}~€€‚€€~~~…}„€„€€€€€€vy|vx{xwwvxwzyx|vwwyyyx|zw{{ywwwy|xwwwvxyzzwvyz{yxx{zwusuywwyxwwvusssuwwxwttrrruvpvsswuuurrsrrrrrrqvrqppqpqsqprqsuqquxwzzuwzyvwusssvuyuvuuutvvvuuuuwvxsrpyxyywsvsssspwusrqprsrqrqrrrsttxuuvvwwuxrvqsvrruuvtsrrpuvvpuuvrrqvutuzuvuvutqwvuvutvtutvrzyvuuuuvvutuvuvvvuutttvttqxyytvyytsrutsvytuutttuutxvuuuuuuvuyyyyyuttuvxvyzyxztuvzwuyuwyyxvyxxvyyxx{uzyzvyyyvzxzvxvyvyvxyywvvyyxxyxzyxxvvvvvtzvutvutvttvuvvvuuuuquuuvvu|i�B{uuwuspsxvww|vngc^TIS_acknr‚€…L%��� qvvuzhfoosuvwxxwwtqqtuvuursurwxwwwxy|xz’3xxyw}{|{xz|||€|~}€€}€ƒ€ƒ|y~€|~~~€~|‚€}|€€€€}{~~€€{€‚……„€€|‚€€€yytuwyywvvuww|wxvvy{yyxxwyx{{}www|zxy{wwwy{zyywuwywwwyzsuuwwwwuttvxs}tvwutttwrsvvuvrswvsurwqppuvvrrqqquqsqvqrqrqqpqquvvw{uwyvvywvw{vvruvvvvwuvtuustuuusqqxxywvusuuuutxtvvvwusssrwrxusrrwvvxuuuvwrsrtvqqwvwvvvrqrqqpsquoppuvwvzuuvvotrrruvttttttutuvutuuvvuuuuvvutuvwytuuuttwrstuxvsruttqryuutsttttuwyutvyvuvyxtuutttxwuvvxyyyzttxxyyyvuyywyzuzyzvuvwvvuyvxyyywzzxuywvvyvvwxwvwzxxyyyzyzwvvvvvtuvzvvvvtutuuuvvuuuwqvvwvuuq
��?‰swuuv[CD:3) 	;Švs~…yzuq•f*�‚qvwvvv�H‰ryv{uwyvvvtuuuvvvyyzwvwwwwwxxyx5}xzxxxx||||{€|€€~€€€€€€}}}~‚|}~~€‚}~€„ƒ„~€€~€€ƒ‚€…€€€€€wvwwwwywxwvwxvwvwy{{xxyyyxwzwyyxvx{||ywvvvwxyyvwstuuzxvuuuuvzwxutuwwsssvztwrvwvsussrrrusquqwpqrupusrrpqppsrqrqqnpoqqsrqqruwxzywvzwx{wvvuxvwuvuuuuuuustusrrxyzvuuwwvusuwtuvwwvwxsrrsvwsytvwwwvuvuvturvtspvuvvvuruvrpputunutttvwzvvuuuuvxquuzuwvvuvrvryuuuuvuuuuxvuuutttuuytusvvytuvvsuqtrqqyuvquturyswyutyxyyzxzszuzuuxzu{yywyzztvuyxxxyyxxyzzr{|{vzyzuvsyvzxyy{w{xzxvtuuvtyxzwuwyvyyzyzyzwyuyvvwvuvvztttztuuvuvsuutuwuvtqu���
+	-154;Ng><‡svpr€N9�/)‹`uwutttvvtrz-{quzww�:‡uwvwux{vuuvuwuvvvurpqptxspryyywAn|yxxyz{|~}|~|~~|€€~€ƒƒ„}}|~€€~‚‚|~|}€€~~€~~~€~„ƒƒ}‚ƒ…ƒ€€€€€‚€wuxywwyzw‚xxwww{{|||wxy{z|w{w{x{vwwuwzvwvvvxxyxyy{vwyysuuyuuuvtwstuuuutszuuuswstsurrrsrrrwwwqsrruwqqspppqsrrqqrqpqpomppqruuyxwwvwzyywvvuuwuuuvuurussruvwsuqpquuuvwutuuwystwwusuruyvussxvvwv|uutuvvvpvrqpuuusuusuuuuuttupuuttvuuvsrvvuusqwvuvvvutttuuyttttvuutuvvtututtuxuuutvxyuutuurtuqruuuussusrrswyvvyxxxyyytzvuvwyvvwxyxuuvvvuzxvvvyxxvuuvqrzvvwvvuuuwwyuz{zyxyvvutvuuytyzvvvxyzy{zuyvwuyvyyvutyzsuvzvuuvpvtuvuuvvuquw��
+
+*)76@EKRdivx{x}ypvƒt��8€swuuƒJ&%krtwwzzzvvm…,~pxwwy€�4†vvuuusuzt…}|{~|{{sur`SP\rwyywŽDluxwvwy{|yy|~~}~|{}~||~€€€€€€~€€ƒƒƒ}~~}…~}~€€€€†ƒ€~~€€€ƒ€€~€ywyxxvywwwxv{yy{{z|ywxzzwywyvxyywvutuuutwvvwxx{yxwwywvvvwvutttvwvvvwwutrzvutsrrrussssrrqrvqprsrrrrqpspwuwvuqrqnpmprmpppoqvruuussuuvwyuuvuvusyrtvtrururrqrruuuvwvruuusuuvuuwxwotvwwyyyqxvvvvuvu‚swvvqwpqoqtvuqsuqqtuutqutvy}qvuvrusws~ruqzvuuvuuuttuuytuvuuuuzuuuuuxvytuvywyyywyuvuttttvqsuuuuuvp}svsyyzxyyywxyyzzuwwyvtuuvxxutuuvuzywvuwzzutzv}tzuyvxxywutuwywzyzuyuwtyvyuyy{zyuvyyvyzyvzxvuyyyxyvuuxtzzyxzuvvzqtvvvvvuu}{�3;Gbemu€ƒ…†…†…‡ˆ€ƒŠ‡„}yvwurrrnit�4„svvs‹C,€prrqqrrusme“:�&
!0qpzvsy}2„wwwyzfTLHA?;974$" 
+*;E…wyywŠG�izxyx}vyzz|~}z{}}{~|{|~}€|~~€~~~€||€€€}€ƒ€~~}€‚~}€€€€}~€€…€€€~yyyywwwwwxyxywx|zxuvwywxvww{vvxzvuuuuuuvwvvuxxzwxzzzxvtuwwuysuwxvwrvvttuwwstttqsssssrqrrqurqqrqqqqqqppquppqrrropoqqpppmopprrrssuruvvtuuwtxwsuopotprqrrrrrtuvuwvvsvuvuussuwwwvrrwwwwvvrvruvvvvwrqywvvvrrpsuuppqrqrvrrtpututrrvvvuursrstuuuvuuutvvtvuxyzttuuuuuvuuuuuuuvssvxwzvusuuvsrtutttutrrxvpxuutwyuwxyvvxuwvytutxuuwtuuxyzvutuwzxyvuwytuuustyzvwzyyyuututuzyzuztutyutuvy{uyvvywuvzvvyxyyvvvtvuuuvuzuuuuuuvtqsvuwvuuer†,Ÿ”…zxt|}yyyvuutuvvvvvuvvvvvuuurp„-†ruwrC…|opztsn{xrŠ™:�:Fpsyury‚
0ƒwxy{„<E†vwxw‹If}xwywxxyy~}}~€z{|€~|}{}{|~€}€‚|€~~€~€~€}~~€~~~€ƒ„~|}€~€ywwwvw}yyyyxyvw{|vuvywwvxwuyuvyyvwywwvuvwwvvvwzz{zzxwutuxvvuvxwyusvvttsvwwvssrrrssrsrqsssrrrqqqorqrqrqqpqqpqpmkppppppmropqpsosrsuruuvuussrvsuuvtuuutrqtutrwuuufvsuuurqrqwtrvvurvruwvwrvvvvvvwvvr{vywursquuupvvrrvrqqtuuuvvuvvvvuusvrvuvuuttturytuwvwyutqtuvuvuttytvqur}rtqssuuuuutssuurtttttuxyxxxyqyxz|zvuuyzwvxtuuyuywuttxzzyyyvwyyywtuuutuv{xyzwwzvyxutzuvuzz{uyvuwytzuuy{tywv{uuuwvvyxyyvvvsys{{ytzuztvtzvus~vvtwrwoq†�#“Wvwwwuvrnpuuttuuvvvuuqqtvvwxwu}ƒ0…quwsŽH4  ZwyltsmfVUC=Svzn_jpvvvs€‡
%‚wvw|‹H/�8‡twwy„PVxwzy{xyy}|~{{|z{}w{€{}~y||„ƒ{~€~}€ƒ}~|ƒ~~€‚‚~|ƒ„€|~~‚€€€~|€€€€wwxxwwwzyyyxwywxwwvwuvuuvxtywvvwuyzzxuwxvvwyxyyy{zyyvxvuuuuuvyzzsywvttwxwxssrrqrrrrrqqrrrrrsqqpuqrppruprsqqrnpqqoqqpporqrrpsqsqsssuvuwwuuuussuurrururruqrqpqsuussusrpqourqqrsutuuvurrssrrruqwvuxwuuvuvuuuvxxvvrrrrswtsuuwrvvuwvuuvvruuuuutuuuttuuyuututvqxwyvvuuyruuuwutuvuttttututtuuuurtttrxusxjxrxtxuuvvyyyuuuutuwutuuxxxwuy{ywyywyvuuyvztxxxyywyyxxxvtzuuuztrtyywzwuvvwyvuwxyywyyyszyzxxwvuuyuyxyvvvvvuszvtvuuvqqpvsr„��$’lvvvvuuuvuuvuvuvuuvvuvuuqptuuvu…+„quwt‡C3#%,38@DNL^P;+%��Kއstystuwvv|†„uvr{ˆO���2‡svvy…T$�Y„xxyx}zz}~}~€||z{|~y~~€~{€}€€{~~}|€„ƒ…ƒ‚}‚€‚ƒ„ƒ‚ƒ„€„„„}€|„€€‚€€~€€€€xwvwxvvuuyvwyzwwvwvuvvutvwtwvwvwuw{zusrvvuvuwvwwz{zvvwvuuuutxvsssuvussvvstsrrrsrsssruqqrqqqrpqqqqquqrqqppprppqmmprqnpqrruqqqqqqrtrsssrsuuuvurrurrtrvsrurtqqrrpqqrrqrusppqqvpsurqrtsqursorqupwtutwvutvwvvvvtuttvvuuuqruuszrttvuuswuylvuutuuutuuutuuututrrrxutvvuuyrvuuuusyzyrwrtuuuwwvtutttuuuttuyyyxywvwyuytvwusssttyvuuuxwwtuxuuuuvuuwwwxutuxww{wxyzyxxytzuvuzyzsvvzwvuvv|zvuzyz{yyzwrzzxxxyvvuxsywyuvuzvuuzvuvvuvwyyxuvˆ�1uvvwuvvtvvuuuuutrpqpqptwskruwtrŠ-zqvxt~eW\z€…‡„yt€‘1/T{iwuvtrqsww|‡
ˆvvvz„R��������$ŠruuxT Owzzy{xz{yx|}||}vz~€x€€{{€~{~}}‚€€ƒ~„}€„ƒ„€„„€€€|~~€€€€€~ƒƒ~~€€xyvwwyxxwxxywywwvwtz{|vvvwuuvwuuuvxywusvvtuuvvwvyzvvvvvwuxussurusuuurtuwrtrttsqurrrrssqsrqqqpqrsqrrrqppppurmmqnmrrmnnrrrppqqpqrspoqvrsrtuvturrrrrttuuurprtqrsmqtprrrrtpopqurqrrqqqpppqqqqrqsqqukvvuorrqqruuqqtuvuuuvuvvvzuuutuuwuuvrutuuuuuutuutwzvruttutxtsuutuvtstvxuuuurtvsruutyuutuvuuuxuuryuwwsuuuxvuutvxuyruuuvwuuvxwwvxvxu{uuuuwyyyuuyywyvwxyyyvvuurustzywtuuzuwyvu{zvvwyzwwvyywxyxvyyzvvuuytxtvssvvyyvvzvvvuvwvuu‘urrvwvqpsosrz}…ŠˆŽ‰ˆuTUe|utrrŽ�„qvvrvv|xtsrrrtwwpcƒ)'�K€out{xwy{vvx‡
‡uvwz„W������‹ruwy|_&H‚wwzz|w~}~~{{yz}{||}|€€}€€}‚|‚€€€€‚€€€ƒ„‚„„€€~ƒ€|€€€€~~ƒ€yvvuwzxvyxywxywwwwwtvwxuvvwwwvuvvuuyvwwttuyuvuuvywwuvwwvsxvryuswwwvsrqvursrrsrqsrqvrsqqpppppqqrqrrqqropqrqqppqrrsqqpnpspopsrrrrqpquvssrrutqqrqrrprvuurrqpqwusrrsqqrrsqppqqsrqpqqqprqqpqqqqpruuvvvturqppoppqppoqppy~qtutsytuuututuuuuutuuututstutyvyuuuutuuuruvuutturwvvuuuvvvvutyyyxyuuuuuvzvuttuxxyyyxyxxxwvwuxtuuvvvyyywvuywuywwyxywyxuuwxxxxxuuxxwuuuuvyrvrzywt{yzzyzzuzuvvzzzyzxxvyv{zywzzvvwwynywzwvwyxyxvyvuvt{vvtv‡%� utrqumvolaYX[B;51#S|rwtrŒ	�ƒtvvtwxwyytwvuvvvwm‚"�C€uvtywwuwyvv„€tvwy„W����rwzyxj�Bwx{z{wuw}||}|~yy|€z~|||}~{€€€~€|€€~|€€‚‚‚€‚~|ƒ~~€|~€€…€€€€€€€ƒ~€€wuvvwywxwxwvuywxwwwwuvvvuvwwvvvxuuv{rtttuvuvvvxxwuuuvwwwrwuttuwwvvrrrssrsrrrrsrvrrrsrqppprppprrrrsqprpprpoprqqqrqqqsmorpmspooqqtorupporqruuuuuqqrsrqurprqpqsrssnqrrqrrpqpmnnmmllnqqqmlllklkkllkkllnvuy|……‡†ˆ†ƒ|sfPIbwuuuttutrttsuvptuttuuturtttutpuusuuuuttuuuuttutvvuuutuyuvuqwyxuuuvtvxuyuwvuuywwyuyxyxxuuvwytytvvuuwvzvuuxvwuuuvvrvuvuttwuvyvuttuuvyuzvttuz{wuzyyyzvtvuuuvzyyyyzywvvzyyxyywzvzuuvvzywyzvyzyyuvwvyzupw„/�tuuu†4��������CKqwwq	…rvwwutsuyvuqsuutws„0�����?‰swtzz{vywvu††twwyY���ˆrvyw}c'�<~wz{y}x{z~}|||{y|€}|}|||€ƒ€€}‚}~€€‚€€€€€……„……~~~€€Šƒ~€€€€€€yvvvwyyywxuwusvw|vywwwwutvwwvvxw{wttrrvvutsvxusxruvuwwutswusrrwxssssssqrvrwusrqqqqrspqqqprpqqqpnqqppspqqporpqonnpqssnmqqlmmpporrpqroqpupssssrqrrmqrrssrrpnssssrssqrsrqqpqpqqnlmkkjjjqoqx|t}|ywqtqj]VF@;941 
+-?Bvvvuutttrusuqvsutuuuuprrtttutup|quuutvuuwuuwuutwvustvvuuuutwyxvvuvvvvuuuvyvuxuuztzxxyyuuvxyutuvvvvvuuwvuuwuuvwwvvvxxuzuwvzxzuyrvuvwvuutuwywyu{ywv|vuvzyzv{wzyuyyvvuzwyzyyzxtwyyyy{vxwyyyyzwvv{uyzus4�ŒuvvtŠH>�@„svvqŠ…ruvrtsyyxsuprsuvwr‚0��:Šrstwxwwyuuv’"�†sxvw…_���Šrvzvwl�:‚xyxz{{yz|~}}|~~|y{€}€~€{{}~}‚~„~||€}€€€€€„€€„ƒ€€~|‚„‚€‚~€ƒ}yzvuw|yywxvxvuvvvvw{z{vtsuwxxvvvy{twt}tusuuvvwtywwvwvrrsswsxttuxsvvxusrswsuwrqrsqqsrqrqrnrnrqpnqpqnqrqqporqnmnmmmpppnmqsmpmmmlqrmoloopqpnmpqoqrvrpppnmmmmmmmoqppmlprrqqpljq|pqowuupndWE<4/')��1Evttuqtouqrrsusuruuvsutrrtsvrsvpptuuuutxyyttuusurrssstuytruuyxyuwxyxuuuuvvyvvxyozuywvxwvvuxyuwvvvtuvvvwwvvutuxvyvvvuxvzuvuvuxuytrruzvwwvvyyzyvuuwvvxyzzzzvzxwxwyxxyzwxvxwuzvvvwywyzuvuuuttuyvutuzzuuv|7�Žqvwt†O��?ƒtuurŒˆqrrrrswxvtvpqsvwur~3����3„rvruwwvzuvuŒ
+…uwvv}k������„yvzwxq7|yxxyx{~{zz{xw}~|}|{{|€‚~||‡}~}}}€|€€€€€€ƒ€ƒ€‚ƒ……€ƒƒƒ„‚‚‚„…~€€zxwuvxyvxvvwvwwvwvwvwwvuuvvwyxwvvzvuuuvwwuuvsussvvwsxsssttttsrssrtvxrvwwwussqqsrsrrqqrqqppprqnrpqqlnnpqqqpoppmpnklmmppommnpmmnommmokpnmnpmmlkglpqomppmoqrlont{{uvlhmqqplfR@92+&��Asstvputvrvqsuytuuuustuuursqsrtottustutxmxuuutuuvvwxxwvuuuvtwxztyyyyzyzzzxyvvxyyxxyvvwxyzzxvvvyvxtqvyvvvwwrsvtuyyuyuzuyzwtwxztwwwuuuvwywwvyxzvwzwvzzzzywyyyuvvxxvyywywxvyzyvywvuvyzy{tvuvtvvtuuu{vutv‚:�
+„uuzw†^����:‰uvsu‰$�€qqwvvrvuvuxquuwvur‡2��1‹ruusttvzvvuˆ/€ywtx}l�������ƒuvxyu~!4zywywy{{|||y€~}~€}z}€~||}}}}|z€}€€}~€‚‚ƒ€€€„„~~€€ƒ‚€„……€€€…†€wwxywvuvuuvvwxvwy{zywwuttvuvwxwvuyvvuyyzuuswvuuuvwwsrrrrsusurvtrrtvvvwwwvwqsqrsqqprrrrqppqqrqppqqqmomqlpppolojlmnppqqqoollmoopoommkhgiiukjiuttqhkoopmgVKEA@L92+#%AIlpqlk]:����<xsqqsuvuuustuvuuxuuttsruqsuruqoutusruuyrxutuuuuuuvtuwvuvwvuuvutyutuvwvvvvvwvvvvwyvvuuvxyywzvtwvuurxvwvvwutwtswxyvvuyrvwvuwxzuvyyzuuuuvywwwxvtwywxyzzxyzyzwuuyy{yyyyyyxxy{zvy{wuxxwvvvuutvvttuuutuuuuƒ?�
+tuvv„g�����:ˆtupuƒ0|prrssruvutsquvuvvs‡3���+ŠqsuxsxyyuvrŒ1�€uwszxq	��������‚uwvvv#3y|{}wv{}}}z|}~x~{}~~~}|~|}~€}ƒ|€~~~}€‚‚„€€…€‚ƒƒ…‚ƒ„„„ƒƒ…€†ƒ‚€…~€ƒ…„ƒwyyzwvxwyvwvvwvwvzwvwvttwvutuwvvuxvvwvvyutuvyvyyyxxvuvvustsrwvstwwvvuvsrrwqrrrsqqqsrrqsnqplllqqpmmpmmnmmimojpqpjjkkljjjgjfhhhiiomljda]UU\cXBA?BOallmke;2+@pqokgY-�;{ttutvruuwuuvururutytvruuutuuuuutuqtttrutuuuuuuuvwwzxwuwwvtuuwwyqttuvyywvxusvurtxyvvuuuywywurwtssuvuwyyxttuvxzuyyzuyzvvvwzyzwvxuuwwxvuuwwwvvvzzzw{yzvzyywvuwyzyyzzzy|{zyyy{zyy{wxxyyzvututuuywvuvwuC
zwtvuƒh����8Žpvru4�~musuwqtuvutttvsvsq‰5��-‚puuuszyvuut€3xxwsy~s�������‚uwvyx†&‚ww|vv{{~}}|{~|~~}|€€~}{z{~€€|ƒ}€€€€€€€€ƒ‚…€€…€‚„„ƒ€‚€„…‚~ƒ~}~„vzw|vwxxxywwvvvxz|wwwxvvwwvxusuvuztxvvwzuvwxwuwxxwwxwxuurttrussuvvurwxrrrwsqqwruqsqsqqqmnpkqppopmlkhjljlhhhgglruqvu{ovtsjcc\QWenllj`A8=Wvnmhe1&
6toqkjf��-yqtuuuvuvvtuvuurytrruuruuuytuuruuuqtrtqstuututyttwvuuuvvvvuuryurrstuvutuutsrvvutxxyuwvryutrttttuvuuwywvuvvtvzwtvuuuxzvuvvvwyyvxuswyxwvvuywwvwxyyuwzywzyvvvvvxwxy{{zyy{|zzyy{yxxwxy{yyvuutvwuuyuvxvwv~I�|quuur���3ˆqwvt5�lstvvsssuvtruwttss†8��†gsuuvyvutuu‹5�wqwrv~z	�����~xwzwz€2�"ƒvw|zz{}{|€{z{}{}~{€}}|{€~‚€|‚}‚€€‚‚‚~€~‚„„ƒ‚„‚ƒ…€…†…‚‚„„„„‡ƒ„ƒƒ€„~„‚…wywuuuwxwvwwwuvvz{xwuvwwuvyvttuuwvuvvvywwuuwyvwvvutxrrsrsrssuswvsssqvwrqsrsrrrssrqqppnmlkkkkjhkkhgpcmmwutm|plYDDQFM80+))&.3J^ljklj;",QspnhY:)uopmkv	���	
(06:?K]M>�*|sttrutvvutvuuttttttuuruquusuurxququruqzvuvyuuuurvxxtuuuvwuurvuur}tqrttvuttrvvuutuuuuzryrurtttqwvuuyyxwvxyxzyvvvuyyyyuuwvzuywywvtvxywyuuuuttwywyvxyyy{wywzyzy{y{y{w~y|{zyzzzxyzyyywwvuvvryvvvxuwyvuvzR~qtst|x����!Šrwvv|8slrvvvtrqrtvtuxvsss‡9�z\fpyvprwuvw’:�suvswy{����x|v{xy€4�€wy{|}|}y~€{yz}|}}{~}|{z~€~}~‚|€~€€~ƒƒƒ€„„€€€…ƒ€€€‚„‚€…‡…ƒ„ƒ‚‚xyvwwxwyw|xxwvwx{|xvvuuwuvvwuuuuuvvwtusuttrxvuuuuyswtvrssrstssrtuurruxrrqrrrrsrqpqqpmoryrurprpmpikb_SG<83/%!
+GU}kkkh3	�Rtekfg<�,spqkkn)	�!.49?NGNZgnyx~€|~zv„ŠS$„sttuusuvutuuuusvqstvutusrtuuutuuutsusqwuttywwwttutuuutrrvquruvurrtrqqrqrsurrrrqrttutvsrrvvtuqsuuxxvxvtutwyyzyyvvuyyzzzvywuwzyuvtrtutvxuvsvvywzyxxtyyyxvyxxzzyyz{yxy{|yyzzzxvwzyywuuvuxvttuuyvvvxwuv…Yxruttz��)Œruvuˆ<rlwtsutrqqqpqtvurss‰=�†qaL?Yqytuv‹?
��spvuyu����iuv|wx‡0�www{||~y€€€{„z}{{}|}€€€€ƒ€€~}€}€€~ƒ}€‚~„„„………†€…~ƒ„…€………‚…„€†„„„†€ƒwxwwvxvwwzvxvvwwq{zwvutuvuvvwwvvuuuvtsttuusrutuusswvusssvvvtrrsrsrrsssrqrpqrrqppqome^XTIG@<93-(%
����	6MvmikZ)
++LyXa`bQ<	���/doqkkq1
+jfigjqwyxz‚~{xuvyvnnonoooookdwU„tqruuvuvututyutstttuuttuuryvuttrrrrturvsywzvuutrurwuur|svvvvuusqwvxprrqrrutqwqrrutvqyvvrvutrruvqqpruttuvvvwyuwxuvtuwvvwyvvyuyywuutvszyxwsuvywwyxxxzxyx}vvxzxzz{|yxyxzxyywzstuxyvvuyvuxyvvtuuuuyxyuuw`nvusx��‹rvtu{@�owvrquop}z{kouutrrŠB����:Kyuuwv‡Cusuwxv��izv{wz,†wxx|}|~zy{€zz{~~||z}{z~}y{ƒ|€€~}}€z€€|€€€„~„ƒ„…ƒ„€…~~~…‚†ƒ‚ƒ„ƒƒ„‚€‚‚‚vxwxxywwwzuyu||{{{vwvzz{zzvvvuvtvvvxvutssuuuvwuyuvs|rsrutuuwsrqvuvuvvwrrsrqrqsnpplnb@82O€nlkd&'
:ŽŽs`QY+*!�%jorhko6Szcjzrsopoooolnoooooooppporoohjastrvuutvuustyutywyuuutrrqsuwtttrrtuuutuwyrrtuurtsuvrrrsuvuupuwsqqprtrrssquqqrrrortrqvutrrsrrrtutu|rtttvwtruwtvvxyywvuvv{wuyuuywzvuvtutuvttwywwvxyzyyzyzvvvuuztwyyzxyyxxyy{xyyxwvvvwzuxvuuuuvuuvuuvu}b�jxuutvz������ ‚pqqrzE	`wvtruq\L@9:5MzruorS�C~rrwuE�oyvvvv€
+R|u|y{Š9��…vw{|~{~y||z|€||z{|~~~€~|}~ƒ~€€~}|}~‚y‚}|€‚ƒ„…†‚„…„…ƒƒ‚€€†€ƒ…††‡…~…€„…„€ƒystyvxvxxzwwwz{{u{wzvuvvwyvvvtvvvsxzwvytvtvvwuvyzwsqrtsvxwsqssrrsqssswrqrrsrqsmqqokZ>(-PsomkkA,-*$%-4868898899:A^~qjmphsqglg9�]fkooppolllooqqqljnopnopooooqoin�qrutvpuvuuvvyuuuuuzturvuxsrrrtuqtuuuuruwyvur}rsttsuuvrvuuuututsqvvttwsurrrqqurrrrtsqvutruqrrvotuvqquwtvttrustvutvuzxwuvxyxytusstuuvtwvstvszuuv{vvvvvyxzx~yzuzwvwzxzzzzzyzzzy{vwxvuurtxwwyvvwyvvvuuv„n^vtvtw…qqrqvL�`{uvtr‡*<‚ustr‡P��7ˆrs{wŠKg|vuwww$�
+'2Qxv{zy5
+�…zs|}zz|y{|z|€z{~yz}€€|~~~}{}~|{|{|~}}~}}€€€„„ƒƒ„ƒ€€€‚……†……‚‚€€ƒ……yyxxwxtxy||}ywx{zzz{wwwwxywvuvvwutwzuuuvwuswvwwyxwwwuvsvtsrrstssssssswtqrssuqrqqqpi`;�	���1PsqqmfVPRcepwtlozŒB>zsibYr]rrjlg?�Tnnopnnoolkopopmklooomlopmmpqoin�spuupqprtstuxvututttutttrturrrtuqrttuutuwuusssruzutruuuvutvuttsqsuuuvttusrsrqrrrqruusqrrruqpqprusvsqtqswqrsvquywwvuyywuvtxvxssuutvtttswusuuuuvxvwvvyyyxyy|xwwz{yxwwyuxzzyyyzxyuwzuzzzyzxxvyuutwvxuvu{o�Uztvtx€„|quq|N��i{ttuq‘H	%…tutuƒP�2…su{w†Lk|utzsA(��&)Ga}v{zy‹<
+�	€vu{|†||{}|}|~}}{zz|{z~y~}€|€}€€„€€‚~ƒ~€‚‚€…‚„…†„„‚‚ˆ…„ˆ„ƒƒ€€ƒƒ„…y||xoyuwyz|{wxy|vwxxwv{z{{ww{wyvuwyxtuwwyvtuwvyxuxwxwvrvsttstsrqsrsrstvrrrqqrrqqehhi:
+#('1499=JgME�1OmooqnmoolrmnnnjczT--?skngbkZzqkkiF�A€pnoopplooppollkjhhkomvojlpopgsbtuvuvpspuuutuqtuysrtutttrqstrtuqsrttvuwuuutturvytuwxwuvuvuyttstrttssttvusoqqrrrrusuuuuvqtqvquvvvvsttwtyqrrvtwvxvuvzyvuvtyvzuqtwuvwvtswvuyzzyyvtwzyyyyyzyz{{zzzyxvvywyyzzyvyxzyyvtwzy{{zxzwurywwuvtvqt�Y†uvux���
+ƒqrtruYUƒqwqqŽ!„qtuvG1‡rvuv|N_zuwvv€@0CAGOVR^elamtvsrolruy}{z‹<}xvz|||{{}}}}{}}€{z|}|y|~}€€|€€€{~€|€€€}„~€€‚€ƒ‚„……„†‚„ƒ†„„„ˆƒƒ…„…ƒ‚„††…ƒxwzzyztz||{yvxy{xyyywvyzz{tvuuwvuxxyszwywvuttvwxvzuvuuuwrttvvvqwssrwsssrrrrqrspqqpga<!,0:<BGNY[U]eqoq|xtjhMA)LqonqqpqopopnmmkjiX>{glfu]	S~pkliQ�<upoppos…ƒƒ€~wyslcXI@4Vkmooiznntusrqqotwutsrtustuvuusrstrutrsqrtrrqruututuutvyrtqtuquuutvsssrqsquvtosvqrqrsqqrrtqqurvtrsurroqpsttttuttstrsvuvyvwwyvvutwuvuuqvrttuvwxuuurzywyyyzzvxyzzywwwzzzyxwwwwvwzzwyyzywv{rwzyyxzzyyutvyutsqv{w�a‚vuvu}�
+~oqqrv`�Y~qupqˆ!‰qwsw{U���/†qryu|Y�Zvwyvryƒƒ‰„…}ƒ„…~ˆ„Љ…‚ƒyvyzzz‡?rvw{|zz}}}}|}zzz{~}~}~}€~}z€|~~€€€„€€€ƒ‚„€…‚‚………ƒˆ€ƒƒ††‰ƒˆƒ…„ƒ‚„…†……„ƒ„ywwwwwvxwwwx|yx{vxzxwwzwvvuvvtvvvvuwrxxwwxzuwuuyvvssvvvvrrssrussrrsxsrrqrqrqsqqqpliaJ	,<O]Y[cjonusomjpmhrpwspnpomic[7�Jfpmmlmmmjlpvkplld^ 9habbZX!L€nlgo^�:wooooj;9?6/"	/7xopnj|lntrqqp|xyvurwttruuwvrurqttuuuotqrtrruruuuuvvvvvvuttttttqqsvuvtrpsputsqrqrsuuuuuqssvossvrtuurqrrnqttrtuyutrtqyuvvwvwy{vutzxvq|pywvptvvvvuurzywwyyyyxvyxzyywyyzxtytzwwyyyxwxzyyuuuuu|vzxyvuywtusuvytyq�Q‰ptuuƒ~oqturj��R}tvqr‰+}qwrv‚^�(+245Dl�#‹qsvuy^Ovvvvuvwzz{zzxwwvvvrruww{zwzzywyŽ?ryw|~}{yyz|}}zyy€~}}||~€{{|z|€}|€€~€ƒ‚€€€€€„…ƒ‚‚€‚‡ˆ‡ƒ‚……„…‡…„‡……ƒvvwwvvxxxwvz{{|vwxwwxwwwwtvwxvwvwwxrxvvvwvssvwxvvvxwvuuvwtsrwvvuvswrsqrrrrprrrrmhi\G
+
+Lastnovwoppoooopnonmljjlmmllgi?�
+ HinmmmlnmmllkkollfX8
+X}zjl\Mvoldkd�7knnnkk+����!2ƒnjmkwdvuqrpopttuutrstqttwutuurrrrrrqpqrtrttrvuttuvvuutsurqqtrrrstuuuurrrtpuvsqrqurrtrrrrrrstuutstsprqoqotqrvtussstywvuvtwvvuuszusqqqvvvuvvvsuuvtwzyyuvxxywxxvxvvwyyyyzz{vvxxy{wyyvywvywwuuyyuuvyvtv{vzwuyu�Ouuvu…�qquvor��G}uuqs,†qwstƒcB‹Œ†™‚$!‡qtuv~eP~uuztwuywuwzxwvvuvwvxzzzyyvuwzzw|<vvvxyyy|}~yz}~~xxyyy}}|||€~{€€{€~|~~€}‚~€ƒ€ƒ€€‚€ƒ……„………†‚†ƒ„„„ƒ„…†……†……„…†…|wvwwwvx{y{wxywwwz{xww|xxutuyvwwuuywsrvvvwxxzyxwvvwwwwwwruvvsuwvssssrrsssssqrqmkmihZV
+Obcoooooooooppqrrrrrqnmmmmllr`MJjnlmlkfpsvhrkrnlk`NB;9?OE820%Cypohng�1ooooqh5
++nlol{
+�`vtoprorswqurrruqttyuwuwrur|rtqrrutrtvwvuuqrqwvurvrvtsqvrrqvsstwqtttuvuvusquprrrqvuuustvuttvrqqupsrtutqtuxwzyxxyuvvxvvuwuyyyqvvvuvvwuvquuvtvxzxxyyyxxxxywwwwuzvzyyyyxzzzyxyyyxxyyyxyywvwwyyxxxvwyyvyv€�Buytv|Fƒqqtvox�A†uuqr3	„pvrq‡eUs[pqxo+ˆqsuw{p�@qruuwvwwvvvwvwxvwxvxxvywvyyz~qp:wuwvwyw{}z||||}{zzz|}~{{{z|}€~~€€|…€€€}€€€€€€€‚€ƒ€€ƒ…„‡†…ƒ„…„ƒ…ƒ‡……†‡††„ˆ‡„ƒwx{|xxy{zvvwxxwywzwwwwwwv{vvwvwwsvvysurwvswwxtwuuvwvvwwwvuvvusvvrsrsrouvrrqsrpqrljh`Y�
+!CtioopneonpqpomoooopopllmmlooaKCroolk`QJKB3Vfppqqkgflq~uAxqmlki�0rno_kc/���!‚opomz_ttttporouttrrsttrqttuvvrrrrsttrrrqqtrrrrrtrptuutrqtvsqqrrssruuuorquuurttsqqrrtrqtotstsrsqttuqtuqrruvutuvvtqqpquuumwwvtuuwuusuvuvwuwvvrrrvuvxxswtyzxxxoyvuuvvzyvvzxyz{{yzzzzzyyyywyvwwzzyuuxyyuvvywvv†@†tttwI ��8rorvqoz>„tuuq3�…orrq„qIyhrrv~3Šrrxvwu�<vjuvvxyyy|wuturqrsr{t†}|{‚w{z‚mly7lys{w}w|{z|||€~€{z|~~~|{|~~~€€}}}€€€€€€€}€€€€€„„€€ƒ……‚„„„‚„†………†…‰…„†‡†††„„…|xuvy{{{{yuvwxwwxwuv|w|vuxvw{wwwvwwwuuswwsuuzxxsuvwwtuuvvuwxwssrrrrrrswwrrrqrqrqlljaV
+
+!Appppoooommljhhhporqkstwtlnll`[�@qomlmL?/	2;blnoopqpkfew%�B|qmor^	.llonqc.����-ypmom|!Mwrlkooqtwssqrrtqupuutuur|tssstuqqovrrpuqrrutttuturutsqqqrtwqvvuo|ourtqsqsqsrurssutrqtttsusstrtvtrsvuvvuutswququuvvxwwuvuyutrutwwzrwvxxywwwyyyyyuzyxyz|xvxvyz{xvy{wzz{zwwywz{{yzwxvyww{zyyyxxyxxxyxyuˆ>Štvuvn7&/8:>BCPXpvw~…„‚…yprvrqtz�;}srvr‰7�ƒqnvs€sC|ruuy’4rqwww~�7kg|ynqvpvy|w~‚‡€{nocX_cNF@<93,&	rxr{yzw|z{~}{|~}~~~~|z}~~~~|~}~~ƒ€|~|ƒ€€€€€€~ƒƒ…„…†„„ƒ‚ƒ‡‡…‰‡…††„…ƒ„…††ƒ€|zxxw{{|zyywvwwvwwvwuuwxuzwz{zxvuvvwwxwywuvwwyvtrrwwusuvuuvvtsrvrvsqrwuvrvqvuuqrlmibS
+!@pmooojfdolsqrigQEDC<:43VqmnlbX;ummlgQ1$5pllpprrpmkin0"Bqrmohi
++eqnnlr3����€pmmo‚.�Bzsmppostuspprqsovtupruuutsttttrvrpqqrturqrusutvvttuussqrrtusssspurrtrtqqqqrturuvuuqoutrqtustrtuutxvvvvvvstrsurutxwuvwwwuuutttsvyvtsrwwyxyovtrtutywxyyzwuuuvyxywwzv{{{yxywvzwvvvvwyyzvywtzyyyyxyvutyt†
?‰twuwpy„‚Š‹‰†Œ„†ytqqqtuurquvtqqt|�9qtvrŽ8��‚unqv}}:rrvy9‹xrwwt~��>|mksd^ROH=:92* ��b{sxz}|~|~}|{z|z|~}}~~~~~||€€~|€€~~‚ƒ‚€€€‚€ƒƒ„„…„„…„…„‰ˆ‰ˆ†‰ˆ…ˆ…††…„‡ˆƒƒ‰|zxwwuvwwuzzxvwx{zyvwuwxuvwxuzwvvvuuwwwxwvvwxxxutuxxysvvqsrstrrrrrursrrrrqquqrpqlmjcX
+<nmnmg`K=5%&%1DqmllbV�:xmomgo',Xoorqppqqqkk9�>6mponic*^uonlk9��zxlmmƒ2A}qppqoustsqqpotpvtwuysvruqvvttrqtrtqqsvuwuttrpvvyvqrsstqwrvqrrtpuuwwvtvqvqttvqwvurqovqqqsqqqrquutsuwtuvusrtsuruuxxxxyyxqsuwrtqvvvuvwwuxxxxyrzyywxwyxyzzvvvyyy{zx{z|{}yxxxw{{}||w{|yxwwyyz{{xxxyywsyuƒ8‰uxxvtwvuttsuuuuuuuuutuutuwttqpt~�4quvs‹;��}qpqvx8…srvv9ƒruwwr†�
+awvx|z||~}|{zz~~~|}{{}}}~€}~€€~|€}}}€€€€|z|~€ƒ€€ƒ„„ƒ………†Š‰ˆ…ˆ„…‡……†……‡‰ˆ…†wywxtwwwuuuwwvvxvvyuvuvwvwwwryxzrutvvvvzwvvvvyxvuwyoxsuvuurwrurvrqussrqrrrruqsqqjokfW"�:qlnjbO3'@ummld\	�8woqkfs�Q…gkloppppmeA��;moopla�"Q}nolr<�����msmll|5�9€rqoqoptpptqopqrppvwuqvqpposrrrtqsqsqssstvuvptvvvwrrrsqqsrrtrqqqqrqpqttqutttsrqqrttqqqqurrrqqrwrqvsvrvvussstusqusuvvwtrsuuuusqutvvvvuuvvwwyuvvvwvwvyyzzxxzy{yzyyxyyzyywyvx{uvyzzwvwxvvxxuuvuzvuxvuwt‰)7Štvqtyuxvyyyvvuttqrtuvuttuvutttsl4‡otur‹=�~uvvxs€6…srvvŠ=‚rsvvt�
+Pzwy{}||{|||||{}~~~|{}}}~~~€~~€€ƒ€€€€€€ƒƒ€…}~€‚„ƒ„†ˆˆ‰ˆ‰‰†……ˆ†ˆ„†ƒ…ˆ„„ˆxwwwqwywwuvvwvuwvt{uutyv{vwvtuvuvuuvwvuuwwwwswxxwxzyxrrtwsrwsssrssuurqrqvwwsqrrqlkkdX�9imohaH&<nqnldb6brrlgo�!LwqnqlpppkgU5?F@BDQP[hiktpomok"�LxokloI�gnnly:
7ƒornsoopqtuuupttttttuuutsssoqrstqqwrsrqppooqtsvvsvqorptttqtqqprqsqrqrrtpvtturqqqttwsuttswrqsvrvuqqrvqvprrturvurruuwvuuuvuuuuvtwqwuvtyuvvvuyyxuvvvvvvyzzv{yyzz{}wvvzwvww{{{zvxuttsvy{wzwywzu{yyvuuwuŠ2twvttuttvvvvuttvtvuvvustttqpmh|b0Šowrsz?vquuvry3„urvw|A…ruvvr„
""Lzxx|}}|{{|{}}z~~~}~|}{|~}~~~~~~~~~}|z{|€€‚‚‚€€‚‚~„ƒ€ƒ…‡‡ˆ‡‰Šˆ‡……†……„…ˆˆ‡……wwwysxvvvz{|vwuwvtzvuvuvvvwxtwwwvvswssvuttsusuwvwyvwwsvwwsrvvwsvruwwwurrrrqqqsqqpoke^'�7lmqhkE:mmmle_�0krtmjl&SVCCB@`oqoponqtqrwyw~{xqqpppjko,��IqjmiU���ixponvC4}ormrtpqrrrtrrrtuptquvvsvtttttrqrqwpqqqqrtqttutuuustrqtvtrturqrvusqsrttrtuuvutuuttttuvvqtttvutsuurrxuutruutquvuvvvvvuuuwvrvwwtstttqtuwvvvuuvuuvvuustzywvyyxyzzyzxxyvwywvyyzvvyy{zyxxwyxxzwvuqrwtuxwu‡01Œotvwwvvuuuurrrtqqptsru}ˆ‡‹ˆŠ›Z$ŒppquzAvpuuxt2„uttwzE~rutuu€?Puvyyx||yyy{|||~z|}{~|€~~~~€|{€|€€‚€€€~~Š‚„‚ƒ‚ƒ……‹††‡‡‡‡†…†‰‰‰…І††‰yvzyuwwwyxxwuvuwxr{uvvuvvusvuxyvvvvwvsxusuuttruuvvvwstvuvtsssuswsvwwwvwvvsqqusqpppkca,9grmhpE9msmme`-ourokm)#;Upppppmlnqqqqqoqppqtqrnlg5Hploj[���]nmnxL0ƒorrppqqpqtqrrqtvosptpvtwqrtssqqtqwqqpvpqtsqqqssvuurvutuvqutvtquvsrsuutrsuuuvtttwwwwxvwuuuwvutuvurqvxvqruuuttvvuvtssuuuuxxwvwvwsvuvutuwxxuwwzvvvvwyu{xyxxwyx{{zzywyv}|zyyyyvvxz|zvzw{zzwzxzzwxwvwxxuˆ2,™ppwtwrv~}|‡…„„€wulijOA;92$pupvvCvpuswy1}xrsvz@~suuvv,�$! &238:=>ACP[fvvyzy|{z{y|}~~~~~~~€z{~}~{|€~}|y~€€€€€~€~€€‚…„ƒƒ†Š‡‰‰‰Šˆ‡†……‡†‡†……†…wwxxwwvwwzuvvwutstyutzuvvvsuuzwxrsswursvtvtxuxvvvvvwsvwxvwvuuwsvrsrtsquuvvprrrppopjcb-�4[rlirL1lpmlh`,hqslkf."Kppopoqprqqqpqrpprtrqrpli7D~pplig��_xmmlsZ-zopqrtrpotqqrqptvoporstpprqsqvrrrpqpqoqsqtrrrrtstutrwytrvuurstrstttttuvxuurqtuttwwvvuuuyxuvyuuttuppvtvutvwtruvvttuuvuuwrwwvvvuwrywwwvwwyuuvxyutuwywwxtwwyuzzyyyzwwwvyvyyzyyzvxwywyyxxyyyyxwxvzwwyyxx…4%€šˆpf`cIA<82/†pqqt|Lvsurvt|��&„lsutvE[~vyvvu@�.-79;@DJVP\`lqtzy‚‰‹Œ‘Œy{z||{||||x}|~~~~}z{}~~|{}}~{€~}}€ƒ}}||}€€‚}~ˆ†€€‚‚‡‰Š‹‹ˆˆ‰…ˆ†…††ˆ……‡‰‰‡wvyywwvwwvuwwvvsvtzuuzvvvuvvuwyxrtttvsrswutuwwwvvwssrrsvxvwwwvvtsrssrqsuuuqpqqpokkkci03ZvlkjU��7lymmhc/^mrlig3
+Orkoooplpsqlqqqqooppqponk:�B|pplfj���T|ljlsW,xoqqrpqoopqrtsqqvppqtprrrqpppquurpvprrurrtvvvrttqqssyutqwutrrsuuvvwwuuvvuuuuuuwvuwwvuuwwywwxutwvwpqtruwsrvttuurvyyzvuuzwwvuuwuuwxvvuvvvyvuwxvuzwwvwwyyxtxxz|{wvxxzzxzvyzvuuxwx{yyzyvyxywywwwwwvvyyyuŠ5ˆqqruuS�ksurtr#‚fmts‰N:(TvwywyoS?6(6;>BJNKVcfhtvz€{syqx~€~{†p|zuzwvwwwwvwxvxz|}x{}{||}|y}|~~~~~}~~}~~~~~}}~|z~€~||{€€}{}~ƒ‚ƒ~ƒ……ˆ‰ˆˆ‡‰ˆ„‡‡‰ˆ†…†ˆ‰‰†…wvyyvwwxwvvzwtuuuutttztvuuvvuuwyruvvvwruuttvwwvuxwrwsssxywvtssrrrtrrqsrrrsqrqqqpoplee30WymjjR&��.esmpid%dqrlkg3�`pbipoplpqpppozy|suorqqmn=�<zqpjgo��PynknuY�+mtrqptqumqqqputqqqqpurqrqqqtqqtusqpqrrpruttutsututtuvtsrvuutrtuqppuuvvvwutuuvvuuurrrsuvvwyxxtuttvqqqquuqrvuttttuwvuuuttuvvuuwvutuyvswyuyuwuwwwwyuuvyyuvuxyytvzvwyzyyvvyyvvvzyzyzwyyxxxwwwxywvxvzyyxvˆ9„rstuvU��qrurrq‚E
+n…ƒs}ƒA!-Aevwxxxwy{††Š‰†ˆ„€„~€}‡y{{{{{€vxyzyzz{z{zzuyz{{|xwx{w}{|||z|{|}w~~|}|€|~}~~}€}}|~|‚z~||ƒ€€~|}~ƒ|~‚…}„~€€„ƒƒ‚…ƒ…‡ˆŠ‡‰ˆ‡ˆˆˆŠ„‰ƒŠˆŠ†…vvvuvvwxwwwvwtuuvuuutttvyuyz{wswwtxwssuvvsvsuvyuxvrtturuwtssvrrrrrvrsuwqsrwrrqqooplfb5/Uymje_&���,[rpphf(cpookn2���>Piumwslooplk]SQLKSboqppgH9uwokgr��C}lkor_�jtrqqprqprrpsqttspsousvvuqsrqotuvrsssrvtwsvvttvtvvqtytqsvuuturtuvrrsttwwurvuyyywwtqqwuuuuuvtuuvtuqyvuttssrsuyxyxxvwvutrwwwwwvtyuuyupwyvuuuuvywvvyyzyxvwxyyztvxwyzxwzyvyxvwyzyxx{vwzyyyyxwyzyyxw|yvxx„:O}pvuvv_��eztqqqr8)??BFTB8/1:¡šŠ†…†yvwwwuxxtrvwxwy{xwzzzyyyywwusvvwwxyzzxwuuvwwyzz{wwyxwxw{{zxxx{x}y~xx{{z}|}~~~~z~~€}~€~~{}~||~~}€€~€€~„€~~„ƒ‚„„ŠŠŠˆˆ‰‡‡ˆ‡†„ˆ„ˆ‰‰…†wwtvvvwxwxvzwvuvxxvwwyuxwvwxxxwxvswywuvxvsvwtsrtvuvxvttutsrvvsrurqrurvusqrqrqrpqmpkhc8"Tvqgc]-�������.kmrohi/&]ompko8���B\SDA >lpprmf+5 
+UwppoqK	4xppmju�C}nnorc�bxqpoorpooqqqruwrrttuttqrtsqrvquvsrqttutuvtquwttuwwwvutvwvsrstssturrrrvwurqquxyvwwtruvqrruvqvvutrrtvvvrrprrurrvvustvuwuyutvvwuyvwyuqvwvwuvywwxvwzvvwvvwwwxvvvxwzzzyzyvywyyxzxyy{vzzzyzzzyzwwvyz{wzxy€>
„puuwxe��cwvvwqp{‹“†ƒ„
'?™epwvwvxvwwxwxxyvyyzwwvuw{yywwvxyzwvuvvtsrvvvzz{zzywvwzyz{y}{|{{{x{z|~~w~}|}|~|~~|}|~~|~€€}„€|€„}„……‚€„„‰‰‰‰ˆ‰‰‡‹‡ˆ‰ŠˆŠ‰‰‰ˆxutuwwvvuvutvwuwwvuvzwuvvuvvyyutuuwxywwuuuwxsrtswvwwwyxwttruvrwsrqrrrqsqqrqrwqnqlpmgc8Qyqjec.�������$amqqhk/Qtpmjq9���$7/lpkqki4
+6L}pppjW5{pooit
Aƒnlmob\{rqqrqppkqptrroqtsstttortsstrrturrpvswutvvtqvutuwpqttuwwuuuutvsquutrruuuturpwzuttwtuuurrrwwuvuuvuutwvuuwusrrrttuvquwypruvvuwtzvuuvywuwzuuzwwzvuzzyyyuwvyzwwvwz|yyzzywxwz|zvyyzyyzz{yyyxvvwvvxyywzyz‰D	����
+.39:;@IIZSQm‡quuwpm�^zuvussvvvtnzx*8mszwvvyyzvvwvzywutrrrrrvutwyyyzuvxxvuvvwuvuurtuvywyskutr€|iovw|||y{~}~|x}~}}}||~~z}~~}~~~~{}~{|~€€}€~€‚}}‚‚‚†‡ˆˆˆ‰ˆŠŠ‡‰†Š‡‡‰Š‰‰ˆˆwyvwvwvvx{w{vuvwwxwxxxwvuuuvwyvsryuuyxvrvwvwvwurvwvwwwxxuuvsusvrqsrssrqqqrpqsupplomj_B�Qopied1����glqohg2Ttqnkq?�7lomrkl1K}pqokY+soqpkz�C{ooojrQ…qrrrqqqpqosrqrputuutrruvrruvutsusrqsvvvvustutvvwqutxuustuvwtqruvwwuuvquuuutwywtqutuqtuqruuuvuwwwurvwwwwxsrrssutupsuyuvuwuuuuyuvxysvwvvuuyyyywzxoyvyuvuyywzvwyzy|yyyzyx{wvuyyz{yxw{y{yxvzyyvxyzz{zz‚Q,
038?DQSckzxx~…‰‹ˆŠ‰ŽŒ„†‚yutuuw{v��]ysuqsvvuurqu
5ruwxxxxxxvxwwvvyzuwvuuuuvvyzzz{wu{†‡Š„Œ‰Œƒ„xwzrxmjg_OMA?AGO{ty{||z{}|||{|||}||{|z}}€~~~|€ƒ|{€„|}€€€€ƒƒ‚„€ƒ‚„…‡†Š‰Š‰ŒŠ‰Š‰Š‰ˆˆ‰‡„‰†z|tvwxvvvzwywwwwsywyuzvvxuuuwwyurrrs{wxwywvvvvwwwxsstuvvxwuuvrurwtssqrwrrppqpprplpmg]@�Qtpiee2��alqmgv3XtpmjtH�7copllf+�Hqpomb�"msnml{ 7	#4;HXvpppjuWzpqrqqpppqqqqqpruquvsrrtqrsvvrtsstqrsvssqsqutuuvvtvuuvtturvwrrtvvswxvwrutrsuvru}quvwouurtutuvuxwuqpwvvvwurqvsrxupqquyuuuuwuywvvrxxvutruvtvwyvwxwuzxzzzyywvwxw{zyyyyxvvy{|{v{zyzzwyxy{zvvzyyvxyyxx{yy\49:>NVbeyw€€ƒ‚…‡…ˆ†…†ƒƒqqqqppnpqtqtuvvutsssswuz��\zovputrtutqp„9‹uxwvwxz{xwwy||‚…y{}€~‰€wvzyzz|cTMG?;72&."'$.8…rw|}~~||}~}||x}{}{|{~~}z}z}~|~y~~~~~}|€~||}}~€€€€€€…„‡ˆŠ‰‰‰‰ˆ‡ˆˆ‡‹ˆ‡„ˆ‰„‰…z}uuuwuuvyvvw{vwrywxuyuyvvuyvuwytustzzzxyvuvusrtvyswsttuuwwwuvuvwwrtqruqqqrsqppqqqmj^PPspgfe2��Rornin5LsplkoK9hnokln0Bqqojj�trnplu6;<DDLXimtpx{~|kjlooojs$
J~rqrssqptrpqrrqqvrrssrtrrruvvutrrqvuuwsqrrrssrsuusuuuuttuuutrruuvtvvrpqusqruvrrrrsrrqquruuvuxsuuuqqtxwrvrrrsuuutqsvsxtvwwutwwwzrvvvtuuvuuwywxyzswwnywyywvxvxwvwyyyzyvw|yyvu{{zzwwwywwzvvzy{vxwwvxyzwu‹‡„Š‰‘‚…|ytpqxyƒvvvuuuuuuvttuuuuvvprrttuussupqqtqvldkkqrqrqruypj
+@}uwvvywwvxwwwgfpcYLMA<32�RovyzzS -$„rz|}~€~~}}}~y~|}y}|}~y~z€€~€y}}{|z€}ƒ}€ƒ€€ƒ„€„ƒ„…†ˆŒ‰ˆˆŒˆŒ‰‰ˆ‹ˆ‰„…‰‡…ˆ{{uwtsttwz{|z{vwsrtswxutttuvutxxutsvyxswyxywrrsswtttsssrsuwvrwqvwvssrrsprtsrrrmmmmojiR#Orpjgc4
Qsplhp9�Ivpmiu?��1-toqlou6?poohp�mlopoojjmomyumjkklmnnppquulrmkz.G|tpururprrptqtsrtvtrqvsutsuuuvrrqruvuwwwvwvsrqqqqruwuuutuutrrutuuyturunurrqrussuqutqpppqtuuuxstutqqqtwuuruvwuusstuutuuuvvuswvyusuuuuuuuxuvtuvvvrxwwzwywxyzyywyyywwvvwvy{zxxyz{{}wwwzyyuy{yzvwzu€v{yxvywxvwutssuxuutrtutuvuuuuywutttutttrrurqruttqqqqppplfkA`hstsuutxu|•¬<-:Vtvwwwwwwwvvw€UAutwwyˆP*
†r{|z{xw}~|yyxy}~x{z|~}|zz~zyzzzz}{|€€€€~€€{{|€‚€‚…‰Œ‹ˆ‡Œ‰Š‹Šˆ…‰Œˆ‡‰‰‹Šzzwwsyu{uyz{xwxwwwwwwzutwyxwwwwxwytvvxrwxruxvvtrwvvtrrrstsvvrwuvvwwwrsqqqqstprnpmrojeR�#Olphhi;*Rrokhk;�IupoktG(�%/9*7foqpos88zqpoju���llpooqqppnopqpomnoppqqqrrpooog{/@~tqpqqtttrqrruvssuutrqrrtuxvqqrrvuutuwvsstuurrsuwvuvvtvuuvwuuvxwuurqqqqprrsrusrqruutrrqsuvyuxuwtrsvrrqprsuvurqrrutuuuuuyxvuvvuuvuvxvuvvttvsvuvxwxuutuxvyzywwwzyzwvvvwvyxyvxy{zzyyywyyyuyyy{wxzwwyvxxyyywuuuuvvyyzxyvuvuvztutuvuuyvutuuurqlemuuvrrrrrx{†mcj�;og`m_XCD:80eˆƒˆŒ}swurxwvwwwwy†K/,}swvwƒQ��������#‡r{||{|{|}zwvw|}}|~~~~z~|~€}{|€€€€ƒ„……€€‚ƒ‡‰Œ‰‹‹ŠŒ‹Š‰‰ŠŒ‹ˆ‰Š‹Šz||utytzwvvvwwyzzwmwwwtwxtsv{xwxy|tvywswwxtsvwvrwwurxtsuvtsvsxuvvwrssqrqurqqppqonqpjdN�&Lpmiid@��&<MrlmimA��D|mqlzZ92@F^A
+rjov{rooqqofB7yqpqkw
+�itopnqopolmklomlnnokmoopppmmoew3>tuturtutrrqrtvutqtsuqurtuxwyqwtutttutwvuuvvyrutuwqqruuwuvwuxuvvwttuxvwvwuutwvstsruuuqvvuuwwwyvwurvtrrssruvvsrrqquuuuuuuyyyuwtruvvvvwwywuuwwvuuuywwwwqzzzxyzzw{zzvwwxvwxvyvvxy{zyw}wyyxuzw{|zy{|zwxv{yyyzyyxwvvrqtyxwuyxyytvzyuwuqqqomnqyw‡‡€ntuorupe`n`ZQ;gsqzuqrrxvwyw{xzwwwŽDsxxxs†U
+����
Awv|}}w{|yx{|z}|}||{~~}}~~~}~€€~|}€€~}|€€ƒ„„‚€€~~„ƒ‡‰‡ˆ‹ŠŠŠ‰ŒŒŠ‡‰ˆ‹Œ‰z{vvv{txvuxzwwvwxwxzvvvywuvxzzz|xxyyxvsyxxuuvxvswvwttuuvuxswruuvvxpsvuqquqqvssrrmnpjdF�LpnhimJ1
+
���,PsllhtR�Awmokpku…vt}["p^gprrppqrlkE�.vpppkq�
+kfmnpnkkjllknnnoonnooknkjkkiiŒ2:€sprurrrrrtruusqrrqtttuuuvwvqyttwrsuuwwvuvwuqvwwwrusuvvvwvwvvuuutvvxiunvuuuuuuwuutuuvuuuqyuvxvwurursrruuxvwuuvywwvwvvuvxvuuwuvwwwutuwyyuyyywwuuvvwvvszvvvyyywwzzzwxy|zwwzvvvxyyxw|yxxvuyyzyy{zyvuyyxxxwvvwyuvvvwwvrwuwyvvszyyy|Šƒ†‚wqj]KC@G]qutvuyJ)xoquvwwuwvwuvzxwyvxŽBzpmha*�����Uvx}||zxwxxyz{|}~{{~~~}||~~€}}}~€ƒ~Œ|€~„ƒ€€~„„„…‡†‰‰‰‹‹Š‹‰Šˆ‹‰ˆŠ‹‹‹wzxww{vuuuzyzuuuwvzzvvwxuvyywyuwwwwxxwsrruvvwwwsvvvvttuuvwrrrrrvvxruvvutvrqquqqqmpqkaN�#LonhmrQ9##026;?CG]Z[TUcilmklhtM>xlppqqpomi`a)�XokpoopoqroiZ�'upmqlt(l`hooomkkljjiiimlqtw~…‡†ƒ€uujd?,�6trrsqrvsustuwwwuutvvvsutxtvqzuuurrsuwuwwwvuqzwwvtuwttuutuuuuxuutuuyyywwvuuvrruwtstyvrrvwzuywwyzsvwwryxvxvvwvvvvwvtruuuyvuwwwxvyyvuvwuxuyywwwywwwvuuvyxwxyyzwwwzzwyxz{zyxywvxwy{{{vyxxtzz{zxxzz|zzzyxƒv‚{}„‡‰…‰oyvyxxvtzyxy}-OwsuvvA�wuwrruvrvvxxvxwvvwwŽ9.���^{‚†’P(#��€sdeypvz|wz}{wz}yy}|}€~||~}|~}}||}€€|€{{~}€}~€ƒ€‚€€€…‚}~ƒˆ‡‡ˆ‰ŒŒ‘’Ž‹Žˆ‹‹ŠŒŒŒvxu{w~w{uvyyzvvzwww|wyyzuyyyvxywuwwwxxsuuvtxwwvtrsvvvvvuwwwvvuuvuwrxuqsvrtuuqqppmplmd\	Shnhmi]]qhrspvxqsurwxtqommllktD�<xlprrrqqolae*�&Qyenolpppuofa�|ooqmv*coitƒ‚‡‚€}}wypif^XU?730*}trqsqtrtrrqtuuvuuuuvuuutqswrvutrqruvvwyyvvvuwrvusvwwxztwuwwvvvvttwvvuuvsrvvsuwvrsuuurqwwuuvxvyurvvtqvwwxvwwwuvwwsuuuuuwxuwyywvuuuwuuwxyywyvzywwwuzttynvvyyyxwwwwv{xyyyywxvvxw{zzwxxyyuywvvvvzyyzyyznf__\GB:7('Qqyvvxxxxyxuw†G 
>Juuyvˆ=nqvsyvvvvvwvvwxvwyy~F-
��'*<AYYXRKAEUjlzƒ~N��€‡‰‚{|||z{|~|{|~~~}|}}|€|~}€€~}~~…~€„€€‚€€€€„‚‡…†ˆ‹ŽŽ’“ˆŽ‹Œ‹‹‰Œvwwwwvxzwvyx{wuuuruyvwy{vtvyvyyvuwwwwxuuwwssuwwxwwxxvwwuwwrqsvrsvvrsvqssvsvrppppppkmea	EekjiikijlllkllmmpnmlmlllmlljtA;xnooqqqqplfu0!)4R{Zipppoqrnfd�!qpqqlx-	?laC740-'����(|xqqsrqprurqoqqurrttruttrupwqvsuruquuvvqpqvxuwvusvuxvuuvvwtuuvuwtttuuyturrturvuwwvuruvuuwvuvwwwupwvuuuuutvvwwwwvupsuuwwwxxxxywuvvvvxxwwxyywwuuwwvuvvwyvyxyzzyywyyxyy{zzzvyvywy|xxyxxxzvwvyvzzyy{zzwxv=vwvuvyztwyvxŠ?#
G‚uuyvx69WtusvvuvwvvwvvvwzswydRNRbw|y‡w|u];6`ptplmdh‡guwvwwwy{{{|{{}||{|€}|{|}}}~{}}|{||~}|~~€~€ƒ€‚„€|}{€‚€€…€„…‡ŠŠŽ‹‹Š‹ˆŒ‰‹Œvvxxxzzzxwyxvvw€v}ryuvxxz|{|vywwwxuuxxvxwwxxwwwvwxurvrxvuwrutvrqvvrrqqrrrurpqqqpppmme_
	Diijtihilloqrqsqpornmlllnmlkg]^	;hpnmmqmlhf€0A‹Žsuhlqunlg�tpqplt4�������{rqosrrppqrqqpvussusurwtrrquptrwuuqstturutuwwwvuusqvvvwuuuuuuvuuuuuttuuuusrrruuwwuvwwvvtquuuvwyurquuuuuuvtwvvuuuuuuvvurruvxxxvvuyuvvwxywvyuuurywwwwyyywwrwywyyz{|xxyzwyzuxxyyx{ywxyyyywuvyuxxvxyyxwxŒY$‚uwvwwyyywvtŒ7A…uuzuo1*��:(R{vwxvvvwwywwvvu„swuy„Œ‡„‚zz|vrm€ 1wjwxpx[`ƒrz{{|{xw||{{{~{{|}y€|||~||}~€||€~}}~~~~~~~ƒƒ‚{€€~~€‚€€€ƒ‡„€€…ˆˆ‰ŒŽ‘‹‰Œ‹’uvutvxzy{{ywwww{ttuvtvxwz{wwvxyztywxwwwwwxuxwxvwuwsswvzuswruuuvuvssrrqvqpvqqsqnpqpmke[!�>ngklklmlmjhjlllkjmllkgghhhh`S`:aoqmlj`_hYVB;8?CRD<5.+10Bqotoko�ixrplv8
{rtrqtqqprrrqqrtutuwvrrstututtrwvuqwvurrtuuwvwxxvrrutwvuuutuvxuuutttuwvuuqrqsvvuupuwvuuusuuuuxvwquvvuvsrvvvwvuuusvvwvvrztwvuwvtuwutuuvyvtzxvtrrutxxyxyvwwvvxuu{uyxvwzwyzvwvyyzyxvyzxyyzwxxvxxw{zxyyu‹
+tvwvvvyyxxoˆ>�;‰tuxvnB."�5]pr{xqvvwwwwwwwyvvvwrttsuvvvvwxzxxwvur‡&‡nxxuz\�'[ƒwz|{z{{|}||{z~~|y|r}||}}}}|}~|€~|~~}}~|~„€€z€€€~|€‚„‚€€†††‰ˆˆˆˆŒ‘ŒŒŽŽŽ‹‰‹‹Œ‰Šuwuuuvxwy{zxvyv{rytvwxxwxzxwwwwxwwvxwvvxxxwwwwwwvwtvvuvwwwqvuyuurrrvsqvrpvqvqqpqpqljfa:Y`glmollkknmiqmlttnqu|sw}qstZ�7\tqljdB5S†ƒu„‡A$<!pntmkl�ewtolw;G}rrrrrqqrqqrsrqsruuvxuqrvrqurtsqpttwvurruuvuwvvwwrxtqqruvwvuxvvtuttuvuruuuvuvvwtuvuustuvuwxxvvvvruvvqqruwwvvvuuuuuvvxuuyuvwuxuutvuutuuxuuvwuuusprruvwvvvxwwwwy{wyxtw{vwwxywvwzwv{yzvywzyzvvyzz{vxxyu‰3yŽquwvuttqq†‘I
+�8‹tsvvn`W[u€”y GŽŠruwwwvvxwwyvywyvvvvvxtŒrxwywwvyzxxvyƒz.Šmrupsi
+�?Xvw{z|{{z|{|{|z~{{y}|}|||}|~}}~~~‚€~~~~~~~ƒ€€€„ƒ†~‚}„€…„†„ƒ†‡Š‘‹ŽŽŽŽŠ“utttuuyvwx{wuvvyrrttvvxvuyvxwwwwxxxzuuuxuwzxxwssrrstvvsxnwrqqvvurrruvvvqrqrrqpppqqikgZ$-OWjhnmnhjhjgd]ab]L\UD;811.2^sqmjc?&RxffdqS/xptokt�Oqlky;�� .jrqtssqsqqhutusrtuvwvwsquuquotqqqrswvutwtuvuvwvwvtuqsvwuxwwvuuuuuwtwvurruuuvuxvusuuvsuuvuwyutuuvvvvvrvuuuuuuuvvtxquwvuuwyusuuuvvwwuutuuvwqwutxxywvvvvvvyzwwxvz{zvxtzyvwwwzwquzvxxyxvvvwwwwvyyzyxvxywŠ^”‰„‹‡ˆ‰‡xhcW�/‘rywzx€}wqnm“"�?ˆpuwyzwvwwy{{wwwvwxwyvxssozvvwvvuuywuspv&��”knqkap	08>Uyv{{}||{{||{z{|~|{z||||}}~}||~~~ƒƒ‚€ƒ}|||~}ƒ|€€‚€…€€}€ƒ€ƒ€„ƒ†ƒ„‡‰Ž‘ŽŒŽŽŽŽ‘‘ŒŠŠuvvvuwwwvwwwwxxxwvuzvvvvswxwwsquuvwxwwwxrwwwxvwwuvsuwyrwvxqsuvvwsrqquvqpmpqprqoupqjlg_'�
+$[bXYNJB931*����1Vvpmji9
+	HsjlhmQ6soumlq&�I}qmmrE(������ ,148:BQS^_ov|z}klrqqtrqtrqnusrqqttqppturutqqqrppqtuuuuuutuvuwvxvvuttvvquxuuvvtuvuttuvuurvuuutvwuvvvusuuutuxuuvvtttuusuxuytuvvvvuvuuvvvvvywwvuuvuwvuuvvvvywxuuvvuuuuwvvwyzwxvwwyyuutyzxvvxwwwywvww{zuxvvvwvxwyz{yzyzv‡�"(358<>>>74,)
+3ŽtyzzwvyzztoŒ.:‡uvwzz|{{{{xvvyz{v|{|vww{{zvuwz}€……‹sc"�z“†ˆƒqA�^ofj{yztv|||}{{|||~{~~}{z}{||~}}|{{}~ƒ‚‚~}~ƒ|~€}~„}ƒ€ƒ„…€}ƒƒ„ƒ€„€†††…‹Š‘ŽŽŽŽ“ŽŽˆwuxxwvuuuvzyyvsxyvssvuzwssswxxxwurvwwxxxsvuvwvrqrrtuuusyswrrsupvvvvrruoptqsqqpolpqklh],�	�.Snplj`8�IynopeY%>aoqoks(�L{pilnU2!.038?KWTebhoxv~||ƒ|}lwuuurnplmloqqqqpqtrqtpqozqqpqqrqqorrtstutqrpqrqqqqrtruurruqquwwuuuuuuuvvuurvuuutvvwvqtqusuuuutwuutuuvtvvuuvvvtqsutmxvvvvwvruuuwvtwuuvuyzvuwurvutuuuxvvvxzuwvuuvwwtuvxxwzwxwvuvwtz{zwzxzzzynvzw||wwzwwzzzyw}{y{zxw_`_x…§����)uywxvvwyuuuŠ67Švv{xwwuvvvvssw^ww{y{vwvyst{t|rzrkec`U^n��	��Kbfzuvy{|u{||{}{}}~|}~|{{z||{{|}{|}}||‚~~~ƒƒ}€~~€~€€ƒ€‚€‚„†ƒ†„Šˆ’ŽŽŽ”ŽŽŒŽŒ‘vvwxuttuuuzzvuuyvvvuvxvwwwvwwyzyswwvwvvwxvvwytsustsuvvryqvrvrvuvwwvvvusrrprtpmmlmqlmgY0�3Oroljk:�C}opnjR8 5xlqljl.�JzqpombZhkqvyz€‚ƒ…ƒvxtqnkjkkklommoonooolllnlnlkoqqrrrtsqqrqtnqrptrppqpppputtqsrqtuuuutprurwwvvvuruywuvuuvsuvuuuuvuvvuutwtuvttsvwuuuuuuuuuvuuuwwvvwvssvyuuvwwwwuvuuuttvxuwytwuurrruuuuttuxvvvuuwuvvuuutuuvxyyzwyvxvvvwzwxxyyywyzyzyyxyyyyzwzzzywvww{zyw‚>œ’pY$$…svvwyuuwz{xŠ?$
+6‡wxvvwˆ‡—’Š†uwvvx{yyvwyyrdH?(
+�����<tnvz|~{zv{||{||~||{}{||‹|{}|}~~||||ƒ|~~€€~€ƒ€€€€‚…~€€~„…~€‚‚„„…„†„ˆˆ–ŽŽŽŽ”‹ŽŽ‹’vuwxttttvvzwutwy{uruxxuv{xvwxxsssxxxsvwxxvvwxvstwvwvvvsqrussvuuutrtuottqrqppqppmqpmkhW7��
+)8IiojkgF?{ooosYACCEHGxjlmhq2�Byppqoijlmmomopollmompqrrqorppppqrqqqqlrlnntqponlorptuqspqquorrqrupqppouvutypxrruutuvyxuurqqsuuyyyxxvvuuuuvvuwwxxvuvuuuwuuuuuuuxxywwuuquuvvuuwvuuwvvvvvvuuwxwywvvuvwvywvy{{wv{zxxxuuuuuvvwwvuvwzwyvxtwwwwywyzyywxywy{zyxxxvzvz|{{wxyy}y}zywyw~{{ww{zyxˆ�&‘rzyq'�:‡ptvutuuvvyxC6‡vvuu~a:+/7AOfvvvvv|xxxzz}W
<ruyzzzzv{|{|{|{{{}{z|}||||||}}|€€}}|}}~}~~~~~€ƒ€ƒ~€…„‚ƒ…„„„‚……ˆˆŒŽŽŽ‘‘ŽŽŽŒ‹Œ’wxvwvxuuwyyvvuuussruuwvvwxvwwwvyvwyztvuvwwvvvwtvruvvuws{ruvwsuuuttrtuvrrsusroqqnmmnje^;���	�A[loljjI:zopoplqx}{†w{mkmks5��Axpoqpoopooooopoooomopqmotbrooonopmmommlmlnrpopprpqqupmsrqsqpqoprprqpppuusurpwvsvuvuryvtvtvuvtqvvwwuuuvuuuvwyxxuttuutuuuuuuuuurprssutvtuvvvvwutrtvwuuvwuzvwwwyuuvvww{z{{{yywwyxvvuuuuvxuvuuuxuwwvvvuuuuwxwvywvxxxvxyyxyxyvyywwzz{yywwwyyzyywz{zzzw|yzyŠ�8‰vzxy'�†…{††Œ‚vttyyrLDHVdy}2ŒvvvuyP)l}vwvvzvv|wy}iExpuzwvx|z{{{zz{||}|}}}~~|†|{}||||~}‚~~€|~€€„|}€‚‚~„€€ƒ€……„………†‚„„ƒ†ˆŠ’‘‘ŽŽ‘’‹’““vuutuwvswwztxtuttrqqswvsswwwvsuyywstttrrvvuuxxvvruvuuvsqrstrsvrtqqqppsrrrppnpqqmqnnibi@3
#.2239=FFSYeloqsk`blpolieC6voprppopooooopmmk{9�=„ooqqpppppppoqpppppppponrsqnqnllmmoqqpoqroqpuoqrrsrnpstrrsqppnqrutwpportqqrtwvrqruuqyuuuutwvwvvvyyuttvwuuvwwxvyzyuyuuuuuuuvutrwruuuuwtvvwvwvsuvtuxzwuuvuuuvuyxvtvvwvuuuuyvwxywzu{vwvvuvwuwutvvwwyvuuxxyxwxzwuyuuwwywwwuxxyzwywyzzx}yzzzzzw~{yzywwvz{{‰-)?…zyyxŠD	��045DLTC@@A25{vtyyu~ˆ~‰n^y+†vuxwwN*rqvvvvzwwvyyyn��6ejrvvvyxvzvy{z{{{{w|xxx{}|||||{~|€~~ƒ}~€}~}€~ƒƒ…„||~„€€„…€€€‡‚‚…„‡ˆŠŽ‰‹Ž‘ŽŒŒ‹Œ‹Œtutuvvvuwwyvuwwvvxpxvyvtswvuttuvuzxtttszvvusvwz{tvvwvwuwr‚usrwrvrssrruruqrrqpommmpmmheD7	"!',,/38:@DLS_foluwstwxvyursoolmwstprmljqO��	(tmppopmqpqqppopmkx;�9kjmpmlmoopoqqtpqnpmmmsmsqponpklwy„}zklnommqomoooquqpppquuspppnorrtrqstqvtrrvyyvvruuqwtuwuturwxxnyyurvwvvvvvvwwvuvvwxuxwyutvutqvutuvvutvwwwwvvwvvuyw{zywwuutswwvvuvvvvvvywwwyyyvvvwvvvvvwwzyywwuuvvvvvwxwwvyywwvtwwwzxzuxyxzyvwwy{|zzy}zywyz{{}zyw|yyz”�3ˆyzxyŠ%
�ŒŒ}xƒ‚a
++ƒtuwyvvvvuul	$…tuwvxUmuw|zvwzzywzy_�-c”|orrrvv||{z{z{|||||}zŠ{~~}}||{~~~‚~€}}~~€}‚z‹……€‚€€€€†……ƒ€‹ƒ‡ƒ„ˆˆŽ‹‹‘‘’‘utttttttvyyvvwywtwrvywutvvwtuvyxuxyxutwzwvuuwtrrsvvuuwrwvuusssrqrrsrrrrqrsqpqpqqmolnleZOGJVS_]dkrtzswtnjkhnmvlllllllmmmmmlkklkkklnlkjgR&nlklrppnlllnnpmplyC1aojmlnmiqptmlnprnnmlnpopqqtkqlfQA8&/'cnmoprluqrpqqsqqqruuqporovqqusquuquurrrrwwvruy|yruuruurwxyxxwusvwvuvwvvxvvuxvwxvvuvwwwuvvvvvwwwwtuusuvvwvqtwxzxuvvuuuttwwwwwvvuvvvvvwvvwwvuvvvvvwvtyz{{zuwvuuvvvvxvwwyxvvwvyxuxyzxyyyzy|~|y|{z{w||v~{z{zzz{zyzzz‘$78<8>|z{yutx}€ƒŠ£Im^muret9…rtuxyyywvvq‰�"tvuvteqzv{yvx{uvvvy^@-	�+9FCC^e*$Aw{||zy{zzyx{|}||{|~|{}|~}||}~ƒ€€€€~€~€~}}€€}{z{…€€„‚€€€€‚ƒ†ˆŒŽŠ‹‹ŽˆŒŠ‰‰‘‹Œtwsxuuvyyzwvwyywrysvwswxvwvvtwxyxxxztswzwxwvv~rsrvwxwuwwuurqsvrsrrrqqtswsunqqqqqmpopmopvzvvtypmlrlmlmmolmmmlmoppqomkkmpkqqqppkqqqkjglK 
%._lqqqprpnrrpqnmmmrJ�+S”‚}zqibSNAD`xpsmponpromqrpnokl/9roopqmorqpqqppuqrqptrqpqpstuuurprqtttrsswuvsuuuwrvuuvuruvxyvtttuwwvvuvywwwywwwxwyuvwwvvuvwywwwuuuuutuuttttsuxwwvvvvuuvvuuvwwwv{u|wwvvvwvvvvuvvvuwvvvvy{wwwvvwvvwuwuuvuwvxwvyuvyyyxywxyyz|{||z{}|}zy|zz{{zxz|yw}|„‡†…†Žzz{ysquutppt�ciuuukŠ-‰lquwyzyzuyhŒ"tvwwqzVTv{z{xyuwwrvg==81<BENZfh…z?�uŽ“zb‡

+24ˆv{{|~z|z€x{z|||{{|~||~~~}}}|~€ƒ€~~ƒ~~~}ˆ}|„„„~€€ƒƒ€€…‚„‡ˆ‹‹‰‹ŽŽŽŽŽ‹‰ˆˆŠ‘‘’usttuuuuuwwxzxwwvwtuvrrwwxywtsuyzyvwuuvxsyrvwsrvwtstwtvuvvrsvsrqrsvvouussvpqqmmnooqppnljlkkklkllmlmmmlkmnnmmrppnoomlmllkkkllpllkkkje`tL1	,<\ltkolfhmfZlloppmxQ�	-9Oooronrnfooltrpmpkz	dworruurrrppppoqruptruoqpqtqquqwqpurruqrqqrrrvvvvwuuuuqvvvxwzvuwvwvyvvwwwzvwwyxzwvwxuvvwvuvwwxyyuwvuuuttsvpvwsuuuvvvvwttrtuywwwvwyvxuwuuwzzzzzuvvvvvtyzwz{wwywuywwuwx{vvwyvyxvuuxywwxyyz{|||z{|yzzz|z{z{yzz|zzz|zzz{zzyyzz{{ttsvwxqqw�WƒwrwxŠ�&‹eqtuuttutkV’ttvvzo
+)@KWuw{vxwxvvwuwpxy……€}€|y~to:rhwrl|
D†wz{zw~||{z{{z}|{|~}|}€~~€}}}~~~~€~}}€€€~€vƒ€{ƒ€€€‚ƒ€…„„‡ˆŒ‰‹Ž‹‹‰‰Œ‹Š‹ˆ‰‰uvyztwvuvuxxw|wxvvtwuuvwvuwwsyyzyyvstywwwwruwvvvvtswxwwuvwuvuusvrvuvvxrvuvrqooprpomppqmoookjlmlkkmmljnllnplmmlkjjjgfgnrqt{yy}{}~yq}†I?/;@FM`mympmH#&Dxqmpqb�.I„lqooopppmosrrmmlz�^zpoqplqtrqqqpqqrqqqqqqtusuqqqqrspurpvutuuvrsuvvustttwruuvxuywwwwvywvvywwwwvwwvwvvxwyvvwwtywwvvstqsuuutrttsuuuuuutuvvwutuvyvvwwvywuuuvuuywvvwwwvvvwu{z{vzzywwwwvwvuwu{ywxw{xvvuvvwzvxwyxx{}||zzy|zz|{yy||zy{{zz{}}}||{xyywwtuuuuvwrr‰-�WwvrxrŒ�$”‘~ŒŽŒ†œ«�€twvvvp}…ƒx~v{{yz{ywwxvyyxyzyzzyxuo„B{sqvv}y*@pww{v||||||}y€||z|~|}€}€~€~|€~~}€„}ƒ„…€†„‚€€~}€…†…‡ˆŠ‰ˆˆ‡Šˆˆˆ‡‹‹‰Šww{xtuuuvuwvuvvyusutuuwvuuwxvyuzwxwvxwuvyyruvsrtrsswvuvuvwuvrrrrromumvuvpuurqorrroqoonmlkklllkllljkhhhkklmoookg`mkvirliXTGC::8521"3Yyx{uonqronr>.
+0G~qkmr`Grmpppnlilnpupqpolx#
.Ryoqqqjqtqpppqqrqqptruvututqququrppqpwwwvvusvuuvvzvuuytvvxxxvvwuwwuwvvxvvwyywxvwwwwuyyuwxuuwvyvvvwwuuwtzuyuvtyuvvuuutyxvuwvuwwtvvwvuuutwzvuuuvw{wwtwzwwvzwvyvwwwwyvyu{{wwwyzuuuxuz{wvvvywz}zz{xy{zz{zz{|||}|zz{|z|{{zyzzuuvvuvvtuurt-"Mxvrxr‰� Fg[TC@;41+
+ƒtwvvvuvuutuuuzvzxx{v{xxwwvyyyxsuwvwwytX�}mvwtr†,7;’`rvwxy{{||}|{{|z{~|~~|}}||€}~~~~~ƒƒ~|}}~~€~€‚~ƒ€„~‚………€ƒƒ†††ˆŠ‹‹Œ‰ˆ‡ˆŠ‰ˆ‡ˆˆŠˆˆ‰Œ‹wvvvtvwwuvuuvxyzwxtvwwuuuxuxuyzzwswxuusrwxuvusuvwvvvvvvvvwtvuvssssqwvusupssrrqsuqpqsmmigkrvyxxwusvzqhfpilmhlhX8)
 †ojmpoqqoonqA DypqpnaBomllmmopqpnnnorpnu>&Kuopprlrtqsppqtqmqqttuqpqqqqrqpqqppqquuuquvuxutvrvuvxutuqywwwvxwwwxvtwxyyvww{vvvvvvuuwxuvwvvxwvwwv{vuutuvvvuvwyvxvwvvwuvwuwutrsvwvvwwuvvyvwuuuxzxwyw{uwvwwuvwuwvwwvwv{zvxxyz{wwwvwywwvvutz}ywwyxzz}zzyyyzywz{||{zyxyywvuurrrsttvvttrƒ9*;H[rzsxr‡���†qvwzwvwvyzz|uwvvwvxvuwvzv|y{yyvvwyvywqƒU�‚du}l[˜<¨›Š†„‚rsvx{||||z|{{~}}|{}}}€|€‚„||}€€}€~‚ƒ„„~…€‚€‚…†‡€‡‡ˆ…‰Š‰ŠŒ‰’‡Š‰‰ˆ‰ˆˆˆ‰‰Š‰‹uvuuwwwuvwssvsuyxwuuuvuxuvuxuxu{xxwwsrrsvwxvtwvuvuvvvusvswtvvvvsqqrprwrqruourqpnppqooka^[JB<<;:41,(
'.rmjlfK1 ����mkmllpqnmoo{B@oqqoS(AdnftoqquttoqmpponoX>;?8K`tprprlptqpqpppqqrquvuqqpqpurpppqqqrtuvvtutuxutyvvuvxxvzsxxwtvvwvvzvuyyywwwwwvuwvuuuuuwyxwxyxxxzxuwzxutzuvxvv{zyxuwvxwuwuvwwvwwwwwyzvwwvyvtvuvy{zzzzxwyvvyvvvwywuywww{zwwwz{zywyvwvvvyvwywuxuwzxyzwyyxvzzzxyxw{zy{„…y„‚}{€„€lsvrtqxFRcjty€‡Š‰„~ptwuvu…#ˆ|uuzwtvxviuuvvvwxvvvvvvuuvywwwwvvuvvu|[�zgfz‡¡�'29BRGC9;*)17\|wyy{{|}{~|z||||~{~€}|{z|}}}~}€‚}~~|}}€€ƒ€…†‡ƒ†ƒˆ…‰ˆ‰‰ˆ‡‹‰‰ˆ‰‡ˆˆ‡‰‰……‰‰vvtzwxvvwvvvvwtyvvuxwvuuuxvxsxxyxwwxxxvxyxvwvvvwvvvwuwvwrtvvvuvvqqqurvvuuurrrvmspppqmh^-��?#sllljK#YnpppqooooooG-@yppplg
+.����-6K`XTQKW<7:;:bnoqqmoyzz}yqpqpppqqtsqqprqqrrsturrqrsrrurqqqpqtuttwruruuuvvxwvvxwvwrvswuuuwwwwuuuvwywwy|w}{{vvvuy{ywwxyyy{{|zzwwvvvvvvvvzxyxwyyzwwy{z{wwwvzyuuutzzyzv{vwvxz|zzzzwywvyzyxwwwyyuwxzwwwwzzyvwvuvvwuyvv|yuuvwxwvzyy{yyyywxxyvywwdIGD<941) 	?xvttutyƒ€{wwtu{uxuuuvvvu†!Šjuwzywyzwwvvvvwxxxvvv{vywv|yƒ‚†’‹†‹Œ€wxg�([L:3)l£‰†™—b
+M‚zz~~{€~||{{||ƒ}}|||~}}|}ƒ~€~…~€‚…€€‚…†ˆ‡‡‡ˆ„†ˆŒ‡ŽŒ‰‰‡‹‰‰‰Šˆ‰ˆ‰‰‰vwvwvuuxywsvuututuzywxssuxwxswuwxxswsxwwswwwrqsvvuuuswwvrswuvwurqspvrsvvlurrqpprqmmolff*$ 5pklldZ'9RsnorlllppmkO9?Tnmppoi99ABQP[anjnvun~vsrZ9$9Uuprrqomnpqqovwvpqqrqrqqrqqrrqqqtqruuuqpuuqppqqutrtywvvwwwvuuyxwwzvvtvtwvwvvvvv{{|{{{zu{|xzzy{{yz|{zzz{{zzzu{{zuzzwwwywwwzzvyywwzyxzyvuwzvvzzwwwy{{{wwwwx{xxy{ywwwz|w}}{yvx{zzx{u{yzwzzvu|wzuvwvwyvwxyuwywxxw{{yyyyyyyxvwwuvƒD:':2Štrqttqprsuturqqutsrrvuwv)Š]jpquwqopsxz}…ƒsŒ‡{syzvrs~PPJA@:73/
+�j‚osm~�:A‰z{}|||}{||{z|~{{|~~~||~|}}~|}~€|€|~€€€€†„………†…ˆ‡‡ˆˆˆ‡‡‡ˆ‰‡‰‰ˆ‰ˆˆ‡Švwwwwwwzxwuxvuuwwxxzyyuurvvwswuvxwrxtwsyuuswwvvwuuvwrwwwursuuxuvqsuwrusuuursprqqqpoojgc-,pkmkfU0��'Pooprpplpomj[Vgfn_fmkoponrxxyuvwtoolllkkigdv�!Oorrsrqqqoqpqvqqsrstpqnprputtqqqqtuuursuuutsutrrrssruuuurwwvtvuwwvwvtwwvvwywwwvvwz|zzyyy{xwx}{vy{{{yzzwyyy||{{|{||{xuuwvwyxxz{|wz{{{{vzy{zxz{zxwwvvvvvvy|zxwwz{vwuz{zyz{xv{xxzuzvxzyxwwvwvvvwwywyyuwyxwwvvxuyyzyzyyyywxwwuqv„I*�3Œussquvwrrusutuuuuurrwrwtz7��Ÿž‰††~wzqnkTG@85,Lfywv~r…<}txs‚n

+>~{z|{|}~€~~~}}~}|}~~~~|}}~~|~€}ƒ~~~~~~}ƒ€€€€„…„„„ƒ……ˆ‚ˆ‡‰‡‹‡ˆ††‡†…‡ˆˆˆ‡†Šˆ‹xxuwxv{wvvvwuqsvwwswvvvvsxyxsxwuwvvwwxswwstwsvwvwvvurwvvwstuqqusrrvsuurrrrospppplopolfc+)rknlh^22!EhebYbhlllmollqomlkmlrmoooopppoonpqppooprsrrqplkgrKxrrrrquutvvuvtusrsroqrpqqqrtrquqrtwtqruuvvvuurvvvvutrrrtwwwwxyzzwvwwywvwywyyyyywwwwuyyzz{vu|zyzyzz{yyx{zzzzzu{{||{{z|wzuwx{zz|wz}}|ywyzz|zyzzy}wywww|z{|{yz{yzzwwyyy{zzyvvvuzy{wxzwx{w{wvvwwwwuvvvyyyyyvuuvwyxxxxuuxwxrpqtxwQ�5ˆxsrrqrqprttvvvvupuwusrvut8
+
 %./0"7\rvvzr‹,%#uy{y„j'>y{{~||~z|~{~~~~||~~}{|~}~}}}{|}~|}€~~€€€ƒ……€„€„ƒ†ˆˆ‡ˆˆˆ†…ˆˆˆ‡†††ˆ†‰‡‡xxuvvvvvuyvwvuuvvwuxtvuwsyvvvxwwutvwwyxvvsuwvwwwwwvvvxywurswvwuutsuptuurrupsqrppkqqplfi.����������,pkmikaC;JYecov|lkb%fmaejmpopklmqpqpoloppqtqqqtrqppqssrqmqjpoopooollqi
+Oxtrqrqrrpqqrqqqtplkrt}zwosturrrqqrqruutuwuqqrrwuvuuxruuvvuvvwywwvuwwuvwyzzwvyyz{zxzywzwwwvy{y|{w{wvxvv|xvwzz{zy|{z|xxw{wyzyz{{vz{yzxwyz{{{wyzyzz{|w|{z{zz{{|yv{yz{wwwwy{wvwxwyyyy|wywywvvvwwvwuxvvvuuvvvuxvvw{xyxzzywxuqsuv{U�š[ksrsqqpopox|z}€…}pqttuvnW,7>fL�kt”œ¨B����]yvv|u’#9m|xzy}gB
+*F‚z||||{z|~~~~~}}||~|€€{}~ƒ|~~}}|ƒ}~€}€€€„~„†……†„…††ˆˆˆ††……†ˆ‡‰„†‡‰…‡‡wwuvxvtsutuvwwuvruvvvvuvvsrrrqsstrwwvvws{ustvxruwvsvwwvwrvruvtsvuuvquuqqpqprpqpnmpkolfi.+bnihjfeqnjgnokjg_V+hahmonnpolhonkmmnpppqtsrppoqqsmsqpppqrpopomonplgfi�&=TrsoqqpndonwvpqhsrgZLCCEH[vutrtrtwtprruuuwuqrstwtvuuyuvvvwywuyzz{{zzxwu{zzwzwyw{{{zwwzzzxwy|zw|zz|{yvwx|w|xzzz{v|{{{{zy|{zz{{|ywwwy{wwzzy{wy{xwz~zxxwy|y{|vxyy{{}|ywxwwyxxzy|{ywyvwzzxwu{wyvwvwvvxvuwwwuvvwuvyvvyxyxuwwruvuy\P�� „…Œ‡‰Š‡„}wqjdXFCAC[orwxyq|‰…{ž
{iowL†NT†vw|wŽ�28rwvyyxjVC, ]xxzx{{{||z{{||~||yy{||~}{|~}||~}}~}{}€€€~~€€€‚€€„‡„„‚ƒ„†‰…‡‡‡†††…………„„ˆ„‡‡ˆuxwvxyuyyyrvwwuvrvuwuxwxxxutuustsrvxssstxtrrvvvuvxwvwxvvrtswuutvuuuvtupsusnpoommmomolf[1�������cmgllklllkkkllljf^4�Ybmmqqqoomkpnmloqqqppqpooopoomlmpomlmptly}v}|~nh`�$)2:CK]oqqqoN&6$(vqrrpi<7$Kyttutsttuvvttutuvwvquvvuvuywwvvv{vvzuyv{{zxvvwy{wwvwyyzz{{{w{zwwzzyy|zw{|zxwxwwvvzz{{|}zxwwwy{{z{{wwwwvwzz{z{{ywz||{{{|zxz{wxxy{|yxw{{xxzxwwywwxyy{}ywxz{z|wxwuywwvuvuvwutuvwwuvvvvvyvzwyywuuuuvxur^�>U93, 
+����3„rqryttuttla“|{uui|G�"Pƒxv{u–P��14:AJLSnyyyyzvps~‡‡}wzz|x~{|z~||{||~{}}}||}|‚‚}|€}~}~}ƒ~~|~€€~…€~‚‚ƒ……………ƒˆ†‰‡††††ˆ…‹†ˆ…ˆ…‰ˆˆ‡Švw{xyxwzoxutvtvvrtvvuvxxwxutuutrsrrxsrswxywtvuuuvxruwvvyurvvwuvvvurrrqpqrrpqpqkmqnmolgb5']rhmoppokpollmmjfqGEkfonnpjmqqolllklllonrqtmmpplmkjp|rxvkdi^]VOF?=<, Qg|ˆxorqqqvV8 
+F!}oqnphC%Gsuqwruutuwvquuuuuvvquvwzuwzvvvuvwwwyyyz|{{w{yww{xyu|yxyy{|zyz{zzz{zzzzz{{zzzw~}}{|zy}}{{xzv|{{{{z{wzy|y|zzzzy{|{z|{y{|yw}|{wzy|{|zz{z|{z|v{zzz{yz{}uyyyyz{vxwuxv{vwvvyzwxuuyvvwwwvvuvyvzywxvvvvuuuhk‹‰†œ¨�-‰spsyvssuvpn‹rssrzH����:T€xuwu€+234:;BDRYegxx€‚„‚|†ŠŠ†~louywxy{ywyz{z{z|||{|{z|{~{{|{|}|}||||}|}}~}}~~}||}~~€|{~€„€„‚€€‚€………„„‡ˆ‡‰…ˆˆ„…‡†ˆ‡…ˆ‰ˆ†‰vw{{vuuzz{uywxvvruvytuvxwwvwwsvvwxy{rwvwvtwywsvwswvwxwvvuwuwutuvuvussqqtrsqqprmnmnnpkic<�lkjkkjkllkllic\rX4„]ezszpmollkp{prpmfdXJGO`opomjV2������bƒglqpporqqmluqorolAAzuqpquvtvvvuuuuvvuuvvuvvvwwwuvuvzw|wyz|{{{w{{wvzyyv{xyzww|zzzz|zy|zy{zzz{zzzv|zz|{z{}}y{xxyzz{}{z{wwyzwzz|xxxzzzzz|{z{|zw|y|xzzzz{|||z{||{xz{{{y{{{{vzyzzz{wxwvvw{yxvwvuvvxyywywvvwvwuxvwwwwxuvvquxtqqrjX %�%„rqttyyzuyrs…•alputK	.2cuwvvxml~„ƒƒŠˆŠ’ŒŒ‹ƒ}y{}zw|y}xxyywwxzy{zzzzwz{}{zzux{{{||||y}}|}||{~||}|}|†|||{|}~}~}€€„€†ƒ„†„‚ƒƒ€…ƒ€‚ƒ……†„…‡ˆ‡†ˆˆ‚ˆ…†‡ˆ‡‡ˆ‰…‰wwv|wxuwwwwvvsvvvssssrvyswwxwwuxwvxyrzwssvyxwvvwrwvxwsrruuutrqquuuwrurusrspmmnqpmmlolfi>Pullglroggiqusjzn]1!uhZIKWfopolm-#	0<KopnplH Qpqtttuqsqol��'ppmspoDAqzruqutqruuyvuuvuwvqvwtvxzwywwwwvwwzz{{{yz{|{z{{yyzzyzywu|zz{||}||yzx{{z{{y|}zxzzzyzxzz{z|wz{z{||{z|z{{{{~x~xwxzzwzz|{z{{{|}x{zz{{{}{{{}|zwzz|{z|{z{z{zzzz{|zzuwu|xyxzuwxvyyvywwwwvwwuvwwywvxuvwvyr{€|zzkŠ2‹jrsstutvvvqˆP*œŠƒxpnM��UuzŒ‡~rwzvuzywvvvvvwvvvvuwxxzzwz{{zzz}yzxwwxwzwuwzyzwvw{{{ywxzyy{{{{z|~~{{}~|{}|||||~|{{||}~~€||~}~„€€€‚ƒƒ…„…‚…€€„……†‡‡‡††ˆˆ„ƒ„‡†‡‰ˆˆ‰ˆ‡w{u{vysvuvuvsxrurwvrssuxswwxwwwwxvxzxvvtrxvuvwxwqwwwsrruuvx}qwuvwwvrrurrrrrsnqmsmompjglT����Qklljf`X_^UEF;72- ���
Banspjt+�-HolmtNAknoonqqrqrnf!=erqroqJ5$9vvuusqptuvuuuvuttuvwuuuvvuvwxuwwxwwwy||z{{xzyx{zvzyzyzzyyzzz{zyyzvwxvz{{{yw{zzz{{zzzz{|||{x{|z{z{{zz{{{z{|y{xxzyzv{y|{z{wzwxy{zyzz{{{{}zy{xvvzzzz{{z{z{{|wz{xwywvwxwxwvwwuvvxwvuvwxvwvvwywwuyuwvuxuuxxxup‚<
+’`j‰†‚qrvttt�%-?JTHB@ACd€†y|w3
Ÿqtxvrs|vwvvvxvvuuvwwxvwvuvvzyyyyyxy{twzyzvwzyyyz{y{zzyzyyvvzy{}||z€~~y||}{}|€€|~~~{}||}}~~€ƒ|€~ƒƒ„„…ƒ„†ƒ€‚€…‡†††††‡‡‡ˆ‚†ƒ‡††‡ˆˆˆ‡‰uvwztxuvuwrssuvusvwsussxtxsruqrxzxrzxussrrvwvtvvrqrtwvwvvsrrquvwuuusqtqqrsssnnpnppjphelF�	#*1BQ�JnlkgfS;"���),insoiq2Iroomf];gfnpppuqqrql81JerusrkQ=@7:/={vuuswruvuuvvutwuuvtuvvvutwvtvuvzwy{zzxxyyyzxy{z|zz{y|zzx|z{z{yz|{z||{y|z}{~{{y{z}}|{|{{{zz|{zyz{|{z{{z{{||{wwyvzvxzz|||{zw}y{w|xzzwz|{yw{zzy{z{z|zz{zz|zy||z|z|uywwxwywtvvxwwvxvvvwvvvvwwwwwvvvwyxyyyxxuŠ<&�����‚rmVQP]qvuuvp|Œ†‹”d?ilticF��‹quvwwsr{vvwxzxwuvwvusvqvwwyz{{zyyywwztywtttsvuuuy~ywtswrprxqq|||wz{{{{}z}{{|{}}}|||{{|~||||}}{~|€}}|€€~~€€€~…„……‚€€‚„‡‡ˆ‡‡‡‡……„„‡„‚‚‡„ˆˆˆwxvxuwuuvyyyvttvvvuussrxsxstuvwyy{svwxwvuutvuwvwt}ruvwwrsrqrrrstruvwqtqrrprsssrqmsqnhahL�`vfakfLRmlkgs@$eqoofx,�OjgolbR'<rnr€rnlpsrpkYLKTV_ksrurmpz|€|xuuutrvuvvvywwuuvvvvuuuwwxrvvuuww{z{zxxyw{xxxxx|{{z{z{{{{{zz{{|zy~{{z}|z{z{{zz{{y|~~|||{{{~~|zzzz{{{zzzyzz}zzzyzzzvwwv|{zzzvzzzwy{y~y{{{{|wyxyxyzzzzw{yz|zz{{||y{uvwwwvwvuuuyvuuwvwwvxuxvxywwywwvvwyxyyxwvzA
+��Kuruuvwxuuqn~‰@�5yopqppI‡uwuzzzz{{||}{|{zwxwvuvwww|xwvvvusxru~‡ˆ‹ŽŽŒŠ„‚€}|zvxfPITmxw{zy{~~~~{}{~|}|~}}|}{{z~z|{||~€€}{}}€~€€€€ƒ„†€ƒ†ƒ‚‚ƒ†‡‡‰ˆ‡ˆ„…ˆ…‡ƒ‹‚…‡‰†ˆwwsvvvwvvsssvvwwywrvvsuuvwusyxxzvxwuvxuuvvwwwuqwuzruuwwrsrsrvtpuuqqssqnuvqqqqqompoolhfjXHQ[baUZDulkgv<hlhm`a,`Y`fh\O5	-13G]0!))AQgptqrnroxlmpqqqqrqrpqqrttuuuuuvvytvwyywuwwuvvvuuw{ssvvuuyz{{{wwyvzwxywxz{{{x{{yz{zwy|{|yz}zy{{||{{{{{{{zz|~}|||{~~}||zw{||{}zzzyyy}|zzzy{vyz|z{yzzzxzzzzzyzxzvw{z{wwxx{z{zwxyyyy||zw{{zyzvww{vzwwuyxyvvvzx{yyxvuuwwwwyxwwv{xyyzxytqfYWrg��	9E€rrruvuquuqo†

��0usuu…Cˆvvwyuzw|r{{|wvus|qswz~€}xwx‚‡‚|yrg]`JB:8422,!."	;<wvuw‡w{{zzz|{{~|||{{{~|{|||x||~|yy}~}||~~~€~€€€…‚‚€}„†…„‡†††„…‚€…ƒƒ‚†ƒƒ‡‡uwvuuuwwvwsstwvywwvvsuuwstuuwxwyxwwwuyvywwvvuvuvuzs‚russsrstvurursqvrssusuquqrprpolmkkg`AWnfeXX��;kojfiC
+	���Ougw€f/�	.rrcYJHHO^[kqvv|z{}ƒ‚ƒodn^�qrrrpsqqqtrqrsqrquuvuurrtuuuuuvwwwvvuvuzyxwvvtutuz{{vutvwwy{zwvvv{w{xzv|{{{zzzz{zzzzzzyz{{|~zz{{z{{{{~{{zz|{|zz~{z{{{z{{}{|z{x{y~~~y{yzz|yyz{zzzzzzz{{|{{{|zz{|{{zzy{z|{{yyz{|wvv{ywy{wvvwwwwuwwvwyywvuuvuwvvuvuxwzvyzzwxzyxxxuvwyv}…vq†ž�@‹qrrtuusyyyq†1†uvuuH'	‚vvvvwyv}|||~|utrmg`PB<740-	����7€utsuu|zz|x||{}|{}|}|}}~~~z‰x}~€}}}|}|}€€~~…‚…†‡…††…………††‡‡ˆ‡ˆˆˆˆˆuvwttruvvsrsvvstvrwvsrswstvvrywyswwwvuvvvwuxruvuvwrruustrrvvpqrppsqmoqpuvqqqpqmqmmllmjcT5ofgfeY5ebfelI
 $)4@Ws];9'/Yquxvrooopmlmmmnh]d�myppquuuurrqttrprpppqqrruuuuyvuwyzwuvuuxtyxwutvvttwvxvuzyuyzyuvuwzwyzzwvyy{xvz{y~{{|{{{{|{||||{{{{zy|{|{|z{}|xz|zzz{{|{|||{{{z{{~~{zzzzzz{{||{z{{{{||{y{wxzzz{{wyzyyxw{wy{{|~zwt|zwy{zwv{uywwwvvvwxvvutuvwvuuyuvyxwwxwyz{xyyyvzzwwwwwrnŠ	7xrsutttuxyzuˆ"�2†tvut‚G@#uvuvwyvwvuv€@!'�‚vruvwzzy{{||||{{}~z~||{{|}|{zxy€|~||}€~{€~z€~~~€€€…ˆ††€…ƒ…ƒ„‚ˆ€ƒ„„‡†uvsssuvwvvvyvuwvvxuustuwsuwwwzywwxvsvvvwvwvvvvvwuvpuwysvuuswwvsrqvquutrupppuprrrmsmlkkc\��0w[\_za�.yY_{ƒU(17:?@CJVY`huw{yu–6���"}oikopqrtqolllnlobj
`zkyuuuuuqsuuuuuuuusqrpqruvuvwvwwwvuuvvxy{wwvxuttuvzzzuwvxyywxvywxvzx|vzzz|zzzz||{{zzz|{zzz|~|z{{z{zzzz{|{}|y}{{|z}zz{{}~{||{|z{|zzzz{~z|{{{z{|zz||zzyzvww{zz{ywzzwwyzz|{{{yz{zyz{zzz{xvwwwvwwvvwwwywvvuuwvwuwtvwxuwxvyzyxxvuvvvvwvvzyp„*��1j‚vrzztvwwyv‰ /ƒuyzyu_NPcs‡œ"}yvuwvyu{x{u3?†twzzz{|{{{|{|z|{{||z{}|‚||||~‚{}}}}}}~~~€~€}‡‚€ƒ€‚„ˆˆˆ†…†‡†…ˆ†€‡…€€†wvvtvvvvwvvvvvrvvvvsqtvwuvxwwustvwrsxtwvwwwuvvrxvvrrquuvuuuurwsrsqqusqrrpqpsorronqmkiic^ 'lfl`i+�kXJ*@RZnx~€ƒ{xzsslwmlllg^„>�7sllooortqppnorppmjdY{doqqrswquvrxwlsvy€€„{xomsuyxxvwvvwyvyywwywwytuyvyz{xxwwvvuvxyxwuw{zywzzyy{{{z||{zy~~{zz|||{}z{z|zyz{}|{||{{{{{z~|||~|{{|z~~{|{{{|||{{z~z|zz|zz|{zxzyzx|z|z{wzuwwzy{{}{|wwvwxwz{zwxzuwwwwyvuuyxywwvyvvwywvttuywvxyy{yuzzwzyxwxyywwyu9�$4\pz…cUbƒuwyvƒ"%‚uuyyyzoƒoe…1~vvuuwvvwwwwL%‹vu{zzz|||{||{zz{z|}|||||||||{||zz{{{}~}|~~‚}€z~~~|}~‚‚ƒ‚„‡ˆ‡††€ƒˆ€€‚€…‡†ƒ†wwy{vxwvwyvtvvvtuvvxrvuuuwuuvvsstursvwuwvvwwvxxwuurwrvuvuvvvwwvusqpssrsuprrrntpnlrkmhgbd�!���=fjgkkljkklloopqqppoollfiA	snjmqptqnoqorookg„f@™•‹…‚zqqps}aRO[MD>=7,9AIcruwvuvyuvuwvvxvvvvvywvvvwwutywuuuuv|wwvww{zzwwwwz{|}{|{{zzyz}|{{{{{{z{z{~|{|y~~~{|{{z{yz{z~|z{~{{{z{{{z{zz{|{{||{{~{|{y{zy|{zzyzzzz{z{{{z|zw{{zyzzzyxxwzyzz|zxyuv|vwwxuuwwxxwvvvvxuvwwuvvwvwwyyywywwxyyyxzzzwyu{+����
+*@’uyzu†)#„uvyzzyzzxwq‹3ƒtvuwuvzwwv|N‚„w|z|{|z|{}{|z|z||~}~~|{{}}|||~{„z}|~|~{€}}{€„~~€‚~€€…€ƒƒ†ˆˆ…†€‡†ˆ€„…†„ƒ„‡‚‡ww{xuuvuxxsswwvuvuxwssrvuwrqrsrrsrsrsvvvvvswwvxvrvrsswuuuqpppvuwssrstuuupqrvmomlmlkjijbZ�6TgjmomlkkklllmpppopololjA�_{kklqoqqoqojhv|…G
+1$15-#AxusuvQ?2
+Txuwvvy{uvwywvuuuuuvvywxwywzvyzz{{zwvzz|vwwwyzz{z{xz{|{{{z{z{|{w{z{{{|{~|}}~|z}~~z{{{{zyz|z||{||{{{zzz{{{{{zzz||{z||{zy{{{zwy|{{z{zz{zz{zz|{{xzywxyy{{{{v{{zytwzwywtvvvvzzwuwyyx{yzyyw{xwuwuwywuw|{}…„wrzwvzx;EVQ[p€��0<uz{u€/�xtzytxyzzsu‰:jvuvvuuwvwvw‚\�	
+
"$126::;Abr€{wwv{v|z{{zzxz{{€||~~~}{{}|}||||zy{}~~}|~€~~~€z€€€€€€€~„„€€‚…†ƒ„€€ƒ‡€„„‡…ƒƒƒƒ†vwttswwxwxwuvwvxwxyxrwqwswvwvuswsssssuwwvvsxvvvwxwstqvvwwzyyvvvvvwqrsssvuuttrspol{lvimeX&�3YhklmoopoomnllllklmolpkhE/���Hv{mbV]qrmqmeI=7">~€~�F*†uuuv[5Mvuuuvzzyvvvxuvw{vvwvvxwwwyzzwvz{zzyuw{zywwvw{{z{zyy{||z|y|w~zzy||{{{{|~|zyzz{~~{{||{}z{{|{z{|~}|{{||{{{{{{|||{z{{z|{z{{z{zz}|{{}|y~y{}~zzzzzxxwyyy{{z{|}}z{ywwyzzzxvxyyzxvyvyzzyyzxvxwxvwyzwwwxrXGD?= 2|zuuysy€ƒ~{Ž��Duvzv‡8"ltvyxyvuvvlwOh”nuyzzvwxxxƒY�	'$028<BOWXmu{|‡‡ˆŠ‡”“•ycƒ,�€yv{z{{|z{zz~z|y|||}€{|}||~{|}z~||ƒ|}~€}€€€‚~‚~€„ƒƒ‚†„ƒ…†ƒ„„ƒˆ†„‡„‡€ƒ„‡uvvssuwvwxvtsvwssuyvswsussurusrurrvvwswxsuutttuuxvusrsuvqwuvvuuxpvqsqqrurruqpoopmlmmmmfN0&vkdkmlooooomljko|ukompniN>9.
Ce_bjhkqw€—A<Ozuopmx3ˆllh^ƒ.5~wvu}oI€vvvwzzvxuvvvxzzzzwuww{xzy{z{{|zwy{zwv{~{wzz|{zz{x{zz~zzw}r}wzz{~|zz{{|{~|{{||~}z|{z{{{{{{{|{~~}}||{{~||~{{|{{y{|~|z{|{w|~}~{{{~{z|z|}~|{|{zzzyzzzy{z{{|{{{{{|w{z{zwvyvzxwyxy{zzz{zwxyxwy{{wuywzG0…xxwvxyxyupvm����>tuzv„=�!“[ntuuttrrmfkmJžŒŒ†~pwvxx]��BŠƒ€‚|†€ˆ…~{xzrxvuquuusuusuwxumu6�ƒuu{z{{~{||~|~z{zz}|~||}}w{€{{~|||}|}|€}~~|}~€z|~€~~~€ƒ‚€„……‚€ƒ…€ƒ„…†‡†€…ˆvwuustvvxyutrvvvsrwvvvwustsssrsxrrvwwssxsuttuxsvutvvuvwwwwvwwwuyrurrsttuquurrtpomqqoppgL7aƒ{}vtonmkkja]QIAG[wmqnoighvjg`�pzotvrrooh`@3Dztpomqnlprk|7�
;ywyr}p1J{wwxwyzzywvvy{{{zwwwvwz{{xvuuvwwvzz~wvz{{zz{zzzzzz{~~~|{|~|||{z|{{z{||{}}z{zz{{{{{{}||z{{|{|{{~y}{|~}{{z{~{z{{{zz{||z}{{zz{{|~{}|zz{|}|zzzz{|y|zz{}{z{}zz{{z|wzyzwy|zyyxwvwz{{wt{zwzwyvz{{wwxu{A!
*6Œyyyvxyyyyvs€

<Œsvzu‹/� ˜ŠŽŽ•••‘‹qB&-&--}vvvx€[�l‹ipzwxxywyyxz|||{zzzzyzzvvwyvzvv:��‚ux{{|{~{}|}{~{{{|{||||}|}~~€}}€{„}}~„„ƒ~€€€€€€…„‚ƒ…„…ƒˆ‡†…„„„†ˆƒ‡ƒ‡vtuuuuywxysrruvuwuxsuwwwqsvsvsssrqrvrsrwswvuvwruwtwuuwuurxuvvssssrrururrrsurusrmooqlophXB.(.-359:::;8:;AAXlokkt5+&+7>|pnonooolgaj�hforrqqtqolpE?{rrorh&ctruq{@�@uyxpy}MPyvz{ywzzzwxvzywxzwwy{vyz{xywwvvwvwzxwy{yz{w{zzzz{z{|}~|}~~z~|~{zz{z|z~}~~z{{{{{z{~||{{|||{~{~}}}z~{{{z{{zz~{{|{{{{~}zz{}|{zy~}~||{zz||{{z{}}~|z}~z{z{|~xzy{xy|{zywywywy{yt|wxxwww{{{yyyu‚8&ŽtvvvvzxzzzvŒ��	:ŒuwvuƒAB@;;=??=:7.'���uww{}i�Xrpvz{zyxwvwwywwvw{{zyyywz{zyyxuxŽ?�ˆqxxz}{~|||}|{{{{z||€}}~}}{}{~}|}}|~{~}}|}€~}||~€~~~€€€„‚€ƒ‚ƒ…„ƒ„‚€…†„‚„†ˆ€ƒ‚vwyzyywvvyuxsssvuvwsrtvwrsuussrssvvwrrruvxwvwwvuwvuwuvvuuvwwwvsssrrsuussrtrqrrspnmllmsiaN9::AW�H[t{qsxzzt‚Œ5�<MloljqB-	,0‡nkpnoollkie�ulqqoqqrqosbX�5utrmre 9Y}stqqD4#8*yvzu{q% %48>COO_uywvwwwxwzzxz{z{{{wy{xwwz|yuvyvwvywvwz{|{|{{yzzwz}{~{||}|zzzz|{{z{zzyz{|{||{}}||{{{~~|{|{{|{{~|~zz{~~|{~|{{|{z{zz|{|{{{{||z{z|{zyz{||zz{z{{~}|{~|}}|{~{{zzyx}z{|zzz|z{vxy{zyy{xuzuvww{||{zvvwu†3hpvvvwyz|zv‰
��!9‰vtyuuy‚†Šˆ” "‹vvww|pWwvvuw{zy{|zzwxvtzzyyyywwwvwzw{uy‚Aƒqzzz|y~}{|{€||{|}~}|}~~~}}{€~||}~z}{{||~~€€||~~~ƒ„‚‚„†ƒ‰‡…ƒ…‡ƒ„„‡€ƒ…stuwyvvtwvvwsrswruwstrrvrrrusrrssqsvwvsvvsrvvvvurvuxvwvvwwwvvuvsrtqmprsqtvprsssssqoooqmffkkZUU:cWchlllklg[r;� ,JjokjgH>xprqprqtmqm{�gqrpqqqpog]n�.|trmx]>)	3>RusrtkQ89425:;?AMS[uw{uxljˆ{|‰ƒ‚„ƒuwz|vwvyxw{zy{yyy{{zzzwwyzz{zwvvxxwwtwz{{{{{y{z{zzy{{{zzz{{{z{zzz||€~{„|}{||~||}~}~}||||{|~~{€z|}}|{z|{zzz{|||{|y~~€€}{z{y|{{z{z{|{z{z||z|~}}{|{}|}y~}{||y{||{yyz{z{{|{xx{yzyxxz{{xwxwu‹5¥…}‹‰~zz|zu{R39Ac;�jr|‡¤�8‹vsstuwuutoq}/‰vqxw}t�M‡vwvvwwvvtrrrtvwyuurusru‡zxvwxxx‰Cƒrzz{{{}y|{||{{{|||{}~{{|~}{€~}|{}~{{}{~~|~~~}~~|€€~€€€€‚…„…ˆ€€€€ƒƒ‚‚ƒ‚……vuwwussvuuvxwwvwsvusvvwururvuuvwvtvwvvvxvruvvvuuuvswussssuuursvvturuqqssrrrrsrsrrsmqlomkknjinQLQsgjjlkkjkbi9GtokkmH@|prpqrqolpl{*	^wpooqt€‰|w„y�+zwqmoeTCFOQWersstqrrrvƒ{olruvwuxxvvvvvvuvvuvvwwvuyywwxv{zy|zyyz{zy{wy{zzzzvywwvvvvyzy{z{z|yxw{zv|}{{z|||{{{|{{{{~|zzz|{~}z}{{|zz{|{{{{|{~z||~|{z{{|{{{{z€~|{{~|}{|{|~}{{z{{{{z{zz{~zz|~}|{~~z||||z{zyy{|||z{zx{zxyz{{zz{w{yzwvyz{ywxvyvu„=�H]HE/auz}wup|Аˆ}ŠŽ�^Ž‹~l\–0‹vsxtvyxuurq!}ws{v€l�A†uwwxur€ˆ‹ŒŽŠ‰††€~{vdOG_swuxxŠGzsyv{{{{{{{|||z|{{||}}|||€€€€‚~~~}||{{~}{|{|}|~~€€~~„}ˆ†€ƒƒ‚‡€ƒ†„…‚ƒƒvzxvvtuusvwwssuustvsuuvusrsusrrwuvxvvsrqrryuuwuuwwuuvuwvrrsrurusqsrusruqvprurrsqsqomoomlllkjeUWQelnpomlklf{;/ (GuolljM7'(Brqponoqqnpm|'�P~pprs^>>81+�wpqpompwwpxurquuutuv{wvvwvvw{wwvuuwvuuwwwvutrvwxv{{wvw{zzxwzyz{yywyzzu{z{{zz{zvwzz{vzv{z{zzz{zwvwyzv|{{{{}~y{{{{{y~~}~{|zz{||}}}}|{|||||~{|{~{{|~{{{}|zz{{|||{}}}{{{{z{|~y{zz{~{~{||{z~~~}~~|~||||{zyz{}|~{||yzzz{|xzwywxyzxxy{wzzvxwv€>�	.#Ptw|yusuvywqfVŠqtrp1rutuvyvuttt‹��Ntvywxx>…qwxw€\LIA865-+8HvyyyxHy|zy~|zzzxzz||{|{{|{}{|}|{|{}~€}|~}||{}~}{~z€€|||€|~~}€~„~€€€†€€~€€‚€„vuwwsuvvvvuxrrsusttuutsvuvvuuvrvvvvvvvqqqrrutwuvvvuuvuuwrwssuvuuturtssrsvqrrruruqppooomvmhhhb]SXZgjklkkjjz…>:;solkmT8%0Rnpnptpqqopnt1�Hpnsw?!ttqooqqqruvxuruvvwuuuusotrrrrqvvvwvvuwvutstwwwwyz{ywz{z{wxw{zxz{y{wywyzzz{zzzyz{zwxwzzzzz{zzzzwwy~ww{wz{{{{{zz{|z{}{{|}|{{{{z{{}~~}|{~|~~|}~}|{~}~|{{{{{}~~~{~~€|{~|}~{{z{{|{|{{y|{{}|{|{~~}}~}|{|||~|{{{{{z{yvx{yy{{|{yy}{ywz{{{|zyyzwzx{z{ww†@Gv|wzuyyxwxkx
T‚ls~t%Žcuvvuuwvwus‰.�/{vvwwytAŠvvxx‚F'.„vwzyˆK�q{z{|y~~~}||}z{}}|}{||||~€}||}}}|~y„|~}||z|€~~}€|~{€€€„~€€…†………†ƒ„ƒƒusuxsuturwusrrvusrsstsrusvvvvxsrsuwuvqsuurstwuuuxvvwrvswssuuvurqvsqrtsusvqpoqrrupppppmplkjhf_RaSQamƒ{nrvjiP;;BBJP]momllahx~‚zwsrotrqooojo{9G€pmpvG!
sqrqtqqpopsuvvvtsqrqqpqqptututtuuuuuutqpqrqsuuvuwuwzzxwwwuyyzxyy{zz{zyz{{|w{zyzyzyzz{zzzw{{zz|{z{}wyzz|{~{z{{y|{{||~~~|zz{{{|~}~~~{||}~}||{{|{}~}}}~~|~|~|}~{~z{|{||~|€||zzz{{~|{~|~~}}|{}~|||~||{|{{zzw||{|~|{yzzwz{z{{{{|{wxxz{yyv‚CF‚wxwwuyxvwyrŠ	
H‹^pqkw� {z…ƒƒyvuvus„,I£Š…ƒˆxwzwuvyz	:‰uy{y„H=7{uzzzŽMjuy|{zyy|{|}||||~|~|{||~}|}~~~}|||{|{zz{}}y|}zz}yy}}}||€|{€~„‚ƒ…‚€€€ƒ„€ƒƒstxyrxutswsrrwuvsrrwttsttuvwwwswrvvsursvvurrvwuvuuuvstsysvvvusruvwuuttsuutnuuursnsmppsnlhpnkgdN3_A1+)9Їxvyslpqoonlknorqqpqrmppmpoor9LzqnpvQh~qqqqqqptuvuurrruvwuuutssutw{{y|{‰‰‡Š‰‰ˆ„„Š}xoqtyy|wywvwwzzzz{{wzzzy|zy|yzyyz{z|{zz{{|zzyzyz{wz{|{{|{|{{{{~|}{{~y}|z~{{{|~|~||~||}}|{|~}~~~~~~~}}}~|}|{|}{~}|}~~~~|{{z{{~{|{~~~|~~~}|{€~||~}z{|zvzzzw||{|{z{xwyz{z{{|||||{|zzwxzvƒG�Nyqwyzyyzxv€£G–˜‹vit� h~obQH`xuwur‡1gjpvvwwzw|r|v8ˆuw{zŽC��3yvzwx…O�dyy~}~y|}~{||||~||‹{€|}}~}}}}}|€€z…y|}€}€~~{Š|yz{~~~~|~€„ƒ…ƒ€‡€ƒ‰„„„‡†ƒvusstwvutwtrsvrssruwvttttswvvvrtsvvuuqruvuusuwvtuuxxwwuzuvwwwvvrqusqtvrssvpupprppppmmlki^I7+����79ˆZoppqppoonjlpoqptqpqrknmmmmjj=Czqql€Hatutrqqouuux{z~{~€„…€}ƒ~{ppncWUTHBD>>:412+)?Pgwyxwwvvwuyz{z{wvzzz{z{{zyzwzw{zz{{z|z{{|zzz{zzzwzzz||{{{{{{}~}|{€~{|{||~|{~~~~|z~{|~{~|~~~€|~~}}~}€|{}{}}|{~~~|}~|~}|~~||||}~}~{|{~}}}}|{xz|zw|||{||{{{zzywvwz{{|{|{ywwz{t‰E'�[rbjy‚€‚†…|†›b%,<IKVDCCA	
+&;<‰tuvqŒ+�U~tvwvwzwv|ry|8‹uwyzˆB�����2xvywyŠO�csy{s}z{{{{|{z~|||zz}{{|~||}~|{||€q„}~|}}~|z{|}y~}}t~|}~|€‚ƒ€ƒ‚€€ƒ€€€„‚„„€uvvwvywvtwuusuwxxvvwsxrsrsvvxvsssvvtvwpvvvuuuvvuvwuuwwwyxyvxwustrusrrtssrtsrsspqpmpqmmkhS7��7{ckqkpoppppnoonpqqxpkmnomomh`~U3FrqrlxM3�U{rsrqjcajeeVUJLD@:840*'
+����
+>^‚ywvxwywwzzyyzwy{z{zzzxw|zxvvy{w{{zyw{x~zz{|{||{{zzz|zy~{z{{}~||{zz~~~~|||{|{|~{}||{{||{~|{{~{€{}}|~}|}}{~{{z{{z|}~~|~||€~~~~}|{{{~|{~|{||}~z~~}|z{z{zy{|{|{v|r{y{xvuwy{{{{{|zzw{zu~I#����:}ƒyeUGB@;40mœ‘†™¡O��-2‡ttvs8Tsuwxvwwwvzsx€�8‹wvuy@
1}v{v|T�X{y~~~{{|}{|{||~}|}€||}}}~}€}|{}|‚‚„~|||~~ƒ||}~y€ƒƒ~}|€€~€‚€€€€€ƒ€vvvuuxxvwxwwsssxxwwxtssuvsuvvvvuwvwuuwrvuuuuvvwuuuwvuuvwrtvvruvsrrqrsruunqvquvoqtjoomqkfW*/hmpqpooooopqqmotkhmmllqpsvtxE=Voqspx\4=T3QvtsqnR:6�� ]}xx{zzuwy{wyvzz{z{z{zzzvtwy|{|{wz|{zw|z{{z{{{zzzw{|||}~|z{{}|}}{|{ƒ~~}~{|||{|€~|z{~|~~{€~~€{{{}|~~}~}~{{z|~{|~~~|{||}|€~€|}||{{{}{}|{{{~{}~~~~{{zyz{{y|{{{{}}||y|{{z~{|{yz~||zzxzz~bEHRn[	tpoh‰Y�8<ˆuuwsƒ=��Kppwvvuqvuxxu3Švvyz~B0}vww{T��S{x{{|z{zz||{}~{z}~|{|}||||~|€~€~}{{}~~}}{|{{{~~|}€€€|‚€€„‚ƒ€€€~€€~€‚yzuyvwxyxwwxsuwxwxwwrwwwuusvwxussrwwvwwwvvuwxxwvruwusuvwvvuvuvuvrsnvrrruutttrtqoslopppkg_ƒsjkyzy}€€€onopsyjjkektmkdg\TB=Kfljcgmpqtqiw‡}t‰
�H}uspoQ3	W€y{yyzzwywxxv{z{wz{wwyzwwyz}y|{wzzzwwz{{z{|z{{yz{z|{~z{~|z|{|{}||{~~}|z~{{|z{||~~|||{z}}|~€}~{~~~}zz|~}{{~|{{{~~~||~}€{{{z|~~}€{}{|~~}~|}|{~o}~{|{w{{z{zz{z||{||y||{z{||{y{{z|yz{zzwy†‰…sƒ—�…ss|p€b�1‚vvvt€B8
 L„elŠŠƒuvtzwvƒ,‰wv{zE%uuuz€^��Qy{z}}||~~}|{~}|}}||||€~|‚~€|}}~}~€~~~~}‡~}|€‚ƒƒ‚zƒ~€€ƒ€~~€€‚……yyuuvxxxwxwxswuxwvvxtyyxwvvwsxwwwrwvvuvvvuuwwwusuuuwswvvwvrtruutrrqwrqruruuurqpoqppprpmh\'���
+"7T‚pdg\YVGGGKeoppmgR7"
7“{pnopnmmstrrrqnY‚-Dvqppk_Sƒyzwzz{{wxwwyz{}u{yvtvvzxzz}{|{{}{yww{{{y|||z~}~}}}z}||{{z{{{{{|z{|€|||~|}}|{{|}}~|{||{{~~€}|~}{~~~}{|~|z{~}||z€~{{{}{}||{~~~|{~~}€~{~|{{{z|{{{{{|z~|{{||}{|z{zyx{|yy|{}|zwwwuuvulŠ wuu{xzc&ywuu~B		+;F[[_SHQgzuyzvˆ“wwzz†J�)txs|ya
+�Py{yz|{{{{{}z{{|€|z{|||}}}{yz‚~}}}}|{~~{|}}~~{€~€z~~~~}~€€ƒ€}„€~~€ƒ‚ƒwzvuwzxvvwvxwwxxwwvwwxvwxuwvuvwywsvxwvvywwwwuuvvvvsvvvvuuusruvvuruszrutuussssomnqmopqqjg].
+%%"xybsƒ^:	��-coqqkq@>6‰flssrrtrqqrtqqpfx3
	Dzqpqll����J…wwv{zxvwwyy|{||v{zywwz{ww{|r{{{|{|yzzzzz{~z|}}|}}}~~{|{{z~z{||{{z{{|{~{{{{|~}~~~{~{|{}~|~~|{~~yz}~z|}~{|~€}{{~~}~{{{|~€€}}}~||z}~|{{z{{|{{{zzyzz{{||}zzz{{z{{yzzyyz|wyz{zwwy{{zuwwq†3
�u~vzu[7�� 7S{yxuxtG;QDBdo£š€|~G	ixvzyw‡%ŠwwzxO
+‡s{w|~h�C~wz{|zz{x|~|z€z€~|€zz~~~~~~~{}~~{~~~|}z‚~€€€~~~€€}ˆ€€}€ƒ„wvvvwxvwwwvtuvwxxwwxvruvyxwwxxxyvwwwwvwwywywwuvxuvuwwuutursrwuussuwwsvrusstsspooppnkmmkfi1�Ajlsjl kZbffy3
Xvpqmy>.zhqrnpqprqqpqqssms=#Czqqrmu�
+
+"%136310Hywv{yuzw{u{{{{}x|zzz{{||{z{z{{|z{zyyzyzz{zz{~|{{|||||{{z|z{|{zzy{~|z|{{{}~|||}~~|{}~}{~}|~}{|~}~}}~~y{~~{z{{{{€~~~~~|{~{|~€€~}}‚€}}||}~}~|{{|{{{|{z{{{z~{|{zzzzzu{{{yy{wzywzzzxzz{uywwƒ<�'�uuwurxaJ6028;AEX_fjb^iuxvxuu~„y†t^o™MqtqtN?unyzxvŠ!‹wwvv„U����…uzxy‚h�I}yz|{zyyz{}~~{}~z}€~|{{{|~|{~{{|~{~~|}x€~}~~~€€€}~€|~€€}~~€wzv{wwuvuuv|{~vvvwvwswwwwwvtwxw|twwuvxuvwvvxvvvvvvrvvwvusurxvwvvvvvusvwysssvsrprqrmmmmjgf2�llea\$fmeecp1!YvpqppC�3ƒgntusqqsrqrqtrpmx96!9)prplw��
+&28:@EKNU`fmtvz{z„†„Œ‡ˆ…†Ž,�Cvxvzvxvvuvyzz{{z|wzwzyzz{uww{{zzxyy|wwzz{|yzzzz{|{zzz{zz{|||{{{{{{||z~{{{{{y{~}~|||{~~}}~~||{{|}~~~~}~z}}{z{z{{~~|}||~||z{{|||{€~€€|~~~~~}}}€{|~~}~~{~zv|{z{{}{zz{{{{{{|{yz||}{}}~w{zzz{{z{z{ywww†.��������oxyztvpnz„Š‹ˆ‰‡‹Š‡€‚ƒ„}~vuvwuuwyyywvnz%‚hqvvlhf{u{vv‡,#Šwv{v„Z���„uzwyzm
+�D€v{z|yx{{z{€y}~{z{€|~|}}|€{~~~€‚€ƒ~}~ƒ|€~~€~|€€€}‚€€€{€€€…utw{ywxwwxtyvvwzxzuwvvvvwxxyvvutvvvrsvwwvvvvuwvrsvswwwwvusryvuvuwwvuruqqurssurpqmrpnmoggp1chjhfu(\}hu^r.QwooorD�6‡}lsyvorprqtpqrnouV:@?BATxqqqlyG”‹…„{yzus~wxypqqrqqrqpoptpa~1	?wvvtvzwvwvvuzz|x|v{{{z{z{xvy{ywwxxz{wwzyw{zz{z{||zwvwyzxwxxz{{{yzzz|z{|{z{zz}}||zy|{~}}zzzz{{zz}}zz{{z{{{}z{{|{{zzzz}||{||~{{|}|{}€~|~|{}~}€z|~~~|{{|}}{|~{yzz{z{{wy|{zz|{{zwvwz|{{{}|{{|{ywwƒ=DKIOU`lsw{‚™I��styzxwvsttutvwvutqtrttvvvvyxvwuvzuuuuutƒ$!yyuuu{e�du{tv‡'Švwzw…^�‚rwvzƒs�Bzvyvyx{{{z{~x{|~}||}}{{ƒ}}~|}||}}}}|||wƒ}}}|~}‚~|z~}~|€€€€|~|}€zzz{€€€uv{|zzwws~sww|vwxyvvwxuswxvsxzzxy}vvvvuvuvwvv{uztvuvvvvztwtxyyvuvvuwruqssrqsrvqrotqonqjhd6a^nhj]/�Ttc^X,�*PppponX��.1?KNJOKDgrotuuprqtprr€~ƒ~€tsrqplx�j„jquuwuwvvusssuuuvwywxtrtvuum~:9‡vwuxwxwxuuuvzx{y{w{|zw|{zzvwvwwwwyyzvvw{{{{{{{{{z{{{{{ywwzzzz{{zyzz{zzz{{|zy~yyyy~~~}yzzzzyyy}}z{z|z{{z||zzz|z{z{{|{~€{|}{|}{~{~~~€|||~~~~}{{{|~~~zzzzzyz{ywzzz|{z{{zywx|}{||{{|||ywwx{„„…‚ƒ‚‚~ˆtj€h�
mwwzwywxyyyzzzvy{{zztvwyutuwwxvvuutvuwuŒ)|pwrnlcƒv|uv„1Œvw{v„d�‰qzvyvy	=xuyz{yy{{|}}y||~|{|}€}ƒ‚‚|}~~{||}}€}|‡ƒƒ{€€€|€€ƒ€~€ƒ„}‡€€€€}}€y€€ƒƒƒ„…€ƒwwxzwwxwwvvwvvvwxvvsrrvrvwtswusuwvvyuvruuuuuvvvwvwvvvutwvwvwuxyusuuvqsrrtsurutssrrmomllhi9�cXajaP1�\\p|j`!�#).)?`momnsZ��qxz|ƒR<24^pprovrqruopqpqrqqqqtrrl~$�[opoqqstuvvvvvtrqututqpprtuwvu~F�,€uvuvvvuuvtww{xzzzy{{zu~zwuwwvvvuxywz{wuwuzuzz{zz{{z{yuw{zzzz{{zzyzuww{zzy~w~}~|zyzz~}{}z{zzzzyy}|{zz|{y{{z{yxwyzy{z{{{{~~||}{~~€|{}~~}~}~~{{{~{~€|~~~|zy{}~|{{zy{xwvwy~{{|{zzy{{||}}}|||{zzzzzyyzzyvxvvwvpoqppm`��przwyyyywwtwzywvvsqrttttvtuxuuuvuuuuuuu…3\k„‡˜I\xvzvw…*�Šuvuw|f����…rwuzvu<|uyzz{xz|{{|{{{||~~|~€}}|}{{}{{~}|{{~~~}|||zyz~|{|~~€~~€ƒ~~~}‚€~€}{€{€}ƒƒ~‚€vuw{twxxwywxwxvyxwvsrvsswwvwvwvwwyu{xwvvsvvvwwu{vwvuuvuuwwvtwwvvquutsuqvrrsqutuupqonmvkkaC�f}xlmt[V`V<3(e}qsƒvsookmpb�'}^dioz+Tvnsnvqtrtnrqsrrrqrurrrn|'�_zvuuuwvuuuurpqpquvusruuvvuuvr}P�*ƒrprvwyvvvuwwvyz|z{zvyyzzwwvuuvwwy{zzzyxyy{{{{{zyyzzzwwuvy{z}zzyzyzzzvv{{{vux}~zyzz}}}}~}}{vy{yyyz{zz{z}zz{{y{zzzzyyy{{{}~~|~~}}~||~}{~}{{zz}z~€|~~}}zzz{z{yz|zzxvwwvy{z{zzzy{{{|{||y||{{z}wywxwz{{zyvswxwwv€hV frywvvywwyyyyzwuvvvuvutvqwxuxyyuwvzvuu‰0gngN>86��R…uvvv‚9�…vwvv|lˆryyzz{:‚v{yzz{{{zyyxy||}€|||}}{|}}{||~z€~~|~y~|~~‚~€~‚~€~{|€€€wvwzvvwxwxxwxzuywuwurrssvvwvvwvxvww{owwttvvuwwuuvwxwuusuvusuvvvurtuusurrsurrusqroppnmmmlbI� "����RYetoponmimqi�*rhllj{(
Nrouivqppqqqpqrqqqtvprrl~-Zzuuqwtrrqqqpsnvyyy†…‰„Šrutvqy]�-qqtywxzxtuwuuzyzzz{xz||{{yuwy{zz{zz{ywyxwxwvw{zxz{wz~|zxwz{{{zyy|zyxwy{{|{{x}€wz{{|}}}~~~~~{{x{|{{{{{}{|}{z|~||}|y~|{}~€}~}}||{€{~{~|y{|}}|{|€|{{~|}{zzz{||{||{vzzvw{z|z{|~y|{y|{z{|}zy{{|wwvvvzwxvtwvyzzzwvgX#
L_|ywxxyvtuvvwuyˆ‹ˆ‡‰‚€|wWR{uxwvvuwxyuu‡6���Q†vxzvŒ9�…vwvwwm�zuzyz€q�9|u{zz~}~{{{{{{x{|{z|{{{|€|z{~|}}{|~||}yxy||~€~~}~€z~~‚~„‚~{|€~€€~wwvxvyvxzzwwyzsyuywxsurvwvvvwxwvuxuwwxxwusvvwwuwyzvwuwsvvzzyvysuuuuurtrsstsvqqqqmmprqqlmaU���?droprqqrllfj+]vmsbu2Kslrrttqpqppqqpsrqrwpsrnv5Oyuuru~‡‡†‚xtsq`YNQA@?9)"cxvvpv`��"€purvvzztuvvzz{z{ywwyyz{{zzxyz{zz{zz{zyy{zzz{{|~~}|zzzz{}{zz|zzwzz{{{{{zzz{zz}~~|z~€~~{zz~€z{{z{~z~~~{}}{z}}~|~|}{~{}~{}€|}~~€€}|{{{{{z||{€||~~~~z{{{{{yzyw{|{{{z||zzyz|}}}z{{|{|||||||{{{|wzvwwzzyvzulxW		]~vvyywxtyyyx_PG=71+8&yuyvtvzwzwxuŠ7�LŠvzxv‰;�	„wv{vxt	,ru{vzww4uz{y{~|{|€{z{{|||||z€€x|~|||}}}|z€{|}€~|~~~ƒ|„~€‚€~€€~xxvswvwzsxwvvstttrssvvsvswxwnwmuuvvwwxutwvwwwvuuusuvvwsuutvsqqsuvuvurtoqsrrrsqmmmmorpllmeQ=…qmnnlllmjhk_ajgY†4/#Gtcgsvy|€…‚uqprtrrrvqrslx;Hwsuuqj-+Sƒvvusq��"~quuvw{ztuuvuvz{yvvvzzxyyyyyyvtvz{z{{{y{wwz{{z{}~}|yv{|zz{zzzyyyy{{yzxyzy{{z}}}{z{{{z}~z{|~}{}}x}}z{}~{}}|{}z}~~~{zz|}~{{{}{}}~~~}}{{}}|z{}{~€~}}|}|{{}zzz{~~|~w{{{~{zz||z{{{zzy{{{|||{{{{|wwyxwxyzqf{vd_RGHJNTefktrvuxuqtvtvyR����
$2vvvyyyyw{wuvˆ8�Jv{zxŠ;~uvzwv€M�����)qtytz| 2ƒu|vywww|ywwx{xs}~|{|zz{z{{y~swy~|||||~~~|€~}~~~{~~|~~~€~{~~{z~€€}}€wzuzsxxysxuzswwxvvvxuvwwxyzywwwwvvvwxxuuurvxwvwr~szuytuusrrrvsuuuvuqvurrusxsqppmqqqpmlleJ?|qmplllomjxh�]fuˆ–œ8 .>Ne_VFB?:8<:TlqusrrvqrrpqCAztuvpiK J{vtuot��rvvuv{yvuvuwy{zxvwvwyzzzzzxyz{zz{|{{{z{xv|z{{|}}}}yz|{z|z|z~wz{{zzz~w{z|zz|{}}~}}~{|}{z~~€z|z|}zz}z~{{z~~~~{zzz„z{}}{~}~~}~~|}€||~||}~~~€~~}~}||{~{vz|}}{{|{z{z{{{}€zz|{z|z}y{|}|y{{|~|{w{{{xw~�
+D|yu†vuuvwxyyyzz{uyxV=
%|xruywyz{vvp‚?�D†u|wz‚@�uyvzv}q����
+.169@GNZstyzzv‚
+%„rvz||v‚wz{}||~}}{}||~€{~|~}~~}}|~€}~|‚€~}€~}}~€€€€€„€€~|}}||~vzuuuxruwvusswuxvwwxuuvwzxyxmvwvwwwvwvvvvsrwquuwszususvxvvvsuvsuuvvusruruvsrsqqqmlmmomlgqN���;vqmlmh^V_lk=�$0."41:S{xy\C" 	*9eqrtrrwsqrqoF=}uwsom
H~vuvp}��uxuvuvywxwuvz{{{xwu{wwzzyzzwzzy|y{{|{{zzvw{|~z{|~~}~w{{z{|{{zzyyy~zz{z{y}zzzy}{~~~{{}~€{|}{zxz~{{{{{{{z~{{zzzzzz|~{}{{}||}~{~{{€~||~}~~~}€|||}~~~|{||}{yvy~~{y{{|{zz|||{zz{{|{}|||y{|}|||zy{|zwyzxxw‚E"8ysttvzzzzwyvwzyywztd
+	ƒrttrqquvwwiWB†u{uy‚B�yywzxz|`QWv~}†‡†Š…†{z{ywqrtyx{w‡$zt}vzyyx{uzvyz|{}{|||{~~|}||~||~|€|{}~~~}}}}|~~~~}~~€}…ƒ~}y~€€~z{zz€~|}~u|txsxvwuvttsxwxvzwwsrvxwwwvvwwvvwvqvuvyvvpwsvvxrxywuzuwvusttvuuvvwwsurrrtrtrsqqqsmmolkknZ������8yqpmke-2��<Šmkpa&tqrrtuvsrqqqZ9€tvtpy
+B€vxvq€
��i}vuuuvvyxvv{z{yxvv{wy{z|zzyzzzyx{{z{||yyyz{~z~~~~{z|z{|~{}{}zz~{zzz|{}{{y{{{~{||}}z~{z{}}|~{zz||z~z|}zzy{{{z{{~z||~~€~}~|}}}|}{~~~€|€}|{~~€~~||{{{~~|{|}z{{zzz{||}{|y{z{{||~|{zy{|{u|zz|{zz{{zww|'	-€{tuuuwzz{wwwyyzwztj7†Šruzzyy~|~–O��@€u{vy‚A�t}v{w{{‰…}yyvvx}‚‚}yyyywywwwxx}y‹	�(€szz|y~y{z|~ƒzz|~€~||}|~||{}}‹|}}|}~~}|~~|}|€~|~}}~ƒ…€ƒƒƒˆy||~€€||}€€~vzwvuuuvxwvvswwxuywwvvvuvvvvsvxwvvuuvuwvuvrwvxtxvxvvuzuvsurtttvtssuzuusrqsntuqpqqqmoqlkkjbQ\_dlE3|pqmjh7<€kmlij�otpsqtrstsos]�5€uuvr~	?{txwq„�`uuwttvwzuvxzyvvww{w{{{{|{|{z{{y|{}|{u{yu{{z}}}}|zy~|{}||~|zz}{{z{|~~zy{|zx~~{{}~}€|}{y~€~{~{{z|}z~~}}{{zy}|{{zzzy~{}|}|€~~{~}€|||z|~~|||z{{z~{{{{yz|}z{{||zyzyzyz{{{|zzz{|{y|x{{{z|yzzxw}4��
Žuttxwwuwwxxwvwyxzqg��e‘Œ†‰ƒzpd_J,�>¢ŽŠ“ b@€v{zx‚C��sxvvw{oruvvvvvwzwxvvyyyyzz{{{{z{|Š�"†uuy}zzzx|}yz{{~€~||}|~{~}}}{{|}}~}|}|{~|}}~}~€z}€ƒ€}ƒ€€€€ƒx|~~~~~||o€y~||yywyusvxxztyvvwvwwvvuvvwvvwvvvsswxwvvwvyrwwwswvwuuvywztwuwsvsuttruszrusuusqvunqrqqlsommkge-tddmog-kpomik/�@|otolt�	msoqsqrrurpnc�4yuttr„9‡tyup �Tƒusuuyvwvxwwwwz{{{zw{{{z{||{{zzz{zyz{|zwz|y}}}}}z{z{|}z~{{|{{{zzyzz{~}~~{y|~z{}~|z~{}}}}}}{{z}|{zyz}{}zz{}~~{zz{zz~z~}{~|~|{~}‚||}}~€|~}{z{{{z||{|{zz~|{zy{{z{|~z{||zzzy{zz{zv{z{{{yyyz|wyxD nt{x|€~}…„†vwywzrv�&ZTJSnf>3%����m‹kpr‚�;ƒu{yyƒF�r€uxx{ywu|wywyv{v{{|y{wyywz{z~zwmŠ�syw|yzz|~x|||z{||}€|~y|€€€‚€€|}}}}~|~~‚|~€}ƒƒ„„‚ƒ„€~€€„€z~~€‚~€y~|}}}usuutuwxzwuwxwwwvwvswwwvvvvvwvstwwwtwvwzuwwvuwwwwwvxvwvvrussrprtrusxrusvopoturqpqqmlmmmmgg 7_fgi`c3opomjn&4Fvqpqm~O�kxoqpqqqurpjo-|tutuu,1…uwvq‚"�R‡uuuvvwvvwzwvvzz{ywx{|{z}{{|{yzz~{zyzw{{zzzyz~|{|}{|{|{~{{}{{zzzzz{}}}~|}{{z{{{|~|z{z~€}~~}}}|z~}|{{zzzzz{z{z{{zz{{{}}~|~{}{€~}}}€€~|{{|~}~|{{{zz{{|{{z|{{z{{{{|zzyz}|z{zzw|zy}zyzz{{xz{~||{zzyy{J9¤›ƒzmkWTI8qwyw{rt�vXvv~ˆ—7irtvxo‡
+9‡vz{y…I��xnvwwzuvwyxywvxzwvwyywywwwywvyyo[Œ
€rxyx{y{|zz{{z{|~z{}}~{||}|{z€||~|||}}}}|{~}€€~}€ƒ…„„x}~z~€zz{|}}}}wysvvvx}vzzyxxwxxwvswxvtvxwvvvrwwvuuvzwxuwvwxxwwwyvvuzxvvvrussstsvsuvvrtqrrruqptqqpqlqomgf7[yjlcc	<Zvmolp+���Iypnrq|	d{qquuuttqljr {vutu|1&‡uwvt}.��[‚vuvuyyxwwvwvw{|{xyzz~z|~|zzz~zz|}zy{{{{{z}zz|{{}|{{}}~}}}z{~{zz{{|{~}}}}~|zy{~{~|~|~}{{z}}~}}|}{{zzz||~z{{{z}z~|}}z|}~~~~}}€€€~}€~}|z€z|{z||{~|{||}€y|{zz{z}}yz{{zz{||{{zzz{zyzy}{{|wyzzqXXuw{{b1�
+		7ouyw{r|	f`„vqk†7#csyyzq‡	6‰uyzzN�zdrvvvwwww…„ˆŒŒŽŒ”•—š•˜“˜“‘Ž‹”¡„sxwz|~xz{{}{}|}{|{z|~~€€€€{~€{||{|ˆ}„}{|~|~|~~ƒ€„…„~}z~~€y||€||z~yzyxwy{{uzwvvsuxxvvvwvwwywwvvtsvrvvuvvvuvwuuxxxwvvvuvwssrruurtusrvssuussrtootrrtqqsomopogh(;grolfe�1:Ompoln1��1FVGJ`]ntqqsur€ƒrr �W|tssqvtpqkjl�|tuqu2�‰uxuu„0�Vwuvzxvvwvvvwv{z{xzyzz{|~z~|z|z{{{{z{{|z~|z{zz|y}|zy{{{}z}~zzyzz{~~}~{{z}{{~~}}~}}zyz{}}}}{}{z{|}{{{zzzz~}z{}zzyz~~~~~~~~~€~}}}}€€}~~~}~~~~|{|~{{{|~||||||{||w}t~{z{{|}~}{|{|{zz{{|}{yx{|{y}{z|yz||wuxwpo~k��-luxwysw�Fqvyvs†7P}yz{uŠ1uwyz}U�ss„…‡‰ˆ‡„{tikecSOGD>:750.€sxy{wzzxx~{z}{{{{y{|z{{{}{{{{€|}||}}|‚~€€}||~}}~€€ƒ€ƒ‚~‚…„|€z€}{|~x}~|{{{yywwuzzzz{t~sxvvvvwywwuxxvvvvwvwwwvwwvuuvwv{xxwvwwuuuutvuuuuuvwurvrssuswrurqrtrtomnmoopohq/Deonkgn���/47@CD^xnolt3�"—‘vszqpqttssrwvka+Tvqqrstqpokw�p|tpt€8„txux|6�K{wwzywuvvwuvwwz{zx{y{~{|y{{||||{{{z}~{y|~z}zyzzzzz{{|z}|~~{}{z{}}~{|}}€~{zz}}|}z{|~~z{z~}}}}}~|z|zz~{{zz|}}~}{z~|~~~~}}}~}~~~~}}ƒ~~}€~{~}}~|||}}~~}|}}{{~~~|z||z|~|z|}{z{{y{||{{}{{||{{z}{||{z{zwt|%_wzv{tvGvywy‚8�AP{{{zuŒ+‰uuvyƒZ�$/57.+����€rxz~z{{xx{{zy|~}{|z{{|}|†{~~€{~|||ƒ~‚‚~|~~€~ƒ‚€…€„„…€„|x€€~~{€||z{xvuwvyvyvxusuwvvsvyxxwwwvvsrrqrsvxrywvwxvwvyvuwuuvuwuuvsuuuuuuvuuusvutuvqrsrqrupqntmppqnlc2+&/BRepolgk%�ux{y|~vyqrrmpmplv6�-‡]nrrqpguqqqqqpmhv/
+F|spqqotoqql{n}vvvy>��~uvux};G‚vzy{uzwvsvwwwwwwv|z{{|z{{w|{{~~}z|~{zzyz{{xzzyzzyz|{~‚~~~{zzz~|~{{|}}}}~~|}}}|{{{y{{zz{}~}~}}}~~~{{zzyzz~z{~}}}{zz}{€€~~}}~|ƒ~~}~~~~}€}{|{~~}|~~}{z}~~}{{{|{|zz{zz{{{~{{{{zz}{{||{x{{|{||y{|{||zzvuu‚Uzw{un <M}z{zy~8
+`txtxuŠ /‰vwyyX�����	‚uyzz||n~yy{zz{~~~~||{{||}|||||{|{||}|}}|~}€‚~~€~~ƒ‚ƒ…„„‚|yyy{y{{~|{x}}}{{xwwxwwxxxxvvxxvvwwvzv|wyuvvvvyvvvwuzuwvuvxsvuvvysvswwqwwvvvvtuwvuuututuvuwrsqruqqormpqpooknw{wuulopkhl)�uVckllmppqpqppmplt:�	0€koqrroprqrssqummu7"�%A~mpusqrpqokyg€uvuvE€twvyv>�B†vwzzwwwwwvzv{||wyzzvwwwzzz{{{~~}~{}{yzvz}z{z}zyy}}€}}|{z{{{zzzx~{~~||~~}}{|}~~~}}}|~~}}|{z{z{zz|z{~~{|z{}~‚}}|~~~}~}~~~~~|~€z€~}€~|{z||{||y~{|z{zz{{z{{|z|zzz|~z|{{{{{z{zz{|z{|{z|||}|{{{u„ 	�<P{zw{ua3
Wyzzwy~:7ddmqt~‹‰”Šqrvvyv�(‰vyzyf,}uzz~z|}~z||||~~~~~~}{||{…{€|}~†€{}||}}|€}€~}|~€~€€€|†ƒ€€€|{|{|{€{~}…z}~y|xuwvuwuwwxxxxxwvwxuuvuwxvuvuvwwvsuvuvvxuwyvwuwvvsssuxwwwrsrusvuvuutrrsvtvuorqruurpqqrqqrqmkkkkkklpojjn,�cchlpopmlkjqlmlloqC
+%}vpoorrqqrrorpqnpz26@‡ros{yrrqnmw*dyutuxZ�uxvwy€C>…wvyywwwwwwvwx{{w{|{wv{w{{{{|z~}|||~{||~{zx{~{z{{zyz~€€€~~|~~~}{{}}~z~~‚}}}~~~€~~~}}{}~~~}~}~{zzzz}}}{{~z{~~~~~~‚‚~ƒ~~ƒ€~}€€}}|z{|{{~z}{||y{||~{z{{{|||z{zz{zz|}zw}{twzzzz{{zz|{|{zz|yv…cuywzyl@<N_pokvywyx…= |os{}zvtvywuuyxyxx"�(‰yzvwZ+pv{zxyy||zxxz~~||~{|~|{{{{|}|~|}€|{~|‡~€}}~}€€}|||}€€~}„{z{{|zy{€{{wyuwtwquuuxwwxxwxwvwwzwyywsuuvxxstuwwxwuvwwwvusutxuvxuwwvwwwrxuvutrsrrrtrrrtssrrsrqpqqprpmkpopllmqolhl3�	 VshpoqoqqqppoooootF'Iurpprrrprtuqsrqpn{0$#@r‰tYONmrqpn~/X|urtyS�w}vwz}D�;}vvyxzwwvwwxwvzzz{{|wvuwzyz{z|{{|||}|{{|zzzzz}{{z{z{z}~~~~~~{z{{}}}{y|~~~}~|€‚}~~{|}~}~~~}~~}}}}}{z~~}|}}}}}~}~~€~€~~}~~~~€~~{{|{{}~x{{z{{z||z}{z|z{}z{z{z~}|{{{{}ƒ†Š“~yyy|{{|{{{{v†!„‡ˆŽ‹†uvwyuw…Œ‡…}zyzyxxw…>Šdzxxywyvu{{{{zz{zv‰*(†xzwub#������/>pv|yzy|zzy}|||~|€~}~€~~|~~~|ƒ|~{|~}~„ƒ„~€|†}}~€ƒ€€…€€~‡y€|}{„y|~{~ywwwrwsutuxyzywvvsvwxzvwozusvsrsvvswxwusvvxwvvwvvxvvwwwwwwqvsuvvvrrrrsqtoqrumqrqrqpopopplmmokpllmoolja? 5\xfkmmononlorpponqG8+%4qrpqrqotrtrqroprmtg|†~†•E99nrpoo{0Vvrtru`��j|tuw~H6€twxvzvuvuuxww{{zzzwwwwwzz{z{{|||}}}}|{{zzyz{||{|z{{{||}~z~{{|}|{{{{{}}}‚~}~|~‚}}|}}~~}{|}{y{~~{{}}|z}}~‚~}{}~~|}~‚~}{~~~}~~~}~€€~}~||}{|~z{|{{{zx|||{{{{z|{{yzzz{|{zz|{{wi]e[Q@<v|||z{{zy{zy.(†bmzvxwvvuuxyzyxxxwyy{{zuB‚mwvyztx|zz{yyzy{{u‡&#(xyzzw„U7����1.689<ACU]cjuqmjiuz|zzy}zyy}}|{||~€€~|}}ƒ}|~}}|}}ƒ~~}||~€ƒ„|}€€€€ƒ€€€€€€€{zz~|z{zz{€~{{wxyyuxuuuuwyyzusrsvwwwwzwzuuusruvxuvwxutvuvquwvuvwvvwwv{uvuvvvuuvsrutuquqrruprqurqppppqrpqmpopqoooookl@3	DŽ†y{nnptqqqpqmom^@JWeqstpmvmgnrntrqtttsqrtppqmpoomh\‘Z14h{opn|3H}ruqz\�!b{uuvzT4{wwxy{wwwwyzwvz{z{ywx|{{yzzz{{|~|~}}{}}y{{z}{{{~z|z}z|zz~}{z{{z~~}}|{z{z}|~}}~}}}‚}}|}~~~€‚‚~~{z}{}~}z~}}}}}}}~}}€~}}~~€~~}}|}~~~€€€~~~{|{z~z}{}z|{{yyyz{{z{z{{y{{{|{{{|{w}Y;€{{{zz|zz{{x†."€rrvyyywwwzwyyyyzz{wxzyzu†F~rwtw{u|||{|{|{|{zvGF‰v{zy}Q'�!(*7:AKSZbixu{}‡‚‡ˆŠˆ‘‹ƒŽŠ‡€~z{wz|~~~z}zy}|{{{}}|€~~z||€||~ƒ{|}ƒ€~{ˆ~€~ƒ{}€ƒ€€€€„~€~€{~||||~€{€wxrrwvvtrrtuustttrvwwvwvxvswwururvwwwxwuvvxvvvzyvvvwwwwvvuvwxvuwusvurrrsrqsrrqrsrqqoptrpopmrpopppoklmjTHB@@@?8244(;xpqpqqpppolopypvlrooopprrsnqrrrorrqorrrrrrrrrqolm
+�cprn}9Grvq|Z$7V}uuuW$„|wvzyzwzzzywxwyzzzz{|}z~z|yzy}}}~}}~y~wz}}{zzzz{{{zzy~}~|{{{{}}}}{{zz{}~~~}~~‚€~}~~~}}~}€€{~~€‚|{|z~€{~~~}~€~}~}}~{}€}}~}~}ƒ~€}}}|zz{~{{|{{{{{{~~~||z{}{y{{{zz{|z{|zvƒQG##q~z{z{|yzw{xˆ+.‚y|zzvxwyywwxzzz{|y|zzy{v‚9.Q~tytvvvyzy{{~|~||{y‡"$1|z{{{}gXXu€…‡ˆŒ‹’”ސЋ}st€x~vvxwwyyxwyzzzywwzzzy{}{{}}{|{zyz}z}}|{{||~€}z|{{|~||||~}z€~}ƒ€~‚~~~~|~~€|~€~~~~€…„„„ƒ~~~~|z}}}}|~||wyvvvvvzsvuwwwtytsswwvvvvvwyvuqvrvvwwxwxvvuuvvvzvuuutvwyuvvuuwsuuuvuswruuuuusqqrqqpmqspoppmqrqoppoooopkoyx…ŠD&>ˆpqotpppomqrtutrrssqsrqqrrppppqqsqqmrrqqoportpnld!T{qrl<	@}qwqz^;��Kvxuuzl}wvvzxwyzzywvzxv{|{||{|zyzyz{yyy}}|{{{zz|v{}~~{{z{zz{zzz{~~~z}}}{}}~|{{}}~~~}}|~~}€~~~}~~~€}}{~‚~~~|~}~{~|~}|‚~‚~~~~}~~~}}|z~~~~~~~€ƒ|{{{zz|}||z}|{{|~}}z{|{|z{z}~|~z{|zu…N�!ty{{{z|w{{{vŒ9„z|{|||wzz~||{|yzzyyzywzx}F#.stwtwyv|yyz|||z{{{z}}‰‡Š‰”ˆvz{{{{z„Œ‚}ƒz{{{yyzzz{yxz{zzzz{{{{{|{}{z||||wzyyxz{z|}|{||z~~~~~||||€|||||}{€€€€€‚~}{‚~~€~~€€‚‚ƒƒ€|‡}ƒ~€„„…|~}}z|||€}€|rwuvvuutswv{xvvttruuvxxwruvwsurqruuwux{vvvuuwvwyyurvvwvytwzvuvtuvuuvuurrqrqrttrqqpqproooppmmlqkoqooppoolmiblY�
)<‚qpqroppnmllmpnprooppqpqqrpppotprpnooppqqsrusqnnZ9
+9PsrrlxK<rurrfS%2427;@COLZgd[lltyzuo€tvu{xvvwxzyuxyx{z{|zy{{|{~yzy{{~{{||yyz{|}{z|}z{z{|{z~{z~}|{}~}}|{}}~}{}~~~~}~~}~~}}}€€~~}}~}}~}‚~~€€€}{}}}{~}‚‚‚€~~~}}}~€‚€~‚~~~~{|{zz{|}{|{||~~{{{}~|||{{z}{z|~||~{uwN
+
+!„w|||y{w{{|y5'�j{|zy|~zz{zzzz|yyyyzzywyvveTTipzmqwvvyzvy{|zzzz|{zz|zzw{yyyyv{{{|}{{zzz{z{{{|zzvyxxwvvvwzz{||{}y{vzzz||~|zzzxwwz{~~~~|zy|€}|{{}|~|€€z{|{{~|||~|{~~€€€‚ƒƒ€€€€‚€~~€~ƒ€ƒ…€ƒ„{~~{~{{||}}||}|~}yyvwvuusrvxyvuwwwvvutvuvvvvwuurvuvvxuvvusuuwvxwuwwvuvvuyyywyyyvvwuusrsrrrrrtqvrrppqmrsppoqmrmrmppqoooollllfcc�2€noqqpqqplpppoooqqtqsttqrrrqqoqqqqqmx‚‚‚~xrrqpllI	^|rrlyX7…rqquqn‰ƒ„……}zvw~{~|}yvwxzuwuuuwwww|z{yyxyyyz{|{z{|{{{zyzzz}{{{~z|wv{{zzzz}zz{|~{z||}}|}~}}}}}}~~}}}zyy}}}}|~~~~~~}}}}~~}}}~€~~}€~~~~~}}€‚‚~‚‚}}~~~€||}}~}~}~€{zz{{{|{{|{|~{{}{{{{{|{z{{{z~{{||u{O6 Ov}z~y}x|z}ytTB[v{}zy|}{z{{w~z|vzwyzzwvyyww…„xyvuvyvywww}{~z{{~{{{{{|{|{{{{yzz{{~}|||{|{|{|||{||~x{zxz~x{y|z{y}z}x|y~{z~~yzy}~y}|||}|{|}~}}{||‚|{{}~|‹|€}|z|~~‚ƒƒ€~|~~‚„~€€~~~~~€€€…{~~~€€{|}ƒ|tvvxuuusrwwxvvvvwwwsrtvtrrsuvvsuwwwvvrqvxuswuvtvuuxxwwuwvuvxtruuyvusqqrqqqwqrrsrrqroqupqlqlmmmljioooplkmlllef�1|mlqqpljjllrrvyyuvnpqqoqqtrqqqqqqqqp_FKNIIVlsrrnhe~n‚€turrlv_�1‡qpuuuuustvvuuuvtssttvuuuuwzu|~}tvxuxzyv{zz{zyx{z|zvy|||{{z{{zzzz}yz|yvzz{{}}~z}{{~|z}}}~}}~|}}‚~}~}}~~~}~~}€~~~}{|~}~~€‚~€}{}‚|}}~}}‚‚}‚€‚€~~}}}€{|}€~~}€~~~|{|{{{||~{{~~~~}}{{{{|}{{{{|{|z||z{wrQ:1	hy|xxyzzy{|ytz}spƒ|sy{{zz|}|zyzwww|wuwyzzzyyyzyvuywz|zwvxxvy~{zzz{y|z|{z{{zz{||z{{z{|~||{~|{{|z{{|||{wz||||x{{|zyywyzzxy|||~|yz{|z{z{}~{{{{}}|}}€~{}€‚|||||{{}||}~|}}}€}‚€||{|}~~ƒƒƒ€€€„„~ƒ€€€~ƒ~z|}€€€€svuxssuxrxvvvxuuuuvttxsutuuuvurvvwwxvvuvwusvtusvuvvvuvuvwwuzzzuuvvsrrtqrrturqssrrprrrtrslqoqpqpoonnoputqkkkeg�%mlppjmw|{xupd_YNTaqrrrppqroopsssqrrT.=hxrsttrqurpqstprlsb�)Šqqssuuttuvtptvuuuuuxyyvvvwyvl€ztuxuyyz{zz{zyy{z{zzz{{|{{{z{{z{y{zzzzyyz|{{||||{{z~}}}~~~|}~~}}}}}}~{zz}}~~}|~|‚}~}~~}}}z~~}}}}~€~~€~|}~~~~}}~‚‚ƒ‚~‚ƒ|~~~}}}|~~~~€~~~~€~|~|{z{zzzz|~}}}z}~{z}{~{|{{zzzz||y{zwsyx…‹~t|}xz{{x~|~zxwwv{xz{|zwy{z~{zyzw}{|~}vywxzz{{{zwvyyzzzyyzxzy{z}zz{|{{{|||||{|||{|~|{{}{{{|{||~{~|~zzww{||}w}{}x}~~|}z~z|{|||x~}~~{|{}|~|{|}{~|{}~~~{~~}|†|€{|€}‚|~~€|„ƒ~|{€€|€|~€€‚€€~ƒ€€ƒ€~~|…€||€‚€€‚rsrvuuusssusuxwuttsrsvruuuuuvusvvvtxvuuuusssrruuvwvvvwvvwuuvuuvvuussrrquwrqsrsrqqpqrlkllmqljgipjrqsrlbdillngj��"ypmoogS2,	U{qqqolonppoopqrqwW1 4_yropomplpqnptqomnj�
€qrrtutrrvuqtvtvvuuuuyzzxvyvpf†txwwvu{vw{zz{z{{z{|z{zwz|{{z{{zz{}{}~xzzz|{{{|{{{{{}{~~}‚|ƒ€|}}}}~~~}}}~~}€‚~|}}}|{|{}z}{~~~}ƒ|}}‚~}~}~~ƒ‚‚€}}~~}‚}}~}~~}|}z}~}~|{|~z{{{|}{||{{{{{{|{|{{z{z{zzz{z{z|{||{{|{zy{|zxwwzwwwyzzz|{zz|{z{{wyy{}|||}wxzxyzzz{{zyyyzzx{yzz{zyz}}~z|y{yy}|{{~||~}~~}}{{{{||{|{z|||{ywvwzxxwz{|y|{}y~{||}||||yt~~|}z{z|~{|{z|~||zz}~~|~~|}|}~||~}~||~|~~}||€w‚|~ƒƒƒ~}}~ƒ€~{~~€€€€‚wxswusrrrwwwvwwystr|tvwwwvwvuvvwvwrsuuvvuuuvuztzvwsvuvwvvvsttwsrqrssrruuurqussqpopprlnllmqgTHG@:75.!1@Khmqnkl{monol@
+GIoppooooqpnrooqrmn�\ymtrrppotqvutolopl�h~prrqqqqrtuyuvyyx||€~†……ŽŒˆ—›	hwyxvv{vyzzz{yz|z{{z{}yyzzz{{{z~~~z}{yzzz|zz}{|zz|}~}‚{~€~}{~~~~|~~~{{{{~{~~~€‚€~}~}~~~}}~~~~~~~~~~€~}}‚~~~~~~}~}}~~}€~}~~~€~~}~~~|~~}|}~~~|z{zzzz{|{{{zz{|~z{||||{|{}zz|{{|||{|||{{w}}~|{{{|}}}{|||{yzy{|z{|zz|}}~~z|w}|}yyyxzy{{zzyyx{z|y}{}zz{~|z{~~~~~~}{€}~||}}|{{{{|}~z|{{{zy|~|z|y|{|z~~|~~}}|€||{|z}|{~|~zƒ{}}{}{{~{zx~€€~~~€„}~|€|~~€€‚„ƒ|~~{€‚ƒ}~}~€~€€„„€~€€€€€€wwrtususrwvuuxvtsssrsrruxvvuuuvwvuusvwvwvvvuvuuvvwuuuvvwvtttsruuusrrrsurrsrruuuqrrrrlmmklpbC0(<eoqnoiulokom9	E€qqqmppnpopqnqqonx
+Zjhpprqpqrrssrpnoro
+hŽ}v{~ˆ‡‡†…{€{znpohXUJFCB;4)W{zz{w{|zxuyzyvyvy{z{z{z{{zzzx{|{~z|{y{zzz{zy{{~~}}~~|{{~{ƒ€~~{~~~~|}|z~~|}}~}~ƒƒƒ€ƒ}}~~~~}}}ƒ~‚~}ƒ€€‚~}~ƒ€}~}~~~~ƒ~~~}}}~~|{zzz{~{{{{{|{{z{~|{|||{{{|{||{{zz{}~z}}{zzzy||z{|w|{{||~||{zyw}{z|~|z{}|z~wz|{zyyy|{zzzzywy{zzy{{zzyz}|}~}~~{|{~€{€{||}{}{|}{|{{{z{{{{{||{{{{~|z|~{|}y}}}}||||{|{|}~|zx{zz||}|}~|z|~~€{}~‚|{~}|}€ƒ|€~~|{}‚~~„‚€€~€€~‚~ƒ„ƒ…„‚€€€ƒ€uwsrstuwrvsuuxvtsvwvsrswwwwwvswvvwuyuvutuvwuuvuvvvtvuwtutvvrrtrssttusssrsusuqrqqrrrrkrnqkr^;
&gkpkjbepomlq2	N‰df\gnosstttqrplo$
c^|†~rmpqrqrqoopsqgUTKC@;85-%%(
	�O‚vy{wz{y{ywyzzzy{|{{|z~}~~y{{||y}{yz}}~z~yzz~~~}~}}}}|~~{{{}~~}~~}}}{zz}~|}‚~€‚~}‚‚~ƒ~ƒ}‚‚~|{~~~}}~‚~€‚}ƒ€€€}}}~ƒ~}~~|}}~€~~~~~|z|~z|||{{|w{z{||}|{|||zz{z||{{{z{{{{zz||{{z|{zz|||{{{{||{{z{w}{|{}}}zy|}~|{z{z{{{{|~z{zzwyyywy{|}z~}}|}|~|€~{~||{{|{}~}}}}{|{||}{}||{{y~|||}{z{}|{|}}}|}{}{}{|y‚ƒƒ|~~~||{}~~~~€y}~€||~€|‚|ƒ€~|~~|~}‚€ƒ~ƒ€‚€ƒ„ƒ~………~‚„ƒ…ƒ„……|‚vxtsuurrrrrrwwwtsquursvvwvsvvuvuuwuywwusstwuvuruvxsyyuusvuvqtvvsttsurstrsrusrrrqrrqrmmlllln3 _iljfi01Utmnir1$F•uzz„~yyƒ}ywpprmo~#LR]NINXlrrqpqqpqqp|��K…wy{vzvvz{{{{{{{{{z|zz~{~z|yz{||}y|~z{{}}{{z{zy{|~}}~}}}~~|{{{}}}}}{~}{~{}}}}}~}‚ƒƒ~}€‚~~€~‚~}}}}€€€‚ƒƒƒƒƒ‚€‚‚‚~}~}~ƒ|}}~~~~€}{|}|}~}}~~{{{{~z{{|z}~~|||||z||{{|{|{|}|{~|||}{|yzz{yzy{{|{{yxuw{v{zx||}z}}~z{{|xyz|{zwyzy}z|zzy{{wwz{yz{{||{|{{||~~~}{~|{{{}|y|y}}~~{{|{||}|}|||{{}{|~{{|{|}{y|}}~|||~}}}|{}}}}}|}€~|{{~~~€{zy~|{{}{z~{€~~€€~|{||‚€€yƒ~„‚‚‚„~€ƒ~„€ƒ„ƒ€€€„€„€ƒ€vxsuuvuutustvyxsuvuvsswvvwswvvvruxvwvwvuuuruvuvvvutuyvutvprtvyuurttutsssrqqtssqqtsoplqkmkki1�4]}gdaw8 *QonomqE��7V^XaLJB?<>'Cbnpqm€1��F~luozpqrrqqz��'L„syzwuuuzzwzzz|z{zzzzz|z~z{yz{~}}z{{{z{|}{zz{zyz}}{{z{}}~‚~yz{{z}}}}}}~~~{{z}}~€~~‚€ƒ~~~}}|‚~}}~€‚‚}ƒ‚‚‚~‚~€‚€~~€~~~ƒ~~€‚|~}}~~zzz{~{z{{~{{zz{z|z{}}z||{z}||zz{{{{{y{{}z|}||{{{~{yz}z{{|{{z}{{{|zy{|zzyx|z|zzyzw{z{zy{{{y}z{wzwyyyz{y~{{{||{|~}~~||~}~|€{~~||y||~|{~~~|}{{~~~||y~}}||{|{|||||{|}}|€€}|}|€|}~|}~~~|}~~~~z€~‚{||{~~€|~~‚}|Œ||ƒƒƒ‚…„…€‚…~‚€~ƒ€„……ƒ…€‚€‚€†wvtsruxwsrrsuzxwwvruwvwuswtwrwwvvwvuurrvussssuuvvussyzyyvursuuvuuuvstsussrquvsrprqpmlplkkls4�I†…xea>96@aoqpojYE[wp}A06Qonpl{7�.@€`upqqppprqw@M„pxzzvuz{vy{zz|z{zzzy{|zzzyzz{{{yz{~{zz|~{z{{z~}~zzzy{}~~~~{z{zz}|~}}~}{~}}}}~}‚|~~€€~~ƒ€~~|~}}}}~{|~‚‚ƒ‚€€€}~ƒ„ƒ„‚ƒ€‚€ƒ€€}|}|~~{{zz|{|{zz|{|{y{z{z{{{{|||||}}{{{||||zz{{}{{}{{{{{{|z{{zzyzzz|{{z{|{z{{z{zy}x|{{{|w|{z||{zyw{yyvvzzzyz{yvzz~~}|{~~}{}|}€}{}|z{~~{zz||~}{||{{{{z~}~~||{{}|z}|||z|~y}y~}}~~}~~~{|z{~{~~z~~~€~~z~~{|||{|z~}||||~|{|||||}}~‚€‚}}~€€„€‚||€ƒ€„††„…‚€€„€€wwtsvuvyrvvwuwwwvwrwwwwwsyyxwwvvuuwvu~qvquuuuvsvuwruswwutsstsyvusvvwtsrrsspvuurqopommmlqjkj8DcgU[[8'
+R}ot~{{otqqowwve`vi*Rzppmx:�;„lvpqrwquqqw2�������������M‚vyy{z{{{{{{{{}yzzzz{z~z{z|y}{yyzz{{~z}z{zzzzzyzzzzzzz{{~|{{}zzy}|{yzz{{{z{{z~}|}}|}}z}}~~~~€ƒ~~~}~~~|}~}}~~€€‚}‚ƒ~‚ƒ}‚ƒ}~ƒ~~~~~~~‚}~}}{|z|}~~~~|z~z|}{{{{~|z{{||||}~~}{||{}zz{||||}|}{{|~|{{}{~y|y{|{{{{|z}zzy}yzzzwyz|zxzz|}y{zzwyvxv}{zy}z}x~z{{}}}z~}||~}|}}~{|€€|~}~}}|||~y|{|||{{z}}}}|~||{||}}~}~}z{}~~}~||{}~}|}}~~~{}{}~~~||||||{|}}~€~~}†|}}„„…„…€|}~€ƒƒƒƒƒ€‚ƒ…†‡†„„‚€‰€†„„…ˆwxxvuuwwrwrsuvvtrvsrsrsvvuvxwvvvuuvuvzqqqruuwwuuuvrruvvuurtvssvussuwvuqqrrmmorrqqqmmmllplgj9�NR[mv„9
+LvikmmmnoqppoomkhfZ�XzqnlpB�9oruuusqoqqv52������
	*3289?AFIPWTU_tyxzyvvwzz{vuvwyyz{{{{zzzvwxz|{yx~{zxzy{|}||zzy|{}}~yxzzz{{{zzyzy{|}|}|{{}z~|~}~~~~}}~~}‚~}}~€ƒ‚ƒ|~~}}~}{~}|€€‚‚€‚€}~ƒ~~‚„~}‚~}}~~}~}|}}~|~{{|z{{}{zz{}~|zz||}}|~}}}{|{z|zz{{z{||}|{yz}{|{{{|zzyz{z{{|{zzzyyyzz{{|xxxyz{yxyyx{zxy|zy{{{zyvyz~{{{~{{{~{}€~€|~{|||}|}|{z{|||zzz{{}{{{||}{|}}~z{~{}~z{}{|}~yzw{~~~|}~z|}{|}~~~~|z}€€€~}}~}||||~~}{|€||~}}ƒ~|}ƒ€…€~ƒ…€‚}‚…‡„‚€€€„†……€vwuuuvy{rvwvuxwwxwvvvyxyv{uws{uvwwwyxywwuvuvvvvuuvvvuvvxs}rvutt}strwwwwwqtrusrssssnrlpopljkJ�jiigev=
NoklppompqurpoqqpbQ0OzqpkiD16}orruutqrtqn5		!(1257?@BF\Z`gnjqwyz…ƒ„†„…‚‰‹ˆ…†‚†~xuuuzyz{zzz{yvzyz{z}zzzzz{vz{yyzz|y~yzyx{}{{zz|~~~|zz{z}}~z{zzz}~~}}}}~{|}|}~~}}~~~~}}‚ƒ}‚ƒ‚}~~}}}}~~{}‚ƒ‚‚~ƒƒ~ƒ~~~€~~~~~~~~€~~~}}~}}}||||z{}z|||}~~}}~||||~||zz{{|{{}|||z||{€z|z||~~|{}y|{{|}|{z~y~xywyz||}||{yx}}z{||}yyz}y{|~|{{}}}z}~~}}z€{€€|~|~}}|}|{{{|}||x|||{{z|{}}}}}||||||{~~|{~~|z~|||z~}~~~{z~~~~|~}~|~~}~~€€~||{‚‚ƒ}~‚€}€~ƒ‚‚€ƒ€~~~€€€‚ƒ„ƒƒ‚‚„†€†‚~„€‚„…‡…„„‡vwwuvwvxtwuuvxwwuwsvvvvvvuvwqzuuvuuwxwuvvwvvvvwvwvutuvuvstuuvuusrrsvroryqtprsqjvssmpmllnkhdT�Ypokfs<
JtoqquttqqqqopptpeQ$����);M{rrooI((
+!%.3orpptrrquuuwnxjq€…|ƒƒ|z€|~{xtqrwwxuzuuzuruwwvzyzwvvvvvvwvzz{{u{{{z|wz{z|{z{z{{{zzvz{{{{zyx|xyywyz{{zz~~zz{zz}}~{{z{{|}~z{z}}~~~}|~}}}|~}‚~~„}‚}}~~~~|~‚‚~‚ƒ„~€„~€ƒ€ƒ€‚‚}ƒ~}ƒ}}~~~||||{|~||{~€€~|{|z{{{||{}|}{|{{{z||z|{{{{||{|||zz||}}{|y|zz}{y|{zzyyz|y~|zy{{{zwyzzwzzzzyzyyy{~yw||{{z}~~~z{||~}€|~€~~|{{|~~~{yz|z|{|{{{||{|~||~}}||{||{z|~}|}|{yx}{z|}z~~|z~||}}}{{{||€|}||~~|~}}|{~€}~~|||}}|~~€|‚|ƒ‚€€†ƒƒzƒ„ƒ„‡€…„…€€ƒ…†††…„„wywvvwvxsvurwyyvvwrwvwvvvxxr}swvvrxvvuvwwuwvvwwvxyztvvvuztyturrrurustruvvvwsrsuuulpmqpljgfH
$Jrtolk@"Glpqtrqoppopturrrh^4-&,/14:@EN_qrupusshy€‹†‡…ƒ|„squqptpuouvuuuu||yvvuvvuvwwxuwwyzzzzwwvvvvvvwzz{z|yxvvwwwwvvwyzzzz{z{|w{yz|{{{z{z{zyyzz}}}z~w}yyy|zzz{zz|~~~z}z{z}~~{}~~z{{}{}y}|~}~~}~~}~~~}~}|z}~~‚}}~|‚}}‚€}‚}}|~ƒƒƒ‚‚~‚„ƒ~ƒ~~€‚€~~}~~~~}~}~~~€‚‚|{{~|}{|}||z~~€}|}~~}}|}}}{z{|{|||zw{}|||~{~{|z~||{||||{{z{{zz|{{z{{{~yyz|{||||}y}~}}~z~z{{~~€}~{€|}|}|}}€~||€€}{~€|z{~{||~||{||~|~|~|~||{||}{z|~x~}}}~}~~~~{~z~}~}~~~}}~{}|}{{||~~€z|€‚|€}|}}„‚‚€€€‚|„ƒ„€ƒ€ƒ|„‚„„…„„…†††„…„~†„†…†……„ˆuvvwywwwswwrvwnwrwrvuvssuusrrrsrrrrwvvuvruuspquvvutursvvvwuwsusrssrrqssrrtqusqurqslplpqkmjiM1$:FstpjoK94Rkpptpponpmqpooqrje]Tfetywruwxtuxyw{v{sqsplolkmonnjnmlppqtqqqppruvqquvsowvvvwpvvwtwqtvvwvttuwwwwuvwwz{xvzzvwxwvztvxwy{ywy{{|{z{wy{z{{zzz|zyzyzz{}zzzzxvzz{{zzzz{~{{{z{zzy{|{{{~z|{z{yz}}{~}~{~~~}~}}~~~~~~~{|~~}~}‚~ƒ~~~‚~‚‚‚}‚ƒ€‚€~‚}‚ƒ}~~}}ƒ}~}~z{}~~|||||{{{{yz{z{z}|{z{|~||{}|{{{zy{|z{{{z{{{|}}~~xz}|z||{{||z{z{{yxzz||}{||zyzvv{wyxy|{z~wxywwz|{{{zzz~}{€}}{}{~|~~||{z{||}|{}~||~~~{z{~}|||z{|~|xwvz||}}|~y{y~y{z}|~~~€z€|}|}}~}{~~{{~||{|y†|~{{}|{~|}}}}~|{~ƒ}}~ƒ„~ƒ|~€ƒ„„†……†„€}„€…€„ƒuvxxxyxwsvwuwwwwxxrwuwvwwvvvrvvvwxruuwvvuvryxyvwwwvurvvvtwwwvxrvqurvuwruuussrrqqprppoollmlhZ02.-Bmuogl]QO_ibeltttttppqtpqpqqqppszvzwsosopopqqqqpptuqrpylronppopprrqstuvpvuvusuurvuvvuvwuvuvwxwyz|twvxv|{{ywvww{vz{zzzzzuwvwyuuwvzyxyyyyz{{}yzyz||yzy{zyy|yyz~z|zzyyz}}~z~}~}}|{{zzzzz{{z}}~}~{~{~}}|}}~~~}~}|||~~~~~}€|~€‚ƒƒ‚ƒƒƒƒ„‚ƒ‚‚‚~‚ƒ‚„„€‚€‚‚‚€€‚€~}}}~}~{|z‚|}~~}}}{{}~€{|z{|{{{}}~€~}z}{{{|z{{{}~{{||~€y||~yz{{{z|{|}{}wzzzz~{y||yy}vzyyyy{{{}vzzzx|zz{{z}z~~~|{†{€}}~}|{‚}}{€~|||€{|{}{|}~|{{|||||~y’v}{||~~~~y}}~{~}}}}|{~ƒ€|~~|~~€{|{€}}y„|}~~|||~|~€€€|ƒ~„„„‚ƒ~€€€……„…††ƒ†‡†…€…‡ˆ‚„‡uvuvxxuusvxwwuwwvxsuwvwvwuvuswuvwxrqswuuuurtwvwvsuvvvsrxvvsutrrussssrrrrsvuqrqpqmqpprppollkghsstznpronomkjpmllmqoptrqpppqnprollnonokeolomplooqkrrprtotqqoqomonqrqrrrusturtutrssssvuxwwuvuvvuzv{{yztwzzuvutywzzzxwvu{{zz{vvwwzyzwv|yxzyww{{~{wzz{{{{{zz{zzyzxz}{zzyyyz}xz{{{}{}}zy{yyxz~z|~|}{{~{{}{|}{€~}~€‚|~~‚}~~}~€~€ƒƒ‚‚‚„ƒƒ„~‚‚‚‚}€ƒƒ‚„ƒƒ‚„‚‚ƒƒ€€€„~}„~}|}~~€}~~}~}}~{{|||{z{|{{|~}}~~}|{z{|{ywz~|zz{z{zyux|{|{{{y|zyzz}yw|{{zz{}yy{yzw}yv|}{y|yz{vzzzzzzz}{{yz~}||‚{~}}{|~~~|||~|{|€z{{||z||{|z{||||{|~{~x}}z}}}||yx{zz{}}}|}zz}|ƒ{{{}{~}}~||~~~|{{{}~|{{yz|}}{|~}~}}~€}~|}ƒ€~~~}|{‚„„…‡ˆ„‡„…„†‡†€†ƒ‡…„uyuywwsusuwywyuvuxsvwwwxvvuusvvvwxwwwwxxrwswwywvrxwzwuu{vwrvuvuuwusxs|wzssrvrrqtrqotrtsqlqlllppppopqoloqppnmprprptuupppqqtoropppopqqqrppoooopronqtqrqvqpuvuvrvqtppquuttvrruttursuuuwwvwyv|wvyyyzwwwyw{vvw{z|ywvwxz{{{|y|vzwvzzyzvzvyy{yzzz{{z{zzy{{{zzyyyy{}}}|}}}|}z}~~}}{}~}}}zxv}z~~~||}{{z}}{}}~~}~~}|}}~~}}~~~~€‚ƒƒƒ…ƒ‚‚ƒƒ„ƒ„ƒ‚‚€~€€ƒƒ‚‚ƒ‚‚„‚†‚‚€~€‚~‚€~€‚€~~~||}}~€~~}|}{}~€~|}{|||||z~~~}{~}~~~~~~€wzzz|}z{{{}}}}~{ywyz|}z}wyz{z|zxyzxyy|wy{xvwwyy}v|wzx~~~}{}}€€{~~~€~~‚~}€|‚‚‚€~€{‚~~}{}|{{~{}|||~~~}}}~|~~€z~||}}|}z~~~|~}~|€€}ƒ~}}€}|z€€€€€{y~|‡{{|~~ƒ|€z€~~‚„„„ƒ…€…‡‡‡ˆ†…†……†ˆˆ‡ˆ‚……†uyuysssvurrzxwvvvwsuwwv{vvxuwwvwvwwuwvwxqsuvvvvuuwvwuvwwvurtuwswussssrruuqtvrqqpqqprlllppslmonpnkppoqoolpopppnrqpnppqqqqrtpppqrrrqqqtqqprnopqrqoutrqrpqqtttuurrqrpqqrrwusquuvvwwvuwvwuvww|wuyzzu{zvvvyytzyvwwuwwxy{y|{z}vxwxzxyxwvwwwyzz{{{{}{yzzyz{yyyy{z~~}|}}}{zzzz{|}}{{}|zyzz{zy|z}~~z|}|{{{}~€}}}}}}}}}~|€~}ƒ€~~~‚€~~„ƒƒ‚„†„ƒ‚‚„ƒƒ‚~~‚~‚‚ƒ‚ƒ‚‚ƒ‚‚€€€}ƒ~~‚„€~~~~~z|~|{z{|~}}~{}{~|{|||{zz{z|}~~{{{|||||{{~|x{{y{}{zz|||{z||{zywz||||}y{{zz}~yz{}|{y|}wy|x€vzzw|wwwwww{}}{|~}{|}}~|~~~}|||€€€€||||~~€|{{‚}{|||~y{||~~{|{x~z~}|{|{|z||}~z{z{}}~|~~{{|~~{~~}||yx{}}z{€|}{{{{|}~‚~}~}{€~„ƒ€~‚€€…ƒ‡†ƒˆ†…‡†…††††ƒ†††„„zzxzsyrvvƒrwwwvrvwvvwwwyvwvvwwuyvxwvvxx{zztwv{vtuyvuvzxvvursvxuusussssrssvqurrrqpqrqopproqqrokoqqpqqqqmqptmqooprmtrsrsruqtoooopppqrqoooorspoprttqrooqrqurtuuutrrrqqqqqqrsrrwrpquuuuuwuwyv|uvvxwwzzzzwwwvuvvwuvvwyzyw|{z{wyvzzzyvuww{vwzv{y{{{|zzz~yyyzyzyz}z{~}zzzxzz{|}|}||{|z{zyz{z{{}}z}|{z{z~}~~~~‚~}|}~}€~€~~‚€ƒ‚‚„~ƒ„‚‚„‚‚‚‚~~„ƒ‚‚ƒ€€€„ƒ‚ƒƒ‚‚‚‚‚„~~€~~~~~z{{{{z{z}~|}}z~{{z{||{|{z||~€zz}~~~~}}~~}zzxy{}z{z|||||{y{~w{w}z{{}||z||||z|{y{zyz|zwvvy|{|wzzzz{y~|}{z~~|{||~}~~~}|}€€€ƒ~{}~~|~€‚ƒ‚„|}{|||{}}|||~|||}||~~}~{}|{{~|~~y~{{}~||{~~~|~~~~{yz†||}{z€€€{‹{‚~~}~~‚|~~€}ƒ‚ƒ€€€ƒ~ƒ…‚…„„……†…†……†††…‡„„……†vuuxryrstsswsxxuuvvvwvxxxvxwwwwwuyxxvzx{vvvvvwwwvxywywtuuusruuvsuvvrssstrrrqsssqqqmopoopooltqmqqqqpppopooqoppqppmrqpomopqropunqqprsrrrqopnopptqrsoopsrqqrrusuuvvvttqqqqrsqrqrsrtuuuuwwvvuywuwvzywtwxzzz{zuwwvvzw{vwx|y{zvwwuuxwyzzzyvyzy{{zy{|{z{zxyyuzy{}{{{~|{zyy{|~{z~}|y}zz~{zzz{}{zz{}{{}|{~~~~~~}}}}}~~~~~}~~ƒ‚‚ƒƒ‚ƒ„‚‚‚‚‚ƒƒƒƒ‚‚‚ƒƒ‚‚‚~~~~„‚‚}‚|€~€}}ƒ~~€{{{|{y|{}}}|~~z}||{{zz{{{{|{~|zz~|~}~z||{zywz}{{{{{z{||y||y{wzyz|{zzzy~{{zzxyz{{|||{yvyvyyz|vzzz{xz~}|{|||{|}~|||{~~|}~}}|€€}€|||}|~{z{~||}|{z|~}||{{|}}}||}}}~}~~~€z{}z}{{|}€}{||||zz|€||{||{}|}~}||{‚}€„|€~~~}~€€€€‚ƒ„…†ˆˆ†……„…„…†……†ƒƒuwyyvwuŒsvrwwww|wwvwuyxwxxuwwwwwsxxww{wzwwuxvuuzvuvwxysutttuuwwwwwuusvutrxrusssrqporrqopoqnymqrrqrqoqpoqppoutusrnqrpoooppppqqoqtuurttrqpopqoqsuvppqqrtqurtusrvuuuuuqpqruvuruvusruuuxwywvuwvvwv{{zwwyw{{zzzvxwwxwvwvwvw|zywvwvxvyyzzzy{wyy{zzz|zzz}zywyz{{{{z{}~|zz{|~~{z~|{{}yz|}z{{~}z|~}{}}z||}~~‚~||}}~~‚€‚~~|}~~~~€‚ƒ„„ƒ…ƒ‚‚„ƒ„ƒ‚ƒ‚‚‚ƒ‚€€‚„‚€€~‚~ƒ‚ƒ‚ƒ‚‚~~~~~~~‚{}|{{v{|{}€}}||{|{~|{{|||{{~€|~z}|}}~~€€|{z{z{}~||z||}{|{|{{{|z||z{{{z{||{z{|||{zzzzyyz}zyyzyzyyyzz{|~~~~}~|{~|~}|~{|~€~}}€|€~~~}‚~|~|~|~z~|}{{z{||||}~~|{€|~~~~~}}~~z}}}~~||}~~~||||z|z~~~}z€~€{{~|‚‚|ƒ}€|€}€€„‚ƒ…‡…ˆ‡‡ˆ‰„…†ˆ††…†€…ƒ…vtuutttssxrrvwvywzwwvxuuutvwwvxvuwzyvwxwvvxxywvuvvtyzxuuuvxwwwwxyuuvuufwtyrqrrrqrqqqrpqpqrntlqpmpprpqoooooppppurpoqolnppopqqtoptqurtorqppnqpropnnrqqqtqrrrusrtutvvvspprvwwquuustuuvutxvwywvwwv|{{wvyvwvzvvvvwyzvwwwwzy|x{wvtvvvyuywyxwvzyz{yy{zzz}zyvwzz{{{{zz|}~~{z~~~y{yy{}~zz{~{zz|}z}~}{{~{~~}}{€{~~~~|z}}~~}}}€ƒ‚ƒ„„…„ƒƒƒƒ„„‚‚ƒƒƒ‚‚‚ƒ‚€ƒƒ„‚~‚€‚}ƒ‚~ƒƒƒ‚‚~ƒƒ~}}}}|~{x{~~~~|{{|{|~~}~}|z|||}{||{{~|}}t€|z~~}~}~~~}|{{|{~}{{zz|z{z{z{z{{|z{{||{zyzyxyy{zywzzvz{{|~~}}{{}~}{}}}}}~}~~€||{|||{}‚|€€€€|{{{}{||}{}~}}{{{}}€{~}|z~}~~~||~{{~}~|{|~~}zy€~}y|€}||{|}}}|{}~}}||}€ƒ€}}}}}~~~}~ƒ€€„………„…„„ƒ†……‰t‡…ˆ‚ƒ‚ttzzz{vwvxs||xzx{vywxuvuuvwvxwwuwz|vwwwvtwyyyuzxysyy{uwwzwzvyxvuuuvvvvywwvvsvprrspmrqpoqumrrrpvqoquqppoqunoopqtqopqrutrotpnooptrtrspuqqqoqrrrssmtrrptrrrtqrrusvuxqqqwuvuvvutuuutwuvvxz|zwvywz{{zxvzuvwwwxv{zzyxvwyzz{zvywv{vvwww{yxxzv~}~{~z|xzz}z{|}y~z{|~{z{~}}{z|~|z|~xz{~z}z~{z{}}{~}z~|z|~}~}~}}~~}}~}~}|‚~}}}€„„ƒƒƒƒ„„„„„„„ƒ‚‚‚‚‚‚‡ƒ„‚†ƒ‚ƒ„‚€ƒ„ƒ‚ƒƒ‚}‚„‚‚€€~~~‚~{v{}{x|~~~~€€}|{{~|{|~{{{|{~||{|{~{{{}w‚{{{}|~~€{|}zz~}|~~|{z{{||~y|zz{}|||}{}}yzz~}wzy|y{xz{}}~|{|~}}}~{{{}~~~~|€€~€~|‚€~€‚}}|}{}~}|}}{{~||}ƒ||~}}|}}~~}~~~}~|}{zw|~€~|{}~~~€€y||}€~{†|‡|€€€|‡ƒ„ƒ€‚~€ƒ}ƒ„€„„„„‡…‰…ˆƒ„„ˆˆ‡‡ˆ…Šˆ‡‡ˆyx{{w{uvvxuvyxwwwvvvvwwuwvwvvxvwvwzxwxvwwwwwywvzuxuzy{tvywvvvyywssuvrvwsrqrrrqpqrqqqstroqqlooqqqqqrqqqpproooppopqmmoonnmoooqqssrrqstqpqqttsqpoonqnppqqqqpourtrsvqrqrrruuquwsruuttuuuvvzx{{zywy{ywxvzuvvwwww{uzwy{zzzzyzzzyvvwvyxzxzyyywws~{{~|zzzzy{ywz{zy~}~zz~}|}~~~{z{zzzz}{}~{~{}}€~|{z{z{|~}}|zzz|~}|}~~||~€‚‚~‚‚„ƒ„„„„„ƒ‚~€„ƒ„ƒ„„„ƒ‚„ƒƒ„‚‚‚‚€€‚ƒ‚ƒ€ƒ€‚€‚|{}}{|}}}}~~~|}}~|~€|z{}|}~{{~~{||{z{{{{wxw|{||{{}||}{z}||{z{~{||zyz}y{{|{}||}zz|yzyyz{{~w|zz{{w|{{{vzzz|{}{{|}~~|||~~€€€~ƒ~~{€€€}{~~}{|}z~{{}{{|||}|~~~||}|z{z{~}}|~|z|yyxy~}{{}~~~{~ƒ|~|}|{|€|…|€€‚ƒ€~ƒ‚€€‚‚ƒƒ„ƒ€„~ƒ…‡…‡…ˆ……„‡‡………†‡‡……ˆzyyy{{uuxxvwuuuxwxwvvvvuvvvwuvwzzxvwvxwwvuuvxuvzyzuzz{xwyvuzuwwxrtuwwxuzsvs|prprqrrpoprpopppoqpvpsssrvorpopprtttpooooootmrqsqqqopqtuqprrqpqqptqrqqopqrprprrqrurvurrrstqvrqvqruuququwwwvvy|{xwxy{wwwzv{uyzzw{z{yyywzwvuzvzzuuwvzyvwzyyyy{|}{yywyyy{{{yyzzzx~z}{y}|{}~}}{{}}}{z}~~~~~zzz~}}}}{{zzz{~{{~y{zz~}}y~}~||~}€~~€ƒ‚‚‚ƒƒ‚‚ƒ‚‚ƒƒ„~„„…‡ƒ‡„†‚ƒ‚ƒƒƒƒƒ‚ƒ‚ƒ€€€‚~~€‚€‚ƒ~~€‚}z}|z{{}~}~~}~~||zzz{|{{{~}|{~|{|~||zz{zz{|}|}{|z|}}~{|{{|{|{{||{z{}w{z}{}zz{||}|}w~{{z}z}zy|zw}wzzzz}~}~~{~~~}~~~€€€}~~~~€ƒ~‚}~‚~€|||~|}{}}~z{{~{|||~}||}|}~||}~~~|}}~~~€z~{~~|{}~€‚€€~~~|‚‚‚‚ƒ{ƒ~ƒ~ƒ„‚|‚‚„ƒ€…ƒ„……ƒ…„„‚„„„††…ˆ……ˆˆ‡‡ˆˆˆ‰†„†ˆzz{{zzxwwwvvtuuyxyyyyuwvvwwyvuxzzwvwwwwvvuuwwxyzywwzv{zxyvvvwwxxruwwvwwyrusqrqpqqqrqqqrponpprqpoppqqqpommpqpommopooomqqqpnoooprrqtuttporrqqpqoqqpqqqqqqoqprrusrvvvqqstquuuuuvuuqvvuuwwvuzzzzwuwwxuwzvvuvvzwz{{zwwwzzvv{wzuvvvvyxwxzxwzzz{{zzyy{zzxz{{zvxzz~y}|z||}~{{}|~}{{x{}~}~}z€{{z{{{{{z~|{|z}z}}}}~~|~{~‚‚~ƒ‚~€ƒƒƒƒ‚„‚~‚‚„ƒ…„„…†„„…„‚ƒ‚„„ƒ€‚~~ƒ€‚‚‚~~~~~~~}~~||}}~}|{{{{~|{z{|{{{|~~~~}{|y~}{{z{{{{}{{~|y{z}|{{~|z{|}zxz}v}z{y~{}y{x{|||{{{{z{zz|vx{zz~~}}z{{}~~~~~~~|€‚~~~~‚||}}|€‚€|}|}||{{||z|{}|{|~}}{{|{~~}~||{~~|}~~€z}}|}€~{{}z€{~ƒ{{~~~~~|{{}||ƒ‚„„ƒ€‚||~‚€€ƒ„‚ƒ‚„ƒƒ„€ƒ‚ƒ…‰……„†‡ˆ‰‡…†††…zzzz{{xuwyy{swwwvxx{wwwwxywwwvwzxwvuwwuzz|uzvvvvuwuzzzzzvvtzwwxxsvvwvwvwwtswurrwqsqrqqqqororrrqpquqrpuusruppppqppomqlrpnonospmqrqtpoqmmqpoqqqrrqpqrpqqrpqrrrrutvuwuxruuvvvutrqrrvvvvvvvvvwy|vwvywvwxyzxxwwwy{{ywxyyzyyvuzuvvvxvxywvvx{||zzz}y|zyyzyzzzvzyz}}|}}}}}|~||||}}|{zzz}}~}y}{~}}}}~~{{zz~zzz{}}{|}~|zz~}~}~}€‚‚ƒƒƒ€ƒ…ƒ‚‚…€~€‚ƒ‚ƒ‚„ƒ‡„ƒƒ‚‚‚‚ƒ‚‚‚ƒ„„€‚‚~ƒ~€€‚‚ƒ~€~€‚~{~z~~}}}||z~}}}~|~€z~~|||€{~}|~~|z{||}~||~|{||}||{z|~~}{{|}|||}{|}}v~z}}~~}z}yzyz{{{{zz{zz{zzz}~~~~~~~~~€~~~~~€}~„‚€}‚|~€ƒ|}}}{{{|}z}{~~~~~~}}~|~}}~~{~}~}}~~|{~|~}~~|~~~~}}ƒ~~~~€ƒ€…ƒ‚ƒ„„„„…„‚}„ƒ‚…†„„„…„‡ˆˆ…ˆ„…†‡ˆ‰‡„„…†‡z{wxxxxyyzssrrsvwxwvwwywsxwwxyw|vywvwwturuuwvxtqrxuwywuwuvuuxuuwrvxvtsutvvuuvuuuqvsqqoooqposurspqrpmonpppppoqpnppoppmrompoqqtmqqoooosrqpnosqrqqotrqnoqrqsqroqsuuwuqqrpqvrpquxsuuuuvvvvxvvvxvwvwwwz{xxxxv{ywv{zzwyyzz{yvwzuvsuuxwzzzz{{wvvyyyuzyy}{{zy{zzzz}}}}{}}||}}}}}~|{||~}}z}~}~}~}z~}zz}}}|}}z~~~~}x~‚…„‚‚‚ƒƒ‚}‚‚€‚ƒ‚ƒ„„ˆ†„‚‚‚‚‚ƒƒƒ‚‚‚€„‚‚~€ƒ‚~‚‚~€~z~}}~}|zzz{{{{|}€{~||~|~€€z~|~}{|{{~€|~€~~{wz|}}z{|}{||y||y||zwy{|{{zxxxzyzzzzzzzz}zyz{|z|zsz{{€€€~~~~~|~€~~}~‚€€€€}}}ƒ|~€„{|~~~|}|||{}|~|z{{{{}|~|~|}~~|~~}~~}~~~~~}~~}|}€~~~}z~€€|~~~{}~…‚|€}„„€…€‚‚ƒ€€~€…ˆ†††„…ˆ‡‡w†„ˆ‡‡ˆ‡†‡xyvwvwxwxyvwyzwwwyvvvyvxwwuvw{v|w|uwxxs~tvuxxztyvvvuwwwwvvuuvwuvuvwusuutuvrssrrrpvqqqqprquuurrssqrlxuvoprynoppprppqmppprppnlmpnqpqorrsqonpooqqqttqroprrqsrropqprrrruqqpwqruvuvuvuqtvvywxvxvvvywywyzzz|zzwwwwyz{wvwvv{{vzyvvvvwwyxxy{{{|yzzyvxyzy{{}zyyyz{{}~}}}{z{}|}}~{~€}~~~€~{{{~}}‚}~}}}{}~z{|~~~}}~{~~~}‚„~‚‚‚‚~‚‚‚…}€ƒ‚€ƒ†………„„„ƒ„ƒ„ƒƒ‚„ƒƒ€„€‚ƒ€€~‚‚~|{}}}{|{{z{z~|{{{~~{}}}~||~||{z|{||||{{||}}z|€€~|}|}{{|y{}|z|||{zz|{y{z|}€y|{yz~{zz{{|yzzzzzzzzzz|}~~}}€~€€~}€€}ƒ~ˆ‚€€€|‚|ƒ}€€€~{}{|~|{~z~|}}}~~~€€~~z|€€|€€~€€€|~‚~€‚€€{€ƒƒ}€‚}€€€…„‚ƒ„ƒ„…‚…††………„…†‡‡ˆ†‡‡ˆˆ††‡xxyxxxwwxzzzzwwwvvwxw{yvwvtuvuvxuyuvrxuvwvwvvzvzxwzvuvvvyuwtuwwuutwsrssssvrusqrrrrrrppqppoptrqrqqsmllqqpronppooploooolkppouppnlloooooqplsoqopoooopqooqrpqqqpvpprusqqqrrrsrvuvuutuwvwwvuwvuuuvuwwyy{z{zzz|wwwwy|vz|yz{wzzwwxyuwvvvw{wz{{zyzzyvvzz{{}~|z|}zzy{|~|{z{}{{}}€€~|}|~|z}~}~~~~‚}}}~~~}|zz{~}}‚‚~‚€~ƒ€ƒ‚‚‚ƒ}ƒ‚ƒ€~~}~~~}~ƒƒƒ‚„„ƒƒ„ƒƒ‚ƒ„„„„‚ƒ‚ƒƒƒƒ~}~~{{|~|~}}{|~~{||||}}~~~}{|}}~{~~~||}{}€}}{~~~|{|~~|{||~~}{|{|||{{|}{{z|{|{z{{z}~z||}}z}}}|{{zxy||zzzzxz{}~~~€~~}~€|ƒ~~€€€{~~~|‚}}~|}}}}x|~}}~}}yx~}{~€}}~{|zz{}|{}|z}~€€|~|€~{~}|~{{|||~€€ƒ€~~€ƒ~€‚}ƒ€€„…†„‡…„„…‡ƒ……‡…‰†‡‰ˆwwxxxxuzxzxwvxxxxyy{v|z|uwtƒvvvwuyzxwwuuwswuuyyzyywystusswwwsxvwssrsstvrswuussqrrvvvqrrqpunrpqqrrvpopppopoqupqprooltlmlqppopoqqqoqpqqpoooprpotqrpqoopqqqqqqpruuwrsrqqrrysrrssuqquwuvwwvvvvv{vxwywz{{zwuvvwwwvz{wyzzzyz{{zzwvvuvwyzz|vyzzz{zvyzvuz{|~~~{yy{z}{zyyz}|~||}}~~z|~~}}~{}}~}~}}|z|~~}}}ƒƒƒ‚‚‚‚‚„‚‚‚‚‚ƒ€€~~‚‚‚~~~~~~‚~€‚ƒ‚‚ƒƒ„„„‚‚€‚ƒ„„„„„ƒ„€‚‚~€‚‚}}}}||||}{|}~~~}}~€{~~}||z|{~~~~|}}}}{{{|€||~~}}}~{z|}||z~|{{z{}}|||z{|}{}|}{z{}zz{zzyy|~zyz~y~||~€}}€~~~~~~~~~€|„€~€€€€~€ƒ|„„ƒ€€}‚€€~~}~~|‚|~}z|‚~}‚{€€~~|}}}ˆ~~~~~~~~~}~~~€€|ˆ}~~ƒ€€}€‚‚„ƒƒ„‚‚…„‚‚„†‡‡ˆ‰…„ˆ‡ˆ‡ˆˆˆwvuywyuyxwwwwyvwswwwwxzywvsrvvwxuwoxvwuwvrzvvxvwwvuuvvvuuvusttuutrstuurqsvvtrrrsurpuqsrqnqooppqqqrroomomqqqrppqqqnouklkrqpoommlmopoqooorplmqosrrrponqrrpqqtprsttrqrrrrrwsrrrrqqpuuvvwwyw{uyzwwwwwx{zywzuvwwxwzzzwvwyzyzzwxzzwuwwwvvvwyzzz{zyzzywyy~|€~{{{{z{{{}~|}}~~~}z{|~~}~}z{~}}~{€~~~~~z}}~~}‚~~€‚ƒƒ€~‚„ƒ‚€€~~~~‚~}~ƒƒƒƒƒ‚„„‚ƒƒƒ‚ƒ„ƒƒƒ‚€ƒƒƒ€ƒƒƒ€‚ƒƒ€‚ƒ€|~|~€{zzz|}|{}~~~}}{{{~~|z{{~~}|}{~|}||{{|{{~}|{||~~}|{|~~||}~{{||{|z|yyz}}y|y{y{|zz{|||yzz{{{zzyz~}|~€~}€}€€~}|ƒ~€|~~~|~}ƒ}||‚€€|}}~~}}~~|{{‚}}|x~€}||{}|~z|~}}~}~~}~~~~}{€|{~}{}€}}}|~~~|€|‚~€~€ƒƒ„uƒƒ„€ƒƒ……ƒ„„…ƒˆ…ƒ„‚€‡†‰svwwwyxvvwwxvwvwwwwvvvwxv{uvuvuvvvvvvwvwuuzuvxvvvvwyyyvvuztztvuxuvwwrussrtvutwvussssqrpppqpqqrqvqrqrqqpnptqtqroppnotlnmxppoooplooroqopotlompptsssrqorusqqtsruvrsturrswwwqursrrrrsuuxvwzwzyy{zxwxxzwzzwzwwzvxx{zzywvwyyz|zzzwvvuwv{vwyzzyz{z{yvvvz{}}}{z{zzz{zyz{z~~~~}~{zzy}~}~|z}~}{~}~€~}}}{|}ƒ~~~~~~~~€ƒƒƒƒƒ~~€~~ƒƒƒ‚ƒ€}‚}ƒƒƒƒ‚„„ƒ€€„„‚‚ƒ„‚€€ƒ„„‚„€‚‚‚€‚€~}{z|€|{{~~~{}€|€~~~}~~}€ƒ€~~~}}~}~~}}|{~€{~€{|}€|€|||}~}{||y{|}{|{|{{||||||zzw|{zz{z{z}|{||zz|y~~||€||€~~~€~}|‚|€}€}|{}~€|„|€€€€~}~~€€‚€‚|{}}|~~ƒ~~}€~€|ƒ~‚~€€~~ƒ€~~~~~|}†|‚€€~}‚ƒƒ}€€€„‚ƒ„……„†…†…†„„„„ƒ…„…ˆ……†……ƒ‡…ˆuuusssrvwwwxrsvwtvwvvwvtwzxxuuvuvuwxqwtvvvzvvuuuuvwvvuvuvutzvwuuwvrrsvssvuvqvvsuqrqoppqoqoqpqnoroqqplopqqqopppoooloqqqpmnooooloqppploqtqmmpprpqqqqttruqpqtrtutpuurrrsuwvrrrrrqpqquuwww{yyyxv{{wwywvzxxzvyvvvvvvyzwwxwywxwwzuvvvwv{wwzzzwz{{{zuyzz{~{}{z{}{}|{|}{{z{~€~~}{zz{~}}{}~}{~~~‚}~€‚}}~}}‚ƒ€~~~}‚‚ƒ‚€‚€~€}‚}ƒ„ƒƒƒƒƒƒƒƒƒƒƒ„‚ƒƒ„‚~ƒƒ‚ƒƒƒƒ‚‚ƒ€~~{|{|~~{z~~€}}||~|~€}€€~{~|~{}~||~}{|}|{||{}}}|||{~yxz~{{~||{}|z||y}{yyz{||zz||||}||{zzz}~}}z€{€€}~€€~‚|€}~~|~}}{€{€~€~‚‚‚~~{|~~~~}}}|{{||||~~~€v~}}~~}~|~}~€~~~~~~~~‚}{~~~}~€}~ƒ}|}{||~€}|{|€}ƒ€„„{„‚„……†„…ˆˆ„€‡‚„…†„††„††vusssuvwwww{rtvxqsrvvwuvuzvvvvvusuuywwuwwvuuvutvvxyuvutvuzzzswsuuww{twqqvvtussrwqsppppqppnqpqppqprqpprqppuqqpoqqoomopmmmmxlnnpmuqoprqsqtrsppmoqooqqqrvqqrtttrtuvursuuuurpqpprusquuuuwyy{zyyyz|{zwyyxvvvwvwz{{zz{{|wxvyzzwuywwyvwv{zxyvzyy{{{zvyy{zzz{}}}{{|}}}}zyz|~~~~z~~|zz|}}}~~|}|}}~}}}}|~~‚‚‚~‚~}}~€€~~~€„€‚€~}€~}„‚ƒ„ƒ‚€‚‚„ƒƒƒ„ƒ„ƒƒƒƒƒ‚‚ƒ„‚~‚ƒ~~~{~z{~|z}}}|}|~}}~€€€~€~€~}~~~~~}~~}|{~€~z|~{{|}€{|||||{}{|zz~}{{zz|}zz{zyz{|{y|~~~||{}{€z}~}{|†|€€€~}~€|~~}‚€~~}€}|}~~~‚„~€y‚}~|€ƒ~~{~~~|~~~}~~}}|‚|~~}}~~}~~~{‚~ƒ~€~}€ƒ~~}}ƒ€€€~}}~€€€|~€{‚‚ƒ‚€„……‚‚…†…„„‡†„†ˆ„†„„„……†…ˆuuuuuruwtvxyssswrswusuvtwyuuvuuuuuuzmwvvtwuuvvtvzwzvvvuwwytuuwruuuvytsrvvurssqrwqpspqpropooopqqpqqqpppqnotrmpppppmqpsprrmmnnpqonrqlsqoqrusqpqpqqrrrrtttrsqtsouuuursuuuusrqrpuuqpvuwuzzw|{xxywzzy{z|w|u|{|z{{wz|{{|wwwvwx{uzvvxwww{zzyyzx|{zzzz{{{z|z||{}{z}~}}{zy~{|~~~z~{z{{~~}~~~}~~~~~}}}~}}‚‚€~€‚‚}}}~|}~‚‚~‚ƒ~~~}ƒ‚„€‚‚ƒ„„„„ƒ…ƒ„ƒƒ„‚ƒƒ„ƒƒ„„ƒ‚€‚€‚‚‚‚€{|{}{|~}|y~{{zz}{}}~{~€~~{~~}}~~||{{{}€|||{{{}~{|}z{~|{{|{{||{{|~{~z|{y{z{|{zy|{{z}|yz~z~}z{~€~{|~}~}}~{}}|€~~€€z~}€‚…‚{„~~€}ƒ~||}||{}~~~~~~~~}|||}~€€~}~~~~~~~{~€~}~~~~~‚{€{|€{€|}}~~~€€~€~~€€}~€~}~ƒ€„…€„‚ƒ†‡……„†}††……ƒ„……ƒ…ˆuusvuuvvrywywsrwqvvsrrvuvwvvwvvvuvuzqvvxuvsvvvtzwuvvwzyyvxwwxxtuuuwxtywwwuqsrsrvoqsqpoqqromopprupqooppppmqpopqppmopppqptmnnomttrqqqrqpqurqqttspttqrrrurrqqrtrtuvtruutywwsqsrssrrstwtz{||||{{wywyyywwvw{z{|{|zzzz{{{{||wvzuuuuwvxxz{|vyz{{{zzz|zz{y}~z}}}|{|~}}}{{|}~~~}~~y}zz{{|}|}}}~~~~~}}}~}~~~€‚}€~|}}~~~‚ƒ„€~~‚„„}~~}‚}ƒƒ€‚‚„‚†ƒ‡ƒ…†ƒ€†ƒ„‚€‚‚ƒ„€ƒ…ƒƒ€‚€€‚‚ƒ‚ƒ~~{}z~}}{~}|€{~{|}~~€}~~~~~€~~|{}~}~~~~€|~{~|{||}z{{z||{{}|{|~||{{{}y{||yzzzz{|~w{}}|{y~€‚‚‚{‡|€€|}}|}€{€|€}|}}}~~€…Ž{‚€€~‚‚~{|{||~~~~}~~~}|~~~~~€}~|~}~€€}‚ƒƒ~ƒ‚z}‚{€€€‚€~}~€€‚‚‚„~€ƒƒƒ„„„€ˆ„‰…ˆ†ˆˆˆ‡‡†‡…„……‡†ˆusssurwvsvvwwwuvrrrrvvvuwvwwvuvsuvwyqsuwwwswvvwwwvwvvvvuuuvwvxvvvuuwuwwwvrrqrtropoppqonnlmpoppqroqoloooommmprppnmmpoqrqpqpppmpooopqsusrpqpqssqqqpopsqqqrrqvvvtpvttusrrqqqrusurvvuvwwzz{zx|yyyywy|uzz~z{|w{z{{zzyvuw|{{wzzzwwwuxyzxw{vxyyz{zz{z~{{v}{{{zzz}}}{{z|}z}~~~|~{}z{}}{~}}}|}|~}}}ƒ~}}}}~€€‚}~€‚~„€ƒ€~~€}~~~}}~~‚‚ƒƒ‚†ƒƒ„„†„„ƒ‚‚ƒƒ‚„„ƒ‚ƒ„ƒ‚‚ƒ‚‚ƒ‚ƒ‚~}~|{{{~z~}~}~|{~zz|~{}|}|~|€~|~~~~|€{{z{€{~~~~{|z|~~{€||~}{~~~||zv|||zwz}||zy|{z|}~y{{{|{|}~€~€{‚{~}~~{{|~~€}}~~€|~~|~~€}}{€||~~‚€€~|y{{z}~~~{~~€}}~~}~||{~~~~€{}~~~|~~~‚{~~~~~{€~}€~|}~~ƒ~€‚‚ƒ|€„‚‚„ƒƒƒ„„………†ƒ…†‡„„………„wxvvruuvsuvwvwutrvqssvvzwwuuvwruvuvvuvuvwysuuytxvuxxvzyzxxwyvxuvvvvwwwwzstrsvsrrpuprrqmqlrqpoooqqrlpotsulqmqqpooppptqprsrpqqpoprrprutvrrrutturqqppptqvrtttrtrtuuvwtutwrstussrqqtwvwwyyzw{{{wzwxwvzz|y{|w{z{{{z}y~~}}{{|wuuyzzwxxvyzz{zzz|z{{z{{x|~~~|{}}}z}~~}~~}~~~~}~}}~~||}}|{}~~}}~~~~}~~~~‚~‚‚ƒƒ…€‚‚ƒ‚‚‚~~}}}~~~ƒ‚‚„ƒ…ƒƒƒ………„…ƒƒ‚ƒ‚ƒ‚‚‚…ƒ€‚ƒ€ƒ‚‚ƒ‚‚„~~~|z{~}~}}~~~~~~{{||~€|~€}}€€~{~|}~}||}||{{z{|~}€}||}||~€~~{{}|}{zz||{|~|~~}~||{~zz{}{|~{‚{~|}}}€€}|~~€€€~~~}|€~‚‚‚~~~|ƒ~€~}‚|~{|||}~~~|ƒ~~|‚~~}~||~~€}€|}~~|~~~‚€€}}}~~ƒƒƒ€~ƒ~|‚|€~‚…~‚}ƒƒ„~‚…ƒ„„„ƒƒƒ„…‰„……„……ƒˆ†…†…†………†ytsvuuusstvvwxstssrrrrrtvvpuwusuvrvvuxrvwvtrtvuvwuwuvzyzuzywuuttxwwvuruusswwvqsqqqqprqmllorqqppopqloqootorooqqmkqpppumoopprorptqspqouuttutvturqrnppqrrrrurqutpvuswuuqqrtuttuwvvvttvw{yywy{{|vyywxy{{|y{zxz{z{{{yz}z{||{xvuvyzzzxzzzz{z{zz{z{~~|{z{}||{|{}}~{~|}~~‚}~~~~}}~~~}}}‚€‚€~}~~~~~}}~}~~€‚‚„ƒ‚‚‚‚€ƒ„„„„ƒƒ€‚€~€~}~|~}‚‚ƒƒ„„ƒƒƒ„††……ƒƒ‚……„ƒ‚ƒ‚‚ƒ„ƒƒƒƒ‚‚‚‚€€€~|}|}}~~€~}}z{|}~~~~|}~~~||~~€~z~}{~|{zz~|{|{{}{}}|}{|{~~}{{{|}{{{|{||z||z{|}~~}~z}||z}z{yz~}}~}~{~~~~}}~€~€|y{{{|~~~€€~|~|~~€|}|{~~|~}}~}|€|~|{‚~~~~}~~~}~{€~|€}}~~{ƒ}~€~~~€€l~€‚‚€~~}|||€€{~ƒ‚€‚„„„„„…ƒ‚‚„ƒ…„„†„„†„……|…ƒ…†wvuvvwrrrsvuuyrxruvwvƒruuvuwsrsuvtvwwuuwwwsxsvvvwxuuvzy{vzwwuyrtuvsstzvtuuvssruvrqpqqrmrqqqsrqooprmxopqumrmqprltuuqnqoottrpopppqqprrsstttturoqqtqsqsrsrssuvwrqsutvwwvvrurvvvutuurtuwyxy{zzz|wzvyz{{|{zzxyzz{{{zzz~y{|||xvwwwy{yzwwzyzz}~|zz~~~}z{{{}}}{{}~z|~}z|}}}}}€~€~~|~~~}~}~‚{~|}{~}}{}}z{€‚‚ƒ‚€€ƒ€‚„‚‚ƒ‚‚ƒ‚ƒ‚‚‚‚€~~~~‚‚ƒƒ‚ƒƒƒƒƒ„†…ƒ„†„ƒƒ†„‡ƒ„‚‚ƒ†ƒƒƒ‚‚‚ƒ‚„~‚€~~}{||}|z~~}~~~}~€}~~~}~}}€|}||z{~~~€€{~}}||~~{{|~{{z{|~}{|}{{|y|}{{}}}}{z|}|||zyz|~}}{|w~y}|}}~{~~~}~{ƒ~{{z}}}~€}||||{||‚€€~~|~}|€€€}€|‚|~~~~€}ƒ~~}‚|||~~~~~|€€~|~€~‚ƒ€~ƒ„€ƒx€‚„€‚€~~|~€~~ƒƒ‚ƒ„ƒƒ„ƒƒ…„†‡……ƒƒƒƒ„†„„„……………„‰wvuvwvrrssrqssswruwvwsrxutwuqrtuvuvwwvwwwwryusrrwvvuyywzvvuvuvvsrvwrtwwrvvuusrvuurpqqqoqrqrqrqpopppoopqtopppqoounotttpqpoptppppppouqooqpqprropooqrrqqqssttuwqsuvqqrvrqruqsuwptwvvuuwz{{{|{zzz{yww{y{{{zzzyz|||{z|{{{|{{xwwvvz{z{vxzzzz{zz{~}|}|{{}z}}}~}}{{}|{~~}z}~}~}~}‚€‚~{~‚|}}{~~~‚‚€ƒƒƒƒ€}‚ƒ‚‚ƒ‚ƒ„‚ƒ€€€~~ƒ„~‚„ƒ„„†ƒ…†ƒ‚ƒƒ„ƒ†…„‚ƒƒƒ‚‚ƒ‚„ƒ‚‚‚‚ƒ‚€~|}}{|zz}~}}~~€~|~|{~€|}‚|~{{{{~€{{z{~|}~{|{}|}|||{|{||}|}~}{{|z}{{|{}|z{~|{}}}zyzz|}|}||wzzz{|~}~~}}~~~|}~}|~~~~|{|{{|{{~|}|}{||~|}}}~~€~}€~}}}}~~}}‚~}‚||}~}}~~~~|€|~~~‚{€ƒ~~€}~~{~}‚ƒ~~~|…ƒ€€€ƒ‚‚ƒ…„€„‡‡…„…„…„„„„‚€„…„…†vvtrvurwswsuuvuwutwxvvvwuuuwvvsuvvuuvsuvvwryuvsvvwwvyvwzuywwswvwuvvususurrswuuvvwwqqqropqqqrrqpqrupsqrptuvppprptqoqnqqrsoqqrrrotqoqqquqrqrqsqvpqrrrtrqquqquwvvvwvvrwpuuuqvuwwvwwwzwyyy{{{zw}z|zxz|{zz~|z{{z|{{{{{|{{{z{{zzvwzz{||}yvz{zzyz{|{}}}~z|}}z}{}}~}}}zy}}}~~~~~~z‚{|}}~}}}~~~€~|~}}~}~}~‚‚ƒ~‚‚‚~€~~}}~ƒƒ‚‚ƒ…‚ƒ€~}~~~‚‚€ƒƒ„‚ƒƒ„……ƒ„‚‚‚„††„„ƒƒƒ„ƒ„ƒƒƒ‚ƒƒ„ƒ€€ƒ~‚~~~~}}~~|{{z|~~~~~~{|~~|}ƒ|{|{z~~}|~~z{}~|{z}}}{}|~|||||||||€{|{|{|{|{}{{zz~~}~|}|}{y|~{~~}y|y~{z|~|}{€}~~€~}}~€€€{|||{€|‚|~{|||€}€€}~|}~€€~‡||~~}ƒ~~‚{|}~}~~~~}~€{~}€~‚‚‚ƒƒƒƒ€€‚ƒ€€ƒ}}€„€‚ƒ…ƒ€…‚„‚‚ƒƒƒ„†……„…„…„ƒƒ„„ƒ……„†~„„„ƒˆvvtuvstsswusrvvtwvwvwuuuwwsvvvusuvvurutxvwrxwvuvwxz{yvusuwvvrsstvwwvuuwvsrsqtuwtppqqpqpolqptrovqrvpoqqptoupppoprrqsrrrsoqpqrpmopuqpoptoorrqqrqqpppststqtruvvrturrrrqptuuququuuvvutuwzz{z{zzz{{|zzzzzzyz{zz{zzy|{w{{z|{z{{zwyzy{{{zzzz{~{{y{|{}}}~~}}}z}|}}|z{}{}}~}}}}z}}}}}~~}„}~}}~}z}~{ƒ‚ƒ‚€ƒƒ‚~~~~}ƒ‚ƒ‚‚ƒ‚‚ƒ†ƒ‚€~€„ƒƒ†„‚‚„„„„„‚ƒ‚ƒ‚‡…ƒƒƒ‚ƒƒƒƒ„„ƒƒ‚ƒ†€ƒ‚~~}}|~~}|{z{{~}}|{|{{~||}ƒ~~|{{{|~|~||zz|~~{{{€}|{~{{||{{}~|||{}y|yz}||{y{~}|||{||~~|{}}{~y}{|z}||~}||~~~|}~}|~€~~{z{{|~{{{|~{|{y|||~}|€}}|}~{|~~{}~~||~~€~|€|€}}|~~|}€€~~~~~|}€}ƒ€ƒ{}ƒ‚z|||ƒ‚~€€}~‚„€€ƒ‚„…€ƒ„ƒ„‚………ƒ„„„€ƒ„„„‚€‚„„„ƒvvuwvssvuwsssutrvvvwwxwyuvrvvvvwvvvuuwvwwzrwvwvzxvvvwxvuuvvvvxruuyuuvywuuvrtstuvwxsrqppoqqorppqpouppouqvnumpprrrppqtoqqqqqqsrsotqtppqrmqqqpnqqqvopqvrtqtqvttrqruuururrsuvuttuuttuuvwwzyyz|{|{{{{z~|||{{|z{||z~{{z|z}|{zz{{z{ywzyz~zzyyz{{{{}{}|}{{zz~{}~}}~~zz}z}|~}}}}~}}|}~}}~‚~~}~~~~~}‚ƒƒ‚ƒ‚ƒ‚ƒ‚ƒ‚ƒ~‚}}~‚ƒƒ‚€€‚‚ƒƒ„ƒƒ‚~ƒƒ‚‚„ƒƒƒƒ„†ƒ„ƒ‚ƒ„‚ƒ††ƒ‚ƒƒ„…‚ƒƒ„„„€‚‚„ƒ‚~~|}}{{{{{~~~}}}}}~}{z}||||ƒ}|{{||{~~|{||}~}}|z}}|}}}}}|{{|~w||~{z{yz{z||}z|{{}}~~|~|||~z~{|~y~€|€~€~€|~€|~€~~|€€€~~||}~~~{{€|~|€~}ƒ~~||}~}‚|||~~~~~~~~|~|~}~}~~€€€~|}||z|€€€‚~„ƒƒ€~}|‚‚ƒ‚€€}}„„€ƒ‚„……„…‚„†€„„†ƒ…‚ƒ…€………„ƒ…††‚ƒ†wvuxyvuuusssttwrvuvvwyqqrrsvqvqvtvvuuvwsuxvvvuuurrrttvyvwuvyyxuuuusuyywqvvrsruvwwuqqpppoqoqppqqmnoqporppmmooporqpnmlmoprrqqprupoopqprqompqqoqpqpqqtwrrrrqprturrrwussvupvwupqtuutqvwwxywzyy||~}}|zzzzz||||{{|{}yz||z|{{{||zzzzzx{{zxzzzyyz~{}~}~{{{{~~}|~~€{z}{~}}~}}~~}}~~„~}}~}}~€~~}‚‚ƒƒƒƒƒ€‚~}~‚„ƒ‚‚‚ƒ‚‚„€€€~~ƒ„ƒƒƒ„†„„„„„ƒƒƒƒ„‚ƒ„‡…ƒ‚ƒ„„…ƒ‚„‚ƒƒƒ‚‚ƒƒ„€~~~}}}{zz}{}~~~|||€z|~z~}~|{{|{{z|}|z{{{||~~z~}{~xz{}}~}{~}|~||{y||{|{{{}{zzzzz}{{{~~|z{{z}|{zz|~~~}€~|~}~~~}{}~~}~|{|~||||~{z|~}|||}~|{|€~|}}~~}|~~}}{|||}€|z|}}~|~~~|}}~~|€|~€~~„~€€{€~}€€„ƒƒ„}||ƒƒ€~„„‚„ƒ„ƒ…€ƒ€ƒ‚‚€€~‚„€€ƒuvxwvvvwutrttttswwvvy|wvqwwwwwuwvvuuswuurvuuuzwvuuwyyyvuvyvuvzuuttswwwvtvvvvvvvvvwprqqopptuvqrpyproqpuprrrooptpqrrppoprqqqrrqtprttrqrrqspuoopnppptrvrsrrqsrursqrturqtvwvvvurtuttvwtyyzwzyx|yz{{}|{wyz||zz{{|{}z{{{z~{{{www{{z{zyzz{{zzzzzzz|}}}~{~}|~{}{~~~{{|}~{{{~}}~~~}}~~~~~€~~~ƒ~}}~~}ƒƒ‚ƒ‚‚ƒ€~€‚‚‚‚‚‚ƒƒƒ€‚€‚ƒ€‚‚ƒƒ„~‚„ƒƒ†††ƒƒ„„„„ƒ‚ƒƒ„ƒ„„ƒƒƒ‚ƒ‚„‚…ƒ‚ƒ„‚‚‚‚ƒƒƒ~‚}}}}{~|}|}}~~~}|}~|{z{}{||€||{{z{|{{||€|}|||~}}|{{||{z}|{|}{~z||||{{{|z}~~z|{{z}{}}}zzzyy~|}|{y{{{~€~|~~}|~~~~~}}}{€}€€|~}|~}|~||€€€}|€€€}|}}~~~{}~|~|~}~}}||}~~~~}}}~€|~~€€„€‚}ƒƒ„€„‚‚€€€€‚ƒ‚€……„…ƒ…„ƒƒƒ‚‚ƒ~„€‚„……ƒ‚wtuwxwrvxvvsrrsuvusvnyyvqyuwsywvvwxuuvuwwvsvwwvvuwvysyuuywxz{vuvsstwwwvvwvvvuvwuwwqqpoqpqpppqtpqsqooqrqppqootupqtrqsrquuvqrqqtpqtsrpmurstrqoqttrttrqururptrtutusqtwpuvqrruututuuvvtzyzz{|z|{{z{zwwzz{{{{z{zzz{|{zz{{{{{y{yzyzz|{zx|}|{zwwy~|{}}}~|{~{~~~|}}}|}~~|~~}~}€€€}}|~€}~~ƒ„„ƒ‚ƒ‚‚‚ƒ€}‚‚ƒ„„ƒ„ƒ‚‚„‚€„€‚‚ƒ‚„„„ƒ†ƒƒƒƒ„„…€ƒƒƒ„†…†ƒƒ„†‚ƒƒƒ…‚„ƒƒƒƒ‚ƒ†…†‚ƒ‚‚~||z}~|}}~~~}~}||~€}{{~{|{~{{z{z||~~||{{}~|y}{}|{|~~}||~{{|}|{z{z{|{z{{~{z||yywwy{zzz~}|{}{{~~{{||~~~~|z{{{{{|{~~~€~~|~|~~ƒ}{~|€€~~}~€€~}|}}~}~{{}|~}}}€}€}{x{{z~{~~~€~|~~€€€~~|~~€ƒ€~|€ƒƒƒ‚~ƒ‚}€„ƒ‚ƒ……‚ƒ„€~€||~~€„~~xyz{wxvuxvutrtqvvwvvwyvvqyuzz{xwvwuvwvsvvzzzzywvvzyyyyyzvxwzzuvxsutyywvustvwswvxwwurrrppqrquuvqrqqpqquprrqppqurvqpqqqrqtutpprtpuqpopqurorqruqtpprtsuurtpptttutrvutrqtuvvuuuvvsuwvwv{vxx||{{|{{{zvz||z{{|||{~|}|{z{zz{|{{zzzzy{zz{{{|z{z}{{zz{~}~}}}}{~~~~{{{{}}}z}}}~}}}}}}~~~‚ƒ‚ƒ~„~ƒ~~}}~‚‚ƒ}‚„ƒ„‚ƒƒ„~~ƒ„„„ƒ„ƒƒƒƒƒ„‚~‚‚ƒ~„………††‡ƒ†ƒƒƒƒ‚‚‚ƒƒ„ƒƒ„„„„„ƒƒ…ƒ„ƒƒƒ„„„‚ƒƒ„ƒ‚‚ƒ‚{~{†~€~}}}}}~}{|~}~|}}|}}{zz{{{{~|{~|{~}{{~}}~{~}}}€{}€z{z}{€{}{~{|zzyz|{z}}}x{yy{}{z{~~~~~~~{~|~|~~~~~~}~~{€~~~~~€||}}€{~‚€z€|~~~}}|~~|||~}}}~€{‚}||~zz|{~|~€~}}~~~~€„ˆ~€~~~€ƒ‚€€€€€€€€ƒƒƒ…ƒ‚ƒƒ„ƒ„…~€€€|€}€€~„„‚xyxxxxxxytstwvrrsrrvstuvssvwnvvxvxtvsuuvvrpoqsrswvvwuxwwxzyxxywwtrtyssusssuvuuwxvrprrrqppppnpvqrqqqoqtpprrrottqtuwvqqqrrrtrpqqrppnpqpoqoturuqqprqtruuptsrrususruvurtuuvxyvwwutrvrxwvvvw{wwy|y{zxwzvwzzzz{{{yzy|z{zzz{|{{{{{zyxzz{{zzzwz{z{vwvwz}}}~~|~‚|z~}~}|}~~~}}|{~€~‚‚‚‚}€~‚ƒƒ‚‚…€‚€~„‚‚ƒ„„„„„ƒƒƒ~~ƒƒƒ€‚…ƒ†……ƒƒ„‚‡„ƒ…†‚ƒƒƒƒ†„„‚„ƒ„††…ƒ„ƒ‚„ƒƒƒƒ‚„ƒƒ‚ƒ{{{~€}}}~}}|{|z}~}~~~~~||{{|||z|~{|}}|}|||}{{{|{~}~|{yz{{||||{|{z{zywzz{{|~xy|~||~|yzzxz~~}z{{~}|{~~}€|~~~~{|~€~|}||||}}~~~||€{}{€}€|~}}~}}}}~}}~|~}|{}}}€}}}}}~~|~~~~~|€}~~|~}~}||{|€€|~}}€|€€„~||}€…ƒ~~€€„ƒ…„…„ƒ…„~~||{~~~€||||yzwxvwxxvttsuwruuvuvvvwvvxuxwvvxwxtuuvuvuuvvvvvwuutsvxutsszuwzvvvvuxstsytssvwvwwusrrrpqqpvouqutttwvvptsrsurrrustuurtrpppturqqprqqspusprsvwrvqsqrrsssrtrrsttttrrvuvuyxxyywxuuuuuvsxu{w|z||~w{{{zzy{zz{{zzzzz{||z~z{z~~|{zy{z|x{yv{}yzzzyzzzxyz{|}{|}~|~~~~}~{}~w||~~~}{|~€~~€‚~~~~~~}}‚~}‚ƒƒ‚‚~‚‚ƒ†……ƒ‚€‚ƒ~ƒ‚‚ƒ‚ƒ„‚~ƒ‚‚ƒƒ„ƒƒ†„‚ƒƒƒ„†ƒƒƒƒ„„„„„„ƒƒƒƒ„†††…‚‚„ƒƒ‡ƒ„„†‚„„ƒ‚‚}~~|~}~~}}}{||}~~~}~~~|{z}||{~|||}|}||}|{|{}}€€{{~{{zzz}|{{}{{{{{||{{}z|{|||{|||{{|~}}~~~~~{y~~|}}‚€~~~~|{|}ƒ~}}~~~~€€}~~~}}}~|‚}~~}‚~~}€~|~}~}}~~~€~~€~z~~}€~€€~~‚„|‡~„}€‚ƒƒ€ˆ{€~€}ƒ…ƒ…„……ƒƒ…„|~~~~y€~}€}€}v{vvwxxvrvwuswuuuusvwvwuuvtvuvwwxxvvvuqrsvwwsvwxuvyyyxuuvsyutzwvsuxxssruwusvvurwsrrurpqpptoqprrupppqrprtvruqtsuuupqqtuuoutqqpnsqqqstrrrpovttrqtsutvrsuuoruurrquuwuusuyzzttvuuuruuuuzx{y{{}wzzzzx|y{z{zz{{z|{|{{zz|{z{z{{z{{{zwwyzyzyz{zzzy}y~{}|{|}~}~~}~€~}‚€}}}}}~}~~}~€}‚~}€}}|‚ƒ‚ƒƒ‚‚„ƒƒ„††††…‚‚€~€ƒ‚ƒ„ƒ‚‚„…€~„~~‚†ƒƒ†…ƒƒƒƒƒ…„„†‡…ƒˆ„†ƒƒ„……††‡†††…„„„ƒƒ„…‡†‚ƒƒ‚}}~}~€}}|~~€|}}{~~|€~~~~}|{{|~|{~|{|{{{}€~~}~}|||{{{{|z{||}{{|y{{{{}y|}}y|~~||}zyzzz}|}z{€z~~~{{~~}}|}~~}{}€€|{~€‚€€€‚‚€€€||}}~€~}}~|||~~~}{}}}|}}{~~}}}~~}~|{~€€}{|€~€€€ƒ€‚€ƒ€|{€|‚ƒƒ‚|‚~ƒ„}€ƒ‚„ƒ‚‚……††~~y~~y‚~€|||~}|||wzwwwyrvvwwxuuvwwwwvuyxvvwvwvwuvuvxuuvvwvwwwrytuvwvrssrsuvtwvxrstywxvvvvruvwwwsupwssrtsttutrqvutrrruuwsutruuttsusqqutoptqqprrqowtuuuttrrqsusruutrquvutrtrrrtutvyvuuyyzwuuyvvvvuvv{v{w|z}z{zzz{{|{{zz|{zz{z{{{z~{|{{{~||z{{xyzzyz{zz{|{yyyy{{{{}~~~~~~}}}}}~~}}~}}}}}}|{~~~~~ƒ~~}~}}{|~}}‚ƒ€‚~€~ƒ†††††„‚ƒƒƒƒ‚~‚‚ƒ„„„‚~}~~ƒƒ†‚ˆ†‡…‡…†…†…†††„ƒ„„„†ƒƒ…‚†ƒƒ‚ƒ„ƒƒ„„ƒƒƒ„…‡ƒƒƒƒ~}~~}}~~}}}}}{|}}}}{~€}}}{z}}z}{||€|z{~~}}|€||}z{{{{y}{{{{{zz|}~~~~|{~{~~}|{~}}}}|~yz{}~~|€~}~}~}~~{†}~~~~~}~~~}|}~€~€~€~‚€}‚€ƒ~~‚|†~ƒ~}~~‚€‚ƒƒ{~~~€~~~~€~~€€€€€€€€€|{|~€‚€„~}„ƒ~‚„„}‚ƒ„„‡…‡†……………€€~~y‹ƒ||}vxxxyxvwuuv{wxwvruvwwywxyw{zzzzxvwvvxvwwmwvuuvu{vstxuutrvvttuvswtvswvuuruvsvvvvxvvpurrqpqnppqqqsvvvsqtpwrqtruvuquutttppooopoosrrpvttqpqqqoosuqrvqsrquuturpwvruruuwwvuwtyyvvzvwvuuuwzvwx|zyzzzzzz{z{z{{|{{z|{{zzz{z{z{{{{|{zz|{yxyx{{zy||~zzyzz{z}}~~}}{~}}~~~~~}}}}}}}|}}€~|~€}zz{|~}~}~~‚‚~~ƒ†„„ƒ‚„ƒ€€€}‚…„„„„~}„}‚………‡ˆ‡…ƒˆˆ‡†…„ƒ„„ƒƒƒƒ†ƒˆƒ„ƒ„‚ƒ„„ƒƒ€…„„„ƒ‚ƒ~~~~{{~}~~}~~}||{{|~~}||}|~}{{~{~|}~€||~~}€|}|}}|}}}{z~{{{}||{{{~y{z|}z{||}{~z{~~zz{~||zyy{||~}}}~}~~~~€|}{‚|{|~€€€€ƒ~~€€€~~~}€‚€€‚~~€}€}|~||{{~}}€~|~€€~}~~~~~}€~~‚€~ƒ{€€~€~~€‚€~}€„€€„„ƒ‚……………~€}~zzz{{}}~xwuvwwuwwxxyyzwwqwyywvvwvxxxvvx|svvvuuvwwwuwvvyzuyyyvwwwwzvwtyywrvvwvuswvwvxvuwxsvvvqsqvvvqrqqqrpqprqvuurxutuuvuuuusqrqqqustttsuqwstttrtuutrrtrvutrsvurtstuvuuuwuxyxuwxywvvxvwvvwwuxw|w|{{z{z|w{y~zz{|{{z{||||yyyz{~{{z}z{{{{|z{yz{{zy|zyzzyzzz}}{}~~z~~~~}}}~|{{|||||}~}{~~~~~}}}{z~~~€€~~ƒƒ„ƒƒƒ„€‚ƒ„„„„€~€‚‡†ƒ€€‚‚„€‚ƒƒƒ…†‡ˆ‡‡†‡ƒƒƒ……„ƒƒƒƒƒƒƒ‚ƒ„ƒ„……†ƒ‚ƒ†ƒƒ‚‚‚‚~}}}|~|}}}}~}{~~{|}{~~}€|}~||{}~|~}~~|}~}}€{~|}|‚}|~€z}|{|}|}{{{{~yz{{}}~{zzz{|y}~}|~}~}}{~}}~{}~~~‚~~}~~}~€€~~~€ƒƒ‚}|{~€~~~ˆ~€€}~€}€‚€€‚€~~}}~‡}ƒ~|‹|~~}~~€}~~~|€€~€€ƒ‚„€€~€|€‚„‚‚€€~€€ƒƒ„~ƒƒ€€„~‡„†„ƒ„…‚ƒ€}~|€|†€~~€€€wxxxwxvwuvwuy~wxryzywvwvwvxwwvvvvuvvtvvvwvuwuuwuvvvwutywszwwtxuxuuuvsquwwuvwqtwvqqppqqqosrrtvtvsrsqpoulqruttuvutuquqpqtsqsprovppqqpqrrtrqvvquuuvtsuuvvvrstuuturrsqrvwwvwxxvwyvvvyyxwywyz{z{{{{wzw}zyz{wz{|||~{zz||{||zzyz{|zw}{|{y~{~|{zz{{{~z{|z{{|z}{~}}~|}}~~{z{|}|||}}‚‚}~€~|~}‚~{‚‚€~ƒƒ…‡…†‚‚‚‚}ƒ„ƒ‚„†ƒ‚€‚‚„‚„ƒƒ€ƒƒƒƒƒƒ„‡†‡†„‚‡††††„ƒƒƒ‚ƒ‚†…„ƒ…„ƒ„ƒ‚‚‚~‚‚‚}~}}|~~~~~~~}}|||}~}~~~~|~~~~{{|}}}~~~|{|{z|{|€€{~||{{||}{{|{y|z{|z{{z|{}||}zzzz}~}{|}}~~zz{z{zz{}~~€}€€}~~}~}}{{}||€€€€||~~|}‚~€€€€€€~ƒƒ}~„}~~~v‚~~€~ƒ‚~~}}~~€€€€€€€€}~€€€€„€€€„„€}ƒ‚‚ƒ~„€ƒ„„…ƒ…‚„†ƒ~€~€~~~~{zz{wwyxxwwwwzw{{{{{{zzyuxwxvvvwwvuwuzuwuvtuwwvvuuuvvvuvuuvwrxvwxxvxuxswsywwvuvyyzwvurrroypsrrruuuuvrrrrnuuvsuqsuvuurtusoquprttusupzptuvrrtuvwvvwwvvutruvvusruuuuvwxruswvvuvwyuzvvwwxxvyxzzy{{{{z{{{{||zz|w{z~||~{z{{{{|zz{zzzzy{zzyzz{z{{|~~z||zz}z|z{||~}}||}}}{{z†~~}}}ƒ‚‚ƒƒ~€~~~~|}}}€„}}}~~€€‚‚€†„ƒƒ‚ƒ‚ƒƒ‚‚‚‚‚‚‚…‚„„„ƒƒƒ„€~‚ƒƒ‡„„ƒƒƒ„‚‚ƒƒ…†ƒƒ„„„„ƒƒ…†ƒ‚†„„„ƒ„ƒƒ‚‚‚„~‚~}~}|~}ƒ}~~|{z{€|{~}|}~}|}|~~~~z}~}{~~~~||}|€{|{€{}{}|||}{{zz~~z|{~}||}y}||z~}|}zzy|y}{…€‚~~|ƒ~~~~~~~~|€€|ˆ|{|}‚~~ˆ~€€€€€€}€€€€€‚ƒ„€~ƒ}€€€ƒ~~~ƒ€€ƒ~~~~~{}~~~€€~~€~|ƒƒƒ€ƒ€€‚‚ƒ„~€€„€„„‚„ƒ„„„„„………†~€~}~~|~~€z~||€ywuyuzxvwyxxyvsuwzkxwwuyvwxwxzuxvyvwwwtvvsvuvvvussrqsvvzuxuzyzuwvusstvvvywrvxxxvwvqpqoqqrrsqqtuvsppqqppprtusptopoputqouruvturtpoprtqqqutvvqruurrrtuvurqruvrtvvrqrvstuuquqvuxvvwxwzvwxx{|{{{z|{|{~}w{{~wz{|z}|}||{{~{{zzzzv|{yzz{z|y~{y}}{{{}|zz{{{|~}~~~}}}{{|}{zz~~}}‚‚~~‚‚~€~~}~}}‚ƒƒ€~}}}€~ƒƒ„~„ƒ~}ƒƒ„„‚ƒƒƒ‚‚‚‚‚ƒ}ƒ„ƒƒ‚‚‚‚‚ƒƒƒ„†„„„…†…ƒƒƒ„‡„ƒ„„‡„‚„…„†‚……„„ƒ‚‚‚‚‚ƒƒ‚‚}}}}}||~~~}{}}~}€|{~|~|€~|~}~}}~|z}}{~~~€z}|{{{|{{|||||||z~}}}~~{{|{||zz|{zz}{z{zwy{{€}{{€~{}€~|€}}}}|{ƒ~€||}||€ƒ~€|~€}||~€€~~ƒ‚ƒ€}}~~~€€~€€€„~€€~{€~~}}~~~}~|~{€~}|€€…|~€ƒƒ€~~…ƒƒ…ƒ…„ƒ„…„„‡~€~{€|~~||z€|~wvzzxywwwwyzvwwwxzwywvtwwxuyv{rwu{{yyztywusvuxyyswsuwyvyuyuxw|vxvwuyswwvyxyxwvwxwxwxprrqqrrwrrqvruuvrtqrovvtttuutqpqqqrttorurtnuurrppqruuuutuvstrtrurwuvsvvwvwtruvsrsxwxvuuvuvvwuyuvyz{}{y|{z|{{{}v}}~{{{~y~{}}|{|{|{{{{yzzz{zzzz{zyyzy}~€{~z{{{{~~}z~{}~~}‚z{|}}‚~ƒ‚ƒ}}}‚|‚~~}‚~„~~~~€ƒ~€ƒ‚†~‚‚‚‚~‚„„€‚„„‚ƒ‚‚€ƒ„ƒƒ‚ƒ€ƒ‚ƒƒ„…„ƒ†…‡……‡‡„ˆƒ…‡‡„††……ƒ…‚ƒ…‚ƒƒ†„ƒ„†„ƒ€‚‚}}~~}~~}~~‚€€€~~}|~~~|~~}|~~}||z~~~~}}{{||{}€{{z||{{|{|||~}{y|}||{zyyy{z|zz{ƒx}z{~z‚ƒ}~„€|}~~€€€{„€‚ƒ{Œ|€ƒ…}‚|€‚€}}€„~€€€‚ƒƒƒ~‡ƒ€„€ƒ€€€‚ƒ„€€~~€}~€ƒ€€~„‚ƒ~}„„‚ƒƒ…ƒ€ƒ~„…„„„†‡…††„……ˆ‚…|ƒz}}z…{~|z{z€xxywwxuuwysrswvwvvwvwuuwwwwwwwuxv{uwuuwzzzzwvuvuttrrutuuvvvuxztsswvvuvvvxwvwqpqupwrtmssrqqrqsrrvqtptqqpppuuqutuuurqqoqqqrsssrqoqqsoqpqrvuurtttqrrrqusttvuuvwyyvqwvwrsxwwxvvuvwuvuuvvyyw{|w{{yyz{{w|w}{{zyzz|{{{z|{{~{||{{{{z{{z|zzyzz{{~|{zzyz~zy{|~~~}||~~~~~{|{}}}~~~~~~}}}||~|}}}}~~~}}~ƒ€‚‚‚„€~}~„€‚~‚‚„„ƒ‚‚‚€„ƒ„‚‚‚„ƒ……„†„†„„‡†„†ƒ†‡†††„„†††ƒ„„ƒƒƒ„……„„€‚„€~~~}}~~}}~€€}~{~~{}}~~€€~|||~}{zzz}}}}||{~||{|{|}|{{~{{{|||{}}{z|z{{}}z{yvxvz|~|{{z}zz~{z{|}~~}~}~~~|{|€||~€‚|||€{„~{~€|}€€‚‚€‚~€~~~~~€‚‚„ƒ„„€~}~€~||€€~~€€‚~„x„€€„x‚~ƒ…~€…†……†ˆ„~€{€|z|||z{{~€|z€xxwxxyxyzzvwwwxwwwwwvzz{||xvvyvxwzuwuvv{wvvwv{u{ttryxyvvvwvuxyrtrvvxuvwxvvvwvvrvuvqqqsqwrrrvrqrvqsquqrqtqvtvvuqpprpuuurtptrsrropqtvurqtvvvsuqtsvrqqvsvrvuvuvvvvsuvwsuxyywvuuvvuwwvwyxxyy|yz{z{zzz{||w~|zz~|zyzz}}}z{{{zz{{zzz}z|{{z|yyz{{|z{{{|}}~zyzz|~}}}}~}‚~||~|~}~~}‚~~~€~~~~~€~~~~ƒ‚‚ƒ~‚‚‚ƒ‚‚ƒ~ƒ~‰€‚„€‚ƒƒ€†‡‡ƒƒ‚ƒƒ‚ƒ„ƒ‚‚‚„…‡ˆƒ……‚†††††††‡††„„‡†„„„ƒ„‡‚‚††ƒ‚ƒ‚€‚„ƒ~~~€~~~|}}{{}}~€{~~~}}~€~{|||}}zz~€}}{€~~|{z~~}}{|{||{|z€z|||{{|}z{|}||}{{||}||yzzz†{~~~~€~}~€~~~€„ƒ‚€‚|ˆ~€€€€€€€€€€€ƒ‚ƒƒ€}„~€ƒ…ƒƒ‚ƒ…€ƒ…ƒƒƒ€ƒ„………†~€~}‚|€€€~ƒ‚ƒ€€„‚‚‚„ƒƒ„‚ƒ„„€„„„„…„ƒ€‚ƒƒ…€†…‡†………x~|€€y}~€||z~vxxxvyqzywwvwvxuwwwvszxxxxxvuuwvwwvuwxwvwwzvutvyvsvzy{vsvzvwxurrrqswsvutvtuvsurvvuqpqtptqrrussrvruqoqqqpquqtvttrtqoqqrurporqppppqruuuruquvuururrsqttsruruuvutvutvuwuvvvvvvvtwwvvywwwvy|z{zz{|{|{|{~{w}|zz}~{~{z}y}{~{{{{}}{{{{{{{zzzzy{~~{z{|||~}}}~{{~~}~}~~}}}z~}}}}~}}‚‚‚€‚‚€z}~}~‚‚‚€‚„ƒ†ƒ…††€‚~~}„ƒƒƒƒƒƒ„ƒ„ƒ~‚ƒƒ‚‚„ƒ‚ƒ‚€ƒ………„…†ˆ‡‡‡†ƒ†„†‡‡‡‚‡†ƒ„ƒƒ‡„‚‚‡„ƒƒƒƒ€~~}~~~~~~|{~~~~}|€~~~~~}~|€}||||~~{}}|{|}~~{{z{||{~}}{xywxx{{}}}z|||{{||{|{zzy}z|zwz~z|{|~}}}€~~}~~€‚{}~}|€€€€€}€{|{€~|}}~}}~„~}~~}„‚‚‚‚€ƒ€€…€~ƒƒ‚…„„ƒƒ‚ƒƒƒ~€…|‚€~„€€y„|„€„z…ƒ‚€€€‚ƒ„„„…„……ƒ€ƒ………„„‚€~z~|}|}|{}|€~uwxwxz{{vvyzxxwvvxuvs{wxxyxywwvvvuvwv{vxwwuuw{vwutsyyyutsyvxxvuuvwwwwwutvqutsvuvvvrsruuvurqrquuvrvqqpqruvuvuuuvuqrsusrurrtppqtoprttttqtwrvsuuurttrqrstswssuuuwtvvuvussuuvxuqyuvwwxvww|{{{{z|||z|z~{yz{{{z{{{~}{}y}~}|{{{{{{{{|~}{zz{y{{|||}|~}}}||{|}}‚}‚~~|~~~}~~~}||}}|~}€‚€€~}ƒ‚‚‚‚~~€‚ƒ‚ƒ‚ƒ…‚‚‚‚„ƒƒ‚‚‚‚‚ƒ„†…†‚ƒ‚‚€‚ƒ„ƒƒƒ†ƒƒƒƒƒ€ƒƒ†„„…†††††ˆƒˆ„‡…„‚‚††…„‚……ƒƒ†…‚ƒƒƒ€‚~}}|~~~~~{}~|z|}~|€}}}~~~|}{~~}€~~~|{|~~€~{|~||}~}{{|zy€|{|}~|{||~~~||{~|z}z|y~z~z}}~~~~~~}~~{€€}„~||{€‚€€€€~~~€}‚|‚}~}~‚~€}‚~~ƒ€~‡„„„ƒ„…„‡€‚‚ƒ„…„†€~ƒ‚„„„‚„„‚€€ƒ‚ƒƒ€ƒ€ƒ€„€†„ƒƒ‚ƒƒƒƒƒ…††…„……„…„…„„…†…‡†~~~€|~„‚~|~~rvuwwxyyvwvxyyvwvxvvswvxvwzwqwvwwxvxutuzwwyxvyywzvwzvyyvsvrvvvvrustsrwwutrvssvvuqrsqqtuuuqqqqrvwrturqqusqttuuurqrrttottruutpqupqrturrrstsqsuqvuttrrrtrrrssttwuuvvtwwrssuyxvryvvuvxwx|zwwz{}|y|{||z{||{{{{y{z~|z}zzzz{{{z|}||||~~{}}{{{yzy~z{}}~~~~zz||~{{~€~~}}{~|{{}|‚‚‚€~~ƒ„‚}€}~€€‚‚‚ƒ‚‚ƒƒ†€‚ƒ‚‚€‚„…„ƒ„ƒ‚‚ƒ„‚‚ƒ‚ƒƒ‚ƒƒ„„„…†††…††‡‡„‚„†„‡†„ƒ††‡„ƒ……†‡„ƒƒ„ƒƒƒƒ‚~ƒ~~~~{|ƒ|ƒ~€€~{}|~}|€|~{|}}}|}~~~~~~~~~}{~|€~}{~}}|~~{|}|{{z|}z{~{z||~}~||}~}}|zzywxz{|{|{{~}|~~~||„~{||€€€€~}}~|ƒ€€€~~~~|~}}}~„„„€‡ƒƒ‚†‚~ƒ„‡ƒ…€€€€‚‚†€…~€}€€~~~€ƒ€‚‚€€„‡ƒ‚ƒ„~„ƒƒ†{†{„{†ƒ„ƒƒƒ„‚‚‚…€|€~~~~rwzzzyvyywwwwywxwwuxvwvxvvwwt{wyvzwxw|uxwwyzvzyxyvw{syyvuuuxuurxstsusyutuwusrvvvtvuuqvsqqqqsquvvsturpptuqvsttvrrrtqsqtttrsqpptqrquuxyzquuussrvsprrrvussuuvutuutvvuwwwysvvxvuuxvuvxwxxzz||}|}|~{|{~||||z|||{{z{|~z{z~y|{|}{~}{{{|{{y|}z{}~€~~zz|~|{~~~€}}}~}}~}~|}~|‚‚‚‚‚‚‚€€„€~‚‚‚€‚€~€ƒ‚‚‚ƒƒ„„……†€ƒ‚‚ƒ†„…„……„„ˆ€‚‚…††ƒƒƒ†‡„„ƒ…†…ˆ‚……‡ƒ†„€ƒ„ƒƒ„ƒ‚…†‡…„……„‚‚ƒƒ„ƒ€~{}z~}}|}~~||}~{~~~~|€|~~|~}}|{||~{}~{y€}}~~|~~~~||{€~~|z~~y}}~~~|~}|z|~zzz{{}z|~~~{~}~~}{ƒ~~|„}|~€~~~‚„€€|€ƒ€€~‚}ƒƒ€€~€~|~‚‚‚‚‚ƒ‡†‡†…„ƒ‚ˆ„„…‡…„€€}€„ƒ„ƒ††€„‚ƒƒƒŠ…ƒ€€‚‹€†‡‡€ƒƒ„„„„ƒƒ„„„„ƒ……„………„…………†…†€†ƒ~|€|{}|{~~sxsyuuttvxwwwysrssuyzvssrtywvuwvvvuww|tyuyzzwvuyyvvuuwywxuzwwurqrrsssvtwpprstvqrquvsqrspqqrqsrvuuuuuuswuqrruurqqututqrpoqrpoprqtqowvsqppptsrrpqqppruvrttuuwtuuuuvuvwlxrwwwuuxxyttutvxy|zwvz}}}||{||||{{|||}~~~~zzzyzzz}|z|~z{{|{z~~{yz}zz{{}}{~}}{{z{~~~~~€~~~}}}}}}}|}~~ƒ‚‚‚‚‚‚€€~~~~ƒ‚ƒ„‚ƒƒƒƒƒ…„„„ƒ‚„„ƒ‚ƒ„~…ƒ…ƒ‚‚‚„„ƒƒƒƒƒ„†„„„†…„„ƒƒƒƒƒ„ƒ€ƒ„‚ƒ†…†‚„…„†‚ƒ‚‚‚„€}~}~€{||~}~~~~~}~}|~‚~€||{||~~~|||}~|}}{~zzz~|~~|}~{}|{|~~|||{z~}z|{~}}||~}yz|~yyzz|zz€~}}{|~}|{||{~~€{}}}}}~€~~€~€€}€€‚‚€~|„€€€€}||~€€ƒƒ‚€ƒ„ƒ€{…„‚„„†‡„„„ƒ„…€€~„€~€~|~~€„ƒ€€ƒ‚€†€~„„ƒ‚ƒƒ~~„€…zƒ…„„€ƒƒ…€ƒ~~~~}}|||~wxuyuvtssxxwvwy{r~uvuxywvwwxvwwzvwu{{|szrxwyvtzyzuwyywywvxxwvtwwyqvrvvwrtrruvuuvvtrrrrsqqrpqruuuvuutvuupuquuqpuutuusrqrqrruqsptpqutuursuqtqqqvvvptrturqrrssuuruuuvvywwvxyxxuvzz{{{{zyy{{z}{|z|{}~~{{{{{~}}}|zzz{z}z|{|zz{{{z{|~z{|~}|}}}}{|{|~~~~}‚€}}~~}~}}}}}~~~€‚ƒ‚€~€}ƒ~ƒ~}~~€ƒ‚‚‚ƒ‚ƒ„‚„„ƒƒƒƒ€„ƒ„ƒ‚€…†‡‚ƒ‚ƒ„†„„ƒ‡ƒ†ƒ‡‡ˆ‡†…„‚†‡†ƒ‚ƒ‡€ƒƒƒ…††‡ƒ„„„„‚ƒƒ‚‚€~€~~~~€}‚}~~~~~€~€}~~~||{~€€€~|||~€|~}€z~}}|€|~|||}~€~}}}}~|}||{|z}|}||zzw||~z}|{{{~~~~~€|€‚ƒƒ„~€}€~~€€~‚€€~€~ƒ‚€ƒ‚‚„‚ƒ‚‚‚ƒ‚‚…ƒ‚……†ƒ‡‚…„ƒƒ‡‚††‡…†„ƒ…‡…ƒ„…~‚€‚„„€€‚€‚…„€…„„„…„„ƒ„„ƒ€†………„„„„………ƒ‚€„…†ƒ†€…ƒ}}~€~…{‚ƒƒ€€wuuxwvssvwwysww{svxxvxywzzuwvzyzwxwuu{uytsv{utvvvzuvwvuw{vuwxwvuusrrtvxwtsssttuurrruqpqqqqrqqqruvvuqqqrqqqquurrtvupouttrosuqpvopttuuwtuuurrqqppoouqrrrutuuytruvtuusvvxvwvuxxwwvuuuvuzxzy{z{|{}{z||{~{~||~z}{~}}{{{{zzzzzzzyz|||||{zyz{~{{}}~{~~}}{{{{{~~~€~~~~~~{|~}~€~~€}~~}‚€}‚ƒ‚~‚€~~ƒ~~~ƒƒ‚ƒ„„ƒ‚„ƒ‚„ƒ‚ƒ„ƒƒ„ƒƒ„‚‚„„…†„ƒƒƒ…ƒ‡ƒˆƒ‡‡„ƒˆ†„„„„„ƒƒƒ„‡…ƒƒ„„„„‚‚„„ƒ„ƒ‚~€€‚‚‚}~€~}‚~}~|~}~~~}~€{~}~~|}~}{}~~||z{{}|}}~}€~€~~~||{~z}y|||z~}}~|z{z|z{~~}zz~~}~{€~}~|€}}~|~~€€~~€|~}~|€‚€~|||~‚‚€‚ƒ€€‚~ƒ„€‚€€‚ƒ…ƒƒƒ„„„„†††ƒ„€€ƒ€ƒ„€~€~{…€‚„„~€ƒƒ„…„„ƒ„„„†€ƒƒƒƒ†ƒƒ~€}~„~~|€€wvvvwyyzuvw{yxyzyxwxtxvxxwwvvzvwxzz{yxw{u||sxv{uzxvtvvvwwwwvxutuzsurvwxs}surruwrsrvpvrvqvqurrquuvuurwrvuutttvstuxw}tutuvvusrtrttsqsutuuuws|qsrtrtttrustttytrruxuurvuxwwvzxtu{vvvz{{wy{z{|{|z}{{{zz}|||}}~z|~{z{|{{{{{~yz{|}~~{}y|z}|{z|}}{z{~y{{}y~}}}}~~~~|{|~~~~‚}‚€~~~~~‚ƒƒ~~€~~}€~‚|€~†ƒ‚„„„ƒ‚‚‚ƒ€‚€‚~‚€ƒ€€‚ƒƒ‚‚‚„„„ƒ‚„…‡‡†‡ƒ‡‡…†‡„„„†††…‡ƒƒƒ†…„„ƒ„…€„†ƒ…„„~~‚€~€€~‚‚‚‚€|~}}}~}~€}€~€€|€€~}||~€}~~z~}|€~}~~~~{{{}z{|{|}{}|||y|z|z~}}}~z}}~~~}~}}€‚~~~|~ƒ~|ƒ€€€€‚~€ƒƒ~„€€€‚ƒ…ˆ|€„„‚ƒ„‚‚„ƒ‚‚‚„‡€„„„„„ƒ……‡‚ƒ…†ƒƒ€†ƒƒ„„€‡‚‚‚‚„„ƒƒƒ„…†…‡†‡…„„…‚‚…ƒˆ……€„„…ƒ†…†„ƒ†€…€‚€€~€…ƒŠ€€~vxusuuuzwywxwwsruvwtrtvxzyyvvvwwxywxvzuyuvuzuswvvxzzzwuttwzvxzxxwytrrvvvsssusstwwrrqqrrrrqppqprtrsrttrruutotturtuupruupuruqstptupstsstustrrrrrutstttuusuvvwruuttvrsvutuuvwyxuvwvwwvzyy{y~}||{{|z|||{~~}{{|}zz|||{{{{{|}|{z|utxy{~{zzyyyy{z|{}{zz{zz{|z}}{{zz~}}}}z{~{‚~~~~}~~}}~‚~~~}€~‚~~}~…‚‚„‚€‚€‚€€‚ƒ„‚‚€}‚‚€‚ƒ…‚‚‚ƒ‚ƒƒ„…†‡‡‡„…††ƒ„ƒ‚ƒƒ†…ƒ‚ƒƒƒ…‡„„ƒ„†‚†„ƒƒ„„~~‚~~{~~~‚~~~|~}}~~€~~~|~}|{~~yx}|||{{}~{{~~|{{zz}~|w~}~{zz|z}{zz|{~|~zwz{{}~~}~}€~{{|~}{~€‚‚‚‚~~€€€€}€ƒƒ~~‚ƒƒ}~~ƒƒ‚€ƒ‚€‚„ƒƒ…‡ƒƒ„„ƒƒ„„‚…„„€~‚„„€€ƒƒ†…€„‚€€€€ƒ€ƒ††‡„ƒƒ~ƒ„†„„…†‚‚„ƒƒ…„‚ƒ…†…€‚€€„€€€€~wyuxwxs{wxwvvwwwvvvyxxvyv{xvwwvwvvvwy|wwwvvyyzyyvxw{zzz|t„wywuvywztyyyuwwvuuuvvyuvrsqssvqrrrpuqrptrruttutuuuuuutuvvyuuruptqsrutttttqqtttsursqquuruuuutpvtrrtsxuuussvvxuuuuvyzzyz{|v{zywy{||}~}z~{{{{{|}~zz|~z{zy||{{{|{zz{zzz{zz{~~~{|w{z|z|z~z{z{{{z{||}~}}}~}~~~|zƒ~ƒ€‚~~~~~~~~~‚~~~}}‚~‚}‚ƒƒƒƒ…„‚€‚~ƒ‚‚ƒ~~~ƒ‚‚ƒƒ‚„‚‚ƒƒ…„ƒ„‡„ƒ…‡‚„‚‚ƒ„„‡„ƒ…‡‚„ƒƒ„†‡‡‚ƒ‚‚…ƒ„}ƒ~~~}~~~‚€~~~~}|~~ƒ~~|~‚‚~~~}||~{{{}~~~~}}~}~~~}|zyvx{~||z|z~~w€zzz{|}{zy|||}~y|y{z~~}€}~~ƒ€‡|ƒ€€|~~€€€€‚‚‚~~~~~€€‚€€‚ƒ‚€ƒ†„„~ˆ„„„„„„‚ƒ…ƒ…ˆ„………„‡‚……†„„„ƒ€„…‡€…ƒ†„‚„€ƒ„€…„‚ƒ„„„„…„„ƒ„………ƒ‚„…ƒˆƒ……‡ƒ………†††ˆ€…~€€€…€€€ƒ~€wwtvyxv{zxwwuvzu{vuvvwxxyzzwwvvxxvvxv|vzuvvwzzxxwyzyz{zwvuuwzvuytuumryvvwwuvvwmwssqrrtquqomrqtqrpsoruuuuqruvuuusuuvquvruqqrqtvtrrstqpuurrrsruvvstuurrupurqrtvuxuurrrruywvxwvvvwvuvwy{{|{||}}||||{z{|z||{{|{{z{z|z{zy{zzz{zzzz{{{}zz|{y|z{{{{~{}}|~{{|}|~~~}{|~|}~~|{~}ƒ€€}~€~~~}~~ƒ‚}‚€€‚~€~„ƒƒƒ‚‚…‚‚‚‚ƒ~€ƒƒƒ‚‚‚ƒƒ‚ƒ‚ƒ„€‚‚€ƒƒƒ‚ƒ‚ƒ„‚ƒƒƒ‡‡„„…ƒƒƒƒ„‡†††‚€‚„†ƒ„ƒ……ƒ…„‚ƒ~ƒ€~‚~~€‚~~~|}~}~~~ƒ|€~{}{}{~}{z~€|{{}~~~|}{|}{{|z|{zzzzy{~zzzz|{zyzzz|y{z}zzyzz{|~}‚{~~~~|ƒ{||~~€~„‚€€€~€‚‚ƒ€‚‚€€‚„„ƒƒ}~~„ƒƒ€…„„„ƒ…„ƒ„†‚…‚…„……„ƒ„€„ƒ„‚ƒƒ€…„„„ƒ€ƒ‚…ƒ…„‚„„„„„ƒ€ƒz„€‚ƒƒ‡†„‡„†„„…„†‡‡†…‡~~„~~€|€wwz{xwv{xwwzwvyvuuvyt|zxxwvxwxz{v|vvu{u{vzvttuvyyzzzw{wwwvwwwzxxywvwyzxvwyuvvwwzrrqqqspqqrqrquprntuurquvquuquutruruvuuuusqqqqtrtuuttqsutrvstuuttuttysvqusvruwxvvuttvttvzzzwvvvuuwyyyz}{{|x|||~{{~~~{z||{{{z{|z{{{z|{|zzzzyzy{{{{}}~~~}}{}|{{~~}|}{{{}|~}{}~~{~|}}}ƒ~ƒ~~}‚‚‚„~€~€ƒ‚ƒƒ~}~‚ƒ‚~}~‚‚„…†…‚†„…‚~~‚ƒ„‚‚ƒƒ‚„„„„„„ƒ‚ƒƒƒ€…„‚‚ƒƒ„„„ƒƒ„ƒ……††…†ƒƒƒ„ƒ„†‡‚…‡‡ƒˆƒƒ„„ƒ‡€ƒ€‚‚€~~}~~~‚~~€~|~~{~~}}‚~€~~|~€}||{||}|}}}}|~~{}|||||}~~|{z|{}|~{z|}{xyzz}w|{}}}}~}~}~|ƒz~}ƒ|~~~|ƒ€€€€€€€€~‚€ƒ‚‚‚ƒ€ƒ€‚€„ƒƒ„…„€„ƒƒƒ…„ƒ„…„…„‡‡…ƒŒ…„„„„„†€„…†ƒƒƒ„ƒ„‡„„…††…€†„……ƒƒƒ„ƒ…„…………„ƒ„„„„…„ˆ‚…ƒ‡…ˆ„ˆ‰ˆˆ‡…~~€‚€€€wxyyusvvuvwxwvzxwuvxvxswtxvuuvwvv{xwuvw|vzwwwvwvvwwyy{ywxzyxzzruxvyzwzuvvvuvrqqyurrqpqqqqpqqqvppqtlwtrtvrttswvuruqqusuturrtqqqrruvusqpqqtvsrvsqvtrtrsruruurvyxvuxyyvutuxzzvtwvvvuuyzw{wz{y}|}~|{{zzzzz}{||{z{|{zz||{{zzz{{yw|{z|z|€|z{}{|}}~|~}}|{|{z~€{~}{~~}|~}~~}‚}~~‚‚‚}~}‚‚€ƒƒƒ‚ƒ‚„„„„‚€~~ƒ„‡…ƒ„„‚ƒƒƒ€~~‚ƒƒ„ƒ‚„…„ƒ„†€†‡…ƒƒ…‡ƒ‚„ƒ„ƒƒ†…†„„ƒƒƒƒ†ƒƒ„‚„…†„ƒ††„‚†ƒƒƒƒƒƒƒ„€‚~~~}‚~~}~}}~~~~€{{{~€~{|}~€€~|}}{€}|}}}|{|||||}}}}~|||||}}|~~{|~{|~}||}yz{|}y{|{{yy{|~~ƒ|~}|{€~~~}‚~€€~„‚~~€€ƒ„€‚‚€€€€€€€ƒƒƒ~}~ƒƒ€ƒƒ€€ƒ„‚ƒ‡‡‡„††„…„„……€‚ƒ€€ƒ„ƒ„„…†€‚„……‡ƒ„ƒ„„…‚†„„„„€…„‚„……††„„†‚‚…ˆ„…†……„„†„€~€…†€€ƒ…€wxxxxxwywxyuvzxxyu{vvuxuyz{vzvwvxwxyyu|vzvuuxyzywwyz{{yzzy{yyuxwxwwvzwvvwtxtsrwsrrrqqpvnqprqvvuvvwwvvstrvqtvputrqrtutstrutttusytrtuqvvyuuttuvwvuvuvsyuuvuvvxuuuxxxyyyvvwxvuvwwxwww{z{{{{~|{z{z{{|{{{z}w{z{|{|{|y||{zzzzywvv{{y{{y{{||{}{{|}|}~}zzz{{z}}~}‚~~‚ƒ}~}}~~~~}~~€~~ƒ}„ƒ‚ƒ‚‚‚„ƒ€‚}ƒ‚„‚„„ƒƒ‚ƒˆƒƒ‚‚ƒ„„ƒƒ„„ƒƒƒ…ƒƒ‚‚†††‡…„„ƒ‚ƒ…†„„„„‡‡‡‡††‡‡‡‡…………†„…†…†……ƒ„ƒ†ƒ„„„„„ƒ€~~~~~}}~‚~~~€~€|‚‚€{}ƒ~€~€€€€}€|{}{||€~}~{~{{~~|}}||~|{||}~zz|{z~{z|||{|}z{}~}~‚~ƒ}~~ƒƒƒƒ„„„ƒ€€…~…€‚„ƒ‚€€€ƒ„ƒ€€€€ƒ‚‚‚„€„ƒ„ƒ‚€ƒ„‚‚ƒƒ„ƒƒ„……†‡ˆ„……††„‡…„„ƒƒ€…„…„ˆ…†…‡‡…‡ƒ…€„„„„…„ˆ„„„ˆ€„„„……„„„„„‡……ˆ††‡‡„‡ˆ†„€~Ё€€€€……‚vwzyzyxwwwxwww{zvwvys{xxw{xwwxxwwyxwwwu|vzvuvxyzzvyzwuvvxxzzyyuvyywtuvwwwxtwtssssussrqrvlnpopuruptuuquqtqqqtutwutqrtvrrrrurttrsstruurvutututspovvvuvrxvwsrwvxxwvywqwxvzvyuzxvuyvwuvw{{{{{{{{|{{{z|||wy{z|{{zz{{|{z{zzzxv|z{zyz{z{z||{|{{{}|z{{y}{z~}~€~€~|{~~~}~|~~~~~‚}~€ƒ~}~~€„„ƒ‚„ƒ~€ƒ‚ƒ„ƒƒ„ƒ„‚‚‚‚‚€‚„ƒƒ„ƒ„„„ƒƒ„†…†‡†„ƒ‚ƒ€ƒ†ƒƒ„†‡‡‡†††††…ƒ„†ƒ††„„…†‡„ƒ„……ƒ„‚„ƒ‚ƒ~~~}~€€}~€‚ƒ€~~€€|€€€{€{€~~€}|€}|~~{|}||}||{~||{{}}|}}}}~{|{~|zz|z~~||{}~~z{||~€~}~€€|z€…„ƒ€€‚€~„„‚€€€€‚€€ƒƒƒ‚€„‚ƒƒ‚‚‚€‚‚~€„€„‚„…{…„†…ƒƒ‡………„‚‚…„…†…††……€…‚……‡…„ƒƒ„‚‚‚………‚‚„…ƒ…„……„‚„„€†…†„†‡ŠŠ‰‡…„„€€€~~ƒ…„€‚wwxxz{zwvxw|wv{{vvwyu|xz{{z{|{uwwzvvuwt{uyvwwy{|wvw{wyvzyzwywwwyxywwwyvvwxsvrussrwqurqqwqrquourrqvwvqvttsuputuutsttttrtuuuqtr|srusturxrtttttrspxvusxrvvwsrtuvvvuuxtxxwxvwwvwvvvvuutvxwy{yy{|{|{{{|}}|x|}zy|x{|zzzz{|{{zzwxwwz{z~zz{|||{{{{z{~{zzzz{~{z|~~~‚~~~{zz~}‚~~~}‚‚‚}~~‚}}€ƒ€ƒƒ‚ƒƒƒ€€„ƒ‚ƒ„ƒƒ„ƒ‚ƒƒ‚‚ƒ‚ƒ„ƒƒƒ„‚ƒ~~‚„ƒƒ„†…„€ƒƒ‚ƒ†„…„……†‡‡‡‡‡ˆ…ƒƒƒ„†„ƒ„†ƒ„ƒƒ…„ƒ„…†ƒ„€ƒƒ‚‚ƒ~~~~}~€~}‚ƒ~€~€€€~{~~~}||~~~~€‚€{~{|}~|||}}|||{z}~}}}|}||z|zyz{z}}||{~~~|z{~}‚ƒƒ~„€€€€ƒ€€€~„€„€€‚…}ƒ‚ƒ€ƒƒƒ†‚ƒƒƒ€ƒƒ‚‚€€„~‚ƒ‚„…†…†…„ƒ„„„ƒ„…†„ƒƒ‚‚„…€†…†ƒˆ†‡††………‡…‚ƒ„‚€€„‚ƒ‚ƒƒˆ„…„„„ƒ„ˆ……„…‚‰…††‡††‹‰‰†ƒ€‹‚€~„ƒ…ƒ€‚vuuwz|xyrvwvwxz{wwvvwzz{yvutv|wxwwwwwxwwuuwwyvw|yvsuuwvvstvvwvwwywtsrrrrrvuttusqswqupopnprrqqprqqrsrqppsuuqtuvoipqquutsuuurqpqtuusstuvrqqtwvtuquvusvtwuuutsuuvvtqwsvuwxyxuzwuvvvvvyywwxxyzz{{{|{~|}}~{{{zx}}{{{y||z~{z{zwxwwzzz~{zz{{{yxzzz{|{yyyzz{z{~~~„||zz~}}|}}}}|}}~‚~€~‚€‚ƒƒ€ƒ‚ƒƒ„„„ƒƒƒ‚ƒ‚ƒƒ‚ƒƒƒ‚€‚ƒƒƒƒ‚ƒ‚ƒ‚‚‚‚ƒ„„„„…„‚~‚ƒ„„ƒ„††‡†„‡…†…‡ƒ„…„ƒ‡†ƒ„‚ƒƒ„…†††††„ƒ„ƒ„ƒ‚}‚~~}}}}~}„€€~~}ƒ~{ƒz}€~{~~€~~|~~{}}}~~~}||{{~{{{}{|}}}}{{z{{||~||{}|||~{||~}z||}‚}}}||{€}ƒ‚€~€€€€„€€ƒ‚ƒ€ƒ€€‚€~}}~~„€€‚€„‚…ƒ€~ƒ€‚ƒ‚ƒ‚ƒ€‚„…†„„„ƒ…„„†ƒ„„„……„‚†ƒ†‚†…ˆƒˆˆ†„†…„ƒ‚‚ƒƒ„ˆ…ƒ‚‚…„…†„„„ƒƒ‡…†…‡ƒˆ‹ˆˆ†…€~~ƒx„~‚„wyuvx{w{txvxyzz{v|vvvz{{{|uxv{vwuyy{wwvvuxxzywx{x{wuvxxyxxzzxwwywxtywwwwwwvxwwrrsxrsqrqrrrq{qpqurqrqptstuuqvuvuvuttvtuttuvrvutuusurwwwsuruuuvvvtuwuyuuvuuusvwwwzyzrvvxxvxuvwvwwwuxyyvwvyz||}{{{{{}~}{{zyz|zzzzz||{||z{z{{z{}z~}|{zz{|~zzz{z||z{zzz{z€~}}}|}||~~~~~|}}}~€~‚‚‚~€‚ƒ~}ƒ„ƒƒ€€ƒ„€‚ƒƒ‚ƒƒƒ„‚‚€ƒƒƒ‚‚~~~‚ƒ‚ƒ„‚ƒ„ƒ…‚‚ƒ„ƒ„††‡‡†‡†‡††‡‡…ƒ„‡„„„„ƒ„ƒ††‡…‚ƒƒƒ„‚„ƒ‚‚‚~}‚~~ƒ}}}~~~~~€ƒ€}|{z~~€|~||€{{|~~{}}{|~}}{y|{zzz{}{}||~{|~|}y}{}}}}{{z‚~„€€€ƒ‚ƒ„ƒ„€€€€„ƒƒ€€‚ƒ‚‚‚…ƒ€„…„€‚…ƒƒƒƒƒƒƒ‚„…„„ƒ‚ƒ~†€†„†„„…„„††‡„„…„„ƒ†ƒƒ„…‡†‡ƒ‡‡‡‡‡††ƒ‡„‰‡„ƒ„„ƒ†„„…‰……„„„„…ˆ……„ˆƒ†…‹‹‰ˆ‰‹Œ‹Š„€…ˆ€‚v„€„{sswwwwytzvwzwsxwyvuwuwvvvwxvuvvwwwzzwwxuvwzzzy{y{ywx{vwwyzwvywvwzuywwvuvwrquuusrrrrrqqprppoqprorrqpqoptpqqvuuuuvsvtuuutrttttuusststwurqrtuuuuuttrtvvuwwvvvuvvtrrrsvyxytzvwvuuuwuuvwxuwy{z|{||{{{{{z|~{zyz{|y||zz|yyyzyzy{{|{zzw||yz{|{|yyyz|~|{yzzz~~‚€}ƒ~}~€~}}~~|‚€~~~}ƒ€ƒ~~~ƒƒ‚ƒƒ‚ƒ‚‚„ƒ‚„ƒƒ„ƒ€ƒƒ…ƒ„„„ƒƒƒ„ƒ‚‚‚€ƒ€‚„„ƒƒ€„‡…„ƒƒ…‚ƒ‚†„‡ˆˆ††††‡††‡‡†ƒ††ƒƒƒ‚‚ƒ…„„„„„ƒƒ„}€}~€~~~€ƒ~}}}~}~~|ƒ~|~~€|{}{{||~~{{{||{|||}{~~}{}~~{{~y|}|||{}}y{}~~}~zyx{|}~~z||{z~€€„}~€ƒƒ„ƒ„„ƒ€‚~~‚‚€€~~€„„‚ƒƒ‚‚‚€€ƒ‚ƒƒ„ƒƒ€€€ƒ„‚‚…„„„…†…†ƒ†…„€……„€†„†…†ƒ………ƒ…‡†„‡„ƒ„ˆ……ƒ„ƒ…………„„…‚……††…„…ˆƒ‡ˆ‰‡‰†‰ˆŠŒŒˆ…€„€€‚w„€‚†„{xxxwwwwwxvywvwwxyyywyxyv|vyx|vzwwvwzzyxtvvwwyz{zxx{zzz{x|xwwzuvvzyywvwvvwvvvusvuusrqppqtzmqpoqvqrpppqqtruqvqvuuvusrtvuurtuwsurvstsrrtrrrttusurts|quuuvvuuuvwztxs}rvwxxtwvttuuvyuuvywvwyy}{{{||~{{}z{z{zzzzzz{{||{{yzzzxwz{zzy}zzz}{zzzz|}}~~}~{{z}z~€~‚€€~€€~}}~€~~}‚~~~‚€‚ƒƒƒ€‚ƒ‚€‚‚ƒƒ€€‚ƒƒƒƒ„ƒƒ‚‚„„„ƒƒƒ„€‚€„‚ƒ‚‚‚€‚„…††„€ƒ„ƒƒ†ƒ†„†ƒ††††„‡††ƒƒ†…„„ƒ‡‚ˆ„……ƒ…‚ƒ†€ƒƒ~~~~‚€~‚{~€‚‚|€~~~€|}~~€~~~~~|~}|zz~€~~|…{|}|}|||}||||}€z~}}{x|{~{€€€~~~w}w{||}zz|y|}~~‚‚ƒƒ„„„€ƒ€ƒƒ‚€€€€€€‚~‚„…ƒ‚‚‚‚‚„…„€……‡‚ƒ…ƒ‚ƒ„ƒƒ€}‚„€€„ƒ„‚„…†‚„…ˆƒ„…„…„†………………„………†‡‡‡ƒ‡ƒ‰ƒ‡†‡„ƒ…‰„„…††…„ˆ‡ˆ‡ˆˆ‡…ŠŠ‰ˆ‰‰Š‰Šˆ‘‡€…†€€„…‡€‚‚zvuyy|vxwww{wuvuvtuuvvwxv{vyw|w{wwuwzzzxvyvuvvu{qxy{yw{{xzwwuztutruutuwuwvvwqtsvqrqqqqmlmmlponqvrqqppppqutpuqpotvrqquuuuusutrttxuttuyusrrurqrrrrsrrrutuwvvtttstuuxrvwxxuvvuuywvvxvwzwvwvw|yz||z}{z~y{{z{y{z{{zzzyz|zyyy{xwy|}z{zz{{zz{zz{}|y~~}|zz{{{}‚‚‚‚€‚‚‚}€‚}}~~}}‚~€~~‚€ƒƒ„‚ƒƒ„„‚ƒƒ„‚ƒ‚ƒ„†„‡ƒƒ‚„„‚ƒƒƒ„„‚‚‚ƒ}~‚~ƒ…ƒ„„„„ƒƒƒƒƒƒ††††‡†‡††…‡‡‡ˆ‡†…„ƒ„„ƒƒ†„†‡†‡„„ƒƒ„€~~‚€ƒ„‚‚€€~~€‚~}€}€}~€}}{~|~~}}~|~~‚~~|||~}{||z|}{|}z|z{}|{{z}{{{{{|{||{}zyxyzz{{{z{zzz{zz{{|~~~~{o{ƒ‚€€€~}~~€€€€€~€‚‚ƒ€„‚€€‚„ƒ„„~€ƒ€}ƒ€‚„ƒ„„„„ƒƒ„„„„„ƒ„„…‡|‡‡††……„…†‚ƒ†…†‡ƒ„„ƒ„…‡………„„„„…ƒ…ˆ…„„„„ˆ‡‡‡ˆŠˆ‰‰‰‰ˆ‡„……„„„€~€€„ƒ„xyz{zzywwzvwyuuywvvwuwvxwwv|v{w{vwuvzzy{zzwyvvwzzyxvuvzzw{z{u{vzuxvwv{vuwwuwvvuuuuuwqrpvtrqrpppuqrqrpututttvsssuvuqptuusrssuuuvwrttvytstttrrqvvurtruvwuwuvuttvryuvwwvwwwuuvwuyrtuuuyyyz{w{z|{{{|z|||y{{w{z|{z|z{||y{zzyzz{zz{~~zwz|{{z|z|z{|~|}~|{|z{{~~}‚‚}ƒ‚ƒƒ‚‚‚}~€‚~€}€~‚€€~‚ƒ‚‚‚ƒƒ†€†ƒƒ€ƒƒ‚€ƒ†ƒƒ„‚ƒ‚ƒ„ƒ†ƒ„ƒ„ƒƒ‚ƒ}‚„„ƒƒ‚†ƒƒ‚„‚„„„„…„„…………„…‡‡†„…†„ƒ„ƒƒ‰‡†…„ƒ„…†„„‚…ƒ‚~‚z‚‚~~~~€}~~~~€€€~~~~~€~~~}}}~~~~~‚|}~~|{{{}{{{|}|yyz~z{{{{zzz|{|{{||{||~}}|||}}~~‚‚‚}~~}ŠŽ‘Ž‘ˆŒ”“‘—šœ˜šŸ¡ Ÿ”–‘‰‹Šz|~…€…Š„‚ƒ†„ƒ€ƒƒ„‚„‚„|„‡‡€…„„„„…‚ƒƒ‡„†„ˆˆ‡ˆ†‡…‰†‡†ˆ†‡†‡‡‰„„…”…††…„„„‡ƒ„„‡„……„ƒˆ…ˆˆ‰‰‹ˆ‰‡††††……„„ƒ„„†ƒ„„ƒƒƒƒ…xxyvvvxyuvyvyzvyvvvwvuvvwxwyw|wywvtwzxyyzxszvvwvvz{xyyzzyztuuzxzvzwuutvwytswvtruvtvrqrrurrqqqqpqqpqsqopopqurutqtputsruurrrrqqppqttuvyssvurrqqsutrpqrrvutuuuvvusuvuuuwzuuuuwwvxquwvvyyy{{wzzxwy{||{z{{z{|{z}{|}|||{zy|}wz{{wy{~{{{zz{}zzyzyy{~}||}z{|z}}}‚€‚~|}~~}‚}~‚{€‚~~~~}~‚€‚ƒƒ‚„ƒƒƒƒƒƒ‚„ƒ‚ƒ„„„ƒƒƒ„„„†‚…ƒ‚€~‚}ƒ‚‚‚‚ƒ‚ƒ‚„„„„ƒ„†…††…‡„…‡…‚ƒƒ„„………‡†„…ƒ„„„„‚‚‚€~~}~€|{~ƒ~€‚€~~{{€€~~~}~~€~|}z{{|~|~|}||{|}}|~||{||||}||{{z{{||~~€z~~~}vyy}……ˆƒƒƒŒŒ”“’‘“’‰ƒ‡Š†{zpssl`mh\QPPKCB>?8$+$$%&A}}„€†ƒ}‚‚„„€ƒ„€~}„‚…ƒ‚ƒ„€…„ƒ„ˆ€€†…†€‡‡†††………†‡…††ƒ†‡‡„…„ƒƒ‡ˆˆ‡……‡……„„„…ƒ‚ƒˆ…„…‡„„…Ї…†‡‡‹†„ƒ„…„ƒ…ƒ€…ƒƒ‚y{}}uzyyuvvwxzwxwwuwvvvvuxvwu|uxvuvvzwvxvvy{vytvvzxwwxwywyyzwzz{vzyxwyxyvvsvvxrvwrrpozqvqspvrrsrrrqrs{qrqqqtuutuqussrutqtuttrrqtsvtvuurvuustquttuvstswuvruuvuusuuusuuytvuwwwwwtwwwvyzzzzw{zxwyz|~zz{{|z|zz{{{~|{{{{{{}wxz{wyz}{|{|{w{{zzzyz}{}~~{{{}z}}~~ƒ~ƒ~€|~€}‚|€~‚‚‚ƒƒ‚ƒ‚ƒƒ€ƒƒƒ€}€€ƒƒƒ„„€‚„ƒ„ƒ„ƒƒ„ƒ‚ƒ‚ƒƒ†‚‡…‚ƒ~‚~~€ƒƒ†ƒƒƒƒ„†…†ƒ††‡„‡ƒ‡…„„‡ƒƒ‚†…†„Ž„†‡†††…†††‚„€‚€}€~}‚‚‚€€€~}}}~~~~}~}}~~~~~€~}}}||||zzz|~‹ŠŠ‰ˆ‡„„‰‰ˆ‡Œ‹’•”“•‘Œˆ†‡Š†‚ƒƒ€vpoha^QPRMKGGB?:50.#!
+			
+?‚{ƒ†„…€„Š‡‚„…„ƒƒƒ„††‡‚ƒ€†„ƒ„††„‡…‰ˆ†€†‡†€ˆ†„……„‡†‡†‡…††‡ˆ‡‡‰„„…ˆˆ†‡…„‡……„…‚ˆƒ‰‰Š…‡ƒˆ…‡…‰‡ˆ†ˆ‡‹‡††………ƒƒ„…………‡ƒƒ†yvvvvuvwuvvwxxxvwwxvvvvuvwxwwzusuwwx{xwwvvz{vvwwvzwxxwyyuvwwxyu{wsuywvwxwyruxvruxqvprqrrsqoqqtsqqqqqqqqoqqqtuuvuqrtrrutuuvrqqqtrsvtuuuqquvvqquvvxwvusvutsuvurruuuurvussvqtwxxwuuvvwyzzvzwwzzxvzz}|{{{{{z{z{z|{{|{~|zz{ywywyzzz{{{zzzzzzyzz{{~}{{{zzzz~ƒ~~‚€€~}€}‚~‚~~‚ƒ€‚‚‚‚‚~~€‚€ƒƒƒ‚ƒ„„ƒ„ƒ„ƒ„ƒ€ƒ„ƒ‚‚‚‚‚ƒ~}‚~ƒ„ƒƒƒƒƒ„ƒ‚††„„…„†„…‡†„„ƒ‚€‡‚†……ƒƒ‚‚‚‚€‚…ƒ„‚‚ƒ€€~ƒƒƒ~‚ƒ€}|}}|€„„‚‚…„„‰‰ƒ‡Š‰Œ‹ŽŠ”ŒŽŒ„„~|vzsqfichbdPTSICCB?<8)2,*	##}{‚€€‚€~†ƒ„ƒ„„„ƒ{†ƒƒƒƒƒ„„„‚„…ƒ„„ƒˆw…€…ƒ†€‡†…„…ƒ€ƒ…†‡ƒ…ƒ‡‡†‡………‡ˆ‡†‡†„‡†…„€ˆƒ‰……†ˆƒƒ…ˆ„ˆ‡‡‡ˆ†‰…„€„ƒ„„…„„…ƒƒ…xyxxuysƒs„{zwwwvuyvzwyw{uvvxu{{zxyvvwxuvuzz|v}u{zyuxvyz{wwwzxxuyuzuvwvwwvvvwvrtvwrqur{rsqqpvsuqrqroutuprrrqtutuuqqqqquvvtstrsuuvrvtutrquuwurrtutttutrwrvssttrvrrtvvwvwqwtruvuqruv{v{yzw|zzz|xxyy}|{}{{z{|}€{zz{}}||zzzywwvzz{{|{zzzz{y|zz{}{|{{~z~y~‚~‚‚~‚ƒ~}}}~‚}‚~~~~‚~‚ƒ„‚„ƒ‚~~€ƒƒ~}~~€‚ƒ„„ƒ‚…ƒ„…‚ƒƒƒ‚ƒ‚ƒ‚„‚~€ƒ†…„ƒƒƒ‚ƒ„„‡ƒƒƒ‡ƒƒ…††„ƒƒ‚††‡‚‡†ˆƒ‚„„ƒƒƒ‡‚„ƒ„‚‚‚‚€~ƒ~‚‚‚ƒƒƒ„€~„ƒŠ‰‰~wqjnhaXa[PLJDA@=43(+)"!	�

��~{‚ƒ„ƒƒ‚‡‚…‡„„„„……„‡‡†„‚‚ƒ‚„ƒ†„‚…†…†„ˆ‡ˆ†‡…†‡‡………†…††‡‡‡‡‡ƒ‡…‡„‡‡†„†‡ˆˆ‰‡‡ˆˆˆ‰‰Ž‰ƒˆƒˆˆ‰‰ˆ„ˆˆ‡†…†‹…ˆ…„…„‡ƒ„ƒ„††…„††…xz{xvyussruuvvvvvxwwvww{vwxxvzvuwwwwwxuvxwvuuzuruuwvvwxwwuuzwvvzuvvuzwvvvuvuuvytvtprrptrqqooolpqpoppopporrpsptttqqqprspnoqttsrrrsrusqqrtuuwqqqrrrqqtuwrrtttqrtrnuupxvwqquuuuuxxvuxvyvzx|{yz{zxx{|yy{|{{zyy{|||~|}{z|{z|{{xwz{{|}|zzyzz{{y{zz||||~{{z}~~‚~}~~}}}}~~~~~~‚ƒƒƒƒ~‚‚ƒ‚€‚€}ƒ‚‚ƒ~~‚ƒ‚„ƒƒƒƒƒƒ‚‚‚‚„ƒ‚‚‚ƒ„ƒ€ƒ€‚ƒƒ„‚‡‚‚„„‚€‚ƒƒƒƒƒƒ…‡ƒƒƒƒƒƒƒƒ‚‚ƒƒ€†„ƒ‚ƒ…„ƒƒƒƒƒƒ‚‚~}~}}}~„‚‚ƒ€€~uW7&

+
+
+�����"w{€ƒ‚„‚€ƒ‚ƒƒ„…€„„„ƒ„‚‚ƒ…„ƒƒ……„……„„„„‡ƒ†………†…„…††††‡„‚ƒ†‡‡„…„„„…‡†…„ƒ„„„…………ƒ„ƒ‚„„…‰ˆˆ…ˆ‡‡…‡‡‰„ˆ††„ƒ„‡ƒ†…€€…ƒ„vyxzuyuwxywwwvvwvxwwwzx{wxxvuxvwvxvxvxvvv{vyxyuvvywyyyz{xwvwvvvywwwvvwvtvvwxxwusuwywqsrrqrmrrqqqppqqpqqrpvutruutqqsqrrqtptuvutrtttttuuqwttsrsuusuustuxqtsvqqqqqqtuqxxyyzuvvuvxyytxvvv{z|zywz{zy{{{ww{{z{w‡y{{~{{{{{|{{||zzyzyz{|{{}~y{zzy{|{|€{|~~}~z~}~}‚€~~~|}~~}}~€~}}ƒ„„ƒ‚‚‚‚ƒ~€‚‚‚ƒ„ƒ„€~‚~~€€ƒƒ„ƒ„‚‚†€ƒƒƒƒƒƒ„‚‚ƒ‚…ƒƒ„ƒ‚‚ƒ‚ˆƒ‚ƒ‡„ƒ…ˆ„ƒƒƒƒ…ƒƒ‚‚„…„†€ƒ„ƒƒƒˆƒƒ‚ƒ‚‚‚}~~~€~€~~~‚ƒ~~~tB(���<v{€ƒ„ƒ„ƒƒ„……„€‡‚‡„ˆ„„„ƒ„„ƒ„…„ƒ†„ƒƒ…„ƒƒ…„ˆ„‡………††‡ˆ‡‡†…†…†‡ˆ„†ˆ†††ƒ’ƒ…†‡‡‡……ƒˆ‚…„ˆ„‰„ˆ„‰ˆ‡‡ˆˆ‡…‡†‰‰‰ˆ‰†…„„‡€……†€„„ƒ…‚…uzusttuxxxwvvvxvwwwwwxwwxxwwvxvvuywwxxxwxzwyvvvuvvvxyzv{xywwvwvvvvyzywwvwwszqurrrqqrrsrqlrqqpprrppqpqqttqtpqpmptqqtrrqrqqstpouruuquvqsqptqtqtuvtruvutuvvsqqpqqttturumvnyusrtutuuvyvywtw|zxwzwzzyy{yww{{|xww{y|z{{{{z|||{{zvzzzzzy{}}{|zzz{}|~~z|~~{zz{}~‚€~~}~~~~~ƒ}~~„ƒ‚~~‚ƒƒ€€ƒ€ƒ„„‚ƒ„ƒ€„„‚ƒ„…„„‚ƒƒ„„„ƒƒ†ƒ„†ƒ‚„„„~ƒ†ƒƒ…†ƒ†ˆ„ƒƒ„†„‚ƒ†…„…†„‚ƒ…‚ƒ‚‚ƒƒ„„‚‚‚‚}~ƒ~€~€‚K		������m|€ƒƒƒ‚‚ƒ„…‡…ƒ†‚…„ƒ‚‚ƒ‚„……†ƒ‚ƒ‡„ƒ………ƒƒ……†…†††…‡†…‡‡†…††…††…ˆ‡„…ƒ‚‚„„„‡„ƒƒ„„‚‚‚„‡„ˆ„†„€„ˆˆˆ‡‡‡‡‡‡‡†‡Šˆ…„ƒ€€……„ƒ„wwxytuxxxwxvxwwvxwvwxyyxxwxwxwvuzxzuywwvzw{vuuyvzvwwwuzuyvyzywzvxyyxxxwvwsysvrwrurqrsrqqrqqoqqutvqqptuuvvurqrpvptuupvstutrvuvssqvt|quuuutrruwvyuxttuuuxswuwvvursuuuvvxyyyuruwwwvyu{vvvzz{yzyy{|{{z||}{|v~}|z}|z{{z~z|zyzzz|z}~~zz}}|||{{~~z}}|~~~~€~€‚€~€‚~}~}~~‚ƒ}}‚~‚ƒ‚‚€€‚ƒ€}ƒƒ‚ƒ‚ƒ‚ƒ~‚ƒ€‚„‚†‚ƒ‚‚„€†„ˆƒ…„ƒ„„‚‚‚ƒƒƒƒ†‡‡…ƒ‚ƒƒ„‚‚†„ƒ„„††‡„‡‡‡†……………††„ƒƒ‚ƒ†‚ƒ‚‚‚†‡‡‚ƒ€}‚~ƒ~€€~ƒ~O����	
+')+-:@HVk~ƒƒ†…ƒƒ…„†…‡ƒ‡ƒƒ‡ƒ‚ƒ‡…ˆ‡ˆ‡ˆˆ‡‡……ƒ„……………„‡…ˆ‡‡………‡‡ˆ„†…††ˆˆŠ‡‡…„…‡†ˆ„„ƒ‡„„‚‡‚‡‡ˆ„‰…„†ˆ‡ˆ‰‰ˆŠ‡‹ˆ‘…‹‡‰„ˆ€Š€………€†……ƒxvvvvvuvwvvwwxvxvvstvwvwxwwxwwwwwwwuvuvvvzwxxsuxvvvvvuvvvvvw{xwuy{uuvyzussssrvsqrrrrrqpqrqqrppqpqtppqrqoptvtqrpqpsorprrsrqovuuupqrurqqqqqtttuuuuutsruurrrqvuqtvvwuutuuuywxvquuxvutuuvvvxzxz{zzz||{{|xz{zv}z|||y~z{}{{{y{yvy{{{||{~~}|{|||~~~~}z~}}~}€~‚€‚€~~~}~}~‚~}~ƒ~}}~‚‚„ƒ„„ƒƒ€‚‚€ƒ‚‚ƒ†ƒ‚ƒƒƒ†ƒƒƒ‚„„„‚ƒƒƒƒƒƒ„‡‡…ƒ‚†€‚…†………ƒƒ††ƒ„†‡†ƒƒ„„„„†…†„„ƒƒƒ„„„ƒ‚„„„‚‚€~~~~~}~~~{€N�

,347:9<AAH`k::“‹€{ƒ…Š”’Ž‹€}}„ƒ„…†‡†‡‡‚ƒ…ƒ€ƒ„ƒƒƒ„‡…‡w‡„ƒ„ˆ†…„…„‡††…‡††„ƒƒ…„‡†………„……„ƒ‚‡‡‡ƒƒ‡‡‡‡ƒ‡…ƒƒƒ……„ˆ‚……„ƒ…ˆ…ƒ…„…‰†‰‡ˆ†‡†††‡…†ƒ€…€††„……„‚ƒyzuvvxwvwrswvvwvvtzyywwvxwwvwuxv{wxwvwwvzuvw{vwvxwvuvwxxxxxzzyzwyuvwyvuuyxxrwrusrtvrwopppouorqqqvqrqqrrrqrvquprotouqpprruwyqrqrssrrrrrtrtuvvsuuqqprpuuwqtusqqrttturuuuwuuusuutwuqtwyyvsw{{|{|z{{|z~{{{|{|{|{z~||~{|{|{zz{z}z{~~~{z{{~|{{||~}~~}}}~}~~~‚~€|~}~‚~ƒ€~€ƒ‚‚~€‚‚‚„‚„‚‚‚ƒ‚ƒ€€‚~€€ƒ†…†ƒƒƒƒ~…‚„ƒˆƒ‚„„ƒƒƒ„ƒƒƒ†ƒ‚ƒ‚…€~…„…ˆ…„ƒˆ…†…ƒ………††‡„‡†ˆ‡‡ƒƒƒƒƒƒ…†ƒ‚ƒ„ƒ‚€‚€ƒ~~~€ƒ€~|~†Z���# %011*�j™‘’”–”—ƒrwskŠpv„‚~|}‚‚ƒƒ~‡……ƒƒ„‡†††…„…„ƒƒƒˆ„‡„……„…‹~…„……†‡†„†ˆŠ…†ƒƒ†„„†„‚………†…‡†ˆ……ƒ‚…ˆ‡‰ˆ‡ƒ‚‚ƒ„‡‰„……ˆ„…„‰‡‡„ˆ‡‡ˆ‹…ˆ†Š‰‡‡ˆˆ‰‡‡††‡‡‡†††ˆ†vvuwvxwwvtsuwwvxwwszrvwvqwwuwvwvwwxwxvvvvyvxw|vruyyvvwxxzzzzzzvxwzxwvuuuttussruvvrqwsrrpvrpqprrqrrqprqrqrpurqqqoornproopttsrrqrsuoorssrttuuutrutuuponpoqtttrrrrqstuttttuwuvvwvtuusttvuuuvvututu{~{zyzz}||}||||{z~}|~{z~{wz|{{{{z{{z|~||~||{~|}~{}}}}}~}~}~~~~~~„„„‚ƒ€ƒ‚€~~~‚€‚€‚‚€‚ƒƒ€‚~}}ƒ‚„„‡ƒ„‚‚‚†ƒ„ƒ„‚‚ƒƒ„ƒ„ƒ‚ƒƒƒ„ƒ„„ƒƒ†„„†……„†……‡ƒ…ƒ…„……„ˆ‡…ƒ„†‚††††‡ƒƒƒƒ…„€€€~~}‚€€€ƒ€~€ƒ~€|ƒ\-#-7;;>CCDDReg:4‘“€ƒ……ƒ„„…ƒttt‚ypuyy|||||yzujvUxy}~€€‚‚ƒ€€‚ƒƒ„„‚‚ƒ‡†„„‚ƒƒ„„„„†€……„{„„††„†„„…„„ƒ…‚…„…„„„†ƒƒ…†‡‡‡ƒ‚ƒƒ„‡†……ˆƒƒ„ƒ‚ƒ„…ƒ…†††…‡ˆˆ…ˆ†…‡‹‡ˆ…‰ˆˆ………‰‡†…„……|†„††„€…wusxvvwxz{rzyxxxwwsytvwvwwwvvww{vxvuvwvzvxwyv{wvuwwvwywywvzzyzzzzzzztutwxxxxrswvuqwrqoruuprqsmpqqpoqrqpppqrpqptrpnorqqpqtpqsursqoqrrtutrtuuuuuurrrqrtstsuusqqqpq|{„ƒ‚‚‚†ŠŠŽ†…„‰€‚wpttomlo{}wx||z|}~|zz{|{~{{~{zzzz{|zz{{{|{{{|{~~zz{{{|~~}}~~~}~}}}}~~‚ƒƒƒ‚‚‚‚ƒ‚‚~~}€~‚‚‚ƒ‚‚€€ƒƒ„ƒƒƒƒ€„„…„„ƒƒ‚ˆ‚„ƒ„‚„‚ƒ‚ƒ‚€ƒ„ƒ„„ƒƒ€‚ƒƒ„ƒ†‡‡ƒƒƒ…„ƒ…ƒƒƒ‚ƒƒˆ…†…††‚†ˆ…ƒ‡ƒƒƒ„€€€~~~~~€~}~^
	:œ–ŽŠ”‘’~ktw�e‚lr|~z{|€{zrbo	�
+qyvƒ‚ƒ‚„‚€€~€pgI‚~}‚‚‚€ƒ‚~ƒ„„……„…†„†…†‡ˆ…„†‡„‚‚…„ˆ„„„†…„ƒƒ„…†ˆ‡…………†ƒ‰ƒ…„€€ƒƒ††…„†‡„…‡„‡ƒˆ„†…„„‰„……ƒ†‚Š„‡ƒ…„…„‡ˆˆ„‰†ˆˆˆ‰Š‹‹Š‹…††‰……‡‡„†‡‡††…€…zvvxuvvxxzjzxxwsswwzsrsuvwxxwxv|wwxxvuwwvwuuvyyz{xwwyzosttzzzy{xuxtyssstuuusrruutsrqpnoqqoqppmlqpopnpoppppqqrpqptqpppnonpopppqsrploppponnlqqyy}|v}€zyyƒ}€ƒƒ‚‡†‚}kkupeb[KIGC?;;:7,533&""$W‡|yz|{{|~}{z{z{{||{{~|{zw{zzz{{{{{{|~zz~~|||{~|{{~}}~}~|}~~~ƒ}~‚‚‚„ƒƒ‚‚‚‚€~…~~~}~‚ƒƒƒ‚‚€‚„ƒƒ„ƒ€ƒ„†„„ƒƒ‚‚ƒƒ‚ƒƒƒ‚ƒ‚‚€‚‚ƒ„„ƒƒ‚‚ƒƒ‚ƒƒ„‡‡†ƒƒ…ƒƒ†‡ˆ„„„„„††‡‡‡‚††‡…†…„ƒ„€‡…ƒ~ƒ€€}~~€€~~„`J~hu|||||{{zwqgs	Rsuy{~|{zy{~}wpc
g‰{|~~~}~~~xj
+
+J†|~€€€‚‚„„……‚ƒ~€€ƒ„†‚…†‡‡„……„„„‚ƒ€ƒˆ…„€‚ƒ…„„„…„…†„‚‚„……†…ƒ‚ƒ„ƒ„†…‡„………ƒ…„„ƒ„‚‚‚„†ˆ„ƒ‚…‰…„……„ƒƒ‡ˆˆ…ˆ‡‡Šˆ…‰‰…†‹…‡‡‰…„‡‡…‡ƒ‡€…††…†tsuvswvwwxzzxzw|zzuxs~svvwxxwxx{vwuyyyz{wyz|uwzywzwzzzz{suwyyyzyvxuyrwuususwsutsqruwwzurqqpoopoppooooonooslmrvwzv~‚†…ŠŒ‹†ˆ‡†„Љ‡„~}tsqzmqe_NIMLD@<95520#
+�	
��"8‚|zx|}{{{{zz{z{z{{{{}~z{z{{z{|zz{|{{{||~~}}}}~~~|~~~~~~}|}~~~~~ƒ„„ƒ‚ƒ…ƒ…€‚‚„€}}}~~ƒƒƒƒ„ƒ~ƒ‚‚‚€‚ƒƒƒ‡…„„ƒ‚ƒ„†…„ƒ„‚…ƒƒ‚‚€ƒƒ‚‚€‚‚‚€‚ƒ„„€ƒƒ€ƒƒƒƒ„‡„„„ƒ„„………‡„„ˆƒƒ††…ƒ…ƒ…ˆ…‚‚‚‚ƒƒ€ƒ~‚~~~‚ƒƒƒ~~€}€e�G€u|{z|}}~}}~{ni
Cv}~}||||~~}w^�	a„{€~~{y{{tn
+Etz~~€€‚€…ˆ„‡…‡†„„…‚ƒƒ„„ˆ†ˆ…ƒ………†„„‚„……„†„†„………†……€€„„„‡„ƒƒ†„……„………‡‚…†ˆ…„„ƒˆ…‰‰‰‰‰ƒˆ…†ƒˆˆ‡‰‰ˆ‡ˆ‡‰‹ˆ‡…‰…††……‡ƒ‡……„ƒ„ˆwuvxuwwwwxuzxxvxvvvvuvsuxwrxwxsuuuvwwwx|wwwwtuywwzoxvystuwvwwxwwuxxzvxwuwxsusuqo{qljlpnrruzxwqtvuztr||~yszussdga_NGFFCA<:7424(!��>|{x{||{|||{{||y|{{z{z{{|z|~€|{}||{|~~}€~~}}~~‚~~~}~~‚~ƒ‚‚††ƒ‚‚‚ƒ‚‚ƒ€„„ƒƒƒ„‚„‚ƒƒƒƒƒ†††„ƒƒ‚„†„ƒƒ‚ƒƒ„ƒƒ‚ƒ„„ƒ‚ƒƒ„„‚ƒ‚ƒ‚‚ƒ‚‚„†‡‚‡‡†„†„„„‡…ƒ„ƒ„‡‡ƒƒƒƒ†ˆ„ƒ„…‡†„ƒƒ}‚ƒƒ„~~€€€€ƒ€}}g�B…y}||}{{|}{{z|m�
At|}yz||~}}v{mZ‡||~~~z{}x_>‰ŠˆŒ‹Ž’’’’Љ||‚ƒ€†…„„…†ƒƒ„†…ƒ†‡„…†……„„…„„ƒ………‡„„…………„…‡€€…‚ƒ…‡†ƒ€‡…„…†„„„††ƒƒ…†ƒ…………‰…ˆ„ƒ†„ƒ„…†‡Š‹‰‡‰ˆˆ‡‰„‰‡††‡…†…‡††ƒ†…wzwysxwwvwzxxvvwwwvv€uwuvxxvwrxsvv{xww{z{v{tvvxwyzzwytzrvuuwwwwwzvzvxwwx{rurvcOUehle[YNKOGE@?;7331."&!	����
+
�8|z{|~|{||z{{{zz|{{~}||||}~}}|}~}||~~~~~{}}}ƒƒ…~‚~~~ƒ€~~‚ƒ†‚‚„†…€‚„ƒ…‚ƒ„ƒ„……„†…„‚‚‚„„†…ƒ„††‡…„ƒ†…†„„„‚ƒ„…†„„ƒ…„†ƒƒƒ†ƒ‚ƒƒƒ‚ƒ„…†„ƒƒ‡‡ˆ…ƒ†‡ƒ‚………ƒ‡†„ƒ„…‡ˆ„ƒƒ††‰…„‚ƒ……ƒ‚ƒ‚ƒ‚‚ƒƒƒƒƒƒƒƒ„~‚€€~}n?}r{€€€|v€n:
+8@fw~€€€€„~‚xl�������"RŠ{z~„†‰“‡…~b4"%-:AJ]X]QOLHDB@>EKOdz‚‚‚ƒ„ƒƒ„‡„ƒƒ†„‡ƒ„„‡ƒ„††‡‡ƒ„‚…‚ˆ„‡…‡ƒ…ƒ„„……„ƒ…††…‚…‡‡‡ƒ„…‡‡‡†††‡†…„„ƒ„…ˆ…ˆ„„……‡ˆ‰„‰‚„‡ƒˆ‰Š‰‹‰Š‡…ˆ‹‡ˆŠ‰…†…†…‡†‡†‡ƒˆˆˆxvsrssuwwxxyxwxwxwwvxwvyvwwvwtsqsvvzvxututwysyuuwuuwuwtzuuxuwwvvzywytvywyvrrrkS@2
+��2…{yz|z|{~|{z{z|z~~~~~}|zzz{~~€€{|~}~‚ƒ}~}‚~€~‚ƒƒ€‚ƒ‚‚ƒ€‚‚‚ƒ‚ƒ„†ƒ„„ƒ„……‚„†…„ˆ†ƒ†€„…††‡…†„ƒ„†„„‡„…†‡‡„‡„ˆ„‡ˆ„„„„„…†‡‡†‡†ƒƒ„……†„ƒƒ‡ˆ‡ƒ„†„ƒ„……†„‡†‡‡‡††‡‚ƒƒ„†…ƒƒ†ƒ‡„„‚„„~ƒƒ‚€ƒ‚~~€€~~y

:Axlt|{~~~|zyw}ƒ[<Ÿ–€‹‹ŠŠ‰‰…~}}V'342+ 	�Q†{}€~ˆ8%41,	<iˆ…u…™™J
+T„€~€€ƒƒ‡…„ƒ~‡„ƒ‚ƒ„ƒ„„ƒ„€„…†‡„„………„„ƒƒ…†€ƒƒ…„‚†‡‚†€…‡‡ƒ‡„ƒw‡†…„„„‡…ˆ„„†……‡†…‰€…„„…†‰‹ŠŠ‰‡†††‡‡†Šƒƒ‡†……††„„„ƒ„‡wyu~zzyxwywxwzwwwzwwuyzywwwwvwqwrwuzz|uyyzyzy{u~t{tzuxvxvywuwwwwzzvyuvy{xwutqgH0�
+&}||}{|||{||{|{{|~|||€{~zz{}€€€€€}€~~~}€€ƒ~„~ˆ€‚‚~ƒƒ~‚„ƒ}‚ƒƒ€‚‚‚ƒ‚ƒƒƒ„„„ƒƒ‚‚„‡†‡…ƒƒ‡†ƒƒ‚„†‡‡………††ˆ‡‡ƒˆ……††…††††‡†††ˆ…ƒ†ˆ…‡ˆ‡…†‡†„†ƒ„‡††‡†‡„‡ƒƒ„‡„ƒ……†„„……ƒƒ‡‚„„„††„…††…†††‚‚‚ƒ‚ƒƒƒ„„€‚‚ƒ‚€~€~z{��@[€‡ŠŠ‰„…‡€thZSD:68>@A@CGDA@@=;91,9@G\q{~†‹“‘—šI�Q„z}}~†D&"rx~xp‘d0<T‡†„…„†‡‡……~†„„ƒƒ„„‰‰‰€„ƒƒ„‡‡ˆ‡‡‡…ƒ†„„†‡…‡Œ‚†‡„‰‡…‡‡†ƒ†‡‡„…‡ˆ‰„‡…‡„„……„„„…„Žƒ…†Š…ˆˆˆ†‡Š‹ˆˆ†Š‡ˆˆˆ‡ˆˆ…„††……‡ƒ‰ˆˆyywuvxxwxwuvxztvwwrwuzjxuvwwwvssrxwvvsuzvxoxw{utvtuxv{vxyyyzzwywzywxvvyzwuutuiJ�����>Voz|{{{{z{|{}|{z~|z{z|{z|{}€~~~€€€~ƒ}€ƒ‚ƒ~‚ƒ„ƒƒ„‚~„…ƒ‚ƒ‚ƒƒ…ƒƒƒ„…„…‚‚‚‚‚ƒ‚ƒ††‡„„„ƒƒƒƒ……‡†……„„ƒ†„„…‡††ƒƒ……††……†……‡ˆˆ‡‡…„ƒ„…‡†ˆ„„„†††††‡†ƒ†ƒ‚‡†„„†††…ƒ††……†„…„…†…ƒ„†……ˆ‡…‚‚‚€€€€ƒ~~€|~z|-9;>EIQW\cefsTE@<8*"A[p}}ˆ‰›V
+h{t|yxvy{zyzun‚^�[€{z}~~ƒ=$x€v{{x{b��H„ƒ‚‚~„~~}…„„~~€†ƒ€‚‡„~{‡††„ˆ……ƒ„ƒ…ƒ~€ƒƒƒ‚„‡‡„ƒ„‡…„…†„………„„ƒ‚„„…†…†ˆ†ƒ„ˆ†„…„…„„†„…†‹‡ˆˆ‰Š‰‡ˆ††ˆ…†…‡…ƒ……‡„†ˆƒ‚„‡wyzxwwwwwwxzxxrwwwvy{zwwuwwyvwwvsvwwt{wvvvxxyywxvwuz{zuzyyvyzxwyvxyytwwxvtuqrjY��������*>XIOTU]afmabaju{z|z{{{{||{{|||z{|||{~||{|~€~~€€„ƒ‚€~€ƒ‚€„‚‚‚€„‚ƒƒ‚€„„ƒ„„‚ƒƒƒƒ„„„…†ƒ„ƒ†„†…ƒƒ‚†„……†ˆƒƒƒ‚†‡††‡‡†‡†‡‡‡†‡„†…„……„†††…‡…ƒ†‡†‡„ƒ‚ƒ…†…Šˆ‡‡†„…†‡……ƒ…„ƒ†‡ƒ…„……†ƒ‡†ˆƒ†ƒ‡„ƒƒ†ƒƒ„…‡‡„ƒ‚‚ƒ„€ƒƒ‚€€€€€€}z„#9r{{Š‡‰Š‡ƒ‡Šh�pq‚wqf1(jˆwy|}}zw{~}|urX��O„z~~~~‡<��(gŽv~z|~e
+A‚€„…„„ƒ€‚€€„ƒ„ƒ†‡„†ƒ…††Ї‰ˆˆ‡‡…†€ƒ„…„…ƒ…‚…ƒ†…††………„‰„…††ƒ„„„ƒ„„ƒ„„†„…‡‡…ƒˆ„„‰„„ƒ†„ˆˆ‡ˆ‰‡ˆ‡‡…†‡Š…‡ˆ‡†‹…‡………††ˆ‡ˆ‡‡wyxyzywxuxxxxwtwvzzyxyuuvvwxwwxurwvvuvvwwxwxuv{wxxwwyzuwzyvwyyyvwyvxusuuurtrqi`��������teZ\d`nluvwƒ\F–ƒ†Ž€€†~|uvwzz{{zz|{~|{z|{{|{~z}~|||~~}€€~‚€‚‚‚€~€„†‡€‚‚ƒƒ‚ƒƒƒ€‚…‚„„„ƒƒ„ƒƒƒ‚‚ƒ„†„„††ƒƒƒ„‡ƒ†„†‡ƒƒƒ……„†‡ƒ†‡††‡††‡‡††ƒƒ„†‡…ˆ††„ƒƒ„‡†‡„ƒˆ†„„…‡‡†…†††„‡†…‡††ƒ††ƒ‡…„ˆ…ƒ…†‡ƒ‡„…‡ƒƒ…„„†ˆ‡‡„†‡‚ƒ‚„„€€ƒ„€ƒ~~‚{€)7kqz||}}}}{t‚ypxvz|{tj!b€{z{|{z{|~~|{a�M}{}~}|†2
+bŽl|y„g
+:~€€ƒ~ƒ‚„…‚ƒ‡†„ˆƒ…ƒ†ƒ†|‡ƒ‚„‡…„…†€€„ƒƒ„ƒ…………„€†‚‚‚€„ƒ€„‚‚‚…„„…‡‡‡ˆˆˆ‡‡„„†ˆ…„ƒ…‡‰‡~‚ƒƒ„††††…………ˆ……‡ˆ…‡……†„…………xyxzxxwwwwwwwxsy{|z|xzyzy{wywwvywvvwvwwwuvvzuvwwxywuvxx{ywxyxzzvvvwwuvwzuuusqjb����
+'.258?EQRRN\aP�†]evzzxƒxsmjt†RŽ^pvwwwvwyy{{|{{z}}}|z}}z|{|||zy|~|{}}}~}~~~€„ƒƒ~~€„ƒ€€‚ƒƒ„€‚„ƒƒƒ€‚„†‚ƒƒ„ƒƒƒ†ƒƒƒ‚ƒ†ƒƒ„†ƒƒ„‡ƒ‚……††ƒ„…‡…„†‡†‡‡‡‡‡†…‡„…†……††‡„‡†„†‡ˆ‡‡†‡…ƒ‡‡„ƒ††‡„ƒ††‡‡ˆ…†††„ƒ††ƒ†††„…ƒ„†ˆ„‡…ƒƒ„ƒƒƒƒ…††ˆƒ„„…„„‚„‚€ƒƒƒ‚€ƒ~~}&:n}}~}||||{}i]‹x}}}tr
b|{|ƒ‚~}yrhKx{{zuˆ9"0\y~|q	�	!)†{~€€ƒ‚ƒ„ƒ…~†ƒ„†ˆ‡‡ƒ†ƒ‡‡‡‡…‚…„†††……ƒ„‚„……†‡€…ƒ……†„‚‹„…ˆ€ƒ„„……‚Œ‚‡‡‡†‡†………„…ˆ…„†ˆ„ˆ…„‡‹Š‰ƒ‰„…‡‰…‰‡‰‰ˆ…†‡‹…ˆˆˆ…ˆˆ††ˆxyxxvuuxwxvsrrrvyxvuwvxxyxxwvvwxwvvvvuuuuuvvuvwvwzwvzzzwvxzyvuzzvvuxvu{zusurqkh���8ThUW]ddeowop^-�?€ƒƒ{}zzzz~“^�-uhrturqqqrpogzIywxxvvyvy{yw|{{{{|~{{~|||{||{{z{||~~}~~~~~€€€~€ƒ~„‚€‚„ƒ‚„‚ƒƒƒ„†„‚‚„ƒƒ„ƒ…„ƒƒƒƒ„„ƒƒ…ƒ‚‡…„„„„††ƒ…†„†††‡……†…‡ˆˆ‡‡„…ƒ„„†††‡Š…†…††‡††‡ˆˆ‡†……†…†„‡††††ˆƒ†……ƒ„‡„ƒ„††‡‡……‡‡„„†…†ƒƒ„†„„‡…†ƒ‚ƒ……‚„ƒ€€‚€€‚ƒ|‚~‚~€‚z59„}~~~|}}‚{g-brz{{|u
`ƒ|}}}~~~yt„u�,	=K}nu…uoC.7(_ˆ~~€}o[y}~~~~„‚‚„…ˆ…ƒ‚ƒƒ……‚„„ƒ„„„‚„„†ƒ€†€ƒ„„…„€€€ƒ†…„…„„„‚‚…‡…ˆ……‡……ƒ‡…„…„…‡ˆ†‡‡……ˆ„‡…†‡‡†……†ˆˆ†‡‡…†ˆ………‡‡…†…wyzzwvwwwzuvwyxvvwwvw{ywwzv{uwwxwww{vwwwtzz|uvuyvzvzzwzxuzzyvuvyxyxxvwz|swrqql`���W]m{v€s|yykmjT1�^‡ejpooooookc€^��3{rqutouwpurrj|	�Frwxywyz{z{zxw||z{||}y|}||€}|||}{||}}~}{~€~€€|‚‚ƒƒ„~ƒƒƒ‚€‚€}}€€„„„„ƒˆ…ƒ‚ƒ„„ƒ‡ƒ‡…ƒƒ„ƒƒƒ††‡…†……ƒ†…„„…†‡†‡†…††…†ƒƒƒ„ƒ†‡„„‡…„„ƒ†‹†„†‡‰‹††‡†‡‡‡‡…„ƒƒ……………†‡‰„„„†ƒ…‡„ƒ…†††„„……‡ƒƒƒˆ…„‚‡………††‡‚„ƒ‚…ƒ„ƒ‚~~‚‚‚‚ƒƒƒ~}„69€~~~~~~~}yow3$_m…„zvu“
^~}|}|…“Š•˜g?d}yx|zaI37>#0l~}€|yu� w–‹ˆ‹‡}w€‚ƒ‚ƒ‚ƒƒ…~ƒ‚ƒƒ„ƒ‚‚ƒ„…ƒƒ„„„†…‰„„„„„†…†…€……ˆ‡…††……ƒ„ƒ…„ƒ‚‚…†‡††‚………€‡ƒ‡†……†…‡‚……‡†ˆ…‹…†…ŠŠŠˆ‡†‡‡‹…‡‡ˆ†…†…†‰…‰†…‡…†Šyywzvwwvvxxxxwxwuvxwwuvywusrvxrruwwvwwwvutvwvvwvvuvzyxxvwzzxvwwyyvxyuw{ztrrqrmb%����Shdkoooopolkjc8�Drloolopppopkri.Šurqtrwvqsutoƒ
+	Cyovvwyzzzzywwyxv{{yyz|||~|zz|}}}|}z}~|||}~~~~ƒ|~~ƒ‚ƒ€„€€€€}ƒ„„„ƒƒƒƒ„†„„„„„ƒƒ…„……‚ƒƒ„ƒƒƒ„†††„„„†……„„„………†‡‡…„‚„‡ƒƒ„…‡…‡ˆˆƒ……††…‡‹„ƒ„††‡††‡‡‡†„ƒ„……„‡‡„„„„ƒƒƒƒ„‡…„ƒ‚††„„…‡„„‚‚†‚„‚†††ƒ‡ƒƒƒƒƒ‚„„‚~€€~ƒ€€ƒ~}~}~~€:6„|}|}|{||„y…)����	N‚v|‹…Z@�S‚}|{}|t\2.81-9Gcrk{ˆhC:&Qo|‰€x‰‰{~~|z{!%nty{||z{z|ƒ€ƒƒƒƒ„~}}ƒƒ„ƒ„„‡‡„„‚ƒ‚„ƒ…ˆ…„„‚„†ƒ†ƒƒ~~„€…ƒ„„‚‚…„ƒ…‚„‚…‡†„‚„ƒ„„‚…„†‡…ƒ…ˆˆŒ„ˆ‰‰†ˆˆ‹††…ˆ†………†††…†ˆ‡††‰yyxzz{txxyzzwvwzuvx|{zzzuwxwuwvvuwvyz|uyyzu{vwuzzyyzyywuwywvvwxzzwvxtvx{uwsrqmk-��M|iqmooopqoojv=�@poqolopupuopfu
+,‚usqsuuuuvros‡&8T}lr‚zz}€€…ˆ’…ƒwx{|z€{}|}|{{}~~{|z~~}|||~€ƒ~ƒ~€‚ƒ€ƒƒ„~~„ƒ„ƒƒ„„„„……‡„‡„…ƒ†„…ƒƒƒƒ……„…‡††„„ƒ…†ˆƒ„ƒ„„„‡†‡‡ƒƒ…ˆƒ‡…ƒ‡ˆ‡ˆ†„†‹†ˆˆŠ‡†‡‡…†‡‡…‡‡„ƒƒƒ…„††ˆ‡‡„ƒ‚ƒ„‡„…††ƒƒ„‡…ƒ„†„„……„……ˆ€†„……‡ƒƒƒˆƒƒ„ƒ‚ƒ~€~€€~ƒƒƒ„„~~~:0ƒ|€||wztwimUD?::?ADKSUV[aTQ==0%#/9IQ—ˆ‚{t{rS}}{}|zwN":Z~wu€„X�
+L‚†|}‚}|‚ƒ„~~z{ƒuz}}{ƒ‚ƒƒ„„„ƒƒ‚ƒƒ…‡†€„„ˆ‡†„ƒ†ƒ„€‡„ˆ……‚€ƒ†„†…†€„†‡€ƒƒ‡„ˆƒ†…‡…‡‚…„ƒ„ˆ‚ˆˆ‡……ƒ………„…„‰ƒ…†…†‡ˆ‰‰†Š„†‰Š‹‹‹‹†Š‰ˆ………†††………‰ˆˆ„ˆyyvzxyvyxyoyxzszvwwwxxzztxywxvvxwuuvwxvvwvwvwwvuwz{yzzuxyuww{zzzzvwwuwwyuvurrmn1����H}oqkmpolnpqri?

Atkmmkkopppon`Š�{tsvvtzssv}{vS3JWm}v}th`^QOMP]kv|||{|}}||zz~{||{z|{|~~}~}~}„€€€€€ƒ€€~„„„ƒ„„ƒ„„ƒƒ‚€…ƒ„„ƒ„„‚‚ƒƒƒƒƒ‚„ƒ„†‡…„‡…‚‚„„……ƒ‡„‡†‡……„„„†ˆ„…‡„‹…‡ˆ†‡‡††ˆˆ†‹Š‡‡……‡†‡ˆ‡ƒ‡‡‡‡„ƒ„†„…„‚ˆ†……„‡ƒ‡…„„…ƒ…†…„‚†…††…‡‚ƒ„‡…„ƒƒƒ‚‚ƒƒ‚ƒ€€€~ƒƒ‚€€€€€~‚<$†}~||‚a
+`‘ŠŠŒ‰…Œˆ„ƒ„ttuC(WŠovzw…c
+T€}||{zv?! 8gpw||uk"J…v{{||||ƒ€~~{x&{~}€‚ƒƒ‚ƒƒ„ƒƒ€~‚„‚„€…ƒƒ„„…„…„€†„ƒ‡…„††„ƒ„„……„ƒ…†‡„…†…ƒƒƒƒƒƒ…„‚ƒ„……„„„…„„ˆ†…‡ƒ„ƒƒ„‰ƒƒ……†‡ˆ‡†‰†„†‡ˆˆˆ†ˆŠ†…†…………„…ƒ…„ƒ††ƒ‡yzxzwwwywxvywxwxwwwxw{zz{zwxxxwvu{uvwwvzwwvywvuxyyyzxzzzwvy{|{zzzuxywyzzuusuqlp4������Eglorxqqqqmjg\OLyfkvwzwwvwlŠ˜��������&wrqvwtrH?F@<:>CXjuv}|L�[y|~|~~|zz{}}}€|{|€{~~~~~~~~~€€„€‚yƒ€ƒ€‚„ƒ€‚‚€€€‚ƒ„ƒƒ„ƒƒ„‚ƒƒ‚ƒƒ‚„ƒƒƒ‚ƒ„‚ƒ…‚†…ƒ‚†ƒ„„ƒƒ„†‡††„„„ˆ†‡…ƒ‡†…ƒ†‡†‡‡ˆ†‡‡‡ˆ‹…‡††‡ƒƒ…‡„‡‡‡ˆ„…‡‡‡ˆƒƒ‡††††‡ƒ‡…‡„‡‚„ƒƒƒƒ†‚…†…†„ƒ„ˆ…„ƒ‡ƒƒ‚ƒƒƒ€~€‚ƒ‚ƒ‚„€€~„B'z{||{yUH0{Šqw{{}{{||zxyiD.Zqu}{wuf	L~~||zzv=.qtx}~x†d Hx~„„†~~€|{))tz€ƒ‚ƒ‚‚ƒ„€†ˆ…ƒ…‡„ƒƒ„„ˆ„…ˆ„…€‡„„„†„†…………ƒ…„‡††…†ƒ†‡ƒ…‡ƒ„ˆ„ƒ‚ƒ…„…„…………ƒ„……‡‡‡†„ƒŠ‚…‚Š…‡‡†‡‰ˆ‰†‡ˆ‹ˆˆ†‹†‰‰ˆ‡ˆ†ƒ…‡ƒ‡ˆˆ‡ˆzzzzzzzzuuv{uvxxwxvxwvwwxwxwzwxwwvvuvwxzwxxxvvwxzyyzyxyyywzxxwzzywxwwwwzwuusqm{7R`^kvrvqy|~{v\O(?WexvtgpkodcXTA:@MFCQXYb_rmc]Xuuntup}28Ohdhlpy^�<Y|||{|}{~|{yz}{}~||}||~~~~~~~~~€€ƒ€‚ƒƒ„„„€„ƒ€ƒƒ€€€€€‚ƒ„„„ƒ€ƒƒƒƒƒ‚„„‚ƒƒ…ƒ‚‚ƒ†ƒƒƒƒƒƒƒ„ƒƒ††‡‡‡…‚…††…†‡…„………‡††‰‡††‡‡‡„ˆ††ˆ„„…‡„†††‡‡†‡†‡ˆ†…‡††„ƒ„ƒƒ„………„‚‡„ƒ„†ƒ„„†„ƒƒ‡†„„…ƒ„ƒƒ„ƒ€~€}ƒƒƒ‚„€}ƒ€€~Eƒz~~z}V
s}w|{|}~|{z{wwrE+^}||||siH†~{|yz<�-m„y~~zf��Cvx|€€„|~~|}7uv|~€€€€€€ƒ‡‚ƒƒƒ‚ƒ„„†„ƒ€………‚††„„ƒ…€‡‚„ƒ†‡…‡‡„~†ˆ„ƒƒ‚„†„†„„„„ƒ‚‚„…‡………„…‰ƒ…‡†ƒ‡ˆ‰…ˆŠ†„†Š‡……†…‰„ƒ„†…‚‚‚€ƒˆ††…‡xzvvxzvzuxuvxwyvuwyy{wwwz{{xywwuz{{vwx{wuw|wyyzz|yzzzyzyzwxvwz{wwxxwywzwzssrmw:�������,pl]XMHJBA:7894D^_bwuSSˆ‚}ƒzvsxsvƒ‹_
jupvvqu9
GsnsojoeQ{||}||{~{~{}{}|}{~~€~~~€~}~~~~ƒƒ€ƒ~~€ƒ€‚ƒ€‚€€‚ƒƒ‚„ƒƒ…ƒƒ„„ƒƒƒ„ƒƒƒ…„„ƒ…††ƒƒƒ‚ƒ„ƒƒ„†ƒƒ‡…„…ƒ†††………†…‡††‡ˆ†‹…‡‡‡‡‡ƒˆ††ƒƒƒ‚…„†„…‡‡‡†„†ˆƒŠ‡†„„…‡…„„‡„ƒ„ƒ‡„ƒƒƒƒƒ†‚ƒƒ…†††„„‚‚ƒ„„„€~€ƒ€„€€‚€~}†Iwy}}|xj�
+c~|}~}~~}|zwJ��&T†}z}ts
Irv|~yu{?
w|v~~|€gEj|~~„~|„}|€€}†
f‘•Ž“€~€ƒƒƒˆ…„„…‚„ƒ„ƒ€€ƒ„………„‚ƒ„…†€†‡……†……‡…………‡‡‡†„„‡‡‡„††‡‡‚…ƒ…†‡ˆ‰„ˆ„………„ˆƒ„„„…І‡ˆ‡†††‡…‰…‡††‡‹ƒ†……ƒ‡‚……‡‡…††‡uyvvwxwyswtzwvuvvvwyswwwxvwwwwyxv|yz{{z|vuw{z{z{y|yyzzyxzxvuyzzzzzyxxwwwxyvvsmxA�JZ_Z\do5"5idckjj`
XyckooonqrokhwY
hysuvuv0Furrrrwm�P|z~|}|{z{z|{{|~~{}~~~~€~}}~€ƒƒ€€ƒƒƒ€ƒƒ‚„ƒƒƒ‚„„†ƒƒƒƒƒƒ‚†„ƒ€„‚„„…†…„ƒƒ‚ƒ„†……†……††„††„ƒƒƒ……††…†††‡‡ˆ„ˆ‡††‡„ƒ†ˆƒƒ„„††ˆ…†…‡‡†„…†ƒ‰‡‰ƒ„‡‡ˆˆ‡†„ƒ‚ƒ‡…ƒ‚ƒƒƒƒ†…„„‡…„…„ƒƒƒ…„„ƒ€€…ƒ€€€ƒ‚ƒ~}|ƒL!uy€€~}yf�Y‚{€€€ƒ€}|y‚SU||~x|tm@mnxwr‰B
+}zz~~‚i 3ar{‰…Šƒ‚‚€ƒ€4.38;IU]YVSUbr~‚‚„ƒƒ‡†………ƒƒƒ„„€ƒ…ˆˆƒ†„„‚†„†…‡……„ƒƒ„ƒ‡†…‡††ˆƒ‡„…†……†ƒ†‡…‡‚„„‡‡††ˆ„††††…„‡……ƒ€„ˆˆ„…‡……†ˆ†ˆ…†‡‡ˆ†„……„…‡ƒƒ„††„††††tyxywwvyuwuzvwvwxyw}sxxxvwvzwxx{w{wwxzzyvvxz{{y|wzyzyzxyyxwzyzxxwxyyx}xxxyxvqlpH4[x}ifjn�"dlkkhfp
+Qjtqqrtttrrmnb[€qtuqp/
G{qwrrou
K†{y|||||~||||{{{~{~}€~}~~€€€€~~€€€ƒ€€~€ƒƒƒ„‚‚ƒƒƒ„ƒƒƒƒ„„ƒ‚€‚ƒ„ƒ…„ƒƒƒƒ„ƒ„„‡ƒ„ƒ„„…†‡††…†††…ˆ„„ƒ„…††‡††††„†‡†…‡‡…†ˆ„‹Š‹„††††‡…ƒ…‡†††„ƒ†‚ˆ‡ˆƒ„„‡……‚ƒ„ƒƒ……†ƒ„ƒƒ‚†„†‡‡…†„„„…‡‡‡‡ƒ„ƒƒ„„‚€„~‚€€ƒ|S�$f‚~€~~vv�W}{€€~~z„Q��]{{~z}ux!6jox†€upC)0<Sp{}€~‚j'09?@B:#`{‚€~€{€“Œ†„€_<
s}‚ƒ„†„ƒ„†„ƒ‚…„…„ƒ„‰‡ˆ……‚€€€…†……„……‡‡ˆ‡†ƒ‡††ˆˆŠ‹ƒ…„ƒ„††‡‡‡…ƒƒ‡ƒ„„ˆ‡††‡……†ˆ††„‡„†ˆŠƒ†‡ˆˆ‰ˆ‰†‹…‰‰‹‡‹†ˆ„†„…ƒˆ‰‡………††‡††vyyxzxuuuvwzw{zxxvw‚uwxy{vwxwxywxyvxuzu{zxz{y|zxwz{zzyzzzyvwzzyzzwuyxxwxzwquqnqT4vgtmk`d�jzmpofrQ‡quttsqqqrrrju%Wnopnko2$Fvqwrtpw!A‚{|{{|{}||~z{{||{{~€~~~~€€€€€„‚‚€„ƒ‚„†„ƒ„†‚„ƒƒ„„„ƒƒ„„„‚ƒƒƒ†„ƒƒƒ†…‡ˆƒ†‡†††††ƒ†‡ˆˆ†„‡‚‚ƒ†……‡†††‡‡‡††‡ˆ‡†…†ˆ‡‡…†‡‰‡……‚„„ƒƒƒ†ƒ…ƒ…„„ƒƒƒ……†…‡‡„‚ƒ†„††ˆ„†…„ƒƒ‡†„‡ƒ„€‚‚ƒ„ƒ…€€ƒ‚ƒ‚~}^��"h{~~vr�QŠ|~|yR��R{}~{}v�",44*7C>k|‚|}qy~~€}}m-
*4Aƒ€€~~|{un‚>.
4v|‚ƒƒ…‚„†„„‚ƒƒ†‡‚…‡ˆˆˆ…ƒ‚…„…†ˆ‰…„ˆ~‡…„„„„‰ˆƒˆ‚„†„„‚„…„……‚…………„„…‡„‡††…‡‰‡…„„†‡ˆ„†‡…„‡……†…„‰‰Š…Šˆ††‡„„†„€…††††xxyzxtzyxxyyzyzywx|uxyzyz{|zyx|vwvxw{{|zyzz{{zyyzz{y{yzyyyxv{x}}}{zxxvwzxvtrpj[1‚glmldY�{jjp|f|G‚qvuvqqrtttkdt*Ooy~ke€70A'†qwruo€[z{|~~||{|{~{|{|||€~~€€}|€}~€€ƒ~‚ƒƒ€€ƒ„€ƒƒ~„‚ƒ‚‚‚‚ƒ„‚‚€ƒƒƒ…†……ƒƒƒƒƒ…ƒ†…†ƒƒƒƒƒ†‚‡‡ˆ…‡‡†††…†††‡‡††ƒ……„‡‡†††‡ˆ‹‹‹†††ƒ†„„††‡‡ˆ‡†…ƒ†ˆƒˆ‰ˆƒ†‡ˆ‚’ƒ†ƒƒ…ƒ„……†„„ƒ†ƒ††ˆ‡ˆ„‡……„ƒ…‡„„‚‚„€€~ƒ€ƒ‚ƒ~}\��ez€~ytN„|~~~yQ�P|}{}v€	D„nv€}}}~}}~~}~t0(A‚€‚‚€~}v‰=q€…‚‡‡‡…„„ƒ…‡††ƒ‡‡‡†‰…‡„ƒƒƒƒƒ…†‡‡†……‚‰„†„……†‡‡†‡‡†…‡„‡…„…„‚ƒƒ„„„„…„‡‰ˆ‰‰ˆ‰‡ˆ‰ˆ‡ˆ††‡‡†……‰ˆ‡…˜ƒˆ‰‹‹‹ˆ†…†„ˆ‡ˆ„…†…†………‡yxywx{szwzyvvvuvwwzyvx|wvww{zwxxyzvtv{vw{zzzvwyzwzvzyvwyv{{yw{{zyyyxxvzvzwwvmojY4mnljmY�*lelp{M€G€puppqqprtx]X'H„yth_6+0…qrrtp|3’‡povru||~{{{{{{{|{~}{|€~|||~~€~~~~€‚ƒ€ƒƒ€‚ƒ}€ƒ……ƒƒ‚‚„ƒ€„€ƒ‚‚……ƒƒƒƒƒƒ…„ƒƒ‚ƒƒ‡††…ƒƒƒ…†‡„…†………„††ˆ……„†‡„††‡ˆ†…ƒ…ƒƒ††‡ƒ†…ƒƒ„‡†‡‡…‡ˆˆ†ƒˆ‡†††‡‡„‚‚ˆ…„……‡‡ƒ„„ƒƒƒƒ„‡‡‡†„„†„„‚ƒ†„ƒ~‚~„…ƒ€}‚~……ƒ€‚yadz‚~~~r�N|~}€€~|{{`�N‚{yz{x}%	Czwz‚~~~~~}~{u1@Ž~€~‚ƒ€}?�f…ƒ…„‚€ƒ…ƒ‡ˆ‚ƒ‡„ƒ………‡‡‚„ƒƒƒ„†…†……€‚ƒ‡‡‡‡…††ƒ……†‚†……‡…ƒ‚„„‚‚ƒ‚…„…†‡‡„„……„‡ˆˆ…ˆ‡‡………„…‡ˆ†…„…Љˆˆ‡ˆ……ƒƒ€‡€†…†††…‚ƒww{zz|szwxys~tvvvwywzzy{}xvxv{|zz{|wzoŽwzz{xyz{wzzzyzvzu|||{{{zvxwvwvuzwuuuqhe%tmmgdv`��ccwtxŒ›-
>ˆqursrhZPQVT^EFZQNV[ZB
=zv{‹ˆ‰|ypvuup&iŒkq~vvwy{{zyyy|{~€|||||~~{~|~€|€}||~€~‚~~ƒ€‚ƒ€€~ƒƒƒ„‚‚ƒƒƒ„€ƒ‚„†„„ƒ„ƒƒƒƒƒ„ƒƒƒƒ„‚…‚…‡„„ƒ„„ˆƒƒ……††…††ˆ‡ˆ„††„††‡ƒƒ…††„ˆ„ƒƒ„†‡ƒƒƒˆ„„…†………†‡‹†‡…‡…†…†‚‹‡†…‡…‡ƒ‚ƒƒƒ‚„………„ƒ„‚†……ƒ„…ƒƒƒ„‚€‚ƒ‚‚~|€ƒ‚z^�^~~ƒ|~zxJƒ~}€€€‚€€~{{uR��J|{€€€yy-@v…{yz{{~~~|}€{q3-Žx~~€~yŽC�!i‚†„ƒ‡€„„„…ˆ„„€ˆ…†…††‡…ƒ„…„„„………„……………„‡‡‡††…†ƒ…††„‡…ƒ……„„…‡…„ƒ‡‚„‚„†‡‡‡…Іˆ‡ˆˆ‰ˆ‰ˆ‰„†…‡…Š…˜„‹Š‰ˆ‡……„††……~‡…†…†€†‚„www|wzvx{yyyrqswwwyww{zzwvvxxw{xw|yxwvtvv{wy{zuyvzw{wsuvwuvzzzvyywywuvvvyvurrrhfb[jtk]Q
+��
	&1;EONH@QB8?XX[go*5ruttplgxxzhftF�.<rqturuvquwqo(^zvuwvw{z||yz||}~~~|}~~{||{~||}~}~~~~~~€„‚ƒ‚€‚‚„ƒ„„„€‚‚ƒƒ„ƒƒƒƒ„ƒ„‚‚ƒ„ƒƒƒƒƒƒƒ„‚†ƒ‡†……‡‚ƒ„ƒƒ…………†…‡‡†ˆƒ…‡‡†ƒ†…ƒ…ˆ…ƒ‡…„„„†…„ƒƒˆƒ„„„†„„…‡‹†…††‡‡ƒ„ƒ‡‡††‡…ƒƒƒ‚ƒƒ†…„„…†…‚†††…„…„ƒ€ƒƒƒ~‚‚ƒ€€‚~€aR€|‚{}{~%�F}~{€}‚}}~||qU�Fz|}}}}y5:v~{{}~€~€€z{3&“j}~ƒ‚‚ƒ‚€|g“I�5Tz€ƒ„…ƒ‚†{„„„‚‡„ƒƒˆ„‚‚‡ˆ†……††…„„ƒ„…„ƒ€„ƒ†…„€…‡†‡ˆ…ˆƒƒ†††……†ƒ„……„ƒ„‚ƒƒ‚‚„‡‡††…††‰ˆ†ˆˆ…„ƒ………ˆ…‰…†…ˆ†‡ˆ†††ƒ„€„ƒ†~„ˆ‰‚……„…yz{{wyuwyzxvvwwxwxvwy{{|rvvwy{xxx{wwwwyz{|wvyzxyyzv{vyy{{zzzyzyyvvzzzwvyvuutrrhh��_UBON;9[rlr€||ƒ~w€q?CˆŠ}har`6quurooE:xyjmqnqH
	7…oqrrqtuutvpp1Lzvywx{z{||y}{~~}}}~}z}}~~|{|{|}€}}~}~€€~~~~‚ƒƒ~ƒƒ„„„ƒ€€‚ƒƒ†ƒ„„…„„„……†ƒ„„ƒƒ„ƒƒƒƒ‡„…††…†‚‚ƒƒƒ„……………‡†‡‡‡‡††…‚‡‡„ƒ†…„†……ƒƒƒ‚…‡ˆ‰„ˆ„ƒ††…Šˆ‹†‡‡‡‡†„ƒ‚…††…‡„„ƒ†‚ƒ†……ƒƒ‚ƒƒ„…†††„…ƒ€‚ƒƒ~‚€€€|€€~{~|h�O‰yz~w.�!Amz|~ƒ‚‚ƒƒ€|ubFwx{|yqr0;8”bu}wnv}~{~~{|59 ”ˆŠŒ”™—™”Ž™œN��f}„………†………†ƒˆ‡‡„ˆ‡‡‡‰ˆ†………†…‡†‡††………†††…††‡‡‡‡‡ˆ„‚„†…†……ƒ…„‡ƒ„…ˆˆˆ„ˆ…„ˆ‡„‡††ˆˆˆ†‡‰†‡…ˆ…‰…‰…ЄЋŒŒ‹……„ƒƒƒ…………‰…„†††yxwvwxwx{yswywsuwusvy{wvuuvuyxwwxwzwwwvw{{wwyv{zzzv{uvyyzyyzzzzywxzzzywywsuttpgp_[ekjnmkllkjjt;	8P}_mmg_d�
+0‚rvtqoj	��ZynsqqqK�	
8‡ruwxvwrtrwtpt6�
F‚ryyyywwyyy|{}€}{~~}{}}~{~€|{|~|{€{}~~~~~~€}~z€‚ƒ‚€ƒ‚ƒƒ€ƒƒ‚‚…†„ƒƒ„…‚ƒƒ…†„†ƒ„„ˆ„‚„‡‚†ƒƒ„…ƒ„…ˆ†‡‡‡‡‡‡†‡„…†ƒ†††ƒ†……„ƒ…ˆ†‡‡‡…„„„„„„‡ƒ‡…ˆ‰‡‡†…‡†‡„ƒƒ††††ƒƒƒ‚ƒƒ„…„ƒ„ƒƒƒ‚ƒ‚…††…„ƒƒ€ƒ~ƒ€‚‚~|~ƒ~~o Sˆu~y{mŠ4'>jv{~~}}}{~x|L<Muku…qi‡"�����8¤”ŽŽw~~€~{}6�8APd^^Xa[TOIGJKKMTgmnoq{yo|„„~€„ƒ~…ƒ‡‡……‡}…ˆ†…††„……†‡†…†……†ˆ†„…†‡ƒ††………„ˆ†„„‚„……†„„„‡………ˆ‡‡…ˆ…ƒˆ……‡††ˆ…ƒˆˆ†…„„……††…ƒ„‡Œ‹Š‰‰†…„€€ƒ„€„„‡€…„„€z{tvxwvwwwxwwywvvsryw}wxvwxwwyvwxxxyu{vw|{yz{vyzyzzz{|yywvvywwzzvzzwxwwzwwutuugu�`hkptuutvtpliq9Bƒlwomc^�*„ptrrk}QwurrrwV6zptvwwussruwt|<<C“du||zwz|{{{|}~~}}|}}|}}{z}~€|{~}}}~~ƒ~~~€€€„ƒƒƒ€ƒ‚‚ƒƒ‚€ƒ„ƒ‚‚†ƒƒ„‡‡‡…ƒƒƒ‚ƒƒ„„„†……„ƒƒƒƒƒƒ…ƒ„„„‡‡†‡ˆ„‡†„‡„ƒ„…‡‡†ƒ…‡ˆ‰„†……‡‡…„ƒ‡„„ƒ†…„……‡ˆ‡†„……†…‡…‚‡‡…‡ˆˆƒ‡„„ƒ„‚‡„…„ƒƒƒƒ„„ƒ…„ƒ„ƒ„ƒƒ€„ƒ‚~€~€}~~l�C›~{yŽž9
Mr‰}ˆŠŒ‰{~€€€~zw
+AY{xy|‚Š'�&29=<<=@9>>CFI=by~|~~}v:’ˆ†™ž[��R”ˆ†‚~ƒ‡„„„ƒ€…‡ˆ†ƒ††…†††…‰ˆˆ…ˆ…ˆ„†…ˆ†ˆ…‰ˆ‰‡‡‡ˆ‡‡……††…†ˆ‰…‹„†ƒˆˆˆ„ˆˆˆ†‡ˆˆˆˆ†…ƒƒ„‡…„………‡‰‰…Ž‚†…†…†…ˆˆˆˆˆ‡‡‚„‚€‡…„…††„„„‡{{yxxw{xxvvxwwxvssvxwuuwvwxxwywvwvvvvwwx{{{zzvwuvwvyy{zzuxzzyxzzwzzztmrzvrqurujk��Pzpppotppqpplw;�B„tsopof"xoqprg„%Q€trttoa	'ufptuuvvwtpvtnL0> ’„€„}qs{}{{|{{||~}|{|~€}||{{|~€{~{}‚€|~}~}€~€‚„ƒ€ƒ€€€‚„ƒ„„ƒ‚ƒ‚ƒ‚‚‚~ƒƒ„„ƒ„†€‚€ƒ‚„ƒƒƒ„ˆ‚ƒƒ‚†ƒ„†‡……†ˆˆˆ‡‡‡†‡†„„„††‡†‡ˆ„„ƒƒƒ…‡ˆƒ‚†…„ƒ„„„…††‡†‡†ƒ„†ƒ‡†…††…„†††ˆ…ƒƒ‚ƒˆ„„ƒ„€€€€„…ƒƒ€€‚€~€ƒ‚„ƒ~}~}~ƒs/2r†{zh\RH508;7?BDJKINOJj†‚~{€nxvneaK;ŒŽ{t~‰“\+APw|z{~}w>
}‡zwp„u�9NŒu|€€€€~‚‚‚~…‚„€ƒ‚ƒ‚ƒ„‡…„†„†……ƒˆ……„„„†…ˆ‡ˆ„‰~‡…‡…‡ƒ†…‚………††…„…„‚€€…ˆyˆ‡ˆ„„ƒƒ……†…„„†…ƒ„…‡…„………„„„††‡……‡ˆ‡……„…€€€€€~†…zyxyxu{zz{{{xxvwy}{|wwxxv{yzwzwyx}||zyx|ywy{yxwzy|wzyyyyyzzzwwzzuzyyyyxyuwvvpujs)��!KjqponuqspppopA	$?ssrqfk#myqom~Š2+M€tsttub#bru†y{wvwyyvp^A2>AEID@>::3Svw}{~{|{}{}~|}{|~€{|||{{}€~}}€~}~‚}~~~~~~€~‚ƒ€ƒ€€ƒƒƒ€ƒ„„ƒ‚‚ƒ…„„„†ƒ„…„…„†…†€ƒƒ„ƒƒƒ„…ƒƒƒ‚‚ƒƒƒ‡…ƒ„†‡„†††„‡‡…ƒƒ‡‡†‡„…‡‡‡‡‡……†ˆƒƒƒƒƒ……‡…„†…†…†††ˆ†„…‡…†……ƒƒ…‡†‡‡†……†‡„„ƒ„……„…‡‡„„ƒƒ‚„„ƒ~…ƒ€ƒƒ‚~€}~v0	 DQ¡‘Šˆ{`
�2)X‹}€€}~~‚z„„b�gv„xs|4%/Oy}y…~‚zCg|z~yvi+
+
EŠz€€ƒƒƒƒƒƒ…„‚ƒ‚ƒ‡†ƒ„†ƒˆ………ˆ‡†ˆˆ‡‡…‡…†…‰ƒ‡‡‡‡ˆ‡‡„‡‡‡††…Š„ˆƒƒ…„‡ˆ‡‡ˆƒŽ„ˆ‡†„‡ƒ‰‰ˆ……„ˆ‚”…‹…†…ˆ‰Š‰ˆ‡ˆˆ‡…†…†€Š‡ˆ€‹€„…†……„…zzz{zwzyxxz{urvwwwxzwuvvvtvywzzwwz|{zzx{vwwx{ywxzxx{zw{zuzzyyzzzvyyvx{jwuyutptkq/�Obipppprtvqqoy@-!2>ytpppnl Kkw‚}ƒW5-/[urtqrrj�	huvuyyrqq€€€Š“P*Fsu}|}{|{{|}~}~~~|~||}|}||€~~~}}~{~~€~€€€€‚ƒ‚ƒ„€ƒ~ƒ„„„„„„„„…~~„ƒ‚‚ƒ„‚ƒƒƒ„„ƒƒƒƒ„„††‡††††…†ƒ„…‡†‡†‡‰ˆ†‡ˆ‡†††ƒƒƒ„‡‡‡„†…ˆ†……‡†………ƒ„††ƒ„‡…ƒƒ………‡ˆ……„………‡…‡…‡‚……„„‚„„€€‚ƒ„ƒ€€€~€~~}|.�� *U‘gvwqlu�2R‹}€‚}|}zz|}yr~f�gsy~}ws}
Hz{zy}~zD�bƒ}z{‚v*BŽ{~~}}ƒ~‚}‚~‚ƒ~ƒ…ƒ€…„„…„„€ˆxˆ‡ˆˆ‡}‡…‡ˆ†„‚ƒ‡‡†ƒƒ‚ˆ„†‡‡„‡…………„‚…ˆ…„„‰„‰‚ˆ‚……„ˆ„……†…‡„…†‡‡…„ƒ„ƒ…ˆˆ†ˆˆ†„ƒ‚†ƒ„€zywwwxwxxxxzr~wwyyz|yvx{|~uyrzz|z{zz{}uyz|vwwvuxyyzzzz{|szy{{{yzzzw}{zyxwwwxsukr2������
Pkw‡|zvrvwqqpG9(&7>Zqtqqqkq@d†Šˆznqrtqqxl�MU{urxyrwyyytd…f;
*yv~€{|z}~}~~~~|||}||~~}{}~}~|}~~~~~€z€}ƒ}€~„~~€€‚„ƒƒ‚ƒƒ„ƒƒƒ„ƒ„ƒƒ‚‚ƒ„ƒ……„ƒ†ƒ„„„‚ƒ‡‚ƒƒ„ƒƒƒ…ƒ„ƒƒ…†…‡„†ƒƒ‚‚„„„………‡ˆ‡†„††††‡††„…‡†‡ƒ†‡‡‡‡‡†ˆ†‡…ˆƒ…„„…ˆ„ƒ‚„„ƒ„‡„„„…†‡…„„…„„ƒ…„„‚€ƒ„…~‚…€„€~}|4T„w~~|tu
"M„~‚~~{z~~wi)]‡{{}to��B~|{|~wN$nq†zƒxn%:Šu|‚€‚€‚‚‚‚ƒ~ƒ‚‚ƒƒ††…‚‚„„„†……ˆˆ‰…ˆ‡‰‡†„‰ˆ‡„Š„……†„Šƒ†‡‡ˆˆƒ‡ˆ‹„‡†‡‡‡‡ˆ„…‚‡‡ˆ‡ˆ‚„…Š„ˆ…………„ˆˆˆˆ‰††…‡‡‡…Šˆ‰ˆˆˆˆ€„€…€‹€†€‡‡ˆ……„xwuuuuvxvxtzsywwyxusuuwvwxxwryvyw|w{xwvyzzvwxwvuv|zxvzwzuzy|zyzywyyututvvuvyurmq7�
+,00154:>@AC<;:75@5Akvxppqnlmqmopmqurrnvr�Rndkuqtsrtusstt��Xyvsvuwxwxwvuti�sx~{{|{{{|~~~|||||{~~~~~€}||{|~|{{}€|{||{||}~~€€ƒ‚€‚ƒ~~€‚ƒ„€€‚„ƒ‚‚ƒ‚‚‚ƒƒƒƒ„‚~…ƒƒƒƒ†„ƒƒƒƒƒ‚‡…„ˆ„ƒƒƒƒƒ„„ƒ„ƒ„†‡„†‚ƒ„‡†††…†ˆƒ‡‡…‹ˆˆˆ„‡ƒ†‡‡„„…ƒ„ƒ‰ˆ„ƒƒƒƒƒƒ„„†‡ƒ‡…„……ƒƒ‚ƒƒƒ€€€…‚€€ƒ€€ƒ€€ƒ€€€€~}|3�Q~||~}{i%�G…|€{}yz}}|qh.(]|~z~ys	5‚|}|{|‚Kqksyzu{y+$�.„kv…~~|‚{||ƒ~‚~€ƒ€‚„€€€€ƒ„‡†€„…†‡}‡ˆ†ƒˆ}„…†‡…‚†„…„††…„ƒ„†‚‰„††…ƒ„„†‚‚„‡†„ƒ„„„„„…„ƒ„…„„‡…„…†…„…††‰…‰†ˆ‡…†‡„…€†€ƒ‚„„yyvwvxxzzxz|sxywwxwww|vyvvxvvxw{}|uxxvvwxz{{wwv{z{yyyyvz{{z{zzyywyyzzyvwxwvwurmm<�awhp‚€|}†€pmrH"&;+~rwvvvtrwwwruuttuskrx
Iunuvyxxxywuqsw\svswuwxxz€v}lx�mw€z||}||{{|{~~}{||~~}~|z{|}z}|}~~}€€€€~~€‚‚ƒ€€€‚ƒ€‚€€„ƒ„‚€ƒ‚ƒƒ„„„ƒƒ„„‚ƒ†ƒ„ƒ„ƒ„„„ƒ‚‚‚‚ƒ„‡…‡ƒƒ„„„‡…‡„†…†„…„…‡ˆ………††ˆƒ†…†‡ƒ…†‡ˆ„††‡…„„ˆ†ƒ‡‡‡ˆƒ„„ƒƒ†ƒˆ‡„†„…†„„ƒƒƒƒ‚€„…ƒƒƒ‚€ƒƒ~~~~7�Rwv{|z‚g @u|~~~}}}}{lp4"(V}}{~{‹P!
+!„{{~|{}RI dwu“„ŠA&Ž‡nhxŒ}ƒ„ƒ€‚‚ƒ€„ƒ€„……„†………ˆ„†…„††…‡„ˆˆŠ„‡††………†ƒ…‡…†‡‡‡ƒŽ„ˆ††…„†ˆƒ„…„†„…„„………ˆƒ„…†…‡…†…‡††…‡†ˆ…Š…ˆ‡Š……ƒ„…Ž€ƒ€††…‡„ƒxwxwxwxxxyx{usvwuywxxwuxuwwwwwwuu{vwuvuvwwxzvxuwwuvxxzvzzxyyzyzwyyyzwwwwzvvuwomkGHYempppqpqpmi]O*=|rvvutrroqqrtuqtvtpry
�Hwyvuuvvttrrqp{
�Yrrsstuusuuvyi{�)\€y{|||||z{z~~|||}€€}€|~z}{{~~~}€~~~~ƒ~~~€‚ƒ‚‚‚‚~€ƒƒƒ‚‚„„ƒ‚€€€€€‚„„„„ƒƒƒ‚ƒ„ƒƒƒ„ƒƒ„„‚ƒ…ƒƒ„„„„ƒ„‚……ƒˆƒƒ„ƒ„„‡ˆ‡‡ˆ‡‡…ƒƒ‚…††‡„„ƒƒ‡…ƒƒ…‡ƒ„‡ˆ‡ˆˆ†…„†…†‡†„ˆ‡‡‡‡‡†…„ƒ‚„ƒ„ƒ€ƒ„€‚‚ƒƒ€€€~ƒ€€~€9W€iy|{“…
+<Œsxƒˆƒƒ†‚…yq}x.�� Yw}}~~}‹	�
+?Zt|~€{~zn)+0MPW]QQPNMMMXX^[S%
/.B‰~„‚€ƒ‚ƒ€€€ƒƒƒ‚ƒ‡…††„„…„„……………„„ˆƒˆ†ˆ}‡‡†„ƒ„…ˆ…y‰ƒˆƒˆ„‡‡‡‚††ƒ„ƒ„„……ƒƒ…ƒ…†„„……ˆ…„†‡††††‡‡‡†…†‹†…„~~}€„€€€‡„„vyw{xyz{xyz|xyvwuywxxxuywwuxwxwxvzv|vwvwuvwzwwvvv{{{{{wzxyyz|~wywyyzuxxwyvysvpnpE�
+@mlpunoqsrqnmaU8|qwuvrvvuvuszuwuusujq�Ipvuvuwurrxrq{�
5Vkrwwzƒzƒ}u…€	�� 2aw|z{|}{y{|{z{~}|{|{|{~}~~}}~~~~~~€~}~€~~}~~€‚€„~€ƒ‚„ƒ‚€~ƒ„€‚ƒ…‚ƒ€ƒƒ„ƒ‚†ƒ„…„ƒ„„‚ƒ„†„„„„ƒƒƒƒ‚…„ƒ‡ƒ„„†ƒ„„‡„ƒ„ƒ……„†„…†‡‡‡„……‡„†…„‡„ƒ††‡‡„…„„…„‡‡††ˆ…„„„„‡„…ƒ…„…‚„‚ƒƒ‚‚ƒƒƒ…€€}~~~~}?:–œ‰‡‰Ž",k‹xxorqmmnqlaWOI@;<?;1�W|}}~€}„‚І„urpz~}€|…•›—’‹|H)_z„Ž–˜^A*‡~ƒ€…„ƒ„…€„‚„ƒƒƒ†ƒ‹~†„„„‡„……†„†………†„ЄЉ‰‡ˆˆˆ‡‡†‡‡‡ˆ‹Šˆ‡†‡ˆ…€ƒ„………„†ƒ†„„„…†‡‡‡†††ˆ…‡‡ˆ‡‡†ˆ‡‡‡Š‹Œ‡‡†…~€€ƒ€ˆ~ƒ†……zyuvxyuzvtszzzvwvvxwuuvxwvswxwvvvvxywxxwvwwzzwvwv|vzuwzzvxvtvuuywuyzustwyw{xwrpeV�:…oqpmqrssrrpkb��0}swutuuutvvvxsqsspth€8F‰_ouuuuvuvvtq€�DœŠ€ƒ‚€wwpol`JA;96?3Hjxz||||{z{{y{{{|{||{{}}~}~|||z|€}€~|~|~|~~~~~ƒ€€€}~€€€€ƒ€ƒ~ƒƒƒ‚€„…€ƒ€}‚ƒ‚…‚‚‚‚„‚ƒ‚†…„„…ƒ…ƒ‚‚‡„ƒƒƒƒ„„ƒ‚ƒƒ„„„‚†„„„†††…ƒ…„…„…„†‡†‡†„ƒ„…‡…‡…ƒƒ„„„††‡„…„ƒ„…„†„„„…€„ƒƒ‚‚‚€„~€€~~~{B&+3-25%	
+@W…„Œ~uk��\|}~~}~€~y|{zvy~~~}~€}{{z{yyvqG.fjwzzj‰^?~€‚„~ƒ~~‚…ƒ{…ƒ‚€€†„††‡‡†………†€ƒ„‡…‰ƒˆ‡ˆƒ€‚‚ƒˆ‡‡ƒ‰ˆ†„Ї‰ˆ†‡†ƒ€ƒƒ‚‚‚„ƒ„„„„‡‰…ƒ„……„‡ˆ„†‰‡Šˆ†„‡†††‡†„„€€€}}€„ƒzyuuvyvzt}szxxxxuwxwxyxxwvrxywv{{}wwy{xwy}w{zzwwxzyzxyyyy{zz{~wyv{xywwuvzssrrvqgZ:qjnqqqqrsvsphc,!„txvvvuuxvzuxt€ƒ‡~vˆ™���A›™„|ƒ|mqtvvtq'�4mm[]^`@%)
+
+s†‹‡Žƒuyz{{|}{z{|y|||||{}|}}~{}z||~}~~~~}~€|~€~~}~~~€ƒ€~~~€€~‚ƒ‚„€‚~€ƒ~~}‚ƒ„†€ƒ€‚‚‚‚‚ƒ„„†ƒ†„ƒƒ„‚ƒ…„‚…„ƒƒ„ƒ„ƒƒƒƒƒ„ƒ„ƒƒ‡‡ƒ„…†„„ƒ„†…†‡‡‡…‰…„‡…ƒƒƒ…„„„‡‡‡„„ƒ…ƒ„†‡††…†€…„ƒ„~‚‚ƒƒ„ƒ~€~‚‚€~„~D�����!oˆpuwsdf� P{{}}~~{|~~~}}}~~~€‡|~zyyH%iq{{~wƒc3}ƒƒ…„ƒƒ…}ƒƒ„…†„‡€ƒ…‡‡ˆ‡†††„„„‡‡‰„‡„‰„††‡…‡†‡ƒ‹…‡ˆ‹ˆˆ†‡‡‹‡ˆ‡„„†‹ƒƒ‚„……‚‡‡‡‚‡‡‰„†…………†‡††‡‰ˆˆ†Š‹ŽˆŠ……€‚€‰ƒ€€ƒ„zyutuuvytssyxwxwuvxwuxxvwvsxwvvvwvvvwvww{zvvwwxxz{zzvxyyzzyvy~ywv|wxxvxvzxvruwrik�9idpspooqrusqkU9%8B}uvwtvwtuwuuxwixtffiC'6K_T`OG:'*Sjqwuwq‚,�bhcgvA
(yqwyxxx{}|{x}|{{yz}xxw{{|z}||}||||~~||z}{z~~{|||{€€€}~~~~€~}€€€€€~ƒƒƒ€€ƒ~~~€ƒ|ƒ€‚ƒƒ„ƒƒƒ„„„ƒ€„„‚ƒ„ƒ‚„ƒ„ƒƒƒƒ‚ƒƒ‡ƒƒƒ„ƒ‡†„ƒƒ‚ƒƒƒ‡…„„ƒ……„ƒ…‡…„‚ƒ…„„„…‡„…ƒ„„ƒƒ€ƒ„……€„„ƒƒ‚~‚ƒƒ‚€€€€€€‚‚H	gx{z{}mdNƒ{}~}{|~~{{~~~~{|~}|}~{…HZ|||~~|l*	-Š}ƒ‚‚ƒ„~„ƒ„ƒ…„…~€„††‡€„‚…ƒ…†„…„…†‚ˆ………†…†‡‡…‰…‡‡††‡ˆˆ‰ˆ‡‡‡……„ƒ†††…„†x‰„…‡†……†„‡ˆ…„‡†…ˆ†‡‡Š‹Šˆ………€€€€€€‚ƒwywwuwwxswwzwwxxvvuxvwvuxw{wwvutwu{wwwxwxxz{zxvw{yzwzyyz{v}zzy{{zvxyuvxy{vxyxpjn�1bhfjnvjmrrrqk]GDCDEH]qtuutvzuvvuuuy		
+j}hju{‹\��Aarwtus{/��_juto_~H
ysqvwzxyvw{{w||{{|{}wzz{|||}|||z|z}}~}||{|||{{|zz}~~~~}}~|~~}~€€€~€€~~€„ƒ€|ƒ~€~‚€~~{ƒ}~€}~~~ƒƒ‚ƒ‚‚ƒƒ„ƒƒƒ€‚„‚„ƒ‚„„ƒƒƒ‚ƒ€ƒƒƒƒƒƒ…ƒ‚ƒ„ƒƒƒƒ„„„ƒƒƒ„„‚„ƒ„ƒ„ƒ„ƒƒ€€ƒƒƒƒ€„„„ƒ„„ƒ„„„‚…ƒ„~‚€€€€€‚~€‚~~~U�ar{}}v„]��	K…u}~~|}~~|}|}~~~€ƒ‚‚}~€{x|Kdƒvz~|s‡3	4Œ{€ƒ…„…„„…€‡€ƒ‰„†„‡……„††††‡†††‡†ˆ†††ˆˆˆ†††Š†ˆ‡‡‡‰‰‡‡‡†‡‡‰„…€†ƒ„‡„„…‰ˆ‰„†……‡†…‡…†……†ˆ†……‡…‹Šˆ†‡‡†…ƒ€ƒ€„†……ywwxvwwxuwuxuxxwywtxusssvxxxxwwyyxvvwwvzvv{zv{wwwwvuwuuwtzv{z{zzvxxwxxyyzyvzyvqiq %*urqwsmlmjtusw|tvtttuvvrvvvo{C�Zbjxoinb�1\rwuur|1�Hvuutp{Rj‡luwyvywv{ywww{zyvxvu{{y{v{z||{|{{}|{{{|{z{}}{|~}}{{{|}~~~|{~||~€~~~ƒ~€€„€}ƒ€€}~~~~‚||}‚€~~‚€€€‚„‚ƒƒƒ„‚„„„ƒ€‚‚„‚ƒ‚‚ƒ€~{ƒ€ƒ„„ƒ†ƒ‚‚‚ƒ…ƒƒ„„…ƒ€‚€…‚„ƒƒ‚„ƒ„„ƒ~ƒ„ƒƒ„€„~€€€€€‚€€‚€~}|W�lqxz~uŠYY‰_~z|~~~}~€|~~|{}{{zvŽUX}v’“:‰|€ƒ€‚€€ƒƒƒ‡„†……„††‡‡‡†††‡†…†‡††…†‡…†‡…‡‡„‚„ˆ„ˆ‡ˆˆ†‡ˆ„ƒ„„„„„……ƒ……„‡„ƒ„„†‡…†ƒ„„†…‡ˆˆ††„Š…„…†ˆˆ€ƒƒ€€„„„„yywyvxwzyxxxxwxwxxxwwwywv|||xxuvxwvxwy{|uuxzz}vvwwwvvxyyxzz{z~z{xvvxw{zwxyuyyxrls�?tqsuvutrqruuvvvuyyzurqquvsq~�Luprtpoo)\wwvury7�D„qzutkS
+gwosuuvwwyywv|wzzzwyyx||{|{|z{{}|}{~|{z{{|||}}{|{{}|z~||}€|~~z~~~€{‚€~~~~€‚~~}~~~~€‚ƒƒ€}€€‚€ƒ‚„ƒ€€‚€‚ƒ‚„€‚‚ƒ„€~€ƒ‚ƒ„ƒ‚‚~ƒƒƒ„„„ƒƒ€€€~~~ƒ‚„„~‚ƒƒƒ€ƒƒ~…~ƒ~€ƒ€€€€€€{‡c{tx†’k�B“–ˆ‰’‰|~~€~~~~}ƒƒ„~z…‘“”‚swQGp…stm^OICB?ABCDHN_[YQUfw~‚„Їˆˆˆ…†„…„ˆ‚…„…„……††‡†…„…„…„„…†…‡†…‡ˆ„‡†…†‡ˆ‹‰ˆ‡ˆ††ˆˆ…‰ƒ„††……„„…ˆƒ…„†…„„ˆ‡†„†‡…‰‡‰…†‡‰ƒ‰‰‡ˆ…€Š…ƒƒ†„ˆ€Šƒ„…‡yxyyvwyz{{xywwwxyxuvsxwwxyzzxxvuyvvxxuvwvvvzw{vvwxwvuxzyvz{z{zzzzwvyyyywvuuyurumu�!)kqvsvprrrvvuuuuuspzuvupuvpq�G†s}ttmj3kwwvuuy=D„eyvqdN[zlu€{wwxxrwvuwzuzwv{y}{|||{{{{{}|{||{~yyzz|~|z{{{~{|{{{}{}}|}}||~~~~~{ƒ~~}|~€ƒ~~}~~|€~~~~~}€‚~„~}~~„‚~}€ƒƒ‚ƒƒ‚€ƒ„‚‚ƒ‚„}ƒƒ€…„€‚„~ƒ€€€€~ƒ€„€~~~€„‚ƒ€}}ƒ€~„€~€€~€€ƒ}ƒ_������RЇ€vpxz?Wla^VW[k}~~~~}}~„~}|s-+&'5JM^elqpmeC(N‘‡~€‹‡Š‹ˆŒ‚‚|‚‚„ƒ{…ƒˆ„…„…„ƒƒ†„„ƒ€……†„ƒ„‚ƒ„……‚€€‡„ƒƒ††…†…‡‡‡ˆ†‡…ˆˆˆ…ˆ…„ƒ‚„‚„„…ƒ……………‚‚€„†„…†…†Š‡……„‡†„ˆ‹‡ˆ„„ƒ„‚ƒ„ƒ€ƒƒyxyyxyyzyzyzwxwwwzswwxxxxwvxz{{{{{{}vzwxuzvww|vvywvwvyxyzzxyz~y{zzyzwwwyzzy{vvrlm'�%xlvqwqwruuvuuvvuwq{uvurrwqqy&%G‚rstrpj	>\|vyvurN�8B‘swkW�I™‡…nelsyuvuuwyz{zyyzxz||{|zz{v{~{||{z{zzxy~{zzz{~z{{{}}}}{€|}||}}~~{€€€€~{~~~~~|z€~~€ƒ~~~ƒ}~~€}‚~…~~~ƒ}|}ƒ€‚‚ƒƒƒƒƒ‚~ƒ€~~„~€„„ƒ‚€€€€ƒƒ„€~~€€~€ƒ~€€~„€€~‚€ƒ€‚}k"./268<<@@AAE?:^zutuvdR
+�Wƒ}}~|}~€„~{y<!'J€tv…vp|U,*e‰vzƒ€‚‚€€€‚€‚„„~†„†„‡ƒ†ƒ„ƒ„€ˆƒˆ‰Šƒ„…„„†„Šˆ‡„‡‚……†………†……‡†††…‡‡‰†ˆ…Ї‡ˆ‡„…ƒ†††„„……†…„…††‡…ƒ„……††‡ˆŠ‡ŠŠŒŠŒ‡ˆ‡ˆ†‡„†„„ƒƒ‚…†ˆ‡ˆ‡ˆ‡†zwxyyzvzuzwzy{{xutvwxwzzwwsrruwvu|yzxyxxuzwzw{wwyzzwvxzzzxzvyzyyyzzzzwvywyoywyrln()jmqqoqprqpppprqrnrxuuvqqprpm-"�@8‰usqtri%/�2HL}vvvtrS7@JkmdXUGA??=@ar	%CZqzvuutwy{{{zwyyy{{{{zz{z{||yy{{{|z|y{{{u{|{{{{{|}}}|{|{|}}||~~|€|€}|€~~}}€~~}€~}€~€~~~~~‚€€‚€~€ƒ}„ƒ~ƒ‚€ƒ€‚~€}„}~ƒƒ„€}ƒ„„ƒ„~ƒ‚ƒ€€ƒ|€‚ƒ„‚€ƒ€ƒƒƒ~€€‚€~~€€€~m
+J˜†ˆ„…††‚~†pim7€fk{„”m��9	N}~~|€}~€‚|{p(@zx|~{vzWdu{|||}}€€ƒƒ~ƒ~ƒ‚‡…‡ƒ„„ƒ„€……„…‰…………†ƒ…†ƒ„ƒƒ…„„„…‡………‡†……‡‡‡ˆ†‡ˆ‡ˆ‰‡†ˆ††…„……ƒƒ………†…ƒ„ˆˆ†„„‰ˆ„‡Š‰‡…ˆˆ‡Šˆ‰„……††ƒ†„……ƒ……„ƒˆ…„ƒ†{{yyx{{{uxwzwwwyyzyxwxy}wxwwvxyvw}xxvzywy|wzz{uuyxxzwwy|{vywzzyyy{{{zzzzvxwvvwrol-��evjp€|ƒ‡ƒ‡yrxrvuuuqrurqo8
 >vururm91BDKOWezxzwupozz{ŒšD8wz…p^$

Htyuyyywxy{zxwwvwyzz|w{zzzzyyz|zzz{z{z{{|zzyw{|zz}~~}|}||~~~|{|||z~{~||}~|€€€€€~}~€€ƒ}}~„ƒ„ƒ€‚ƒ}~~€€~~~„ƒƒ~‚‚ƒ~‚‚€}ƒ‚„€€‚ƒ„ƒ‚€€€€ƒ€‚„ƒƒƒ€€€‚ƒƒ„‚ƒƒ€€€~€€…nbcu{zz{{{|{}rK�rnx|wn‡|�G†||{{‚~~€€{n*>w}|€||tV`z}ƒƒ‰ƒ‚€€„ƒ‚‚€„ƒ„„ƒƒ…‚ˆ…ˆ„‰„†‹ƒ„…‡Š„ƒ‚†‡………‡‰‰Š„ƒ……†…‡‡††ˆ…ˆ†‡†ˆˆ‡ˆ‡‡ˆˆ‡ˆˆ‡ˆ…„…†ƒ‡†……ˆ………‰…ƒ…‡ˆ‰…‡††…‡„‡Š‡‹…‡‡†„†‡ˆ‡ˆ‡†‡ˆˆ‡‡‰ƒ‡zzzzz{zyvwyyxxxyxwxvyxzwwwwwvyyvywwvuwvwwxvvv{vwvyuzvww|zzyz{{{wwwvuvxzyvxyurvrlp/
+Iehzwvkfed[YVApqwruvvrqurutrZIK``prsfv{|vwquvuuutrv€}y|uuwvyywvutwrjY‰M:&knrpkp+�8|wvwyyywvwwwwuwyyz{wy{{z{z{{{yu{z{~z|||{{zvy{{|{|zyz{~}|}€|{{{zy{|||{}~~|||~~€|~{{|}~€~ƒ€|€~€ƒ‚ƒ~{{|~~‚‚€~~}„‚~€€~€€€€‚€€ƒ„ƒ€€~€‚€‚€ƒ€€‚ƒ…€€€ƒ€€ƒ}~~~ƒƒ}„€~€€€€~‚€€€‚f
+[yy{}€~€~zn^�mt|~~{iA‚}|ƒ‚€€}h$:…‚|{||€\�U‰}~€€€€€‚~€‚‚ƒ‚„ƒ„„„ƒ„ƒ…€€„ƒ„}‰…†…††€ˆƒƒ‚‚‚„†…‚…†ˆ‡………‡†‡ˆ„‡…‡ˆ‡‡†‡†‡‡‡††‡„†††…†…„…„‰…‰††…†ƒ‡ˆ………‰‡†……‡…†‡…†……†ƒƒˆ††€„…zzxxz{xwwywxxzxzxzxwwzyww|zwvvv{wvuywwwwu|vww|vzvzy{z{vyyywvwv{zyyuwvxwyuyvuuwrkr1��
#(7kqxrvturrsuuusz‚z{t}z~~~|xuuxwvuuvuuvvuvxuwvyvvvvvuutqt^
+sqsvtwv4�
 uuwywywyvwyzvvuwwxzuy|{{zxy|zyz}}}}{{|y~{|z{{z{{{{z{z||~||}||{{z~||||~~{~~~~€}|~€~}}€~€€|‚‚~}}}~}~~}}€~‚}~ƒ„~}€~€~~€ƒƒ„ƒ€ƒƒƒ€€‚ƒƒ€€€~~~€„~€~~€}„}€~€‚}}q	Q||}||{{{ˆY��
g€|}~~{g�;†|~~~~~~{Œk6…|‚~}yaA@a„zށ€€~~~„‚‚„‡†ˆƒ…ˆ„†ƒŒ€„…„†ƒˆ€‹‚…„‡……€‡‡Š‚„‡†…†††‡…‡‡ˆˆˆ‡‰…‡†‡‡‡†‡††ˆ‰……‡ˆ‡‡‡ˆ„‡…„…†††…†„…†‡††…ˆˆ†…І‰‡†„††ˆˆ‡†ˆ†Šˆ†‚ˆ‡ˆ‰yywwyxzyyxwxzyxxxxwwvvvvtrswwvu{vvwxwwvxwwvxvwwzvzvxvxvuwzvwzyzz{wwywxuvvtsuwtvly3���� 7Wqwsuuuvqrtuquutpqqtuurpidioquxxvttvvuuwurvvuwvvvvuurrttkj�
+{{uutt9
+	/zvywvuvvwyywvuvu{vxz{{zzyxxwyz|yy{~}|zyy{{{z|{{|~{{{z{~||{€|{|{{|~||{{{z||~}~|~~}}}€}~€~ƒ}~„€~~€~~€‚€€~~€€‚€}}~€€€€ƒƒ‚‚~}}€€€„€€‚ƒ~ƒ‚€~ƒ~~‚~ƒ|~~~€~€|~|€€~€‚nJƒ}}}}~~€~~}†R*�)\…~}~}b3�;Š{}~~}}€€€‚|~‹|(ˆ{|‚~}ZY‚~€~~‚†‘Œ}yz~ƒ€~‡~……„„…††€‡„„„ƒ‚…€†……„ƒ‚ƒ„………‚‚†‡…„…‡ˆ‰†„„„„††‡‡‡…‡………ˆ…‡ˆ……†„……ƒ…ƒ„……ˆˆ……‡‰‡„…†ˆ‡…ˆ‰††ˆ‡……†ˆ…††††ˆˆˆ„„‚€†‡yx||zzywxzwyzyxyyzzzyzw…uxxwwyu{vwwwvwuvvvvxx|vzwyxwwxv|vwvxyxvwzvtvwxxxwvutstulq9���Ypysvvqvuwzuvuuuvvyvvuuw|wyyyyyw{zxxxy{yywwyzxwvwwxyzvupkubnuvqk?.>uvwwwwvwwyywwyyxzxxz{{{|xzxwvwyywyyyyzz|zzzz||}}}~||{{|~{}{{{{{||}~~}€~}€~|}}|}~~}~~€~}~~}~€~}}„€~€€€ƒ~~ƒ~~~€‚ƒ€€€€‚ƒ„ƒ€€€„€~~~‚„~~‚‚ƒ‚~ƒ~}ƒ€~~„~~€„}|€~}‚~~qJƒ}{~{~€€~|zW<BVŠ}~}}}^/������������9‰z~||zus}ƒvs{†#&†{{‚~~hVKGJKP[jz€€ƒ}„H&7+$4CAp~ƒ€‹€„ƒ…ƒ„„ƒ†ˆ‡ˆ‚‡……………„†„…„…„„„…„††ˆ†……††„„ˆƒ‰…†„†‡‰…‡†‡„…ƒˆ„ˆ†…„……†‡„ƒ‰……„‰…„‡ˆˆˆ…………†Œˆˆ††††‡†‡…†‡†ˆ††‡ˆ‚’ƒ‰†Šzzzxuvwx{xww{xxxwxx{wzwvwyzwyxw|vwwtwzyxywwyzwvywx{xvww|vvvxywuv{zyyxw{wxwuuwrulm@�asvvtvvuuvvuuupuwvuuvuvutuxvxvvuyzyzxyyuyvwuvwvvwvvyvvrlsŒ�4Vwovuw=�<Ppvvuyyyyzzywzyzyzzzy|zw|xxzz||}|{||{|z{|||~||{~||~}~}~||~|||{{|{|~|}~}~}~{|}~}€~}}}€~~~}„‚€€€€~~€„~}€‚‚€€„ƒ„ƒƒ‚€€‚ƒ„‚„~€ƒ„€~~~‚€~~ƒ€~~~‚ƒ€~€‚€€€€~€~~„w'F…|{ƒ‚~|}{e??+&'Lƒ~~}}|hD.996)4ehea`U=�6}z{||„QF=1#($…{|€€€€}}ˆ…u}|€~€~<A,*Be€‚ƒ……„…ƒ‚ƒ„†‡„„„†……†…€„„…†…ƒ„ƒ€„†‡†††…„ˆ‡„„ƒ„„†……‡‡†„…†‡„„…‰„ˆ…‡‰ˆ‡‡‡„…‰†‡‡…‡…†††‡‡†…„†‹‹ˆ‡‡†…ˆˆˆ†…‡ˆ‡…†‡ˆ„ƒ„ˆ‡‰vxvvvyyzyxwxwvwwwzx}xzxwvvwyyzx|wxxxvzw|vwvzzxwyvvvxtzz{wvxywzxvwzyuxxyvuwvvwtrneK�W|wsvvvwwuvvuuutzw{uvvvvvvxvxxxy}xxvqyzyywxwwvzyyvu}‡ŠŠŠ’}��>Iƒ{nmz^?:<:9;?GY^`bZ^eqxvvvwzzw{zywyz{{yxxy{{{{{z{{{{|{{{{{|||||{|{{}z{|}~}|~}}||||||z{|~}|~~~}€~~|}~~}}~€~}€~~~~~~€}ƒ€~~~~€€‚‚‚‚„~€~„‚‚‚‚€€~ƒƒƒ~~‚„~€~€ƒ‚„}€€€€~~~~‚ƒ~€‚€~~~~}{xC„||€~€€}rlz|}x‚u||€~}}y†Š€‚~m{}sx‡‘˜n�0‡z~{{…O
+ƒ|}€€‚‚€€€€‚€ŒM/)dƒ‚‚………„†„„‡„†ƒ„………„……„†…†…†„‚‚ˆƒ……†…‡„„„„†‡ˆ‰……‡†‡†ˆŠ‚††‡…‡ˆ‰ƒ‰…ˆ‡‡……†‹Š‰‡‹‡‡……………‡‡ˆ…Љ‰‰‡‡ˆ‡†ˆ†…‡……ˆŠ‡†ˆ‡„‰†‡‡‹uwuvwxy{uxx{wwwwwxy~zzuxxz|wvzywxzvvxxv{www|{xuz{xwwtuwwxyzvvvzyyyzxxxywvvuvwuqpc\��8O|vswvtvtwq{wuvwvtuvuuuwwut~€†€wttouvvvwwuvuyvuvlE3;:9:=A^mx‹Y9>šv||yvtvrsz|uywywvy{ywx{uzzz{{z{yw{{{ywywy|{zyz}{||}||{~|{{zzz|{{{|~}|}}{{{z{~||}~~}ƒ~|~|}~~}~|€€}|~~~~}}}~~ƒ€~€~„€€~~ƒƒ~‚€€„‚ƒ€€ƒ€‚€€ƒ€€~€~~}‚€~~~~ƒƒ€|€~‚‚‚~v#B‰{~€~}~~~}~yyyvxvy{|||~}|||||{qcoygryzmw€%4|z|}{~S�€~€€€~€}|€€‘Nb†‚‚‚„…€ƒ„ƒ„„……„„††„‚…†††…„†„…„†„ƒ„ƒ„„……‡‡†…‡†…†‚„„„………„„„ƒ‚†…†††…‡‡……‡‡‡†…†Šˆ‡……†ˆ‹…‰‰ˆ‡‡‡‡ˆˆ†‡„††‰ˆ‡………‰ˆ…‰ˆyy{{z|x|tz||vxwwxyy}{|uywzywx|xyw{v€wwv{wvw|zzyzzwvwyzxvxruuw{wyyzxxvyw{uuuwyxqsed���	#Hzuvvuqjcii`ZXVqvvvtvvwwvwxvkT& 5=8byuu{vxuzuwvutt9 £oopxƒ69;doywwwxvxyyvwwxvyyzwvy{zxzzz{zzyy{{{wz{y{z||{{{{{~{|}{|{{{{{}{|zy{{|~|{||{~€{{z|||{|~~}}{~~~}{}~}€}~‚~~}ƒ~~}|}~}€€€~€€~~‚~~ƒ‚„„~‚€€ƒ…‚ƒ‚ƒƒ€ƒ„‚ƒƒ€€€€€€€~€€~€‚~€€€€€€‚‚~€€€‚~}€‚€~€}€&>ˆ}}}~€|~€{}}|y}}}|}z€~}}~|z{}|xpl^o€~w{s.�.y}}{~R
+t‚|‚~€€‚€€~}‚~~„LT„~…€„€„„ƒ„„„ƒƒ……………††„……„…„†‚†††„†††„†ƒƒ…‡†„‡ˆ‡†…‡ƒˆˆˆˆˆ‰Š„‡ƒ††„ˆ‡ˆ‰ŠŠ‹…‰†‹…‰ˆ‰ˆ‡…Ї‹…‹‰ˆˆˆ‡Š‡ˆˆ‰ˆ†ƒ‰ˆˆ†‰ˆ‰ˆ‰‰Šuvvwx{zzvzx|wvwzvwzwuvxxx|zwwvyzwwvvwxxywxx{xwwxzxvwz{{yzywvwwyyzzyyywxyuvzxuwrsk[��+/4?IL$�Ehd`\omvvvvsE+/'AL{vutvuvvuvuzun?	'?[|vvzyzuywwyvta!‹ltvsk‚/
+8qpqpoqrxwzyywv{zyyxywz{wyyyyz{wuwz{z{x{yyz|{w{}}}||z||z{{€{{|{zy€z|{~€{|||~~|{{||{|~~{|~~}~€}~}~€}ƒ~{}€€|||{|}~~€ƒ~ƒ„~€~~~~~}€„€€~ƒ€ƒ„ƒƒƒ€€€€€€~€€~€~~~~~€€€€~ƒ~€ƒ€€}€€€‚}€{|}38…}}}€ƒ€~}}~~}~z}zz{|ƒ€}~{ˆg�Q„~}€{‚q))y}}{~{Y�$mu|}{ƒ}}€€‚}zz{|y}QQŒ~€„ƒƒ„„†ƒ…ƒƒ†…‚…‡†‚„‚‚‚„…„‚††„†„„‡…‡†ƒ†††……ˆ‡ˆˆ„…„ƒƒƒ………‰ˆ‡„ˆ‰‰†‰…‰…ˆ…‡ˆ‡†‡†‰‡ˆ‡ˆ‡ˆ‰‰‹‹„…ƒƒ‡„ˆˆ‰ˆ†‰‰ˆˆzz{{||{yyyyzwzy|vww~wxyzz|wzwyyy{~xyuyz{z|yzwwx|uzzzy{zzzyxvx{zzzzyyuwxwy{rwqrgb��.lˆ‚moyt��)qnrtpuuwvrq‚I7H}ut~tvuvuvvyrs10R~yu{zzwvvwywxq!uqxuqp†/8{vuyvvwyyzywwvyyyyvww{{xwwyzy{{}|{{xwx{yz{z{|{|zyyxz|~zz{|{{{|{|z{}€|}~{{{|{|}~}~~|{|{|{{||€}~€€€~€}}~€~€€~~}}‚€€~‚‚ƒƒƒƒ„~‚€‚ƒ€~ƒƒ‚‚„„‚€ƒƒ„€€~~~~~}~€~‚‚„€ƒ€€€~€€‚}|}56y|{~}}‚‚€ƒ‚ƒ}}~~}}~}}}~~~}~€~|yvy!(O~€yu;!�‚v~|~~|\!�in}}~‚‚€€…„„…‰ƒŒŒŠ}s{_$BW‚€…„„€€…ƒ†„„„ƒ„†ƒƒ†„‚……†…†‚‚„‡‡ˆ‡‡„ƒ†‚ƒ……‡…‡†‡………‡‡ˆˆ‰ƒ‰‚ƒƒ‰‡‡ˆˆˆ‰ˆˆ…‰„‰„ˆ„‹Œ‹‹‹‡ˆ‡‹‹‹‡‰‰ŒŠ‹†ˆ„‰‡…†ˆ‡‰ˆ‡ˆ‰‰ˆvz{}vuvwwzxwxyx{wxxxx{yvyvwzxxwxzw}|w{x{wx{|{{vwvzwz{yvwvywx{wvyzzuzzzvx{xvwusrnu\�R_amkg[l4qgrqprtuvwuqoK!Azwurtuvvvvwyt{"�L‚zuuuwzvzyxu{y
+l|xssu€/	
8†uwwwwyxy{yxyxz{zyvvxx{zxvtz{{x{{zzyyw|z{zwzzy|w{z~}|z|zz}{{||{~~~~}~{|~~~|~~}}|}||~€}€ƒ}|{€ƒ€~~€€€‚ƒ‚ƒ~€~‚‚~€ƒƒ‚ƒ„„~ƒ‚€€€‚ƒ„ƒ}~‚…ƒƒƒƒ€‚„ƒ€€~€€~€€~ƒ~~€€~~ƒƒ„ƒ„€€~~‚€€}~~€ƒ€|z80k~x}‚‚‚ƒ€|{~{z|~|~|}|}|}}|wq}7@Ž~{{x†t-7{u|{~}U��f‚zwŽ…‹‘€„‰ƒ|{{utk\PF* '.l|€~…‚‚‚€€€€€€€ƒ…„ƒ†‡„ˆ„„…††€ƒ„…‚ƒ†…‚……€‡ƒ„…††‡…ƒƒ„…„„„…ˆˆ‚‚„„ƒƒ‚„‰‡…‰…ˆˆˆ‡‡„ˆ…‡…„„…‡†ˆˆˆ‡†…‡‹‰‹Œˆ‡„…‹ˆ‡‰†ˆ‰ˆ†ˆŠˆˆ{{~ƒtz{|xzzzx}z{wxwxxzy}|{{||{w}x{{{xyv}wxz{{{v{{zzz{{z{vxyzxwwz{zxzyzzzyzuxsvqlvU�9{glmpan+‚kxqwwzuvvuptY8uyvvuuvzxzvys-%K…yyzyyzxxyysgzY€xzzvz2'tw|wzxxy€‡‡yzy|wzyywwz{|}|}y|zzzzyy{z{|{{zyyyy{yz{|zz{|{~}}{{~{}}|||~~}}}|~€~}}||{||~~~}}~~ƒƒ„|~€ƒƒ„~€€ƒƒ~}}~ƒ€‚‚„„„‚…€ƒƒ„ƒ„ƒ~€‚ƒ„„ƒƒƒ‚€€ƒ~€€€~~€ƒ}~~‚ƒ‚„‚ƒƒ€€}~~€…zw:	)p•Ž…‚~€€‚}}‡Š‘ŒˆŠŠ‰„„ƒ‡‡‡†ŠŠ…ƒzf4
++G~~|y‚{6)-%Ewv|~€~ƒ_
"3FFEHHB7A??=@<721-0%-"!* $23N„†Œ…‹‡}‚…„…‚~~„ƒ…ƒ„ƒƒƒ„ƒ„„ƒ†€ƒ„…‡……„‚„‚‚„„ˆ…„†…„ˆ†ˆˆ‰‡‡ƒˆ‡‡………Šƒ…ƒŒƒ‚‰ˆ…‰…‡ˆ‰Š‰…‡†††††‹‡ˆˆˆ‰‰‰‰‡Œˆ‰‰‡ˆ‰‰‡Šˆˆ†‡ˆˆˆŠˆ‰z|ywuyzzzzxyxx{zxxwwxywxwvwxz{ywwzw{yww|vyx|||uxy|zzz{zyx{|zutuuv{zyyzwwyxurssrls\�!{qrqrga)xqrquvuruvurzd-tlvxzvvuuxutup5.5‰xxvzxxwxxxj^|
X€xyyvvG1!>Vtwxxxx{xxjc`UVc|yzyywywtnz{yuvyvxzwwyw{wz|zzywzyyyzz~}|yy}{|{{|{~~||}~||{~||{|}}||||}~z|~~}}}~€}~~|}~~~ƒƒƒ€~}€~~ƒƒ…„‚€ƒ‚€€€€€ƒ€~‚„…„€„€‚€ƒ€€€€€€€€€~~€„…„‚€€€„~€€€€€~~A|ub^\brxˆ€€€|ucTRZTQOOLLLLJHFFBCCDH[SXcsgeWZjxz}}}zntgyu}|yx|~~ve�kllŠ€€`F$!
	
HŠrz}}z{~‚ƒ~ƒ‚~ƒƒƒ…„ƒƒ€ƒƒ…„†ƒ€€‚‚ƒ……„ƒ‚„ƒƒ„ƒ„„††ƒ…‡ˆƒ‰‡‡……„…‚ƒ†ˆ„……‚„ˆ„…‡†………‡†‡†……†ˆ‡ˆ…‡ˆ‡‰ˆˆŠˆˆˆ‡Œ‡‰‰‡ˆ‡…ˆˆˆŠ††ƒ‡†Šˆ‹|}z{{{{{zyz{wzy{yyxxyzwywvwxy|yyw{wzv}}}vyv{zzuxu{|{zzz|x{y{{{|}uyxxxzwxxyuvsxqrlh*|rsqqjT	2xxprutwvvvupzb
+_jwuuuvwyutwt$5!Axxuywt}vƒ}
\xyyxr_PPbdfbkwzxyywz
	T‹zzyyyyw}xvwxyyxxy{wwww{yy{{zzyz{yzy}}{zz{|€|{{~z||||{{||~|~{|~~||}}|}€~{~~‚~~‚€‚€~‚ƒ€~€€€€‚‚‚„„€‚‚ƒƒ‚ƒ€€€€ƒ„€€ƒ‚€‚ƒ€€„~~€€ƒ~€€€‚„„ƒ€€‚€„‚„}~~ƒ€€|E�#00!B‚‚‚}y 

	

 ~~|ƒ„„ƒ†z{}{}{|ƒ~ƒz{{{}|~|c'�Vd|yzyt@$
+Awsz~~}{‚~ƒ‚‚~„ƒƒ‚„ƒƒ„ƒƒ…„„„†……‡……‡„†…………„…„†„ƒ…††„„†‡ˆ…‰…Šˆ‰…‡ˆˆƒ…„††‡‰‹ˆ‡†‰…ˆ…‡„Žƒ‰‰Šˆ‡‡‰‰Œ‰ŠˆŠˆˆ†ˆˆ‰ˆŒˆ†‡ˆˆ‰ˆ‡‡ˆ‰Œ‰Šwzwzvzw{{zzyyxy{wzwwxxwxwxyxxxzxxxyvv{|zz|v{{zusv|wwwwz|zzwyzxz{uyvyyzyyxypzuvermm�$zrrlpoS7]x|‚sqvvurxi#|kyvq`elqvvuvmGEHBKC?atvzzyvjSB2�\€xxzxtpnqnprxuwyyzyvJ:Nyzzyyyx}yvvuuuvvuuywwy{w}{|{zzwyyyz}{~|}~|~{{{zzzzyz{|{‚||{|{|}~~{~}}}~}~~~}~€€€ƒ}€€~‚~~€}„ƒƒ€ƒ€€€‚‚‚ƒƒ„‚ƒ‚€€‚ƒƒƒ€ƒ‚€€ƒƒ€‚ƒ€€€‚‚€}‚~~~~~‚€ƒ}……ƒ~€ƒ€ƒƒ~€‚ƒ~€€}~}…H$99x~‚…}{)0�;ƒsu{}}}}{~}}{{}{{{zyz||~|~{uh�@{u{{{{‚@:ˆ}w|~~~~€ƒ„‚„€€„…€…{…ƒ„‡„€€‚‚‚ƒ…„ƒ„†„†ƒ„„„‡„„„„„‡‡…ƒ„„ƒ„………………ˆˆˆ†ˆ‰‡…„ƒƒƒ……†‡‡†‹‹ˆ‡‡ˆˆˆˆ‹ˆ†‡‡‡ˆ‰ˆˆ‡‰ˆˆ‡‡‰‰ˆˆˆzzuyv|{zyz||z{zzzzzywyxxw{zzxwvxw~y{uzz|{~x{{{z|zzxwwxvw{zwvw{z|tyzzw{wzvzxxwwvtlt(rtrpqm^GB857;CMOIIJ=Bktuuqsk�.7$[uvvuurr}†…‡{wvvxyvtm@���[…xz|wzyxyyxwwywyyzvu.HŠzzzzyzz{zwuuvuuyvwvwv{{wxw{{w|~}{{{}{{~|zz}{|||}||{{{|}~|{{€|~~~z‚~~~~{}€~~|‚~|ƒ€€‚~€„€~}~~~ƒ‚ƒ€ƒ‚ƒ„„ƒ„€€€€~ƒ€€€„ƒ„ƒƒ€~€~~€€ƒ~€ƒƒƒƒ€ƒ‚‚„€€}‚„ƒƒ~‚~~€€|ˆJ'C}}}~„}w=p€y}}~~€}~~}}‚~~~{z{~|{|€l#?”w}{{’C8q{x„…………„‡‡ˆƒ„ƒƒ‚‚„…„‚ƒ†‚‡……€†„………†‡‡‡††ƒ……‚‚†„‡ƒ‡………‡ˆ‰„„††‚‚ƒ‡„„„Š…ˆ††‰‰‰ˆ‡‰‰Šˆˆ‚†„‡Š†‡‡‰ˆˆˆ‡‡‡ˆŠ‰†‘‡ˆ‰‰‰ˆˆ‡ˆŒ‹‹Š‰ˆ‹wyvwyyyyuzwvv{wzwzzywyy{w{{xwwvvwwwxwyyz{|yx{zz{{zzzz|vw{ywwx|utsuvxyzyzvzvvxwtqlp,�$fmqromjghwmthY8;8xrvuqoq���$;Xzvuvvuutsrttuuuvyvvrp,�TŽzyyvyuxyyyyxvyy{{uvu!D…zyxxyz{z|xzwxvyzvwzwwz|{|{{zyz{|~{{{}|~|||{{|{}||~~|}|z|~|~~~{{}~|}~z|}||}~~€€€~€€~ƒƒƒ€€|ƒƒƒ€€€€ƒƒ‚ƒƒ}€€ƒƒƒ€€„‚ƒƒ€€€ƒƒ‚€‚‚€~€€€€~ƒƒƒ~‚„ƒƒ‚ƒ‚‚€‚€„…„€}‚€|…Q�?||}ƒ}<l…||ƒ~€~~~|~||}{{|}€{|l0
+#=Ž{||„}’H	2npv{~~€ƒƒƒ€€„„‡†€ƒ……ƒ„ƒ€ƒƒ‡ƒ…€ƒ‡……………„‚ƒ‚„…ƒ†„……„„ˆ‡‡†‡‡…‚ƒ…„„„…‰‡‡‰‰ˆˆˆˆ‡„ˆ‰ˆ‡…‡„ˆ„†ˆˆ…‡ˆ‰‡‡ˆ‰Š‰ˆ‹‰ˆŠ†††‰ˆˆˆŒ†Š‹‹‡‹zz{{{zxzxyz{z{yzxyyxyyy|z{w|zvw}w}w|wwzzz{yz{{{z{|}{{|xxwzz{vyz{t|wzxzxzuywvwurrlm0�hmsssqppopplhq$ ;aruupom�(Zuwuvvvuuwzyuwyyyxuu{{Rƒyzzyzwvzzxxyzv|z{uu{0 <zyxxzyxxvwyyxxyzy{zzyyz}{||z{{zz{{{{{~~}z|{{z{|{}}|}}}}~~}{||~~zz||~|~~|{{{|}|}}~~€€~~ƒƒ€€€€{ƒ€‚‚€‚ƒ~~€€€‚‚€€‚‚‚„„„ƒ„ƒ€‚‚„ƒƒƒ~€€ƒƒ„€ƒƒ€ƒ€€ƒ‚€€‚‚‚‚~„€‚‚„„„„€€}}|‰T�	!8|‚|~}‚@�e„|}ƒ~€€~~€~}~~~~}|wtw|{~~€z~eEE'Š{{‚z“J(oƒ—‘™Ž~€‚„„ƒ„„„„†‡ˆ€…„…„……‰‡‡……………„…„„…†††ƒƒ†††‚†………„„†…†……†ƒƒƒ………„…‰‡…‡ˆ†…‡‰ˆ‰‡‡ˆ‰‰ˆˆˆˆˆˆ…‡‡Œ‰ˆ‡‹‰ˆ‡‹ˆˆˆ‡ˆˆ‰ˆ‡ˆŒ‰‰‰ˆ‡Šyxxxzzu{zzqzzzpwwxyxvyy|x{xxyxzyxxwxyx|{xwyz}zw|{zwxwwxvwx{xwzz|vxy|vwwxvvuyxuuqmj7�
bwutsrqlnpnki|!4fvssqp{��Rƒvuuuuuuzzyyyyvxyvqj}I€ryyyyywyywzyzyvyxwuz<-��"Žyvxzzzxwy{ywyzyy}yvyzzwy{||z|{}{}}|{{||~{{}{z~~}|}{|}{~}~|z{~||z}|||~€}ƒ€€€~€‚ƒ€€~ƒ„„„ƒƒƒ‚€~€€~„ƒƒ„ƒƒƒƒ‚ƒ„ƒ‚‚‚ƒ€€‚}ƒ€~ƒ‚€‚‚€€~~€€ƒ„ƒ€ƒƒ‚„„€„††‚†ƒ€‚‚~|‚W7u|||Cj„}ƒƒ}}‚~}z}ˆŠ“’•“Œz|}~|||mY7$"C{{‚~{K��/897@0(]‡€…„……………„ƒˆ„ƒƒƒƒ†‡††‡€„€ƒ…‡‡‡†„‚‚€„‚‡‡„„…†…‚„„„†„…‡†„„„„…„……ˆ‰††………‡„†……„‡…†‡‡‡‡‰‰‡‡‡‡Š†‡‰‰ˆˆ‡ˆˆ‰ˆˆˆˆ‹…„‡‰‹Š††‰ˆxzxxzz{{{|{{zzzzwxxyx{y{w~xzywwxwzwwxxvxuvwy{{z{xwy{{zw}uvx{zzy{zzy}u…vzzyyxvwsmop6�_krrrsqqttrklk10bxorown(
+Q†uuvvuuvyyvuvyxxvttY”!AJ—hpxuxstxzzxxxyvuvywwGU‡yvx{||xxxzwyyxxy}{{}||zyz}~|z{z{|}||{{{|}~~~€~~{||}|{||}}}{{||~~{{{||~}~~~z}~~~}~~€€€€~ƒ€~€~‚ƒ„€€~ƒ‚‚ƒ„ƒƒ€€‚ƒ~€‚ƒ€ƒƒƒ„€~~ƒ€€€„„ƒ‚ƒƒƒƒ€€€€€€ƒ‚„~~~~~„‚‚‚„}ƒ‚ƒƒ„…ƒ‚€€~~|ˆX
�
&q|~}wF��^~}~~€~}ƒ~}{eICGGHMUf{~}~woebm€y…qu{„|}‹Q�$-Ž…………„„ƒ„ƒˆˆˆˆˆˆˆ‡‰‰ˆˆˆ‡†„ˆ†…†‡††„„€…‡‡‡……ƒ‡…„„„„……‡‡ˆ‡‡………„………‰…‡‚ˆ…‰ƒŠ††‡‡„†‡ˆˆˆ‡‡‡‹‡Š‹ˆˆ‰ˆ‰‰ˆˆ‰ŠŒŒŒŽ‡‡Šˆ‰ˆ‡Œyzuxvzzzxyzzwwyxwwwxxz{wv{y{wxzxyxwwwwywww|||}z{wwwxzzvvwwvxzzzyyz{xwwvx{yyxvwuqqj:�Tlmsrsqqtlklhf3bukqphf,�3M…uzvywwvzyuuqqt„y}ŒŸ,D›xww[]qzzzxywxvwuz{x`T_kcvywwyyzzzzyyywy{{y{y{{|||{zyyzz|{||{|{~||z{}}|zy{~||~{}}~~|~|~|{}{{{zzy|}||{||~|€ƒ}~~~‚}€ƒ~€€„‚ƒ‚ƒ„ƒ€€„„ƒƒ€€„ƒƒ„„„€ƒƒ„€€ƒ~€‚~~‚„ƒ‚€„„„~€ƒ„„„}‚„‚‚‚„ƒ€~‚€|ˆdF`megSVeu}}€ƒK����	aƒ}}‚}~~€}‰YC,
Sˆ€€}zz|y{{~~ƒ~€~ŒT��,’„ƒ……„ƒ†„…‡„…‡ˆƒ‡‡‰…†…ˆ‚…‡†……†††‡‡‚ƒ„†ˆ†ƒ‡†„ƒ‚‚ƒ€€…‡…††ƒˆ…„…„……ƒƒ……‚†……ƒ„‡†††…ƒ††††ˆ‡‰ˆ‡ˆ‹‹Œˆˆˆ‰Šˆˆˆˆ‰ŒˆŒ‰ˆˆ‰Šˆ‹‹ˆ‹z{vxxzz{w~yyvxwx{xzwxyzwy{|x{{|{|xwwwwyx{{{{|z{z|v{zyxwy{yz{|zzy|zwwywyz{wwvwusmjBewgmrqppuolfbu5+eŠ~bey"��.!Jyuvvw{vyxyuutl^ROJGF?>BYU\bnekhw|ƒ€H
+=vyzxxvxy{wwyyvv|{qsuvwyyzzz{yy{zzx}zz{{{|}z{{z~z{z|z|{{||{{{{}||{||}}~~|}~~}|€~~{{|{}||{z~}|{{{€~|~~€‚~~~~€€ƒ€€}„€ƒƒ‚‚ƒƒƒƒƒƒƒ„‚€ƒ‚ƒ€€€€ƒ‚„€€ƒ~€€~~€‚ƒ€€ƒ„‚€ƒ~€„‚‚‚„ƒ~}€‚€€€ƒ€~~€{„bZ™|w†„ƒ|~~}~M���P‡}~~}~~„}€}yV*$GD~€~~~~}~}}~€ƒ~€~ˆT���6†ƒ…„ˆ„…‡‡„†„†…‰‡†…‰†„†ˆ††‡ˆ††„…†ˆ‡…………„„††ˆ‚„ƒ„…†‡‡‡……†‡ˆ…‰„‡††ƒ„……‚ˆ„†…„†‡…ƒ„…„Šˆ†ŒŒŒ†‡‡ˆˆ‰‡Šˆ‡ˆˆˆ‰ˆŒ‹‹ˆŠŒ‰‰‰Ž‹zvvxxwzzz~zxzz{zwxy{yzvxwxvuvuwxywxw{{{yw|xw{{xzvxwxvzzy|y|{{zwzzyyxxwvyzwuuzwtrpmE�F`n„}w{zs|rS7-8?IJSLCIY:O[LSSVdxuvuyvvxyyvwvj2J’|zwstptqrtˆNAuyzwyxvzyvwzyz}{yz{zwyzyz}yzzyy{yz{zyz{yv}w{{y}z{||||{y}{{{|~|{|{~|||{|}||}~~~{€~~||}}|}}|}}}{||||||~~}€€~€}€}ƒ‚‚€€€€‚ƒ€€„„„ƒ~~ƒ„ƒƒƒƒ‚„‚ƒ€€€€ƒ‚ƒƒƒƒ€ƒ‚‚‚€€€€„„~„‚€€€€~‚„„ƒ„‚}~~~~€€€€‚„}|…f�[hx|{|~|z€‚‚~„L���M„}}~~~|y[	AŠ~}„„~„‚~€€€€€~‚~V���†€ƒ„†ƒ‡‡……„„„„††„…††††ƒ†…„†ˆ…„‡‡ˆ‡‡‰ˆƒ‡‡…†„„„„……„†‰ˆ„ˆ‡†…„…†††„„„‚………………‡†…„…„…†ˆ‡ˆ‹†…‡ˆ‡‡‡‡ˆ‹Š‰ˆˆ‹‰‰‰ˆˆŽˆŒ‰ˆˆ‡ŠŒx{xxwvzz{z{z{zzywx|v|wyyyvwv€wyzzyxy{{yw{vwy{y{u{{{v{zzz{yz{{zzwyyyyzzzyzvvztvspnH'-*$=|usw‚‹?LŒŠvt{uuvvuuwvwvyyyxtu
+0
:Y’_putxwyxxuoz_*zxyy{zxxyvxyzywvwyzxyyzy{yyyxyy{yy|z{zzwwvw|||}zzz|{{{||~~|{{y{{{|{|~}||{|}}{{~~}}||||}|}~~~{€}|~~~~‚|}€€~}~~}€€~€ƒ‚ƒ„‚„‚€€€‚ƒ‚€‚„‚ƒ‚ƒƒ€~~~€„„„€€„€ƒ‚€‚€‚‚€~ˆ~€€~~~€€€„€~‚€€„€}|Šc�Pˆw~}~~~~‚€W��	I†|~~~}~~ˆ~~~zfDv}~}~}~€€€€€€wW���.€ƒƒƒ„~ƒ…ˆ††…†……„†‡‡………„ƒ…„„…‰ˆ‡†ˆˆˆ†‡†ƒ‡ˆ…‡‡‡‡‡ƒ†‚…ˆˆ‚‰†„††…‡ˆ‰ˆˆ„…„……ˆƒ……„„…ƒŠ‹‡Œ‰‡ˆˆ‡ˆˆˆˆŒˆ‰‹‰‰‹ˆŠ‰‹Œˆ‹‹ŒŒ‹xyyw~|{{zzz||uvwvx{xvxwyxwvxzxxwvvuv||{y{vxvwwwvz{zwwvywy{{zzzzvwy{uxw{vuwvxuvspfT�=yhkgb{?5I‚cmuuuuwvuvuvwuyyywtrRƒ‚{{yxxxvuuuz_txyz{{yyxyyyzyw|}}{{z{zyzzy{x~z|yywz{||zyzy~{z}|yƒzzx{|~}{{{{|{|~}{{zzz|€z~|‚~€~~|~}~~|~~|~|€‚‚{~~‚€~€~€ƒ€€ƒ‚ƒƒ€€€€€€€€€€ƒ}€‚ƒƒƒƒ„€€€ƒƒ„„„‚€€€~€~„„‚‚„‚‚‚‚€‚€€€€€~~~}~€€‚€€ƒ€~‚ƒ‚}‚i#	�MŒ{}}~~x~ƒ€~‹Z��L}{|~|}~~€€~\Invz|~}||||||||€€€†[’[����I!‡~„ƒ„…€ƒ†††††„ƒ„‡………‡„†‚††………†‡„‚‚‡„…‡„„‡€‚„†…†‚„‡„ƒˆ„„‡‡ˆ‡„‰‡‰„„„†‡…ƒƒƒƒ………‰‰‡‡ŠŒŒ‹ˆ‡‡ˆˆ‰‡‹ˆŠŠŠ‹‹‹Œ‰ˆˆˆŒ‰Š‰‹‹‹‹‰xwwvz{zzz~yy{{v€{{{yzzz{y{y{wz{|~}|}|}zyw|vwwww|x|||{|{{{|{|wvy{z{x|z{vzzzuvxzstpg`�	$Avmllgg>�C‹lquvw{vvvvuzvuwzvvq}`xuwyvvvwvvwvp_�1xv{z{z{zyyzyzyxvyyyvvy}y|ywyzyyyy{|zzz|zyxyz|||zzzyyzz{|zyz|z|{z}}}||{{||||{~~‚‚„‚}~€€€|}‚}}€€|~€‚€„{~ƒ~ƒƒ€ƒ~ƒ€€€€€ƒ€‚‚€„„ƒ„€€€€‚ƒƒƒ‚‚ƒ„‚‚€‚„~‚‚†€‚€‚ƒ„€€€€„ƒ}„€‚€€€€€€~ƒ€‚€~„q"�\kw{}€€€~}ƒ~~~\�Hn}€‚ƒƒ„„~}}^/;QozŒ†ŠŽ…‰‘‘‘‘‘•›§e�"ƒ„„……„ƒ„†‡†…†„‡„‡‡‡†‡„‡†‡†……‡†‡‡†…‡†††††‡€‚…ˆˆˆ‡…‡‡†………ˆˆ‡ˆ‰ˆ‰ŠŠˆ‰††…‡ˆˆ„‰‰‹‰ˆ†‹‡‡ˆŠ‹Œ‹Œ‰‰ˆ‰Š‰ŒŽŽˆŒŒ‹‰vz{zzxzzzzyy{{xvwvuspx|{{zx{y}wxvywzx{{wy{yw{yxxz|w|{yxxyxywvxwxzzzzzxwyvwvuvwsrqfc��>…qqmmh@��A}rsutmuvvwvvuutuuuuo†!fuquuutuwxvvqgR?duz{{ywzy{xy{zyƒ…ˆ„‡ˆƒyzzzzywwzvyv||yzyzzyxy{}{{|}}|{{{|~~}|~y|}}}}~|z{}{|}~}€~}~~~€ƒ~~~~}|}€~€~‚€€}‚ƒƒ€€~~~~~ƒƒƒ€€ƒ€€~‚€€„„……~‚…€€€€‚„ƒ€ƒ…‚~~‚„‡‚ƒ‚‚€€„€€‚€~ƒ€€€~‚}€€€‚€t$�]uku‡…~€|~~X�/Zw†‡Š~~€~||iO)O]ksrsssrttzpidd_c]XWVXU�“‚rz|z…y}‚„„†„„€„‚€…„…„ƒƒ………„……†‡†‡‡‡††‡‡†„ˆ…†„‡ƒƒˆ‡ƒ…†‡ˆƒ††‡‡‡ˆˆ…‰‡††‡‡……†ƒƒ…‡‡Š‰ˆ…„ƒ„…‰…†…„…‰ˆŠ‰‡ŒŽˆ‡ˆ‡ˆŠˆˆˆŠŠŒŠzz||zƒyzzzz€z|zxwyu~~z{y}zz{~wxwywzzxx|yzywxzxyz{x}{vy|{{}|z|wwyyy{z~|zzyxzwvvrrij�<sopmghB
+"Drqvwzz{zwvvvvvvvvrq‚ˆ)Fhvq{‹‹Š~ƒ†yuzU	��'Fcvzzyyyxyy}{zzl[QOTNLZrz|zy{}|zxxz}~zy{|}{zz{yywy{y|yz{||~~}~~~~~}~}}}{}}|~}{}||~~~€~|~€€}|~ƒ~~~€‚…~~|‚€€€€~~~€€‚€~„‚ƒ‚‚~€‚……„‚„ƒƒ€ƒ‚ƒ„€ƒ„‚„€€€„…ƒ„~€‚ƒ~ƒ‚€€„€€‰‚‚‚u1�)Š|nlpgs~‹~~ui�,8<@G)=m‚€}~ux~ƒƒ~†O(|ˆ†|~~ƒ†………†„ƒ„†ˆ†ˆ‡†„„……„†„‡‡…‡ˆ‡……†…†„‰†‡‡ˆˆˆƒ‡†‡ƒƒƒ„…††ˆˆ‰†‡‡‡‡Š…ˆˆ‰†…†ˆ„‡‡‰ˆ‡ˆ‰‰…†„‹ŠŠ„”‡‹ŠŒ‹Œˆˆ‹Œ‹‹ˆ’‡ˆ‡‹‰ˆ‹zzyzyxxzzzz{zzyw{{uyyzyyxw{|xyzz|yx{{zx}yvwzzwxy|{x|{{{{{{|z{{wzzyvzzyyzzxv{ywurukl�:kdljbwL�$����!Grmlz{zz~}}x€„ˆ‡€„„…zW8TPbed_a_S[QJGUJGHWMQXcnxy|wzzxyxvuxxo
+xy||}}z{xxy}}~{}}}}}||{{{{xzz~z{x}|}}y}}}|}{|~yz~}||}}|{~{€~€{~}~~‚€}}}}€€€ƒ…~~‚}€€}ƒ‚€ƒ€‚„€ƒƒ€€€ƒ€‚€€‚…„€‚‚ƒ€‚„ƒ‚„ƒ‚„„„ƒƒ‚…„€‚ƒƒƒ€€€€„€‚€„€€€~~~‚„‚‚‚~€ƒ€~‚€€€‚‚‚ƒ‚}r1(*@2S‰}wk%2[ƒ€ƒ€{yzyyvug
���_‚y€€‚‚€‚‚ƒ…„†„„††}‡„†|‡…††‡††‡ƒˆ†‡‡†‡ˆ‡ƒ…„„††‡„„…‡ƒ††……„„…‡‡„ˆˆˆˆˆ„ˆ……‡‡††…„„……ƒ…ˆˆˆ‰ˆ…‡†„‡‡ˆˆ…‡ˆ‹Š‰ˆ‡ˆ‡Œ‹ŽŒŒ‰‰‡†‰‰Š‹‰ŽŒyyˆw{zzxy{{zzzywyz{{}zzw}|}{|{{zxyx||wy{|{|{~y}{{{{{{xvzzyzz|{{zzz|xxyzzzzzzzsttli���:hop?0HPY\QLOJHGGGA@6:75*!,>A\u}€‹„E-#�z‚€†ƒ|uxyy|zyzyxxywwzA7rx{||zxzzz}{{z|}}|z{z|zzzz|z{}y|z||{~z{{||}{€}|{{}}~~{||}||~|~}{~€~~}}}~}}€~‚‚}€€€„}{‚€~}~€~‚€‚„„€ƒ‚~‚€€€ƒ„„„ƒ„€‚‚‚‚‚„€ƒ„‚‚€„„€€‚ƒ‚‚€‚€‚€€„„€€€€~€‚„„„‚‚€~|5�?QŠ}‚~€vq
	)U…~„€€~ysmb{~ƒ„‚ƒ€†ƒ…ƒ†‡‡‡‡ƒ†„‡ƒ„„††‡…‰‡‡†‡‡ˆ…ˆˆ„„ˆˆˆ†‡‡ˆ‡‡†‡†„…ˆ…†‡‰ƒˆ‰Š‰†…‡‡‡ˆ†††ƒŽ…‹ŠŒ†Š‰‰ˆ††‡…Œ…†‡‡ˆˆˆ‹‰ˆŽ‰‰‰‰‡ˆ‹Žˆ‹ˆˆˆ‰Š‹‰Œzvvwu{zzy|wzyy{ywyz|{z}yw}{|x||zxz|z{{xyv{xxz}yww|{z|zxxzzwz{{y|||xwwz{zz{wvvyvuvlkPD:;H@K�#*10248^‚vukkqxjyzg_Q0		&Luhlqp|G��@€vpvzzyyzx}wzy{yz{vw~z

+]€{|zxx}zyz{{|{zz{||z|wyxz{{y|w{z|{||z||{{||}|zz{{~}}{~||~|}z€€~~€~€€~€‚‚€~}z}‚€€€€~|{{~€€ƒ‚ƒƒz€~‚ƒ„ƒ‚~ƒ€€~~~€~ƒƒ€€€‚ƒ‚„‚‚€€€‚ƒƒƒ„€…‚€~ƒƒ€~~‚€ƒ€ƒ~„ƒ„„ƒ‚€|€ƒƒ…ƒƒ„€~ƒ~~5,U‹|}~ws$YŒ}|„~~€}~yukr€€‚€ƒ„…„‡…„„…†ƒ‡………ƒƒ„†‡…†„ƒ………‡‡‡†…†‡…ƒ„…‡‡…ˆ‡„…‡ˆ„ˆ„‡‡…††…‰ˆ‡‡†‚‚…„‡††ˆˆˆ‡‡‰ˆ‡‡‡‡ˆˆˆˆ‰‰ˆŒˆ‰‰ˆ‰ˆ‹ˆˆˆ‹ˆ‰ˆˆ‰‰ˆ‹{{z{||yywxyzwvzxxzwx{zz{{|y|zz{{xyz||{yyw|zx{{{|{|{v|zz{z{z{{|{{z{wwwzz|y{wxv{utuml'j]p|wa1†xjlwrxxxssxsWRrrvrnuP�pxwzvxyx{{zzyy{yyywvqn�
+
`ƒz|yyyz{{zyzvxzzxyyyzzy{y}zzzywy{|z|{{|~|||{y}}|{~€|||~}||~~{€y~z}€}~}€~‚|~}~~~€~€€}€„ƒ|ƒƒ„‚‚‚€‚~€ƒ~€€ƒ‚€‚ƒ„„ƒ€‚‚‚€‚‚€~}}~‚~~ƒ€€}€€€€€€€€€~€~€‚‚ƒ„€8�	�P…}~}}zu \Šv|€€~~|{~sx
+"fm{~~€€ƒƒƒ‚ƒƒ……„‡€…„…„†„„‡…ƒ„„ƒ…ˆ…‡„………†‡‡†…†……‡‰ˆˆ†‡‡……„„†ˆ‰ƒ………ƒ…†ˆƒˆ‰‹†„‡ƒ‰…ˆ†‡‰‰‡……‡ˆ‡‡…‡‰‡‰‹‡‰‰‡ˆ‹ŠŠŠ‡ˆ‰‰‡ŽŒzz{}{zyzwuyxy{{y{z‚w~|x}~}x{zyzzzzw}|xzxxz}||z{|~}{{|||yxxwwx|{|{yvvvvw{zzxxvvuuukj*
+ZgfjfiW	�$1|kpqollqplmopfN{wvyuxR�tszzzzzx{||{{|zyxyxulˆ#WŒ{|~}wx{~{zzzv{{zzzy~|y{{zyz{z}zywzwy{|~~}}}}}||€€{~}{~}}}||€~}|€€€‚|€~~€ƒ~}~€~}~€€€€~ƒ€€€‚€„€ƒƒ€€€„€~ƒ€€~€„„€€€ƒƒ„ƒ„ƒ…€‚€…ƒ„ƒ‚‚€€€ƒ„}€‚‚‚€~‚€€€‚ƒ€€€€‚€€€~€ƒ€~€†„ƒ‚‚‚…‚<�Ko}~}}{w&b‡e~}~€~xoˆ"������������� 
+Yzpz•Œ~~„„„ƒ……€ƒ……„„…………‚…†…††‡†„…ƒ…ˆ‡……††‡†ˆˆ‡……†‡………‰‡‡ˆ„…‡††…‡†……‡Š‡Š……„ˆ…‡ˆˆ‰‡‡‡…ˆ†ŒˆˆŒˆŠŒˆŠŽ‰ˆ‡‡‡ŠˆŒˆ‹ˆ‰‡Š‰‰ˆˆ‰‰ŠŠ{|yz|zwy{{{|z{zyz{xy|~{{~~{|{||}yzw{zxyywxy|||y{{|y{{||~wz{{x{{}z{wvvz{zy{wxvvuvrkg0(Rvmvjj`�	'|oqrsqqruuvpvo��HŽvwvvvZvlwyxzxzywvxwvyzyxuqާ	>Rƒyyyyyyyz{z|zzzzz}zz||z~z}z{{{~{z{y}{|€€€{z~{~~}}~~€~||~|||}}}|€}}~|€||}}€}~}€}~~{~~€}}€€ƒ~ƒƒ€„€€€€~}}}~€€‚‚€€€‚€€„„ƒ„‚‚„„ƒ„„„ƒ‚‚‚„€ƒ„ƒ€‚€‚€€€€ƒ€‚€€€‚€‚€‚€ƒƒ€?�GŠ|~}{y%�����������������Z—”„Š“““ŠŠŠŒ€ƒŒ…-�����		(%010277@@KOQQQIOn€ƒƒƒ…†‹…†„‡†………††ƒ†‡††…ˆ‡…‡‹‰‹‡‡†‡ˆˆ‡……„„…‡…‡…‡„‰…ˆ………††‡…Œ‹‹……‡‰…†ŠŠ‰Š‰‰…Іއˆ‡‡ˆˆŠˆ‰ˆ‰‰ŠŒŽˆ‰‹…‹Š‹‹‹‰‰‰Šz{ywuuxzyyzz|{zzz{zxw{|z~|zzxxx{w{y{yyyxwww{||yz{{{}||||yz{{zy{{|zyxw{|{yzwyvtvusmn4-Wnrtkgm
*{rrruwvvuuvqjsF‰wwvtwN-t`}‚’†…‰†Œ‰ŒƒˆŠŠ…†sh=
c€vyxyz~w|z~|{zxyx}zz||z{y{|z|{~|{zw~~|~~}~{{~}}~~}}~€}|}}}{~~|||}~}}€€€€}}~~€€€€|€€~‚€‚~}„ƒ„€~€~ƒ€€€ƒ‚‚€€€‚€„ƒ…„€‚‚ƒ„„„„‚ƒ‚„€„ƒ„€€‚€}ƒƒ€€~€‚€‚‚„€ƒ‚‚}€ƒƒ€€‚ƒŠ?D„}~~~{€2
'#($+!7Od^^UQRZZ_SQQUKRJLVJJ[\X\gh|~~	K‡€vmsu{rxz{|„…€{|y‚L&,<J]ƒ…„ƒ„€€…†††……„…††ˆˆ‡†‡†ˆ‡‡ˆ†…‡‰ˆ‡†‡ˆˆ‰‡…………ƒƒ„††………†ˆ…„„†‡‡…„‚‚‚„‡ˆ…†Œˆ…„…††‰ˆ…‡…†ˆˆˆ‰‰Š‰‰‰ŒŒŠˆ‹‰‰†‡‰‰ˆ‰‰‰‰ˆz{y|x}{{w‚xy|~vyyzxxx~||{{yy{~}}}~}~wxxx|}{{||{|{y{|z{z|{{{|y{y|z{{{{{zzxzwywuvyrmk9�-Xcxula{''%qqquwvwvwvvqjq7����BŽwyvvvU+�7f[MJLIC>;9004)'&()0H †„ˆ‡~zwz}yv{xyyz|||{{y~}}{|z{z{|}z}|}{v}~~~}~~~~~€€|}}€€|{|~|‚ƒ€|}}}~}€}€‚~~~~~€ƒ}€€€€~‚€€ƒƒ„}‚ƒ„€€€€€‚ƒ‚€‚ƒ‚‚€~€€€€ƒ„‚„‚€€‚ƒ„‡€~‚€€€€‚ƒ€‚‚€€‚‚‚‚‚‚‚€€‚ƒ‚‚€„……~€‚}‚C	@}}€}}0�.l‡ƒ€ƒ‚ƒƒ|{‰o�$~‡”‹Š}}~~og„7Œ~rv‚ƒ~„€€}}~~~~{|sJ/YŠ}„……ƒ„„„ƒˆ…‡…‰„‰‡ˆ‡†‡ˆ†‰‹Š†‹†‡‡‰‡ˆ‡‡‡ˆ‡‡ˆ‰†………„„……„……†‡‡‡ˆ‡‡ƒ……†…‰…ˆƒˆˆˆˆŒ…ˆ‡‹Œ†‡‡‹ˆŽ‰Œ‡‰ˆŒˆŠŠ‰‰ˆŒŒ‹ŒŽ‰‰‡ˆ‰‰‡‹{zzzwwwywwy{z|zyzzxzz}{}{{~}}|y~wuw}wxz{}||~xzx|{{{y{||{{z{{zxzzzzw{z{z{yzvxzuvwumq8�"\Xbeqw†3���(jqswwywvwvqqnfO9.#-+"@wvuvvj`TQdrs…�
+�
p‚nuyyz{{{z{zy{zyxxxyz|{zyxy|z~~{}€~z{|z|}x{|{€}z}{|~€€}€~{€}~~~}€€€~}||||}€€}~~~}~{‚~}}|~€~€€€‚€‚€€ƒ„‚€€‚€‚‚„€ƒ„€‚€ƒ€„„€€‚ƒ~‚‚€€ƒƒ€‚‚‚‚€€€ƒ€€€€‚‚‚€~ƒ~}~€ƒ€ƒ€€€~ƒ|€ƒI<†}‚‚z4/–vu}zzzyyzyvtpŠ��>…~uz~~~}~}~}svS{qz}~}|}‚~~~~~}y‚L
�j„~„„„€€ƒ†…‡…†‡Š†‡†‡‡ˆˆˆ…†‡ˆ‡ˆ†‡‡ˆ†…ƒˆ‡††‡‡„†‡ˆ†……‡‡„…ƒ†‚‡ˆˆ„„……†ˆ……„‰‡†ˆ‡†ˆˆ†…‡ˆ‡†‹‰‰ˆ‹ˆ‡‰‰‰‰‰ˆ‰ˆ‰Šˆ‰‡‡ŠŠ‰ˆ‰Šˆ‹{{yywvv{wy|~z{x‚zzwz{}z~zwzy{}{}{|x~w{z{|{|{||zyz|z|y}|}y{{|ywz}{{{{zzzzyywywvvzuoo<�9ddUOB:;<=BOQX"rqvxvvxwyuyppkfjrz~ƒ…Š‹‹}qe-�?wyyyvuxƒ„ˆj`Š�ruwzyyzzxyz{zzxxz|x{yx}{y{zzzy}}}}||yz|{}}z{|{z{~ƒ}€}}}€||}{}~€{~|}€€€~}~~~|}€€~~~|z}~~‚€}€€€‚ƒ„ƒ‚ƒƒ€~€€‚€€€€ƒ€€€~€ƒ€‚~„‚ƒ„‚‚‚‚‚€}~}ƒ€€‚€€~„ƒ|„‚ƒƒ€‚‚ƒ‚ƒƒƒ|€€M8…{‚€‚}6/…ux}~~~~~~~|uŠ&w€x~}}€‚€€{x_l~~}€~~|{‚}‡‚‚‚ƒ}‚€|•Q��Uƒ~‚ƒƒ‚ƒ†ˆƒ…„‡†‡…‰ˆ‰…Їˆ‡ˆ‡ˆ‡ˆ†……ˆ†‡‡‡‡††Œˆ……„„‚ˆˆˆˆˆ‰…†††ƒ‡ˆŠ‹‹‰ˆˆ‰ŠŠƒˆˆŠ…‰ŠŠ‡Š„†‰‰‹Ž‡‡‹‰‡ˆ‰ˆŽˆˆˆˆ‡†‡†‰ˆ‰‰‰‰‰ˆŒzz{xwwwwvuw{{{vwx|xwx|z|{{yxwyy}w|ywwxy|||}zzz||{zy|y{|{x||zwwzzzz|{{zzzzv{zwvuwuovB�@…{rb\]#%gqvxurwwuuxuqrpppqpqrtqqqqge@?‡wwvxzwuvvvvj„+
+j€yyzy{y~|}{zyzz~zz{y{~yxy~{zz}~~{z|}{zy~~}{|{~}€}}|z{~‚~}}}€{}~~{|}}~~}|~€€|€~}||||}~€€}~‚€ƒ€€‚€€„ƒƒƒƒ€~„€…€ƒ€‚‚‚€~‚€‚€ƒ‚€„€‚ƒ‚‚€~€€€‚|„€ƒ‚€‚€‚‚€‚}„€„ƒ€‚~‚„ƒ}~€S7„|‚€~80|~~~}~|~~~|ƒ4hŠ||‚€~€}QcŒ~~||}|‚€|{~~€‚€”U"T‡„€‚„†€„†‡‡‡‡Š‡†††ˆ‡‡‡‡ˆ‡…††‡‡‡‡‡‡‡†ˆˆ‰…ˆ………ˆ‡ˆˆ†„‡‡…………‰‰‡‰ˆˆ…ˆˆ‡„‡ˆ‡……†‡ˆ‡††ŠŠŒŠ‡††…‡‰‰ˆ‹Œˆ‡ˆŠ‰‡ˆ‡‡†‡†ˆˆŠŠˆŽzz{wwxwwvvx{z{xxz|xyxzz{{~yyxxy{xxz{zv}{{{|y|||zzz|y{{{w{zzzzz{{~yzy{yyzyyzwyvtrqrI
+;R€`gliZ+jqxwwwzvvvyusuvuwwxyywvwvton<;…vvwxyywvvyyv}0m|w{yyyzyz{zz|yzy{z{zyyxxyy{{}|}zyzz{}{{||{||}{€}z}}||~~~|{{}|~~}|}}{}~~~{{~~}~|~}}|{€||{~~€}}‚€€€€€€€ƒ‚‚€€€€€€€‚€}|||{€€€€€€„‚€~~~„€~~}€€ƒ~€€ƒ‚ƒƒ‚‚€€~‚€€€€€€€}}}c6|w~}}{„91{€€€ƒ~}ƒ€8iy{€~|}€‚‚}ˆS,=Z•ky€~~~~~~~~€~~‚€C::M‡~€‚ƒ……†€…†‡„Šˆ‹‡Š†‡‡‹‡‡ˆŠ‡‡‡ˆˆˆ‡‡‡ˆ‡ˆ†…‡„ˆ……‡ˆ…†ˆƒ………‚„†…‡‹‡‰…†ˆˆ†‹…‡…‡ˆ‹ˆ‡††ˆˆˆ‹ˆ†‰„Œ‹‹‰‰ˆˆŒˆ‹†‡‡ˆ†‰ˆˆ‡‹‹‹‹{{zyvvwvwwywxzwxzzzwyxxxxzyxz{ywz{{}}yy~zywzz||zy{zyy{wxw{zzzz{zxyxz{{vz{yvvwxztsqoUGyprrhj4
_twwvvwvuuvqqwvutryvvwyjywr€@6…zwyxyy{vvy{z~9A{~py}{}|{z~yzzzz||{{|y|}|y~}}}|z|{|y}}{z{}{z}||}z}~}{|€}||‚{}}~}~~~}|€‚€}~{}€~€€~€€{}||}€€€€}‚€~~€€€€€‚„‚€~€€‚ƒ€„€€€ƒƒ‚‚‚€€€‚€€‚‚€‚„‚‚€„ƒ‚ƒ‚„~€ƒ‚~‚‚‚ƒ€ƒƒ€€€€€‚~}„b#,Šqz|w„;+|~~~~~‚ƒ‡<jzu|†‚‚~|€ƒ…[F™Ž‚„„„‰ŒŒŒ‘Œ…„~€€ŽZL5
0/H€€…ƒ‡…„†€ƒ„††ƒˆˆ†††…†‡‰‡ˆˆ‰‡‡ˆ‡ƒ‡‰†…‡‡††„‡‡‡………‡…ƒ†„ƒƒƒ……†……ЇЅ…‡…ˆ††……†‡†‰ˆ‡Œ†‰ˆˆŒ‰‰†…ˆŠŠ‰‰Š‰‰‰††ˆ‰Š‡‰ˆ‡‡‡ˆŠ‰Š{{{{wwwxy{{{wyvzzzxyyz{{{yyxyv}|~y~}x{}|||{{|{|zzyyz{{||~w{{|{zwz{zzzz|xywzyyyxrpg]Fopqrew:Wxvvsvyvyvvuvvtuwsvuvuzz{vurL3‹wyyzyzzvy{zyxG
�����������Z—–††…yyz}zz|{z{}{{zx{||z}}|y}}}z{{}}}}{~{}|~~~|||}}~~}{{{}~{~€}~|€~~||~~~|}€€€€~|||€~|€}€}~€~€‚€~€€€€€‚€‚€‚‚€„€‚€€€€„†€~‚‚ƒ„ƒ‚€€ƒƒ}{}€„}€…‚‚‚‚‚‚€‚€€€€€€€ƒ~€i�¡’rsx…I~{~~}~‚€~„~‚‚€…B
+�>’Šxvu~}~€€jTJ@847<DR[XYZ_URPPNRRUc~~s[\rnotrt~€€…„…†…†…„„†„…ƒ………„†…‡†ˆˆ‰‡‰‡ˆˆ‡‰‰‡ˆ‡†ˆ…‡…‡‡‡‡……‚„ƒ…‡‡‡‰††…ˆ‰‰‰Š…‡„††‰†‘„ˆˆ‡‡†…‹ˆ‹Š‰ˆˆ‰‹‹‰‰ˆˆ‡’‰‹†‰‰‰‡ˆ‡ˆˆ‰‰‹‹{wwxww{x}{{{zzv{{z{yyy{{|{{|xww}y|y|yw{vy|}yxz{||wy{{zzwyw{{{{z{{{|xz{z{{{{zzyvpqg\�'JnmoqbdPS|uvvvuwtuuvwvurtsuvuvyxwvvsX�1‹wwzxzzzz{zyxpT7
+'")12378>>A@?@>68+ Yƒ{~|z|~z|}z{|zyz|~|y}~}}}}}|{~~}}{}~}}~~|~~}}|~|||{ƒ~~~|~}}€}€}}}|}~€~}|}|~€}}€}‚~|}~€~{‚~‚€~~€€€~€€ƒ‚€€‚€€€€‚‚€€‚ƒƒƒ€‚ƒ‚€~‚€€€€‚ƒ€‚„€€‚€€„~‚‚ƒ‚€~ƒƒ‚€€€ƒ„€}b*.231@btiimykM|z~z}~ƒ‚€€~ƒ€…BEtugrygD�&$Yp€ƒ€yus…~„§J
(*"m€…~ƒ€„ƒ}}yzz~€€€‡…„„„…††…„„‚ƒ„†‡„†‡ˆ‡‡ˆ†††‡‡Šˆ‡ˆˆˆˆ‡ˆˆ†…‰ˆ‰ˆ‡†…ƒƒ†‡…†‰ˆ‡ˆˆ‡†…ˆ…†…„†ˆ†‡‡Š‰‰‡†ˆ…‡ˆ‰Š‰‰ˆŠŠ‹‹‰ˆˆ…ˆˆ‡…ˆ†ˆ‡…ˆ‰‰‹‰‰‰‰xyxywv{xyzxzzz{}{{yzzzzzxxy{wyz{{{||{zvz{x{zy{{{~~~{}{|||||||{|{}|}|zzz{{zzyxxwstgf��&Pzfh{tTaP{vvpvrqx~‚‚Š}vwvvuvu{vvvvog�!‰vwvuzww{zyz{tgXQivpxL$aczŠ…„†Ž‡ˆƒƒ”œD" Š{z||~{}|z|{zz{z{{z}}{xwzy{||}}|~~~}|||~~~{}|||}|}€}~}}{{~~‚€~||~~}}}|{}~|€}{}}||}~~~~~}€}€€~~~€€€„‚€„€~€‚€€„€ƒ€€€€€€‚ƒ‚„€€€€‚‚€‚‚€ƒ€‚‚‚ƒ€ƒƒ€‚ƒƒ€~ƒƒ~~g�
+w‚rx…Š–v
�u~~~~~~~€ƒ€€€€ƒI*‰‹tr€šS Je‡€ƒ„€ƒyg›M*3s~ƒƒƒ…€~~~€ƒ…€„†„†ƒ‡††‡‡„ƒ„†‡‡‡‡†ˆ‡‡‡‡†‹‡…‰ˆ‡ˆˆ‰‡‡‡ˆˆ‡‡ˆˆ‰†‡ˆ‰…‰ˆŠ‰‰‡ˆ‡‡…††Š…‡…ˆ…‰‡ŠŒŒ’…ŠˆŠ‰‡ˆ‰Œˆ‡‹Œ‹‹‹ŒŽˆ‹…†ˆˆ†‰ˆˆˆ‰‰ˆ‰‰y{{yxy{wyxvuwzzyyyyzxyyxxxyz{}{{zzzyzyxyw{|xxy{z~||~||x|{z{|xz{|z|zy{zzxvvwwwwwwurj_
"(8IP^heZPD	LtuwuunbQJGA2Aarwvvwwuvvvuvvj‡vwvv{zvzyy{{utwsrkcan+—potuuwwuuyqYŽH>
!Šyz|~~{~{}}{xzz}zz{~{|{{||{~{}{{}~~}{||~}|{|}~~~~}€|}}{|}~€€~€}|~€}~}}|€||€}{~|}||}|}}~~€}~€ƒ~„~€€€ƒ„€}~€€‚€‚ƒ„ƒ€‚ƒƒ€~ƒ€~…}€ƒ‚‚‚€ƒ€ƒ€~~~~‚‚€€~€‚€‚ƒƒ€„‚~€}n�Ybowyts!s}}}€~€€‚€}O2ƒnv{yt‡Y3a…‚ƒƒƒ€}~€€~{€Q#€„†€~}~€„„ƒƒ„…†„††ˆ‡†……††‡†……‚ƒ…†‡‡ˆˆ…‰ˆ‡‰„‡‡‡‡‡‡‰ˆˆˆˆˆˆ„ƒ„†ˆŠ†ˆ…Љ‡„„‰ˆ‡‡…‡†‹ˆ‹…Œ‡‡†‹ˆˆˆˆˆ‰ˆˆ‹ŒˆˆˆŒŽŒ‡…†ˆ„†ˆŠ†‡ˆ‰ŒŠ‰‰wxxz{{yxx|wyz{{zyzxz{|ywxzxzxxwxwyz}z|xxw}{yzw{{z{|~|||}z{y{{|{}{~yzz|xvu{{{wyyywukd
s~pmv}OJwtuvvjO:	.Swvvvwyuwuzvwrfƒvz{z{|{|{{zzw{zxvuqkg� ‚ruyzz{zz{zvp€H'„y{}~~}~~~~~{|{x{|zy{|{{|}}}}z{|{{|~|{{}~~~}}~~}~~}€~}~}}~€~~}}|}~~~|{}}}{|~€~|~}|~~|~~}€}~~~~}}€€~ƒ‚€~~€€€€‚„ƒ‚~‚ƒ€€€€‚€ƒƒ~ƒƒƒ…‡‚€~~€ƒ„~€‚€€€€„‚€‚…~€ƒ€€~‚‚ƒƒ‚‚ƒ€€€~sVpy{~‚x…5�i‚{}~~ƒƒ}€ƒ‚}„K/qt{|{xŠT�f‚†‚€ƒ†€Š€ƒ}ƒZ|z~‚ƒ…„†„ƒƒƒ…††……„„†………ˆ†‡…†…ƒ‡†…ˆ‡ˆƒŽ…‡‡‡†‡‡ˆ…ˆ‡ˆˆˆ‡‰ˆ‡ˆ‰ˆ‡ˆ‰‰‹ƒ‡‰Š‡ˆˆ‰ˆˆ†……†…†‡ˆ†Š‹‹„Œ…†ˆ‹‡‡ˆŠ‰Šˆ‰‹‹‰ˆ‡ŽŽ‹‹‰ˆ‰‰ˆ…‰‡ˆˆ‰‰‹‰‹wxwvxwwwwvvyz|{zzyxxy~{wxyx}yxy|yy{zzyxzxwwz}zzz{w~|||~}||y{|{{}{zyzwvwyuuxwxzxzvsm[�p[fmkoZ
+H|ruvvgL(+Gwuvw{wvwvrvxs_‚v{r{z{{{wz{yz|yxvuuuf�"vwyz{{{{{zxyzK�2‰yz|}}zzzz{~|}}}{z}zzwz|{|~|x}{zz{}|z{|y}~~~}~~~~~}|}~~~}}~}|}€~‚}~|~€~||}|}}}~~|€~}‚€~‚€€}€‚‚„ƒƒ~~‚~€„ƒ„ƒ‚‚€‚ƒ€‚€€€€ƒ‚€‚ƒ‚„ƒ‚ƒ„ƒ€ƒ‚‚‚€~€‚…ƒ‚„„„ƒ„~„„‚‚‚‚ƒ€‚}€…‚€€{v"X‹~~~{ƒ8oz|}~ƒ‚€}–W!p‚|}~‰X gt€ƒ‚„ƒ‚ƒ~‚…[x|~€~~ƒ…„‚………‡…ƒ…„„††…„‡‡‡„ƒƒƒ‡…†††…ƒ„†‡‡‡‡ˆ‡†„……†…ˆˆ†‰†‡‡…‡ˆŠ‡‡……‡‰‰‰Š‡…„‡ƒ„…†‹‹‰Š†Š…Ї‡‡‰‡ˆ‡‹ˆŠˆˆ‰‹Š‹ˆˆŒ‰‹ˆ‹‰††…ŠŠ‰‡‰‰‰ˆ‰xwuvuyyyyzzzz|zzz{zzw{yzyzz{yyw{wxyywwwzyxx{yvwx|x|y|||||||}z{{|y{{~xvw||z|{yzz{utlf'#hfopnj\
AzutvqkN
Eqvvvvwxvvwyyri	{r{zzzz{yzzyz{~yyzzvye0}}wzzz{|z{zzv‚K��<~{zyz}}~~~}}{{|{{{{|z}|{{}zyz{{{z}~{}{|{{|}}}~}}~~~€|}}~|}~}|‚~|}}}}~~€~~}}{~|}~~{€|€~€€‚‚‚|€‚~€€„ƒƒ€€€€‚€ƒƒ„€€€€‚€‚€‚‚€‚„‚ƒ‚€€€€ƒƒƒ€‚€ƒƒ„‚‚ƒ„„ƒ‚‚‚‚†‚‚‚‚}‚‚ƒƒƒ€„‚|y	C}}€}z{>i}w}€€yrUs~‚~…[5	+an{ƒƒ„„‡‚„‚~aU‰w~‰‹ˆ‚ƒ’„Œ‡~‚†„ƒƒ‡…„„…„‡…‡……„……„„†„„…†…ˆ‡‡‡ˆ‡ˆ‡ˆ…‰‡‡‡‡ˆˆ„…„‡‡‰„‹†‡…Љˆˆˆ…†ˆ‰‰ˆ…ˆŒˆŒ…‰†‹ˆ‡ˆ‰†‹‡ŒˆŠ‹‹†ˆ‡ˆ‰‰ˆˆ‰Šˆ‡ˆ‰‡‡ˆŠ‰‰ˆŠ‰Œ‰‰wzyvuuwwuyzyvy{zw{zxww{{z{zyxwwvwvwwxz}{}yy{xxy{|x|{||z{v{|xxz{~|||{yuyzzy{|zzzzrql_*�
+,dxrorpg
;…quusdf�	Byorvvvwvvyprrqzpuxywyzy{vzz||yyyywul"}}vz{z{|{|z{w‰Q=7A{y{y{|}}zy}|~|{~~|||||~{~x{z{}~}}}||||||}{€}~{~}{~€}}€}|‚~|~€|€|~|}}}}}~}‚~~~~~~~{ƒ€ƒ~€€~~~}€€‚„}€„…„„„ƒ€€€ƒ~€€€€€€€‚‚ƒ€~‚‚„~‚†…€‚ƒ‚„€~„€‚ƒ‚€ƒ‚„‚ƒ‚~€…‚‚‚‚‚‚ƒ‚€€ƒƒ}€"
+<ut~}u~A%�-^‘mx}~€€€ƒ‡…yfem~‚€€~c48	&]|zŒ’‹Šƒƒƒ‚„€k
+
W’ˆxuvqvuxttokep}„…‚‡€‚…„…†‡…††………‡…„ƒ„„†‰ˆ‰ˆ†‡ˆ‡‡…„„‰ˆ‡‡‰„‡…ˆˆ‰…††…†ˆ‰‰‰‰††‰‰ŠŠ†ˆ„‰‡‡†‰ˆ‹ˆˆ……†Œˆˆˆˆ‰ˆ†ˆˆ‰‰ˆˆˆ‰‹ˆ‡ŠŠ‡†ˆ‹ˆˆ…‡ˆ‡ˆˆˆˆxyvvuvw{tzyxxxyzw{zywxxzxyyzw‚wzx}{zxy~}zxy|xz{{{|{w}|z{|zyyxw{|{{zyyvwwxz|zyxzzusmb1
+,mutrtlg9kpsyaf=B†gnwvvvvvwrn…‹€‹oryzwxzyvzzy{y{yyvwt|}wy{}z~~y|w€a=CJOSuzz}{{z}{||z}}~~||~|}~}}|x}}|}||~~}~}}~}||||||€~~€€€}~~|{}}}}}~~|}}}~~€~}}~}~€~€~|~~€€}‚€ƒ‚‚€€‚~€‚‚„~€‚ƒƒ€€€‚‚€‚€ƒ‚‚‚‚…€ƒ…„…€‚€‚‚‚ƒ‚‚€‚ƒ€€€‚‚ƒ€…‚‚ƒ‚‚„‚‚‚ƒ€‚‚ƒ}Š(4i{w’xu…H(#G ”„‰…………„~}pk„~e}‚‚‚„o6!>:;8::>?A>AHHGIJPPQBWyƒ„†„€rkjfhl‚o@,%%%Yy‚†…‡ƒ„„„††‡‡…†ˆ‡‡ˆˆ‡‡‡‰†ˆ‡‡…‡‡‡‡†‚ˆˆ‰‰‹‡‰‰Š…‡‡ˆˆˆ…‹‡„…††††ˆˆ‡ˆŠ†Š†ˆ‡‰Š‰‰‹ŒŒˆŠ‹ŒŒ‡‰ˆŽ‰ŠŠ‰ˆ‹ˆ‡‰‰ˆ‡ˆ‰ˆŠ„‹ˆ‡‡ˆ‰‰z{xwvvwvvxzyyvwzzz{zwxwzxyywyxy||zzz|{}|zw{|y{||yzzx€||{{xuz{z{zxzzz{{zz{{w{wzvxxspe6
+%gpsrqrj0egwsfdL
Ewy€€„„ƒ€raH�^—‰‚{kfnzyyyyyxzxxxyty� vyz{z{yyzz}yxx‰€~wzy|zz{|zz|z|~~}{~}}~~€‚|~}{~{ƒ~~}|}z~}}}}~z}}€{€€€}€~}~‚}}|~{‚{{|}{~}€‚€~€ƒ~~~~€ƒ‚‚‚‚~}}~€‚€}„‚‚‚~„}‚€‚ƒ€~„€‚‚ƒ†………†…„„ƒ}ƒ‚…ƒ‚ƒ€ƒƒ€€€‚„…ƒƒ„‚€€‚€€€„~ƒ~ƒ~~€ƒƒ~‚„}~3"5FSJGJONWUc`iee`e`WeqUG95+5+.+/*-141)V‚‚€‚ƒ~xys|€ˆˆ„ŠŽcH)**@+x‚„…‡ƒ‚~z~‚€ƒ£D	Iƒ€‚„‡…ƒ‚ƒ‡†ˆ…………‡ƒ†‡†††‡Š†„†‡‰†……ˆ†…„………ˆˆˆ………†‡ˆˆˆ†ˆ…‚„…‰…‡‰‰„‡‡ˆˆ‡†‡‡†ˆ‹‰ˆ‡‡‡ˆˆˆ‰‡†‡ˆˆˆ‹‰‡ˆ‰‰‰‹‰‰‰‡‡‡‡…†…Šˆ‰ˆˆ†‡z|zyxvyxxyz{xuvzzz{|yyyxz{zzyyw{z{yz{|}~~}xzy}||||xyyz{{{yv|||{zz{zz{{y|{zw|xzwuxumg8Zstrrok��0@k^YWI@;87:@CIHHFDA?>>:::90! 	[yz{z{{|zzxyxxs#k€x{z{{zy|z~xyzyxyxzzzzzz{{~~}{~}~~~~}}|y}}~|€}{~}}}}}}z|}~~|}~}}€}}}}}~€}}€~|~|{~z‚}|~~{|}~€€‚€~~~‚}~~}}€€€~}~}~~€}~€€ƒƒ€~€~€„€~ƒƒ€€€‚„…ƒƒ„€‚ƒ€€€ƒ…ƒƒ€€‚€€‚…€ƒƒƒƒ‚‚~…‚‚‚„ƒƒ€€~|}€„„„~0!U{lr‡………„‰„ƒ‘ G�T„‚€€ƒƒ~}}~ƒ~€}{~?
+#7fƒƒƒ„…„‚‚{s™g<‡~„‡‡ˆƒ„…††††…†…†‡†…†ˆˆ‡„†ˆˆ‡…„‡‰‡‡„‡‡ˆ‡‰‚„ƒ…„……‰…„††…ˆ‡‹‡Šˆ…ˆ‡…‰ˆˆ…‡††ŠŒ‡ˆ‡‹‹Œ‡‰Š‹‹ˆˆˆ‰‡‰ˆŒ‡‰ˆ‡‡‰†ˆ…‰ˆˆ‰‰‡†{zw|{zzwwzzyxxvy{{ywxyww|zzzzxwzxxzzw~z{wwyz{~||~|yx|yzy|{v|y{|ywvwww{zy{yz{uvvvyvng9�T|tusod'���7[‚|w~‰V���1Nzz{z{v|zz{zwxymzx{z~{|zwyy{zzyyyxy}|~v}~}}}~z|{x{}}}z}|}}~|}}}||~~~|z|~}}{~~~{€|~}}~}}~~~~€}€~}{}|‚‚€}~€~}{|~€‚ƒ€~}€{~~€}}~}~~ƒ€~~€€€€‚~„„ƒ‚ƒ‚€€„€ƒ€€ƒƒ„ƒ„„‚ƒ‚„€ƒƒ‚ƒƒ‚€‚‚‚‚„‚„„‚†ƒ€€€„…ƒ€€€€ƒ€€€~…€0	#Qvw{~}~}}}~yoJ�]„€€€€~~}|~}{z|}~~‚}‹C/^Šƒ„„‚‚ƒƒ‚…ƒƒƒŠX
�~}†…„ƒ…††††„‚†„‡†„„‚„‰ˆˆ†…‡‡ˆˆˆ‡ˆ„‡ˆ‡†……ƒ‚„‚‚…†ˆ‡†ˆ‡ˆ‰‹†‰ˆ‰Šˆ†ˆˆ‰……‡‡Š‰‡‡ˆ‡‡‰†‰‰Šˆ‡‰Š‰†ˆ‹‹‹‹ˆŒ‡‰ˆ†…ˆ‰‰„‰‰‰‰ˆ‰ˆyy{{zxxyyyxx{}vy{zwww{zyzzzyzyw~y{xxwˆy|vxy~y~~}|||wwzyx{{v|uxy{|}{zv|{{zzyzxwvyxuqk<�Q{tqqko+�
+|vlhfb8FŽy{zzz{zz{|vu{�]ˆy{zz~z|zzzxzzyy|}}}{y}zz}}}{{}|~}{{}}}}{~~}}}||}~~}}}}~|{|{|~}}{||€}~}€|}}€~~|€|{{~~|}|}~~|}€}}}~~}}€~~}‚~€€€€~€€€}}€€€~€€~€„€…€ƒ€€€‚ƒ€€ƒ€‚‚€‚‚ƒƒ„„„€€€€€‚ƒ€€‚‚€‚€€€€‚„ƒ†‚‚‚ƒ€€†‚‚‚€~}~€€ƒƒ‚„„‡€…†1
+Oy}~€~€ƒ€~x‡K
+	]ƒ€€€…‚ƒƒ„€ƒ‚~‚‚JeŽ‚„„‚€„„††‡ƒ‚„W�,‚x‚…„„ƒ†……††…†…‡„††ˆ‰‚ƒ‡Š‰Œ„††‡ˆˆ‡ˆ‡ˆ†‡……‚……„‡†……‡ˆ‰Š‹ˆŒ‹Š‹†ˆ‰Š‹ˆ‰…‰‰‰ˆ‡†‡‡‡„ˆ‡ˆˆ‹ŠŒ‰ˆˆŠŠ‰‰ˆˆˆŒ‡‰‰ˆ„ˆ‰Š‡‰Š‹ˆˆˆˆ|vwzwvwwxwwy{zwv{xtuwwxyzyz{vxxxxyyyyxwvxywzwzxvxz}yy{z{{zv{vvvw||xyvuvxzz{zwxxuwutmI�#Rwutolr.��xnqsmks@‡vzvzy|{z{zuzx*[v{zz{{zzzzzzw||z{}z{|{|~}€}~|z}}{~}‚~}}~~}}}~|}}}|}~~z|~|z~~|€~€||{{|~~}}~~{‚~~€€‚}}‚}€}~|~~~~|~}}{€~~~~€€}~~‚€€€~~~€‚€€‚€~€€€ƒ~‚„ƒ‚€‚ƒ€€€ƒ„„ƒ‚ƒ„ƒƒƒ…€ƒ€‚‚‚‚€€‚„…ƒƒ€„€€€‚‚ƒƒ‚ƒ„„ƒ€„‚ƒƒƒ‚€}…‡9	Kˆ|~~‚‚€t„s€}†Q�Qˆ€„€€€„‚‚‚‚‚€‚ƒƒƒ‚‚‚ŒP	mˆ‚„…ƒƒƒ„ƒ„„ƒ|g)�!5…s‚„„…„……‡††……„†„ƒ…ˆ†ˆ‡‚ƒ‡†‡†ˆ‡‡ˆˆ†„ˆ……„„„ƒƒ‚……‡‡‡……‡…ˆ‰Šˆ‰‰ˆŠˆ…„…‡‡„‡‹…‰‡‡ˆ‡ˆˆ„‡ˆˆˆˆŠ‰‰ˆ‡‡‰ˆ‡‰ˆˆˆ‰ˆˆˆ‡…‰‰‰‰‰‡‡ˆˆˆˆvvvxuww{xwv|{yxy{wtyyxyxzz{|zxz}|~}}ywvwwzw~{zyyxyxywwy|{{{|zz{y{|zz{|{zy|z{{zwuuurjR�Touurjx2,snrrph}�@…qz{{{{z{zyww&
++Wlwyyyz{yyyzzzz{{{zyz|zy|{~~€|}}}}}~}}}}}}}}~}}}}|{|}{}}~~~‚€}|}}}~ƒ~|‚~~~~~€‚€€~}~}}~{|}|}}~}€€~‚~€‚€‚€}~‚€€‚€€€€€‚€€€€‚~~€ƒ‚€ƒ‚€ƒ€…€€€ƒ„ƒ‚€„‚‚ƒƒ…ƒƒ„€†‚ƒƒ~ƒ„„ƒ‚‚ƒ€ƒƒ€…ƒ€‚‚€€ƒ‡‚ƒ~€€?$UŽwz‚‚ƒ„ƒ„‚ƒˆX�M‹ƒ€€‚ƒ„ƒ„‚ƒ‚‚„………„€‰R�b‡„„„………„Œ|x’X�: Œwƒ……‡ˆ‡‡††††…‡„…„ˆˆ…†ˆ†„†‡‡††„…ˆˆˆ‡ˆ‡ˆ…‡…ˆ„ƒ„ˆ††‡‰†ˆ…ˆŠ‹ˆ‡‡‡ˆŒ…Šˆ‡†Š‰‰‡ˆ‡‡‡‡ˆ‰ˆˆˆˆ‡ˆˆˆ‡‰Š‰ˆŠ‰Š‰Šˆˆ‡Š‰‰ˆ‰‰Šˆ‰ˆ‡‡ˆˆ‰|wxxvvurvvvutyzyzwvxyytyzzvvyz{{}{zyyzwwvvyz{vx|~z{||wyxz{y|{z|~|{{zwzzzz{{{{zuvztrghNwrsrit8�~lqrpgk	AC‘ctzzzy{}{y{yy$D!Mpk|”‘””—–”‹“–‹}Ё€„xuv{}€~~~}~~‚‚€}}~~~~~}€~|}|}}z~~‚~~~‚‚€‚€~~~|‚}~~‚‚‚~€ƒ‚‚}|}~}|}~€€~~‚‚~€‚ƒ„ƒ€€‚€ƒ‚€€‚€ƒ‚€€€€‚~€ƒƒ‚€…ƒ‚€€€‚‚€„„‚€€ƒƒ‚ƒ„††„‚ƒƒƒƒ‚€€~€€‚„††‚‚‚ƒ„ƒƒƒƒƒ„‚‚‚ƒ‚ƒ€„ƒƒ‚ƒƒƒ€‚ƒDC”ƒ‚ˆ…‚ƒ„ƒ‚€_J‰‚€„‚…‰ˆŠ””™’‚ƒ…‚€„Z
+a‡ƒƒ„‚„€w|€yv~…PI9++2()#�2rkSKROIƒ„ƒƒ†‡ˆ†ƒ†††‡†‚ƒ††ˆ…‡ˆˆ†‡ˆ‡††„…„…‰‰‡‡‡‚††‡…ƒ†„†‰†…†ˆ…„„†Šˆˆ‰‰‰„…ˆ……„…‰‡‡ˆˆ‰‡†‡ˆ‡‡ˆ†ˆ‰‡……†Š‰‡ˆˆˆ‡‡ˆ‡ˆ‰ˆ‰‰ˆŠ‰ˆ‰ˆ‰Šˆ†wwxxtwuvv‰sxvzz{zz{{z{wxxz|~~}zz{}zzxzyxw†vyww{||}|~{y{vy}x}zzz}||z{yƒxzz{{{{{xvwvrlU
U„hjnpt?
+��!ˆ{mnpuj���������C™œŽ„†{w{{{zyx,
56):@GQQNHGDB<>14/&),'&"8e|z~}}~~€~€~~{z}~~}~}}€}}}}~~}}}~~„€}}}}|„}}|€€~~~~€‚~€€€}~~}{z€z~}~€~€}€€‚€ƒ‚„€€€‚€€€€‚€€€€‚‚€€ƒƒ…„„†ƒ€€€‚‚ƒ€€‚‚‚„†„…ƒ‚€‚ƒ€‚ƒ…†ƒ€‚‚€€ƒƒƒ„ƒ€€€€‚ƒ„ƒƒ‚€‚‚‚ƒ„ƒƒ‚„H+,)4:AUspe`imv€…€~€b!�&4<?978,M€€„D;NCD7(Xy‚„„ƒŠWZ‹€ƒ†‡€†L"""G‚‹‹‘€us4z†uƒŠ‰”Ї„……„……†…††ˆ†ƒ‚ƒ………†‡‡††…‡†‡†‚„…„‰‰††…ƒ††‡†ƒ††…‰„……ˆ‡†…†‡‰‡Š‡…ƒ…………†…‡ˆ‡‡‡‡ˆ…‡†…ˆ‰…ˆ‡‡‰Š‡ˆˆ‰‡‰‰ŽŽˆ‰ˆ‡‡‹‡‰Š‰‰‰Š‹Š‹wy|xu|vwwutvvwuyxyuuvzywwyz||{y{y{xyyyyzwyvvwz~{z}zyxx|||zxyzz{ywwy|zzy{||{w{zxvuuj_
;\hxwjQD2
+2T…{qoD"22155899;<9@ABNYV^XX:09HRXy}}{zyxƒzxcH!)
�
+
+>,Xƒ{~y|~{‚€~€~}}~~~~€~~{€~|~~~~~~~}€€~~~€‚~€}ƒ}|€€€€~~~~}~}~~~}~~€€€€€ƒ|€{~‚~‚‚‚€€…‚€‚‚‚€~„ƒƒ€}‚~~€€‚ƒ~€‚ƒ‚‚…ƒ€ƒ‚€‚‚ƒ‚‚€ƒƒ‚€…„ƒƒ…€ƒ€ƒ€ƒƒƒ„‚‚‚€ƒƒ„ƒ„‚ƒ€€‚ƒ‚…ƒ€‚ƒ‚€€‚€N�‰vklry{d*%.')i~ƒ~€ƒ‚h�l}otƒz‘nG„€~€„‹?A0#!k‰ƒ‚„…aUŠ~„‡†~“$"
’y{vwB�rjv€~ƒ‚‚ƒ‡……„ƒ†ƒ†‡ƒ„…‚ƒˆˆ~†‡†…ˆ†ˆˆ„‡„†ˆƒ‡ˆ…„……‡‰„‡†……„„„…‡‡‡…„„‡†„„„„†ˆˆ…†ˆˆ‡…„†‰‡…ˆ…‰ˆ‡ˆ†‡‰‰ˆ†‰‰ˆˆˆŒ‰‰ˆˆ‰‡‡‡ˆˆˆˆ‰‰‹Š‰‹wxzxx{{{yuutxvzzzwuvyyyyywxyzwxyx~|zy}{zwxww}|{|{|||{{|xyxz||~w{zz{€xz{wzzxyzzwrtj]-8UA7:;AIaeXca@�Lp~t|‡sB'%k€okwy„x}|}ƒ€~yxv…s[…{{z{{{vvvvx|C�
O‹{~{}ƒ}~}~~~}~~}~y~~}~~}}~}~~}}„~~€}|~~ƒ~|~‚‚}}}‚~}~}~‚‚‚}~~€€‚ƒƒƒ|~}‚€}ƒ~}ƒ€…‚€…‚€€ƒ}„€‚‚‚ƒƒ‚ƒ…~‚‚‚‚‚€€€€€‚‚€€~ƒ‚€~…‚ƒƒ€€‚‚€…„„ƒƒ‚€‚ƒƒ‚~~~~}ƒ€ƒ…‚~‚€‚€‚‡„‚†„ƒƒ‚†P�…Ž}~ws|{ 
+ C
+_…ƒ€€„j�Xgy~{y‹h'AŠ€€€ƒ„J #qƒ‚‡‚bX‰€‡‡„•9$ ˆ{~~}}Ybv€€€‚††‚†„‚…†„…„†…„‡†„„ƒƒ†‡†‡††…†…‰‡ƒˆˆ…‰‡‰„…„……†ˆ…„…„ˆˆˆ†ˆ…‡†ˆ……‡ˆ……‡‰ˆ‰‡‡†ˆ‡‡…‹…‡„Š„…†‡†ˆ‰ˆ‡ˆ‰ˆŒ‹ŠˆŒ‹‹ŠŠ‰‰…†ˆˆ…ˆ‰‰‰ˆˆ‹xz||{zvvwuwvvvvyvzzxwxwvvwxxxzxz|zyzwyyzz{zy|{{|x}}z{|wz{{|zx|{|wy|{{zxwz{zz{xzzzvtjY%,7UaemhRL��Fpdijk|?��fak}vvvvxuptutpuvvvop|"f…zyzvwyyzyuvCQŒ}}{}~€„}}~}}~~}}~~~~~~~~~~~}}~~}}~~€~~~}€~€}~~€€€‚‚€~}€}}ƒ‚‚}~~~‚‚‚€ƒ}‚…€€ƒ~~‚„€€‚‚‚ƒ…ƒƒ„„‚‚„‚ƒ‚ƒ„ƒƒ‚‚‚‚€…ƒ†€ƒ€€|†„€†€€‚ƒƒ~ƒ€„…€‚„„‚…ƒ„…„ƒ„ƒ„ƒ‚ƒ‚ƒƒ‚‚‚‚‡†ƒƒ‚ƒ„„‚‚ƒ[sx€zul Zˆ‚ƒˆl�Yx{~{u0�	?Š€ƒ‚ƒFm€‚‚€‡`V‰ƒ‡ˆ‚‚–>��‹„ƒ„ƒ“R�\Œƒ„…‚€†„†‡†‡ƒƒ„……††‡„………„‚ˆ‡‡‡‡………ˆ‡‡‰……ˆ‚‡„†………‡ˆ…‰‡ˆ‡‰‰‡†…ˆ†ˆˆ…ˆ††…‡‰ˆ…‡‡‡‡‡†‡†‡‰†‡„„ˆ‡‡†ˆˆ‰†‰ŠˆŒ†‰‰‰‰ˆˆˆˆ‡ˆ‹Šˆ‡‰ˆˆ‹‰‰xy{|y}wwvyz{wxzyzzz}xxyzxx{{zzz|{~|zyzwwzxxyxw{|{}|{|||}{|{|~|{|v{|{w‚v{x}||xvwzxxrp\(1slmgdpY�Hyjrpkx= [nqvvvuvwy{zz{}|{z{tp|#[‰{{yzzzz{{ytxINŠ}€}|}z€ƒ{~~~~~~~~~~~‚~}}}}~|~~~}~~~‚„‚€}~~€~~€€€€~€~~~~}~~~}€€ƒ€€~ƒ‚„~€‚€‚€~€‚ƒƒƒ‚‚ƒ€€‚ƒ‚}‚ƒ‚€€ƒ‚‚€€„‚€„ƒ‚€€‚ƒ„…€‚‚‚~ƒƒ‚‚„€€‚ƒ„ƒƒƒƒ‚ƒ‚€€€‚‚ƒ„„†‡‡ƒ…ƒƒƒƒƒƒƒ€ƒ~‚‚‚ƒ‚‚ƒƒƒƒƒ‡‚‚‚„]�o}ƒ‚xs!Zƒƒƒ|‰f*J“{‚}ˆ6�	�
+>Ž€€€Izƒ‚„c!
Q‰ƒ‡‡ƒƒ–F#‚€…„„…U!Uƒ€……ƒ†€‡‡†…‡†„ƒ…††…†…ƒ†……‡…‡‡ˆˆˆƒ‰†‰‡‡…„„ˆˆˆˆˆ‰‡…†……†‡‡…‰Š‡‡‡‡…†…†††††„І……‡ˆ‡‡†ˆ‰ˆˆ†††‰†•†‰‡ŽŠŽ†ŠˆŒŽˆ‰‰‰‰‹Šˆˆ‹‡ˆˆ‹Š‹yz|yx{ywuuv{w{zzuzw{zzyxvxwzu{zyu{{x{y|wzy{|yux{}{||y|x{zz||{xz|vxw|s~xxxy{xwwv{wurre�"1wpqmnvU�J…qtumx<Ovvvxywy{ywyzyzz{zwrz	Wˆ{{}~v{zz|ztz]>NŠ~‚~}}}}}~~|{~~~‚~€}||}}}~~€~€€~‚€€~}}}‚}‚€~€‚~~~~€~~~€€€€‚€‚ƒ…‚ƒ€‚ƒ€€€ƒƒƒ„~‚‚„€‚ƒƒ€‚€€€€‚ƒ„ƒ‚ƒƒ‚‚ƒ„†ƒ‚€ƒ€ƒ€ƒƒƒ~€‚ƒ‚‚€†€€ƒ‚‚ƒ„„ƒƒ†‡„„ƒƒƒƒ€ƒƒƒ‚‚…‚ƒ‚†…„ƒ‚‚ƒ‚a	t~ƒ‚ƒ„x�[†‚ƒ…w†r4
+LŠ‚€ƒ}?!7‚‚€…M
f…ƒƒƒf%7Mˆƒ„„…†N63€†††„‘U; �7Rˆ……‚‚ƒ„‡††ˆ…‚‚‚………„ƒ„…†‡…€„‡}‡„„…‰‡†„ƒ†ˆˆŠˆ†ˆ‰„†……„†ˆ‡ˆ‰†…‡‡‡††……„‡†††‡……‡†ˆˆˆ‡‰…‡‡ˆ‡‰…„…ˆ†…ˆˆŠ‹ˆŠˆ‰ˆŽ‰Œ‰‰‰Šˆ‰‰ˆˆŠ„ˆˆˆ‰Œz|zyw|xy|{z{{{zzzzzzx|zyxyzz{~zwy{z{zyyy{zy|y}}|{}z|y}||z{{|{{z{wxvz{}{}vzxwxxw|vvus`)�!/|mqpocb�
J€lqtmo@JŠyywz{vz{|zz{{zzzzus~�#T‹z|{}{{zzy|†ŒV���Q‹{€~~{}|{}€‚‚ƒ‚‚~|}}~~~€€ƒ‚„{‚~~}}~‚€€~‚€‚€ƒ‚ƒ~}~ƒ„}‚}€‚}‚€€~~~€„~‚‚€€ƒ‚‚‚„‚ƒƒ€~€}€ƒ€~ƒ~‚‚€~€‚‚…ƒ€€€€‚€ƒƒ€€ƒ‚‚„ƒƒ„…‚‚ƒ€~‚„ƒ‚„€€‚ƒ‚€€‚‚ƒ‚…„„ƒ‚ƒ‡„‡††„†€€€€ƒƒ„„ƒƒ„€€‚„ƒ‚‚‚‡Z2
7_{ƒƒƒ„~€BEU…ƒƒ†~ŒkB	
;8“ƒ„„Š!F/-Ž‚€‚‚ƒO/ Ra„‹~Œg
+N…ƒˆ‡‡…‡Rh‹……„ƒ‹T*7#E‚€„†…†…‚„‡‡‡…‚„‚‚‚„ˆ‚†„ˆ‡‡†‡††…‡…†„ˆ‡‡………ˆˆŠ‰ˆ„‰…††‡…„…‡ˆ‰ˆŠ‡‡‡‡…†…†…†…ˆ‡‡…Ї‹‡ˆˆˆ…‡ˆ‡…ˆƒŽ„‡…ŠŠŠ‹‹‰‹‹‹ˆ‹ˆ‹‹‹Š‡ˆˆ‹ˆŒ‰‰‰‰ˆ{{|zwwxx{zxz{zz|vxwyz{zy{yyzz}xxwzw|ywz{|}|}{||{w~z|}{|y|wy||wwyxwz|~z|v{wxzwv{uuvmf.�$ˆgppkaX9LugougnCGŠyy{{wwvyvwxzwwvwwrtP…z{zzz„…xpcC
>^KMVQWeu}€~~}{~}ƒ{‚~€~~}}~~~~~~}€|~~~~„‚‚€‚ƒ‚‚ƒ‚€‚}~€}~€€~ƒ‚‚~€~|~€‚€€‚€€ƒ€€‚‚~ƒ}€ƒ€‚€€ƒ€€„ƒ‚‚ƒ€ƒ€ƒ‚‚‚€ƒƒ€€…ƒƒ€ƒ€€‚€€€‚‚ƒ€€ƒ‚‚„ƒƒ„ƒ€€€„„‚€ƒƒ‚ƒ‚ƒ€„€€ƒƒ€‚}}‚ƒ€†`/745`z„ƒ„ƒ~~
+
Y~ƒƒƒƒƒqL?��"&.‚‚ƒ„…‚„-%
4€„‚ƒƒ{a	 f‚‚‡t†rN$68HP\†„…‚‡ƒ„fUIGHFLXm‚……ƒ…ƒr_ZassZ[m„ƒ„……†‚„†Š††††…„‚„†„†„†„…„„„‡}†…„…‡„…‡ˆˆˆˆ‰„„ƒƒƒ„‡…†„ƒ„‡‡‰†……†‡†…†ˆ†„†ˆˆ…‡‹†…‡…††……‰‡…„„„†††‡ˆ‹ˆ…‡Œˆˆ‰‡‹‹‹‹Š‰ˆ‹Œ‰ŠŒ…†‰‰{}yxy{{{zzz|vzz{{}xyz|x{}~{yxyx|xyxyy}z~}}}~x‚x|y~{|x|||zywvw{tz}~~~tz{{zww{vstnm2��
Žxw}{_I†sq|O��C‡yv{xwvjmwq][r{vwuuM„{|zzyM8.$<hŠ†Žš¤‹Œw{‡}€yz~~~}{}~~}„€~„~}~~€~~}}}}}~~~~~~‚„ƒ„‚‚€‚ƒƒƒ€€‚ƒ€~€~}~€€ƒ‚~‚‚€€€€€‚‚‚‚€‚€~~€‚€€~}~€‚†ƒƒƒƒƒ„‚‚ƒ†‚ƒ„‚‚†‚€‚€„ƒ„‚ƒƒƒƒ‚‚ƒ„€ƒ„€„€€„ƒ€~ƒ‚ƒƒ€€‚ƒ‚„‚‚ƒƒƒƒƒ„‚ƒƒƒ„‚‚‚ƒ„€€€€‹x@6HHJGCl}‚ƒƒˆ€|gYSQOPWh{„ƒƒ‚ƒ{_Y^dj_\h|ƒ„„„ƒ~~wozsyid{„ƒ‚†€‰‡ƒ€~uƒ€†…‚~Š’–Š‹…‰}‚…‡‡ˆ„‡‰Œ‘‹•Œ‡……„†„‡‡ˆˆ€…ˆˆ€„…ˆ……ƒ‚…ˆ‡ˆ†‡‡ˆ‡ˆ…‡‡†…‡„‡†„„ˆ‡‡‡‡‡ˆƒ„‡ˆˆˆˆ‹„‰ƒ………†ˆ‡†‡‡†††…„‰…‡…‡„‰…†‡ˆ‡‹Š‹†ˆ‡ˆˆ‡†‡‡ˆˆ‰‰ˆ…„…‡‡‡‰‡‰Š‹‰‰‰‹ŒŒˆ‹‡‹‰‰Š‹Ž‡‹‹‹|yz||{{x{yw{zzxwwvvvxyxxx{y|w||{yxyyyxwwyw{|~€z|wwwwyz{{x|yxwy|yyxw{x}wxwvww{xvvwwuqo1	BA:;BGGGIC@?=6<@ACTNQJC;:<<BEU]am\M�=†vvzwrXA8Nvzwwvt€L„||xyƒE?');ƒjrylQ’
�uiu|}}~~~}}|ƒ~~‚~}}ƒ~€~‚‚}~~~~~~|~„€€‚„ƒ„„ƒ~~~€€ƒƒ„‚€€~~€ƒ€ƒ‚€‚~€~~ƒ‚€€ƒ‚ƒ‚ƒƒƒ‚ƒ€ƒ†„ƒ‚„ƒ‚ƒƒ„†‚‚†ƒƒ„„€ƒƒƒ‚„‚ƒ‚ƒƒƒƒ…‚†„ƒ‚€}†‚‚ƒƒƒ~„„„€‚„‚ƒƒƒ‚€…‚‚€‚‚„ƒ„„‚‚„€‚Š„tlvsƒy{ƒƒƒƒ„‚~}ƒ‚ƒ}{|ƒƒƒ‚‚€ƒ‚‚}}}|€€ƒ„ƒ…„„~{yz{„}€€„„„ƒ‚€~{y|~€ƒƒ„ƒ„‚‚‚‚ƒ‚„„‡†ˆ‡‡†ƒƒƒƒƒ‚ƒ‚„ƒ†…„†„ƒ„„„†…‚ƒ…†‚ˆ‚‚‡‚‡……‡ˆ‡‡‡„‡…‡‡‡†……†ˆ†‡ˆ…‡ƒ‡†……ˆˆˆ„‡…„ƒƒ…ƒ‡†‡‡ˆ„‰‡†††††‰………†…ˆ…†…„††‡‡‰ˆ‡†„…‡ˆ‰‰‰ˆˆˆˆˆˆŠˆˆ‡Š‡ŠˆŒ‹ŠŠ‰‰ŠˆŠˆ‰‰‰‰Š†ŠˆŒ‰‹|{z{z}ywz~wy{|wzvwwvzyyzyzxzwzz|{xxywyyyy|zz{|}}|~||}|}}~w{zvzz|u{||{{||zzyxxzwvvpo2
+X^s…q„tB <duq|~i	#?xffzkT_;‰uvxws[;?qwwwwv)F‹||xvxN&	0€svvuiŠ
+
+fvzzy{~~|{~€~{{}}~‚‚~~~~~~~~‚‚~~~~~~|~~€}ƒƒƒƒ€€€€}€~~€€ƒ~}~ƒ€€„~‚„}‚€€„ƒ„€€„}ƒƒ‚€€€~€€€€€„†ƒ‚€€…†…†‡ˆƒ„‚ƒ‚‚‚‚‚ƒ€~‚ƒƒ€‚„„‚†„ƒ„ƒƒ…€ƒ†€…€€€ƒ„‚}~ƒ‚ƒƒ€€ƒƒ€€€„†ƒ~‚€‚ƒ„ƒ€‚„ƒ€ƒ‚~~~~~€ƒ„€„†„„‚€€‚ƒƒƒ„„„ƒ„ƒ‚‚‚€‚€‚‚‚€€€‚„…†ƒ€€€€ƒ„„„…††…ƒ€‚€€€‡‡‡„„ƒ„„„„„ƒ„„†‡ˆ‡‡††‡‡†ƒƒ‡††………‡†…††„…„†‡„‚„„††‡ˆƒ…‡…‡††‡‰„ˆ…ˆ‡ˆ†‰‡†‡„‡ˆ‡‡†‡†……ЇŒ‰ˆ„‡ƒ†„ƒ‚‚‡‡‡ˆ†‡„ƒ‡‡†‰…†„‡…‰††„”…‡‡‡ˆˆ†‡‡‡ˆˆ‡ˆ‰…‰‰ˆˆ‡‡‡ˆ‡Ž‰Ž‡‹ˆ‹Š‰‰‹‰‰‰Š‰Š‹Œ†Š‹‹‰‹|||z{{xz{}xvvvwwzxwvxxyyyxvzzy{zx{||}yw{{z{yy}|x~~||~}}~xx}z|~}|vz||{|wyzy{{zy{uvpl6chgkjlj7# 6dkjlfhz�/ =ekpng`d5ƒvwwwrr%	2uuywwu†+B†||{x{M0ƒyx|vu€*�`Œ{|z|€~€€}‡~€~€ƒƒ}€~ƒƒƒƒ„ƒ~€€€ƒ~~~~‚~~}€‚ƒ~„€„~ƒ‚€~}~€ƒ€€}ƒ‚ƒ‚„ƒ‚ƒ‚~€‚‚‚ƒƒ„~ƒ„„ƒ†Š€…}„ƒƒ€…€€ƒ‚‚ƒ…ƒŠ‡………†ƒƒ‚‚ƒƒƒƒƒ‚ƒƒ€~ƒƒ„€€‚†„†ƒƒƒ„†…€„„€ƒ…€€€‚‚‚ƒƒƒƒ‚€€‚€„„€ƒƒ„€€‚‚‚ƒƒƒƒ„ƒƒ‚ƒƒƒƒ…„………ƒƒ‚„ƒ…ƒ„‚‚‚€ƒƒ‚‚ƒƒƒ„„ƒƒƒ„‚…‚ƒƒ‚€‚‚„„†‚‚„ƒ„„‚€„…„„„‚‡‡€‚ƒ€€€ƒ†………†ƒ„ƒ‡……„†ˆ‰„ƒƒ††…††„„……„†…††…‡†…‡…††„„ƒ„………„ˆ†…………ˆ……†…‡„‚ƒ‡‡‡‡†ˆ‡‡‡‡ˆ‡‡„„ˆ‡ˆˆˆ‡…‡„„…„„ƒˆ‰……ˆ„‰ƒ‡…‡ˆ……„‡†††ˆ‡‚„‡†…††‡‡‡‡ˆ‡‡…ˆ‰‰‰ˆ‰ˆ†ˆˆˆ‹ˆ‡ˆˆ‰Šˆˆ‰‰‰‰‰ŠŠ‹ŒŒ‡‰‰ˆˆˆ}z{{{|||{}yxxxxw{{yyxwwxwxy{y{z|{zyywwwxyx|xx|||||||}~z}zxz{|}~{xyy{z{xwzzzyvwvuxre?�(R}mqmii)		&_xqpmf|;doqqlt]9|wwwvqomvwxwv…&	C†|{{yxN	;…yz|xwv7 X‰|{{{{~€€||ƒ~|~‚‚~€€ƒƒƒ‚ƒ€‚~~‚ƒ€~~~€~~}|}ƒ~~~~~~~~~|}~~‚‚ƒƒ€€€‚ƒ~~€€„†„{…ƒ~ƒ„ƒ€€ƒ…‚‚€‚ƒ‚€„„€‚…ƒ‚‚ƒ„„…‚€€€ƒ‚€ƒ‚ƒ†ƒƒ€€„„ƒƒ‚€€€ƒ‚ƒ†„„„ƒ€††‚€ƒƒ‚ƒ}ƒƒ‚€‚€‚€‚‚‚ƒ~€ƒƒƒ‚~„ƒ‚ƒƒ€„‚ƒ„ƒƒ„„‚€…„„„ƒƒ‚…€…„ƒ…ƒƒƒ„„†ƒƒƒ€ƒ‚ƒ„ƒƒ‚€‚‚‚ƒ„…ƒ…ƒ‚ƒ„ƒƒƒ‚…‡€†„€ƒ‡…ƒ…††‡‡„„„ƒ„„„‡‡†„„ƒ†††„ˆ†‰ƒ†„†‡ˆ‡†…………††„†‚‚‚……‡…††††…„ƒ†ˆƒ†…†………‡†‡…ƒ†‡‡………‡‡‡‡…„†……†‡ˆƒ„„„…„‡Š„…„…ˆƒ„†‡ˆ„‰††ˆˆ…‹†††ˆ„Š……‡ˆˆˆ‡‡†…‰‡…ˆ†‰ˆ‰ˆˆˆŠ‰‰‰‰Š‰ˆŠ‰ˆˆŠˆŠ‰‰Š‹‡ˆ‡Š‰Ž|z{{v|{{||yx{x|y{zxywwvwxxyyzzzy{}{yywwy|||zyz}{zywxy}~{zyzxz{|}~{yzz{{|w||{wxxxwxsq@�-Pzvqpjr4.durpiu:xprrroY;ruwvwpq!
+2i{xwu‰:
+(I†}{{yƒO$>z{z~zzvF $:U{|{{{€||~€€€~ƒ~€~€|}‚~€€€€~‚‚‚~‚~|‚€‚ƒ‚„ƒ€~~~€~~ƒ€€€~ƒ‚‚ƒ„€~€‚„„†„††…‚ƒ‚‚‚„‰„~Ё‚€†ƒƒ‚‚†‚ƒƒ‚€~~~€€ƒ‚‚‚ƒ€„ƒ‚„ƒƒ„ƒ~ƒƒ„‚ƒ…„ƒƒ‚†‚ƒƒ‚‚ƒƒ„ƒƒ‚ƒ€„‚ƒ€‚}ƒƒƒƒƒƒ„ƒƒ‚ƒ€„ƒ…ƒƒƒ„‚…ƒ„„„€„‚…ƒ„‚ƒ‚ƒ„€…ƒ„…ƒ„ƒ„„…„‚„†‚…„ƒ‚‚ƒ€„ƒ†ƒ‚ƒ……„‚………„„†……†„ƒ„………„‡†‡„„…†„„„…ƒ„…‡‡……†„„††‡…„…„„„…‡‡…†…„„…………„…‚ƒ„†…„„†††‚†‡ƒƒ‚‚‚……‡‡‡‡„…†„…†‡†ˆ‡ˆˆˆˆ†…„ƒ„‚„‰„ƒ‚ƒ‡‡‡ˆ„‡‰…‡†‡ˆ……„††ˆ‡…‰ˆ‡†„…†…‡‡‡†ˆˆ…ˆ…‰‡†……Šˆ‰ˆˆ‰‰Šˆ‡ˆˆˆ‰‰‰ˆŠ‰†Š†ˆ‹ŠŠˆ‰‰Šx{{|z{|†zzzz{}|{{{{{xvvywxxxyyyzy}{{y{y{yy}zy~{{{}|y}}{z}y~z|zzz{||wx|{zy{|zxwwwwvujK4Owwqplh9#9Wzusplj	&Amqtrpl`-Bkwvvupm5CXŒyxxv{I$ 9-“{{{{}S
+*#9.„zz{|{w;;�*J†}}{}}}}~}ƒ‚€|‡~~ƒ~€~€€€‚€€~~ƒƒ‚‚}‚}‚„‚‚ƒƒ‚~~‚}~‚€~€€€ƒƒ€ƒƒ~‚€ƒ‚€€€‚‚ƒƒ‚ƒ…€€„ƒ‚€‚ƒƒƒƒ‚‚ƒƒƒ€€€„‚~‚ˆ‚€ƒ……ƒƒ‚‚‚~~€„†‚†ƒƒƒ‚„„ƒ‚‚€~~‚ƒ€„ƒ‚ƒ€€ƒ€‚‚ƒ…‚ƒ‚„„ƒ„‚ƒ„‚ƒƒƒƒ‚€„ƒ„„…€€ƒ……ƒ‚‚ƒƒ…†€‚ƒƒƒ„„‚„‚‚†‡…„†„‡‚€…„„…„…„„‚…‡„„…ˆ††…†ƒ‚ƒ‚ƒƒƒƒ„‡†……………ƒ„„ˆ…„†…ˆ…†††…†…‰…„ƒˆˆˆ……„„…………„†‡‡…„„……‡…ˆ…†ƒ…„ƒ‚‚‚…ƒ……ˆ‡ˆ„„†‡††„„ƒ„†ˆ…„………ˆ…Šˆˆ„…ƒ„†‡‡‰‡‰†„………‰…†„‡†††ˆ‡‡‡ˆˆ‡‡‡†‰‡ˆˆˆ‡‡‡…ˆŠ†‹‹Š‰‰Š‡Š‡ˆˆŠ‰‹‡‰‰‰ˆ‰ˆŠ…‡‰‰ˆ‰ˆŠ‰Œyywzz{{{zz|}yxzz{ywzywvvwxxxzzxyz{xzzzxyz{~y{x{~}z|zx}{z{y||{{|||~}{z{zyxwz{yxxvvwrnK0'9Mywsspl830=Tturplp8
48oprqqpb//
5Knvwwvsn6483Fƒvw{v{W�
107‚{zx{wd@;BDLPZw}{{}{uVZhlmnqq€z~{||~||}~„~|{{~‚~ƒ„ƒ„~€‚‚€€~„ƒƒ‚ƒ~‚‚‚€€€}‚€€}‚ƒƒƒƒ‚€€„ƒ~€ƒ€€€‚„€~€‚†ƒƒ‡‚€ƒƒ~‚‚‰€‡‚ƒƒ‚‚ƒ„ƒ‚…ƒ€‚ƒ‚ƒƒ„„‚‚…€ƒƒƒƒƒ€„€„‡€„ƒ€‚ƒ‚ƒƒƒ‚‚„‡‚€~~ƒƒ‚‚€€‚‚€ƒ‚‚‚ƒƒƒ‚‚‚ƒ‚€‚ƒƒƒ€€€„ƒ…„€ƒ…‡ƒ„ƒƒ„ƒ…€€€€„ƒ„ƒ…„„‚‚„…ƒƒ„„†€€„„†„„…„„††………†ƒ††‡†…ƒ‚„†‡†„„‡ƒ„„„ƒƒƒ„ƒ„‚„………†……ˆ†…‡………ƒˆ‡†ƒ……ƒ„„„†††…†……†…†…††…†…†…„ƒ‚‚‚ƒ††…|†……†‡†…„„…„‡…„ƒƒ‚‡††„…„†ƒƒ…ƒ‡‡Š‡††„………ˆ„…………„…†††…‡ˆ‡†‡‡‰…‡‡†……†‡ŠŠ†‹ˆŠˆ‡ˆ‡‡‡‡‡ˆ‡ˆ‹ˆ‰†‡ˆˆ‡†††ˆ‰…ˆ‰Š‹|}w{||{~zw{€z|z€{{w{yzyvwyyzx{z|y{z}z{|~yx||zy{~}~|{{}||zxz}z{z{{}~{y|{{{{{|ywuvwvsO9/,9F]wsvupgJ964*C^vruqoj9#:<@2DkrrsrqgLBIGHPZo{vywvoTRfedlur{xxz{xo„‡…||z|zz{x{‡‡ˆ†w}}{{z{wyz€xyz{{{~~~~~}~€}~~|}~€ƒ~„€€~}~~~ƒƒƒ~ƒƒ€~~ƒ~€‚ƒ~‚‚~‚€€€€€€‚€~~€‚‚‚ƒ‚ƒ‚‚‚€€ƒ~€‚‚ƒƒ€€ƒƒ„ƒ„ƒ„‚€~„‚ƒ„‚ƒ‚€„„„†ƒ„„……„†‚‚‚}ƒ†„ƒƒƒ€ƒ€ƒ„„ƒ„„„ƒ„ƒƒ„„„‡†‡„„ƒ‚„~‚}‚„‚‚‚‚ƒ€‚‚ƒ„‚ƒƒƒƒƒ€ƒ„ƒ€‚ƒ€€€„„ƒ„‚……„„„ƒ†…„ƒƒ„„ƒ…ƒ…„‚†„„„ƒ„…ƒ…„‚„‚…†„‚ƒ†‡†…†ƒ‚ƒ„„ƒ…††‡……†‡…‚‚†‡ˆƒ‡„„ƒ…„„ƒ„……„ƒ„‰†……ˆƒ‰‡†„††ˆ…ˆ†ˆ†ƒ„†…†„†…ƒ„‡‚„…‚„‡…†…………††……‚‡ƒ„…„‡…ƒ„‡…†„†ˆ‡†‡……„…„„……„ˆ…ˆ…‡…‡†„…‡‡‰†‡…ˆ…ˆ…ˆ††…„‚…†…‡…‡ˆˆˆ‡‡‡ˆˆˆˆ‡…„ˆ‰Š…ˆ…Œ‡‰ˆ‰†‰‡‰‡ˆˆ‹‹‹‡‡†‡‡‡††‡‰ƒŒ‰Š‰Œ{yxx||zz{{{zz{zyzywyzzzz{{yyzzyx|z~yz{zz|xx}{zz{|}||~|{{yyxyxzzy|{|~}y{{{w{x|zxvwvtuiqjlibrrquvtmeqpuuxnpssuuplqquzcuvqrsrurplhprnlpwzuzwvvpmotostu|xy{{{wvuuuvwz{}{{zzzzwvxzy}~}{}z{{{{}|{~€~~{|~|~€~}€~~~€~€€€~~€}ƒ‚~~„€~€„ƒ‚ƒ‚ƒƒƒ„ƒƒ€€‚‚‚‚ƒ‚ƒ‚€~‚ƒ€‚~€ƒ~„ƒƒ„ƒ~‚ƒƒ„€ƒ„„„~ƒƒ…‚‡ƒ€€ƒ€~€ƒƒ~€‚ƒˆƒ…„‚„ƒ‚‚„ƒ€‚„ƒ€€€ƒ†‚„ƒ†…†ƒ‡ƒ…‚ƒ…ƒ…„ƒ†‚†ƒ„ƒƒƒ‚„„„ƒ‚~‚ƒ€€‚ƒ„ƒ‚ƒ‚€ƒƒ„ƒ‚ƒ€~„€€„„ƒ~ƒ‚„„ƒƒ€„„‡ƒ‡……ƒ€‚„„ƒƒ‚…„‚‚…„ƒƒ„€…„†…„„„ƒ‚‚‚„………„ƒƒ…„…„ƒ…ˆ„„„‚†‡„ƒƒ„„„†„……„‡„†ƒ„‚……„…„…‡ˆ…‡††ƒ‡…ˆ„„…ˆ†„††ˆ†………„††„„„…ƒ†‡…†…‡„ƒ„ƒ†„‚‚ƒƒ………„„‡‡†‡‡…………„…ˆ…………†‡†‡ˆ‡…†„„„††…………†††„„„‡††…‡†††‡†…ˆˆ†……‰Šˆ‡…ˆ‰‰†‰‡‹‰‰†‰„‰…Šˆˆˆ‰‰‰‡†‚ˆˆ‡†…………Œ‰‰ˆˆ|}xxz{|||}}|{zzyzz{zxy{z{|zz{{~{z€z{}zywx|}}x}~}~~{{yy}{{{|{}|~{{{}v{{|wwwvwtwuuur|sswwuwvvvssxrqqrvtswrtrrqrqtrrtvuxwxvtsssuuuxzz{vyxwwwvxz{{|w}{w{{{|{|||{}}}|{{{z}~{|~~|~|~}{{|{{{|{~€€~~€~|€€€€€ƒ}~‚}~ƒ„ƒ~}~~~€‚€~‚„‚~~‚‚ƒ‚‚ƒ‚„~€„€ƒ~‚ƒ€€ƒƒ„ƒ‚‚‚ƒ„‚€‚†€€ƒƒƒ‚ƒƒ€€ƒ€€„€€€ƒƒƒƒƒƒƒ…‚ƒƒ„‚‚‚ƒ€‚ƒƒ„„€†ƒ‚ƒƒ„ƒƒ€„ƒƒ…„‡…ƒƒ„ƒ„„„ƒ‚ƒƒ‚ƒ‚‚€ƒ‚‚„…‚ƒ„ƒƒ‚ƒƒ‚‚ƒ‚~†„ƒ‚ƒ„ƒ‚…„ƒ‚„ƒƒ„ƒ„…„…‡„ˆ€…„„„…‚ƒ„€€€ƒ……‚…†„ƒƒ…„†„€…ƒƒ‚ƒ„„€ƒƒƒ„‚†ƒƒ„‡‚…‚†‡††‚‚„…ˆ‡ˆ‡†ƒ……„…‰…ˆ…†…‡…‰„†„‰………††…„†‚†Š…†ƒ……‡‡‡†„…„ƒ‡ƒƒƒ‚…†‡……ƒ‡‡ˆ†‡„ˆˆˆˆˆ…„†Š„……†‡‰…ˆ†…ƒ‡‡†……ƒ‰‡ˆƒ„„…‡‡‡†‡Š…†ˆˆ‡ˆ‰‰…‡ˆˆˆ‹‡ˆ…‰†‰‡‹‰‰‡‹„‰‰Š‰‰‡‡ˆ‰‡ˆ‚‰ˆˆ…††‹ŒŒŒ‰‰‰z~xy|{{zw|yy{{zzxy{y{{y{zzz{{z{zz{|{z|}{|{x~€z{{{}~zyz{|zyyz{y{||{{}~{|wxv{{{wvwwwvxvututqsrvsvvvurnrtuwuwxrtusrtorvwwuwwuwrwrvuuwwuuuvvvwyouvuvzyz|yy{{x|z{{{{{{z{{|}}}z}~}}~|}~~~||}}{~}||~}}€€€€~€€€~‚}~}‚~€~ƒ|~‚ƒ€„€~„€€‚ƒ‚‚‚„ƒ‚‚‚‚ƒ€~€‚€€‚‚ƒ„‚ƒƒ‚‚ƒƒƒƒ„„€‚„~€„ƒ~„„ƒ€ƒ€‚ƒ‚€ƒ€~ƒ‚„ƒƒ‚‚ƒ‚ƒƒ„‚€‚€‚„„‡„‚…‚‚‚ƒƒ†ƒƒ~†…ƒ„‡‚€€‚ƒƒƒ‚ƒƒƒƒ„ƒ‚€ƒ„ƒ‚‚‚‚„„…ƒƒ‚‚ƒ€‚ƒ€€€‚‚ƒƒƒƒ†„ƒ„„ƒ„€ƒ„ƒ„‚€„…ƒ„…‚‚„ƒƒ„…„„†…‚ƒƒ‚„„‚„‡‚‡ƒ€ƒ€€„‚‚€‚ƒ…ƒ‚‚„…ˆ„ˆˆ…„„†„„‚„‚„„…ˆ…†‡……‡……††„„ƒƒ…††……ƒ„††††„…†‡ƒ‡†‚‡……ƒƒƒ…„‚„„„ƒƒ…‡†„‡…„ƒƒ†ˆ„…‡……………………ˆ…†…†‡†……„ƒ…„ƒ…†‡†…‰†‡†††‰‡………†††ˆŠ……ˆˆƒ‡‡‡‡ˆˆˆ†‰„ˆˆ‹…Œˆ‰Šˆˆˆ„ˆ‡ˆ‰…†…†ˆŠˆ‰‰~||{||z{~y|{{z{wzyyz|xwz{zzzy{|z}y|x~}~|€|{|€{~||{|||yz{{{|~~|~}}{}~{}tyzxwvuwxvvvuwutxzsvvwvvuvuvwvvvuuvwvuutrvttvyvxtwr}swuwxzyysuu{vwy|uuv{yxxz||{w{{{{{||~||{}}}}€~|}||}~€|~~}}~{||}}~€‚€~~~}||~~~€~~~~‚ƒƒ‚~~~~‚ƒƒƒƒ‚ƒ„ƒ„~ƒƒ„€~‚‚‚‚‚ƒƒ~€ƒ€€‚‚€€€‚…††„ƒ‚ƒ‚€ƒ„€‚„ƒƒ‚ƒ„„ƒ‚‚‚ƒƒ€€ƒƒ€‚ƒ€€„‚„‚ƒƒƒƒ†ƒƒƒ‚‚ƒƒ‚ƒ„„„ƒƒ‚‚‚ƒ„‚‚‚†ƒƒ…‡~„€€ƒƒƒ€€‚€‚ƒƒƒƒƒ„„ƒƒ‚ƒƒ†„„‚‚‚ƒƒƒƒƒ€€€…‚ƒ„„„…„†„ƒ„„ƒ€€„…‚ƒ„…„ƒ‚ƒ„ƒ……€…ƒƒƒ„…„„ƒ…‚„ƒƒƒ‚ƒƒ‡„ƒ‚€€‚ƒ…„‚…ˆ‚†„ƒˆ„„†…„„‡„………„„…ˆ„‰„†………ˆ‡ˆ†‡…‡‡‡‚…„†ƒ††††‡…†ƒˆ‡‰…†…ƒ„‡……„„‚‡€†‚‚……ˆƒ‡†……ˆƒƒƒ„„‰„…ƒ……‡ˆŠ„†ˆ‰…ˆ…„„‡„‰……„†ƒ††‡†‡……‡‡…Šˆˆ‡ˆˆ‰‡‡‡ˆ†‡†ˆ„‰‡ˆˆˆ‰‰‰Š†ˆˆŒ…‹‰‰‰ˆ†‡ˆ‰†ˆ‡…‡Š†…ˆ‰ˆŠ{yy{y}|y{{{xw|y{xzxyzzvw{{zz{zzz{{yxx{{~{z||{~z{~~{~~{~}{|||{~|}}~||||~|{~ww{xvyxx{{xxwxwuwutsrtqvqvsuswxwxtyxtvuuuu{wvuvvuxrsusuzvywvtuuwzzvwvvw{~|y{|{{{{{~|~||~~~€}{~~{~€€|~|}}€|}|||{{}ƒ}€‚}€}~€~~~~€ƒ~~€ƒ~€„€ƒ~€‚ƒƒ‚€ƒƒƒ„„€ƒƒ„‚€ƒ‚‚ƒ…‚ƒƒƒƒ~‚‚ƒƒƒ…€ƒ‚~‚‚ƒƒ€€€€ƒ€ƒƒ‚ƒ€ƒƒƒƒƒƒ‚„…„ƒƒ‚‚‚~ƒƒ‚‚ƒƒƒ‡‚ƒƒƒ‚„„ƒ‚ƒ„…„†ƒƒƒ€€ƒ†‚„‚€‚€ƒ‚…‚„ƒ‚‚€„„ƒƒ‚ƒƒƒƒ„†ƒ‚ƒƒ‚‚‚„‚€‚ƒƒƒƒƒ‚ƒƒ€€‚„ƒ„„‚ƒ€€„‚€ƒ…„„‚…‚ƒ‚ƒƒƒ„…†‡„€ƒ„„ƒ………„ƒƒ†ƒƒƒ€‚„‚‡„„„…‡„„„ƒ‡‚„ƒ…„„…„„†ˆ…‚„„ƒ„…„††…†ƒˆ‡…„ƒƒˆ……„‡‚ƒ…††††„‚ƒ†‡‡„„††ƒ„„„ƒƒƒƒ„‚…††„ƒ…„…ˆ‚„„„ˆ„…†‡††…†……ˆ‡……„…†……‡„……„„†ˆ†…†ˆˆˆ††‡ˆ‡‡‡…‡‡‡‡††‰ˆˆ‡†…‡‡ˆ†ˆ„ˆ‡ˆˆˆ†‡ˆˆˆˆ‰‡‰ˆ††…„†‡ˆ…‡†‰‹|}y}z}|{{|y|{}z~w{xzz{z||z{{{{|zz~€w{z~|}}|~y~}{~~€€€{}yy{~{€z~~~|||~zˆv}|{{{{|z}wzvwwyy{swryvvvvsvwwwwvwxyuuwzwutwwwvwvzrvtxvxwyvvuvvxw|vxw{yyy{v|{{z{{||||~~}~~}}~{}~~}}||||~}€‚~|}||}~{{€|~€~}~~‚~€€€€‚€~‚‚ƒ~~ƒƒƒƒ„„„ƒƒƒ‚ƒƒƒ„‚ƒ„€„„€€„‚ƒƒ„ƒƒ‚‚‚ƒ‡‚„„€€‚€ƒ„ƒƒ€€€€€‚‚‚€‚ƒƒƒ‚ƒƒƒ„„ƒ…ƒƒ‚ƒƒ„‚€‚ƒƒƒ‚‚ƒƒƒƒƒƒƒ‚ƒ„‚„†ƒ‚ƒ„‚‚‚€€ƒƒ‚‚ƒ€€‚‚„ƒ„„ƒ„„„„ƒ„€‚ƒƒ…‚†„‚€€€€ƒƒ€…„„ƒ‚ƒƒƒ…„ƒ€ƒƒƒ…„‚‚€€…„†ƒƒ„†„ƒ‚„„„ƒ†€€‚„„††…ƒ€ƒ…„‚…„„……‡…ƒ„ƒ€€ƒ‚‚€„„…„‡„ˆ„…„ƒ………ˆ„…‚„…‡…„„…‚„„……‡„…†ˆ…„…††††‡ƒ‰ˆ‚‡…†„“‚‡‚…††††ƒ†„…„„‚†…‡‚ƒ…‡…„…‰ƒ†ƒ„…†ˆ…†…‰ˆˆ‡‡……ƒ„†…„†…‰‰‰ŠŠ…†……‡†…†‡ˆŠ‹†‡‡†…ˆ†ˆˆ‡ˆˆ‡Š‰‰‡‹„ˆˆ‰ˆ‰ƒˆˆŠ‡‰†‡ˆ‰‡ˆˆ‡…†…†ƒ‡‡…‡‡‡‰‰‰}yz~||}y{x{|}|zw{xyvvvuwzz{{{{{||}xvy{}€y|~~yzzz}{|~~||yz}||y}y~}|||zxyyx}wz||{zwxuvvyuwsxvyvvvvsvwuwyurvxvuxxzvutrssxyxrtxsvvvutwwwwvxvvwxz{z|wxw|{yyvx{{{{|}|}‚‚}~}}€{}|||||~€„~}|||~||{||€}~|~€~~~{~€~~€ƒ~ƒ~€}‚ƒƒ„€~~‚€€~‚€€€}ƒƒƒ„‚‚~„„€€ƒƒƒ‚‚‚ƒƒ€‚‚ƒ‚‚‚ƒƒ€~ƒ„‚~ƒ‚€€‚‚ƒ€Š€‚„…„‚†‚‚~€‚ƒ„…‚ƒƒ~€ƒ‚ƒ‚ƒ‚„ƒƒƒ€‚ƒ„ƒƒƒ‚ƒ‚ƒ‚‚‚ƒ‚‚‚ƒ‚~‚‚‚„„„„ƒ„ƒ„„‚ƒ€€‚‚€€ƒ…‚ƒ€€ƒ„€ƒƒ€€€€‚‚‚‚€ƒ€„ƒ„„‡‚ƒ‚ƒ‚„ƒƒƒ„€€…ƒ€€„…ƒ‚€€…„ƒ„ƒƒƒƒƒ‚†„€z„‚ƒƒ„‰ƒ‚‚ƒƒ„…„ˆƒ‚„„‚„„…ƒ„…†‡„……„„††„ˆ„…‡ˆ„€††…‚‚€€‚‚‚†††ƒ„‡ƒ††„‚†ƒ†~ƒƒ‚ƒ‚€‚‡ƒ„†„ƒ„ƒƒ€‚††…„‚„ƒ……†„„…Š„…„…ˆ…††……†ˆ‡†††…………‡ˆˆ††‰ˆ‡‰†…†Šˆ‰††ˆˆ†ˆˆ‰…‰‰‰ˆˆ…‡ˆ‡…ˆ‰‰……†……‡ˆ‡ƒ‡……††{x{}zz}zz€z||}z{yzz{z||{{{zzyz{{z~{{zƒz{yx|~{|~|}}z{}|}{|{||||}{~}}~|}}}x†x}xwwzywxxw{vzwzzzyzxwuuwwwzvzutwvvuvxwuuvxuwwvutstrvwuvxwwvzvywywwwwvwwvwxz|ywz{~~}}}~€‚‚}~}}||{{{|{€~{{€‚~~|}|€€{||}||~|}|~}}~~ƒ~~~~‚ƒ€~€‚ƒ}‚€€€€€ƒ€}‚„ƒ„‚‚‚ƒ€‚„‚‚ƒƒ‚…‚ƒ‚‚ƒ‚‚ƒ€‚€€€€ƒƒƒƒ„ƒ‚€€€€~~ƒƒ‚‚ƒ†ƒƒ„ƒƒ~‚…„ƒƒ‚‚‚ƒƒ‚‚‚ƒ‚ƒ„ƒƒƒ†„„ƒƒ‚ƒƒ…€€ƒ‚‚‚‚ƒ€€€‚‚ƒ„„…ƒƒ€ƒ„€ƒ€€‚€‚‚‚‚ƒ‚ƒ‚€€~‚€€€€€ƒƒ‚ƒ€ƒ…€ƒ„„„…ƒƒƒ„‚…ƒ†…„‚„†…†€„‚‚ƒƒ…„ƒ„…‚„…„ƒƒƒƒ€~}|~€‚‚ƒ„„ƒ…„†ƒ…ƒ„‚ƒƒƒ‚„‡ˆˆ…†††………†‡ˆ‡ˆˆˆ€ƒ…‡†…ˆŠˆˆ…„‚…†…††‡‡ˆ†‡‡ˆ‚ˆ„…„‚‚ƒ…ƒƒ„…ƒ…†‡†…ƒ‚€‚„„…†„„……‚ƒ„ˆ‚††††‡†‰…†……†ˆˆ‰†……‡„‡‡‡‡‡‡‡ˆˆˆŠ†‡…‰ˆˆ†‡‰ˆ‰ˆ‡ˆˆ…ˆ†‹ˆ‰†„‡‰ˆ‰ˆ‰…ƒ„†……‡‹‰‰†……Š|{{{z{}zy~|{{~{y{ywz||w{vz}{zyyyz{{}z~{zy}y}~{}{y€~w~{z~}|{zz|~|y{|{}~}{{{wwx{yyw}yz{wvwxwvyu{vxvwwvwwwvvwvwwvuuuuvuxuxzurvwzvsuuvzuwuvuvvvwyyzwxvwwxux{}||z|{}}}}}€‚|~}|}~|}}||~||€€~~‚~~€~~|€~~}~||‚{~|{}}|~€}~~„ƒ‚‚ƒ€€ƒƒ€|~ƒ€‚~‚~ƒ€}ƒ„ƒƒ‚‚„„ƒƒ„ƒ‚€‚ƒ…ƒƒƒ‚‚€€„„„€„ƒƒ„ƒƒ„ƒ€ƒ~€‚ƒƒƒ~‚…ƒƒ‚ƒ„………~ƒ‚ƒƒƒƒ~‚‚‚ƒ‚ƒƒƒ„‚„ƒƒ‚‚†…†„~ƒ„ƒ‚ƒƒƒ‚‚€ƒ~„„„ƒ„„ƒ‚€ƒ‚„€‚‚€‚‚‚‚„„……„‚‚€€~„„„‚€€ƒ„ƒ€ƒ„ƒ„„„‚‚ƒ„„„„„‚ƒ†ƒ„„€€‚€‚ƒ~€ƒ‚…„ƒ„………‚„ƒƒ„~ƒ†‹†„ƒƒ~€ƒ€…„ƒ…ƒ‚‚‚„ƒƒ†…‚ƒ„…„…„…„„…‡…ƒ„‡ˆ€„†……†‡……‰„‡………†ƒ‡…„‚„‡‡‡†‚†„„‚„‚ƒ‡ƒƒ……‡……„……ƒ„ƒ„‚„„„…ƒ……†…„…„„„‡†††……„†ˆ†…‡‡†……ƒ†…†…„ˆˆ……†‡ˆ†……ˆ‡…†…ˆŠ‰ˆ†‡ˆ‰ˆˆ‡‡ˆ†‰„†‡‰‰„…„ƒ„†‡……‰‰‰ˆ…‡‹||{||||~x||}z~|y~{zz{{{{{{}~~{yx{{€y|z~}}}~}y~zx~}{}~€x}}}|~{{}~|{{~€x{{{v}wzywvwwww{yzyytwuwwwvvvzuzv|uvvvuwuuwzyywyyyxxwtsuvtvwvvvwy|yxvz{{{{z|{{{|||{}}~~~}}|||{{{{}}}}}~|{}~~}‚€~~||{|}~|„|}†{€}€~~~~~€„„„€€~~~~~€€€~ƒƒ€‚ƒ}ƒƒƒ‚ƒƒ‚ƒ‚€„‚‚…„„€‚„ƒ‚ƒ€ƒƒ‚‚~ƒ„ƒ‚‚ƒƒƒ‚~~ƒƒ‚ƒ€€ƒƒ…†‡……†…ƒƒ‚€‚ƒƒ‚€ƒƒƒƒ‚‚‚ƒƒ…‚†‚‚‡~„„„ƒƒ‚ƒƒ„ƒ„ƒ‚€ƒ‚ƒ‚ƒ‚‚‚ƒƒƒ€~‚ƒƒƒƒƒ‚…ƒ‚ƒƒ€€…„ƒ€ƒ…€„ƒ…„‚€‚€€€„„„€ƒƒƒ†‚…€ƒ†ƒ‚„………„ƒƒƒƒ‡„ƒƒ…‚‚ƒƒ‡ƒƒƒ‚‚„€†…‚ƒƒ…†ƒ†‚ƒ„ˆ‚„„‡…‡………‡†……†…„†‰„„ƒ†‡…‡†‰………ƒ…ƒ‡…„‚ƒ††…†…‡€„ˆ‚„„„„†…„„…‡„„‚„„„‚…„……‚…„…ƒƒ…‡„……‡††……„‡…‰†‡…†…‡…†ˆ‡††‡ˆ†††…ˆ‡‡‡‡‰ˆ‰†ˆ‡‡‡‡‡ˆˆ‰ˆ‡‡‰‰‡„†‡ˆˆˆˆ‰†„„†ˆ‰ƒŠ‹‹‡‡‡‹|yx~|~{z{}{}}|{|}{yyzz}|z{{~{zyzy{{zy{{y|{y{x{{x{}}}~|{|~€z||{|~|{}}}|{{||xyyxv{wwwvvywvx{wvtvvuvvwvwwwuvuvvuvuvwxwvuvvzyvzzyzyyxrwvwvytvwywxyxy|{xy~zyz}{{z{}{}}}}{~~~|~‚}||||{|{€~~~‚~|z{{{}{~~}~€~~€||~‚€€€„€€‚ƒ„„…ƒ‚„€~~€ƒƒ‚‚…‚ƒ‚‚‚‚‚‚‚„~‚ƒ‚ƒ„…„……ƒ‡…‚ƒ„‚€‚‚‚ƒ‚„†‡ƒ‚‚†‚ƒƒ„‚ƒƒ……‚ƒ„„ƒ„…†‡‡€ƒ†€€‚ƒ‚„‚ƒƒ…€„…ƒƒ‡‚ƒ‡…ƒ‚ƒ‡„„‚ƒ„‚‚~~ƒ€€ƒƒ€ƒ‚ƒƒ€„‚‚„„ƒ…ƒ…ƒƒƒ„„„…ƒ‚‚ƒƒ‚ƒƒ„‚€‚‚€~€ƒ„…ƒ‚€‚ƒ…€ƒ€€€‚ƒƒ‚……………‡ƒƒ€ƒƒƒƒƒƒ‚ƒ……‡…ƒ†„ƒ‡‡‡†„„„ˆ…ƒ…ƒƒ„ƒ„……„†„ƒ†„…„…†…‚„ƒ„„„†„……†…„…†„ƒƒ…††„ƒ‡„€„†‡|…„…„…„†„‡…„„„„ƒƒ„„…‚ƒƒ„‚‚……„„ƒ‡†„„†…„…ˆ‡‡†„†‡†…„…„…†ƒ†„ˆ…„‰ˆ†…ˆ…‚ˆ‡†‡ˆ‡ˆ‡……†……ˆˆ‰ˆ…ˆ‚ƒ……‰†„„„††ƒ„„ˆ„†………„†‰{~€{~|{}}€}}}z{{{||~{{||||{~~~{{yz|z{zzx}||w}~{{{{|€~{ƒ|‚~{~|~}||}||{}{}|}|{w|wzwwwyvzuvuuuyxwwvwwwzyywwwxvuxywxxxwwvwz}|}yxyuwuvwvvw{wwvy{z|yxxyyyz|x{{{}}~}}}}}}{{~}|~|}~|{€€~ƒ€€€ƒ~||||€‚€ƒƒ€€€~€€‚€€~€‚ƒ‚„ƒƒ„ƒ‚‚‚~ƒƒ„€„€‚‚„‚ƒ„‚ƒ…‚„„…„„‚‚ƒ†„„‚‚‚‚ƒƒƒ‚ƒ‚‚‚„„„…ƒƒ‚ƒ……„ƒƒ…ƒ€‚†‚ƒƒƒ„„ƒƒ…„‚„…„‚„„„„ƒ€„ƒ‚„†„ƒ‚ƒƒ‡~…€„€‚‡ƒƒƒƒ„‚‚ƒ€~ƒƒ‚€ƒ€€ƒƒ€‚ƒƒ‚„€‚ƒƒ…zƒ„ƒ„„„„ƒƒƒ„‚‚ƒƒ‚„„………„…€€€~„‚ƒ„€„‚€‚€‡€‡€‡‚‚„…„ƒ„†„‚„†„„„‡…„„‡„‡‡‡ƒ‡„ƒ‡„†‡…ƒ„„…€„…†„ƒ„……„†……„ƒ††ˆ‡‡„„„†„‡„…„ƒ†††††‡ˆ‡††„ƒ„ƒ†ˆ„„‚‚ƒ‡‡‡†…„†…†…„„†‡ˆƒ…„„ƒ„„…†ƒ…„„„…„……ƒ†……†††„†‡‰‡††…†††‡†ˆ„…†ˆ‡ˆ……‡…†‡…„…ˆ‡‡†ˆˆ‡†ˆ‡††‡††‰‰†ˆ‡†††‚‰ˆ‚†‡ˆ……„‰ŠŠ„…†Š‰Š|{||~~~~||{|||~||||||||y~{{}yzyy|{{x{{|}~zyzyx|~}{~|{|}{}}|~z{|}~|~~|{{|}wx{xx}wvxvwxuuvvwwvzzw{wwvwvuvyzywwwxwwyxzxxuxzyz}xwzwvvvxzvvvxwwvz{|xyz~}}y{{}}‚~~}{}}}}}~~}|~~~~}~~{~}ƒ€€€{~~}|}‚€€€€€}€€~€ƒ€€€€€~€„ƒƒ€ƒƒƒ„ƒ‚‚…ƒ‚‚ƒƒƒ€ƒ„…ƒƒ„ƒ„ƒ‚ƒˆƒƒƒ‚ƒ„‚ƒƒƒ‚„ƒƒ„…‡…„„ƒ‚„‚ƒ„ƒ‚ƒƒ†ƒƒƒ„ƒ††…„†……„‚‚ƒƒ„„ƒ‚‚‚€‚ƒƒƒƒ„ƒƒ„†††‚…ƒ†„„ƒ…„„…ƒƒƒ‚‡…ˆ‚ˆ‚ƒ‚ƒ€‚€ƒ‚ƒ„‚€‚ƒ‚€‚ƒƒ…„„„ƒƒ„„…ƒƒ‚‚ƒƒƒ„ƒƒƒ„„„ƒƒ„„ƒƒ„„„ƒ€‚ƒ‡…„„„ƒƒ€ƒ€„€†‚‡„„ƒ……†„ƒ…†‚‡…ƒ‚ƒ„„††„‚ƒ††„„ƒ‡„„‚ƒ„„…‚ƒƒ…ƒ…„‡†‡„†„………„‚€€„„€†„„…†‡‡‡†ƒ‚‚………†ƒ……††„‚‚ƒ„„†„†€„„„…†„„„†€ƒ„„ƒƒ„ƒ{„„ƒ„…„ƒ……„ƒ…„…„††ƒ„…………ˆ‡„„…………†‡…ƒˆ‰†‡†…‡ˆ‰ˆƒƒ†‡‰‡ˆˆ‰‡……†…‡†…‡‰‡ˆ‰‰†……†‰‰…†ˆ„††„……„‚†„†‰†ˆ|{~||{{|}{|}~|~}}}}|}{zyz{}|}|y{z{zz{||{zyyyzx{|}}|}{{|}€€}~}|~~|||}z|xxz{|vyxxwyxwvvvvwwvxw|tzwwxzzywwwyyzywvxwwvxyzzzwxxyy}xzzzyyzuzwwywywyz||~}}|{}y{}{}~~~€}{{{{|}€}{}|€|‚€|{~|‚~€~|€|{€€}€‚€€€€€~~€€~€€€€€‚ƒƒƒ‚ƒ‚„„€…ƒƒ„ƒƒƒ€€‚ƒ„~„ƒ„…„ƒ„…ƒ‚ƒƒ‚ƒƒƒ„†‚ƒƒ‚„„…„‚†…„…„ƒ‚„ƒƒƒƒ‚ƒ‚‚‚‚ƒ‚„„†{‚‚ƒƒ„†ƒƒ„………ƒƒƒƒƒ…ƒ‚ƒƒ„†ƒ„„‚„…„…†…†…„ƒƒƒƒ‚„‡‡‡…„„‚ƒ‚‚‚‚€ƒ‚„€€‚„ƒ€€ƒƒ„„„ƒƒƒƒ„ƒ€€„…‚ƒƒ„‚„ƒƒƒ†„€ƒ†ƒ‚ƒ€ƒ„…ƒ„‚„‚ƒ„†„„€††…€„„„ƒ‚‡ƒ‚„‡ƒ„ƒ……†ƒ…‡……‚ƒ„ƒ„…†…ƒ„„„„„ƒ„„ƒ…‚ƒ„ƒƒˆ…„…„‚„‡ƒƒ„……†„†…„††…†„ƒ‚‚……†„„„…„„„…„„ƒ………‚†ƒ†„„ƒƒ„„„„„†…„ƒ……„„†…†„…„„…‚‚…„…„…††…††‡…„†‰†‡ˆ‡…†…‡…††‡‡‡†‡‡††……‡…‰‡ˆ††ˆ„‚ƒ…ˆ†„„†‡‰ˆˆˆˆ……‡‰‰†…‰…†…„‚„„ˆ†…†‡‡‰|{{~}|{|{{|}|{}~~~}|z||{{||||}{{z{{{z||yyyxyxxzz{~|}x}~~|xxy~~xyzzz{|{{yywwwvyyxwwxwwvvuwxwwxwv{vyvwvyvzyxy{zwzzzzzzzzzyyzuywwyzzzzwzyzzzzwxzx|{wz}{|}}w~}}}~~}~}|}y~~~|}|}}|{|~€~|€|~~~}}}|‚€}}‚€€€~ƒ€~€…‚„~€€‚€ƒ€ƒƒƒƒƒƒ„…„„„€ƒ‚ƒƒƒƒ€ƒƒ„…ƒ„ƒ…„ƒƒ„„„ƒƒ„‡ƒ…‚ƒ……‚…†ˆ…………‚„ƒˆ‡ƒƒƒ‚ƒ‚†‚„ƒ††„‡‚‡‡‡„ƒƒ‚‚„„„‚„„ƒƒƒƒ†‚„„ƒ‚„ƒ„„„ƒ„……ƒƒ„„†‡ƒˆ†…‚ƒƒƒƒˆ‡ƒ„„‚„ƒ„ƒƒƒ„ƒ„ƒ„€‰„ƒƒ€‚„ƒƒ‚„„‚„ƒ„……„…„„„……„ƒ‚„ƒ‚…ƒ„„ƒƒ€‡ˆ‡…ƒ‚€‚‚‡…†ƒ‚………ƒ‚…ƒ‚€ˆ…„ƒ‡€‹„ƒƒƒ„‡†„„‡ƒ„ƒ…„…„„‚‚…‚ƒ„ƒ†„„ƒ‚ƒ……ˆ…ƒ€„„„…„ƒ„††……„…††€ƒ†ƒƒƒ„ƒ…†‚„‡„„ƒ‚…‡‡ˆ†……ƒ‚„ƒ…„…‚…„„ƒ„ƒ……„„€€ƒ€ƒ„‚‡„„ƒ„„„€ƒv…€„„„……„…‡‡††………………ƒ†…‡‡ˆˆƒ†…†‡†††ˆˆˆˆ…‡‡………‡ƒ‰Š‰ˆˆ‰††‡Š……„………†…ƒ„‡…ƒˆ‡‡ˆ||||}}}|~{|{€z}|}}{{|{|}{{|~{{{|zzz{yzxzxx{~x{z{}zyyzx~|y{yz}|||zy|~~z{}z}}|{{wwwww‚wxwzwxx|vvz{{|wvyyw|wzxzywvvzzzzw{zywzyywzxzzzyyxxxxwxwxwwwwvv||}x}xxy{{{||~~~|~||{}~}{{{{{||{~|€}‚~~}~~~~~~‚~~~‚€€~~~~€~~~~‚€€~‚ƒ„€„†ƒƒ„€€€ƒƒ„ƒ‚ƒƒƒƒ„„„ƒ„„……„ƒƒ„…„ƒƒ„„‚‚……„„„‚†ƒ†‚ƒƒ‚ƒ‚ƒ„‚ƒ‚„ƒ„ƒ‡ƒƒ„ƒƒ‚‚„„„…ƒƒƒƒ‚‚‚‚„ƒ„„„„ƒ‚„„…ƒƒ„„„ƒ…„ƒ†„„ƒ‚ƒ„ƒƒ…„„‚‚ƒ…„ƒ„„ƒ„ƒƒ„€€ƒ„€~~}…ƒ„‚€~‚…ƒ€€€€€‚…„…„…€ƒ„„„‚‚‚‚ƒ…€ƒƒƒ‚‚‚…ƒ…†…†„…ƒ‚ƒ‚‚‚‚ƒ„‚€‚„€‚~ƒ~‡ƒ†„„„ƒƒ„………ƒ‚‚„ƒƒƒ„ƒƒ„†„ƒ‚‚€„…ƒ€‡„„ƒ„„ƒ„†…„†…„†…„………„…„‚„……ƒ†„„……‡…„„„‡„ƒ„„…………‚ƒƒƒ…ƒ„„ˆ‡†‚…€…ƒ‚ƒ‚„‚…„ƒ„……„†‡„ƒ…„†„€†……‡……ƒ„…ˆ…ˆ††ˆ‡‡ˆ†…ˆ†‡ˆ††‡†‡‡ˆ†‡………ˆƒ‰ˆˆŠŠˆˆ‡†††…………†ˆ‡……†„…‡ˆˆˆ||}}}|||~{z{|{}|}€}~|{z{{{|}|{zyz}|{x|{z|€yzyz~y{z~~|wx~{||{|}}~~}{zy||{ywywvywwwuwwyxxw{zwxvv{wwvw|yzxwxzzyzzzz|xwxzxxyyzzyzxyyyyyxzxxyxw|{{{}}}|}{||~{{{{}~€~~{~}||{{{{z€}}~}~€€}€~|~~~~~~€~€„~~~~€€~…‚‚‚…€€‚‚„……„„„ƒ„„„„„…„„ƒƒƒƒƒ‡„ƒ‚„„…ƒ…ƒ‚ƒ………ƒ„„…ƒƒƒ‡ƒ„…„ƒˆ„‡‡ˆ‡‡‚„„…‚‡†…ƒƒƒƒƒ„…‡†‡ƒ‚…ƒ€„„†ƒ„ƒˆ€„ƒ„„†…‡…ƒ‚‚‚†‚„„„ƒƒƒ‡ƒ„„‡„…ƒ„ƒ„ƒ‡„ƒƒƒ‚€€€‚ƒƒ€ƒ€ƒƒ‚„ƒƒ„ƒ€€~€ƒ€€€…€€€€€ƒ„ƒ„‚ƒ€€~„„ƒ€‚€ƒ………„‚‚ƒ‚ƒ„…ƒ‚€‡‚‚ƒ„†ƒ†…„„ƒƒƒ…„‚‚„€ƒ€†ƒ‚ƒ„‡††…ƒ€ƒƒ…„ƒ„„‚‚‚ƒ„†‚„ƒƒ‚…„„ƒ€„€„ƒ„„†††„…†€…‡„€„…ƒƒ‚„‚„„†„…„……„ƒ‚‚ƒ‡ƒƒƒ„ƒ‚„ƒƒ„„„„ƒ…„ƒƒ‚€ƒƒ…ƒƒ…„„†…„†~…„„……„ƒ„ƒ†……†ƒ‡…„†„…„…ƒƒƒ†„„…„ƒ†ˆˆ„ˆ‰†„…ˆˆ‡ˆˆ„‡‡†……‰†ˆ‡‡†…†…†„ˆ†…‡…„…†„„„†„‡}||}|~|~~|}{~€ƒ{}}}||}~zzz{{{{{}{{|~~}~~{{{yyy}}~}{z}}~~{||}{}}{}yxx{{zwwvvwv|u{uywwuzywwxwxwwz{|xxyxxyyyz{{z{yyxxzy}yz{}{zy||{z}}~w}wwz|zyz{}{{||}|{z}~}||~~~}~{}||{|{{{z{{}}}}}~€€€~€€€€€|‚~~~}‚ƒ~~~‚ƒƒ‚€ƒƒƒ…€„„‚‚‚ƒ„†‚…„€‚‚‚ƒ„„„………„†……„„ƒ‚ƒ‡…„„…„†ƒ………„„‡„‡„…ƒ‚ƒƒƒ„‡„„„…ƒ‚ƒ…„„„„ƒ‡„ƒ…ƒƒ„ƒ„………‡‚‡„„ƒƒ„ƒƒ„„„„ƒƒƒ„ƒƒ„……ƒ…ƒ„„„„„„ƒ‚€…†‡…„‚‚‚€€ƒƒƒ€ƒ€~ƒƒƒ…ƒƒ€€€~}ƒƒ„„†€‚‚€ƒ…€†„ƒƒƒ„ƒ†„‚…„„„ƒ‚ƒ†„„‚ƒƒƒƒƒƒ…………‡…†††„ƒ‚‚‚„‚€ƒƒƒ„†…†……………‚‚…„ƒ„…„…„‚„‚ƒ„€€…‰‚„€€…„ƒ„ƒ…††‡‡…………„ƒƒ„€…‚‚ƒ†‡„ƒƒ†……‚‡…ƒƒ„‡‚…ƒƒ„‡‡ˆ‚…………„„ƒ‚ƒ………„……†††€………‚……†‚ƒ……†‡ƒ‡‚††††ˆ†ˆ…‡††ˆˆ„†…†…‡ˆ†‡ˆ‡‰ƒ‚…‡‡ƒƒ…†‡…ˆ‡‡‡ˆ††‡‡…‰…„††…‰„…ƒ‡ˆˆ†…ˆ}z}~~|{}~~~||€~{{{{||{||y{{y{{z{{~|yyz{{zyyx{}{{zz{z{yxxz||}}|{|z|~}~{}}}~~{{{ywy||{xvwwwxxvxz{{zz{xvwv|zzz{{|zwzz{{{{z{yxv{y~z{{}}{y|{zy|{{yyyz|z{xy}}{x{}|{|y|~}}|}}}}~}}z~}~z|z{{z{{{|}~~€€€‚‚~~€~|~~~|~€€~~ƒ€~€‚„ƒ€„„„‚‡„ƒ‚‚‚‚ƒƒƒ…„ƒƒƒ‚ƒ„…ƒƒƒƒƒ‡†ˆˆ„„ƒƒ„ƒ„ƒ…†…ƒ„…‚ƒ††…ƒ‡‡‡†…ƒ‡„„…„‡…„…†‡…ƒƒ…„„‚ƒ‚‚€ƒ„„ƒ……†ƒ„ƒ„…‡‚‡„…ƒ„ƒƒ„„ƒƒƒ…ƒƒƒˆ†„„…ƒ…ƒ„…ƒƒ‡ƒ„ƒ€‚ƒƒ‚‚ƒƒƒ€€‚ƒƒ‚‚ƒ€‚ƒ……ƒƒ„……ƒ‚‚ƒ„„„€‚‚€ƒ€€ƒƒ€„‚„…†„„ƒ„ƒ„……†ƒ…ƒƒƒ…€†„ƒ„……‚…‡…„ƒƒ‚ƒ€ƒ„ˆƒ„€ƒƒ„„„…‡†„„…„„„…„„ƒƒƒ„„„„ƒƒ„ƒ„ƒƒ‚†……ƒ…ƒ…‚ƒ„€…†…‚~‚†„ƒƒ‚„†ƒ‚„††ƒƒƒ‡„„„†ƒ‡…ƒƒ„ˆ€…„†‚ƒ‚……†‚~ƒƒ…‚~~‚‚ƒ†ƒ‡„€…ƒ…„„„„„…„ƒƒ„ˆ†…††…††‡‡ˆ‡‡††…‡‡‡‡†„ƒ„‚ƒ„……„„…‡……„ƒƒƒƒ††‰ˆ………„†‡„‰„……‚‡‡†……~}}}}~}}~~ƒƒ„€‚~~}€{|}{z€y{z|{}~|{yy{{|x||y{}{{|~~zxxz|zy||{|z|}|{|{{{{}||||||{|y{{|{{{|{{{{zzzzyz{}|{zzz{zzzyzyz{z{vyz{{}|}|}}}y{|}{|{{|}{{{yyxv}{||}}|{|}|{|}~}‚|}~}}{z{{|z{|}|}|€}|~€€ƒ€~€€€€„€€€‚€€…ƒ„…ƒƒƒ„ƒ‡……‚‚„……„ƒ„„ƒƒ„„…ƒ„ƒ„ƒ‡‡‰‡ˆ‡ˆ………ˆ…„‡ˆ‡…ƒ…„………†…†‡‡†„…‡…„„†ˆ…„„…‡ˆ†„„„„‡††ƒƒ€‚€€€€ƒ„ƒ‚…„…‚ˆ†…ƒ„……†ƒƒ…†…„‚ƒ‡‡‚ƒƒƒ„…„„„ƒƒƒ…„€ƒƒ„ƒ„„„‚ƒƒ„„„„„‚ƒƒ…ƒƒ„€€„ƒ{„‚ƒ„……………„ƒ€Š€…‚„ƒ………„ƒ„…„…„…‡†‡„‚„…ƒƒ€€ƒ……ƒ„†„‚„†‡‡ƒ„„„„…‚ƒ‚ƒ„ƒ‡ƒ‚…‡„ˆ‚‚‚…„‚„…„„„ƒƒ…ƒ„…ƒƒ„„ƒ‡„†…„…„……„„………‚‚„ƒ……ƒ„ƒ†„ƒ€…„…„„ƒ†…„„ƒ„„…ƒ…†‡†‡…„„†ƒ…†ƒƒ„„„……„„†ƒƒ€†…„‡„„€‡†€…ƒ„†…†ƒ………†…„‡‡†…„……†ˆ‡ˆ…†ˆˆ‡…„…‡ˆ‚ƒ……„†‡†„„„„………„„‡Š†ˆ„‰†‡‚‰„……†††…ƒ‡y}}||~~}ƒ~||~~~ƒ~~|z}{||xzy{{|~{{{|{y|}~~|zy||~~~|{|{y|~{{{|}~zxz{{{|||~|yzyy||y{{{{{{zz{|{z{|{{}y|{{zz~{zzz{zyzzxxz{{zz~}}}{zzz||{}|~}}z}{yyx|z|~~~||||}~}~~~€||~~{||~}~{|{~}}~~{|}ƒ~~~€~€€€~‚‚€€„‚€ƒ€‚€…€„‚„„€ƒ„ƒƒ„„„„…ƒƒ„ƒƒƒ„„…ƒ„ƒƒ‚ƒƒ…ƒƒ„‡‡‡…†…„‡ˆ…‡‡‡‡„†ˆ……‡‡‚‡‡…†ˆ‡‡‡‡‡ˆ†‡„ˆ†„†„…„„†‡ˆ‡†ƒ…„†‡†…„‚‡‡†‡‡†ˆ„„ƒ……ƒƒƒ‡„ˆ‚„„„……ƒ„ƒƒƒ‡‡‡…ƒƒ…ƒƒƒƒ„…ˆ†ƒƒƒƒ‚ƒƒƒ„ƒ…„„„„„„~……„ƒƒ‚„…‡………‚‚‚‚‚‚‚‚†‡†„‡‡‡ˆ‡††‚‚…………………„ƒ„‚ƒ‡…‚„†‡ƒƒƒ‡‡ƒ‚ƒ„‡ƒ†‚‡…„ƒ„„…„„ƒ…„ƒ‚„…‚ƒ„ƒ……„‚„„„…„„ƒ‚„„‡„„…ƒ…ƒ„…„„„„€„€‚†„…ƒ€…†„ƒ‚ƒ‚ƒƒ††„ƒ„…„…‡…††…„„†„„„ˆ…„„†ƒ‚ƒƒ……ƒ€ˆ‚‚‚„„†€†€ƒ†|…ƒ…‡…†„„ƒƒ†…†ˆ…ƒ„…ˆ‡‡…ƒ€‚…†……†…„„…‡ƒ………ƒ„†‰††ƒ‚„†ƒˆ„†‚‚‚€ƒ‚yx|~~~{}€|}{~~}€„ƒ„~|z{||}||yxy{{|}}{|{|yx}y{~zyz|}}||{{~}{z|~}}}|}z}}}|y||||||yw|{{{||{}|z{{zzxzzy{}y|{zz{|~|~{|zzz{x}{{{{|}}~}{{{|}||||{z{z}}z{x|z{~}|}|||}~~}}~|{|{||}}€~{~~}~|{}€~‰€€€€‚€ƒ€ƒ€„€ƒ…„†„‚…ƒ€‚………„„„„ƒ„ƒƒƒ…„„ƒ„ƒ…‚……†„„„…„„„…†‡‡‡‡‰†…ˆˆ‡…„ˆ‡‚…‡…‡ˆ…„‚†ƒˆˆ‡ƒ‰ˆ‡†‡ˆ‡ˆ‡‡ˆ‰„ƒ…‡…„…ˆ…ƒ†ˆ…ƒ…„‡…„„„„…‡ƒƒ‡„‰„…‡†ˆ†ƒ„„ƒƒ†„‡‡„ƒƒ„ƒƒƒƒƒ„ƒ…ƒ„ƒ…ƒ‚ƒƒƒƒƒ€„…ƒ„…~„€…ƒƒ‚ƒ„ƒƒ…ƒƒ†€„‡‚‚‚‡†‡„†††„ƒ„‡ƒ„†…„„‚ƒƒ„………ˆ…ƒ„…†ƒƒ‚‚…ƒ‡„ƒ‡ƒƒƒ„„ƒƒ„‡……„„„‚‚€‚„………„ƒ„„„„ƒƒ„……†……„…„…‡„…ƒ…‚ƒƒ‚ƒ‚†‚„…‡ƒ†„…„…††ˆ†‡ƒ„…ˆ„†…††‡„…„„„ˆ„ˆ„…‚„„…ƒƒƒ‚ƒ„……„………„……†…………ƒ‚‚ƒ†‡‰„††ƒ„„„…„…ƒ„†ƒ‚„„„‚ƒ…ˆ‚„………„…‰†„…„‰‡†…†……„‰…†………‡ˆ‚ˆ……‚‚‚ƒ†{xx}y|~~~}~y}{{|~{~€|}}yx~~zy~{|~|{{||zyƒx{|zwy~x|{~|~{~|€z€~z{|~€€y}~~|~z|}zy{|||{www{|{||wywz{y|z{{}{{{u{}|{{{z{{y|}{~}~{z}}|}~}zyz|}{z{}}||y{|y~~~~~}}|~~€~}ƒ|~}}~€~}}~~}~€‚„~~~~ƒ€ƒ€ƒ€„€„€„„ƒ…ƒ…‡„~‚€€€ƒy…‚…€†„„‡†„‚ƒ…„„„„ƒƒ†‰†„†‡„……„…ˆ‰‰ˆˆˆ……ˆ‡‡…„†ˆ‡ˆ‡†‡‰ˆ†…‡†‰‡ˆ„ˆˆˆˆ†…†‡‰……„„ƒ‡„ˆ„…ˆˆ†…„„ƒ„„ˆ†…†‡ˆˆ‡…ƒ…„‰‰†……‡†‡‡ƒ„†…ƒ‡…‡ƒ‡ˆˆƒˆˆˆ„„ƒ„„„ƒ„„ƒ„†…†ƒ„ƒ‰ˆ‰……ƒ……„…„ƒ‚ƒ„€ƒ‚‚€…‚‡„‡††„„„„†‡…†……„…‡‡‡‡‚‚…††„ƒˆƒ†ƒ‚ƒƒ……†„‡‚‡„„ƒ„ƒ„ˆ„…„„…‚‚ƒ…„ƒ‚„ƒ„‚……„…ƒ„ƒ„ƒ………†…ƒƒ„€€€‚ƒ…………ƒ„„€…„…‚€ƒ……„†€„„…‡…„…ƒƒ‚‚…†‡…„ƒ‚„„„„…ƒ„„…„„„„€€„ƒ„„„„……„†„„†ƒƒ„ƒ‚ƒ‚†„…‡…„……†‡…„‡…ƒ‚„‚ƒ„…†„ƒ„ƒƒƒ‚…ƒƒ„ƒ|ˆ„……„„ˆƒ†‚ƒ‚…„‰……†……ˆƒˆ†|…„„‚ƒ|~||{||}}}z}|{|}||{€xw}~~}{zyz{z{||{{yzy{zz~}|z|}~~{{~€{zzy€}||{~€||}}~~}zx|{{z||{{|{{zzwywz|{yxxz}|zzwzz|z{z~{{x||{zzz{{|{~}}}~y}}}}|||}}}~|{}y}{}~}}}}~~}‚ƒ~~||||{|~}ƒ||~~}€‚‚‚ƒ……†}‚€€€ƒ€€„}~~}}€€„€€€€€ƒ‚‚ƒ……†„……„†„„…„†„„ƒ†€„€€„†††…„„‡‡ˆ‡„ˆˆˆ‰‡†ˆŠ…ˆ…„†…„ˆˆˆ††„‰ˆ…‡ˆˆ„ˆˆˆ…„ƒ„…„‡†…‡ƒ‡‡…„‡ˆ‡„„…„…ˆ‡†ˆ‡ˆ†…„„„…ˆ‡‡…‡ˆ†„„…„ˆ……‡ƒ„……ƒ‡„‚…„„ƒƒƒƒ‚„†…‡………„ƒ€ƒ†‡ƒƒ„ƒ€„‡……ƒ„„„„„ƒƒ„‚‡ƒ‡‡…„…‡…ˆ„„…†……†††‡ƒ„…„‡ƒ„„†…ƒ„„…„……ƒƒ……„„„„††„…ƒƒ„„………€€ƒ„„……††…„„„ƒƒ…†††‡‚…„…„„ƒ†€„…„†…‡€……†‚‚‚„…ƒ‡†„…ƒƒ„…„„„‚ƒƒ„†„„ƒƒƒ„„„„„„†„„…ƒ……ƒ„„„„„„„„†………‚ƒ†„„„†…‡ƒ€………†………†…†…ˆˆƒƒ…ƒˆ€‡ˆˆ†…„‚‡„ƒ„…ƒ…ƒ„†ˆ‡ˆƒ„……†…„ƒ‚‡…‰…†……ˆŠ‡†………„„„‚‚ƒ|}~~}}{}}~|||{{{{y~{{}|~zw|}zz}z{{z|zz||{|yzy{yy~y|{{}{{~{{€zzz{}~€|}{{~~~}{||{{zxwy{{|{z{{zzzzwxwy{y€}|z{z{{vzy{xz|zyzyyzz~z{{z|{}}}|{||}}{~}{}{{|}}}}}}}|€}~}‚|~}|}~}€~}~}~‚‚ƒ‡ƒƒ€~ƒ‚‚‚…„ƒ‚„€…ƒ„„~€€ƒƒƒ€†ƒ€€ƒ€„„†„{…†ƒ„„…„„…‡…€„………„ƒ„…‡‰‡„„„ƒ††ˆ‰ˆ„ˆ…ˆ‡‡‡……„†……ˆ†…ˆˆ††……†ˆ„„†ˆ†ˆ‰‰…ˆ„†„„†ˆƒ‡ƒ‡…………‡‡ƒ„…†„ˆˆ…†‡………‡‡‰„‹‰ˆ…‰‡ˆ‡ˆˆ………‡ˆ†…„ƒ„…„ƒƒ…„Šˆ‰‡„ƒƒ„ƒƒ„††„„„„…†‰ƒ„…†€„……ƒƒƒ„„…„‡ƒ…‡‡‡†‡…††ƒ‡„…‡†„…†……„†‡‡ƒ„„„ƒ„ƒ……†„…‡ƒ‡„……†„ƒƒ„…ˆ…„„‡„„‚ƒ………ƒƒƒ‚„………‡…„‚„„„…†‡††‚ƒ€…„…„„€€ƒ€„……†„……‚ƒƒ…ƒƒ†€„…„‚€„„…„„„„„„…„…„„…†„‡„……„…ƒ„„…†…†„„…€……„‚…‡„„…‡…„…ƒƒ„…ˆˆ………†„‚„ˆ†……„„„ƒ……ƒ…ƒ…„„…†€‚ƒ††………ƒƒ‡……†‡„„€€€€…€…†‚‚€…‚~}~~~|{||}|}{z{|z€y~{|y}x|{{{}}}z{z{{|{z{|yy{y{|w~y}{{z{~}z{{~~{|}}}}}{|~|{{}||w{{|z{|zz|z{yy{z|w~}{{zz{{z|{{{{{zyzyzz{~{yy{z|~|}{}}}}}}€~|{}}|~~}|||}}{|}~~~~€~ƒ}|~|}~~~~}~~~~‚ƒ€}‚‚…‚ƒ„„‚ƒ‚„‚€€€‚€ƒƒƒ€}ƒ‚„„‡‡„‚ƒ€„……ƒ…„…„……„…„„………„€€„„„‚†…‡ˆˆ„‡ƒˆ…‡…„……ˆˆˆˆ‰ˆˆˆ†„ˆ‡……………‡‡ˆˆ‰†……„…†‡ˆ„„…„…„……†ˆ‡……††‡ˆ‡†††„„ˆˆˆ„‡‹‡…‡‡ˆ‰‰‰„…„‰ˆˆ„…‡‰…ˆ„ˆ………ˆˆ‰‡†„ƒ„……„ƒ„„‚………ˆ‡†ƒ„ƒ‚„……„…‚„„ƒ„„ƒƒ„ƒ†‡†‡………„„‡‡‡……„…‡…„‚‡…„„…‡……†…„‚†‚„„†ƒƒ…‡‡‡‡‡…†ˆ‡…„‡‡…†…†…††…‚ƒ„‡„ƒ………ƒƒƒ†‡…‡‡†‚ˆ…………„„…†‚‚„…„…ƒƒƒ†††„‡…………€ƒ„ƒ‚ƒ‚‡„„„„ƒ‚„…„…„„…‡„…€„…„ƒ…ƒ„…………†‡††ƒ…ƒƒ…‡……„…„‡…†…„……„……‡††…‡…†…ƒ„„‡†…„‡„…‡……„…ƒƒƒ‡……‚‚„„„…„ƒ…‡…Šˆˆƒ†‚€…………ˆ‚€„…„‚~€~z}~{|~||~||||xxxyzzxy~|z~|{z{{{zz}{zzzzy{y{{z~{xz|{~z{|~{~~zz{~|~|z~}}{}|||x{||x||z}~}|yz|{z~}{zz{}z|||z|{{y|{{z{{~}~zyz~}~~~}€~}}~~}~{~€~}|{}|~}~|}}ƒ}}~~~~}~~€€~~€~‚ƒ‚ƒ|‚ƒƒ‚ƒƒƒ„†ƒƒ„„ƒƒ…„‡ƒ€€€‚‚€„ƒ‚‚…„†„†€…ƒ„‚„„‡†…ƒ„…ˆ‡…†‡ƒ†„…‚†……€†‡††‡„ˆ†ˆ†‡…ˆ„†ˆ‡‡‰‰ˆˆˆ‡…ˆ‡„ˆ„Š…Œ‹Š‹…‰……†ˆ‰‰…††…‡‰†‰…‰ˆˆ„††ˆ‡ˆ‡ˆ††…‰†‡ˆˆˆˆˆˆˆ‰ˆˆˆ„„…‡ˆˆ…†‰‡ƒ„…………„ˆ‰‡ˆ‡„ƒ…„…„„††……„„„„„†††€……†††‚‡‡„ƒˆ„„„…†‡‡‡††…†„„†ƒ…†………‡‡ˆˆ‡†ƒƒˆ„„‡…‡„†„ƒ€…‚‚†………‡†††‡†ˆ‡‡‡…„„…„†‚ƒƒ„………†‡„††„‡…‡‡‡†‡†††„†…€‡†„ƒ‡ƒ…„„„‡‡…„†…„„€„„‚…‚………„„ƒ…‚……ƒ…„„…„…„„„ƒ„…„‚„„„‚‡†„ƒ„ƒ‚‚„ƒ„„„ƒ…†…ƒ…„…†„ƒ‡†††„…†††…†„„‚…†ƒ‚……†…†…‚ƒ„‚„…………‚…………ƒ‚…††Š‰†‚………‚„…‡‚€„†…‚~~yzzyy||}z||{{€z|xƒz{}v|{|{z{yz{{|{z{x{y{y~z|{€z|zz~}}y~{z}~y|||~~||~|z|{{{{{}~||}|~w{{x}}{|{{{{{|y}z{|{{{{y{{z{{~z||{}~}{yz}}~~~}}}}~~~~~~}~~z~~}~~~~~}||~}ƒ€~~€}‚€‚€ƒ‚‚~}}{}~~‚‚ƒ|‚}‚ƒƒƒ‚‚‡„„„ƒƒ†ƒ„ƒ†ƒ‚„„ƒ„€ƒ€‚~…‚ƒƒ…„†‚„ƒ‚………‡…………†„††‡‚‚‚ƒ…€€€……‚†„„„„†‡…‡†‡‰ˆˆˆ†„†‡ˆˆˆ‡„„„……Œ‰‰†…†„…‡‰‰………………ˆ‡……………„…„†ˆŠˆˆ†…‡…„†‡ˆˆˆˆ‹‡ˆ‰…‰ˆ‡ˆˆˆˆˆ‡…ˆˆ‡ˆ†…„‡…ˆˆƒ†………„€…„„……„„„……‡ˆ†……ƒ„…„…‡ƒ…‡†……†…†„…††…‡‡‡…†„„†…†…†‡‡……†…‡†ˆˆ†…‡„ƒ‡ƒ††††…‡ˆˆ†‡…„††…‡‡ˆ‡†‡…‡‰††††…„ƒ‡„ƒ†ƒ„„…†„ƒ„†‡‡…ˆƒƒ†…‡‡††ƒ‚ƒ‡††…†ƒ„†‡……„…‡†„ƒ„„…„‚ƒ…‚……„†‚„ƒ‚„„„………„„„„……„„„††ƒƒ…‡……†††……€ƒ„„„……ƒ……†††‡………ˆ‡‡‡†…‡†…„‡…„ˆ‚ƒ€‡…ƒ……„…ƒ„‚ƒ„…„ƒƒƒ…†…†…„††‡Š‰‡€ƒ…„„„…†…†„†ƒ€ƒ€|y{€|z|||~|{{{|{{€zz}€wz~|}yyz||{yyxxx{yyy{x{|{|zz~€|}}}}~{~~}{y|}|}}|x~{||}|}y|{{xyyx}z|z}€||{z{z{z{{{z||{z{z{{~{{|z|~|}~~z||~|{~~~€€~~}}}~~~}}~~~~~}|~~ƒ€€ƒ}}|~~}‚|}}}~‚~ƒƒƒ€ƒ‚ƒƒ„ƒ‚ƒ‚€€ƒ‚ƒ„…ƒ„ƒ„‚€…~ƒ‚„‚„„‡„‚„ƒƒ„†€„ƒƒ„†„„…‡†‡„ˆ‡Œˆ‡……ƒŽ„…„…ƒ…„ƒ‰……„†…††ˆ†‰‡…‡‰†…‡†ˆˆ‰‡‡ˆ‹ˆ‰‰‰ƒŒ‡……ˆˆ‹„‰ƒˆˆ‰‡†…†‡‡ƒ‡……‡ˆˆ‰†‡„………†ˆ‡ˆ‰‰‰ˆˆ‰ˆ‰ˆˆ‡ˆˆ…‰ˆ…‡ˆˆ……„…„……†††„‡‡†‚ƒ………†…ˆ„†‡ˆ††„…„…………†‡‰‡‡‡†…†ˆˆˆ‡…‰ˆˆ…‡ˆ…„‡‡†„‡†ˆ‡‡‡ˆ‡ˆˆ‡†‡‰ƒƒˆƒ„…‡‡‡†…„‡……ƒ‡…ƒˆ…ˆ††‰†ˆ†ˆ††„…„………„……„ƒ……‰†„†‡†‡ˆ†ƒ…ˆ†„€„†ƒ†‡ˆˆ…ƒ†‚€†ƒ‚ƒƒ„ƒ…††„‡„‡„ƒ‚„ƒƒ„„„…ƒƒ‚ƒ……………„„‚‚‚ƒ„„………ƒ„ƒ…†ˆ…†……„………€…„„ƒ…ƒ††…………†ƒƒƒ†‡ˆ†„†‡ƒƒ†…„€‡…„…„……‚‚„‚~„ƒ„‡†…„‚…†‡‡‰Š‡€ƒƒ…ˆ…‚‚ƒ‡†~~€~z|{|}|{~|y}€€y{|~~~€}}|{|}|{z{yyyzzyyyz|zxzy|€€~zy{}}|}€|{|{}}{~||~||~|x}{{wyww{y|{|€~}{|{{{y{|{|||zz{{{z{{|{~|~~}~{z|~~~~~€~~~~||{|z|‚}}~|~~~}~€~~€€~€}}~~~‚€‚‚~~‚ƒ‚~~ƒƒ„€‚ƒ…ƒƒ€ƒ†„„|‚€ƒƒƒ€„ƒ„€‚€‚„‚‚„„„ƒ„„…„††……‡‰‡††…„„…„†…„„‚…„†…‚ƒ††…ˆˆ„ˆ…†ˆˆ‰‡††‡††††ˆˆˆƒˆ‰‰…‰‰ˆ‡‡ˆ‰……„‡ˆ‰……‡„ˆ‡ƒ‡…‡‰‰‡‡†ˆˆ„„†ˆ‡…ˆˆ‰†‰ˆˆŠ‡„ˆ‹ˆˆ…ˆˆˆˆˆˆ‡…„‡}‡„…ˆ†………‡„ƒ„„‡„„„……†‡„„…„……†ƒ„……ƒ…ˆ‰‡…†‡†…‡‡‰‡…ƒˆƒ……†ˆ…‡…††‡‡†…„†‡……†‡‡‡………‡‡‚‡……‡‡‡ƒƒ‡ˆƒˆ‡ˆ††……ˆˆ‡†‡ˆ………„…„…‡‡‰‰‡‡†…††‡ˆ†„‚…‡…„„„„…„†‡ˆ„…ƒ…†……†‚ƒƒ……„„„„„„ƒƒ€€ƒƒƒ„…‚‚……ƒ„…ƒ†‡‡…ƒ…„„„…ƒ„ƒ†……„…††„……†…ƒ€„……„‚„ƒ„„„‡ˆƒ€………‡ƒƒƒ„…‡…„‡…………„‚…„„„……††„„ƒ‚†…Š‰ŠŒ‡‡Œ„€„……„ƒ……‡†…~}|}~|zyyxy||}~|{{{}}t~~}|zzx{zyy}zzzxy||yyzy~z{{|zzy|y||}~~}zyx~~yz{}~~~yz|{zz|{{z{{||~}}|{{|y{|{||||{|}{zyyy{z{{{~~}~{|€~€~€~~~~|}}}}}}~||~}~}€}~‚€€}€ƒ…€~|~€}~‚‚€~€„ƒƒƒ„ƒƒ€€€€‚€…………ƒ‚‚ƒ‚ƒ…ƒ}„€†„„€‡„…€ƒƒ‚ƒ…„„…†…„‚…††………‡‡ˆˆ‰‡‡†…„†…††††††…„…††††…‰ˆˆˆˆˆ†‡‰†Š‰‹ˆ‰‰ˆ†‰‰ŒŠ‰ˆˆˆ‰‹‰‰……ˆˆ‰‰‹‡„ˆ‰„ˆ„ˆ†…‡ˆ†ˆˆˆ‡ˆˆ†„ˆˆˆ†‰ˆŽŠˆˆˆˆˆ‡†ˆ‰†ˆ‰ˆˆˆ„ˆ‰‡…††‡ˆˆ„‡…„„‚„†‡‡„‰ˆ†…‡…‡…‡†„…„…‡ˆˆˆˆ…ˆ†‡‡‡‡‰‡…‰††ˆ‡††††„‹Š‹‰ˆ„‡††‡‡„†ˆ„……†‡‡‡„‡‡‡………†‡„‚„‡……‡„‡‡……ˆ†…†„…††††‡‰‰†‰‡†‡†‡‰†…ƒ‡‡…„†„ƒ„ƒ…ˆ…ƒ‚„‚„‚†‡‡‚„……„‚€€‚‚ƒ€ƒ€„…‚„„…ƒ„ƒƒ‚„‡†„‚„„„„………ƒ€††……„~„„†ƒ………††‚††ƒ„‡…‚‚€……‚ƒƒ…ƒƒ„‚„€…ƒ…„‚„ƒ€€ƒ……„„„ƒ‚……‡‡Ž†„‚‚ƒ€‚„††‡††~€z~}~zzyyz~}~yy{}~z{|~~}}~~~||}{x{|y||||zx{|zzy~€~}~~|~}}||~~}~}~~€}{{|~}|yy}||}|{{|{{{|z|y||{|z}z{~~|{yz{{{zz{~~{~|{{|~€€€~~}~||€€€~~|}}~€}}~~~~~ƒ~}~}~~ƒ„ƒ„‚‚€ƒƒƒ‚ƒƒƒ„…€€ƒ„€‚‚‚€~…€‚„ƒ…ƒƒ‚‚‚‚€„‚ƒ†„„„…„………„†„„„……‡†‡„…‚„„„†„„……„…†„‰†ˆ‡††…………ˆˆ‰ˆ‰‰ˆƒˆŠ‹…‹‹‹Š‰Šˆˆˆˆ†ˆ‰ˆˆ†‡‡‡‡†ˆ…†…††ˆ…†‡‡ˆ‡ˆˆ„‡ˆˆ††ˆˆ†ˆŠ‡†ˆ‡‡‰ˆ‡ˆ„‡ˆˆ„ˆƒˆˆ…ˆ‡ˆˆ…‡†„†„„†‰‡†‡ƒ‡††…‡††‡‡‡†‡‡†ˆˆ††‡††‡…‡‡‡…†‡†„‡†ƒ‡†…†‡†„„„ƒ‡‡…‡‡„…ˆ„††„‡‡‡ƒ‡‡†‡‡‡…ˆˆˆ‡†„‡…„ˆ…„…„…†‡……„………†……‡‡‰ˆ‡…†‡‡†††‡…†…‡†…„„…‚‚„†„ƒ…‚‚†„‚‚†…‡…„„…ƒ„„„„„„ƒƒƒ…„ƒƒƒƒƒ…ˆƒƒ‚ƒ‚„ƒ‡„„„ƒ‚†……ƒ„„‚‚ƒ„…„†„……†„‚€…†„…†‚‚€ƒ„…‹‚ƒ‚†…†ƒ‚ƒ…€„€€„„„‡…„‚„†„ƒƒ†ˆ‰ˆ‹†‡†††„ƒ‚ƒ†ˆ…ƒƒ‡{~xwyxy|y{ww||€}|~~~~}z{||y{~~}~||{|}}yƒz€}z|||{{}z}~~|yy{}z{|~|||~€{|||~||{}}yyz{yz{||}||}}~|{||~{|~{{|||}~|y|{z{|{€}|zzz|~~}€~€}~~~~~~|~~}{~~}ƒ}‚ƒ~~}~|ƒ„ƒƒƒ‚‚ƒ‚‚ƒ€„€ƒ‚ƒ‚ƒ€„„„~„‚…€ˆ†„€€€†‚€ƒ„„„…„‡„‚ƒ‚ƒ„ƒ‚…ƒƒ…„‡‡‡‡‡…„††‹†…„…„…„‰‡ˆ†……‡†‡…‡†…„‰…†‡†„…†……‡‡‰ˆ‹ˆ‹‰‰ˆŒ‡Œ‰‰Š‹‰‹ˆ‹‹Œ‹Œˆ‹‰‡…‰‡‹‡ˆƒ‰‰ˆ†ˆ„І‰‡ˆ‡‰…†…ˆˆ†ˆ‡ˆˆ‰‰††‡‡ˆ‰ˆ†††ˆ‰‹„ˆˆ†‡…‡ˆ…‰‡†…‰„‡ˆ‡†ˆ‡ˆ‡ˆ…‡…ˆ†‰‡Š…†‡‰ˆ††……‡††……‡„‚‚ƒ‚ƒ…ƒˆ‡‡‡‡‡‡†‡‡ˆ‡ˆ‡ˆ„…†„‡ˆ†ˆ‡‡ƒ‡ˆ‡ˆˆ†‰Šˆˆˆ†„…‡‚‰‡ˆ…„„…„„………„…‡†ˆˆ‰ŒŒ†‰‡‹Š……†††‡…‰……‡‚ƒ„ˆ…†ˆ„‡‚„…ƒƒ„„„ƒƒ†„„ƒƒ„…„ƒƒ„„ƒƒ‚‚„„„„ƒƒ„…„………„ƒ……‚„…„„……„‚…„„……„ƒ…‡„……ƒ†††„ƒƒƒƒ„ƒ€‚€„€…‚„……†„…†ƒƒƒ„‡‡†ŠŒˆ‹Ž†……ƒ„ƒ‚‚‚„€ƒ‡‡}~yy|y}xzyzz}~~{z~~{||}|}€‚{{y~|zyz~‚~||}|‹y~y€€~|}|z}z||}~~~~|||}~}|~|€|yx{~~wz}~}€|||||~|||y}yz€{{||z|{{z{{|||x{z{~}}~}~~{|€~€|ƒ|||}}}~~~~~}‚‚‚€~~ƒ~~~‚‚‚‚‚€€ƒ€‚ƒ‚‚~ƒ€€‚€ƒƒ‚‚€‚‚„…€ƒ€†ƒ„„‚…„†‡‡€‡ƒ†ƒƒƒ‚ƒ†……‡ˆ‡†‡†„…‰†…‡‰‹…‡ˆ„„†………†„„…‡………„…ˆ‡ˆ‡ˆ…………ˆ‰ˆˆ‰Šˆ‰‰†…„‰‹‰ˆˆ‡‹………‹ˆ‰…ˆ…‰‰ˆˆ‡„ˆˆˆ‰ˆ…„…ˆ‡ˆˆˆ†„ˆˆˆ‡…ˆŠ‡†‰‰…†‡‰ˆ‰†ˆˆˆˆˆ‰…ˆˆ…‡„‡‡‡„…†…‡„ˆˆ†…ˆ‰…‡……†„ˆ†‰‡‡„†‡†ˆˆ‰ˆˆ‡††‡†ˆ…ƒƒ…„ˆ††‡„…‡‡‡…‡‡‡‡‚‡‡†…„„…†‡ˆˆƒ‡„†‡‡‡…„‡†‰‡††…††…ˆ†……„‰„ˆ‚…††……„††………„…‰ˆ‰‹„‡†‹†‰‰Š†‡…„ƒ…††‡…„„‡ƒˆƒƒ‚…ƒ‚ƒ…„„€„…„€‹„„„„„„„…ƒ‚‚„…………„„„ƒ†…ˆ‚‚ƒ………„„…‡„ƒ……………„ƒ……„€€‚†…„€€…„…„„ƒ…„~‚‚‚„„†„ˆ…†ƒƒ……†‰‡‡‹ŠŒŠ„‚„€‡††…†‚ƒ€†ˆˆ~}z~}x}xwyxw~z|yz€y|{|yx|{|~{}}~{}|z€|}€{~€}€z~zyz}{}|{}{|}x{yxyzxyz{|{~}|~~||zxzx~yz}|~}||z€|}{~~zz|z|{z{|{{{~|z{{{||{zz{}||z}~}~|}}}}~€~|{||€{}€ƒ|~~~„}€~€ƒƒƒ€€~~~‚‚ƒ„†€„ƒ‚ƒƒƒ„‚ƒƒ€„~‚ƒƒƒƒ…ƒƒ„ˆ‡ˆ‰…„‚ƒ‡„„„ƒƒ…„‚€ƒ‡‡‰ˆ‡†…‡‰ˆ†„‰†……‡…‡ˆˆˆ‡…‡……‡…„„…‡…ˆ‚…ˆƒ„†ˆ†………ˆˆ‰ˆˆˆ‰ˆ‰ˆ‰ˆ‹‹‰‰ˆ†‹†ŠŠ‰‰‹…‰…‰ˆŠˆˆ„‹ˆ‰ˆˆ‰ˆ‰ˆ‡†††…†‰‹ˆ‰ˆˆŠˆ‡ˆˆ‡ˆ‡ˆˆ‡†††‡ˆˆˆ‡‰‰…„……††……‰…†‡‰‡…‡ˆ‡†‡‰„…‡‰ˆˆˆ‡ˆŠ‡‡†††‡ˆˆ‡……‡†‡‡‡‡ˆˆ‡‡‡…„†ˆ‡†…„‡‡†‡‡‡†……‡…†ˆˆ„ˆ‚‡„…†……‡‡ˆ‡…„…………‰„„…„…„ƒ‚…ƒ„†…„…†…‰ˆ‡‡‰ˆŠ‰„‡‡…†ˆ‰Š‡††…†…†…‡‡†ƒ„ƒƒ…€€ƒ€„„ƒƒ~ƒ„ƒƒ„„„„……€‚‚„„ƒƒ„‚ƒ……†‚ƒƒƒƒ‚‚„…„ƒ…€†……„„‚ƒƒ†‡…„„€…„‚‚€€€„„„…„…„‚„………„„„‡‰‰ˆˆ‰ŠŒŠŠ†€€ƒ†€ƒ‚‚„€‡|}yz|{~~{}€~~z|~~~|z|{||||~y‚{~~y{€€}|{€|~~z|yz{}}|}€|~zy€€€~~}}€|y{}~~}~}}x}||||{}y~|z|~~y}z|||z{z{z~~~|}z}|}zz}~|~~~}|{~{~~€~€}|}}‚~€}~€~~~ƒ~„€}‚~€‚ƒz„‚‚ƒƒƒ€ƒƒƒ‚‚€„ƒ‚€‚‚ƒ„„‚‚…„„ƒƒ€ƒƒƒ„‚ƒ€€€€‚‡ƒƒ„……‡†……††…††‰……†…‡‡‰‡…†‡…‡„‡†‡‡‡……ˆƒ„‰ˆ‰ˆˆ†„…†‡††‰‡‡‡ˆˆ‰ˆˆ‹‡ˆ‰‹…‰†††……„……„ˆˆ†ˆˆ…‹ˆˆŠˆ‰ˆˆˆˆˆ…†‰‡†„„‡ˆ‰ŒˆŠ‡ˆˆ‡‡ˆ‡ˆ†‹‹‰††ˆ‹ˆˆ††…„„‡‡‡‰„†‰‡…†‰‡ƒ‡††……†‡‡†…†ˆˆ‡†‡ˆ‡†‡ˆˆ†‡‡ˆˆ…‡†‡‡‡ƒ‡ˆ…‡‡‡‡Š„ˆ††ˆƒ†ˆ†‡††‡‰‡‡ˆƒƒ„„†…„…†„„„ˆ‰ˆ……„„…†…„ƒ‡†…„„……††„„…„†„‡‡‡ˆƒŠŠŠ†ˆˆ‰‡ˆ…‡‡‰†‡…„……ƒ‚ƒ‡‚‡‡‡‡†„…€ƒ€ƒ€ƒ€‰‚„„„„„„€ƒƒ…„„ƒ„„‚‚‡‚€„……‡……„ƒ†………†……„…†‚…„„‚„„ƒƒ…€‚ƒ‡€‚‚‚€‡…„„…„…„‚„ƒ‚„„†…ˆ„…‡‡‡‰‰‹ŒŽŽŠˆ€€†‚€…ƒ„‡z{xyyz{{|~||~~z}~{€v}{z~€}{y|z†|}}{|~€|}€y}€|||{|z|{€€€{|}~~{~~€€}~{}||~{‚|yz|}zw}~||{{z~{wy|{zyz||zz{z|zz|||{{|||{|{}}zyy{z{~}}~}€~€~}}~~}~‚€~~€€€€~€}~€‚}ƒƒ~ƒ€€€‚ƒƒ‚ƒ‚„‚‚€~~ƒƒ‚€ƒƒ‚€‚ƒ‚„€‚ƒ‡„‚ƒ„ƒƒ„‡ƒ„‚ˆ†††€„†„„†…‡†‚„†…†††ˆ‰…†‡…†‡ˆˆ„‰‡……„ˆ„„ˆ‰ˆ…ˆ†„†ˆ‡ˆ‰ˆ„‡‡‰………‡ˆ‰‡‹Œ‹‹Œ…‰‰‹‰ˆ‹Œ…‰ˆˆ…†††ˆ‰ˆ‰‰Œ‡…ˆˆ‡ˆˆ‡‰Š…ˆ‡‡„‰„…†ˆ‰‰‰‰ˆ‰‰‹‡‹‰ˆ‰‹ˆ‡……„…ˆˆ„‡ƒ††ˆ„‰†‡…†‡‡…‡‡……‡‡‡††ˆˆ†‰‡‡†ˆ†‰ˆˆ‡ˆˆ‡†ˆˆŠ„ˆ‡‹‰‰‡‡‡„‡ˆ‰‰†„„‡†ˆ‡††…†‡…‡‡‡…ˆ‰†„„…†„††ˆ„„…ˆ‡†……„ƒ„†ƒ„„‡†‡„€ƒ……„…‡………†‡‡……‚…‰†‡ˆˆ‹‡…‡†‰‡†„„‡†„‚„‚ƒ„ƒ„…€„€€ƒ„„„…‚ƒ……„„€€„ƒ„€…„„€…†……†‡†„‚ƒƒ†…€…€‚‚„…‚€€€‡€‡…ƒ€€€€‚~~…„‚„„ƒ„„€†…„„…„…„…„††‡‰‰ŒŒ‹‹Žˆƒƒ‚ƒ…€ƒ„„ƒ…x{y|y~{{z{{z|~~~x}|xyw{|||~|~~z{{|{{z{‚||y{|||zzzzz{zz{|~~~~~~~}}~€|~|}€z{|{|~x|~}}~|w}{|zww|zzyy{||x{|}|{||}z{||||{{{}|||{{{~}{~z~{}~}~~~~~„~ƒ~~~„ƒ…~}~~~~~}~~~ƒ~„ƒƒ~€€~€€ƒƒ…ƒƒƒ„‚ƒƒƒ‚€€ƒƒ‚ƒ€€ƒ…ƒ‚ƒ‚…ƒz„ƒ‚‡ƒƒ„†…††…„‡‡„ˆˆ…„†…‡‡………†„„„‡‡‡‰………„…„…‡„ƒ„„‡‡‡‡†……‡‡†‡‡‡†††‡‰‰ˆ…‰ˆ‰†ˆˆ‡†ˆˆ‡‰‰††‡‰†‡ˆˆ‡ˆˆˆ†…††…ˆ…‡„…„ˆ‡ˆ‰‡ˆˆ‰‰†„…ˆ‹ˆ††††‡†‹ˆ……‚ˆ†…„ˆ‡†„…††ƒ‡‡„‡‡ƒ€‚…ˆˆ„‡‡‡ˆ†…ˆ‡†…‡ˆ‡‡‡ˆ‡‡ˆˆ‡†„…‡…ˆ†ƒƒƒ„…‡‡†‡†‡†‡………ˆ††‡‰‡ƒ……‡††„‡…„„‡ˆ‡†„‡ƒ„„„……„„„„‚‚ƒ……v…‚……„„ƒ‡…†‡ˆ††‰†‡†‡ˆˆ†‡‰…†……„„‡ƒ‚…‡ƒ€„ƒ‚ƒ„„„„ƒ‚‚€€€‚„„„„‚…„ƒƒ…‚ƒƒ„……††…„„…ƒ„€„‹………ƒ‚‚…‡€€‚‚€ƒƒ‚‚‚ˆ„ƒ‚‚„‚„†…ƒ„…‡Šˆˆˆ‰ŠŒŒŠŠŠŽŽ†„……€€…€„…†„z}~zxwy{vwww}|x{y{}wwy|xyxx|}|}|{|{}{|{|€}{z}}{zz{{{{zxy|~~}}{~€~~~{‡|~~y{||{}{|~~~xy~~}}}{|{x~~~{|{|y{{€€€z~~|{zy{{{z{|€}{{}}y}~~€{~}€~~z{{|~€~}}~~~}~}~~}~€|ƒ€~~~~~ƒ‚‚‚„„„~‚€~~‚~~€„„‡…‚ƒ‡„‚ƒƒƒƒ„ƒ„„ƒ„ƒ‚ƒ‡…„„…ƒ„ƒ„„„„ƒ„……††‡„‡…†‡†ƒˆ……„„…‚„…„ˆˆ‹„†…†…‡„‡‰‹……†‰‰‹‡……‡„†…‡ˆ‰ŠŠˆ‰ˆˆ‰‰‡ˆ‡‰ˆˆ‡ˆˆ„‡‰…††‰ˆ†…‡…ˆˆ‰ˆŠ‡ˆˆ‰…‰…‡‰ˆ††‰†……‰ˆ„‡‡ˆ‡‡ˆ†‡‹ˆ‡‰‰‹‹‚ˆ…‡‡ˆ†„ƒ„„‡‡‡„„…††‡‡†ˆ‰††…‰††…‡‡ˆ‡‡†‰ˆ‡‡‡‡ˆˆ„…„„ˆ†…‡‡†‰‡„„‡…ƒ‚‚„‡……„„†…‡ˆ‰„………‡‡‡„†……†ˆ‡‡†…‡‡ƒ‡„…†ƒƒ„ƒ‚……„„„†††„……‚ƒ‚…††…‡……Š…‹†‡†‡‡…‰†………„†ƒ€‚ƒ„ƒ‚„„…ƒ„ƒ…ƒ„ƒ„ƒ„„€…„€„…„…„ƒ……†††††…„‚………€„ƒ‚†ƒ„~€€€~†ƒƒ€ƒ‚„‚}…‚€†…‡„†ƒ………†…†ˆ‡‡‹‹Œ„ŠŠˆ‹‰‰ˆ‹‹‹…€…€…€ƒƒ††‚~}|zxyx}}~xz{yzz{|}yxy|y|{|~||z}|~||{}{{|~z{|y}{|z{wy~||z{€€|Œ|~}|~~~}~~|}|~||{{}~}|zz}|||{{||~|||||{{{{z{||z{{{|{}~€~€{~}|}|{|~~~~~€~~}~~~~€~}~€€€€}€€~}€ƒ‚ƒ~~~€€~}‚~ƒƒƒ€€€ƒ„ƒƒ„„ƒƒ…zzƒ‚ƒ„‚€€€ƒƒ……ƒƒ„ƒ„„ƒ††‡†‡„†ƒ„ƒ…„…††„ƒ††„‡†‡„†„„†‡†‡†„„†‡…†‡†…‡ˆ……‰‡†‡‡‡ˆˆˆˆ†‹„‡ˆˆ‰ˆ‰‡ˆ‡†‰…†…‰‡‡†…‡ˆ‹Š‰‰††‡††ˆ‡ˆ‰‡‰‹‹†‰ˆ‰‡…‡ˆˆ†‡‹ŒŒ‰ˆ‡„ˆˆ‡…ˆ„‡…‚‚…†………„…………†‡‡ˆ‡‡……‡†ˆ†‡…†††‡‡‡ˆˆ‰‹‹‹‡ˆ‡‡…‚ˆˆ…††ˆ‡„„…†‡†‡†…‡„………ˆ…‡‡ˆ„ƒ‡‡‡‡‡‡…†‡„ƒƒ‡Š…†…„‡……„„‡„…€…††††………ˆ„……†ƒ‡…ƒ†ˆ„‡ˆ…†……ˆˆ‡…‰‰‰…†…„†ˆ„ƒƒƒƒ‡„„„„„„ƒ…„„…„‚‡„………„…†‡……„„…„„…ƒ†‡…‡……„„ƒƒ‚ƒ…†…€†………ƒ‚€…€€ƒ~‚‚ƒ€ƒ……†„ƒ„……ˆ‡ˆ‰Š‹‹ŒŠŒŒŽŽŽ–ŒŠ‹‡ƒ€€†€€…€‚€ƒuxzxyyxxzwy{}{zzz{~|||}|{|{}~|}}}{~{{|€z{}}|||z|z{~{}~}~~}{€~~€~~~||}|||{|z}}}}|}|~||z||~|~}|{|{}z{zz}||{z|z|}}~~z€{€|‚}~{€|ƒ~~€~€~}~~€~€€€€}€„€}~‚~‚„€€€‚‚‚€ƒƒƒƒ‡ƒƒƒ‚„„„„‚‡†‡†ƒ‡ˆ‡†‡€ƒ‚ƒ…„‡ƒ€ƒ†„„ƒˆˆˆˆˆ…‡††ƒ‡†‰‚‡†‡……„…„‡…ˆ††………‡…ˆ………‡…ˆ‡‰‡‡…ˆ…†‡‰ˆˆ†ˆˆ‰…Š‹‹…ˆˆ‹ˆ‹‡‰‡‡…‰‡‡…‰Š‰ˆ‰‡ˆ‡Š‰‰„…‡‡ˆˆˆ‰ˆ‡‡ˆ‰††ˆˆ‰‹‰ˆ‰‡ˆ…ˆŠˆ‡‡†ˆ‡‡†‰ˆ‡……†‡…†„„…†‡†„‡‡ˆ‡‡‡‡‡‡†‰ˆ‡……‡…††ˆˆ‡‹‰ˆˆ‡‡‡‡‡‡ˆˆ‡…††‡††…‡‡‰„‡‡‡……†‡………‡‡†ˆˆ‡‡‡‡‡‡ˆ……ƒˆ‰„‡‡…†‡‡‡††……‚…ƒ…„…„†‡†„…‚„…‡…ƒ„†ˆ†‡†„ƒ„‡‡ˆ†ˆ„„‡†‡‡„„„ƒ„†…†„ƒ‚‚ƒ„…„†„„ƒ…†„„„„‡…‚„…„‡…††ƒ‚……ˆ…ƒ……€†…†„„}|y„ƒƒ„ƒƒƒ‚ƒy}|~ƒ„‚€……ˆ…‡‡ˆ‡ˆˆˆˆ‰‰ˆˆˆ‹…ŒŠ‰ŠŒ‹‹Ž‹Š……‚…€ƒƒ†€~€xyyyyzyxzyz|{zyyx|{€~|y~|ƒ||z|~{}|~|}||~}y{~{z|z€{||||€{~}|}}~z€ƒƒ~|}||~||~~||}}|{{{|}|{{{z|~~~}|{{|||{{||}{|~z||~€{}~€~~‚}{~~}€~~€€~}|~€~}~~}~}}‚ƒ‚€„~€}~€~‚‚‚„ƒ€€}€…ƒ‚‚~„…ƒƒƒ‚‚ƒƒƒ„„„ƒ‚ƒƒƒ‡†„ƒƒƒ‚ƒ„„…„„…†ƒƒƒ„ƒƒƒ„ˆ‡††‡ˆˆƒ‡…„„„„ƒ„……ˆ……………„………†††…‡ˆ†„…‡…†‡‰‡…†‡‡‰ˆ†‰ˆ‰†ˆ„ˆ‡‡‡ˆ†‡…ˆ‡‡…ˆ†††‡‡‰‰‰ˆ‡ˆˆ‰†ŠŒŒˆ‰‡†‡‰††‡ˆ‰ˆ‡‡…‡‡…ˆˆˆ‰‰‰†††‡ˆ‰‡…„„†„††‡ˆˆˆ…„……‡‡‡†††‡„ˆ‹‹‹…†ˆˆ‡„„„„†‡‡‡‡†‹‡…‡ˆ‡…‡‡‡††…†‡‰‚‡‡†‡…ˆ‡†…„…††ˆ‡†…‰ˆ‰ˆˆ……„‚‰‡‡…†…„………†…„†…„„…†…†…ƒ‚‡ˆ‡…††„„ƒ†……††……†ˆ‡ˆ‡ˆƒ‚‡‡‡†‡‡ƒ…ƒˆƒ‚……‚ƒ‚ƒ„„…………„…………‡‡‡‡††…††…†…„„…„„…„…€‚†…~……†ƒ…|€€…€ƒ€„ƒ„}€€„„„„„†ˆˆˆˆŒ‰‡‡…‡ˆŠ‰ŠŠ‹‰ŽŠ‘‘’‹‹‹Œ‰†††€‚„„‚€„…‡€„€‚ww{yyyyyy{~|zxwwy}}}yyz|}ƒ||zy{}{x{~}~~~{{{||}{|~z}zz|{}{{€€€~~~€|{€{€{~}}}{|}||}{|{}~~{|||}~}||}}~|}}{{|{z{||t|~~|{}}~~~~€€‚~}~€|}}~€~}€}~~~|}~~~~|€~„ƒƒ~~ƒ‚‚}~ƒ‚‚ƒ…„†‚‡„‡ƒ€ƒ„ƒ„‚†ƒ„ƒ„‚ƒƒ…€‡„„‚ƒ‚ƒ‚„‚‡…„†ƒ„„„„„„‡„‰ˆ‰‰†………ˆ‡ˆ†‰ˆˆˆˆ‡‡…‡††ˆ‡†…ƒ…‡ˆ‡‡††‡††……‡‡‰‡‡†‡†ˆ‰‡‡ˆ†‹‡‰…‰‡ˆ‡‰‡‰‰‰†ˆ…ˆ‰Œ‡ˆ‡Œ‰‡ˆ‡ˆŒˆ‡Š‰‰‰ˆˆ‡‡††‡‡‡‹ˆ‰‰‡†ˆ‡‰ˆŒ‰ˆŒˆ‡‡‰ˆˆˆ‡………‰ˆ‰‰ˆˆ†……‡ˆ†‡ˆ‰‰ˆ‡‡ˆ‰‰‡‡‡‡‡…††‡‡‡…†ˆˆˆ‡†‡†‡ˆ‡††‡‡…‡‡ˆˆˆ„†ˆ†††‡†…†…†‡†„†ƒ„ˆ„„…ƒƒ„ˆ…ƒ†……„ƒ……†††………„†€…‡††‚‚…†……„…‚„„„…‡…ƒ…††ˆˆ‡††ˆƒ„‡†‡†ˆˆ„ƒ…ˆ„ƒ„„ƒ…ƒƒ††……†……†……ˆ‡…††…ƒ„…„††‡†…‡ƒƒ„‚ƒ‚€€„€„€€€‚|€€€ƒ‚€€„ƒ…„‚ƒ‚ˆ‰Š‰Šˆ‰ˆ†‰ˆŠŠ‹ŠŠ‰ŒŒŒ‹‰ŠŠˆ‡‡…€ƒ„‚‚€„ƒƒxxwyyywzx~~~y‚wƒy{|{{w}†{zy{~}|}~|{|{|}{{{~{{{}z{{~~€~}~~‚ƒ„€€~~~~~~}~{~~{|}|}{{}~{{{|{|y~||z{~|||z{z{y~|~~~~~~|€}~~~~}€€€€€~„~~~~}~}ƒ‚‚}€}~~~}~€~~~~~~}~‚„€}}‚~‚ƒƒ„„…………ƒƒƒ…„ƒ„†„‚ƒ„„…„ƒƒ†ƒƒƒ…„‚€‚‚„„ƒƒ†ƒ„††‰‰‰‰ˆ‡‡†‡†ˆ‚‡ƒ…„…††‡…„ƒƒ„ˆ‡ƒ‡†††…„†ˆ‡†‰ˆ‡‡‡†‡‡ˆˆ†…†ˆˆ‡††‡‰‡ˆˆ‰ˆ‡‡‡ˆŠ‰ˆˆ‡‰††ˆ‰‰ˆ‡ˆ‹ˆ…‰Šˆ‡‡„„ƒ‡‡‰‰‹Œ††‡†‡ˆ‡‡‰ˆ‡‡ˆˆ‡Šˆˆ‡ˆ‡‡ˆˆ‰‰†ˆ……‡ˆ‡†‡…‰‹‡‹†„‰‡‡‡…‹†‡ˆƒ‡ˆ†‰ˆˆˆ„‡ˆ‡‡…†‡‡†‡‡„…„ˆˆ†„…‡‡††Šˆˆ‡ˆ…†…†…‡„‰…‡†…„…ƒƒ…‡…†„„††…†……†…„…„…†…„„ƒ‚…„„ƒƒ„ƒ„ƒ…†‡††„ƒ‡‰ˆˆˆˆ…„††‰‡†ˆƒ‡ƒˆ†„ƒ„‚‚‚ˆ„…††…†ƒ„ƒ‡†…ƒ„…†‚‚…†…†ˆ‰ˆˆ‚ƒ……€‚€„…†…„€‚€€…€}€…€ƒ‚€‚‚‚‚„‡…„ƒ„ƒ‰‰‰‰‹‰‰‡ˆ‰‡ˆŒ”‹ŒŒ‹‹Œ‹ŒŒŽŒ‚…ƒ€ƒ„„ƒ€€€†‡ƒzwyxwzyyw{||zyx~xy||~yxyzy{~{z|~y|}|}}|{{}€€~|z{~{{||~}~‚€}}~€€„x€€}€~€{|{~}~}{{{{{||~{}yy||{|{~{|z|||~|{€|}}{|{~|||}~~€€~‚~€€~~}€~}~~~~~}~}~~~€~~€~~|~|~ˆ}€}ƒ‚€~ƒƒ†„ƒ‚ƒƒ‚€ƒƒ€€„ƒ„‚„…‡‚„ƒ‚ƒ…€ƒƒ‚ƒƒ„…„€‡„„‚‚€€‚†‡‰†‹‡‰ˆ‰‰‰……‚‰„†‡„„ƒƒ„„…†‡„„„†ƒˆ†…„‰ˆ‡‡ˆˆ‰‰‹…‡†ˆ……ˆ…„‡†‰ˆ‰ˆ†‡…‡‡†ˆˆŒˆ‡‡ˆ…ŒˆŠ††ˆ…‰‡‡‰ˆ‰‰‰‰‰‰‰‰ˆ†‡‡ˆˆ‰ˆ††‡†‡…‡‹ˆŒ†Œ‰ˆ‡†‡†‡‰‡††‰ˆˆ‡…‰ˆ†‡†‡†‹‰‡ˆ‡‚‹Š‹ˆˆ‡‡‡ˆ‡‡ˆ‡†…ˆ‡†‡†‡†‡‡‡ˆ‡‡‡†‰‡ˆ††…Ї‡„ˆ‡‰ˆ‰…††Šˆ‚ƒ†…††ˆ‰ˆ‡†ˆ‡‡…†ˆƒ‡†……‡‡……††††…ƒƒ……††………„„ƒƒƒƒ‡ˆ†„„……‰‡‡ˆ‡‡‡‡Š‰„†ƒƒƒ†ˆ„ƒƒ‚‚„…„„‰ˆˆ‚…ƒ…†‰†„…‡‡†…††††ˆ‡ˆˆ‚‚‚€…‚€€„ƒƒ€€€„|~‚€€ƒ……€‚………„„…‡…ˆ‡†‰‹‹Š‡ˆ‰†‡‰ŠŒŠˆ‡Š‰Š‰ŽŒ‰ˆŠ„…‚€~€€zzxxy}zzwz~yyyy~yxz|zywwy}{~}{|}z|}}}}|}|{{~}~}|{{}€~{|}€~}}€‚€€€€~ƒ€~€~}}|}|~}~~}~~}~~||||}~|}}{}}{{{~€{{|}||~|{{~{|~~}~~€w€€~ƒ~~~~€€€~~~~}}}~~|€~~~~~~~~}ƒƒ~}|~}|}~~ƒ€‚‚‚€€„ƒƒ}…ƒƒ‚ƒ„„„ƒƒƒ€‚ƒƒ‚†„ƒ„ƒ„…„„„„ƒ„„‡……‡‡ˆ‡††‡‡†‚‰ƒ…‰‡‡…‡ƒ‚‡‡†‡„‡†…††…„‡‡‡‡ˆ…‰‡…„…‡‡‡‡‡†‡‡‡‰‰‰Œ…‡…‡‡‡‡„‹Š‰ˆ‡„Œˆ……‡‰ˆˆ‡‡‰‰‰ˆ‡…‰ˆ‡ˆˆˆˆ†ˆ„ˆˆˆ‹‡Œ‡„Œˆˆ‰‹‡Œ†…†‡††‡ˆ‡†‡„„†‡‡ˆˆ††…‡ˆ‡„‡„„„І†‡ˆˆˆƒ‡ƒ‡ˆˆ‰‡‡††……‡††‡‡ˆ‡‡ˆ………‡„……„„‡ˆˆ…ˆˆ‡ˆ‡†…‡…‰‡„……‡‡‡‰ˆˆ‡‡…„ƒ„††…‰ˆˆ‡‡……‡†„ƒ…‡…ƒ…ˆƒ…„ƒ„ƒ‚„„ƒ†ˆƒ‡…„‡ƒ…ˆ…†††‡ˆ…†ƒƒ„……ƒ…ƒ††‹†ˆ††……ƒ„ƒƒ…ˆ‡ˆˆŠ‡†…‰‡…„†…„„ƒƒ……ƒƒƒ„‚ƒ€‚…€‚€€€…‡†…€„…ˆˆ‰……ƒ„ˆˆ‰Š‰‰‰‹ˆˆŠ‹‰‡Š‰‰‰Šˆ‰ŠŒŠ‰‹‹Œ†„€€}}}€}€|}{x|yy|yxxz~~€z~~~yy{y||zy||{~|||z|~}}|Šy|{|}€}|€~€~~~z~|z|ƒ€~€~€‚~€€‚ƒz}~|}~~}~€y{|{z{|{|||{}{|{€}}{{||€€|{{|{~}|}€€€„‚€}ƒ€|~~€€€„~~€ƒ~€€|~ƒ„|~ƒ~€ƒ„„„„€€~‰~ƒ~~ƒ~‚‚€……„ƒƒ€€€„ƒ‡ƒƒƒ„„…ƒ„…‡‡‡ƒ……„‚„…ƒ‚ƒ…€‚†ƒ‚…†……†‰††…ˆ††ƒ‰„„‰ˆˆ‡…ƒ‚‡…ƒ…„‡†„‡…‹…ˆ†‰†‡„‰ˆ‡………†‡‡…‡‡‡ˆ‰‰ˆ‡†‡Œ‡‰„ˆ…‰‰‹‰‰†Œ†‡†ˆ…ˆˆ‹ˆ‰ˆ‰ˆˆ‡‹ˆŒ†Œˆ‰ˆˆˆˆ‡Œ‹‡‡‡‡‰ˆŒ‹ŒŒ‹‹‹‡ˆ‡††‰„†ˆ‡†‡ˆ‡…ˆ…‹‡ˆ‡ˆ†ˆˆ†ƒ‹‰‰†‡‡ˆ‚ˆˆˆˆˆ‡‡†‡ˆŒ†‡…Œ‹‰ˆˆˆˆˆˆ‡ˆˆ‡…ˆˆˆˆ‰ˆ‰ˆˆ‰‰‡‡„†‡ˆ‡‡†‡‡‡‡‡‡†…†…†……‡…†‡ˆ†…†††…‰‡‡††ƒ†ˆ€„„„„‚‚…‡‚„‚…††‡‡…‡††††‡‰‰‡‡„ƒ„…„‚„„…ƒ…†††††‡ˆ‰†ˆƒ‚†ˆ‰…ˆ‰‡†‡ˆ†……………‚„†………„…„„ƒ…‚€€€„‚‚ƒ|ƒƒ„‚ƒ€€ƒƒ„‚„…†……‡‰‹ŒŠ‰‹ŒŒ‹ŠŒŒ‰Šˆ‰‰‹ˆ‰‰‹Ž‹Œƒ…€€~~€}€}}zy|yy}w{w{~z}z{yzw}z~|~yy{|{|{||~z|}|zx}{{y~€}|~~~~}}||}|{€€€€~~„€~€€~~|}€€}~~~~y…€€~{|~€z}~|||{{z{||{{{{~{}~||||||||xy|€€€{~~|~~~{€~€ƒ~}}€€}€€€~~}~~~~€‚„}‚‚„ƒ„ƒ€ƒ‚~€ƒ‚‚‚ƒ…‚€„„ƒ€‚„‚ƒ‚ƒ„„ƒ}€ƒƒƒ„‡‡…‚‚„ƒ‚„…‡†‡……‡‡†…„…‡†‡ˆ‡Š†‚„†„ƒƒ‡‡†…ƒ††ˆ„…ƒˆ†…††‡‡ˆ…………†‡ˆ„‡‡‡‰‡‡†…ˆ†‹„…†‰‹ˆ‡ˆ‡‡‡‡‡†ˆ‡†‰ˆˆ†‡ˆ‡‡‡ˆ‡ˆ††ˆ‰ˆ‰ˆ‡‹‰††ˆ‹ˆˆ…†††††…††‡……„…„„‡‡‡ƒ‡ˆ‡ƒ…‡‡‡…†ˆˆ†„ˆ‡ˆ‡ˆ‡‰…‡ˆˆ†ˆˆ†…ˆ‡‡ˆ……„„ˆ‰‡…‡ˆ‡‡ˆˆ†………‡ˆˆ„ˆˆˆˆˆˆ‡†…‡‡‰‰ˆ„‡‡‡‡ˆˆŠ†…„……………ˆ‰ˆ†ˆˆ…„ˆ‡†…†‚…‡…†„†„†„ƒ…‡…†ˆˆ…‡‡„…††‡ˆ‡‡‰„‡…ƒ„„‡‹‰ˆ…‡‡‡…†…†‰†‰ˆ„‡†Š†††‡…„ƒ„„…ƒ…†…„„ƒ„ƒƒƒ‚‚~……ƒƒ€€ƒƒ€…ƒƒƒ‚„‚„……ƒˆˆ‰‡†‡Œ‹‹‰‹ŒŒ‹ŒŒŠŠŠ‡ˆˆŠˆ‰Œ‹Œ‹‹‰€€€€}€€}‚„yy|zyxy|yx~|~zyy{yyzyxyzz|~~|~|||y{€|~~~|~z{~{}€}~~~~~~z|||}~|…|€‚€~~}~~z{}~€~}|}}|~|}||{€||{|{{{~{{|||}{~~|~}|{|}€€€„~€}~~€|}€~~€ƒ‚€€}ƒ~~„„„ƒƒ„„}~‚€~€~}}€€ƒ€…„„‚ƒ€~€ƒ~ƒ‚ƒƒ‚ƒ‚‚‚„€€€ƒ„‡‚„€‚‡„€‚€„ƒƒƒƒ‚„„‡ƒƒ‡„…‡…††‡‡‡†‡ˆˆ‰ˆ‡‡…†ˆ‰††‡…„…††ˆƒŽŠ‰ˆ‡†‡…‡‡‡…†‡‡†‰ƒˆ‡†ˆˆ†‰‰‹…Œ‹Œ„‰Šˆ‰‰†‰†ˆ‡‰Œ‹„‰‰‰ˆˆ‡Œ…Œ‡ŒˆŠ‡ˆ‰‰‰Œ‹‰‰‡ˆ‰‰ˆˆ‡ˆ‰ˆ‰‡‡‡ˆ…‡‡ˆ„‹ˆ‡‡ˆˆ‡‡‡„‡†‡…‡ˆˆ†‡‡‡‡Š‡‡‡Œ†‡‡ˆˆ‰ˆ‡ˆˆ†ˆˆ…‡‡ˆ‡ˆ‡‰ˆˆ‡ˆ‡‡‡ˆˆˆ‡†‡‡………‡‰‚‡ˆ††‡ƒˆ„…††‰ˆ‡†…‡‰†‰‡‡‡‰Š‡‰‡†‰ˆ‡ˆˆ†‡ƒ†‡‡„€‚‚‡………‡††‡‡†‡†…†‡†‰ˆˆˆ†‡…‡‡‡ˆ‡‰‰‰ˆ†‡‡†…ƒ…‰‰†‹‰…„†††††…„…†„ƒ……ƒ‡ˆ…€€€„„…„…€†‡†ƒ…€„€€„…‚ƒ„…ˆ…ƒ…ƒƒ…„…‰‰ˆˆ‹‹ŠŒŒŽŒŽ‹Š‰‰‡Š‰‹‰†‡ˆ‡ˆ‡‚€}}„}€‚|ƒ~x{y{zyz|xyyxwwwz|yyx~{|{||{|||{}|||}|}||{z|€y||~}}}~}|~y€~}~~}~}€€€{€€~€‚‚€€€~„~|}{~}}~|‚|€~~{{|{||}~~|}z{~~||||z~}|}€|~x{|{ƒ}€~€}~€€€}€€‚ƒ~}€~}~€„}‚‚„€~‚~~~‚~ƒ‚~~|}‚‚„„‚‚ƒƒƒ„€„ƒƒ„…„€€ƒƒ‚~€ƒƒ€€ƒƒ„††……†„ƒ€‚††„††‡‡…‡‡„ƒ‡……‡…ƒ……‡„„††„‡ƒƒ…„„€‚…‡‡†‡‡†‡††…„‡‡‡ˆ‡‡‰‡‰„ˆŒ€ŒŠ‡‡‰‡†‡†‡†„‰‡‡‡‡ˆ‡†‰ˆˆˆˆˆ‡ˆ‡‹‹‹‹Œ‹ŠˆŒ‹Š‡‡ˆ‹‰ˆ‰††ˆˆ‡‡ˆ‡…………†‡‡‡„ˆˆ††…†‡ˆ‡‡ˆŒ††‹‰‡ˆˆ„‡ˆˆ‰‡†‡ˆˆ‰ˆ‡‡‡†ˆ‰††††ˆ‡„††ˆˆ†‡‡…‡ˆ††…†…†…‰‡††‡ƒ‰ƒ……‡‡…‡ˆ…ŠŠ…ˆ…‡ˆ‰‰ˆŠˆ‡ˆ‡„………†††‡„ƒ‹„‚‡†‡‡„„††‡‰††…‡‡‡‰‡ˆˆˆ†‡ˆ‡ˆ‡‹‰ˆ‡ˆ………„„……ˆ‰‰‰‰Š‹Š‰ˆŠŠŠ…‡…„ƒ…………„…………„……†ƒ……ƒ€€„ƒƒ…ƒ…‡……„…„„†ˆˆ‰…‰ˆ‹ŠŠˆ‰Š•ŒŽŽŒ’‹ŽŠŒ‹Š‰‰‡†Š‡ˆ‹ˆ‡‡€}}€ƒƒ€ƒ„‚z~~yyzzuxwxwwyyx~zzy{~{|}yzy|~|}|z|{y}}|{z|{{|~||}}||€}||{{}{|‚€€€‚}|~€…ƒ€€€€~~||}|z}||~}}|z|~y{{~||{~|{}{}~{z{||||}~~~~|{zzz~€‚~~€€€€|~~ƒ€}}€~€~€€€~~‚~~~~‚‚}ˆ„€€„~€~‚~‚„ƒ~ƒ„‚‚‚ƒƒ…‚ƒ…„„‚‚‡€‚„„„ƒ„‚ƒ„‚‚ƒ…ƒ„„‡…ˆ…€†‡†‡†‡‡‡…†ˆˆ‡…ˆ†‡„„‡‡†‰…†…‡„…††‚‡†‡†‡‡ˆˆˆˆ‡ˆ†„†‡‡‡‡‡ˆ‡ˆƒ†‹…‹‰‡ˆ†‹‰ˆ‡„‰‡‡†‡†‰ˆ‰ˆŠˆˆˆˆˆˆ‰Œ‹‰‰‹‹‹ŠŒˆˆˆŒ‰‡ˆ‰‰‰‰‰ˆ‡‡‡…†ˆ‰ˆˆ‡ˆˆˆ†…„ƒƒ„…‡ŒŠ‡…Œˆˆˆ‡‡‡‡‡‡ˆˆ‰‰‹‰‰…‡†Œ‰ˆ†ˆ†ˆˆ††…‡‡‡†ˆ‡ˆ†…†…ƒ„…‡†…†ˆ…„‰‚…‡………††‡‰‹‰ŠŠŠŒŠˆ‰‰ˆˆ‡…†……‡†ƒ…†„ƒ‚‚„†‡†ƒ‚ƒ„†††ˆ…„…†††ˆ‡‰ˆˆ‡‰ˆ‰‡ˆŠ†‡ˆ†‰†ˆ…ˆ†„…ˆ…‡‡ˆ‡ˆ„„…„††…ƒ„„……†„„…ƒƒ‚…ƒƒƒ€‚ƒ‚‚‹€€ƒ€…‡‚ƒ‡‡……‚†‡ˆ‡†ˆ‡ˆˆ‰ŒŒŠŠˆ‰Š‹‘‹‹ŠŠ‰Š‰Œ‡‡Šˆ‹‰ˆˆ‰~|}~€|ƒ€€~~~yy{{xyxxzzwzw‚x{x~~zyz|||y~{|}||~}~}€|~}€€|€{v~|z|}~}{~{~{}{{~|~€~~~€€€€ƒ~~~ƒ~ƒƒ„|}|z}|}|}{{y|{|~}|{~~|}|||}|{{|{€{|€€|~€~€~€€|€€€}€€€€€~~}~€€}€€ƒ…€~~~~~‚‚~€ƒ‚~~€ƒ~‚‚‚‚ƒ‚ƒ‚ƒ†~ƒ€ƒ‚‚€„ƒ„ƒ€ƒ‚„„‚‚€€€‚€„‚‚ƒ„ƒ‡„‚†ƒƒƒ…}ˆ†€ƒ‡†…†„„„ƒ‡Š‡†‡…†‡„„…ƒ‡„„……‡‡‡‡‰‰‰†‡„‡†‡ˆˆˆ‡‰„…‡‡‡‡‡…††††††…Œ‡‰‡‡‡‡‡ˆ„ˆ‡ˆˆ‡ˆ‡ˆ‡†‰Œˆˆˆ‰‰ˆ‹ˆˆˆˆˆˆ‰‰‡‰‡‰‡†‡…‡‡‡ˆ…‡ˆ‡ˆ‡ˆ††…ˆ‡ˆ„ˆŒ‡‡‡‡ˆˆˆ‡…ˆ‡‡‡‡‡‡ˆˆ„…„ˆ‡‡ˆˆ†…‡‡‡ˆˆˆˆˆˆˆˆ‡…‡‡†ˆ‡„„‰‡……ƒˆ…………………‡ˆˆ‰‰ˆ‰ˆ„‰ˆ‡‡…‡‡‡‡ˆ††…‡‡†…„€…†ƒˆ†‡ƒƒƒƒƒ‡‰„„„†‡‡ˆ†…„‡‡‡ˆˆˆ‡‰ˆ‡ˆˆˆ‡ˆ‰ˆ†…‰…‡…І‡…‡ƒ„„ˆ„††ˆ„†‡ˆ…†‡ˆ…ƒ……‚‡†‚„…‚ƒ……€†ˆˆ…ƒ…ˆ‡…‡‰ˆ‰‹‹ŽŠŒ‰‹‹ŠŠŒ‘ŽŒ‹‘‹‹Œ‹Ž‹‹ˆ‡ˆ‡‡‹ˆ€€€z„‚€€~€‚}{x{{{y~{|{xzy}xyy~}{xxx||{z|}||{|~}|}~}|}}}~~{zz~|~y|~|{~|z~zyz}~~}z||y}€‚€~~ƒ€€~€~||~‚}~~}}{~}~|{y|{|~~}~|||||||€€|{~||€€€€€€~}€‚}€|€€~€~€~~}€€~€~…€‚ƒ€ƒƒ~‚ƒ„€~€€ƒ€„€‚‚‚„„„„‚ƒ‚€ƒ‚ƒ…ƒ€‚ƒƒ„ƒ…ƒ€€€ƒ€‚‚ƒƒ€ƒ‚‚ƒ„‡………††ˆ†‡„‡ˆ‡†ˆ†…‡‡‡†…„ƒ†…ˆ‰‰‡†ˆ‰†‡‡†…‡†…†…„„…‡…‡‡ˆ‡†ˆ‡†‡†ˆ†ŒŠ‹…Œ‰‡†Œ†Š†ŒŠ‰‹‡‰‡‹ˆŒˆ‡„‡ˆˆ‡‹Š‹ˆˆ‰ˆˆˆ‰ˆ‰ˆ‰‰Œ‡‡‡†‡‰ˆ‹‹‹ˆ‰‡ˆ‹Œ‡‡…ˆ‰ˆ‰‡†ˆ†††‡‰„‡‰ˆ†‡‡‰…ˆ†ˆ†ˆ‰ˆ†ˆ‡‡‡ˆ‡ˆ‡ˆ‰ˆ‡‡‡‰…‰‡„‡‡ƒˆ‡†„†…†‡‡ƒ…ˆ‡‡‡‡ˆ‡‡†…………‰†‹Š‰ˆ‡‡‡‡‹‡‡†ˆ†…‡†…‡„ˆ†‡…‡†‡…‡„„…†…‚…„‡…‡‡…„„‡‡‡‡ˆ‰ˆ†‡‡†ˆˆ„‰‰†ˆ‡‰‡ˆ†‰„‡††………††‡‡„‚…„†‡††††‡‡…ƒ††„ƒ„†ƒˆ€„……€ƒƒ…†‡……‚€„…‡††ˆˆˆ‰‰‰‡‰‹‹ŠŒ‹‹‰‹‹‘‹ŒŒŒ‹‹Œ‹‰‰‡‡‡‡‹‡ƒ}|}„€ƒ|€€}yy{xxzzyx{w{x~{yx~|{yy{~|}}~|{€~~|}~}~~|||~zy{z|~}~~~~}y€€z{{~{y{|{|€€~ƒƒ„~€~~‚~~ƒ~|{||~~~}~|||~~|~}|||||{|||}||{€~}}~z~€€‚~€~~‚{~~€~€€€~~€~~~}}~‚~~~€€~€ƒ„‚‚€ƒ~€‚~ƒ‚„„ƒ„ƒ€‚ƒƒ‚ƒ„„„„ƒ„ƒ€‚‚‚€€ƒƒƒƒƒƒ‡„†ƒ…†‚‡††…‡††……‚‚„ƒ„„ƒ…ˆ‡…†‡‡‡…††‡…‡†ˆˆ‡……†‡……„„„…†‡‡‡‡‡„†Œ…„‚Š‹‹‰Œ††‡‡‡‡‡‡‡‡‡‡ˆŒŠ‡‡‡Š‰‡‰ŒŒˆ‡‡‡‡‡‰‡ˆ‹‰‰Š‰ˆ‡‡ˆ‰ˆ‰‹‰Œˆˆ†ˆˆ‰‡ˆˆˆŠˆ‹ˆ‡………‡ˆ‰ˆ‡Œ†ˆ‡‡‡…†‰†ˆˆˆˆ‡‡‡‡‡ˆ‡ˆ‰ˆˆ‰ˆ‰†‰‡††…‡ˆˆ‰ˆˆ†„†††‡ˆ‡††‡‰‡‡ˆ‡†‰…‡…‡ˆ‡„‡‡‡ˆ‰ˆ†‰ˆ‡‡ˆˆ………ˆ‡‡…††„…ˆˆˆˆˆˆˆ‡†††‚†‡…ˆ‡„‡†‡†ˆ‰‰‡Š‰ˆ‡…†‰‰‰ˆ‡ˆˆˆˆ‡ˆˆ„ˆ†‰Š…†…‡…†‚…††…†„†ˆ‡…‡…†…†††…††…‡………ƒƒ…„…„†ƒ‡„ƒƒ†‡ˆ‡‰ˆ‡ˆŠ‡ˆˆ‰‰ŠŠ‹Š–ŒŽŽŒ‹Œ“““““‘“Œ‘‹‹Šˆ‰‰ˆ‡Š†„€‚}}~ƒ€€€€€€||„y{zz{zxxyyv|x{~zyyzzzxw{||y{||~~|{z|~y~}|}~}}|zy{{{}}|zx{{{{{y|~~}~|}~~€~€„€~~~€~~€~|~~~|x|}~~~~~}~~{}}{|{~}}}}{~|}{~€~{~~€~~~‚‚~€~€‚€€|€~€~€€‚…„~~€€}~„ƒƒƒƒƒ‚ƒ€€~€€„~ƒ€„ƒƒƒ€‚‚ƒƒƒƒƒ‚‚€ƒƒƒƒƒƒƒ€€€‚‚‚‚„‚‚‚„„‡‡‡ƒ†…†ƒ†„‡…‡‡‡†…†‡ƒ„ƒ…†‡ƒ„„‡‡ˆ…„…Œ…†…†‡‡‡‡‡ˆ„І‡…‰……†…‡‡‡‡ˆ‹‹Ž‹Œ‹‹‰Œ…ˆ‡ˆˆŒŒ‹Šˆˆ‹ˆˆ‡‡ŒŠˆ‰Šˆˆ‰ŒŒŒˆ‰‡ŒŒ‹‰Œ‰‡ˆ‹‰‰‰‹‹Œ‰ˆˆˆˆ‰†ˆˆ‹‹Œ‰‰†‰‰ˆ‡Œ‰‡…Œˆ‰ˆ‡…ˆŠ‰ˆ‰ˆˆ‡‡‡ˆ‡‡ˆ‡ˆ‰ˆˆ†‡‡‡‰†††…‰…‡Œ……‡‡‡…‰‡†ˆˆ‡……‡…‰ˆ†ˆ‡†…‡†…‡††ˆ‰‰ŠŠ‹Š‰ˆ…ˆ‰ˆ‹‰‡‡ˆ††„‡ˆˆ‡ˆˆ†ˆ„…‡„„‡‡„ˆ…„…‡……ˆˆ‰‰‰‡ˆ†„…‰ˆ‰†…ƒ„„‚„ˆˆ„ˆ…ƒƒ…„ƒƒ„ƒ„„…†…„ˆ……ƒ……†…„…„„…‡††€†€†‡…ƒ†„ƒ‡†„„ˆ†„‡ˆ‡ˆ‡‰ˆ†ˆ‰ŒŒ‰‹‘‹‘’ŠŽ‰’Œ“‘’ŽŒŒ‹ŽŒ‹Šˆ‰‡ˆ‹‡„~~}~€€€ƒ‚ƒ€‚…xxz}}|y{zxu‚z{yzy{{{zzz|}|~|}}|}~~}||~}{~{z{€z{{xz|z|z{z{|~}}~~}€€€~€}}~‚}{‚ƒ‚|}}}||~|~~}}|}}}}{}}|}}|~||~}|{|~€~€€~€ƒ€|~€}{€€€€ƒ€‚€€€‚ƒ„ƒ‚~~€€}€~€ƒƒƒ}‚€~~~ƒƒ‚ƒ€„€€‚ƒ‚…ƒ„„ƒƒ€ƒƒƒƒ~……‚…„ƒ€ƒƒ„ƒƒƒƒƒƒƒ„ƒƒ‚ƒƒƒ„ƒ…ƒ‚…„…„ƒƒƒƒ„‡…‚…‡„‚†ƒ†ƒ…ƒ‡†„ƒ„‡‹†„„„„„ƒ†……………†…‡‡‡‡‡‡‡„‡ˆˆˆˆŒ‹ŠŒ‹‰‰‡‡‡‡‡ˆ†ˆ…„†‡……†‡††‡‰ˆŒˆˆŒŒ‹Œˆˆ‡‡ˆˆŒ‹‰ˆˆ‰Œ‹‰‡‰‹‡ˆ‰‰‹‡ˆ‡‡ˆˆ‡ˆ‡†…†ˆˆ‡†‰‹‡…†ˆ‡‡‡‡†ˆ‡ˆˆ‡ˆ‡‡ˆˆˆ‡ˆˆˆ‰‡‡†‰‹‰Š‰Š‡…ˆˆ‡‡‡ˆˆ‰ˆ„‡‰‡……Š„†††ˆ‰ˆ‡…†‡Š‡ˆ‡‡ˆ‰‰‹‰ˆˆ‡‡‡ˆ‰‹‹Š‰‡‡‡‡‡‡‡ˆ‡ˆ‡‹‡‡‰‰…‰ˆˆ……ˆ‚………†ƒ†‰‰†…†ˆ…„…‡‡ˆˆ„‚ˆ‚„……†††……„ƒ„„…………†„„„ƒ„„„†…†‡‡„††ˆ„†‡‡††‡††‡ƒ‚…ˆ‡‡…ƒ…†ˆ‰ˆ‡‰ŠŒŽŽŒŽ’’’‘ˆ‘ŽŒ’‘’ŽŽŽŒ‹Š‰ˆˆ‰‡Œ„„||€€€€…yw|yy{y{|yvx{{yyy}|{yywyywx|~}||x~€{|{|}}z{z{z{yz|}{{{zz||~{|}z|~z~€|{{}|z|{~|zz~||z}|||||~~€~}{~~~}€{}}||€|~||{z{|‚~~ƒƒ‚€€€‚€€€€ƒ€€€€€~€€€€€€ƒ€€~ƒ~ƒ€ƒ…~ƒ„€~~€„}‚€„„„„ƒ‚‚ƒƒƒƒ…„ƒ„……†„„‚ƒ‚„ƒ‚ƒ…€ƒ„ƒƒ€…‚ƒ„„ƒ€‚‚‚~€†…‡„†‚ƒ…†‡ƒˆƒ†ƒƒ‡„„…„ˆ‡…„†…‡‡‡…„ƒ……‰†‡ƒ‰…‡‡‡‡ˆ‰Š…‡†‡ˆˆ‡†‡‰ƒˆˆ‡‡ˆˆŒŒŒˆ†‡‰Š‰†ˆˆ‡‡ˆˆ‡†‰‡……‡ˆˆˆˆ‰ˆ‡‹‡‡‡†‰‰‹‹ˆˆˆ‰Œˆ‰…‹†Œ†ˆ‰ˆ†…‡‡‰ˆŒ…‡‡‡ˆ‡†‡†ˆ‹ˆˆ‰ˆˆ‡ˆˆˆ†‡‡ˆ‡ˆˆ‰†‡‡‡ˆ‡ˆŠ„†ˆ‰ˆ†‡‡‰ˆ…ˆ‰‡‡†ˆˆ‡‡†ˆˆŠˆ…„…†Šˆˆˆ‹‡‰…‡‡‡ˆŠ‹Š‰Š‡ˆ†ˆ‡ˆ‹‡ŒŠˆˆˆ‰ˆ†‡‡‡‡ˆˆˆ‰†…‡‡‡†‡………ˆ…†…„…„…ˆƒ„†ƒ„……ˆ‡ˆ‡‰…‚‚…„ƒƒ…„†…‚‚‚ƒ…„€……„…†…„†……†„…„…†…†‡…†ƒ„‡ˆ‡†„ƒƒ……ƒˆ‡…††‰ˆ‰ˆˆˆ‹ŠˆŠŽˆˆŒŒŒ‘‘‘‹‰‘ŽŽŒŽŒ’‹ŠˆˆˆˆˆŠ€€||„€€€€‚‚€~…z{vuyxyyz|zxy|xyy{zzwyyzwzzzy{z|v€|z{|{{}{||{{|||}{}}~yy}|~€|{|}~x}~{~{xz{|z}y}}|~~}}~~€~€}}~}||{{|{{{{|||{{~€~€‚ƒ€ƒ€|‚€ƒ€‚ƒ€‚€~}}€~„€~‚ƒ€~~~~€‚ƒ€€ƒ„‚ƒ€€ƒ„„„ƒƒ„……ƒ‚‚„ƒ~~~€€‚‚ƒ†…†ƒ„ƒ„ƒ‚‚€ƒƒ€†„‚…€€‚‚‚ƒƒ…‡„„ƒƒ‡„ƒ‚„……††„†‡‡…‡…ƒ†„ˆ‡‡‡††…‡‡‡†‡†‡‡ƒ†‡†‡ˆ‡ƒˆˆ†‡‡ˆ‡ˆ‡†‡‡‰‡‡‡……ˆ‹‡„‡†‡ˆˆˆ‡‡…‡‡‰‡†…†††‡‰Š†……Œ†„†‡ˆ‡ˆˆˆ‡‡‡ˆ‡Œ‹‡‡Œˆˆ‡††‡†‡‡‡‡‡‰ˆˆŒˆˆˆ‰‡‡‡ˆˆˆ‡ˆˆˆˆˆˆˆ†…†‰ˆ‡……‡ˆ‡‡‡‰ˆ‰†‡ˆ‡†ˆ†††„‡ˆ†‡ˆ‰‡‡‡†…†‡ˆ‰ˆ‡†‡‰‰‹‹Šˆˆˆˆˆˆ‰Š‰Š‰ˆˆˆ‡‰‡ˆˆŠ‰Œ‡‡ˆˆ‡ˆ‰ˆ‡‡‡††„…‡…………ƒ„ƒ„‡‚„ˆ……ƒ†……ˆ…„…†‡……ƒƒ„…………‚„„…ƒ„ƒ†…………„…„„……ƒ„†‡‡ˆ………†…†‡ƒ…ƒ„„†ˆ‰…†‡Š‰ŒŠŠ‰‰ˆŠˆ‰‹ŒŠ”‹ŠŒ‘‘’Œ‰•ŽŽŒŽŒ’‰‹ŽŠˆˆ‰ˆˆ‰„~€€}~€€€ƒƒ…|wwxxv{yywwxy{xywwwvyyzywy~zwwxvwwwy|||{}||}z|{y{{{{yzy{|{~~~zyz}~~z{|||{~{{x{||yz}z{€{}€{y{~~€€€~~|}~~|||€€}}}{z||{{|z€~}{{|€€‚‚ƒ€ƒ|‚ƒ€€€€„„€€ƒ‚…ƒƒ|~~~…~~„„~~€ƒ„ƒ…‚€„ƒƒ‚…~ƒ„„„„€„„ƒƒƒƒ„ƒ€…€‚„‚ƒ„ƒ…ƒƒƒ‚‚ƒ€…„ƒƒ†‚„€„ƒ‚ƒ„†‡ƒƒƒƒƒ…ƒƒƒ†ƒƒ†‡…‡‡†…‡††„ˆ…Їˆ‡‡‡ˆ‡‡‡†„…„†ƒ‡‡‰‡†ƒˆˆ‡†‹ˆˆ‡‡‡ˆˆ‰‰ˆ‡‰…‡†‡ˆ‡†ˆˆˆ‡‡†‡‡‡ˆˆˆ‡‡ˆ„‘‰ˆ†Œ‹Œ„‰‡‰ˆ‰ˆ‹†ˆ†ˆ‡ˆˆ…‰‰ˆ‡Œ†‡‰ˆ†‡‡ŒŒŒ‰‰ˆ‰‰‡…†‡‰‡‡‡‡†ˆ…‰‡‰‰ˆ†‡…†‡†‡‰‡…‡ˆ‡‡‡‡‡ˆ‡ˆˆ†…„†‡…Ї‡‡ˆˆˆ†‡†‡ˆ‹‰Š†‰ˆ‡Œ‡‰‡Šˆˆ‹ˆ†ŠŠˆˆ‡ŒŽŒˆ‡‡‹‹‰‰ˆˆˆ‡ˆˆ‰Š‡‡ˆˆˆˆŠ‡„„……„…ˆ„†‚„…†††‚„‡…І„…††‡†‡…ƒƒƒ‚€€„ƒ„†…ƒ…„„…†………„†‡ˆ‡‡††…ˆ…†…ˆ‰ˆ†…†„ˆˆˆˆ‰‰Š‹‰†ŠŒˆŒŒ‰‹‰‰‹‹ŒŒŽŒŒŒŒ‹ŒŽŽŽŒŒŒŒŽŽŽŠ‰Œ‹ˆˆ‰ŽŒ‡‡ƒ€~ƒƒ€|}‚„uuutwx|uzxwyz{yywzwyzyxwwwyy~xzvyy~}}}}|}{|{|{€|{|}|~z}|{||||{|{}~~}}}|}}|||{yyy{{}}}~~~~yz|~~|€~}|{~€€|€~~€~|x~{|}~€~|{|}~}~~}€€€~€ƒƒ‚€‚€€€€€€~ƒ€€‚}~€€„„‚…€€€€ƒ€€ƒƒƒ€€€ƒƒ‚„„ƒ†€~ƒ„‚‚……„ƒ‚ƒƒƒƒ‚„„„„ƒƒ…‚‚‚‚ƒƒ„„ƒƒ…„„„ƒƒ‚‡„ƒ‡‚ƒƒƒƒ„„ƒ„ƒ„„‡‚ƒ…‡‰‡†…†…„„‚†‡ˆ‡‡ˆˆ‡…ƒƒ‡…ƒ‡‚‡‡‡ƒˆ‡ˆ‡‡‡ˆˆˆ‡‡†Š‹ˆ†ˆ†…†‡Œ†ˆˆˆ‡ˆ‡‡‡ˆˆ‡‡ˆˆˆ…ƒŒˆˆ‡‰‰‹‡†…‡ˆ‰‰ˆ‡‡ˆ‡‡‡ˆ‡†‰‡ˆˆŒ‰ˆˆ‰ˆˆˆˆ‡‹ˆˆˆˆˆ‡…‡Šˆˆ‡ˆ‰††…‡ˆˆˆ‡†‡ƒ††…‰ˆ‡…„…‡‡ˆ‡ˆ‡‡ˆ‡††…††…Љˆ‰ˆˆˆ‡††‡‰ˆ‡…††‡‡Œ†‰†ˆ†ˆ‰ˆˆŠŠ‡ˆ‰Œ‰ˆ‡‡‰Œ‰ˆˆ‰ˆ‰ˆˆ‡Œ‡‰‡‡‡‡†ˆ‡ˆ‡‡ˆˆ‡‡†„…†…„†ˆ………†‡‡…„ˆ†…‡……†…ƒˆƒ„ƒ„ˆ‡……„„……„†‡ˆ„…†ˆ…‡†‡‡ˆ††ƒ„‡ˆ‡…ˆ‡„‡ˆ‰ˆˆ‡ˆ‰‰‹‡Š‹ŠŒŠŒ‰‘Œ‹‹ŒŽ‰‹‹Œ“Œ‹Œ‹ŒŽŒˆŽŽŽ‹‹‰Š‹‡…†ƒ€€ƒ„~€}„zuvvz{|tzxyyyyyyyzywxz~wzyxw~zzzwy|{~|{z||yzy|{{||~z|~}|~|{||zyzv{||€|{}~z{{€z{{}}}{€|z~}~{|{~~~}}€€€€€€‚ƒ|}€}~€}|~€€}}z}~„„ƒ}€|||€~||ƒ€~x‚ƒ€€€~€„„…„„€€…„ƒ„€‚‚„ƒ…€€€ƒ„…~€ƒƒ‚€€€ƒ„„ƒ}‰~~ƒ„€ƒ€„~~ƒ…„ƒ†ƒ„„„‚‡€‚„‚„„‚€‚€†€„„ƒ‚………ƒ„…ƒƒ…†ƒ…†„„‚‡„ƒƒ‚ƒ†€„„††‡†‡ˆ…†……‡„†……†‡†‡†‚‡††……‡‡ˆƒ†‡‡ƒŒˆ‹†ˆ‡Œˆˆ…ŒŠ‹Š‹‰‰†ˆ†‡‡‡ˆ‰ˆˆˆˆ‡‰‰ŒˆŒ‰‡ˆŒ‹Œ‡‰ˆ‡ˆ‰Š‰Šˆ‡‡ˆ‰‹‡‹ˆŒˆˆˆŒ‰‰ˆˆˆ‡‰ŠŒ‡‡‡‹‰‰ˆˆ‡ˆ‡‡‡‡ˆˆ‡‰‰ˆ‡‡‰‰ˆ…‡††‡ˆ†‡‡‰‡†‡ˆ‡‡‡‡‡ˆ†‡ˆŠ…ˆˆŠ‹‹ˆ†……††…‰‰Œ‰‡…‹††……ˆ…‰‡‡‡‡‡‰Š‹Œ‰ˆˆ‡ˆŒŠˆŒ†‡ˆˆ…ˆŠ‰ˆ‡†‡‰‰‰‰‡†‡†‚‡ˆ‡††ˆ…„„††‡‡‡ˆ‰ˆ„‡‰‰Šˆ††‡…‡‡†………†…†‡†……„„„……‡„…„†ˆ…ˆ‡ˆ†‡…†…‡ˆˆˆ‰‡†ˆˆ‡ˆˆ‰‹‰‰ˆŠŒ‡‰‹Š‰ŠŠŠŠ’ŽŽ‰ŒŠ‰‰‹ŒŒ‹ŒŠŽ‹‰Ž‹Œ‹Œ‰‡ˆ‰‹†…ƒ|€€ƒƒ‚‚…z{wyxvuuyvxyxyxyzzyxwywx{yy{|zy~~}||{{z}|}wxz|{{z€~yxw{{~wy~y„y{{}|{{{|~~~|}}{y{}{x}}}z}{z|}~~~}|€€~u‚‚„~~|}||}~~}}€}}„|}~~~}|||~€€„ƒ„€€€€€€ƒ€€€€€€ƒ„‚~ƒ„‚€€‚ƒ€€€„„ƒƒ€„ƒ„ƒ~}„…ƒ€ƒ€…ƒƒ……†„„€ƒ…€}‚‚„‚‚‚‚‚€ƒ‚ƒ„{„„„…ƒ„„†ƒ‡…‡…ƒ‡‡„ƒ‚†‚„‡…ƒ…†…‚ƒ†…‡‡‡ˆ†ƒƒ…†††„…‡‡‡††‡ˆ‡ƒˆˆ‡‡‡‡ˆˆˆ‡†‡‹‡‡‡…†‡ˆˆ‰‡‰ˆ‡ˆˆŒ‰ˆ‡‡‹Œ‡‰‡‡††ˆˆ‰ŒŽŒŒˆ‡Š‹‡ˆ‡ˆˆ‰Œ‡‡‡Œ‰‰‡Œˆ‡‡ˆ‰ˆˆ‰„ˆ…ˆ‡ˆ†ˆˆˆˆˆˆˆ‡ˆ‹‰‹ŒŒ‰‰Œ…„„†ˆ‡†ˆ‰ˆ‡‡…†ˆ‡…‡ˆˆ‰ˆˆ‡‡‡‡…†ˆ‡‡‹‰‰‰†‡‰‡‡††……ˆŒ…‰†Œ‰‡ˆ‹‰‰ŠŒ‹Œ‰‰†‡Š‹ŠŠ‡ˆˆˆ†‡ˆ‰‰Šˆˆ‡‡ˆ„ˆ‡ˆˆ†‡‡…ƒ„……„†‡ˆ‡‡†‡‡ˆˆˆˆ‰‡‡ˆ‰‡‰ˆŠ…‰†‡‡ˆ†Š†††‡„†ƒ…ˆ‡„‡†ˆ…‹…ˆ‡‡†‡ˆ‰‡‡‡‡†ˆ‰‰‰ˆ‡‰ŠŠ‰‰‰Œ‡‹‹ŒŠŒŠ”‰Š‰‹”ŠŒŠŽŒ’Œ‹ˆŠŠ‹ŽŽŒŒŽŒŒ‹‹‹‡„„„€€€ƒ‚‚„yyyyvyzvxvyxyzxyyzyxwwyy|y{ywxy{}~||~~z~|}yz|{||||~~~{|{~yz}{}{z|{x{x|}~~€~|~~{~~{|}~~}{{~~~|}€~~y„ƒ€~|||€||}}€ƒ|€|}€}~}~}||€€€ƒ€~€‚„‡„ƒ€€€ƒ„€€‚„ƒ‚€€€‚ƒ……ƒƒ€€„…~€€€ƒƒ‚„}€€‚…„ƒ‚€†ƒƒƒ…‚‚„ƒ…„„†‡ƒ„„…‚„„‚„‚„„ƒ‚ƒ€‚‚„ƒ„„‡…†‚„‚„†††ˆ‡‡†…„‡††…‡…†…‡†ˆ‡ˆ†ˆ‡‡†‹‹Œ†‡„†…ˆ„†††‡†‡†‡‡ˆˆ†ˆˆˆŒ†‡‰‹Šˆ‰‹†‡‡‡…ˆ‡‡‡‡‡ˆˆˆ†‰Š‹ˆˆ‹ˆˆˆˆ‰…‰‰‹‹‡‡‡†‡‡ˆ†ˆˆˆˆ‡Œ†‡‡Œ‹‹‰‹Œ‹‰Š‰‰ˆŒ‰ˆˆ‰‰‰‰‰‰Š‰‰‰ˆ†ˆ‡‡‰‹‰ˆˆŒ…˜ƒ‹…ˆ‰‰‰‰‡ˆ‡‡‰‡‡‹‡‰‰‹ˆ……†‡ˆ‰……ˆ‡‡‰‰……І…‹†††ˆ‰‡ˆ‡‰Šˆ‹‰ˆ†‡‡‹‰Š‡‡‡ˆ†‡ˆˆ‡‡†‰Š…ˆˆˆˆˆ‡‡‰ˆŠ‰ˆˆ‰‰‰…„‡‰‡ƒ†‡……‡‰‡‡‡ˆ‡ˆ‡†ˆˆ‹‡‰‹Š†ˆˆ‰ˆ‡ˆ†ˆ…ˆˆ„ƒ…ˆ‹‡……‡‡…Ї‰‰ˆ‡‡‡‡ˆ‡…‡ˆˆˆ†‡ˆ†‰…ˆˆ‰‹‹‰ŠŒŠŽŒˆ‰Ž‰‡ŠŒ‰‹ŒŒŠŠ‹ŽŽ‹‰‹‹Ž‹‹‹ŽŒŒŒ‹Š…„„ˆ‚~€{€~ƒ‚…ƒ‚‚vwvzv{yvxyywwzzzy{xxxxyyy}~w~z}~{~}~~€{~y{|||}{{}z~~|~{}~}||||{z{yz~€~€{~}}z|zz~€€€~€|~~||~||~€~||~Œ€~~~~}}||||}|{}|~~}~€ƒ€‚„„€ƒ€‚€ƒ„ƒ€‚€ƒ€€~‚ƒ‚‚€ƒ~€„„„„…€€„€ƒ„~„ƒ„ƒ„ƒ‚†„„€…ƒ€‚„†…‚‡ƒ„…„ƒ‚„„„ƒ„‡……‚ƒ€ƒƒƒƒ„ƒ…„€€€†‡†ƒ„……„…‡††„ƒƒ„‡ƒ……‡‡†„†‡‰…„ƒƒ†‡…„……†ƒ‡‡‡ˆ†††ˆ…ƒ‡‡‡ˆˆ‡…‹Š‹ˆˆ‡‡‡ˆ‡†‡ˆ‡Šˆ‡ˆŒˆˆˆ‰ŠŒŒ‹‹Œ‹Œ‹‰‡‡‰Œ‹ŒŒŒˆ‡ˆŒˆ‰‹‰ˆ‡ˆ‡‡ˆˆˆ‡ˆ‡‹ˆ‡ˆŠ‰ˆˆ‡ˆˆˆˆˆ‡‰ˆˆ‡†ˆŠˆ…ˆ‡ˆˆ‡ˆˆ‡‰…†…ˆˆ‡‰ˆ†‰ˆ‰‰ˆ‰‡‡††‹ˆ‰ˆ†…ˆˆ‡‰††……‡‰‰ˆ…‰††………†ˆˆ‡‹‡‡ˆƒˆˆ‡†…„„„…††‰ˆˆ††ˆŠŠ‰‡…Šˆ‡‡‡ˆˆ‡‡ˆ‰ˆ‡ˆˆ†……ˆ‡‡‡ˆ‡‰ˆˆˆ‰……ˆ…‰‡ˆ‹ŒŒ‹‹‹Šˆ‰ˆˆ‰‹‰‡‡Š…†„‡‡ˆˆˆ‡ˆ…Œ‡Œ†‡‡ˆ‰ˆ†‰‰ˆˆˆ†…ˆ†…‡ˆ‰ˆˆˆ‡‰‰ˆ‰ŒŠŠŠ‰‰ŠŒ‡Œ‰ŽŽŽŠ‘‹Šˆ‹ŠŽŽ‰ŒŒ‹ŽŽŽ“Œ…ƒ‚„†€€‚„……‚‚‚…vstuw{yyzyzxwyzzzyxwxxywzyyyyyz}z~|{}~}|}|}|}}||{|z}}}}~}}}|}{|yx{}}|{{|€{~ywz|€|{~~z{}|z||€~~~~y}|~~|~}~|~~~~{||~{€||||€|€€€ƒ„€~‚€„‚„‚€‚€€‚€‚~†ƒ€€ƒ€…‚ƒ„„…€€ƒ€€ƒ€€~„ƒ„‰€†€€‚‚ƒ„ƒƒƒƒƒƒ„…„†††…„ƒ…„„†~€ƒ‚†…‚………‚ƒƒ„„…ƒ…€„…‚ƒ……‡…„†ˆ……„„ƒ„††‚„„ˆ…††ˆ†„€ƒƒ††ˆ†‡…‡„ˆƒƒˆ„„‡†ƒ…†…‡‡„„ˆˆˆ‡‡†‡†‡ˆˆ…Œ‡ˆˆ‡ƒ†‡‡‡ˆˆ‡†‡‡ˆ‹Œˆ‰‰Œ‹ŠŒ‰‡‡‹ŒˆŒŒ‹†ˆ‹ŠˆˆŒ†ˆ…ˆˆ‰ŠŒŠˆˆ‹‰ŠˆŠ‰ˆ‰‰ˆ‡‡‡‰‡‡‰‰‡‡ˆ‰ˆ…ˆ‡‹‡…ˆ†ˆˆˆˆ‰‰ˆ‡Š‡ˆ‡†‡‰ˆ‡‡‰ˆŠˆ‰‡…„‹…‡‡ˆ†‡†‰ˆ‰ˆ†…‡††††‡‡ˆ‡Š‡…†‡‡ˆ‡‡ˆ‡ˆˆ‡†‰‡‡‡††ˆ††‰‡‡‡„„†‡ˆ‰ˆ„†ˆ‡‰ˆŠ‡……ˆ†ˆˆ‰†„€ƒˆƒ„…†Š„ˆ…‹Š‹‹‹Š‰‹Š‰‡‰ŠŒˆˆŠ…„ƒ‡ˆ‡ˆˆ……†‡†‡‡‡‡ŽŠ‹ˆ…ˆ‡ˆ‡‡ƒˆ‰ˆ‡ˆŠ‰‰ˆ‡ˆŒŒ‹ˆ‹ŒŠ‰‰ˆ‡‰‰ŠŒŒ‹ŽŒŠˆ‹ŠŒŠ‰‹‰‹Ž‘ŽŒŽ’”ˆ€€‚„ƒ‚‚‚ƒ„u{u|zzzzyyyzyzzzy{yxwyxzzyxxy|x~|~}|{~~}zxx{yy}|xzz|||}}{}{{||}|~{}z~{|z}€|{~{{~~~}~|}~z…z~~~}€~~€ˆ|~~~~}~€}z~~}~~|€||~~~|~~~~€~€€„€€ƒƒ€€€‚‚‚‚€€‚€€€}€ƒ‡„€ƒ€€€€€€€€€€€€‚ƒ„„ƒƒ€€ƒƒƒ…ƒ„„„„…ƒ„ƒ„‚ƒ‚~~~€‚„‡„‚‚‚ƒƒ‚ƒƒƒ„…„„„~~~„ˆ…‚ƒ‡ƒ‚ƒ††ƒ…†‡ƒ‡†‡ƒ„ƒ†‡‡ˆ††‡‚‡†‡‡…‡‡‡ˆˆ‡‡‡‡„†ˆ„ˆƒ‡„‡„„††‡‹†‡‡‡†‡‡‡ˆ‡‡ˆ‡‡‡‡ŒŒ‹‡‡ˆ‹‹‹ŒŒ‰‡ŒˆŒ‹ˆ‹‡ˆ‹ŒŠˆˆ„„……ˆˆŒ‰ˆ‰ˆŠ‡ˆˆˆˆˆ‡‡ˆ‡‡‡‹ˆ†‡Š‡ˆ‡„ˆ……ˆˆˆˆ‡†‡‡…ˆ†‡‡‡‡……‡‡‡…††‡„ˆ‰ˆ‰‰‡††‡……†ˆ‰‡ˆ‰……‡†‡‡ˆ‡„…ˆ‡ˆ‰‹‡……„‡‰‰‡‡ˆˆ‡‡„‡‡ˆ‡…††‡†‰…‡‡‹‰ˆ‡ˆ‡ˆˆˆ‡†ˆˆ‡…„„ˆ†ˆˆ†…„„‡€„…†††…†„‡ˆ‰ŠŒ‰‰ˆŠ‰‡ˆ‹Œ‹ŠŠ‹‹ˆˆˆˆˆˆˆˆ‡‹‡ˆ‰‰ˆˆ‰‰ˆŠŠˆˆ…‹‡‰‹‹ˆŠ†ˆˆˆ‡‡ˆŠ‡‡Š‹‰Šˆˆ‹ˆŒ‹‰Š‹‹‰‹‰‡‹‹‹‰Š‹‰ŠŽŽŽ’”•Œ‚‚…€ƒ……‚‚‚„‚‚€ƒxvv{yzvuyy|zyzxzzz{ywwxyttxyxxxxz}}|~~~wy||zw{zy{{zx{|{z{{{|~}y}}}{}€€~|}€~yy|}€~€~}{{}yyz{}~~~~~{€~|}~~~€€~~{€€|}}~€}{|}}ƒƒ~~|ƒ€ƒ„„„‚€‚€€‚ƒƒƒ€……„‚€€€„„~ƒ€€ƒ~ƒƒ€~~ƒƒ„…ƒ„„……„„ƒ‡€„ƒ†‚‚ƒ…ƒ„„‚ƒ„ƒ‚„ƒ„ƒƒƒ‚ƒ‚‚‡…‡€~„„„ƒƒ…„…„„„‡ˆˆ‡†…‡††…‡‡‡‚ƒ†††††ˆ‡††ˆ†‡ˆˆ†††„†‡…ˆˆ‡ˆ‡†ˆˆˆ‡ˆƒ‡‡‰‡‹ŒŒ…‡†‡ˆ‡ƒ‡‰ˆ‡ˆ†ˆˆˆˆŒŒ‰‡‰ˆˆ‰‹ˆ‰ˆ‰‰ˆ‹‹ŒŒŒ‡‹Œ„ˆ‰ˆ‡ˆ‡‡‡ˆ‰‹Œˆˆ…‡‡ˆˆˆ„‡‹‡……Љ‡‰‡‡‡‹‰†‹††‡‡‡‡†‰††ˆ‰‡‡ˆ‰…†‡‡…ˆˆ‹‰‰†††‡†‹†‰†‡ˆ‰„‡…‡†ˆ‰ˆ†…ˆ‡…‹‰ˆ‡‡‡ˆ‡Š‡Š†‡‡‡ˆˆ‡‡†‡‡††‡†‡†‡‡ˆˆ‡††‰‰ˆ‡ˆ‰‰Š‡†„ˆˆ‰ˆ‚„„…„ƒƒˆ‰…‡†……‡†‡ˆˆˆŠˆ‡‡‰‰‰‹Œ‹‡†ˆˆŠ‰ˆ‰ˆ‰‰ˆˆ…‹ˆŠˆ‰ˆˆ‡‰‡‡‰ˆ‰‡ˆˆˆ‰‰†ˆ‰‡ˆ‡ˆ‡ˆˆ‡‰‰ˆ‰‰‹‹ŠŒŒŠ‰‹‡ˆŠŠ‰‰ŠŒŽŽŽŒ‹Š‹ŽŒŽ’”‘••’‹‚……‚……„‚……ƒ€„…vwy{|{vzx|zxxzz{z{yyyxxzv†x{yyxzy|z}~|~{zw{||w{{|{{yx{~|{{{{|y|~{|}€~{~z{{z€€€~~~z~|~~€~~~€‚~}‚~~|~‚~|~|€€|~~}{|€€€€ƒƒƒ‚‚‚ƒƒ~ƒ€~€~ƒƒ€€€~„‚„…‚€€ƒƒ~€‚…„€ƒ€€„‚€ƒ‚ƒƒƒ„…„~€ƒ‚‚€……„€€ƒƒ„ƒ‚…„ƒ„„„ƒƒƒ‚ƒ‚‚…~„…~‚‚…|„‡„‚‡†„ƒ…‡„ƒƒƒ…ƒ†‚ƒ‡„„‡ƒ‡„‡‚‡†…‚†‡††„‡‡‚‡…‡ˆ‡†ˆ„…‡‡‚‡‡‡‡‰……‡ˆˆ‡ˆˆˆˆˆ‡‡‡ˆˆˆˆ‡ŒŒ‡ˆˆˆˆˆˆ‰ˆ‡ˆ‰Šˆ‹ŒŒˆˆˆŒ†‹ˆˆŒˆ‰ˆˆ‡‰ˆˆ‰ˆˆ‡†‡‹ˆˆ‰…ˆ‰‡‡ˆŠ‡‡ŠŠ…‡‡‡ˆˆˆ‡ˆˆ‡‡…†‰ˆ††ˆ‰†‡††……†…†ˆ‰‹ˆ†……††‰…†††‡‰†…‡†…†‡‡ˆˆˆ…†Š…†ˆˆˆˆ‡‡‰ˆˆ‡„‡ˆ‡†‡ˆ‡ˆ‡ˆ‡‡‡ˆ†„ˆˆ‡‡†ˆ‰ˆ…‰‰ˆ‡ˆ‡„‡ˆ……„†‡‰€…ˆ‰‡‡†……†„…„„ƒ„‡ˆ„Љ‹‹‹ˆ‡††…†‡ˆˆ‹‰ˆˆˆˆ‹ŽŽˆ‹Œ‰‰‰‰ˆˆˆˆ‰ˆ‰ˆˆ‡ˆˆˆ‡‡ˆˆ†ˆˆ‰‰ˆ‰Š‰‰‰‰ŠŒŠ‰‰‰‰Š‹ŽŽŒ‹‹Š‹Œ‹ŠŒ‹‹ŽŽ’””‘‘•‘‡ƒ„‚…ƒ‡…………ƒƒƒ‚‚„wwzwzyvxvwxwxxz{zy{yyyyyywxy{xxyyy}|}zyxyyw|}{yyzyy{yw|{zz|{zzyz{z|~{{{~|~|||||{€~}€{~{}~~~€~|~€€€~}}}€~~~~€„}~||{~‚‚„}~~~|~}~|||{~€€€„„ƒƒ„„ƒ€ƒ‚ƒ~ƒ„€€€„…†„€ƒ„€~ƒ…ƒƒ~€‚„…€~„ƒ„~€…„€€€„…€‚€€‡„„‚†€€€„„€ˆ‡…ƒƒƒƒ…„ƒ‚‚…€ƒ‚‡ƒ‚‚„„„‚‡…„ƒƒ‚†„„…„‚„ƒ…„†‚†‡†„ƒ‡…‡‡‡€‡‡ˆ†‡‡‰‡…„†ˆ‡„‡††…ˆƒ‡†‡†ˆ…‡ˆˆ„ˆ‡‡„‰ˆŒ‰ˆ‡††ˆˆŒŠ‹†‹‡ˆ‰Š‰‡ˆ‡ˆ‡‰‡‡‰ŒŒŒŒŒ‰‰‡‹Š†ŠˆŒˆ‰ˆˆ‡‰‰ˆ‡ˆˆ‡ˆ‡‡ˆ‹…‹Šˆ‡ˆ‡‡…†Š…„……‹‰‰‰Š‡‰‡…†‰‡†…‡ˆˆ‡†…‹†‡†‡‡‡ˆ‰ˆ‡‡†…‹‡…‡‡…‹‡ˆˆˆ‡‡ˆŠ‡‡†……ЉЉˆˆ‡„‡ˆ‡†ˆ‡‡†ˆˆ†…ˆ‡‡……„‰†‡„ˆ‡‡‡ˆ‡‡ˆ†‰ˆˆˆ‡‡‡ˆ‡……‡„……ˆˆ„……„ƒ†…‚„„„„…†‡ˆŠ‰†‡‡†††Œ†‡ˆŒ‡ˆ‡ˆŠ‰‰‰‰‹Š‰‰Š‹‰ˆˆ‡‡‡‡‡‰ˆˆ…ˆ‡ˆˆ‡‰Š‡Š„ˆ‡‡‰ˆˆ‹‹‡‡ˆ‹Œ‹Š‰‰‡ˆŠŒ‹‰ŠŽŽ’”’•‘‡„…ƒ„ƒˆƒ‚„„ƒ‚…‚‚ƒxywvwyxzvuxzzzz||zy{xwzywwx{y}x‚z}yxwxwyy}w}}|{zw|y|xx{|{|{zz{{{zzz~|}{€€}{|{}||}€~|~~€}~~~}€~}~„€}„ƒƒ€ƒ|~€„€}|||~||||~|†|€~}}|}ƒ€‚‚‚€€‚€~~€€€€‚~„€„„‚€‚ƒ€€€ƒ„~~€€€ƒ€}„€€……}ƒƒ‚ƒƒ€~ƒƒƒƒ„€„ƒ„€ƒ€~}‚„„„…††‚ƒ‚ƒƒƒƒ„„ƒ„‚‚ƒ‚„„„…ˆ……ƒ‚‡ƒ„‡„ƒ…ƒ‚„…‡‡‡†ˆƒƒ„ƒƒ‡‡‡ˆ†„„ƒ‡ƒ‡‚‡ˆˆ„‡ˆ‡†‡…‡‡‡‡ˆˆ‡‡†ˆ‡‡†„‹‡ˆ‹ˆ‰‡‹‰ˆˆ‡‰‰‰‡ˆ‰‰‡Œˆˆ‰‰ˆ‹Š‹…„„…ˆ‰‡‡ˆ‡‰‰ˆˆ…ˆˆ‡‡‡‡‡†ˆ‰‰‰ˆ……†‡Š†‡‡‡†„ˆˆ‡ˆ‰‰†‡ˆ‡††‡ˆˆ„…†………†……„…ˆ‰…‡……†ˆ‡ˆ†††‡‡‡‡…‡‹ˆˆ‡‡…†‡ˆ……†‡……‡†……ˆ‡‡‡‡ˆ†‚ƒ…‡…„„ˆ†…„‰ˆ‡‰…„…‰…†ˆ„†…†……‡ˆˆ†…„†ˆˆ‰…††……‡‡†…‡††…†„‡‡Œ‰‰„ˆ…†‡‡‡†…†‡‰ˆ‰‡‰‰‹ˆ‰Ž‰‰Œ‹ˆˆ‡‡ˆŠ‡‰‡ˆ…Š…‡ˆ†ˆ‰‡Š‡‰‰Œˆˆ‡‹‰‰ˆˆ‹‡Š‰ˆ‰ŒŒ‹ŠŽ‹ŒŽŽ‘‘’“’”’ˆ„…ƒˆ†ƒ‚‚€„„ƒ„…wvvwvvwwxsxyzyzvvxyxxyzzzwxyyyzxwzxwwxyzxzxy~{|yy{w{xy{z|||{|{zz{{{{{{}~||}}}}€~{€€}{{€~}€€|€€~~‚€~~ƒƒ€€„‚€€~~€€€‚€ƒ€€~}|~€~||{}{‚ƒ€€€€~|€€€€ƒ€€~€ƒƒƒ„~€ƒ€€€„€‚…††…€„†ƒƒ€€ƒ„ƒƒƒ…ƒ‚ƒ‚ƒ„„„„„†„„ƒ‡€‚€„€†ƒ„„‚‚€…„†……ƒƒƒ„ƒ‡…„ƒƒ‚…‚„‚…ƒƒƒƒ‡‡‡‡ˆ…„………‡…ƒ‚„ˆ†‡„‡††‡ˆ†‡†‡„„…‡ˆ‡ƒ‡†††ˆ†ˆ‡‡††…‡ˆˆ‡ˆ‡ˆ‡‡‡‡‡‰‹Œ‡‡ŠŒ‡‡ˆŒŠˆˆŒŒŠŠ‰ˆˆ‡†ˆˆ‰ˆ‹‹‹„Œ‹ˆˆ‰ˆ‰†‡‡‰ˆˆˆˆˆ‡‡‰ˆˆ†ˆ‡ˆˆ‡‡‡ˆˆ†ˆ†…‰ˆ‰‡Œ‹‹ˆˆ‡ˆ†‡ˆŠ‰ˆ‰ˆ†‹‰Š†Š…Šˆˆ†…†‹…†‡‰ˆˆ††ˆ…„…ˆ‡‡ˆ‡†…‡‹ˆ‡†‡†ˆ†‡‡‡‡ˆ‡‡‡‡‡…„…ƒˆ†††‰†ˆ…‰ˆ‡ˆ……††……ˆ„‡†……ˆ†ˆ‡‡……†„ˆˆ……‡……‡„ƒ…‡†„…†ƒ†…‡ˆˆ………†ˆ‰‡……†ˆˆ…‡‡ˆˆˆˆŠŒŽŽ‰ŠŽ‹‰ˆ‰ˆ‡‡‡‡ˆ‰…†…†‰‰ˆ‹‰‰ˆ‰‰‹‰‡ˆˆ‡‹Œ‡ˆ‡‰‰‰ŠŒˆ‡Œ‹Š‹ŠŠŽŒŒ‘‘”‘•”””’ˆ††‚…„ˆƒ„„„„„uwzyy{wvwuvyzyyxzyy{xwzuyyxyyyzzxzxxwzy|{{ywxw|zw}x|{|x}{||||{{z||{zz}}~||{~|}||}‚|~€{~~€|}~€~‚€~†€€€ƒ„ƒ€ƒ‚ƒ‚‚ƒƒ}€‚€|€|…|‡~ƒ€€€€~~~€€~~‚€~|€{~}~~ƒ„€€€€€€~€€€€„€€€‚…ƒ€€ƒ…‚ƒƒ„ƒ~~~…„„…ƒ„„ƒ‚„„€€ƒ‚€€ƒ„ƒ„ƒƒƒƒ„†……ƒ†„…†„ƒ‚‚ƒ…„ƒ‚„„ƒ„ƒ……{„‚„………‡ˆ‚ƒƒƒ„‡ƒ††‡„„‚…ˆ†‚„ˆ…ƒ„„ˆ‡†…‡‡‡†ˆ‡†‡‡……„†‡‡…‡‡ˆ‡ˆ‡ˆ‰ˆ‹‰ˆˆˆŠŒ‡Œ‰‡‰Œ‰‰ˆ‡‡ˆ‡‡ˆˆ‰†…„‰Œ‰Œ‡ˆˆˆ‡ˆˆˆ‰…‡‡‡‰‡†„††…‡ˆ‡‰ˆˆˆ†………†‰…ˆ†Š‰ˆ†‡‡‡‡‡Š‡†‡ˆ‡†‡…‰††…‰Š‡……†Šƒˆˆ‡†„……‡†……†ˆˆ‡‰‡ˆ††‹‹…††ˆ‡†‡††‡‡‡‡‡‡ˆ„„‚‚…†…ˆ‰‰ˆ‡…ƒ‡ˆ‡†††„‡……„…†‰………ˆ†……ƒ„„…‡††…„…‰„………„……†…†…†…ˆˆ‡†‡††‡………††‚†ˆ‰ˆŠ‡Œ‰ˆ‹ŽˆŠ‰ˆˆˆ‰Š‡†…ˆˆˆ‡‰………†…‹…ˆˆ‰‡‰ˆ‡‡ˆ…Šˆ‡‰‰‰ˆˆ‹‹‹‹ˆ‰ŠŒ‰ŽŒŽ‹‘‘’‘“–‰ˆˆ‹…„ƒ„†ƒ~…ƒ„…„vwvwyzzxwvu{vxzwxytwxwytzyyxyxyxyxyxyxx|||{|||}yyxx{yzyyz{wwwyzz}~{yy|{}|}€}}z€~€€|||{{~{~~}€€€„€€€ƒƒƒ€€„…†ƒ‚„ƒƒ‚ƒƒ€}€€ƒ~||||}‚‚€€€~~‚€€€„€}~„€€€€~~ƒ€€~‚€€€„ƒ†‚€‚‚ƒ„„€€‚†€€‚‚€€~€ƒ„†„……ƒ…„………„„€…„„‚„ƒ„€„‚ƒƒƒƒ„„ƒ€ƒƒ…„……„„‡ƒƒƒƒ…ƒ…ƒ„ƒ‡„‡…„…‚„‚ƒƒ…†‡………„„ƒ‡†‡‡ˆƒ†€„…‡‡†‡…ƒ„…ˆˆ‡‡ˆˆˆ‹‰‡ˆ‡…†‡ˆˆ‡ˆ‡ˆˆŠ‰ˆ‡‡ˆˆ††‰ˆ‰‰‰‡‹ˆ‰‹Š‰ŠŒŠˆ‡‡‡‰‰‰‰‰ˆˆˆ‰‰ˆˆ‰‰‡†ˆ†‰ˆˆˆˆˆ†„Љ‡†‡ˆ‰ˆ‰‡‡…‡‡…‡Š„ˆˆŠˆ‡……„‡ˆŒŠ……‰ˆ‹‡‰†Š…‡ˆ‰Š‡†ˆ…‰…‰‡‰‡‡††…‹‡‡†‡†‡Šˆ‡…‡ˆ‡‡ˆˆˆ‡ˆˆ‡‡†‡†‡…†‡……‡„……ˆ†…ˆˆ‡†…‰†„„…††ˆ………„†ƒ„„……†……‚ƒ…†…ˆ…†……ƒ…†ˆ…Ž…ˆ…†„„„…‡ˆ‡‡‡††…„†ƒ……ƒ‡ˆˆ‡‰ˆ‰ˆ‰‰ˆ‰Œ‹‰‰‰ˆ‡ˆ†„ˆˆˆ‰†††„„…„…‡‡…………†‡†‡‰…‡ˆ‰‰‰‰ˆŠŒ‰‰‰‹ˆ‰‰‰ŒŒ‘’‘‘’‘‘”‰Š…ƒ€„…‚~„ƒƒ…†vxvwzzzzwwy{xww{xwwzxyxtxxxxxxwyxyyyywx{{zxx||zxyyx|w{y|}~||{z{}|z{y{{}|}~~}|z€€€~~„~~~€€„ƒ€ƒƒ€~€ƒ…„ƒ„„ƒ„„ƒ…„‚‚}ƒƒ€………ƒ„‚‚~€€€€‚€~|€€€~~~€~€€€€~€€€}~~ƒƒ€‚€€€„ƒ~€ƒ€€‚‚€„€ƒƒ„„‚ƒ…ƒ„„„ƒ„„€……ƒ„ƒƒ„„„ƒƒƒƒƒ€€ƒ€‚ƒƒƒ„…†‡€„ƒƒ…ƒ„„……ƒ…„€ƒ€€ƒ…ƒ€€…{…ƒƒ‚……„„ƒ‡ƒ„„ƒ„„„…ˆ‡‡…‡††…‡ˆ…ˆˆ…†ˆˆ‡‡……‡‰†…„………„…ˆ‡‡Œ‡‡ˆ‰ˆˆ‡ˆ‹ˆ‡‹‹ŠŠ‹ˆ‰‰‡ˆ‰ˆˆ‰ˆˆŠ‹‰ˆ‰ŠŒˆ‰ˆ…‡…ˆ‹†ˆ‡…‰‰ˆˆ†††‡ˆ†…‡†‰…††‡ˆ‡‰ˆˆ†‡‰†‰ˆ‰ˆ‡†…‡‰‡†‡†…†ˆŠ…„‡‡‡„ˆ‡Œˆˆˆ…†‰‰ˆ‡‡†…†…††‡‰‡‡Š‡‡‡‡‡ˆ‡‡†‡‡†‡‡†‡‡‰ƒ„„„………‡†ˆ†……‡„…†ˆ…„…ˆ…‡…„ƒ†……††‚……†‡ƒ…‡„„…†ƒ„„……„…†„†„ƒ‡†‡ˆ……††‡†…†ƒˆˆˆ‡‡ˆ‰‰‰Š‹ˆ‰Š‰Šˆˆ†‡††‡ˆ‰Š‰ˆ‰‰…ˆ…‡……†‰ˆ‰†‡‡ˆ„ˆ‰Š‹Šˆ‰Ž‹‹Œ‹ˆ‹ŠŒŽ‘–’–’•‘‰‰†ƒ„†…ƒ„‚ƒ„ƒ„„…wz{{{zz|vxzyywvyyvvx||{xxvvwyxxz{xxyyxvywx{x{zx~|zyzxxxyvwz{|}{zy||~~~|}|z|~€€}z‚€v}~}ƒ„„…ƒ€ƒƒ…„„€~€‚„~†„€‚„„‚ƒƒƒ€„„€€ƒ„„ƒ~ƒƒƒ€ƒ„ƒ€€ƒƒ„ƒ€€ƒƒƒ„ƒƒ„~€€~ƒ€€ƒ„„ƒ„…ƒ€€~€‚‚€~‚„€€€ƒ‚†…„…„‹„†‚‰†„‚„…„€„‚……€‚„ƒƒ€‚€‚€„„„ƒƒƒ„ƒ„ˆ……………ƒ…ƒ‡…‚€ƒ„„……ƒƒƒƒ…„„‚‡ˆˆ…‡ƒƒ‚‡†ˆƒ‡‡‡„„„‡…ƒˆ‡‡††ˆ‡ˆˆˆ†‰ˆ‡…„„ˆˆ……Ї‰ˆˆˆ‡ˆ‡‡ˆˆ‰ˆ‡†ŒŒ‰ˆ‰‰‰‡ˆ‹‹Œ‰‹‹Œ‰ˆ‰Š‰‰‰‹‰‡ˆŠ‰‡†‹†ˆˆŠŠ†‡‰‹‰‡‰‰…‡ˆ‡‡‰ˆ†‰ˆ…†ˆ‰‰‰ˆˆ‰ƒˆˆ‡‡‰Š‰…Ї‡ˆ‡‡‰†ˆˆ††‡‡ˆ‡ˆˆŠˆŒ‹‹‰„‡‰‰‹‡‡‡ˆ‡‡‡‡†‹†‡‰‡†‰‡‡ˆˆˆ‡„‡‡ˆ‡‡‡ˆˆ…„‡„……„‡„…„„ˆ‡…††‡ˆ„…†‡ˆ‡……ƒ„„…„ƒ†„„…ƒ…ˆƒ„…ƒ„ƒ†…‡‡ˆ†……†‡…„‡‡†„„…††‡††ƒˆˆˆˆˆˆ‡Š‹ˆˆ‡Š‹‹ˆˆ‰ˆ‡‡ˆ‡ˆˆˆˆˆ‡…†††……ˆ‡‡†‡††……‰‰ˆŒŒ‰‰‰ŠŽŠŽŒŒŽŒ”’”•”‘Ї†…„„…„…ƒ‚ƒ…„„†wv||xwxzuxyzyzyzwwwz{{zzwuttzxxyxxyzxywywxyzv}xyy{{zyyw}w{y{|}{{{zz~~{z~}{}|{{|}~€|€{‚~~€€~€€ƒƒ~„€€…~€ƒ€…„€ƒƒ„„ƒ………€„}€ƒ„‚€€}€ƒ€€€„€€€€€€€€€€~~‚‚~ƒ‚€€€€ƒƒƒ}‚€€€„‚~ƒƒ~€~ƒ€€„ƒ‚…€„ƒ…†„‚„„ƒ‚€…ƒ……ƒ‚‚ƒƒƒƒƒ€ƒ‚ƒ€€„…‡ƒƒ„„„‚ƒ‚ˆ€„„ƒƒ„…‡…„ƒ‚ƒƒ…ƒˆ…ƒƒƒ„†…ƒƒƒ„……„†„…€ˆˆ‡‡……‡‡ƒ„ƒˆ…………‡……††„…ˆ‡ˆˆ‡‰ˆˆ‡‡‡ˆˆ††…†ˆˆŠŠˆˆŠˆˆ‰ŠˆŠ‹Œ‹Š‰ˆˆˆˆˆ‡‡‡ˆˆˆ‰†ˆŠ‡ˆ‰‡‰‰‰‰ˆˆˆ‰‡‰‰‰ˆ‡‰‰…†ˆ‰ˆ‰ˆ†Šƒ‡‡……‰‰‡†Š‡‡‰†ˆ‡‡‡‡‰‡‡†ˆˆ‡‡‡‡†‡‡††ˆ‰‰‰ˆ‡ˆ‡‡ˆˆˆ††‡‡ˆ‡†‡…ƒ„ˆ‡‡…††…‰‰ˆ‡‰…„……„……‡„ƒ„……††‡…†„„„„†ˆ…„……„‡†……†ƒƒ…ˆ‡‡„…†……„……„„……ƒ…ˆ……†‡†‡†„ƒƒ†ƒ†„ˆ‡ˆˆˆˆ‡ˆ‹‰ˆ‰‹Š‹ˆ‰ˆˆˆˆˆ…„Ї……‡…‰†…„††‡†‡ˆ†…‰ˆŠ‰ŠˆˆŒˆ‹Š‹‰‹‘Ž‘’“’•Ž……†††‡‚††„„‚ƒƒƒ†vwxwvvxxvsuuvyxxvxyyw{zwvutvzxxyxwwxxxwvwvxvuwyy{{zyyyxyzzz€zzz{{||}{{z}~€|z{€|€}||~}|~€ƒ~z~~~{~‚ƒ‚~„€~€†‚„ƒƒ‚‚ƒ‚‚„~~€€‚‚ƒ„€€|€€€€„€€|||€ƒ‚€€€‚€€€€€„ƒƒ€ƒƒ€€€ƒ‚‚‚†…€€„‚€…~€„„…†€………‡†…„„’ƒ…„„ƒ€€€‚ƒ„€€ƒ…„ƒƒ€€†ƒƒ„…€„…‡€ƒ„„ƒ‡ƒƒ…ƒƒ„ƒ…‚„……„ƒ„„‚‡‡ˆˆ†ƒ„†…„†ƒ„„„ƒ„„„…„‡……„„……ˆ‰‰ˆ‰††…………„„…„†‰ˆˆˆ„‰‡‡ˆ…‡†‰…ˆ†‡‡‡ˆ‰ˆ‡‡‰ˆ‰ˆˆˆ‹ˆ‰‰‰ˆ‰ˆ‰ˆ‰Š‹ˆ‰Šˆ…‰‡‡ˆŠ‰‰ˆˆˆ‡‡ˆ‡ˆ‰ˆ†ˆŠ‰‹†…ˆ‡†ˆŠ‡Œ‰†„……ˆ‡†…Š…ˆ††‰‡‡‡‡ˆ‡†††ˆ‡†‡‡†………‡††‰‹‡‡‡‡‡ˆ‡‡†‡††ˆ‹„ˆ‡ˆˆ†‡‡‡‡†…„…ˆ‡‡ˆ‰‰…‡„„ƒ……„ƒ…‚‚‚„…„„…„…††…‚…‡†……††…„„„‚†……†‡‡…‚……††………†„†‡‡…†…ˆ…„ƒˆˆˆˆ‡ˆ‡ˆŠ‹‰ˆˆ‰ˆ‡‡†‡‡‡‡„‚ˆ…„†„……†………‡…‰…Š…„‰…ˆ‹‹‹‹Šˆ‹Š‡Šˆ‹Œ‰‰ŽŒ‘‘””Ž•Œ…‚‚„‚‚‚€‚ƒ„„ƒƒuwwwvwvvvvxwuyyzvzyyz{wuwvqxxzzzwwtxwwwxwvwxxxyyy|zz{|zyy{zz||zxy~{z{~{{|||{z}~|z|~€|~€€|{~~}~ƒ‚ƒ€€€€€}~€€€€ƒ†ƒ€ƒƒ‚€‡‡†€€‚ƒ…€€~}€€~~~|ƒ€ƒƒƒ€‚ƒ~ƒƒ‚~~~€€~‚€‚}€~€€~€€‚„€ƒ€ƒ……ƒ„‚„„…ƒ„…„‚…†…†…ƒ„……„ƒ€ƒ€„ƒ€ƒ…ƒƒ…€„‡…€‚…„…„ƒ„ƒ…†ƒƒƒ„†…„…†ƒ„ƒƒƒ„„„„…………………ƒ„ƒ‡„„…„ƒ…„„ƒƒˆˆ‡‚‡ˆ…„„…†……‡‡ˆˆ‰ˆˆˆ‰‡„‡ƒ‡†‡„ˆ„‡ˆ‡‡‡ˆ‡ˆ‡‡††ˆˆ‡‡‹‹‡‡‡†ˆˆ‹‰ˆ‰ˆ‹‰…ˆ‡ˆ‰‰„ˆ‡‡‡ˆ†††ˆ†ˆ…‡Œ‰‰‡…‰‡‰‰‰‡ˆ‰ˆ‰‡‡‡‡†…‰‡††‡Š‡†ˆ‡„ƒ…‡…ˆ‡ˆ‡†‡‹‹‹‡‡†‡Š‹‡‡†ˆˆ‡‡„‡†‡‡‰…‡ˆ‡††„‡ˆ‡ˆ„‡†‡‡‡†„‡„…†……„„†‰……ƒŽ………ˆ‡‰ˆ‡…†…„††…„……„€…†ƒ…………†ƒ…†……„…„………‡††††‡‡…ƒ‡„†ƒ„ˆ€ˆˆ‡…††ˆˆŠ‰Ž‰ˆˆŒˆŠˆ‡ˆ†ˆ‹„„ƒ„…†………†‡†ˆ†††…‰‡‡ˆ‹‹‹‹‹‹‹‹‹Š‹ŒŽŒ—“–‘’‘’•””’—Ž‹ƒˆ‡„ƒ‚‚‚…ƒ„€ƒuvvvwwttxt|wu{zyvvywzwutwxsuwvttwwtxwvxvwwxvyyzxwwxy|{yz||||{{||{|{{{z{z}{zz{{|{~ƒ€}~}}~ƒ{zz||€~ƒ…€€€~ƒƒƒ‚ƒƒ‚‚‚‚„ƒƒ…„€}€‚€€ƒ}€€~„€ƒƒƒƒƒ‚~€ƒ‚€€ƒ€~~}„€€‚€‚‚ƒ†€~€…~€ƒ„„€‚…€…ƒ…€†€„…€€††‚…†‚‚…„„……„ƒ€€………€€€„†‚ˆ‡…ƒ‚†††ƒ„„ˆƒ…ƒ„„…€‡‡…ƒ„ƒƒ„„ƒ„ƒ„‚ƒ„‡„†…„…†„„…†ƒ‰‡ŠŠŠ„…ƒˆ‡‡ƒ…‡‡‡…„ˆ‡‡‡……‹……‡ˆˆ…„ˆ‡‡‡ˆˆˆ„†‡‡ˆ‰‡‡‡‡ˆ……‡„ˆ‰‹ˆˆ†„‰‰Š‡‡ˆˆ‰ˆˆŒ‰ˆˆˆ†‰‡ˆˆˆˆˆ†‰ˆ‰Š‹ˆˆ‡‰ˆ‹‡Œ‹‰ˆ‡ˆ‰‰†…ˆ†…„ˆˆˆ‡ˆˆ‰‡‰‡ˆ„‡„†‡‡‡‰‡‰‡‡†‡‡ˆ‰‰ˆ‡…††‰‰‡ƒ‡‡‹ˆ‰…‡……‡ˆ…ˆ†ƒ„„…ˆ‡„„„…‡………‡…†……†‡„‰†„……‡‰‡……†…††ƒ…„……†…„ƒ……„…‡„„†ƒ†…ƒ…‡††‰‡‡…†ˆˆˆ‡…††ˆ€„…‡‡ˆ‡Š‹‹ŒˆŽ‰‰‹Šˆˆ‡‡ˆˆˆŒ……‰†‡……………†ˆ‰‡„…‡‡‡ˆ‡‹‰ŠŠ‹Š‹‹‹‹Œ‰Œ•Ž’•’‘’•Šƒ†€„‚‚‚„‚„„tutuwwtuuvwyy{zywywyvuvvwzututuvvywxwwxzvxwwxyxyxywzzzwvy}|y{{|}y{|}||{|{|y{||}~|}€{z~~~~~€€}‚„…€€„ƒ‚‚‚€€„…ƒ€‚~~|‚€~€~}ƒ|€€~ƒ€‚€‚ƒ„ƒ‚€€€€~|€€€~€~€~‚‚€€€€ƒ‚€~…~‚€€€ƒ„„€€…ƒ„ƒƒ…†…„„ƒ„‡ƒ€ƒ†ƒ„ƒ…‚€€„€ƒƒƒ…‚ƒ…ƒ‚„…„ƒƒ„ƒƒ…„…„„€ƒ„ƒƒ„‡……ƒ‚ƒ€„…„ƒ„„…€ƒ„…‡ƒˆ…„ƒ‚„„„„…„„……†‡…„……………………„„…ˆ…„‡„‡‡‡…ˆ„…‡‡ˆ‡†‡‰‰‰……„†‡†‰‰‰ˆ†…††ˆ‡ˆ‰‰‰ˆˆ‰Šˆ‡…‡‰‰‡†‰……‡ˆˆˆ††…‡‰‡‰ˆ††‡ˆ‰†‡††‡†ˆ‰‡…ˆˆ‡‰‡‡‡‡‰†…†‡Š„‡‡ˆˆ‰‰‡‡‡‡†‡ˆˆˆ‡„‡‡†„ˆ…‡‡Š„„…‡……†‡…ƒ„ƒ„„„‡‚…„…†‡‡…„‡‡†„„…‰„††‡†…†ˆ‡………ƒ……†…„††„ƒ…„ƒ…„……‡†……†††…„…†„†ˆ‡††‡‡††††‡ˆˆ‰ƒ„ƒ‡ˆ…ˆ‹‹‰‰‰Œˆ‰‹‹ˆ‰ˆŠˆˆˆ†ˆ††………†……†Š‡ˆ‡…………ˆ‡ŠŠŠˆ‹‹‹ŽŽ•‘“–‘˜•”‘‰‰ˆ~„ƒƒƒƒ€€€€„€€…vvuwvtvuuwwyuuvwyxttvtvvvuuuuuustwwwxwyywwwvxxyyv{xzyxwwwz|{{|{zzz{zxwzx~}€z{}yz|||€}€€~~}~}~~…€„€}€€„ƒ€€€€ƒ†€„ƒƒ€€€€ƒ~ƒ~}~~}ƒ~‚€€~…ƒ„‚ƒƒƒƒ€„€€€€ƒƒ€‚‚ƒ‚…€Š€~ƒ€„€…………„€ƒ€€„€ƒ……„„†ƒ€ƒ„…„†„„……ƒƒ…€‚‚€„……€€~~€ƒ„†…„‚…„„ƒ„ƒ„„„ƒ…‚ˆ‡‡Œ€„„„„…ƒ…„„ƒƒ„„ƒ‡‚„‚†„‚…††…‚ˆƒ„ƒƒ„‡‡‡„„ƒ„ƒ„ˆ†„…„…………‰…ˆƒ†‡†ƒ‡…ˆ‡ˆ†ˆˆ‰…††Šˆ‡ˆ‰‡†…‡ˆˆ…ˆ‰‰ˆ‡†††‰ˆ‰‡…‡‡‰‹ˆ‡ˆ‰‡‰ˆ‰„‹„…‰‰‹……„‹‡…ˆ‰ˆ‰ˆ‰‰‰‹‹ˆŠ‰‰ŠŠ†‡…ˆ‰‰ˆŒ‡‰†ˆ‡‡„††‡ˆˆ‰‡…‡‡ˆ†‡‡ˆ‰ˆ„ˆ†‡‡ˆ‡ˆ‡Œ…ˆˆˆ…‡‡ˆ…ƒ„…„†‡ˆ†……‰‡ˆˆ…„‰‡…„‚…„……„…ˆ…„‡…ƒ…„„„†………‡„…„„‚…………„……„„‡†‰ƒƒ…„†‡‰ˆ‡‡ˆˆ†„†‡ˆ†„‡ƒ…„„ˆ‰…ˆ‹Š‹ˆŠŒˆ‰Œ‹‰ˆ‰Š‡‡Š‰ˆ††††…‡†‡…ˆ‡‡‡‰ˆ†ˆŠŠŠŠŒŒŽ‹Œ‘Ž’‘‘”–‘˜–•’‹…†€ƒƒƒ„…‚€…ƒƒ„tuwwuuvuuvr{wwwwtuvvvvvwvuwttswstuuuwxxyvwwwvwwwv|w{z~wwvwz|||}~|||}|~~|w{}}€|zz{|~z€€}}€~€€€~€€€€€~ƒ€€†‚ƒ„‚ƒ€‚„„ƒ~ƒƒ€‚‚ƒ€€~~~}}}ƒ}€€~|}ƒƒƒƒƒ‚€€ƒ€€€€€€€~€~‚€~€}‚€‚€}ƒ~€…~‚€€€€ƒƒƒ€„†„‚†„ƒ…ƒ…€ƒ€€€……€€„„„…‡„~€„„„„€ƒ~ƒ„„…„‡„ƒ€„†…………„ƒˆƒ†ƒ„‚ƒ„€…„ƒƒ†…ƒ‚…‚„„ƒ‚ƒƒ„ƒ€„ƒƒ‚„ƒƒƒƒ„„……ƒˆƒ……†„…††…†„ƒ†ˆ†„‡‡‡†‡ˆˆ‡………„……‡ˆˆ„…ˆˆ†‡„‡‡‰†…†………„ˆ†…†ˆ‰ˆ†…†‰ˆ‡‡‡ƒˆ†‡‡‰‡††…„…†…†‰‰‰‰ˆ‰‡‡‰‰ˆˆ‰‰ˆˆ††‡‰ˆˆ†……†‡‡ˆˆ„‰†‡‡‡†‡‡†………ˆ‡‰ˆ‡…‰†‡‡†‡…„†‡…„†ˆ‡„„„ƒƒ…†††…†‰ˆ†‰„…ˆ‡ƒƒƒ‡…„………†…„„„…†……†„…„ƒ„…†……„‚†…†ˆ…„……‡‡ˆ‰‡ˆˆ‡…‡ˆ„‡‡ˆˆ‡ˆ‡‡‡…„‡„‰ˆˆ‡‰‰‡‰Š‰ˆ‹‹‡‰‹ˆ‰Œ‰‰‡‡ˆ‰‰†…‰†ˆˆ††…††ˆ†‡Š†‰‰‰Š‹Œ‹‹Œ‘‘’‘‘’“”•‘™—–•Ž……‚ˆ‚ƒ‚†‚‚ƒ€€ƒ‚ƒtopsutrwvrtvtsttssvtssvwwxwuvvvusrsuvvtttvywwvvvwwzzyxyxxxxwxz~|}~~~|{xxz{|}||}{y|z{€}{|}€€}€€€~€€…€„€€~…€„„€~ƒ~€ƒ„ƒƒ€€~~~~~|‚€~…~ƒƒƒ€‚‚ƒ€„ƒ€€„}‚‚‚€~||~~~€ƒ…€ƒ‚€}~‚…€€€€~}€€ƒ„…ƒy†…ƒ„†„„„„„€‚‡ƒƒ‚…ƒ…††††„‡ƒ„‚ƒ‚………ƒ„ƒ€ƒ…„„„„ƒ‡ƒ„ƒ‡……‚ˆ€…ƒ„ƒ„„…„…ƒ„†…‡„„ƒƒ…‹„ƒƒ„„‚ƒ„…„††…„„…„„ƒ„…„„ƒ‡‡ˆˆ†ƒ…‡ˆˆ‰…ЅЇ‡…………„‰‡ˆ‰Š‰‰‡†ƒŠ†‡‡‰‡ˆˆ‰ˆ†‡‰†‡ˆŠ††…‰ˆ‰‰‡††‡ˆ…‰…ˆ…‰…‹†‡…‡ˆ‰ˆ‰‰‰‰ˆˆ‰ˆ‡ˆ‡‡††††‡†††……‡‡ˆ‡Œ††…‡‡ˆˆ‡‡‡…ˆ…‹‡‰…Šˆ‡‡‡†‡‡Š‡‡†‡†……„…‡…„…‡ƒ……‰ˆˆ†‰‡ƒƒ„„„„ƒ……‚…‚†ƒ……‡„…ƒ‰‡‡„†„…„ƒƒ€€ƒ…†ˆ…„ˆˆˆ†ˆˆ……‡„…‡ˆ‡‡ˆ‰‰ˆ‡†…†ˆˆ†ˆ……ˆ‡††‡‰‡‰‰‰ˆ‹ˆ‹Š‰‰‹Š‰ŠŠ‰‰‰ˆ‡Œ†…ˆ…†‰Šˆ‡…†ˆ……‰ˆŠ‹Œ‹ŠŒŽŽŒŒ‘‘‘‘’‘‘•‘•—––‰…ƒƒƒ€‚†ƒƒ€€„„tpotvvvwtvvwutttrutttruwvvvrsusxsttxwtvxwywwvvwyxvzzzzx|}}yxxyz||{|z{|yyy{|}~||}~|~zy~~€ƒ~~~}~€€|{~~~€€~~€€€€‚„„€€‚€€„„ƒ€€€ƒ~~}|{}{{~€ƒ~€ƒ€}€‚‚„€ƒ€ƒ€€‚€€ƒ‚€ƒ}}}~€ƒƒ~~ƒ€‚€ƒ{~€€€€€€‚‚ƒ€€€€‚…„…ƒ‚………„€‚€‡…„‚ƒ„ƒ€………„ƒ‚„ƒƒ…………„……ƒ†‡|„„„……„‚……ƒ‰|†‡…{…ƒ„„„„…|ƒ………ƒƒ‚‚‚„……†„„„„…†„„„„…„‚„„„…€„„…„„‡…‚…‡…„…†„„Š…………†‡„‰‡‡†††††„„…††„†‡ˆˆ‰‰†ˆ‡ˆ‡‡……††…†…ˆ†††…ˆ………І………‡†„ˆ‹ˆˆˆ‡ˆ‰†…‡‡ˆˆ††…†‡†……†††††ˆ‡…†††‡…†‡‡‡ˆ†ˆ‡‡ˆˆ‡‡‡„‰ˆˆ†…‡‡‡ˆ‡‡‰…„†ˆ‡‡…‡ˆ…„„Їˆ‡…ˆ„‡††…………………„ƒ‚……„…ƒ„„……„††„…ƒ……††‡†ˆ†ˆ…†……„††††ˆ‡‡‡†‡‰‰ˆŠ†…†„ƒ„ƒ‡‡‡ˆ‡‡‡‰‡ˆ‰‰Š‰ˆˆŠŒ‰ˆ‰ˆ‰ˆŠŠŠˆ…„†‡‰ˆ†Š‰Š‹†‡‡ˆˆ‰Š‹‹ŒŽ‘ŒŽ’Œ‘’‘’’’’’“”•–••””’ˆˆ„ƒ€~…†…‚€‚ƒ…soqoptqstwvsvurssstsvvuuvvvsssryussvuvxxyxzxwxxx|yzxwxxvxz{wxy||y}~{{|{w~|~}{y{z~~{}€}}~€‚{~~}ƒ~€€€…€}~~€€€‚€ƒƒ‚€}„ƒƒ€~„„„ƒ€~~||ƒƒƒ€~ƒ€€‚‚‚ƒ‚ƒ€ƒ€€€ƒ‚€ƒ‚€ƒ„ƒ„ƒƒ€€ƒ‚€~„…†ƒ€|ƒ€‚~~{„€€ƒ€€ƒ„ƒ~ƒ…‚€………††ƒ„„‡‡‡‡‡„„ƒ………„ƒ‚„…„ƒ„…†………†ƒ‰‰‰‚†…†††‚…„„ˆ†…„ˆ‡‡‚ˆƒ‡†‡ˆˆ††…†„„„ˆ‚Œ‚†…„ƒˆˆ‡…„ƒ…„…††‚‡†ˆ„…„†„‚ƒƒ……………†††‡‡‰ˆ†…†…‡ƒ‰ˆ‰Šˆˆ‹‡ˆˆ‰…†„†‡‰†‡…†ˆ‡‡††‹‹‹…ˆ„‡‡‰‡Œ…‰‰‹‹‹‰‡…Š‰†‹Šˆ†‰‰‹‰††‡ˆ‰‡‡‡ˆŠ‹†‡††………‡‡††Šˆˆ‡†‡‡‡‡‡ˆˆ‹‡‰ˆ‹†††‡††…Šˆ‡‡„‡„†ˆ‰‡„„„…‡‰ˆ„…‹‡ˆˆ†……‡‡„‡‡†ƒ…………‰…††‡…‰ƒ††††…†‡„……‡‡†…†…†ˆ†‡ˆˆ‹‡ˆ†…‡ˆˆ†…ˆ‰‹‹Œ†Š‹Š‰‰†‡†‡ˆˆ†‡ˆˆ‰ŽŠ‰‰‰ŠŠŠ‰‹ŒŠ‹‰ŠŠŠˆˆˆ‡‹ˆŠ‹ŠŠ‹‹ˆ‡ˆ‰‰ˆ†ŠŽ‘ŒŒŽ‹Ž’’“““““‘“•”•“‘•‘–Ž‹‡„ƒ‚ƒ…‚‚ƒƒ„ƒ„†ppqqnsqqqsuusrrurvuqrvuqvvssssr{vssutwwrrtyvwwvswzzwwvxzwyzwy|zzz{{|{yxx}{z|{|{z}€{z|€||€ƒ}~€~ƒ}~€€€€€€ƒ€€€€€‚„„ƒ€‚€€€~ƒ€~~€€ƒ€‚}}„€€}‚€‚ƒ€~‚€‚ƒƒ|„€€€xƒ€€~‚€~~~„€|ƒ€ƒƒ~}~‚€‚‚ƒƒ€€ƒ…ƒ†…‚…ƒ€†„„ˆ†ƒƒ…€„„„…„…„€ƒ‚††ƒ…„ƒƒƒˆƒƒ„„†ƒ„…„€…„„†‡€„…ƒ€†…„………†ƒƒ„‡ƒƒ€……‚ƒ„…„…„„„{‡……‚‰……„……††ƒˆ†……€†‡…„…‡‡ˆ‡ˆ……††ˆ„‡ˆˆ…„ƒ‰ˆˆ…††††………†‡ˆ††………††††††††‡‰…‹†‰‡……………‡†‡‡‡ˆ„ˆ†…†ˆˆ††‡ˆˆˆ‡†‡ˆ‡†‡‡‡…†……††‡††‡‰‰‰ˆ‡ˆ‡‡ˆ‡‡‰„……‡†……‡ˆˆ…‰ˆ‡ˆ††‡ˆ…„‡ˆ‡‡‡ˆ†„‰ˆˆ‰…‰…‡‡„…ˆ………„…†ˆ†„„ˆ‡…††„…†„…„„…ˆ‡‡ˆŒŒŒˆˆˆ‰ˆˆˆ‡‰Š‹†ˆˆˆŠ‰Š‰‹†„…‰ˆˆˆ‰‰‰‰ˆ‡†‡ˆ‰Žˆˆ‹Œˆ…‰‹‰Š‹‹ˆŠŠˆ‰Šˆˆ‹ŠŠ‹‰‡‰ŠŠ‰‰Š‰‹‰‰‹Ž“’’’”’‘‘‘‘‘’’“Ž‘‘’“•–’‘‘•‘•Ž‰Š„„ƒƒƒ‚ƒ‚…‚ƒƒ…rnrrpnooqrsutqtussurssvuutvutqtvvrussvxrtuxvwwvruwzwwuyvzzxw|{|{{{yz|{}y|||{y}}z~~€~|€~€~€|‡|~ƒ€€€€€~~€€‚„ƒ„€ƒ‚€€„„„ƒƒ‚ƒƒ}~€~„}„ƒƒƒ‚„ƒ‚ƒ€ƒ„„‚ƒ„„„|ƒƒ€€~‚€€ƒ…‚„„…ƒ€‚„„„„…€|ƒ€ƒ†ƒƒ…€…€‚€………„……ˆ†„ƒ†‡€……ˆ………‡ˆ……„‚„„……„…„„‚„„…„ˆ‰‰„…‚†ƒ†‚‡…„…‡„………„…„„ƒ…„†„……‡‚ƒƒ†‚†…†‡‡ƒ‡„…„„„…‡‡…‡†ˆ„…„†…‡ƒ„…ˆ„…………††…‡ˆ‡††††††‰ƒ…ˆˆ†‡‚‰ˆˆ††…Š…‡…ˆ‡ˆˆˆ…†…††ˆˆ‰ˆ‰†‡ˆŒŒŒŒ‡‰‡ˆˆˆ†Š…‰‡‡…ˆ†ˆ…‰‰‰†‡‡Šˆ†…‰ˆŠ„†ˆˆ…І‡…†……‡ˆŠˆ†Šˆˆ‡‡†‡†‡ƒ„ƒ‡ˆ„„ˆˆ‡ˆ‰Š‰‰ˆ„ƒ‚„ˆˆˆ†…†‡‡‰ˆ‰ˆ……††‡‡‡‡‡†…„‰…‰………‡†‡‡……‡ˆˆ†…†‡ˆŠ‰ŒŠ‹‹Š‹Œ‹‰Š‰‡‡ˆ‡†‰ŠŒŒ†‰ˆ‰ˆ‹‡ˆˆ‰ˆ‹ŠŠ‹Ž‡‰‰ŒŽˆŒ‰‰Š‰ˆ‹‹‹Š‹‹Š‰‹‹Š‰‰Ž‰‰‰‰Œ‡‰‹ŽŽ”””‘’’‘•””“’’••“‘’Œ‰‡‚‚†‚‚ƒƒ„ƒƒ„ƒ„nqmmpqpprtrsrqswsustqoprstsusuuurrusrrvwvuuuvuwystyywvvwzwxwxxxz||zyyyxxxyxyz{{{{}~€{{~}€€~€~~€ƒƒ…€~€€€€~€~~€~~€„€ƒƒ‚€€€€‚ƒ„ƒƒƒƒƒ„~€}}|{‚}~~zz‚ƒƒ€‚ƒƒ€„€€ƒ„ƒ}ƒ‚|€ƒ€{€€€€‚ƒ‚€€~~‚‚‚ƒ}€€€€€€ƒ€~……………‚…‡ƒƒƒ„…ˆ†…€‡…„„‡…„†…„€……„~ƒ„……ˆw‡…„ƒ„„„ƒƒ€€‡„…†„„ƒ„„†ƒ€…„†ƒ†………„…„„|‡…ƒ……†……‡x‡‡‡…ƒ†…ƒ„„…„ƒ†ƒ„‚‡†…†‡…ˆ††‡…………ˆ„„…†Š†ƒˆˆˆ‡…‡†……†‡ˆˆ†…ƒƒ…††………††‡ˆˆˆˆˆ††‡‹†ˆ…‡‡…‡…‡††…†…†…††††‡‡ˆ…††……„†‰ˆ‡‹‡ˆ„‡‡†ˆˆ‡Š‡‡‡‡ˆ‡‡…†…„ƒ‚†‡……‡…†‡ˆ„†ˆ‡„„……‡‡ˆ‰†…‰ˆ‡ˆ…ˆˆ…‡‡‡…†…„…‰…†„„‰†………‡†‹…‡…†ˆˆ…†††ˆ‹ŠŠ‰Š‹‹‹‹‹‹ŒŽˆ‰‡ˆˆˆˆˆˆ‰‰Š‰†ˆ‡ˆ‰ˆˆ‡‡ˆˆŠ‰‹ˆˆˆˆ‰Š‰ˆ‰ˆ‰ˆ‰‹Š‹‡ˆˆ‰ŠŠ‹Š‹Š‰ˆ‰‰‹ŠŠŽŒ‹ŽŽ’‘“’“‘‘Ž’•’’’’’””‘”‘‡†…„†„ƒƒ‚„ƒƒ‚‚‚„pqnlnppopsqrpqpurtpnoppqrtvuwvtrrrtuwotyxsuvwr{{ttxxwtwwywywvwyw~|{{yx{x}|||}~~|{}{€||~}€€€€€~†ƒ…‚~€€€„}~~ƒ€€‚{†„ƒ€ƒƒ€€€€ƒ‚„„~‚„ƒƒƒ~~}~z„~„~|„€„‚€ƒ€€ƒ|ƒ€|€€|€~‚€‚‚ƒ‚„€„€‚ƒ‚€€}ƒ‚†‚‚ƒ‚„‚ƒ}…†ƒ………„„†ƒ…‚……ˆ……‡…ˆƒ‡††€……†………y…………ˆ~…„†‚…ƒ„ƒ„‚‡††‡††…„‚…†„‚…ƒ†…†„……„…‡ƒˆ…†„†…ˆ…†„ˆ‡ˆ…†…ƒ…ƒ„„……………ƒ†ƒˆ‡……‡„ˆ……ˆ……‰…‰…Ž}‡‹‡†‡†‡†††‡…‰†‡ˆˆ…‰ˆŠ…ˆ†Š‡‡……†‰‰‰‡‰…‹‰‹‡ˆ„‡†‰‡„‡‡‡‡††‡‡†‡†ˆ…ˆ†Š†‹…ˆ…‡‰ˆ†‹‡Œ„ˆ‡‹†ˆˆŠ‡ˆ‰‡ˆ‰†‰‡ˆ„‰ƒˆ‡Š…ˆ…‡†ˆƒ‡†ˆ‡‡‡†‡‡ˆŠˆ†Š‰ˆ‰ˆ‰ˆ…‡‰‡††…„†ˆ†‡‡„Šˆ†…„„…‰…†‡……„†„†††‡ŠŒ‹Š‹Ž’Œˆ‰ˆˆˆˆ‡‡‡ˆ‰‰ˆˆ‰‰‰Š‰‰‰‡‹ŠŠŠ‰ˆˆŠˆŠ‰‰‰‰‰Œ‰ŒŒŒ‹‰ˆŠŠ‹ŒŽŒŠŠŒ‹ŠŽ‹ŽŒ‘•‘”Ž“‘”‘•‘–’’’’‘“““††‡††…‚ƒ„~‚‚‚€„lrmnnqoqopqqrrpssrpvvwntrvuuuvvwrrutwsrvxtrxvuzxtwwxwvwwywvwtxwxxw{zxx{{{{{||{|}}z€|‚|€€€~†€€€„€~€€…€€€~‚„ƒƒƒƒƒƒƒ‚~„€„€~~~|‚}‚~~~„ƒ‚ƒƒƒ€„‚ƒƒ‚€‚„€|€€€€€€€€‚€~}~‚‚~€~…€‚‚€‚‚€€€€…ƒ„‚ƒ…†„……†€†|ˆƒˆ‚†€€€ƒz…€€…ƒ€„‚‡ƒ……†…ƒ„…ƒ†…‡†…†…†…„„„…„„„ˆƒ„ƒ„‡„‡‚†ƒ…ƒ†„ƒ„‡ƒ„„……„…††……„„„„‚††…‡†ˆˆˆ‰‰……‡‡‰†Œ‡†…‡‡‡†‡†……‡…‰‡…………„ƒ‰‡††‡‰‡‰…ˆ‰‡ŠˆŠ…‰……†ˆ††‡‡‡…†‡†‡‡‡‡‡ˆ††……†‡††‰ˆ‡†ˆ‰ˆ‡‡‡Œ†‡‡††‡ˆ‹ˆ‡‡‡ˆˆˆ‡‡†‡‡‡‡‡‰‡ˆ‡‡…‡„‡†ˆˆ‡Š…ˆ†‡‹‡…„………„‰ˆ„‰‰ˆ‡‡…………„…††…††ˆ…Іˆ………„……ˆ‰…‹…ŠŠŒŽŠŽ‹ŽŽŽŽŽŽ‹‡Œ‰ˆ‡‡‡‹†‰Š‰‡ˆ‰Šˆˆˆ‡ˆˆŠ‰‰‰‰‰‹Œ‹‹‰‹‹‹‰‰‹‰Š‰ŒŽŽŒ‰‹ŒŠ‹‹‹‹‹‹‘ŽŽŽŽŽ”‘”“Ž’’‘“’’“•••”•“‘ކ‰‡†„„ƒ„‚‚ƒ‚€„nvnmnlmnoqqpqqpoorrqotrrttrsrsstusutrtvtvtutttwwustwvttsssuvszwyvxwywx|z{{zxw|{}|~}~€€€z‚€€€€€‚‚„€€ƒ‚€€€€‚€~€‚‚‚„ƒ‚€€ƒ~~~|‚‚ƒƒƒ‚„„„„ƒ‚ƒƒƒƒƒ~€€|€€€€€‚€€‚€€ƒ„„ƒƒ‚‚‚€€€€~„ƒƒ„ƒ„„ƒ€†‡‡†…€…„„‚„…………„…„…„„„††……††…„‚„„…††„‡€†€…„„ƒ„„„„…„‰……†††……††…ƒ…„†…†…††‡‡‡……ƒ‰„…„…ƒ‡†‡ˆ‰‰ˆ†…†………†…†‡‡„†ƒ………†‰ˆ‡ˆ‹‰‰ˆ‰‰ˆˆŒŒ‹‰Š†‹‹‹Š‰ˆˆ‡ˆ‡‡†‡†‰‰‰Š‹†‹ˆˆˆ†‡ˆ†…‡ˆ…ˆ†ˆ…‰‡‡‡ˆˆ†ˆ‰ˆ‡‡ˆˆ‡‡ˆˆ†††‡ˆ†ˆˆŠˆˆˆˆ‡‡‡‰†ˆˆˆˆ‡ˆˆˆ‹‰‹ˆ‡‰…ƒ„‡‡‡‡‡ˆ‡ˆ‡‡…‰„‰‰‰ˆ‡‹‡‡‡ˆˆˆˆ‡‰…‰ˆˆ‰„††……‡‰ˆ‰ˆ‰†‰…‡‡ˆ‡‡Š…‡‡†ƒ†Šˆ‡ˆˆˆˆˆˆˆ‰ŒŽŽŽŽŠ‹‹‰ˆˆˆˆ‡‰‰‰‰ˆˆ‰‰‰ˆ‰‹‹‰ŒŒŒŒŒ‹‹‹‹‰‰ˆ‹ŒŒŒŒŒŒ‹ŒŒŒ‹ŒŽŽŒŽ’’Ž’’‘’’Ž““’‘““’‘•’’“’’‘ŽŠ‰…†„„…„…ƒƒ~€ƒ
\ No newline at end of file
diff --git a/tutorial/detection/barcode/tutorial-barcode-detector-live.cpp b/tutorial/detection/barcode/tutorial-barcode-detector-live.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..60297d0fa99d255a310c4262bca7cceb97f57114
--- /dev/null
+++ b/tutorial/detection/barcode/tutorial-barcode-detector-live.cpp
@@ -0,0 +1,121 @@
+//! \example tutorial-barcode-detector-live.cpp
+#include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
+#include <visp/vpDisplayX.h>
+#include <visp/vpImageConvert.h>
+#include <visp/vpDetectorDataMatrixCode.h>
+#include <visp/vpDetectorQRCode.h>
+#include <visp/vpV4l2Grabber.h>
+
+int main(int argc, const char** argv)
+{
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020100) && (defined(VISP_HAVE_ZBAR) || defined(VISP_HAVE_DMTX))
+  int opt_device = 0;
+  int opt_barcode = 0; // 0=QRCode, 1=DataMatrix
+
+  for (int i=0; i<argc; i++) {
+    if (std::string(argv[i]) == "--device")
+      opt_device = atoi(argv[i+1]);
+    else if (std::string(argv[i]) == "--code-type")
+      opt_barcode = atoi(argv[i+1]);
+    else if (std::string(argv[i]) == "--help") {
+      std::cout << "Usage: " << argv[0]
+                << " [--device <camera number>] [--code-type <0 for QRcode | 1 for DataMatrix>] [--help]"
+                << std::endl;
+      return 0;
+    }
+  }
+  std::cout << "Use device: " << opt_device << std::endl;
+
+  try {
+    vpImage<unsigned char> I; // for gray images
+
+    //! [Construct grabber]
+#if defined(VISP_HAVE_V4L2)
+    vpV4l2Grabber g;
+    std::ostringstream device;
+    device << "/dev/video" << opt_device;
+    g.setDevice(device.str());
+    g.setScale(1);
+    g.acquire(I);
+#elif defined(VISP_HAVE_OPENCV)
+    cv::VideoCapture cap(opt_device); // open the default camera
+    if(!cap.isOpened()) { // check if we succeeded
+      std::cout << "Failed to open the camera" << std::endl;
+      return -1;
+    }
+    cv::Mat frame;
+    cap >> frame; // get a new frame from camera
+    vpImageConvert::convert(frame, I);
+#endif
+    //! [Construct grabber]
+
+#if defined(VISP_HAVE_X11)
+    vpDisplayX d(I);
+#elif defined(VISP_HAVE_GDI)
+    vpDisplayGDI d(I);
+#elif defined(VISP_HAVE_OPENCV)
+    vpDisplayOpenCV d(I);
+#endif
+    vpDisplay::setTitle(I, "ViSP viewer");
+
+    vpDetectorBase *detector = NULL;
+#if (defined(VISP_HAVE_ZBAR) && defined(VISP_HAVE_DMTX))
+    if (opt_barcode == 0)
+      detector = new vpDetectorQRCode;
+    else
+      detector = new vpDetectorDataMatrixCode;
+#elif defined(VISP_HAVE_ZBAR)
+    detector = new vpDetectorQRCode;
+    (void)opt_barcode;
+#elif defined(VISP_HAVE_DMTX)
+    detector = new vpDetectorDataMatrixCode;
+    (void)opt_barcode;
+#endif
+
+    for(;;) {
+      //! [Acquisition]
+#if defined(VISP_HAVE_V4L2)
+      g.acquire(I);
+#else
+      cap >> frame; // get a new frame from camera
+      vpImageConvert::convert(frame, I);
+#endif
+      //! [Acquisition]
+      vpDisplay::display(I);
+
+      bool status = detector->detect(I);
+      std::ostringstream legend;
+      legend << detector->getNbObjects() << " bar code detected";
+      vpDisplay::displayText(I, 10, 10, legend.str(), vpColor::red);
+
+      if (status) {
+        for(size_t i=0; i < detector->getNbObjects(); i++) {
+          std::vector<vpImagePoint> p = detector->getPolygon(i);
+          vpRect bbox = detector->getBBox(i);
+          vpDisplay::displayRectangle(I, bbox, vpColor::green);
+          vpDisplay::displayText(I, bbox.getTop()-20, bbox.getLeft(), "Message: \"" + detector->getMessage(i) + "\"", vpColor::red);
+          for(size_t j=0; j < p.size(); j++) {
+            vpDisplay::displayCross(I, p[j], 14, vpColor::red, 3);
+            std::ostringstream number;
+            number << j;
+            vpDisplay::displayText(I, p[j]+vpImagePoint(10,0), number.str(), vpColor::blue);
+          }
+        }
+      }
+
+      vpDisplay::displayText(I, (int)I.getHeight()-25, 10, "Click to quit...", vpColor::red);
+      vpDisplay::flush(I);
+      if (vpDisplay::getClick(I, false)) // a click to exit
+        break;
+    }
+    delete detector;
+  }
+  catch(vpException e) {
+    std::cout << "Catch an exception: " << e << std::endl;
+  }
+#else
+  (void)argc;
+  (void)argv;
+#endif
+}
diff --git a/tutorial/detection/barcode/tutorial-barcode-detector.cpp b/tutorial/detection/barcode/tutorial-barcode-detector.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..6d9523f5b66396638602fa1cd06d94f3c937a997
--- /dev/null
+++ b/tutorial/detection/barcode/tutorial-barcode-detector.cpp
@@ -0,0 +1,105 @@
+//! \example tutorial-barcode-detector.cpp
+//! [Include]
+#include <visp/vpDetectorDataMatrixCode.h>
+#include <visp/vpDetectorQRCode.h>
+//! [Include]
+#include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
+#include <visp/vpDisplayX.h>
+#include <visp/vpImageIo.h>
+
+int main(int argc, const char** argv)
+{
+  //! [Macro defined]
+#if (defined(VISP_HAVE_ZBAR) || defined(VISP_HAVE_DMTX)) && (defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV))
+  //! [Macro defined]
+  try {
+    vpImage<unsigned char> I;
+    vpImageIo::read(I, "bar-code.pgm");
+
+#ifdef VISP_HAVE_X11
+    vpDisplayX d(I);
+#elif defined(VISP_HAVE_GDI)
+    vpDisplayGDI d(I);
+#elif defined(VISP_HAVE_OPENCV)
+    vpDisplayOpenCV d(I);
+#endif
+
+    //! [Create base detector]
+    vpDetectorBase *detector = NULL;
+    //! [Create base detector]
+
+#if (defined(VISP_HAVE_ZBAR) && defined(VISP_HAVE_DMTX))
+    int opt_barcode = 0; // 0=QRCode, 1=DataMatrix
+
+    for (int i=0; i<argc; i++) {
+      if (std::string(argv[i]) == "--code-type")
+        opt_barcode = atoi(argv[i+1]);
+      else if (std::string(argv[i]) == "--help") {
+        std::cout << "Usage: " << argv[0]
+                  << " [--code-type <0 for QRcode | 1 for DataMatrix>] [--help]"
+                  << std::endl;
+        return 0;
+      }
+    }
+    //! [Create detector]
+    if (opt_barcode == 0)
+      detector = new vpDetectorQRCode;
+    else
+      detector = new vpDetectorDataMatrixCode;
+    //! [Create detector]
+#elif defined(VISP_HAVE_ZBAR)
+    detector = new vpDetectorQRCode;
+    (void)argc;
+    (void)argv;
+#elif defined(VISP_HAVE_DMTX)
+    detector = new vpDetectorDataMatrixCode;
+    (void)argc;
+    (void)argv;
+#endif
+
+    vpDisplay::display(I);
+
+    //! [Detection]
+    bool status = detector->detect(I);
+    //! [Detection]
+    std::ostringstream legend;
+    legend << detector->getNbObjects() << " bar code detected";
+    vpDisplay::displayText(I, (int)I.getHeight()-30, 10, legend.str(), vpColor::red);
+
+    //! [Parse detected codes]
+    if (status) {
+      for(size_t i=0; i < detector->getNbObjects(); i++) {
+        //! [Parse detected codes]
+        //! [Get location]
+        std::vector<vpImagePoint> p = detector->getPolygon(i);
+        vpRect bbox = detector->getBBox(i);
+        //! [Get location]
+        vpDisplay::displayRectangle(I, bbox, vpColor::green);
+        //! [Get message]
+        vpDisplay::displayText(I, (int)(bbox.getTop()-10), (int)bbox.getLeft(),
+                               "Message: \"" + detector->getMessage(i) + "\"",
+                               vpColor::red);
+        //! [Get message]
+        for(size_t j=0; j < p.size(); j++) {
+          vpDisplay::displayCross(I, p[j], 14, vpColor::red, 3);
+          std::ostringstream number;
+          number << j;
+          vpDisplay::displayText(I, p[j]+vpImagePoint(10,0), number.str(), vpColor::blue);
+        }
+      }
+
+      vpDisplay::displayText(I, (int)I.getHeight()-15, 10, "A click to quit...", vpColor::red);
+      vpDisplay::flush(I);
+      vpDisplay::getClick(I);
+    }
+    delete detector;
+  }
+  catch(vpException e) {
+    std::cout << "Catch an exception: " << e << std::endl;
+  }
+#else
+  (void)argc;
+  (void)argv;
+#endif
+}
diff --git a/tutorial/detection/face/CMakeLists.txt b/tutorial/detection/face/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..258eaf1512e6eb094cbea5681e19f64b4dc237d6
--- /dev/null
+++ b/tutorial/detection/face/CMakeLists.txt
@@ -0,0 +1,26 @@
+project(tutorial-detection-face)
+
+cmake_minimum_required(VERSION 2.6)
+
+find_package(VISP REQUIRED)
+
+# set the list of source files
+set(tutorial_cpp
+  tutorial-face-detector.cpp
+  tutorial-face-detector-live.cpp)
+
+list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/haarcascade_frontalface_alt.xml" )
+list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/video.mpeg" )
+
+foreach(cpp ${tutorial_cpp})
+  visp_add_target(${cpp})
+  if(COMMAND visp_add_dependency)
+    visp_add_dependency(${cpp} "tutorials")
+  endif()
+endforeach()
+
+# Copy the data files to the same location than the target
+foreach(data ${tutorial_data})
+  visp_copy_data(tutorial-face-detector-live.cpp ${data})
+endforeach()
+
diff --git a/tutorial/detection/face/haarcascade_frontalface_alt.xml b/tutorial/detection/face/haarcascade_frontalface_alt.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5a6f275458055536d92cd5ec491f20c06fa6431c
--- /dev/null
+++ b/tutorial/detection/face/haarcascade_frontalface_alt.xml
@@ -0,0 +1,26161 @@
+<?xml version="1.0"?>
+<!--
+    Stump-based 20x20 gentle adaboost frontal face detector.
+    Created by Rainer Lienhart.
+
+////////////////////////////////////////////////////////////////////////////////////////
+
+  IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
+
+  By downloading, copying, installing or using the software you agree to this license.
+  If you do not agree to this license, do not download, install,
+  copy or use the software.
+
+
+                        Intel License Agreement
+                For Open Source Computer Vision Library
+
+ Copyright (C) 2000, Intel Corporation, all rights reserved.
+ Third party copyrights are property of their respective owners.
+
+ Redistribution and use in source and binary forms, with or without modification,
+ are permitted provided that the following conditions are met:
+
+   * Redistribution's of source code must retain the above copyright notice,
+     this list of conditions and the following disclaimer.
+
+   * Redistribution's in binary form must reproduce the above copyright notice,
+     this list of conditions and the following disclaimer in the documentation
+     and/or other materials provided with the distribution.
+
+   * The name of Intel Corporation may not be used to endorse or promote products
+     derived from this software without specific prior written permission.
+
+ This software is provided by the copyright holders and contributors "as is" and
+ any express or implied warranties, including, but not limited to, the implied
+ warranties of merchantability and fitness for a particular purpose are disclaimed.
+ In no event shall the Intel Corporation or contributors be liable for any direct,
+ indirect, incidental, special, exemplary, or consequential damages
+ (including, but not limited to, procurement of substitute goods or services;
+ loss of use, data, or profits; or business interruption) however caused
+ and on any theory of liability, whether in contract, strict liability,
+ or tort (including negligence or otherwise) arising in any way out of
+ the use of this software, even if advised of the possibility of such damage.
+-->
+<opencv_storage>
+<haarcascade_frontalface_alt type_id="opencv-haar-classifier">
+  <size>20 20</size>
+  <stages>
+    <_>
+      <!-- stage 0 -->
+      <trees>
+        <_>
+          <!-- tree 0 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 7 14 4 -1.</_>
+                <_>3 9 14 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.0141958743333817e-003</threshold>
+            <left_val>0.0337941907346249</left_val>
+            <right_val>0.8378106951713562</right_val></_></_>
+        <_>
+          <!-- tree 1 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 2 18 4 -1.</_>
+                <_>7 2 6 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0151513395830989</threshold>
+            <left_val>0.1514132022857666</left_val>
+            <right_val>0.7488812208175659</right_val></_></_>
+        <_>
+          <!-- tree 2 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 7 15 9 -1.</_>
+                <_>1 10 15 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.2109931819140911e-003</threshold>
+            <left_val>0.0900492817163467</left_val>
+            <right_val>0.6374819874763489</right_val></_></_></trees>
+      <stage_threshold>0.8226894140243530</stage_threshold>
+      <parent>-1</parent>
+      <next>-1</next></_>
+    <_>
+      <!-- stage 1 -->
+      <trees>
+        <_>
+          <!-- tree 0 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 6 2 6 -1.</_>
+                <_>5 9 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.6227109590545297e-003</threshold>
+            <left_val>0.0693085864186287</left_val>
+            <right_val>0.7110946178436279</right_val></_></_>
+        <_>
+          <!-- tree 1 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 5 6 3 -1.</_>
+                <_>9 5 2 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.2906649392098188e-003</threshold>
+            <left_val>0.1795803010463715</left_val>
+            <right_val>0.6668692231178284</right_val></_></_>
+        <_>
+          <!-- tree 2 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 0 12 9 -1.</_>
+                <_>4 3 12 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.0025708042085171e-003</threshold>
+            <left_val>0.1693672984838486</left_val>
+            <right_val>0.6554006934165955</right_val></_></_>
+        <_>
+          <!-- tree 3 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 9 10 8 -1.</_>
+                <_>6 13 10 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.9659894108772278e-003</threshold>
+            <left_val>0.5866332054138184</left_val>
+            <right_val>0.0914145186543465</right_val></_></_>
+        <_>
+          <!-- tree 4 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 6 14 8 -1.</_>
+                <_>3 10 14 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.5227010957896709e-003</threshold>
+            <left_val>0.1413166970014572</left_val>
+            <right_val>0.6031895875930786</right_val></_></_>
+        <_>
+          <!-- tree 5 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 1 6 10 -1.</_>
+                <_>14 1 3 10 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0366676896810532</threshold>
+            <left_val>0.3675672113895416</left_val>
+            <right_val>0.7920318245887756</right_val></_></_>
+        <_>
+          <!-- tree 6 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 8 5 12 -1.</_>
+                <_>7 12 5 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.3361474573612213e-003</threshold>
+            <left_val>0.6161385774612427</left_val>
+            <right_val>0.2088509947061539</right_val></_></_>
+        <_>
+          <!-- tree 7 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 1 18 3 -1.</_>
+                <_>7 1 6 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.6961314082145691e-003</threshold>
+            <left_val>0.2836230993270874</left_val>
+            <right_val>0.6360273957252502</right_val></_></_>
+        <_>
+          <!-- tree 8 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 8 17 2 -1.</_>
+                <_>1 9 17 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.1488880263641477e-003</threshold>
+            <left_val>0.2223580926656723</left_val>
+            <right_val>0.5800700783729553</right_val></_></_>
+        <_>
+          <!-- tree 9 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 6 4 2 -1.</_>
+                <_>16 7 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.1484689787030220e-003</threshold>
+            <left_val>0.2406464070081711</left_val>
+            <right_val>0.5787054896354675</right_val></_></_>
+        <_>
+          <!-- tree 10 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 17 2 2 -1.</_>
+                <_>5 18 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.1219060290604830e-003</threshold>
+            <left_val>0.5559654831886292</left_val>
+            <right_val>0.1362237036228180</right_val></_></_>
+        <_>
+          <!-- tree 11 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 2 6 12 -1.</_>
+                <_>14 2 3 12 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0939491465687752</threshold>
+            <left_val>0.8502737283706665</left_val>
+            <right_val>0.4717740118503571</right_val></_></_>
+        <_>
+          <!-- tree 12 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 0 4 12 -1.</_>
+                <_>4 0 2 6 2.</_>
+                <_>6 6 2 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.3777789426967502e-003</threshold>
+            <left_val>0.5993673801422119</left_val>
+            <right_val>0.2834529876708984</right_val></_></_>
+        <_>
+          <!-- tree 13 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 11 18 8 -1.</_>
+                <_>8 11 6 8 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0730631574988365</threshold>
+            <left_val>0.4341886043548584</left_val>
+            <right_val>0.7060034275054932</right_val></_></_>
+        <_>
+          <!-- tree 14 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 10 2 -1.</_>
+                <_>5 8 10 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.6767389974556863e-004</threshold>
+            <left_val>0.3027887940406799</left_val>
+            <right_val>0.6051574945449829</right_val></_></_>
+        <_>
+          <!-- tree 15 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 11 5 3 -1.</_>
+                <_>15 12 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.0479710809886456e-003</threshold>
+            <left_val>0.1798433959484100</left_val>
+            <right_val>0.5675256848335266</right_val></_></_></trees>
+      <stage_threshold>6.9566087722778320</stage_threshold>
+      <parent>0</parent>
+      <next>-1</next></_>
+    <_>
+      <!-- stage 2 -->
+      <trees>
+        <_>
+          <!-- tree 0 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 3 10 9 -1.</_>
+                <_>5 6 10 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0165106896311045</threshold>
+            <left_val>0.6644225120544434</left_val>
+            <right_val>0.1424857974052429</right_val></_></_>
+        <_>
+          <!-- tree 1 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 4 2 14 -1.</_>
+                <_>9 11 2 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.7052499353885651e-003</threshold>
+            <left_val>0.6325352191925049</left_val>
+            <right_val>0.1288477033376694</right_val></_></_>
+        <_>
+          <!-- tree 2 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 5 4 12 -1.</_>
+                <_>3 9 4 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.8069869149476290e-003</threshold>
+            <left_val>0.1240288019180298</left_val>
+            <right_val>0.6193193197250366</right_val></_></_>
+        <_>
+          <!-- tree 3 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 5 12 5 -1.</_>
+                <_>8 5 4 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5402400167658925e-003</threshold>
+            <left_val>0.1432143002748489</left_val>
+            <right_val>0.5670015811920166</right_val></_></_>
+        <_>
+          <!-- tree 4 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 6 10 8 -1.</_>
+                <_>5 10 10 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.6386279175058007e-004</threshold>
+            <left_val>0.1657433062791824</left_val>
+            <right_val>0.5905207991600037</right_val></_></_>
+        <_>
+          <!-- tree 5 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 0 6 9 -1.</_>
+                <_>8 3 6 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.9253729842603207e-003</threshold>
+            <left_val>0.2695507109165192</left_val>
+            <right_val>0.5738824009895325</right_val></_></_>
+        <_>
+          <!-- tree 6 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 12 1 8 -1.</_>
+                <_>9 16 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.0214841030538082e-003</threshold>
+            <left_val>0.1893538981676102</left_val>
+            <right_val>0.5782774090766907</right_val></_></_>
+        <_>
+          <!-- tree 7 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 7 20 6 -1.</_>
+                <_>0 9 20 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.6365420781075954e-003</threshold>
+            <left_val>0.2309329062700272</left_val>
+            <right_val>0.5695425868034363</right_val></_></_>
+        <_>
+          <!-- tree 8 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 0 6 17 -1.</_>
+                <_>9 0 2 17 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5127769438549876e-003</threshold>
+            <left_val>0.2759602069854736</left_val>
+            <right_val>0.5956642031669617</right_val></_></_>
+        <_>
+          <!-- tree 9 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 0 6 4 -1.</_>
+                <_>11 0 2 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0101574398577213</threshold>
+            <left_val>0.1732538044452667</left_val>
+            <right_val>0.5522047281265259</right_val></_></_>
+        <_>
+          <!-- tree 10 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 1 6 4 -1.</_>
+                <_>7 1 2 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0119536602869630</threshold>
+            <left_val>0.1339409947395325</left_val>
+            <right_val>0.5559014081954956</right_val></_></_>
+        <_>
+          <!-- tree 11 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 1 6 16 -1.</_>
+                <_>14 1 2 16 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.8859491944313049e-003</threshold>
+            <left_val>0.3628703951835632</left_val>
+            <right_val>0.6188849210739136</right_val></_></_>
+        <_>
+          <!-- tree 12 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 5 18 8 -1.</_>
+                <_>0 5 9 4 2.</_>
+                <_>9 9 9 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0801329165697098</threshold>
+            <left_val>0.0912110507488251</left_val>
+            <right_val>0.5475944876670837</right_val></_></_>
+        <_>
+          <!-- tree 13 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 15 10 4 -1.</_>
+                <_>13 15 5 2 2.</_>
+                <_>8 17 5 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.0643280111253262e-003</threshold>
+            <left_val>0.3715142905712128</left_val>
+            <right_val>0.5711399912834168</right_val></_></_>
+        <_>
+          <!-- tree 14 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 1 4 8 -1.</_>
+                <_>3 1 2 4 2.</_>
+                <_>5 5 2 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.3419450260698795e-003</threshold>
+            <left_val>0.5953313708305359</left_val>
+            <right_val>0.3318097889423370</right_val></_></_>
+        <_>
+          <!-- tree 15 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 6 14 10 -1.</_>
+                <_>10 6 7 5 2.</_>
+                <_>3 11 7 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0546011403203011</threshold>
+            <left_val>0.1844065934419632</left_val>
+            <right_val>0.5602846145629883</right_val></_></_>
+        <_>
+          <!-- tree 16 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 1 6 16 -1.</_>
+                <_>4 1 2 16 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.9071690514683723e-003</threshold>
+            <left_val>0.3594244122505188</left_val>
+            <right_val>0.6131715178489685</right_val></_></_>
+        <_>
+          <!-- tree 17 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 18 20 2 -1.</_>
+                <_>0 19 20 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.4718717951327562e-004</threshold>
+            <left_val>0.5994353294372559</left_val>
+            <right_val>0.3459562957286835</right_val></_></_>
+        <_>
+          <!-- tree 18 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 13 4 3 -1.</_>
+                <_>8 14 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.3013808317482471e-003</threshold>
+            <left_val>0.4172652065753937</left_val>
+            <right_val>0.6990845203399658</right_val></_></_>
+        <_>
+          <!-- tree 19 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 14 2 3 -1.</_>
+                <_>9 15 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.5017572119832039e-003</threshold>
+            <left_val>0.4509715139865875</left_val>
+            <right_val>0.7801457047462463</right_val></_></_>
+        <_>
+          <!-- tree 20 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 12 9 6 -1.</_>
+                <_>0 14 9 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0241385009139776</threshold>
+            <left_val>0.5438212752342224</left_val>
+            <right_val>0.1319826990365982</right_val></_></_></trees>
+      <stage_threshold>9.4985427856445313</stage_threshold>
+      <parent>1</parent>
+      <next>-1</next></_>
+    <_>
+      <!-- stage 3 -->
+      <trees>
+        <_>
+          <!-- tree 0 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 3 4 -1.</_>
+                <_>5 9 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.9212230108678341e-003</threshold>
+            <left_val>0.1415266990661621</left_val>
+            <right_val>0.6199870705604553</right_val></_></_>
+        <_>
+          <!-- tree 1 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 3 2 16 -1.</_>
+                <_>9 11 2 8 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.2748669541906565e-004</threshold>
+            <left_val>0.6191074252128601</left_val>
+            <right_val>0.1884928941726685</right_val></_></_>
+        <_>
+          <!-- tree 2 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 6 13 8 -1.</_>
+                <_>3 10 13 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.1409931620582938e-004</threshold>
+            <left_val>0.1487396955490112</left_val>
+            <right_val>0.5857927799224854</right_val></_></_>
+        <_>
+          <!-- tree 3 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 3 8 2 -1.</_>
+                <_>12 3 4 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.1878609918057919e-003</threshold>
+            <left_val>0.2746909856796265</left_val>
+            <right_val>0.6359239816665649</right_val></_></_>
+        <_>
+          <!-- tree 4 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 8 4 12 -1.</_>
+                <_>8 12 4 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.1015717908740044e-003</threshold>
+            <left_val>0.5870851278305054</left_val>
+            <right_val>0.2175628989934921</right_val></_></_>
+        <_>
+          <!-- tree 5 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 3 8 6 -1.</_>
+                <_>15 3 4 3 2.</_>
+                <_>11 6 4 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.1448440384119749e-003</threshold>
+            <left_val>0.5880944728851318</left_val>
+            <right_val>0.2979590892791748</right_val></_></_>
+        <_>
+          <!-- tree 6 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 1 6 19 -1.</_>
+                <_>9 1 2 19 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.8977119363844395e-003</threshold>
+            <left_val>0.2373327016830444</left_val>
+            <right_val>0.5876647233963013</right_val></_></_>
+        <_>
+          <!-- tree 7 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 0 6 4 -1.</_>
+                <_>11 0 2 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0216106791049242</threshold>
+            <left_val>0.1220654994249344</left_val>
+            <right_val>0.5194202065467835</right_val></_></_>
+        <_>
+          <!-- tree 8 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 1 9 3 -1.</_>
+                <_>6 1 3 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.6299318782985210e-003</threshold>
+            <left_val>0.2631230950355530</left_val>
+            <right_val>0.5817409157752991</right_val></_></_>
+        <_>
+          <!-- tree 9 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 15 10 4 -1.</_>
+                <_>13 15 5 2 2.</_>
+                <_>8 17 5 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.9393711853772402e-004</threshold>
+            <left_val>0.3638620078563690</left_val>
+            <right_val>0.5698544979095459</right_val></_></_>
+        <_>
+          <!-- tree 10 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 3 6 10 -1.</_>
+                <_>3 3 3 10 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0538786612451077</threshold>
+            <left_val>0.4303531050682068</left_val>
+            <right_val>0.7559366226196289</right_val></_></_>
+        <_>
+          <!-- tree 11 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 4 15 15 -1.</_>
+                <_>3 9 15 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.8887349870055914e-003</threshold>
+            <left_val>0.2122603058815002</left_val>
+            <right_val>0.5613427162170410</right_val></_></_>
+        <_>
+          <!-- tree 12 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 5 8 6 -1.</_>
+                <_>6 7 8 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.3635339457541704e-003</threshold>
+            <left_val>0.5631849169731140</left_val>
+            <right_val>0.2642767131328583</right_val></_></_>
+        <_>
+          <!-- tree 13 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 4 12 10 -1.</_>
+                <_>10 4 6 5 2.</_>
+                <_>4 9 6 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0240177996456623</threshold>
+            <left_val>0.5797107815742493</left_val>
+            <right_val>0.2751705944538117</right_val></_></_>
+        <_>
+          <!-- tree 14 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 4 4 4 -1.</_>
+                <_>8 4 2 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.0543030404951423e-004</threshold>
+            <left_val>0.2705242037773132</left_val>
+            <right_val>0.5752568840980530</right_val></_></_>
+        <_>
+          <!-- tree 15 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 11 1 2 -1.</_>
+                <_>15 12 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.4790197433903813e-004</threshold>
+            <left_val>0.5435624718666077</left_val>
+            <right_val>0.2334876954555512</right_val></_></_>
+        <_>
+          <!-- tree 16 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 11 2 2 -1.</_>
+                <_>3 12 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4091329649090767e-003</threshold>
+            <left_val>0.5319424867630005</left_val>
+            <right_val>0.2063155025243759</right_val></_></_>
+        <_>
+          <!-- tree 17 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 11 1 3 -1.</_>
+                <_>16 12 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4642629539594054e-003</threshold>
+            <left_val>0.5418980717658997</left_val>
+            <right_val>0.3068861067295075</right_val></_></_>
+        <_>
+          <!-- tree 18 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 15 6 4 -1.</_>
+                <_>3 15 3 2 2.</_>
+                <_>6 17 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.6352549428120255e-003</threshold>
+            <left_val>0.3695372939109802</left_val>
+            <right_val>0.6112868189811707</right_val></_></_>
+        <_>
+          <!-- tree 19 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 7 8 2 -1.</_>
+                <_>6 8 8 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.3172752056270838e-004</threshold>
+            <left_val>0.3565036952495575</left_val>
+            <right_val>0.6025236248970032</right_val></_></_>
+        <_>
+          <!-- tree 20 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 11 1 3 -1.</_>
+                <_>3 12 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.0998890977352858e-003</threshold>
+            <left_val>0.1913982033729553</left_val>
+            <right_val>0.5362827181816101</right_val></_></_>
+        <_>
+          <!-- tree 21 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 0 12 2 -1.</_>
+                <_>6 1 12 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.4213981861248612e-004</threshold>
+            <left_val>0.3835555016994476</left_val>
+            <right_val>0.5529310107231140</right_val></_></_>
+        <_>
+          <!-- tree 22 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 14 2 3 -1.</_>
+                <_>9 15 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.2655049581080675e-003</threshold>
+            <left_val>0.4312896132469177</left_val>
+            <right_val>0.7101895809173584</right_val></_></_>
+        <_>
+          <!-- tree 23 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 15 6 2 -1.</_>
+                <_>7 16 6 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.9134991867467761e-004</threshold>
+            <left_val>0.3984830975532532</left_val>
+            <right_val>0.6391963958740234</right_val></_></_>
+        <_>
+          <!-- tree 24 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 5 4 6 -1.</_>
+                <_>0 7 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0152841797098517</threshold>
+            <left_val>0.2366732954978943</left_val>
+            <right_val>0.5433713793754578</right_val></_></_>
+        <_>
+          <!-- tree 25 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 12 12 2 -1.</_>
+                <_>8 12 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.8381411470472813e-003</threshold>
+            <left_val>0.5817500948905945</left_val>
+            <right_val>0.3239189088344574</right_val></_></_>
+        <_>
+          <!-- tree 26 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 3 1 9 -1.</_>
+                <_>6 6 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.1093179071322083e-004</threshold>
+            <left_val>0.5540593862533569</left_val>
+            <right_val>0.2911868989467621</right_val></_></_>
+        <_>
+          <!-- tree 27 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 17 3 2 -1.</_>
+                <_>11 17 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.1275060288608074e-003</threshold>
+            <left_val>0.1775255054235458</left_val>
+            <right_val>0.5196629166603088</right_val></_></_>
+        <_>
+          <!-- tree 28 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 9 2 2 -1.</_>
+                <_>9 10 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.4576259097084403e-004</threshold>
+            <left_val>0.3024170100688934</left_val>
+            <right_val>0.5533593893051148</right_val></_></_>
+        <_>
+          <!-- tree 29 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 6 6 4 -1.</_>
+                <_>9 6 2 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0226465407758951</threshold>
+            <left_val>0.4414930939674377</left_val>
+            <right_val>0.6975377202033997</right_val></_></_>
+        <_>
+          <!-- tree 30 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 17 3 2 -1.</_>
+                <_>8 17 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.8804960418492556e-003</threshold>
+            <left_val>0.2791394889354706</left_val>
+            <right_val>0.5497952103614807</right_val></_></_>
+        <_>
+          <!-- tree 31 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 17 3 3 -1.</_>
+                <_>11 17 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.0889107882976532e-003</threshold>
+            <left_val>0.5263199210166931</left_val>
+            <right_val>0.2385547012090683</right_val></_></_>
+        <_>
+          <!-- tree 32 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 12 3 2 -1.</_>
+                <_>8 13 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.7318050377070904e-003</threshold>
+            <left_val>0.4319379031658173</left_val>
+            <right_val>0.6983600854873657</right_val></_></_>
+        <_>
+          <!-- tree 33 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 3 6 2 -1.</_>
+                <_>11 3 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.8482700735330582e-003</threshold>
+            <left_val>0.3082042932510376</left_val>
+            <right_val>0.5390920042991638</right_val></_></_>
+        <_>
+          <!-- tree 34 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 11 14 4 -1.</_>
+                <_>3 13 14 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5062530110299122e-005</threshold>
+            <left_val>0.5521922111511231</left_val>
+            <right_val>0.3120366036891937</right_val></_></_>
+        <_>
+          <!-- tree 35 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 10 18 4 -1.</_>
+                <_>10 10 9 2 2.</_>
+                <_>1 12 9 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0294755697250366</threshold>
+            <left_val>0.5401322841644287</left_val>
+            <right_val>0.1770603060722351</right_val></_></_>
+        <_>
+          <!-- tree 36 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 10 3 3 -1.</_>
+                <_>0 11 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.1387329846620560e-003</threshold>
+            <left_val>0.5178617835044861</left_val>
+            <right_val>0.1211019009351730</right_val></_></_>
+        <_>
+          <!-- tree 37 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 1 6 6 -1.</_>
+                <_>11 1 2 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0209429506212473</threshold>
+            <left_val>0.5290294289588928</left_val>
+            <right_val>0.3311221897602081</right_val></_></_>
+        <_>
+          <!-- tree 38 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 3 6 -1.</_>
+                <_>9 7 1 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.5665529370307922e-003</threshold>
+            <left_val>0.7471994161605835</left_val>
+            <right_val>0.4451968967914581</right_val></_></_></trees>
+      <stage_threshold>18.4129695892333980</stage_threshold>
+      <parent>2</parent>
+      <next>-1</next></_>
+    <_>
+      <!-- stage 4 -->
+      <trees>
+        <_>
+          <!-- tree 0 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 0 18 9 -1.</_>
+                <_>1 3 18 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.8206960996612906e-004</threshold>
+            <left_val>0.2064086049795151</left_val>
+            <right_val>0.6076732277870178</right_val></_></_>
+        <_>
+          <!-- tree 1 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 10 2 6 -1.</_>
+                <_>12 13 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.6790600493550301e-003</threshold>
+            <left_val>0.5851997137069702</left_val>
+            <right_val>0.1255383938550949</right_val></_></_>
+        <_>
+          <!-- tree 2 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 5 19 8 -1.</_>
+                <_>0 9 19 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.9827912375330925e-004</threshold>
+            <left_val>0.0940184295177460</left_val>
+            <right_val>0.5728961229324341</right_val></_></_>
+        <_>
+          <!-- tree 3 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 0 6 9 -1.</_>
+                <_>9 0 2 9 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.8959012171253562e-004</threshold>
+            <left_val>0.1781987994909287</left_val>
+            <right_val>0.5694308876991272</right_val></_></_>
+        <_>
+          <!-- tree 4 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 3 6 1 -1.</_>
+                <_>7 3 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.8560499195009470e-003</threshold>
+            <left_val>0.1638399064540863</left_val>
+            <right_val>0.5788664817810059</right_val></_></_>
+        <_>
+          <!-- tree 5 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 3 6 1 -1.</_>
+                <_>13 3 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.8122469559311867e-003</threshold>
+            <left_val>0.2085440009832382</left_val>
+            <right_val>0.5508564710617065</right_val></_></_>
+        <_>
+          <!-- tree 6 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 10 4 6 -1.</_>
+                <_>5 13 4 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5896620461717248e-003</threshold>
+            <left_val>0.5702760815620422</left_val>
+            <right_val>0.1857215017080307</right_val></_></_>
+        <_>
+          <!-- tree 7 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 3 6 1 -1.</_>
+                <_>13 3 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0100783398374915</threshold>
+            <left_val>0.5116943120956421</left_val>
+            <right_val>0.2189770042896271</right_val></_></_>
+        <_>
+          <!-- tree 8 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 4 12 6 -1.</_>
+                <_>4 6 12 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0635263025760651</threshold>
+            <left_val>0.7131379842758179</left_val>
+            <right_val>0.4043813049793243</right_val></_></_>
+        <_>
+          <!-- tree 9 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 12 2 6 -1.</_>
+                <_>15 14 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.1031491756439209e-003</threshold>
+            <left_val>0.2567181885242462</left_val>
+            <right_val>0.5463973283767700</right_val></_></_>
+        <_>
+          <!-- tree 10 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 3 2 2 -1.</_>
+                <_>10 3 1 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.4035000242292881e-003</threshold>
+            <left_val>0.1700665950775147</left_val>
+            <right_val>0.5590974092483521</right_val></_></_>
+        <_>
+          <!-- tree 11 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 3 3 1 -1.</_>
+                <_>10 3 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5226360410451889e-003</threshold>
+            <left_val>0.5410556793212891</left_val>
+            <right_val>0.2619054019451141</right_val></_></_>
+        <_>
+          <!-- tree 12 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 1 4 14 -1.</_>
+                <_>3 1 2 14 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0179974399507046</threshold>
+            <left_val>0.3732436895370483</left_val>
+            <right_val>0.6535220742225647</right_val></_></_>
+        <_>
+          <!-- tree 13 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 0 4 4 -1.</_>
+                <_>11 0 2 2 2.</_>
+                <_>9 2 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.4538191072642803e-003</threshold>
+            <left_val>0.2626481950283051</left_val>
+            <right_val>0.5537446141242981</right_val></_></_>
+        <_>
+          <!-- tree 14 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 5 1 14 -1.</_>
+                <_>7 12 1 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0118807600811124</threshold>
+            <left_val>0.2003753930330277</left_val>
+            <right_val>0.5544745922088623</right_val></_></_>
+        <_>
+          <!-- tree 15 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>19 0 1 4 -1.</_>
+                <_>19 2 1 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.2713660253211856e-003</threshold>
+            <left_val>0.5591902732849121</left_val>
+            <right_val>0.3031975924968720</right_val></_></_>
+        <_>
+          <!-- tree 16 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 5 6 4 -1.</_>
+                <_>8 5 3 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.1376109905540943e-003</threshold>
+            <left_val>0.2730407118797302</left_val>
+            <right_val>0.5646508932113648</right_val></_></_>
+        <_>
+          <!-- tree 17 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 18 3 2 -1.</_>
+                <_>10 18 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.2651998810470104e-003</threshold>
+            <left_val>0.1405909061431885</left_val>
+            <right_val>0.5461820960044861</right_val></_></_>
+        <_>
+          <!-- tree 18 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 18 3 2 -1.</_>
+                <_>9 18 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.9602861031889915e-003</threshold>
+            <left_val>0.1795035004615784</left_val>
+            <right_val>0.5459290146827698</right_val></_></_>
+        <_>
+          <!-- tree 19 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 5 12 6 -1.</_>
+                <_>4 7 12 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.8448226451873779e-003</threshold>
+            <left_val>0.5736783146858215</left_val>
+            <right_val>0.2809219956398010</right_val></_></_>
+        <_>
+          <!-- tree 20 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 12 2 6 -1.</_>
+                <_>3 14 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.6430689767003059e-003</threshold>
+            <left_val>0.2370675951242447</left_val>
+            <right_val>0.5503826141357422</right_val></_></_>
+        <_>
+          <!-- tree 21 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 8 2 12 -1.</_>
+                <_>10 12 2 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.9997808635234833e-003</threshold>
+            <left_val>0.5608199834823608</left_val>
+            <right_val>0.3304282128810883</right_val></_></_>
+        <_>
+          <!-- tree 22 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 18 3 2 -1.</_>
+                <_>8 18 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.1221720166504383e-003</threshold>
+            <left_val>0.1640105992555618</left_val>
+            <right_val>0.5378993153572083</right_val></_></_>
+        <_>
+          <!-- tree 23 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 0 6 2 -1.</_>
+                <_>11 0 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0156249096617103</threshold>
+            <left_val>0.5227649211883545</left_val>
+            <right_val>0.2288603931665421</right_val></_></_>
+        <_>
+          <!-- tree 24 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 11 9 3 -1.</_>
+                <_>5 12 9 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0103564197197557</threshold>
+            <left_val>0.7016193866729736</left_val>
+            <right_val>0.4252927899360657</right_val></_></_>
+        <_>
+          <!-- tree 25 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 0 6 2 -1.</_>
+                <_>11 0 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.7960809469223022e-003</threshold>
+            <left_val>0.2767347097396851</left_val>
+            <right_val>0.5355830192565918</right_val></_></_>
+        <_>
+          <!-- tree 26 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 1 18 5 -1.</_>
+                <_>7 1 6 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.1622693985700607</threshold>
+            <left_val>0.4342240095138550</left_val>
+            <right_val>0.7442579269409180</right_val></_></_>
+        <_>
+          <!-- tree 27 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 0 4 4 -1.</_>
+                <_>10 0 2 2 2.</_>
+                <_>8 2 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.5542530715465546e-003</threshold>
+            <left_val>0.5726485848426819</left_val>
+            <right_val>0.2582125067710877</right_val></_></_>
+        <_>
+          <!-- tree 28 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 12 1 3 -1.</_>
+                <_>3 13 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.1309209987521172e-003</threshold>
+            <left_val>0.2106848061084747</left_val>
+            <right_val>0.5361018776893616</right_val></_></_>
+        <_>
+          <!-- tree 29 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 5 3 -1.</_>
+                <_>8 15 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0132084200158715</threshold>
+            <left_val>0.7593790888786316</left_val>
+            <right_val>0.4552468061447144</right_val></_></_>
+        <_>
+          <!-- tree 30 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 4 10 12 -1.</_>
+                <_>5 4 5 6 2.</_>
+                <_>10 10 5 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0659966766834259</threshold>
+            <left_val>0.1252475976943970</left_val>
+            <right_val>0.5344039797782898</right_val></_></_>
+        <_>
+          <!-- tree 31 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 6 9 12 -1.</_>
+                <_>9 10 9 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.9142656177282333e-003</threshold>
+            <left_val>0.3315384089946747</left_val>
+            <right_val>0.5601043105125427</right_val></_></_>
+        <_>
+          <!-- tree 32 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 2 12 14 -1.</_>
+                <_>2 2 6 7 2.</_>
+                <_>8 9 6 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0208942797034979</threshold>
+            <left_val>0.5506049990653992</left_val>
+            <right_val>0.2768838107585907</right_val></_></_></trees>
+      <stage_threshold>15.3241395950317380</stage_threshold>
+      <parent>3</parent>
+      <next>-1</next></_>
+    <_>
+      <!-- stage 5 -->
+      <trees>
+        <_>
+          <!-- tree 0 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 7 12 2 -1.</_>
+                <_>8 7 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.1961159761995077e-003</threshold>
+            <left_val>0.1762690991163254</left_val>
+            <right_val>0.6156241297721863</right_val></_></_>
+        <_>
+          <!-- tree 1 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 4 6 4 -1.</_>
+                <_>7 6 6 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.8679830245673656e-003</threshold>
+            <left_val>0.6118106842041016</left_val>
+            <right_val>0.1832399964332581</right_val></_></_>
+        <_>
+          <!-- tree 2 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 5 11 8 -1.</_>
+                <_>4 9 11 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.9579799845814705e-004</threshold>
+            <left_val>0.0990442633628845</left_val>
+            <right_val>0.5723816156387329</right_val></_></_>
+        <_>
+          <!-- tree 3 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 10 16 4 -1.</_>
+                <_>3 12 16 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.0255657667294145e-004</threshold>
+            <left_val>0.5579879879951477</left_val>
+            <right_val>0.2377282977104187</right_val></_></_>
+        <_>
+          <!-- tree 4 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 16 2 -1.</_>
+                <_>0 1 16 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.4510810617357492e-003</threshold>
+            <left_val>0.2231457978487015</left_val>
+            <right_val>0.5858935117721558</right_val></_></_>
+        <_>
+          <!-- tree 5 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 5 6 2 -1.</_>
+                <_>9 5 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.0361850298941135e-004</threshold>
+            <left_val>0.2653993964195252</left_val>
+            <right_val>0.5794103741645813</right_val></_></_>
+        <_>
+          <!-- tree 6 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 2 6 10 -1.</_>
+                <_>3 2 3 5 2.</_>
+                <_>6 7 3 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.0293349884450436e-003</threshold>
+            <left_val>0.5803827047348023</left_val>
+            <right_val>0.2484865039587021</right_val></_></_>
+        <_>
+          <!-- tree 7 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 5 8 15 -1.</_>
+                <_>10 10 8 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0144517095759511</threshold>
+            <left_val>0.1830351948738098</left_val>
+            <right_val>0.5484204888343811</right_val></_></_>
+        <_>
+          <!-- tree 8 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 14 8 6 -1.</_>
+                <_>3 14 4 3 2.</_>
+                <_>7 17 4 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.0380979403853416e-003</threshold>
+            <left_val>0.3363558948040009</left_val>
+            <right_val>0.6051092743873596</right_val></_></_>
+        <_>
+          <!-- tree 9 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 2 2 2 -1.</_>
+                <_>14 3 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.6155190533027053e-003</threshold>
+            <left_val>0.2286642044782639</left_val>
+            <right_val>0.5441246032714844</right_val></_></_>
+        <_>
+          <!-- tree 10 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 10 7 6 -1.</_>
+                <_>1 13 7 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.3458340913057327e-003</threshold>
+            <left_val>0.5625913143157959</left_val>
+            <right_val>0.2392338067293167</right_val></_></_>
+        <_>
+          <!-- tree 11 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 4 4 3 -1.</_>
+                <_>15 4 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.6379579901695251e-003</threshold>
+            <left_val>0.3906993865966797</left_val>
+            <right_val>0.5964621901512146</right_val></_></_>
+        <_>
+          <!-- tree 12 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 9 14 6 -1.</_>
+                <_>2 9 7 3 2.</_>
+                <_>9 12 7 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0302512105554342</threshold>
+            <left_val>0.5248482227325440</left_val>
+            <right_val>0.1575746983289719</right_val></_></_>
+        <_>
+          <!-- tree 13 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 10 4 -1.</_>
+                <_>5 9 10 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0372519902884960</threshold>
+            <left_val>0.4194310903549194</left_val>
+            <right_val>0.6748418807983398</right_val></_></_>
+        <_>
+          <!-- tree 14 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 9 8 8 -1.</_>
+                <_>6 9 4 4 2.</_>
+                <_>10 13 4 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0251097902655602</threshold>
+            <left_val>0.1882549971342087</left_val>
+            <right_val>0.5473451018333435</right_val></_></_>
+        <_>
+          <!-- tree 15 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 1 3 2 -1.</_>
+                <_>14 2 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.3099058568477631e-003</threshold>
+            <left_val>0.1339973062276840</left_val>
+            <right_val>0.5227110981941223</right_val></_></_>
+        <_>
+          <!-- tree 16 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 4 4 2 -1.</_>
+                <_>3 4 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.2086479691788554e-003</threshold>
+            <left_val>0.3762088119983673</left_val>
+            <right_val>0.6109635829925537</right_val></_></_>
+        <_>
+          <!-- tree 17 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 10 2 8 -1.</_>
+                <_>11 14 2 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0219076797366142</threshold>
+            <left_val>0.2663142979145050</left_val>
+            <right_val>0.5404006838798523</right_val></_></_>
+        <_>
+          <!-- tree 18 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 5 3 -1.</_>
+                <_>0 1 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.4116579703986645e-003</threshold>
+            <left_val>0.5363578796386719</left_val>
+            <right_val>0.2232273072004318</right_val></_></_>
+        <_>
+          <!-- tree 19 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 5 18 8 -1.</_>
+                <_>11 5 9 4 2.</_>
+                <_>2 9 9 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0699463263154030</threshold>
+            <left_val>0.5358232855796814</left_val>
+            <right_val>0.2453698068857193</right_val></_></_>
+        <_>
+          <!-- tree 20 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 6 1 6 -1.</_>
+                <_>6 9 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.4520021290518343e-004</threshold>
+            <left_val>0.2409671992063522</left_val>
+            <right_val>0.5376930236816406</right_val></_></_>
+        <_>
+          <!-- tree 21 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>19 1 1 3 -1.</_>
+                <_>19 2 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.2627709656953812e-003</threshold>
+            <left_val>0.5425856709480286</left_val>
+            <right_val>0.3155693113803864</right_val></_></_>
+        <_>
+          <!-- tree 22 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 6 6 6 -1.</_>
+                <_>9 6 2 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0227195098996162</threshold>
+            <left_val>0.4158405959606171</left_val>
+            <right_val>0.6597865223884583</right_val></_></_>
+        <_>
+          <!-- tree 23 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>19 1 1 3 -1.</_>
+                <_>19 2 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.8111000536009669e-003</threshold>
+            <left_val>0.2811253070831299</left_val>
+            <right_val>0.5505244731903076</right_val></_></_>
+        <_>
+          <!-- tree 24 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 13 2 3 -1.</_>
+                <_>3 14 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.3469670452177525e-003</threshold>
+            <left_val>0.5260028243064880</left_val>
+            <right_val>0.1891465038061142</right_val></_></_>
+        <_>
+          <!-- tree 25 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 4 8 12 -1.</_>
+                <_>12 4 4 6 2.</_>
+                <_>8 10 4 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.0791751234792173e-004</threshold>
+            <left_val>0.5673509240150452</left_val>
+            <right_val>0.3344210088253021</right_val></_></_>
+        <_>
+          <!-- tree 26 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 2 6 3 -1.</_>
+                <_>7 2 2 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0127347996458411</threshold>
+            <left_val>0.5343592166900635</left_val>
+            <right_val>0.2395612001419067</right_val></_></_>
+        <_>
+          <!-- tree 27 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 1 9 10 -1.</_>
+                <_>6 6 9 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.3119727894663811e-003</threshold>
+            <left_val>0.6010890007019043</left_val>
+            <right_val>0.4022207856178284</right_val></_></_>
+        <_>
+          <!-- tree 28 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 4 6 12 -1.</_>
+                <_>2 4 2 12 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0569487512111664</threshold>
+            <left_val>0.8199151158332825</left_val>
+            <right_val>0.4543190896511078</right_val></_></_>
+        <_>
+          <!-- tree 29 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 13 2 3 -1.</_>
+                <_>15 14 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.0116591155529022e-003</threshold>
+            <left_val>0.2200281023979187</left_val>
+            <right_val>0.5357710719108582</right_val></_></_>
+        <_>
+          <!-- tree 30 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 14 5 3 -1.</_>
+                <_>7 15 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.0334368608891964e-003</threshold>
+            <left_val>0.4413081109523773</left_val>
+            <right_val>0.7181751132011414</right_val></_></_>
+        <_>
+          <!-- tree 31 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 13 3 3 -1.</_>
+                <_>15 14 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.9437441155314445e-003</threshold>
+            <left_val>0.5478860735893250</left_val>
+            <right_val>0.2791733145713806</right_val></_></_>
+        <_>
+          <!-- tree 32 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 14 8 3 -1.</_>
+                <_>6 15 8 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.6591119132936001e-003</threshold>
+            <left_val>0.6357867717742920</left_val>
+            <right_val>0.3989723920822144</right_val></_></_>
+        <_>
+          <!-- tree 33 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 13 3 3 -1.</_>
+                <_>15 14 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.8456181064248085e-003</threshold>
+            <left_val>0.3493686020374298</left_val>
+            <right_val>0.5300664901733398</right_val></_></_>
+        <_>
+          <!-- tree 34 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 13 3 3 -1.</_>
+                <_>2 14 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.1926261298358440e-003</threshold>
+            <left_val>0.1119614988565445</left_val>
+            <right_val>0.5229672789573669</right_val></_></_>
+        <_>
+          <!-- tree 35 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 7 12 12 -1.</_>
+                <_>10 7 6 6 2.</_>
+                <_>4 13 6 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0527989417314529</threshold>
+            <left_val>0.2387102991342545</left_val>
+            <right_val>0.5453451275825501</right_val></_></_>
+        <_>
+          <!-- tree 36 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 2 6 -1.</_>
+                <_>10 7 1 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.9537667334079742e-003</threshold>
+            <left_val>0.7586917877197266</left_val>
+            <right_val>0.4439376890659332</right_val></_></_>
+        <_>
+          <!-- tree 37 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 9 5 2 -1.</_>
+                <_>8 10 5 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.7344180271029472e-003</threshold>
+            <left_val>0.2565476894378662</left_val>
+            <right_val>0.5489321947097778</right_val></_></_>
+        <_>
+          <!-- tree 38 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 6 3 4 -1.</_>
+                <_>9 6 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.8507939530536532e-003</threshold>
+            <left_val>0.6734347939491272</left_val>
+            <right_val>0.4252474904060364</right_val></_></_>
+        <_>
+          <!-- tree 39 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 6 2 8 -1.</_>
+                <_>9 10 2 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0159189198166132</threshold>
+            <left_val>0.5488352775573731</left_val>
+            <right_val>0.2292661964893341</right_val></_></_>
+        <_>
+          <!-- tree 40 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 7 3 6 -1.</_>
+                <_>8 7 1 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.2687679845839739e-003</threshold>
+            <left_val>0.6104331016540527</left_val>
+            <right_val>0.4022389948368073</right_val></_></_>
+        <_>
+          <!-- tree 41 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 3 3 3 -1.</_>
+                <_>12 3 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.2883910723030567e-003</threshold>
+            <left_val>0.5310853123664856</left_val>
+            <right_val>0.1536193042993546</right_val></_></_>
+        <_>
+          <!-- tree 42 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 4 6 1 -1.</_>
+                <_>7 4 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.2259892001748085e-003</threshold>
+            <left_val>0.1729111969470978</left_val>
+            <right_val>0.5241606235504150</right_val></_></_>
+        <_>
+          <!-- tree 43 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 6 10 3 -1.</_>
+                <_>5 7 10 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0121325999498367</threshold>
+            <left_val>0.6597759723663330</left_val>
+            <right_val>0.4325182139873505</right_val></_></_></trees>
+      <stage_threshold>21.0106391906738280</stage_threshold>
+      <parent>4</parent>
+      <next>-1</next></_>
+    <_>
+      <!-- stage 6 -->
+      <trees>
+        <_>
+          <!-- tree 0 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 3 6 9 -1.</_>
+                <_>7 6 6 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.9184908382594585e-003</threshold>
+            <left_val>0.6103435158729553</left_val>
+            <right_val>0.1469330936670303</right_val></_></_>
+        <_>
+          <!-- tree 1 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 7 9 1 -1.</_>
+                <_>9 7 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5971299726516008e-003</threshold>
+            <left_val>0.2632363140583038</left_val>
+            <right_val>0.5896466970443726</right_val></_></_>
+        <_>
+          <!-- tree 2 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 8 16 8 -1.</_>
+                <_>2 12 16 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0177801102399826</threshold>
+            <left_val>0.5872874259948731</left_val>
+            <right_val>0.1760361939668655</right_val></_></_>
+        <_>
+          <!-- tree 3 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 6 2 6 -1.</_>
+                <_>14 9 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.5334769897162914e-004</threshold>
+            <left_val>0.1567801982164383</left_val>
+            <right_val>0.5596066117286682</right_val></_></_>
+        <_>
+          <!-- tree 4 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 5 6 15 -1.</_>
+                <_>1 10 6 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.8353091329336166e-004</threshold>
+            <left_val>0.1913153976202011</left_val>
+            <right_val>0.5732036232948303</right_val></_></_>
+        <_>
+          <!-- tree 5 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 0 6 9 -1.</_>
+                <_>10 3 6 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.6104689566418529e-003</threshold>
+            <left_val>0.2914913892745972</left_val>
+            <right_val>0.5623080730438232</right_val></_></_>
+        <_>
+          <!-- tree 6 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 6 7 14 -1.</_>
+                <_>6 13 7 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0977506190538406</threshold>
+            <left_val>0.1943476945161820</left_val>
+            <right_val>0.5648233294487000</right_val></_></_>
+        <_>
+          <!-- tree 7 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 7 3 6 -1.</_>
+                <_>13 9 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.5182358482852578e-004</threshold>
+            <left_val>0.3134616911411285</left_val>
+            <right_val>0.5504639744758606</right_val></_></_>
+        <_>
+          <!-- tree 8 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 8 15 4 -1.</_>
+                <_>6 8 5 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0128582203760743</threshold>
+            <left_val>0.2536481916904450</left_val>
+            <right_val>0.5760142803192139</right_val></_></_>
+        <_>
+          <!-- tree 9 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 2 3 10 -1.</_>
+                <_>11 7 3 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.1530239395797253e-003</threshold>
+            <left_val>0.5767722129821777</left_val>
+            <right_val>0.3659774065017700</right_val></_></_>
+        <_>
+          <!-- tree 10 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 7 4 6 -1.</_>
+                <_>3 9 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.7092459602281451e-003</threshold>
+            <left_val>0.2843191027641296</left_val>
+            <right_val>0.5918939113616943</right_val></_></_>
+        <_>
+          <!-- tree 11 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 3 6 10 -1.</_>
+                <_>15 3 2 10 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.5217359699308872e-003</threshold>
+            <left_val>0.4052427113056183</left_val>
+            <right_val>0.6183109283447266</right_val></_></_>
+        <_>
+          <!-- tree 12 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 8 10 -1.</_>
+                <_>5 7 4 5 2.</_>
+                <_>9 12 4 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.2479810286313295e-003</threshold>
+            <left_val>0.5783755183219910</left_val>
+            <right_val>0.3135401010513306</right_val></_></_>
+        <_>
+          <!-- tree 13 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 4 12 12 -1.</_>
+                <_>10 4 6 6 2.</_>
+                <_>4 10 6 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0520062111318111</threshold>
+            <left_val>0.5541312098503113</left_val>
+            <right_val>0.1916636973619461</right_val></_></_>
+        <_>
+          <!-- tree 14 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 4 6 9 -1.</_>
+                <_>3 4 2 9 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0120855299755931</threshold>
+            <left_val>0.4032655954360962</left_val>
+            <right_val>0.6644591093063355</right_val></_></_>
+        <_>
+          <!-- tree 15 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 3 2 5 -1.</_>
+                <_>11 3 1 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4687820112158079e-005</threshold>
+            <left_val>0.3535977900028229</left_val>
+            <right_val>0.5709382891654968</right_val></_></_>
+        <_>
+          <!-- tree 16 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 3 2 5 -1.</_>
+                <_>8 3 1 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.1395188570022583e-006</threshold>
+            <left_val>0.3037444949150085</left_val>
+            <right_val>0.5610269904136658</right_val></_></_>
+        <_>
+          <!-- tree 17 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 14 2 3 -1.</_>
+                <_>10 15 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.6001640148460865e-003</threshold>
+            <left_val>0.7181087136268616</left_val>
+            <right_val>0.4580326080322266</right_val></_></_>
+        <_>
+          <!-- tree 18 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 12 6 2 -1.</_>
+                <_>8 12 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.0058949012309313e-003</threshold>
+            <left_val>0.5621951818466187</left_val>
+            <right_val>0.2953684031963348</right_val></_></_>
+        <_>
+          <!-- tree 19 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 14 2 3 -1.</_>
+                <_>9 15 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.5050270855426788e-003</threshold>
+            <left_val>0.4615387916564941</left_val>
+            <right_val>0.7619017958641052</right_val></_></_>
+        <_>
+          <!-- tree 20 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 11 12 6 -1.</_>
+                <_>4 14 12 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0117468303069472</threshold>
+            <left_val>0.5343837141990662</left_val>
+            <right_val>0.1772529035806656</right_val></_></_>
+        <_>
+          <!-- tree 21 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 11 5 9 -1.</_>
+                <_>11 14 5 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0583163388073444</threshold>
+            <left_val>0.1686245948076248</left_val>
+            <right_val>0.5340772271156311</right_val></_></_>
+        <_>
+          <!-- tree 22 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 15 3 2 -1.</_>
+                <_>6 16 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.3629379575140774e-004</threshold>
+            <left_val>0.3792056143283844</left_val>
+            <right_val>0.6026803851127625</right_val></_></_>
+        <_>
+          <!-- tree 23 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 0 3 5 -1.</_>
+                <_>12 0 1 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.8156180679798126e-003</threshold>
+            <left_val>0.1512867063283920</left_val>
+            <right_val>0.5324323773384094</right_val></_></_>
+        <_>
+          <!-- tree 24 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 5 6 7 -1.</_>
+                <_>8 5 3 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0108761601150036</threshold>
+            <left_val>0.2081822007894516</left_val>
+            <right_val>0.5319945216178894</right_val></_></_>
+        <_>
+          <!-- tree 25 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 0 1 9 -1.</_>
+                <_>13 3 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.7745519764721394e-003</threshold>
+            <left_val>0.4098246991634369</left_val>
+            <right_val>0.5210328102111816</right_val></_></_>
+        <_>
+          <!-- tree 26 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 2 4 8 -1.</_>
+                <_>3 2 2 4 2.</_>
+                <_>5 6 2 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.8276381827890873e-004</threshold>
+            <left_val>0.5693274140357971</left_val>
+            <right_val>0.3478842079639435</right_val></_></_>
+        <_>
+          <!-- tree 27 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 12 4 6 -1.</_>
+                <_>13 14 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0138704096898437</threshold>
+            <left_val>0.5326750874519348</left_val>
+            <right_val>0.2257698029279709</right_val></_></_>
+        <_>
+          <!-- tree 28 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 12 4 6 -1.</_>
+                <_>3 14 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0236749108880758</threshold>
+            <left_val>0.1551305055618286</left_val>
+            <right_val>0.5200707912445068</right_val></_></_>
+        <_>
+          <!-- tree 29 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 11 3 4 -1.</_>
+                <_>13 13 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.4879409718560055e-005</threshold>
+            <left_val>0.5500566959381104</left_val>
+            <right_val>0.3820176124572754</right_val></_></_>
+        <_>
+          <!-- tree 30 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 4 4 3 -1.</_>
+                <_>4 5 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.6190641112625599e-003</threshold>
+            <left_val>0.4238683879375458</left_val>
+            <right_val>0.6639748215675354</right_val></_></_>
+        <_>
+          <!-- tree 31 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 5 11 8 -1.</_>
+                <_>7 9 11 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0198171101510525</threshold>
+            <left_val>0.2150038033723831</left_val>
+            <right_val>0.5382357835769653</right_val></_></_>
+        <_>
+          <!-- tree 32 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 8 3 4 -1.</_>
+                <_>8 8 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.8154039066284895e-003</threshold>
+            <left_val>0.6675711274147034</left_val>
+            <right_val>0.4215297102928162</right_val></_></_>
+        <_>
+          <!-- tree 33 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 1 6 1 -1.</_>
+                <_>11 1 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.9775829538702965e-003</threshold>
+            <left_val>0.2267289012670517</left_val>
+            <right_val>0.5386328101158142</right_val></_></_>
+        <_>
+          <!-- tree 34 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 5 3 3 -1.</_>
+                <_>5 6 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.2441020701080561e-003</threshold>
+            <left_val>0.4308691024780273</left_val>
+            <right_val>0.6855735778808594</right_val></_></_>
+        <_>
+          <!-- tree 35 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 9 20 6 -1.</_>
+                <_>10 9 10 3 2.</_>
+                <_>0 12 10 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0122824599966407</threshold>
+            <left_val>0.5836614966392517</left_val>
+            <right_val>0.3467479050159454</right_val></_></_>
+        <_>
+          <!-- tree 36 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 6 3 5 -1.</_>
+                <_>9 6 1 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.8548699337989092e-003</threshold>
+            <left_val>0.7016944885253906</left_val>
+            <right_val>0.4311453998088837</right_val></_></_>
+        <_>
+          <!-- tree 37 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 0 1 3 -1.</_>
+                <_>11 1 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.7875669077038765e-003</threshold>
+            <left_val>0.2895345091819763</left_val>
+            <right_val>0.5224946141242981</right_val></_></_>
+        <_>
+          <!-- tree 38 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 2 4 2 -1.</_>
+                <_>4 3 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.2201230274513364e-003</threshold>
+            <left_val>0.2975570857524872</left_val>
+            <right_val>0.5481644868850708</right_val></_></_>
+        <_>
+          <!-- tree 39 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 6 4 3 -1.</_>
+                <_>12 7 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0101605998352170</threshold>
+            <left_val>0.4888817965984345</left_val>
+            <right_val>0.8182697892189026</right_val></_></_>
+        <_>
+          <!-- tree 40 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 0 6 4 -1.</_>
+                <_>7 0 2 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0161745697259903</threshold>
+            <left_val>0.1481492966413498</left_val>
+            <right_val>0.5239992737770081</right_val></_></_>
+        <_>
+          <!-- tree 41 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 3 8 -1.</_>
+                <_>10 7 1 8 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0192924607545137</threshold>
+            <left_val>0.4786309897899628</left_val>
+            <right_val>0.7378190755844116</right_val></_></_>
+        <_>
+          <!-- tree 42 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 2 2 -1.</_>
+                <_>10 7 1 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.2479539513587952e-003</threshold>
+            <left_val>0.7374222874641419</left_val>
+            <right_val>0.4470643997192383</right_val></_></_>
+        <_>
+          <!-- tree 43 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 7 14 4 -1.</_>
+                <_>13 7 7 2 2.</_>
+                <_>6 9 7 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.3803480267524719e-003</threshold>
+            <left_val>0.3489154875278473</left_val>
+            <right_val>0.5537996292114258</right_val></_></_>
+        <_>
+          <!-- tree 44 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 5 3 6 -1.</_>
+                <_>0 7 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0126061299815774</threshold>
+            <left_val>0.2379686981439591</left_val>
+            <right_val>0.5315443277359009</right_val></_></_>
+        <_>
+          <!-- tree 45 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 11 3 4 -1.</_>
+                <_>13 13 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0256219301372766</threshold>
+            <left_val>0.1964688003063202</left_val>
+            <right_val>0.5138769745826721</right_val></_></_>
+        <_>
+          <!-- tree 46 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 11 3 4 -1.</_>
+                <_>4 13 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.5741496402770281e-005</threshold>
+            <left_val>0.5590522885322571</left_val>
+            <right_val>0.3365853130817413</right_val></_></_>
+        <_>
+          <!-- tree 47 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 9 12 8 -1.</_>
+                <_>11 9 6 4 2.</_>
+                <_>5 13 6 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0892108827829361</threshold>
+            <left_val>0.0634046569466591</left_val>
+            <right_val>0.5162634849548340</right_val></_></_>
+        <_>
+          <!-- tree 48 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 12 1 3 -1.</_>
+                <_>9 13 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.7670480776578188e-003</threshold>
+            <left_val>0.7323467731475830</left_val>
+            <right_val>0.4490706026554108</right_val></_></_>
+        <_>
+          <!-- tree 49 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 15 2 4 -1.</_>
+                <_>10 17 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.7152578695677221e-004</threshold>
+            <left_val>0.4114834964275360</left_val>
+            <right_val>0.5985518097877502</right_val></_></_></trees>
+      <stage_threshold>23.9187908172607420</stage_threshold>
+      <parent>5</parent>
+      <next>-1</next></_>
+    <_>
+      <!-- stage 7 -->
+      <trees>
+        <_>
+          <!-- tree 0 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 7 6 1 -1.</_>
+                <_>9 7 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4786219689995050e-003</threshold>
+            <left_val>0.2663545012474060</left_val>
+            <right_val>0.6643316745758057</right_val></_></_>
+        <_>
+          <!-- tree 1 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 3 6 6 -1.</_>
+                <_>15 3 3 3 2.</_>
+                <_>12 6 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.8741659587249160e-003</threshold>
+            <left_val>0.6143848896026611</left_val>
+            <right_val>0.2518512904644013</right_val></_></_>
+        <_>
+          <!-- tree 2 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 4 10 6 -1.</_>
+                <_>0 6 10 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.7151009524241090e-003</threshold>
+            <left_val>0.5766341090202332</left_val>
+            <right_val>0.2397463023662567</right_val></_></_>
+        <_>
+          <!-- tree 3 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 3 8 14 -1.</_>
+                <_>12 3 4 7 2.</_>
+                <_>8 10 4 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.8939269939437509e-003</threshold>
+            <left_val>0.5682045817375183</left_val>
+            <right_val>0.2529144883155823</right_val></_></_>
+        <_>
+          <!-- tree 4 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 4 7 15 -1.</_>
+                <_>4 9 7 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.3006052039563656e-003</threshold>
+            <left_val>0.1640675961971283</left_val>
+            <right_val>0.5556079745292664</right_val></_></_>
+        <_>
+          <!-- tree 5 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 2 6 8 -1.</_>
+                <_>15 2 3 4 2.</_>
+                <_>12 6 3 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0466625317931175</threshold>
+            <left_val>0.6123154163360596</left_val>
+            <right_val>0.4762830138206482</right_val></_></_>
+        <_>
+          <!-- tree 6 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 2 6 8 -1.</_>
+                <_>2 2 3 4 2.</_>
+                <_>5 6 3 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.9431332414969802e-004</threshold>
+            <left_val>0.5707858800888062</left_val>
+            <right_val>0.2839404046535492</right_val></_></_>
+        <_>
+          <!-- tree 7 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 13 18 7 -1.</_>
+                <_>8 13 6 7 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0148916700854898</threshold>
+            <left_val>0.4089672863483429</left_val>
+            <right_val>0.6006367206573486</right_val></_></_>
+        <_>
+          <!-- tree 8 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 3 8 14 -1.</_>
+                <_>4 3 4 7 2.</_>
+                <_>8 10 4 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.2046529445797205e-003</threshold>
+            <left_val>0.5712450742721558</left_val>
+            <right_val>0.2705289125442505</right_val></_></_>
+        <_>
+          <!-- tree 9 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>18 1 2 6 -1.</_>
+                <_>18 3 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.0619381256401539e-003</threshold>
+            <left_val>0.5262504220008850</left_val>
+            <right_val>0.3262225985527039</right_val></_></_>
+        <_>
+          <!-- tree 10 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 11 2 3 -1.</_>
+                <_>9 12 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.5286648888140917e-003</threshold>
+            <left_val>0.6853830814361572</left_val>
+            <right_val>0.4199256896972656</right_val></_></_>
+        <_>
+          <!-- tree 11 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>18 1 2 6 -1.</_>
+                <_>18 3 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.9010218828916550e-003</threshold>
+            <left_val>0.3266282081604004</left_val>
+            <right_val>0.5434812903404236</right_val></_></_>
+        <_>
+          <!-- tree 12 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 1 2 6 -1.</_>
+                <_>0 3 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.6702760048210621e-003</threshold>
+            <left_val>0.5468410849571228</left_val>
+            <right_val>0.2319003939628601</right_val></_></_>
+        <_>
+          <!-- tree 13 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 5 18 6 -1.</_>
+                <_>1 7 18 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.0304100364446640e-003</threshold>
+            <left_val>0.5570667982101440</left_val>
+            <right_val>0.2708238065242767</right_val></_></_>
+        <_>
+          <!-- tree 14 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 6 7 -1.</_>
+                <_>3 2 3 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.9803649522364140e-003</threshold>
+            <left_val>0.3700568974018097</left_val>
+            <right_val>0.5890625715255737</right_val></_></_>
+        <_>
+          <!-- tree 15 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 3 6 14 -1.</_>
+                <_>7 10 6 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0758405104279518</threshold>
+            <left_val>0.2140070050954819</left_val>
+            <right_val>0.5419948101043701</right_val></_></_>
+        <_>
+          <!-- tree 16 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 7 13 10 -1.</_>
+                <_>3 12 13 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0192625392228365</threshold>
+            <left_val>0.5526772141456604</left_val>
+            <right_val>0.2726590037345886</right_val></_></_>
+        <_>
+          <!-- tree 17 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 15 2 2 -1.</_>
+                <_>11 16 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.8888259364757687e-004</threshold>
+            <left_val>0.3958011865615845</left_val>
+            <right_val>0.6017209887504578</right_val></_></_>
+        <_>
+          <!-- tree 18 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 11 16 4 -1.</_>
+                <_>2 11 8 2 2.</_>
+                <_>10 13 8 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0293695498257875</threshold>
+            <left_val>0.5241373777389526</left_val>
+            <right_val>0.1435758024454117</right_val></_></_>
+        <_>
+          <!-- tree 19 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 7 6 4 -1.</_>
+                <_>16 7 3 2 2.</_>
+                <_>13 9 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.0417619487270713e-003</threshold>
+            <left_val>0.3385409116744995</left_val>
+            <right_val>0.5929983258247376</right_val></_></_>
+        <_>
+          <!-- tree 20 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 10 3 9 -1.</_>
+                <_>6 13 3 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.6125640142709017e-003</threshold>
+            <left_val>0.5485377907752991</left_val>
+            <right_val>0.3021597862243652</right_val></_></_>
+        <_>
+          <!-- tree 21 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 6 1 6 -1.</_>
+                <_>14 9 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.6977467183023691e-004</threshold>
+            <left_val>0.3375276029109955</left_val>
+            <right_val>0.5532032847404480</right_val></_></_>
+        <_>
+          <!-- tree 22 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 10 4 1 -1.</_>
+                <_>7 10 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.9512659208849072e-004</threshold>
+            <left_val>0.5631743073463440</left_val>
+            <right_val>0.3359399139881134</right_val></_></_>
+        <_>
+          <!-- tree 23 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 8 15 5 -1.</_>
+                <_>8 8 5 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.1015655994415283</threshold>
+            <left_val>0.0637350380420685</left_val>
+            <right_val>0.5230425000190735</right_val></_></_>
+        <_>
+          <!-- tree 24 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 6 5 4 -1.</_>
+                <_>1 8 5 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0361566990613937</threshold>
+            <left_val>0.5136963129043579</left_val>
+            <right_val>0.1029528975486755</right_val></_></_>
+        <_>
+          <!-- tree 25 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 1 17 6 -1.</_>
+                <_>3 3 17 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.4624140243977308e-003</threshold>
+            <left_val>0.3879320025444031</left_val>
+            <right_val>0.5558289289474487</right_val></_></_>
+        <_>
+          <!-- tree 26 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 7 8 2 -1.</_>
+                <_>10 7 4 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0195549800992012</threshold>
+            <left_val>0.5250086784362793</left_val>
+            <right_val>0.1875859946012497</right_val></_></_>
+        <_>
+          <!-- tree 27 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 3 2 -1.</_>
+                <_>10 7 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.3121440317481756e-003</threshold>
+            <left_val>0.6672028899192810</left_val>
+            <right_val>0.4679641127586365</right_val></_></_>
+        <_>
+          <!-- tree 28 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 3 2 -1.</_>
+                <_>9 7 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.8605289515107870e-003</threshold>
+            <left_val>0.7163379192352295</left_val>
+            <right_val>0.4334670901298523</right_val></_></_>
+        <_>
+          <!-- tree 29 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 9 4 2 -1.</_>
+                <_>8 10 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.4026362057775259e-004</threshold>
+            <left_val>0.3021360933780670</left_val>
+            <right_val>0.5650203227996826</right_val></_></_>
+        <_>
+          <!-- tree 30 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 8 4 3 -1.</_>
+                <_>8 9 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.2418331615626812e-003</threshold>
+            <left_val>0.1820009052753449</left_val>
+            <right_val>0.5250256061553955</right_val></_></_>
+        <_>
+          <!-- tree 31 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 6 4 -1.</_>
+                <_>9 5 3 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.1729019752237946e-004</threshold>
+            <left_val>0.3389188051223755</left_val>
+            <right_val>0.5445973277091980</right_val></_></_>
+        <_>
+          <!-- tree 32 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 13 4 3 -1.</_>
+                <_>8 14 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.1878840159624815e-003</threshold>
+            <left_val>0.4085349142551422</left_val>
+            <right_val>0.6253563165664673</right_val></_></_>
+        <_>
+          <!-- tree 33 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 7 12 6 -1.</_>
+                <_>10 7 6 3 2.</_>
+                <_>4 10 6 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0108813596889377</threshold>
+            <left_val>0.3378399014472961</left_val>
+            <right_val>0.5700082778930664</right_val></_></_>
+        <_>
+          <!-- tree 34 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 4 3 -1.</_>
+                <_>8 15 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.7354859737679362e-003</threshold>
+            <left_val>0.4204635918140411</left_val>
+            <right_val>0.6523038744926453</right_val></_></_>
+        <_>
+          <!-- tree 35 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 3 3 -1.</_>
+                <_>9 8 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.5119052305817604e-003</threshold>
+            <left_val>0.2595216035842896</left_val>
+            <right_val>0.5428143739700317</right_val></_></_>
+        <_>
+          <!-- tree 36 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 4 3 8 -1.</_>
+                <_>8 4 1 8 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.2136430013924837e-003</threshold>
+            <left_val>0.6165143847465515</left_val>
+            <right_val>0.3977893888950348</right_val></_></_>
+        <_>
+          <!-- tree 37 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 0 3 6 -1.</_>
+                <_>11 0 1 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0103542404249310</threshold>
+            <left_val>0.1628028005361557</left_val>
+            <right_val>0.5219504833221436</right_val></_></_>
+        <_>
+          <!-- tree 38 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 3 4 8 -1.</_>
+                <_>8 3 2 8 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.5858830455690622e-004</threshold>
+            <left_val>0.3199650943279266</left_val>
+            <right_val>0.5503574013710022</right_val></_></_>
+        <_>
+          <!-- tree 39 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 3 6 13 -1.</_>
+                <_>14 3 3 13 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0152996499091387</threshold>
+            <left_val>0.4103994071483612</left_val>
+            <right_val>0.6122388243675232</right_val></_></_>
+        <_>
+          <!-- tree 40 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 13 3 6 -1.</_>
+                <_>8 16 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0215882100164890</threshold>
+            <left_val>0.1034912988543510</left_val>
+            <right_val>0.5197384953498840</right_val></_></_>
+        <_>
+          <!-- tree 41 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 3 6 13 -1.</_>
+                <_>14 3 3 13 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.1283462941646576</threshold>
+            <left_val>0.8493865132331848</left_val>
+            <right_val>0.4893102943897247</right_val></_></_>
+        <_>
+          <!-- tree 42 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 7 10 4 -1.</_>
+                <_>0 7 5 2 2.</_>
+                <_>5 9 5 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.2927189711481333e-003</threshold>
+            <left_val>0.3130157887935638</left_val>
+            <right_val>0.5471575260162354</right_val></_></_>
+        <_>
+          <!-- tree 43 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 3 6 13 -1.</_>
+                <_>14 3 3 13 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0799151062965393</threshold>
+            <left_val>0.4856320917606354</left_val>
+            <right_val>0.6073989272117615</right_val></_></_>
+        <_>
+          <!-- tree 44 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 3 6 13 -1.</_>
+                <_>3 3 3 13 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0794410929083824</threshold>
+            <left_val>0.8394674062728882</left_val>
+            <right_val>0.4624533057212830</right_val></_></_>
+        <_>
+          <!-- tree 45 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 1 4 1 -1.</_>
+                <_>9 1 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.2800010889768600e-003</threshold>
+            <left_val>0.1881695985794067</left_val>
+            <right_val>0.5306698083877564</right_val></_></_>
+        <_>
+          <!-- tree 46 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 0 2 1 -1.</_>
+                <_>9 0 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.0463109938427806e-003</threshold>
+            <left_val>0.5271229147911072</left_val>
+            <right_val>0.2583065927028656</right_val></_></_>
+        <_>
+          <!-- tree 47 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 16 4 4 -1.</_>
+                <_>12 16 2 2 2.</_>
+                <_>10 18 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.6317298761568964e-004</threshold>
+            <left_val>0.4235304892063141</left_val>
+            <right_val>0.5735440850257874</right_val></_></_>
+        <_>
+          <!-- tree 48 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 6 2 3 -1.</_>
+                <_>10 6 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.6173160187900066e-003</threshold>
+            <left_val>0.6934396028518677</left_val>
+            <right_val>0.4495444893836975</right_val></_></_>
+        <_>
+          <!-- tree 49 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 5 12 2 -1.</_>
+                <_>8 5 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0114218797534704</threshold>
+            <left_val>0.5900921225547791</left_val>
+            <right_val>0.4138193130493164</right_val></_></_>
+        <_>
+          <!-- tree 50 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 3 5 -1.</_>
+                <_>9 7 1 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.9963278900831938e-003</threshold>
+            <left_val>0.6466382741928101</left_val>
+            <right_val>0.4327239990234375</right_val></_></_></trees>
+      <stage_threshold>24.5278797149658200</stage_threshold>
+      <parent>6</parent>
+      <next>-1</next></_>
+    <_>
+      <!-- stage 8 -->
+      <trees>
+        <_>
+          <!-- tree 0 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 4 8 6 -1.</_>
+                <_>6 6 8 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.9691245704889297e-003</threshold>
+            <left_val>0.6142324209213257</left_val>
+            <right_val>0.2482212036848068</right_val></_></_>
+        <_>
+          <!-- tree 1 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 2 12 -1.</_>
+                <_>9 11 2 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.3073059320449829e-004</threshold>
+            <left_val>0.5704951882362366</left_val>
+            <right_val>0.2321965992450714</right_val></_></_>
+        <_>
+          <!-- tree 2 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 6 6 8 -1.</_>
+                <_>4 10 6 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.4045301405712962e-004</threshold>
+            <left_val>0.2112251967191696</left_val>
+            <right_val>0.5814933180809021</right_val></_></_>
+        <_>
+          <!-- tree 3 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 2 8 5 -1.</_>
+                <_>12 2 4 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.5424019917845726e-003</threshold>
+            <left_val>0.2950482070446014</left_val>
+            <right_val>0.5866311788558960</right_val></_></_>
+        <_>
+          <!-- tree 4 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 8 18 3 -1.</_>
+                <_>0 9 18 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.2477443104144186e-005</threshold>
+            <left_val>0.2990990877151489</left_val>
+            <right_val>0.5791326761245728</right_val></_></_>
+        <_>
+          <!-- tree 5 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 12 4 8 -1.</_>
+                <_>8 16 4 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.6603146046400070e-003</threshold>
+            <left_val>0.2813029885292053</left_val>
+            <right_val>0.5635542273521423</right_val></_></_>
+        <_>
+          <!-- tree 6 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 8 5 -1.</_>
+                <_>4 2 4 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.0515816807746887e-003</threshold>
+            <left_val>0.3535369038581848</left_val>
+            <right_val>0.6054757237434387</right_val></_></_>
+        <_>
+          <!-- tree 7 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 11 3 4 -1.</_>
+                <_>13 13 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.3835240649059415e-004</threshold>
+            <left_val>0.5596532225608826</left_val>
+            <right_val>0.2731510996818543</right_val></_></_>
+        <_>
+          <!-- tree 8 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 11 6 1 -1.</_>
+                <_>7 11 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.8168973636347800e-005</threshold>
+            <left_val>0.5978031754493713</left_val>
+            <right_val>0.3638561069965363</right_val></_></_>
+        <_>
+          <!-- tree 9 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 3 3 1 -1.</_>
+                <_>12 3 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.1298790341243148e-003</threshold>
+            <left_val>0.2755252122879028</left_val>
+            <right_val>0.5432729125022888</right_val></_></_>
+        <_>
+          <!-- tree 10 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 13 5 3 -1.</_>
+                <_>7 14 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.4356150105595589e-003</threshold>
+            <left_val>0.4305641949176788</left_val>
+            <right_val>0.7069833278656006</right_val></_></_>
+        <_>
+          <!-- tree 11 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 11 7 6 -1.</_>
+                <_>11 14 7 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0568293295800686</threshold>
+            <left_val>0.2495242953300476</left_val>
+            <right_val>0.5294997096061707</right_val></_></_>
+        <_>
+          <!-- tree 12 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 11 7 6 -1.</_>
+                <_>2 14 7 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.0668169967830181e-003</threshold>
+            <left_val>0.5478553175926209</left_val>
+            <right_val>0.2497723996639252</right_val></_></_>
+        <_>
+          <!-- tree 13 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 14 2 6 -1.</_>
+                <_>12 16 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.8164798499783501e-005</threshold>
+            <left_val>0.3938601016998291</left_val>
+            <right_val>0.5706356167793274</right_val></_></_>
+        <_>
+          <!-- tree 14 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 3 3 -1.</_>
+                <_>8 15 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.1795017682015896e-003</threshold>
+            <left_val>0.4407606124877930</left_val>
+            <right_val>0.7394766807556152</right_val></_></_>
+        <_>
+          <!-- tree 15 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 0 3 5 -1.</_>
+                <_>12 0 1 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.4985752105712891e-003</threshold>
+            <left_val>0.5445243120193481</left_val>
+            <right_val>0.2479152977466583</right_val></_></_>
+        <_>
+          <!-- tree 16 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 1 4 9 -1.</_>
+                <_>8 1 2 9 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.0211090557277203e-003</threshold>
+            <left_val>0.2544766962528229</left_val>
+            <right_val>0.5338971018791199</right_val></_></_>
+        <_>
+          <!-- tree 17 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 3 6 1 -1.</_>
+                <_>12 3 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.4247528314590454e-003</threshold>
+            <left_val>0.2718858122825623</left_val>
+            <right_val>0.5324069261550903</right_val></_></_>
+        <_>
+          <!-- tree 18 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 8 3 4 -1.</_>
+                <_>8 10 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.0559899965301156e-003</threshold>
+            <left_val>0.3178288042545319</left_val>
+            <right_val>0.5534508824348450</right_val></_></_>
+        <_>
+          <!-- tree 19 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 12 4 2 -1.</_>
+                <_>8 13 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.6465808777138591e-004</threshold>
+            <left_val>0.4284219145774841</left_val>
+            <right_val>0.6558194160461426</right_val></_></_>
+        <_>
+          <!-- tree 20 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 18 4 2 -1.</_>
+                <_>5 19 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.7524109464138746e-004</threshold>
+            <left_val>0.5902860760688782</left_val>
+            <right_val>0.3810262978076935</right_val></_></_>
+        <_>
+          <!-- tree 21 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 1 18 6 -1.</_>
+                <_>2 3 18 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.2293202131986618e-003</threshold>
+            <left_val>0.3816489875316620</left_val>
+            <right_val>0.5709385871887207</right_val></_></_>
+        <_>
+          <!-- tree 22 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 0 3 2 -1.</_>
+                <_>7 0 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.2868210691958666e-003</threshold>
+            <left_val>0.1747743934392929</left_val>
+            <right_val>0.5259544253349304</right_val></_></_>
+        <_>
+          <!-- tree 23 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 8 6 2 -1.</_>
+                <_>16 8 3 1 2.</_>
+                <_>13 9 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5611879643984139e-004</threshold>
+            <left_val>0.3601722121238709</left_val>
+            <right_val>0.5725612044334412</right_val></_></_>
+        <_>
+          <!-- tree 24 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 10 3 6 -1.</_>
+                <_>6 13 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.3621381488919724e-006</threshold>
+            <left_val>0.5401858091354370</left_val>
+            <right_val>0.3044497072696686</right_val></_></_>
+        <_>
+          <!-- tree 25 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 13 20 4 -1.</_>
+                <_>10 13 10 2 2.</_>
+                <_>0 15 10 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0147672500461340</threshold>
+            <left_val>0.3220770061016083</left_val>
+            <right_val>0.5573434829711914</right_val></_></_>
+        <_>
+          <!-- tree 26 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 7 6 5 -1.</_>
+                <_>9 7 2 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0244895908981562</threshold>
+            <left_val>0.4301528036594391</left_val>
+            <right_val>0.6518812775611877</right_val></_></_>
+        <_>
+          <!-- tree 27 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 0 2 2 -1.</_>
+                <_>11 1 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.7652091123163700e-004</threshold>
+            <left_val>0.3564583063125610</left_val>
+            <right_val>0.5598236918449402</right_val></_></_>
+        <_>
+          <!-- tree 28 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 8 6 2 -1.</_>
+                <_>1 8 3 1 2.</_>
+                <_>4 9 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.3657688517414499e-006</threshold>
+            <left_val>0.3490782976150513</left_val>
+            <right_val>0.5561897754669190</right_val></_></_>
+        <_>
+          <!-- tree 29 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 20 2 -1.</_>
+                <_>10 2 10 1 2.</_>
+                <_>0 3 10 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0150999398902059</threshold>
+            <left_val>0.1776272058486939</left_val>
+            <right_val>0.5335299968719482</right_val></_></_>
+        <_>
+          <!-- tree 30 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 14 5 3 -1.</_>
+                <_>7 15 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.8316650316119194e-003</threshold>
+            <left_val>0.6149687767028809</left_val>
+            <right_val>0.4221394062042236</right_val></_></_>
+        <_>
+          <!-- tree 31 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 13 6 6 -1.</_>
+                <_>10 13 3 3 2.</_>
+                <_>7 16 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0169254001230001</threshold>
+            <left_val>0.5413014888763428</left_val>
+            <right_val>0.2166585028171539</right_val></_></_>
+        <_>
+          <!-- tree 32 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 12 2 3 -1.</_>
+                <_>9 13 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.0477850232273340e-003</threshold>
+            <left_val>0.6449490785598755</left_val>
+            <right_val>0.4354617893695831</right_val></_></_>
+        <_>
+          <!-- tree 33 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 11 1 6 -1.</_>
+                <_>16 13 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.2140589319169521e-003</threshold>
+            <left_val>0.5400155186653137</left_val>
+            <right_val>0.3523217141628265</right_val></_></_>
+        <_>
+          <!-- tree 34 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 11 1 6 -1.</_>
+                <_>3 13 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.0023201145231724e-003</threshold>
+            <left_val>0.2774524092674255</left_val>
+            <right_val>0.5338417291641235</right_val></_></_>
+        <_>
+          <!-- tree 35 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 4 14 12 -1.</_>
+                <_>11 4 7 6 2.</_>
+                <_>4 10 7 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.4182129465043545e-003</threshold>
+            <left_val>0.5676739215850830</left_val>
+            <right_val>0.3702817857265472</right_val></_></_>
+        <_>
+          <!-- tree 36 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 4 3 3 -1.</_>
+                <_>5 5 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.8764587417244911e-003</threshold>
+            <left_val>0.7749221920967102</left_val>
+            <right_val>0.4583688974380493</right_val></_></_>
+        <_>
+          <!-- tree 37 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 3 3 3 -1.</_>
+                <_>13 3 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.7311739977449179e-003</threshold>
+            <left_val>0.5338721871376038</left_val>
+            <right_val>0.3996661007404327</right_val></_></_>
+        <_>
+          <!-- tree 38 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 6 8 3 -1.</_>
+                <_>6 7 8 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.5082379579544067e-003</threshold>
+            <left_val>0.5611963272094727</left_val>
+            <right_val>0.3777498900890350</right_val></_></_>
+        <_>
+          <!-- tree 39 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 3 3 3 -1.</_>
+                <_>13 3 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.0541074275970459e-003</threshold>
+            <left_val>0.2915228903293610</left_val>
+            <right_val>0.5179182887077332</right_val></_></_>
+        <_>
+          <!-- tree 40 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 1 4 10 -1.</_>
+                <_>3 1 2 5 2.</_>
+                <_>5 6 2 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.7938813269138336e-004</threshold>
+            <left_val>0.5536432862281799</left_val>
+            <right_val>0.3700192868709564</right_val></_></_>
+        <_>
+          <!-- tree 41 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 10 2 -1.</_>
+                <_>5 7 5 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.8745909482240677e-003</threshold>
+            <left_val>0.3754391074180603</left_val>
+            <right_val>0.5679376125335693</right_val></_></_>
+        <_>
+          <!-- tree 42 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 3 3 -1.</_>
+                <_>9 7 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.4936719350516796e-003</threshold>
+            <left_val>0.7019699215888977</left_val>
+            <right_val>0.4480949938297272</right_val></_></_>
+        <_>
+          <!-- tree 43 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 12 2 3 -1.</_>
+                <_>15 13 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.4389229044318199e-003</threshold>
+            <left_val>0.2310364991426468</left_val>
+            <right_val>0.5313386917114258</right_val></_></_>
+        <_>
+          <!-- tree 44 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 8 3 4 -1.</_>
+                <_>8 8 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.5094640487805009e-004</threshold>
+            <left_val>0.5864868760108948</left_val>
+            <right_val>0.4129343032836914</right_val></_></_>
+        <_>
+          <!-- tree 45 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 4 1 12 -1.</_>
+                <_>13 10 1 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4528800420521293e-005</threshold>
+            <left_val>0.3732407093048096</left_val>
+            <right_val>0.5619621276855469</right_val></_></_>
+        <_>
+          <!-- tree 46 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 5 12 12 -1.</_>
+                <_>4 5 6 6 2.</_>
+                <_>10 11 6 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0407580696046352</threshold>
+            <left_val>0.5312091112136841</left_val>
+            <right_val>0.2720521986484528</right_val></_></_>
+        <_>
+          <!-- tree 47 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 14 7 3 -1.</_>
+                <_>7 15 7 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.6505931317806244e-003</threshold>
+            <left_val>0.4710015952587128</left_val>
+            <right_val>0.6693493723869324</right_val></_></_>
+        <_>
+          <!-- tree 48 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 12 2 3 -1.</_>
+                <_>3 13 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.5759351924061775e-003</threshold>
+            <left_val>0.5167819261550903</left_val>
+            <right_val>0.1637275964021683</right_val></_></_>
+        <_>
+          <!-- tree 49 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 2 14 2 -1.</_>
+                <_>10 2 7 1 2.</_>
+                <_>3 3 7 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.5269311890006065e-003</threshold>
+            <left_val>0.5397608876228333</left_val>
+            <right_val>0.2938531935214996</right_val></_></_>
+        <_>
+          <!-- tree 50 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 1 3 10 -1.</_>
+                <_>1 1 1 10 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0136603796854615</threshold>
+            <left_val>0.7086488008499146</left_val>
+            <right_val>0.4532200098037720</right_val></_></_>
+        <_>
+          <!-- tree 51 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 0 6 5 -1.</_>
+                <_>11 0 2 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0273588690906763</threshold>
+            <left_val>0.5206481218338013</left_val>
+            <right_val>0.3589231967926025</right_val></_></_>
+        <_>
+          <!-- tree 52 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 6 2 -1.</_>
+                <_>8 7 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.2197551596909761e-004</threshold>
+            <left_val>0.3507075905799866</left_val>
+            <right_val>0.5441123247146606</right_val></_></_>
+        <_>
+          <!-- tree 53 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 1 6 10 -1.</_>
+                <_>7 6 6 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.3077080734074116e-003</threshold>
+            <left_val>0.5859522819519043</left_val>
+            <right_val>0.4024891853332520</right_val></_></_>
+        <_>
+          <!-- tree 54 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 1 18 3 -1.</_>
+                <_>7 1 6 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0106311095878482</threshold>
+            <left_val>0.6743267178535461</left_val>
+            <right_val>0.4422602951526642</right_val></_></_>
+        <_>
+          <!-- tree 55 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 3 3 6 -1.</_>
+                <_>16 5 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0194416493177414</threshold>
+            <left_val>0.5282716155052185</left_val>
+            <right_val>0.1797904968261719</right_val></_></_></trees>
+      <stage_threshold>27.1533508300781250</stage_threshold>
+      <parent>7</parent>
+      <next>-1</next></_>
+    <_>
+      <!-- stage 9 -->
+      <trees>
+        <_>
+          <!-- tree 0 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 3 7 6 -1.</_>
+                <_>6 6 7 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.5052167735993862e-003</threshold>
+            <left_val>0.5914731025695801</left_val>
+            <right_val>0.2626559138298035</right_val></_></_>
+        <_>
+          <!-- tree 1 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 7 12 2 -1.</_>
+                <_>8 7 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.9562279339879751e-003</threshold>
+            <left_val>0.2312581986188889</left_val>
+            <right_val>0.5741627216339111</right_val></_></_>
+        <_>
+          <!-- tree 2 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 4 17 10 -1.</_>
+                <_>0 9 17 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.8924784213304520e-003</threshold>
+            <left_val>0.1656530052423477</left_val>
+            <right_val>0.5626654028892517</right_val></_></_>
+        <_>
+          <!-- tree 3 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 4 15 16 -1.</_>
+                <_>3 12 15 8 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0836383774876595</threshold>
+            <left_val>0.5423449873924255</left_val>
+            <right_val>0.1957294940948486</right_val></_></_>
+        <_>
+          <!-- tree 4 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 15 6 4 -1.</_>
+                <_>7 17 6 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.2282270472496748e-003</threshold>
+            <left_val>0.3417904078960419</left_val>
+            <right_val>0.5992503762245178</right_val></_></_>
+        <_>
+          <!-- tree 5 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 2 4 9 -1.</_>
+                <_>15 2 2 9 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.7629169896245003e-003</threshold>
+            <left_val>0.3719581961631775</left_val>
+            <right_val>0.6079903841018677</right_val></_></_>
+        <_>
+          <!-- tree 6 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 3 3 2 -1.</_>
+                <_>2 4 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.6417410224676132e-003</threshold>
+            <left_val>0.2577486038208008</left_val>
+            <right_val>0.5576915740966797</right_val></_></_>
+        <_>
+          <!-- tree 7 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 6 7 9 -1.</_>
+                <_>13 9 7 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.4113149158656597e-003</threshold>
+            <left_val>0.2950749099254608</left_val>
+            <right_val>0.5514171719551086</right_val></_></_>
+        <_>
+          <!-- tree 8 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 11 4 3 -1.</_>
+                <_>8 12 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0110693201422691</threshold>
+            <left_val>0.7569358944892883</left_val>
+            <right_val>0.4477078914642334</right_val></_></_>
+        <_>
+          <!-- tree 9 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 20 6 -1.</_>
+                <_>10 2 10 3 2.</_>
+                <_>0 5 10 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0348659716546535</threshold>
+            <left_val>0.5583708882331848</left_val>
+            <right_val>0.2669621109962463</right_val></_></_>
+        <_>
+          <!-- tree 10 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 2 6 10 -1.</_>
+                <_>3 2 3 5 2.</_>
+                <_>6 7 3 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.5701099811121821e-004</threshold>
+            <left_val>0.5627313256263733</left_val>
+            <right_val>0.2988890111446381</right_val></_></_>
+        <_>
+          <!-- tree 11 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 10 3 4 -1.</_>
+                <_>13 12 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0243391301482916</threshold>
+            <left_val>0.2771185040473938</left_val>
+            <right_val>0.5108863115310669</right_val></_></_>
+        <_>
+          <!-- tree 12 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 10 3 4 -1.</_>
+                <_>4 12 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.9435202274471521e-004</threshold>
+            <left_val>0.5580651760101318</left_val>
+            <right_val>0.3120341897010803</right_val></_></_>
+        <_>
+          <!-- tree 13 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 5 6 3 -1.</_>
+                <_>9 5 2 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.2971509024500847e-003</threshold>
+            <left_val>0.3330250084400177</left_val>
+            <right_val>0.5679075717926025</right_val></_></_>
+        <_>
+          <!-- tree 14 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 6 6 8 -1.</_>
+                <_>7 10 6 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.7801829166710377e-003</threshold>
+            <left_val>0.2990534901618958</left_val>
+            <right_val>0.5344808101654053</right_val></_></_>
+        <_>
+          <!-- tree 15 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 11 20 6 -1.</_>
+                <_>0 14 20 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.1342066973447800</threshold>
+            <left_val>0.1463858932256699</left_val>
+            <right_val>0.5392568111419678</right_val></_></_>
+        <_>
+          <!-- tree 16 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 13 4 6 -1.</_>
+                <_>4 13 2 3 2.</_>
+                <_>6 16 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.5224548345431685e-004</threshold>
+            <left_val>0.3746953904628754</left_val>
+            <right_val>0.5692734718322754</right_val></_></_>
+        <_>
+          <!-- tree 17 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 0 8 12 -1.</_>
+                <_>10 0 4 6 2.</_>
+                <_>6 6 4 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0405455417931080</threshold>
+            <left_val>0.2754747867584229</left_val>
+            <right_val>0.5484297871589661</right_val></_></_>
+        <_>
+          <!-- tree 18 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 0 15 2 -1.</_>
+                <_>2 1 15 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.2572970008477569e-003</threshold>
+            <left_val>0.3744584023952484</left_val>
+            <right_val>0.5756075978279114</right_val></_></_>
+        <_>
+          <!-- tree 19 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 12 2 3 -1.</_>
+                <_>9 13 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.4249948374927044e-003</threshold>
+            <left_val>0.7513859272003174</left_val>
+            <right_val>0.4728231132030487</right_val></_></_>
+        <_>
+          <!-- tree 20 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 12 1 2 -1.</_>
+                <_>3 13 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.0908129196614027e-004</threshold>
+            <left_val>0.5404896736145020</left_val>
+            <right_val>0.2932321131229401</right_val></_></_>
+        <_>
+          <!-- tree 21 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 11 2 3 -1.</_>
+                <_>9 12 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.2808450264856219e-003</threshold>
+            <left_val>0.6169779896736145</left_val>
+            <right_val>0.4273349046707153</right_val></_></_>
+        <_>
+          <!-- tree 22 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 3 3 1 -1.</_>
+                <_>8 3 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.8348860321566463e-003</threshold>
+            <left_val>0.2048496007919312</left_val>
+            <right_val>0.5206472277641296</right_val></_></_>
+        <_>
+          <!-- tree 23 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>17 7 3 6 -1.</_>
+                <_>17 9 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0274848695844412</threshold>
+            <left_val>0.5252984762191773</left_val>
+            <right_val>0.1675522029399872</right_val></_></_>
+        <_>
+          <!-- tree 24 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 2 3 2 -1.</_>
+                <_>8 2 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.2372419480234385e-003</threshold>
+            <left_val>0.5267782807350159</left_val>
+            <right_val>0.2777658104896545</right_val></_></_>
+        <_>
+          <!-- tree 25 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 4 5 3 -1.</_>
+                <_>11 5 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.8635291904211044e-003</threshold>
+            <left_val>0.6954557895660400</left_val>
+            <right_val>0.4812048971652985</right_val></_></_>
+        <_>
+          <!-- tree 26 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 4 5 3 -1.</_>
+                <_>4 5 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.1753971017897129e-003</threshold>
+            <left_val>0.4291887879371643</left_val>
+            <right_val>0.6349195837974548</right_val></_></_>
+        <_>
+          <!-- tree 27 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>19 3 1 2 -1.</_>
+                <_>19 4 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.7098189564421773e-003</threshold>
+            <left_val>0.2930536866188049</left_val>
+            <right_val>0.5361248850822449</right_val></_></_>
+        <_>
+          <!-- tree 28 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 5 4 3 -1.</_>
+                <_>5 6 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.5328548662364483e-003</threshold>
+            <left_val>0.4495325088500977</left_val>
+            <right_val>0.7409694194793701</right_val></_></_>
+        <_>
+          <!-- tree 29 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>17 7 3 6 -1.</_>
+                <_>17 9 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.5372907817363739e-003</threshold>
+            <left_val>0.3149119913578033</left_val>
+            <right_val>0.5416501760482788</right_val></_></_>
+        <_>
+          <!-- tree 30 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 7 3 6 -1.</_>
+                <_>0 9 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0253109894692898</threshold>
+            <left_val>0.5121892094612122</left_val>
+            <right_val>0.1311707943677902</right_val></_></_>
+        <_>
+          <!-- tree 31 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 2 6 9 -1.</_>
+                <_>14 5 6 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0364609695971012</threshold>
+            <left_val>0.5175911784172058</left_val>
+            <right_val>0.2591339945793152</right_val></_></_>
+        <_>
+          <!-- tree 32 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 4 5 6 -1.</_>
+                <_>0 6 5 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0208543296903372</threshold>
+            <left_val>0.5137140154838562</left_val>
+            <right_val>0.1582316011190414</right_val></_></_>
+        <_>
+          <!-- tree 33 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 5 6 2 -1.</_>
+                <_>12 5 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.7207747856155038e-004</threshold>
+            <left_val>0.5574309825897217</left_val>
+            <right_val>0.4398978948593140</right_val></_></_>
+        <_>
+          <!-- tree 34 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 5 6 2 -1.</_>
+                <_>6 5 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5227000403683633e-005</threshold>
+            <left_val>0.5548940896987915</left_val>
+            <right_val>0.3708069920539856</right_val></_></_>
+        <_>
+          <!-- tree 35 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 1 4 6 -1.</_>
+                <_>8 3 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.4316509310156107e-004</threshold>
+            <left_val>0.3387419879436493</left_val>
+            <right_val>0.5554211139678955</right_val></_></_>
+        <_>
+          <!-- tree 36 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 3 6 -1.</_>
+                <_>0 4 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.6037859972566366e-003</threshold>
+            <left_val>0.5358061790466309</left_val>
+            <right_val>0.3411171138286591</right_val></_></_>
+        <_>
+          <!-- tree 37 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 6 8 3 -1.</_>
+                <_>6 7 8 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.8057891912758350e-003</threshold>
+            <left_val>0.6125202775001526</left_val>
+            <right_val>0.4345862865447998</right_val></_></_>
+        <_>
+          <!-- tree 38 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 1 5 9 -1.</_>
+                <_>0 4 5 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0470216609537601</threshold>
+            <left_val>0.2358165979385376</left_val>
+            <right_val>0.5193738937377930</right_val></_></_>
+        <_>
+          <!-- tree 39 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 0 4 15 -1.</_>
+                <_>16 0 2 15 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0369541086256504</threshold>
+            <left_val>0.7323111295700073</left_val>
+            <right_val>0.4760943949222565</right_val></_></_>
+        <_>
+          <!-- tree 40 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 10 3 2 -1.</_>
+                <_>1 11 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.0439479956403375e-003</threshold>
+            <left_val>0.5419455170631409</left_val>
+            <right_val>0.3411330878734589</right_val></_></_>
+        <_>
+          <!-- tree 41 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 4 1 10 -1.</_>
+                <_>14 9 1 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.1050689974799752e-004</threshold>
+            <left_val>0.2821694016456604</left_val>
+            <right_val>0.5554947257041931</right_val></_></_>
+        <_>
+          <!-- tree 42 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 1 4 12 -1.</_>
+                <_>2 1 2 12 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0808315873146057</threshold>
+            <left_val>0.9129930138587952</left_val>
+            <right_val>0.4697434902191162</right_val></_></_>
+        <_>
+          <!-- tree 43 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 11 4 2 -1.</_>
+                <_>11 11 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.6579059087671340e-004</threshold>
+            <left_val>0.6022670269012451</left_val>
+            <right_val>0.3978292942047119</right_val></_></_>
+        <_>
+          <!-- tree 44 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 11 4 2 -1.</_>
+                <_>7 11 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.2545920617412776e-004</threshold>
+            <left_val>0.5613213181495667</left_val>
+            <right_val>0.3845539987087250</right_val></_></_>
+        <_>
+          <!-- tree 45 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 8 15 5 -1.</_>
+                <_>8 8 5 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0687864869832993</threshold>
+            <left_val>0.2261611968278885</left_val>
+            <right_val>0.5300496816635132</right_val></_></_>
+        <_>
+          <!-- tree 46 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 6 10 -1.</_>
+                <_>3 0 3 10 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0124157899990678</threshold>
+            <left_val>0.4075691998004913</left_val>
+            <right_val>0.5828812122344971</right_val></_></_>
+        <_>
+          <!-- tree 47 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 4 3 2 -1.</_>
+                <_>12 4 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.7174817882478237e-003</threshold>
+            <left_val>0.2827253937721252</left_val>
+            <right_val>0.5267757773399353</right_val></_></_>
+        <_>
+          <!-- tree 48 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 12 3 8 -1.</_>
+                <_>8 16 3 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0381368584930897</threshold>
+            <left_val>0.5074741244316101</left_val>
+            <right_val>0.1023615971207619</right_val></_></_>
+        <_>
+          <!-- tree 49 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 5 3 -1.</_>
+                <_>8 15 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.8168049175292253e-003</threshold>
+            <left_val>0.6169006824493408</left_val>
+            <right_val>0.4359692931175232</right_val></_></_>
+        <_>
+          <!-- tree 50 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 14 4 3 -1.</_>
+                <_>7 15 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.1303603947162628e-003</threshold>
+            <left_val>0.4524433016777039</left_val>
+            <right_val>0.7606095075607300</right_val></_></_>
+        <_>
+          <!-- tree 51 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 4 3 2 -1.</_>
+                <_>12 4 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.0056019574403763e-003</threshold>
+            <left_val>0.5240408778190613</left_val>
+            <right_val>0.1859712004661560</right_val></_></_>
+        <_>
+          <!-- tree 52 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 15 14 4 -1.</_>
+                <_>3 15 7 2 2.</_>
+                <_>10 17 7 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0191393196582794</threshold>
+            <left_val>0.5209379196166992</left_val>
+            <right_val>0.2332071959972382</right_val></_></_>
+        <_>
+          <!-- tree 53 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 2 16 4 -1.</_>
+                <_>10 2 8 2 2.</_>
+                <_>2 4 8 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0164457596838474</threshold>
+            <left_val>0.5450702905654907</left_val>
+            <right_val>0.3264234960079193</right_val></_></_>
+        <_>
+          <!-- tree 54 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 8 6 12 -1.</_>
+                <_>3 8 3 12 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0373568907380104</threshold>
+            <left_val>0.6999046802520752</left_val>
+            <right_val>0.4533241987228394</right_val></_></_>
+        <_>
+          <!-- tree 55 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 10 2 -1.</_>
+                <_>5 7 5 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0197279006242752</threshold>
+            <left_val>0.2653664946556091</left_val>
+            <right_val>0.5412809848785400</right_val></_></_>
+        <_>
+          <!-- tree 56 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 2 5 -1.</_>
+                <_>10 7 1 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.6972579807043076e-003</threshold>
+            <left_val>0.4480566084384918</left_val>
+            <right_val>0.7138652205467224</right_val></_></_>
+        <_>
+          <!-- tree 57 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 7 6 4 -1.</_>
+                <_>16 7 3 2 2.</_>
+                <_>13 9 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.4457528535276651e-004</threshold>
+            <left_val>0.4231350123882294</left_val>
+            <right_val>0.5471320152282715</right_val></_></_>
+        <_>
+          <!-- tree 58 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 13 8 2 -1.</_>
+                <_>0 14 8 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.1790640419349074e-003</threshold>
+            <left_val>0.5341702103614807</left_val>
+            <right_val>0.3130455017089844</right_val></_></_>
+        <_>
+          <!-- tree 59 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 7 6 4 -1.</_>
+                <_>16 7 3 2 2.</_>
+                <_>13 9 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0349806100130081</threshold>
+            <left_val>0.5118659734725952</left_val>
+            <right_val>0.3430530130863190</right_val></_></_>
+        <_>
+          <!-- tree 60 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 7 6 4 -1.</_>
+                <_>1 7 3 2 2.</_>
+                <_>4 9 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.6859792675822973e-004</threshold>
+            <left_val>0.3532187044620514</left_val>
+            <right_val>0.5468639731407166</right_val></_></_>
+        <_>
+          <!-- tree 61 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 6 1 12 -1.</_>
+                <_>12 12 1 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0113406497985125</threshold>
+            <left_val>0.2842353880405426</left_val>
+            <right_val>0.5348700881004334</right_val></_></_>
+        <_>
+          <!-- tree 62 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 2 6 -1.</_>
+                <_>10 5 1 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.6228108480572701e-003</threshold>
+            <left_val>0.6883640289306641</left_val>
+            <right_val>0.4492664933204651</right_val></_></_>
+        <_>
+          <!-- tree 63 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 12 2 3 -1.</_>
+                <_>14 13 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.0160330981016159e-003</threshold>
+            <left_val>0.1709893941879273</left_val>
+            <right_val>0.5224308967590332</right_val></_></_>
+        <_>
+          <!-- tree 64 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 12 2 3 -1.</_>
+                <_>4 13 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4206819469109178e-003</threshold>
+            <left_val>0.5290846228599548</left_val>
+            <right_val>0.2993383109569550</right_val></_></_>
+        <_>
+          <!-- tree 65 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 12 4 3 -1.</_>
+                <_>8 13 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.7801711112260818e-003</threshold>
+            <left_val>0.6498854160308838</left_val>
+            <right_val>0.4460499882698059</right_val></_></_>
+        <_>
+          <!-- tree 66 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 2 2 4 -1.</_>
+                <_>5 2 1 2 2.</_>
+                <_>6 4 1 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.4747589593753219e-003</threshold>
+            <left_val>0.3260438144207001</left_val>
+            <right_val>0.5388113260269165</right_val></_></_>
+        <_>
+          <!-- tree 67 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 5 11 3 -1.</_>
+                <_>5 6 11 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0238303393125534</threshold>
+            <left_val>0.7528941035270691</left_val>
+            <right_val>0.4801219999790192</right_val></_></_>
+        <_>
+          <!-- tree 68 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 6 4 12 -1.</_>
+                <_>7 12 4 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.9369790144264698e-003</threshold>
+            <left_val>0.5335165858268738</left_val>
+            <right_val>0.3261427879333496</right_val></_></_>
+        <_>
+          <!-- tree 69 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 13 8 5 -1.</_>
+                <_>12 13 4 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.2806255668401718e-003</threshold>
+            <left_val>0.4580394029617310</left_val>
+            <right_val>0.5737829804420471</right_val></_></_>
+        <_>
+          <!-- tree 70 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 6 1 12 -1.</_>
+                <_>7 12 1 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0104395002126694</threshold>
+            <left_val>0.2592320144176483</left_val>
+            <right_val>0.5233827829360962</right_val></_></_></trees>
+      <stage_threshold>34.5541114807128910</stage_threshold>
+      <parent>8</parent>
+      <next>-1</next></_>
+    <_>
+      <!-- stage 10 -->
+      <trees>
+        <_>
+          <!-- tree 0 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 2 6 3 -1.</_>
+                <_>4 2 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.2006587870419025e-003</threshold>
+            <left_val>0.3258886039257050</left_val>
+            <right_val>0.6849808096885681</right_val></_></_>
+        <_>
+          <!-- tree 1 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 6 10 -1.</_>
+                <_>12 5 3 5 2.</_>
+                <_>9 10 3 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.8593589086085558e-003</threshold>
+            <left_val>0.5838881134986877</left_val>
+            <right_val>0.2537829875946045</right_val></_></_>
+        <_>
+          <!-- tree 2 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 5 8 12 -1.</_>
+                <_>5 5 4 6 2.</_>
+                <_>9 11 4 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.8580528022721410e-004</threshold>
+            <left_val>0.5708081722259522</left_val>
+            <right_val>0.2812424004077911</right_val></_></_>
+        <_>
+          <!-- tree 3 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 7 20 6 -1.</_>
+                <_>0 9 20 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.9580191522836685e-003</threshold>
+            <left_val>0.2501051127910614</left_val>
+            <right_val>0.5544260740280151</right_val></_></_>
+        <_>
+          <!-- tree 4 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 2 2 2 -1.</_>
+                <_>4 3 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.2124150525778532e-003</threshold>
+            <left_val>0.2385368049144745</left_val>
+            <right_val>0.5433350205421448</right_val></_></_>
+        <_>
+          <!-- tree 5 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 18 12 2 -1.</_>
+                <_>8 18 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.9426132142543793e-003</threshold>
+            <left_val>0.3955070972442627</left_val>
+            <right_val>0.6220757961273193</right_val></_></_>
+        <_>
+          <!-- tree 6 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 4 4 16 -1.</_>
+                <_>7 12 4 8 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.4630590341985226e-003</threshold>
+            <left_val>0.5639708042144775</left_val>
+            <right_val>0.2992357909679413</right_val></_></_>
+        <_>
+          <!-- tree 7 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 6 7 8 -1.</_>
+                <_>7 10 7 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.0396599583327770e-003</threshold>
+            <left_val>0.2186512947082520</left_val>
+            <right_val>0.5411676764488220</right_val></_></_>
+        <_>
+          <!-- tree 8 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 3 3 1 -1.</_>
+                <_>7 3 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.2988339876756072e-003</threshold>
+            <left_val>0.2350706011056900</left_val>
+            <right_val>0.5364584922790527</right_val></_></_>
+        <_>
+          <!-- tree 9 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 15 2 4 -1.</_>
+                <_>11 17 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.2299369447864592e-004</threshold>
+            <left_val>0.3804112970829010</left_val>
+            <right_val>0.5729606151580811</right_val></_></_>
+        <_>
+          <!-- tree 10 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 5 4 8 -1.</_>
+                <_>3 9 4 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4654280385002494e-003</threshold>
+            <left_val>0.2510167956352234</left_val>
+            <right_val>0.5258268713951111</right_val></_></_>
+        <_>
+          <!-- tree 11 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 1 6 12 -1.</_>
+                <_>7 7 6 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.1210042117163539e-004</threshold>
+            <left_val>0.5992823839187622</left_val>
+            <right_val>0.3851158916950226</right_val></_></_>
+        <_>
+          <!-- tree 12 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 6 6 2 -1.</_>
+                <_>6 6 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.3836020370945334e-003</threshold>
+            <left_val>0.5681396126747131</left_val>
+            <right_val>0.3636586964130402</right_val></_></_>
+        <_>
+          <!-- tree 13 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 4 4 6 -1.</_>
+                <_>16 6 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0279364492744207</threshold>
+            <left_val>0.1491317003965378</left_val>
+            <right_val>0.5377560257911682</right_val></_></_>
+        <_>
+          <!-- tree 14 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 3 5 2 -1.</_>
+                <_>3 4 5 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.6919551095925272e-004</threshold>
+            <left_val>0.3692429959774017</left_val>
+            <right_val>0.5572484731674194</right_val></_></_>
+        <_>
+          <!-- tree 15 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 11 2 3 -1.</_>
+                <_>9 12 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.9829659983515739e-003</threshold>
+            <left_val>0.6758509278297424</left_val>
+            <right_val>0.4532504081726074</right_val></_></_>
+        <_>
+          <!-- tree 16 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 16 4 2 -1.</_>
+                <_>2 17 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.8815309740602970e-003</threshold>
+            <left_val>0.5368022918701172</left_val>
+            <right_val>0.2932539880275726</right_val></_></_>
+        <_>
+          <!-- tree 17 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 13 6 6 -1.</_>
+                <_>10 13 3 3 2.</_>
+                <_>7 16 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0190675500780344</threshold>
+            <left_val>0.1649377048015595</left_val>
+            <right_val>0.5330067276954651</right_val></_></_>
+        <_>
+          <!-- tree 18 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 0 3 4 -1.</_>
+                <_>8 0 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.6906559728085995e-003</threshold>
+            <left_val>0.1963925957679749</left_val>
+            <right_val>0.5119361877441406</right_val></_></_>
+        <_>
+          <!-- tree 19 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 15 4 3 -1.</_>
+                <_>8 16 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.9777139686048031e-003</threshold>
+            <left_val>0.4671171903610230</left_val>
+            <right_val>0.7008398175239563</right_val></_></_>
+        <_>
+          <!-- tree 20 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 4 4 6 -1.</_>
+                <_>0 6 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0333031304180622</threshold>
+            <left_val>0.1155416965484619</left_val>
+            <right_val>0.5104162096977234</right_val></_></_>
+        <_>
+          <!-- tree 21 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 6 12 3 -1.</_>
+                <_>9 6 4 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0907441079616547</threshold>
+            <left_val>0.5149660110473633</left_val>
+            <right_val>0.1306173056364059</right_val></_></_>
+        <_>
+          <!-- tree 22 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 6 6 14 -1.</_>
+                <_>9 6 2 14 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.3555898638442159e-004</threshold>
+            <left_val>0.3605481088161469</left_val>
+            <right_val>0.5439859032630920</right_val></_></_>
+        <_>
+          <!-- tree 23 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 3 3 -1.</_>
+                <_>10 7 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0149016501381993</threshold>
+            <left_val>0.4886212050914764</left_val>
+            <right_val>0.7687569856643677</right_val></_></_>
+        <_>
+          <!-- tree 24 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 12 2 4 -1.</_>
+                <_>6 14 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.1594118596985936e-004</threshold>
+            <left_val>0.5356813073158264</left_val>
+            <right_val>0.3240939080715179</right_val></_></_>
+        <_>
+          <!-- tree 25 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 12 7 6 -1.</_>
+                <_>10 14 7 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0506709888577461</threshold>
+            <left_val>0.1848621964454651</left_val>
+            <right_val>0.5230404138565064</right_val></_></_>
+        <_>
+          <!-- tree 26 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 0 15 2 -1.</_>
+                <_>1 1 15 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.8665749859064817e-004</threshold>
+            <left_val>0.3840579986572266</left_val>
+            <right_val>0.5517945885658264</right_val></_></_>
+        <_>
+          <!-- tree 27 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 0 6 6 -1.</_>
+                <_>14 0 3 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.3712432533502579e-003</threshold>
+            <left_val>0.4288564026355743</left_val>
+            <right_val>0.6131753921508789</right_val></_></_>
+        <_>
+          <!-- tree 28 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 3 3 1 -1.</_>
+                <_>6 3 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.2953069526702166e-003</threshold>
+            <left_val>0.2913674116134644</left_val>
+            <right_val>0.5280737876892090</right_val></_></_>
+        <_>
+          <!-- tree 29 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 0 6 6 -1.</_>
+                <_>14 0 3 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0419416800141335</threshold>
+            <left_val>0.7554799914360046</left_val>
+            <right_val>0.4856030941009522</right_val></_></_>
+        <_>
+          <!-- tree 30 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 3 20 10 -1.</_>
+                <_>0 8 20 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0235293805599213</threshold>
+            <left_val>0.2838279902935028</left_val>
+            <right_val>0.5256081223487854</right_val></_></_>
+        <_>
+          <!-- tree 31 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 0 6 6 -1.</_>
+                <_>14 0 3 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0408574491739273</threshold>
+            <left_val>0.4870935082435608</left_val>
+            <right_val>0.6277297139167786</right_val></_></_>
+        <_>
+          <!-- tree 32 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 6 6 -1.</_>
+                <_>3 0 3 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0254068691283464</threshold>
+            <left_val>0.7099707722663879</left_val>
+            <right_val>0.4575029015541077</right_val></_></_>
+        <_>
+          <!-- tree 33 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>19 15 1 2 -1.</_>
+                <_>19 16 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.1415440500713885e-004</threshold>
+            <left_val>0.4030886888504028</left_val>
+            <right_val>0.5469412207603455</right_val></_></_>
+        <_>
+          <!-- tree 34 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 4 8 -1.</_>
+                <_>2 2 2 8 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0218241196125746</threshold>
+            <left_val>0.4502024054527283</left_val>
+            <right_val>0.6768701076507568</right_val></_></_>
+        <_>
+          <!-- tree 35 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 1 18 4 -1.</_>
+                <_>11 1 9 2 2.</_>
+                <_>2 3 9 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0141140399500728</threshold>
+            <left_val>0.5442860722541809</left_val>
+            <right_val>0.3791700005531311</right_val></_></_>
+        <_>
+          <!-- tree 36 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 12 1 2 -1.</_>
+                <_>8 13 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.7214590671937913e-005</threshold>
+            <left_val>0.4200463891029358</left_val>
+            <right_val>0.5873476266860962</right_val></_></_>
+        <_>
+          <!-- tree 37 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 2 10 6 -1.</_>
+                <_>10 2 5 3 2.</_>
+                <_>5 5 5 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.9417638480663300e-003</threshold>
+            <left_val>0.3792561888694763</left_val>
+            <right_val>0.5585265755653381</right_val></_></_>
+        <_>
+          <!-- tree 38 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 2 4 -1.</_>
+                <_>10 7 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.2144409641623497e-003</threshold>
+            <left_val>0.7253103852272034</left_val>
+            <right_val>0.4603548943996429</right_val></_></_>
+        <_>
+          <!-- tree 39 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 3 3 -1.</_>
+                <_>10 7 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.5817339774221182e-003</threshold>
+            <left_val>0.4693301916122437</left_val>
+            <right_val>0.5900238752365112</right_val></_></_>
+        <_>
+          <!-- tree 40 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 5 12 8 -1.</_>
+                <_>8 5 4 8 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.1340931951999664</threshold>
+            <left_val>0.5149213075637817</left_val>
+            <right_val>0.1808844953775406</right_val></_></_>
+        <_>
+          <!-- tree 41 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 15 4 3 -1.</_>
+                <_>15 16 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.2962710354477167e-003</threshold>
+            <left_val>0.5399743914604187</left_val>
+            <right_val>0.3717867136001587</right_val></_></_>
+        <_>
+          <!-- tree 42 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 18 3 1 -1.</_>
+                <_>9 18 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.1575849968940020e-003</threshold>
+            <left_val>0.2408495992422104</left_val>
+            <right_val>0.5148863792419434</right_val></_></_>
+        <_>
+          <!-- tree 43 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 13 4 3 -1.</_>
+                <_>9 14 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.9196188338100910e-003</threshold>
+            <left_val>0.6573588252067566</left_val>
+            <right_val>0.4738740026950836</right_val></_></_>
+        <_>
+          <!-- tree 44 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 13 4 3 -1.</_>
+                <_>7 14 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.6267469618469477e-003</threshold>
+            <left_val>0.4192821979522705</left_val>
+            <right_val>0.6303114295005798</right_val></_></_>
+        <_>
+          <!-- tree 45 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>19 15 1 2 -1.</_>
+                <_>19 16 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.3413388882763684e-004</threshold>
+            <left_val>0.5540298223495483</left_val>
+            <right_val>0.3702101111412048</right_val></_></_>
+        <_>
+          <!-- tree 46 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 15 8 4 -1.</_>
+                <_>0 17 8 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0266980808228254</threshold>
+            <left_val>0.1710917949676514</left_val>
+            <right_val>0.5101410746574402</right_val></_></_>
+        <_>
+          <!-- tree 47 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 3 6 4 -1.</_>
+                <_>11 3 2 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0305618792772293</threshold>
+            <left_val>0.1904218047857285</left_val>
+            <right_val>0.5168793797492981</right_val></_></_>
+        <_>
+          <!-- tree 48 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 4 3 -1.</_>
+                <_>8 15 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.8511548880487680e-003</threshold>
+            <left_val>0.4447506964206696</left_val>
+            <right_val>0.6313853859901428</right_val></_></_>
+        <_>
+          <!-- tree 49 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 14 14 6 -1.</_>
+                <_>3 16 14 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0362114794552326</threshold>
+            <left_val>0.2490727007389069</left_val>
+            <right_val>0.5377349257469177</right_val></_></_>
+        <_>
+          <!-- tree 50 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 3 6 6 -1.</_>
+                <_>6 6 6 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.4115189444273710e-003</threshold>
+            <left_val>0.5381243228912354</left_val>
+            <right_val>0.3664236962795258</right_val></_></_>
+        <_>
+          <!-- tree 51 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 11 10 6 -1.</_>
+                <_>5 14 10 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.7253201743587852e-004</threshold>
+            <left_val>0.5530232191085815</left_val>
+            <right_val>0.3541550040245056</right_val></_></_>
+        <_>
+          <!-- tree 52 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 10 3 4 -1.</_>
+                <_>4 10 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.9481729143299162e-004</threshold>
+            <left_val>0.4132699072360992</left_val>
+            <right_val>0.5667243003845215</right_val></_></_>
+        <_>
+          <!-- tree 53 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 9 2 2 -1.</_>
+                <_>13 9 1 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.2334560789167881e-003</threshold>
+            <left_val>0.0987872332334518</left_val>
+            <right_val>0.5198668837547302</right_val></_></_>
+        <_>
+          <!-- tree 54 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 3 6 4 -1.</_>
+                <_>7 3 2 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0262747295200825</threshold>
+            <left_val>0.0911274924874306</left_val>
+            <right_val>0.5028107166290283</right_val></_></_>
+        <_>
+          <!-- tree 55 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 3 3 -1.</_>
+                <_>10 7 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.3212260827422142e-003</threshold>
+            <left_val>0.4726648926734924</left_val>
+            <right_val>0.6222720742225647</right_val></_></_>
+        <_>
+          <!-- tree 56 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 12 2 3 -1.</_>
+                <_>2 13 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.1129058226943016e-003</threshold>
+            <left_val>0.2157457023859024</left_val>
+            <right_val>0.5137804746627808</right_val></_></_>
+        <_>
+          <!-- tree 57 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 8 3 12 -1.</_>
+                <_>9 12 3 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.2457809429615736e-003</threshold>
+            <left_val>0.5410770773887634</left_val>
+            <right_val>0.3721776902675629</right_val></_></_>
+        <_>
+          <!-- tree 58 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 14 4 6 -1.</_>
+                <_>3 14 2 3 2.</_>
+                <_>5 17 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0163597092032433</threshold>
+            <left_val>0.7787874937057495</left_val>
+            <right_val>0.4685291945934296</right_val></_></_>
+        <_>
+          <!-- tree 59 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 15 2 2 -1.</_>
+                <_>16 16 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.2166109303943813e-004</threshold>
+            <left_val>0.5478987097740173</left_val>
+            <right_val>0.4240373969078064</right_val></_></_>
+        <_>
+          <!-- tree 60 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 15 2 2 -1.</_>
+                <_>2 16 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.4452440710738301e-004</threshold>
+            <left_val>0.5330560803413391</left_val>
+            <right_val>0.3501324951648712</right_val></_></_>
+        <_>
+          <!-- tree 61 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 12 4 3 -1.</_>
+                <_>8 13 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.8909732401371002e-003</threshold>
+            <left_val>0.6923521161079407</left_val>
+            <right_val>0.4726569056510925</right_val></_></_>
+        <_>
+          <!-- tree 62 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 7 20 1 -1.</_>
+                <_>10 7 10 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0483362115919590</threshold>
+            <left_val>0.5055900216102600</left_val>
+            <right_val>0.0757492035627365</right_val></_></_>
+        <_>
+          <!-- tree 63 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 6 8 3 -1.</_>
+                <_>7 6 4 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.5178127735853195e-004</threshold>
+            <left_val>0.3783741891384125</left_val>
+            <right_val>0.5538573861122131</right_val></_></_>
+        <_>
+          <!-- tree 64 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 8 2 -1.</_>
+                <_>9 7 4 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.4953910615295172e-003</threshold>
+            <left_val>0.3081651031970978</left_val>
+            <right_val>0.5359612107276917</right_val></_></_>
+        <_>
+          <!-- tree 65 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 3 5 -1.</_>
+                <_>10 7 1 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.2385010961443186e-003</threshold>
+            <left_val>0.6633958816528320</left_val>
+            <right_val>0.4649342894554138</right_val></_></_>
+        <_>
+          <!-- tree 66 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 3 5 -1.</_>
+                <_>9 7 1 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.7988430336117744e-003</threshold>
+            <left_val>0.6596844792366028</left_val>
+            <right_val>0.4347187876701355</right_val></_></_>
+        <_>
+          <!-- tree 67 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 1 3 5 -1.</_>
+                <_>12 1 1 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.7860915809869766e-003</threshold>
+            <left_val>0.5231832861900330</left_val>
+            <right_val>0.2315579950809479</right_val></_></_>
+        <_>
+          <!-- tree 68 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 2 3 6 -1.</_>
+                <_>7 2 1 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.6715380847454071e-003</threshold>
+            <left_val>0.5204250216484070</left_val>
+            <right_val>0.2977376878261566</right_val></_></_>
+        <_>
+          <!-- tree 69 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 14 6 5 -1.</_>
+                <_>14 14 3 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0353364497423172</threshold>
+            <left_val>0.7238878011703491</left_val>
+            <right_val>0.4861505031585693</right_val></_></_>
+        <_>
+          <!-- tree 70 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 8 2 2 -1.</_>
+                <_>9 9 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.9189240457490087e-004</threshold>
+            <left_val>0.3105022013187408</left_val>
+            <right_val>0.5229824781417847</right_val></_></_>
+        <_>
+          <!-- tree 71 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 7 1 3 -1.</_>
+                <_>10 8 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.3946109469980001e-003</threshold>
+            <left_val>0.3138968050479889</left_val>
+            <right_val>0.5210173726081848</right_val></_></_>
+        <_>
+          <!-- tree 72 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 6 2 2 -1.</_>
+                <_>6 6 1 1 2.</_>
+                <_>7 7 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.8569283727556467e-004</threshold>
+            <left_val>0.4536580145359039</left_val>
+            <right_val>0.6585097908973694</right_val></_></_>
+        <_>
+          <!-- tree 73 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 11 18 4 -1.</_>
+                <_>11 11 9 2 2.</_>
+                <_>2 13 9 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0501631014049053</threshold>
+            <left_val>0.1804454028606415</left_val>
+            <right_val>0.5198916792869568</right_val></_></_>
+        <_>
+          <!-- tree 74 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 6 2 2 -1.</_>
+                <_>6 6 1 1 2.</_>
+                <_>7 7 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.2367259953171015e-003</threshold>
+            <left_val>0.7255702018737793</left_val>
+            <right_val>0.4651359021663666</right_val></_></_>
+        <_>
+          <!-- tree 75 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 15 20 2 -1.</_>
+                <_>0 16 20 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.4326287722215056e-004</threshold>
+            <left_val>0.4412921071052551</left_val>
+            <right_val>0.5898545980453491</right_val></_></_>
+        <_>
+          <!-- tree 76 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 14 2 3 -1.</_>
+                <_>4 15 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.3485182151198387e-004</threshold>
+            <left_val>0.3500052988529205</left_val>
+            <right_val>0.5366017818450928</right_val></_></_>
+        <_>
+          <!-- tree 77 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 4 3 -1.</_>
+                <_>8 15 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0174979399889708</threshold>
+            <left_val>0.4912194907665253</left_val>
+            <right_val>0.8315284848213196</right_val></_></_>
+        <_>
+          <!-- tree 78 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 2 3 -1.</_>
+                <_>8 8 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5200000489130616e-003</threshold>
+            <left_val>0.3570275902748108</left_val>
+            <right_val>0.5370560288429260</right_val></_></_>
+        <_>
+          <!-- tree 79 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 10 2 3 -1.</_>
+                <_>9 11 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.8003940870985389e-004</threshold>
+            <left_val>0.4353772103786469</left_val>
+            <right_val>0.5967335104942322</right_val></_></_></trees>
+      <stage_threshold>39.1072883605957030</stage_threshold>
+      <parent>9</parent>
+      <next>-1</next></_>
+    <_>
+      <!-- stage 11 -->
+      <trees>
+        <_>
+          <!-- tree 0 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 4 10 4 -1.</_>
+                <_>5 6 10 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.9945552647113800e-003</threshold>
+            <left_val>0.6162583231925964</left_val>
+            <right_val>0.3054533004760742</right_val></_></_>
+        <_>
+          <!-- tree 1 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 6 4 -1.</_>
+                <_>12 7 3 2 2.</_>
+                <_>9 9 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.1085229925811291e-003</threshold>
+            <left_val>0.5818294882774353</left_val>
+            <right_val>0.3155578076839447</right_val></_></_>
+        <_>
+          <!-- tree 2 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 7 3 6 -1.</_>
+                <_>4 9 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.0364380432292819e-003</threshold>
+            <left_val>0.2552052140235901</left_val>
+            <right_val>0.5692911744117737</right_val></_></_>
+        <_>
+          <!-- tree 3 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 15 4 4 -1.</_>
+                <_>13 15 2 2 2.</_>
+                <_>11 17 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.8211311008781195e-004</threshold>
+            <left_val>0.3685089945793152</left_val>
+            <right_val>0.5934931039810181</right_val></_></_>
+        <_>
+          <!-- tree 4 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 8 4 2 -1.</_>
+                <_>7 9 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.8057340104132891e-004</threshold>
+            <left_val>0.2332392036914825</left_val>
+            <right_val>0.5474792122840881</right_val></_></_>
+        <_>
+          <!-- tree 5 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 1 4 3 -1.</_>
+                <_>13 1 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.6068789884448051e-004</threshold>
+            <left_val>0.3257457017898560</left_val>
+            <right_val>0.5667545795440674</right_val></_></_>
+        <_>
+          <!-- tree 6 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 15 4 4 -1.</_>
+                <_>5 15 2 2 2.</_>
+                <_>7 17 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.1607372006401420e-004</threshold>
+            <left_val>0.3744716942310333</left_val>
+            <right_val>0.5845472812652588</right_val></_></_>
+        <_>
+          <!-- tree 7 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 4 7 -1.</_>
+                <_>9 5 2 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.5007521556690335e-004</threshold>
+            <left_val>0.3420371115207672</left_val>
+            <right_val>0.5522807240486145</right_val></_></_>
+        <_>
+          <!-- tree 8 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 6 8 3 -1.</_>
+                <_>9 6 4 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.8607829697430134e-003</threshold>
+            <left_val>0.2804419994354248</left_val>
+            <right_val>0.5375424027442932</right_val></_></_>
+        <_>
+          <!-- tree 9 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 9 2 2 -1.</_>
+                <_>9 10 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5033970121294260e-003</threshold>
+            <left_val>0.2579050958156586</left_val>
+            <right_val>0.5498952269554138</right_val></_></_>
+        <_>
+          <!-- tree 10 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 15 5 3 -1.</_>
+                <_>7 16 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.3478909861296415e-003</threshold>
+            <left_val>0.4175156056880951</left_val>
+            <right_val>0.6313710808753967</right_val></_></_>
+        <_>
+          <!-- tree 11 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 10 4 3 -1.</_>
+                <_>11 10 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.8880240279249847e-004</threshold>
+            <left_val>0.5865169763565064</left_val>
+            <right_val>0.4052666127681732</right_val></_></_>
+        <_>
+          <!-- tree 12 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 9 8 10 -1.</_>
+                <_>6 14 8 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.9405477046966553e-003</threshold>
+            <left_val>0.5211141109466553</left_val>
+            <right_val>0.2318654060363770</right_val></_></_>
+        <_>
+          <!-- tree 13 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 11 6 2 -1.</_>
+                <_>10 11 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0193277392536402</threshold>
+            <left_val>0.2753432989120483</left_val>
+            <right_val>0.5241525769233704</right_val></_></_>
+        <_>
+          <!-- tree 14 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 11 6 2 -1.</_>
+                <_>7 11 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.0202060113660991e-004</threshold>
+            <left_val>0.5722978711128235</left_val>
+            <right_val>0.3677195906639099</right_val></_></_>
+        <_>
+          <!-- tree 15 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 3 8 1 -1.</_>
+                <_>11 3 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.1179069299250841e-003</threshold>
+            <left_val>0.4466108083724976</left_val>
+            <right_val>0.5542430877685547</right_val></_></_>
+        <_>
+          <!-- tree 16 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 3 3 2 -1.</_>
+                <_>7 3 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.7743760254234076e-003</threshold>
+            <left_val>0.2813253104686737</left_val>
+            <right_val>0.5300959944725037</right_val></_></_>
+        <_>
+          <!-- tree 17 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 5 6 5 -1.</_>
+                <_>14 5 3 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.2234458960592747e-003</threshold>
+            <left_val>0.4399709999561310</left_val>
+            <right_val>0.5795428156852722</right_val></_></_>
+        <_>
+          <!-- tree 18 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 5 2 12 -1.</_>
+                <_>7 11 2 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0143752200528979</threshold>
+            <left_val>0.2981117963790894</left_val>
+            <right_val>0.5292059183120728</right_val></_></_>
+        <_>
+          <!-- tree 19 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 11 4 3 -1.</_>
+                <_>8 12 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0153491804376245</threshold>
+            <left_val>0.7705215215682983</left_val>
+            <right_val>0.4748171865940094</right_val></_></_>
+        <_>
+          <!-- tree 20 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 1 2 3 -1.</_>
+                <_>5 1 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5152279956964776e-005</threshold>
+            <left_val>0.3718844056129456</left_val>
+            <right_val>0.5576897263526917</right_val></_></_>
+        <_>
+          <!-- tree 21 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>18 3 2 6 -1.</_>
+                <_>18 5 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.1293919831514359e-003</threshold>
+            <left_val>0.3615196049213409</left_val>
+            <right_val>0.5286766886711121</right_val></_></_>
+        <_>
+          <!-- tree 22 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 3 2 6 -1.</_>
+                <_>0 5 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.2512159775942564e-003</threshold>
+            <left_val>0.5364704728126526</left_val>
+            <right_val>0.3486298024654388</right_val></_></_>
+        <_>
+          <!-- tree 23 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 12 2 3 -1.</_>
+                <_>9 13 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.9696918576955795e-003</threshold>
+            <left_val>0.6927651762962341</left_val>
+            <right_val>0.4676836133003235</right_val></_></_>
+        <_>
+          <!-- tree 24 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 13 4 3 -1.</_>
+                <_>7 14 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0128290103748441</threshold>
+            <left_val>0.7712153792381287</left_val>
+            <right_val>0.4660735130310059</right_val></_></_>
+        <_>
+          <!-- tree 25 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>18 0 2 6 -1.</_>
+                <_>18 2 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.3660065904259682e-003</threshold>
+            <left_val>0.3374983966350555</left_val>
+            <right_val>0.5351287722587585</right_val></_></_>
+        <_>
+          <!-- tree 26 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 2 6 -1.</_>
+                <_>0 2 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.2452319283038378e-003</threshold>
+            <left_val>0.5325189828872681</left_val>
+            <right_val>0.3289610147476196</right_val></_></_>
+        <_>
+          <!-- tree 27 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 6 3 -1.</_>
+                <_>8 15 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0117235602810979</threshold>
+            <left_val>0.6837652921676636</left_val>
+            <right_val>0.4754300117492676</right_val></_></_>
+        <_>
+          <!-- tree 28 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 4 2 4 -1.</_>
+                <_>8 4 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.9257940695970319e-005</threshold>
+            <left_val>0.3572087883949280</left_val>
+            <right_val>0.5360502004623413</right_val></_></_>
+        <_>
+          <!-- tree 29 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 5 4 6 -1.</_>
+                <_>8 7 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.2244219508138485e-005</threshold>
+            <left_val>0.5541427135467529</left_val>
+            <right_val>0.3552064001560211</right_val></_></_>
+        <_>
+          <!-- tree 30 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 4 2 2 -1.</_>
+                <_>7 4 1 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.0881509669125080e-003</threshold>
+            <left_val>0.5070844292640686</left_val>
+            <right_val>0.1256462037563324</right_val></_></_>
+        <_>
+          <!-- tree 31 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 14 14 4 -1.</_>
+                <_>10 14 7 2 2.</_>
+                <_>3 16 7 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0274296794086695</threshold>
+            <left_val>0.5269560217857361</left_val>
+            <right_val>0.1625818014144898</right_val></_></_>
+        <_>
+          <!-- tree 32 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 15 6 2 -1.</_>
+                <_>6 15 3 1 2.</_>
+                <_>9 16 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.4142867922782898e-003</threshold>
+            <left_val>0.7145588994026184</left_val>
+            <right_val>0.4584197103977203</right_val></_></_>
+        <_>
+          <!-- tree 33 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 15 6 2 -1.</_>
+                <_>14 16 6 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.3479959238320589e-003</threshold>
+            <left_val>0.5398612022399902</left_val>
+            <right_val>0.3494696915149689</right_val></_></_>
+        <_>
+          <!-- tree 34 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 12 12 8 -1.</_>
+                <_>2 16 12 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0826354920864105</threshold>
+            <left_val>0.2439192980527878</left_val>
+            <right_val>0.5160226225852966</right_val></_></_>
+        <_>
+          <!-- tree 35 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 7 7 2 -1.</_>
+                <_>7 8 7 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.0261740535497665e-003</threshold>
+            <left_val>0.3886891901493073</left_val>
+            <right_val>0.5767908096313477</right_val></_></_>
+        <_>
+          <!-- tree 36 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 18 2 -1.</_>
+                <_>0 3 18 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.6307090409100056e-003</threshold>
+            <left_val>0.3389458060264587</left_val>
+            <right_val>0.5347700715065002</right_val></_></_>
+        <_>
+          <!-- tree 37 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 6 2 5 -1.</_>
+                <_>9 6 1 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.4546680506318808e-003</threshold>
+            <left_val>0.4601413905620575</left_val>
+            <right_val>0.6387246847152710</right_val></_></_>
+        <_>
+          <!-- tree 38 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 5 3 8 -1.</_>
+                <_>8 5 1 8 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.9476519972085953e-004</threshold>
+            <left_val>0.5769879221916199</left_val>
+            <right_val>0.4120396077632904</right_val></_></_>
+        <_>
+          <!-- tree 39 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 6 3 4 -1.</_>
+                <_>10 6 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0154091902077198</threshold>
+            <left_val>0.4878709018230438</left_val>
+            <right_val>0.7089822292327881</right_val></_></_>
+        <_>
+          <!-- tree 40 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 13 3 2 -1.</_>
+                <_>4 14 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.1784400558099151e-003</threshold>
+            <left_val>0.5263553261756897</left_val>
+            <right_val>0.2895244956016541</right_val></_></_>
+        <_>
+          <!-- tree 41 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 4 6 3 -1.</_>
+                <_>11 4 2 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0277019198983908</threshold>
+            <left_val>0.1498828977346420</left_val>
+            <right_val>0.5219606757164002</right_val></_></_>
+        <_>
+          <!-- tree 42 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 4 6 3 -1.</_>
+                <_>7 4 2 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0295053999871016</threshold>
+            <left_val>0.0248933192342520</left_val>
+            <right_val>0.4999816119670868</right_val></_></_>
+        <_>
+          <!-- tree 43 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 11 5 2 -1.</_>
+                <_>14 12 5 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.5159430010244250e-004</threshold>
+            <left_val>0.5464622974395752</left_val>
+            <right_val>0.4029662907123566</right_val></_></_>
+        <_>
+          <!-- tree 44 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 2 6 9 -1.</_>
+                <_>3 2 2 9 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.1772639639675617e-003</threshold>
+            <left_val>0.4271056950092316</left_val>
+            <right_val>0.5866296887397766</right_val></_></_>
+        <_>
+          <!-- tree 45 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 6 6 13 -1.</_>
+                <_>14 6 3 13 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0741820484399796</threshold>
+            <left_val>0.6874179244041443</left_val>
+            <right_val>0.4919027984142304</right_val></_></_>
+        <_>
+          <!-- tree 46 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 6 14 8 -1.</_>
+                <_>3 6 7 4 2.</_>
+                <_>10 10 7 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0172541607171297</threshold>
+            <left_val>0.3370676040649414</left_val>
+            <right_val>0.5348739027976990</right_val></_></_>
+        <_>
+          <!-- tree 47 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 0 4 11 -1.</_>
+                <_>16 0 2 11 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0148515598848462</threshold>
+            <left_val>0.4626792967319489</left_val>
+            <right_val>0.6129904985427856</right_val></_></_>
+        <_>
+          <!-- tree 48 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 4 12 12 -1.</_>
+                <_>3 4 6 6 2.</_>
+                <_>9 10 6 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0100020002573729</threshold>
+            <left_val>0.5346122980117798</left_val>
+            <right_val>0.3423453867435455</right_val></_></_>
+        <_>
+          <!-- tree 49 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 4 5 3 -1.</_>
+                <_>11 5 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.0138120744377375e-003</threshold>
+            <left_val>0.4643830060958862</left_val>
+            <right_val>0.5824304223060608</right_val></_></_>
+        <_>
+          <!-- tree 50 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 11 4 2 -1.</_>
+                <_>4 12 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5135470312088728e-003</threshold>
+            <left_val>0.5196396112442017</left_val>
+            <right_val>0.2856149971485138</right_val></_></_>
+        <_>
+          <!-- tree 51 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 7 2 2 -1.</_>
+                <_>10 7 1 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.1381431035697460e-003</threshold>
+            <left_val>0.4838162958621979</left_val>
+            <right_val>0.5958529710769653</right_val></_></_>
+        <_>
+          <!-- tree 52 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 2 2 -1.</_>
+                <_>9 7 1 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.1450440660119057e-003</threshold>
+            <left_val>0.8920302987098694</left_val>
+            <right_val>0.4741412103176117</right_val></_></_>
+        <_>
+          <!-- tree 53 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 17 3 2 -1.</_>
+                <_>10 17 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.4736708514392376e-003</threshold>
+            <left_val>0.2033942937850952</left_val>
+            <right_val>0.5337278842926025</right_val></_></_>
+        <_>
+          <!-- tree 54 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 6 3 3 -1.</_>
+                <_>5 7 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.9628470763564110e-003</threshold>
+            <left_val>0.4571633934974670</left_val>
+            <right_val>0.6725863218307495</right_val></_></_>
+        <_>
+          <!-- tree 55 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 0 3 3 -1.</_>
+                <_>11 0 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.4260450415313244e-003</threshold>
+            <left_val>0.5271108150482178</left_val>
+            <right_val>0.2845670878887177</right_val></_></_>
+        <_>
+          <!-- tree 56 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 6 6 2 -1.</_>
+                <_>5 6 3 1 2.</_>
+                <_>8 7 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.9611460417509079e-004</threshold>
+            <left_val>0.4138312935829163</left_val>
+            <right_val>0.5718597769737244</right_val></_></_>
+        <_>
+          <!-- tree 57 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 16 4 3 -1.</_>
+                <_>12 17 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.3728788197040558e-003</threshold>
+            <left_val>0.5225151181221008</left_val>
+            <right_val>0.2804847061634064</right_val></_></_>
+        <_>
+          <!-- tree 58 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 12 3 2 -1.</_>
+                <_>3 13 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.0500897234305739e-004</threshold>
+            <left_val>0.5236768722534180</left_val>
+            <right_val>0.3314523994922638</right_val></_></_>
+        <_>
+          <!-- tree 59 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 12 3 2 -1.</_>
+                <_>9 13 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.6792551185935736e-004</threshold>
+            <left_val>0.4531059861183167</left_val>
+            <right_val>0.6276971101760864</right_val></_></_>
+        <_>
+          <!-- tree 60 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 11 16 4 -1.</_>
+                <_>1 11 8 2 2.</_>
+                <_>9 13 8 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0246443394571543</threshold>
+            <left_val>0.5130851864814758</left_val>
+            <right_val>0.2017143964767456</right_val></_></_>
+        <_>
+          <!-- tree 61 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 4 3 3 -1.</_>
+                <_>12 5 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0102904504165053</threshold>
+            <left_val>0.7786595225334168</left_val>
+            <right_val>0.4876641035079956</right_val></_></_>
+        <_>
+          <!-- tree 62 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 4 5 3 -1.</_>
+                <_>4 5 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.0629419013857841e-003</threshold>
+            <left_val>0.4288598895072937</left_val>
+            <right_val>0.5881264209747315</right_val></_></_>
+        <_>
+          <!-- tree 63 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 16 4 3 -1.</_>
+                <_>12 17 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.0519481301307678e-003</threshold>
+            <left_val>0.3523977994918823</left_val>
+            <right_val>0.5286008715629578</right_val></_></_>
+        <_>
+          <!-- tree 64 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 4 3 3 -1.</_>
+                <_>5 5 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.7692620903253555e-003</threshold>
+            <left_val>0.6841086149215698</left_val>
+            <right_val>0.4588094055652618</right_val></_></_>
+        <_>
+          <!-- tree 65 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 0 2 2 -1.</_>
+                <_>9 1 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.5789941214025021e-004</threshold>
+            <left_val>0.3565520048141480</left_val>
+            <right_val>0.5485978126525879</right_val></_></_>
+        <_>
+          <!-- tree 66 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 9 4 2 -1.</_>
+                <_>8 10 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.5918837683275342e-004</threshold>
+            <left_val>0.3368793129920960</left_val>
+            <right_val>0.5254197120666504</right_val></_></_>
+        <_>
+          <!-- tree 67 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 8 4 3 -1.</_>
+                <_>8 9 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.7737259622663260e-003</threshold>
+            <left_val>0.3422161042690277</left_val>
+            <right_val>0.5454015135765076</right_val></_></_>
+        <_>
+          <!-- tree 68 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 13 6 3 -1.</_>
+                <_>2 13 2 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.5610467940568924e-003</threshold>
+            <left_val>0.6533612012863159</left_val>
+            <right_val>0.4485856890678406</right_val></_></_>
+        <_>
+          <!-- tree 69 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 14 3 2 -1.</_>
+                <_>16 15 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.7277270089834929e-003</threshold>
+            <left_val>0.5307580232620239</left_val>
+            <right_val>0.3925352990627289</right_val></_></_>
+        <_>
+          <!-- tree 70 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 18 18 2 -1.</_>
+                <_>7 18 6 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0281996093690395</threshold>
+            <left_val>0.6857458949089050</left_val>
+            <right_val>0.4588584005832672</right_val></_></_>
+        <_>
+          <!-- tree 71 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 14 3 2 -1.</_>
+                <_>16 15 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.7781109781935811e-003</threshold>
+            <left_val>0.4037851095199585</left_val>
+            <right_val>0.5369856953620911</right_val></_></_>
+        <_>
+          <!-- tree 72 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 14 3 2 -1.</_>
+                <_>1 15 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.3177141449414194e-004</threshold>
+            <left_val>0.5399798750877380</left_val>
+            <right_val>0.3705750107765198</right_val></_></_>
+        <_>
+          <!-- tree 73 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 14 6 3 -1.</_>
+                <_>7 15 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.6385399978607893e-003</threshold>
+            <left_val>0.4665437042713165</left_val>
+            <right_val>0.6452730894088745</right_val></_></_>
+        <_>
+          <!-- tree 74 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 14 8 3 -1.</_>
+                <_>5 15 8 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.1183069329708815e-003</threshold>
+            <left_val>0.5914781093597412</left_val>
+            <right_val>0.4064677059650421</right_val></_></_>
+        <_>
+          <!-- tree 75 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 6 4 14 -1.</_>
+                <_>10 6 2 14 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0147732896730304</threshold>
+            <left_val>0.3642038106918335</left_val>
+            <right_val>0.5294762849807739</right_val></_></_>
+        <_>
+          <!-- tree 76 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 6 4 14 -1.</_>
+                <_>8 6 2 14 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0168154407292604</threshold>
+            <left_val>0.2664231956005096</left_val>
+            <right_val>0.5144972801208496</right_val></_></_>
+        <_>
+          <!-- tree 77 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 5 2 3 -1.</_>
+                <_>13 6 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.3370140269398689e-003</threshold>
+            <left_val>0.6779531240463257</left_val>
+            <right_val>0.4852097928524017</right_val></_></_>
+        <_>
+          <!-- tree 78 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 16 6 1 -1.</_>
+                <_>9 16 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.4560048991115764e-005</threshold>
+            <left_val>0.5613964796066284</left_val>
+            <right_val>0.4153054058551788</right_val></_></_>
+        <_>
+          <!-- tree 79 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 12 3 3 -1.</_>
+                <_>9 13 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.0240620467811823e-003</threshold>
+            <left_val>0.5964478254318237</left_val>
+            <right_val>0.4566304087638855</right_val></_></_>
+        <_>
+          <!-- tree 80 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 0 3 3 -1.</_>
+                <_>8 0 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.3161689750850201e-003</threshold>
+            <left_val>0.2976115047931671</left_val>
+            <right_val>0.5188159942626953</right_val></_></_>
+        <_>
+          <!-- tree 81 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 0 16 18 -1.</_>
+                <_>4 9 16 9 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.5321757197380066</threshold>
+            <left_val>0.5187839269638062</left_val>
+            <right_val>0.2202631980180740</right_val></_></_>
+        <_>
+          <!-- tree 82 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 1 16 14 -1.</_>
+                <_>1 8 16 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.1664305031299591</threshold>
+            <left_val>0.1866022944450378</left_val>
+            <right_val>0.5060343146324158</right_val></_></_>
+        <_>
+          <!-- tree 83 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 9 15 4 -1.</_>
+                <_>8 9 5 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.1125352978706360</threshold>
+            <left_val>0.5212125182151794</left_val>
+            <right_val>0.1185022965073586</right_val></_></_>
+        <_>
+          <!-- tree 84 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 12 7 3 -1.</_>
+                <_>6 13 7 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.3046864494681358e-003</threshold>
+            <left_val>0.4589937031269074</left_val>
+            <right_val>0.6826149225234985</right_val></_></_>
+        <_>
+          <!-- tree 85 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 15 2 3 -1.</_>
+                <_>14 16 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.6255099587142467e-003</threshold>
+            <left_val>0.3079940974712372</left_val>
+            <right_val>0.5225008726119995</right_val></_></_>
+        <_>
+          <!-- tree 86 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 3 16 14 -1.</_>
+                <_>2 3 8 7 2.</_>
+                <_>10 10 8 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.1111646965146065</threshold>
+            <left_val>0.2101044058799744</left_val>
+            <right_val>0.5080801844596863</right_val></_></_>
+        <_>
+          <!-- tree 87 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 2 4 18 -1.</_>
+                <_>18 2 2 9 2.</_>
+                <_>16 11 2 9 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0108884396031499</threshold>
+            <left_val>0.5765355229377747</left_val>
+            <right_val>0.4790464043617249</right_val></_></_>
+        <_>
+          <!-- tree 88 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 15 2 3 -1.</_>
+                <_>4 16 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.8564301580190659e-003</threshold>
+            <left_val>0.5065100193023682</left_val>
+            <right_val>0.1563598960638046</right_val></_></_>
+        <_>
+          <!-- tree 89 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 2 4 18 -1.</_>
+                <_>18 2 2 9 2.</_>
+                <_>16 11 2 9 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0548543892800808</threshold>
+            <left_val>0.4966914951801300</left_val>
+            <right_val>0.7230510711669922</right_val></_></_>
+        <_>
+          <!-- tree 90 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 1 8 3 -1.</_>
+                <_>1 2 8 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0111973397433758</threshold>
+            <left_val>0.2194979041814804</left_val>
+            <right_val>0.5098798274993897</right_val></_></_>
+        <_>
+          <!-- tree 91 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 11 4 3 -1.</_>
+                <_>8 12 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.4069071300327778e-003</threshold>
+            <left_val>0.4778401851654053</left_val>
+            <right_val>0.6770902872085571</right_val></_></_>
+        <_>
+          <!-- tree 92 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 11 5 9 -1.</_>
+                <_>5 14 5 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0636652931571007</threshold>
+            <left_val>0.1936362981796265</left_val>
+            <right_val>0.5081024169921875</right_val></_></_>
+        <_>
+          <!-- tree 93 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 0 4 11 -1.</_>
+                <_>16 0 2 11 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.8081491887569427e-003</threshold>
+            <left_val>0.5999063253402710</left_val>
+            <right_val>0.4810341000556946</right_val></_></_>
+        <_>
+          <!-- tree 94 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 0 6 1 -1.</_>
+                <_>9 0 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.1717099007219076e-003</threshold>
+            <left_val>0.3338333964347839</left_val>
+            <right_val>0.5235472917556763</right_val></_></_>
+        <_>
+          <!-- tree 95 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 3 3 7 -1.</_>
+                <_>17 3 1 7 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0133155202493072</threshold>
+            <left_val>0.6617069840431213</left_val>
+            <right_val>0.4919213056564331</right_val></_></_>
+        <_>
+          <!-- tree 96 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 3 3 7 -1.</_>
+                <_>2 3 1 7 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.5442079640924931e-003</threshold>
+            <left_val>0.4488744139671326</left_val>
+            <right_val>0.6082184910774231</right_val></_></_>
+        <_>
+          <!-- tree 97 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 8 6 12 -1.</_>
+                <_>7 12 6 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0120378397405148</threshold>
+            <left_val>0.5409392118453980</left_val>
+            <right_val>0.3292432129383087</right_val></_></_>
+        <_>
+          <!-- tree 98 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 4 11 -1.</_>
+                <_>2 0 2 11 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0207010507583618</threshold>
+            <left_val>0.6819120049476624</left_val>
+            <right_val>0.4594995975494385</right_val></_></_>
+        <_>
+          <!-- tree 99 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 0 6 20 -1.</_>
+                <_>14 0 3 20 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0276082791388035</threshold>
+            <left_val>0.4630792140960693</left_val>
+            <right_val>0.5767282843589783</right_val></_></_>
+        <_>
+          <!-- tree 100 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 3 1 2 -1.</_>
+                <_>0 4 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.2370620388537645e-003</threshold>
+            <left_val>0.5165379047393799</left_val>
+            <right_val>0.2635016143321991</right_val></_></_>
+        <_>
+          <!-- tree 101 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 5 10 8 -1.</_>
+                <_>10 5 5 4 2.</_>
+                <_>5 9 5 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0376693382859230</threshold>
+            <left_val>0.2536393105983734</left_val>
+            <right_val>0.5278980135917664</right_val></_></_>
+        <_>
+          <!-- tree 102 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 7 12 4 -1.</_>
+                <_>4 7 6 2 2.</_>
+                <_>10 9 6 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.8057259730994701e-003</threshold>
+            <left_val>0.3985156118869782</left_val>
+            <right_val>0.5517500042915344</right_val></_></_></trees>
+      <stage_threshold>50.6104812622070310</stage_threshold>
+      <parent>10</parent>
+      <next>-1</next></_>
+    <_>
+      <!-- stage 12 -->
+      <trees>
+        <_>
+          <!-- tree 0 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 1 6 4 -1.</_>
+                <_>5 1 3 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.4299028813838959e-003</threshold>
+            <left_val>0.2891018092632294</left_val>
+            <right_val>0.6335226297378540</right_val></_></_>
+        <_>
+          <!-- tree 1 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 6 4 -1.</_>
+                <_>12 7 3 2 2.</_>
+                <_>9 9 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.3813319858163595e-003</threshold>
+            <left_val>0.6211789250373840</left_val>
+            <right_val>0.3477487862110138</right_val></_></_>
+        <_>
+          <!-- tree 2 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 6 2 6 -1.</_>
+                <_>5 9 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.2915711160749197e-003</threshold>
+            <left_val>0.2254412025213242</left_val>
+            <right_val>0.5582118034362793</right_val></_></_>
+        <_>
+          <!-- tree 3 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 16 6 4 -1.</_>
+                <_>12 16 3 2 2.</_>
+                <_>9 18 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.9457940086722374e-004</threshold>
+            <left_val>0.3711710870265961</left_val>
+            <right_val>0.5930070877075195</right_val></_></_>
+        <_>
+          <!-- tree 4 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 4 2 12 -1.</_>
+                <_>9 10 2 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.7164667891338468e-004</threshold>
+            <left_val>0.5651720166206360</left_val>
+            <right_val>0.3347995877265930</right_val></_></_>
+        <_>
+          <!-- tree 5 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 1 6 18 -1.</_>
+                <_>9 1 2 18 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.1386410333216190e-003</threshold>
+            <left_val>0.3069126009941101</left_val>
+            <right_val>0.5508630871772766</right_val></_></_>
+        <_>
+          <!-- tree 6 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 12 12 2 -1.</_>
+                <_>8 12 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.6403039626311511e-004</threshold>
+            <left_val>0.5762827992439270</left_val>
+            <right_val>0.3699047863483429</right_val></_></_>
+        <_>
+          <!-- tree 7 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 8 6 2 -1.</_>
+                <_>8 9 6 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.9793529392918572e-005</threshold>
+            <left_val>0.2644244134426117</left_val>
+            <right_val>0.5437911152839661</right_val></_></_>
+        <_>
+          <!-- tree 8 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 0 3 6 -1.</_>
+                <_>9 0 1 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.5774902254343033e-003</threshold>
+            <left_val>0.5051138997077942</left_val>
+            <right_val>0.1795724928379059</right_val></_></_>
+        <_>
+          <!-- tree 9 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 18 3 2 -1.</_>
+                <_>11 19 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.6032689493149519e-004</threshold>
+            <left_val>0.5826969146728516</left_val>
+            <right_val>0.4446826875209808</right_val></_></_>
+        <_>
+          <!-- tree 10 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 1 17 4 -1.</_>
+                <_>1 3 17 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.1404630541801453e-003</threshold>
+            <left_val>0.3113852143287659</left_val>
+            <right_val>0.5346971750259399</right_val></_></_>
+        <_>
+          <!-- tree 11 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 8 4 12 -1.</_>
+                <_>11 8 2 12 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0230869501829147</threshold>
+            <left_val>0.3277946114540100</left_val>
+            <right_val>0.5331197977066040</right_val></_></_>
+        <_>
+          <!-- tree 12 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 4 3 -1.</_>
+                <_>8 15 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0142436502501369</threshold>
+            <left_val>0.7381709814071655</left_val>
+            <right_val>0.4588063061237335</right_val></_></_>
+        <_>
+          <!-- tree 13 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 3 2 17 -1.</_>
+                <_>12 3 1 17 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0194871295243502</threshold>
+            <left_val>0.5256630778312683</left_val>
+            <right_val>0.2274471968412399</right_val></_></_>
+        <_>
+          <!-- tree 14 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 7 6 1 -1.</_>
+                <_>6 7 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.6681108698248863e-004</threshold>
+            <left_val>0.5511230826377869</left_val>
+            <right_val>0.3815006911754608</right_val></_></_>
+        <_>
+          <!-- tree 15 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>18 3 2 3 -1.</_>
+                <_>18 4 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.1474709976464510e-003</threshold>
+            <left_val>0.5425636768341065</left_val>
+            <right_val>0.2543726861476898</right_val></_></_>
+        <_>
+          <!-- tree 16 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 4 3 4 -1.</_>
+                <_>8 6 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.8026070029009134e-004</threshold>
+            <left_val>0.5380191802978516</left_val>
+            <right_val>0.3406304121017456</right_val></_></_>
+        <_>
+          <!-- tree 17 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 5 12 10 -1.</_>
+                <_>4 10 12 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.0266260989010334e-003</threshold>
+            <left_val>0.3035801947116852</left_val>
+            <right_val>0.5420572161674500</right_val></_></_>
+        <_>
+          <!-- tree 18 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 18 4 2 -1.</_>
+                <_>7 18 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.4462960795499384e-004</threshold>
+            <left_val>0.3990997076034546</left_val>
+            <right_val>0.5660110116004944</right_val></_></_>
+        <_>
+          <!-- tree 19 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>17 2 3 6 -1.</_>
+                <_>17 4 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.2609760053455830e-003</threshold>
+            <left_val>0.5562806725502014</left_val>
+            <right_val>0.3940688073635101</right_val></_></_>
+        <_>
+          <!-- tree 20 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 7 6 6 -1.</_>
+                <_>9 7 2 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0511330589652061</threshold>
+            <left_val>0.4609653949737549</left_val>
+            <right_val>0.7118561863899231</right_val></_></_>
+        <_>
+          <!-- tree 21 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>17 2 3 6 -1.</_>
+                <_>17 4 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0177863091230392</threshold>
+            <left_val>0.2316166013479233</left_val>
+            <right_val>0.5322144031524658</right_val></_></_>
+        <_>
+          <!-- tree 22 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 0 3 4 -1.</_>
+                <_>9 0 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.9679628573358059e-003</threshold>
+            <left_val>0.2330771982669830</left_val>
+            <right_val>0.5122029185295105</right_val></_></_>
+        <_>
+          <!-- tree 23 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 14 2 3 -1.</_>
+                <_>9 15 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.0667689386755228e-003</threshold>
+            <left_val>0.4657444059848785</left_val>
+            <right_val>0.6455488204956055</right_val></_></_>
+        <_>
+          <!-- tree 24 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 12 6 3 -1.</_>
+                <_>0 13 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.4413768015801907e-003</threshold>
+            <left_val>0.5154392123222351</left_val>
+            <right_val>0.2361633926630020</right_val></_></_>
+        <_>
+          <!-- tree 25 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 4 3 -1.</_>
+                <_>8 15 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.6277279723435640e-003</threshold>
+            <left_val>0.6219773292541504</left_val>
+            <right_val>0.4476661086082459</right_val></_></_>
+        <_>
+          <!-- tree 26 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 12 2 3 -1.</_>
+                <_>3 13 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.3530759178102016e-003</threshold>
+            <left_val>0.1837355047464371</left_val>
+            <right_val>0.5102208256721497</right_val></_></_>
+        <_>
+          <!-- tree 27 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 6 12 7 -1.</_>
+                <_>9 6 4 7 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.1453091949224472</threshold>
+            <left_val>0.5145987272262573</left_val>
+            <right_val>0.1535930931568146</right_val></_></_>
+        <_>
+          <!-- tree 28 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 3 6 -1.</_>
+                <_>0 4 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.4394490756094456e-003</threshold>
+            <left_val>0.5343660116195679</left_val>
+            <right_val>0.3624661862850189</right_val></_></_>
+        <_>
+          <!-- tree 29 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 6 1 3 -1.</_>
+                <_>14 7 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.1283390708267689e-003</threshold>
+            <left_val>0.6215007901191711</left_val>
+            <right_val>0.4845592081546783</right_val></_></_>
+        <_>
+          <!-- tree 30 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 0 3 14 -1.</_>
+                <_>3 0 1 14 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.7940260004252195e-003</threshold>
+            <left_val>0.4299261868000031</left_val>
+            <right_val>0.5824198126792908</right_val></_></_>
+        <_>
+          <!-- tree 31 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 14 5 6 -1.</_>
+                <_>12 16 5 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0362538211047649</threshold>
+            <left_val>0.5260334014892578</left_val>
+            <right_val>0.1439467966556549</right_val></_></_>
+        <_>
+          <!-- tree 32 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 14 5 6 -1.</_>
+                <_>4 16 5 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.1746722310781479e-003</threshold>
+            <left_val>0.3506538867950440</left_val>
+            <right_val>0.5287045240402222</right_val></_></_>
+        <_>
+          <!-- tree 33 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 10 2 2 -1.</_>
+                <_>12 10 1 1 2.</_>
+                <_>11 11 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.5383297624066472e-004</threshold>
+            <left_val>0.4809640944004059</left_val>
+            <right_val>0.6122040152549744</right_val></_></_>
+        <_>
+          <!-- tree 34 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 0 3 14 -1.</_>
+                <_>6 0 1 14 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0264802295714617</threshold>
+            <left_val>0.1139362007379532</left_val>
+            <right_val>0.5045586228370667</right_val></_></_>
+        <_>
+          <!-- tree 35 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 15 2 3 -1.</_>
+                <_>10 16 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.0440660193562508e-003</threshold>
+            <left_val>0.6352095007896423</left_val>
+            <right_val>0.4794734120368958</right_val></_></_>
+        <_>
+          <!-- tree 36 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 2 3 -1.</_>
+                <_>0 3 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.6993520334362984e-003</threshold>
+            <left_val>0.5131118297576904</left_val>
+            <right_val>0.2498510926961899</right_val></_></_>
+        <_>
+          <!-- tree 37 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 11 12 6 -1.</_>
+                <_>5 14 12 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.6762931267730892e-004</threshold>
+            <left_val>0.5421394705772400</left_val>
+            <right_val>0.3709532022476196</right_val></_></_>
+        <_>
+          <!-- tree 38 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 11 3 9 -1.</_>
+                <_>6 14 3 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0413822606205940</threshold>
+            <left_val>0.1894959956407547</left_val>
+            <right_val>0.5081691741943359</right_val></_></_>
+        <_>
+          <!-- tree 39 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 10 2 2 -1.</_>
+                <_>12 10 1 1 2.</_>
+                <_>11 11 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.0532729793339968e-003</threshold>
+            <left_val>0.6454367041587830</left_val>
+            <right_val>0.4783608913421631</right_val></_></_>
+        <_>
+          <!-- tree 40 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 6 1 3 -1.</_>
+                <_>5 7 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.1648600231856108e-003</threshold>
+            <left_val>0.6215031147003174</left_val>
+            <right_val>0.4499826133251190</right_val></_></_>
+        <_>
+          <!-- tree 41 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 9 13 3 -1.</_>
+                <_>4 10 13 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.6747748749330640e-004</threshold>
+            <left_val>0.3712610900402069</left_val>
+            <right_val>0.5419334769248962</right_val></_></_>
+        <_>
+          <!-- tree 42 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 7 15 6 -1.</_>
+                <_>6 7 5 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.1737584024667740</threshold>
+            <left_val>0.5023643970489502</left_val>
+            <right_val>0.1215742006897926</right_val></_></_>
+        <_>
+          <!-- tree 43 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 5 12 6 -1.</_>
+                <_>8 5 4 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.9049699660390615e-003</threshold>
+            <left_val>0.3240267932415009</left_val>
+            <right_val>0.5381883978843689</right_val></_></_>
+        <_>
+          <!-- tree 44 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 10 4 3 -1.</_>
+                <_>8 11 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.2299539521336555e-003</threshold>
+            <left_val>0.4165507853031158</left_val>
+            <right_val>0.5703486204147339</right_val></_></_>
+        <_>
+          <!-- tree 45 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 14 1 3 -1.</_>
+                <_>15 15 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.4329237900674343e-004</threshold>
+            <left_val>0.3854042887687683</left_val>
+            <right_val>0.5547549128532410</right_val></_></_>
+        <_>
+          <!-- tree 46 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 11 5 3 -1.</_>
+                <_>1 12 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.3297258242964745e-003</threshold>
+            <left_val>0.2204494029283524</left_val>
+            <right_val>0.5097082853317261</right_val></_></_>
+        <_>
+          <!-- tree 47 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 1 7 12 -1.</_>
+                <_>7 7 7 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.0417630255687982e-004</threshold>
+            <left_val>0.5607066154479981</left_val>
+            <right_val>0.4303036034107208</right_val></_></_>
+        <_>
+          <!-- tree 48 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 1 6 10 -1.</_>
+                <_>0 1 3 5 2.</_>
+                <_>3 6 3 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0312047004699707</threshold>
+            <left_val>0.4621657133102417</left_val>
+            <right_val>0.6982004046440125</right_val></_></_>
+        <_>
+          <!-- tree 49 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 1 4 3 -1.</_>
+                <_>16 2 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.8943502157926559e-003</threshold>
+            <left_val>0.5269594192504883</left_val>
+            <right_val>0.2269068062305450</right_val></_></_>
+        <_>
+          <!-- tree 50 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 5 2 3 -1.</_>
+                <_>5 6 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.3645310215651989e-003</threshold>
+            <left_val>0.6359223127365112</left_val>
+            <right_val>0.4537956118583679</right_val></_></_>
+        <_>
+          <!-- tree 51 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 2 3 5 -1.</_>
+                <_>13 2 1 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.6793059706687927e-003</threshold>
+            <left_val>0.5274767875671387</left_val>
+            <right_val>0.2740483880043030</right_val></_></_>
+        <_>
+          <!-- tree 52 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 3 4 6 -1.</_>
+                <_>0 5 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0254311393946409</threshold>
+            <left_val>0.2038519978523254</left_val>
+            <right_val>0.5071732997894287</right_val></_></_>
+        <_>
+          <!-- tree 53 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 12 4 2 -1.</_>
+                <_>8 13 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.2000601105391979e-004</threshold>
+            <left_val>0.4587455093860626</left_val>
+            <right_val>0.6119868159294128</right_val></_></_>
+        <_>
+          <!-- tree 54 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 18 3 1 -1.</_>
+                <_>9 18 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.9284600168466568e-003</threshold>
+            <left_val>0.5071274042129517</left_val>
+            <right_val>0.2028204947710037</right_val></_></_>
+        <_>
+          <!-- tree 55 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 10 2 2 -1.</_>
+                <_>12 10 1 1 2.</_>
+                <_>11 11 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.5256470912136137e-005</threshold>
+            <left_val>0.4812104105949402</left_val>
+            <right_val>0.5430821776390076</right_val></_></_>
+        <_>
+          <!-- tree 56 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 10 2 2 -1.</_>
+                <_>7 10 1 1 2.</_>
+                <_>8 11 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.3158309739083052e-003</threshold>
+            <left_val>0.4625813961029053</left_val>
+            <right_val>0.6779323220252991</right_val></_></_>
+        <_>
+          <!-- tree 57 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 11 4 4 -1.</_>
+                <_>11 13 4 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5870389761403203e-003</threshold>
+            <left_val>0.5386291742324829</left_val>
+            <right_val>0.3431465029716492</right_val></_></_>
+        <_>
+          <!-- tree 58 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 12 3 8 -1.</_>
+                <_>9 12 1 8 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0215396601706743</threshold>
+            <left_val>0.0259425006806850</left_val>
+            <right_val>0.5003222823143005</right_val></_></_>
+        <_>
+          <!-- tree 59 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 0 6 3 -1.</_>
+                <_>13 1 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0143344802781940</threshold>
+            <left_val>0.5202844738960266</left_val>
+            <right_val>0.1590632945299149</right_val></_></_>
+        <_>
+          <!-- tree 60 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 8 3 4 -1.</_>
+                <_>9 8 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.3881383761763573e-003</threshold>
+            <left_val>0.7282481193542481</left_val>
+            <right_val>0.4648044109344482</right_val></_></_>
+        <_>
+          <!-- tree 61 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 10 10 -1.</_>
+                <_>10 7 5 5 2.</_>
+                <_>5 12 5 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.1906841844320297e-003</threshold>
+            <left_val>0.5562356710433960</left_val>
+            <right_val>0.3923191130161285</right_val></_></_>
+        <_>
+          <!-- tree 62 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 18 8 2 -1.</_>
+                <_>3 18 4 1 2.</_>
+                <_>7 19 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.8453059755265713e-003</threshold>
+            <left_val>0.6803392767906189</left_val>
+            <right_val>0.4629127979278565</right_val></_></_>
+        <_>
+          <!-- tree 63 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 2 6 8 -1.</_>
+                <_>12 2 2 8 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0547077991068363</threshold>
+            <left_val>0.2561671137809753</left_val>
+            <right_val>0.5206125974655151</right_val></_></_>
+        <_>
+          <!-- tree 64 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 2 6 8 -1.</_>
+                <_>6 2 2 8 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.1142775490880013e-003</threshold>
+            <left_val>0.5189620256423950</left_val>
+            <right_val>0.3053877055644989</right_val></_></_>
+        <_>
+          <!-- tree 65 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 0 3 7 -1.</_>
+                <_>12 0 1 7 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0155750000849366</threshold>
+            <left_val>0.1295074969530106</left_val>
+            <right_val>0.5169094800949097</right_val></_></_>
+        <_>
+          <!-- tree 66 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 11 2 1 -1.</_>
+                <_>8 11 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.2050600344082341e-004</threshold>
+            <left_val>0.5735098123550415</left_val>
+            <right_val>0.4230825006961823</right_val></_></_>
+        <_>
+          <!-- tree 67 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 14 1 3 -1.</_>
+                <_>15 15 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.2273970060050488e-003</threshold>
+            <left_val>0.5289878249168396</left_val>
+            <right_val>0.4079791903495789</right_val></_></_>
+        <_>
+          <!-- tree 68 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 15 2 2 -1.</_>
+                <_>7 15 1 1 2.</_>
+                <_>8 16 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.2186600361019373e-003</threshold>
+            <left_val>0.6575639843940735</left_val>
+            <right_val>0.4574409127235413</right_val></_></_>
+        <_>
+          <!-- tree 69 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 14 1 3 -1.</_>
+                <_>15 15 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.3256649039685726e-003</threshold>
+            <left_val>0.3628047108650208</left_val>
+            <right_val>0.5195019841194153</right_val></_></_>
+        <_>
+          <!-- tree 70 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 0 3 7 -1.</_>
+                <_>7 0 1 7 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0132883097976446</threshold>
+            <left_val>0.1284265965223312</left_val>
+            <right_val>0.5043488740921021</right_val></_></_>
+        <_>
+          <!-- tree 71 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>18 1 2 7 -1.</_>
+                <_>18 1 1 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.3839771058410406e-003</threshold>
+            <left_val>0.6292240023612976</left_val>
+            <right_val>0.4757505953311920</right_val></_></_>
+        <_>
+          <!-- tree 72 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 0 8 20 -1.</_>
+                <_>2 10 8 10 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.2195422053337097</threshold>
+            <left_val>0.1487731933593750</left_val>
+            <right_val>0.5065013766288757</right_val></_></_>
+        <_>
+          <!-- tree 73 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 0 15 6 -1.</_>
+                <_>3 2 15 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.9111708067357540e-003</threshold>
+            <left_val>0.4256102144718170</left_val>
+            <right_val>0.5665838718414307</right_val></_></_>
+        <_>
+          <!-- tree 74 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 3 12 2 -1.</_>
+                <_>4 4 12 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.8744950648397207e-004</threshold>
+            <left_val>0.4004144072532654</left_val>
+            <right_val>0.5586857199668884</right_val></_></_>
+        <_>
+          <!-- tree 75 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 0 4 5 -1.</_>
+                <_>16 0 2 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.2178641781210899e-003</threshold>
+            <left_val>0.6009116172790527</left_val>
+            <right_val>0.4812706112861633</right_val></_></_>
+        <_>
+          <!-- tree 76 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 0 3 4 -1.</_>
+                <_>8 0 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.1111519997939467e-003</threshold>
+            <left_val>0.3514933884143829</left_val>
+            <right_val>0.5287089943885803</right_val></_></_>
+        <_>
+          <!-- tree 77 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 0 4 5 -1.</_>
+                <_>16 0 2 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.4036400504410267e-003</threshold>
+            <left_val>0.4642275869846344</left_val>
+            <right_val>0.5924085974693298</right_val></_></_>
+        <_>
+          <!-- tree 78 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 7 6 13 -1.</_>
+                <_>3 7 2 13 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.1229949966073036</threshold>
+            <left_val>0.5025529265403748</left_val>
+            <right_val>0.0691524818539619</right_val></_></_>
+        <_>
+          <!-- tree 79 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 0 4 5 -1.</_>
+                <_>16 0 2 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0123135102912784</threshold>
+            <left_val>0.5884591937065125</left_val>
+            <right_val>0.4934012889862061</right_val></_></_>
+        <_>
+          <!-- tree 80 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 4 5 -1.</_>
+                <_>2 0 2 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.1471039876341820e-003</threshold>
+            <left_val>0.4372239112854004</left_val>
+            <right_val>0.5893477797508240</right_val></_></_>
+        <_>
+          <!-- tree 81 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 12 3 6 -1.</_>
+                <_>14 14 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.5502649843692780e-003</threshold>
+            <left_val>0.4327551126480103</left_val>
+            <right_val>0.5396270155906677</right_val></_></_>
+        <_>
+          <!-- tree 82 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 12 3 6 -1.</_>
+                <_>3 14 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0192242693156004</threshold>
+            <left_val>0.1913134008646011</left_val>
+            <right_val>0.5068330764770508</right_val></_></_>
+        <_>
+          <!-- tree 83 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 1 4 3 -1.</_>
+                <_>16 2 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4395059552043676e-003</threshold>
+            <left_val>0.5308178067207336</left_val>
+            <right_val>0.4243533015251160</right_val></_></_>
+        <_>
+          <!-- tree 84 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 2 10 -1.</_>
+                <_>8 7 1 5 2.</_>
+                <_>9 12 1 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.7751999013125896e-003</threshold>
+            <left_val>0.6365395784378052</left_val>
+            <right_val>0.4540086090564728</right_val></_></_>
+        <_>
+          <!-- tree 85 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 11 4 4 -1.</_>
+                <_>11 13 4 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.0119630545377731e-003</threshold>
+            <left_val>0.5189834237098694</left_val>
+            <right_val>0.3026199936866760</right_val></_></_>
+        <_>
+          <!-- tree 86 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 1 4 3 -1.</_>
+                <_>0 2 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.4014651104807854e-003</threshold>
+            <left_val>0.5105062127113342</left_val>
+            <right_val>0.2557682991027832</right_val></_></_>
+        <_>
+          <!-- tree 87 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 4 1 3 -1.</_>
+                <_>13 5 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.0274988906458020e-004</threshold>
+            <left_val>0.4696914851665497</left_val>
+            <right_val>0.5861827731132507</right_val></_></_>
+        <_>
+          <!-- tree 88 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 15 3 5 -1.</_>
+                <_>8 15 1 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0114744501188397</threshold>
+            <left_val>0.5053645968437195</left_val>
+            <right_val>0.1527177989482880</right_val></_></_>
+        <_>
+          <!-- tree 89 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 3 5 -1.</_>
+                <_>10 7 1 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.7023430019617081e-003</threshold>
+            <left_val>0.6508980989456177</left_val>
+            <right_val>0.4890604019165039</right_val></_></_>
+        <_>
+          <!-- tree 90 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 3 5 -1.</_>
+                <_>9 7 1 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.0462959073483944e-003</threshold>
+            <left_val>0.6241816878318787</left_val>
+            <right_val>0.4514600038528442</right_val></_></_>
+        <_>
+          <!-- tree 91 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 6 4 14 -1.</_>
+                <_>10 6 2 14 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.9951568990945816e-003</threshold>
+            <left_val>0.3432781100273132</left_val>
+            <right_val>0.5400953888893127</right_val></_></_>
+        <_>
+          <!-- tree 92 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 5 5 6 -1.</_>
+                <_>0 7 5 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0357007086277008</threshold>
+            <left_val>0.1878059059381485</left_val>
+            <right_val>0.5074077844619751</right_val></_></_>
+        <_>
+          <!-- tree 93 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 6 4 -1.</_>
+                <_>9 5 3 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.5584561303257942e-004</threshold>
+            <left_val>0.3805277049541473</left_val>
+            <right_val>0.5402569770812988</right_val></_></_>
+        <_>
+          <!-- tree 94 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 18 10 -1.</_>
+                <_>6 0 6 10 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0542606003582478</threshold>
+            <left_val>0.6843714714050293</left_val>
+            <right_val>0.4595097005367279</right_val></_></_>
+        <_>
+          <!-- tree 95 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 6 4 14 -1.</_>
+                <_>10 6 2 14 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.0600461438298225e-003</threshold>
+            <left_val>0.5502905249595642</left_val>
+            <right_val>0.4500527977943420</right_val></_></_>
+        <_>
+          <!-- tree 96 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 6 4 14 -1.</_>
+                <_>8 6 2 14 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.4791832119226456e-003</threshold>
+            <left_val>0.3368858098983765</left_val>
+            <right_val>0.5310757160186768</right_val></_></_>
+        <_>
+          <!-- tree 97 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 4 1 3 -1.</_>
+                <_>13 5 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.4939469983801246e-003</threshold>
+            <left_val>0.6487640142440796</left_val>
+            <right_val>0.4756175875663757</right_val></_></_>
+        <_>
+          <!-- tree 98 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 1 2 3 -1.</_>
+                <_>6 1 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4610530342906713e-005</threshold>
+            <left_val>0.4034579098224640</left_val>
+            <right_val>0.5451064109802246</right_val></_></_>
+        <_>
+          <!-- tree 99 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>18 1 2 18 -1.</_>
+                <_>19 1 1 9 2.</_>
+                <_>18 10 1 9 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.2321938350796700e-003</threshold>
+            <left_val>0.6386873722076416</left_val>
+            <right_val>0.4824739992618561</right_val></_></_>
+        <_>
+          <!-- tree 100 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 1 4 3 -1.</_>
+                <_>2 2 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.0645818226039410e-003</threshold>
+            <left_val>0.2986421883106232</left_val>
+            <right_val>0.5157335996627808</right_val></_></_>
+        <_>
+          <!-- tree 101 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>18 1 2 18 -1.</_>
+                <_>19 1 1 9 2.</_>
+                <_>18 10 1 9 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0304630808532238</threshold>
+            <left_val>0.5022199749946594</left_val>
+            <right_val>0.7159956097602844</right_val></_></_>
+        <_>
+          <!-- tree 102 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 14 4 6 -1.</_>
+                <_>1 14 2 3 2.</_>
+                <_>3 17 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.0544911324977875e-003</threshold>
+            <left_val>0.6492452025413513</left_val>
+            <right_val>0.4619275033473969</right_val></_></_>
+        <_>
+          <!-- tree 103 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 11 7 6 -1.</_>
+                <_>10 13 7 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0395051389932632</threshold>
+            <left_val>0.5150570869445801</left_val>
+            <right_val>0.2450613975524902</right_val></_></_>
+        <_>
+          <!-- tree 104 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 10 6 10 -1.</_>
+                <_>0 10 3 5 2.</_>
+                <_>3 15 3 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.4530208259820938e-003</threshold>
+            <left_val>0.4573669135570526</left_val>
+            <right_val>0.6394037008285523</right_val></_></_>
+        <_>
+          <!-- tree 105 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 0 3 4 -1.</_>
+                <_>12 0 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.1688120430335402e-003</threshold>
+            <left_val>0.3865512013435364</left_val>
+            <right_val>0.5483661293983460</right_val></_></_>
+        <_>
+          <!-- tree 106 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 10 5 6 -1.</_>
+                <_>5 13 5 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.8070670086890459e-003</threshold>
+            <left_val>0.5128579139709473</left_val>
+            <right_val>0.2701480090618134</right_val></_></_>
+        <_>
+          <!-- tree 107 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 6 1 8 -1.</_>
+                <_>14 10 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.7365209320560098e-004</threshold>
+            <left_val>0.4051581919193268</left_val>
+            <right_val>0.5387461185455322</right_val></_></_>
+        <_>
+          <!-- tree 108 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 7 18 6 -1.</_>
+                <_>1 7 9 3 2.</_>
+                <_>10 10 9 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0117410803213716</threshold>
+            <left_val>0.5295950174331665</left_val>
+            <right_val>0.3719413876533508</right_val></_></_>
+        <_>
+          <!-- tree 109 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 2 2 -1.</_>
+                <_>9 7 1 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.1833238899707794e-003</threshold>
+            <left_val>0.4789406955242157</left_val>
+            <right_val>0.6895126104354858</right_val></_></_>
+        <_>
+          <!-- tree 110 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 9 4 5 -1.</_>
+                <_>7 9 2 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.0241501089185476e-004</threshold>
+            <left_val>0.5384489297866821</left_val>
+            <right_val>0.3918080925941467</right_val></_></_></trees>
+      <stage_threshold>54.6200714111328130</stage_threshold>
+      <parent>11</parent>
+      <next>-1</next></_>
+    <_>
+      <!-- stage 13 -->
+      <trees>
+        <_>
+          <!-- tree 0 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 6 6 3 -1.</_>
+                <_>9 6 2 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0170599296689034</threshold>
+            <left_val>0.3948527872562408</left_val>
+            <right_val>0.7142534852027893</right_val></_></_>
+        <_>
+          <!-- tree 1 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 0 18 4 -1.</_>
+                <_>7 0 6 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0218408405780792</threshold>
+            <left_val>0.3370316028594971</left_val>
+            <right_val>0.6090016961097717</right_val></_></_>
+        <_>
+          <!-- tree 2 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 15 2 4 -1.</_>
+                <_>7 17 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.4520049919374287e-004</threshold>
+            <left_val>0.3500576019287109</left_val>
+            <right_val>0.5987902283668518</right_val></_></_>
+        <_>
+          <!-- tree 3 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 0 19 9 -1.</_>
+                <_>1 3 19 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.3272606134414673e-003</threshold>
+            <left_val>0.3267528116703033</left_val>
+            <right_val>0.5697240829467773</right_val></_></_>
+        <_>
+          <!-- tree 4 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 7 3 6 -1.</_>
+                <_>3 9 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.7148298947140574e-004</threshold>
+            <left_val>0.3044599890708923</left_val>
+            <right_val>0.5531656742095947</right_val></_></_>
+        <_>
+          <!-- tree 5 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 7 4 4 -1.</_>
+                <_>15 7 2 2 2.</_>
+                <_>13 9 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.7373987985774875e-004</threshold>
+            <left_val>0.3650012016296387</left_val>
+            <right_val>0.5672631263732910</right_val></_></_>
+        <_>
+          <!-- tree 6 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 7 4 4 -1.</_>
+                <_>3 7 2 2 2.</_>
+                <_>5 9 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.4681590477703139e-005</threshold>
+            <left_val>0.3313541114330292</left_val>
+            <right_val>0.5388727188110352</right_val></_></_>
+        <_>
+          <!-- tree 7 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 6 10 8 -1.</_>
+                <_>9 10 10 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.8563398197293282e-003</threshold>
+            <left_val>0.2697942852973938</left_val>
+            <right_val>0.5498778820037842</right_val></_></_>
+        <_>
+          <!-- tree 8 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 8 14 12 -1.</_>
+                <_>3 14 14 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.5102273151278496e-003</threshold>
+            <left_val>0.5269358158111572</left_val>
+            <right_val>0.2762879133224487</right_val></_></_>
+        <_>
+          <!-- tree 9 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 5 10 12 -1.</_>
+                <_>11 5 5 6 2.</_>
+                <_>6 11 5 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0698172077536583</threshold>
+            <left_val>0.2909603118896484</left_val>
+            <right_val>0.5259246826171875</right_val></_></_>
+        <_>
+          <!-- tree 10 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 11 2 3 -1.</_>
+                <_>9 12 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.6113670840859413e-004</threshold>
+            <left_val>0.5892577171325684</left_val>
+            <right_val>0.4073697924613953</right_val></_></_>
+        <_>
+          <!-- tree 11 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 6 5 -1.</_>
+                <_>9 5 3 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.7149249631911516e-004</threshold>
+            <left_val>0.3523564040660858</left_val>
+            <right_val>0.5415862202644348</right_val></_></_>
+        <_>
+          <!-- tree 12 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 4 2 4 -1.</_>
+                <_>9 6 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.4727490452060010e-005</threshold>
+            <left_val>0.5423017740249634</left_val>
+            <right_val>0.3503156006336212</right_val></_></_>
+        <_>
+          <!-- tree 13 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 6 5 -1.</_>
+                <_>9 5 3 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0484202913939953</threshold>
+            <left_val>0.5193945765495300</left_val>
+            <right_val>0.3411195874214172</right_val></_></_>
+        <_>
+          <!-- tree 14 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 5 6 5 -1.</_>
+                <_>8 5 3 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.3257140526548028e-003</threshold>
+            <left_val>0.3157769143581390</left_val>
+            <right_val>0.5335376262664795</right_val></_></_>
+        <_>
+          <!-- tree 15 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 2 6 1 -1.</_>
+                <_>13 2 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4922149603080470e-005</threshold>
+            <left_val>0.4451299905776978</left_val>
+            <right_val>0.5536553859710693</right_val></_></_>
+        <_>
+          <!-- tree 16 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 2 6 1 -1.</_>
+                <_>5 2 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.7173398993909359e-003</threshold>
+            <left_val>0.3031741976737976</left_val>
+            <right_val>0.5248088836669922</right_val></_></_>
+        <_>
+          <!-- tree 17 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 5 2 3 -1.</_>
+                <_>13 6 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.9219500720500946e-003</threshold>
+            <left_val>0.4781453013420105</left_val>
+            <right_val>0.6606041789054871</right_val></_></_>
+        <_>
+          <!-- tree 18 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 10 1 4 -1.</_>
+                <_>0 12 1 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.9804988987743855e-003</threshold>
+            <left_val>0.3186308145523071</left_val>
+            <right_val>0.5287625193595886</right_val></_></_>
+        <_>
+          <!-- tree 19 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 5 2 3 -1.</_>
+                <_>13 6 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.0012109093368053e-003</threshold>
+            <left_val>0.6413596868515015</left_val>
+            <right_val>0.4749928116798401</right_val></_></_>
+        <_>
+          <!-- tree 20 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 18 3 2 -1.</_>
+                <_>9 18 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.3491991236805916e-003</threshold>
+            <left_val>0.1507498025894165</left_val>
+            <right_val>0.5098996758460999</right_val></_></_>
+        <_>
+          <!-- tree 21 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 15 9 2 -1.</_>
+                <_>6 16 9 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.3490889687091112e-003</threshold>
+            <left_val>0.4316158890724182</left_val>
+            <right_val>0.5881167054176331</right_val></_></_>
+        <_>
+          <!-- tree 22 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 4 3 -1.</_>
+                <_>8 15 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0185970701277256</threshold>
+            <left_val>0.4735553860664368</left_val>
+            <right_val>0.9089794158935547</right_val></_></_>
+        <_>
+          <!-- tree 23 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>18 4 2 4 -1.</_>
+                <_>18 6 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.8562379991635680e-003</threshold>
+            <left_val>0.3553189039230347</left_val>
+            <right_val>0.5577837228775024</right_val></_></_>
+        <_>
+          <!-- tree 24 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 5 2 3 -1.</_>
+                <_>5 6 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.2940430790185928e-003</threshold>
+            <left_val>0.4500094950199127</left_val>
+            <right_val>0.6580877900123596</right_val></_></_>
+        <_>
+          <!-- tree 25 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 16 3 2 -1.</_>
+                <_>15 17 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.9982850537635386e-004</threshold>
+            <left_val>0.5629242062568665</left_val>
+            <right_val>0.3975878953933716</right_val></_></_>
+        <_>
+          <!-- tree 26 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 3 9 -1.</_>
+                <_>0 3 3 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.5455459728837013e-003</threshold>
+            <left_val>0.5381547212600708</left_val>
+            <right_val>0.3605485856533051</right_val></_></_>
+        <_>
+          <!-- tree 27 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 3 3 -1.</_>
+                <_>9 8 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.6104722470045090e-003</threshold>
+            <left_val>0.5255997180938721</left_val>
+            <right_val>0.1796745955944061</right_val></_></_>
+        <_>
+          <!-- tree 28 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 3 3 -1.</_>
+                <_>8 8 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.2783220782876015e-003</threshold>
+            <left_val>0.2272856980562210</left_val>
+            <right_val>0.5114030241966248</right_val></_></_>
+        <_>
+          <!-- tree 29 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 2 6 -1.</_>
+                <_>9 5 1 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.4598479978740215e-003</threshold>
+            <left_val>0.4626308083534241</left_val>
+            <right_val>0.6608219146728516</right_val></_></_>
+        <_>
+          <!-- tree 30 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 6 3 4 -1.</_>
+                <_>9 6 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.3112019514665008e-003</threshold>
+            <left_val>0.6317539811134338</left_val>
+            <right_val>0.4436857998371124</right_val></_></_>
+        <_>
+          <!-- tree 31 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 6 8 12 -1.</_>
+                <_>11 6 4 6 2.</_>
+                <_>7 12 4 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.6876179035753012e-003</threshold>
+            <left_val>0.5421109795570374</left_val>
+            <right_val>0.4054022133350372</right_val></_></_>
+        <_>
+          <!-- tree 32 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 6 8 12 -1.</_>
+                <_>5 6 4 6 2.</_>
+                <_>9 12 4 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.9118169806897640e-003</threshold>
+            <left_val>0.5358477830886841</left_val>
+            <right_val>0.3273454904556274</right_val></_></_>
+        <_>
+          <!-- tree 33 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 4 3 3 -1.</_>
+                <_>12 5 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0142064504325390</threshold>
+            <left_val>0.7793576717376709</left_val>
+            <right_val>0.4975781142711639</right_val></_></_>
+        <_>
+          <!-- tree 34 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 16 3 2 -1.</_>
+                <_>2 17 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.1705528534948826e-004</threshold>
+            <left_val>0.5297319889068604</left_val>
+            <right_val>0.3560903966426849</right_val></_></_>
+        <_>
+          <!-- tree 35 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 4 3 3 -1.</_>
+                <_>12 5 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.6635019565001130e-003</threshold>
+            <left_val>0.4678094089031220</left_val>
+            <right_val>0.5816481709480286</right_val></_></_>
+        <_>
+          <!-- tree 36 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 12 6 6 -1.</_>
+                <_>2 14 6 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.3686188980937004e-003</threshold>
+            <left_val>0.5276734232902527</left_val>
+            <right_val>0.3446420133113861</right_val></_></_>
+        <_>
+          <!-- tree 37 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 13 6 3 -1.</_>
+                <_>7 14 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0127995302900672</threshold>
+            <left_val>0.4834679961204529</left_val>
+            <right_val>0.7472159266471863</right_val></_></_>
+        <_>
+          <!-- tree 38 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 14 6 3 -1.</_>
+                <_>6 15 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.3901201095432043e-003</threshold>
+            <left_val>0.4511859118938446</left_val>
+            <right_val>0.6401721239089966</right_val></_></_>
+        <_>
+          <!-- tree 39 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 15 5 3 -1.</_>
+                <_>14 16 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.7070779837667942e-003</threshold>
+            <left_val>0.5335658788681030</left_val>
+            <right_val>0.3555220961570740</right_val></_></_>
+        <_>
+          <!-- tree 40 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 4 3 3 -1.</_>
+                <_>5 5 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4819339849054813e-003</threshold>
+            <left_val>0.4250707030296326</left_val>
+            <right_val>0.5772724151611328</right_val></_></_>
+        <_>
+          <!-- tree 41 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 15 5 3 -1.</_>
+                <_>14 16 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.9995759986341000e-003</threshold>
+            <left_val>0.3003320097923279</left_val>
+            <right_val>0.5292900204658508</right_val></_></_>
+        <_>
+          <!-- tree 42 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 3 6 2 -1.</_>
+                <_>7 3 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0159390103071928</threshold>
+            <left_val>0.5067319273948669</left_val>
+            <right_val>0.1675581932067871</right_val></_></_>
+        <_>
+          <!-- tree 43 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 15 4 3 -1.</_>
+                <_>8 16 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.6377349905669689e-003</threshold>
+            <left_val>0.4795069992542267</left_val>
+            <right_val>0.7085601091384888</right_val></_></_>
+        <_>
+          <!-- tree 44 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 15 5 3 -1.</_>
+                <_>1 16 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.7334040068089962e-003</threshold>
+            <left_val>0.5133113265037537</left_val>
+            <right_val>0.2162470072507858</right_val></_></_>
+        <_>
+          <!-- tree 45 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 13 4 6 -1.</_>
+                <_>10 13 2 3 2.</_>
+                <_>8 16 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0128588099032640</threshold>
+            <left_val>0.1938841938972473</left_val>
+            <right_val>0.5251371860504150</right_val></_></_>
+        <_>
+          <!-- tree 46 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 8 3 3 -1.</_>
+                <_>8 8 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.2270800117403269e-004</threshold>
+            <left_val>0.5686538219451904</left_val>
+            <right_val>0.4197868108749390</right_val></_></_>
+        <_>
+          <!-- tree 47 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 0 5 4 -1.</_>
+                <_>12 2 5 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.2651681471616030e-004</threshold>
+            <left_val>0.4224168956279755</left_val>
+            <right_val>0.5429695844650269</right_val></_></_>
+        <_>
+          <!-- tree 48 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 20 2 -1.</_>
+                <_>0 2 10 1 2.</_>
+                <_>10 3 10 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0110750999301672</threshold>
+            <left_val>0.5113775134086609</left_val>
+            <right_val>0.2514517903327942</right_val></_></_>
+        <_>
+          <!-- tree 49 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 0 18 4 -1.</_>
+                <_>7 0 6 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0367282517254353</threshold>
+            <left_val>0.7194662094116211</left_val>
+            <right_val>0.4849618971347809</right_val></_></_>
+        <_>
+          <!-- tree 50 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 3 6 1 -1.</_>
+                <_>6 3 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.8207109426148236e-004</threshold>
+            <left_val>0.3840261995792389</left_val>
+            <right_val>0.5394446253776550</right_val></_></_>
+        <_>
+          <!-- tree 51 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 18 13 2 -1.</_>
+                <_>4 19 13 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.7489690110087395e-003</threshold>
+            <left_val>0.5937088727951050</left_val>
+            <right_val>0.4569182097911835</right_val></_></_>
+        <_>
+          <!-- tree 52 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 10 3 6 -1.</_>
+                <_>2 12 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0100475195795298</threshold>
+            <left_val>0.5138576030731201</left_val>
+            <right_val>0.2802298069000244</right_val></_></_>
+        <_>
+          <!-- tree 53 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 12 6 8 -1.</_>
+                <_>17 12 3 4 2.</_>
+                <_>14 16 3 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.1497840583324432e-003</threshold>
+            <left_val>0.6090037226676941</left_val>
+            <right_val>0.4636121094226837</right_val></_></_>
+        <_>
+          <!-- tree 54 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 13 10 6 -1.</_>
+                <_>4 13 5 3 2.</_>
+                <_>9 16 5 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.8833888508379459e-003</threshold>
+            <left_val>0.3458611071109772</left_val>
+            <right_val>0.5254660248756409</right_val></_></_>
+        <_>
+          <!-- tree 55 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 12 1 2 -1.</_>
+                <_>14 13 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.4039360394235700e-005</threshold>
+            <left_val>0.5693104267120361</left_val>
+            <right_val>0.4082083106040955</right_val></_></_>
+        <_>
+          <!-- tree 56 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 13 4 3 -1.</_>
+                <_>8 14 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5498419525101781e-003</threshold>
+            <left_val>0.4350537061691284</left_val>
+            <right_val>0.5806517004966736</right_val></_></_>
+        <_>
+          <!-- tree 57 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 12 2 2 -1.</_>
+                <_>14 13 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.7841499112546444e-003</threshold>
+            <left_val>0.1468873023986816</left_val>
+            <right_val>0.5182775259017944</right_val></_></_>
+        <_>
+          <!-- tree 58 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 12 2 2 -1.</_>
+                <_>4 13 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.1705629478674382e-004</threshold>
+            <left_val>0.5293524265289307</left_val>
+            <right_val>0.3456174135208130</right_val></_></_>
+        <_>
+          <!-- tree 59 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 12 9 2 -1.</_>
+                <_>8 13 9 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.1198898795992136e-004</threshold>
+            <left_val>0.4652450978755951</left_val>
+            <right_val>0.5942413806915283</right_val></_></_>
+        <_>
+          <!-- tree 60 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 14 2 3 -1.</_>
+                <_>9 15 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.4507530294358730e-003</threshold>
+            <left_val>0.4653508961200714</left_val>
+            <right_val>0.7024846076965332</right_val></_></_>
+        <_>
+          <!-- tree 61 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 10 3 6 -1.</_>
+                <_>11 13 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.5818689027801156e-004</threshold>
+            <left_val>0.5497295260429382</left_val>
+            <right_val>0.3768967092037201</right_val></_></_>
+        <_>
+          <!-- tree 62 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 6 9 12 -1.</_>
+                <_>5 12 9 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0174425393342972</threshold>
+            <left_val>0.3919087946414948</left_val>
+            <right_val>0.5457497835159302</right_val></_></_>
+        <_>
+          <!-- tree 63 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 10 3 6 -1.</_>
+                <_>11 13 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0453435294330120</threshold>
+            <left_val>0.1631357073783875</left_val>
+            <right_val>0.5154908895492554</right_val></_></_>
+        <_>
+          <!-- tree 64 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 10 3 6 -1.</_>
+                <_>6 13 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.9190689781680703e-003</threshold>
+            <left_val>0.5145897865295410</left_val>
+            <right_val>0.2791895866394043</right_val></_></_>
+        <_>
+          <!-- tree 65 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 4 11 3 -1.</_>
+                <_>5 5 11 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.0177869163453579e-003</threshold>
+            <left_val>0.6517636179924011</left_val>
+            <right_val>0.4756332933902741</right_val></_></_>
+        <_>
+          <!-- tree 66 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 1 5 10 -1.</_>
+                <_>7 6 5 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.0720738470554352e-003</threshold>
+            <left_val>0.5514652729034424</left_val>
+            <right_val>0.4092685878276825</right_val></_></_>
+        <_>
+          <!-- tree 67 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 8 18 2 -1.</_>
+                <_>2 9 18 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.9855059003457427e-004</threshold>
+            <left_val>0.3165240883827210</left_val>
+            <right_val>0.5285550951957703</right_val></_></_>
+        <_>
+          <!-- tree 68 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 17 5 3 -1.</_>
+                <_>7 18 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.5418570302426815e-003</threshold>
+            <left_val>0.6853377819061279</left_val>
+            <right_val>0.4652808904647827</right_val></_></_>
+        <_>
+          <!-- tree 69 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 9 12 1 -1.</_>
+                <_>9 9 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.4845089539885521e-003</threshold>
+            <left_val>0.5484588146209717</left_val>
+            <right_val>0.4502759873867035</right_val></_></_>
+        <_>
+          <!-- tree 70 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 14 6 6 -1.</_>
+                <_>0 14 3 3 2.</_>
+                <_>3 17 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0136967804282904</threshold>
+            <left_val>0.6395779848098755</left_val>
+            <right_val>0.4572555124759674</right_val></_></_>
+        <_>
+          <!-- tree 71 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 9 12 1 -1.</_>
+                <_>9 9 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0173471402376890</threshold>
+            <left_val>0.2751072943210602</left_val>
+            <right_val>0.5181614756584168</right_val></_></_>
+        <_>
+          <!-- tree 72 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 9 12 1 -1.</_>
+                <_>7 9 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.0885428898036480e-003</threshold>
+            <left_val>0.3325636088848114</left_val>
+            <right_val>0.5194984078407288</right_val></_></_>
+        <_>
+          <!-- tree 73 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 10 6 7 -1.</_>
+                <_>14 10 3 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.4687901437282562e-003</threshold>
+            <left_val>0.5942280888557434</left_val>
+            <right_val>0.4851819872856140</right_val></_></_>
+        <_>
+          <!-- tree 74 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 0 16 2 -1.</_>
+                <_>1 1 16 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.7084840219467878e-003</threshold>
+            <left_val>0.4167110919952393</left_val>
+            <right_val>0.5519806146621704</right_val></_></_>
+        <_>
+          <!-- tree 75 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 9 10 9 -1.</_>
+                <_>10 12 10 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.4809094443917274e-003</threshold>
+            <left_val>0.5433894991874695</left_val>
+            <right_val>0.4208514988422394</right_val></_></_>
+        <_>
+          <!-- tree 76 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 1 10 2 -1.</_>
+                <_>5 1 5 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.7389650717377663e-003</threshold>
+            <left_val>0.6407189965248108</left_val>
+            <right_val>0.4560655057430267</right_val></_></_>
+        <_>
+          <!-- tree 77 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>17 3 2 3 -1.</_>
+                <_>17 4 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.5761050209403038e-003</threshold>
+            <left_val>0.5214555263519287</left_val>
+            <right_val>0.2258227020502091</right_val></_></_>
+        <_>
+          <!-- tree 78 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 3 2 3 -1.</_>
+                <_>1 4 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.1690549328923225e-003</threshold>
+            <left_val>0.3151527941226959</left_val>
+            <right_val>0.5156704783439636</right_val></_></_>
+        <_>
+          <!-- tree 79 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 3 6 -1.</_>
+                <_>10 7 1 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0146601703017950</threshold>
+            <left_val>0.4870837032794952</left_val>
+            <right_val>0.6689941287040710</right_val></_></_>
+        <_>
+          <!-- tree 80 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 5 4 3 -1.</_>
+                <_>8 5 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.7231999663636088e-004</threshold>
+            <left_val>0.3569748997688294</left_val>
+            <right_val>0.5251078009605408</right_val></_></_>
+        <_>
+          <!-- tree 81 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 5 6 6 -1.</_>
+                <_>9 5 2 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0218037609010935</threshold>
+            <left_val>0.8825920820236206</left_val>
+            <right_val>0.4966329932212830</right_val></_></_>
+        <_>
+          <!-- tree 82 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 4 12 12 -1.</_>
+                <_>3 4 6 6 2.</_>
+                <_>9 10 6 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0947361066937447</threshold>
+            <left_val>0.1446162015199661</left_val>
+            <right_val>0.5061113834381104</right_val></_></_>
+        <_>
+          <!-- tree 83 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 2 6 15 -1.</_>
+                <_>11 2 2 15 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.5825551971793175e-003</threshold>
+            <left_val>0.5396478772163391</left_val>
+            <right_val>0.4238066077232361</right_val></_></_>
+        <_>
+          <!-- tree 84 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 2 6 17 -1.</_>
+                <_>4 2 2 17 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.9517090404406190e-003</threshold>
+            <left_val>0.4170410931110382</left_val>
+            <right_val>0.5497786998748779</right_val></_></_>
+        <_>
+          <!-- tree 85 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 10 6 7 -1.</_>
+                <_>14 10 3 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0121499001979828</threshold>
+            <left_val>0.4698367118835449</left_val>
+            <right_val>0.5664274096488953</right_val></_></_>
+        <_>
+          <!-- tree 86 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 10 6 7 -1.</_>
+                <_>3 10 3 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.5169620104134083e-003</threshold>
+            <left_val>0.6267772912979126</left_val>
+            <right_val>0.4463135898113251</right_val></_></_>
+        <_>
+          <!-- tree 87 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 2 6 15 -1.</_>
+                <_>11 2 2 15 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0716679096221924</threshold>
+            <left_val>0.3097011148929596</left_val>
+            <right_val>0.5221003293991089</right_val></_></_>
+        <_>
+          <!-- tree 88 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 2 6 15 -1.</_>
+                <_>7 2 2 15 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0882924199104309</threshold>
+            <left_val>0.0811238884925842</left_val>
+            <right_val>0.5006365180015564</right_val></_></_>
+        <_>
+          <!-- tree 89 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>17 9 3 6 -1.</_>
+                <_>17 11 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0310630798339844</threshold>
+            <left_val>0.5155503749847412</left_val>
+            <right_val>0.1282255947589874</right_val></_></_>
+        <_>
+          <!-- tree 90 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 7 6 6 -1.</_>
+                <_>8 7 2 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0466218404471874</threshold>
+            <left_val>0.4699777960777283</left_val>
+            <right_val>0.7363960742950440</right_val></_></_>
+        <_>
+          <!-- tree 91 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 10 18 6 -1.</_>
+                <_>10 10 9 3 2.</_>
+                <_>1 13 9 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0121894897893071</threshold>
+            <left_val>0.3920530080795288</left_val>
+            <right_val>0.5518996715545654</right_val></_></_>
+        <_>
+          <!-- tree 92 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 9 10 9 -1.</_>
+                <_>0 12 10 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0130161102861166</threshold>
+            <left_val>0.5260658264160156</left_val>
+            <right_val>0.3685136139392853</right_val></_></_>
+        <_>
+          <!-- tree 93 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 15 4 3 -1.</_>
+                <_>8 16 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.4952899441123009e-003</threshold>
+            <left_val>0.6339294910430908</left_val>
+            <right_val>0.4716280996799469</right_val></_></_>
+        <_>
+          <!-- tree 94 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 12 3 4 -1.</_>
+                <_>5 14 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.4015039748046547e-005</threshold>
+            <left_val>0.5333027243614197</left_val>
+            <right_val>0.3776184916496277</right_val></_></_>
+        <_>
+          <!-- tree 95 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 3 16 12 -1.</_>
+                <_>3 9 16 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.1096649020910263</threshold>
+            <left_val>0.1765342056751251</left_val>
+            <right_val>0.5198346972465515</right_val></_></_>
+        <_>
+          <!-- tree 96 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 1 12 12 -1.</_>
+                <_>1 1 6 6 2.</_>
+                <_>7 7 6 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.0279558207839727e-004</threshold>
+            <left_val>0.5324159860610962</left_val>
+            <right_val>0.3838908076286316</right_val></_></_>
+        <_>
+          <!-- tree 97 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 4 2 4 -1.</_>
+                <_>11 4 1 2 2.</_>
+                <_>10 6 1 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.1126641705632210e-004</threshold>
+            <left_val>0.4647929966449738</left_val>
+            <right_val>0.5755224227905273</right_val></_></_>
+        <_>
+          <!-- tree 98 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 9 10 2 -1.</_>
+                <_>0 9 5 1 2.</_>
+                <_>5 10 5 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.1250279862433672e-003</threshold>
+            <left_val>0.3236708939075470</left_val>
+            <right_val>0.5166770815849304</right_val></_></_>
+        <_>
+          <!-- tree 99 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 11 3 3 -1.</_>
+                <_>9 12 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.4144679773598909e-003</threshold>
+            <left_val>0.4787439107894898</left_val>
+            <right_val>0.6459717750549316</right_val></_></_>
+        <_>
+          <!-- tree 100 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 12 9 2 -1.</_>
+                <_>3 13 9 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.4391240226104856e-004</threshold>
+            <left_val>0.4409308135509491</left_val>
+            <right_val>0.6010255813598633</right_val></_></_>
+        <_>
+          <!-- tree 101 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 9 2 2 -1.</_>
+                <_>9 10 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.2611189342569560e-004</threshold>
+            <left_val>0.4038113951683044</left_val>
+            <right_val>0.5493255853652954</right_val></_></_></trees>
+      <stage_threshold>50.1697311401367190</stage_threshold>
+      <parent>12</parent>
+      <next>-1</next></_>
+    <_>
+      <!-- stage 14 -->
+      <trees>
+        <_>
+          <!-- tree 0 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 4 13 6 -1.</_>
+                <_>3 6 13 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0469012893736362</threshold>
+            <left_val>0.6600171923637390</left_val>
+            <right_val>0.3743801116943359</right_val></_></_>
+        <_>
+          <!-- tree 1 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 6 4 -1.</_>
+                <_>12 7 3 2 2.</_>
+                <_>9 9 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.4568349579349160e-003</threshold>
+            <left_val>0.5783991217613220</left_val>
+            <right_val>0.3437797129154205</right_val></_></_>
+        <_>
+          <!-- tree 2 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 0 6 8 -1.</_>
+                <_>4 0 3 8 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.5598369799554348e-003</threshold>
+            <left_val>0.3622266948223114</left_val>
+            <right_val>0.5908216238021851</right_val></_></_>
+        <_>
+          <!-- tree 3 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 2 12 -1.</_>
+                <_>9 11 2 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.3170487303286791e-004</threshold>
+            <left_val>0.5500419139862061</left_val>
+            <right_val>0.2873558104038239</right_val></_></_>
+        <_>
+          <!-- tree 4 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 4 3 10 -1.</_>
+                <_>4 9 3 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.3318009441718459e-003</threshold>
+            <left_val>0.2673169970512390</left_val>
+            <right_val>0.5431019067764282</right_val></_></_>
+        <_>
+          <!-- tree 5 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 17 8 3 -1.</_>
+                <_>6 18 8 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.4347059661522508e-004</threshold>
+            <left_val>0.3855027854442596</left_val>
+            <right_val>0.5741388797760010</right_val></_></_>
+        <_>
+          <!-- tree 6 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 5 10 6 -1.</_>
+                <_>0 7 10 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.0512469820678234e-003</threshold>
+            <left_val>0.5503209829330444</left_val>
+            <right_val>0.3462845087051392</right_val></_></_>
+        <_>
+          <!-- tree 7 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 2 3 2 -1.</_>
+                <_>13 3 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.8657199153676629e-004</threshold>
+            <left_val>0.3291221857070923</left_val>
+            <right_val>0.5429509282112122</right_val></_></_>
+        <_>
+          <!-- tree 8 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 5 4 5 -1.</_>
+                <_>9 5 2 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4668200165033340e-003</threshold>
+            <left_val>0.3588382005691528</left_val>
+            <right_val>0.5351811051368713</right_val></_></_>
+        <_>
+          <!-- tree 9 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 14 3 6 -1.</_>
+                <_>12 16 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.2021870720200241e-004</threshold>
+            <left_val>0.4296841919422150</left_val>
+            <right_val>0.5700234174728394</right_val></_></_>
+        <_>
+          <!-- tree 10 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 11 8 2 -1.</_>
+                <_>1 12 8 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.4122188379988074e-004</threshold>
+            <left_val>0.5282164812088013</left_val>
+            <right_val>0.3366870880126953</right_val></_></_>
+        <_>
+          <!-- tree 11 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 13 6 3 -1.</_>
+                <_>7 14 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.8330298848450184e-003</threshold>
+            <left_val>0.4559567868709564</left_val>
+            <right_val>0.6257336139678955</right_val></_></_>
+        <_>
+          <!-- tree 12 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 5 3 6 -1.</_>
+                <_>0 7 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0154564399272203</threshold>
+            <left_val>0.2350116968154907</left_val>
+            <right_val>0.5129452943801880</right_val></_></_>
+        <_>
+          <!-- tree 13 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 2 3 2 -1.</_>
+                <_>13 3 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.6796779129654169e-003</threshold>
+            <left_val>0.5329415202140808</left_val>
+            <right_val>0.4155062139034271</right_val></_></_>
+        <_>
+          <!-- tree 14 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 14 4 6 -1.</_>
+                <_>4 14 2 3 2.</_>
+                <_>6 17 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.8296569362282753e-003</threshold>
+            <left_val>0.4273087978363037</left_val>
+            <right_val>0.5804538130760193</right_val></_></_>
+        <_>
+          <!-- tree 15 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 2 3 2 -1.</_>
+                <_>13 3 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.9444249123334885e-003</threshold>
+            <left_val>0.2912611961364746</left_val>
+            <right_val>0.5202686190605164</right_val></_></_>
+        <_>
+          <!-- tree 16 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 2 4 12 -1.</_>
+                <_>8 6 4 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.7179559692740440e-003</threshold>
+            <left_val>0.5307688117027283</left_val>
+            <right_val>0.3585677146911621</right_val></_></_>
+        <_>
+          <!-- tree 17 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 0 6 8 -1.</_>
+                <_>17 0 3 4 2.</_>
+                <_>14 4 3 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.9077627956867218e-003</threshold>
+            <left_val>0.4703775048255920</left_val>
+            <right_val>0.5941585898399353</right_val></_></_>
+        <_>
+          <!-- tree 18 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 17 3 2 -1.</_>
+                <_>8 17 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.2240349575877190e-003</threshold>
+            <left_val>0.2141567021608353</left_val>
+            <right_val>0.5088796019554138</right_val></_></_>
+        <_>
+          <!-- tree 19 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 12 4 2 -1.</_>
+                <_>8 13 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.0725888684391975e-003</threshold>
+            <left_val>0.4766413867473602</left_val>
+            <right_val>0.6841061115264893</right_val></_></_>
+        <_>
+          <!-- tree 20 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 0 8 12 -1.</_>
+                <_>6 0 4 6 2.</_>
+                <_>10 6 4 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0101495301350951</threshold>
+            <left_val>0.5360798835754395</left_val>
+            <right_val>0.3748497068881989</right_val></_></_>
+        <_>
+          <!-- tree 21 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 0 2 10 -1.</_>
+                <_>15 0 1 5 2.</_>
+                <_>14 5 1 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.8864999583456665e-004</threshold>
+            <left_val>0.5720130205154419</left_val>
+            <right_val>0.3853805065155029</right_val></_></_>
+        <_>
+          <!-- tree 22 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 3 8 6 -1.</_>
+                <_>5 3 4 3 2.</_>
+                <_>9 6 4 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.8864358104765415e-003</threshold>
+            <left_val>0.3693122863769531</left_val>
+            <right_val>0.5340958833694458</right_val></_></_>
+        <_>
+          <!-- tree 23 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 0 6 10 -1.</_>
+                <_>17 0 3 5 2.</_>
+                <_>14 5 3 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0261584799736738</threshold>
+            <left_val>0.4962374866008759</left_val>
+            <right_val>0.6059989929199219</right_val></_></_>
+        <_>
+          <!-- tree 24 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 14 1 2 -1.</_>
+                <_>9 15 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.8560759751126170e-004</threshold>
+            <left_val>0.4438945949077606</left_val>
+            <right_val>0.6012468934059143</right_val></_></_>
+        <_>
+          <!-- tree 25 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 10 4 3 -1.</_>
+                <_>15 11 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0112687097862363</threshold>
+            <left_val>0.5244250297546387</left_val>
+            <right_val>0.1840388029813767</right_val></_></_>
+        <_>
+          <!-- tree 26 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 2 3 -1.</_>
+                <_>8 15 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.8114619199186563e-003</threshold>
+            <left_val>0.6060283780097961</left_val>
+            <right_val>0.4409897029399872</right_val></_></_>
+        <_>
+          <!-- tree 27 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 13 14 4 -1.</_>
+                <_>10 13 7 2 2.</_>
+                <_>3 15 7 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.6112729944288731e-003</threshold>
+            <left_val>0.3891170918941498</left_val>
+            <right_val>0.5589237213134766</right_val></_></_>
+        <_>
+          <!-- tree 28 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 10 4 3 -1.</_>
+                <_>1 11 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.5680093616247177e-003</threshold>
+            <left_val>0.5069345831871033</left_val>
+            <right_val>0.2062619030475617</right_val></_></_>
+        <_>
+          <!-- tree 29 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 11 6 1 -1.</_>
+                <_>11 11 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.8172779022715986e-004</threshold>
+            <left_val>0.5882201790809631</left_val>
+            <right_val>0.4192610979080200</right_val></_></_>
+        <_>
+          <!-- tree 30 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 11 6 1 -1.</_>
+                <_>7 11 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.7680290329735726e-004</threshold>
+            <left_val>0.5533605813980103</left_val>
+            <right_val>0.4003368914127350</right_val></_></_>
+        <_>
+          <!-- tree 31 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 5 16 15 -1.</_>
+                <_>3 10 16 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.5112537704408169e-003</threshold>
+            <left_val>0.3310146927833557</left_val>
+            <right_val>0.5444191098213196</right_val></_></_>
+        <_>
+          <!-- tree 32 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 12 4 2 -1.</_>
+                <_>8 12 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.5948683186434209e-005</threshold>
+            <left_val>0.5433831810951233</left_val>
+            <right_val>0.3944905996322632</right_val></_></_>
+        <_>
+          <!-- tree 33 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 4 12 10 -1.</_>
+                <_>10 4 6 5 2.</_>
+                <_>4 9 6 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.9939051754772663e-003</threshold>
+            <left_val>0.5600358247756958</left_val>
+            <right_val>0.4192714095115662</right_val></_></_>
+        <_>
+          <!-- tree 34 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 6 3 4 -1.</_>
+                <_>9 6 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.6744439750909805e-003</threshold>
+            <left_val>0.6685466766357422</left_val>
+            <right_val>0.4604960978031158</right_val></_></_>
+        <_>
+          <!-- tree 35 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 12 4 8 -1.</_>
+                <_>10 12 2 4 2.</_>
+                <_>8 16 2 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0115898502990603</threshold>
+            <left_val>0.5357121229171753</left_val>
+            <right_val>0.2926830053329468</right_val></_></_>
+        <_>
+          <!-- tree 36 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 4 3 -1.</_>
+                <_>8 15 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0130078401416540</threshold>
+            <left_val>0.4679817855358124</left_val>
+            <right_val>0.7307463288307190</right_val></_></_>
+        <_>
+          <!-- tree 37 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 2 3 2 -1.</_>
+                <_>13 2 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.1008579749614000e-003</threshold>
+            <left_val>0.3937501013278961</left_val>
+            <right_val>0.5415065288543701</right_val></_></_>
+        <_>
+          <!-- tree 38 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 15 3 2 -1.</_>
+                <_>8 16 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.0472649056464434e-004</threshold>
+            <left_val>0.4242376089096069</left_val>
+            <right_val>0.5604041218757629</right_val></_></_>
+        <_>
+          <!-- tree 39 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 0 9 14 -1.</_>
+                <_>9 0 3 14 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0144948400557041</threshold>
+            <left_val>0.3631210029125214</left_val>
+            <right_val>0.5293182730674744</right_val></_></_>
+        <_>
+          <!-- tree 40 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 6 2 3 -1.</_>
+                <_>10 6 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.3056948818266392e-003</threshold>
+            <left_val>0.6860452294349670</left_val>
+            <right_val>0.4621821045875549</right_val></_></_>
+        <_>
+          <!-- tree 41 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 8 2 3 -1.</_>
+                <_>10 9 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.1829127157106996e-004</threshold>
+            <left_val>0.3944096863269806</left_val>
+            <right_val>0.5420439243316650</right_val></_></_>
+        <_>
+          <!-- tree 42 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 9 4 6 -1.</_>
+                <_>0 11 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0190775208175182</threshold>
+            <left_val>0.1962621957063675</left_val>
+            <right_val>0.5037891864776611</right_val></_></_>
+        <_>
+          <!-- tree 43 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 0 8 2 -1.</_>
+                <_>6 1 8 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.5549470339901745e-004</threshold>
+            <left_val>0.4086259007453919</left_val>
+            <right_val>0.5613973140716553</right_val></_></_>
+        <_>
+          <!-- tree 44 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 14 7 3 -1.</_>
+                <_>6 15 7 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.9679730758070946e-003</threshold>
+            <left_val>0.4489121139049530</left_val>
+            <right_val>0.5926123261451721</right_val></_></_>
+        <_>
+          <!-- tree 45 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 10 8 9 -1.</_>
+                <_>8 13 8 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.9189141504466534e-003</threshold>
+            <left_val>0.5335925817489624</left_val>
+            <right_val>0.3728385865688324</right_val></_></_>
+        <_>
+          <!-- tree 46 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 2 3 2 -1.</_>
+                <_>6 2 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.9872779268771410e-003</threshold>
+            <left_val>0.5111321210861206</left_val>
+            <right_val>0.2975643873214722</right_val></_></_>
+        <_>
+          <!-- tree 47 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 1 6 8 -1.</_>
+                <_>17 1 3 4 2.</_>
+                <_>14 5 3 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.2264618463814259e-003</threshold>
+            <left_val>0.5541489720344544</left_val>
+            <right_val>0.4824537932872772</right_val></_></_>
+        <_>
+          <!-- tree 48 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 1 6 8 -1.</_>
+                <_>0 1 3 4 2.</_>
+                <_>3 5 3 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0133533002808690</threshold>
+            <left_val>0.4586423933506012</left_val>
+            <right_val>0.6414797902107239</right_val></_></_>
+        <_>
+          <!-- tree 49 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 2 18 6 -1.</_>
+                <_>10 2 9 3 2.</_>
+                <_>1 5 9 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0335052385926247</threshold>
+            <left_val>0.5392425060272217</left_val>
+            <right_val>0.3429994881153107</right_val></_></_>
+        <_>
+          <!-- tree 50 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 3 2 1 -1.</_>
+                <_>10 3 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.5294460356235504e-003</threshold>
+            <left_val>0.1703713983297348</left_val>
+            <right_val>0.5013315081596375</right_val></_></_>
+        <_>
+          <!-- tree 51 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 2 4 6 -1.</_>
+                <_>15 2 2 3 2.</_>
+                <_>13 5 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.2801629491150379e-003</threshold>
+            <left_val>0.5305461883544922</left_val>
+            <right_val>0.4697405099868774</right_val></_></_>
+        <_>
+          <!-- tree 52 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 4 3 3 -1.</_>
+                <_>5 5 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.0687388069927692e-003</threshold>
+            <left_val>0.4615545868873596</left_val>
+            <right_val>0.6436504721641541</right_val></_></_>
+        <_>
+          <!-- tree 53 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 5 1 3 -1.</_>
+                <_>13 6 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.6880499040707946e-004</threshold>
+            <left_val>0.4833599030971527</left_val>
+            <right_val>0.6043894290924072</right_val></_></_>
+        <_>
+          <!-- tree 54 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 16 5 3 -1.</_>
+                <_>2 17 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.9647659286856651e-003</threshold>
+            <left_val>0.5187637209892273</left_val>
+            <right_val>0.3231816887855530</right_val></_></_>
+        <_>
+          <!-- tree 55 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 2 4 6 -1.</_>
+                <_>15 2 2 3 2.</_>
+                <_>13 5 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0220577307045460</threshold>
+            <left_val>0.4079256951808929</left_val>
+            <right_val>0.5200980901718140</right_val></_></_>
+        <_>
+          <!-- tree 56 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 2 4 6 -1.</_>
+                <_>3 2 2 3 2.</_>
+                <_>5 5 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.6906312713399529e-004</threshold>
+            <left_val>0.5331609249114990</left_val>
+            <right_val>0.3815600872039795</right_val></_></_>
+        <_>
+          <!-- tree 57 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 5 1 2 -1.</_>
+                <_>13 6 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.7009328631684184e-004</threshold>
+            <left_val>0.5655422210693359</left_val>
+            <right_val>0.4688901901245117</right_val></_></_>
+        <_>
+          <!-- tree 58 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 5 2 2 -1.</_>
+                <_>5 6 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.4284552829340100e-004</threshold>
+            <left_val>0.4534381031990051</left_val>
+            <right_val>0.6287400126457214</right_val></_></_>
+        <_>
+          <!-- tree 59 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 9 2 2 -1.</_>
+                <_>13 9 1 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.2227810695767403e-003</threshold>
+            <left_val>0.5350633263587952</left_val>
+            <right_val>0.3303655982017517</right_val></_></_>
+        <_>
+          <!-- tree 60 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 9 2 2 -1.</_>
+                <_>6 9 1 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.4130521602928638e-003</threshold>
+            <left_val>0.1113687008619309</left_val>
+            <right_val>0.5005434751510620</right_val></_></_>
+        <_>
+          <!-- tree 61 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 17 3 2 -1.</_>
+                <_>13 18 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.4520040167553816e-005</threshold>
+            <left_val>0.5628737807273865</left_val>
+            <right_val>0.4325133860111237</right_val></_></_>
+        <_>
+          <!-- tree 62 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 16 4 4 -1.</_>
+                <_>6 16 2 2 2.</_>
+                <_>8 18 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.3369169502984732e-004</threshold>
+            <left_val>0.4165835082530975</left_val>
+            <right_val>0.5447791218757629</right_val></_></_>
+        <_>
+          <!-- tree 63 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 16 2 3 -1.</_>
+                <_>9 17 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.2894547805190086e-003</threshold>
+            <left_val>0.4860391020774841</left_val>
+            <right_val>0.6778649091720581</right_val></_></_>
+        <_>
+          <!-- tree 64 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 13 9 6 -1.</_>
+                <_>0 15 9 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.9103150852024555e-003</threshold>
+            <left_val>0.5262305140495300</left_val>
+            <right_val>0.3612113893032074</right_val></_></_>
+        <_>
+          <!-- tree 65 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 14 2 6 -1.</_>
+                <_>9 17 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0129005396738648</threshold>
+            <left_val>0.5319377183914185</left_val>
+            <right_val>0.3250288069248200</right_val></_></_>
+        <_>
+          <!-- tree 66 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 15 2 3 -1.</_>
+                <_>9 16 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.6982979401946068e-003</threshold>
+            <left_val>0.4618245065212250</left_val>
+            <right_val>0.6665925979614258</right_val></_></_>
+        <_>
+          <!-- tree 67 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 10 18 6 -1.</_>
+                <_>1 12 18 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0104398597031832</threshold>
+            <left_val>0.5505670905113220</left_val>
+            <right_val>0.3883604109287262</right_val></_></_>
+        <_>
+          <!-- tree 68 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 11 4 2 -1.</_>
+                <_>8 12 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.0443191062659025e-003</threshold>
+            <left_val>0.4697853028774262</left_val>
+            <right_val>0.7301844954490662</right_val></_></_>
+        <_>
+          <!-- tree 69 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 9 6 2 -1.</_>
+                <_>7 10 6 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.1593751888722181e-004</threshold>
+            <left_val>0.3830839097499847</left_val>
+            <right_val>0.5464984178543091</right_val></_></_>
+        <_>
+          <!-- tree 70 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 8 2 3 -1.</_>
+                <_>8 9 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.4247159492224455e-003</threshold>
+            <left_val>0.2566300034523010</left_val>
+            <right_val>0.5089530944824219</right_val></_></_>
+        <_>
+          <!-- tree 71 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>17 5 3 4 -1.</_>
+                <_>18 5 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.3538565561175346e-003</threshold>
+            <left_val>0.6469966173171997</left_val>
+            <right_val>0.4940795898437500</right_val></_></_>
+        <_>
+          <!-- tree 72 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 19 18 1 -1.</_>
+                <_>7 19 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0523389987647533</threshold>
+            <left_val>0.4745982885360718</left_val>
+            <right_val>0.7878770828247070</right_val></_></_>
+        <_>
+          <!-- tree 73 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 0 3 2 -1.</_>
+                <_>10 0 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.5765620414167643e-003</threshold>
+            <left_val>0.5306664705276489</left_val>
+            <right_val>0.2748498022556305</right_val></_></_>
+        <_>
+          <!-- tree 74 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 8 1 6 -1.</_>
+                <_>1 10 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.1555317845195532e-004</threshold>
+            <left_val>0.5413125753402710</left_val>
+            <right_val>0.4041908979415894</right_val></_></_>
+        <_>
+          <!-- tree 75 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 17 8 3 -1.</_>
+                <_>12 17 4 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0105166798457503</threshold>
+            <left_val>0.6158512234687805</left_val>
+            <right_val>0.4815283119678497</right_val></_></_>
+        <_>
+          <!-- tree 76 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 5 3 4 -1.</_>
+                <_>1 5 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.7347927726805210e-003</threshold>
+            <left_val>0.4695805907249451</left_val>
+            <right_val>0.7028980851173401</right_val></_></_>
+        <_>
+          <!-- tree 77 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 2 3 -1.</_>
+                <_>9 8 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.3226778507232666e-003</threshold>
+            <left_val>0.2849566042423248</left_val>
+            <right_val>0.5304684042930603</right_val></_></_>
+        <_>
+          <!-- tree 78 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 11 2 2 -1.</_>
+                <_>7 11 1 1 2.</_>
+                <_>8 12 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.5534399319440126e-003</threshold>
+            <left_val>0.7056984901428223</left_val>
+            <right_val>0.4688892066478729</right_val></_></_>
+        <_>
+          <!-- tree 79 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 3 2 5 -1.</_>
+                <_>11 3 1 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.0268510231981054e-004</threshold>
+            <left_val>0.3902932107448578</left_val>
+            <right_val>0.5573464035987854</right_val></_></_>
+        <_>
+          <!-- tree 80 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 3 2 5 -1.</_>
+                <_>8 3 1 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.1395188570022583e-006</threshold>
+            <left_val>0.3684231936931610</left_val>
+            <right_val>0.5263987779617310</right_val></_></_>
+        <_>
+          <!-- tree 81 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 13 2 3 -1.</_>
+                <_>15 14 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.6711989883333445e-003</threshold>
+            <left_val>0.3849175870418549</left_val>
+            <right_val>0.5387271046638489</right_val></_></_>
+        <_>
+          <!-- tree 82 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 6 2 3 -1.</_>
+                <_>5 7 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.9260449595749378e-003</threshold>
+            <left_val>0.4729771912097931</left_val>
+            <right_val>0.7447251081466675</right_val></_></_>
+        <_>
+          <!-- tree 83 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 19 15 1 -1.</_>
+                <_>9 19 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.3908702209591866e-003</threshold>
+            <left_val>0.4809181094169617</left_val>
+            <right_val>0.5591921806335449</right_val></_></_>
+        <_>
+          <!-- tree 84 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 19 15 1 -1.</_>
+                <_>6 19 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0177936293184757</threshold>
+            <left_val>0.6903678178787231</left_val>
+            <right_val>0.4676927030086517</right_val></_></_>
+        <_>
+          <!-- tree 85 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 13 2 3 -1.</_>
+                <_>15 14 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.0469669252634048e-003</threshold>
+            <left_val>0.5370690226554871</left_val>
+            <right_val>0.3308162093162537</right_val></_></_>
+        <_>
+          <!-- tree 86 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 0 4 15 -1.</_>
+                <_>7 0 2 15 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0298914890736341</threshold>
+            <left_val>0.5139865279197693</left_val>
+            <right_val>0.3309059143066406</right_val></_></_>
+        <_>
+          <!-- tree 87 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 6 2 5 -1.</_>
+                <_>9 6 1 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5494900289922953e-003</threshold>
+            <left_val>0.4660237133502960</left_val>
+            <right_val>0.6078342795372009</right_val></_></_>
+        <_>
+          <!-- tree 88 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 2 7 -1.</_>
+                <_>10 5 1 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4956969534978271e-003</threshold>
+            <left_val>0.4404835999011993</left_val>
+            <right_val>0.5863919854164124</right_val></_></_>
+        <_>
+          <!-- tree 89 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 11 3 3 -1.</_>
+                <_>16 12 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.5885928021743894e-004</threshold>
+            <left_val>0.5435971021652222</left_val>
+            <right_val>0.4208523035049439</right_val></_></_>
+        <_>
+          <!-- tree 90 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 11 3 3 -1.</_>
+                <_>1 12 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.9643701640889049e-004</threshold>
+            <left_val>0.5370578169822693</left_val>
+            <right_val>0.4000622034072876</right_val></_></_>
+        <_>
+          <!-- tree 91 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 6 8 3 -1.</_>
+                <_>6 7 8 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.7280810754746199e-003</threshold>
+            <left_val>0.5659412741661072</left_val>
+            <right_val>0.4259642958641052</right_val></_></_>
+        <_>
+          <!-- tree 92 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 15 6 2 -1.</_>
+                <_>0 16 6 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.3026480339467525e-003</threshold>
+            <left_val>0.5161657929420471</left_val>
+            <right_val>0.3350869119167328</right_val></_></_>
+        <_>
+          <!-- tree 93 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 0 18 6 -1.</_>
+                <_>7 0 6 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.2515163123607636</threshold>
+            <left_val>0.4869661927223206</left_val>
+            <right_val>0.7147309780120850</right_val></_></_>
+        <_>
+          <!-- tree 94 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 0 3 4 -1.</_>
+                <_>7 0 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.6328022144734859e-003</threshold>
+            <left_val>0.2727448940277100</left_val>
+            <right_val>0.5083789825439453</right_val></_></_>
+        <_>
+          <!-- tree 95 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 10 4 10 -1.</_>
+                <_>16 10 2 5 2.</_>
+                <_>14 15 2 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0404344908893108</threshold>
+            <left_val>0.6851438879966736</left_val>
+            <right_val>0.5021767020225525</right_val></_></_>
+        <_>
+          <!-- tree 96 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 2 3 2 -1.</_>
+                <_>4 2 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4972220014897175e-005</threshold>
+            <left_val>0.4284465014934540</left_val>
+            <right_val>0.5522555112838745</right_val></_></_>
+        <_>
+          <!-- tree 97 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 2 2 2 -1.</_>
+                <_>11 3 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.4050309730228037e-004</threshold>
+            <left_val>0.4226118922233582</left_val>
+            <right_val>0.5390074849128723</right_val></_></_>
+        <_>
+          <!-- tree 98 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 10 4 10 -1.</_>
+                <_>2 10 2 5 2.</_>
+                <_>4 15 2 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0236578397452831</threshold>
+            <left_val>0.4744631946086884</left_val>
+            <right_val>0.7504366040229797</right_val></_></_>
+        <_>
+          <!-- tree 99 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 13 20 6 -1.</_>
+                <_>10 13 10 3 2.</_>
+                <_>0 16 10 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.1449104472994804e-003</threshold>
+            <left_val>0.4245058894157410</left_val>
+            <right_val>0.5538362860679627</right_val></_></_>
+        <_>
+          <!-- tree 100 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 5 2 15 -1.</_>
+                <_>1 5 1 15 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.6992130335420370e-003</threshold>
+            <left_val>0.5952357053756714</left_val>
+            <right_val>0.4529713094234467</right_val></_></_>
+        <_>
+          <!-- tree 101 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 7 18 4 -1.</_>
+                <_>10 7 9 2 2.</_>
+                <_>1 9 9 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.7718601785600185e-003</threshold>
+            <left_val>0.4137794077396393</left_val>
+            <right_val>0.5473399758338928</right_val></_></_>
+        <_>
+          <!-- tree 102 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 2 17 -1.</_>
+                <_>1 0 1 17 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.2669530957937241e-003</threshold>
+            <left_val>0.4484114944934845</left_val>
+            <right_val>0.5797994136810303</right_val></_></_>
+        <_>
+          <!-- tree 103 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 6 16 6 -1.</_>
+                <_>10 6 8 3 2.</_>
+                <_>2 9 8 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.7791989957913756e-003</threshold>
+            <left_val>0.5624858736991882</left_val>
+            <right_val>0.4432444870471954</right_val></_></_>
+        <_>
+          <!-- tree 104 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 1 3 -1.</_>
+                <_>8 15 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.6774770338088274e-003</threshold>
+            <left_val>0.4637751877307892</left_val>
+            <right_val>0.6364241838455200</right_val></_></_>
+        <_>
+          <!-- tree 105 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 15 4 2 -1.</_>
+                <_>8 16 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.1732629500329494e-003</threshold>
+            <left_val>0.4544503092765808</left_val>
+            <right_val>0.5914415717124939</right_val></_></_>
+        <_>
+          <!-- tree 106 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 2 8 2 -1.</_>
+                <_>5 2 4 1 2.</_>
+                <_>9 3 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.6998171173036098e-004</threshold>
+            <left_val>0.5334752798080444</left_val>
+            <right_val>0.3885917961597443</right_val></_></_>
+        <_>
+          <!-- tree 107 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 11 8 6 -1.</_>
+                <_>6 14 8 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.6378340600058436e-004</threshold>
+            <left_val>0.5398585200309753</left_val>
+            <right_val>0.3744941949844360</right_val></_></_>
+        <_>
+          <!-- tree 108 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 13 2 2 -1.</_>
+                <_>9 14 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5684569370932877e-004</threshold>
+            <left_val>0.4317873120307922</left_val>
+            <right_val>0.5614616274833679</right_val></_></_>
+        <_>
+          <!-- tree 109 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>18 4 2 6 -1.</_>
+                <_>18 6 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0215113703161478</threshold>
+            <left_val>0.1785925030708313</left_val>
+            <right_val>0.5185542702674866</right_val></_></_>
+        <_>
+          <!-- tree 110 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 12 2 2 -1.</_>
+                <_>9 13 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.3081369979772717e-004</threshold>
+            <left_val>0.4342499077320099</left_val>
+            <right_val>0.5682849884033203</right_val></_></_>
+        <_>
+          <!-- tree 111 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>18 4 2 6 -1.</_>
+                <_>18 6 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0219920407980680</threshold>
+            <left_val>0.5161716938018799</left_val>
+            <right_val>0.2379394024610519</right_val></_></_>
+        <_>
+          <!-- tree 112 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 13 1 3 -1.</_>
+                <_>9 14 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.0136500764638186e-004</threshold>
+            <left_val>0.5986763238906860</left_val>
+            <right_val>0.4466426968574524</right_val></_></_>
+        <_>
+          <!-- tree 113 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>18 4 2 6 -1.</_>
+                <_>18 6 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.2736099138855934e-003</threshold>
+            <left_val>0.4108217954635620</left_val>
+            <right_val>0.5251057147979736</right_val></_></_>
+        <_>
+          <!-- tree 114 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 4 2 6 -1.</_>
+                <_>0 6 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.6831789184361696e-003</threshold>
+            <left_val>0.5173814296722412</left_val>
+            <right_val>0.3397518098354340</right_val></_></_>
+        <_>
+          <!-- tree 115 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 12 3 3 -1.</_>
+                <_>9 13 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.9525681212544441e-003</threshold>
+            <left_val>0.6888983249664307</left_val>
+            <right_val>0.4845924079418182</right_val></_></_>
+        <_>
+          <!-- tree 116 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 13 2 3 -1.</_>
+                <_>3 14 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5382299898192286e-003</threshold>
+            <left_val>0.5178567171096802</left_val>
+            <right_val>0.3454113900661469</right_val></_></_>
+        <_>
+          <!-- tree 117 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 13 4 3 -1.</_>
+                <_>13 14 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0140435304492712</threshold>
+            <left_val>0.1678421050310135</left_val>
+            <right_val>0.5188667774200440</right_val></_></_>
+        <_>
+          <!-- tree 118 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 4 3 3 -1.</_>
+                <_>5 5 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4315890148282051e-003</threshold>
+            <left_val>0.4368256926536560</left_val>
+            <right_val>0.5655773878097534</right_val></_></_>
+        <_>
+          <!-- tree 119 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 2 10 6 -1.</_>
+                <_>5 4 10 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0340142287313938</threshold>
+            <left_val>0.7802296280860901</left_val>
+            <right_val>0.4959217011928558</right_val></_></_>
+        <_>
+          <!-- tree 120 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 13 4 3 -1.</_>
+                <_>3 14 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0120272999629378</threshold>
+            <left_val>0.1585101038217545</left_val>
+            <right_val>0.5032231807708740</right_val></_></_>
+        <_>
+          <!-- tree 121 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 7 15 5 -1.</_>
+                <_>8 7 5 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.1331661939620972</threshold>
+            <left_val>0.5163304805755615</left_val>
+            <right_val>0.2755128145217896</right_val></_></_>
+        <_>
+          <!-- tree 122 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 7 12 2 -1.</_>
+                <_>7 7 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5221949433907866e-003</threshold>
+            <left_val>0.3728317916393280</left_val>
+            <right_val>0.5214552283287048</right_val></_></_>
+        <_>
+          <!-- tree 123 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 3 3 9 -1.</_>
+                <_>11 3 1 9 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.3929271679371595e-004</threshold>
+            <left_val>0.5838379263877869</left_val>
+            <right_val>0.4511165022850037</right_val></_></_>
+        <_>
+          <!-- tree 124 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 6 4 6 -1.</_>
+                <_>10 6 2 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0277197398245335</threshold>
+            <left_val>0.4728286862373352</left_val>
+            <right_val>0.7331544756889343</right_val></_></_>
+        <_>
+          <!-- tree 125 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 4 3 -1.</_>
+                <_>9 8 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.1030150130391121e-003</threshold>
+            <left_val>0.5302202105522156</left_val>
+            <right_val>0.4101563096046448</right_val></_></_>
+        <_>
+          <!-- tree 126 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 9 4 9 -1.</_>
+                <_>2 9 2 9 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0778612196445465</threshold>
+            <left_val>0.4998334050178528</left_val>
+            <right_val>0.1272961944341660</right_val></_></_>
+        <_>
+          <!-- tree 127 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 13 3 5 -1.</_>
+                <_>10 13 1 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0158549398183823</threshold>
+            <left_val>0.0508333593606949</left_val>
+            <right_val>0.5165656208992004</right_val></_></_>
+        <_>
+          <!-- tree 128 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 7 6 3 -1.</_>
+                <_>9 7 2 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.9725300632417202e-003</threshold>
+            <left_val>0.6798133850097656</left_val>
+            <right_val>0.4684231877326965</right_val></_></_>
+        <_>
+          <!-- tree 129 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 3 5 -1.</_>
+                <_>10 7 1 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.7676506265997887e-004</threshold>
+            <left_val>0.6010771989822388</left_val>
+            <right_val>0.4788931906223297</right_val></_></_>
+        <_>
+          <!-- tree 130 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 8 2 -1.</_>
+                <_>9 7 4 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.4647710379213095e-003</threshold>
+            <left_val>0.3393397927284241</left_val>
+            <right_val>0.5220503807067871</right_val></_></_>
+        <_>
+          <!-- tree 131 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 9 12 2 -1.</_>
+                <_>9 9 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.7937700077891350e-003</threshold>
+            <left_val>0.4365136921405792</left_val>
+            <right_val>0.5239663124084473</right_val></_></_>
+        <_>
+          <!-- tree 132 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 6 10 3 -1.</_>
+                <_>10 6 5 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0326080210506916</threshold>
+            <left_val>0.5052723884582520</left_val>
+            <right_val>0.2425214946269989</right_val></_></_>
+        <_>
+          <!-- tree 133 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 12 3 1 -1.</_>
+                <_>11 12 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.8514421107247472e-004</threshold>
+            <left_val>0.5733973979949951</left_val>
+            <right_val>0.4758574068546295</right_val></_></_>
+        <_>
+          <!-- tree 134 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 1 11 15 -1.</_>
+                <_>0 6 11 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0296326000243425</threshold>
+            <left_val>0.3892289102077484</left_val>
+            <right_val>0.5263597965240479</right_val></_></_></trees>
+      <stage_threshold>66.6691207885742190</stage_threshold>
+      <parent>13</parent>
+      <next>-1</next></_>
+    <_>
+      <!-- stage 15 -->
+      <trees>
+        <_>
+          <!-- tree 0 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 0 18 6 -1.</_>
+                <_>7 0 6 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0465508513152599</threshold>
+            <left_val>0.3276950120925903</left_val>
+            <right_val>0.6240522861480713</right_val></_></_>
+        <_>
+          <!-- tree 1 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 7 6 1 -1.</_>
+                <_>9 7 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.9537127166986465e-003</threshold>
+            <left_val>0.4256485104560852</left_val>
+            <right_val>0.6942939162254334</right_val></_></_>
+        <_>
+          <!-- tree 2 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 16 6 4 -1.</_>
+                <_>5 16 3 2 2.</_>
+                <_>8 18 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.8221561377868056e-004</threshold>
+            <left_val>0.3711487054824829</left_val>
+            <right_val>0.5900732874870300</right_val></_></_>
+        <_>
+          <!-- tree 3 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 5 9 8 -1.</_>
+                <_>6 9 9 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.9348249770700932e-004</threshold>
+            <left_val>0.2041133940219879</left_val>
+            <right_val>0.5300545096397400</right_val></_></_>
+        <_>
+          <!-- tree 4 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 10 2 6 -1.</_>
+                <_>5 13 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.6710508973337710e-004</threshold>
+            <left_val>0.5416126251220703</left_val>
+            <right_val>0.3103179037570953</right_val></_></_>
+        <_>
+          <!-- tree 5 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 6 8 10 -1.</_>
+                <_>11 6 4 5 2.</_>
+                <_>7 11 4 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.7818060480058193e-003</threshold>
+            <left_val>0.5277832746505737</left_val>
+            <right_val>0.3467069864273071</right_val></_></_>
+        <_>
+          <!-- tree 6 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 6 8 10 -1.</_>
+                <_>5 6 4 5 2.</_>
+                <_>9 11 4 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.6779078547842801e-004</threshold>
+            <left_val>0.5308231115341187</left_val>
+            <right_val>0.3294492065906525</right_val></_></_>
+        <_>
+          <!-- tree 7 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 2 2 -1.</_>
+                <_>9 6 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.0335160772665404e-005</threshold>
+            <left_val>0.5773872733116150</left_val>
+            <right_val>0.3852097094058991</right_val></_></_>
+        <_>
+          <!-- tree 8 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 12 8 2 -1.</_>
+                <_>5 13 8 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.8038009814918041e-004</threshold>
+            <left_val>0.4317438900470734</left_val>
+            <right_val>0.6150057911872864</right_val></_></_>
+        <_>
+          <!-- tree 9 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 2 8 2 -1.</_>
+                <_>10 3 8 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.2553851380944252e-003</threshold>
+            <left_val>0.2933903932571411</left_val>
+            <right_val>0.5324292778968811</right_val></_></_>
+        <_>
+          <!-- tree 10 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 0 2 10 -1.</_>
+                <_>4 0 1 5 2.</_>
+                <_>5 5 1 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.4735610350035131e-004</threshold>
+            <left_val>0.5468844771385193</left_val>
+            <right_val>0.3843030035495758</right_val></_></_>
+        <_>
+          <!-- tree 11 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 10 2 2 -1.</_>
+                <_>9 11 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.4724259381182492e-004</threshold>
+            <left_val>0.4281542897224426</left_val>
+            <right_val>0.5755587220191956</right_val></_></_>
+        <_>
+          <!-- tree 12 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 8 15 3 -1.</_>
+                <_>2 9 15 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.1864770203828812e-003</threshold>
+            <left_val>0.3747301101684570</left_val>
+            <right_val>0.5471466183662415</right_val></_></_>
+        <_>
+          <!-- tree 13 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 13 4 3 -1.</_>
+                <_>8 14 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.3936580400913954e-003</threshold>
+            <left_val>0.4537783861160278</left_val>
+            <right_val>0.6111528873443604</right_val></_></_>
+        <_>
+          <!-- tree 14 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 2 3 2 -1.</_>
+                <_>8 2 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5390539774671197e-003</threshold>
+            <left_val>0.2971341907978058</left_val>
+            <right_val>0.5189538002014160</right_val></_></_>
+        <_>
+          <!-- tree 15 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 13 6 3 -1.</_>
+                <_>7 14 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.1968790143728256e-003</threshold>
+            <left_val>0.6699066758155823</left_val>
+            <right_val>0.4726476967334747</right_val></_></_>
+        <_>
+          <!-- tree 16 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 9 2 2 -1.</_>
+                <_>9 10 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.1499789222143590e-004</threshold>
+            <left_val>0.3384954035282135</left_val>
+            <right_val>0.5260317921638489</right_val></_></_>
+        <_>
+          <!-- tree 17 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>17 2 3 6 -1.</_>
+                <_>17 4 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.4359830208122730e-003</threshold>
+            <left_val>0.5399122238159180</left_val>
+            <right_val>0.3920140862464905</right_val></_></_>
+        <_>
+          <!-- tree 18 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 5 3 4 -1.</_>
+                <_>2 5 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.6606200262904167e-003</threshold>
+            <left_val>0.4482578039169312</left_val>
+            <right_val>0.6119617819786072</right_val></_></_>
+        <_>
+          <!-- tree 19 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 8 4 6 -1.</_>
+                <_>14 10 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5287200221791863e-003</threshold>
+            <left_val>0.3711237907409668</left_val>
+            <right_val>0.5340266227722168</right_val></_></_>
+        <_>
+          <!-- tree 20 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 4 3 8 -1.</_>
+                <_>2 4 1 8 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.7397250309586525e-003</threshold>
+            <left_val>0.6031088232994080</left_val>
+            <right_val>0.4455145001411438</right_val></_></_>
+        <_>
+          <!-- tree 21 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 13 4 6 -1.</_>
+                <_>8 16 4 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0148291299119592</threshold>
+            <left_val>0.2838754057884216</left_val>
+            <right_val>0.5341861844062805</right_val></_></_>
+        <_>
+          <!-- tree 22 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 14 2 2 -1.</_>
+                <_>3 15 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.2275557108223438e-004</threshold>
+            <left_val>0.5209547281265259</left_val>
+            <right_val>0.3361653983592987</right_val></_></_>
+        <_>
+          <!-- tree 23 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 8 4 6 -1.</_>
+                <_>14 10 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0835298076272011</threshold>
+            <left_val>0.5119969844818115</left_val>
+            <right_val>0.0811644494533539</right_val></_></_>
+        <_>
+          <!-- tree 24 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 8 4 6 -1.</_>
+                <_>2 10 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.5633148662745953e-004</threshold>
+            <left_val>0.3317120075225830</left_val>
+            <right_val>0.5189831256866455</right_val></_></_>
+        <_>
+          <!-- tree 25 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 14 1 6 -1.</_>
+                <_>10 17 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.8403859883546829e-003</threshold>
+            <left_val>0.5247598290443420</left_val>
+            <right_val>0.2334959059953690</right_val></_></_>
+        <_>
+          <!-- tree 26 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 5 3 6 -1.</_>
+                <_>8 5 1 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5953830443322659e-003</threshold>
+            <left_val>0.5750094056129456</left_val>
+            <right_val>0.4295622110366821</right_val></_></_>
+        <_>
+          <!-- tree 27 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 2 2 6 -1.</_>
+                <_>12 2 1 3 2.</_>
+                <_>11 5 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.4766020689858124e-005</threshold>
+            <left_val>0.4342445135116577</left_val>
+            <right_val>0.5564029216766357</right_val></_></_>
+        <_>
+          <!-- tree 28 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 6 6 5 -1.</_>
+                <_>8 6 2 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0298629105091095</threshold>
+            <left_val>0.4579147100448608</left_val>
+            <right_val>0.6579188108444214</right_val></_></_>
+        <_>
+          <!-- tree 29 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>17 1 3 6 -1.</_>
+                <_>17 3 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0113255903124809</threshold>
+            <left_val>0.5274311900138855</left_val>
+            <right_val>0.3673888146877289</right_val></_></_>
+        <_>
+          <!-- tree 30 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 3 5 -1.</_>
+                <_>9 7 1 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.7828645482659340e-003</threshold>
+            <left_val>0.7100368738174439</left_val>
+            <right_val>0.4642167091369629</right_val></_></_>
+        <_>
+          <!-- tree 31 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 18 3 2 -1.</_>
+                <_>10 18 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.3639959767460823e-003</threshold>
+            <left_val>0.5279216170310974</left_val>
+            <right_val>0.2705877125263214</right_val></_></_>
+        <_>
+          <!-- tree 32 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 18 3 2 -1.</_>
+                <_>9 18 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.1804728098213673e-003</threshold>
+            <left_val>0.5072525143623352</left_val>
+            <right_val>0.2449083030223846</right_val></_></_>
+        <_>
+          <!-- tree 33 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 3 5 2 -1.</_>
+                <_>12 4 5 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.5668511302210391e-004</threshold>
+            <left_val>0.4283105134963989</left_val>
+            <right_val>0.5548691153526306</right_val></_></_>
+        <_>
+          <!-- tree 34 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 1 5 12 -1.</_>
+                <_>7 7 5 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.7140368949621916e-003</threshold>
+            <left_val>0.5519387722015381</left_val>
+            <right_val>0.4103653132915497</right_val></_></_>
+        <_>
+          <!-- tree 35 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 0 18 4 -1.</_>
+                <_>7 0 6 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0253042895346880</threshold>
+            <left_val>0.6867002248764038</left_val>
+            <right_val>0.4869889020919800</right_val></_></_>
+        <_>
+          <!-- tree 36 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 2 2 2 -1.</_>
+                <_>4 3 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.4454080741852522e-004</threshold>
+            <left_val>0.3728874027729034</left_val>
+            <right_val>0.5287693142890930</right_val></_></_>
+        <_>
+          <!-- tree 37 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 14 4 2 -1.</_>
+                <_>13 14 2 1 2.</_>
+                <_>11 15 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.3935231668874621e-004</threshold>
+            <left_val>0.6060152053833008</left_val>
+            <right_val>0.4616062045097351</right_val></_></_>
+        <_>
+          <!-- tree 38 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 3 6 -1.</_>
+                <_>0 4 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0172800496220589</threshold>
+            <left_val>0.5049635767936707</left_val>
+            <right_val>0.1819823980331421</right_val></_></_>
+        <_>
+          <!-- tree 39 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 2 3 -1.</_>
+                <_>9 8 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.3595077954232693e-003</threshold>
+            <left_val>0.1631239950656891</left_val>
+            <right_val>0.5232778787612915</right_val></_></_>
+        <_>
+          <!-- tree 40 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 5 1 3 -1.</_>
+                <_>5 6 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.0298109846189618e-003</threshold>
+            <left_val>0.4463278055191040</left_val>
+            <right_val>0.6176549196243286</right_val></_></_>
+        <_>
+          <!-- tree 41 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 10 6 1 -1.</_>
+                <_>10 10 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.0117109632119536e-003</threshold>
+            <left_val>0.5473384857177734</left_val>
+            <right_val>0.4300698935985565</right_val></_></_>
+        <_>
+          <!-- tree 42 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 10 6 1 -1.</_>
+                <_>7 10 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0103088002651930</threshold>
+            <left_val>0.1166985034942627</left_val>
+            <right_val>0.5000867247581482</right_val></_></_>
+        <_>
+          <!-- tree 43 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 17 3 3 -1.</_>
+                <_>9 18 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.4682018235325813e-003</threshold>
+            <left_val>0.4769287109375000</left_val>
+            <right_val>0.6719213724136353</right_val></_></_>
+        <_>
+          <!-- tree 44 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 14 1 3 -1.</_>
+                <_>4 15 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.1696460731327534e-004</threshold>
+            <left_val>0.3471089899539948</left_val>
+            <right_val>0.5178164839744568</right_val></_></_>
+        <_>
+          <!-- tree 45 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 5 3 3 -1.</_>
+                <_>12 6 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.3922820109874010e-003</threshold>
+            <left_val>0.4785236120223999</left_val>
+            <right_val>0.6216310858726502</right_val></_></_>
+        <_>
+          <!-- tree 46 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 5 12 3 -1.</_>
+                <_>4 6 12 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.5573818758130074e-003</threshold>
+            <left_val>0.5814796090126038</left_val>
+            <right_val>0.4410085082054138</right_val></_></_>
+        <_>
+          <!-- tree 47 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 8 2 3 -1.</_>
+                <_>9 9 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.7024032361805439e-004</threshold>
+            <left_val>0.3878000080585480</left_val>
+            <right_val>0.5465722084045410</right_val></_></_>
+        <_>
+          <!-- tree 48 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 9 3 3 -1.</_>
+                <_>5 9 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.7125990539789200e-003</threshold>
+            <left_val>0.1660051047801971</left_val>
+            <right_val>0.4995836019515991</right_val></_></_>
+        <_>
+          <!-- tree 49 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 0 9 17 -1.</_>
+                <_>9 0 3 17 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0103063201531768</threshold>
+            <left_val>0.4093391001224518</left_val>
+            <right_val>0.5274233818054199</right_val></_></_>
+        <_>
+          <!-- tree 50 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 12 1 3 -1.</_>
+                <_>9 13 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.0940979011356831e-003</threshold>
+            <left_val>0.6206194758415222</left_val>
+            <right_val>0.4572280049324036</right_val></_></_>
+        <_>
+          <!-- tree 51 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 2 15 -1.</_>
+                <_>9 10 2 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.8099051713943481e-003</threshold>
+            <left_val>0.5567759275436401</left_val>
+            <right_val>0.4155600070953369</right_val></_></_>
+        <_>
+          <!-- tree 52 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 2 3 -1.</_>
+                <_>8 15 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.0746059706434608e-003</threshold>
+            <left_val>0.5638927817344666</left_val>
+            <right_val>0.4353024959564209</right_val></_></_>
+        <_>
+          <!-- tree 53 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 14 1 3 -1.</_>
+                <_>10 15 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.1550289820879698e-003</threshold>
+            <left_val>0.4826265871524811</left_val>
+            <right_val>0.6749758124351502</right_val></_></_>
+        <_>
+          <!-- tree 54 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 1 6 5 -1.</_>
+                <_>9 1 2 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0317423194646835</threshold>
+            <left_val>0.5048379898071289</left_val>
+            <right_val>0.1883248984813690</right_val></_></_>
+        <_>
+          <!-- tree 55 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 20 2 -1.</_>
+                <_>0 0 10 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0783827230334282</threshold>
+            <left_val>0.2369548976421356</left_val>
+            <right_val>0.5260158181190491</right_val></_></_>
+        <_>
+          <!-- tree 56 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 13 5 3 -1.</_>
+                <_>2 14 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.7415119372308254e-003</threshold>
+            <left_val>0.5048828721046448</left_val>
+            <right_val>0.2776469886302948</right_val></_></_>
+        <_>
+          <!-- tree 57 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 11 2 3 -1.</_>
+                <_>9 12 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.9014600440859795e-003</threshold>
+            <left_val>0.6238604784011841</left_val>
+            <right_val>0.4693317115306854</right_val></_></_>
+        <_>
+          <!-- tree 58 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 5 9 15 -1.</_>
+                <_>2 10 9 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.6427931152284145e-003</threshold>
+            <left_val>0.3314141929149628</left_val>
+            <right_val>0.5169777274131775</right_val></_></_>
+        <_>
+          <!-- tree 59 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 0 12 10 -1.</_>
+                <_>11 0 6 5 2.</_>
+                <_>5 5 6 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.1094966009259224</threshold>
+            <left_val>0.2380045056343079</left_val>
+            <right_val>0.5183441042900085</right_val></_></_>
+        <_>
+          <!-- tree 60 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 1 2 3 -1.</_>
+                <_>6 1 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.4075913289561868e-005</threshold>
+            <left_val>0.4069635868072510</left_val>
+            <right_val>0.5362150073051453</right_val></_></_>
+        <_>
+          <!-- tree 61 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 7 6 1 -1.</_>
+                <_>12 7 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.0593802006915212e-004</threshold>
+            <left_val>0.5506706237792969</left_val>
+            <right_val>0.4374594092369080</right_val></_></_>
+        <_>
+          <!-- tree 62 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 1 2 10 -1.</_>
+                <_>3 1 1 5 2.</_>
+                <_>4 6 1 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.2131777890026569e-004</threshold>
+            <left_val>0.5525709986686707</left_val>
+            <right_val>0.4209375977516174</right_val></_></_>
+        <_>
+          <!-- tree 63 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 7 2 1 -1.</_>
+                <_>13 7 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.0276539443293586e-005</threshold>
+            <left_val>0.5455474853515625</left_val>
+            <right_val>0.4748266041278839</right_val></_></_>
+        <_>
+          <!-- tree 64 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 13 4 6 -1.</_>
+                <_>4 15 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.8065142259001732e-003</threshold>
+            <left_val>0.5157995820045471</left_val>
+            <right_val>0.3424577116966248</right_val></_></_>
+        <_>
+          <!-- tree 65 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 7 2 1 -1.</_>
+                <_>13 7 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.7202789895236492e-003</threshold>
+            <left_val>0.5013207793235779</left_val>
+            <right_val>0.6331263780593872</right_val></_></_>
+        <_>
+          <!-- tree 66 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 2 1 -1.</_>
+                <_>6 7 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.3016929733566940e-004</threshold>
+            <left_val>0.5539718270301819</left_val>
+            <right_val>0.4226869940757752</right_val></_></_>
+        <_>
+          <!-- tree 67 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 12 18 4 -1.</_>
+                <_>11 12 9 2 2.</_>
+                <_>2 14 9 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.8016388900578022e-003</threshold>
+            <left_val>0.4425095021724701</left_val>
+            <right_val>0.5430780053138733</right_val></_></_>
+        <_>
+          <!-- tree 68 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 2 2 -1.</_>
+                <_>5 7 1 1 2.</_>
+                <_>6 8 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.5399310979992151e-003</threshold>
+            <left_val>0.7145782113075256</left_val>
+            <right_val>0.4697605073451996</right_val></_></_>
+        <_>
+          <!-- tree 69 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 3 4 2 -1.</_>
+                <_>16 4 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.4278929447755218e-003</threshold>
+            <left_val>0.4070445001125336</left_val>
+            <right_val>0.5399605035781860</right_val></_></_>
+        <_>
+          <!-- tree 70 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 2 18 -1.</_>
+                <_>0 2 1 9 2.</_>
+                <_>1 11 1 9 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0251425504684448</threshold>
+            <left_val>0.7884690761566162</left_val>
+            <right_val>0.4747352004051209</right_val></_></_>
+        <_>
+          <!-- tree 71 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 2 18 4 -1.</_>
+                <_>10 2 9 2 2.</_>
+                <_>1 4 9 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.8899609353393316e-003</threshold>
+            <left_val>0.4296191930770874</left_val>
+            <right_val>0.5577110052108765</right_val></_></_>
+        <_>
+          <!-- tree 72 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 14 1 3 -1.</_>
+                <_>9 15 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.3947459198534489e-003</threshold>
+            <left_val>0.4693162143230438</left_val>
+            <right_val>0.7023944258689880</right_val></_></_>
+        <_>
+          <!-- tree 73 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 12 18 4 -1.</_>
+                <_>11 12 9 2 2.</_>
+                <_>2 14 9 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0246784202754498</threshold>
+            <left_val>0.5242322087287903</left_val>
+            <right_val>0.3812510073184967</right_val></_></_>
+        <_>
+          <!-- tree 74 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 12 18 4 -1.</_>
+                <_>0 12 9 2 2.</_>
+                <_>9 14 9 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0380476787686348</threshold>
+            <left_val>0.5011739730834961</left_val>
+            <right_val>0.1687828004360199</right_val></_></_>
+        <_>
+          <!-- tree 75 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 4 5 3 -1.</_>
+                <_>11 5 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.9424865543842316e-003</threshold>
+            <left_val>0.4828582108020783</left_val>
+            <right_val>0.6369568109512329</right_val></_></_>
+        <_>
+          <!-- tree 76 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 4 7 3 -1.</_>
+                <_>6 5 7 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5110049862414598e-003</threshold>
+            <left_val>0.5906485915184021</left_val>
+            <right_val>0.4487667977809906</right_val></_></_>
+        <_>
+          <!-- tree 77 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 17 3 3 -1.</_>
+                <_>13 18 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.4201741479337215e-003</threshold>
+            <left_val>0.5241097807884216</left_val>
+            <right_val>0.2990570068359375</right_val></_></_>
+        <_>
+          <!-- tree 78 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 1 3 4 -1.</_>
+                <_>9 1 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.9802159406244755e-003</threshold>
+            <left_val>0.3041465878486633</left_val>
+            <right_val>0.5078489780426025</right_val></_></_>
+        <_>
+          <!-- tree 79 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 4 2 4 -1.</_>
+                <_>11 4 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.4580078944563866e-004</threshold>
+            <left_val>0.4128139019012451</left_val>
+            <right_val>0.5256826281547546</right_val></_></_>
+        <_>
+          <!-- tree 80 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 17 9 3 -1.</_>
+                <_>3 17 3 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0104709500446916</threshold>
+            <left_val>0.5808395147323608</left_val>
+            <right_val>0.4494296014308929</right_val></_></_>
+        <_>
+          <!-- tree 81 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 0 2 8 -1.</_>
+                <_>12 0 1 4 2.</_>
+                <_>11 4 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.3369204550981522e-003</threshold>
+            <left_val>0.5246552824974060</left_val>
+            <right_val>0.2658948898315430</right_val></_></_>
+        <_>
+          <!-- tree 82 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 8 6 12 -1.</_>
+                <_>0 8 3 6 2.</_>
+                <_>3 14 3 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0279369000345469</threshold>
+            <left_val>0.4674955010414124</left_val>
+            <right_val>0.7087256908416748</right_val></_></_>
+        <_>
+          <!-- tree 83 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 7 4 12 -1.</_>
+                <_>10 13 4 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.4277678504586220e-003</threshold>
+            <left_val>0.5409486889839172</left_val>
+            <right_val>0.3758518099784851</right_val></_></_>
+        <_>
+          <!-- tree 84 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 3 8 14 -1.</_>
+                <_>5 10 8 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0235845092684031</threshold>
+            <left_val>0.3758639991283417</left_val>
+            <right_val>0.5238550901412964</right_val></_></_>
+        <_>
+          <!-- tree 85 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 10 6 1 -1.</_>
+                <_>14 10 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.1452640173956752e-003</threshold>
+            <left_val>0.4329578876495361</left_val>
+            <right_val>0.5804247260093689</right_val></_></_>
+        <_>
+          <!-- tree 86 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 4 10 4 -1.</_>
+                <_>0 6 10 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.3468660442158580e-004</threshold>
+            <left_val>0.5280618071556091</left_val>
+            <right_val>0.3873069882392883</right_val></_></_>
+        <_>
+          <!-- tree 87 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 0 5 8 -1.</_>
+                <_>10 4 5 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0106485402211547</threshold>
+            <left_val>0.4902113080024719</left_val>
+            <right_val>0.5681251883506775</right_val></_></_>
+        <_>
+          <!-- tree 88 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 1 4 8 -1.</_>
+                <_>8 1 2 4 2.</_>
+                <_>10 5 2 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.9418050437234342e-004</threshold>
+            <left_val>0.5570880174636841</left_val>
+            <right_val>0.4318251013755798</right_val></_></_>
+        <_>
+          <!-- tree 89 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 11 6 1 -1.</_>
+                <_>11 11 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.3270479394122958e-004</threshold>
+            <left_val>0.5658439993858337</left_val>
+            <right_val>0.4343554973602295</right_val></_></_>
+        <_>
+          <!-- tree 90 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 9 3 4 -1.</_>
+                <_>9 9 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.0125510636717081e-003</threshold>
+            <left_val>0.6056739091873169</left_val>
+            <right_val>0.4537523984909058</right_val></_></_>
+        <_>
+          <!-- tree 91 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>18 4 2 6 -1.</_>
+                <_>18 6 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.4854319635778666e-003</threshold>
+            <left_val>0.5390477180480957</left_val>
+            <right_val>0.4138010144233704</right_val></_></_>
+        <_>
+          <!-- tree 92 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 8 3 4 -1.</_>
+                <_>9 8 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.8237880431115627e-003</threshold>
+            <left_val>0.4354828894138336</left_val>
+            <right_val>0.5717188715934753</right_val></_></_>
+        <_>
+          <!-- tree 93 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 1 13 3 -1.</_>
+                <_>7 2 13 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0166566595435143</threshold>
+            <left_val>0.3010913133621216</left_val>
+            <right_val>0.5216122865676880</right_val></_></_>
+        <_>
+          <!-- tree 94 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 13 6 1 -1.</_>
+                <_>9 13 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.0349558265879750e-004</threshold>
+            <left_val>0.5300151109695435</left_val>
+            <right_val>0.3818396925926209</right_val></_></_>
+        <_>
+          <!-- tree 95 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 11 3 6 -1.</_>
+                <_>12 13 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.4170378930866718e-003</threshold>
+            <left_val>0.5328028798103333</left_val>
+            <right_val>0.4241400063037872</right_val></_></_>
+        <_>
+          <!-- tree 96 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 11 6 1 -1.</_>
+                <_>7 11 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.6222729249857366e-004</threshold>
+            <left_val>0.5491728186607361</left_val>
+            <right_val>0.4186977148056030</right_val></_></_>
+        <_>
+          <!-- tree 97 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 4 18 10 -1.</_>
+                <_>10 4 9 5 2.</_>
+                <_>1 9 9 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.1163002029061317</threshold>
+            <left_val>0.1440722048282623</left_val>
+            <right_val>0.5226451158523560</right_val></_></_>
+        <_>
+          <!-- tree 98 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 6 4 9 -1.</_>
+                <_>8 9 4 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0146950101479888</threshold>
+            <left_val>0.7747725248336792</left_val>
+            <right_val>0.4715717136859894</right_val></_></_>
+        <_>
+          <!-- tree 99 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 6 4 3 -1.</_>
+                <_>8 7 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.1972130052745342e-003</threshold>
+            <left_val>0.5355433821678162</left_val>
+            <right_val>0.3315644860267639</right_val></_></_>
+        <_>
+          <!-- tree 100 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 3 3 -1.</_>
+                <_>9 7 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.6965209185145795e-004</threshold>
+            <left_val>0.5767235159873962</left_val>
+            <right_val>0.4458136856555939</right_val></_></_>
+        <_>
+          <!-- tree 101 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 15 4 3 -1.</_>
+                <_>14 16 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.5144998952746391e-003</threshold>
+            <left_val>0.5215674042701721</left_val>
+            <right_val>0.3647888898849487</right_val></_></_>
+        <_>
+          <!-- tree 102 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 10 3 10 -1.</_>
+                <_>6 10 1 10 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0213000606745481</threshold>
+            <left_val>0.4994204938411713</left_val>
+            <right_val>0.1567950993776321</right_val></_></_>
+        <_>
+          <!-- tree 103 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 15 4 3 -1.</_>
+                <_>8 16 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.1881409231573343e-003</threshold>
+            <left_val>0.4742200076580048</left_val>
+            <right_val>0.6287270188331604</right_val></_></_>
+        <_>
+          <!-- tree 104 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 8 1 6 -1.</_>
+                <_>0 10 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.0019777417182922e-004</threshold>
+            <left_val>0.5347954034805298</left_val>
+            <right_val>0.3943752050399780</right_val></_></_>
+        <_>
+          <!-- tree 105 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 15 1 3 -1.</_>
+                <_>10 16 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.1772277802228928e-003</threshold>
+            <left_val>0.6727191805839539</left_val>
+            <right_val>0.5013138055801392</right_val></_></_>
+        <_>
+          <!-- tree 106 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 15 4 3 -1.</_>
+                <_>2 16 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.3764649890363216e-003</threshold>
+            <left_val>0.3106675148010254</left_val>
+            <right_val>0.5128793120384216</right_val></_></_>
+        <_>
+          <!-- tree 107 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>18 3 2 8 -1.</_>
+                <_>19 3 1 4 2.</_>
+                <_>18 7 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.6299960445612669e-003</threshold>
+            <left_val>0.4886310100555420</left_val>
+            <right_val>0.5755215883255005</right_val></_></_>
+        <_>
+          <!-- tree 108 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 3 2 8 -1.</_>
+                <_>0 3 1 4 2.</_>
+                <_>1 7 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.0458688959479332e-003</threshold>
+            <left_val>0.6025794148445129</left_val>
+            <right_val>0.4558076858520508</right_val></_></_>
+        <_>
+          <!-- tree 109 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 7 14 10 -1.</_>
+                <_>10 7 7 5 2.</_>
+                <_>3 12 7 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0694827064871788</threshold>
+            <left_val>0.5240747928619385</left_val>
+            <right_val>0.2185259014368057</right_val></_></_>
+        <_>
+          <!-- tree 110 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 7 19 3 -1.</_>
+                <_>0 8 19 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0240489393472672</threshold>
+            <left_val>0.5011867284774780</left_val>
+            <right_val>0.2090622037649155</right_val></_></_>
+        <_>
+          <!-- tree 111 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 6 3 3 -1.</_>
+                <_>12 7 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.1095340382307768e-003</threshold>
+            <left_val>0.4866712093353272</left_val>
+            <right_val>0.7108548283576965</right_val></_></_>
+        <_>
+          <!-- tree 112 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 6 1 3 -1.</_>
+                <_>0 7 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.2503260513767600e-003</threshold>
+            <left_val>0.3407891094684601</left_val>
+            <right_val>0.5156195163726807</right_val></_></_>
+        <_>
+          <!-- tree 113 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 6 3 3 -1.</_>
+                <_>12 7 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.0281190043315291e-003</threshold>
+            <left_val>0.5575572252273560</left_val>
+            <right_val>0.4439432024955750</right_val></_></_>
+        <_>
+          <!-- tree 114 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 6 3 3 -1.</_>
+                <_>5 7 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.8893622159957886e-003</threshold>
+            <left_val>0.6402000784873962</left_val>
+            <right_val>0.4620442092418671</right_val></_></_>
+        <_>
+          <!-- tree 115 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 2 4 2 -1.</_>
+                <_>8 3 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.1094801640138030e-004</threshold>
+            <left_val>0.3766441941261292</left_val>
+            <right_val>0.5448899865150452</right_val></_></_>
+        <_>
+          <!-- tree 116 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 3 4 12 -1.</_>
+                <_>8 3 2 12 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.7686357758939266e-003</threshold>
+            <left_val>0.3318648934364319</left_val>
+            <right_val>0.5133677124977112</right_val></_></_>
+        <_>
+          <!-- tree 117 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 6 2 3 -1.</_>
+                <_>13 7 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.8506490159779787e-003</threshold>
+            <left_val>0.4903570115566254</left_val>
+            <right_val>0.6406934857368469</right_val></_></_>
+        <_>
+          <!-- tree 118 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 10 20 4 -1.</_>
+                <_>0 12 20 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0997994691133499</threshold>
+            <left_val>0.1536051034927368</left_val>
+            <right_val>0.5015562176704407</right_val></_></_>
+        <_>
+          <!-- tree 119 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 0 17 14 -1.</_>
+                <_>2 7 17 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.3512834906578064</threshold>
+            <left_val>0.0588231310248375</left_val>
+            <right_val>0.5174378752708435</right_val></_></_>
+        <_>
+          <!-- tree 120 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 6 10 -1.</_>
+                <_>0 0 3 5 2.</_>
+                <_>3 5 3 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0452445708215237</threshold>
+            <left_val>0.6961488723754883</left_val>
+            <right_val>0.4677872955799103</right_val></_></_>
+        <_>
+          <!-- tree 121 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 6 6 4 -1.</_>
+                <_>14 6 3 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0714815780520439</threshold>
+            <left_val>0.5167986154556274</left_val>
+            <right_val>0.1038092970848084</right_val></_></_>
+        <_>
+          <!-- tree 122 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 6 6 4 -1.</_>
+                <_>3 6 3 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.1895780228078365e-003</threshold>
+            <left_val>0.4273078143596649</left_val>
+            <right_val>0.5532060861587524</right_val></_></_>
+        <_>
+          <!-- tree 123 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 2 7 2 -1.</_>
+                <_>13 3 7 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.9242651332169771e-004</threshold>
+            <left_val>0.4638943970203400</left_val>
+            <right_val>0.5276389122009277</right_val></_></_>
+        <_>
+          <!-- tree 124 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 7 2 -1.</_>
+                <_>0 3 7 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.6788389766588807e-003</threshold>
+            <left_val>0.5301648974418640</left_val>
+            <right_val>0.3932034969329834</right_val></_></_>
+        <_>
+          <!-- tree 125 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 11 14 2 -1.</_>
+                <_>13 11 7 1 2.</_>
+                <_>6 12 7 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.2163488902151585e-003</threshold>
+            <left_val>0.5630694031715393</left_val>
+            <right_val>0.4757033884525299</right_val></_></_>
+        <_>
+          <!-- tree 126 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 5 2 2 -1.</_>
+                <_>8 5 1 1 2.</_>
+                <_>9 6 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.1568699846975505e-004</threshold>
+            <left_val>0.4307535886764526</left_val>
+            <right_val>0.5535702705383301</right_val></_></_>
+        <_>
+          <!-- tree 127 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 9 2 3 -1.</_>
+                <_>13 9 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.2017288766801357e-003</threshold>
+            <left_val>0.1444882005453110</left_val>
+            <right_val>0.5193064212799072</right_val></_></_>
+        <_>
+          <!-- tree 128 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 1 3 12 -1.</_>
+                <_>2 1 1 12 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.9081272017210722e-004</threshold>
+            <left_val>0.4384432137012482</left_val>
+            <right_val>0.5593621134757996</right_val></_></_>
+        <_>
+          <!-- tree 129 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>17 4 1 3 -1.</_>
+                <_>17 5 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.9605009583756328e-004</threshold>
+            <left_val>0.5340415835380554</left_val>
+            <right_val>0.4705956876277924</right_val></_></_>
+        <_>
+          <!-- tree 130 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 4 1 3 -1.</_>
+                <_>2 5 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.2022142335772514e-004</threshold>
+            <left_val>0.5213856101036072</left_val>
+            <right_val>0.3810079097747803</right_val></_></_>
+        <_>
+          <!-- tree 131 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 5 1 3 -1.</_>
+                <_>14 6 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.4588572392240167e-004</threshold>
+            <left_val>0.4769414961338043</left_val>
+            <right_val>0.6130738854408264</right_val></_></_>
+        <_>
+          <!-- tree 132 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 16 2 3 -1.</_>
+                <_>7 17 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.1698471806012094e-005</threshold>
+            <left_val>0.4245009124279022</left_val>
+            <right_val>0.5429363250732422</right_val></_></_>
+        <_>
+          <!-- tree 133 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 13 4 6 -1.</_>
+                <_>10 13 2 3 2.</_>
+                <_>8 16 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.1833200007677078e-003</threshold>
+            <left_val>0.5457730889320374</left_val>
+            <right_val>0.4191075861454010</right_val></_></_>
+        <_>
+          <!-- tree 134 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 5 1 3 -1.</_>
+                <_>5 6 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.6039671441540122e-004</threshold>
+            <left_val>0.5764588713645935</left_val>
+            <right_val>0.4471659958362579</right_val></_></_>
+        <_>
+          <!-- tree 135 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 0 4 20 -1.</_>
+                <_>16 0 2 20 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0132362395524979</threshold>
+            <left_val>0.6372823119163513</left_val>
+            <right_val>0.4695009887218475</right_val></_></_>
+        <_>
+          <!-- tree 136 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 1 2 6 -1.</_>
+                <_>5 1 1 3 2.</_>
+                <_>6 4 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.3376701069064438e-004</threshold>
+            <left_val>0.5317873954772949</left_val>
+            <right_val>0.3945829868316650</right_val></_></_></trees>
+      <stage_threshold>67.6989212036132810</stage_threshold>
+      <parent>14</parent>
+      <next>-1</next></_>
+    <_>
+      <!-- stage 16 -->
+      <trees>
+        <_>
+          <!-- tree 0 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 4 10 4 -1.</_>
+                <_>5 6 10 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0248471498489380</threshold>
+            <left_val>0.6555516719818115</left_val>
+            <right_val>0.3873311877250671</right_val></_></_>
+        <_>
+          <!-- tree 1 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 2 4 12 -1.</_>
+                <_>15 2 2 12 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.1348611488938332e-003</threshold>
+            <left_val>0.3748072087764740</left_val>
+            <right_val>0.5973997712135315</right_val></_></_>
+        <_>
+          <!-- tree 2 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 6 4 12 -1.</_>
+                <_>7 12 4 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.4498498104512691e-003</threshold>
+            <left_val>0.5425491929054260</left_val>
+            <right_val>0.2548811137676239</right_val></_></_>
+        <_>
+          <!-- tree 3 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 5 1 8 -1.</_>
+                <_>14 9 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.3491211039945483e-004</threshold>
+            <left_val>0.2462442070245743</left_val>
+            <right_val>0.5387253761291504</right_val></_></_>
+        <_>
+          <!-- tree 4 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 4 14 10 -1.</_>
+                <_>1 4 7 5 2.</_>
+                <_>8 9 7 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4023890253156424e-003</threshold>
+            <left_val>0.5594322085380554</left_val>
+            <right_val>0.3528657853603363</right_val></_></_>
+        <_>
+          <!-- tree 5 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 6 6 14 -1.</_>
+                <_>14 6 3 7 2.</_>
+                <_>11 13 3 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.0044000595808029e-004</threshold>
+            <left_val>0.3958503901958466</left_val>
+            <right_val>0.5765938162803650</right_val></_></_>
+        <_>
+          <!-- tree 6 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 6 6 14 -1.</_>
+                <_>3 6 3 7 2.</_>
+                <_>6 13 3 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.0042409849120304e-004</threshold>
+            <left_val>0.3698996901512146</left_val>
+            <right_val>0.5534998178482056</right_val></_></_>
+        <_>
+          <!-- tree 7 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 9 15 2 -1.</_>
+                <_>9 9 5 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.0841490738093853e-003</threshold>
+            <left_val>0.3711090981960297</left_val>
+            <right_val>0.5547800064086914</right_val></_></_>
+        <_>
+          <!-- tree 8 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 14 6 3 -1.</_>
+                <_>7 15 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0195372607558966</threshold>
+            <left_val>0.7492755055427551</left_val>
+            <right_val>0.4579297006130219</right_val></_></_>
+        <_>
+          <!-- tree 9 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 3 14 4 -1.</_>
+                <_>13 3 7 2 2.</_>
+                <_>6 5 7 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.4532740654831287e-006</threshold>
+            <left_val>0.5649787187576294</left_val>
+            <right_val>0.3904069960117340</right_val></_></_>
+        <_>
+          <!-- tree 10 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 9 15 2 -1.</_>
+                <_>6 9 5 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.6079459823668003e-003</threshold>
+            <left_val>0.3381088078022003</left_val>
+            <right_val>0.5267801284790039</right_val></_></_>
+        <_>
+          <!-- tree 11 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 11 8 9 -1.</_>
+                <_>6 14 8 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.0697501022368670e-003</threshold>
+            <left_val>0.5519291162490845</left_val>
+            <right_val>0.3714388906955719</right_val></_></_>
+        <_>
+          <!-- tree 12 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 4 3 8 -1.</_>
+                <_>8 4 1 8 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.6463840408250690e-004</threshold>
+            <left_val>0.5608214735984802</left_val>
+            <right_val>0.4113566875457764</right_val></_></_>
+        <_>
+          <!-- tree 13 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 6 2 6 -1.</_>
+                <_>14 9 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.5490452582016587e-004</threshold>
+            <left_val>0.3559206128120422</left_val>
+            <right_val>0.5329356193542481</right_val></_></_>
+        <_>
+          <!-- tree 14 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 6 4 -1.</_>
+                <_>5 7 3 2 2.</_>
+                <_>8 9 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.8322238773107529e-004</threshold>
+            <left_val>0.5414795875549316</left_val>
+            <right_val>0.3763205111026764</right_val></_></_>
+        <_>
+          <!-- tree 15 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 1 18 19 -1.</_>
+                <_>7 1 6 19 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0199406407773495</threshold>
+            <left_val>0.6347903013229370</left_val>
+            <right_val>0.4705299139022827</right_val></_></_>
+        <_>
+          <!-- tree 16 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 2 6 5 -1.</_>
+                <_>4 2 3 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.7680300883948803e-003</threshold>
+            <left_val>0.3913489878177643</left_val>
+            <right_val>0.5563716292381287</right_val></_></_>
+        <_>
+          <!-- tree 17 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 17 6 2 -1.</_>
+                <_>12 18 6 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.4528505578637123e-003</threshold>
+            <left_val>0.2554892897605896</left_val>
+            <right_val>0.5215116739273071</right_val></_></_>
+        <_>
+          <!-- tree 18 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 17 6 2 -1.</_>
+                <_>2 18 6 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.9560849070549011e-003</threshold>
+            <left_val>0.5174679160118103</left_val>
+            <right_val>0.3063920140266419</right_val></_></_>
+        <_>
+          <!-- tree 19 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>17 3 3 6 -1.</_>
+                <_>17 5 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.1078737750649452e-003</threshold>
+            <left_val>0.5388448238372803</left_val>
+            <right_val>0.2885963022708893</right_val></_></_>
+        <_>
+          <!-- tree 20 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 17 3 3 -1.</_>
+                <_>8 18 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.8219229532405734e-003</threshold>
+            <left_val>0.4336043000221252</left_val>
+            <right_val>0.5852196812629700</right_val></_></_>
+        <_>
+          <!-- tree 21 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 13 2 6 -1.</_>
+                <_>10 16 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0146887395530939</threshold>
+            <left_val>0.5287361741065979</left_val>
+            <right_val>0.2870005965232849</right_val></_></_>
+        <_>
+          <!-- tree 22 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 13 6 3 -1.</_>
+                <_>7 14 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0143879903480411</threshold>
+            <left_val>0.7019448876380920</left_val>
+            <right_val>0.4647370874881744</right_val></_></_>
+        <_>
+          <!-- tree 23 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>17 3 3 6 -1.</_>
+                <_>17 5 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0189866498112679</threshold>
+            <left_val>0.2986552119255066</left_val>
+            <right_val>0.5247011780738831</right_val></_></_>
+        <_>
+          <!-- tree 24 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 13 2 3 -1.</_>
+                <_>8 14 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.1527639580890536e-003</threshold>
+            <left_val>0.4323473870754242</left_val>
+            <right_val>0.5931661725044251</right_val></_></_>
+        <_>
+          <!-- tree 25 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 3 6 2 -1.</_>
+                <_>11 3 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0109336702153087</threshold>
+            <left_val>0.5286864042282105</left_val>
+            <right_val>0.3130319118499756</right_val></_></_>
+        <_>
+          <!-- tree 26 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 3 3 6 -1.</_>
+                <_>0 5 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0149327302351594</threshold>
+            <left_val>0.2658419013023377</left_val>
+            <right_val>0.5084077119827271</right_val></_></_>
+        <_>
+          <!-- tree 27 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 5 4 6 -1.</_>
+                <_>8 7 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.9970539617352188e-004</threshold>
+            <left_val>0.5463526844978333</left_val>
+            <right_val>0.3740724027156830</right_val></_></_>
+        <_>
+          <!-- tree 28 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 5 3 2 -1.</_>
+                <_>5 6 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.1677621193230152e-003</threshold>
+            <left_val>0.4703496992588043</left_val>
+            <right_val>0.7435721755027771</right_val></_></_>
+        <_>
+          <!-- tree 29 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 1 3 4 -1.</_>
+                <_>11 1 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.3905320130288601e-003</threshold>
+            <left_val>0.2069258987903595</left_val>
+            <right_val>0.5280538201332092</right_val></_></_>
+        <_>
+          <!-- tree 30 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 2 5 9 -1.</_>
+                <_>1 5 5 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.5029609464108944e-003</threshold>
+            <left_val>0.5182648897171021</left_val>
+            <right_val>0.3483543097972870</right_val></_></_>
+        <_>
+          <!-- tree 31 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 6 2 3 -1.</_>
+                <_>13 7 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.2040365561842918e-003</threshold>
+            <left_val>0.6803777217864990</left_val>
+            <right_val>0.4932360053062439</right_val></_></_>
+        <_>
+          <!-- tree 32 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 6 14 3 -1.</_>
+                <_>7 6 7 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0813272595405579</threshold>
+            <left_val>0.5058398842811585</left_val>
+            <right_val>0.2253051996231079</right_val></_></_>
+        <_>
+          <!-- tree 33 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 11 18 8 -1.</_>
+                <_>2 15 18 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.1507928073406220</threshold>
+            <left_val>0.2963424921035767</left_val>
+            <right_val>0.5264679789543152</right_val></_></_>
+        <_>
+          <!-- tree 34 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 6 2 3 -1.</_>
+                <_>5 7 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.3179009333252907e-003</threshold>
+            <left_val>0.4655495882034302</left_val>
+            <right_val>0.7072932124137878</right_val></_></_>
+        <_>
+          <!-- tree 35 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 6 4 2 -1.</_>
+                <_>12 6 2 1 2.</_>
+                <_>10 7 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.7402801252901554e-004</threshold>
+            <left_val>0.4780347943305969</left_val>
+            <right_val>0.5668237805366516</right_val></_></_>
+        <_>
+          <!-- tree 36 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 6 4 2 -1.</_>
+                <_>6 6 2 1 2.</_>
+                <_>8 7 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.8199541419744492e-004</threshold>
+            <left_val>0.4286996126174927</left_val>
+            <right_val>0.5722156763076782</right_val></_></_>
+        <_>
+          <!-- tree 37 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 1 3 4 -1.</_>
+                <_>11 1 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.3671570494771004e-003</threshold>
+            <left_val>0.5299307107925415</left_val>
+            <right_val>0.3114621937274933</right_val></_></_>
+        <_>
+          <!-- tree 38 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 1 2 7 -1.</_>
+                <_>8 1 1 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.7018666565418243e-005</threshold>
+            <left_val>0.3674638867378235</left_val>
+            <right_val>0.5269461870193481</right_val></_></_>
+        <_>
+          <!-- tree 39 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 2 15 14 -1.</_>
+                <_>4 9 15 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.1253408938646317</threshold>
+            <left_val>0.2351492047309876</left_val>
+            <right_val>0.5245791077613831</right_val></_></_>
+        <_>
+          <!-- tree 40 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 3 2 -1.</_>
+                <_>9 7 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.2516269497573376e-003</threshold>
+            <left_val>0.7115936875343323</left_val>
+            <right_val>0.4693767130374908</right_val></_></_>
+        <_>
+          <!-- tree 41 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 3 18 4 -1.</_>
+                <_>11 3 9 2 2.</_>
+                <_>2 5 9 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.8342109918594360e-003</threshold>
+            <left_val>0.4462651014328003</left_val>
+            <right_val>0.5409085750579834</right_val></_></_>
+        <_>
+          <!-- tree 42 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 2 2 -1.</_>
+                <_>10 7 1 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.1310069821774960e-003</threshold>
+            <left_val>0.5945618748664856</left_val>
+            <right_val>0.4417662024497986</right_val></_></_>
+        <_>
+          <!-- tree 43 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 9 2 3 -1.</_>
+                <_>13 9 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.7601120052859187e-003</threshold>
+            <left_val>0.5353249907493591</left_val>
+            <right_val>0.3973453044891357</right_val></_></_>
+        <_>
+          <!-- tree 44 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 2 6 2 -1.</_>
+                <_>7 2 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.1581249833106995e-004</threshold>
+            <left_val>0.3760268092155457</left_val>
+            <right_val>0.5264726877212524</right_val></_></_>
+        <_>
+          <!-- tree 45 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 2 7 -1.</_>
+                <_>9 5 1 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.8687589112669230e-003</threshold>
+            <left_val>0.6309912800788879</left_val>
+            <right_val>0.4749819934368134</right_val></_></_>
+        <_>
+          <!-- tree 46 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 9 2 3 -1.</_>
+                <_>6 9 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5207129763439298e-003</threshold>
+            <left_val>0.5230181813240051</left_val>
+            <right_val>0.3361223936080933</right_val></_></_>
+        <_>
+          <!-- tree 47 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 0 14 18 -1.</_>
+                <_>6 9 14 9 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.5458673834800720</threshold>
+            <left_val>0.5167139768600464</left_val>
+            <right_val>0.1172635033726692</right_val></_></_>
+        <_>
+          <!-- tree 48 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 16 6 3 -1.</_>
+                <_>2 17 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0156501904129982</threshold>
+            <left_val>0.4979439079761505</left_val>
+            <right_val>0.1393294930458069</right_val></_></_>
+        <_>
+          <!-- tree 49 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 3 6 -1.</_>
+                <_>10 7 1 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0117318602278829</threshold>
+            <left_val>0.7129650712013245</left_val>
+            <right_val>0.4921196103096008</right_val></_></_>
+        <_>
+          <!-- tree 50 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 8 4 3 -1.</_>
+                <_>7 9 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.1765122227370739e-003</threshold>
+            <left_val>0.2288102954626083</left_val>
+            <right_val>0.5049701929092407</right_val></_></_>
+        <_>
+          <!-- tree 51 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 12 6 3 -1.</_>
+                <_>7 13 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.2457661107182503e-003</threshold>
+            <left_val>0.4632433950901032</left_val>
+            <right_val>0.6048725843429565</right_val></_></_>
+        <_>
+          <!-- tree 52 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 12 2 3 -1.</_>
+                <_>9 13 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.1915869116783142e-003</threshold>
+            <left_val>0.6467421054840088</left_val>
+            <right_val>0.4602192938327789</right_val></_></_>
+        <_>
+          <!-- tree 53 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 12 6 2 -1.</_>
+                <_>9 12 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0238278806209564</threshold>
+            <left_val>0.1482000946998596</left_val>
+            <right_val>0.5226079225540161</right_val></_></_>
+        <_>
+          <!-- tree 54 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 11 4 6 -1.</_>
+                <_>5 14 4 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.0284580057486892e-003</threshold>
+            <left_val>0.5135489106178284</left_val>
+            <right_val>0.3375957012176514</right_val></_></_>
+        <_>
+          <!-- tree 55 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 12 7 2 -1.</_>
+                <_>11 13 7 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0100788502022624</threshold>
+            <left_val>0.2740561068058014</left_val>
+            <right_val>0.5303567051887512</right_val></_></_>
+        <_>
+          <!-- tree 56 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 10 8 6 -1.</_>
+                <_>6 10 4 3 2.</_>
+                <_>10 13 4 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.6168930344283581e-003</threshold>
+            <left_val>0.5332670807838440</left_val>
+            <right_val>0.3972454071044922</right_val></_></_>
+        <_>
+          <!-- tree 57 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 10 3 4 -1.</_>
+                <_>11 12 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.4385367548093200e-004</threshold>
+            <left_val>0.5365604162216187</left_val>
+            <right_val>0.4063411951065064</right_val></_></_>
+        <_>
+          <!-- tree 58 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 16 2 3 -1.</_>
+                <_>9 17 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.3510512225329876e-003</threshold>
+            <left_val>0.4653759002685547</left_val>
+            <right_val>0.6889045834541321</right_val></_></_>
+        <_>
+          <!-- tree 59 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 3 1 9 -1.</_>
+                <_>13 6 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5274790348485112e-003</threshold>
+            <left_val>0.5449501276016235</left_val>
+            <right_val>0.3624723851680756</right_val></_></_>
+        <_>
+          <!-- tree 60 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 13 14 6 -1.</_>
+                <_>1 15 14 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0806244164705276</threshold>
+            <left_val>0.1656087040901184</left_val>
+            <right_val>0.5000287294387817</right_val></_></_>
+        <_>
+          <!-- tree 61 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 6 1 6 -1.</_>
+                <_>13 9 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0221920292824507</threshold>
+            <left_val>0.5132731199264526</left_val>
+            <right_val>0.2002808004617691</right_val></_></_>
+        <_>
+          <!-- tree 62 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 4 3 8 -1.</_>
+                <_>1 4 1 8 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.3100631125271320e-003</threshold>
+            <left_val>0.4617947936058044</left_val>
+            <right_val>0.6366536021232605</right_val></_></_>
+        <_>
+          <!-- tree 63 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>18 0 2 18 -1.</_>
+                <_>18 0 1 18 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.4063072204589844e-003</threshold>
+            <left_val>0.5916250944137573</left_val>
+            <right_val>0.4867860972881317</right_val></_></_>
+        <_>
+          <!-- tree 64 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 3 6 2 -1.</_>
+                <_>2 4 6 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.6415040530264378e-004</threshold>
+            <left_val>0.3888409137725830</left_val>
+            <right_val>0.5315797924995422</right_val></_></_>
+        <_>
+          <!-- tree 65 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 0 8 6 -1.</_>
+                <_>9 2 8 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.6734489994123578e-004</threshold>
+            <left_val>0.4159064888954163</left_val>
+            <right_val>0.5605279803276062</right_val></_></_>
+        <_>
+          <!-- tree 66 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 6 1 6 -1.</_>
+                <_>6 9 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.1474501853808761e-004</threshold>
+            <left_val>0.3089022040367127</left_val>
+            <right_val>0.5120148062705994</right_val></_></_>
+        <_>
+          <!-- tree 67 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 8 6 3 -1.</_>
+                <_>14 9 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.0105270929634571e-003</threshold>
+            <left_val>0.3972199857234955</left_val>
+            <right_val>0.5207306146621704</right_val></_></_>
+        <_>
+          <!-- tree 68 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 2 18 -1.</_>
+                <_>1 0 1 18 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.6909132078289986e-003</threshold>
+            <left_val>0.6257408261299133</left_val>
+            <right_val>0.4608575999736786</right_val></_></_>
+        <_>
+          <!-- tree 69 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 18 18 2 -1.</_>
+                <_>10 18 9 1 2.</_>
+                <_>1 19 9 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0163914598524570</threshold>
+            <left_val>0.2085209935903549</left_val>
+            <right_val>0.5242266058921814</right_val></_></_>
+        <_>
+          <!-- tree 70 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 15 2 2 -1.</_>
+                <_>3 16 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.0973909199237823e-004</threshold>
+            <left_val>0.5222427248954773</left_val>
+            <right_val>0.3780320882797241</right_val></_></_>
+        <_>
+          <!-- tree 71 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 5 3 -1.</_>
+                <_>8 15 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.5242289993911982e-003</threshold>
+            <left_val>0.5803927183151245</left_val>
+            <right_val>0.4611890017986298</right_val></_></_>
+        <_>
+          <!-- tree 72 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 2 3 -1.</_>
+                <_>8 15 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.0945312250405550e-004</threshold>
+            <left_val>0.4401271939277649</left_val>
+            <right_val>0.5846015810966492</right_val></_></_>
+        <_>
+          <!-- tree 73 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 3 3 3 -1.</_>
+                <_>13 3 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.9656419754028320e-003</threshold>
+            <left_val>0.5322325229644775</left_val>
+            <right_val>0.4184590876102448</right_val></_></_>
+        <_>
+          <!-- tree 74 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 5 6 2 -1.</_>
+                <_>9 5 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.6298897834494710e-004</threshold>
+            <left_val>0.3741844892501831</left_val>
+            <right_val>0.5234565734863281</right_val></_></_>
+        <_>
+          <!-- tree 75 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 5 5 2 -1.</_>
+                <_>15 6 5 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.7946797935292125e-004</threshold>
+            <left_val>0.4631041884422302</left_val>
+            <right_val>0.5356478095054627</right_val></_></_>
+        <_>
+          <!-- tree 76 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 5 5 2 -1.</_>
+                <_>0 6 5 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.2856349870562553e-003</threshold>
+            <left_val>0.5044670104980469</left_val>
+            <right_val>0.2377564013004303</right_val></_></_>
+        <_>
+          <!-- tree 77 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>17 14 1 6 -1.</_>
+                <_>17 17 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0174594894051552</threshold>
+            <left_val>0.7289121150970459</left_val>
+            <right_val>0.5050435066223145</right_val></_></_>
+        <_>
+          <!-- tree 78 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 9 9 3 -1.</_>
+                <_>5 9 3 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0254217498004436</threshold>
+            <left_val>0.6667134761810303</left_val>
+            <right_val>0.4678100049495697</right_val></_></_>
+        <_>
+          <!-- tree 79 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 3 3 3 -1.</_>
+                <_>13 3 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5647639520466328e-003</threshold>
+            <left_val>0.4391759037971497</left_val>
+            <right_val>0.5323626995086670</right_val></_></_>
+        <_>
+          <!-- tree 80 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 4 18 -1.</_>
+                <_>2 0 2 18 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0114443600177765</threshold>
+            <left_val>0.4346440136432648</left_val>
+            <right_val>0.5680012106895447</right_val></_></_>
+        <_>
+          <!-- tree 81 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>17 6 1 3 -1.</_>
+                <_>17 7 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.7352550104260445e-004</threshold>
+            <left_val>0.4477140903472900</left_val>
+            <right_val>0.5296812057495117</right_val></_></_>
+        <_>
+          <!-- tree 82 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 14 1 6 -1.</_>
+                <_>2 17 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.3194209039211273e-003</threshold>
+            <left_val>0.4740200042724609</left_val>
+            <right_val>0.7462607026100159</right_val></_></_>
+        <_>
+          <!-- tree 83 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>19 8 1 2 -1.</_>
+                <_>19 9 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.3328490604180843e-004</threshold>
+            <left_val>0.5365061759948731</left_val>
+            <right_val>0.4752134978771210</right_val></_></_>
+        <_>
+          <!-- tree 84 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 3 3 3 -1.</_>
+                <_>6 3 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.8815799206495285e-003</threshold>
+            <left_val>0.1752219051122665</left_val>
+            <right_val>0.5015255212783814</right_val></_></_>
+        <_>
+          <!-- tree 85 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 16 2 3 -1.</_>
+                <_>9 17 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.7985680177807808e-003</threshold>
+            <left_val>0.7271236777305603</left_val>
+            <right_val>0.4896200895309448</right_val></_></_>
+        <_>
+          <!-- tree 86 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 6 1 3 -1.</_>
+                <_>2 7 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.8922499516047537e-004</threshold>
+            <left_val>0.4003908932209015</left_val>
+            <right_val>0.5344941020011902</right_val></_></_>
+        <_>
+          <!-- tree 87 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 4 8 2 -1.</_>
+                <_>16 4 4 1 2.</_>
+                <_>12 5 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.9288610201328993e-003</threshold>
+            <left_val>0.5605612993240356</left_val>
+            <right_val>0.4803955852985382</right_val></_></_>
+        <_>
+          <!-- tree 88 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 4 8 2 -1.</_>
+                <_>0 4 4 1 2.</_>
+                <_>4 5 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.4214154630899429e-003</threshold>
+            <left_val>0.4753246903419495</left_val>
+            <right_val>0.7623608708381653</right_val></_></_>
+        <_>
+          <!-- tree 89 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 16 18 4 -1.</_>
+                <_>2 18 18 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.1655876711010933e-003</threshold>
+            <left_val>0.5393261909484863</left_val>
+            <right_val>0.4191643893718720</right_val></_></_>
+        <_>
+          <!-- tree 90 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 15 2 4 -1.</_>
+                <_>7 17 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.8280550981871784e-004</threshold>
+            <left_val>0.4240800142288208</left_val>
+            <right_val>0.5399821996688843</right_val></_></_>
+        <_>
+          <!-- tree 91 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 0 14 3 -1.</_>
+                <_>4 1 14 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.7186630759388208e-003</threshold>
+            <left_val>0.4244599938392639</left_val>
+            <right_val>0.5424923896789551</right_val></_></_>
+        <_>
+          <!-- tree 92 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 4 20 -1.</_>
+                <_>2 0 2 20 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0125072300434113</threshold>
+            <left_val>0.5895841717720032</left_val>
+            <right_val>0.4550411105155945</right_val></_></_>
+        <_>
+          <!-- tree 93 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 4 4 8 -1.</_>
+                <_>14 4 2 4 2.</_>
+                <_>12 8 2 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0242865197360516</threshold>
+            <left_val>0.2647134959697723</left_val>
+            <right_val>0.5189179778099060</right_val></_></_>
+        <_>
+          <!-- tree 94 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 7 2 2 -1.</_>
+                <_>6 7 1 1 2.</_>
+                <_>7 8 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.9676330741494894e-003</threshold>
+            <left_val>0.7347682714462280</left_val>
+            <right_val>0.4749749898910523</right_val></_></_>
+        <_>
+          <!-- tree 95 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 6 2 3 -1.</_>
+                <_>10 7 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0125289997085929</threshold>
+            <left_val>0.2756049931049347</left_val>
+            <right_val>0.5177599787712097</right_val></_></_>
+        <_>
+          <!-- tree 96 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 3 2 -1.</_>
+                <_>8 8 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.0104000102728605e-003</threshold>
+            <left_val>0.3510560989379883</left_val>
+            <right_val>0.5144724249839783</right_val></_></_>
+        <_>
+          <!-- tree 97 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 2 6 12 -1.</_>
+                <_>8 8 6 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.1348530426621437e-003</threshold>
+            <left_val>0.5637925863265991</left_val>
+            <right_val>0.4667319953441620</right_val></_></_>
+        <_>
+          <!-- tree 98 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 0 11 12 -1.</_>
+                <_>4 4 11 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0195642597973347</threshold>
+            <left_val>0.4614573121070862</left_val>
+            <right_val>0.6137639880180359</right_val></_></_>
+        <_>
+          <!-- tree 99 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 9 6 11 -1.</_>
+                <_>16 9 2 11 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0971463471651077</threshold>
+            <left_val>0.2998378872871399</left_val>
+            <right_val>0.5193555951118469</right_val></_></_>
+        <_>
+          <!-- tree 100 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 14 4 3 -1.</_>
+                <_>0 15 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.5014568604528904e-003</threshold>
+            <left_val>0.5077884793281555</left_val>
+            <right_val>0.3045755922794342</right_val></_></_>
+        <_>
+          <!-- tree 101 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 10 2 3 -1.</_>
+                <_>9 11 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.3706971704959869e-003</threshold>
+            <left_val>0.4861018955707550</left_val>
+            <right_val>0.6887500882148743</right_val></_></_>
+        <_>
+          <!-- tree 102 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 11 3 2 -1.</_>
+                <_>5 12 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.0721528977155685e-003</threshold>
+            <left_val>0.1673395931720734</left_val>
+            <right_val>0.5017563104629517</right_val></_></_>
+        <_>
+          <!-- tree 103 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 15 3 3 -1.</_>
+                <_>10 15 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.3537208586931229e-003</threshold>
+            <left_val>0.2692756950855255</left_val>
+            <right_val>0.5242633223533630</right_val></_></_>
+        <_>
+          <!-- tree 104 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 8 3 4 -1.</_>
+                <_>9 8 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0109328404068947</threshold>
+            <left_val>0.7183864116668701</left_val>
+            <right_val>0.4736028909683228</right_val></_></_>
+        <_>
+          <!-- tree 105 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 15 3 3 -1.</_>
+                <_>10 15 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.2356072962284088e-003</threshold>
+            <left_val>0.5223966836929321</left_val>
+            <right_val>0.2389862984418869</right_val></_></_>
+        <_>
+          <!-- tree 106 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 7 3 2 -1.</_>
+                <_>8 7 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.0038160253316164e-003</threshold>
+            <left_val>0.5719355940818787</left_val>
+            <right_val>0.4433943033218384</right_val></_></_>
+        <_>
+          <!-- tree 107 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 10 16 4 -1.</_>
+                <_>10 10 8 2 2.</_>
+                <_>2 12 8 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.0859128348529339e-003</threshold>
+            <left_val>0.5472841858863831</left_val>
+            <right_val>0.4148836135864258</right_val></_></_>
+        <_>
+          <!-- tree 108 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 3 4 17 -1.</_>
+                <_>4 3 2 17 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.1548541933298111</threshold>
+            <left_val>0.4973812103271484</left_val>
+            <right_val>0.0610615983605385</right_val></_></_>
+        <_>
+          <!-- tree 109 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 13 2 7 -1.</_>
+                <_>15 13 1 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.0897459762636572e-004</threshold>
+            <left_val>0.4709174036979675</left_val>
+            <right_val>0.5423889160156250</right_val></_></_>
+        <_>
+          <!-- tree 110 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 2 6 1 -1.</_>
+                <_>5 2 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.3316991175524890e-004</threshold>
+            <left_val>0.4089626967906952</left_val>
+            <right_val>0.5300992131233215</right_val></_></_>
+        <_>
+          <!-- tree 111 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 2 12 4 -1.</_>
+                <_>9 2 4 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0108134001493454</threshold>
+            <left_val>0.6104369759559631</left_val>
+            <right_val>0.4957334101200104</right_val></_></_>
+        <_>
+          <!-- tree 112 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 0 8 12 -1.</_>
+                <_>6 0 4 6 2.</_>
+                <_>10 6 4 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0456560105085373</threshold>
+            <left_val>0.5069689154624939</left_val>
+            <right_val>0.2866660058498383</right_val></_></_>
+        <_>
+          <!-- tree 113 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 7 2 2 -1.</_>
+                <_>14 7 1 1 2.</_>
+                <_>13 8 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.2569549726322293e-003</threshold>
+            <left_val>0.4846917092800140</left_val>
+            <right_val>0.6318171024322510</right_val></_></_>
+        <_>
+          <!-- tree 114 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 12 20 6 -1.</_>
+                <_>0 14 20 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.1201507002115250</threshold>
+            <left_val>0.0605261400341988</left_val>
+            <right_val>0.4980959892272949</right_val></_></_>
+        <_>
+          <!-- tree 115 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 7 2 3 -1.</_>
+                <_>14 7 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.0533799650147557e-004</threshold>
+            <left_val>0.5363109707832336</left_val>
+            <right_val>0.4708042144775391</right_val></_></_>
+        <_>
+          <!-- tree 116 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 8 9 12 -1.</_>
+                <_>3 8 3 12 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.2070319056510925</threshold>
+            <left_val>0.0596603304147720</left_val>
+            <right_val>0.4979098141193390</right_val></_></_>
+        <_>
+          <!-- tree 117 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 0 16 2 -1.</_>
+                <_>3 0 8 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.2909180077258497e-004</threshold>
+            <left_val>0.4712977111339569</left_val>
+            <right_val>0.5377997756004334</right_val></_></_>
+        <_>
+          <!-- tree 118 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 15 3 3 -1.</_>
+                <_>6 16 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.8818528992123902e-004</threshold>
+            <left_val>0.4363538026809692</left_val>
+            <right_val>0.5534191131591797</right_val></_></_>
+        <_>
+          <!-- tree 119 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 15 6 3 -1.</_>
+                <_>8 16 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.9243610333651304e-003</threshold>
+            <left_val>0.5811185836791992</left_val>
+            <right_val>0.4825215935707092</right_val></_></_>
+        <_>
+          <!-- tree 120 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 10 1 6 -1.</_>
+                <_>0 12 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.3882332546636462e-004</threshold>
+            <left_val>0.5311700105667114</left_val>
+            <right_val>0.4038138985633850</right_val></_></_>
+        <_>
+          <!-- tree 121 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 9 4 3 -1.</_>
+                <_>10 10 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.9061550265178084e-003</threshold>
+            <left_val>0.3770701885223389</left_val>
+            <right_val>0.5260015130043030</right_val></_></_>
+        <_>
+          <!-- tree 122 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 15 2 3 -1.</_>
+                <_>9 16 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.9514348655939102e-003</threshold>
+            <left_val>0.4766167998313904</left_val>
+            <right_val>0.7682183980941773</right_val></_></_>
+        <_>
+          <!-- tree 123 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 10 1 -1.</_>
+                <_>5 7 5 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0130834598094225</threshold>
+            <left_val>0.5264462828636169</left_val>
+            <right_val>0.3062222003936768</right_val></_></_>
+        <_>
+          <!-- tree 124 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 0 12 19 -1.</_>
+                <_>10 0 6 19 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.2115933001041412</threshold>
+            <left_val>0.6737198233604431</left_val>
+            <right_val>0.4695810079574585</right_val></_></_>
+        <_>
+          <!-- tree 125 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 6 20 6 -1.</_>
+                <_>10 6 10 3 2.</_>
+                <_>0 9 10 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.1493250280618668e-003</threshold>
+            <left_val>0.5644835233688355</left_val>
+            <right_val>0.4386953115463257</right_val></_></_>
+        <_>
+          <!-- tree 126 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 6 2 2 -1.</_>
+                <_>3 6 1 1 2.</_>
+                <_>4 7 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.9754100725986063e-004</threshold>
+            <left_val>0.4526061117649078</left_val>
+            <right_val>0.5895630121231079</right_val></_></_>
+        <_>
+          <!-- tree 127 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 6 2 2 -1.</_>
+                <_>16 6 1 1 2.</_>
+                <_>15 7 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.3814480043947697e-003</threshold>
+            <left_val>0.6070582270622253</left_val>
+            <right_val>0.4942413866519928</right_val></_></_>
+        <_>
+          <!-- tree 128 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 6 2 2 -1.</_>
+                <_>3 6 1 1 2.</_>
+                <_>4 7 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.8122188784182072e-004</threshold>
+            <left_val>0.5998213291168213</left_val>
+            <right_val>0.4508252143859863</right_val></_></_>
+        <_>
+          <!-- tree 129 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 4 1 12 -1.</_>
+                <_>14 10 1 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.3905329871922731e-003</threshold>
+            <left_val>0.4205588996410370</left_val>
+            <right_val>0.5223848223686218</right_val></_></_>
+        <_>
+          <!-- tree 130 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 5 16 10 -1.</_>
+                <_>2 5 8 5 2.</_>
+                <_>10 10 8 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0272689294070005</threshold>
+            <left_val>0.5206447243690491</left_val>
+            <right_val>0.3563301861286163</right_val></_></_>
+        <_>
+          <!-- tree 131 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 17 3 2 -1.</_>
+                <_>10 17 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.7658358924090862e-003</threshold>
+            <left_val>0.3144704103469849</left_val>
+            <right_val>0.5218814015388489</right_val></_></_>
+        <_>
+          <!-- tree 132 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 4 2 2 -1.</_>
+                <_>1 5 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.4903489500284195e-003</threshold>
+            <left_val>0.3380196094512940</left_val>
+            <right_val>0.5124437212944031</right_val></_></_>
+        <_>
+          <!-- tree 133 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 0 15 5 -1.</_>
+                <_>10 0 5 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0174282304942608</threshold>
+            <left_val>0.5829960703849793</left_val>
+            <right_val>0.4919725954532623</right_val></_></_>
+        <_>
+          <!-- tree 134 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 15 5 -1.</_>
+                <_>5 0 5 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0152780301868916</threshold>
+            <left_val>0.6163144707679749</left_val>
+            <right_val>0.4617887139320374</right_val></_></_>
+        <_>
+          <!-- tree 135 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 2 2 17 -1.</_>
+                <_>11 2 1 17 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0319956094026566</threshold>
+            <left_val>0.5166357159614563</left_val>
+            <right_val>0.1712764054536820</right_val></_></_>
+        <_>
+          <!-- tree 136 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 2 2 17 -1.</_>
+                <_>8 2 1 17 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.8256710395216942e-003</threshold>
+            <left_val>0.3408012092113495</left_val>
+            <right_val>0.5131387710571289</right_val></_></_>
+        <_>
+          <!-- tree 137 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 11 2 9 -1.</_>
+                <_>15 11 1 9 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.5186436772346497e-003</threshold>
+            <left_val>0.6105518937110901</left_val>
+            <right_val>0.4997941851615906</right_val></_></_>
+        <_>
+          <!-- tree 138 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 11 2 9 -1.</_>
+                <_>4 11 1 9 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.0641621500253677e-004</threshold>
+            <left_val>0.4327270984649658</left_val>
+            <right_val>0.5582311153411865</right_val></_></_>
+        <_>
+          <!-- tree 139 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 16 14 4 -1.</_>
+                <_>5 16 7 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0103448498994112</threshold>
+            <left_val>0.4855653047561646</left_val>
+            <right_val>0.5452420115470886</right_val></_></_></trees>
+      <stage_threshold>69.2298736572265630</stage_threshold>
+      <parent>15</parent>
+      <next>-1</next></_>
+    <_>
+      <!-- stage 17 -->
+      <trees>
+        <_>
+          <!-- tree 0 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 4 18 1 -1.</_>
+                <_>7 4 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.8981826081871986e-003</threshold>
+            <left_val>0.3332524895668030</left_val>
+            <right_val>0.5946462154388428</right_val></_></_>
+        <_>
+          <!-- tree 1 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 7 6 4 -1.</_>
+                <_>16 7 3 2 2.</_>
+                <_>13 9 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.6170160379260778e-003</threshold>
+            <left_val>0.3490641117095947</left_val>
+            <right_val>0.5577868819236755</right_val></_></_>
+        <_>
+          <!-- tree 2 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 8 2 12 -1.</_>
+                <_>9 12 2 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.5449741194024682e-004</threshold>
+            <left_val>0.5542566180229187</left_val>
+            <right_val>0.3291530013084412</right_val></_></_>
+        <_>
+          <!-- tree 3 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 1 6 6 -1.</_>
+                <_>12 3 6 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5428980113938451e-003</threshold>
+            <left_val>0.3612579107284546</left_val>
+            <right_val>0.5545979142189026</right_val></_></_>
+        <_>
+          <!-- tree 4 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 2 6 6 -1.</_>
+                <_>5 2 3 3 2.</_>
+                <_>8 5 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.0329450014978647e-003</threshold>
+            <left_val>0.3530139029026032</left_val>
+            <right_val>0.5576140284538269</right_val></_></_>
+        <_>
+          <!-- tree 5 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 16 6 4 -1.</_>
+                <_>12 16 3 2 2.</_>
+                <_>9 18 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.7698158565908670e-004</threshold>
+            <left_val>0.3916778862476349</left_val>
+            <right_val>0.5645321011543274</right_val></_></_>
+        <_>
+          <!-- tree 6 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 2 18 3 -1.</_>
+                <_>7 2 6 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.1432030051946640</threshold>
+            <left_val>0.4667482078075409</left_val>
+            <right_val>0.7023633122444153</right_val></_></_>
+        <_>
+          <!-- tree 7 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 4 9 10 -1.</_>
+                <_>7 9 9 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.3866490274667740e-003</threshold>
+            <left_val>0.3073684871196747</left_val>
+            <right_val>0.5289257764816284</right_val></_></_>
+        <_>
+          <!-- tree 8 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 9 4 4 -1.</_>
+                <_>7 9 2 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.2936742324382067e-004</threshold>
+            <left_val>0.5622118115425110</left_val>
+            <right_val>0.4037049114704132</right_val></_></_>
+        <_>
+          <!-- tree 9 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 10 3 6 -1.</_>
+                <_>11 13 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.8893528552725911e-004</threshold>
+            <left_val>0.5267661213874817</left_val>
+            <right_val>0.3557874858379364</right_val></_></_>
+        <_>
+          <!-- tree 10 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 11 5 3 -1.</_>
+                <_>7 12 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0122280502691865</threshold>
+            <left_val>0.6668320894241333</left_val>
+            <right_val>0.4625549912452698</right_val></_></_>
+        <_>
+          <!-- tree 11 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 11 6 6 -1.</_>
+                <_>10 11 3 3 2.</_>
+                <_>7 14 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.5420239437371492e-003</threshold>
+            <left_val>0.5521438121795654</left_val>
+            <right_val>0.3869673013687134</right_val></_></_>
+        <_>
+          <!-- tree 12 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 10 9 -1.</_>
+                <_>0 3 10 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.0585320414975286e-003</threshold>
+            <left_val>0.3628678023815155</left_val>
+            <right_val>0.5320926904678345</right_val></_></_>
+        <_>
+          <!-- tree 13 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 14 1 6 -1.</_>
+                <_>13 16 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4935660146875307e-005</threshold>
+            <left_val>0.4632444977760315</left_val>
+            <right_val>0.5363323092460632</right_val></_></_>
+        <_>
+          <!-- tree 14 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 3 6 -1.</_>
+                <_>0 4 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.2537708543241024e-003</threshold>
+            <left_val>0.5132231712341309</left_val>
+            <right_val>0.3265708982944489</right_val></_></_>
+        <_>
+          <!-- tree 15 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 4 3 -1.</_>
+                <_>8 15 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.2338023930788040e-003</threshold>
+            <left_val>0.6693689823150635</left_val>
+            <right_val>0.4774140119552612</right_val></_></_>
+        <_>
+          <!-- tree 16 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 14 1 6 -1.</_>
+                <_>6 16 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.1866810129722580e-005</threshold>
+            <left_val>0.4053862094879150</left_val>
+            <right_val>0.5457931160926819</right_val></_></_>
+        <_>
+          <!-- tree 17 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 15 2 3 -1.</_>
+                <_>9 16 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.8150229956954718e-003</threshold>
+            <left_val>0.6454995870590210</left_val>
+            <right_val>0.4793178141117096</right_val></_></_>
+        <_>
+          <!-- tree 18 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 4 3 3 -1.</_>
+                <_>7 4 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.1105879675596952e-003</threshold>
+            <left_val>0.5270407199859619</left_val>
+            <right_val>0.3529678881168366</right_val></_></_>
+        <_>
+          <!-- tree 19 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 0 11 3 -1.</_>
+                <_>9 1 11 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.7707689702510834e-003</threshold>
+            <left_val>0.3803547024726868</left_val>
+            <right_val>0.5352957844734192</right_val></_></_>
+        <_>
+          <!-- tree 20 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 6 20 3 -1.</_>
+                <_>0 7 20 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.0158339068293571e-003</threshold>
+            <left_val>0.5339403152465820</left_val>
+            <right_val>0.3887133002281189</right_val></_></_>
+        <_>
+          <!-- tree 21 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 1 1 2 -1.</_>
+                <_>10 2 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.5453689098358154e-004</threshold>
+            <left_val>0.3564616143703461</left_val>
+            <right_val>0.5273603796958923</right_val></_></_>
+        <_>
+          <!-- tree 22 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 6 2 6 -1.</_>
+                <_>10 6 1 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0110505102202296</threshold>
+            <left_val>0.4671907126903534</left_val>
+            <right_val>0.6849737763404846</right_val></_></_>
+        <_>
+          <!-- tree 23 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 8 12 1 -1.</_>
+                <_>9 8 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0426058396697044</threshold>
+            <left_val>0.5151473283767700</left_val>
+            <right_val>0.0702200904488564</right_val></_></_>
+        <_>
+          <!-- tree 24 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 8 12 1 -1.</_>
+                <_>7 8 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.0781750101596117e-003</threshold>
+            <left_val>0.3041661083698273</left_val>
+            <right_val>0.5152602195739746</right_val></_></_>
+        <_>
+          <!-- tree 25 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 3 5 -1.</_>
+                <_>10 7 1 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.4815728217363358e-003</threshold>
+            <left_val>0.6430295705795288</left_val>
+            <right_val>0.4897229969501495</right_val></_></_>
+        <_>
+          <!-- tree 26 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 9 6 2 -1.</_>
+                <_>6 9 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.1881860923022032e-003</threshold>
+            <left_val>0.5307493209838867</left_val>
+            <right_val>0.3826209902763367</right_val></_></_>
+        <_>
+          <!-- tree 27 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 9 3 3 -1.</_>
+                <_>12 10 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.5947180003859103e-004</threshold>
+            <left_val>0.4650047123432159</left_val>
+            <right_val>0.5421904921531677</right_val></_></_>
+        <_>
+          <!-- tree 28 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 0 6 1 -1.</_>
+                <_>9 0 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.0705031715333462e-003</threshold>
+            <left_val>0.2849679887294769</left_val>
+            <right_val>0.5079116225242615</right_val></_></_>
+        <_>
+          <!-- tree 29 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 9 3 3 -1.</_>
+                <_>12 10 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0145941702648997</threshold>
+            <left_val>0.2971645891666412</left_val>
+            <right_val>0.5128461718559265</right_val></_></_>
+        <_>
+          <!-- tree 30 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 10 2 1 -1.</_>
+                <_>8 10 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.1947689927183092e-004</threshold>
+            <left_val>0.5631098151206970</left_val>
+            <right_val>0.4343082010746002</right_val></_></_>
+        <_>
+          <!-- tree 31 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 4 9 13 -1.</_>
+                <_>9 4 3 13 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.9344649091362953e-004</threshold>
+            <left_val>0.4403578042984009</left_val>
+            <right_val>0.5359959006309509</right_val></_></_>
+        <_>
+          <!-- tree 32 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 8 4 2 -1.</_>
+                <_>6 9 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4834799912932795e-005</threshold>
+            <left_val>0.3421008884906769</left_val>
+            <right_val>0.5164697766304016</right_val></_></_>
+        <_>
+          <!-- tree 33 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 2 4 6 -1.</_>
+                <_>16 2 2 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.0296985581517220e-003</threshold>
+            <left_val>0.4639343023300171</left_val>
+            <right_val>0.6114075183868408</right_val></_></_>
+        <_>
+          <!-- tree 34 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 17 6 3 -1.</_>
+                <_>0 18 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.0640818923711777e-003</threshold>
+            <left_val>0.2820158898830414</left_val>
+            <right_val>0.5075494050979614</right_val></_></_>
+        <_>
+          <!-- tree 35 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 10 3 10 -1.</_>
+                <_>10 15 3 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0260621197521687</threshold>
+            <left_val>0.5208905935287476</left_val>
+            <right_val>0.2688778042793274</right_val></_></_>
+        <_>
+          <!-- tree 36 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 3 5 -1.</_>
+                <_>9 7 1 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0173146594315767</threshold>
+            <left_val>0.4663713872432709</left_val>
+            <right_val>0.6738539934158325</right_val></_></_>
+        <_>
+          <!-- tree 37 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 4 4 3 -1.</_>
+                <_>10 4 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0226666405797005</threshold>
+            <left_val>0.5209349989891052</left_val>
+            <right_val>0.2212723940610886</right_val></_></_>
+        <_>
+          <!-- tree 38 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 4 3 8 -1.</_>
+                <_>9 4 1 8 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.1965929772704840e-003</threshold>
+            <left_val>0.6063101291656494</left_val>
+            <right_val>0.4538190066814423</right_val></_></_>
+        <_>
+          <!-- tree 39 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 6 9 13 -1.</_>
+                <_>9 6 3 13 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.5282476395368576e-003</threshold>
+            <left_val>0.4635204970836639</left_val>
+            <right_val>0.5247430801391602</right_val></_></_>
+        <_>
+          <!-- tree 40 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 0 8 12 -1.</_>
+                <_>6 0 4 6 2.</_>
+                <_>10 6 4 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.0943619832396507e-003</threshold>
+            <left_val>0.5289440155029297</left_val>
+            <right_val>0.3913882076740265</right_val></_></_>
+        <_>
+          <!-- tree 41 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 2 6 8 -1.</_>
+                <_>16 2 2 8 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0728773325681686</threshold>
+            <left_val>0.7752001881599426</left_val>
+            <right_val>0.4990234971046448</right_val></_></_>
+        <_>
+          <!-- tree 42 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 0 3 6 -1.</_>
+                <_>7 0 1 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.9009521976113319e-003</threshold>
+            <left_val>0.2428039014339447</left_val>
+            <right_val>0.5048090219497681</right_val></_></_>
+        <_>
+          <!-- tree 43 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 2 6 8 -1.</_>
+                <_>16 2 2 8 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0113082397729158</threshold>
+            <left_val>0.5734364986419678</left_val>
+            <right_val>0.4842376112937927</right_val></_></_>
+        <_>
+          <!-- tree 44 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 5 6 6 -1.</_>
+                <_>0 8 6 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0596132017672062</threshold>
+            <left_val>0.5029836297035217</left_val>
+            <right_val>0.2524977028369904</right_val></_></_>
+        <_>
+          <!-- tree 45 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 12 6 2 -1.</_>
+                <_>12 12 3 1 2.</_>
+                <_>9 13 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.8624620754271746e-003</threshold>
+            <left_val>0.6073045134544373</left_val>
+            <right_val>0.4898459911346436</right_val></_></_>
+        <_>
+          <!-- tree 46 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 17 3 2 -1.</_>
+                <_>9 17 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.4781449250876904e-003</threshold>
+            <left_val>0.5015289187431335</left_val>
+            <right_val>0.2220316976308823</right_val></_></_>
+        <_>
+          <!-- tree 47 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 6 2 2 -1.</_>
+                <_>12 6 1 1 2.</_>
+                <_>11 7 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.7513240454718471e-003</threshold>
+            <left_val>0.6614428758621216</left_val>
+            <right_val>0.4933868944644928</right_val></_></_>
+        <_>
+          <!-- tree 48 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 9 18 2 -1.</_>
+                <_>7 9 6 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0401634201407433</threshold>
+            <left_val>0.5180878043174744</left_val>
+            <right_val>0.3741044998168945</right_val></_></_>
+        <_>
+          <!-- tree 49 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 6 2 2 -1.</_>
+                <_>12 6 1 1 2.</_>
+                <_>11 7 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.4768949262797832e-004</threshold>
+            <left_val>0.4720416963100433</left_val>
+            <right_val>0.5818032026290894</right_val></_></_>
+        <_>
+          <!-- tree 50 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 4 12 8 -1.</_>
+                <_>7 4 4 8 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.6551650371402502e-003</threshold>
+            <left_val>0.3805010914802551</left_val>
+            <right_val>0.5221335887908936</right_val></_></_>
+        <_>
+          <!-- tree 51 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 11 5 3 -1.</_>
+                <_>13 12 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.7706279009580612e-003</threshold>
+            <left_val>0.2944166064262390</left_val>
+            <right_val>0.5231295228004456</right_val></_></_>
+        <_>
+          <!-- tree 52 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 10 2 3 -1.</_>
+                <_>9 11 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.5122091434895992e-003</threshold>
+            <left_val>0.7346177101135254</left_val>
+            <right_val>0.4722816944122315</right_val></_></_>
+        <_>
+          <!-- tree 53 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 7 2 3 -1.</_>
+                <_>14 7 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.8672042107209563e-004</threshold>
+            <left_val>0.5452876091003418</left_val>
+            <right_val>0.4242413043975830</right_val></_></_>
+        <_>
+          <!-- tree 54 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 4 1 3 -1.</_>
+                <_>5 5 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.6019669864326715e-004</threshold>
+            <left_val>0.4398862123489380</left_val>
+            <right_val>0.5601285099983215</right_val></_></_>
+        <_>
+          <!-- tree 55 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 4 2 3 -1.</_>
+                <_>13 5 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.4143769405782223e-003</threshold>
+            <left_val>0.4741686880588532</left_val>
+            <right_val>0.6136621832847595</right_val></_></_>
+        <_>
+          <!-- tree 56 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 4 2 3 -1.</_>
+                <_>5 5 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5680900542065501e-003</threshold>
+            <left_val>0.6044552922248840</left_val>
+            <right_val>0.4516409933567047</right_val></_></_>
+        <_>
+          <!-- tree 57 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 8 2 3 -1.</_>
+                <_>9 9 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.6827491130679846e-003</threshold>
+            <left_val>0.2452459037303925</left_val>
+            <right_val>0.5294982194900513</right_val></_></_>
+        <_>
+          <!-- tree 58 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 9 2 2 -1.</_>
+                <_>8 10 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.9409190756268799e-004</threshold>
+            <left_val>0.3732838034629822</left_val>
+            <right_val>0.5251451134681702</right_val></_></_>
+        <_>
+          <!-- tree 59 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 14 1 4 -1.</_>
+                <_>15 16 1 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.2847759323194623e-004</threshold>
+            <left_val>0.5498809814453125</left_val>
+            <right_val>0.4065535068511963</right_val></_></_>
+        <_>
+          <!-- tree 60 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 12 2 2 -1.</_>
+                <_>3 13 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.8817070201039314e-003</threshold>
+            <left_val>0.2139908969402313</left_val>
+            <right_val>0.4999957084655762</right_val></_></_>
+        <_>
+          <!-- tree 61 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 15 2 2 -1.</_>
+                <_>13 15 1 1 2.</_>
+                <_>12 16 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.7272020815871656e-004</threshold>
+            <left_val>0.4650287032127380</left_val>
+            <right_val>0.5813428759574890</right_val></_></_>
+        <_>
+          <!-- tree 62 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 13 2 2 -1.</_>
+                <_>9 14 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.0947199664078653e-004</threshold>
+            <left_val>0.4387486875057221</left_val>
+            <right_val>0.5572792887687683</right_val></_></_>
+        <_>
+          <!-- tree 63 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 11 14 9 -1.</_>
+                <_>4 14 14 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0485011897981167</threshold>
+            <left_val>0.5244972705841065</left_val>
+            <right_val>0.3212889134883881</right_val></_></_>
+        <_>
+          <!-- tree 64 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 13 4 3 -1.</_>
+                <_>7 14 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.5166411437094212e-003</threshold>
+            <left_val>0.6056813001632690</left_val>
+            <right_val>0.4545882046222687</right_val></_></_>
+        <_>
+          <!-- tree 65 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 14 1 4 -1.</_>
+                <_>15 16 1 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0122916800901294</threshold>
+            <left_val>0.2040929049253464</left_val>
+            <right_val>0.5152214169502258</right_val></_></_>
+        <_>
+          <!-- tree 66 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 14 1 4 -1.</_>
+                <_>4 16 1 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.8549679922871292e-004</threshold>
+            <left_val>0.5237604975700378</left_val>
+            <right_val>0.3739503026008606</right_val></_></_>
+        <_>
+          <!-- tree 67 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 0 6 13 -1.</_>
+                <_>16 0 2 13 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0305560491979122</threshold>
+            <left_val>0.4960533976554871</left_val>
+            <right_val>0.5938246250152588</right_val></_></_>
+        <_>
+          <!-- tree 68 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 1 2 12 -1.</_>
+                <_>4 1 1 6 2.</_>
+                <_>5 7 1 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5105320198927075e-004</threshold>
+            <left_val>0.5351303815841675</left_val>
+            <right_val>0.4145204126834869</right_val></_></_>
+        <_>
+          <!-- tree 69 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 14 6 6 -1.</_>
+                <_>14 14 3 3 2.</_>
+                <_>11 17 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.4937440175563097e-003</threshold>
+            <left_val>0.4693366885185242</left_val>
+            <right_val>0.5514941215515137</right_val></_></_>
+        <_>
+          <!-- tree 70 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 14 6 6 -1.</_>
+                <_>3 14 3 3 2.</_>
+                <_>6 17 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0123821301385760</threshold>
+            <left_val>0.6791396737098694</left_val>
+            <right_val>0.4681667983531952</right_val></_></_>
+        <_>
+          <!-- tree 71 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 17 3 2 -1.</_>
+                <_>14 18 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.1333461888134480e-003</threshold>
+            <left_val>0.3608739078044891</left_val>
+            <right_val>0.5229160189628601</right_val></_></_>
+        <_>
+          <!-- tree 72 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 17 3 2 -1.</_>
+                <_>3 18 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.1919277757406235e-004</threshold>
+            <left_val>0.5300073027610779</left_val>
+            <right_val>0.3633613884449005</right_val></_></_>
+        <_>
+          <!-- tree 73 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 0 6 13 -1.</_>
+                <_>16 0 2 13 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.1506042033433914</threshold>
+            <left_val>0.5157316923141480</left_val>
+            <right_val>0.2211782038211823</right_val></_></_>
+        <_>
+          <!-- tree 74 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 6 13 -1.</_>
+                <_>2 0 2 13 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.7144149690866470e-003</threshold>
+            <left_val>0.4410496950149536</left_val>
+            <right_val>0.5776609182357788</right_val></_></_>
+        <_>
+          <!-- tree 75 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 10 7 6 -1.</_>
+                <_>10 12 7 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.4443522393703461e-003</threshold>
+            <left_val>0.5401855111122131</left_val>
+            <right_val>0.3756650090217590</right_val></_></_>
+        <_>
+          <!-- tree 76 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 15 2 2 -1.</_>
+                <_>6 15 1 1 2.</_>
+                <_>7 16 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.5006249779835343e-004</threshold>
+            <left_val>0.4368270933628082</left_val>
+            <right_val>0.5607374906539917</right_val></_></_>
+        <_>
+          <!-- tree 77 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 11 8 6 -1.</_>
+                <_>10 11 4 3 2.</_>
+                <_>6 14 4 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.3077150583267212e-003</threshold>
+            <left_val>0.4244799017906189</left_val>
+            <right_val>0.5518230795860291</right_val></_></_>
+        <_>
+          <!-- tree 78 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 6 2 2 -1.</_>
+                <_>7 6 1 1 2.</_>
+                <_>8 7 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.4048910755664110e-004</threshold>
+            <left_val>0.4496962130069733</left_val>
+            <right_val>0.5900576710700989</right_val></_></_>
+        <_>
+          <!-- tree 79 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 2 16 6 -1.</_>
+                <_>10 2 8 3 2.</_>
+                <_>2 5 8 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0440920516848564</threshold>
+            <left_val>0.5293493270874023</left_val>
+            <right_val>0.3156355023384094</right_val></_></_>
+        <_>
+          <!-- tree 80 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 4 3 3 -1.</_>
+                <_>5 5 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.3639909233897924e-003</threshold>
+            <left_val>0.4483296871185303</left_val>
+            <right_val>0.5848662257194519</right_val></_></_>
+        <_>
+          <!-- tree 81 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 7 3 10 -1.</_>
+                <_>11 12 3 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.9760079234838486e-003</threshold>
+            <left_val>0.4559507071971893</left_val>
+            <right_val>0.5483639240264893</right_val></_></_>
+        <_>
+          <!-- tree 82 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 7 3 10 -1.</_>
+                <_>6 12 3 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.7716930489987135e-003</threshold>
+            <left_val>0.5341786146163940</left_val>
+            <right_val>0.3792484104633331</right_val></_></_>
+        <_>
+          <!-- tree 83 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 7 3 2 -1.</_>
+                <_>11 7 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.4123019829858094e-004</threshold>
+            <left_val>0.5667188763618469</left_val>
+            <right_val>0.4576973021030426</right_val></_></_>
+        <_>
+          <!-- tree 84 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 12 4 2 -1.</_>
+                <_>8 13 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.9425667384639382e-004</threshold>
+            <left_val>0.4421244859695435</left_val>
+            <right_val>0.5628787279129028</right_val></_></_>
+        <_>
+          <!-- tree 85 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 1 1 3 -1.</_>
+                <_>10 2 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.8876468897797167e-004</threshold>
+            <left_val>0.4288370907306671</left_val>
+            <right_val>0.5391063094139099</right_val></_></_>
+        <_>
+          <!-- tree 86 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 2 4 18 -1.</_>
+                <_>1 2 2 9 2.</_>
+                <_>3 11 2 9 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0500488989055157</threshold>
+            <left_val>0.6899513006210327</left_val>
+            <right_val>0.4703742861747742</right_val></_></_>
+        <_>
+          <!-- tree 87 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 4 4 12 -1.</_>
+                <_>12 10 4 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0366354808211327</threshold>
+            <left_val>0.2217779010534287</left_val>
+            <right_val>0.5191826224327087</right_val></_></_>
+        <_>
+          <!-- tree 88 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 1 6 -1.</_>
+                <_>0 2 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.4273579474538565e-003</threshold>
+            <left_val>0.5136224031448364</left_val>
+            <right_val>0.3497397899627686</right_val></_></_>
+        <_>
+          <!-- tree 89 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 11 2 3 -1.</_>
+                <_>9 12 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.9558030180633068e-003</threshold>
+            <left_val>0.4826192855834961</left_val>
+            <right_val>0.6408380866050720</right_val></_></_>
+        <_>
+          <!-- tree 90 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 4 3 -1.</_>
+                <_>8 8 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.7494610510766506e-003</threshold>
+            <left_val>0.3922835886478424</left_val>
+            <right_val>0.5272685289382935</right_val></_></_>
+        <_>
+          <!-- tree 91 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 7 3 2 -1.</_>
+                <_>11 7 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0139550799503922</threshold>
+            <left_val>0.5078201889991760</left_val>
+            <right_val>0.8416504859924316</right_val></_></_>
+        <_>
+          <!-- tree 92 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 7 3 2 -1.</_>
+                <_>8 7 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.1896739781368524e-004</threshold>
+            <left_val>0.5520489811897278</left_val>
+            <right_val>0.4314234852790833</right_val></_></_>
+        <_>
+          <!-- tree 93 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 4 6 1 -1.</_>
+                <_>11 4 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5131309628486633e-003</threshold>
+            <left_val>0.3934605121612549</left_val>
+            <right_val>0.5382571220397949</right_val></_></_>
+        <_>
+          <!-- tree 94 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 2 3 -1.</_>
+                <_>9 7 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.3622800149023533e-003</threshold>
+            <left_val>0.7370628714561462</left_val>
+            <right_val>0.4736475944519043</right_val></_></_>
+        <_>
+          <!-- tree 95 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 7 8 6 -1.</_>
+                <_>16 7 4 3 2.</_>
+                <_>12 10 4 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0651605874300003</threshold>
+            <left_val>0.5159279704093933</left_val>
+            <right_val>0.3281595110893250</right_val></_></_>
+        <_>
+          <!-- tree 96 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 7 8 6 -1.</_>
+                <_>0 7 4 3 2.</_>
+                <_>4 10 4 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.3567399475723505e-003</threshold>
+            <left_val>0.3672826886177063</left_val>
+            <right_val>0.5172886252403259</right_val></_></_>
+        <_>
+          <!-- tree 97 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>18 2 2 10 -1.</_>
+                <_>19 2 1 5 2.</_>
+                <_>18 7 1 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0151466596871614</threshold>
+            <left_val>0.5031493902206421</left_val>
+            <right_val>0.6687604188919067</right_val></_></_>
+        <_>
+          <!-- tree 98 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 6 4 -1.</_>
+                <_>3 2 3 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0228509604930878</threshold>
+            <left_val>0.6767519712448120</left_val>
+            <right_val>0.4709596931934357</right_val></_></_>
+        <_>
+          <!-- tree 99 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 4 6 1 -1.</_>
+                <_>11 4 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.8867650330066681e-003</threshold>
+            <left_val>0.5257998108863831</left_val>
+            <right_val>0.4059878885746002</right_val></_></_>
+        <_>
+          <!-- tree 100 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 15 2 2 -1.</_>
+                <_>7 15 1 1 2.</_>
+                <_>8 16 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.7619599821045995e-003</threshold>
+            <left_val>0.4696272909641266</left_val>
+            <right_val>0.6688278913497925</right_val></_></_>
+        <_>
+          <!-- tree 101 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 13 1 6 -1.</_>
+                <_>11 16 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.2942519970238209e-003</threshold>
+            <left_val>0.4320712983608246</left_val>
+            <right_val>0.5344281792640686</right_val></_></_>
+        <_>
+          <!-- tree 102 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 13 1 6 -1.</_>
+                <_>8 16 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0109299495816231</threshold>
+            <left_val>0.4997706115245819</left_val>
+            <right_val>0.1637486070394516</right_val></_></_>
+        <_>
+          <!-- tree 103 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 3 2 1 -1.</_>
+                <_>14 3 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.9958489903947338e-005</threshold>
+            <left_val>0.4282417893409729</left_val>
+            <right_val>0.5633224248886108</right_val></_></_>
+        <_>
+          <!-- tree 104 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 15 2 3 -1.</_>
+                <_>8 16 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.5884361974895000e-003</threshold>
+            <left_val>0.6772121191024780</left_val>
+            <right_val>0.4700526893138886</right_val></_></_>
+        <_>
+          <!-- tree 105 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 15 7 4 -1.</_>
+                <_>12 17 7 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.2527779694646597e-003</threshold>
+            <left_val>0.5313397049903870</left_val>
+            <right_val>0.4536148905754089</right_val></_></_>
+        <_>
+          <!-- tree 106 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 14 12 3 -1.</_>
+                <_>4 15 12 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.0435739792883396e-003</threshold>
+            <left_val>0.5660061836242676</left_val>
+            <right_val>0.4413388967514038</right_val></_></_>
+        <_>
+          <!-- tree 107 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 3 3 2 -1.</_>
+                <_>11 3 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.2523540062829852e-003</threshold>
+            <left_val>0.3731913864612579</left_val>
+            <right_val>0.5356451869010925</right_val></_></_>
+        <_>
+          <!-- tree 108 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 12 2 2 -1.</_>
+                <_>4 13 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.9246719602961093e-004</threshold>
+            <left_val>0.5189986228942871</left_val>
+            <right_val>0.3738811016082764</right_val></_></_>
+        <_>
+          <!-- tree 109 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 11 4 6 -1.</_>
+                <_>10 14 4 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0385896712541580</threshold>
+            <left_val>0.2956373989582062</left_val>
+            <right_val>0.5188810825347900</right_val></_></_>
+        <_>
+          <!-- tree 110 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 13 2 2 -1.</_>
+                <_>7 13 1 1 2.</_>
+                <_>8 14 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5489870565943420e-004</threshold>
+            <left_val>0.4347135126590729</left_val>
+            <right_val>0.5509533286094666</right_val></_></_>
+        <_>
+          <!-- tree 111 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 11 14 4 -1.</_>
+                <_>11 11 7 2 2.</_>
+                <_>4 13 7 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0337638482451439</threshold>
+            <left_val>0.3230330049991608</left_val>
+            <right_val>0.5195475816726685</right_val></_></_>
+        <_>
+          <!-- tree 112 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 18 18 2 -1.</_>
+                <_>7 18 6 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.2657067105174065e-003</threshold>
+            <left_val>0.5975489020347595</left_val>
+            <right_val>0.4552114009857178</right_val></_></_>
+        <_>
+          <!-- tree 113 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 18 2 2 -1.</_>
+                <_>12 18 1 1 2.</_>
+                <_>11 19 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4481440302915871e-005</threshold>
+            <left_val>0.4745678007602692</left_val>
+            <right_val>0.5497426986694336</right_val></_></_>
+        <_>
+          <!-- tree 114 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 18 2 2 -1.</_>
+                <_>7 18 1 1 2.</_>
+                <_>8 19 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4951299817766994e-005</threshold>
+            <left_val>0.4324473142623901</left_val>
+            <right_val>0.5480644106864929</right_val></_></_>
+        <_>
+          <!-- tree 115 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 18 8 2 -1.</_>
+                <_>12 19 8 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0187417995184660</threshold>
+            <left_val>0.1580052971839905</left_val>
+            <right_val>0.5178533196449280</right_val></_></_>
+        <_>
+          <!-- tree 116 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 14 6 2 -1.</_>
+                <_>7 15 6 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.7572239739820361e-003</threshold>
+            <left_val>0.4517636895179749</left_val>
+            <right_val>0.5773764252662659</right_val></_></_>
+        <_>
+          <!-- tree 117 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 12 4 8 -1.</_>
+                <_>10 12 2 4 2.</_>
+                <_>8 16 2 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.1391119118779898e-003</threshold>
+            <left_val>0.4149647951126099</left_val>
+            <right_val>0.5460842251777649</right_val></_></_>
+        <_>
+          <!-- tree 118 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 9 3 3 -1.</_>
+                <_>4 10 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.6656779381446540e-005</threshold>
+            <left_val>0.4039090871810913</left_val>
+            <right_val>0.5293084979057312</right_val></_></_>
+        <_>
+          <!-- tree 119 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 10 6 2 -1.</_>
+                <_>9 10 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.7743421532213688e-003</threshold>
+            <left_val>0.4767651855945587</left_val>
+            <right_val>0.6121956110000610</right_val></_></_>
+        <_>
+          <!-- tree 120 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 0 4 15 -1.</_>
+                <_>7 0 2 15 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.3868161998689175e-003</threshold>
+            <left_val>0.3586258888244629</left_val>
+            <right_val>0.5187280774116516</right_val></_></_>
+        <_>
+          <!-- tree 121 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 6 12 14 -1.</_>
+                <_>12 6 4 14 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0140409301966429</threshold>
+            <left_val>0.4712139964103699</left_val>
+            <right_val>0.5576155781745911</right_val></_></_>
+        <_>
+          <!-- tree 122 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 16 3 3 -1.</_>
+                <_>5 17 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.5258329957723618e-003</threshold>
+            <left_val>0.2661027014255524</left_val>
+            <right_val>0.5039281249046326</right_val></_></_>
+        <_>
+          <!-- tree 123 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 1 12 19 -1.</_>
+                <_>12 1 4 19 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.3868423998355866</threshold>
+            <left_val>0.5144339799880981</left_val>
+            <right_val>0.2525899112224579</right_val></_></_>
+        <_>
+          <!-- tree 124 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 0 3 2 -1.</_>
+                <_>3 1 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.1459240340627730e-004</threshold>
+            <left_val>0.4284994900226593</left_val>
+            <right_val>0.5423371195793152</right_val></_></_>
+        <_>
+          <!-- tree 125 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 12 4 5 -1.</_>
+                <_>10 12 2 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0184675697237253</threshold>
+            <left_val>0.3885835111141205</left_val>
+            <right_val>0.5213062167167664</right_val></_></_>
+        <_>
+          <!-- tree 126 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 12 4 5 -1.</_>
+                <_>8 12 2 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.5907011372037232e-004</threshold>
+            <left_val>0.5412563085556030</left_val>
+            <right_val>0.4235909879207611</right_val></_></_>
+        <_>
+          <!-- tree 127 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 11 2 2 -1.</_>
+                <_>12 11 1 1 2.</_>
+                <_>11 12 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.2527540093287826e-003</threshold>
+            <left_val>0.4899305105209351</left_val>
+            <right_val>0.6624091267585754</right_val></_></_>
+        <_>
+          <!-- tree 128 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 3 6 -1.</_>
+                <_>0 4 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4910609461367130e-003</threshold>
+            <left_val>0.5286778211593628</left_val>
+            <right_val>0.4040051996707916</right_val></_></_>
+        <_>
+          <!-- tree 129 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 11 2 2 -1.</_>
+                <_>12 11 1 1 2.</_>
+                <_>11 12 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.5435562757775187e-004</threshold>
+            <left_val>0.6032990217208862</left_val>
+            <right_val>0.4795120060443878</right_val></_></_>
+        <_>
+          <!-- tree 130 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 6 4 10 -1.</_>
+                <_>7 11 4 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.9478838704526424e-003</threshold>
+            <left_val>0.4084401130676270</left_val>
+            <right_val>0.5373504161834717</right_val></_></_>
+        <_>
+          <!-- tree 131 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 11 2 2 -1.</_>
+                <_>12 11 1 1 2.</_>
+                <_>11 12 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.8092920547351241e-004</threshold>
+            <left_val>0.4846062958240509</left_val>
+            <right_val>0.5759382247924805</right_val></_></_>
+        <_>
+          <!-- tree 132 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 13 5 2 -1.</_>
+                <_>2 14 5 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.6073717577382922e-004</threshold>
+            <left_val>0.5164741277694702</left_val>
+            <right_val>0.3554979860782623</right_val></_></_>
+        <_>
+          <!-- tree 133 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 11 2 2 -1.</_>
+                <_>12 11 1 1 2.</_>
+                <_>11 12 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.6883929967880249e-004</threshold>
+            <left_val>0.5677582025527954</left_val>
+            <right_val>0.4731765985488892</right_val></_></_>
+        <_>
+          <!-- tree 134 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 11 2 2 -1.</_>
+                <_>7 11 1 1 2.</_>
+                <_>8 12 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.1599370520561934e-003</threshold>
+            <left_val>0.4731487035751343</left_val>
+            <right_val>0.7070567011833191</right_val></_></_>
+        <_>
+          <!-- tree 135 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 13 3 3 -1.</_>
+                <_>14 14 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.6235301308333874e-003</threshold>
+            <left_val>0.5240243077278137</left_val>
+            <right_val>0.2781791985034943</right_val></_></_>
+        <_>
+          <!-- tree 136 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 13 3 3 -1.</_>
+                <_>3 14 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.0243991427123547e-003</threshold>
+            <left_val>0.2837013900279999</left_val>
+            <right_val>0.5062304139137268</right_val></_></_>
+        <_>
+          <!-- tree 137 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 14 2 3 -1.</_>
+                <_>9 15 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.7611639648675919e-003</threshold>
+            <left_val>0.7400717735290527</left_val>
+            <right_val>0.4934569001197815</right_val></_></_>
+        <_>
+          <!-- tree 138 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 3 3 -1.</_>
+                <_>8 8 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.1515100747346878e-003</threshold>
+            <left_val>0.5119131207466126</left_val>
+            <right_val>0.3407008051872253</right_val></_></_>
+        <_>
+          <!-- tree 139 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 5 3 3 -1.</_>
+                <_>13 6 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.2465080991387367e-003</threshold>
+            <left_val>0.4923788011074066</left_val>
+            <right_val>0.6579058766365051</right_val></_></_>
+        <_>
+          <!-- tree 140 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 9 5 3 -1.</_>
+                <_>0 10 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.0597478188574314e-003</threshold>
+            <left_val>0.2434711009263992</left_val>
+            <right_val>0.5032842159271240</right_val></_></_>
+        <_>
+          <!-- tree 141 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 5 3 3 -1.</_>
+                <_>13 6 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.0587709732353687e-003</threshold>
+            <left_val>0.5900310873985291</left_val>
+            <right_val>0.4695087075233460</right_val></_></_>
+        <_>
+          <!-- tree 142 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 12 2 8 -1.</_>
+                <_>9 12 1 4 2.</_>
+                <_>10 16 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.4146060459315777e-003</threshold>
+            <left_val>0.3647317886352539</left_val>
+            <right_val>0.5189201831817627</right_val></_></_>
+        <_>
+          <!-- tree 143 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 7 2 2 -1.</_>
+                <_>12 7 1 1 2.</_>
+                <_>11 8 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.4817609917372465e-003</threshold>
+            <left_val>0.6034948229789734</left_val>
+            <right_val>0.4940128028392792</right_val></_></_>
+        <_>
+          <!-- tree 144 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 16 6 4 -1.</_>
+                <_>3 16 3 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.3016400672495365e-003</threshold>
+            <left_val>0.5818989872932434</left_val>
+            <right_val>0.4560427963733673</right_val></_></_>
+        <_>
+          <!-- tree 145 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 6 2 3 -1.</_>
+                <_>10 7 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.4763428848236799e-003</threshold>
+            <left_val>0.5217475891113281</left_val>
+            <right_val>0.3483993113040924</right_val></_></_>
+        <_>
+          <!-- tree 146 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 2 6 -1.</_>
+                <_>9 7 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0222508702427149</threshold>
+            <left_val>0.2360700070858002</left_val>
+            <right_val>0.5032082796096802</right_val></_></_>
+        <_>
+          <!-- tree 147 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 15 8 4 -1.</_>
+                <_>12 15 4 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0306125506758690</threshold>
+            <left_val>0.6499186754226685</left_val>
+            <right_val>0.4914919137954712</right_val></_></_>
+        <_>
+          <!-- tree 148 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 14 8 6 -1.</_>
+                <_>4 14 4 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0130574796348810</threshold>
+            <left_val>0.4413323104381561</left_val>
+            <right_val>0.5683764219284058</right_val></_></_>
+        <_>
+          <!-- tree 149 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 0 3 2 -1.</_>
+                <_>10 0 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.0095742810517550e-004</threshold>
+            <left_val>0.4359731078147888</left_val>
+            <right_val>0.5333483219146729</right_val></_></_>
+        <_>
+          <!-- tree 150 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 15 4 2 -1.</_>
+                <_>6 15 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.1514250915497541e-004</threshold>
+            <left_val>0.5504062771797180</left_val>
+            <right_val>0.4326060116291046</right_val></_></_>
+        <_>
+          <!-- tree 151 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 7 3 13 -1.</_>
+                <_>13 7 1 13 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0137762902304530</threshold>
+            <left_val>0.4064112901687622</left_val>
+            <right_val>0.5201548933982849</right_val></_></_>
+        <_>
+          <!-- tree 152 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 3 13 -1.</_>
+                <_>6 7 1 13 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0322965085506439</threshold>
+            <left_val>0.0473519712686539</left_val>
+            <right_val>0.4977194964885712</right_val></_></_>
+        <_>
+          <!-- tree 153 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 6 3 9 -1.</_>
+                <_>9 9 3 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0535569787025452</threshold>
+            <left_val>0.4881733059883118</left_val>
+            <right_val>0.6666939258575440</right_val></_></_>
+        <_>
+          <!-- tree 154 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 4 7 12 -1.</_>
+                <_>4 10 7 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.1889545544981956e-003</threshold>
+            <left_val>0.5400037169456482</left_val>
+            <right_val>0.4240820109844208</right_val></_></_>
+        <_>
+          <!-- tree 155 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 12 2 2 -1.</_>
+                <_>13 12 1 1 2.</_>
+                <_>12 13 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.1055320394225419e-004</threshold>
+            <left_val>0.4802047908306122</left_val>
+            <right_val>0.5563852787017822</right_val></_></_>
+        <_>
+          <!-- tree 156 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 12 2 2 -1.</_>
+                <_>6 12 1 1 2.</_>
+                <_>7 13 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.4382730480283499e-003</threshold>
+            <left_val>0.7387793064117432</left_val>
+            <right_val>0.4773685038089752</right_val></_></_>
+        <_>
+          <!-- tree 157 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 9 4 2 -1.</_>
+                <_>10 9 2 1 2.</_>
+                <_>8 10 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.2835570164024830e-003</threshold>
+            <left_val>0.5288546085357666</left_val>
+            <right_val>0.3171291947364807</right_val></_></_>
+        <_>
+          <!-- tree 158 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 6 2 2 -1.</_>
+                <_>3 6 1 1 2.</_>
+                <_>4 7 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.3729570675641298e-003</threshold>
+            <left_val>0.4750812947750092</left_val>
+            <right_val>0.7060170769691467</right_val></_></_>
+        <_>
+          <!-- tree 159 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 6 3 2 -1.</_>
+                <_>16 7 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.4541699783876538e-003</threshold>
+            <left_val>0.3811730146408081</left_val>
+            <right_val>0.5330739021301270</right_val></_></_></trees>
+      <stage_threshold>79.2490768432617190</stage_threshold>
+      <parent>16</parent>
+      <next>-1</next></_>
+    <_>
+      <!-- stage 18 -->
+      <trees>
+        <_>
+          <!-- tree 0 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 7 19 4 -1.</_>
+                <_>0 9 19 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0557552389800549</threshold>
+            <left_val>0.4019156992435455</left_val>
+            <right_val>0.6806036829948425</right_val></_></_>
+        <_>
+          <!-- tree 1 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 2 10 1 -1.</_>
+                <_>10 2 5 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.4730248842388391e-003</threshold>
+            <left_val>0.3351148962974548</left_val>
+            <right_val>0.5965719819068909</right_val></_></_>
+        <_>
+          <!-- tree 2 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 4 2 12 -1.</_>
+                <_>9 10 2 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.5031698644161224e-004</threshold>
+            <left_val>0.5557708144187927</left_val>
+            <right_val>0.3482286930084229</right_val></_></_>
+        <_>
+          <!-- tree 3 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 18 4 1 -1.</_>
+                <_>12 18 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.4167630150914192e-004</threshold>
+            <left_val>0.4260858893394470</left_val>
+            <right_val>0.5693380832672119</right_val></_></_>
+        <_>
+          <!-- tree 4 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 7 6 4 -1.</_>
+                <_>1 7 3 2 2.</_>
+                <_>4 9 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.7193678589537740e-004</threshold>
+            <left_val>0.3494240045547485</left_val>
+            <right_val>0.5433688759803772</right_val></_></_>
+        <_>
+          <!-- tree 5 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 0 6 13 -1.</_>
+                <_>14 0 2 13 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5999219613149762e-003</threshold>
+            <left_val>0.4028499126434326</left_val>
+            <right_val>0.5484359264373779</right_val></_></_>
+        <_>
+          <!-- tree 6 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 0 6 13 -1.</_>
+                <_>4 0 2 13 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.1832080053864047e-004</threshold>
+            <left_val>0.3806901872158051</left_val>
+            <right_val>0.5425465106964111</right_val></_></_>
+        <_>
+          <!-- tree 7 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 5 8 8 -1.</_>
+                <_>10 9 8 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.2909031142480671e-004</threshold>
+            <left_val>0.2620100080966950</left_val>
+            <right_val>0.5429521799087524</right_val></_></_>
+        <_>
+          <!-- tree 8 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 3 2 5 -1.</_>
+                <_>9 3 1 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.9518108931370080e-004</threshold>
+            <left_val>0.3799768984317780</left_val>
+            <right_val>0.5399264097213745</right_val></_></_>
+        <_>
+          <!-- tree 9 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 4 9 1 -1.</_>
+                <_>11 4 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.0466710389591753e-005</threshold>
+            <left_val>0.4433645009994507</left_val>
+            <right_val>0.5440226197242737</right_val></_></_>
+        <_>
+          <!-- tree 10 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 4 9 1 -1.</_>
+                <_>6 4 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5007190086180344e-005</threshold>
+            <left_val>0.3719654977321625</left_val>
+            <right_val>0.5409119725227356</right_val></_></_>
+        <_>
+          <!-- tree 11 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 0 18 10 -1.</_>
+                <_>7 0 6 10 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.1393561065196991</threshold>
+            <left_val>0.5525395870208740</left_val>
+            <right_val>0.4479042887687683</right_val></_></_>
+        <_>
+          <!-- tree 12 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 17 5 3 -1.</_>
+                <_>7 18 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.6461990308016539e-003</threshold>
+            <left_val>0.4264501035213471</left_val>
+            <right_val>0.5772169828414917</right_val></_></_>
+        <_>
+          <!-- tree 13 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 11 6 1 -1.</_>
+                <_>9 11 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.9984431825578213e-004</threshold>
+            <left_val>0.4359526038169861</left_val>
+            <right_val>0.5685871243476868</right_val></_></_>
+        <_>
+          <!-- tree 14 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 2 3 2 -1.</_>
+                <_>2 3 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.0971280280500650e-003</threshold>
+            <left_val>0.3390136957168579</left_val>
+            <right_val>0.5205408930778503</right_val></_></_>
+        <_>
+          <!-- tree 15 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 12 4 2 -1.</_>
+                <_>8 13 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.6919892560690641e-004</threshold>
+            <left_val>0.4557456076145172</left_val>
+            <right_val>0.5980659723281860</right_val></_></_>
+        <_>
+          <!-- tree 16 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 10 3 6 -1.</_>
+                <_>6 13 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.6471042595803738e-004</threshold>
+            <left_val>0.5134841203689575</left_val>
+            <right_val>0.2944033145904541</right_val></_></_>
+        <_>
+          <!-- tree 17 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 4 2 4 -1.</_>
+                <_>11 4 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.7182599296793342e-004</threshold>
+            <left_val>0.3906578123569489</left_val>
+            <right_val>0.5377181172370911</right_val></_></_>
+        <_>
+          <!-- tree 18 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 4 2 4 -1.</_>
+                <_>8 4 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.0249499104684219e-005</threshold>
+            <left_val>0.3679609894752502</left_val>
+            <right_val>0.5225688815116882</right_val></_></_>
+        <_>
+          <!-- tree 19 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 6 2 4 -1.</_>
+                <_>9 6 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.5225896909832954e-003</threshold>
+            <left_val>0.7293102145195007</left_val>
+            <right_val>0.4892365038394928</right_val></_></_>
+        <_>
+          <!-- tree 20 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 13 8 3 -1.</_>
+                <_>6 14 8 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.6705560265108943e-003</threshold>
+            <left_val>0.4345324933528900</left_val>
+            <right_val>0.5696138143539429</right_val></_></_>
+        <_>
+          <!-- tree 21 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 15 3 4 -1.</_>
+                <_>10 15 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.1433838456869125e-003</threshold>
+            <left_val>0.2591280043125153</left_val>
+            <right_val>0.5225623846054077</right_val></_></_>
+        <_>
+          <!-- tree 22 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 2 2 17 -1.</_>
+                <_>10 2 1 17 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0163193698972464</threshold>
+            <left_val>0.6922279000282288</left_val>
+            <right_val>0.4651575982570648</right_val></_></_>
+        <_>
+          <!-- tree 23 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 0 6 1 -1.</_>
+                <_>9 0 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.8034260980784893e-003</threshold>
+            <left_val>0.5352262854576111</left_val>
+            <right_val>0.3286302983760834</right_val></_></_>
+        <_>
+          <!-- tree 24 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 15 3 4 -1.</_>
+                <_>9 15 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.5421929359436035e-003</threshold>
+            <left_val>0.2040544003248215</left_val>
+            <right_val>0.5034546256065369</right_val></_></_>
+        <_>
+          <!-- tree 25 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 13 7 3 -1.</_>
+                <_>7 14 7 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0143631100654602</threshold>
+            <left_val>0.6804888844490051</left_val>
+            <right_val>0.4889059066772461</right_val></_></_>
+        <_>
+          <!-- tree 26 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 16 3 3 -1.</_>
+                <_>9 16 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.9063588529825211e-004</threshold>
+            <left_val>0.5310695767402649</left_val>
+            <right_val>0.3895480930805206</right_val></_></_>
+        <_>
+          <!-- tree 27 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 2 8 10 -1.</_>
+                <_>6 7 8 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.4060191139578819e-003</threshold>
+            <left_val>0.5741562843322754</left_val>
+            <right_val>0.4372426867485046</right_val></_></_>
+        <_>
+          <!-- tree 28 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 5 8 8 -1.</_>
+                <_>2 9 8 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.8862540309783071e-004</threshold>
+            <left_val>0.2831785976886749</left_val>
+            <right_val>0.5098205208778381</right_val></_></_>
+        <_>
+          <!-- tree 29 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 16 2 2 -1.</_>
+                <_>14 17 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.7979281041771173e-003</threshold>
+            <left_val>0.3372507989406586</left_val>
+            <right_val>0.5246580243110657</right_val></_></_>
+        <_>
+          <!-- tree 30 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 16 2 2 -1.</_>
+                <_>4 17 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4627049677073956e-004</threshold>
+            <left_val>0.5306674242019653</left_val>
+            <right_val>0.3911710083484650</right_val></_></_>
+        <_>
+          <!-- tree 31 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 11 4 6 -1.</_>
+                <_>10 14 4 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.9164638767251745e-005</threshold>
+            <left_val>0.5462496280670166</left_val>
+            <right_val>0.3942720890045166</right_val></_></_>
+        <_>
+          <!-- tree 32 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 11 4 6 -1.</_>
+                <_>6 14 4 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0335825011134148</threshold>
+            <left_val>0.2157824039459229</left_val>
+            <right_val>0.5048211812973023</right_val></_></_>
+        <_>
+          <!-- tree 33 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 14 1 3 -1.</_>
+                <_>10 15 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.5339309833943844e-003</threshold>
+            <left_val>0.6465312242507935</left_val>
+            <right_val>0.4872696995735169</right_val></_></_>
+        <_>
+          <!-- tree 34 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 4 3 -1.</_>
+                <_>8 15 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.0144111737608910e-003</threshold>
+            <left_val>0.4617668092250824</left_val>
+            <right_val>0.6248074769973755</right_val></_></_>
+        <_>
+          <!-- tree 35 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 0 4 6 -1.</_>
+                <_>12 0 2 3 2.</_>
+                <_>10 3 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0188173707574606</threshold>
+            <left_val>0.5220689177513123</left_val>
+            <right_val>0.2000052034854889</right_val></_></_>
+        <_>
+          <!-- tree 36 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 3 20 2 -1.</_>
+                <_>0 4 20 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.3434339780360460e-003</threshold>
+            <left_val>0.4014537930488586</left_val>
+            <right_val>0.5301619768142700</right_val></_></_>
+        <_>
+          <!-- tree 37 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 0 8 2 -1.</_>
+                <_>16 0 4 1 2.</_>
+                <_>12 1 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.7557960236445069e-003</threshold>
+            <left_val>0.4794039130210877</left_val>
+            <right_val>0.5653169751167297</right_val></_></_>
+        <_>
+          <!-- tree 38 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 12 10 8 -1.</_>
+                <_>2 16 10 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0956374630331993</threshold>
+            <left_val>0.2034195065498352</left_val>
+            <right_val>0.5006706714630127</right_val></_></_>
+        <_>
+          <!-- tree 39 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>17 7 2 10 -1.</_>
+                <_>18 7 1 5 2.</_>
+                <_>17 12 1 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0222412291914225</threshold>
+            <left_val>0.7672473192214966</left_val>
+            <right_val>0.5046340227127075</right_val></_></_>
+        <_>
+          <!-- tree 40 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 7 2 10 -1.</_>
+                <_>1 7 1 5 2.</_>
+                <_>2 12 1 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0155758196488023</threshold>
+            <left_val>0.7490342259407044</left_val>
+            <right_val>0.4755851030349731</right_val></_></_>
+        <_>
+          <!-- tree 41 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 10 3 6 -1.</_>
+                <_>15 12 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.3599118255078793e-003</threshold>
+            <left_val>0.5365303754806519</left_val>
+            <right_val>0.4004670977592468</right_val></_></_>
+        <_>
+          <!-- tree 42 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 4 6 2 -1.</_>
+                <_>6 4 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0217634998261929</threshold>
+            <left_val>0.0740154981613159</left_val>
+            <right_val>0.4964174926280975</right_val></_></_>
+        <_>
+          <!-- tree 43 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 5 20 6 -1.</_>
+                <_>0 7 20 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.1656159013509750</threshold>
+            <left_val>0.2859103083610535</left_val>
+            <right_val>0.5218086242675781</right_val></_></_>
+        <_>
+          <!-- tree 44 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 8 2 -1.</_>
+                <_>0 0 4 1 2.</_>
+                <_>4 1 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.6461320046801120e-004</threshold>
+            <left_val>0.4191615879535675</left_val>
+            <right_val>0.5380793213844299</right_val></_></_>
+        <_>
+          <!-- tree 45 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 0 18 4 -1.</_>
+                <_>7 0 6 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.9077502489089966e-003</threshold>
+            <left_val>0.6273192763328552</left_val>
+            <right_val>0.4877404868602753</right_val></_></_>
+        <_>
+          <!-- tree 46 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 13 6 2 -1.</_>
+                <_>1 14 6 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.6346449097618461e-004</threshold>
+            <left_val>0.5159940719604492</left_val>
+            <right_val>0.3671025931835175</right_val></_></_>
+        <_>
+          <!-- tree 47 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 8 3 4 -1.</_>
+                <_>11 8 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.3751760125160217e-003</threshold>
+            <left_val>0.5884376764297485</left_val>
+            <right_val>0.4579083919525147</right_val></_></_>
+        <_>
+          <!-- tree 48 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 1 6 1 -1.</_>
+                <_>8 1 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.4081239933148026e-003</threshold>
+            <left_val>0.3560509979724884</left_val>
+            <right_val>0.5139945149421692</right_val></_></_>
+        <_>
+          <!-- tree 49 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 4 3 -1.</_>
+                <_>8 15 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.9342888630926609e-003</threshold>
+            <left_val>0.5994288921356201</left_val>
+            <right_val>0.4664272069931030</right_val></_></_>
+        <_>
+          <!-- tree 50 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 6 18 2 -1.</_>
+                <_>10 6 9 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0319669283926487</threshold>
+            <left_val>0.3345462083816528</left_val>
+            <right_val>0.5144183039665222</right_val></_></_>
+        <_>
+          <!-- tree 51 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 11 1 2 -1.</_>
+                <_>15 12 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5089280168467667e-005</threshold>
+            <left_val>0.5582656264305115</left_val>
+            <right_val>0.4414057135581970</right_val></_></_>
+        <_>
+          <!-- tree 52 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 5 1 2 -1.</_>
+                <_>6 6 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.1994470413774252e-004</threshold>
+            <left_val>0.4623680114746094</left_val>
+            <right_val>0.6168993711471558</right_val></_></_>
+        <_>
+          <!-- tree 53 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 4 1 3 -1.</_>
+                <_>13 5 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.4220460802316666e-003</threshold>
+            <left_val>0.6557074785232544</left_val>
+            <right_val>0.4974805116653442</right_val></_></_>
+        <_>
+          <!-- tree 54 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 15 1 2 -1.</_>
+                <_>2 16 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.7723299970384687e-004</threshold>
+            <left_val>0.5269501805305481</left_val>
+            <right_val>0.3901908099651337</right_val></_></_>
+        <_>
+          <!-- tree 55 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 4 4 3 -1.</_>
+                <_>12 5 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5716759953647852e-003</threshold>
+            <left_val>0.4633373022079468</left_val>
+            <right_val>0.5790457725524902</right_val></_></_>
+        <_>
+          <!-- tree 56 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 7 3 -1.</_>
+                <_>0 1 7 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.9041329920291901e-003</threshold>
+            <left_val>0.2689608037471771</left_val>
+            <right_val>0.5053591132164002</right_val></_></_>
+        <_>
+          <!-- tree 57 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 12 6 2 -1.</_>
+                <_>9 12 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.0677518700249493e-004</threshold>
+            <left_val>0.5456603169441223</left_val>
+            <right_val>0.4329898953437805</right_val></_></_>
+        <_>
+          <!-- tree 58 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 4 2 3 -1.</_>
+                <_>5 5 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.7604780197143555e-003</threshold>
+            <left_val>0.4648993909358978</left_val>
+            <right_val>0.6689761877059937</right_val></_></_>
+        <_>
+          <!-- tree 59 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>18 4 2 3 -1.</_>
+                <_>18 5 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.9100088868290186e-003</threshold>
+            <left_val>0.5309703946113586</left_val>
+            <right_val>0.3377839922904968</right_val></_></_>
+        <_>
+          <!-- tree 60 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 0 8 6 -1.</_>
+                <_>3 2 8 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.3885459629818797e-003</threshold>
+            <left_val>0.4074738919734955</left_val>
+            <right_val>0.5349133014678955</right_val></_></_>
+        <_>
+          <!-- tree 61 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 20 6 -1.</_>
+                <_>10 2 10 3 2.</_>
+                <_>0 5 10 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0767642632126808</threshold>
+            <left_val>0.1992176026105881</left_val>
+            <right_val>0.5228242278099060</right_val></_></_>
+        <_>
+          <!-- tree 62 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 7 2 4 -1.</_>
+                <_>5 7 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.2688310127705336e-004</threshold>
+            <left_val>0.5438501834869385</left_val>
+            <right_val>0.4253072142601013</right_val></_></_>
+        <_>
+          <!-- tree 63 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 10 15 2 -1.</_>
+                <_>8 10 5 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.3094152137637138e-003</threshold>
+            <left_val>0.4259178936481476</left_val>
+            <right_val>0.5378909707069397</right_val></_></_>
+        <_>
+          <!-- tree 64 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 0 12 11 -1.</_>
+                <_>9 0 6 11 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.1100727990269661</threshold>
+            <left_val>0.6904156804084778</left_val>
+            <right_val>0.4721749126911163</right_val></_></_>
+        <_>
+          <!-- tree 65 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 0 2 6 -1.</_>
+                <_>13 0 1 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.8619659133255482e-004</threshold>
+            <left_val>0.4524914920330048</left_val>
+            <right_val>0.5548306107521057</right_val></_></_>
+        <_>
+          <!-- tree 66 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 19 2 1 -1.</_>
+                <_>1 19 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.9425329557852820e-005</threshold>
+            <left_val>0.5370373725891113</left_val>
+            <right_val>0.4236463904380798</right_val></_></_>
+        <_>
+          <!-- tree 67 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 10 4 10 -1.</_>
+                <_>18 10 2 5 2.</_>
+                <_>16 15 2 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0248865708708763</threshold>
+            <left_val>0.6423557996749878</left_val>
+            <right_val>0.4969303905963898</right_val></_></_>
+        <_>
+          <!-- tree 68 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 8 10 3 -1.</_>
+                <_>4 9 10 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0331488512456417</threshold>
+            <left_val>0.4988475143909454</left_val>
+            <right_val>0.1613811999559403</right_val></_></_>
+        <_>
+          <!-- tree 69 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 12 3 3 -1.</_>
+                <_>14 13 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.8491691965609789e-004</threshold>
+            <left_val>0.5416026115417481</left_val>
+            <right_val>0.4223009049892426</right_val></_></_>
+        <_>
+          <!-- tree 70 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 10 4 10 -1.</_>
+                <_>0 10 2 5 2.</_>
+                <_>2 15 2 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.7087189741432667e-003</threshold>
+            <left_val>0.4576328992843628</left_val>
+            <right_val>0.6027557849884033</right_val></_></_>
+        <_>
+          <!-- tree 71 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>18 3 2 6 -1.</_>
+                <_>18 5 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.4144479539245367e-003</threshold>
+            <left_val>0.5308973193168640</left_val>
+            <right_val>0.4422498941421509</right_val></_></_>
+        <_>
+          <!-- tree 72 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 6 1 3 -1.</_>
+                <_>6 7 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.9523180089890957e-003</threshold>
+            <left_val>0.4705634117126465</left_val>
+            <right_val>0.6663324832916260</right_val></_></_>
+        <_>
+          <!-- tree 73 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 7 7 2 -1.</_>
+                <_>7 8 7 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.3031980488449335e-003</threshold>
+            <left_val>0.4406126141548157</left_val>
+            <right_val>0.5526962280273438</right_val></_></_>
+        <_>
+          <!-- tree 74 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 3 2 6 -1.</_>
+                <_>0 5 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.4735497795045376e-003</threshold>
+            <left_val>0.5129023790359497</left_val>
+            <right_val>0.3301498889923096</right_val></_></_>
+        <_>
+          <!-- tree 75 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 1 3 1 -1.</_>
+                <_>12 1 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.6652868837118149e-003</threshold>
+            <left_val>0.3135471045970917</left_val>
+            <right_val>0.5175036191940308</right_val></_></_>
+        <_>
+          <!-- tree 76 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 0 2 6 -1.</_>
+                <_>6 0 1 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.3666770246345550e-004</threshold>
+            <left_val>0.4119370877742767</left_val>
+            <right_val>0.5306876897811890</right_val></_></_>
+        <_>
+          <!-- tree 77 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 1 18 14 -1.</_>
+                <_>7 1 6 14 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0171264503151178</threshold>
+            <left_val>0.6177806258201599</left_val>
+            <right_val>0.4836578965187073</right_val></_></_>
+        <_>
+          <!-- tree 78 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 6 8 3 -1.</_>
+                <_>8 6 4 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.6601430727168918e-004</threshold>
+            <left_val>0.3654330968856812</left_val>
+            <right_val>0.5169736742973328</right_val></_></_>
+        <_>
+          <!-- tree 79 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 12 6 2 -1.</_>
+                <_>9 12 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0229323804378510</threshold>
+            <left_val>0.3490915000438690</left_val>
+            <right_val>0.5163992047309876</right_val></_></_>
+        <_>
+          <!-- tree 80 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 12 6 2 -1.</_>
+                <_>8 12 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.3316550068557262e-003</threshold>
+            <left_val>0.5166299939155579</left_val>
+            <right_val>0.3709389865398407</right_val></_></_>
+        <_>
+          <!-- tree 81 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 7 3 5 -1.</_>
+                <_>11 7 1 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0169256608933210</threshold>
+            <left_val>0.5014736056327820</left_val>
+            <right_val>0.8053988218307495</right_val></_></_>
+        <_>
+          <!-- tree 82 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 7 3 5 -1.</_>
+                <_>8 7 1 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.9858826249837875e-003</threshold>
+            <left_val>0.6470788717269898</left_val>
+            <right_val>0.4657020866870880</right_val></_></_>
+        <_>
+          <!-- tree 83 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 0 3 10 -1.</_>
+                <_>14 0 1 10 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0118746999651194</threshold>
+            <left_val>0.3246378898620606</left_val>
+            <right_val>0.5258755087852478</right_val></_></_>
+        <_>
+          <!-- tree 84 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 11 3 2 -1.</_>
+                <_>4 12 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.9350569345988333e-004</threshold>
+            <left_val>0.5191941857337952</left_val>
+            <right_val>0.3839643895626068</right_val></_></_>
+        <_>
+          <!-- tree 85 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>17 3 3 6 -1.</_>
+                <_>18 3 1 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.8713490143418312e-003</threshold>
+            <left_val>0.4918133914470673</left_val>
+            <right_val>0.6187043190002441</right_val></_></_>
+        <_>
+          <!-- tree 86 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 8 18 10 -1.</_>
+                <_>1 13 18 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.2483879029750824</threshold>
+            <left_val>0.1836802959442139</left_val>
+            <right_val>0.4988150000572205</right_val></_></_>
+        <_>
+          <!-- tree 87 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 0 3 10 -1.</_>
+                <_>14 0 1 10 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0122560001909733</threshold>
+            <left_val>0.5227053761482239</left_val>
+            <right_val>0.3632029891014099</right_val></_></_>
+        <_>
+          <!-- tree 88 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 14 2 3 -1.</_>
+                <_>9 15 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.3990179700776935e-004</threshold>
+            <left_val>0.4490250051021576</left_val>
+            <right_val>0.5774148106575012</right_val></_></_>
+        <_>
+          <!-- tree 89 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 3 3 7 -1.</_>
+                <_>17 3 1 7 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.5407369248569012e-003</threshold>
+            <left_val>0.4804787039756775</left_val>
+            <right_val>0.5858299136161804</right_val></_></_>
+        <_>
+          <!-- tree 90 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 0 3 10 -1.</_>
+                <_>5 0 1 10 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0148224299773574</threshold>
+            <left_val>0.2521049976348877</left_val>
+            <right_val>0.5023537278175354</right_val></_></_>
+        <_>
+          <!-- tree 91 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 3 3 7 -1.</_>
+                <_>17 3 1 7 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.7973959483206272e-003</threshold>
+            <left_val>0.5996695756912231</left_val>
+            <right_val>0.4853715002536774</right_val></_></_>
+        <_>
+          <!-- tree 92 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 9 1 2 -1.</_>
+                <_>0 10 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.2662148158997297e-004</threshold>
+            <left_val>0.5153716802597046</left_val>
+            <right_val>0.3671779930591583</right_val></_></_>
+        <_>
+          <!-- tree 93 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>18 1 2 10 -1.</_>
+                <_>18 1 1 10 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0172325801104307</threshold>
+            <left_val>0.6621719002723694</left_val>
+            <right_val>0.4994656145572662</right_val></_></_>
+        <_>
+          <!-- tree 94 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 1 2 10 -1.</_>
+                <_>1 1 1 10 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.8624086454510689e-003</threshold>
+            <left_val>0.4633395075798035</left_val>
+            <right_val>0.6256101727485657</right_val></_></_>
+        <_>
+          <!-- tree 95 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 16 3 4 -1.</_>
+                <_>11 16 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.7343620099127293e-003</threshold>
+            <left_val>0.3615573048591614</left_val>
+            <right_val>0.5281885266304016</right_val></_></_>
+        <_>
+          <!-- tree 96 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 8 3 3 -1.</_>
+                <_>3 8 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.3048478700220585e-004</threshold>
+            <left_val>0.4442889094352722</left_val>
+            <right_val>0.5550957918167114</right_val></_></_>
+        <_>
+          <!-- tree 97 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 0 2 6 -1.</_>
+                <_>12 0 1 3 2.</_>
+                <_>11 3 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.6602199114859104e-003</threshold>
+            <left_val>0.5162935256958008</left_val>
+            <right_val>0.2613354921340942</right_val></_></_>
+        <_>
+          <!-- tree 98 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 0 2 6 -1.</_>
+                <_>7 0 1 3 2.</_>
+                <_>8 3 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.1048377752304077e-003</threshold>
+            <left_val>0.2789632081985474</left_val>
+            <right_val>0.5019031763076782</right_val></_></_>
+        <_>
+          <!-- tree 99 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 3 3 7 -1.</_>
+                <_>17 3 1 7 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.8512578941881657e-003</threshold>
+            <left_val>0.4968984127044678</left_val>
+            <right_val>0.5661668181419373</right_val></_></_>
+        <_>
+          <!-- tree 100 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 3 3 7 -1.</_>
+                <_>2 3 1 7 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.9896453320980072e-004</threshold>
+            <left_val>0.4445607960224152</left_val>
+            <right_val>0.5551813244819641</right_val></_></_>
+        <_>
+          <!-- tree 101 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 1 6 16 -1.</_>
+                <_>16 1 2 16 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.2702363133430481</threshold>
+            <left_val>0.0293882098048925</left_val>
+            <right_val>0.5151314139366150</right_val></_></_>
+        <_>
+          <!-- tree 102 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 1 6 16 -1.</_>
+                <_>2 1 2 16 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0130906803533435</threshold>
+            <left_val>0.5699399709701538</left_val>
+            <right_val>0.4447459876537323</right_val></_></_>
+        <_>
+          <!-- tree 103 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 0 16 8 -1.</_>
+                <_>10 0 8 4 2.</_>
+                <_>2 4 8 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.4342790544033051e-003</threshold>
+            <left_val>0.4305466115474701</left_val>
+            <right_val>0.5487895011901856</right_val></_></_>
+        <_>
+          <!-- tree 104 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 8 5 3 -1.</_>
+                <_>6 9 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5482039889320731e-003</threshold>
+            <left_val>0.3680317103862763</left_val>
+            <right_val>0.5128080844879150</right_val></_></_>
+        <_>
+          <!-- tree 105 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 3 3 -1.</_>
+                <_>10 7 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.3746132180094719e-003</threshold>
+            <left_val>0.4838916957378388</left_val>
+            <right_val>0.6101555824279785</right_val></_></_>
+        <_>
+          <!-- tree 106 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 8 4 3 -1.</_>
+                <_>8 9 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5786769799888134e-003</threshold>
+            <left_val>0.5325223207473755</left_val>
+            <right_val>0.4118548035621643</right_val></_></_>
+        <_>
+          <!-- tree 107 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 6 2 4 -1.</_>
+                <_>9 6 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.6856050137430429e-003</threshold>
+            <left_val>0.4810948073863983</left_val>
+            <right_val>0.6252303123474121</right_val></_></_>
+        <_>
+          <!-- tree 108 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 7 15 1 -1.</_>
+                <_>5 7 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.3887019902467728e-003</threshold>
+            <left_val>0.5200229883193970</left_val>
+            <right_val>0.3629410862922669</right_val></_></_>
+        <_>
+          <!-- tree 109 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 2 7 9 -1.</_>
+                <_>8 5 7 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0127926301211119</threshold>
+            <left_val>0.4961709976196289</left_val>
+            <right_val>0.6738016009330750</right_val></_></_>
+        <_>
+          <!-- tree 110 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 7 16 4 -1.</_>
+                <_>1 7 8 2 2.</_>
+                <_>9 9 8 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.3661040943115950e-003</threshold>
+            <left_val>0.4060279130935669</left_val>
+            <right_val>0.5283598899841309</right_val></_></_>
+        <_>
+          <!-- tree 111 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 12 8 2 -1.</_>
+                <_>6 13 8 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.9771420415490866e-004</threshold>
+            <left_val>0.4674113988876343</left_val>
+            <right_val>0.5900775194168091</right_val></_></_>
+        <_>
+          <!-- tree 112 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 11 3 3 -1.</_>
+                <_>8 12 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4868030557408929e-003</threshold>
+            <left_val>0.4519116878509522</left_val>
+            <right_val>0.6082053780555725</right_val></_></_>
+        <_>
+          <!-- tree 113 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 5 14 10 -1.</_>
+                <_>11 5 7 5 2.</_>
+                <_>4 10 7 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0886867493391037</threshold>
+            <left_val>0.2807899117469788</left_val>
+            <right_val>0.5180991888046265</right_val></_></_>
+        <_>
+          <!-- tree 114 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 12 3 2 -1.</_>
+                <_>4 13 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.4296112870797515e-005</threshold>
+            <left_val>0.5295584201812744</left_val>
+            <right_val>0.4087625145912170</right_val></_></_>
+        <_>
+          <!-- tree 115 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 11 6 1 -1.</_>
+                <_>11 11 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.4932939848222304e-005</threshold>
+            <left_val>0.5461400151252747</left_val>
+            <right_val>0.4538542926311493</right_val></_></_>
+        <_>
+          <!-- tree 116 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 9 7 6 -1.</_>
+                <_>4 11 7 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.9162238612771034e-003</threshold>
+            <left_val>0.5329161286354065</left_val>
+            <right_val>0.4192134141921997</right_val></_></_>
+        <_>
+          <!-- tree 117 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 10 6 3 -1.</_>
+                <_>7 11 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.1141640134155750e-003</threshold>
+            <left_val>0.4512017965316773</left_val>
+            <right_val>0.5706217288970947</right_val></_></_>
+        <_>
+          <!-- tree 118 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 11 2 2 -1.</_>
+                <_>9 12 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.9249362645205110e-005</threshold>
+            <left_val>0.4577805995941162</left_val>
+            <right_val>0.5897638201713562</right_val></_></_>
+        <_>
+          <!-- tree 119 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 5 20 6 -1.</_>
+                <_>0 7 20 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.5319510605186224e-003</threshold>
+            <left_val>0.5299603939056397</left_val>
+            <right_val>0.3357639014720917</right_val></_></_>
+        <_>
+          <!-- tree 120 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 4 6 1 -1.</_>
+                <_>8 4 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0124262003228068</threshold>
+            <left_val>0.4959059059619904</left_val>
+            <right_val>0.1346601992845535</right_val></_></_>
+        <_>
+          <!-- tree 121 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 11 6 1 -1.</_>
+                <_>11 11 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0283357501029968</threshold>
+            <left_val>0.5117079019546509</left_val>
+            <right_val>6.1043637106195092e-004</right_val></_></_>
+        <_>
+          <!-- tree 122 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 11 6 1 -1.</_>
+                <_>7 11 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.6165882162749767e-003</threshold>
+            <left_val>0.4736349880695343</left_val>
+            <right_val>0.7011628150939941</right_val></_></_>
+        <_>
+          <!-- tree 123 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 16 3 4 -1.</_>
+                <_>11 16 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.0468766391277313e-003</threshold>
+            <left_val>0.5216417908668518</left_val>
+            <right_val>0.3282819986343384</right_val></_></_>
+        <_>
+          <!-- tree 124 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 3 3 -1.</_>
+                <_>9 7 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.1193980462849140e-003</threshold>
+            <left_val>0.5809860825538635</left_val>
+            <right_val>0.4563739001750946</right_val></_></_>
+        <_>
+          <!-- tree 125 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 12 16 8 -1.</_>
+                <_>2 16 16 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0132775902748108</threshold>
+            <left_val>0.5398362278938294</left_val>
+            <right_val>0.4103901088237763</right_val></_></_>
+        <_>
+          <!-- tree 126 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 15 15 2 -1.</_>
+                <_>0 16 15 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.8794739996083081e-004</threshold>
+            <left_val>0.4249286055564880</left_val>
+            <right_val>0.5410590767860413</right_val></_></_>
+        <_>
+          <!-- tree 127 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 4 5 6 -1.</_>
+                <_>15 6 5 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0112431701272726</threshold>
+            <left_val>0.5269963741302490</left_val>
+            <right_val>0.3438215851783752</right_val></_></_>
+        <_>
+          <!-- tree 128 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 2 4 -1.</_>
+                <_>10 5 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.9896668214350939e-004</threshold>
+            <left_val>0.5633075833320618</left_val>
+            <right_val>0.4456613063812256</right_val></_></_>
+        <_>
+          <!-- tree 129 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 10 9 6 -1.</_>
+                <_>8 12 9 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.6677159629762173e-003</threshold>
+            <left_val>0.5312889218330383</left_val>
+            <right_val>0.4362679123878479</right_val></_></_>
+        <_>
+          <!-- tree 130 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 19 15 1 -1.</_>
+                <_>7 19 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0289472993463278</threshold>
+            <left_val>0.4701794981956482</left_val>
+            <right_val>0.6575797796249390</right_val></_></_>
+        <_>
+          <!-- tree 131 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 16 3 4 -1.</_>
+                <_>11 16 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0234000496566296</threshold>
+            <left_val>0.</left_val>
+            <right_val>0.5137398838996887</right_val></_></_>
+        <_>
+          <!-- tree 132 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 15 20 4 -1.</_>
+                <_>0 17 20 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0891170501708984</threshold>
+            <left_val>0.0237452797591686</left_val>
+            <right_val>0.4942430853843689</right_val></_></_>
+        <_>
+          <!-- tree 133 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 16 3 4 -1.</_>
+                <_>11 16 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0140546001493931</threshold>
+            <left_val>0.3127323091030121</left_val>
+            <right_val>0.5117511153221130</right_val></_></_>
+        <_>
+          <!-- tree 134 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 16 3 4 -1.</_>
+                <_>8 16 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.1239398568868637e-003</threshold>
+            <left_val>0.5009049177169800</left_val>
+            <right_val>0.2520025968551636</right_val></_></_>
+        <_>
+          <!-- tree 135 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 16 3 3 -1.</_>
+                <_>9 17 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.9964650534093380e-003</threshold>
+            <left_val>0.6387143731117249</left_val>
+            <right_val>0.4927811920642853</right_val></_></_>
+        <_>
+          <!-- tree 136 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 11 4 6 -1.</_>
+                <_>8 14 4 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.1253970228135586e-003</threshold>
+            <left_val>0.5136849880218506</left_val>
+            <right_val>0.3680452108383179</right_val></_></_>
+        <_>
+          <!-- tree 137 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 6 2 12 -1.</_>
+                <_>9 10 2 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.7669642157852650e-003</threshold>
+            <left_val>0.5509843826293945</left_val>
+            <right_val>0.4363631904125214</right_val></_></_>
+        <_>
+          <!-- tree 138 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 17 4 3 -1.</_>
+                <_>8 18 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.3711440153419971e-003</threshold>
+            <left_val>0.6162335276603699</left_val>
+            <right_val>0.4586946964263916</right_val></_></_>
+        <_>
+          <!-- tree 139 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 18 8 2 -1.</_>
+                <_>13 18 4 1 2.</_>
+                <_>9 19 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.3522791713476181e-003</threshold>
+            <left_val>0.6185457706451416</left_val>
+            <right_val>0.4920490980148315</right_val></_></_>
+        <_>
+          <!-- tree 140 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 18 8 2 -1.</_>
+                <_>1 19 8 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0159688591957092</threshold>
+            <left_val>0.1382617950439453</left_val>
+            <right_val>0.4983252882957459</right_val></_></_>
+        <_>
+          <!-- tree 141 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 5 6 15 -1.</_>
+                <_>15 5 2 15 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.7676060348749161e-003</threshold>
+            <left_val>0.4688057899475098</left_val>
+            <right_val>0.5490046143531799</right_val></_></_>
+        <_>
+          <!-- tree 142 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 8 2 2 -1.</_>
+                <_>9 9 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.4714691098779440e-003</threshold>
+            <left_val>0.2368514984846115</left_val>
+            <right_val>0.5003952980041504</right_val></_></_>
+        <_>
+          <!-- tree 143 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 2 3 -1.</_>
+                <_>9 5 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.1033788844943047e-004</threshold>
+            <left_val>0.5856394171714783</left_val>
+            <right_val>0.4721533060073853</right_val></_></_>
+        <_>
+          <!-- tree 144 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 5 6 15 -1.</_>
+                <_>3 5 2 15 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.1411755979061127</threshold>
+            <left_val>0.0869000628590584</left_val>
+            <right_val>0.4961591064929962</right_val></_></_>
+        <_>
+          <!-- tree 145 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 1 14 8 -1.</_>
+                <_>11 1 7 4 2.</_>
+                <_>4 5 7 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.1065180972218514</threshold>
+            <left_val>0.5138837099075317</left_val>
+            <right_val>0.1741005033254623</right_val></_></_>
+        <_>
+          <!-- tree 146 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 4 4 16 -1.</_>
+                <_>2 4 2 8 2.</_>
+                <_>4 12 2 8 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0527447499334812</threshold>
+            <left_val>0.7353636026382446</left_val>
+            <right_val>0.4772881865501404</right_val></_></_>
+        <_>
+          <!-- tree 147 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 4 3 12 -1.</_>
+                <_>12 10 3 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.7431760467588902e-003</threshold>
+            <left_val>0.3884406089782715</left_val>
+            <right_val>0.5292701721191406</right_val></_></_>
+        <_>
+          <!-- tree 148 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 5 10 12 -1.</_>
+                <_>4 5 5 6 2.</_>
+                <_>9 11 5 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.9676765967160463e-004</threshold>
+            <left_val>0.5223492980003357</left_val>
+            <right_val>0.4003424048423767</right_val></_></_>
+        <_>
+          <!-- tree 149 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 14 2 3 -1.</_>
+                <_>9 15 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.0284131690859795e-003</threshold>
+            <left_val>0.4959106147289276</left_val>
+            <right_val>0.7212964296340942</right_val></_></_>
+        <_>
+          <!-- tree 150 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 4 2 3 -1.</_>
+                <_>5 5 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.6025858763605356e-004</threshold>
+            <left_val>0.4444884061813355</left_val>
+            <right_val>0.5538476109504700</right_val></_></_>
+        <_>
+          <!-- tree 151 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 2 4 10 -1.</_>
+                <_>14 2 2 5 2.</_>
+                <_>12 7 2 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.3191501218825579e-004</threshold>
+            <left_val>0.5398371219635010</left_val>
+            <right_val>0.4163244068622589</right_val></_></_>
+        <_>
+          <!-- tree 152 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 4 7 3 -1.</_>
+                <_>6 5 7 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.5082060601562262e-003</threshold>
+            <left_val>0.5854265093803406</left_val>
+            <right_val>0.4562500119209290</right_val></_></_>
+        <_>
+          <!-- tree 153 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 0 18 2 -1.</_>
+                <_>11 0 9 1 2.</_>
+                <_>2 1 9 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.1378761157393456e-003</threshold>
+            <left_val>0.4608069062232971</left_val>
+            <right_val>0.5280259251594544</right_val></_></_>
+        <_>
+          <!-- tree 154 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 18 2 -1.</_>
+                <_>0 0 9 1 2.</_>
+                <_>9 1 9 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.1546049974858761e-003</threshold>
+            <left_val>0.3791126906871796</left_val>
+            <right_val>0.5255997180938721</right_val></_></_>
+        <_>
+          <!-- tree 155 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 13 4 6 -1.</_>
+                <_>15 13 2 3 2.</_>
+                <_>13 16 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.6214009895920753e-003</threshold>
+            <left_val>0.5998609066009522</left_val>
+            <right_val>0.4952073991298676</right_val></_></_>
+        <_>
+          <!-- tree 156 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 13 4 6 -1.</_>
+                <_>3 13 2 3 2.</_>
+                <_>5 16 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.2055360022932291e-003</threshold>
+            <left_val>0.4484206140041351</left_val>
+            <right_val>0.5588530898094177</right_val></_></_>
+        <_>
+          <!-- tree 157 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 12 2 6 -1.</_>
+                <_>10 15 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.2586950324475765e-003</threshold>
+            <left_val>0.5450747013092041</left_val>
+            <right_val>0.4423840939998627</right_val></_></_>
+        <_>
+          <!-- tree 158 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 9 10 10 -1.</_>
+                <_>5 9 5 5 2.</_>
+                <_>10 14 5 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.0926720723509789e-003</threshold>
+            <left_val>0.4118275046348572</left_val>
+            <right_val>0.5263035893440247</right_val></_></_>
+        <_>
+          <!-- tree 159 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 4 4 2 -1.</_>
+                <_>13 4 2 1 2.</_>
+                <_>11 5 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.5095739401876926e-003</threshold>
+            <left_val>0.5787907838821411</left_val>
+            <right_val>0.4998494982719421</right_val></_></_>
+        <_>
+          <!-- tree 160 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 12 6 8 -1.</_>
+                <_>10 12 3 8 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0773275569081306</threshold>
+            <left_val>0.8397865891456604</left_val>
+            <right_val>0.4811120033264160</right_val></_></_>
+        <_>
+          <!-- tree 161 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 2 4 10 -1.</_>
+                <_>14 2 2 5 2.</_>
+                <_>12 7 2 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0414858199656010</threshold>
+            <left_val>0.2408611029386520</left_val>
+            <right_val>0.5176993012428284</right_val></_></_>
+        <_>
+          <!-- tree 162 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 11 2 1 -1.</_>
+                <_>9 11 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.0355669655837119e-004</threshold>
+            <left_val>0.4355360865592957</left_val>
+            <right_val>0.5417054295539856</right_val></_></_>
+        <_>
+          <!-- tree 163 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 5 1 12 -1.</_>
+                <_>10 9 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.3255809899419546e-003</threshold>
+            <left_val>0.5453971028327942</left_val>
+            <right_val>0.4894095063209534</right_val></_></_>
+        <_>
+          <!-- tree 164 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 11 6 9 -1.</_>
+                <_>3 11 3 9 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.0598732456564903e-003</threshold>
+            <left_val>0.5771024227142334</left_val>
+            <right_val>0.4577918946743012</right_val></_></_>
+        <_>
+          <!-- tree 165 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 2 4 10 -1.</_>
+                <_>14 2 2 5 2.</_>
+                <_>12 7 2 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0190586205571890</threshold>
+            <left_val>0.5169867873191834</left_val>
+            <right_val>0.3400475084781647</right_val></_></_>
+        <_>
+          <!-- tree 166 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 2 4 10 -1.</_>
+                <_>4 2 2 5 2.</_>
+                <_>6 7 2 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0350578911602497</threshold>
+            <left_val>0.2203243970870972</left_val>
+            <right_val>0.5000503063201904</right_val></_></_>
+        <_>
+          <!-- tree 167 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 4 4 2 -1.</_>
+                <_>13 4 2 1 2.</_>
+                <_>11 5 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.7296059094369411e-003</threshold>
+            <left_val>0.5043408274650574</left_val>
+            <right_val>0.6597570776939392</right_val></_></_>
+        <_>
+          <!-- tree 168 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 14 6 3 -1.</_>
+                <_>0 15 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0116483299061656</threshold>
+            <left_val>0.2186284959316254</left_val>
+            <right_val>0.4996652901172638</right_val></_></_>
+        <_>
+          <!-- tree 169 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 4 4 2 -1.</_>
+                <_>13 4 2 1 2.</_>
+                <_>11 5 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4544479781761765e-003</threshold>
+            <left_val>0.5007681846618652</left_val>
+            <right_val>0.5503727793693543</right_val></_></_>
+        <_>
+          <!-- tree 170 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 1 3 2 -1.</_>
+                <_>7 1 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.5030909455381334e-004</threshold>
+            <left_val>0.4129841029644013</left_val>
+            <right_val>0.5241670012474060</right_val></_></_>
+        <_>
+          <!-- tree 171 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 4 4 2 -1.</_>
+                <_>13 4 2 1 2.</_>
+                <_>11 5 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.2907272735610604e-004</threshold>
+            <left_val>0.5412868261337280</left_val>
+            <right_val>0.4974496066570282</right_val></_></_>
+        <_>
+          <!-- tree 172 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 4 4 2 -1.</_>
+                <_>5 4 2 1 2.</_>
+                <_>7 5 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.0862209601327777e-003</threshold>
+            <left_val>0.4605529904365540</left_val>
+            <right_val>0.5879228711128235</right_val></_></_>
+        <_>
+          <!-- tree 173 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 0 2 12 -1.</_>
+                <_>14 0 1 6 2.</_>
+                <_>13 6 1 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.0000500080641359e-004</threshold>
+            <left_val>0.5278854966163635</left_val>
+            <right_val>0.4705209136009216</right_val></_></_>
+        <_>
+          <!-- tree 174 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 0 3 10 -1.</_>
+                <_>7 0 1 10 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.9212920926511288e-003</threshold>
+            <left_val>0.5129609704017639</left_val>
+            <right_val>0.3755536973476410</right_val></_></_>
+        <_>
+          <!-- tree 175 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 0 17 8 -1.</_>
+                <_>3 4 17 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0253874007612467</threshold>
+            <left_val>0.4822691977024078</left_val>
+            <right_val>0.5790768265724182</right_val></_></_>
+        <_>
+          <!-- tree 176 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 4 20 4 -1.</_>
+                <_>0 6 20 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.1968469265848398e-003</threshold>
+            <left_val>0.5248395204544067</left_val>
+            <right_val>0.3962840139865875</right_val></_></_></trees>
+      <stage_threshold>87.6960296630859380</stage_threshold>
+      <parent>17</parent>
+      <next>-1</next></_>
+    <_>
+      <!-- stage 19 -->
+      <trees>
+        <_>
+          <!-- tree 0 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 3 8 2 -1.</_>
+                <_>4 3 4 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.8031738735735416e-003</threshold>
+            <left_val>0.3498983979225159</left_val>
+            <right_val>0.5961983203887940</right_val></_></_>
+        <_>
+          <!-- tree 1 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 11 4 3 -1.</_>
+                <_>8 12 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.0003069490194321e-003</threshold>
+            <left_val>0.6816636919975281</left_val>
+            <right_val>0.4478552043437958</right_val></_></_>
+        <_>
+          <!-- tree 2 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 6 4 -1.</_>
+                <_>5 7 3 2 2.</_>
+                <_>8 9 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.1549659539014101e-003</threshold>
+            <left_val>0.5585706233978272</left_val>
+            <right_val>0.3578251004219055</right_val></_></_>
+        <_>
+          <!-- tree 3 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 3 4 9 -1.</_>
+                <_>8 6 4 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.1069850297644734e-003</threshold>
+            <left_val>0.5365036129951477</left_val>
+            <right_val>0.3050428032875061</right_val></_></_>
+        <_>
+          <!-- tree 4 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 15 1 4 -1.</_>
+                <_>8 17 1 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.0308309720130637e-004</threshold>
+            <left_val>0.3639095127582550</left_val>
+            <right_val>0.5344635844230652</right_val></_></_>
+        <_>
+          <!-- tree 5 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 5 12 7 -1.</_>
+                <_>8 5 4 7 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.0984839908778667e-003</threshold>
+            <left_val>0.2859157025814056</left_val>
+            <right_val>0.5504264831542969</right_val></_></_>
+        <_>
+          <!-- tree 6 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 2 4 10 -1.</_>
+                <_>4 2 2 5 2.</_>
+                <_>6 7 2 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.2572200335562229e-004</threshold>
+            <left_val>0.5236523747444153</left_val>
+            <right_val>0.3476041853427887</right_val></_></_>
+        <_>
+          <!-- tree 7 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 0 17 2 -1.</_>
+                <_>3 1 17 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.9783325567841530e-003</threshold>
+            <left_val>0.4750322103500366</left_val>
+            <right_val>0.6219646930694580</right_val></_></_>
+        <_>
+          <!-- tree 8 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 2 16 15 -1.</_>
+                <_>2 7 16 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0374025292694569</threshold>
+            <left_val>0.3343375921249390</left_val>
+            <right_val>0.5278062820434570</right_val></_></_>
+        <_>
+          <!-- tree 9 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 2 5 2 -1.</_>
+                <_>15 3 5 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.8548257909715176e-003</threshold>
+            <left_val>0.5192180871963501</left_val>
+            <right_val>0.3700444102287293</right_val></_></_>
+        <_>
+          <!-- tree 10 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 3 2 2 -1.</_>
+                <_>10 3 1 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.8664470408111811e-003</threshold>
+            <left_val>0.2929843962192535</left_val>
+            <right_val>0.5091944932937622</right_val></_></_>
+        <_>
+          <!-- tree 11 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 5 16 15 -1.</_>
+                <_>4 10 16 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0168888904154301</threshold>
+            <left_val>0.3686845898628235</left_val>
+            <right_val>0.5431225895881653</right_val></_></_>
+        <_>
+          <!-- tree 12 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 13 5 6 -1.</_>
+                <_>7 16 5 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.8372621424496174e-003</threshold>
+            <left_val>0.3632183969020844</left_val>
+            <right_val>0.5221335887908936</right_val></_></_>
+        <_>
+          <!-- tree 13 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 7 3 2 -1.</_>
+                <_>11 7 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.4713739510625601e-003</threshold>
+            <left_val>0.5870683789253235</left_val>
+            <right_val>0.4700650870800018</right_val></_></_>
+        <_>
+          <!-- tree 14 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 3 3 1 -1.</_>
+                <_>9 3 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.1522950371727347e-003</threshold>
+            <left_val>0.3195894956588745</left_val>
+            <right_val>0.5140954256057739</right_val></_></_>
+        <_>
+          <!-- tree 15 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 16 3 3 -1.</_>
+                <_>9 17 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.2560300789773464e-003</threshold>
+            <left_val>0.6301859021186829</left_val>
+            <right_val>0.4814921021461487</right_val></_></_>
+        <_>
+          <!-- tree 16 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 5 2 -1.</_>
+                <_>0 3 5 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.7378291860222816e-003</threshold>
+            <left_val>0.1977048069238663</left_val>
+            <right_val>0.5025808215141296</right_val></_></_>
+        <_>
+          <!-- tree 17 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 5 4 3 -1.</_>
+                <_>12 6 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0113826701417565</threshold>
+            <left_val>0.4954132139682770</left_val>
+            <right_val>0.6867045760154724</right_val></_></_>
+        <_>
+          <!-- tree 18 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 7 12 1 -1.</_>
+                <_>5 7 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.1794708706438541e-003</threshold>
+            <left_val>0.5164427757263184</left_val>
+            <right_val>0.3350647985935211</right_val></_></_>
+        <_>
+          <!-- tree 19 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 5 6 14 -1.</_>
+                <_>7 12 6 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.1174378991127014</threshold>
+            <left_val>0.2315246015787125</left_val>
+            <right_val>0.5234413743019104</right_val></_></_>
+        <_>
+          <!-- tree 20 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 8 10 -1.</_>
+                <_>0 0 4 5 2.</_>
+                <_>4 5 4 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0287034492939711</threshold>
+            <left_val>0.4664297103881836</left_val>
+            <right_val>0.6722521185874939</right_val></_></_>
+        <_>
+          <!-- tree 21 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 1 3 2 -1.</_>
+                <_>10 1 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.8231030814349651e-003</threshold>
+            <left_val>0.5220875144004822</left_val>
+            <right_val>0.2723532915115356</right_val></_></_>
+        <_>
+          <!-- tree 22 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 1 3 2 -1.</_>
+                <_>9 1 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.6798530016094446e-003</threshold>
+            <left_val>0.5079277157783508</left_val>
+            <right_val>0.2906948924064636</right_val></_></_>
+        <_>
+          <!-- tree 23 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 4 3 3 -1.</_>
+                <_>12 5 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.0504082143306732e-003</threshold>
+            <left_val>0.4885950982570648</left_val>
+            <right_val>0.6395021080970764</right_val></_></_>
+        <_>
+          <!-- tree 24 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 4 6 16 -1.</_>
+                <_>7 12 6 8 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.8054959625005722e-003</threshold>
+            <left_val>0.5197256803512573</left_val>
+            <right_val>0.3656663894653320</right_val></_></_>
+        <_>
+          <!-- tree 25 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 4 3 3 -1.</_>
+                <_>12 5 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.2420159075409174e-003</threshold>
+            <left_val>0.6153467893600464</left_val>
+            <right_val>0.4763701856136322</right_val></_></_>
+        <_>
+          <!-- tree 26 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 3 2 6 -1.</_>
+                <_>2 5 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0137577103450894</threshold>
+            <left_val>0.2637344896793366</left_val>
+            <right_val>0.5030903220176697</right_val></_></_>
+        <_>
+          <!-- tree 27 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 2 6 9 -1.</_>
+                <_>14 5 6 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.1033829972147942</threshold>
+            <left_val>0.2287521958351135</left_val>
+            <right_val>0.5182461142539978</right_val></_></_>
+        <_>
+          <!-- tree 28 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 4 3 3 -1.</_>
+                <_>5 5 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.4432085752487183e-003</threshold>
+            <left_val>0.6953303813934326</left_val>
+            <right_val>0.4694949090480804</right_val></_></_>
+        <_>
+          <!-- tree 29 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 17 3 2 -1.</_>
+                <_>10 17 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.0271181650459766e-004</threshold>
+            <left_val>0.5450655221939087</left_val>
+            <right_val>0.4268783926963806</right_val></_></_>
+        <_>
+          <!-- tree 30 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 5 2 3 -1.</_>
+                <_>5 6 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.1945669800043106e-003</threshold>
+            <left_val>0.6091387867927551</left_val>
+            <right_val>0.4571642875671387</right_val></_></_>
+        <_>
+          <!-- tree 31 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 11 3 6 -1.</_>
+                <_>13 13 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0109422104433179</threshold>
+            <left_val>0.5241063237190247</left_val>
+            <right_val>0.3284547030925751</right_val></_></_>
+        <_>
+          <!-- tree 32 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 14 2 6 -1.</_>
+                <_>3 17 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.7841069065034389e-004</threshold>
+            <left_val>0.5387929081916809</left_val>
+            <right_val>0.4179368913173676</right_val></_></_>
+        <_>
+          <!-- tree 33 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 3 6 2 -1.</_>
+                <_>14 4 6 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.0888620056211948e-003</threshold>
+            <left_val>0.4292691051959992</left_val>
+            <right_val>0.5301715731620789</right_val></_></_>
+        <_>
+          <!-- tree 34 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 8 16 2 -1.</_>
+                <_>0 9 16 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.2383969519287348e-003</threshold>
+            <left_val>0.3792347908020020</left_val>
+            <right_val>0.5220744013786316</right_val></_></_>
+        <_>
+          <!-- tree 35 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 3 6 2 -1.</_>
+                <_>14 4 6 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.9075027927756310e-003</threshold>
+            <left_val>0.5237283110618591</left_val>
+            <right_val>0.4126757979393005</right_val></_></_>
+        <_>
+          <!-- tree 36 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 5 6 -1.</_>
+                <_>0 2 5 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0322779417037964</threshold>
+            <left_val>0.1947655975818634</left_val>
+            <right_val>0.4994502067565918</right_val></_></_>
+        <_>
+          <!-- tree 37 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 5 4 3 -1.</_>
+                <_>12 6 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.9711230248212814e-003</threshold>
+            <left_val>0.6011285185813904</left_val>
+            <right_val>0.4929032027721405</right_val></_></_>
+        <_>
+          <!-- tree 38 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 11 3 6 -1.</_>
+                <_>4 13 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0153210898861289</threshold>
+            <left_val>0.5009753704071045</left_val>
+            <right_val>0.2039822041988373</right_val></_></_>
+        <_>
+          <!-- tree 39 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 5 4 3 -1.</_>
+                <_>12 6 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.0855569746345282e-003</threshold>
+            <left_val>0.4862189888954163</left_val>
+            <right_val>0.5721694827079773</right_val></_></_>
+        <_>
+          <!-- tree 40 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 1 3 -1.</_>
+                <_>9 6 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.0615021027624607e-003</threshold>
+            <left_val>0.5000218749046326</left_val>
+            <right_val>0.1801805943250656</right_val></_></_>
+        <_>
+          <!-- tree 41 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 5 4 3 -1.</_>
+                <_>12 6 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.7174751050770283e-003</threshold>
+            <left_val>0.5530117154121399</left_val>
+            <right_val>0.4897592961788178</right_val></_></_>
+        <_>
+          <!-- tree 42 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 6 8 12 -1.</_>
+                <_>6 12 8 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0121705001220107</threshold>
+            <left_val>0.4178605973720551</left_val>
+            <right_val>0.5383723974227905</right_val></_></_>
+        <_>
+          <!-- tree 43 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 5 4 3 -1.</_>
+                <_>12 6 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.6248398721218109e-003</threshold>
+            <left_val>0.4997169971466065</left_val>
+            <right_val>0.5761327147483826</right_val></_></_>
+        <_>
+          <!-- tree 44 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 12 9 2 -1.</_>
+                <_>8 12 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.1040429419372231e-004</threshold>
+            <left_val>0.5331807136535645</left_val>
+            <right_val>0.4097681045532227</right_val></_></_>
+        <_>
+          <!-- tree 45 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 5 4 3 -1.</_>
+                <_>12 6 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0146417804062366</threshold>
+            <left_val>0.5755925178527832</left_val>
+            <right_val>0.5051776170730591</right_val></_></_>
+        <_>
+          <!-- tree 46 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 5 4 3 -1.</_>
+                <_>4 6 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.3199489116668701e-003</threshold>
+            <left_val>0.4576976895332336</left_val>
+            <right_val>0.6031805872917175</right_val></_></_>
+        <_>
+          <!-- tree 47 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 6 9 2 -1.</_>
+                <_>9 6 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.7236879579722881e-003</threshold>
+            <left_val>0.4380396902561188</left_val>
+            <right_val>0.5415883064270020</right_val></_></_>
+        <_>
+          <!-- tree 48 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 11 1 3 -1.</_>
+                <_>4 12 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.2951161311939359e-004</threshold>
+            <left_val>0.5163031816482544</left_val>
+            <right_val>0.3702219128608704</right_val></_></_>
+        <_>
+          <!-- tree 49 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 12 6 6 -1.</_>
+                <_>14 12 3 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0114084901288152</threshold>
+            <left_val>0.6072946786880493</left_val>
+            <right_val>0.4862565100193024</right_val></_></_>
+        <_>
+          <!-- tree 50 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 0 3 7 -1.</_>
+                <_>8 0 1 7 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.5320121571421623e-003</threshold>
+            <left_val>0.3292475938796997</left_val>
+            <right_val>0.5088962912559509</right_val></_></_>
+        <_>
+          <!-- tree 51 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 8 3 3 -1.</_>
+                <_>10 8 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.1276017911732197e-003</threshold>
+            <left_val>0.4829767942428589</left_val>
+            <right_val>0.6122708916664124</right_val></_></_>
+        <_>
+          <!-- tree 52 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 8 3 3 -1.</_>
+                <_>9 8 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.8583158105611801e-003</threshold>
+            <left_val>0.4660679996013641</left_val>
+            <right_val>0.6556177139282227</right_val></_></_>
+        <_>
+          <!-- tree 53 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 10 11 3 -1.</_>
+                <_>5 11 11 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0369859188795090</threshold>
+            <left_val>0.5204849243164063</left_val>
+            <right_val>0.1690472066402435</right_val></_></_>
+        <_>
+          <!-- tree 54 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 10 1 -1.</_>
+                <_>10 7 5 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.6491161920130253e-003</threshold>
+            <left_val>0.5167322158813477</left_val>
+            <right_val>0.3725225031375885</right_val></_></_>
+        <_>
+          <!-- tree 55 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 3 2 -1.</_>
+                <_>10 7 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.2664702050387859e-003</threshold>
+            <left_val>0.6406493186950684</left_val>
+            <right_val>0.4987342953681946</right_val></_></_>
+        <_>
+          <!-- tree 56 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 3 2 -1.</_>
+                <_>9 7 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.7956590424291790e-004</threshold>
+            <left_val>0.5897293090820313</left_val>
+            <right_val>0.4464873969554901</right_val></_></_>
+        <_>
+          <!-- tree 57 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 9 4 2 -1.</_>
+                <_>11 9 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.6827160511165857e-003</threshold>
+            <left_val>0.5441560745239258</left_val>
+            <right_val>0.3472662866115570</right_val></_></_>
+        <_>
+          <!-- tree 58 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 9 4 2 -1.</_>
+                <_>7 9 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0100598800927401</threshold>
+            <left_val>0.2143162935972214</left_val>
+            <right_val>0.5004829764366150</right_val></_></_>
+        <_>
+          <!-- tree 59 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 10 2 4 -1.</_>
+                <_>14 12 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.0361840617842972e-004</threshold>
+            <left_val>0.5386424064636231</left_val>
+            <right_val>0.4590323865413666</right_val></_></_>
+        <_>
+          <!-- tree 60 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 7 3 2 -1.</_>
+                <_>8 7 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.4545479789376259e-003</threshold>
+            <left_val>0.5751184225082398</left_val>
+            <right_val>0.4497095048427582</right_val></_></_>
+        <_>
+          <!-- tree 61 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 17 6 3 -1.</_>
+                <_>14 18 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.6515209572389722e-003</threshold>
+            <left_val>0.5421937704086304</left_val>
+            <right_val>0.4238520860671997</right_val></_></_>
+        <_>
+          <!-- tree 62 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 5 12 12 -1.</_>
+                <_>4 5 6 6 2.</_>
+                <_>10 11 6 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.8468639403581619e-003</threshold>
+            <left_val>0.4077920913696289</left_val>
+            <right_val>0.5258157253265381</right_val></_></_>
+        <_>
+          <!-- tree 63 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 9 8 8 -1.</_>
+                <_>10 9 4 4 2.</_>
+                <_>6 13 4 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.1259850151836872e-003</threshold>
+            <left_val>0.4229275882244110</left_val>
+            <right_val>0.5479453206062317</right_val></_></_>
+        <_>
+          <!-- tree 64 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 4 15 4 -1.</_>
+                <_>5 4 5 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0368909612298012</threshold>
+            <left_val>0.6596375703811646</left_val>
+            <right_val>0.4674678146839142</right_val></_></_>
+        <_>
+          <!-- tree 65 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 2 4 1 -1.</_>
+                <_>13 2 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.4035639944486320e-004</threshold>
+            <left_val>0.4251135885715485</left_val>
+            <right_val>0.5573202967643738</right_val></_></_>
+        <_>
+          <!-- tree 66 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 12 2 2 -1.</_>
+                <_>4 13 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5150169929256663e-005</threshold>
+            <left_val>0.5259246826171875</left_val>
+            <right_val>0.4074114859104157</right_val></_></_>
+        <_>
+          <!-- tree 67 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 13 4 3 -1.</_>
+                <_>8 14 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.2108471021056175e-003</threshold>
+            <left_val>0.4671722948551178</left_val>
+            <right_val>0.5886352062225342</right_val></_></_>
+        <_>
+          <!-- tree 68 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 13 2 3 -1.</_>
+                <_>9 14 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.1568620102480054e-003</threshold>
+            <left_val>0.5711066126823425</left_val>
+            <right_val>0.4487161934375763</right_val></_></_>
+        <_>
+          <!-- tree 69 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 11 2 3 -1.</_>
+                <_>13 12 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.9996292218565941e-003</threshold>
+            <left_val>0.5264198184013367</left_val>
+            <right_val>0.2898327112197876</right_val></_></_>
+        <_>
+          <!-- tree 70 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 12 4 4 -1.</_>
+                <_>7 12 2 2 2.</_>
+                <_>9 14 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.4656189596280456e-003</threshold>
+            <left_val>0.3891738057136536</left_val>
+            <right_val>0.5197871923446655</right_val></_></_>
+        <_>
+          <!-- tree 71 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 11 2 2 -1.</_>
+                <_>11 11 1 1 2.</_>
+                <_>10 12 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.1975039960816503e-003</threshold>
+            <left_val>0.5795872807502747</left_val>
+            <right_val>0.4927955865859985</right_val></_></_>
+        <_>
+          <!-- tree 72 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 17 3 2 -1.</_>
+                <_>9 17 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.4954330660402775e-003</threshold>
+            <left_val>0.2377603054046631</left_val>
+            <right_val>0.5012555122375488</right_val></_></_>
+        <_>
+          <!-- tree 73 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 11 2 2 -1.</_>
+                <_>11 11 1 1 2.</_>
+                <_>10 12 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4997160178609192e-004</threshold>
+            <left_val>0.4876626133918762</left_val>
+            <right_val>0.5617607831954956</right_val></_></_>
+        <_>
+          <!-- tree 74 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 17 6 3 -1.</_>
+                <_>0 18 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.6391509454697371e-003</threshold>
+            <left_val>0.5168088078498840</left_val>
+            <right_val>0.3765509128570557</right_val></_></_>
+        <_>
+          <!-- tree 75 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 11 2 2 -1.</_>
+                <_>11 11 1 1 2.</_>
+                <_>10 12 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.9368131072260439e-004</threshold>
+            <left_val>0.5446649193763733</left_val>
+            <right_val>0.4874630868434906</right_val></_></_>
+        <_>
+          <!-- tree 76 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 11 2 2 -1.</_>
+                <_>8 11 1 1 2.</_>
+                <_>9 12 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4211760135367513e-003</threshold>
+            <left_val>0.4687897861003876</left_val>
+            <right_val>0.6691331863403320</right_val></_></_>
+        <_>
+          <!-- tree 77 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 5 8 4 -1.</_>
+                <_>12 5 4 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0794276371598244</threshold>
+            <left_val>0.5193443894386292</left_val>
+            <right_val>0.2732945978641510</right_val></_></_>
+        <_>
+          <!-- tree 78 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 5 8 4 -1.</_>
+                <_>4 5 4 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0799375027418137</threshold>
+            <left_val>0.4971731007099152</left_val>
+            <right_val>0.1782083958387375</right_val></_></_>
+        <_>
+          <!-- tree 79 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 2 4 1 -1.</_>
+                <_>13 2 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0110892597585917</threshold>
+            <left_val>0.5165994763374329</left_val>
+            <right_val>0.3209475874900818</right_val></_></_>
+        <_>
+          <!-- tree 80 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 2 4 1 -1.</_>
+                <_>5 2 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.6560709627810866e-004</threshold>
+            <left_val>0.4058471918106079</left_val>
+            <right_val>0.5307276248931885</right_val></_></_>
+        <_>
+          <!-- tree 81 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 0 4 2 -1.</_>
+                <_>12 0 2 1 2.</_>
+                <_>10 1 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.3354292176663876e-003</threshold>
+            <left_val>0.3445056974887848</left_val>
+            <right_val>0.5158129930496216</right_val></_></_>
+        <_>
+          <!-- tree 82 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 12 3 1 -1.</_>
+                <_>8 12 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.1287260567769408e-003</threshold>
+            <left_val>0.4594863057136536</left_val>
+            <right_val>0.6075533032417297</right_val></_></_>
+        <_>
+          <!-- tree 83 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 11 4 8 -1.</_>
+                <_>10 11 2 4 2.</_>
+                <_>8 15 2 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0219692196696997</threshold>
+            <left_val>0.1680400967597961</left_val>
+            <right_val>0.5228595733642578</right_val></_></_>
+        <_>
+          <!-- tree 84 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 9 2 2 -1.</_>
+                <_>9 10 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.1775320055894554e-004</threshold>
+            <left_val>0.3861596882343292</left_val>
+            <right_val>0.5215672850608826</right_val></_></_>
+        <_>
+          <!-- tree 85 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 18 15 2 -1.</_>
+                <_>3 19 15 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.0200149447191507e-004</threshold>
+            <left_val>0.5517979264259338</left_val>
+            <right_val>0.4363039135932922</right_val></_></_>
+        <_>
+          <!-- tree 86 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 6 2 12 -1.</_>
+                <_>2 6 1 6 2.</_>
+                <_>3 12 1 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0217331498861313</threshold>
+            <left_val>0.7999460101127625</left_val>
+            <right_val>0.4789851009845734</right_val></_></_>
+        <_>
+          <!-- tree 87 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 8 2 3 -1.</_>
+                <_>9 9 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.4399932529777288e-004</threshold>
+            <left_val>0.4085975885391235</left_val>
+            <right_val>0.5374773144721985</right_val></_></_>
+        <_>
+          <!-- tree 88 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 10 3 2 -1.</_>
+                <_>8 10 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.3895249837078154e-004</threshold>
+            <left_val>0.5470405220985413</left_val>
+            <right_val>0.4366143047809601</right_val></_></_>
+        <_>
+          <!-- tree 89 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 11 3 1 -1.</_>
+                <_>12 11 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5092400135472417e-003</threshold>
+            <left_val>0.4988996982574463</left_val>
+            <right_val>0.5842149257659912</right_val></_></_>
+        <_>
+          <!-- tree 90 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 11 3 1 -1.</_>
+                <_>7 11 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.5547839943319559e-003</threshold>
+            <left_val>0.6753690242767334</left_val>
+            <right_val>0.4721005856990814</right_val></_></_>
+        <_>
+          <!-- tree 91 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 2 4 2 -1.</_>
+                <_>11 2 2 1 2.</_>
+                <_>9 3 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.8191400128416717e-004</threshold>
+            <left_val>0.5415853857994080</left_val>
+            <right_val>0.4357109069824219</right_val></_></_>
+        <_>
+          <!-- tree 92 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 12 2 3 -1.</_>
+                <_>4 13 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.0264398343861103e-003</threshold>
+            <left_val>0.2258509993553162</left_val>
+            <right_val>0.4991880953311920</right_val></_></_>
+        <_>
+          <!-- tree 93 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 1 18 3 -1.</_>
+                <_>8 1 6 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0116681400686502</threshold>
+            <left_val>0.6256554722785950</left_val>
+            <right_val>0.4927498996257782</right_val></_></_>
+        <_>
+          <!-- tree 94 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 1 4 14 -1.</_>
+                <_>7 1 2 14 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.8718370012938976e-003</threshold>
+            <left_val>0.3947784900665283</left_val>
+            <right_val>0.5245801806449890</right_val></_></_>
+        <_>
+          <!-- tree 95 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 16 12 3 -1.</_>
+                <_>8 16 6 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0170511696487665</threshold>
+            <left_val>0.4752511084079742</left_val>
+            <right_val>0.5794224143028259</right_val></_></_>
+        <_>
+          <!-- tree 96 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 17 18 3 -1.</_>
+                <_>7 17 6 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0133520802482963</threshold>
+            <left_val>0.6041104793548584</left_val>
+            <right_val>0.4544535875320435</right_val></_></_>
+        <_>
+          <!-- tree 97 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 14 2 6 -1.</_>
+                <_>9 17 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.9301801007241011e-004</threshold>
+            <left_val>0.4258275926113129</left_val>
+            <right_val>0.5544905066490173</right_val></_></_>
+        <_>
+          <!-- tree 98 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 12 1 8 -1.</_>
+                <_>9 16 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.0483349692076445e-003</threshold>
+            <left_val>0.5233420133590698</left_val>
+            <right_val>0.3780272901058197</right_val></_></_>
+        <_>
+          <!-- tree 99 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 14 2 3 -1.</_>
+                <_>9 15 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.3579288758337498e-003</threshold>
+            <left_val>0.6371889114379883</left_val>
+            <right_val>0.4838674068450928</right_val></_></_>
+        <_>
+          <!-- tree 100 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 6 2 12 -1.</_>
+                <_>9 10 2 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.6661018170416355e-003</threshold>
+            <left_val>0.5374705791473389</left_val>
+            <right_val>0.4163666069507599</right_val></_></_>
+        <_>
+          <!-- tree 101 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 9 3 3 -1.</_>
+                <_>12 10 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.0677339206449687e-005</threshold>
+            <left_val>0.4638795852661133</left_val>
+            <right_val>0.5311625003814697</right_val></_></_>
+        <_>
+          <!-- tree 102 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 1 4 8 -1.</_>
+                <_>2 1 2 8 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0367381609976292</threshold>
+            <left_val>0.4688656032085419</left_val>
+            <right_val>0.6466524004936218</right_val></_></_>
+        <_>
+          <!-- tree 103 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 1 6 2 -1.</_>
+                <_>12 1 3 1 2.</_>
+                <_>9 2 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.6528137326240540e-003</threshold>
+            <left_val>0.5204318761825562</left_val>
+            <right_val>0.2188657969236374</right_val></_></_>
+        <_>
+          <!-- tree 104 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 3 12 14 -1.</_>
+                <_>1 10 12 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.1537135988473892</threshold>
+            <left_val>0.1630371958017349</left_val>
+            <right_val>0.4958840012550354</right_val></_></_>
+        <_>
+          <!-- tree 105 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 12 4 2 -1.</_>
+                <_>10 12 2 1 2.</_>
+                <_>8 13 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.1560421232134104e-004</threshold>
+            <left_val>0.5774459242820740</left_val>
+            <right_val>0.4696458876132965</right_val></_></_>
+        <_>
+          <!-- tree 106 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 9 10 2 -1.</_>
+                <_>1 9 5 1 2.</_>
+                <_>6 10 5 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.2640169588848948e-003</threshold>
+            <left_val>0.3977175951004028</left_val>
+            <right_val>0.5217198133468628</right_val></_></_>
+        <_>
+          <!-- tree 107 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 15 4 3 -1.</_>
+                <_>8 16 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.5473341122269630e-003</threshold>
+            <left_val>0.6046528220176697</left_val>
+            <right_val>0.4808315038681030</right_val></_></_>
+        <_>
+          <!-- tree 108 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 8 8 3 -1.</_>
+                <_>6 9 8 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.0019069527043030e-005</threshold>
+            <left_val>0.3996723890304565</left_val>
+            <right_val>0.5228201150894165</right_val></_></_>
+        <_>
+          <!-- tree 109 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 15 5 3 -1.</_>
+                <_>9 16 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.3113019522279501e-003</threshold>
+            <left_val>0.4712158143520355</left_val>
+            <right_val>0.5765997767448425</right_val></_></_>
+        <_>
+          <!-- tree 110 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 4 3 -1.</_>
+                <_>8 8 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.3374709524214268e-003</threshold>
+            <left_val>0.4109584987163544</left_val>
+            <right_val>0.5253170132637024</right_val></_></_>
+        <_>
+          <!-- tree 111 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 7 6 2 -1.</_>
+                <_>7 8 6 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0208767093718052</threshold>
+            <left_val>0.5202993750572205</left_val>
+            <right_val>0.1757981926202774</right_val></_></_>
+        <_>
+          <!-- tree 112 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 8 2 -1.</_>
+                <_>5 7 4 1 2.</_>
+                <_>9 8 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.5497948564589024e-003</threshold>
+            <left_val>0.6566609740257263</left_val>
+            <right_val>0.4694975018501282</right_val></_></_>
+        <_>
+          <!-- tree 113 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 9 3 3 -1.</_>
+                <_>12 10 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0241885501891375</threshold>
+            <left_val>0.5128673911094666</left_val>
+            <right_val>0.3370220959186554</right_val></_></_>
+        <_>
+          <!-- tree 114 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 7 4 2 -1.</_>
+                <_>4 8 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.9358828905969858e-003</threshold>
+            <left_val>0.6580786705017090</left_val>
+            <right_val>0.4694541096687317</right_val></_></_>
+        <_>
+          <!-- tree 115 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 2 6 9 -1.</_>
+                <_>14 5 6 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0575579293072224</threshold>
+            <left_val>0.5146445035934448</left_val>
+            <right_val>0.2775259912014008</right_val></_></_>
+        <_>
+          <!-- tree 116 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 9 3 3 -1.</_>
+                <_>5 9 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.1343370424583554e-003</threshold>
+            <left_val>0.3836601972579956</left_val>
+            <right_val>0.5192667245864868</right_val></_></_>
+        <_>
+          <!-- tree 117 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 9 3 3 -1.</_>
+                <_>12 10 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0168169997632504</threshold>
+            <left_val>0.5085592865943909</left_val>
+            <right_val>0.6177260875701904</right_val></_></_>
+        <_>
+          <!-- tree 118 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 6 9 -1.</_>
+                <_>0 5 6 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.0535178743302822e-003</threshold>
+            <left_val>0.5138763189315796</left_val>
+            <right_val>0.3684791922569275</right_val></_></_>
+        <_>
+          <!-- tree 119 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>17 3 3 6 -1.</_>
+                <_>18 3 1 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.5874710194766521e-003</threshold>
+            <left_val>0.5989655256271362</left_val>
+            <right_val>0.4835202097892761</right_val></_></_>
+        <_>
+          <!-- tree 120 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 3 3 6 -1.</_>
+                <_>1 3 1 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.6882460331544280e-003</threshold>
+            <left_val>0.4509486854076386</left_val>
+            <right_val>0.5723056793212891</right_val></_></_>
+        <_>
+          <!-- tree 121 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>17 14 1 2 -1.</_>
+                <_>17 15 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.6554000321775675e-003</threshold>
+            <left_val>0.3496770858764648</left_val>
+            <right_val>0.5243319272994995</right_val></_></_>
+        <_>
+          <!-- tree 122 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 9 4 3 -1.</_>
+                <_>6 9 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0193738006055355</threshold>
+            <left_val>0.1120536997914314</left_val>
+            <right_val>0.4968712925910950</right_val></_></_>
+        <_>
+          <!-- tree 123 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 9 3 3 -1.</_>
+                <_>12 10 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0103744501248002</threshold>
+            <left_val>0.5148196816444397</left_val>
+            <right_val>0.4395213127136231</right_val></_></_>
+        <_>
+          <!-- tree 124 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 9 3 3 -1.</_>
+                <_>5 10 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4973050565458834e-004</threshold>
+            <left_val>0.4084999859333038</left_val>
+            <right_val>0.5269886851310730</right_val></_></_>
+        <_>
+          <!-- tree 125 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 6 8 -1.</_>
+                <_>12 5 3 4 2.</_>
+                <_>9 9 3 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0429819300770760</threshold>
+            <left_val>0.6394104957580566</left_val>
+            <right_val>0.5018504261970520</right_val></_></_>
+        <_>
+          <!-- tree 126 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 5 6 8 -1.</_>
+                <_>5 5 3 4 2.</_>
+                <_>8 9 3 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.3065936341881752e-003</threshold>
+            <left_val>0.4707553982734680</left_val>
+            <right_val>0.6698353290557861</right_val></_></_>
+        <_>
+          <!-- tree 127 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 1 4 6 -1.</_>
+                <_>16 4 4 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.1285790503025055e-003</threshold>
+            <left_val>0.4541369080543518</left_val>
+            <right_val>0.5323647260665894</right_val></_></_>
+        <_>
+          <!-- tree 128 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 0 6 20 -1.</_>
+                <_>3 0 2 20 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.7399420030415058e-003</threshold>
+            <left_val>0.4333961904048920</left_val>
+            <right_val>0.5439866185188294</right_val></_></_>
+        <_>
+          <!-- tree 129 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 11 3 2 -1.</_>
+                <_>13 11 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.1739750334527344e-004</threshold>
+            <left_val>0.4579687118530273</left_val>
+            <right_val>0.5543426275253296</right_val></_></_>
+        <_>
+          <!-- tree 130 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 11 3 2 -1.</_>
+                <_>6 11 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.8585780344437808e-004</threshold>
+            <left_val>0.4324643909931183</left_val>
+            <right_val>0.5426754951477051</right_val></_></_>
+        <_>
+          <!-- tree 131 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 4 6 1 -1.</_>
+                <_>11 4 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.5587692186236382e-003</threshold>
+            <left_val>0.5257220864295960</left_val>
+            <right_val>0.3550611138343811</right_val></_></_>
+        <_>
+          <!-- tree 132 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 8 3 -1.</_>
+                <_>4 0 4 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.9851560294628143e-003</threshold>
+            <left_val>0.6043018102645874</left_val>
+            <right_val>0.4630635976791382</right_val></_></_>
+        <_>
+          <!-- tree 133 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 0 2 5 -1.</_>
+                <_>15 0 1 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.0594122624024749e-004</threshold>
+            <left_val>0.4598254859447479</left_val>
+            <right_val>0.5533195137977600</right_val></_></_>
+        <_>
+          <!-- tree 134 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 1 3 2 -1.</_>
+                <_>5 1 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.2983040253166109e-004</threshold>
+            <left_val>0.4130752086639404</left_val>
+            <right_val>0.5322461128234863</right_val></_></_>
+        <_>
+          <!-- tree 135 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 0 6 15 -1.</_>
+                <_>9 0 2 15 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.3740210821852088e-004</threshold>
+            <left_val>0.4043039977550507</left_val>
+            <right_val>0.5409289002418518</right_val></_></_>
+        <_>
+          <!-- tree 136 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 11 3 1 -1.</_>
+                <_>7 11 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.9482020181603730e-004</threshold>
+            <left_val>0.4494963884353638</left_val>
+            <right_val>0.5628852248191834</right_val></_></_>
+        <_>
+          <!-- tree 137 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 0 3 4 -1.</_>
+                <_>13 0 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0103126596659422</threshold>
+            <left_val>0.5177510976791382</left_val>
+            <right_val>0.2704316973686218</right_val></_></_>
+        <_>
+          <!-- tree 138 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 4 6 1 -1.</_>
+                <_>7 4 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.7241109684109688e-003</threshold>
+            <left_val>0.1988019049167633</left_val>
+            <right_val>0.4980553984642029</right_val></_></_>
+        <_>
+          <!-- tree 139 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 7 3 2 -1.</_>
+                <_>12 8 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.6797208487987518e-003</threshold>
+            <left_val>0.6644750237464905</left_val>
+            <right_val>0.5018296241760254</right_val></_></_>
+        <_>
+          <!-- tree 140 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 1 4 6 -1.</_>
+                <_>0 4 4 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.0755459815263748e-003</threshold>
+            <left_val>0.3898304998874664</left_val>
+            <right_val>0.5185269117355347</right_val></_></_>
+        <_>
+          <!-- tree 141 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 7 3 2 -1.</_>
+                <_>12 8 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.2479740437120199e-003</threshold>
+            <left_val>0.4801808893680573</left_val>
+            <right_val>0.5660336017608643</right_val></_></_>
+        <_>
+          <!-- tree 142 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 16 3 3 -1.</_>
+                <_>2 17 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.3327008178457618e-004</threshold>
+            <left_val>0.5210919976234436</left_val>
+            <right_val>0.3957188129425049</right_val></_></_>
+        <_>
+          <!-- tree 143 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 8 6 10 -1.</_>
+                <_>16 8 3 5 2.</_>
+                <_>13 13 3 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0412793308496475</threshold>
+            <left_val>0.6154541969299316</left_val>
+            <right_val>0.5007054209709168</right_val></_></_>
+        <_>
+          <!-- tree 144 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 9 5 2 -1.</_>
+                <_>0 10 5 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.0930189900100231e-004</threshold>
+            <left_val>0.3975942134857178</left_val>
+            <right_val>0.5228403806686401</right_val></_></_>
+        <_>
+          <!-- tree 145 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 11 2 2 -1.</_>
+                <_>13 11 1 1 2.</_>
+                <_>12 12 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.2568780221045017e-003</threshold>
+            <left_val>0.4979138076305389</left_val>
+            <right_val>0.5939183235168457</right_val></_></_>
+        <_>
+          <!-- tree 146 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 15 3 3 -1.</_>
+                <_>3 16 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.0048497766256332e-003</threshold>
+            <left_val>0.4984497129917145</left_val>
+            <right_val>0.1633366048336029</right_val></_></_>
+        <_>
+          <!-- tree 147 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 7 3 2 -1.</_>
+                <_>12 8 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.1879300000146031e-003</threshold>
+            <left_val>0.5904964804649353</left_val>
+            <right_val>0.4942624866962433</right_val></_></_>
+        <_>
+          <!-- tree 148 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 3 2 -1.</_>
+                <_>5 8 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.1948952497914433e-004</threshold>
+            <left_val>0.4199557900428772</left_val>
+            <right_val>0.5328726172447205</right_val></_></_>
+        <_>
+          <!-- tree 149 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 9 9 -1.</_>
+                <_>9 8 9 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.6829859279096127e-003</threshold>
+            <left_val>0.5418602824211121</left_val>
+            <right_val>0.4905889034271240</right_val></_></_>
+        <_>
+          <!-- tree 150 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 0 3 7 -1.</_>
+                <_>6 0 1 7 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.7062340416014194e-003</threshold>
+            <left_val>0.3725939095020294</left_val>
+            <right_val>0.5138000249862671</right_val></_></_>
+        <_>
+          <!-- tree 151 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 2 12 5 -1.</_>
+                <_>9 2 4 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0397394113242626</threshold>
+            <left_val>0.6478961110115051</left_val>
+            <right_val>0.5050346851348877</right_val></_></_>
+        <_>
+          <!-- tree 152 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 11 2 2 -1.</_>
+                <_>6 11 1 1 2.</_>
+                <_>7 12 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4085009461268783e-003</threshold>
+            <left_val>0.4682339131832123</left_val>
+            <right_val>0.6377884149551392</right_val></_></_>
+        <_>
+          <!-- tree 153 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 15 3 2 -1.</_>
+                <_>15 16 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.9322688826359808e-004</threshold>
+            <left_val>0.5458530187606812</left_val>
+            <right_val>0.4150482118129730</right_val></_></_>
+        <_>
+          <!-- tree 154 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 15 3 2 -1.</_>
+                <_>2 16 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.8979819724336267e-003</threshold>
+            <left_val>0.3690159916877747</left_val>
+            <right_val>0.5149704217910767</right_val></_></_>
+        <_>
+          <!-- tree 155 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 12 6 8 -1.</_>
+                <_>17 12 3 4 2.</_>
+                <_>14 16 3 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0139704402536154</threshold>
+            <left_val>0.6050562858581543</left_val>
+            <right_val>0.4811357855796814</right_val></_></_>
+        <_>
+          <!-- tree 156 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 8 15 6 -1.</_>
+                <_>7 8 5 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.1010081991553307</threshold>
+            <left_val>0.2017080038785934</left_val>
+            <right_val>0.4992361962795258</right_val></_></_>
+        <_>
+          <!-- tree 157 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 2 18 17 -1.</_>
+                <_>8 2 6 17 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0173469204455614</threshold>
+            <left_val>0.5713148713111877</left_val>
+            <right_val>0.4899486005306244</right_val></_></_>
+        <_>
+          <!-- tree 158 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 1 4 1 -1.</_>
+                <_>7 1 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5619759506080300e-004</threshold>
+            <left_val>0.4215388894081116</left_val>
+            <right_val>0.5392642021179199</right_val></_></_>
+        <_>
+          <!-- tree 159 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 2 12 5 -1.</_>
+                <_>9 2 4 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.1343892961740494</threshold>
+            <left_val>0.5136151909828186</left_val>
+            <right_val>0.3767612874507904</right_val></_></_>
+        <_>
+          <!-- tree 160 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 2 12 5 -1.</_>
+                <_>7 2 4 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0245822407305241</threshold>
+            <left_val>0.7027357816696167</left_val>
+            <right_val>0.4747906923294067</right_val></_></_>
+        <_>
+          <!-- tree 161 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 9 12 4 -1.</_>
+                <_>10 9 6 2 2.</_>
+                <_>4 11 6 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.8553720805794001e-003</threshold>
+            <left_val>0.4317409098148346</left_val>
+            <right_val>0.5427716970443726</right_val></_></_>
+        <_>
+          <!-- tree 162 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 15 6 2 -1.</_>
+                <_>5 15 3 1 2.</_>
+                <_>8 16 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.3165249731391668e-003</threshold>
+            <left_val>0.5942698717117310</left_val>
+            <right_val>0.4618647992610931</right_val></_></_>
+        <_>
+          <!-- tree 163 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 14 2 3 -1.</_>
+                <_>10 15 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.8518120311200619e-003</threshold>
+            <left_val>0.6191568970680237</left_val>
+            <right_val>0.4884895086288452</right_val></_></_>
+        <_>
+          <!-- tree 164 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 13 20 2 -1.</_>
+                <_>0 13 10 1 2.</_>
+                <_>10 14 10 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.4699938949197531e-003</threshold>
+            <left_val>0.5256664752960205</left_val>
+            <right_val>0.4017199873924255</right_val></_></_>
+        <_>
+          <!-- tree 165 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 9 12 8 -1.</_>
+                <_>10 9 6 4 2.</_>
+                <_>4 13 6 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0454969592392445</threshold>
+            <left_val>0.5237867832183838</left_val>
+            <right_val>0.2685773968696594</right_val></_></_>
+        <_>
+          <!-- tree 166 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 13 3 6 -1.</_>
+                <_>8 16 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0203195996582508</threshold>
+            <left_val>0.2130445986986160</left_val>
+            <right_val>0.4979738891124725</right_val></_></_>
+        <_>
+          <!-- tree 167 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 12 2 2 -1.</_>
+                <_>10 13 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.6994998916052282e-004</threshold>
+            <left_val>0.4814041852951050</left_val>
+            <right_val>0.5543122291564941</right_val></_></_>
+        <_>
+          <!-- tree 168 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 12 2 2 -1.</_>
+                <_>9 12 1 1 2.</_>
+                <_>10 13 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.8232699949294329e-003</threshold>
+            <left_val>0.6482579708099365</left_val>
+            <right_val>0.4709989130496979</right_val></_></_>
+        <_>
+          <!-- tree 169 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 11 14 4 -1.</_>
+                <_>11 11 7 2 2.</_>
+                <_>4 13 7 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.3015790656208992e-003</threshold>
+            <left_val>0.4581927955150604</left_val>
+            <right_val>0.5306236147880554</right_val></_></_>
+        <_>
+          <!-- tree 170 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 5 4 2 -1.</_>
+                <_>8 6 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.4139499873854220e-004</threshold>
+            <left_val>0.5232086777687073</left_val>
+            <right_val>0.4051763117313385</right_val></_></_>
+        <_>
+          <!-- tree 171 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 10 6 3 -1.</_>
+                <_>12 10 2 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.0330369696021080e-003</threshold>
+            <left_val>0.5556201934814453</left_val>
+            <right_val>0.4789193868637085</right_val></_></_>
+        <_>
+          <!-- tree 172 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 14 1 2 -1.</_>
+                <_>2 15 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.8041160365100950e-004</threshold>
+            <left_val>0.5229442715644836</left_val>
+            <right_val>0.4011810123920441</right_val></_></_>
+        <_>
+          <!-- tree 173 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 8 6 12 -1.</_>
+                <_>16 8 3 6 2.</_>
+                <_>13 14 3 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0614078603684902</threshold>
+            <left_val>0.6298682093620300</left_val>
+            <right_val>0.5010703206062317</right_val></_></_>
+        <_>
+          <!-- tree 174 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 8 6 12 -1.</_>
+                <_>1 8 3 6 2.</_>
+                <_>4 14 3 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0695439130067825</threshold>
+            <left_val>0.7228280901908875</left_val>
+            <right_val>0.4773184061050415</right_val></_></_>
+        <_>
+          <!-- tree 175 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 0 6 10 -1.</_>
+                <_>12 0 2 10 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0705426633358002</threshold>
+            <left_val>0.2269513010978699</left_val>
+            <right_val>0.5182529091835022</right_val></_></_>
+        <_>
+          <!-- tree 176 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 11 8 4 -1.</_>
+                <_>5 11 4 2 2.</_>
+                <_>9 13 4 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.4423799477517605e-003</threshold>
+            <left_val>0.5237097144126892</left_val>
+            <right_val>0.4098151028156281</right_val></_></_>
+        <_>
+          <!-- tree 177 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 16 8 4 -1.</_>
+                <_>14 16 4 2 2.</_>
+                <_>10 18 4 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5494349645450711e-003</threshold>
+            <left_val>0.4773750901222229</left_val>
+            <right_val>0.5468043088912964</right_val></_></_>
+        <_>
+          <!-- tree 178 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 7 6 6 -1.</_>
+                <_>9 7 2 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0239142198115587</threshold>
+            <left_val>0.7146975994110107</left_val>
+            <right_val>0.4783824980258942</right_val></_></_>
+        <_>
+          <!-- tree 179 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 2 4 10 -1.</_>
+                <_>10 2 2 10 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0124536901712418</threshold>
+            <left_val>0.2635296881198883</left_val>
+            <right_val>0.5241122841835022</right_val></_></_>
+        <_>
+          <!-- tree 180 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 1 4 9 -1.</_>
+                <_>8 1 2 9 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.0760179904755205e-004</threshold>
+            <left_val>0.3623757064342499</left_val>
+            <right_val>0.5113608837127686</right_val></_></_>
+        <_>
+          <!-- tree 181 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 19 2 1 -1.</_>
+                <_>12 19 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.9781080229440704e-005</threshold>
+            <left_val>0.4705932140350342</left_val>
+            <right_val>0.5432801842689514</right_val></_></_></trees>
+      <stage_threshold>90.2533493041992190</stage_threshold>
+      <parent>18</parent>
+      <next>-1</next></_>
+    <_>
+      <!-- stage 20 -->
+      <trees>
+        <_>
+          <!-- tree 0 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 2 4 9 -1.</_>
+                <_>3 2 2 9 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0117727499455214</threshold>
+            <left_val>0.3860518932342529</left_val>
+            <right_val>0.6421167254447937</right_val></_></_>
+        <_>
+          <!-- tree 1 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 5 6 4 -1.</_>
+                <_>9 5 2 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0270375702530146</threshold>
+            <left_val>0.4385654926300049</left_val>
+            <right_val>0.6754038929939270</right_val></_></_>
+        <_>
+          <!-- tree 2 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 4 2 4 -1.</_>
+                <_>9 6 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.6419500247575343e-005</threshold>
+            <left_val>0.5487101078033447</left_val>
+            <right_val>0.3423315882682800</right_val></_></_>
+        <_>
+          <!-- tree 3 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 5 2 8 -1.</_>
+                <_>14 9 2 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.9995409529656172e-003</threshold>
+            <left_val>0.3230532109737396</left_val>
+            <right_val>0.5400317907333374</right_val></_></_>
+        <_>
+          <!-- tree 4 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 6 5 12 -1.</_>
+                <_>7 12 5 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.5278300531208515e-003</threshold>
+            <left_val>0.5091639757156372</left_val>
+            <right_val>0.2935043871402741</right_val></_></_>
+        <_>
+          <!-- tree 5 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 6 2 6 -1.</_>
+                <_>14 9 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.7890920541249216e-004</threshold>
+            <left_val>0.4178153872489929</left_val>
+            <right_val>0.5344064235687256</right_val></_></_>
+        <_>
+          <!-- tree 6 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 6 2 6 -1.</_>
+                <_>4 9 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.1720920447260141e-003</threshold>
+            <left_val>0.2899182140827179</left_val>
+            <right_val>0.5132070779800415</right_val></_></_>
+        <_>
+          <!-- tree 7 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 15 10 4 -1.</_>
+                <_>13 15 5 2 2.</_>
+                <_>8 17 5 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.5305702416226268e-004</threshold>
+            <left_val>0.4280124902725220</left_val>
+            <right_val>0.5560845136642456</right_val></_></_>
+        <_>
+          <!-- tree 8 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 18 2 2 -1.</_>
+                <_>7 18 1 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5099150004971307e-005</threshold>
+            <left_val>0.4044871926307678</left_val>
+            <right_val>0.5404760241508484</right_val></_></_>
+        <_>
+          <!-- tree 9 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 3 6 2 -1.</_>
+                <_>11 4 6 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.0817901976406574e-004</threshold>
+            <left_val>0.4271768927574158</left_val>
+            <right_val>0.5503466129302979</right_val></_></_>
+        <_>
+          <!-- tree 10 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 0 16 6 -1.</_>
+                <_>2 2 16 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.3224520739167929e-003</threshold>
+            <left_val>0.3962723910808563</left_val>
+            <right_val>0.5369734764099121</right_val></_></_>
+        <_>
+          <!-- tree 11 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 3 6 2 -1.</_>
+                <_>11 4 6 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.1037490330636501e-003</threshold>
+            <left_val>0.4727177917957306</left_val>
+            <right_val>0.5237749814987183</right_val></_></_>
+        <_>
+          <!-- tree 12 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 11 10 3 -1.</_>
+                <_>4 12 10 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.4350269921123981e-003</threshold>
+            <left_val>0.5603008270263672</left_val>
+            <right_val>0.4223509132862091</right_val></_></_>
+        <_>
+          <!-- tree 13 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 3 6 2 -1.</_>
+                <_>11 4 6 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.0767399109899998e-003</threshold>
+            <left_val>0.5225917100906372</left_val>
+            <right_val>0.4732725918292999</right_val></_></_>
+        <_>
+          <!-- tree 14 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 3 6 2 -1.</_>
+                <_>3 4 6 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.6412809782195836e-004</threshold>
+            <left_val>0.3999075889587402</left_val>
+            <right_val>0.5432739853858948</right_val></_></_>
+        <_>
+          <!-- tree 15 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 0 4 7 -1.</_>
+                <_>16 0 2 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.8302437216043472e-003</threshold>
+            <left_val>0.4678385853767395</left_val>
+            <right_val>0.6027327179908752</right_val></_></_>
+        <_>
+          <!-- tree 16 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 14 9 6 -1.</_>
+                <_>0 16 9 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0105520701035857</threshold>
+            <left_val>0.3493967056274414</left_val>
+            <right_val>0.5213974714279175</right_val></_></_>
+        <_>
+          <!-- tree 17 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 16 3 3 -1.</_>
+                <_>9 17 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.2731600329279900e-003</threshold>
+            <left_val>0.6185818910598755</left_val>
+            <right_val>0.4749062955379486</right_val></_></_>
+        <_>
+          <!-- tree 18 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 6 6 2 -1.</_>
+                <_>6 6 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.4786332445219159e-004</threshold>
+            <left_val>0.5285341143608093</left_val>
+            <right_val>0.3843482136726379</right_val></_></_>
+        <_>
+          <!-- tree 19 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 11 1 3 -1.</_>
+                <_>15 12 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.2081359745934606e-003</threshold>
+            <left_val>0.5360640883445740</left_val>
+            <right_val>0.3447335958480835</right_val></_></_>
+        <_>
+          <!-- tree 20 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 5 2 3 -1.</_>
+                <_>5 6 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.6512730401009321e-003</threshold>
+            <left_val>0.4558292031288147</left_val>
+            <right_val>0.6193962097167969</right_val></_></_>
+        <_>
+          <!-- tree 21 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 9 2 2 -1.</_>
+                <_>10 10 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.1012479662895203e-003</threshold>
+            <left_val>0.3680230081081390</left_val>
+            <right_val>0.5327628254890442</right_val></_></_>
+        <_>
+          <!-- tree 22 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 1 4 3 -1.</_>
+                <_>5 1 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.9561518244445324e-004</threshold>
+            <left_val>0.3960595130920410</left_val>
+            <right_val>0.5274940729141235</right_val></_></_>
+        <_>
+          <!-- tree 23 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 0 4 7 -1.</_>
+                <_>16 0 2 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0439017713069916</threshold>
+            <left_val>0.7020444869995117</left_val>
+            <right_val>0.4992839097976685</right_val></_></_>
+        <_>
+          <!-- tree 24 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 20 1 -1.</_>
+                <_>10 0 10 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0346903502941132</threshold>
+            <left_val>0.5049164295196533</left_val>
+            <right_val>0.2766602933406830</right_val></_></_>
+        <_>
+          <!-- tree 25 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 11 1 3 -1.</_>
+                <_>15 12 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.7442190330475569e-003</threshold>
+            <left_val>0.2672632932662964</left_val>
+            <right_val>0.5274971127510071</right_val></_></_>
+        <_>
+          <!-- tree 26 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 4 3 4 -1.</_>
+                <_>1 4 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.3316588960587978e-003</threshold>
+            <left_val>0.4579482972621918</left_val>
+            <right_val>0.6001101732254028</right_val></_></_>
+        <_>
+          <!-- tree 27 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 3 3 6 -1.</_>
+                <_>16 5 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0200445707887411</threshold>
+            <left_val>0.3171594142913818</left_val>
+            <right_val>0.5235717892646790</right_val></_></_>
+        <_>
+          <!-- tree 28 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 3 3 6 -1.</_>
+                <_>1 5 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.3492030557245016e-003</threshold>
+            <left_val>0.5265362858772278</left_val>
+            <right_val>0.4034324884414673</right_val></_></_>
+        <_>
+          <!-- tree 29 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 2 12 6 -1.</_>
+                <_>12 2 6 3 2.</_>
+                <_>6 5 6 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.9702018946409225e-003</threshold>
+            <left_val>0.5332456827163696</left_val>
+            <right_val>0.4571984112262726</right_val></_></_>
+        <_>
+          <!-- tree 30 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 10 4 3 -1.</_>
+                <_>8 11 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.3039981760084629e-003</threshold>
+            <left_val>0.4593310952186585</left_val>
+            <right_val>0.6034635901451111</right_val></_></_>
+        <_>
+          <!-- tree 31 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 2 14 6 -1.</_>
+                <_>11 2 7 3 2.</_>
+                <_>4 5 7 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0129365902394056</threshold>
+            <left_val>0.4437963962554932</left_val>
+            <right_val>0.5372971296310425</right_val></_></_>
+        <_>
+          <!-- tree 32 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 11 2 3 -1.</_>
+                <_>9 12 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.0148729458451271e-003</threshold>
+            <left_val>0.4680323898792267</left_val>
+            <right_val>0.6437833905220032</right_val></_></_>
+        <_>
+          <!-- tree 33 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 13 2 3 -1.</_>
+                <_>15 14 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.6401679497212172e-003</threshold>
+            <left_val>0.3709631860256195</left_val>
+            <right_val>0.5314332842826843</right_val></_></_>
+        <_>
+          <!-- tree 34 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 12 4 3 -1.</_>
+                <_>8 13 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0139184398576617</threshold>
+            <left_val>0.4723555147647858</left_val>
+            <right_val>0.7130808830261231</right_val></_></_>
+        <_>
+          <!-- tree 35 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 11 1 3 -1.</_>
+                <_>15 12 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.5087869511917233e-004</threshold>
+            <left_val>0.4492394030094147</left_val>
+            <right_val>0.5370404124259949</right_val></_></_>
+        <_>
+          <!-- tree 36 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 13 5 2 -1.</_>
+                <_>7 14 5 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.5384349282830954e-004</threshold>
+            <left_val>0.4406864047050476</left_val>
+            <right_val>0.5514402985572815</right_val></_></_>
+        <_>
+          <!-- tree 37 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 12 6 3 -1.</_>
+                <_>7 13 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.2710000630468130e-003</threshold>
+            <left_val>0.4682416915893555</left_val>
+            <right_val>0.5967984199523926</right_val></_></_>
+        <_>
+          <!-- tree 38 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 11 4 4 -1.</_>
+                <_>5 13 4 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.4120779708027840e-003</threshold>
+            <left_val>0.5079392194747925</left_val>
+            <right_val>0.3018598854541779</right_val></_></_>
+        <_>
+          <!-- tree 39 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 4 3 3 -1.</_>
+                <_>12 4 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.6025670851813629e-005</threshold>
+            <left_val>0.5601037144660950</left_val>
+            <right_val>0.4471096992492676</right_val></_></_>
+        <_>
+          <!-- tree 40 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 4 3 3 -1.</_>
+                <_>7 4 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.4905529618263245e-003</threshold>
+            <left_val>0.2207535058259964</left_val>
+            <right_val>0.4989944100379944</right_val></_></_>
+        <_>
+          <!-- tree 41 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 5 3 6 -1.</_>
+                <_>17 5 1 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0175131205469370</threshold>
+            <left_val>0.6531215906143189</left_val>
+            <right_val>0.5017648935317993</right_val></_></_>
+        <_>
+          <!-- tree 42 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 6 12 7 -1.</_>
+                <_>7 6 4 7 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.1428163051605225</threshold>
+            <left_val>0.4967963099479675</left_val>
+            <right_val>0.1482062041759491</right_val></_></_>
+        <_>
+          <!-- tree 43 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 5 3 6 -1.</_>
+                <_>17 5 1 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.5345268920063972e-003</threshold>
+            <left_val>0.4898946881294251</left_val>
+            <right_val>0.5954223871231079</right_val></_></_>
+        <_>
+          <!-- tree 44 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 13 2 3 -1.</_>
+                <_>3 14 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.6323591424152255e-004</threshold>
+            <left_val>0.3927116990089417</left_val>
+            <right_val>0.5196074247360230</right_val></_></_>
+        <_>
+          <!-- tree 45 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 5 3 6 -1.</_>
+                <_>17 5 1 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.0370010752230883e-003</threshold>
+            <left_val>0.5613325238227844</left_val>
+            <right_val>0.4884858131408691</right_val></_></_>
+        <_>
+          <!-- tree 46 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 5 3 6 -1.</_>
+                <_>2 5 1 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.6614829655736685e-003</threshold>
+            <left_val>0.4472880065441132</left_val>
+            <right_val>0.5578880906105042</right_val></_></_>
+        <_>
+          <!-- tree 47 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 9 18 1 -1.</_>
+                <_>7 9 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.1188090797513723e-003</threshold>
+            <left_val>0.3840532898902893</left_val>
+            <right_val>0.5397477746009827</right_val></_></_>
+        <_>
+          <!-- tree 48 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 9 8 7 -1.</_>
+                <_>4 9 4 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.4000617712736130e-003</threshold>
+            <left_val>0.5843983888626099</left_val>
+            <right_val>0.4533218145370483</right_val></_></_>
+        <_>
+          <!-- tree 49 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 11 8 2 -1.</_>
+                <_>12 12 8 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.1319601112045348e-004</threshold>
+            <left_val>0.5439221858978272</left_val>
+            <right_val>0.4234727919101715</right_val></_></_>
+        <_>
+          <!-- tree 50 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 11 8 2 -1.</_>
+                <_>0 12 8 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0182220991700888</threshold>
+            <left_val>0.1288464963436127</left_val>
+            <right_val>0.4958404898643494</right_val></_></_>
+        <_>
+          <!-- tree 51 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 13 2 3 -1.</_>
+                <_>9 14 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.7969247251749039e-003</threshold>
+            <left_val>0.4951297938823700</left_val>
+            <right_val>0.7153480052947998</right_val></_></_>
+        <_>
+          <!-- tree 52 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 10 12 4 -1.</_>
+                <_>4 10 6 2 2.</_>
+                <_>10 12 6 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.2395070195198059e-003</threshold>
+            <left_val>0.3946599960327148</left_val>
+            <right_val>0.5194936990737915</right_val></_></_>
+        <_>
+          <!-- tree 53 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 3 3 7 -1.</_>
+                <_>10 3 1 7 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.7086271271109581e-003</threshold>
+            <left_val>0.4897503852844238</left_val>
+            <right_val>0.6064900159835815</right_val></_></_>
+        <_>
+          <!-- tree 54 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 2 3 5 -1.</_>
+                <_>8 2 1 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.9934171363711357e-003</threshold>
+            <left_val>0.3245440125465393</left_val>
+            <right_val>0.5060828924179077</right_val></_></_>
+        <_>
+          <!-- tree 55 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 12 4 6 -1.</_>
+                <_>11 12 2 3 2.</_>
+                <_>9 15 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0167850591242313</threshold>
+            <left_val>0.1581953018903732</left_val>
+            <right_val>0.5203778743743897</right_val></_></_>
+        <_>
+          <!-- tree 56 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 3 6 -1.</_>
+                <_>9 7 1 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0182720907032490</threshold>
+            <left_val>0.4680935144424439</left_val>
+            <right_val>0.6626979112625122</right_val></_></_>
+        <_>
+          <!-- tree 57 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 4 4 2 -1.</_>
+                <_>15 5 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.6872838176786900e-003</threshold>
+            <left_val>0.5211697816848755</left_val>
+            <right_val>0.3512184917926788</right_val></_></_>
+        <_>
+          <!-- tree 58 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 3 3 -1.</_>
+                <_>9 7 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.0739039862528443e-003</threshold>
+            <left_val>0.5768386125564575</left_val>
+            <right_val>0.4529845118522644</right_val></_></_>
+        <_>
+          <!-- tree 59 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 2 6 4 -1.</_>
+                <_>14 4 6 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.7093870341777802e-003</threshold>
+            <left_val>0.4507763087749481</left_val>
+            <right_val>0.5313581228256226</right_val></_></_>
+        <_>
+          <!-- tree 60 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 16 6 1 -1.</_>
+                <_>9 16 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.1110709349159151e-004</threshold>
+            <left_val>0.5460820198059082</left_val>
+            <right_val>0.4333376884460449</right_val></_></_>
+        <_>
+          <!-- tree 61 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 13 2 3 -1.</_>
+                <_>15 14 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.0670139454305172e-003</threshold>
+            <left_val>0.5371856093406677</left_val>
+            <right_val>0.4078390896320343</right_val></_></_>
+        <_>
+          <!-- tree 62 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 3 10 -1.</_>
+                <_>9 7 1 10 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.5943021066486835e-003</threshold>
+            <left_val>0.4471287131309509</left_val>
+            <right_val>0.5643836259841919</right_val></_></_>
+        <_>
+          <!-- tree 63 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 10 2 6 -1.</_>
+                <_>11 12 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.1776031032204628e-003</threshold>
+            <left_val>0.4499393105506897</left_val>
+            <right_val>0.5280330181121826</right_val></_></_>
+        <_>
+          <!-- tree 64 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 10 4 1 -1.</_>
+                <_>8 10 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.5414369883947074e-004</threshold>
+            <left_val>0.5516173243522644</left_val>
+            <right_val>0.4407708048820496</right_val></_></_>
+        <_>
+          <!-- tree 65 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 9 2 2 -1.</_>
+                <_>10 10 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.3522560521960258e-003</threshold>
+            <left_val>0.5194190144538879</left_val>
+            <right_val>0.2465227991342545</right_val></_></_>
+        <_>
+          <!-- tree 66 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 9 2 2 -1.</_>
+                <_>8 10 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.4205080484971404e-004</threshold>
+            <left_val>0.3830705881118774</left_val>
+            <right_val>0.5139682292938232</right_val></_></_>
+        <_>
+          <!-- tree 67 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 7 2 2 -1.</_>
+                <_>13 7 1 1 2.</_>
+                <_>12 8 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.4488727841526270e-004</threshold>
+            <left_val>0.4891090989112854</left_val>
+            <right_val>0.5974786877632141</right_val></_></_>
+        <_>
+          <!-- tree 68 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 2 2 -1.</_>
+                <_>5 7 1 1 2.</_>
+                <_>6 8 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.5116379149258137e-003</threshold>
+            <left_val>0.7413681745529175</left_val>
+            <right_val>0.4768764972686768</right_val></_></_>
+        <_>
+          <!-- tree 69 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 0 3 14 -1.</_>
+                <_>14 0 1 14 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0125409103929996</threshold>
+            <left_val>0.3648819029331207</left_val>
+            <right_val>0.5252826809883118</right_val></_></_>
+        <_>
+          <!-- tree 70 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 0 3 14 -1.</_>
+                <_>5 0 1 14 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.4931852072477341e-003</threshold>
+            <left_val>0.5100492835044861</left_val>
+            <right_val>0.3629586994647980</right_val></_></_>
+        <_>
+          <!-- tree 71 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 4 3 14 -1.</_>
+                <_>14 4 1 14 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0129611501470208</threshold>
+            <left_val>0.5232442021369934</left_val>
+            <right_val>0.4333561062812805</right_val></_></_>
+        <_>
+          <!-- tree 72 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 14 2 3 -1.</_>
+                <_>9 15 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.7209449112415314e-003</threshold>
+            <left_val>0.4648149013519287</left_val>
+            <right_val>0.6331052780151367</right_val></_></_>
+        <_>
+          <!-- tree 73 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 4 3 -1.</_>
+                <_>8 15 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.3119079414755106e-003</threshold>
+            <left_val>0.5930309891700745</left_val>
+            <right_val>0.4531058073043823</right_val></_></_>
+        <_>
+          <!-- tree 74 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 2 3 16 -1.</_>
+                <_>5 2 1 16 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.8262299019843340e-003</threshold>
+            <left_val>0.3870477974414825</left_val>
+            <right_val>0.5257101058959961</right_val></_></_>
+        <_>
+          <!-- tree 75 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 2 8 10 -1.</_>
+                <_>7 7 8 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.4311339473351836e-003</threshold>
+            <left_val>0.5522503256797791</left_val>
+            <right_val>0.4561854898929596</right_val></_></_>
+        <_>
+          <!-- tree 76 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 14 7 3 -1.</_>
+                <_>6 15 7 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.9378310535103083e-003</threshold>
+            <left_val>0.4546220898628235</left_val>
+            <right_val>0.5736966729164124</right_val></_></_>
+        <_>
+          <!-- tree 77 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 2 10 12 -1.</_>
+                <_>14 2 5 6 2.</_>
+                <_>9 8 5 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.6343559147790074e-004</threshold>
+            <left_val>0.5345739126205444</left_val>
+            <right_val>0.4571875035762787</right_val></_></_>
+        <_>
+          <!-- tree 78 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 7 8 2 -1.</_>
+                <_>6 8 8 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.8257522545754910e-004</threshold>
+            <left_val>0.3967815935611725</left_val>
+            <right_val>0.5220187902450562</right_val></_></_>
+        <_>
+          <!-- tree 79 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 13 4 6 -1.</_>
+                <_>8 16 4 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0195504408329725</threshold>
+            <left_val>0.2829642891883850</left_val>
+            <right_val>0.5243508219718933</right_val></_></_>
+        <_>
+          <!-- tree 80 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 6 1 3 -1.</_>
+                <_>6 7 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.3914958951063454e-004</threshold>
+            <left_val>0.4590066969394684</left_val>
+            <right_val>0.5899090170860291</right_val></_></_>
+        <_>
+          <!-- tree 81 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 2 4 6 -1.</_>
+                <_>16 4 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0214520003646612</threshold>
+            <left_val>0.5231410861015320</left_val>
+            <right_val>0.2855378985404968</right_val></_></_>
+        <_>
+          <!-- tree 82 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 6 4 2 -1.</_>
+                <_>6 6 2 1 2.</_>
+                <_>8 7 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.8973580598831177e-004</threshold>
+            <left_val>0.4397256970405579</left_val>
+            <right_val>0.5506421923637390</right_val></_></_>
+        <_>
+          <!-- tree 83 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 2 4 6 -1.</_>
+                <_>16 4 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0261576101183891</threshold>
+            <left_val>0.3135079145431519</left_val>
+            <right_val>0.5189175009727478</right_val></_></_>
+        <_>
+          <!-- tree 84 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 4 6 -1.</_>
+                <_>0 4 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0139598604291677</threshold>
+            <left_val>0.3213272988796234</left_val>
+            <right_val>0.5040717720985413</right_val></_></_>
+        <_>
+          <!-- tree 85 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 6 2 6 -1.</_>
+                <_>9 6 1 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.3699018210172653e-003</threshold>
+            <left_val>0.6387544870376587</left_val>
+            <right_val>0.4849506914615631</right_val></_></_>
+        <_>
+          <!-- tree 86 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 4 6 10 -1.</_>
+                <_>3 9 6 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.5613820701837540e-003</threshold>
+            <left_val>0.2759132087230682</left_val>
+            <right_val>0.5032019019126892</right_val></_></_>
+        <_>
+          <!-- tree 87 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 2 6 -1.</_>
+                <_>9 5 1 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.6622901037335396e-004</threshold>
+            <left_val>0.4685640931129456</left_val>
+            <right_val>0.5834879279136658</right_val></_></_>
+        <_>
+          <!-- tree 88 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 13 2 3 -1.</_>
+                <_>3 14 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.6550268568098545e-004</threshold>
+            <left_val>0.5175207257270813</left_val>
+            <right_val>0.3896422088146210</right_val></_></_>
+        <_>
+          <!-- tree 89 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 13 3 2 -1.</_>
+                <_>13 14 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.1833340227603912e-003</threshold>
+            <left_val>0.2069136947393417</left_val>
+            <right_val>0.5208122134208679</right_val></_></_>
+        <_>
+          <!-- tree 90 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 16 10 4 -1.</_>
+                <_>2 16 5 2 2.</_>
+                <_>7 18 5 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.3976939097046852e-003</threshold>
+            <left_val>0.6134091019630432</left_val>
+            <right_val>0.4641222953796387</right_val></_></_>
+        <_>
+          <!-- tree 91 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 6 10 6 -1.</_>
+                <_>10 6 5 3 2.</_>
+                <_>5 9 5 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.8028980381786823e-003</threshold>
+            <left_val>0.5454108119010925</left_val>
+            <right_val>0.4395219981670380</right_val></_></_>
+        <_>
+          <!-- tree 92 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 14 1 3 -1.</_>
+                <_>7 15 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.5680569708347321e-003</threshold>
+            <left_val>0.6344485282897949</left_val>
+            <right_val>0.4681093990802765</right_val></_></_>
+        <_>
+          <!-- tree 93 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 16 6 3 -1.</_>
+                <_>14 17 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.0733120404183865e-003</threshold>
+            <left_val>0.5292683243751526</left_val>
+            <right_val>0.4015620052814484</right_val></_></_>
+        <_>
+          <!-- tree 94 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 4 3 3 -1.</_>
+                <_>5 5 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.2568129459396005e-003</threshold>
+            <left_val>0.4392988085746765</left_val>
+            <right_val>0.5452824831008911</right_val></_></_>
+        <_>
+          <!-- tree 95 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 4 10 3 -1.</_>
+                <_>7 5 10 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.9065010603517294e-003</threshold>
+            <left_val>0.5898832082748413</left_val>
+            <right_val>0.4863379895687103</right_val></_></_>
+        <_>
+          <!-- tree 96 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 4 5 4 -1.</_>
+                <_>0 6 5 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.4409340694546700e-003</threshold>
+            <left_val>0.4069364964962006</left_val>
+            <right_val>0.5247421860694885</right_val></_></_>
+        <_>
+          <!-- tree 97 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 11 3 9 -1.</_>
+                <_>13 14 3 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0248307008296251</threshold>
+            <left_val>0.5182725787162781</left_val>
+            <right_val>0.3682524859905243</right_val></_></_>
+        <_>
+          <!-- tree 98 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 11 3 9 -1.</_>
+                <_>4 14 3 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0488540083169937</threshold>
+            <left_val>0.1307577937841415</left_val>
+            <right_val>0.4961281120777130</right_val></_></_>
+        <_>
+          <!-- tree 99 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 2 1 -1.</_>
+                <_>9 7 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.6110379947349429e-003</threshold>
+            <left_val>0.6421005725860596</left_val>
+            <right_val>0.4872662127017975</right_val></_></_>
+        <_>
+          <!-- tree 100 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 0 6 17 -1.</_>
+                <_>7 0 2 17 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0970094799995422</threshold>
+            <left_val>0.0477693490684032</left_val>
+            <right_val>0.4950988888740540</right_val></_></_>
+        <_>
+          <!-- tree 101 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 3 6 3 -1.</_>
+                <_>10 3 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.1209240183234215e-003</threshold>
+            <left_val>0.4616267085075378</left_val>
+            <right_val>0.5354745984077454</right_val></_></_>
+        <_>
+          <!-- tree 102 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 2 15 4 -1.</_>
+                <_>7 2 5 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.3064090162515640e-003</threshold>
+            <left_val>0.6261854171752930</left_val>
+            <right_val>0.4638805985450745</right_val></_></_>
+        <_>
+          <!-- tree 103 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 2 8 2 -1.</_>
+                <_>12 2 4 1 2.</_>
+                <_>8 3 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.5771620352752507e-004</threshold>
+            <left_val>0.5384417772293091</left_val>
+            <right_val>0.4646640121936798</right_val></_></_>
+        <_>
+          <!-- tree 104 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 1 3 6 -1.</_>
+                <_>8 3 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.3149951165542006e-004</threshold>
+            <left_val>0.3804047107696533</left_val>
+            <right_val>0.5130257010459900</right_val></_></_>
+        <_>
+          <!-- tree 105 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 17 2 2 -1.</_>
+                <_>9 18 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4505970466416329e-004</threshold>
+            <left_val>0.4554310142993927</left_val>
+            <right_val>0.5664461851119995</right_val></_></_>
+        <_>
+          <!-- tree 106 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 2 14 -1.</_>
+                <_>1 0 1 14 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0164745505899191</threshold>
+            <left_val>0.6596958041191101</left_val>
+            <right_val>0.4715859889984131</right_val></_></_>
+        <_>
+          <!-- tree 107 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 0 7 3 -1.</_>
+                <_>12 1 7 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0133695797994733</threshold>
+            <left_val>0.5195466279983521</left_val>
+            <right_val>0.3035964965820313</right_val></_></_>
+        <_>
+          <!-- tree 108 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 14 1 2 -1.</_>
+                <_>1 15 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.0271780047332868e-004</threshold>
+            <left_val>0.5229176282882690</left_val>
+            <right_val>0.4107066094875336</right_val></_></_>
+        <_>
+          <!-- tree 109 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 12 2 8 -1.</_>
+                <_>15 12 1 4 2.</_>
+                <_>14 16 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.5311559699475765e-003</threshold>
+            <left_val>0.6352887749671936</left_val>
+            <right_val>0.4960907101631165</right_val></_></_>
+        <_>
+          <!-- tree 110 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 0 7 3 -1.</_>
+                <_>1 1 7 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.6187049224972725e-003</threshold>
+            <left_val>0.3824546039104462</left_val>
+            <right_val>0.5140984058380127</right_val></_></_>
+        <_>
+          <!-- tree 111 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 12 2 8 -1.</_>
+                <_>15 12 1 4 2.</_>
+                <_>14 16 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.0834268331527710e-003</threshold>
+            <left_val>0.4950439929962158</left_val>
+            <right_val>0.6220818758010864</right_val></_></_>
+        <_>
+          <!-- tree 112 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 0 8 12 -1.</_>
+                <_>6 0 4 6 2.</_>
+                <_>10 6 4 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0798181593418121</threshold>
+            <left_val>0.4952335953712463</left_val>
+            <right_val>0.1322475969791412</right_val></_></_>
+        <_>
+          <!-- tree 113 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 1 8 9 -1.</_>
+                <_>6 4 8 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0992265865206718</threshold>
+            <left_val>0.7542728781700134</left_val>
+            <right_val>0.5008416771888733</right_val></_></_>
+        <_>
+          <!-- tree 114 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 2 2 2 -1.</_>
+                <_>5 3 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.5174017800018191e-004</threshold>
+            <left_val>0.3699302971363068</left_val>
+            <right_val>0.5130121111869812</right_val></_></_>
+        <_>
+          <!-- tree 115 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 14 6 6 -1.</_>
+                <_>16 14 3 3 2.</_>
+                <_>13 17 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0189968496561050</threshold>
+            <left_val>0.6689178943634033</left_val>
+            <right_val>0.4921202957630158</right_val></_></_>
+        <_>
+          <!-- tree 116 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 17 20 2 -1.</_>
+                <_>0 17 10 1 2.</_>
+                <_>10 18 10 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0173468999564648</threshold>
+            <left_val>0.4983300864696503</left_val>
+            <right_val>0.1859198063611984</right_val></_></_>
+        <_>
+          <!-- tree 117 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 3 2 6 -1.</_>
+                <_>11 3 1 3 2.</_>
+                <_>10 6 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.5082101607695222e-004</threshold>
+            <left_val>0.4574424028396606</left_val>
+            <right_val>0.5522121787071228</right_val></_></_>
+        <_>
+          <!-- tree 118 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 12 6 2 -1.</_>
+                <_>8 12 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.0056050270795822e-003</threshold>
+            <left_val>0.5131744742393494</left_val>
+            <right_val>0.3856469988822937</right_val></_></_>
+        <_>
+          <!-- tree 119 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 7 6 13 -1.</_>
+                <_>10 7 3 13 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.7688191086053848e-003</threshold>
+            <left_val>0.4361700117588043</left_val>
+            <right_val>0.5434309244155884</right_val></_></_>
+        <_>
+          <!-- tree 120 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 15 10 5 -1.</_>
+                <_>10 15 5 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0508782789111137</threshold>
+            <left_val>0.4682720899581909</left_val>
+            <right_val>0.6840639710426331</right_val></_></_>
+        <_>
+          <!-- tree 121 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 4 4 10 -1.</_>
+                <_>10 4 2 10 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.2901780903339386e-003</threshold>
+            <left_val>0.4329245090484619</left_val>
+            <right_val>0.5306099057197571</right_val></_></_>
+        <_>
+          <!-- tree 122 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 2 1 -1.</_>
+                <_>6 7 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5715380141045898e-004</threshold>
+            <left_val>0.5370057225227356</left_val>
+            <right_val>0.4378164112567902</right_val></_></_>
+        <_>
+          <!-- tree 123 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 3 6 7 -1.</_>
+                <_>10 3 3 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.1051924005150795</threshold>
+            <left_val>0.5137274265289307</left_val>
+            <right_val>0.0673614665865898</right_val></_></_>
+        <_>
+          <!-- tree 124 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 3 6 7 -1.</_>
+                <_>7 3 3 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.7198919560760260e-003</threshold>
+            <left_val>0.4112060964107513</left_val>
+            <right_val>0.5255665183067322</right_val></_></_>
+        <_>
+          <!-- tree 125 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 7 18 5 -1.</_>
+                <_>7 7 6 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0483377799391747</threshold>
+            <left_val>0.5404623746871948</left_val>
+            <right_val>0.4438967108726502</right_val></_></_>
+        <_>
+          <!-- tree 126 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 17 4 3 -1.</_>
+                <_>5 17 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.5703761326149106e-004</threshold>
+            <left_val>0.4355969130992889</left_val>
+            <right_val>0.5399510860443115</right_val></_></_>
+        <_>
+          <!-- tree 127 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 12 6 -1.</_>
+                <_>14 14 6 3 2.</_>
+                <_>8 17 6 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0253712590783834</threshold>
+            <left_val>0.5995175242424011</left_val>
+            <right_val>0.5031024813652039</right_val></_></_>
+        <_>
+          <!-- tree 128 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 13 20 4 -1.</_>
+                <_>0 13 10 2 2.</_>
+                <_>10 15 10 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0524579510092735</threshold>
+            <left_val>0.4950287938117981</left_val>
+            <right_val>0.1398351043462753</right_val></_></_>
+        <_>
+          <!-- tree 129 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 5 14 2 -1.</_>
+                <_>11 5 7 1 2.</_>
+                <_>4 6 7 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0123656298965216</threshold>
+            <left_val>0.6397299170494080</left_val>
+            <right_val>0.4964106082916260</right_val></_></_>
+        <_>
+          <!-- tree 130 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 2 10 12 -1.</_>
+                <_>1 2 5 6 2.</_>
+                <_>6 8 5 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.1458971947431564</threshold>
+            <left_val>0.1001669988036156</left_val>
+            <right_val>0.4946322143077850</right_val></_></_>
+        <_>
+          <!-- tree 131 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 1 14 3 -1.</_>
+                <_>6 2 14 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0159086007624865</threshold>
+            <left_val>0.3312329947948456</left_val>
+            <right_val>0.5208340883255005</right_val></_></_>
+        <_>
+          <!-- tree 132 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 16 2 3 -1.</_>
+                <_>8 17 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.9486068999394774e-004</threshold>
+            <left_val>0.4406363964080811</left_val>
+            <right_val>0.5426102876663208</right_val></_></_>
+        <_>
+          <!-- tree 133 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 17 3 2 -1.</_>
+                <_>10 17 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.2454001270234585e-003</threshold>
+            <left_val>0.2799589931964874</left_val>
+            <right_val>0.5189967155456543</right_val></_></_>
+        <_>
+          <!-- tree 134 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 15 4 2 -1.</_>
+                <_>5 15 2 1 2.</_>
+                <_>7 16 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.0421799533069134e-003</threshold>
+            <left_val>0.6987580060958862</left_val>
+            <right_val>0.4752142131328583</right_val></_></_>
+        <_>
+          <!-- tree 135 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 15 1 3 -1.</_>
+                <_>10 16 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.9812189750373363e-003</threshold>
+            <left_val>0.4983288943767548</left_val>
+            <right_val>0.6307479739189148</right_val></_></_>
+        <_>
+          <!-- tree 136 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 16 4 4 -1.</_>
+                <_>8 16 2 2 2.</_>
+                <_>10 18 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.2884308174252510e-003</threshold>
+            <left_val>0.2982333004474640</left_val>
+            <right_val>0.5026869773864746</right_val></_></_>
+        <_>
+          <!-- tree 137 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 11 8 6 -1.</_>
+                <_>6 14 8 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5094350092113018e-003</threshold>
+            <left_val>0.5308442115783691</left_val>
+            <right_val>0.3832970857620239</right_val></_></_>
+        <_>
+          <!-- tree 138 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 13 5 2 -1.</_>
+                <_>2 14 5 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.3340799212455750e-003</threshold>
+            <left_val>0.2037964016199112</left_val>
+            <right_val>0.4969817101955414</right_val></_></_>
+        <_>
+          <!-- tree 139 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 14 6 6 -1.</_>
+                <_>16 14 3 3 2.</_>
+                <_>13 17 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0286671407520771</threshold>
+            <left_val>0.5025696754455566</left_val>
+            <right_val>0.6928027272224426</right_val></_></_>
+        <_>
+          <!-- tree 140 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 9 18 4 -1.</_>
+                <_>7 9 6 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.1701968014240265</threshold>
+            <left_val>0.4960052967071533</left_val>
+            <right_val>0.1476442962884903</right_val></_></_>
+        <_>
+          <!-- tree 141 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 14 6 6 -1.</_>
+                <_>16 14 3 3 2.</_>
+                <_>13 17 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.2614478841423988e-003</threshold>
+            <left_val>0.5603063702583313</left_val>
+            <right_val>0.4826056063175201</right_val></_></_>
+        <_>
+          <!-- tree 142 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 1 6 -1.</_>
+                <_>0 4 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.5769277969375253e-004</threshold>
+            <left_val>0.5205562114715576</left_val>
+            <right_val>0.4129633009433746</right_val></_></_>
+        <_>
+          <!-- tree 143 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 0 15 20 -1.</_>
+                <_>5 10 15 10 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.3625833988189697</threshold>
+            <left_val>0.5221652984619141</left_val>
+            <right_val>0.3768612146377564</right_val></_></_>
+        <_>
+          <!-- tree 144 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 14 6 6 -1.</_>
+                <_>1 14 3 3 2.</_>
+                <_>4 17 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0116151301190257</threshold>
+            <left_val>0.6022682785987854</left_val>
+            <right_val>0.4637489914894104</right_val></_></_>
+        <_>
+          <!-- tree 145 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 4 6 -1.</_>
+                <_>10 14 2 3 2.</_>
+                <_>8 17 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.0795197710394859e-003</threshold>
+            <left_val>0.4070447087287903</left_val>
+            <right_val>0.5337479114532471</right_val></_></_>
+        <_>
+          <!-- tree 146 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 11 2 1 -1.</_>
+                <_>8 11 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.7204300537705421e-004</threshold>
+            <left_val>0.4601835012435913</left_val>
+            <right_val>0.5900393128395081</right_val></_></_>
+        <_>
+          <!-- tree 147 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 17 3 2 -1.</_>
+                <_>10 17 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.7543348995968699e-004</threshold>
+            <left_val>0.5398252010345459</left_val>
+            <right_val>0.4345428943634033</right_val></_></_>
+        <_>
+          <!-- tree 148 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 17 3 2 -1.</_>
+                <_>9 17 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.3295697327703238e-004</threshold>
+            <left_val>0.5201563239097595</left_val>
+            <right_val>0.4051358997821808</right_val></_></_>
+        <_>
+          <!-- tree 149 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 14 4 6 -1.</_>
+                <_>14 14 2 3 2.</_>
+                <_>12 17 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.2435320531949401e-003</threshold>
+            <left_val>0.4642387926578522</left_val>
+            <right_val>0.5547441244125366</right_val></_></_>
+        <_>
+          <!-- tree 150 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 14 4 6 -1.</_>
+                <_>4 14 2 3 2.</_>
+                <_>6 17 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.7363857738673687e-003</threshold>
+            <left_val>0.6198567152023315</left_val>
+            <right_val>0.4672552049160004</right_val></_></_>
+        <_>
+          <!-- tree 151 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 14 2 6 -1.</_>
+                <_>14 14 1 3 2.</_>
+                <_>13 17 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.4658462069928646e-003</threshold>
+            <left_val>0.6837332844734192</left_val>
+            <right_val>0.5019000768661499</right_val></_></_>
+        <_>
+          <!-- tree 152 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 14 2 6 -1.</_>
+                <_>5 14 1 3 2.</_>
+                <_>6 17 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.5017321351915598e-004</threshold>
+            <left_val>0.4344803094863892</left_val>
+            <right_val>0.5363622903823853</right_val></_></_>
+        <_>
+          <!-- tree 153 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 0 6 12 -1.</_>
+                <_>7 4 6 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5754920605104417e-004</threshold>
+            <left_val>0.4760079085826874</left_val>
+            <right_val>0.5732020735740662</right_val></_></_>
+        <_>
+          <!-- tree 154 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 7 12 2 -1.</_>
+                <_>4 7 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.9774366244673729e-003</threshold>
+            <left_val>0.5090985894203186</left_val>
+            <right_val>0.3635039925575256</right_val></_></_>
+        <_>
+          <!-- tree 155 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 3 3 13 -1.</_>
+                <_>11 3 1 13 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.1464529931545258e-004</threshold>
+            <left_val>0.5570064783096314</left_val>
+            <right_val>0.4593802094459534</right_val></_></_>
+        <_>
+          <!-- tree 156 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 3 3 13 -1.</_>
+                <_>8 3 1 13 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.5888899583369493e-004</threshold>
+            <left_val>0.5356845855712891</left_val>
+            <right_val>0.4339134991168976</right_val></_></_>
+        <_>
+          <!-- tree 157 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 8 6 3 -1.</_>
+                <_>10 9 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.0463250479660928e-004</threshold>
+            <left_val>0.4439803063869476</left_val>
+            <right_val>0.5436776876449585</right_val></_></_>
+        <_>
+          <!-- tree 158 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 11 3 2 -1.</_>
+                <_>4 11 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.2184787606820464e-004</threshold>
+            <left_val>0.4042294919490814</left_val>
+            <right_val>0.5176299214363098</right_val></_></_>
+        <_>
+          <!-- tree 159 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 12 6 8 -1.</_>
+                <_>16 12 3 4 2.</_>
+                <_>13 16 3 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.9467419050633907e-003</threshold>
+            <left_val>0.4927651882171631</left_val>
+            <right_val>0.5633779764175415</right_val></_></_>
+        <_>
+          <!-- tree 160 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 6 6 5 -1.</_>
+                <_>9 6 2 5 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0217533893883228</threshold>
+            <left_val>0.8006293773651123</left_val>
+            <right_val>0.4800840914249420</right_val></_></_>
+        <_>
+          <!-- tree 161 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>17 11 2 7 -1.</_>
+                <_>17 11 1 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0145403798669577</threshold>
+            <left_val>0.3946054875850678</left_val>
+            <right_val>0.5182222723960877</right_val></_></_>
+        <_>
+          <!-- tree 162 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 13 8 2 -1.</_>
+                <_>7 13 4 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0405107699334621</threshold>
+            <left_val>0.0213249903172255</left_val>
+            <right_val>0.4935792982578278</right_val></_></_>
+        <_>
+          <!-- tree 163 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 9 8 3 -1.</_>
+                <_>6 10 8 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.8458268176764250e-004</threshold>
+            <left_val>0.4012795984745026</left_val>
+            <right_val>0.5314025282859802</right_val></_></_>
+        <_>
+          <!-- tree 164 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 3 4 3 -1.</_>
+                <_>4 4 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.5151800625026226e-003</threshold>
+            <left_val>0.4642418920993805</left_val>
+            <right_val>0.5896260738372803</right_val></_></_>
+        <_>
+          <!-- tree 165 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 3 4 3 -1.</_>
+                <_>11 4 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.0626221820712090e-003</threshold>
+            <left_val>0.6502159237861633</left_val>
+            <right_val>0.5016477704048157</right_val></_></_>
+        <_>
+          <!-- tree 166 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 4 17 12 -1.</_>
+                <_>1 8 17 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0945358425378799</threshold>
+            <left_val>0.5264708995819092</left_val>
+            <right_val>0.4126827120780945</right_val></_></_>
+        <_>
+          <!-- tree 167 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 3 4 3 -1.</_>
+                <_>11 4 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.7315051779150963e-003</threshold>
+            <left_val>0.4879199862480164</left_val>
+            <right_val>0.5892447829246521</right_val></_></_>
+        <_>
+          <!-- tree 168 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 8 6 3 -1.</_>
+                <_>4 9 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.2571471314877272e-004</threshold>
+            <left_val>0.3917280137538910</left_val>
+            <right_val>0.5189412832260132</right_val></_></_>
+        <_>
+          <!-- tree 169 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 3 5 3 -1.</_>
+                <_>12 4 5 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.5464049540460110e-003</threshold>
+            <left_val>0.5837599039077759</left_val>
+            <right_val>0.4985705912113190</right_val></_></_>
+        <_>
+          <!-- tree 170 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 11 2 7 -1.</_>
+                <_>2 11 1 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0260756891220808</threshold>
+            <left_val>0.1261983960866928</left_val>
+            <right_val>0.4955821931362152</right_val></_></_>
+        <_>
+          <!-- tree 171 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 12 2 8 -1.</_>
+                <_>16 12 1 4 2.</_>
+                <_>15 16 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.4779709316790104e-003</threshold>
+            <left_val>0.5722513794898987</left_val>
+            <right_val>0.5010265707969666</right_val></_></_>
+        <_>
+          <!-- tree 172 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 8 11 3 -1.</_>
+                <_>4 9 11 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.1337741315364838e-003</threshold>
+            <left_val>0.5273262262344360</left_val>
+            <right_val>0.4226376116275787</right_val></_></_>
+        <_>
+          <!-- tree 173 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 13 6 2 -1.</_>
+                <_>12 13 3 1 2.</_>
+                <_>9 14 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.7944980906322598e-004</threshold>
+            <left_val>0.4450066983699799</left_val>
+            <right_val>0.5819587111473084</right_val></_></_>
+        <_>
+          <!-- tree 174 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 13 4 3 -1.</_>
+                <_>6 14 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.1114079281687737e-003</threshold>
+            <left_val>0.5757653117179871</left_val>
+            <right_val>0.4511714875698090</right_val></_></_>
+        <_>
+          <!-- tree 175 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 12 3 3 -1.</_>
+                <_>10 12 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0131799904629588</threshold>
+            <left_val>0.1884381026029587</left_val>
+            <right_val>0.5160734057426453</right_val></_></_>
+        <_>
+          <!-- tree 176 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 3 3 3 -1.</_>
+                <_>5 4 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.7968099825084209e-003</threshold>
+            <left_val>0.6589789986610413</left_val>
+            <right_val>0.4736118912696838</right_val></_></_>
+        <_>
+          <!-- tree 177 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 4 2 3 -1.</_>
+                <_>9 5 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.7483168095350266e-003</threshold>
+            <left_val>0.5259429812431335</left_val>
+            <right_val>0.3356395065784454</right_val></_></_>
+        <_>
+          <!-- tree 178 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 16 3 -1.</_>
+                <_>0 3 16 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4623369788751006e-003</threshold>
+            <left_val>0.5355271100997925</left_val>
+            <right_val>0.4264092147350311</right_val></_></_>
+        <_>
+          <!-- tree 179 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 12 2 8 -1.</_>
+                <_>16 12 1 4 2.</_>
+                <_>15 16 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.7645159065723419e-003</threshold>
+            <left_val>0.5034406781196594</left_val>
+            <right_val>0.5786827802658081</right_val></_></_>
+        <_>
+          <!-- tree 180 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 12 2 8 -1.</_>
+                <_>3 12 1 4 2.</_>
+                <_>4 16 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.8066660314798355e-003</threshold>
+            <left_val>0.4756605029106140</left_val>
+            <right_val>0.6677829027175903</right_val></_></_>
+        <_>
+          <!-- tree 181 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 13 3 6 -1.</_>
+                <_>14 15 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.6608621012419462e-003</threshold>
+            <left_val>0.5369611978530884</left_val>
+            <right_val>0.4311546981334686</right_val></_></_>
+        <_>
+          <!-- tree 182 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 13 3 6 -1.</_>
+                <_>3 15 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0214496403932571</threshold>
+            <left_val>0.4968641996383667</left_val>
+            <right_val>0.1888816058635712</right_val></_></_>
+        <_>
+          <!-- tree 183 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 5 10 2 -1.</_>
+                <_>11 5 5 1 2.</_>
+                <_>6 6 5 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.1678901761770248e-003</threshold>
+            <left_val>0.4930733144283295</left_val>
+            <right_val>0.5815368890762329</right_val></_></_>
+        <_>
+          <!-- tree 184 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 14 14 6 -1.</_>
+                <_>2 17 14 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.6467564105987549e-003</threshold>
+            <left_val>0.5205205082893372</left_val>
+            <right_val>0.4132595062255859</right_val></_></_>
+        <_>
+          <!-- tree 185 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 14 1 3 -1.</_>
+                <_>10 15 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.6114078829996288e-004</threshold>
+            <left_val>0.5483555197715759</left_val>
+            <right_val>0.4800927937030792</right_val></_></_>
+        <_>
+          <!-- tree 186 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 16 2 2 -1.</_>
+                <_>4 16 1 1 2.</_>
+                <_>5 17 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.0808729566633701e-003</threshold>
+            <left_val>0.4689902067184448</left_val>
+            <right_val>0.6041421294212341</right_val></_></_>
+        <_>
+          <!-- tree 187 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 6 2 3 -1.</_>
+                <_>10 7 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.7719959877431393e-003</threshold>
+            <left_val>0.5171142220497131</left_val>
+            <right_val>0.3053277134895325</right_val></_></_>
+        <_>
+          <!-- tree 188 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 17 20 2 -1.</_>
+                <_>0 17 10 1 2.</_>
+                <_>10 18 10 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5720770461484790e-003</threshold>
+            <left_val>0.5219978094100952</left_val>
+            <right_val>0.4178803861141205</right_val></_></_>
+        <_>
+          <!-- tree 189 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 6 1 3 -1.</_>
+                <_>13 7 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.9307859474793077e-003</threshold>
+            <left_val>0.5860369801521301</left_val>
+            <right_val>0.4812920093536377</right_val></_></_>
+        <_>
+          <!-- tree 190 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 13 3 2 -1.</_>
+                <_>9 13 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.8926272690296173e-003</threshold>
+            <left_val>0.1749276965856552</left_val>
+            <right_val>0.4971733987331390</right_val></_></_>
+        <_>
+          <!-- tree 191 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 2 3 3 -1.</_>
+                <_>13 2 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.2224679123610258e-003</threshold>
+            <left_val>0.4342589080333710</left_val>
+            <right_val>0.5212848186492920</right_val></_></_>
+        <_>
+          <!-- tree 192 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 18 2 2 -1.</_>
+                <_>3 18 1 1 2.</_>
+                <_>4 19 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.9011989934369922e-003</threshold>
+            <left_val>0.4765186905860901</left_val>
+            <right_val>0.6892055273056030</right_val></_></_>
+        <_>
+          <!-- tree 193 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 16 3 4 -1.</_>
+                <_>10 16 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.7576119173318148e-003</threshold>
+            <left_val>0.5262191295623779</left_val>
+            <right_val>0.4337486028671265</right_val></_></_>
+        <_>
+          <!-- tree 194 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 6 1 3 -1.</_>
+                <_>6 7 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.1787449046969414e-003</threshold>
+            <left_val>0.4804069101810455</left_val>
+            <right_val>0.7843729257583618</right_val></_></_>
+        <_>
+          <!-- tree 195 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 1 5 2 -1.</_>
+                <_>13 2 5 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.0273341629654169e-004</threshold>
+            <left_val>0.4120846986770630</left_val>
+            <right_val>0.5353423953056335</right_val></_></_>
+        <_>
+          <!-- tree 196 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 14 6 2 -1.</_>
+                <_>7 14 3 1 2.</_>
+                <_>10 15 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.1797959022223949e-003</threshold>
+            <left_val>0.4740372896194458</left_val>
+            <right_val>0.6425960063934326</right_val></_></_>
+        <_>
+          <!-- tree 197 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 3 3 4 -1.</_>
+                <_>12 3 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0101140001788735</threshold>
+            <left_val>0.2468792051076889</left_val>
+            <right_val>0.5175017714500427</right_val></_></_>
+        <_>
+          <!-- tree 198 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 13 12 6 -1.</_>
+                <_>5 13 4 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0186170600354671</threshold>
+            <left_val>0.5756294131278992</left_val>
+            <right_val>0.4628978967666626</right_val></_></_>
+        <_>
+          <!-- tree 199 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 11 5 2 -1.</_>
+                <_>14 12 5 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.9225959703326225e-003</threshold>
+            <left_val>0.5169625878334045</left_val>
+            <right_val>0.3214271068572998</right_val></_></_>
+        <_>
+          <!-- tree 200 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 15 14 4 -1.</_>
+                <_>2 15 7 2 2.</_>
+                <_>9 17 7 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.2945079989731312e-003</threshold>
+            <left_val>0.3872014880180359</left_val>
+            <right_val>0.5141636729240418</right_val></_></_>
+        <_>
+          <!-- tree 201 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 7 14 2 -1.</_>
+                <_>10 7 7 1 2.</_>
+                <_>3 8 7 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.5353019163012505e-003</threshold>
+            <left_val>0.4853048920631409</left_val>
+            <right_val>0.6310489773750305</right_val></_></_>
+        <_>
+          <!-- tree 202 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 11 4 2 -1.</_>
+                <_>1 12 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.0878399480134249e-003</threshold>
+            <left_val>0.5117315053939819</left_val>
+            <right_val>0.3723258972167969</right_val></_></_>
+        <_>
+          <!-- tree 203 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 0 6 14 -1.</_>
+                <_>16 0 2 14 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0225422400981188</threshold>
+            <left_val>0.5692740082740784</left_val>
+            <right_val>0.4887112975120544</right_val></_></_>
+        <_>
+          <!-- tree 204 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 11 1 3 -1.</_>
+                <_>4 12 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.0065660830587149e-003</threshold>
+            <left_val>0.2556012868881226</left_val>
+            <right_val>0.5003992915153503</right_val></_></_>
+        <_>
+          <!-- tree 205 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 0 6 14 -1.</_>
+                <_>16 0 2 14 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.4741272255778313e-003</threshold>
+            <left_val>0.4810872972011566</left_val>
+            <right_val>0.5675926804542542</right_val></_></_>
+        <_>
+          <!-- tree 206 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 10 3 7 -1.</_>
+                <_>2 10 1 7 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0261623207479715</threshold>
+            <left_val>0.4971194863319397</left_val>
+            <right_val>0.1777237057685852</right_val></_></_>
+        <_>
+          <!-- tree 207 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 12 9 2 -1.</_>
+                <_>8 13 9 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.4352738233283162e-004</threshold>
+            <left_val>0.4940010905265808</left_val>
+            <right_val>0.5491250753402710</right_val></_></_>
+        <_>
+          <!-- tree 208 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 6 20 1 -1.</_>
+                <_>10 6 10 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0333632417023182</threshold>
+            <left_val>0.5007612109184265</left_val>
+            <right_val>0.2790724039077759</right_val></_></_>
+        <_>
+          <!-- tree 209 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 4 4 4 -1.</_>
+                <_>8 4 2 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0151186501607299</threshold>
+            <left_val>0.7059578895568848</left_val>
+            <right_val>0.4973031878471375</right_val></_></_>
+        <_>
+          <!-- tree 210 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 2 2 -1.</_>
+                <_>0 1 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.8648946732282639e-004</threshold>
+            <left_val>0.5128620266914368</left_val>
+            <right_val>0.3776761889457703</right_val></_></_></trees>
+      <stage_threshold>104.7491989135742200</stage_threshold>
+      <parent>19</parent>
+      <next>-1</next></_>
+    <_>
+      <!-- stage 21 -->
+      <trees>
+        <_>
+          <!-- tree 0 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 3 10 9 -1.</_>
+                <_>5 6 10 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0951507985591888</threshold>
+            <left_val>0.6470757126808167</left_val>
+            <right_val>0.4017286896705627</right_val></_></_>
+        <_>
+          <!-- tree 1 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 2 4 10 -1.</_>
+                <_>15 2 2 10 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.2702340073883533e-003</threshold>
+            <left_val>0.3999822139739990</left_val>
+            <right_val>0.5746449232101440</right_val></_></_>
+        <_>
+          <!-- tree 2 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 2 2 7 -1.</_>
+                <_>9 2 1 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.0018089455552399e-004</threshold>
+            <left_val>0.3558770120143890</left_val>
+            <right_val>0.5538809895515442</right_val></_></_>
+        <_>
+          <!-- tree 3 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 4 12 1 -1.</_>
+                <_>11 4 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.1757409665733576e-003</threshold>
+            <left_val>0.4256534874439240</left_val>
+            <right_val>0.5382617712020874</right_val></_></_>
+        <_>
+          <!-- tree 4 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 4 9 1 -1.</_>
+                <_>6 4 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.4235268433112651e-005</threshold>
+            <left_val>0.3682908117771149</left_val>
+            <right_val>0.5589926838874817</right_val></_></_>
+        <_>
+          <!-- tree 5 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 10 1 4 -1.</_>
+                <_>15 12 1 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.9936920327600092e-005</threshold>
+            <left_val>0.5452470183372498</left_val>
+            <right_val>0.4020367860794067</right_val></_></_>
+        <_>
+          <!-- tree 6 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 10 6 4 -1.</_>
+                <_>7 10 3 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.0073199886828661e-003</threshold>
+            <left_val>0.5239058136940002</left_val>
+            <right_val>0.3317843973636627</right_val></_></_>
+        <_>
+          <!-- tree 7 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>15 9 1 6 -1.</_>
+                <_>15 12 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0105138896033168</threshold>
+            <left_val>0.4320689141750336</left_val>
+            <right_val>0.5307983756065369</right_val></_></_>
+        <_>
+          <!-- tree 8 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 17 6 3 -1.</_>
+                <_>7 18 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.3476826548576355e-003</threshold>
+            <left_val>0.4504637122154236</left_val>
+            <right_val>0.6453298926353455</right_val></_></_>
+        <_>
+          <!-- tree 9 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 3 2 16 -1.</_>
+                <_>15 3 1 8 2.</_>
+                <_>14 11 1 8 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.1492270063608885e-003</threshold>
+            <left_val>0.4313425123691559</left_val>
+            <right_val>0.5370525121688843</right_val></_></_>
+        <_>
+          <!-- tree 10 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 9 1 6 -1.</_>
+                <_>4 12 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.4435649973165710e-005</threshold>
+            <left_val>0.5326603055000305</left_val>
+            <right_val>0.3817971944808960</right_val></_></_>
+        <_>
+          <!-- tree 11 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 1 5 2 -1.</_>
+                <_>12 2 5 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.2855090578086674e-004</threshold>
+            <left_val>0.4305163919925690</left_val>
+            <right_val>0.5382009744644165</right_val></_></_>
+        <_>
+          <!-- tree 12 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 18 4 2 -1.</_>
+                <_>6 18 2 1 2.</_>
+                <_>8 19 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5062429883982986e-004</threshold>
+            <left_val>0.4235970973968506</left_val>
+            <right_val>0.5544965267181397</right_val></_></_>
+        <_>
+          <!-- tree 13 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 4 16 10 -1.</_>
+                <_>10 4 8 5 2.</_>
+                <_>2 9 8 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0715598315000534</threshold>
+            <left_val>0.5303059816360474</left_val>
+            <right_val>0.2678802907466888</right_val></_></_>
+        <_>
+          <!-- tree 14 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 5 1 10 -1.</_>
+                <_>6 10 1 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.4095180500298738e-004</threshold>
+            <left_val>0.3557108938694000</left_val>
+            <right_val>0.5205433964729309</right_val></_></_>
+        <_>
+          <!-- tree 15 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 8 15 2 -1.</_>
+                <_>9 8 5 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0629865005612373</threshold>
+            <left_val>0.5225362777709961</left_val>
+            <right_val>0.2861376106739044</right_val></_></_>
+        <_>
+          <!-- tree 16 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 8 15 2 -1.</_>
+                <_>6 8 5 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-3.3798629883676767e-003</threshold>
+            <left_val>0.3624185919761658</left_val>
+            <right_val>0.5201697945594788</right_val></_></_>
+        <_>
+          <!-- tree 17 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 3 6 -1.</_>
+                <_>9 7 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.1810739670181647e-004</threshold>
+            <left_val>0.5474476814270020</left_val>
+            <right_val>0.3959893882274628</right_val></_></_>
+        <_>
+          <!-- tree 18 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 8 2 -1.</_>
+                <_>9 7 4 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.4505601292476058e-004</threshold>
+            <left_val>0.3740422129631043</left_val>
+            <right_val>0.5215715765953064</right_val></_></_>
+        <_>
+          <!-- tree 19 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 11 2 3 -1.</_>
+                <_>9 12 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.8454910023137927e-003</threshold>
+            <left_val>0.5893052220344544</left_val>
+            <right_val>0.4584448933601379</right_val></_></_>
+        <_>
+          <!-- tree 20 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 0 16 3 -1.</_>
+                <_>1 1 16 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.3832371011376381e-004</threshold>
+            <left_val>0.4084582030773163</left_val>
+            <right_val>0.5385351181030273</right_val></_></_>
+        <_>
+          <!-- tree 21 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 2 7 2 -1.</_>
+                <_>11 3 7 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.4000830017030239e-003</threshold>
+            <left_val>0.3777455091476440</left_val>
+            <right_val>0.5293580293655396</right_val></_></_>
+        <_>
+          <!-- tree 22 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 1 10 18 -1.</_>
+                <_>5 7 10 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0987957417964935</threshold>
+            <left_val>0.2963612079620361</left_val>
+            <right_val>0.5070089101791382</right_val></_></_>
+        <_>
+          <!-- tree 23 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>17 4 3 2 -1.</_>
+                <_>18 4 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.1798239797353745e-003</threshold>
+            <left_val>0.4877632856369019</left_val>
+            <right_val>0.6726443767547607</right_val></_></_>
+        <_>
+          <!-- tree 24 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 13 1 3 -1.</_>
+                <_>8 14 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.2406419632025063e-004</threshold>
+            <left_val>0.4366911053657532</left_val>
+            <right_val>0.5561109781265259</right_val></_></_>
+        <_>
+          <!-- tree 25 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 14 14 6 -1.</_>
+                <_>3 16 14 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0325472503900528</threshold>
+            <left_val>0.3128157854080200</left_val>
+            <right_val>0.5308616161346436</right_val></_></_>
+        <_>
+          <!-- tree 26 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 3 4 -1.</_>
+                <_>1 2 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.7561130747199059e-003</threshold>
+            <left_val>0.6560224890708923</left_val>
+            <right_val>0.4639872014522553</right_val></_></_>
+        <_>
+          <!-- tree 27 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 1 5 2 -1.</_>
+                <_>12 2 5 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0160272493958473</threshold>
+            <left_val>0.5172680020332336</left_val>
+            <right_val>0.3141897916793823</right_val></_></_>
+        <_>
+          <!-- tree 28 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 1 5 2 -1.</_>
+                <_>3 2 5 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.1002350523485802e-006</threshold>
+            <left_val>0.4084446132183075</left_val>
+            <right_val>0.5336294770240784</right_val></_></_>
+        <_>
+          <!-- tree 29 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 13 2 3 -1.</_>
+                <_>10 14 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.3422808200120926e-003</threshold>
+            <left_val>0.4966922104358673</left_val>
+            <right_val>0.6603465080261231</right_val></_></_>
+        <_>
+          <!-- tree 30 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 13 2 3 -1.</_>
+                <_>8 14 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.6970280557870865e-003</threshold>
+            <left_val>0.5908237099647522</left_val>
+            <right_val>0.4500182867050171</right_val></_></_>
+        <_>
+          <!-- tree 31 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 12 2 3 -1.</_>
+                <_>14 13 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.4118260480463505e-003</threshold>
+            <left_val>0.5315160751342773</left_val>
+            <right_val>0.3599720895290375</right_val></_></_>
+        <_>
+          <!-- tree 32 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 2 2 3 -1.</_>
+                <_>7 3 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.5300937965512276e-003</threshold>
+            <left_val>0.2334040999412537</left_val>
+            <right_val>0.4996814131736755</right_val></_></_>
+        <_>
+          <!-- tree 33 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 6 10 4 -1.</_>
+                <_>10 6 5 2 2.</_>
+                <_>5 8 5 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.6478730142116547e-003</threshold>
+            <left_val>0.5880935788154602</left_val>
+            <right_val>0.4684734046459198</right_val></_></_>
+        <_>
+          <!-- tree 34 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 13 1 6 -1.</_>
+                <_>9 16 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0112956296652555</threshold>
+            <left_val>0.4983777105808258</left_val>
+            <right_val>0.1884590983390808</right_val></_></_>
+        <_>
+          <!-- tree 35 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 12 2 2 -1.</_>
+                <_>11 12 1 1 2.</_>
+                <_>10 13 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.6952878842130303e-004</threshold>
+            <left_val>0.5872138142585754</left_val>
+            <right_val>0.4799019992351532</right_val></_></_>
+        <_>
+          <!-- tree 36 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 12 2 3 -1.</_>
+                <_>4 13 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4410680159926414e-003</threshold>
+            <left_val>0.5131189227104187</left_val>
+            <right_val>0.3501011133193970</right_val></_></_>
+        <_>
+          <!-- tree 37 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 4 6 6 -1.</_>
+                <_>14 6 6 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.4637870956212282e-003</threshold>
+            <left_val>0.5339372158050537</left_val>
+            <right_val>0.4117639064788818</right_val></_></_>
+        <_>
+          <!-- tree 38 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 17 2 3 -1.</_>
+                <_>8 18 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.3114518737420440e-004</threshold>
+            <left_val>0.4313383102416992</left_val>
+            <right_val>0.5398246049880981</right_val></_></_>
+        <_>
+          <!-- tree 39 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 4 4 6 -1.</_>
+                <_>16 6 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0335572697222233</threshold>
+            <left_val>0.2675336897373200</left_val>
+            <right_val>0.5179154872894287</right_val></_></_>
+        <_>
+          <!-- tree 40 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 4 4 6 -1.</_>
+                <_>0 6 4 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0185394193977118</threshold>
+            <left_val>0.4973869919776917</left_val>
+            <right_val>0.2317177057266235</right_val></_></_>
+        <_>
+          <!-- tree 41 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 6 2 3 -1.</_>
+                <_>14 6 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.9698139405809343e-004</threshold>
+            <left_val>0.5529708266258240</left_val>
+            <right_val>0.4643664062023163</right_val></_></_>
+        <_>
+          <!-- tree 42 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 9 8 1 -1.</_>
+                <_>8 9 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.5577259152196348e-004</threshold>
+            <left_val>0.5629584193229675</left_val>
+            <right_val>0.4469191133975983</right_val></_></_>
+        <_>
+          <!-- tree 43 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 12 4 3 -1.</_>
+                <_>8 13 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0101589802652597</threshold>
+            <left_val>0.6706212759017944</left_val>
+            <right_val>0.4925918877124786</right_val></_></_>
+        <_>
+          <!-- tree 44 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 12 10 6 -1.</_>
+                <_>5 14 10 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.2413829356082715e-005</threshold>
+            <left_val>0.5239421725273132</left_val>
+            <right_val>0.3912901878356934</right_val></_></_>
+        <_>
+          <!-- tree 45 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 12 1 2 -1.</_>
+                <_>11 13 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.2034963523037732e-005</threshold>
+            <left_val>0.4799438118934631</left_val>
+            <right_val>0.5501788854598999</right_val></_></_>
+        <_>
+          <!-- tree 46 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 15 4 2 -1.</_>
+                <_>8 16 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.9267209619283676e-003</threshold>
+            <left_val>0.6930009722709656</left_val>
+            <right_val>0.4698084890842438</right_val></_></_>
+        <_>
+          <!-- tree 47 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 9 8 8 -1.</_>
+                <_>10 9 4 4 2.</_>
+                <_>6 13 4 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.6997838914394379e-003</threshold>
+            <left_val>0.4099623858928680</left_val>
+            <right_val>0.5480883121490479</right_val></_></_>
+        <_>
+          <!-- tree 48 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 12 4 6 -1.</_>
+                <_>7 12 2 3 2.</_>
+                <_>9 15 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.3130549862980843e-003</threshold>
+            <left_val>0.3283475935459137</left_val>
+            <right_val>0.5057886242866516</right_val></_></_>
+        <_>
+          <!-- tree 49 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 11 3 1 -1.</_>
+                <_>11 11 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.9650589674711227e-003</threshold>
+            <left_val>0.4978047013282776</left_val>
+            <right_val>0.6398249864578247</right_val></_></_>
+        <_>
+          <!-- tree 50 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 2 10 -1.</_>
+                <_>9 7 1 5 2.</_>
+                <_>10 12 1 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.1647600270807743e-003</threshold>
+            <left_val>0.4661160111427307</left_val>
+            <right_val>0.6222137212753296</right_val></_></_>
+        <_>
+          <!-- tree 51 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 0 6 6 -1.</_>
+                <_>10 0 2 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0240786392241716</threshold>
+            <left_val>0.2334644943475723</left_val>
+            <right_val>0.5222162008285523</right_val></_></_>
+        <_>
+          <!-- tree 52 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 11 2 6 -1.</_>
+                <_>3 13 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0210279691964388</threshold>
+            <left_val>0.1183653995394707</left_val>
+            <right_val>0.4938226044178009</right_val></_></_>
+        <_>
+          <!-- tree 53 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 12 1 2 -1.</_>
+                <_>16 13 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.6017020465806127e-004</threshold>
+            <left_val>0.5325019955635071</left_val>
+            <right_val>0.4116711020469666</right_val></_></_>
+        <_>
+          <!-- tree 54 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 14 6 6 -1.</_>
+                <_>1 14 3 3 2.</_>
+                <_>4 17 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0172197297215462</threshold>
+            <left_val>0.6278762221336365</left_val>
+            <right_val>0.4664269089698792</right_val></_></_>
+        <_>
+          <!-- tree 55 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 1 3 6 -1.</_>
+                <_>14 1 1 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.8672142699360847e-003</threshold>
+            <left_val>0.3403415083885193</left_val>
+            <right_val>0.5249736905097961</right_val></_></_>
+        <_>
+          <!-- tree 56 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 8 2 2 -1.</_>
+                <_>8 9 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.4777389848604798e-004</threshold>
+            <left_val>0.3610411882400513</left_val>
+            <right_val>0.5086259245872498</right_val></_></_>
+        <_>
+          <!-- tree 57 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 9 3 3 -1.</_>
+                <_>10 9 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.5486010387539864e-003</threshold>
+            <left_val>0.4884265959262848</left_val>
+            <right_val>0.6203498244285584</right_val></_></_>
+        <_>
+          <!-- tree 58 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 7 3 3 -1.</_>
+                <_>8 8 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.9461148232221603e-003</threshold>
+            <left_val>0.2625930011272430</left_val>
+            <right_val>0.5011097192764282</right_val></_></_>
+        <_>
+          <!-- tree 59 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 0 2 3 -1.</_>
+                <_>14 0 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.3569870498031378e-004</threshold>
+            <left_val>0.4340794980525971</left_val>
+            <right_val>0.5628312230110169</right_val></_></_>
+        <_>
+          <!-- tree 60 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 0 18 9 -1.</_>
+                <_>7 0 6 9 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0458802506327629</threshold>
+            <left_val>0.6507998704910278</left_val>
+            <right_val>0.4696274995803833</right_val></_></_>
+        <_>
+          <!-- tree 61 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 5 4 15 -1.</_>
+                <_>11 5 2 15 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0215825606137514</threshold>
+            <left_val>0.3826502859592438</left_val>
+            <right_val>0.5287616848945618</right_val></_></_>
+        <_>
+          <!-- tree 62 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 5 4 15 -1.</_>
+                <_>7 5 2 15 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0202095396816731</threshold>
+            <left_val>0.3233368098735809</left_val>
+            <right_val>0.5074477195739746</right_val></_></_>
+        <_>
+          <!-- tree 63 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 0 2 3 -1.</_>
+                <_>14 0 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.8496710844337940e-003</threshold>
+            <left_val>0.5177603960037231</left_val>
+            <right_val>0.4489670991897583</right_val></_></_>
+        <_>
+          <!-- tree 64 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 0 2 3 -1.</_>
+                <_>5 0 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.7476379879517481e-005</threshold>
+            <left_val>0.4020850956439972</left_val>
+            <right_val>0.5246363878250122</right_val></_></_>
+        <_>
+          <!-- tree 65 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 12 2 2 -1.</_>
+                <_>12 12 1 1 2.</_>
+                <_>11 13 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.1513100471347570e-003</threshold>
+            <left_val>0.6315072178840637</left_val>
+            <right_val>0.4905154109001160</right_val></_></_>
+        <_>
+          <!-- tree 66 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 12 2 2 -1.</_>
+                <_>7 12 1 1 2.</_>
+                <_>8 13 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.9862831104546785e-003</threshold>
+            <left_val>0.4702459871768951</left_val>
+            <right_val>0.6497151255607605</right_val></_></_>
+        <_>
+          <!-- tree 67 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 0 3 4 -1.</_>
+                <_>13 0 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.2719512023031712e-003</threshold>
+            <left_val>0.3650383949279785</left_val>
+            <right_val>0.5227652788162231</right_val></_></_>
+        <_>
+          <!-- tree 68 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 11 3 3 -1.</_>
+                <_>4 12 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.2662699446082115e-003</threshold>
+            <left_val>0.5166100859642029</left_val>
+            <right_val>0.3877618014812470</right_val></_></_>
+        <_>
+          <!-- tree 69 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 7 4 2 -1.</_>
+                <_>12 8 4 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.2919440679252148e-003</threshold>
+            <left_val>0.7375894188880920</left_val>
+            <right_val>0.5023847818374634</right_val></_></_>
+        <_>
+          <!-- tree 70 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 10 3 2 -1.</_>
+                <_>9 10 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.7360111279413104e-004</threshold>
+            <left_val>0.4423226118087769</left_val>
+            <right_val>0.5495585799217224</right_val></_></_>
+        <_>
+          <!-- tree 71 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 9 3 2 -1.</_>
+                <_>10 9 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.0523450328037143e-003</threshold>
+            <left_val>0.5976396203041077</left_val>
+            <right_val>0.4859583079814911</right_val></_></_>
+        <_>
+          <!-- tree 72 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 9 3 2 -1.</_>
+                <_>9 9 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.4216238893568516e-004</threshold>
+            <left_val>0.5955939292907715</left_val>
+            <right_val>0.4398930966854096</right_val></_></_>
+        <_>
+          <!-- tree 73 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 0 3 4 -1.</_>
+                <_>13 0 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.1747940443456173e-003</threshold>
+            <left_val>0.5349888205528259</left_val>
+            <right_val>0.4605058133602142</right_val></_></_>
+        <_>
+          <!-- tree 74 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 0 3 4 -1.</_>
+                <_>6 0 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.2457437850534916e-003</threshold>
+            <left_val>0.5049191117286682</left_val>
+            <right_val>0.2941577136516571</right_val></_></_>
+        <_>
+          <!-- tree 75 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 14 12 4 -1.</_>
+                <_>10 14 6 2 2.</_>
+                <_>4 16 6 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0245397202670574</threshold>
+            <left_val>0.2550177872180939</left_val>
+            <right_val>0.5218586921691895</right_val></_></_>
+        <_>
+          <!-- tree 76 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 13 2 3 -1.</_>
+                <_>8 14 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>7.3793041519820690e-004</threshold>
+            <left_val>0.4424861073493958</left_val>
+            <right_val>0.5490816235542297</right_val></_></_>
+        <_>
+          <!-- tree 77 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 10 3 8 -1.</_>
+                <_>10 14 3 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.4233799884095788e-003</threshold>
+            <left_val>0.5319514274597168</left_val>
+            <right_val>0.4081355929374695</right_val></_></_>
+        <_>
+          <!-- tree 78 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 10 4 8 -1.</_>
+                <_>8 10 2 4 2.</_>
+                <_>10 14 2 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.4149110540747643e-003</threshold>
+            <left_val>0.4087659120559692</left_val>
+            <right_val>0.5238950252532959</right_val></_></_>
+        <_>
+          <!-- tree 79 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 8 3 1 -1.</_>
+                <_>11 8 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.2165299849584699e-003</threshold>
+            <left_val>0.5674579143524170</left_val>
+            <right_val>0.4908052980899811</right_val></_></_>
+        <_>
+          <!-- tree 80 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 12 1 6 -1.</_>
+                <_>9 15 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.2438809499144554e-003</threshold>
+            <left_val>0.4129425883293152</left_val>
+            <right_val>0.5256118178367615</right_val></_></_>
+        <_>
+          <!-- tree 81 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 8 3 1 -1.</_>
+                <_>11 8 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.1942739412188530e-003</threshold>
+            <left_val>0.5060194134712219</left_val>
+            <right_val>0.7313653230667114</right_val></_></_>
+        <_>
+          <!-- tree 82 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 8 3 1 -1.</_>
+                <_>8 8 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.6607169527560472e-003</threshold>
+            <left_val>0.5979632139205933</left_val>
+            <right_val>0.4596369862556458</right_val></_></_>
+        <_>
+          <!-- tree 83 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 2 15 14 -1.</_>
+                <_>5 9 15 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0273162592202425</threshold>
+            <left_val>0.4174365103244782</left_val>
+            <right_val>0.5308842062950134</right_val></_></_>
+        <_>
+          <!-- tree 84 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 1 2 10 -1.</_>
+                <_>2 1 1 5 2.</_>
+                <_>3 6 1 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5845570014789701e-003</threshold>
+            <left_val>0.5615804791450501</left_val>
+            <right_val>0.4519486129283905</right_val></_></_>
+        <_>
+          <!-- tree 85 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 14 2 3 -1.</_>
+                <_>14 15 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5514739789068699e-003</threshold>
+            <left_val>0.4076187014579773</left_val>
+            <right_val>0.5360785126686096</right_val></_></_>
+        <_>
+          <!-- tree 86 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 7 3 3 -1.</_>
+                <_>3 7 1 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.8446558755822480e-004</threshold>
+            <left_val>0.4347293972969055</left_val>
+            <right_val>0.5430442094802856</right_val></_></_>
+        <_>
+          <!-- tree 87 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>17 4 3 3 -1.</_>
+                <_>17 5 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0146722598001361</threshold>
+            <left_val>0.1659304946660996</left_val>
+            <right_val>0.5146093964576721</right_val></_></_>
+        <_>
+          <!-- tree 88 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 4 3 3 -1.</_>
+                <_>0 5 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.1608882173895836e-003</threshold>
+            <left_val>0.4961819052696228</left_val>
+            <right_val>0.1884745955467224</right_val></_></_>
+        <_>
+          <!-- tree 89 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 5 6 2 -1.</_>
+                <_>16 5 3 1 2.</_>
+                <_>13 6 3 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.1121659772470593e-003</threshold>
+            <left_val>0.4868263900279999</left_val>
+            <right_val>0.6093816161155701</right_val></_></_>
+        <_>
+          <!-- tree 90 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 19 12 1 -1.</_>
+                <_>8 19 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.2603770531713963e-003</threshold>
+            <left_val>0.6284325122833252</left_val>
+            <right_val>0.4690375924110413</right_val></_></_>
+        <_>
+          <!-- tree 91 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 12 2 4 -1.</_>
+                <_>12 14 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.4046430189628154e-004</threshold>
+            <left_val>0.5575000047683716</left_val>
+            <right_val>0.4046044051647186</right_val></_></_>
+        <_>
+          <!-- tree 92 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 15 1 3 -1.</_>
+                <_>3 16 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.3348190006799996e-004</threshold>
+            <left_val>0.4115762114524841</left_val>
+            <right_val>0.5252848267555237</right_val></_></_>
+        <_>
+          <!-- tree 93 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 16 6 4 -1.</_>
+                <_>11 16 3 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.5736480280756950e-003</threshold>
+            <left_val>0.4730072915554047</left_val>
+            <right_val>0.5690100789070129</right_val></_></_>
+        <_>
+          <!-- tree 94 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 10 3 10 -1.</_>
+                <_>3 10 1 10 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0306237693876028</threshold>
+            <left_val>0.4971886873245239</left_val>
+            <right_val>0.1740095019340515</right_val></_></_>
+        <_>
+          <!-- tree 95 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 8 2 4 -1.</_>
+                <_>12 8 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>9.2074798885732889e-004</threshold>
+            <left_val>0.5372117757797241</left_val>
+            <right_val>0.4354872107505798</right_val></_></_>
+        <_>
+          <!-- tree 96 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 8 2 4 -1.</_>
+                <_>7 8 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.3550739064812660e-005</threshold>
+            <left_val>0.5366883873939514</left_val>
+            <right_val>0.4347316920757294</right_val></_></_>
+        <_>
+          <!-- tree 97 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 14 2 3 -1.</_>
+                <_>10 14 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.6452710889279842e-003</threshold>
+            <left_val>0.3435518145561218</left_val>
+            <right_val>0.5160533189773560</right_val></_></_>
+        <_>
+          <!-- tree 98 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 1 10 3 -1.</_>
+                <_>10 1 5 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0432219989597797</threshold>
+            <left_val>0.4766792058944702</left_val>
+            <right_val>0.7293652892112732</right_val></_></_>
+        <_>
+          <!-- tree 99 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 7 3 2 -1.</_>
+                <_>11 7 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.2331769578158855e-003</threshold>
+            <left_val>0.5029315948486328</left_val>
+            <right_val>0.5633171200752258</right_val></_></_>
+        <_>
+          <!-- tree 100 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 6 9 2 -1.</_>
+                <_>8 6 3 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.1829739455133677e-003</threshold>
+            <left_val>0.4016092121601105</left_val>
+            <right_val>0.5192136764526367</right_val></_></_>
+        <_>
+          <!-- tree 101 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 8 2 2 -1.</_>
+                <_>9 9 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.8027749320026487e-004</threshold>
+            <left_val>0.4088315963745117</left_val>
+            <right_val>0.5417919754981995</right_val></_></_>
+        <_>
+          <!-- tree 102 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 11 16 6 -1.</_>
+                <_>2 11 8 3 2.</_>
+                <_>10 14 8 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.2934689447283745e-003</threshold>
+            <left_val>0.4075677096843720</left_val>
+            <right_val>0.5243561863899231</right_val></_></_>
+        <_>
+          <!-- tree 103 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 7 2 2 -1.</_>
+                <_>13 7 1 1 2.</_>
+                <_>12 8 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.2750959722325206e-003</threshold>
+            <left_val>0.4913282990455627</left_val>
+            <right_val>0.6387010812759399</right_val></_></_>
+        <_>
+          <!-- tree 104 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 2 3 -1.</_>
+                <_>9 6 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.3385322205722332e-003</threshold>
+            <left_val>0.5031672120094299</left_val>
+            <right_val>0.2947346866130829</right_val></_></_>
+        <_>
+          <!-- tree 105 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 3 2 -1.</_>
+                <_>10 7 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.5250744596123695e-003</threshold>
+            <left_val>0.4949789047241211</left_val>
+            <right_val>0.6308869123458862</right_val></_></_>
+        <_>
+          <!-- tree 106 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 1 8 12 -1.</_>
+                <_>5 7 8 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.4266352243721485e-004</threshold>
+            <left_val>0.5328366756439209</left_val>
+            <right_val>0.4285649955272675</right_val></_></_>
+        <_>
+          <!-- tree 107 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 5 2 2 -1.</_>
+                <_>13 6 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.3609660090878606e-003</threshold>
+            <left_val>0.4991525113582611</left_val>
+            <right_val>0.5941501259803772</right_val></_></_>
+        <_>
+          <!-- tree 108 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 5 2 2 -1.</_>
+                <_>5 6 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.4782509212382138e-004</threshold>
+            <left_val>0.4573504030704498</left_val>
+            <right_val>0.5854480862617493</right_val></_></_>
+        <_>
+          <!-- tree 109 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 4 3 3 -1.</_>
+                <_>12 5 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.3360050506889820e-003</threshold>
+            <left_val>0.4604358971118927</left_val>
+            <right_val>0.5849052071571350</right_val></_></_>
+        <_>
+          <!-- tree 110 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 14 2 3 -1.</_>
+                <_>4 15 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.0967548051849008e-004</threshold>
+            <left_val>0.3969388902187347</left_val>
+            <right_val>0.5229423046112061</right_val></_></_>
+        <_>
+          <!-- tree 111 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 4 3 3 -1.</_>
+                <_>12 5 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.3656780831515789e-003</threshold>
+            <left_val>0.5808320045471191</left_val>
+            <right_val>0.4898357093334198</right_val></_></_>
+        <_>
+          <!-- tree 112 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 4 3 3 -1.</_>
+                <_>5 5 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.0734340175986290e-003</threshold>
+            <left_val>0.4351210892200470</left_val>
+            <right_val>0.5470039248466492</right_val></_></_>
+        <_>
+          <!-- tree 113 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 14 2 6 -1.</_>
+                <_>10 14 1 3 2.</_>
+                <_>9 17 1 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.1923359017819166e-003</threshold>
+            <left_val>0.5355060100555420</left_val>
+            <right_val>0.3842903971672058</right_val></_></_>
+        <_>
+          <!-- tree 114 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 3 2 -1.</_>
+                <_>9 14 1 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.4968618787825108e-003</threshold>
+            <left_val>0.5018138885498047</left_val>
+            <right_val>0.2827191948890686</right_val></_></_>
+        <_>
+          <!-- tree 115 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 6 6 -1.</_>
+                <_>11 5 2 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0753688216209412</threshold>
+            <left_val>0.1225076019763947</left_val>
+            <right_val>0.5148826837539673</right_val></_></_>
+        <_>
+          <!-- tree 116 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 5 6 6 -1.</_>
+                <_>7 5 2 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0251344703137875</threshold>
+            <left_val>0.4731766879558563</left_val>
+            <right_val>0.7025446295738220</right_val></_></_>
+        <_>
+          <!-- tree 117 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 13 1 2 -1.</_>
+                <_>13 14 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.9358599931583740e-005</threshold>
+            <left_val>0.5430532097816467</left_val>
+            <right_val>0.4656086862087250</right_val></_></_>
+        <_>
+          <!-- tree 118 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 10 2 -1.</_>
+                <_>0 3 10 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.8355910005047917e-004</threshold>
+            <left_val>0.4031040072441101</left_val>
+            <right_val>0.5190119743347168</right_val></_></_>
+        <_>
+          <!-- tree 119 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 13 1 2 -1.</_>
+                <_>13 14 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.6639450807124376e-003</threshold>
+            <left_val>0.4308126866817474</left_val>
+            <right_val>0.5161771178245544</right_val></_></_>
+        <_>
+          <!-- tree 120 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 2 2 -1.</_>
+                <_>5 7 1 1 2.</_>
+                <_>6 8 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.3804089976474643e-003</threshold>
+            <left_val>0.6219829916954041</left_val>
+            <right_val>0.4695515930652618</right_val></_></_>
+        <_>
+          <!-- tree 121 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 5 2 7 -1.</_>
+                <_>13 5 1 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.2313219485804439e-003</threshold>
+            <left_val>0.5379363894462585</left_val>
+            <right_val>0.4425831139087677</right_val></_></_>
+        <_>
+          <!-- tree 122 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 13 1 2 -1.</_>
+                <_>6 14 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.4644179827882908e-005</threshold>
+            <left_val>0.5281640291213989</left_val>
+            <right_val>0.4222503006458283</right_val></_></_>
+        <_>
+          <!-- tree 123 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 0 3 7 -1.</_>
+                <_>12 0 1 7 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0128188095986843</threshold>
+            <left_val>0.2582092881202698</left_val>
+            <right_val>0.5179932713508606</right_val></_></_>
+        <_>
+          <!-- tree 124 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 3 2 16 -1.</_>
+                <_>0 3 1 8 2.</_>
+                <_>1 11 1 8 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0228521898388863</threshold>
+            <left_val>0.4778693020343781</left_val>
+            <right_val>0.7609264254570007</right_val></_></_>
+        <_>
+          <!-- tree 125 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 0 3 7 -1.</_>
+                <_>12 0 1 7 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.2305970136076212e-004</threshold>
+            <left_val>0.5340992212295532</left_val>
+            <right_val>0.4671724140644074</right_val></_></_>
+        <_>
+          <!-- tree 126 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 0 3 7 -1.</_>
+                <_>7 0 1 7 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0127701200544834</threshold>
+            <left_val>0.4965761005878449</left_val>
+            <right_val>0.1472366005182266</right_val></_></_>
+        <_>
+          <!-- tree 127 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 16 8 4 -1.</_>
+                <_>11 16 4 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0500515103340149</threshold>
+            <left_val>0.6414994001388550</left_val>
+            <right_val>0.5016592144966126</right_val></_></_>
+        <_>
+          <!-- tree 128 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 16 8 4 -1.</_>
+                <_>5 16 4 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0157752707600594</threshold>
+            <left_val>0.4522320032119751</left_val>
+            <right_val>0.5685362219810486</right_val></_></_>
+        <_>
+          <!-- tree 129 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 5 2 7 -1.</_>
+                <_>13 5 1 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0185016207396984</threshold>
+            <left_val>0.2764748930931091</left_val>
+            <right_val>0.5137959122657776</right_val></_></_>
+        <_>
+          <!-- tree 130 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 5 2 7 -1.</_>
+                <_>6 5 1 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.4626250378787518e-003</threshold>
+            <left_val>0.5141941905021668</left_val>
+            <right_val>0.3795408010482788</right_val></_></_>
+        <_>
+          <!-- tree 131 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>18 6 2 14 -1.</_>
+                <_>18 13 2 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0629161670804024</threshold>
+            <left_val>0.5060648918151856</left_val>
+            <right_val>0.6580433845520020</right_val></_></_>
+        <_>
+          <!-- tree 132 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 10 3 4 -1.</_>
+                <_>6 12 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.1648500478477217e-005</threshold>
+            <left_val>0.5195388197898865</left_val>
+            <right_val>0.4019886851310730</right_val></_></_>
+        <_>
+          <!-- tree 133 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 7 1 2 -1.</_>
+                <_>14 8 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.1180990152060986e-003</threshold>
+            <left_val>0.4962365031242371</left_val>
+            <right_val>0.5954458713531494</right_val></_></_>
+        <_>
+          <!-- tree 134 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 1 18 6 -1.</_>
+                <_>0 1 9 3 2.</_>
+                <_>9 4 9 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0166348908096552</threshold>
+            <left_val>0.3757933080196381</left_val>
+            <right_val>0.5175446867942810</right_val></_></_>
+        <_>
+          <!-- tree 135 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 7 1 2 -1.</_>
+                <_>14 8 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.8899470344185829e-003</threshold>
+            <left_val>0.6624013781547546</left_val>
+            <right_val>0.5057178735733032</right_val></_></_>
+        <_>
+          <!-- tree 136 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 6 2 14 -1.</_>
+                <_>0 13 2 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0767832621932030</threshold>
+            <left_val>0.4795796871185303</left_val>
+            <right_val>0.8047714829444885</right_val></_></_>
+        <_>
+          <!-- tree 137 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>17 0 3 12 -1.</_>
+                <_>18 0 1 12 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.9170677773654461e-003</threshold>
+            <left_val>0.4937882125377655</left_val>
+            <right_val>0.5719941854476929</right_val></_></_>
+        <_>
+          <!-- tree 138 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 6 18 3 -1.</_>
+                <_>0 7 18 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0726706013083458</threshold>
+            <left_val>0.0538945607841015</left_val>
+            <right_val>0.4943903982639313</right_val></_></_>
+        <_>
+          <!-- tree 139 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 0 14 16 -1.</_>
+                <_>6 8 14 8 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.5403950214385986</threshold>
+            <left_val>0.5129774212837219</left_val>
+            <right_val>0.1143338978290558</right_val></_></_>
+        <_>
+          <!-- tree 140 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 3 12 -1.</_>
+                <_>1 0 1 12 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.9510019812732935e-003</threshold>
+            <left_val>0.4528343975543976</left_val>
+            <right_val>0.5698574185371399</right_val></_></_>
+        <_>
+          <!-- tree 141 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 0 3 7 -1.</_>
+                <_>14 0 1 7 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.4508369863033295e-003</threshold>
+            <left_val>0.5357726812362671</left_val>
+            <right_val>0.4218730926513672</right_val></_></_>
+        <_>
+          <!-- tree 142 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 1 2 -1.</_>
+                <_>5 8 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.2077939724549651e-004</threshold>
+            <left_val>0.5916172862052918</left_val>
+            <right_val>0.4637925922870636</right_val></_></_>
+        <_>
+          <!-- tree 143 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 4 6 6 -1.</_>
+                <_>14 6 6 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.3051050268113613e-003</threshold>
+            <left_val>0.5273385047912598</left_val>
+            <right_val>0.4382042884826660</right_val></_></_>
+        <_>
+          <!-- tree 144 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 7 7 2 -1.</_>
+                <_>5 8 7 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.7735060798004270e-004</threshold>
+            <left_val>0.4046528041362763</left_val>
+            <right_val>0.5181884765625000</right_val></_></_>
+        <_>
+          <!-- tree 145 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 6 6 9 -1.</_>
+                <_>8 9 6 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0259285103529692</threshold>
+            <left_val>0.7452235817909241</left_val>
+            <right_val>0.5089386105537415</right_val></_></_>
+        <_>
+          <!-- tree 146 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 4 6 1 -1.</_>
+                <_>7 4 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.9729790985584259e-003</threshold>
+            <left_val>0.3295435905456543</left_val>
+            <right_val>0.5058795213699341</right_val></_></_>
+        <_>
+          <!-- tree 147 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 0 6 4 -1.</_>
+                <_>16 0 3 2 2.</_>
+                <_>13 2 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.8508329093456268e-003</threshold>
+            <left_val>0.4857144057750702</left_val>
+            <right_val>0.5793024897575378</right_val></_></_>
+        <_>
+          <!-- tree 148 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 2 18 12 -1.</_>
+                <_>1 6 18 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0459675192832947</threshold>
+            <left_val>0.4312731027603149</left_val>
+            <right_val>0.5380653142929077</right_val></_></_>
+        <_>
+          <!-- tree 149 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 2 17 12 -1.</_>
+                <_>3 6 17 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.1558596044778824</threshold>
+            <left_val>0.5196170210838318</left_val>
+            <right_val>0.1684713959693909</right_val></_></_>
+        <_>
+          <!-- tree 150 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>5 14 7 3 -1.</_>
+                <_>5 15 7 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0151648297905922</threshold>
+            <left_val>0.4735757112503052</left_val>
+            <right_val>0.6735026836395264</right_val></_></_>
+        <_>
+          <!-- tree 151 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 14 1 3 -1.</_>
+                <_>10 15 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.0604249546304345e-003</threshold>
+            <left_val>0.5822926759719849</left_val>
+            <right_val>0.4775702953338623</right_val></_></_>
+        <_>
+          <!-- tree 152 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>3 14 3 3 -1.</_>
+                <_>3 15 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.6476291976869106e-003</threshold>
+            <left_val>0.4999198913574219</left_val>
+            <right_val>0.2319535017013550</right_val></_></_>
+        <_>
+          <!-- tree 153 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>14 4 6 6 -1.</_>
+                <_>14 6 6 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0122311301529408</threshold>
+            <left_val>0.4750893115997315</left_val>
+            <right_val>0.5262982249259949</right_val></_></_>
+        <_>
+          <!-- tree 154 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 4 6 6 -1.</_>
+                <_>0 6 6 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.6528882123529911e-003</threshold>
+            <left_val>0.5069767832756043</left_val>
+            <right_val>0.3561818897724152</right_val></_></_>
+        <_>
+          <!-- tree 155 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>12 5 4 3 -1.</_>
+                <_>12 6 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.2977829901501536e-003</threshold>
+            <left_val>0.4875693917274475</left_val>
+            <right_val>0.5619062781333923</right_val></_></_>
+        <_>
+          <!-- tree 156 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 5 4 3 -1.</_>
+                <_>4 6 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0107815898954868</threshold>
+            <left_val>0.4750770032405853</left_val>
+            <right_val>0.6782308220863342</right_val></_></_>
+        <_>
+          <!-- tree 157 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>18 0 2 6 -1.</_>
+                <_>18 2 2 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.8654779307544231e-003</threshold>
+            <left_val>0.5305461883544922</left_val>
+            <right_val>0.4290736019611359</right_val></_></_>
+        <_>
+          <!-- tree 158 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 1 4 9 -1.</_>
+                <_>10 1 2 9 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.8663428965955973e-003</threshold>
+            <left_val>0.4518479108810425</left_val>
+            <right_val>0.5539351105690002</right_val></_></_>
+        <_>
+          <!-- tree 159 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 6 8 2 -1.</_>
+                <_>6 6 4 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.1983320154249668e-003</threshold>
+            <left_val>0.4149119853973389</left_val>
+            <right_val>0.5434188842773438</right_val></_></_>
+        <_>
+          <!-- tree 160 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 5 4 2 -1.</_>
+                <_>6 5 2 1 2.</_>
+                <_>8 6 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.3739990107715130e-003</threshold>
+            <left_val>0.4717896878719330</left_val>
+            <right_val>0.6507657170295715</right_val></_></_>
+        <_>
+          <!-- tree 161 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 5 2 3 -1.</_>
+                <_>10 6 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0146415298804641</threshold>
+            <left_val>0.2172164022922516</left_val>
+            <right_val>0.5161777138710022</right_val></_></_>
+        <_>
+          <!-- tree 162 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 1 3 -1.</_>
+                <_>9 6 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.5042580344015732e-005</threshold>
+            <left_val>0.5337383747100830</left_val>
+            <right_val>0.4298836886882782</right_val></_></_>
+        <_>
+          <!-- tree 163 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 10 2 2 -1.</_>
+                <_>9 11 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.1875660129589960e-004</threshold>
+            <left_val>0.4604594111442566</left_val>
+            <right_val>0.5582447052001953</right_val></_></_>
+        <_>
+          <!-- tree 164 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 8 4 3 -1.</_>
+                <_>0 9 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0169955305755138</threshold>
+            <left_val>0.4945895075798035</left_val>
+            <right_val>0.0738800764083862</right_val></_></_>
+        <_>
+          <!-- tree 165 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 0 8 6 -1.</_>
+                <_>6 3 8 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0350959412753582</threshold>
+            <left_val>0.7005509138107300</left_val>
+            <right_val>0.4977591037750244</right_val></_></_>
+        <_>
+          <!-- tree 166 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 0 6 4 -1.</_>
+                <_>1 0 3 2 2.</_>
+                <_>4 2 3 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.4217350874096155e-003</threshold>
+            <left_val>0.4466265141963959</left_val>
+            <right_val>0.5477694272994995</right_val></_></_>
+        <_>
+          <!-- tree 167 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 0 3 7 -1.</_>
+                <_>14 0 1 7 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-9.6340337768197060e-004</threshold>
+            <left_val>0.4714098870754242</left_val>
+            <right_val>0.5313338041305542</right_val></_></_>
+        <_>
+          <!-- tree 168 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 16 2 2 -1.</_>
+                <_>9 17 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.6391130338888615e-004</threshold>
+            <left_val>0.4331546127796173</left_val>
+            <right_val>0.5342242121696472</right_val></_></_>
+        <_>
+          <!-- tree 169 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 4 6 10 -1.</_>
+                <_>11 9 6 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0211414601653814</threshold>
+            <left_val>0.2644700109958649</left_val>
+            <right_val>0.5204498767852783</right_val></_></_>
+        <_>
+          <!-- tree 170 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 10 19 2 -1.</_>
+                <_>0 11 19 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.7775202700868249e-004</threshold>
+            <left_val>0.5208349823951721</left_val>
+            <right_val>0.4152742922306061</right_val></_></_>
+        <_>
+          <!-- tree 171 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 8 9 -1.</_>
+                <_>9 8 8 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0279439203441143</threshold>
+            <left_val>0.6344125270843506</left_val>
+            <right_val>0.5018811821937561</right_val></_></_>
+        <_>
+          <!-- tree 172 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 0 3 7 -1.</_>
+                <_>5 0 1 7 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>6.7297378554940224e-003</threshold>
+            <left_val>0.5050438046455383</left_val>
+            <right_val>0.3500863909721375</right_val></_></_>
+        <_>
+          <!-- tree 173 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 6 4 12 -1.</_>
+                <_>10 6 2 6 2.</_>
+                <_>8 12 2 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0232810396701097</threshold>
+            <left_val>0.4966318011283875</left_val>
+            <right_val>0.6968677043914795</right_val></_></_>
+        <_>
+          <!-- tree 174 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 2 6 4 -1.</_>
+                <_>0 4 6 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0116449799388647</threshold>
+            <left_val>0.3300260007381439</left_val>
+            <right_val>0.5049629807472229</right_val></_></_>
+        <_>
+          <!-- tree 175 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 15 4 3 -1.</_>
+                <_>8 16 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0157643090933561</threshold>
+            <left_val>0.4991598129272461</left_val>
+            <right_val>0.7321153879165649</right_val></_></_>
+        <_>
+          <!-- tree 176 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 0 3 7 -1.</_>
+                <_>9 0 1 7 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.3611479662358761e-003</threshold>
+            <left_val>0.3911735117435455</left_val>
+            <right_val>0.5160670876502991</right_val></_></_>
+        <_>
+          <!-- tree 177 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 5 3 4 -1.</_>
+                <_>10 5 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.1522337859496474e-004</threshold>
+            <left_val>0.5628911256790161</left_val>
+            <right_val>0.4949719011783600</right_val></_></_>
+        <_>
+          <!-- tree 178 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 5 3 4 -1.</_>
+                <_>9 5 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.0066272271797061e-004</threshold>
+            <left_val>0.5853595137596130</left_val>
+            <right_val>0.4550595879554749</right_val></_></_>
+        <_>
+          <!-- tree 179 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 6 6 1 -1.</_>
+                <_>9 6 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.9715518252924085e-004</threshold>
+            <left_val>0.4271470010280609</left_val>
+            <right_val>0.5443599224090576</right_val></_></_>
+        <_>
+          <!-- tree 180 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 14 4 4 -1.</_>
+                <_>7 14 2 2 2.</_>
+                <_>9 16 2 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.3475370835512877e-003</threshold>
+            <left_val>0.5143110752105713</left_val>
+            <right_val>0.3887656927108765</right_val></_></_>
+        <_>
+          <!-- tree 181 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>13 14 4 6 -1.</_>
+                <_>15 14 2 3 2.</_>
+                <_>13 17 2 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-8.9261569082736969e-003</threshold>
+            <left_val>0.6044502258300781</left_val>
+            <right_val>0.4971720874309540</right_val></_></_>
+        <_>
+          <!-- tree 182 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 8 1 8 -1.</_>
+                <_>7 12 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0139199104160070</threshold>
+            <left_val>0.2583160996437073</left_val>
+            <right_val>0.5000367760658264</right_val></_></_>
+        <_>
+          <!-- tree 183 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>16 0 2 8 -1.</_>
+                <_>17 0 1 4 2.</_>
+                <_>16 4 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.0209949687123299e-003</threshold>
+            <left_val>0.4857374131679535</left_val>
+            <right_val>0.5560358166694641</right_val></_></_>
+        <_>
+          <!-- tree 184 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>2 0 2 8 -1.</_>
+                <_>2 0 1 4 2.</_>
+                <_>3 4 1 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.7441629208624363e-003</threshold>
+            <left_val>0.5936884880065918</left_val>
+            <right_val>0.4645777046680450</right_val></_></_>
+        <_>
+          <!-- tree 185 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>6 1 14 3 -1.</_>
+                <_>6 2 14 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0162001308053732</threshold>
+            <left_val>0.3163014948368073</left_val>
+            <right_val>0.5193495154380798</right_val></_></_>
+        <_>
+          <!-- tree 186 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 9 3 10 -1.</_>
+                <_>7 14 3 5 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.3331980705261230e-003</threshold>
+            <left_val>0.5061224102973938</left_val>
+            <right_val>0.3458878993988037</right_val></_></_>
+        <_>
+          <!-- tree 187 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 14 2 2 -1.</_>
+                <_>9 15 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.8497930876910686e-004</threshold>
+            <left_val>0.4779017865657806</left_val>
+            <right_val>0.5870177745819092</right_val></_></_>
+        <_>
+          <!-- tree 188 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 7 6 8 -1.</_>
+                <_>7 11 6 4 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.2466450463980436e-003</threshold>
+            <left_val>0.4297851026058197</left_val>
+            <right_val>0.5374773144721985</right_val></_></_>
+        <_>
+          <!-- tree 189 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 3 6 -1.</_>
+                <_>9 10 3 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.3146099410951138e-003</threshold>
+            <left_val>0.5438671708106995</left_val>
+            <right_val>0.4640969932079315</right_val></_></_>
+        <_>
+          <!-- tree 190 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 13 3 3 -1.</_>
+                <_>7 14 3 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.7679121643304825e-003</threshold>
+            <left_val>0.4726893007755280</left_val>
+            <right_val>0.6771789789199829</right_val></_></_>
+        <_>
+          <!-- tree 191 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 9 2 2 -1.</_>
+                <_>9 10 2 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.2448020172305405e-004</threshold>
+            <left_val>0.4229173064231873</left_val>
+            <right_val>0.5428048968315125</right_val></_></_>
+        <_>
+          <!-- tree 192 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 1 18 2 -1.</_>
+                <_>6 1 6 2 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-7.4336021207273006e-003</threshold>
+            <left_val>0.6098880767822266</left_val>
+            <right_val>0.4683673977851868</right_val></_></_>
+        <_>
+          <!-- tree 193 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 1 6 14 -1.</_>
+                <_>7 8 6 7 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.3189240600913763e-003</threshold>
+            <left_val>0.5689436793327332</left_val>
+            <right_val>0.4424242079257965</right_val></_></_>
+        <_>
+          <!-- tree 194 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 9 18 1 -1.</_>
+                <_>7 9 6 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-2.1042178850620985e-003</threshold>
+            <left_val>0.3762221038341522</left_val>
+            <right_val>0.5187087059020996</right_val></_></_>
+        <_>
+          <!-- tree 195 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 7 2 2 -1.</_>
+                <_>9 7 1 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>4.6034841216169298e-004</threshold>
+            <left_val>0.4699405133724213</left_val>
+            <right_val>0.5771207213401794</right_val></_></_>
+        <_>
+          <!-- tree 196 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 3 2 9 -1.</_>
+                <_>10 3 1 9 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.0547629790380597e-003</threshold>
+            <left_val>0.4465216994285584</left_val>
+            <right_val>0.5601701736450195</right_val></_></_>
+        <_>
+          <!-- tree 197 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>18 14 2 3 -1.</_>
+                <_>18 15 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>8.7148818420246243e-004</threshold>
+            <left_val>0.5449805259704590</left_val>
+            <right_val>0.3914709091186523</right_val></_></_>
+        <_>
+          <!-- tree 198 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 11 3 1 -1.</_>
+                <_>8 11 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.3364820410497487e-004</threshold>
+            <left_val>0.4564009010791779</left_val>
+            <right_val>0.5645738840103149</right_val></_></_>
+        <_>
+          <!-- tree 199 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 8 3 4 -1.</_>
+                <_>11 8 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.4853250468149781e-003</threshold>
+            <left_val>0.5747377872467041</left_val>
+            <right_val>0.4692778885364533</right_val></_></_>
+        <_>
+          <!-- tree 200 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 14 3 6 -1.</_>
+                <_>8 14 1 6 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>3.0251620337367058e-003</threshold>
+            <left_val>0.5166196823120117</left_val>
+            <right_val>0.3762814104557037</right_val></_></_>
+        <_>
+          <!-- tree 201 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>10 8 3 4 -1.</_>
+                <_>11 8 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>5.0280741415917873e-003</threshold>
+            <left_val>0.5002111792564392</left_val>
+            <right_val>0.6151527166366577</right_val></_></_>
+        <_>
+          <!-- tree 202 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 8 3 4 -1.</_>
+                <_>8 8 1 4 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-5.8164511574432254e-004</threshold>
+            <left_val>0.5394598245620728</left_val>
+            <right_val>0.4390751123428345</right_val></_></_>
+        <_>
+          <!-- tree 203 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>7 9 6 9 -1.</_>
+                <_>7 12 6 3 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0451415292918682</threshold>
+            <left_val>0.5188326835632324</left_val>
+            <right_val>0.2063035964965820</right_val></_></_>
+        <_>
+          <!-- tree 204 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 14 2 3 -1.</_>
+                <_>0 15 2 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-1.0795620037242770e-003</threshold>
+            <left_val>0.3904685080051422</left_val>
+            <right_val>0.5137907266616821</right_val></_></_>
+        <_>
+          <!-- tree 205 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>11 12 1 2 -1.</_>
+                <_>11 13 1 1 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>1.5995999274309725e-004</threshold>
+            <left_val>0.4895322918891907</left_val>
+            <right_val>0.5427504181861877</right_val></_></_>
+        <_>
+          <!-- tree 206 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>4 3 8 3 -1.</_>
+                <_>8 3 4 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-0.0193592701107264</threshold>
+            <left_val>0.6975228786468506</left_val>
+            <right_val>0.4773507118225098</right_val></_></_>
+        <_>
+          <!-- tree 207 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 4 20 6 -1.</_>
+                <_>0 4 10 6 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.2072550952434540</threshold>
+            <left_val>0.5233635902404785</left_val>
+            <right_val>0.3034991919994354</right_val></_></_>
+        <_>
+          <!-- tree 208 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>9 14 1 3 -1.</_>
+                <_>9 15 1 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-4.1953290929086506e-004</threshold>
+            <left_val>0.5419396758079529</left_val>
+            <right_val>0.4460186064243317</right_val></_></_>
+        <_>
+          <!-- tree 209 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>8 14 4 3 -1.</_>
+                <_>8 15 4 1 3.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>2.2582069505006075e-003</threshold>
+            <left_val>0.4815764129161835</left_val>
+            <right_val>0.6027408838272095</right_val></_></_>
+        <_>
+          <!-- tree 210 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 15 14 4 -1.</_>
+                <_>0 17 14 2 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>-6.7811207845807076e-003</threshold>
+            <left_val>0.3980278968811035</left_val>
+            <right_val>0.5183305740356445</right_val></_></_>
+        <_>
+          <!-- tree 211 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>1 14 18 6 -1.</_>
+                <_>1 17 18 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0111543098464608</threshold>
+            <left_val>0.5431231856346130</left_val>
+            <right_val>0.4188759922981262</right_val></_></_>
+        <_>
+          <!-- tree 212 -->
+          <_>
+            <!-- root node -->
+            <feature>
+              <rects>
+                <_>0 0 10 6 -1.</_>
+                <_>0 0 5 3 2.</_>
+                <_>5 3 5 3 2.</_></rects>
+              <tilted>0</tilted></feature>
+            <threshold>0.0431624315679073</threshold>
+            <left_val>0.4738228023052216</left_val>
+            <right_val>0.6522961258888245</right_val></_></_></trees>
+      <stage_threshold>105.7611007690429700</stage_threshold>
+      <parent>20</parent>
+      <next>-1</next></_></stages></haarcascade_frontalface_alt>
+</opencv_storage>
diff --git a/tutorial/detection/face/tutorial-face-detector-live.cpp b/tutorial/detection/face/tutorial-face-detector-live.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..e50b4c338f90d7b16be343ae07ae036a3c60b692
--- /dev/null
+++ b/tutorial/detection/face/tutorial-face-detector-live.cpp
@@ -0,0 +1,101 @@
+//! \example tutorial-face-detector-live.cpp
+#include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
+#include <visp/vpDisplayX.h>
+#include <visp/vpDetectorFace.h>
+#include <visp/vpV4l2Grabber.h>
+
+int main(int argc, const char* argv[])
+{
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020200)
+  try {
+    std::string opt_face_cascade_name = "./haarcascade_frontalface_alt.xml";
+
+    int opt_device = 0;
+
+    for (int i=0; i<argc; i++) {
+      if (std::string(argv[i]) == "--haar")
+        opt_face_cascade_name = std::string(argv[i+1]);
+      else if (std::string(argv[i]) == "--device")
+        opt_device = atoi(argv[i+1]);
+      else if (std::string(argv[i]) == "--help") {
+        std::cout << "Usage: " << argv[0] << " [--haar <haarcascade xml filename>] [--device <camera device>] [--help]" << std::endl;
+        return 0;
+      }
+    }
+
+    vpImage<unsigned char> I; // for gray images
+
+    //! [Construct grabber]
+#if defined(VISP_HAVE_V4L2)
+    vpV4l2Grabber g;
+    std::ostringstream device;
+    device << "/dev/video" << opt_device;
+    g.setDevice(device.str());
+    g.setScale(2);
+    g.acquire(I);
+#elif defined(VISP_HAVE_OPENCV)
+    cv::VideoCapture cap(opt_device); // open the default camera
+    if(!cap.isOpened()) { // check if we succeeded
+      std::cout << "Failed to open the camera" << std::endl;
+      return -1;
+    }
+    cv::Mat frame;
+    cap >> frame; // get a new frame from camera
+    vpImageConvert::convert(frame, I);
+#endif
+    //! [Construct grabber]
+
+#if defined(VISP_HAVE_X11)
+    vpDisplayX d(I);
+#elif defined(VISP_HAVE_GDI)
+    vpDisplayGDI d(I);
+#elif defined(VISP_HAVE_OPENCV)
+    vpDisplayOpenCV d(I);
+#endif
+    vpDisplay::setTitle(I, "ViSP viewer");
+
+    vpDetectorFace face_detector;
+    face_detector.setCascadeClassifierFile(opt_face_cascade_name);
+
+    while(1) {
+      double t = vpTime::measureTimeMs();
+      //! [Acquisition]
+#if defined(VISP_HAVE_V4L2)
+      g.acquire(I);
+#else
+      cap >> frame; // get a new frame from camera
+      vpImageConvert::convert(frame, I);
+#endif
+      //! [Acquisition]
+
+      vpDisplay::display(I);
+      bool face_found = face_detector.detect(I);
+
+      if (face_found) {
+        std::ostringstream text;
+        text << "Found " << face_detector.getNbObjects() << " face(s)";
+        vpDisplay::displayText(I, 10, 10, text.str(), vpColor::red);
+        for(size_t i=0; i < face_detector.getNbObjects(); i++) {
+          std::vector<vpImagePoint> p = face_detector.getPolygon(i);
+          vpRect bbox = face_detector.getBBox(i);
+          vpDisplay::displayRectangle(I, bbox, vpColor::green, false, 4);
+          vpDisplay::displayText(I, (int)bbox.getTop()-10, (int)bbox.getLeft(), "Message: \"" + face_detector.getMessage(i) + "\"", vpColor::red);
+        }
+      }
+      vpDisplay::displayText(I, (int)I.getHeight()-25, 10, "Click to quit...", vpColor::red);
+      vpDisplay::flush(I);
+      if (vpDisplay::getClick(I, false)) // a click to exit
+        break;
+
+      std::cout << "Loop time: " << vpTime::measureTimeMs() - t << " ms" << std::endl;
+    }
+  }
+  catch(vpException &e) {
+    std::cout << e.getMessage() << std::endl;
+  }
+#else
+  (void)argc;
+  (void)argv;
+#endif
+}
diff --git a/tutorial/detection/face/tutorial-face-detector.cpp b/tutorial/detection/face/tutorial-face-detector.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..9a6927bd95ed28e07f3d272faaf4ae406968410f
--- /dev/null
+++ b/tutorial/detection/face/tutorial-face-detector.cpp
@@ -0,0 +1,94 @@
+//! \example tutorial-face-detector.cpp
+#include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
+#include <visp/vpDisplayX.h>
+//! [Include]
+#include <visp/vpDetectorFace.h>
+//! [Include]
+#include <visp/vpVideoReader.h>
+
+int main(int argc, const char* argv[])
+{
+//! [Macro defined]
+#if defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020200)
+  //! [Macro defined]
+  try {
+    //! [Default settings]
+    std::string opt_face_cascade_name = "./haarcascade_frontalface_alt.xml";
+    std::string opt_video = "video.mpeg";
+    //! [Default settings]
+
+    for (int i=0; i<argc; i++) {
+      if (std::string(argv[i]) == "--haar")
+        opt_face_cascade_name = std::string(argv[i+1]);
+      else if (std::string(argv[i]) == "--video")
+        opt_video = std::string(argv[i+1]);
+      else if (std::string(argv[i]) == "--help") {
+        std::cout << "Usage: " << argv[0] << " [--haar <haarcascade xml filename>] [--video <input video file>] [--help]" << std::endl;
+        return 0;
+      }
+    }
+
+    vpImage<unsigned char> I;
+
+    vpVideoReader g;
+    g.setFileName(opt_video);
+    g.open(I);
+
+#if defined(VISP_HAVE_X11)
+    vpDisplayX d(I);
+#elif defined(VISP_HAVE_GDI)
+    vpDisplayGDI d(I);
+#elif defined(VISP_HAVE_OPENCV)
+    vpDisplayOpenCV d(I);
+#endif
+    vpDisplay::setTitle(I, "ViSP viewer");
+
+    //! [Face detector construction]
+    vpDetectorFace face_detector;
+    //! [Face detector construction]
+    //! [Face detector setting]
+    face_detector.setCascadeClassifierFile(opt_face_cascade_name);
+    //! [Face detector setting]
+
+    bool exit_requested = false;
+    while( ! g.end() && ! exit_requested) {
+      g.acquire(I);
+
+      vpDisplay::display(I);
+      //! [Face detection]
+      bool face_found = face_detector.detect(I);
+      //! [Face detection]
+
+      if (face_found) {
+        std::ostringstream text;
+        //! [Get number faces]
+        text << "Found " << face_detector.getNbObjects() << " face(s)";
+        //! [Get number faces]
+        vpDisplay::displayText(I, 10, 10, text.str(), vpColor::red);
+        //! [Get face characteristics]
+        for(size_t i=0; i < face_detector.getNbObjects(); i++) {
+          std::vector<vpImagePoint> p = face_detector.getPolygon(i);
+          vpRect bbox = face_detector.getBBox(i);
+          vpDisplay::displayRectangle(I, bbox, vpColor::green, false, 4);
+          vpDisplay::displayText(I, (int)bbox.getTop()-10, (int)bbox.getLeft(),
+                                 "Message: \"" + face_detector.getMessage(i) + "\"", vpColor::red);
+        }
+        //! [Get face characteristics]
+      }
+      vpDisplay::displayText(I, (int)I.getHeight()-25, 10, "Click to quit...", vpColor::red);
+      vpDisplay::flush(I);
+      if (vpDisplay::getClick(I, false)) // a click to exit
+        exit_requested = true;
+    }
+    if (! exit_requested)
+      vpDisplay::getClick(I);
+  }
+  catch(vpException &e) {
+    std::cout << e.getMessage() << std::endl;
+  }
+#else
+  (void)argc;
+  (void)argv;
+#endif
+}
diff --git a/tutorial/detection/face/video.mpeg b/tutorial/detection/face/video.mpeg
new file mode 100644
index 0000000000000000000000000000000000000000..d01f912fa5ab9893a4e22f0b2489c28ab0b672cb
Binary files /dev/null and b/tutorial/detection/face/video.mpeg differ
diff --git a/tutorial/matching/CMakeLists.txt b/tutorial/detection/matching/CMakeLists.txt
similarity index 53%
rename from tutorial/matching/CMakeLists.txt
rename to tutorial/detection/matching/CMakeLists.txt
index 08d5b176899449f783615daaa7ce7405873f57bd..cb29651a5e98f7f4d901f9035aab81ac2200a60e 100644
--- a/tutorial/matching/CMakeLists.txt
+++ b/tutorial/detection/matching/CMakeLists.txt
@@ -6,16 +6,22 @@ find_package(VISP REQUIRED)
 
 # set the list of source files
 set(tutorial_cpp
-  tutorial-matching-surf.cpp
-  tutorial-matching-surf-homography.cpp)
+  tutorial-matching-keypoint.cpp
+  tutorial-matching-keypoint-SIFT.cpp
+  tutorial-matching-keypoint-homography.cpp
+  tutorial-matching-surf-deprecated.cpp
+  tutorial-matching-surf-homography-deprecated.cpp)
 
 list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/video-postcard.mpeg" )
 
 foreach(cpp ${tutorial_cpp})
   visp_add_target(${cpp})
+  if(COMMAND visp_add_dependency)
+    visp_add_dependency(${cpp} "tutorials")
+  endif()
 endforeach()
 
 # Copy the data files to the same location than the target
 foreach(data ${tutorial_data})
-  visp_copy_data(tutorial-matching-surf.cpp ${data})
+  visp_copy_data(tutorial-matching-keypoint.cpp ${data})
 endforeach()
diff --git a/tutorial/detection/matching/tutorial-matching-keypoint-SIFT.cpp b/tutorial/detection/matching/tutorial-matching-keypoint-SIFT.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..b5f4b81c834250821811c68568c97025b6acfc99
--- /dev/null
+++ b/tutorial/detection/matching/tutorial-matching-keypoint-SIFT.cpp
@@ -0,0 +1,84 @@
+//! \example tutorial-matching-keypoint-SIFT.cpp
+#include <visp/vpDisplayOpenCV.h>
+#include <visp/vpVideoReader.h>
+#include <visp/vpImageIo.h>
+//! [Include]
+#include <visp/vpKeyPoint.h>
+//! [Include]
+
+int main() {
+  //! [Define]
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020101) && (defined(VISP_HAVE_OPENCV_NONFREE) || defined(VISP_HAVE_OPENCV_XFEATURES2D))
+  //! [Define]
+  vpImage<unsigned char> I;
+
+  vpVideoReader reader;
+  reader.setFileName("video-postcard.mpeg");
+  reader.acquire(I);
+
+  //! [Construction]
+  const std::string detectorName = "SIFT";
+  const std::string extractorName = "SIFT";
+  //Use L2 distance with a matching done using FLANN (Fast Library for Approximate Nearest Neighbors)
+  const std::string matcherName = "FlannBased";
+  vpKeyPoint::vpFilterMatchingType filterType = vpKeyPoint::ratioDistanceThreshold;
+  vpKeyPoint keypoint(detectorName, extractorName, matcherName, filterType);
+  //! [Construction]
+
+  //! [Build Reference]
+  std::cout << "Reference keypoints=" << keypoint.buildReference(I) << std::endl;
+  //! [Build Reference]
+
+  //! [Create image]
+  vpImage<unsigned char> Idisp;
+  Idisp.resize(I.getHeight(), 2*I.getWidth());
+  Idisp.insert(I, vpImagePoint(0, 0));
+  Idisp.insert(I, vpImagePoint(0, I.getWidth()));
+  //! [Create image]
+  //! [Init display]
+  vpDisplayOpenCV d(Idisp, 0, 0, "Matching keypoints with SIFT keypoints") ;
+  vpDisplay::display(Idisp);
+  vpDisplay::flush(Idisp);
+  //! [Init display]
+
+  while ( ! reader.end() )
+  {
+    //! [Acquisition]
+    reader.acquire(I);
+    Idisp.insert(I, vpImagePoint(0, I.getWidth()));
+    //! [Acquisition]
+
+    //! [Display]
+    vpDisplay::display(Idisp);
+    vpDisplay::displayLine(Idisp, vpImagePoint(0, I.getWidth()), vpImagePoint(I.getHeight(), I.getWidth()), vpColor::white, 2);
+    //! [Display]
+
+    //! [Matching]
+    int nbMatch = keypoint.matchPoint(I);
+    //! [Matching]
+
+    std::cout << "Matches=" << nbMatch << std::endl;
+
+    //! [Get matches]
+    vpImagePoint iPref, iPcur;
+    for (int i = 0; i < nbMatch; i++)
+    {
+      keypoint.getMatchedPoints(i, iPref, iPcur);
+      //! [Get matches]
+      //! [Display matches]
+      vpDisplay::displayLine(Idisp, iPref, iPcur + vpImagePoint(0, I.getWidth()), vpColor::green);
+      //! [Display matches]
+    }
+    //! [Display flush]
+    vpDisplay::flush(Idisp);
+    //! [Display flush]
+
+    if (vpDisplay::getClick(Idisp, false))
+      break;
+  }
+
+  vpDisplay::getClick(Idisp);
+#endif
+
+  return 0;
+}
diff --git a/tutorial/detection/matching/tutorial-matching-keypoint-homography.cpp b/tutorial/detection/matching/tutorial-matching-keypoint-homography.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..6aa46d5fe0d372c6c2d311507c0f254c3d9ddf63
--- /dev/null
+++ b/tutorial/detection/matching/tutorial-matching-keypoint-homography.cpp
@@ -0,0 +1,151 @@
+//! \example tutorial-matching-keypoint-homography.cpp
+#include <visp/vpDisplayOpenCV.h>
+#include <visp/vpHomography.h>
+#include <visp/vpKeyPoint.h>
+#include <visp/vpPixelMeterConversion.h>
+#include <visp/vpVideoReader.h>
+
+int main(int argc, const char **argv)
+{  
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020101)
+  //! [Select method]
+  int method = 0;
+
+  if (argc > 1)
+    method = atoi(argv[1]);
+
+  if (method == 0)
+    std::cout << "Uses Ransac to estimate the homography" << std::endl;
+  else
+    std::cout << "Uses a robust scheme to estimate the homography" << std::endl;
+  //! [Select method]
+
+  vpImage<unsigned char> I;
+
+  vpVideoReader reader;
+  reader.setFileName("video-postcard.mpeg");
+  reader.acquire(I);
+
+  const std::string detectorName = "ORB";
+  const std::string extractorName = "ORB";
+  //Hamming distance must be used with ORB
+  const std::string matcherName = "BruteForce-Hamming";
+  vpKeyPoint::vpFilterMatchingType filterType = vpKeyPoint::ratioDistanceThreshold;
+  vpKeyPoint keypoint(detectorName, extractorName, matcherName, filterType);
+  keypoint.buildReference(I);
+
+  vpImage<unsigned char> Idisp;
+  Idisp.resize(I.getHeight(), 2*I.getWidth());
+  Idisp.insert(I, vpImagePoint(0, 0));
+  Idisp.insert(I, vpImagePoint(0, I.getWidth()));
+
+  vpDisplayOpenCV d(Idisp, 0, 0, "Homography from matched keypoints") ;
+  vpDisplay::display(Idisp);
+  vpDisplay::flush(Idisp);
+
+  //! [Set coordinates]
+  vpImagePoint corner_ref[4];
+  corner_ref[0].set_ij(115,  64);
+  corner_ref[1].set_ij( 83, 253);
+  corner_ref[2].set_ij(282, 307);
+  corner_ref[3].set_ij(330,  72);
+  //! [Set coordinates]
+  //! [Display]
+  for (unsigned int i=0; i<4; i++) {
+    vpDisplay::displayCross(Idisp, corner_ref[i], 12, vpColor::red);
+  }
+  vpDisplay::flush(Idisp);
+  //! [Display]
+
+  //! [Camera]
+  vpCameraParameters cam(840, 840, I.getWidth()/2, I.getHeight()/2);
+  //! [Camera]
+
+  vpHomography curHref;
+
+  while ( ! reader.end() )
+  {
+    reader.acquire(I);
+    Idisp.insert(I, vpImagePoint(0, I.getWidth()));
+    vpDisplay::display(Idisp);
+    vpDisplay::displayLine(Idisp, vpImagePoint(0, I.getWidth()), vpImagePoint(I.getHeight(), I.getWidth()), vpColor::white, 2);
+
+    //! [Matching]
+    unsigned int nbMatch = keypoint.matchPoint(I);
+    std::cout << "Nb matches: " << nbMatch << std::endl;
+    //! [Matching]
+
+    std::vector<vpImagePoint> iPref(nbMatch), iPcur(nbMatch); // Coordinates in pixels (for display only)
+    //! [Allocation]
+    std::vector<double> mPref_x(nbMatch), mPref_y(nbMatch);
+    std::vector<double> mPcur_x(nbMatch), mPcur_y(nbMatch);
+    std::vector<bool> inliers(nbMatch);
+    //! [Allocation]
+
+    for (unsigned int i = 0; i < nbMatch; i++) {
+      vpImagePoint matched_ref, matched_cur;
+      keypoint.getMatchedPoints(i, matched_ref, matched_cur);
+      //! [Pixel conversion]
+      vpPixelMeterConversion::convertPoint(cam, matched_ref, mPref_x[i], mPref_y[i]);
+      vpPixelMeterConversion::convertPoint(cam, matched_cur, mPcur_x[i], mPcur_y[i]);
+      //! [Pixel conversion]
+
+      // Store the image coordinates in pixel of the matched points
+      iPref[i] = matched_ref;
+      iPcur[i] = matched_cur;
+    }
+
+    //! [Homography estimation]
+    try{
+      double residual;
+      if (method == 0)
+        vpHomography::ransac(mPref_x, mPref_y, mPcur_x, mPcur_y, curHref, inliers, residual,
+                             (unsigned int)(mPref_x.size()*0.25), 2.0/cam.get_px(), true);
+      else
+        vpHomography::robust(mPref_x, mPref_y, mPcur_x, mPcur_y, curHref, inliers, residual,
+                             0.4, 4, true);
+    } catch(...)
+    {
+      std::cout << "Cannot compute homography from matches..." << std::endl;
+    }
+
+    //! [Homography estimation]
+
+    //! [Projection]
+    vpImagePoint corner_cur[4];
+    for (int i=0; i< 4; i++) {
+      corner_cur[i] = vpHomography::project(cam, curHref, corner_ref[i]);
+    }
+    //! [Projection]
+
+    //! [Display contour]
+    vpImagePoint offset(0, I.getWidth());
+    for (int i=0; i< 4; i++) {
+      vpDisplay::displayLine(Idisp,
+                             corner_cur[i]       + offset,
+                             corner_cur[(i+1)%4] + offset,
+                             vpColor::blue, 3);
+    }
+    //! [Display contour]
+
+    //! [Display matches]
+    for (unsigned int i = 0; i < nbMatch; i++) {
+      if(inliers[i] == true)
+        vpDisplay::displayLine(Idisp, iPref[i], iPcur[i] + offset, vpColor::green);
+      else
+        vpDisplay::displayLine(Idisp, iPref[i], iPcur[i] + offset, vpColor::red);
+    }
+    //! [Display matches]
+
+    vpDisplay::flush(Idisp);
+
+    if (vpDisplay::getClick(Idisp, false))
+      break;
+  }
+
+  vpDisplay::getClick(Idisp);
+#else
+  (void)argc; (void)argv;
+#endif
+  return 0;
+}
diff --git a/tutorial/detection/matching/tutorial-matching-keypoint.cpp b/tutorial/detection/matching/tutorial-matching-keypoint.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..a70938f0a430b9818f687503da0db6b20c7292f7
--- /dev/null
+++ b/tutorial/detection/matching/tutorial-matching-keypoint.cpp
@@ -0,0 +1,81 @@
+//! \example tutorial-matching-keypoint.cpp
+#include <visp/vpDisplayOpenCV.h>
+#include <visp/vpVideoReader.h>
+#include <visp/vpImageIo.h>
+//! [Include]
+#include <visp/vpKeyPoint.h>
+//! [Include]
+
+int main() {
+  //! [Define]
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020101)
+  //! [Define]
+  vpImage<unsigned char> I;
+
+  vpVideoReader reader;
+  reader.setFileName("video-postcard.mpeg");
+  reader.acquire(I);
+
+  //! [Construction]
+  const std::string detectorName = "ORB";
+  const std::string extractorName = "ORB";
+  //Hamming distance must be used with ORB
+  const std::string matcherName = "BruteForce-Hamming";
+  vpKeyPoint::vpFilterMatchingType filterType = vpKeyPoint::ratioDistanceThreshold;
+  vpKeyPoint keypoint(detectorName, extractorName, matcherName, filterType);
+  std::cout << "Reference keypoints=" << keypoint.buildReference(I) << std::endl;
+  //! [Construction]
+
+  //! [Create image]
+  vpImage<unsigned char> Idisp;
+  Idisp.resize(I.getHeight(), 2*I.getWidth());
+  Idisp.insert(I, vpImagePoint(0, 0));
+  Idisp.insert(I, vpImagePoint(0, I.getWidth()));
+  //! [Create image]
+  //! [Init display]
+  vpDisplayOpenCV d(Idisp, 0, 0, "Matching keypoints with ORB keypoints") ;
+  vpDisplay::display(Idisp);
+  vpDisplay::flush(Idisp);
+  //! [Init display]
+
+  while ( ! reader.end() )
+  {
+    //! [Acquisition]
+    reader.acquire(I);
+    Idisp.insert(I, vpImagePoint(0, I.getWidth()));
+    //! [Acquisition]
+
+    //! [Display]
+    vpDisplay::display(Idisp);
+    vpDisplay::displayLine(Idisp, vpImagePoint(0, I.getWidth()), vpImagePoint(I.getHeight(), I.getWidth()), vpColor::white, 2);
+    //! [Display]
+
+    //! [Matching]
+    unsigned int nbMatch = keypoint.matchPoint(I);
+    //! [Matching]
+
+    std::cout << "Matches=" << nbMatch << std::endl;
+
+    //! [Get matches]
+    vpImagePoint iPref, iPcur;
+    for (unsigned int i = 0; i < nbMatch; i++)
+    {
+      keypoint.getMatchedPoints(i, iPref, iPcur);
+      //! [Get matches]
+      //! [Display matches]
+      vpDisplay::displayLine(Idisp, iPref, iPcur + vpImagePoint(0, I.getWidth()), vpColor::green);
+      //! [Display matches]
+    }
+    //! [Display flush]
+    vpDisplay::flush(Idisp);
+    //! [Display flush]
+
+    if (vpDisplay::getClick(Idisp, false))
+      break;
+  }
+
+  vpDisplay::getClick(Idisp);
+#endif
+
+  return 0;
+}
diff --git a/tutorial/matching/tutorial-matching-surf.cpp b/tutorial/detection/matching/tutorial-matching-surf-deprecated.cpp
similarity index 68%
rename from tutorial/matching/tutorial-matching-surf.cpp
rename to tutorial/detection/matching/tutorial-matching-surf-deprecated.cpp
index 2477038450e30e10f755cc5b1ba7f20161e2e73d..243e582f55f0fa3114df5121c18ddf840be9b125 100755
--- a/tutorial/matching/tutorial-matching-surf.cpp
+++ b/tutorial/detection/matching/tutorial-matching-surf-deprecated.cpp
@@ -1,46 +1,67 @@
-/*! \example tutorial-matching-surf.cpp */
-#include <visp/vpKeyPointSurf.h>
+//! \example tutorial-matching-surf-deprecated.cpp
 #include <visp/vpDisplayOpenCV.h>
 #include <visp/vpVideoReader.h>
+//! [Include]
+#include <visp/vpKeyPointSurf.h>
+//! [Include]
 
 int main()
 {  
-#if defined(VISP_HAVE_OPENCV_NONFREE) && defined(VISP_HAVE_FFMPEG)
+  //! [Define]
+#if defined(VISP_HAVE_OPENCV_NONFREE) && (VISP_HAVE_OPENCV_VERSION < 0x030000)
+  //! [Define]
   vpImage<unsigned char> I;
 
   vpVideoReader reader;
   reader.setFileName("video-postcard.mpeg");
   reader.acquire(I);
 
+  //! [Construction]
   vpKeyPointSurf surf;
   surf.buildReference(I);
+  //! [Construction]
 
+  //! [Create image]
   vpImage<unsigned char> Idisp;
   Idisp.resize(I.getHeight(), 2*I.getWidth());
   Idisp.insert(I, vpImagePoint(0, 0));
   Idisp.insert(I, vpImagePoint(0, I.getWidth()));
-
+  //! [Create image]
+  //! [Init display]
   vpDisplayOpenCV d(Idisp, 0, 0, "Matching surf keypoints") ;
   vpDisplay::display(Idisp);
   vpDisplay::flush(Idisp);
+  //! [Init display]
 
   while ( ! reader.end() )
   {
+    //! [Acquisition]
     reader.acquire(I);
     Idisp.insert(I, vpImagePoint(0, I.getWidth()));
+    //! [Acquisition]
 
+    //! [Display]
     vpDisplay::display(Idisp);
     vpDisplay::displayLine(Idisp, vpImagePoint(0, I.getWidth()), vpImagePoint(I.getHeight(), I.getWidth()), vpColor::white, 2);
+    //! [Display]
 
+    //! [Matching]
     int nbMatch = surf.matchPoint(I);
+    //! [Matching]
 
+    //! [Get matches]
     vpImagePoint iPref, iPcur;
     for (int i = 0; i < nbMatch; i++)
     {
       surf.getMatchedPoints(i, iPref, iPcur);
+      //! [Get matches]
+      //! [Display matches]
       vpDisplay::displayLine(Idisp, iPref, iPcur + vpImagePoint(0, I.getWidth()), vpColor::green);
+      //! [Display matches]
     }
+    //! [Display flush]
     vpDisplay::flush(Idisp);
+    //! [Display flush]
 
     if (vpDisplay::getClick(Idisp, false))
       break;
diff --git a/tutorial/matching/tutorial-matching-surf-homography.cpp b/tutorial/detection/matching/tutorial-matching-surf-homography-deprecated.cpp
similarity index 82%
rename from tutorial/matching/tutorial-matching-surf-homography.cpp
rename to tutorial/detection/matching/tutorial-matching-surf-homography-deprecated.cpp
index aa052bd86e86e3685741bddb6b005630c5563bbb..d7e17a68d1584c60c365e802444f965cdf952a88 100644
--- a/tutorial/matching/tutorial-matching-surf-homography.cpp
+++ b/tutorial/detection/matching/tutorial-matching-surf-homography-deprecated.cpp
@@ -1,4 +1,4 @@
-/*! \example tutorial-matching-surf-homography.cpp */
+//! \example tutorial-matching-surf-homography-deprecated.cpp
 #include <visp/vpDisplayOpenCV.h>
 #include <visp/vpHomography.h>
 #include <visp/vpKeyPointSurf.h>
@@ -7,7 +7,8 @@
 
 int main(int argc, const char **argv)
 {  
-#if defined(VISP_HAVE_OPENCV_NONFREE) && defined(VISP_HAVE_FFMPEG)
+#if defined(VISP_HAVE_OPENCV_NONFREE) && (VISP_HAVE_OPENCV_VERSION < 0x030000)
+  //! [Select method]
   int method = 0;
 
   if (argc > 1)
@@ -17,6 +18,7 @@ int main(int argc, const char **argv)
     std::cout << "Uses Ransac to estimate the homography" << std::endl;
   else
     std::cout << "Uses a robust scheme to estimate the homography" << std::endl;
+  //! [Select method]
 
   vpImage<unsigned char> I;
 
@@ -32,24 +34,29 @@ int main(int argc, const char **argv)
   Idisp.insert(I, vpImagePoint(0, 0));
   Idisp.insert(I, vpImagePoint(0, I.getWidth()));
 
-  vpDisplayOpenCV d(Idisp, 0, 0, "Homography from matched Surf keypoints") ;
+  vpDisplayOpenCV d(Idisp, 0, 0, "Homography from matched Surf keypoints");
   vpDisplay::display(Idisp);
   vpDisplay::flush(Idisp);
 
+  //! [Set coordinates]
   vpImagePoint corner_ref[4];
   corner_ref[0].set_ij(115,  64);
   corner_ref[1].set_ij( 83, 253);
   corner_ref[2].set_ij(282, 307);
   corner_ref[3].set_ij(330,  72);
+  //! [Set coordinates]
+  //! [Display]
   for (unsigned int i=0; i<4; i++) {
     vpDisplay::displayCross(Idisp, corner_ref[i], 12, vpColor::red);
   }
   vpDisplay::flush(Idisp);
+  //! [Display]
 
+  //! [Camera]
   vpCameraParameters cam(840, 840, I.getWidth()/2, I.getHeight()/2);
+  //! [Camera]
 
   vpHomography curHref;
-
   while ( ! reader.end() )
   {
     reader.acquire(I);
@@ -57,37 +64,48 @@ int main(int argc, const char **argv)
     vpDisplay::display(Idisp);
     vpDisplay::displayLine(Idisp, vpImagePoint(0, I.getWidth()), vpImagePoint(I.getHeight(), I.getWidth()), vpColor::white, 2);
 
+    //! [Matching]
     unsigned int nbMatch = surf.matchPoint(I);
+    //! [Matching]
 
     std::vector<vpImagePoint> iPref(nbMatch), iPcur(nbMatch); // Coordinates in pixels (for display only)
+    //! [Allocation]
     std::vector<double> mPref_x(nbMatch), mPref_y(nbMatch);
     std::vector<double> mPcur_x(nbMatch), mPcur_y(nbMatch);
     std::vector<bool> inliers(nbMatch);
+    //! [Allocation]
 
     for (unsigned int i = 0; i < nbMatch; i++) {
       vpImagePoint matched_ref, matched_cur;
       surf.getMatchedPoints(i, matched_ref, matched_cur);
+      //! [Pixel conversion]
       vpPixelMeterConversion::convertPoint(cam, matched_ref, mPref_x[i], mPref_y[i]);
       vpPixelMeterConversion::convertPoint(cam, matched_cur, mPcur_x[i], mPcur_y[i]);
+      //! [Pixel conversion]
 
       // Store the image coordinates in pixel of the matched points
       iPref[i] = matched_ref;
       iPcur[i] = matched_cur;
     }
 
+    //! [Homography estimation]
     double residual;
     if (method == 0)
       vpHomography::ransac(mPref_x, mPref_y, mPcur_x, mPcur_y, curHref, inliers, residual,
-                           mPref_x.size()/2, 2.0/cam.get_px(), true);
+                           (unsigned int)mPref_x.size()/2, 2.0/cam.get_px(), true);
     else
       vpHomography::robust(mPref_x, mPref_y, mPcur_x, mPcur_y, curHref, inliers, residual,
                            0.4, 4, true);
+    //! [Homography estimation]
 
+    //! [Projection]
     vpImagePoint corner_cur[4];
     for (int i=0; i< 4; i++) {
       corner_cur[i] = vpHomography::project(cam, curHref, corner_ref[i]);
     }
+    //! [Projection]
 
+    //! [Display contour]
     vpImagePoint offset(0, I.getWidth());
     for (int i=0; i< 4; i++) {
       vpDisplay::displayLine(Idisp,
@@ -95,13 +113,16 @@ int main(int argc, const char **argv)
                              corner_cur[(i+1)%4] + offset,
                              vpColor::blue, 3);
     }
+    //! [Display contour]
 
+    //! [Display matches]
     for (unsigned int i = 0; i < nbMatch; i++) {
       if(inliers[i] == true)
         vpDisplay::displayLine(Idisp, iPref[i], iPcur[i] + offset, vpColor::green);
       else
         vpDisplay::displayLine(Idisp, iPref[i], iPcur[i] + offset, vpColor::red);
     }
+    //! [Display matches]
 
     vpDisplay::flush(Idisp);
 
diff --git a/tutorial/matching/video-postcard.mpeg b/tutorial/detection/matching/video-postcard.mpeg
similarity index 100%
rename from tutorial/matching/video-postcard.mpeg
rename to tutorial/detection/matching/video-postcard.mpeg
diff --git a/tutorial/detection/object/CMakeLists.txt b/tutorial/detection/object/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b6d8a2e5f1747c0766a1b3ede8d26b5c2bcb2a14
--- /dev/null
+++ b/tutorial/detection/object/CMakeLists.txt
@@ -0,0 +1,29 @@
+project(tutorial-detection-object)
+
+cmake_minimum_required(VERSION 2.6)
+
+find_package(VISP REQUIRED)
+
+# set the list of source files
+set(tutorial_cpp
+  tutorial-detection-object-mbt.cpp)
+
+list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/detection-config.xml")
+list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/detection-config-SIFT.xml")
+list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.xml")
+list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.cao")
+list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.wrl")
+list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.init")
+list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.mpg")
+
+foreach(cpp ${tutorial_cpp})
+  visp_add_target(${cpp})
+  if(COMMAND visp_add_dependency)
+    visp_add_dependency(${cpp} "tutorials")
+  endif()
+endforeach()
+
+# Copy the data files to the same location than the target
+foreach(data ${tutorial_data})
+  visp_copy_data(tutorial-detection-object-mbt.cpp ${data})
+endforeach()
diff --git a/tutorial/detection/object/detection-config-SIFT.xml b/tutorial/detection/object/detection-config-SIFT.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7417c4aca5c3bd2d2d7af3f28bde2dc2e1f899f4
--- /dev/null
+++ b/tutorial/detection/object/detection-config-SIFT.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<conf>
+  <detector>
+    <name>SIFT</name>
+  </detector>
+
+  <extractor>
+    <name>SIFT</name>
+  </extractor>
+
+  <matcher>
+    <name>BruteForce</name>
+    <matching_method>ratioDistanceThreshold</matching_method>
+    <matchingRatioThreshold>0.8</matchingRatioThreshold>
+  </matcher>
+  
+  <ransac>
+	<useRansacVVS>1</useRansacVVS>
+	<useRansacConsensusPercentage>1</useRansacConsensusPercentage>
+	<ransacConsensusPercentage>20.0</ransacConsensusPercentage>
+	<nbRansacIterations>200</nbRansacIterations>
+	<ransacThreshold>0.005</ransacThreshold>
+  </ransac>
+</conf>
+
diff --git a/tutorial/detection/object/detection-config.xml b/tutorial/detection/object/detection-config.xml
new file mode 100644
index 0000000000000000000000000000000000000000..183c8dea732a7f56fac1e2246b9d9536281d9232
--- /dev/null
+++ b/tutorial/detection/object/detection-config.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<conf>
+  <detector>
+    <name>FAST</name>
+  </detector>
+
+  <extractor>
+    <name>ORB</name>
+  </extractor>
+
+  <matcher>
+    <name>BruteForce-Hamming</name>
+    <matching_method>ratioDistanceThreshold</matching_method>
+    <matchingRatioThreshold>0.8</matchingRatioThreshold>
+  </matcher>
+  
+  <ransac>
+	<useRansacVVS>1</useRansacVVS>
+	<useRansacConsensusPercentage>1</useRansacConsensusPercentage>
+	<ransacConsensusPercentage>20.0</ransacConsensusPercentage>
+	<nbRansacIterations>200</nbRansacIterations>
+	<ransacThreshold>0.005</ransacThreshold>
+  </ransac>
+</conf>
+
diff --git a/tutorial/detection/object/teabox.cao b/tutorial/detection/object/teabox.cao
new file mode 100644
index 0000000000000000000000000000000000000000..83c1fdf783e68e78dfa381d4c326f07d88fa8d3f
--- /dev/null
+++ b/tutorial/detection/object/teabox.cao
@@ -0,0 +1,27 @@
+V1
+# 3D Points
+8                  # Number of points
+0     0      0     # Point 0: X Y Z
+0     0     -0.08
+0.165 0     -0.08
+0.165 0      0
+0.165 0.068  0
+0.165 0.068 -0.08
+0     0.068 -0.08
+0     0.068  0     # Point 7
+# 3D Lines
+0                  # Number of lines
+# Faces from 3D lines
+0                  # Number of faces
+# Faces from 3D points
+6                  # Number of faces
+4 0 1 2 3          # Face 0: [number of points] [index of the 3D points]...
+4 1 6 5 2
+4 4 5 6 7
+4 0 3 4 7
+4 5 4 3 2
+4 0 7 6 1          # Face 5
+# 3D cylinders
+0                  # Number of cylinders
+# 3D circles
+0                  # Number of circles
diff --git a/tutorial/detection/object/teabox.init b/tutorial/detection/object/teabox.init
new file mode 100644
index 0000000000000000000000000000000000000000..f109800a0eab96b97050f4872839f09b0a0c2bd3
--- /dev/null
+++ b/tutorial/detection/object/teabox.init
@@ -0,0 +1,5 @@
+4                  # Number of points
+0     0      0     # Point 0
+0.165 0      0     # Point 3
+0.165 0     -0.08  # Point 2
+0.165 0.068 -0.08  # Point 5
diff --git a/tutorial/detection/object/teabox.mpg b/tutorial/detection/object/teabox.mpg
new file mode 100644
index 0000000000000000000000000000000000000000..50fb8ad2d9e245e2bcc06b94d22763a07d9b6191
Binary files /dev/null and b/tutorial/detection/object/teabox.mpg differ
diff --git a/tutorial/detection/object/teabox.wrl b/tutorial/detection/object/teabox.wrl
new file mode 100644
index 0000000000000000000000000000000000000000..a452ea0b7c54d955211974b893b38cf1e3df1eed
--- /dev/null
+++ b/tutorial/detection/object/teabox.wrl
@@ -0,0 +1,33 @@
+#VRML V2.0 utf8
+
+DEF fst_0 Group {
+children [
+
+# Object "teabox"
+Shape {
+
+geometry DEF cube IndexedFaceSet {
+
+coord Coordinate { 
+point [
+0     0      0   ,
+0     0     -0.08,
+0.165 0     -0.08,
+0.165 0      0   ,
+0.165 0.068  0   ,
+0.165 0.068 -0.08,
+0     0.068 -0.08,
+0     0.068  0    ]
+}
+
+coordIndex [
+ 0,1,2,3,-1,
+ 1,6,5,2,-1,
+ 4,5,6,7,-1,
+ 0,3,4,7,-1,
+ 5,4,3,2,-1,
+ 0,7,6,1,-1]}
+}
+
+]
+}
diff --git a/tutorial/detection/object/teabox.xml b/tutorial/detection/object/teabox.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6e1762b42c5ba2da16e3f001b0b62c9e9d64b294
--- /dev/null
+++ b/tutorial/detection/object/teabox.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<conf>
+  <klt>
+    <mask_border>5</mask_border> 
+    <max_features>300</max_features> 
+    <window_size>5</window_size> 
+    <quality>0.015</quality> 
+    <min_distance>8</min_distance> 
+    <harris>0.01</harris>
+    <size_block>3</size_block> 
+    <pyramid_lvl>3</pyramid_lvl> 
+  </klt>
+  <camera>
+    <u0>325.66776</u0> 
+    <v0>243.69727</v0> 
+    <px>839.21470</px> 
+    <py>839.44555</py> 
+  </camera>
+  <face>
+    <angle_appear>70</angle_appear> 
+    <angle_disappear>80</angle_disappear> 
+    <near_clipping>0.1</near_clipping>
+    <far_clipping>100</far_clipping>
+    <fov_clipping>1</fov_clipping>
+  </face>
+</conf>
+
diff --git a/tutorial/detection/object/tutorial-detection-object-mbt.cpp b/tutorial/detection/object/tutorial-detection-object-mbt.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..c05e3b8071b0c7aefd58b614671f7a0b6f3358f5
--- /dev/null
+++ b/tutorial/detection/object/tutorial-detection-object-mbt.cpp
@@ -0,0 +1,241 @@
+//! \example tutorial-detection-object-mbt.cpp
+#include <visp/vpConfig.h>
+#include <visp/vpDisplayX.h>
+#include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
+#include <visp/vpMbEdgeTracker.h>
+#include <visp/vpVideoReader.h>
+#include <visp/vpKeyPoint.h>
+
+
+int main(int argc, char ** argv) {
+#if defined(VISP_HAVE_OPENCV) && ((VISP_HAVE_OPENCV_VERSION >= 0x020100) || defined(VISP_HAVE_FFMPEG))
+  //! [MBT code]
+  try {
+    std::string videoname = "teabox.mpg";
+
+    for (int i=0; i<argc; i++) {
+      if (std::string(argv[i]) == "--name")
+        videoname = std::string(argv[i+1]);
+      else if (std::string(argv[i]) == "--help") {
+        std::cout << "\nUsage: " << argv[0] << " [--name <video name>] [--help]\n" << std::endl;
+        return 0;
+      }
+    }
+    std::string parentname = vpIoTools::getParent(videoname);
+    std::string objectname = vpIoTools::getNameWE(videoname);
+
+    if(! parentname.empty())
+       objectname = parentname + "/" + objectname;
+
+    std::cout << "Video name: " << videoname << std::endl;
+    std::cout << "Tracker requested config files: " << objectname
+              << ".[init,"
+#ifdef VISP_HAVE_XML2
+              << "xml,"
+#endif
+              << "cao or wrl]" << std::endl;
+    std::cout << "Tracker optional config files: " << objectname << ".[ppm]" << std::endl;
+
+    vpImage<unsigned char> I;
+    vpCameraParameters cam;
+    vpHomogeneousMatrix cMo;
+
+    vpVideoReader g;
+    g.setFileName(videoname);
+    g.open(I);
+
+#if defined(VISP_HAVE_X11)
+    vpDisplayX display;
+#elif defined(VISP_HAVE_GDI)
+    vpDisplayGDI display;
+#elif defined(VISP_HAVE_OPENCV)
+    vpDisplayOpenCV display;
+#else
+    std::cout << "No image viewer is available..." << std::endl;
+    return 0;
+#endif
+
+    display.init(I, 100, 100,"Model-based edge tracker");
+
+    vpMbEdgeTracker tracker;
+    bool usexml = false;
+#ifdef VISP_HAVE_XML2
+    if(vpIoTools::checkFilename(objectname + ".xml")) {
+      tracker.loadConfigFile(objectname + ".xml");
+      tracker.getCameraParameters(cam);
+      usexml = true;
+    }
+#endif
+    if (! usexml) {
+      vpMe me;
+      me.setMaskSize(5);
+      me.setMaskNumber(180);
+      me.setRange(8);
+      me.setThreshold(10000);
+      me.setMu1(0.5);
+      me.setMu2(0.5);
+      me.setSampleStep(4);
+      me.setNbTotalSample(250);
+      tracker.setMovingEdge(me);
+      cam.initPersProjWithoutDistortion(839, 839, 325, 243);
+      tracker.setCameraParameters(cam);
+      tracker.setAngleAppear( vpMath::rad(70) );
+      tracker.setAngleDisappear( vpMath::rad(80) );
+      tracker.setNearClippingDistance(0.1);
+      tracker.setFarClippingDistance(100.0);
+      tracker.setClipping(tracker.getClipping() | vpMbtPolygon::FOV_CLIPPING);
+    }
+
+    tracker.setOgreVisibilityTest(false);
+    if(vpIoTools::checkFilename(objectname + ".cao"))
+      tracker.loadModel(objectname + ".cao");
+    else if(vpIoTools::checkFilename(objectname + ".wrl"))
+      tracker.loadModel(objectname + ".wrl");
+    tracker.setDisplayFeatures(true);
+    tracker.initClick(I, objectname + ".init", true);
+    tracker.track(I);
+    //! [MBT code]
+
+    //! [Keypoint selection]
+    std::string detectorName = "FAST";
+    std::string extractorName = "ORB";
+    std::string matcherName = "BruteForce-Hamming";
+    std::string configurationFile = "detection-config.xml";
+
+#if (defined(VISP_HAVE_OPENCV_NONFREE) || defined(VISP_HAVE_OPENCV_XFEATURES2D))
+    detectorName = "SIFT";
+    extractorName = "SIFT";
+    matcherName = "BruteForce";
+    configurationFile = "detection-config-SIFT.xml";
+#endif
+    //! [Keypoint selection]
+
+    //! [Keypoint declaration]
+    vpKeyPoint keypoint_learning;
+    //! [Keypoint declaration]
+    if(usexml) {
+      //! [Keypoint xml config]
+#ifdef VISP_HAVE_XML2
+      keypoint_learning.loadConfigFile(configurationFile);
+#endif
+      //! [Keypoint xml config]
+    } else {
+      //! [Keypoint code config]
+      keypoint_learning.setDetector(detectorName);
+      keypoint_learning.setExtractor(extractorName);
+      keypoint_learning.setMatcher(matcherName);
+      //! [Keypoint code config]
+    }
+    //! [Keypoint declaration and initialization]
+
+    //! [Keypoints reference detection]
+    std::vector<cv::KeyPoint> trainKeyPoints;
+    double elapsedTime;
+    keypoint_learning.detect(I, trainKeyPoints, elapsedTime);
+    //! [Keypoints reference detection]
+
+    //! [Keypoints selection on faces]
+    std::vector<vpPolygon> polygons;
+    std::vector<std::vector<vpPoint> > roisPt;
+    std::pair<std::vector<vpPolygon>, std::vector<std::vector<vpPoint> > > pair = tracker.getPolygonFaces(false);
+    polygons = pair.first;
+    roisPt = pair.second;
+
+    std::vector<cv::Point3f> points3f;
+    tracker.getPose(cMo);
+    vpKeyPoint::compute3DForPointsInPolygons(cMo, cam, trainKeyPoints, polygons, roisPt, points3f);
+    //! [Keypoints selection on faces]
+
+    //! [Keypoints build reference]
+    keypoint_learning.buildReference(I, trainKeyPoints, points3f);
+    //! [Keypoints build reference]
+
+    //! [Save learning data]
+    keypoint_learning.saveLearningData("teabox_learning_data.bin", true);
+    //! [Save learning data]
+
+    //! [Display reference keypoints]
+    vpDisplay::display(I);
+    for(std::vector<cv::KeyPoint>::const_iterator it = trainKeyPoints.begin(); it != trainKeyPoints.end(); ++it) {
+      vpDisplay::displayCross(I, (int) it->pt.y, (int) it->pt.x, 4, vpColor::red);
+    }
+    vpDisplay::displayText(I, 10, 10, "Learning step: keypoints are detected on visible teabox faces", vpColor::red);
+    vpDisplay::displayText(I, 30, 10, "Click to continue with detection...", vpColor::red);
+    vpDisplay::flush(I);
+    vpDisplay::getClick(I, true);
+    //! [Display reference keypoints]
+
+    //! [Init keypoint detection]
+    vpKeyPoint keypoint_detection;
+    if(usexml) {
+#ifdef VISP_HAVE_XML2
+      keypoint_detection.loadConfigFile(configurationFile);
+#endif
+    } else {
+      keypoint_detection.setDetector(detectorName);
+      keypoint_detection.setExtractor(extractorName);
+      keypoint_detection.setMatcher(matcherName);
+      keypoint_detection.setFilterMatchingType(vpKeyPoint::ratioDistanceThreshold);
+      keypoint_detection.setMatchingRatioThreshold(0.8);
+      keypoint_detection.setUseRansacVVS(true);
+      keypoint_detection.setUseRansacConsensusPercentage(true);
+      keypoint_detection.setRansacConsensusPercentage(20.0);
+      keypoint_detection.setRansacIteration(200);
+      keypoint_detection.setRansacThreshold(0.005);
+    }
+    //! [Init keypoint detection]
+
+    //! [Load teabox learning data]
+    keypoint_detection.loadLearningData("teabox_learning_data.bin", true);
+    //! [Load teabox learning data]
+
+    double error;
+    bool click_done = false;
+
+    while(! g.end()) {
+      g.acquire(I);
+      vpDisplay::display(I);
+
+      vpDisplay::displayText(I, 10, 10, "Detection and localization in process...", vpColor::red);
+
+      //! [Matching and pose estimation]
+      if(keypoint_detection.matchPoint(I, cam, cMo, error, elapsedTime)) {
+        //! [Matching and pose estimation]
+
+        //! [Tracker set pose]
+        tracker.setPose(I, cMo);
+        //! [Tracker set pose]
+        //! [Display]
+        tracker.display(I, cMo, cam, vpColor::red, 2);
+        vpDisplay::displayFrame(I, cMo, cam, 0.025, vpColor::none, 3);
+        //! [Display]
+      }
+
+      vpDisplay::displayText(I, 30, 10, "A click to exit.", vpColor::red);
+      vpDisplay::flush(I);
+      if (vpDisplay::getClick(I, false)) {
+        click_done = true;
+        break;
+      }
+    }
+    if (! click_done)
+      vpDisplay::getClick(I);
+#ifdef VISP_HAVE_XML2
+    vpXmlParser::cleanup();
+#endif
+#if defined(VISP_HAVE_COIN) && (COIN_MAJOR_VERSION == 3)
+    SoDB::finish();
+#endif
+  }
+  catch(vpException &e) {
+    std::cout << "Catch an exception: " << e << std::endl;
+  }
+#else
+  (void)argc;
+  (void)argv;
+  std::cout << "Install OpenCV or ffmpeg and rebuild ViSP to use this example." << std::endl;
+#endif
+
+  return 0;
+}
diff --git a/tutorial/grabber/CMakeLists.txt b/tutorial/grabber/CMakeLists.txt
index ff523884e62a3e292cc01aba5cdc66fcf771fc78..bf7b7884e4d3f6ee317ad180973ce6388d135a94 100644
--- a/tutorial/grabber/CMakeLists.txt
+++ b/tutorial/grabber/CMakeLists.txt
@@ -11,16 +11,21 @@ set(tutorial_cpp
   tutorial-grabber-CMU1394.cpp
   tutorial-grabber-opencv.cpp
   tutorial-grabber-opencv-bis.cpp
-  tutorial-grabber-video.cpp
-  tutorial-grabber-v4l2.cpp)
+  tutorial-grabber-v4l2.cpp
+  tutorial-video-reader.cpp
+  tutorial-video-recorder.cpp
+)
 
 set(tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/video.mpg")
 
 foreach(cpp ${tutorial_cpp})
   visp_add_target(${cpp})
+  if(COMMAND visp_add_dependency)
+    visp_add_dependency(${cpp} "tutorials")
+  endif()
 endforeach()
 
 # Copy the data files to the same location than the target
 foreach(data ${tutorial_data})
-  visp_copy_data(tutorial-grabber-video.cpp ${data})
+  visp_copy_data(tutorial-video-reader.cpp ${data})
 endforeach()
diff --git a/tutorial/grabber/tutorial-grabber-1394.cpp b/tutorial/grabber/tutorial-grabber-1394.cpp
index 7007b63cb627410b64444bcf514ea8afd96115e4..ea41cfc92469c3e614055980057d54fc4255d5b1 100644
--- a/tutorial/grabber/tutorial-grabber-1394.cpp
+++ b/tutorial/grabber/tutorial-grabber-1394.cpp
@@ -1,4 +1,4 @@
-/*! \example tutorial-grabber-1394.cpp */
+//! \example tutorial-grabber-1394.cpp
 #include <visp/vp1394TwoGrabber.h>
 #include <visp/vpDisplayX.h>
 #include <visp/vpImage.h>
@@ -9,11 +9,17 @@ int main()
   try {
     vpImage<unsigned char> I; // Create a gray level image container
     bool reset = true; // Enable bus reset during construction (default)
+    //! [vp1394TwoGrabber construction]
     vp1394TwoGrabber g(reset); // Create a grabber based on libdc1394-2.x third party lib
+    //! [vp1394TwoGrabber construction]
 
+    //! [vp1394TwoGrabber settings]
     g.setVideoMode(vp1394TwoGrabber::vpVIDEO_MODE_640x480_MONO8);
     g.setFramerate(vp1394TwoGrabber::vpFRAMERATE_60);
+    //! [vp1394TwoGrabber settings]
+    //! [vp1394TwoGrabber open]
     g.open(I);
+    //! [vp1394TwoGrabber open]
 
     std::cout << "Image size: " << I.getWidth() << " " << I.getHeight() << std::endl;
 
@@ -24,11 +30,15 @@ int main()
 #endif
 
     while(1) {
+      //! [vp1394TwoGrabber acquire]
       g.acquire(I);
+      //! [vp1394TwoGrabber acquire]
       vpDisplay::display(I);
       vpDisplay::flush(I);
+      //! [vp1394TwoGrabber click to exit]
       if (vpDisplay::getClick(I, false))
         break;
+      //! [vp1394TwoGrabber click to exit]
     }
   }
   catch(vpException e) {
diff --git a/tutorial/grabber/tutorial-grabber-opencv-bis.cpp b/tutorial/grabber/tutorial-grabber-opencv-bis.cpp
index 626db671f0dcd1f539179d58c6fc92b35b158ce8..aed7af6ec267c5918a9886520b85f7254364be41 100644
--- a/tutorial/grabber/tutorial-grabber-opencv-bis.cpp
+++ b/tutorial/grabber/tutorial-grabber-opencv-bis.cpp
@@ -13,7 +13,7 @@ int main(int argc, char** argv)
     device = atoi(argv[1]);
   std::cout << "Use device: " << device << std::endl;
 
-#if defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020100)
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020100)
   try {
     cv::VideoCapture cap(device); // open the default camera
     if(!cap.isOpened()) { // check if we succeeded
@@ -27,7 +27,9 @@ int main(int argc, char** argv)
     //vpImage<vpRGBa> I; // for color images
     vpImage<unsigned char> I; // for gray images
     vpImageConvert::convert(frame, I);
+
     vpDisplayOpenCV d(I);
+
     for(;;) {
       cap >> frame; // get a new frame from camera
       // Convert the image in ViSP format and display it
diff --git a/tutorial/grabber/tutorial-grabber-opencv.cpp b/tutorial/grabber/tutorial-grabber-opencv.cpp
index 05f937007042e49a11546cbbcaf14a295650cd11..2586e2421a693400b74917f9f3cc11c67b0760af 100644
--- a/tutorial/grabber/tutorial-grabber-opencv.cpp
+++ b/tutorial/grabber/tutorial-grabber-opencv.cpp
@@ -4,7 +4,7 @@
 
 int main()
 {
-#ifdef VISP_HAVE_OPENCV
+#if defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION < 0x020408)
   try {
     vpImage<unsigned char> I;
 
diff --git a/tutorial/grabber/tutorial-grabber-video.cpp b/tutorial/grabber/tutorial-grabber-video.cpp
deleted file mode 100644
index 9098299973cdca118eaa54e5814b7c48a8ae5c7e..0000000000000000000000000000000000000000
--- a/tutorial/grabber/tutorial-grabber-video.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-/*! \example tutorial-grabber-video.cpp */
-#include <visp/vpDisplayX.h>
-#include <visp/vpVideoReader.h>
-
-int main()
-{
-#ifdef VISP_HAVE_FFMPEG
-  try {
-    vpImage<unsigned char> I;
-
-    vpVideoReader g;
-    g.setFileName("./video.mpg");
-    g.open(I);
-
-    std::cout << "video framerate: " << g.getFramerate() << "Hz" << std::endl;
-    std::cout << "video dimension: " << I.getWidth() << " " << I.getHeight() << std::endl;
-
-#ifdef VISP_HAVE_X11
-    vpDisplayX d(I);
-#else
-    std::cout << "No image viewer is available..." << std::endl;
-#endif
-    vpDisplay::setTitle(I, "Video grabber");
-    while (! g.end() ) {
-      double t = vpTime::measureTimeMs();
-      g.acquire(I);
-      vpDisplay::display(I);
-      vpDisplay::flush(I);
-      if (vpDisplay::getClick(I, false)) break;
-      vpTime::wait(t, 1000. / g.getFramerate());
-    }
-  }
-  catch(vpException e) {
-    std::cout << "Catch an exception: " << e << std::endl;
-  }
-#endif
-}
diff --git a/tutorial/grabber/tutorial-video-reader.cpp b/tutorial/grabber/tutorial-video-reader.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..cb7dd46887e7e7908896156486efa40db4a6c1c7
--- /dev/null
+++ b/tutorial/grabber/tutorial-video-reader.cpp
@@ -0,0 +1,80 @@
+//! \example tutorial-video-reader.cpp
+#include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
+#include <visp/vpDisplayX.h>
+//! [Include]
+#include <visp/vpTime.h>
+#include <visp/vpVideoReader.h>
+//! [Include]
+
+/*!
+ This example allows to read and display a video from a file.
+ It only requires that ViSP is build with OpenCV or ffmpeg.
+
+ Example: ./tutorial-video-reader --name video.mpg
+ */
+int main(int argc, char** argv)
+{
+#if defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020100) || defined(VISP_HAVE_FFMPEG)
+  try {
+    std::string videoname = "video.mpg";
+
+    for (int i=0; i<argc; i++) {
+      if (std::string(argv[i]) == "--name")
+        videoname = std::string(argv[i+1]);
+      else if (std::string(argv[i]) == "--help") {
+        std::cout << "\nUsage: " << argv[0] << " [--name <video name>] [--help]\n" << std::endl;
+        return 0;
+      }
+    }
+
+    vpImage<unsigned char> I;
+    //! [vpVideoReader construction]
+    vpVideoReader g;
+    //! [vpVideoReader construction]
+    //! [vpVideoReader setting]
+    g.setFileName(videoname);
+    //! [vpVideoReader setting]
+    //! [vpVideoReader open]
+    g.open(I);
+    //! [vpVideoReader open]
+    std::cout << "video name: " << videoname << std::endl;
+    std::cout << "video framerate: " << g.getFramerate() << "Hz" << std::endl;
+    std::cout << "video dimension: " << I.getWidth() << " " << I.getHeight() << std::endl;
+
+#ifdef VISP_HAVE_X11
+    vpDisplayX d(I);
+#elif defined(VISP_HAVE_GDI)
+    vpDisplayGDI d(I);
+#elif defined(VISP_HAVE_OPENCV)
+    vpDisplayOpenCV d(I);
+#else
+    std::cout << "No image viewer is available..." << std::endl;
+#endif
+    vpDisplay::setTitle(I, "Video reader");
+    //! [vpVideoReader while loop]
+    while (! g.end() ) {
+      //! [vpVideoReader while loop]
+      //! [vpVideoReader loop start time]
+      double t = vpTime::measureTimeMs();
+      //! [vpVideoReader loop start time]
+      //! [vpVideoReader acquire]
+      g.acquire(I);
+      //! [vpVideoReader acquire]
+      vpDisplay::display(I);
+      vpDisplay::flush(I);
+      if (vpDisplay::getClick(I, false)) break;
+      //! [vpVideoReader loop rate]
+      vpTime::wait(t, 1000. / g.getFramerate());
+      //! [vpVideoReader loop rate]
+    }
+  }
+  catch(vpException e) {
+    std::cout << e.getMessage() << std::endl;
+  }
+#else
+  (void)argc;
+  (void)argv;
+  std::cout << "Install OpenCV or ffmpeg and rebuild ViSP to use this example." << std::endl;
+#endif
+}
diff --git a/tutorial/grabber/tutorial-video-recorder.cpp b/tutorial/grabber/tutorial-video-recorder.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..b00d4d7f1580795c835b5b5a2e5ee58e7673402c
--- /dev/null
+++ b/tutorial/grabber/tutorial-video-recorder.cpp
@@ -0,0 +1,122 @@
+/*! \example tutorial-video-recorder.cpp */
+#include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayGTK.h>
+#include <visp/vpDisplayOpenCV.h>
+#include <visp/vpDisplayX.h>
+#include <visp/vpTime.h>
+#include <visp/vpVideoWriter.h>
+#include <visp/vpV4l2Grabber.h>
+
+/*!
+ This example allows to record a video from a camera.
+ It only requires that ViSP is build with OpenCV.
+
+ Example: ./tutorial-video-recorder --device 0 --name myvideo.mpeg
+ */
+int main(int argc, const char *argv[])
+{
+#if ((defined(VISP_HAVE_V4L2) || (VISP_HAVE_OPENCV_VERSION >= 0x020100)) && (defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV) || defined(VISP_HAVE_GTK)))
+  std::string opt_videoname = "video-recorded.mpg";
+  int opt_device = 0;
+
+  for (int i=0; i<argc; i++) {
+    if (std::string(argv[i]) == "--device")
+      opt_device = atoi(argv[i+1]);
+    else if (std::string(argv[i]) == "--name")
+      opt_videoname = std::string(argv[i+1]);
+    else if (std::string(argv[i]) == "--help") {
+      std::cout << "\nUsage: " << argv[0] << " [--device <device number>] [--name <video name>] [--help]\n" << std::endl;
+      return 0;
+    }
+  }
+
+  std::cout << "Use device: " << opt_device << std::endl;
+  std::cout << "Record video in: " << opt_videoname << std::endl;
+
+  try {
+    //vpImage<vpRGBa> I; // for color images
+    vpImage<unsigned char> I; // for gray images
+
+#if defined(VISP_HAVE_V4L2)
+    vpV4l2Grabber g;
+    std::ostringstream device;
+    device << "/dev/video" << opt_device;
+    g.setDevice(device.str());
+    g.open(I);
+    g.acquire(I);
+#elif defined(VISP_HAVE_OPENCV)
+    cv::VideoCapture g(opt_device);
+    if(!g.isOpened()) { // check if we succeeded
+      std::cout << "Failed to open the camera" << std::endl;
+      return -1;
+    }
+    cv::Mat frame;
+    g >> frame; // get a new frame from camera
+    vpImageConvert::convert(frame, I);
+#endif
+
+    std::cout << "Image size: " << I.getWidth() << " " << I.getHeight() << std::endl;
+
+#if defined(VISP_HAVE_X11)
+    vpDisplayX d;
+#elif defined(VISP_HAVE_GDI)
+    vpDisplayGDI d;
+#elif defined(VISP_HAVE_OPENCV)
+    vpDisplayOpenCV d;
+#elif defined(VISP_HAVE_GTK)
+    vpDisplayGTK d;
+#endif
+    d.init(I, 0, 0, "Camera view");
+    vpVideoWriter writer;
+
+#ifdef VISP_HAVE_FFMPEG
+    // Set up the bit rate
+    writer.setBitRate(1000000);
+    // Set up the codec to use
+#  if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(54,51,110) // libavcodec 54.51.100
+    writer.setCodec(CODEC_ID_MPEG2VIDEO);
+#  else
+    writer.setCodec(AV_CODEC_ID_MPEG2VIDEO);
+#  endif
+#elif VISP_HAVE_OPENCV_VERSION >= 0x030000
+    writer.setCodec( cv::VideoWriter::fourcc('P','I','M','1') ); // MPEG-1 codec
+#elif VISP_HAVE_OPENCV_VERSION >= 0x020100
+    writer.setCodec( CV_FOURCC('P','I','M','1') );
+#endif
+    writer.setFileName(opt_videoname);
+    writer.open(I);
+    bool recording = false;
+
+    for(;;) {
+#if defined(VISP_HAVE_V4L2)
+      g.acquire(I);
+#elif defined(VISP_HAVE_OPENCV)
+      g >> frame;
+      vpImageConvert::convert(frame, I);
+#endif
+      vpDisplay::display(I);
+      if (recording == false) {
+        vpDisplay::displayText(I, 10, 10, "A click to start recording", vpColor::green);
+        if (vpDisplay::getClick(I, false))
+          recording = true;
+      }
+      else {
+        writer.saveFrame(I);
+        vpDisplay::displayText(I, 10, 10, "Recording: A click to stop and exit", vpColor::red);
+        if (vpDisplay::getClick(I, false))
+          break;
+      }
+
+      vpDisplay::flush(I);
+    }
+    std::cout << "The video was recorded in \"" << opt_videoname << "\"" << std::endl;
+  }
+  catch(vpException e) {
+    std::cout << "Catch an exception: " << e << std::endl;
+  }
+#else
+  (void)argc;
+  (void)argv;
+  std::cout << "Install OpenCV and rebuild ViSP to use this example." << std::endl;
+#endif
+}
diff --git a/tutorial/image/CMakeLists.txt b/tutorial/image/CMakeLists.txt
index 98cbd4630224502f43c5976a8e35b48c5a3e6d9c..3f72d7f0fd64f429f266b13c1b6d0f6eb65a6f8f 100644
--- a/tutorial/image/CMakeLists.txt
+++ b/tutorial/image/CMakeLists.txt
@@ -23,6 +23,9 @@ list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/camera.xml" )
 
 foreach(cpp ${tutorial_cpp})
   visp_add_target(${cpp})
+  if(COMMAND visp_add_dependency)
+    visp_add_dependency(${cpp} "tutorials")
+  endif()
 endforeach()
 
 # Copy the data files to the same location than the target
diff --git a/tutorial/image/tutorial-image-converter.cpp b/tutorial/image/tutorial-image-converter.cpp
index 14b1d0c7eecfcabd209dc0df68a126fb7cbe9941..76f55aa9ff4449e271d29351c4aeb5dc9138f255 100644
--- a/tutorial/image/tutorial-image-converter.cpp
+++ b/tutorial/image/tutorial-image-converter.cpp
@@ -7,7 +7,11 @@ int main()
 #if defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020100)
   try {
     cv::Mat A;
+#if (VISP_HAVE_OPENCV_VERSION >= 0x030000)
+    A = cv::imread("lena.bmp", cv::IMREAD_GRAYSCALE);
+#else
     A = cv::imread("lena.bmp", CV_LOAD_IMAGE_GRAYSCALE);
+#endif
 
     vpImage<unsigned char> I;
     vpImageConvert::convert(A, I);
diff --git a/tutorial/image/tutorial-image-filter.cpp b/tutorial/image/tutorial-image-filter.cpp
index 7ba75c417b4f272b6af8a7436d605699d32ba182..c224206f89829114ce4310776582cac8e5d84c27 100644
--- a/tutorial/image/tutorial-image-filter.cpp
+++ b/tutorial/image/tutorial-image-filter.cpp
@@ -1,4 +1,4 @@
-/*! \example tutorial-image-filter.cpp */
+//! \example tutorial-image-filter.cpp
 
 #include <visp/vpDisplayD3D.h>
 #include <visp/vpDisplayGDI.h>
@@ -29,7 +29,7 @@ void display(vpImage<unsigned char> &I, const std::string &title)
 
   vpDisplay::setTitle(I, title.c_str());
   vpDisplay::display(I);
-  vpDisplay::displayCharString(I, 15,15, "Click to continue...", vpColor::red);
+  vpDisplay::displayText(I, 15,15, "Click to continue...", vpColor::red);
   vpDisplay::flush(I);
   vpDisplay::getClick(I);
 }
@@ -48,8 +48,9 @@ int main(int argc, char** argv )
       printf( "Usage: %s <image name.[pgm,ppm,jpeg,png,bmp]>\n", argv[0] );
       return -1;
     }
-
+    //! [vpImage construction]
     vpImage<unsigned char> I;
+    //! [vpImage construction]
 
     try {
       vpImageIo::read(I, argv[1]);
@@ -61,36 +62,48 @@ int main(int argc, char** argv )
 
     display(I, "Original image");
 
+    //! [Gaussian blur]
     vpImage<double> F;
     vpImageFilter::gaussianBlur(I, F);
+    //! [Gaussian blur]
     display(F, "Blur (default)");
 
     vpImageFilter::gaussianBlur(I, F, 7, 2);
     display(F, "Blur (var=2)");
 
+    //! [Gradients x]
     vpImage<double> dIx;
     vpImageFilter::getGradX(I, dIx);
+    //! [Gradients x]
     display(dIx, "Gradient dIx");
 
+    //! [Gradients y]
     vpImage<double> dIy;
     vpImageFilter::getGradY(I, dIy);
+    //! [Gradients y]
     display(dIy, "Gradient dIy");
 
-
+    //! [Canny]
 #if (VISP_HAVE_OPENCV_VERSION >= 0x020100)
     vpImage<unsigned char> C;
     vpImageFilter::canny(I, C, 5, 15, 3);
     display(C, "Canny");
 #endif
+    //! [Canny]
 
+    //! [Convolution kernel]
     vpMatrix K(3,3); // Sobel kernel along x
     K[0][0] = 1; K[0][1] = 0; K[0][2] = -1;
     K[1][0] = 2; K[1][1] = 0; K[1][2] = -2;
     K[2][0] = 1; K[2][1] = 0; K[2][2] = -1;
+    //! [Convolution kernel]
+    //! [Convolution]
     vpImage<double> Gx;
     vpImageFilter::filter(I, Gx, K);
+    //! [Convolution]
     display(Gx, "Sobel x");
 
+    //! [Gaussian pyramid]
     size_t nlevel = 3;
     std::vector< vpImage<unsigned char> > pyr(nlevel);
     pyr[0] = I;
@@ -98,6 +111,7 @@ int main(int argc, char** argv )
       vpImageFilter::getGaussPyramidal(pyr[i-1], pyr[i]);
       display(pyr[i], "Pyramid");
     }
+    //! [Gaussian pyramid]
     return 0;
   }
   catch(vpException &e) {
diff --git a/tutorial/image/tutorial-image-reader.cpp b/tutorial/image/tutorial-image-reader.cpp
index bd0ff9d62bcf56de26b357c92767cae4a8b38c44..109b806601a32101fac90451b44573be6588301a 100644
--- a/tutorial/image/tutorial-image-reader.cpp
+++ b/tutorial/image/tutorial-image-reader.cpp
@@ -5,7 +5,7 @@ int main()
 {
   try {
     vpImage<vpRGBa> I;
-    vpImageIo::read(I, "lena.jpg");
+    vpImageIo::read(I, "lena.jpeg");
     vpImageIo::write(I, "lena.png");
   }
   catch(vpException e) {
diff --git a/tutorial/image/tutorial-image-viewer.cpp b/tutorial/image/tutorial-image-viewer.cpp
index bc6ce276124a6ab4e25e42b9ae81bca05f4d3e16..a3a6dfa4d23f4fb349bfbb44e525767efd49a0e4 100644
--- a/tutorial/image/tutorial-image-viewer.cpp
+++ b/tutorial/image/tutorial-image-viewer.cpp
@@ -1,5 +1,6 @@
 /*! \example tutorial-image-viewer.cpp */
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpDisplayX.h>
 #include <visp/vpImageIo.h>
 #include <visp/vpImagePoint.h>
@@ -14,6 +15,8 @@ int main()
     vpDisplayX d(I);
 #elif defined(VISP_HAVE_GDI)
     vpDisplayGDI d(I);
+#elif defined(VISP_HAVE_OPENCV)
+    vpDisplayOpenCV d(I);
 #else
     std::cout << "No image viewer is available..." << std::endl;
 #endif
@@ -28,7 +31,7 @@ int main()
 
     try {
       vpImageIo::write(I, "lena-out.jpg");
-      vpImageIo::write(O, "lena-out-with-overlay.jpg2");
+      vpImageIo::write(O, "lena-out-with-overlay.jpg");
     }
     catch(...) {
       std::cout << "Cannot write the image: unsupported format..." << std::endl;
diff --git a/tutorial/image/tutorial-undistort.cpp b/tutorial/image/tutorial-undistort.cpp
index 7964119f5ab7d979cd6b03a499df1ce723f9c3d2..b26460f3cc00b54e093eeb42609bf9450a2b1da8 100644
--- a/tutorial/image/tutorial-undistort.cpp
+++ b/tutorial/image/tutorial-undistort.cpp
@@ -1,4 +1,4 @@
-/*! \example tutorial-undistort.cpp */
+//! \example tutorial-undistort.cpp
 #include <visp/vpImageIo.h>
 #include <visp/vpImageTools.h>
 #include <visp/vpXmlParserCamera.h>
@@ -6,9 +6,12 @@
 int main()
 {
   try {
+    //! [Load image]
     vpImage<unsigned char> I;
     vpImageIo::read(I, "chessboard.pgm");
+    //! [Load image]
 
+    //! [Load camera parameters from xml]
     vpCameraParameters cam;
 #ifdef VISP_HAVE_XML2
     vpXmlParserCamera p;
@@ -17,15 +20,20 @@ int main()
     if (p.parse(cam, "camera.xml", "Camera", projModel, I.getWidth(), I.getHeight()) != vpXmlParserCamera::SEQUENCE_OK) {
       std::cout << "Cannot found parameters for camera named \"Camera\"" << std::endl;
     }
+    //! [Load camera parameters from xml]
+    //! [Set camera parameters]
 #else
     cam.initPersProjWithDistortion(582.7, 580.6, 326.6, 215.0, -0.3372, 0.4021);
 #endif
+    //! [Set camera parameters]
 
     std::cout << cam << std::endl;
 
+    //! [Create image without distorsion]
     vpImage<unsigned char> Iud;
     vpImageTools::undistort(I, cam, Iud);
     vpImageIo::write(Iud, "chessboard-undistort.pgm");
+    //! [Create image without distorsion]
   }
   catch(vpException e) {
     std::cout << "Catch an exception: " << e << std::endl;
diff --git a/tutorial/image/tutorial-viewer.cpp b/tutorial/image/tutorial-viewer.cpp
index de619c59550396926a0363d0c88f3c3a516fb842..cfd843940e6bbb7c51943a15e017d663f280bf69 100644
--- a/tutorial/image/tutorial-viewer.cpp
+++ b/tutorial/image/tutorial-viewer.cpp
@@ -1,10 +1,14 @@
-/*! \example tutorial-viewer.cpp */
+//! \example tutorial-viewer.cpp
+//! [Include display]
 #include <visp/vpDisplayD3D.h>
 #include <visp/vpDisplayGDI.h>
 #include <visp/vpDisplayGTK.h>
 #include <visp/vpDisplayX.h>
 #include <visp/vpDisplayOpenCV.h>
+//! [Include display]
+//! [Include io]
 #include <visp/vpImageIo.h>
+//! [Include io]
 
 int main(int argc, char** argv)
 {
@@ -13,8 +17,11 @@ int main(int argc, char** argv)
     return -1;
   }
 
+  //! [vpImage construction]
   vpImage<vpRGBa> I;
+  //! [vpImage construction]
 
+  //! [vpImage reading]
   try {
     vpImageIo::read(I, argv[1]);
   }
@@ -22,8 +29,10 @@ int main(int argc, char** argv)
     std::cout << "Cannot read image \"" << argv[1] << "\"" << std::endl;
     return -1;
   }
+  //! [vpImage reading]
 
   try {
+    //! [vpDisplay construction]
 #if defined(VISP_HAVE_X11)
     vpDisplayX d(I);
 #elif defined(VISP_HAVE_OPENCV)
@@ -37,11 +46,18 @@ int main(int argc, char** argv)
 #else
     std::cout << "No image viewer is available..." << std::endl;
 #endif
+    //! [vpDisplay construction]
+    //! [vpDisplay set title]
     vpDisplay::setTitle(I, "My image");
+    //! [vpDisplay set title]
+    //! [vpDisplay display]
     vpDisplay::display(I);
     vpDisplay::flush(I);
+    //! [vpDisplay display]
     std::cout << "A click to quit..." << std::endl;
+    //! [vpDisplay get click]
     vpDisplay::getClick(I);
+    //! [vpDisplay get click]
   }
   catch(vpException e) {
     std::cout << "Catch an exception: " << e << std::endl;
diff --git a/tutorial/robot/pioneer/CMakeLists.txt b/tutorial/robot/pioneer/CMakeLists.txt
index 321f5e2e9f4468e46cfb47bbb940f326ec44c329..1de807f35eda1b423be5b5ba5ec75950b87f46ed 100644
--- a/tutorial/robot/pioneer/CMakeLists.txt
+++ b/tutorial/robot/pioneer/CMakeLists.txt
@@ -13,4 +13,7 @@ set(tutorial_cpp
 
 foreach(cpp ${tutorial_cpp})
   visp_add_target(${cpp})
+  if(COMMAND visp_add_dependency)
+    visp_add_dependency(${cpp} "tutorials")
+  endif()
 endforeach()
diff --git a/tutorial/robot/pioneer/tutorial-simu-pioneer-continuous-gain-adaptive.cpp b/tutorial/robot/pioneer/tutorial-simu-pioneer-continuous-gain-adaptive.cpp
index cfd27088d47b411139828f11f2861c8049f5f13f..19a028e8f8207d0e27c0f9e93842589ac5101815 100644
--- a/tutorial/robot/pioneer/tutorial-simu-pioneer-continuous-gain-adaptive.cpp
+++ b/tutorial/robot/pioneer/tutorial-simu-pioneer-continuous-gain-adaptive.cpp
@@ -131,7 +131,7 @@ int main()
     graph.saveData(1, "./error2.dat");
 
     const char *legend = "Click to quit...";
-    vpDisplay::displayCharString(graph.I, (int)graph.I.getHeight()-60, (int)graph.I.getWidth()-150, legend, vpColor::red);
+    vpDisplay::displayText(graph.I, (int)graph.I.getHeight()-60, (int)graph.I.getWidth()-150, legend, vpColor::red);
     vpDisplay::flush(graph.I);
     vpDisplay::getClick(graph.I);
 #endif
diff --git a/tutorial/robot/pioneer/tutorial-simu-pioneer-continuous-gain-constant.cpp b/tutorial/robot/pioneer/tutorial-simu-pioneer-continuous-gain-constant.cpp
index bfe5484d48f35300394dbc37da39a2a4aec5e354..e2d7371488dd14ebc714327d1aed58a0a489fba3 100644
--- a/tutorial/robot/pioneer/tutorial-simu-pioneer-continuous-gain-constant.cpp
+++ b/tutorial/robot/pioneer/tutorial-simu-pioneer-continuous-gain-constant.cpp
@@ -131,7 +131,7 @@ int main()
     graph.saveData(1, "./error2.dat");
 
     const char *legend = "Click to quit...";
-    vpDisplay::displayCharString(graph.I, (int)graph.I.getHeight()-60, (int)graph.I.getWidth()-150, legend, vpColor::red);
+    vpDisplay::displayText(graph.I, (int)graph.I.getHeight()-60, (int)graph.I.getWidth()-150, legend, vpColor::red);
     vpDisplay::flush(graph.I);
     vpDisplay::getClick(graph.I);
 #endif
diff --git a/tutorial/robot/pioneer/tutorial-simu-pioneer-pan.cpp b/tutorial/robot/pioneer/tutorial-simu-pioneer-pan.cpp
index 453a74fae16e28a859b7017a907a83e649812c7d..a3c587bd53080f5a051633f15aca25873b4603d2 100644
--- a/tutorial/robot/pioneer/tutorial-simu-pioneer-pan.cpp
+++ b/tutorial/robot/pioneer/tutorial-simu-pioneer-pan.cpp
@@ -154,7 +154,7 @@ int main()
     }
 #ifdef VISP_HAVE_DISPLAY
     const char *legend = "Click to quit...";
-    vpDisplay::displayCharString(graph.I, (int)graph.I.getHeight()-60, (int)graph.I.getWidth()-150, legend, vpColor::red);
+    vpDisplay::displayText(graph.I, (int)graph.I.getHeight()-60, (int)graph.I.getWidth()-150, legend, vpColor::red);
     vpDisplay::flush(graph.I);
     vpDisplay::getClick(graph.I);
 #endif
diff --git a/tutorial/robot/pioneer/tutorial-simu-pioneer.cpp b/tutorial/robot/pioneer/tutorial-simu-pioneer.cpp
index 13202d12c17db4cc8c7fd522c3bda006c3363f7b..6484c9a6dfc9905d2787cc3ea3e29bdd6f8aa442 100644
--- a/tutorial/robot/pioneer/tutorial-simu-pioneer.cpp
+++ b/tutorial/robot/pioneer/tutorial-simu-pioneer.cpp
@@ -131,7 +131,7 @@ int main()
     graph.saveData(1, "./error2.dat");
 
     const char *legend = "Click to quit...";
-    vpDisplay::displayCharString(graph.I, (int)graph.I.getHeight()-60, (int)graph.I.getWidth()-150, legend, vpColor::red);
+    vpDisplay::displayText(graph.I, (int)graph.I.getHeight()-60, (int)graph.I.getWidth()-150, legend, vpColor::red);
     vpDisplay::flush(graph.I);
     vpDisplay::getClick(graph.I);
 #endif
diff --git a/tutorial/simulator/image/CMakeLists.txt b/tutorial/simulator/image/CMakeLists.txt
index 81252ba39d4d4c5ea15405b1421a78f0cb4bc8bc..82c7927294a799d681a948189f746559a5dd3106 100644
--- a/tutorial/simulator/image/CMakeLists.txt
+++ b/tutorial/simulator/image/CMakeLists.txt
@@ -12,6 +12,9 @@ list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/target_square.pgm" )
 
 foreach(cpp ${tutorial_cpp})
   visp_add_target(${cpp})
+  if(COMMAND visp_add_dependency)
+    visp_add_dependency(${cpp} "tutorials")
+  endif()
 endforeach()
 
 # Copy the data files to the same location than the target
diff --git a/tutorial/simulator/image/tutorial-image-simulator.cpp b/tutorial/simulator/image/tutorial-image-simulator.cpp
index fbd89e985db0aba283822e284e6055ab78d24234..589a6a5d2e820386cd082ca24d2c9ddf0bfd47b9 100644
--- a/tutorial/simulator/image/tutorial-image-simulator.cpp
+++ b/tutorial/simulator/image/tutorial-image-simulator.cpp
@@ -1,46 +1,67 @@
-/*! \example tutorial-image-simulator.cpp */
+//! \example tutorial-image-simulator.cpp
 #include <visp/vpDisplayX.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpDisplayGDI.h>
 #include <visp/vpImageIo.h>
+//! [Include]
 #include <visp/vpImageSimulator.h>
+//! [Include]
 
 int main()
 {
   try {
+    //! [Read image]
     vpImage<unsigned char> target;
     vpImageIo::read(target, "./target_square.pgm");
+    //! [Read image]
 
+    //! [Set model]
     vpColVector X[4];
     for (int i = 0; i < 4; i++) X[i].resize(3);
     // Top left     Top right       Bottom right   Bottom left
     X[0][0] = -0.1; X[1][0] =  0.1; X[2][0] = 0.1; X[3][0] = -0.1;
     X[0][1] = -0.1; X[1][1] = -0.1; X[2][1] = 0.1; X[3][1] =  0.1;
     X[0][2] =  0;   X[1][2] =  0;   X[2][2] = 0;   X[3][2] =  0;
+    //! [Set model]
 
+    //! [Image construction]
     vpImage<unsigned char> I(480, 640);
+    //! [Image construction]
+    //! [Camera parameters]
     vpCameraParameters cam(840, 840, I.getWidth()/2, I.getHeight()/2);
+    //! [Camera parameters]
+    //! [Set cMo]
     vpHomogeneousMatrix cMo(0, 0, 0.35, 0, vpMath::rad(30), vpMath::rad(15));
+    //! [Set cMo]
 
+    //! [Create simulator]
     vpImageSimulator sim;
     sim.setInterpolationType(vpImageSimulator::BILINEAR_INTERPOLATION);
     sim.init(target, X);
+    //! [Create simulator]
 
     // Get the new image of the projected planar image target
+    //! [Render image]
     sim.setCleanPreviousImage(true);
     sim.setCameraPosition(cMo);
     sim.getImage(I, cam);
+    //! [Render image]
 
+    //! [Write image]
     try {
       vpImageIo::write(I, "./rendered_image.jpg");
     }
     catch(...) {
       std::cout << "Unsupported image format" << std::endl;
     }
+    //! [Write image]
 
 #if defined(VISP_HAVE_X11)
     vpDisplayX d(I);
 #elif defined(VISP_HAVE_GDI)
     vpDisplayGDI d(I);
+#elif defined(VISP_HAVE_OPENCV)
+    vpDisplayOpenCV d(I);
 #else
     std::cout << "No image viewer is available..." << std::endl;
 #endif
diff --git a/tutorial/trace/CMakeLists.txt b/tutorial/trace/CMakeLists.txt
index 73f50743f4a8ebab157e7756beb982946b871ecb..8a220820c1749c233c54f3656bfe3c8cd5b703d8 100644
--- a/tutorial/trace/CMakeLists.txt
+++ b/tutorial/trace/CMakeLists.txt
@@ -3,8 +3,6 @@ project(tutorial-trace)
 cmake_minimum_required(VERSION 2.6)
 
 find_package(VISP REQUIRED)
-include_directories(${VISP_INCLUDE_DIRS})
-add_definitions(${VISP_DEFINITIONS})
 
 # set the list of source files
 set(tutorial_cpp
@@ -12,4 +10,7 @@ set(tutorial_cpp
 
 foreach(cpp ${tutorial_cpp})
   visp_add_target(${cpp})
+  if(COMMAND visp_add_dependency)
+    visp_add_dependency(${cpp} "tutorials")
+  endif()
 endforeach()
diff --git a/tutorial/tracking/blob/CMakeLists.txt b/tutorial/tracking/blob/CMakeLists.txt
index a16031eb7b4a3f34ef99c048bcd5604a6518f91c..e2c71499b25e1bea692313d988ed788542c8a762 100644
--- a/tutorial/tracking/blob/CMakeLists.txt
+++ b/tutorial/tracking/blob/CMakeLists.txt
@@ -6,13 +6,17 @@ find_package(VISP REQUIRED)
 
 # set the list of source files
 set(tutorial_cpp
-  tutorial-blob-tracker.cpp
-  tutorial-blob-auto-tracker.cpp)
+  tutorial-blob-auto-tracker.cpp
+  tutorial-blob-tracker-live-firewire.cpp
+  tutorial-blob-tracker-live-v4l2.cpp)
 
 list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/target.pgm" )
 
 foreach(cpp ${tutorial_cpp})
   visp_add_target(${cpp})
+  if(COMMAND visp_add_dependency)
+    visp_add_dependency(${cpp} "tutorials")
+  endif()
 endforeach()
 
 # Copy the data files to the same location than the target
diff --git a/tutorial/tracking/blob/tutorial-blob-auto-tracker.cpp b/tutorial/tracking/blob/tutorial-blob-auto-tracker.cpp
index 2e16f7164c8611f9bf2ca79288f37afd15e74529..92e608ab9463f1c5a0f1b919f919b983239e97ac 100644
--- a/tutorial/tracking/blob/tutorial-blob-auto-tracker.cpp
+++ b/tutorial/tracking/blob/tutorial-blob-auto-tracker.cpp
@@ -1,5 +1,6 @@
-/*! \example tutorial-blob-auto-tracker.cpp */
+//! \example tutorial-blob-auto-tracker.cpp
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpDisplayX.h>
 #include <visp/vpDot2.h>
 #include <visp/vpImageIo.h>
@@ -16,13 +17,18 @@ int main()
     vpDisplayX d(I, 0, 0, "Camera view");
 #elif defined(VISP_HAVE_GDI)
     vpDisplayGDI d(I, 0, 0, "Camera view");
+#elif defined(VISP_HAVE_OPENCV)
+    vpDisplayOpenCV d(I, 0, 0, "Camera view");
 #else
     std::cout << "No image viewer is available..." << std::endl;
 #endif
     vpDisplay::display(I);
     vpDisplay::flush(I);
 
+    //! [Construction]
     vpDot2 blob;
+    //! [Construction]
+    //! [Learn]
     if (learn) {
       // Learn the characteristics of the blob to auto detect
       blob.setGraphics(true);
@@ -41,6 +47,8 @@ int main()
       std::cout << " sizePrecision: " << blob.getSizePrecision() << std::endl;
       std::cout << " ellipsoidShapePrecision: " << blob.getEllipsoidShapePrecision() << std::endl;
     }
+    //! [Learn]
+    //! [Setting]
     else {
       // Set blob characteristics for the auto detection
       blob.setWidth(50);
@@ -54,26 +62,33 @@ int main()
       blob.setSizePrecision(0.65);
       blob.setEllipsoidShapePrecision(0.65);
     }
+    //! [Setting]
 
+    //! [Search]
     std::list<vpDot2> blob_list;
     blob.searchDotsInArea(I, 0, 0, I.getWidth(), I.getHeight(), blob_list);
+    //! [Search]
 
+    //! [Add learned dot]
     if (learn) {
       // The blob that is tracked by initTracking() is not in the list of auto detected blobs
       // We add it:
       blob_list.push_back(blob);
     }
+    //! [Add learned dot]
     std::cout << "Number of auto detected blob: " << blob_list.size() << std::endl;
     std::cout << "A click to exit..." << std::endl;
 
     while(1) {
       vpDisplay::display(I);
 
+      //! [Display]
       for(std::list<vpDot2>::iterator it=blob_list.begin(); it != blob_list.end(); ++it) {
         (*it).setGraphics(true);
         (*it).setGraphicsThickness(3);
         (*it).track(I);
       }
+      //! [Display]
 
       vpDisplay::flush(I);
 
diff --git a/tutorial/tracking/blob/tutorial-blob-tracker-live-firewire.cpp b/tutorial/tracking/blob/tutorial-blob-tracker-live-firewire.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..f893e6613466f9e296e8b48f3ded394b2071e9bb
--- /dev/null
+++ b/tutorial/tracking/blob/tutorial-blob-tracker-live-firewire.cpp
@@ -0,0 +1,82 @@
+//! \example tutorial-blob-tracker-live-firewire.cpp
+#include <visp/vp1394CMUGrabber.h>
+#include <visp/vp1394TwoGrabber.h>
+#include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
+#include <visp/vpDisplayX.h>
+#include <visp/vpDot2.h>
+
+int main()
+{
+#if (defined(VISP_HAVE_DC1394_2) || defined(VISP_HAVE_CMU1394) || (VISP_HAVE_OPENCV_VERSION >= 0x020100)) && (defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV))
+  vpImage<unsigned char> I; // Create a gray level image container
+
+#if defined(VISP_HAVE_DC1394_2)
+  vp1394TwoGrabber g(false);
+  g.open(I);
+#elif defined(VISP_HAVE_CMU1394)
+  vp1394CMUGrabber g;
+  g.open(I);
+#elif defined(VISP_HAVE_OPENCV)
+  cv::VideoCapture g(0); // open the default camera
+  if(!g.isOpened()) { // check if we succeeded
+    std::cout << "Failed to open the camera" << std::endl;
+    return -1;
+  }
+  cv::Mat frame;
+  g >> frame; // get a new frame from camera
+  vpImageConvert::convert(frame, I);
+#endif
+
+#if defined(VISP_HAVE_X11)
+  vpDisplayX d(I, 0, 0, "Camera view");
+#elif defined(VISP_HAVE_GDI)
+  vpDisplayGDI d(I, 0, 0, "Camera view");
+#elif defined(VISP_HAVE_OPENCV)
+  vpDisplayOpenCV d(I, 0, 0, "Camera view");
+#endif
+
+  //! [Construction]
+  vpDot2 blob;
+  //! [Construction]
+  //! [Setting]
+  blob.setGraphics(true);
+  blob.setGraphicsThickness(2);
+  //! [Setting]
+
+  vpImagePoint germ;
+  bool init_done = false;
+
+  while(1) {
+    try {
+#if defined(VISP_HAVE_DC1394_2) || defined(VISP_HAVE_CMU1394)
+      g.acquire(I);
+#elif defined(VISP_HAVE_OPENCV)
+      g >> frame;
+      vpImageConvert::convert(frame, I);
+#endif
+      vpDisplay::display(I);
+
+      if (! init_done) {
+        vpDisplay::displayText(I, vpImagePoint(10,10), "Click in the blob to initialize the tracker", vpColor::red);
+        if (vpDisplay::getClick(I, germ, false)) {
+          //! [Init]
+          blob.initTracking(I, germ);
+          //! [Init]
+          init_done = true;
+        }
+      }
+      else {
+        //! [Track]
+        blob.track(I);
+        //! [Track]
+      }
+
+      vpDisplay::flush(I);
+    }
+    catch(...) {
+      init_done = false;
+    }
+  }
+#endif
+}
diff --git a/tutorial/tracking/blob/tutorial-blob-tracker-live-v4l2.cpp b/tutorial/tracking/blob/tutorial-blob-tracker-live-v4l2.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..166682c44b0785f3767b9c76e8571dd502fb0a93
--- /dev/null
+++ b/tutorial/tracking/blob/tutorial-blob-tracker-live-v4l2.cpp
@@ -0,0 +1,72 @@
+//! \example tutorial-blob-tracker-live-v4l2.cpp
+#include <visp/vpV4l2Grabber.h>
+#include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayGTK.h>
+#include <visp/vpDisplayOpenCV.h>
+#include <visp/vpDisplayX.h>
+#include <visp/vpDot2.h>
+
+int main()
+{
+#if ((defined(VISP_HAVE_V4L2) || (VISP_HAVE_OPENCV_VERSION >= 0x020100)) && (defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV) || defined(VISP_HAVE_GTK)))
+  vpImage<unsigned char> I; // Create a gray level image container
+
+#if defined(VISP_HAVE_V4L2)
+  vpV4l2Grabber g;
+  g.open(I);
+#elif defined(VISP_HAVE_OPENCV)
+  cv::VideoCapture g(0); // open the default camera
+  if(!g.isOpened()) { // check if we succeeded
+    std::cout << "Failed to open the camera" << std::endl;
+    return -1;
+  }
+  cv::Mat frame;
+  g >> frame; // get a new frame from camera
+  vpImageConvert::convert(frame, I);
+#endif
+
+#if defined(VISP_HAVE_X11)
+  vpDisplayX d(I, 0, 0, "Camera view");
+#elif defined(VISP_HAVE_GDI)
+  vpDisplayGDI d(I, 0, 0, "Camera view");
+#elif defined(VISP_HAVE_OPENCV)
+  vpDisplayOpenCV d(I, 0, 0, "Camera view");
+#elif defined(VISP_HAVE_GTK)
+  vpDisplayGTK d(I, 0, 0, "Camera view");
+#endif
+
+  vpDot2 blob;
+  blob.setGraphics(true);
+  blob.setGraphicsThickness(2);
+
+  vpImagePoint germ;
+  bool init_done = false;
+  std::cout << "Click!!!" << std::endl;
+  while(1) {
+    try {
+#if defined(VISP_HAVE_V4L2)
+      g.acquire(I);
+#elif defined(VISP_HAVE_OPENCV)
+      g >> frame;
+      vpImageConvert::convert(frame, I);
+#endif
+      vpDisplay::display(I);
+
+      if (! init_done) {
+        vpDisplay::displayText(I, vpImagePoint(10,10), "Click in the blob to initialize the tracker", vpColor::red);
+        if (vpDisplay::getClick(I, germ, false)) {
+          blob.initTracking(I, germ);
+          init_done = true;
+        }
+      }
+      else {
+        blob.track(I);
+      }
+      vpDisplay::flush(I);
+    }
+    catch(...) {
+      init_done = false;
+    }
+  }
+#endif
+}
diff --git a/tutorial/tracking/blob/tutorial-blob-tracker.cpp b/tutorial/tracking/blob/tutorial-blob-tracker.cpp
deleted file mode 100644
index 29081fa6c8c911cc27a99e6cad7e454c03dd6043..0000000000000000000000000000000000000000
--- a/tutorial/tracking/blob/tutorial-blob-tracker.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/*!
-  \example tutorial-blob-tracker.cpp
-  */
-#include <visp/vp1394CMUGrabber.h>
-#include <visp/vp1394TwoGrabber.h>
-#include <visp/vpDisplayGDI.h>
-#include <visp/vpDisplayX.h>
-#include <visp/vpDot2.h>
-
-int main()
-{
-#if (defined(VISP_HAVE_DC1394_2) || defined(VISP_HAVE_CMU1394))
-  try {
-    vpImage<unsigned char> I; // Create a gray level image container
-
-#if defined(VISP_HAVE_DC1394_2)
-    vp1394TwoGrabber g(false);
-#elif defined(VISP_HAVE_CMU1394)
-    vp1394CMUGrabber g;
-#endif
-    g.open(I);
-    g.acquire(I);
-
-#if defined(VISP_HAVE_X11)
-    vpDisplayX d(I, 0, 0, "Camera view");
-#elif defined(VISP_HAVE_GDI)
-    vpDisplayGDI d(I, 0, 0, "Camera view");
-#else
-    std::cout << "No image viewer is available..." << std::endl;
-#endif
-    vpDisplay::display(I);
-    vpDisplay::flush(I);
-
-    vpDot2 blob;
-    blob.setGraphics(true);
-    blob.setGraphicsThickness(2);
-    blob.initTracking(I);
-
-    while(1) {
-      g.acquire(I); // Acquire an image
-      vpDisplay::display(I);
-      blob.track(I);
-      vpDisplay::flush(I);
-      if (vpDisplay::getClick(I, false))
-        break;
-    }
-  }
-  catch(vpException e) {
-    std::cout << "Catch an exception: " << e << std::endl;
-  }
-#endif
-}
diff --git a/tutorial/tracking/keypoint/CMakeLists.txt b/tutorial/tracking/keypoint/CMakeLists.txt
index 46c8adc0a7850fe33781f488a923359b349f5e5a..007ac47f07dc462e359cfc4af150c34172acc0f9 100644
--- a/tutorial/tracking/keypoint/CMakeLists.txt
+++ b/tutorial/tracking/keypoint/CMakeLists.txt
@@ -6,12 +6,17 @@ find_package(VISP REQUIRED)
 
 # set the list of source files
 set(tutorial_cpp
-  tutorial-klt-tracker.cpp)
+  tutorial-klt-tracker.cpp
+  tutorial-klt-tracker-live-v4l2.cpp
+  tutorial-klt-tracker-with-reinit.cpp)
 
 list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/video-postcard.mpeg" )
 
 foreach(cpp ${tutorial_cpp})
   visp_add_target(${cpp})
+  if(COMMAND visp_add_dependency)
+    visp_add_dependency(${cpp} "tutorials")
+  endif()
 endforeach()
 
 # Copy the data files to the same location than the target
diff --git a/tutorial/tracking/keypoint/tutorial-klt-tracker-live-v4l2.cpp b/tutorial/tracking/keypoint/tutorial-klt-tracker-live-v4l2.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..b6f824c93f947c825d27620797060555fa60d247
--- /dev/null
+++ b/tutorial/tracking/keypoint/tutorial-klt-tracker-live-v4l2.cpp
@@ -0,0 +1,126 @@
+/*! \example tutorial-klt-tracker-live-v4l2.cpp */
+#include <visp/vpImageConvert.h>
+#include <visp/vpKltOpencv.h>
+#include <visp/vpDisplayOpenCV.h>
+#include <visp/vpVideoReader.h>
+#include <visp/vpV4l2Grabber.h>
+
+int main(int argc, const char *argv[])
+{
+#if defined(VISP_HAVE_OPENCV) && (defined(VISP_HAVE_V4L2) || (VISP_HAVE_OPENCV_VERSION >= 0x020100))
+  try {
+    bool opt_init_by_click = false;
+    int opt_device = 0;
+
+    for (int i=0; i<argc; i++) {
+      if (std::string(argv[i]) == "--init-by-click")
+        opt_init_by_click = true;
+      else if (std::string(argv[i]) == "--device")
+        opt_device = atoi(argv[i+1]);
+      else if (std::string(argv[i]) == "--help") {
+        std::cout << "Usage: " << argv[0] << " [--init-by-click] [--device <camera device>] [--help]" << std::endl;
+        return 0;
+      }
+    }
+
+    vpImage<unsigned char> I;
+
+#if defined(VISP_HAVE_V4L2)
+    vpV4l2Grabber g;
+    std::ostringstream device;
+    device << "/dev/video" << opt_device;
+    g.setDevice(device.str());
+    g.open(I);
+    g.acquire(I);
+#elif defined(VISP_HAVE_OPENCV)
+    cv::VideoCapture g(opt_device);
+    if(!g.isOpened()) { // check if we succeeded
+      std::cout << "Failed to open the camera" << std::endl;
+      return -1;
+    }
+    cv::Mat frame;
+    g >> frame; // get a new frame from camera
+    vpImageConvert::convert(frame, I);
+#endif
+
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+    IplImage * cvI = NULL;
+#else
+    cv::Mat cvI;
+#endif
+    vpImageConvert::convert(I, cvI);
+
+    // Display initialisation
+    vpDisplayOpenCV d(I, 0, 0, "Klt tracking");
+    vpDisplay::display(I);
+    vpDisplay::flush(I);
+
+    vpKltOpencv tracker;
+    // Set tracker parameters
+    tracker.setMaxFeatures(200);
+    tracker.setWindowSize(10);
+    tracker.setQuality(0.01);
+    tracker.setMinDistance(15);
+    tracker.setHarrisFreeParameter(0.04);
+    tracker.setBlockSize(9);
+    tracker.setUseHarris(1);
+    tracker.setPyramidLevels(3);
+
+    // Initialise the tracking
+    if (opt_init_by_click) {
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+      vpMouseButton::vpMouseButtonType button;
+      std::vector<cv::Point2f> guess;
+      vpImagePoint ip;
+      do {
+        vpDisplay::displayText(I, 10, 10, "Left click to select a point, right to start tracking", vpColor::red);
+        if (vpDisplay::getClick(I, ip, button, false)) {
+          if (button == vpMouseButton::button1) {
+            guess.push_back(cv::Point2f((float)ip.get_u(), (float)ip.get_v()));
+            vpDisplay::displayText(I, 10, 10, "Left click to select a point, right to start tracking", vpColor::red);
+            vpDisplay::displayCross(I, ip, 12, vpColor::green);
+          }
+        }
+        vpDisplay::flush(I);
+        vpTime::wait(20);
+      } while(button != vpMouseButton::button3);
+      tracker.initTracking(cvI, guess);
+#endif
+    }
+    else {
+      tracker.initTracking(cvI);
+    }
+
+    while ( 1 ) {
+#if defined(VISP_HAVE_V4L2)
+      g.acquire(I);
+#elif defined(VISP_HAVE_OPENCV)
+      g >> frame;
+      vpImageConvert::convert(frame, I);
+#endif
+      vpDisplay::display(I);
+
+      vpImageConvert::convert(I, cvI);
+      tracker.track(cvI);
+
+      tracker.display(I, vpColor::red);
+      vpDisplay::displayText(I, 10, 10, "Click to quit", vpColor::red);
+      vpDisplay::flush(I);
+      if (vpDisplay::getClick(I, false))
+        break;
+    }
+
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+    cvReleaseImage(&cvI);
+#endif
+
+    return 0;
+  }
+  catch(vpException e) {
+    std::cout << "Catch an exception: " << e << std::endl;
+  }
+#else
+  (void)argc;
+  (void)argv;
+#endif
+}
diff --git a/tutorial/tracking/keypoint/tutorial-klt-tracker-with-reinit.cpp b/tutorial/tracking/keypoint/tutorial-klt-tracker-with-reinit.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..7013c0c85d20c26e2944be96a91832d4c434cb9f
--- /dev/null
+++ b/tutorial/tracking/keypoint/tutorial-klt-tracker-with-reinit.cpp
@@ -0,0 +1,150 @@
+//! \example tutorial-klt-tracker-with-reinit.cpp
+#include <visp/vpImageConvert.h>
+#include <visp/vpKltOpencv.h>
+#include <visp/vpDisplayOpenCV.h>
+#include <visp/vpVideoReader.h>
+
+int main()
+{
+#ifdef VISP_HAVE_OPENCV
+  try {
+    vpVideoReader reader;
+    reader.setFileName("video-postcard.mpeg");
+
+    vpImage<unsigned char> I;
+    reader.acquire(I);
+
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+    IplImage * cvI = NULL;
+#else
+    cv::Mat cvI;
+#endif
+    vpImageConvert::convert(I, cvI);
+
+    // Display initialisation
+    vpDisplayOpenCV d(I, 0, 0, "Klt tracking");
+    vpDisplay::display(I);
+    vpDisplay::flush(I);
+
+    vpKltOpencv tracker;
+    // Set tracker parameters
+    tracker.setMaxFeatures(200);
+    tracker.setWindowSize(10);
+    tracker.setQuality(0.01);
+    tracker.setMinDistance(15);
+    tracker.setHarrisFreeParameter(0.04);
+    tracker.setBlockSize(9);
+    tracker.setUseHarris(1);
+    tracker.setPyramidLevels(3);
+
+    // Initialise the tracking
+    tracker.initTracking(cvI);
+
+    while ( ! reader.end() )
+    {
+      reader.acquire(I);
+      std::cout << "acquire image " << reader.getFrameIndex() << std::endl;
+      vpDisplay::display(I);
+
+      vpImageConvert::convert(I, cvI);
+
+      //! [Re-init tracker]
+      // Restart the initialization to detect new keypoints
+      if (reader.getFrameIndex() == 25) {
+        std::cout << "Re initialize the tracker" << std::endl;
+#if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
+        // Save of previous features
+        std::vector<cv::Point2f> prev_features = tracker.getFeatures();
+
+        // Start a new feature detection
+        tracker.initTracking(cvI);
+        std::vector<cv::Point2f> new_features = tracker.getFeatures();
+
+        // Add previous features if they are not to close to detected one
+        double distance, minDistance_ = tracker.getMinDistance();
+        bool is_redundant;
+        for (size_t i=0; i < prev_features.size(); i++) {
+          // Test if a previous feature is not redundant with one of the newly detected
+          is_redundant = false;
+          for (size_t j=0; j < new_features.size(); j++){
+            distance = sqrt(vpMath::sqr(new_features[j].x-prev_features[i].x) + vpMath::sqr(new_features[j].y-prev_features[i].y));
+            if(distance < minDistance_){
+              is_redundant = true;
+              break;
+            }
+          }
+          if(is_redundant){
+            continue;
+          }
+          //std::cout << "Add previous feature with index " << i << std::endl;
+          tracker.addFeature(prev_features[i]);
+        }
+#else
+        // Save of previous features
+        int prev_nfeatures = tracker.getNbFeatures();
+        float x,y;
+        int id, j=0;
+
+        CvPoint2D32f *prev_features = (CvPoint2D32f*)cvAlloc(prev_nfeatures*sizeof(CvPoint2D32f));
+
+        for (int i=0; i <prev_nfeatures ; i ++) {
+          tracker.getFeature(i, id, x, y);
+          prev_features[i].x=x;
+          prev_features[i].y=y;
+          //printf("prev feature %d: id %d coord: %g %g\n", i, id, x, y);
+        }
+
+        // Start a new feature detection
+        tracker.initTracking(cvI);
+        std::cout << "Detection of " << tracker.getNbFeatures() << " new features" << std::endl;
+
+        // Add previous features if they are not to close to detected one
+        double distance, minDistance_ = tracker.getMinDistance();
+        bool is_redundant;
+        for(int i = tracker.getNbFeatures() ;
+            j<prev_nfeatures && i<tracker.getMaxFeatures() ;
+            j++){
+          // Test if a previous feature is not redundant with new the one that are newly detected
+          is_redundant = false;
+          for(int k=0; k<tracker.getNbFeatures(); k++){
+            tracker.getFeature(k,id,x,y);
+            //printf("curr feature %d: id %d coord: %g %g\n", k, id, x, y);
+            distance = sqrt(vpMath::sqr(x-prev_features[j].x) + vpMath::sqr(y-prev_features[j].y));
+            if(distance < minDistance_){
+              is_redundant = true;
+              break;
+            }
+          }
+          if(is_redundant){
+            continue;
+          }
+          //std::cout << "Add previous feature with index " << i << std::endl;
+          tracker.addFeature(i, prev_features[j].x, prev_features[j].y);
+          i++;
+        }
+        cvFree(&prev_features);
+#endif
+      }
+      // Track the features
+      tracker.track(cvI);
+      //! [Re-init tracker]
+
+      std::cout << "tracking of " << tracker.getNbFeatures() << " features" << std::endl;
+
+      tracker.display(I, vpColor::red);
+      vpDisplay::flush(I);
+    }
+
+    vpDisplay::getClick(I);
+
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+    cvReleaseImage(&cvI);
+#endif
+
+    return 0;
+  }
+  catch(vpException e) {
+    std::cout << "Catch an exception: " << e << std::endl;
+  }
+#endif
+}
diff --git a/tutorial/tracking/keypoint/tutorial-klt-tracker.cpp b/tutorial/tracking/keypoint/tutorial-klt-tracker.cpp
index 39a362f2c01b9aa321de0588094b79c9328d2d02..2dbe100e663f92f949a364c93859bc21299fbca0 100644
--- a/tutorial/tracking/keypoint/tutorial-klt-tracker.cpp
+++ b/tutorial/tracking/keypoint/tutorial-klt-tracker.cpp
@@ -1,61 +1,164 @@
-/*! \example tutorial-klt-tracker.cpp */
+//! \example tutorial-klt-tracker.cpp
+//! [Include]
 #include <visp/vpImageConvert.h>
 #include <visp/vpKltOpencv.h>
 #include <visp/vpDisplayOpenCV.h>
 #include <visp/vpVideoReader.h>
+//! [Include]
 
-int main()
+int main(int argc, const char *argv[])
 {
-#if (VISP_HAVE_OPENCV_VERSION >= 0x010100) && defined(VISP_HAVE_FFMPEG)
+  //! [Check 3rd party]
+#ifdef VISP_HAVE_OPENCV
+  //! [Check 3rd party]
   try {
+    bool opt_init_by_click = false;
+    for (int i=0; i<argc; i++) {
+      if (std::string(argv[i]) == "--init-by-click")
+        opt_init_by_click = true;
+      else if (std::string(argv[i]) == "--help") {
+        std::cout << "Usage: " << argv[0] << " [--init-by-click] [--help]" << std::endl;
+        return 0;
+      }
+    }
+
+    //! [Create reader]
     vpVideoReader reader;
     reader.setFileName("video-postcard.mpeg");
+    //! [Create reader]
 
+    //! [Acquire]
     vpImage<unsigned char> I;
     reader.acquire(I);
+    //! [Acquire]
 
+    //! [Convert to OpenCV image]
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
     IplImage * cvI = NULL;
+#else
+    cv::Mat cvI;
+#endif
     vpImageConvert::convert(I, cvI);
+    //! [Convert to OpenCV image]
 
-    // Display initialisation
+    //! [Init display]
     vpDisplayOpenCV d(I, 0, 0, "Klt tracking");
     vpDisplay::display(I);
     vpDisplay::flush(I);
+    //! [Init display]
 
+    //! [Create tracker]
     vpKltOpencv tracker;
-    // Set tracker parameters
     tracker.setMaxFeatures(200);
     tracker.setWindowSize(10);
+    //! [Quality]
     tracker.setQuality(0.01);
+    //! [Quality]
     tracker.setMinDistance(15);
     tracker.setHarrisFreeParameter(0.04);
     tracker.setBlockSize(9);
     tracker.setUseHarris(1);
     tracker.setPyramidLevels(3);
+    //! [Create tracker]
 
     // Initialise the tracking
-    tracker.initTracking(cvI);
+    if (opt_init_by_click) {
+      vpMouseButton::vpMouseButtonType button = vpMouseButton::button1;
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+      std::vector<CvPoint2D32f> feature;
+#else
+      std::vector<cv::Point2f> feature;
+#endif
+      vpImagePoint ip;
+      do {
+        vpDisplay::displayText(I, 10, 10,
+                               "Left click to select a point, right to start tracking",
+                               vpColor::red);
+        if (vpDisplay::getClick(I, ip, button, false)) {
+          if (button == vpMouseButton::button1) {
+            feature.push_back(cv::Point2f((float)ip.get_u(), (float)ip.get_v()));
+            vpDisplay::displayCross(I, ip, 12, vpColor::green);
+          }
+        }
+        vpDisplay::flush(I);
+        vpTime::wait(20);
+      } while(button != vpMouseButton::button3);
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+      tracker.initTracking(cvI, &feature[0], feature.size());
+#else
+      tracker.initTracking(cvI, feature);
+#endif
+    }
+    else {
+      //! [Init tracker]
+      tracker.initTracking(cvI);
+      //! [Init tracker]
+    }
 
+    //! [How many features]
+    std::cout << "Tracker initialized with " << tracker.getNbFeatures() << " features" << std::endl;
+    //! [How many features]
+
+    //! [While loop]
     while ( ! reader.end() )
     {
       reader.acquire(I);
       vpDisplay::display(I);
 
       vpImageConvert::convert(I, cvI);
+
+      if (opt_init_by_click && reader.getFrameIndex() == reader.getFirstFrameIndex() + 20) {
+        vpMouseButton::vpMouseButtonType button = vpMouseButton::button1;
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+        std::vector<CvPoint2D32f> feature;
+#else
+        std::vector<cv::Point2f> feature;
+#endif
+        vpImagePoint ip;
+        do {
+          vpDisplay::displayText(I, 10, 10,
+                                 "Left click to select a point, right to start tracking",
+                                 vpColor::red);
+          if (vpDisplay::getClick(I, ip, button, false)) {
+            if (button == vpMouseButton::button1) {
+              feature.push_back(cv::Point2f((float)ip.get_u(), (float)ip.get_v()));
+              vpDisplay::displayCross(I, ip, 12, vpColor::green);
+            }
+          }
+          vpDisplay::flush(I);
+          vpTime::wait(20);
+        } while(button != vpMouseButton::button3);
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
+        tracker.initTracking(cvI, &feature[0], feature.size());
+#else
+        tracker.initTracking(cvI, feature);
+#endif
+      }
+
       tracker.track(cvI);
 
       tracker.display(I, vpColor::red);
       vpDisplay::flush(I);
     }
+    //! [While loop]
 
+    //! [Wait click]
     vpDisplay::getClick(I);
+    //! [Wait click]
 
+    //! [Release IplImage]
+#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
     cvReleaseImage(&cvI);
+#endif
+    //! [Release IplImage]
 
     return 0;
   }
   catch(vpException e) {
     std::cout << "Catch an exception: " << e << std::endl;
   }
+#else
+  (void)argc;
+  (void)argv;
 #endif
 }
diff --git a/tutorial/tracking/model-based/edges/CMakeLists.txt b/tutorial/tracking/model-based/edges/CMakeLists.txt
index 532d5015776ec4acac8f9c044921c9f7d89c9ed5..fbad7e2da068c24dc39f203fcd9cd61c371ea3f5 100644
--- a/tutorial/tracking/model-based/edges/CMakeLists.txt
+++ b/tutorial/tracking/model-based/edges/CMakeLists.txt
@@ -8,14 +8,18 @@ find_package(VISP REQUIRED)
 set(tutorial_cpp
   tutorial-mb-edge-tracker.cpp)
 
-list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.pgm" )
+list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.mpg" )
 list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.xml" )
 list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.cao" )
 list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.wrl" )
 list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.init" )
+list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.ppm" )
 
 foreach(cpp ${tutorial_cpp})
   visp_add_target(${cpp})
+  if(COMMAND visp_add_dependency)
+    visp_add_dependency(${cpp} "tutorials")
+  endif()
 endforeach()
 
 # Copy the data files to the same location than the target
diff --git a/tutorial/tracking/model-based/edges/teabox.cao b/tutorial/tracking/model-based/edges/teabox.cao
index 4e6dd5c45d46f8971d2800f333a116dacd0e7078..83c1fdf783e68e78dfa381d4c326f07d88fa8d3f 100644
--- a/tutorial/tracking/model-based/edges/teabox.cao
+++ b/tutorial/tracking/model-based/edges/teabox.cao
@@ -1,20 +1,27 @@
 V1
-8
-0     0      0
+# 3D Points
+8                  # Number of points
+0     0      0     # Point 0: X Y Z
 0     0     -0.08
 0.165 0     -0.08
 0.165 0      0
 0.165 0.068  0
 0.165 0.068 -0.08
 0     0.068 -0.08
-0     0.068  0
-0 
-0 
-6
-4 0 1 2 3
+0     0.068  0     # Point 7
+# 3D Lines
+0                  # Number of lines
+# Faces from 3D lines
+0                  # Number of faces
+# Faces from 3D points
+6                  # Number of faces
+4 0 1 2 3          # Face 0: [number of points] [index of the 3D points]...
 4 1 6 5 2
 4 4 5 6 7
 4 0 3 4 7
 4 5 4 3 2
-4 0 7 6 1
-0
+4 0 7 6 1          # Face 5
+# 3D cylinders
+0                  # Number of cylinders
+# 3D circles
+0                  # Number of circles
diff --git a/tutorial/tracking/model-based/edges/teabox.init b/tutorial/tracking/model-based/edges/teabox.init
index f326e929605734e745c9e9dff9c19939d67d9f75..f109800a0eab96b97050f4872839f09b0a0c2bd3 100644
--- a/tutorial/tracking/model-based/edges/teabox.init
+++ b/tutorial/tracking/model-based/edges/teabox.init
@@ -1,6 +1,5 @@
-4 
-0.000 0      0
-0.165 0      0
-0.165 0     -0.08
-0.165 0.068 -0.08
-
+4                  # Number of points
+0     0      0     # Point 0
+0.165 0      0     # Point 3
+0.165 0     -0.08  # Point 2
+0.165 0.068 -0.08  # Point 5
diff --git a/tutorial/tracking/model-based/edges/teabox.mpg b/tutorial/tracking/model-based/edges/teabox.mpg
new file mode 100644
index 0000000000000000000000000000000000000000..50fb8ad2d9e245e2bcc06b94d22763a07d9b6191
Binary files /dev/null and b/tutorial/tracking/model-based/edges/teabox.mpg differ
diff --git a/tutorial/tracking/model-based/edges/teabox.pgm b/tutorial/tracking/model-based/edges/teabox.pgm
deleted file mode 100644
index 41833d705da80194d014d5e4a442d1a060ddd435..0000000000000000000000000000000000000000
--- a/tutorial/tracking/model-based/edges/teabox.pgm
+++ /dev/null
@@ -1,73 +0,0 @@
-P5
-640 480
-255
-IKJKKJJJLKJKKJJKKKKKKLLMMMNNOOQONNOPPQPQQQQQTSSSTSUTWUTTWVWWXXYZYYZZ[\[\]]]\`^^_```^^`aababa`__ZUQPPQQSRQRUUVVUUWVWWXVUUVWWUVVVVXVVVYWVVVVWWUUVUUWWWVXWX[YXZ\[[\\[[[[[[XXYXWYXXXXYYWXWWXZZZZ\[]\\]_]]^_^_`c__bcacbaa``a`_`^^b`__aaaaa`b```a```____aababacc`ababaabbaaaabc```a___`bcbbbdddcccfbc``___^_aacbb``^]^^_d```b_`baaeee``acbcccbaeffeddeda`aa`abfdbbbcdddcdddfheffggfddefdcbb`abbbe`_`a`ccaaaaba``_accddeddcccgbc`aa`abbcca`bb````bbbaa__ac`_``^_^`]_`_^^_^\\\\\\YZXZ[[Z]Z[XYZYXXYYXZXXYZ[]\[[[\`\[[\[[[\YXYYW\WUUWVWWYVUVYXXXZWVVVUUUSTWTRRVTVUTSSSURRRSSTSVSSSRRQRTSSSRSUTVSTRQQQPPPQPOOPMNLKMOMNMLLLLKLMLLKJLKKKJLKKJKKMLKJIIIIIHHGGGHHIGGGFEGGGFEEFEKMKKLKKJKLKLLLKKLLLMLLMMMMNNOOPOPRPQQOPQQQQQRSSSSSUTUUUUWVVWXXYZZZZZ[\]]]_^]^__a`a`__`aaaababa_]VQQPQQRSRSTUUVUTWVWWXVVWWVWWWWXWXUVWVUVUWVWXWWVUVXVUVWVW[ZZZ[Z[YZZ[\ZZYXYZXWWVWZWXWVWWWVXXZY\\\\\]^\]_^a^^^__bbabcaaadba``_^___^`aaaa``_`aaa`_``__``abbabbbbaaa```baa`abba`_`___`ab`abccbbccbbca`_`a`abaccb``^^a^`aa`__^_aaabbb```abc_aabddceedbbaaa`_`bddcbccegecddeigfeefddccdddedc`bbbdd`````acb_bbbbcccbcddddedcccbbaabbbcccd`baaaaa`cb_aa```a```__^^]^^_b___\^_][\]\YYXXXXXYYXWYWXWY[ZYXWXYZ\\_^^]\]\\\\[[ZZZZYYXXWWVWWWWYVUTW[XXXWVVUUVUUUVUTSVTUVWWSTSRRRSSSSSSSSRQQRTQRTQTTUTRSRQQRPPPQOOONMLKLMMLMKKKLLLNNMLKLMLLKJKJJJKIJKKJJJHHIHGGGFGGIGHHGEFFFGEEEELLLLOMNMNNNNPLLLNMLMMMNNNNOOPOOOSQPPQPSSSSSRSTVVWUUUUVVVWWWWXXZZ[[[[]\]]]^_^___``acbbaaabccbaa`_VRRQRQQQTTWVVVUTVWXWXVVWXWVYXWXW\WVWVVWVXWWWVVVVUUUUUVUW[[\[[[ZYZ[[[[ZZXXXXV[WWWWWWXYWXXXY\[\\\[^^]^^^^^]]``_^_accbabbaaabd_`_`__`baa```abbaa`__``bcccfba`caaa````bac``bbbb^_``_bbb``bdcabdbbbca``cbb`aafffad`__^_aac_^^`bbabba`aaabd``abciceefcaab`__`acbacdddeedfeefdejegeeddccefdddfbbbc__````bbcccecdccbdefdddfcdbbbdbcdgccdeddc`ac```aaaabaa```b`__``a^_`___\^^^\[\\ZYXYXYY[YXXYWXX[\\XWXYZZZ\^^__\^]\\\[\YYZ[ZYZYXWVWXXXYWWVVWWXYYXXWWXWXUXWXTUTTUUTSSRRSRUSSSTRSSSQRRTRQQPPRSSSURQQRQQQQOONMNOONLLLMLNMLLLLNLLLMMMMKJJJJJKIHIKIJIIGGHHHHGGHIHHIIGGGFEEFHELLLMNMNONMNNNMMMMMNNNNNPNNNNOPPOOOOONNPQTTSSTVUVVWWWWVWXWWXYXXZZZ[[\\\]]^^^^^^`aaabbaaaaacddcca`YSSPRQRPRUUVUUUUVVWWWVVWWXXXYWVVWVWWWWWVWXWVVVVWUUUVVWWWY[\\[[ZY[[[][YZXXWWVZWWWWVWYYWWXZ[ZY[\[[]_]\^^^^^^_`__`ba`aaa`aaba`_`____`aaa`acbbbbaa`aaabbcccba``_``aaaab```aaaeb_`a```___`abbbababccaaacebaabbbbbbc`a`_`ab___aca_cbbbbcbadcadccecddedbbb```_`cabdddeeecfeeedddefededcchedccb`baa`abaaaca`abdbbbbab`bbdccceaaaecccccdgdddecba`````aa`_````aa``_^a^___]]\^^]\\[ZZYYXXYZ[YXXWWXYZ[[WXXYYZZ\^]]\\]]\[\ZZYZZZZYYYWWVWWXWWWVUWXXXXYYYYYWVWUVUUTVUUTTSSRRSRQSUUVSRSSRQQRSRQQQPQSRTSQQRPOPPPOPNNONMMKLLMKKJLJKKLLLNMLLMKKJIJKJIHIIIJGHFGGGFHGGIIHHHGFGEFEFFHENNONOPOOOPPOONONPOQOPNMNOMJKLKJIHIJKLLPQVTTSVVUVVWWWXWWXWWXY\Y[Z[Z\\^^]^^^`___caaacbaacbbbacddb`[VSQRQQQRVUUTTWWXVXXYYYWXXZYYX_WVVWWXWWWVXVWWVWXUVXXXWZYY[_\\[[[\[[[][ZYYXZX[YZZYWVYYXXY][ZZ\ZZ[]]\[^]]^a____````__aaaaacbaa`_`__`abbbbcfdfdgfeccbdcfdbacab```aaebca`_caabba_`abbaaaaaabebcacbdcbadcabcdecccbaabb`cbbccbaa`adbbbbbcadcbdccfgheddccedd```bbdccefefffedffffdddddccddddhcc`eabbbbbabbaa`adbcbddccccdcdeeedddcccccedccddeaa``a``aa__``caaa_a`_`___^]^^^]]]^[Z[_YXXYZ[Z[XXX[Z^Z[[[\]Z]Z\\\\[[\^`[\ZZZZZZYXXXXWWXXZZZWVVVX[XXY\[]YWXYVWWXVWVWTSSTRRSSQRSTTRRTSURRRTRQQRPQQQQQQQPOOSPPQQNNNNNMLLLMLKKLKKJKLMMNMMLLJKJIIKJHGGHJIIGGGJGGGFGIIJHHGIIIFGFHGNNNMNQPPOOOPPPPOONOPPPHHA==>@CBABCCDFGJMOPPPQRSWWXXXYXXYWWWWXXXYYYZ[\]\\\]^```a``aacb`bdccccdgee]VSRQQQQSVUWUSWVWWXXYYYWWWWWWXXXWWVVWWWXVXXXXWWXWVWWWWXYZZ\\[[\Z[[[[ZZZXYYYWYYYZYXXYYYZZZZZZ\YZ\\^\[^]]___`aaaaa`a_`aa`_bbaa```___`cbcbbccdddeedcbbbdecbc```bcaabbbb`_`abbbaaabbaaaabbbddbbabadeaababeccceddcbcca`d_aaaba``aabbdabbbdeedbbfffeeedcefd`aabcccdeeeeefheeeedcddeccdddddcbcaeabbbfabbbbbbaaaaacecbcddcefebccccdedddbccdddaaaaaa`ba`_``abaeaa`a`___^]^_^][Z^Z[[[[YXYYYZYXXXXYZZ[[[\[XYY[[\\\^]`^\[ZZ[YXXXXYYZWXXXYXXWWWWWWXXXZZXWWXXWWUWVVUVTSRSSRRRRSSTRRRTRQQRSRRRQPOPPPQQQQPOOPPPQQONOOONMLJLKKJJIKKKLLNMLLKJJJIIIIIHGGHHIIJHFIHHGGGHGHIHHHHIFEFIGOOQONQQQRPOPPQRQQOPOLD@;53257889;?A?=?GDBDHKLMOQRTXWYYYYXVSSUWZXVVZ[\\][Z\^_a`bacaabdbbdccccdfge_VURQRTSSTUUUVVVVWYXZZ[XWVVWWXXWWWVWZXXWVVVXYXXWWWWXYXXY[Z\\[[\[Z[\[ZZZZZ[]Y]ZYXWY\Z[[\[[ZZZ\Z[\[[]]^]]_a`aafddb`_``bac`cbaac`_`a````bdbddddcccdebbbdddccadddcbaaacaa``bbabbdcdb``abbbcbcdccdaecaaaaddccbdeecdedaaddda```````abaabcdfeebbcgggffffdgeeeeeefefeddegeefeegggdddddabcdbbbbccfabbbbabddddeaaabbceffgddcifecccfeeddddbfcddccdccccbbba`_`abbbaaba`_b_`^^^_][\^[\\\\ZZ[XXZYYZYYZZZ[\[Z[Y[[^[\\\]]^_^_[ZZXXYXXXWWWWXWYWXWWWVVWWWX[YWVXWXXYUWWUUWWWSSTTQRTWTTRQRTRRQQQQRUQPPOOPQRQQQPPQPPOPPOONNQOONMLKJKJLKKKLLMNNLOJLJIIIJHHJHIHHHIIIIKGGHIHGHHHHHIGFGHFONQQPPRSRSQQQRRRONFC=8644010333368887666789:<>CHLORUW\Z[PEDELSNIMRV\\WTRW\]aa``_caabddccbbccdeff^VSQQSTTTTUUUUVVWXWXY\ZYWVWXXXWVXWXYXWWVVUVYWVWWWWXXXZYXY[[Z[\[ZZ][Z[\ZZ[\ZXZZZXYYZZ\]\^\\\^[Y[[[[]]^^__^^``ceca`__^_```c`aca_```c````abcddedddccbbbcdcbc`accebaa````_`bbaaabcbb``acabcbcecbcabbcdb`bbcecceggfddbbdebcbaac``a`abbbceeeeabcefghgffddddddcddddecccdddeeefdefeheecbddccccccccbaaaaabccdcbb`bcdedcdedceeecccddecddccedcccecccedcb_`aaccea`aab`````____^]^^][\^\\[[YXXZXXY[[Z[\\\[ZYXZZYY\]\_^]\Z[[[^YZYXX[XXWWVVWWWWWWWWWWXXZWWVXWVUUUWWUUUUWSTUTQRTSRSSRQRTRQQQQQRQQQPOQQSTQQQRQQPOOPPPNMQPONMLKJJIJKKLKKLONKKJJKKJIJIIIHHHHGIJIHHHGGHJHJHHHIIHHGFEQPPQRRSSRRRRSSTQOD:415578633320334422.*)()*+-04:@FNRUYY[J;6=GII>>ITZ\TKLUY]`bbbccacbecccccbcdefe^VRQQRSTVTRSTUUUTVXVVYZYWWZYYXWXXWWYWVVVVUVWWVYXYYYYXXZXXYYZ[]][Z[[[[[Z[[\YYY[ZX\[[Z`^\]^]a^[Z[\^\]]]]]_caaacda```a_^`a`c`aa``aaaa``__abeeeeedccccbbcccbd``cbba``````_`bda`_abbccba`bddcbcecedddfeebbcabeffffffcccecacddcc_`cccdddddefecbdefghggghhdddfehefdeddccdefgefeedceeeddgddceeecdda``aaabccbbccbeeddccdeccddedccccecebbdhcccdbbcccdca``aaabb```aa`_`aab``^]]]^]\\\[\[ZYYYXXXW[Z[]Z[[\ZYYYXXX\\]]]\[[[[Z^YYXYXXXWVUUVVWWVXXXXWXZYYWWVXUTTUUWVUUVWXUUTTRRSSRRRSQQRQRSQSSRQSQPQVSTRQPQRQQQQQPPPQQQQRONMKJJKNLKKKKKMOMNJJJIIIJKIIHGGHFJHHIIIJGHGGGGHHHHHIGGFRRRRRSTSSRSSSTSPD:506:@FEDCA=86432.)%" #(,5?ENRWX[G656:>:7:?OYXRJ@JUZ^`cbaaabbbbcddcccegfd^URQQTSSSSSSTUUUUUUSUWWXVVVUWXWYXVWYWVUUUVVWVVXWXYZVXXXYXXYY[^][ZYYYYZZZ[\\[[[ZXZZ[Z[\\[\[]\\[]_^[]]^^]_bbabcdbaaa`__`a^`_`_`___bc`___aabdeeecccbgbbcdaa`^`bba`__`a```a````^abbabca`bdcbbbcbcddeedeccccbcefhfdecccdccbcccb__`bbdecegehfeeefefgfeeegcdffdddfdefedeffihegfedcfeeeddbbcedecdecaa`bcbbcbbbbbeedbcddfeedceefeeddbcabddbcdbbbabbcbaa`aa_bb`aabbda`aaa_^]\[]]]\]][\ZZZXXXXXWYZ[ZYZZZYYZZXXXZ[\\][]^[Z[][YYZXVVUVSVUVWWWWWWXXWWVWXWVVUUTTTUUTWUYWWUTSSSSRQQRRRQQRTSRSRRQRQQRRRRQQQQQRRPPQQPOOONNNNNNKJJLLKKKLLKLLKKJKKHHIGIIIJIHHFGGHKJIIHIFFFGHGFGGIGFFSSTSSSVVUUVTSTSI=64:@GNONOOMKHD;42+%#+4;EQWXYE60122257<IWZUI@@LY]_bdbacecccfefdddfgfe^USRRSSSSTWWVVWVUUTTYWVVVVVVVVUVUWXXWVZUWUVVZXXX[ZZY\XWXXXYYZ\][[YZYZ[]\\]\[[\]YZZ\[[\]\^^]\\\^^]]]^_^^`aabcabdbabe`a````_a``__`c``___a`acfegbbbbcabca``abbbca__bcc`dbbaaaa`abeabbbbcccceedcbdeegdededcbcegffffeccfedbdbb````abdeehgfgggifgffgeeiehedfhddcegffeefgghhgjfgdcdfefeedhdedddddddcbdbabddfcfciedcbeeeeeccefffgedddbccddecbccacccba``baaaaaabbaab_aa`]\\\[_]]\[\[[YZ[\\YXWVWZZ[YZZ\ZZ[[YXYZ[^\][^]\\\\]]^ZXVUTVTVUVWYXVWXXZVWWWWWVVVWUVUUTSTUWXVUUTSSSRRRRRSTRSSTRUSRRRRURSRSSSSSRRQQPRPPOPPOOOOPMLKJJLKKKJKLKIJKJKIHHHHIHIIJHIHGGJJKIIIIGEEHGGGHGIGIESSTUTTTVUSVTTTLC>9@IMRSTTSSTOMIC<4-%$,4=IVTUB60/.-.36<FU[XPGDDO[_bccddfdcbgeeeeefgff^RSSSRTWVUUUUUUTUVTUUUWVVVVVVVUVVWYXWWWUVUVVXYXXYZYYYWXWXZYXYZZ[ZXYYZ[\ZZZYYZZYY[[\\\[\\\\]\]]]]]]]]__````bccbdbaba_``_``___`__`c]^]]_a``afefbb`bccbdaada`aaccaabbb`dbbbaaaaaabaaabdcbcddccfdheddbfdedcccdedefeedccecbbbc_``aabcddfffgfffffgggfeedefedddccccefedghiihggfffddeeeeddfdcbcdecdedddabbdddcdcfeeeffeedddbeeegfeedcbccdddbb_`ab`bba_`aaaaaac`a`_]]^^]\\\\\\[\\]\\\[ZZ[[ZYVVUZZ[YYYYZ[][ZZZ[[\\\[^\[[\ZZ[ZYXVUSSSUUVWWWWWWVWVWVWXXWWWWUUTTSSTTTTTVYVUSRSQQQRUSRRRRRSSSSRRRRRQQPPPQRQPQNOOONNMNMMOMLLKJILKKKKKKJIIIJKHHIIHHFGGHHHIGFHIIIIHHIEEHFFFHGIFFFTUUUUUUUUUVTWUJC?FMRVWWVUVVUTSRLG:3( &-6BMVK<101.)).49CU\\[RGBH[`ceeddfegggghghgfhgg]TVTTTUVWVUUUVUTTUUUUUWUVVWWXUVWXWXXWWXWWVWXXXXXXYYX[XXW[YXXXXXYYYYZ\\]\\[[[]YZ[\\\]\\\]]]]^^]`]\\_^^^`__`baaadcab``__ccc`_^````b_^]\]ba`beefffbbbdbdabcbaabcccddcbbdbdbbaaabceedbbcddgddbacddcccdffeccddddeeddddddccdgdccbaaabdedhffeefifkhihggggffhdccccddegefkikihgggeddeffeeedfdcccdddcefedddceeddefgeeeddeecdfedddefefdedgfffhcb_^acbbbc```cba`ac_^^]\]^\[\_]^]\\\]_^`]\\`]\ZZXXXY[Z[[XXZ\][\[[\\_]\[^\[[^ZZZXXWVYUTUUUUWWXZXXVYVXWVWVWZXXVTTVSTSSSSSVUUUVSSSRRTSRRSRTSSSSSSRRQRQPPQPQQOPPOOOPNNMNMLLLLMLLJMLNJJJKJJIIIJGIIIILHFFIIHIIGHIIHIJJIEFGGGGHIIFGFUVUTUWVUUUVUUUMHLPSXWVWXWWWXYZRQD=1*" '/:EBB2(+2*&')05DV_`^\OEIYadeeedeefgfigfhiihhh_TTTUUVUUVVVVUUVUTUUVVWUVVWVYVWXXWY[[ZYXYXXYYYXXXXXXXWWWWXWXWXYYYYZZ[[[[\[[ZZYZ[\\\]]\]]]^]^^]]]]]]]^]^^^_b_aabeaa``_^`aaba_`a``b`_^^^``acbbbbbbbabbbbbbbbbcbbcccccceabaabbbccdccccbcccbbbbbbbdadgfedcdgffdedcccb`acdddccbbabbddddeeefffhggghdhggfeeeedcddefffffggghggfifddeghgeeedbccceddegfeeedbegdcegffdddceheedddddcdeeccddddeedb`aadecbca`_a_`dab`_^]]`^[[\]\]`_^]]__`\]]]\[[ZYXYZ\ZZ[XYYZ][\[Z\]]^\[]\[[[[Z[YXWVVUUUUUUWVXZVVUUUWXWWVWXXVUTSTTTRRRSRTTTSTTSSRRTSRRRQRRRTRRRRRQQQPPOOOPOOOQNPOLNMMMMLLLLLKJKKKJJKKIIJIHIHHIIIIHGGHJJJIHHIILIHIHHGGFFFGFEEFFWVVUVWWWVVVVVRQQQUZYYWZYYWWWXWSJB80)$")3<@0'('&$!"(-6EZaac\WHJZaffehggffhgghhjiiijh`TRTUVZWZXVVXUUVUUVVWVWUVWWWXWYYYXZZYYYY[\\[[ZXXWWYWWWYVVWVXWY[Y\[[YXYZ[^\]ZZ[\\_[\]]\^\\]\\^\\]\]a__^^``_a`baabb`^`^``aaad`aa__caa`_`aa`bcbaaaabbccbccddeffhdecbccceccaacdcedddfddbbccbeddabcddeegdceeeffdcbbdbaabddddccdddcdhdcddeeeefiihghiiihgieffgggfgffffgffhihfeegdcehgheeedccccdfegfdggfeddeedgfgfddddfeeeddfeecddddhdcccdddf`abdedccbaaa```aaa`^^]`^[\[^\\^b^]]c_`]_]\\[[[YYYZZYZ[ZZXXZZ\[Z\]]^^]_\\[[[ZYZXWVWWVUVUUUVWZVXWVUWWWWZXXWUTWSRTTRUTTTUUWTUUUSTRRRSRQQSQQQRRRQQQRQQQOOOOONNNNOPMNMQMNMLLLLNJKJLLLKKJIJHIJHIJLIKIHHGHIJIHHHHHIIHHIGHFFFGGEEEFVVVYYYWWUVVUSQRTTXXWWWYYZWVVUSJA92)# (1*$$*%#!%).9I]^aVSNHH[dfffgfggghgghijjjiig`SSTUVVVWXVVVTUUUVUUUWWVWXXYYXYYXXYYYZZZZ\\\ZYYYYWWXWVWVWXWWWYZYYWYXYZZ[\]]Z[[[ZYY[]\\\[\]\[[[\_]]]^______`^`aaa`__`_babaab``a`_a`aca`aabbccbaaaabdedcdeddeeedebbacccdcbccccddeeebccdddcddcbcddedcdcegfffedcbaaaaaceeedcddeeedddefdddeeegjgfghikhggffeffedgffceefffffeeeeedegffeffdcccddecdfggfeeeedecddegfccdfddieddcddeeddeccccgddeabbcedccdacb`__adbaa```^[[[]]]]^^^]_^`\_^\[[]ZZYZZZ[[ZZZWXYZ[[[[^]]\\\[[[[[ZYZWVUUUVUUVVUVVVVWVWSWYWWXXWVUUUSSSSRRSSSTSWTUUTTTSSQSQQPQPPORRQQPPPPQQPOOMNNMMNNNMNMNMNPNLLKJJJJKKKJJJJIIKJHJJJJIHHHHGHIIIHGHHIIHGGGGEFGGFFEEEWWWWXVUVVWXTSQSTVW[VYWYYZWVPLG@6/("
    ##"(*/;OW\PG@<?G_eeegighiiihhhiijllkh`SRTWUVVWWWWWXWTSTUTTUVXZX\[]YZXXZ^ZZZ\ZZ[[ZYY]ZZYXWWXXWXXYWXYZZ[[[\]ZY[[\]\\\[[\ZZ[]\][\\\[[\\]\\]^`___bbb_abb```___`aaaaa``aa``aaaabcbgdcdddddeedfeedddegeddebbbfcdccbbcdddeeffdddgffeeeedcddeicddhgggheebbbdaabefigeeffefggfffedddddefggfghiiigfghffgcdheecdfifgefdeeefhfffffffddfddeeddefedegeiddedddfiecdfccefffcedeedddegccddddddcbcccbbbbca^_bcccdba`_^b\^^``_^`^b^`_`]ZZ[]YYYZ\[[\^ZZYYX[[][[\]]`\\[\[[ZZYZWUTTUXUUVXVWUUVVVWVWWWWYXXWWUUSTSTRSSSSSTWUTUTUWUTSSSSQRPRRQRQQPOPQOPSPONNMLMMLLMPMKKMOOLNLKJIJNKIJNLLJJIJIJJJJIJIIJHHHIIGHIIJIHGGGGFFGGFIFGGWXWVVVVWWWVSPNOORSTUWWWWUTMG?:0)#


 !#$$#'*-=CLD><5?AQbdefiihhiihhjihijkkkiaSRRVTUUVUVUUVUTSSSTTUVYYXZZZYZWY[[ZZZZZZZZZYZZ[[[[ZYYYXXXWWXXZZZY\][Z[[[[[[[Z]_\\Z[[[[[\Z[[ZY]^]Z^^_^_`_]__a_`````_^^_`aaabbba`abbabcccedeeedddeeefefddefhdddcbcdcaeccabcddefeeeeeffdegffeecfefebdehggggceabcbbccefhifefiffhifdeedddgfgggfeghighjggghfhddecdcdeddeeddfdeeffgigifedddeeeefeeeadefeecegfceeeeeeeaceegdcdddfeeeedddfdcefcbbbcecaaabaaabccddbaa_^^\]^``_]^^_]^^]\[^\]ZWZYYY[\[ZYYXWXYZZZZZ[[Z[XYYZZZYYWUSTUWTUUWWVUUVVVVXWVVWXYXWWUVSSSSSSTSSTUUUTTTTTSRQRRRRQPQSRQQPPPPPONSQONOMMNMKLLLKKKKKLMMMLJJJLKJIKLKJIHHHIKJJJJIIIHHHHJIIIIIIHGGIGFFGGGHFFFYXXWWWYXXXVSMIGKPQSSXWUSPJD90)"

-
-
 $%&$ "&',596556<DRadihhhhhkkkiiiiikkklnhaRQRVTVVWWXUTTUTTTTUVVVXYZ[YYYZYYZZYYZZZ\YZZZZ[ZZYYYZ[ZYYXXXXYYZ[Z\[[[\[[]^]]___^][ZZ\Y[][\[\[^]^\^^aaaa``_`a_aab`b^]^^`dbbb``bbedfabccdfeeegddddefddedejfgdfdcbdebaeeebbcddefieeehhjfefgffeceeffedeifgghedbcddeheffkgffehfgihfedffdcdceeeeehhkjkiggefffdeddfddebcedbcfddegghiggfeifdegfefeddcdehdffgfmdgfefeeeccdddcccddeffhgkceedcfdcbbbcccacadaaafddddb``^]^^_]^`_^^]_\]\\[Z[[\[YZYZZ[[[\^YWWWZZYYY[[YY[XZZ^ZZY]WVVWVXUTUVVTUVVUUXXWVYVWWXVWVUTTRSTTRRSUUTTTTTSRRQQQQUUTSTSSQQPPOMMMNQQRNONNNMLNLLKJKKKLLKLLKLKNKJIIKLIIJLIJJJJHHHIHGHHIIHHIIJHHHJIGGGGJILGIFYWXYXXYYY[WSLEEGFGIKORLHB=2(" """ 
-
-#.,,'!""$%,189>AEJR_dggghhhgjjjiijjjkkllkhbQQSTTVVWWVUUTUUTWWWVVVWWWXXY[[YYZYYYZZYYYZ[[ZZ[ZYXXYYZYYYXXYYZZZY[ZZ\\^^]^^]]^]]]\[[[[\[[[[[Z^\\[^^a`ab`_``a_`_``_^^^^^ccba`_aacbbbccdeffecccddddeddeecfegbedccddbbdccbbbdeedeeffhhhhhggdfgegfgffdceeeffeedegggggfgkhhghhgggfggeeeedeedeeeegfffhhhffghiffddedeebcdddbfdeegghigfeefgedefffedddddeeeeggfeghfffeebcdefdbcdeeeffffcdddbccccbdb`a_``aaa`dfffcbab^\]^_]_ca__]_Z\[[ZZ[ZYZYYY[][\\\]ZYWXYYXXZZZYYYXYY[\ZXWVWWXVVTTUWUUUVUUTTUWUVVWWWVVVUUURSTSRSTTUSSTTTRSUQPRQTTSRRRQQPOOONMNNOOONNMMNMKLKJJJKJJKKKLKKJJLMKIIKJIIIIIJJJKIHHIHHHHHHHGHIKIIJIHHIHGGGGFFFYYYYYY[ZZZYUKDDB@?@CFED<4* #(+4:>843/&
-
-%07+(#!"%*.7>ELQWZbejgggjhhgiiijkjjkklnlkhdPPRUTXXWVUUUVVUTWWXYWWWWWWXXZ\YXXYYY[\YXY\[]ZYYYZ[YYZZYYYZYYY[[\[ZZZ[[]`]^___^]]]^\[[_\[ZYZZ\]]__^^a`aabbb`aba_a``_a___cbbaabb`cbebeeeeggfccdgdddhdedefgfheeefefdddccbcddhdegfefhhhhhgfffhffggfieddfddfeeifhgfgggghkihgghihgfifeehfiehefddeheeehhiffhjigfddefecacffgffffffhgffeddeeeeeeeekghggfeflfjhgfiggeeeeddfgedbdefedfifgffdgcdbfcbbbbba`````accdcccc`]]]^``bab`_^_]\[[ZZ[ZY[YZZ[][\\[][[YXY[WYXXXWWXYZYZ\[YXXZXWVVUUVVWXVXUVUUVVTTUWXXVVUTUVUVSSSSTTSSTTSTSVSQPSRUSSRRSURQPQOPPOMNNONMMLLMLOLMLKKLJJKKKKJJJLMMKJJIIJJJIJJJJJIHHHIJHIHIGGHKJJIIHGHIHGFGGGFZ[ZYZZ[ZZZZVNDA<:9:<<<6/%&*5.00B?=>>:8( 
-
&*0+)%$$&.5@GMX[]^ceghfhhghhhijjkklmnnnmlkhdOOQSTUTVUUVVVVWVVVWWWWVXYYXYYZZXXXXY\ZXXYZ[[ZZZZYZZZ][YYYZZZZZZYY[\[[\]]]]]]^^^^^]]\[[ZZ]\[\^^]]]^__``ab``a````_^^_a_``abbbbbaaaabbegefgffddegcddeeddeffffeeeeddcccdfeedddcffffgihihhhhhhgbfjgffdeefccgeefddehiiiiiijhhhiiihfieedhgfefdddedeeeegfhhgiihhgfdfeebcdegfdfigghjgeeeeffceffffeefffffffffihgffffeedeefhfeecddeedefffefbcdcbddbabbbbaa`_aaccbabca___^^_`bbbb_]^]\[[[[[[\\YZZ[\\\\]][ZZYYXXXXXVVTXWXXY[[XXXYXWVVUVVXYWVUUVVVVUTTUUUVVUTTUUSSRRSTUTUSRSSSRRRQOPQRSRQRSTRRQPNNLOMNMNNNNLKLLKKKMKJJJIJKKKKJKLJMKJKIHIKIHHHHHIIHGIIJIHHHHHHIIJJIIHHHJGFGGHF[[\\]]][][ZXQF?9544563,!'*31--.370/6>/)(&
%0.)" %)/9FWLXY[\cdhgjjjhhiijjkkkllmmnmmnnicNNPRUUVYXYVWVVWYUVWWWYZ[XXX[ZYYYYYYYYYXXY[[ZZZZYYYZ[\]Z\ZZ[]Z[ZYY\[[\_^_^^]]]^]^_]]]\[[Z\\\]^^]]]____^`c`a`__\`_\\^aabbbbccccabbbbcedefgfgeefgggeffgdgfifgddeedeccdhhhhhfedfffeiihhhiiilhhghhiffdhfedcffffeefhhhhihjiihjkkhgghffehfgffedeedfeefjghgghhhjihffeeeeeefgefgghiigggfffgghfgfgfeeffgffghgigggfffffdefhgffhfgfgedefffefbdcbceffcdbbbcbb`abcccbaa``_`^^_`fbbb^]`^\\\[[[[\][YY[[[\]]]^][ZXXYXXXXZVWXXXXZZZYXYXXVVVVWZXWUTUWWVVUTTUVTUVUTUVVTTRSRVUUTRQSRSQSQQPPQRQPPTTSRTQPPOOONRNNNNOMLLLQKJMKIHIIJKLLLKLMMMKJJJIHHHHHHIIKIHHIIKHHIIIKHIILIHIKHIHGGIHHF\Z[[[[[[^\[ZSG?84001/,# #&($ #(%"%*#! '*&!#%,<DSIEGGOW[^bffgiiikkkklllllmkmmllmjbMMOQTUVVVVVVVVXWVWYXWXZXXXXYZYYXYYYXXXWYZYYZYZ\ZYYZ[[[Z[Z[[[Z[\ZZ[[[\_]__]^]\]]^^]\]]]^]\]]]]]]]]^___^__`a____`_\]^``aa`_baccccbbccfddffffeeefffeefedgffddcdefdcbbcdefffeeegggffehhhmiikghegfffeeffgiiigeefggghggiijhhgjkkhgffffdeeedgfffededeefgghhggghkgffbeeeeeeeeefhiihgffffdffgefgffedefggghggggghffghgeeeeeeggfeeeeeggfecdbbccecccbbbcdc_aaabbbbbaa`a`_^`_ab_`a_^_`\[\]\[\\\[ZYZ\\\[\[[][ZYYZYWWXWWXYYYYZYYYXYVWWWWWXXVWTUUWVVVUTTUUTTUTTTTTTTSSSSSTRRQSRRQSPPPQPPPQNPQQRQPPOONONNNNNMNNOLKKKKMKIIHJJJIIHIJJJJJJIIGHGHHHHIIIIIHHHHHIGIHHGHHIIHGHGGFFFFEFF`_^\]\\\^\[[UG?82.-,*#!'")!&%#&((/;NE:*$*4@MU[^eelihikjklmkklpppmommibLJOPTUTTUVVVVVXXWWXXXXWWWWXXXXXXXWWXYXXXYYZ\Z[[ZZ\[]]]Z[\][_\^\[\^]^__^_^\\__^]_^]\\\\^a^^^_]]^aa`^^^^_`aa_]^`____`aacab`ccgffddbcdfddeffeejeggheeefeffheeegeecccbccdgeeeeejhigffhhgiiikkmhhfeefgihhgghjgfffggijhiiighgjkjhgffejefeedgddddeefgdefgijhggghffffffeedfhhhhhiggjfffffgfffffhfedefggigfddgggggkhhggggddfhedefefgkfedhdgcdeaccbbccdd`aacb``ea```aa^^^_ac`^`a`^]\[^^]]^]\[]ZZ[[[[]Z[^[Z[\ZZWXXXWXXYY[ZYY][ZZZWWWXWXVVUUVWWWVVUXVTTSTTSTTTSTUSSRSSRTRSSRQSQPQTQOPQQRQQPPPROPOONNNOMMORPMMOLKKJKLJJKMIKIIIKIJJKJHHGGGHHHIJJIJHHHJJIHHIIIKJJJIIIGHGFEFFHH]\]]]^^^^\[\SI@92.+*$ 

-
 #'" $',..021/&%09DSY_eiiijjkmllllpmmnpnniaKJPQTTSSTUUVWWXWWWWXWXUWWXVXXXXXXXXXYXXXYYZ\ZZZ[ZZ[\[[[\]^[[\]]]]\\]`^]]]]\]^^]]]]]\\\_^]^__^^^^^____^^`ca`_^`__a`ca`c`aaccefecccddddeeeeeeeeffeeddedfggfedeeecccccceeeejefeefhhfghhhhijehihgfeghhhhgfggggggfgjihijiggghiiihggceefdedgcedfgfffdeehiiiijhggffffgfeffhhhhgjgfgggffgggfcddfffdddffffedefggggihhghhfeeeedeffffghfedddfcccbfcabbbceaaabba`b```aba^_^_`ceaa`_^\\\\[[[^[[[]ZZZZZ[\[Z\[[\][ZWXYXXXXXYZYZYZ[ZXXWWWXVVVVUVWWVVWVVXUTTSSSRSUSRSRSSRQRRRRQPQQRRQPRRQQOMOPPPPOOOONOPOOOONNOPOONLLLKIJJKKJIJJIIIIJKJJIHGGGHHHHHJHIHGGGHIHHKJIIIJKIHHHGFFFFGGG]^^]]^^]^\^ZRKB:2-*& 
-
-
-			
!&*$"%*3::4'#"#-;NYcimjnlllmlmmpnppponlaJJOSTVSSTTUVVVVWWWWXYYWWWYYYXXWWXYYYYYY[Y[Z[ZZ[]]^\\[\]`]^[[[\\\]]\\\\\\]^]]]^^]\]]]]]]^]_`a_a]]]^_^^^_`a`````____```cafccddeebhcgdhefeeeeeeefehecdffffeeeeeffghdcccddeeeeeeeehggggjhihjghgfgkehijihhggggjhgffhiijjiiighiiiighhhhhgeeggifjihgiggfhinkkjkgjhgghgggihjiihghfehhihiiiilccegffeeeefeeefgfkghiiiihhhigfeefgfeegfiffdddgccbabcbbadceaabbcb`dababab``__`bba`_^^\`\][[\^\[[]\[ZYZ\\[Z]\_\^\^WZYXXYX\[[Y[ZZ[\YXYYXXXXVVVXWYWXWXXYUUTSSURTRQRUSSSRQQPPQQQQPUQRRRRRPNOOPQPPOOOPNOPQOMMNNMPOPPMMLLMNLLKKKJJIJKJIIIIJIHHHIIHHHIIIHFFHHIGIJJIIIKJJIHGFFGGGGGG]]^]]^_]][ZXTNF<5-*$	

 #$)'!#*2<<?0%!
-
-$<Sfikjmlllllmnnmnooonn`JJNTUURSTTUUWUUXVVUUVWXWYXWWVVVWWXXZZZYYXZZ[\\[]]]\\[\]]\\[[Z]]]\\]]\\\\\]^]\]]]]]]]]]^^^__```]]^^a_^^``a`````__^`a`_`abbddeeebccdcddeefhgfffgeeddddcgeeeegfkgfgccddeefedddddfhghgfhhhhhggfghiefihihihgghhhgfffgghghhghijjiigggghiiffgghfgihfihgfhjjjjkkhijhggghijhijjjhgfeghhhijihjeefggfhedffgfffgegghjikjjhffffefgfeeddcheedddcabbaab`a`dbb`acbaaaaab`baa_````aaa`_]]\]\\\\\\]\\\]\[Z[\^[Z[\\\\[ZXXYXWYX[Z[XYYZZZ[YXXWXXWYVVWWVVVVXVVTTUTVTQQRRRSTRRQQQPPQRRQPOORQRSSOOOPPQOPPPOONOPNMMONNOONMNNMLMMMLKKKJJLJJJIIIIIIJJGGGIHHHHHHIFIGHHHHHIKIIIIIJHFGGGFGEGH]^^^]^^^`\ZYYTLB80*$	
-



#1-)'(&!$)2:EJ<.*(		
-0Wgikjmlommmooonnnmnnl_JIOUUUSRSSUUTTTWVVVZVXWXXWVWWWWWXXYZZZYYYYZZ\^\`]]\]\__^\\[[\]]`\]]^^^\\]]^^]\\]]^]]]__]_``a``aa^^``_^_```abaa___ab```adbgedeeciefdbegefggggggfgdddcdheeeedeghhhccdeeeeddeefdggfhgfihhhlhghjihgffhihhhgghfgggggghihggkkjjmmnjjggikighkjjhfgjhiggghklkjkkkkjkjjghiiiikhhigffiiijkjjiiiijigfgeehgghihjihgiiijjjiihffghgffifddifeeeecbabcaaaccdccaabbaaa`bebccdae`a``ac`_^^]^^^\\\\]]]`^][[[\\[[Z\^^^\[Y\Y[WXY[[\ZZY[[[[ZXYXWWVVVVWWVUXVYVVSVSSTTSSRRRTSRRSQRSRQQRRPPQRRRRSNQQQQQPSSSOONNNNLMNNNQNLLPOQNOOPLJJLIJJJIJJJIIIIJJJJJIHHHHHIHGHGGGHIHGIIHIIIIIHJGGGIIJI^`^^^``_`]\\[[SNB6.& 

-
 $2@J8,&!%/4=ESI6*.$
-	
-8Zjjjjjjonnnnooponnook_KMORTTTUUTUUXTTUVWYXVVWWWWVWXXYYZZZZZYXYYYYZ\\\\\\\\]__]\\Z[]]]`[][[Y[\\\]_^^\[\\]a^^___``aa``__^_`_a`_`_aaaa`_``aa`a`adbdfddddedecceeffgghhigeecdgfffeedfeefgigddcehfcdeeeedgggkhfghhhihgghhhigegfgggfhjgjighihhihgfghjijjjiighijjijigjjhgghgefihiihjkkkiijjkfhiihikgghggfijjljhjkjijjihggggggghhghhgfgfiijiiigggiigghhiffffeeehdbbbbaaabccbaaaabba`aaa`aaaaaaaa``ba`_``^]][\\\]]^_`^\\_]]\\\[\\]\[ZZXZWY[[YYZYXYYZYZZYXWYVUTTUXUTWVUTUSSSTUTSRRSSSRQOPQRRSQRRRPPTSSRQQOOOPOPSSSQOPNNNMMNNNMMLLJLMNNMLLKJKJHJKJJIHIIIHIIIIIIHIIHHIIHHHHJHHIIIIHHILIIIHHHHHHHHG^^^^^```a_^^^]ZUN@5-%(.)!!%$-DXPE0$)-=BQRJ-') 		'C]ljjlllnnooqpqpoonook^JFNQUTUXTRUTTTTUVXWWVVWWVVWXX[[\YZY[YXXXY[YZ[\\\\^[\]^][[\[[]^^`[][[[[[^____\[\]\]^^_^_^`_`aa`ab`___`c_aacaaaa``aaa```bccbdeegggeicdefgghegjigfeefegeeeffffjhggfeffefhcdeeeedfghihgfhihhhjgghiikhliggjjjifgiihhijihhgghjjjjiihijijmmjhiijlhfffedgghiijjkjiimkmhjijhhihhhhifiiijjkkkiimmlhhgigfghgfgljkfhfjiiiiifgihhggffgfffeeeeedbbbcbaaacbbabbbba``````a``bdbaaa`bcc_a__\`[[[\]_^a``^]]^]\]]]`]^]^[]XZZYYZYWYXWXXY[\[ZXWWVUUTTTUTXUTSUSUSTTTRSRTTTSQPORRSSRRRQPPQQSSQRRQQQNOPOOQPPNLMMNNNPLLLLKKLMMMLLKJJIIIJJJIHHHJHHHIIIIHIJHHIJIJHJIHHJIIIHIKJIIKLKIJJIHHI__`__b```aaa``]\TLC:2)*67:-#""" #,**=WUVC3  )4BFQ:&##		
-5Qkkkllllnoooopppopoook`IHLQUUUVTTTTTUVVVWVWUUXWVVWXXZ\[WZY[XXXYX[YZ\\^]]\\]^]]\[[[]]]a^[[[[[[ZZZ\[[[\\\\]^^_^^_bacb``cb`aa``a_aabaaaabbbba``adcccbdeffeedddefhghffhigigeefgfffeffgihhhghfffeecceddeefjhjhghhifgghggfiiihijhghjijhfjlijjjijihhhihiiiiijiiknmjhkkkkhgddfeefghhijjijjjjmhgghhiiihghighiijkmmmjijjighhhfgggggfghgeffgjiihhhgghgffefgfeeeeeeedbbcccaabcccbaabb``````caaaaaaa``````^___\\\[[]\^^^_^^]]_^^]]^^]]]\YZYYXXXZYYYXWXXZZ[VYXWTTTTSSSSTTTTSTSSSTUSRRRRSSSRRRRSSSTRSQQQRRSSQQQQPONNNNNOQQMMMMMMMMLLMMMMLLLLLKKJHIJIIJJHHGHGGHHIIIJJIJHHIIHHGHHHIHHIIIIJJJKJJJHIJHGHF``b`_aaaba``cba][VSIA4'#,9CLD9.))((*-1<N\aSC/*28;0%#
-
-
%HeknnoonoonooopqoopqoolaIFLRUUTUUWTUUUUVVZWWUUUVWWWWYZZZYYZ\YZXZY\YY[[]^]^]___]^[\\a]]^\\[[]\\[[\][\\]]]\\]__a`_`aaa``accbbbcdbaabbbbbbccdbaabbbcgbceghlgffffgggggggggfiikghhggfffglihhhhjghfdccddcdefihhhhhhihghihhfiiihgghhhiiijjjjijljiijjjiiikjjjjlnkklmjhilmlghecdeeegiiijniliijmhggijjkkhhghggijjkjjjjijjhijhhgggggffhhgfffegihhgffegffdegghegdeefdedccbbbbedgdea``a_`a```ababab`a`b`b``____\\[[[]]^]^^^^]]___]]^_]\\]YZZZYZY[YYYXXZY\ZZXYVWTSTUTSRRSTTSTTSSSSSSRSSUTVTTRVRSSRRRRSRTRRRTTURSOPOOONNNOQNONNMPNMMLLKLMMLLLLJJKIHHHHJHGGJHGGHHJJKIIJJHIHJHGGHIGGIHKIJIJJKKJJJJMHGHJF``aaaaaabbbacba_^[YWKA0#19LLOC<61.-28@LYgbQA)
-
-
-)2<2#
-	
-4[ilnonnnppnnmpoooooponlaHFJQSUTTUVTUVUTVVVVVTUUUVWWXYYYZYYXYXXXXXYXZ\\^]\]]]]]\\[\]^^]][Z[]]\]]]^^Z]\]\\[\]^^^\__`ab_``dgcacdcdbabcbbbbbbcaaabcddccdehjigfddeffhhgigghdhfgghjhigfggjjhjihhffgeddddedefihhhgghjkihhhhgijhgggiiiihhjljijjkkiijjkmjhhhijkllkklmjjikjigiffdeeefhiiikiihiiighhiijmkhhgihhiijiijiihijjjjjighhhggighgeffffggggfffffgeeeefefdddeeddcccbccddddcabab`aca``_c``_``a`aa`____^^]\[ZZ\_]\^_^[\\^]]\\]]]\\ZXY[YYYYYXYYXWYYYYYVVUTSTUTSRQRSUVVVUTTSRRRRSSSTTTTRQQRQQQRRRQRRQSRRRQRNNNOMMLMMNNNMMMNNNNMLLLKJLMLLLLJJIHIIHGGGHHGGGGKIIIIIIHHGGGGHHHFFHHHIIJJLKKJIIJIFGHHGa`aa`abcbaabcbaab``\WK<'$1:GMKJDE;79<DQYdedQ@ 		)27%
-	%@^mlpnmnlpponnoprpqpqonkaGCJPSUUVVVUUUUTVVWVVVWWXXWWXY[YZZ[YXXXY[XZZZ\\\\\\]\]]\\\]^_^]][[[\^\a^^^`\\]^^_\\]]]]^`_bbcbbbdeeccccegccbbbbbgbcaaaabdedcgfihggifeeffhgggfghhhfhgggfghhhhjhgikigfffffeccfefgihhhhhhjjkhgghhijgfgilkkjiikjjkojjkijklkllhihjjmmrllmmjkkljiijjjfedhgjiijmjijihihihjjiijjiiihiiijjjlihhgikijjliijkhggffffggdeeghgfegffefeddgefdedeffdbdfdhdeeddcceccadcb```d`a`_aa```_____^_^_[^Y[[[]]]][[\]]\\\\\[[\YXYYYYXX[Z[[ZX\ZZZYVVUVVVSSRTQQSTTTVUUVSRQQRSRRRRSTSSSSRRRQRSRWQQPQRPQQNNOPNNNMLMNONOOPONNOOOLKLLMMMLKJJKIIHHHHHHHGGIIKIJJIIHHIGGGFFFFFFGHIIIJJIIJKHIJIGFIHHaaaaabbccaaabbcdba``[UC.%&2=ABBBA@>:;BLVace`L2#&-		 1OllmmmnomppppopppppppoojcGHJOQTXWYVVVUUTVVWWVVWWWWWYXXYYZ[ZZYXXYYXYYZ\[Y\\]^]_]_]\]^_^]]\\\\]]a_]\]]]\\\\]]]]]]__]`bbbbdcccccbcedccbccccdcbaaaaaddddgeiggggffeffggggfffeheffgegghhhhhgghkkffeeeeedeffggkiggghhjjjiihighigghikjkkjijjjkjijkkklnklkfihjklmmllkjjjkkjjjiiigfehgjiilkiiihihgghhfjjjkihhhifghijiihhhiiiijjiiiiihgfegfgeddfgggffgfeefddddcdddbcdddddddgbbcdeddeccaaaaaaaa`abaa`_`aaa_]^^^]\[ZZ[[[]\\[Z[\]^^^\\[[Z[YYXYXWWWXXXVWXXXXWVVUUUTSQQQTQRRRSTVTTTTSQQSSRQQRQRRRRRSQRPPPORQQPQTRQQOOONNNNMKMOOPNNOPONPONLLLLNNNLKJIIJHGHHGHHJIGHHJIIJIIHHHHHGFFFEGKHHIIIIJIIIKHIIIIIIIHbbbbbcecdbbaacfcccfc_YK8*&)4@==?=@?=;@FN[adf]C(	
		
&FdmnmmnpompoproqqqqqqqpplcGBIMPRUWWVWXUVUVVWWXVWWVVVWXXYYZZYYZXXYYZYYZZZZ\\\^]^^^]]^^__\[]\]^_^`^^^^^]\a]^^^]\]]^___baadcccddeeddddcddeedddbbcbedcchegejijhgfiiiffgigffiehfeegfjghhjhhhhhkjffeeeeeeefifgijfgfgijjmkoiihhiihjijjiknlokkkkjkllkmnkjiiijmkkmmmlkkjmkjjmlkihijghhkiijjiihhgggghiijkmjkjiijhghhiiiiiliiikkjjkjjiigffgghdeeffggggggjgeddddcdccbbcdcdccdgdccgfhdddccbaaafaa`___aa`_`db`^^^^^\\[[\[\]\\[\^\\]\^][[ZZ[[YXXXVWVVYWVWXZXVVVUVVVSRQURTRRQQQTTSSVSTRQRRSPQSRRQQPPPQQOOPQSSVQRQQQQONMMNOOMMMMMMNNMNOOPOMLLLLLLLKJKIHJIHHHHGHIJGHIJIHIIIIIHHHGGGGGGHIHJHHIJHIIKKJILIJIJIccccdccccbbbbefccdeea\QB6,.4:;=?@ECADHLS[bcgZ<&	
-
-
7_gnopoooporpppoqpppqsppqmcHAGLPRTUUVWVTTTVVWWXWWWVWVUYZYZYYYYZXYZZZZZZ[ZZ[]]^^^^]^^^]__]\\]^a_]^^^]^`][[[\]]]\]]]___aabbbbeccdfdddedddcddddddcbcdcbdeeeihhggfgiiffghhgeeefffdddfefhggggggijghfffffgffgfffeefefhijjjjihghigghiijjjlkjiiijjiijkkmjijljkkjjmnnmnkjjjkkklkjijjghhhhjjjhihhggfgihijlljjjjijihhhhhhhgggiijklkkkkiiggfgdeddefdfhghggggfefgeddccbbccccgdbdedddddddfcdbbaba``__^^^_a`````_^c``^\\[[[[]]]]]^[[\\^][[YZZZYYXXWWWWYWVWWWVUVVVUTTRSQRTSRQQRRRRRRQQRSQQRRRRRRQPPOPPPPPPQRQQSQQPQQQONMNPNNNMMMMMNLNMNNONMLLKLKLLKJJIIJIHGHHGHIHHIJIJHHIIJJIIHGGFFFGFJGHHHHHHHIHFGGHGHHIJddecdddcccdccefddegffa]NA8478:==BDIHMMSV^_b`V>(!
-
-
-
-*HbnnqooopoopqqpqrqpqqqqqpmdG@GKPSSTUUUUSTTVWXYYWVWVVWWZYZYYYYYYY[\[[\[ZZ[[[\_^_^^^`^^^a_^^a^^__]_^[^__]]\[[\_]]]^^a__`bbbbbbbbccddddeeeffeedddebbeeccdieihhghffhhgggiiihgfffheedddegggjhgfhhhhghigghiiigjffefgggijiikhgghhghiiilmkljijjkllpihjjjjklljkhhjmonlmkjkkkkjkkkjjmghhhillkjjighhgghhjkmmkllklkjkhfhihlhiiiijjklmmmjijifhggecdfeefjhhhfgfffffeeddbacdccdfbbcedfffdddcbaabb``a`_^]^_`a`c_``_`a_`]]\[[[^^^]^^[[[\^`\[YYZZZYXYXXWXWVVYXXXXVXVUTTSSRQSTSSPTSRQPQQQRRQQRRTRSRQQPPPQQQRQRQPPSQQPPPPNNMNNMNQNNNMNOMNMMNOORLLLMLMMMJIIJIJHIHIIJIHHMJIHJHIJLJJJJHIGFGHHJFIGGHIGGHHHHGGGLGIIdddcddddddeeeeedeefeed_YPGB>=9:;?BEHIKOVY[\]\JD?0"
0*%

$=WpnnonnnpppnqsssrqqrroqqqndH@GJPQQRRTTTSTSUVWYYWVWVUWWXXYYYYYZZYZ[\\\]\[[]\[\\^^^_^]____^^^]]]^]^``___]\]]\\\\]]^_`a```abcbbbbccccddddddfgfdeeecdddddddeiggeffghijgigfghffeeffdcddfdgegigfhgghhhifggggiggfeeddddgiiihhgfggfeggimmjklkjkmlllkjjjjkjkkkkhfjlmnmolklnklkjkkjjihilijkljjjiiiihhgimlnmkkkkjkiihhhhhihhhilkjknlkljjjhghifeddefddghikggfefeeeddddcdcacbbbccfcdeedcccaa`ac`aaa__^_^```c^_^____`]\\[[\^]`^^]\[[\\\\\ZYZZZYYXWWWWWWXWVXYWUVVVSSSTURRRRRPRRQOOOQSRRQQRRRQQPQRPPQQQPPPPOOOPSPQPPPNNNNNOOONNMMMMMMMNONNMMMLLLMKKJJGHGHHIIIHIMHHIHHHHHIIIIJJIHHHFGGGGGGGGGIFGGGGGGGGGHIIfddefddefeffjefegegfgdfa_VTKE?<<>@BFFKMTW\^_`YXTM3 #AS>,! 4ToonnnooorrspqrpsrrqrrruttqeF?EJORQRTWVVUSTUVWXZWVWXXXXXXYYYYYYZYZ[]\\\][[\][\]]]]_^]a_^^^^^^]]^]___`^_\]]^]\]\^\^`bbba`accaaabgdddededddfffdefgggggffefghggffggijhhhgffgggifefddfefegdegihifhhhhhgigfgiihfdebdeefgiiiggfgeeeihhjmjimmjmmmlnlmlkjkjlkjiihjklmmmnmmljjjjljmjihljijiijigghjjijjjknmmjjkkjljfhmjkhjhiiilkjkllknjhiihhhffedddcehgjggggghfgfgdedcccbccbcdcfdfdddbcdaa`______```]]^``b___`ab`_^`\\[_]]]\\]^^^^]^\\[\Z[XWWWWXXXWYWWVWZVVWVZUTTTTSRSTSRSRPOOPRRQQRRSRRRRPQQQQQPPOMNOONOOPOPOPPOPNMMPPOONNOMMMONNNLMMMMMNLMLKKJJLHLKKIIHIJHHIHGGHHJIKKKIJHGGGFFGGGFHHGIHHGGGFGGFFHKIgeeeeddefeefgffffeffheedb^[XQKHFEFIKMOTX]`becba`VJ6%6VTVC6/*+-3:NlnnnmnqqpporpqqrtrqrssstuuseE>DJNPPRUVVWWTVWVVVWWXXVUXXYVXXXWZYYYYZ[[[\\Y[\\Z\_^\]`^]_`^_^]^a^]^\_^```a`^^^^[\[[\^aabbbbbbcbaaacddddcdeedeefdeffeffggecffgghgffhhjghgggffhghgfeddddedddfggggghhhihghfggiihfeeffffgghkigfeedfefiggjijllkmmmlmlkkkkljjjihiijkmmmmmmllkjjjkjjkjiigikjhjihhjkjjkkkkkkjiijkjjkiijjigjhhkikjjjllkjhhiiggggggjgedeeeeefffegffffddccbbcdeeedbbcdedfbba_`__^^]_ca_^\\\_`````_aab`^]]\\_]]\\\]^]\\\\\\[ZYXXXXXXVUXWYUVVWZVVVUUUVWUUTSSTSQRRQQQRRRQPQSSQPOROPPPPRPPOOOOOOOOQPSPOOOONNNOOOONNNNNLNONNLLMOMNMKLLLKJIKGHHIJIHIIIIIJFFGGJGHHHHGGFEFFGHGGFGGFHHGFGGGGFFGHIIgfhggffgjedefghghhgghgffged_^[XURRSUW\`agehhhhiebVQ<+3N^f_ZTOMKQVZimsorooqrpsrqrrsustsstvvwvxteE=CINOPUUUUTTTVUVWVVWYWVUYYZWXXXYYYZZ_Z[Z]\[[[[\Z\]_\]]^]__^^_]]]]]^^__`__``_^__]^]]\`abbbbbcbbdccccdeccddeeegffffefedeeeffffihihgghijiiggghgggjgeffffeeddegijghhhhiinhkhijjhjfeeefighhhiifeeeeffeefgiilkllmmnmnmkjkllkjjihljjlmmppqmolmkmkmkkkmjjiijmhkkikpmnllkmlljiijjnkjjliiihhihgiiijihjmjkiijlgggjhhhgfeeeeeeifgfhfhffedcdcccfdddeccddcccaaa_`___````a_^^`_^__`b`__``a^]]^\`]\]]]^]]\[\]\[[YYXXZYXVVVXXYVUUZWVVVUUUVVUTUTUTSQTRSQQQPPQPPSRQPPRQQQQRRPPPQOPPPPPPPPPNMMMMLLLLLNOOONPLLMONLLLLKMNLLLMLLJJHHHIIIIKIJHHJFFFGIIIIJHHFFFHIIHHGFFFGGFGFHGGHIGIIHHffgigfghhffhhighhgghhiihhgebab_\]^__`abdffhiihggc]XSB4=J[khgc`_\`chknprnooppposqqtsusrsstuuvvvvveF=AIMOQSRUTTTTVUUUUWWVVVVUUUVXWY[[[ZYZZZZ\^[[ZZ[Z[[\[\\]^^]]\\]^__]^\_`______``^\]^]\``bbcbbccddccdcccbcddfegffffeefffjgeeeeeghihhjhiiihffffffggefgefffefeehihghhiiijjfhiiiihjfeeefffhjiiheeffffffefhhijkkllmmnnnllkkkjjlkhjiklmmonmklllkkjkkkmlljjiiiiklmnlllllkllkiiiihijjhkiiihhjkkkiihghiihijjljgghgfihgfedegfefeefffgfffffdcdcfdccccb`bbcba____`^__^__a^^____^_bb_^^`__^]_\Z[[]\\[\[[Z\_^]\\YYXXYYXWWWWVWWUVWUUUTTUVUUUTTSSSSQRRTPPOOOQPQRQQQPPPPOONPPPOOOONPOQOONONLKKKLMLLLNMMMNMMMMMKLLLKKLLLLLLKKJJHHIIIIJHGHHHIGIFFHIHIJHGFGGFFGGHHFFGIGFFFGGHGGFGGGHhgggfgfihfggggfgeghhhhhhjhhgfffeeghgghjjiimmljniidc]ZVT^kkljijjjjllnsssoppsqqqrqqttsssuuvuzwyyxsgF=AHNOQTSUTTUUTUUXXYWVWXVVVVUYXYZ\\ZY[Z\Z[\\ZZ[^\\[^\[\^__^\\\]``_^____^_``_^_^]]]^^^a`cccceceddcdddbabcbcdceffffefifggghhhhglllhiiiikihhigfeeghffeeeeffeefhhhhjiiijjkihikihhjhfeddgfjiiihgffgffgfghgihijjjklmmmnlkkjnjjkpjjimlmlnmmlklmmmjkkllkjjkljijnlomllommkijjjiilhghkhjijjljjkhikihghhijnkkjihhhhfihgeeeeefffeigfgjfhgffffgegcddedebbceabbc_a^^___`_a^_`b_`__`b^_]`_^^]]\\\\][[[_Z\Z\]^]][ZY[[ZZZXXXWVVVUUWUUUTTTUUUWTTRRRSRRSSPRPQQRQQRQQPPOPRPNNQPROONNNPPQPOOPMKJJLNLLLKLKLMMMMMMMMMMLLKKLLKLMKJJJKKKKIHHGGGHKIHIGGHIHJLHJGIFEEIIJGFFFGHFEEFGIGIHHHHHhhhhhhgggegfgghhhgihiiiijiilhhhhhhgfghiijkllliiiijfd_]akklmnopllmpporqqopqqqrsrqrstrtuuuuvvvxwxphE<@EMPQRRRRTUUSUUWZXYWWWVWYWUXYYZ][ZZZZZZ[[ZY[[\\\[^\\\\\]]]\\\\]]\]^^^^\`__^_]^^_____```ccccbacbcccbbdcdceddfgffffffffggggggiikfgfiihiijiggfffffeedeffffgghhhijkjijjiljihhhhijgfddfffgikihgffeeeghhhhjjjjjkmmmmrkijjjjkjjjjijmlllllmoomlljjjlkjijkkijkjjkkkjollkjjjiihhhggihhijjllllighhhgghiklkjiiihhgeggfeedeeeggefffggffgfffedcfaddeecbcbbaa_`__^_`_^_`b__`a`___`___\^^_`^\\\\]\[[[\ZYYZ[\^]\[YZ^ZWWWWXWVVUUTUUTTUTTTUUWTTRRSRRRRQPQPPQRPQSPPQRPPOPONNMOPNMOOOONMONNLLLLLLKKKKJJLLLMLLLKIKKLNKKKLKMLJIJJKKJKIIHHGGHHIIIIIIIIJIHHGFEEEEEEEEEFFFFEDFGHGIJHHHHiilijhligeigihhhkiiijjjjkjjihimikiggkihjkkklmjkjjijhfjmllnpomnppoqsrrruuurrstssstssstuxxyvvvxwwshD;>CKPPRQSQSTTTUVWZXXXXZXXXXXXYYZ\[ZZ]YZ[[[[Y][[[\\^]\\\\\]^\\\b]^]]^^^__a___^^`^^____`aacbbbabdcecbbccccbecehggfggfgkffffgiiihjgigjihhjiigdfeeeeeedehgffgikhhiijmikihjjkjijhghgfdefgghkkkiihfghhghiiijjijikmkmnnkjmlomlkkjjjijkmmlllmnmlllmmmkjiimmkllkjnkjjolmkkkihhgghghkjijkkkkijjiiihhhikkjjiihhhgfeggffeeeddfgedefggffgkhhfddefgeeebbdbcb`_b`ba``a__`bab`cab__]]_^^_^_`a``]\\\[[[]YYYYZ[]_\[ZZZYXZXXVVVVUWTVVVSRSUTUUXTUSSQQQRQPPRPPQRQSRPQRRPONNONNMNNMMPONMMNOOOMLMPNLLKLKJJKLKLLMKKKLKLKJKKJJKKJIIJJKKKKLJJHHHHIIILJGHHIJJKGHEEEFFFFEFFFFGHEFGHGGHGHGGiijigeb_begghhhijiijjkjkllljkkjijjihiiijjjkjkjkkkjjkkkklmoooljklpqrprstusqsttssttttsuvxvvuvvvvwvfC:=CIMOPPPRUUUTVYXZXXXXXXXXXXXZYX\ZZZZYYZZ[ZYZ[[[[\\\\[\\][]]\\]]]^^]]^^______^^]^a```_`abgcbbcccdbccbbccdeeeheffgfghggfeffggihgfffggihhhigffeeggfgggghhgghhghjiiihijijjjiijhhhggfgghhiiijiiiiijjihijiiiiijkllmmmljjjlkkkjjjjjjkmmkkkmnnmlmmmmjiiknmjjikjnijkmlllllihhhghhhjkjllkkkjjjiiiiihjiiihijhgheeegjhifeegdffeeeeghhhggggfeeeffeeecbddba`_a`baabba``a```aa`_`]^_^`^]___^^]\[\[[[]ZYYZ\[[^\Z[Z[ZXXWWUVWUTTTTRSRRRSTTTTTTSQPPQQOOOPQPPPPPPPPQQPNNNONOPNMNNNMNMNOMLNMMMNNMNNNLKKKKKKKKLKMKKLLKLJIIIJJIHJJKKKJJJIHHHIIJIJJHHHHHHHGGEEEFFFGGGFFGGFEFGGGGGHFFHjikifZVZ_hjimiiilkmjllnkomnkjjijlkkjjjjknlllnklkllmkkklmmmmnnjdjoqrrssttsrsttsstvuwuywywxwyvwwyveC9<BJMPPOPSUVVWXWWXXW[YXWWWXXZYZY\ZYY[ZXYYZ\ZZ[\\[[\]\[\]^[^^\\^^^^^]_^_`a___b_````c``````cdbcbbcdbfcbcdcefeehffffgghhgiehfefihggggggjiiiiffddehfgiijjhhhhhhhjjjiihijiinjjiihhiihjffhjiijmiiihilllikkijjjjkjklllmniijkkjjjjjijklmooollnpmlmpnnkjknnmjijjjnijknnnlmlhhghhiihhkkkkklmljjjkijihiiikijjjhiefegggghfffefffeedgkknghgjhhfehfffedddbaa``bbbbdceb``a`d```a_d^^]]^]]_`_^^]\\_[]Z\\[Z[\[Z][ZZZZZXXWWUUUUTTTUSTRRQRSTTTTTRQRSRROOOPPPPRPQQRPPPQMMMOOQPMMOONNONPOMLNMLMMLLMPNMKKJJKJKJJKKKLLKJJHIIIIJKILKJKLKKJIHIHJHGHJIGGIHGHGGJGGEFFFGGHFFIGFFFGGGHFGFFFkjjhcNKKaijijjiikkkjkkkkmkkkjjjkjjjkjlllmmllmllllmllmmnonmle[T]ipsrusrsrsstsssttuutuwvwwxwwvwwvteB8<CILSOOPSUWVYWWWWWW[ZXWWVWXYYZZZZYXZ_YYYZZZ[Z[Y[]]]]\\[[[\^]\]]^\]]_^^_____`_````a``bbbaaabbaaacbcddccdeffefhfhfhffgfeeffdefegihdegffggffgddehggjighihhhhihjkkhhhiiiiihihihhhhhhghhjiijjijkjjkjjjkkkkkkkklmlkkikjjikjjjjijhjjllmmmlllmlmnnnmkjmlmkkkmljjjjjklkkklihhiijjiikigkiklkjjijijihhiiihhhihgffefffffefjhgggfdefhiihgdijggggfddeeddbbdb`aabbcdcbbdbaa_`````^^]^_______^]\\\[[Y[^]\\\[ZZZZZYYYXXWXTUVUTTTTRRQQQRSSSSTTQQSSSRNNMOOOOROPPPPPPPLMMOOOONMONNMNNOONLMMMMMLLLLLLJJJKKJJIILMLLKKKJJJIHIJKIJKKKKJJIIIJHIHGGHHGGGFGIHGHGFFFFGHGGGGHHHHFGGFFEFFFFnkmj_F=JclnjkkiijinmmmlmpjkkjjiiijkkjkmklllmonnmnllnooopolkaJJUjpsqrssuvuttsttuvvvvu{wxwzy|xzxvudA7;DGKONOOSUWVVWWWXXX[ZZXXXXXYZ[ZZZ\[[ZZXW[ZZZZ[[[^^^^\\[Z[[^^\\^]]^]`^a^^^aa`a````b``aaa`abbbbaafbbeecbdgfffefffefgggeddeeddfehghddeefghgfhdffjhhhjhfgiihhkijlkhjhjjkjjiiiiijiihhilijjijkjjjjkmknnlkllllnmpnnlnkplkkkjjjkkkkkkmmnnnlooompnmmllkkjjjkjlnjlkkkkmpkjkkjiilkmkjihhliikjjkkkjlihhjjigghhhggffhfefjggiighhgfffghiigfigggjfdeddfddccdgcccbbbcaabccab_c`aaaab__^_^`^^]]]\]][ZZ\\]\_[\[[ZZYYZYYYXYUUUWUVUTSTQQRRSURRRSQQRSRQNQMOOQPROOPQQPPPNNNNNOOPMMMLMPPPPPNMMMMMLNLMLLLNKKJLKJILLMLLKLJKJIJIJJJKKMKJJIIKIKHHHGGGHIGGFFHGHGGFGHGHHHHHHHFFHGGGGJGFFHFlkjl]@>Jfollf`bdccgjhgmnmkgcdeddefhlkkkkhdfgghjnmllolkjijjc\D<UjqtsrrtvvuuusqqomllqsvwvwyyzxzzwucA7:DGJONNPTUWVVVUVXXXXXYYXXXWXZZ[[YZZZYYXX[ZZZY[]]]]\]\\\\\\]]\\]]\]]^^_]]^^_a`aba```aaaaacbbcdbabbcdccdfgfeefgfeeefgfeefegefeddefeddeffffeedefgggghhggiihghhhhhhhikiihiiiiiijijjiiihjkjlkiiijllikllllkmmnmmmljjjlllkkjjjklklkjmmnnnklmmmnpmmmllkjkkjjmljkllllnmkjlkjjjlikkjihhjkjjjhigkijihihfgggjhijjihhefeiiiihghhgghghkijhfghggifffdddccccdgdcbbbbdaaaaa``_`^aa```^__^]]^^_^\\\\\[Y\Z[Z\\\[ZZYYYZYXVVXTUUUUVXTSURSTRSSSRQQQQQQQONOMONONNOONQRQRONOONNONNMNONMMMMMONMMMMLLLKMLLKKLJIKKJILKLLKHIIJJJJJKJHIIJLJHIIIIIHHKHGGIHGGGGHGGGHGGGFGHHIHHHFGHGGGFGHGFEEmkolZ<8LigiYSWXZ`ce`^enll^YYZ]`bcdeimgd_\^behggfemnkkfbehebK9<Vjsokmquyssokmonnjfipuwwyyyyyxyyyua@68CFJNNNQSUTSTUUUWZX\XYYXXXWWYY[\[[ZXYYYZZZZ\YZ]_]\\^]Z[\\^]]\\]a\_]]]_^a_^_babbabb_ababccddcdbbbbedcdeegeeefggggfffeeefeeeeedfeiefddgfeffeddejhhhhijgkhighihggghilihiiihikjjikkjihhijikhikhhjkkkkilnmpppnnllmqmmlmllkjjjkklkkmmqnomlmollnnmommkkkmkkmljjllllllkjlmjjklmmlnighkkjjnjjillmjiggghghhjjijkihgghiihhhhigggggihghkhhhgfhfefddccccedfddbcccdaabac`aaa_aabab``a`^]^^^_]_]_\[Z\Y[[]\][ZYYY]YXVUVVUUVZWWVTUVRWSRSUSRPQPPQQPOONNPOPNOOOPOPQPOOPOOOONNMNNOMNMMNPMMMMLKLMKNLMLKJJJJJKKKKMKKIJIKKKKIIJJJHILJJKIJHHHHHHGGHHGIGGGHGGGGGIHIIHHHIIGHGGGGGGHFFFFkkllW98QfdTIRVXSVTQNXdijWLMPWRQPRU]gd^TN^TXWY_[ZfoifXTZ]][SB8>Vidafjrvqmb_dhec]X^evyyxyyyxyyyxytb?58BFKMNOPRSSSSUUVWWWWXXYXYXWXYYZ[[[YYZY[ZYZZYYZ\\\\\\][[\[\\]_\\\[\]]]^^_`````a_____`aabb`a`cdcccccddfeeeeeefffffffiegeeeeeccdcdedddcgfefhedeeghijiihfghggghhggghhhhhljjiijjjiihikihkkjjihkiiikkkllmmmoopnnklmlklllllnnmkmmllkllmmnonmmjlmnmmomkllnjllklkmllllmmmlkjkjjjjjjghhkljkkjjijkkkifgggeifggjijjjjjjiiilihgggggggfghiiggggffefeddcccdccccdbaddbca`a`aab_`baaabcc`a^]^^]\\\[YZ[ZY[[[[[ZZYZVXXXWVWWXWVWWWVVUVRSSSRRRSPQPQNPPPQNNNOONOMNNONOPONPPPPOOOONNMLMLMNNMMLMMMMLKLLLOKJJMKJJKJJJJKIIHHIKJJIKIIIILJIIIIHHIHGGGHFHGIGGFFFGHGGGGHHHHGEGGGGGFGFGHHGGGlkjkU78TeOBJ]_d\WQDHTijRCHQ[gZPHAJXa`LER^\YVNJHWihdODQV__\QE9@VjZSRhurnYP[^ea_TVZl{yzyzz{yzz|z{tb>36AEJMQQPQSSSSVUWVXYYX\XYXYWWXY[[ZZYYYXYZY\[ZZZ[\\]^^\[\_[[[^^\]]\[\a_^^_``a``a__`a_a`aacbdbecdceegefdcehgfeeehgggggedeffddcbdccfcddccceffffhfegkijihfggffgiihhhjiihhhhikijikijiiiijkkklllkilijjikmmooopponmmmlkmlmmnmmllmonnkklmmmmpnlllnsmlmolmlnlplllklnmnmmmlkkjnlljjkkkmjkljkklmkjkojiiiikgjhhhjjlkjjiiiijljihhlhjfhfghhggffgjfdeefeeechcdccebbdebaaabbaab``baa`_^```_^^^]\[\ZY[\ZZ]Z[[[Z\Y[XWWXWWXXXYYYWYXWWVUUSSRRRSQRQQPQQRQNNMOPOONNOPPPONMPPOPOONOOMMLNNMMOMNNMLLLLLLLLLLJJJJJNKKJJKKIJHHIKJJJKIHILJIIJIJHHHGGIGHHHGIGHGGGFGHHHHLHHIGGJIIGGFHGIHJKJHnmkiQ5:VPA?N_ife\OBC^lU@AI[igdVD=?ZeM<I_diebP@DVkfO<FS`mhgZM;AZmTAMflmWFQ\gqmlb_hy{zzzzzzyz{{{wsc=25@EJMORPPQQRTUSUVWYXXXXXWXWWWX[ZYYZYYYYYXXWYYZZ[]^\\\[[[Z[\]]][]^\\__^^`a`bbc`__```````a`aaaabcdeedddddgeddfeihhihgffeeeddfddcbcacbccccefffggeehiihffghggiiiiihhhhigghjkiihiiijiiijjjjkkkkiiiiijjkkmnnqponlkkjjkkllkjkklkkjllllkkklnolkmoollmmklllklkklllomnnnnmklikkkjkkkjjhkmjkllmmmkkijjjhggiiijjklkjnljjkklkkihhfgfhgghggghggffffeeeddcccccdecbdccba`bbbba``bbb`__```ab_^]^]\\Z\_[YZZZ[[Z[XZXXXXWVWXXYYXVVTUWUTSSSQQQRRRQPNQRQQOOOPOLPOQQOPOMNNNNOOOMOPNLKKNMMKLLNKLKLLLMLMMKLKJIKLNJKKJIIIJHIJKJJJIHIIIHIIJHGGGFGFFFGHHHGFHGGIFGGFGGHFHIHFHIHFFFEEIHHGHIonoiM4;VO=>VnkkieI:Jj]J<?WokjfcE7@[O?=RbnllcT@B`nR>;J_nmokhP>A]\OCIiqVCEUhzwvqovzz~{{{|||||{{|vsc;14?DIMNPOPRQRUUTUVWXXXYWWWZXWVVVWXYY\Z[YXXYX[[^ZZ\^\\\[[[[\\^]_\]]]]]]^_`aabbbaabaaab```c_aaaaddddeefehefeeeffihhhjeefedggfeccdcbbeccceceehhgeeefghffffhhgigggghhhhggghijiiijikkljlhijjlmjkjhhkilkmkkklmpppljjijkkllkkllmmmkllmljkpnnmlmonmmmmmllljklkkklmommmnmmmljjlonnkiikjljhjmkklnllkllmigiliijllljjmqklkkljkkggghiiiihjhgggfgggdcdhffdbbdddcccccebaaccbc`_`ac`a`b_``ca`^^^_]_]\\\ZZZYZ]Z[XZXXXYWXVWXYXWVUUUTSSRRSRQQQRRQQQRSRQPOROOLPPQONNPNPNONOOROOONMLLNMLJKLNMNOOMLLLLMKLJIILMMKJJJIIILIIJJHHHHHIIIHIIKHGGGFIFEFGGGFFFHGGGFGIFFGGHGGIHGIIGFFEFIHHHHIomoiJ4=VC4DcnmorfFDR`\D5JhnomicE6B[J>>[lnooeK7Eh]G;=VqpqppkS>@\`L;Ii]HAG`xuuvvvwz|}|}|}|||}~||ytd:02=CHMNOOORRRTTVVVWXXXWVVVXYWVUUXXWWYYXXXXYY[[[ZZ[[Z[[\[\[\^\\]]\\]_]]^_```bbca`bc```__``^bb```acccefeedeeeeffifghgeffeegffeeedbcccccedcddeffeeffegeffghgfghgiijhghegghijkkmjijjjiihijjlkijiihhhkkjjihmklllkkjjmkllllllnmllklmlkklllmlmpommpmonmlllllkllmmmmmmlkmmljkmlkkkjijjjiiijjkkmlkjkllliilijjkijikmmkklkmkjiggghgigffghgfffggfdddefeebabbcccdcba`aba`aba__`b_a_^^`aa`_^___]]]\[\[[ZZZZZ[XXXWWWVVUVXXXWYVVTSSQRRRRQPQPQRQQRRRQQORNMMPNONNNNNNNNMNNNONNMLMMMMLJKLMLLLMMMMLLKJJJJIJKKMJKIHIILJJKHGHIHGIHHHHIIHHHGFFFFGGGGFFFGFFFFGGGGGGHGGHHHHHHGGFFIGHJIKsoohG4>BA=JbmprqeIEZqY=DYgurtldC6E\F8CdjrpqcE>Ig`>4GiptrspoQ=@[aJ@Ii]B9Qrwyxz{|||{|}€}€€€}€~~}{vc:/1:DGKLMOOQRSRSVWVVVVVVVZVWWVVUVWVVWYYYWXY[YZZZY\[\\\[^]^\\[[\\]\[\]]]`_b`_aabaaea_acba`__ba`_^_fccefeecgedfggigggihhfefhgffhfddfdcccccdcccdeffghgghiijhgffgghiijghglhhjkkkjijkkkimmkjjkkjlhoiihkkjiijmkmnmmmkljilkllkkmollmpljjjjjkllnnmlkmmoqnonnmmlooommnnmlllllllmmlllmknnmjjiijokmkkklllkjjlmmjnjlmmmnjjlklmjjhjjjhhhigggifdeefhfeeeedcbadddccbbcbaaaa``ac___c_a_a^___`b^a___`][[\[\[\]]ZZYYZYWVVUUTUUUUWVUTUURRRSRUPRPPPRRRRSRSSRNMNONOOOOPNNNPNONNOMONLLMMLLLLLMLKLKLLLKKJIHIJJKJJIHIHHKLLJHHHGGGHGIIHHHIMJIHGFFGGGGGHFFGFFEFFHHGGGGGHHHHIIIHIGFGIGFGHHqppgE4E[G;Kapv{„oNQiiYLJ\hsqrsaA;GPEEF_hqqq`B:Nh^9=QgpqqqqmQ9?^dH:IfW9=]pwwwz}{{|}}}}}|}}}}zxa9/1:EHJLLOOPRQQRVVUUVVVWWVUVUUUUWVVVWXXYWWZZXYZ[X[YYXYZ\[[]\[[[\^\[\\]\^^_``aaaaa`__a`^____`a`___bdegfdddeefggggggeghheeghifeeeedddcedccddedeefhhggghiggghggghjiijfffhhilkkkiiijikijkklkjjihhhhihlkjhiijkkkkkkiigilkkkjklmmkqnkkkkjklllnnmmmmoppnnnnllllmnnmlmllmlllkkllllmmkkljhjkigjkkkklkkkjkjkkjjlkkkllkkkkkjljihhghhhghhhhhfgiggggfeededcbedcccbcdbbbbba`^```_`^^^^]__^`_^__`__\\\[Z\Y[\\ZYYWUXXVXVUUUUVVWUTTRRRRSSQQPQPPORSSSRRQPOMNOONNONNNNNLONNNNOONNLLQLKKJKLLKLLKMLLKKIIIIIIIIJHHJIHIIJJIHHGFGGGHIIIIIJIJHGFFGGIHHGHFGGFFFGIGGGGGFGGGGIHHHHGGHHFGHHHqqs`C>JXQLL`tz…†yPSlzhSTajopsp_:5L`L?D[honqX?:Ui[>=OemoprqlH5@`bF9IeRABZns{y~|{yuwy~~‚€€~|y_8.1;DIIKMNOOPQRRSTUUVUUXVVUVTSSSUVVVVXXYVVYZXXY[Z[XXWWY[ZYZZ[]]]^\\^]]]]_^``abbaab`__``__^```a```acgfffggffhhhghhifkhgeeeeedefegegecegffdefgeffkhggggkknijgghiiljkggfgghjjjjjkikkjjjjijlijiiiihmmljjjjggjmlnlljiiiijknmmmmlllkkklnljlnmooomnorpponnplnllmnnolnnnoolslnlklonmkkkihjiihjjklmmkklknkjjjkommlmmkklkkkljiiihgijihhihhhiigggggeeegdcceccccdddbbbafa`^`````_a_]]__^_`^b`a`_]`\[[[YZ[[YXXWW[XVVVVWTVVZWUUURSRRQRPQQQPPQRRSRRRQONMOONNNNNNMNPOONNNNNNNOKLLMKJKKKLMMLKKKKJIIIKIHHHGIIIIJJJIIJLHHGIHKJIIIIIILIJIIGFGIHJHHHFFIGFFGGGGGGFGGGFFHHFGHHHHJIJJIIrqqYC=Sk\RV_o€ƒgMVozƒgWasponmS57P\]METiomnQ<:[icCCMailmorY?9Be_E:LdUACWkpyz{|ohmq|€€€€}|y^7-09AFIJONQOOPSQRTUTSTTTUUUTTSSTUVWVVWWVVVYXXXXYXXXXXXY[ZZYZZZY[^\]^]]__^____`a`aa``^`a`````aaaaabcefffhkfgfffgfffeeffeeheeedededeffffccdefeeefhiihggjjjihghhhhkikhgggghiiijmjijkkkjiiiiijhjkjijljhhhiegikklmlljjiijkkknolllllnlllmlomkmlllnllmoponmllllmnmnmlklllllllmkklllkklhfgghhijlnmqlklllkjjjjllllmmkjllkjkljljjjijiiggghiiihghhgfffgccccccbbdcbbcc_`a`]__`_a___^]^_^^`^___^]]\\[ZZZZ[YWXXWWXWVUTTTTUTVVUTSRRQRQPOOPQPQRQRRQRSQOOMLMMMNPONNNNONNNONMNNOLLKKKKMKJKKKJKKLJIIIJJGHHHFIIIIJHIGHHHHHFGFGEIKIIHGGHIHHGGFGGHIHIGFGHGFGGGFFEFGGGFEFGGGHHHHGHHFIJsrp\ENdjkfaelxr\VYsƒƒzjcholk\H4;Vib[TQ_olmM:GahiSFK]dnml`N94IjaDCQbfPFRinwvvl`Z[o€€€€‚€y\5+.7BDGJNNNONPPPQUTTRSSSSSTSTTSUUUXXWYVVVUVUVVWYWXXYY[[ZZYY[ZYZZ[[]^]\\^^a``^_``__`aaa```cbbaaabcgeefffhgffgfffffgeefifeeeefdeeeeeedeeehffeeeffghhghhliiihhhhlkjijihhighijijjjiiikjiiihhhjkkkkljjihkgiilkjlklkkjjijilkknmllnnnnnlkmmmmkoklmnllmrppnnmllmlmmrmklmlmmmmlllllklkkkgghgghijnmmmlknllllkjkklnlplkjlkkjijikiihhjijhjhhikijhihiffffbfdeccbcccaabc`]_`_b```a`a_`]]^`^`^^^^^]][[\\[[ZZYXXXWXYWXTTSUUVUVVUTSRQRSQONOPRQSQPRTPRSQOOMLMONNOPNNNMMNOONMMNNOMMLMMMLJKLKJJJKLJJJLIJGIIIIIIIIIJKIHHHHJGHIIGHIIHGGHIIHHGGGGGIIIIIGGGHHGGGGIEGGIFGEEFHHHHJHHHGGIIssra_\iqnkmnpssi`Wex€†~ynegfjWG5>Zgjfc_^negKKOcskaWM]^cd_VM8BRbcJEYqi]TN]knsh`YQap~€€€€€€wZ3*-7CDFHNMMMMNOOPRRRQQRSRRRSSSSTUUWVUVVVXVYWWVWXWXYXXYYYZZXXXXZYY\[]][[\]]]^^^_^^___`a__aaaaa``acedegffgfeegfghgffeeffefeedeeegfffhgfffffefeegghhghhhhgijhjiijiikjhhgggggggjiiiihjjigghhhiikijkjjiggfhjklkklllkjijkklllllklljjjkkkllllkljlonmnnnnnnnoonnomllkllmknnoplllljgijjjjjhghihjmnllmllllmkkkkkkllmmljkjkhiiijjiihiiihhhihihihhihghhfcfbcaabceca`aaa_^^^__`_____`^]^^]^^]]]\\][[[Z[^ZYYZYYWXWVUTSSTSSTVUUUSSRRRQPMNPQQQPPPPOPRPOOLLLMMNONNMMMNNOONMMMMMNMLLLLLLKLLKIJKKJIIIGGGHHHHHIIIJJJIIHHGGGHHGGHIIGGGGFGGGHGGHGIGHHGGGFFEFGGGGFFEFFFHFEGHGFHHIJHHIIsssigjutsrrrxxylimqv€‚~~khgh\G;AdupoljjkiaZWbsqtlld^^_eXUMLO`rgQXgpsjc]Zlff]^Ubqx‚€€€€€€€€€wX2(,9?DEGHIKLMONMOQQQPPOPRQRSSTTTTUUVVVUUVTVYWWW[XXWWYYXXY]WVWVWYY\[\[[[]\\]___^]^`^^_a^^__`bacaaceegfefgfeegffghfeeeeefifeeefffffffeefeeeegggggkggggghgihghhiihhiighggffgiihihijhmjihhhkhiikihhhihfffgjkkklllmjjjjkklmnnlkkpjkjlkkllllmmkklklnnnmroonlmonmlllnlmlonmmlknjhiijihihhhiihikmnmmmolkkjkllooomnmnjkjkjjiikkjkikilihhkiiijgghhilggggddefcccca`ac`_`_^_`c`e___`^^]^^^]_^^\[\Z[\ZZZ[[\[[YXXXVTTSRVTSTVVUVTSQRTQQNNPQQQPPPQPOPRPONPLLMMNNMMMQPQPPMLLOLMMMLKKJKKLNKLJJKLJIHHHIIIHGGHHGHKKKIJHHHHGJGHGHIKHHHGFFGHGHIIIIHHGGGGGGGFFGGGGGFFFFGGGGGFGJKKIHHGJssqlnrtssrrrtvummoruyz{|sjgie`J;Mlrsrpqrtvkhouvwupnmkhgfc_`bjqmkkiqzvsqomlkie`eqy€~€€€€€€wU1'*6=CCFGHJKLLMLMNOPQONOQQRRSRRSUTTSSTWUVUUUUTTTUVWWYWVWVWWVXVVWYZ[[[[[]\\\\Z\\\]]\]]^]^^_`a```abdddfdegfeddefefgddcbgefffffhfeeeeeeeeeeediffffgggffffeffghiihghhhggggfffjghiijjgmjijhgghjjhggggggggjiijkkkljkkjiknkkmomlkikkjjkjknmkknmklnmlmpolnmmmllmnnlmnlkllmmmmljkjiiihgggfghigiijkmmmkollklmllopmnnlkjiijkiijkjjihhijihgiiiihhgghhieeefedcccbccbaab``__^_`_^a``__^]]]\\\]]]^\\[[[[ZYYXWWXXWWWWVWSSUUTUWWWVTSSRRRPNOOOPPPPPPQPOPQONPKNNNNNKMMMMNNNMMMMLLLLKKKKLKKKKKIJJLJIHHKIIHHGGHHHHHHJJIHHIIFHGHFGHHIHGFFFFGGHJHFIHHIGGGHGGFFFHHGGGGGGFGGGIGGKIIHHIIIstwvttvsvvvtsssooqutwy}xkebhb^NPWqzvuuuvwtsvxw{z{wusrrrqopqsuv|ttu~{xwwvvxzvsuwz€€€ƒ‚…xS.%(3<ABEFGHIJKLLLKKKMNNNOPOOONPSTTUURSUUUTUVUTTUTTTTUVUWXYWVVUUUWYXXY[[\[\\][[ZZ^_\\]]]_^^`a`a`cceccbbdgggdddfedcabbcgehgggggfffeddeegfeddeeeeffefgfddeeeegkjjhighgjhggigjhiiiijgliiiiiiijhgfighgigghhijkklnjilijjkjkonmmnkjkpjlkkmnljnlllklllnpnpnrmlklmplmlllmkllmmnjlkljlghhkhjikjkjjkmmmlnmmlomlmonmmnlmiijijkkkjjihhhihhmhhhkihhhgihifeegfcdbbeeebbbd`b``_____aab`a_]]]\]]\]\\\\ZZZZYYZYWWWWVVUWUWSTVTTUWWXUUSRSUQOOPPQQRQQPPPPPPPOOOMNMMMMMNNMMONNMONNLPKLLKKMKLKLKIHHJKJJHIIGHHHHIIIKHJIJJIIJHIFGGHGGFGIKGEFFGFGIIGFJIHHGGFFFFGFFFHGGGGGGGIGHHHHKIIIJIHIstutttutvuututspqruuvxyunbfgf_]]gvwwvuxyxuwxxxxxz{xvuuutuvvvwyywx|}}|{zz{{yyz}}‚€€€€€ƒ‚‚ƒ‚ƒ€xP+%&1:=@BEEFGHHIJKJIJJJKLMMMNNNNPSRQQRRSTSSRSTTTSSSUTSUWWWVVVWVUUUVUVWY[[[ZZZZ[ZZ]\Z\\\]]]^a````bcddbbcedbcdddedcabcbceegfghhhgfeeddedcddccdcbfggdefeddgeeefffgggggghgfffeffieiihgiiiijjjghggfffghhhgghhjnmlmijllkkjkkonnnmjijjjkjklmllnnnllllmnnmmmomnnkjplmllijjjkllnjmlljighhihiiihkjjkkklkmlmmmlmmmmmmllmijhjjlkjgjiihhhhgihhhiihhgfgihgffffeebbddcccccaba`__^_a_^^^`a][\Z]^[Z\]]\[\\\YXY[WYWWWWUVUWTSSSTUUVVUUURSRPPPPRQPPPOOOOORPQQPNMNMMMMONNMLMMMLMONJKKLHJJMKJIIJIIIIIIIGHGGIIIIKIHHHHHIJIGGGHGGFHHHGGGGFGGFGGJHIHGGGGGHIGFGEGFFFHGGGHHGFGGGIIHHHHKIIHGtuutwtutwvvtussrvvuuvxxurrrrrolruwzxz{|z|{{{{yxz~{|{{{{||}}||{{|}}}}ƒ€‚‚€€‚ƒ€€‚ƒ‚‚‚ƒ‚wM)"$-7:>ABCDFGHHKHGIIJIIKLMMMMPNOPQPOQSSSRRRRRRSSQQSSRTTTUUUVSRTTTTTUWYYYXXXXY\ZZZ\[]]]\\]^__`__bbbbbacddaacfffccbbbbbedjggggghffegcccccccbceagggdeeeddefgfefeeeggkkkfhefffeihhhihjjjiijjgigffggggffggkhhihlmljklklmlkoopmmklkljkjlmmmmmlkklolononnmpmnlkkommlljjjikllmklmojjjiikiiijjjjjljjllmmnmlmmmnmmlqmmkkkjklkjhjkliihhhkjjjihgggggghgfggfeeccfcbdfccccab`a``_^^a_`^\[\[_[YZ]\_]\[ZZYXXWWWXVTUUUTWUSTVWUUVVVSRRSSQPPPQSQPOONNOOPOPOONMLKMMNMMMLLKLOLMMMKNLKIJKMKIILJKIIHHHIHHGGHHHGIIIJHHHHIIGGGHHHFHHIGJGHGGFEEEGHIJHHGGHHIJGGGGFGFHHGHHHHGJGGHJIGGIHFGHHrrrssrsstvtsrrrssstwwxvtqrsuroqwwyywzyyz|{{{{yz||{{{|}{z|~~}}|}~}~~‚€€€‚‚‚‚‚„‚ƒƒ‚‚ƒ…uJ'!#+48<>?@ACDDDDDEIGFGIHGHJIJKKLNLLLLMMOQQPONNOOONNPRRRRRSVSRRTSTTTUWWWWWWWWWY[[Z[[[[[[\]^^^^^__````_abb`abbbbaacbabbdeedddfggefcfccdbccccdcaddcbcddgdddddcdddceefggeedffeehjhghhihiigfiggeffhjhhgehggeghimmnlkklllkklmlkjjlkjijjlmmlmmkkklklmmoomlnmmjkkllljjjjljnllkkkkkkkliijjjjijjjjkkjkllklllnnllmllqmlmkkkkkkjgkkkiighhhfffggghgfggffgigeeedccccddccbaaa^^_`]]]^]^]\[ZZ[XYY[Z[][[ZZZZXVVVVUUTVUTVTTTXVUUVUUSQRPQPPPQQRQPRPPOONMNNNNNKLKLLMLMMLKKKKKLLLJKKJJJKKJIHIIJIHIHGHHHIIIHGGHHHHGGGHHHGGFHHHGHFGGGGFDEEFEFGGJJHIFGIHFFGGIGFFFHHHHHHIGGGGHHJGFGFFFHEqqqqrssrqqrqoprrtsrssstsqrvvxwwvwwywzz{{|}|~{}}€~~~|}}~~€}€€~€‚‚‚„ƒƒƒƒ‚‚ƒ‚‚…ƒ†††„ƒƒ…„rG%"*67<;>=>?BBABBCEGGFEFEEEHHKIIJJJMLLKMMLMNNOOOLKLMOPQRQPQPPPQRSTUUVWUUVXVVVWXXY[\[ZZ[[\`]]^_^aaa`__cba_bcdcd`abaacddddddfghhgggfeccb``abbbbdcbbcdddddhcededcegeeffffefehhhiigghgghhffhfffggkhhhigihieghjmplnkjmlmnmmnlkjjlkjjjjlmomlkjkkklmpmonlknmlkklmmlkjjijjkllrmqkjjmjjkllojlijkkkgjmklkmllmolllnnqmmljkkkmlmllllllgjihihhhhhhjghgihghideegcacgdedcaaab^]^`^[^__^]\]_[]]\[[ZZ]YZ][[ZXWZVVUWWVVTTTTTTUUTTTTTTURRQPPPPRPPQOOMMMMMMONNLKLNNPKMMOKJJLLMLKKJJJJLKKIIIJJLJIHIGIHHHIIIGFGGIHFHGIGFGGFHHHIIFFFGFEEEEFEHGGHIIIFGGGGIIHGFFGFGGGHJJIGGGGGHGGGIGFFHFijjjklllllmnmmooooqqpoprsrsvrqrttuvwwwx|{zzzyyyzzz{}{z{||}}}~~~~~€„‚…ƒƒƒ„ƒƒ‚‚ƒƒ‚ƒ„†……€pD$"#-69==>>>??@@AAAABBCBCCBBCCDDEFGHIJJJJIIIIIJJIHIIKMMMMMNPOOOOQQQRRRSTTTTTTUWWWVY[YYYXYYZ[[\\\^^][]]^^__`a```abedbffhhknswxz{|{zslhcb```````aabccdcccddbeddbcfedfcddfeefhghhhhggfeheegfegffgjfghgefgffggkkljlkknmmmllpljjkkjjjjklllmlkkjkjklllmlkklklklooolkkjjjkkllllmlkjmijklkkkkjjkkljjjikknnmllkllmmmmmljiijkmljjklnkghjihijhgggfgggggggebdefbcddddecaa`b^^\`__^]]]^]\\[[[[ZZZ[\ZYZ[[YXVVUUUVVVWUVTSSSTSTTTTSUTRRQQQPORPPQPONMMPLKNPMLKKNMMKKKKKKJKKLLLKJJJJJJKIIIJLKKIHHGHGGGGGHGGHGHGGGGGFFGGFHHGGGFFFFEEFEDEEHFGGHHIEFHHIHGGFFEFFFFGGHGJGGGGHHHHFGHGEEEabceeeeeeeffffffghjklllkknppoopqvuuuuuvvwxxyyyyyzyxxyxz{{{~~‚~~€~€‚„€€€ƒ‚………„…‚kB'#+19<=>@A@@?@BBBBBABBCBBBBAABCCDEEFGHFEFHHGGGHGGGHIJKKLMMNNOPOOPPRRQPQSSRRSSVVWWVWXXWXZXXYZZY[_]\\]_````accdeefiklpv{‚ˆ’ ¤§®µµ´¨™†rjccbab`c_aaadecbbbbbbeddcddffgdeegeefkghgghgefdhddeddgfffkggggdcddfghkknklllnnnnllllkjkljijjkpkklnnmjjkjjlmolkjllnllnnmklijnjklpmlmooollkjknklllknkklkklkklnmmlmkmlnmmmnljilijjjkllkkjggkkkjjgghijjjggfggeefeeeeecdfgfca`b_^]a^\\\]\\]\[[^^^[ZZ][ZZ[[ZXVWWUVVUUVUTUUUTSTUUTUTSSSSRRQPPPRQSRROQNMOLLNNLLLLMLLKKJKLLJJKLLNJKKKIIIKILJJJIIIIIJHGEFHHHGHHGGGGHHHGGGFGHGGFGGFFFEEFFDFEGGJFHHJGFGHIGFFFGFFGHFGFIHJHGGKGHHIHGHHEEFbedgdcdgecfefffffdeffffghghhhgjjjijklnnoppqrrrrrstttvwwwxwy{xwwxwwy||{|}{{||}}~~}~~}}}}~{eE06=AEFGGHHHFEFGGFFFEEEEEFEDCBCCDCDDEEEEEDDDDCCDDDEEFGHHIHIJKLKJKLLMMLLMOOOOOPQRQQSTUUVVWXYYYY\_acdfhknqstvxyz„‰”™ ¨±ºÀÇÇÇÈÉÉÈÈȼ²–€tjf`__`__^acbaacaabbbcbbddfacdefefeeggggfffeedccdgddehedfhgdecddefghjkkjljlnlkmmkjkkjjiijkkkllllkjiiikjjlnnmkjkllkmnnmlljiljkkonnmnlmnlkkklkkkklmkkmlklllllkkjklllmmmmlkjiiiikjlkjkkkiilkjkihfgghhiefffgffecedeeeffdddb```]]^]]\\]\\[ZZ[\^\[ZZZZZZZ[YXXWVUWWUTTTTTTSTUTTTRSPTSRRRQQPOOPQQRQOONNNNOONMLLJMKKJJJJJJJJJKKJJJIJIIHIIIHIJIHIIIIHHFFGGGGHFGGGGGGGGHIHGHFGIGGFEFFFGGDEEHGGFGGHHHHHHGGGGGHGGGEFFFGGHHGGGGGHHGGFEEGcdfededfgfgfgffffeiflihfigegighijhiiijklllmnmlkkkkmllmnmmnppppqqqrtuwuuuxwvxzz{||||||}|}}}||||y^HIMTYZ[ZZXVWWVTRQOMMMKIIJIHGFFFEEEEFGGFEEEDCCBEDDDDDDEFFFFGHIHHIIIKJJJJKLLMMNOOPSQRTUUVXY\^`cglrx~ƒ‰•š¢ª­¯®®¸ÂÇËÎÐÐÐÏÎÎÏÐÒÍÍËÐÌËÉÊÇŪ›„nea``__^abb`a``acccbaadefabceefdddgfefgffehcddcdeddefeefhfgghefgiikjkjlkklmknjiiijmjiilkhkklkjkkjihiijmmmllkklolmnqnmljjmjmkpprmnlllmlmllkmjjkljjnpmmlnlklmjklonmmlllkkijhhijjklmkkkkkkjjjkfffgihfffhhhfeefegfgffcdab`^]\]\\^\[[_\[YY\[[[[ZZ\ZZZZZXXZX[UXWVVWTTTTTUUTTUSSQTRQQRRQQOOQPPPQPONPNNOOMLLKJMKKJJIHIKKMJKKJJIIJJJIIIHHIHHGGGGGFGHGFFFFHGHHIGHGGHKIIHHGGGGGHEGFGFGEHGGGHGIGHGIIHFGHIIHHHHKFGEDFEGGGGGGGHGFGGFEFededebdeecddfefeeeefghgfghgfgfhfhhhhikkkkmmmkjkjjlmkllllmmoppooopotqrrsqsprooppoonmlmmmmmmmmmmgZRQV\]^`abccbbb`_^^^_^^[XWVUSRRPONNNMLLKKJHGFEDEEFEEEEEFGFEEEFFHFIHHHIHJJNMNOQSUXY[_chlqw|‚‡“𥰹ÁÂÄÇÊÌÎÐÐÏÎÏÍÏÑÎÍÍÎÎÎÍÍÍÎÎÏÎÍÍÍÍËÊÉÆÅ»¯“}tfd_^^_^```_`aabbaabaaaabbbbaabcdddeedddcacbbbcccdfgeddeeeeefiihiiiikkjijjihhhijkkijkjjkkmjjknljiijjjjkkkklomlllmnnmkkljmkmpqllllklllkkjljjklhkoommllmmmmjkkljkikjkjihiiihiikkkklmllkjjihggghhggfdddfefffeeeeeeaa_`_^]\\[[\\[[\\[ZY\[Y[][ZZYYYZZXXZVVTTTTSSSTSSSSUTQRRQQRQRSRURQOOPPQQPQOONNNMNMMLLJJJKIJIIIIIJIKJJJIIJKJIJKIIJIHHGGGFGGGFEEFFFFGHGGGGGGHGIJHGGGGGHEFFGFGEGHGFGGHFGIHGFEGIHGGFGGGFFEFHGGGGGFGFGHGFGGFGifhdebddedfdgfffeedfgidgfghhhghhhhihljjkkkkkjkkjjlonnmmmsmppopqptrvrssvvuuuvvuuusssqpomnqmjjika\W]cbacdeefgghihikkkihggghgedcddcb`]][XVTSRPNKJIHHIHHIHHIIHGHHHHHIIIJKMNORVZ_djpx‰‘™£¯»ÃÊÏÓÔÕÖÖÕÔÖרØÖÔÒ×ÒÑÓÔÒÐÒÔÓÒÒÓÒÒÎÓÑÖÕÔÔÔÑÑÑÑÐÏÏÏÅ©•mg`_a_a_`a`_^_^_`___`bcaaaa`bbddedddeca`faabedededdeddhefefjiiiiljljjjjijhghljkihikiiiiijiikmjmkljjjjklllmmmmknnplmmljmllmqlllkklllkmmmmnllmmlnnnlmlmmlklllmmlmmmkjimiiiiilkkjomllmkjihghhhgfgfeeejeghhffeeddba``^_]\[Z\][Y[\]^[Z\[[\\\YYZZY\YXXYVUTUSSSUTTUUSSSTSSQQQSRRRRRRQPPOPRQPPOOPONNOOPNOKJJKJIGHHIIKKJIIIIIJJJKKJHIJIIHGHGGIHIGGGIGFFGIFGFGHGHIHHHHIIIGHFGFEEGFGFDGHHHGIHFFFFGHHGGGFHGFFFHHHFFGHGGFFGHHHGIGfeeedcdcecddeeeffffhgifggfgigggggghhiijjkjiiihhgkkklnmnmmmooooqpqrrqsstssssruutttttsstuusqrsnlhefgedfghklljjkkkjklkkkkkkkkkkjiikjijihgecb``_][YWUTTUTRSRSTTTTUWY[^adhlt|„Œ” ©´»ÂÉÐÒÔÓÒÓÔÔÔÔÔÓÓÓÔÖØÖÓÖÓÔÓÓÔÔÔÔÒÒÓÓÓÓÒÑÑÑÎÎÏÕÓÔÕÔÑÒÒÑÑÏÍÍÍÌ͸¬’|rca^]]]\\[]`^]^^]\]^^^aa`_```abaacba```a`bbbccdccddcdeffgjihighiijjiijhfghjiihggijihjkiijkjiljkjkkjkllmnnqmlnomjjjjjknlkkkllkkmmkjkiklnnnnmmmmmkllmmllkllkkjkklijjjiiijhijjjnmlkkkihhhhhhjkligffgehigffefgdcba_]]]\]\^][\[\Z\\\[[[[ZYYYXXYYXXXXVVTSSSRSSSRRRRRSRQPQQRRRTSSQPPPOOONPPNOOOONOLLLKKKIJJIFHIHIJJIIIKIIIIJHIJHHIHIHHIHGGGGGGFFGFFGIGGGFGGHHHHHHHHHFHFFEEEFFFFFHIGGGIHGIFGGIHGGGHHGEEGFEFGFFFFEEFFFGFEHHeeeefdddedeeefhgggggggggheefgghgghhgjikjljihhikhkklmolllnoqopoqprrsrsssrrsstuuuvvuuuuuuuutssrrrqoihijklmonooonnnqqpnnprrqqrstsqpoopnmnomlmlmoliiijljihhijkmorx€ˆ™¦¯¸ÃÎÑÓ×ÚÚÚÛÜÙÖÙÛÚÙÛÜ×ÕØÝØÚØÝØØØÚÖ×ÖÜרØÙÖÖÔÓÕÚÕÔÔÕÓØ××ÖÖÖ×××ÖÕÔÔÓÓÕÖÔÒÐÓÅÄ¥|ic^\[\\\\\]]]\\]]^^^a_^^_^_`d`_`a`____``aabbbcddgcefgfggghhghijjlknhgfiijhhglghhijjjhiliiimjljijmkmmmnoonnnllkjjlkjknllkkklkqmkklllmonnmmlronllmmmmlkkikjjkllkkkjijijiiijlnmnkljihiijhiikkjgjgjfggffffffedca^_b^\\\]\\\[\[\[ZZ[\\Z[YYXWYZXYY\WWUTTTRRRSRSRQQTQRRRRRRRRRQPORPONNOPONNMMOMNLLKKKLJJJKIHIIHIJLHIKJHHHJHHHJIIIJIJHHHHGHHHGFGFFFFFGJGGGHGGGIGJHGFGHGEEFHGFFGHIHHGIGGGHHGGGGHGGFFDDEEFFGHFGFHFFFFFFFGFfhfeedeeedeefghgfefffgggfefgffghhffgghiilhiiijjhjjkllkklnopoonnnsqsqrqsssutvuwvvvuuwvvwxvuuttusqojiijjlnnnonoooopqppprrqqqqrrrrrrrrqrssssssttvwxz|ƒ‡Œ‘–œ¤®·ÁËÔרØÙÛÜÜÜÜÜÛÛÙÙÙÙÙÙÙÙÙרØÙÙÙÙØØÚÙÙר××Ö×ÖØØØ×ÖÕÕÖ×ÕÕÕÕÒÔÔÓÑÒÐ×Ô××××רÖÔÔÕÔÑÐÑËۦ‹ul_]YYYZ[ZYYYXXYX\^]\\\\[]^^__^_`^^^^^_`___`bbbbcdfeeefeeggikjihijhfefhgggggghmikjjihkgiikkigijjjknllmmmlkjkkkjjjijklljllkkkjjijklmonmlllnnnomqolnnkjlkkjiilkkkjijiiiijklkjkjlihhhghhhhikjhgfgeggeeffeeeecaaa`_`a]^]Z\[\Y\\\]ZYYXXXYXYYXWYXXUVWUTTRRRTRQQQOQPQRPPQPRQQPNNOONNNOOMMLLMNNLLKJLLJIIIJJIIIGIIIHIJHHHIJIHHIIIJIIIIGGGGGGGFGGFFFEEFGHGGGGGGHGGGGFGEEEFFFGGGGHIGHFIFFFFEGGGGGGGGGDDDEDEEFEFFFGFFFFFFFFgfffeffedefefgigffefgghgffjgihfgihliiiijlkkkjjijkkkkmlpmmosopnopsrrrrqssrstttuuuuuvvvwxxzuwvvvwqpkjklmnmopposqrqpqrrtrrrrsuuvvvvwwwxyyyz{}‚‡Œ‘—ž§±¸¿ÇÏÕÜÛÜÞÞÞßßßààààßßÞÞÞÞÞàÜÞÝÜÚßÛÛÝÞÞÞÜàÜàÛÛÜÞÚÚÛÝÜÛÙÝÚÛØÚÙÙ××ÖÙÕÖÖÕÕÔÒÕÒØÕØ×ÚØØ×ÚÚÙØÛÕÕÔÓÍȼ·š„sb\YXYXYXWWXXXWZZY[]][Z_]]Z[]_][[[\\^__^^^^_`bbeeeddfeegfkkjgghjieegggfefffhiijjihhkikkljiiihiijkllnnmllkmkkihghiklljnmljjkkjnmpmnmmlopomnpmnomnmjjjkkjijlkllmiklljijkklkkjkijiiimihghijihgggggeeefgfheecba_^^`]\^Z\[[Z\\`\YXWXXXYYYXWWVVWVXVUUTSTRSQQQQQRQPPOOQRRRRRRNPONNNNOMMKMMOMLLKJKKJIJKKLKIJJIIIIJHHGLKKJKIHHIIIJJHGFGGIGGGGGIFGFGGHGFGIGGHHGHHHGGFFEGFHGGGIHHHHGJGGFFFFFJIIGGGGFGDDEFFJFHFJHHGHGGGFFfffhfffffgfefggfefeefffgggggilhgghiiihijkijijijjkkjkmmnonooooooprrrrrqsrrrsuuuuuuuvvwwwvwvwzxvvrqlllmnnnoppprqrrsutstttttuuuvxyz|~€‚…ˆŒ‘—œ¢©³¾ÊÕÛÞßàáââáâáàÞÞÝÝÝßÞßàßÞßÞßáßÞßÝÞÞÝÚßÛÜÝÝÝÝÛÜÛàÛÝÞÞÛÛÛÜØÛÚÝÚÛØÚÛÔÔÓÑÑÑǽ½ºÅÏÍËÐÓÒÓÖÙØØØØÙØÚ×Ö×ÕÓÍÇÁ½¦—~g_WVTTUUUTSUXVTUVWVXYZZYWY[[XXYZ[[\^__```^^_`accccfddefhihffghieedeecddegfegjjffglijljihghhiiijklllkjkkkjkgggihhihhkokjkkkjmmlllllkokmlmommommkjhjmkllkkkkijikkkkjhjijijiijjiihjihhhikmiggfggefegfefdddcb_]__^\\Z\][Z[[[YXWXXXXXXWWWVVUVVUUUUUSRRSPRRQQSOPSPOPQQPPPPNMLNONMMMLKLLKKLJJIKJJHHHIIIIHHGGHIHGGGHHHHIHGGGGIGFFGGGGIFFGFFFFFFFGGGGGHGHIGGHJHFFFFGFFFFGHHHHHHGGFGFFGGFHJIHHGFFEDEEFFFEFGHGHHGFGGFFefhgfffghfffhgfffeeegfghjjkhiiihhiijlhiikjjjnjjknkklmnqptnnooonpqsttttvrsrsuuvwuzyyy|yyxxyyyxvvsrnmmooqopqutttstuuuvvvvvvxz}€ƒˆŽ”š¡ª²¾ËÓÚÞÜÝÞÞÞßààáááââââââââââááááááááááááááßáàßßÞßáàßÞáÞàßßßàÞàÝÜÜÜÛÛÛÝÜߨÛÎÍÈø®§ž‚s~”£¯¼ÈÎ×××ÖÕÕÞØÛÙàÚÛÛÛÔÖÐÉÄı§†k^TSRPPPQQQSTTTUVTVTUWYWXZZYXYXY[Z[]^\\\]]^]^_`aa`abddhgggfdcdebbccdddddddfhjffhkhghjimhkkkighkihjjjlljijhjjmhhimhjkkknmmmmlllonnnolmlmmmnnoollmmjklljiknklkkkklkkokljjknjiijhkilihjkihghgffeecgeffdbceb_^_`b\]]]]]\[Z[[[YXXZWXWWVVWWUVUTTUUUSRSSRQRPQTOORPPTPPPOOPOMMONNMLLNKKLKKKIIJKJJIJHHIKIHGEGGGGFFFGGKKKGFGGGIHFFIGIHHFFFEEEEFGGFFGGHJHHGFGIHGGFEFFEEFGGIIHGHIGGGHGHHHFGIIIIGEEEEGGGFFFGGIGIHGGIFGGffhfgffhfefffgffffffghhhhihhihiihjjjihihikkjkkkklllmoqpnnooooopssrsqrtssstuvvwvuxwxxyyyyxxxwwvvsqnnnooppqqrsstvwyz{{}€ƒ…ˆ’˜¡©³ÁËÖÝßßßàááâââáââââââââââââââãããââáàáâââááááââáßâáááááááàÝßÞáàßÞßÝÞÜÞàßÞÜÛÝÜÜÙ×¹ª›‘zuqdVVXr|ƒš¿ÄÈÏÖÓÓØØÙÚÚÚÚÚÚÖØØÒÌǾ´«ŽvdPMKKKMNOPQQQRRRQQRTSSUVUTUUUWVVXZYXZZZYZ\\\^a__`aa`bccbbbaa```a``aaaabcdffefjgfghiggffffgffghhhjghgjihfiiighhhhhilklmkiklllmknmmkmlmmlnmjkjjkmikkkiijklkjkkklkjlkjijmkjiiihhhjkkjiggfghgdefegfffedcdba`_^a]\[[[[\[Z[ZZYXXYVWUWVVWVTTTTTSRSSSSSVRQQQQPPQPPPPPRPOOPMMONNMMLLLLLKIIIJIJHHHHHHHHHGGGIHGGGFFFGHIHGHJGGHIGGGGHGGHHHGGFEFGFEFFFFGGGFGIHGHIGFFFFEGHIIGGGHGFFHGEFFFFFIHHGFEGFEFFFEFFFGGGGGGFFFFGgehghggffefgggeffffgggjhhihhiijhgiljjiihikllllmlmmonpqpooppooprsstvsrtxwwwwxxxxx|yxxz{zxwwyxwvurqoonoqrrrrswyz|~†‹‘—¡«³¾ÇÏÚÛÜÝÝÞßàáâãããââââââââââââââââãããããããâââââââââáâââáââââááááááàßàááááàààààààßßßßÜÝØÖ©’ƒrcXOGHN]nrlio}Œ´¾ÔÖØ×ÞÛßÜÝÜÛÛÛÛÝÔÕÊÆºµ˜cJFHJLKLLLLMLLNNOPONQTTTTTSSSTTWVVVYYYYY[]]\]]^_ab`_`abaa```^]]^^____aabceefddeihjfhegddgjefgggififjhggihkkkhgghikkjkkjkllmnlnnmmnlmmlmljmmmlnmljjjjkkljknlkkkkkljjjjjiiijjjhjjjjhhjfhhifefffgfffecdba`_^`^\[ZZZ\Z[[ZYXXXZZZVWVUUVTSTTTQQQRURRRRQQQRPQQQPPQPPPQOONNQOOOPKMLMKLJKJMJLHHHHHGHHHHGGHIGFFEFFHGHIGKHFFHHGGGHHGGHJGHGFFGGEEFFIFFFFGGHJHJHHGGFGGGGGGFGGHGGGGGFGFEEGGFFGGFGEEFEEEHGGGFFFHGFFEFGgegfgefdfeehghgffhhhgghhiiiiihhhhhiiihillklmlnnmllmlnnpoonpqooqprtttstuuvwwxxxxxyzxxyzyxwuuuwvurqoooqsuwz}€„Š–¥®ºÇÖÜÝÝÚרÙÜßßÞÝÝßâããäãââàÞÞßáââããããââãããããããããããâãããââââââââáââââââáááâááàáááßáàßÞÞÞÜÛÚÙØÒ®¥|w_RJ@>=IqnŠhefhlr…”§ÀÆÑÔÖÛÛÜÞÞËÏÍÏÒÐÑÍĽ³œ…gIC>AGILLNMKKKNMMMMMOOOOPOOOPQRSSSSSTTUUVWXYYYYYYY\_^]\\][[\\\\[[\^^_``^`acdcceieccccccgfeedegffgeeefgihhhhffgghhhjkjjkmlnllnnmmlmlnmmjiigijjjjkkikiklkmmlkklllkkjjjijiiiiihijjjihhgggfgehgffeeecbcba``a`^\[ZZZ[[Z[ZYXWWWWXVVUUTTTTTTSRRQQQQQQQQQPPPQQQPPOOOQMOPNMLLLLMKKLKJJIIIIHHGHHHGGHHHHGHHGHFFFFFHGGIGGGFEFGGGHFFFHHHFGFFGGGFFFFFEFGGGGGHHHGGFGFGHHHGFFJHGHIGFFEEFEDGEFEEDFGEEFDDDGGGHFFGGGFGGGIgfghhggeedceggggghihihghkkjikllhghjhmjjjjkmlklmlmmlmnnspqqpppoqppqrsstvuwvwxxxxyyywxzyxwxx|uwvvssppouy‡›¦³ÃÑÜßÝÞßàáâãâѱœŸ©¸½´®¹ÊÓàáããããÖÉÀÊÙÛââããããâãäãããããããããââãããããââââââââââââáááâááàáàßßÞÞÝÝÜ×̾±£“€o^PLFC5007DQ\cijnlihhr|”³ÁÍÐÚÙÜÝà×ÒÐÅÇËÑÜÏË¿¶¢–jI=8<CGMNNMLLMMKKKLMNNONONMMNOOOOOOPQVSSTUVWXXXWWYZ[[Z[\YYYZ[ZYXZ^^^_`^]^`aabaaaaaacccccdcbbcbdfffecgkiggfeffighiijkiiiiiklnkklkkkklljjjiiijhiklkjkkmkkilklpmmkjkljihhiijiijjmiihigfffgdfgghfecaaccdaca`^\[\[[[_Z[ZYXWWVVYVUUUUUSSSSSSQRQQQQQSQQPPOOPPQQOOORONNNMNLKKNKPLKJNIIHIJIIJHLGGGGFGHIHGFGGGHHGGGIGGGIGGGIHHGFFJHHHHGGFFFFFFFEEGHIFHGIHGGGGHGHHIGGGFHIIIHGFEEEFECFEEEEEEEEEGDIDFGGFFGHGGGHGHHgfffgggdedeeghggggihgfhgiiiihghggjjhijjjkklklllmnolmnmnnoponooppooqrrsttuxvvwxvvwxvuwwwvvwvuvttrrqqov…§ÆÕßßàâäååååääåååãßœ–y«¤™†’²ÊÝàãäã߿”­ÊÕáãääãâãääããããããããâââãããããââââããâââââáááááßÞÛØØÕɽ«˜†wi\QHA::;?EBD3--.37;@Ojh}Ž|ptt†“¥ºÃÒ×ÜÝààßÒÈÆÇÊÏÉȾ´§˜pM@59=CMPQRQQQQPONOPPPQPOLNOOOOMONNOOOPPQQQQRSRRTUVWWWWWVVVVVVUUWXZ\[[[\\]`c_^___a``aa`aada`abcccdefeeffeeeffffggggghiiikkjjjjjjiijljhjhhghgikkkjkkmlkilklmmnjjiihhlijiiijihliihhfhkggdeeddfdba`a``_b`_^]\\[\ZZZYYYXVTUUUUTSTTTSTRRSQQQPQSQQRQPPPNNMMMMMNNPONMMLLKKKLKMLKKLJIIIIIHHHHHHGHJHHGFGGGIHHGFGGHHHGHGGGGIGGFFFFGGGEFFFGFEFGFFFGGFFGHHHGGFGGGGGGGGGGGGGHFFFFEDEDEEDCEEEFEEEDDDFFGGFHGGGFGGHHgeefjggdeegfggghkhihggihjiiighjgghghkiiillmknlllklllnmommnnmnorooopqrstttuuuwwvvvvvvwwwuuwxuvtsrrrqqv†ÕàææææææææææååååæäãÝΣˆƒ|mnb\f¦ÛâääãÖȬ›¨½ÇÞáääääääãääãããäãããããããããââââãâââââáááàßÞÛ×È®”{hWI@:511/-,,-138>;3-*,+,,/4=J`ž„|sm|‚¢¸×ØÙÜßßßÙ×ÌÅÆÆÈ̾¸« sR>359DUT][YVTTSRSTSQQQPQSSTQOOOOONNNNNOPOOOOOPQRRSTTVTSTUUUTSSTVWYYXXY[[^^\\]^^]\\a^^_accaabbccccccceeeeeddeeegghgdfghjiiijighhhjklikghfggjjjjkjknnliknllmnmmjjghhiikjiiihlinhgghfddcdecccbbbbe`a`b`_^^]_\\Y[YYYXVUTVUXUUSTUTSTRQPPQQQRQQQQQPOPNMMMMNORNPPPMNLKKJKKKNLJKJJKKJIIILIJIJHHIHHGGGFFFFHGGHIJHHHIHJGGGEEGFHHGGFFFEEEDDFFFFGGGGGHHHIIJGGGJHHHHGJGHGHFEFFEDDFDDDECFEGFGEFEEEFGGGFFFGGGJHHHfeefffedddffgghhhhiggghhiiiihhiggghijgiijjmkkkllllllllmlllmmnnnnoqqqrrrqsttsuuututuuvuwuvwxvwtturrqprz¦Øçìêéèçççççææååæåååâמ]j_jwtgg‚¹àåååäáܵœž”´ÛáäåäääääääãäääãääãããããããâããâââââßÛ򯃵”wbNB9520.//00110///22897566533235=@]zƒ‚w…‘¦¸ÊÙÜÜÞàÜÙØÕÐËÉÀº¹©œvSA357APUijlifca__][[[YWWXWVUTSRRRRQQPPPPOOOOOPPPNTPPPQPPOOPOMPRSTTSUVXYYYXXXWXYYZYY[`_]\\]^_c`_`aaaaabbbbbbcedcdeddeffffeggfefggggggffgghgggijjknmmjjlnllkjjjihhghgilihiglihhgffdeedccbbebaabaa`_`_^^]]\[ZYYXXZYVUUUUUUUSSSSTSRQQPPQRRQQQRTPOONNOMMMPNMMMMLLLKJKLLKKLKKKKKIIKJIJHHHHHHHHIGGHFFGFHGGHJIHHIIHGGHGFEFFGGGHFFFEEEEDEFFFGGGFGIIIIFGGGFGHHGGGGFGFFEEGEDDCDDDDDBDEFFFEEDDDEEEEFEGHHGGGHHffhggeeffefeigiihiiijjjiiikihhjghihijjjillmllkllnlolmmnlllnmonmnppqrqrsqrtuuutstuuvwwuxvvvxxwuwutssqnlk™ÙçìëééèççççææææææååâÖ‹yw}€¨rgj•Èääåääãȸ£•Œ©ÐÖãääääääääääããããããããããããããââááÞÖ·­‚eP>5/-,--./0269766777657=EIJJHEB???>>?AGPbt¥—ty½ÍßÝÜÝßàààßÖËźµ³©¡yU?3329AQjnzwtvwutstrolhgea^\[YWVVUTTUTSSRQQRTQQRTSSQRQONOOONOPPQQRRSWXVVUVWVUUUWZWXXWY\]]\\]]^^`a^^^_acaaccccbbcddddfeheffeddehggfiggggffffgljkjikkjkllmlllihglhjhhgghigkgghlhfeddfcdaabea`_``b_`_^]^\[ZYYYXWXYWVVWUTUUTUSRSSRRQPPQQSQQQSPOOONMLNMLMMMMMOLPMMJNLMJKKLKMKLJIJLIHHHGGHHHFGGFHFGFFFGGGGHIIHIHHGEFFGHFGGGFFGFFFFFFFFIHHGHHGHFGJHGGIFHGHHGFFGGFEEFEDDECDEGFHDDEFEEDEEDDEFEEEFGGJHGFGGfgededeeeefeffgghgiihhhhhhihhhjghiiiijjikkkkljjkllljllollllmnnnnopooprqqrttuttttuuuvvuvvvwwxwtuuuusrpi\T‡ÔâìëêéèçççççççççæååàŸuNQUmvfJ­ãäåååäÚÛÂ²Ž¸ÔãååääåååäÛÒÒÓÕØÚÜààáâããâáÞÛÅÁŽjQ<4.,))(*+,-149>BDFGGGGHHHTbdgdb]XVTRQQPNMOSdz‚œ™œƒyˆ›±Ã×ÝÛàààáááÚØÅ´®®ŸŸyTA5206;K_gxy{yxxyxwxxwwurrrqomifdb`^][ZYYXWWWWVUUSRSSSTRPOOPPPQPPQQRSSRRRQPQSSTSSTUVVVWXXYZZZZZZ[\\\\\\]^]^^^^__`abbbbbbccddccbccfgggfdedeeghhhhkjiijiiihigfhgfiggggghgfeedgheedceadaaabaa`___]^\]]][ZYXWYXXWWWVVVXTTTSSSSSRQRPQPOOPPPOOOOONMLKNNLMMONNMLLMLKKKKJJJKKKKKJKJIGHHHGGHGHFHGFHFFFFFFGGGHJIHHHGGFFFIHGGGGGGFFEEEFGFFGGGGHGGHGFGHGGIFHHGGGFFGGEEDDCDDCDEEEDEEEFFEDCEBEEEEFHFFFFGGGEFGeeedhdddhghefgghhiiighjihhhhhhjhhhiijjjikjpkljokkklkmmnmmlmmooqmopqooppqssrsstuutuxvuuxuvwvvwxxuvtutqoRBGÌÚêëìêéèççççççççæåÞ¹eb][ea_v›ÛáååååäàÖ½™‹‹¶Ò×àâåååååäÓÈÄÄÆÉÌÎÏÐÒÙÞáàßÚ¯g?5...00,*)**+-47EMX\_dgebfilqx~…ŒŠ…|twxsmppke\YVZu ‘Ž„…~¥ÀÝÙàààààááÝØÃ®¥Ÿ¢¤yS=41135AL_€~‡…~~|~€~{|~{xyzxwxyxxxwsomjedb_]][XWWVTUUTSRQQQRSTUTRSRQQPPPOPOPQPQPPPQSWVTVXWUVYZ\[[\\[Z[]^^]^___a___^^aabcfa`abbfcbdfeeefefghghggggghihhjfeeeeigfggffeeedceeedebcbdaaaa_]`_`_^_\\\^YZYXWYYYVVVYVTUUTTSTUVSRQRQRPOOQPTOOONMMMMMMLLMLNMMMMNMLLLKLKKKJJIIIIJIIGGHGGIHGGFGGGHFGFFGHHHGIIJKKHGGGGFFHHHHHGIIIIIGHFFGHGGHIHHHGGGGGGHHGGFGIGGGGFEDDCCCCDFEEEEEEFHEEDDEEFFEFFGEEFHHHEFFefedeccdhffegihhhhihgfijiijjighhhhihiijijjkkkjnikkkklllnnnnmnnnnoqpnoopqrrrstttwuuvvuvxuvxwvwvuuutttosU;?N{ŸÄçìíêéèèèèèèçççæÞÑ…rb€xrnkq{¨ÜäåæææåàßÒļ½¾¾ÌÝãåååæãÐÀ¿¾ÉÃÎÈÉÈÑÔÝÞÑÀ›qW86211244321/-.048@QOso}}|zw|€†‰‘–›—’Œr‚s‚mieb]QUZepv‚sjwƒš«ÅÙáàààààááÝÝ륣  uM<22245:AWptƒƒƒ‚€€‚‚€~~}|zyxxyzxuvwsonnjfecba_^]\[ZYYXWWWVUUUSQRRRQQPPPROOOOOPPRTTUSRTTTTUUUUWWXXYYYYZ\\[\]\[[[^^__`_`````ababaceeffgffeeeefhffeddddceffeeffccabcdeddcbbaa`a`_^^__^__^\[ZZWWWWXWVVUUVVTSRSRSURQRRRSQQRNOOPPOOOMMNMLLKKKKKLNMNMMMMLLLJKJJIJJIKIIJHHHGGGFGGGGGFGEEEEEFGHHHHJIJHHHGGGHFFFFGHHGGGGFHGHGGHIEFGHHGGGJGGGHHGGFFFGGGFFGEEDCDEEDFEEEEEFFHEEEEGEEDDEEFEEEHFHEFFeeededgggghhihhhhhhhiihijhhijhhhhhhhijkjikmkjkmjklmmllllmnpoonnnopqoooopprvuutuwwwwuuvxxxxwxxvvvxwwvwsV;6AOh‰»ãëîìêéèèèèèèèçßÕ„nO_z€’w‰¶ÝâææææåäãâááßʾÍàâãäååÐÌÉÊÌÍÏÍÌÔÚÞäâÌ•fN9:;;;889;>@>;876567@HYsv’ˆžŽ§ˆ±¸·¶³°•”ymgcb_dUanXqYSe_mgiu€•¡¹Ïßàáááááááßàĵµ¶« oI9445567:JWi‡‡„‚………„„‚‚ƒƒ„†ƒ„„„……ƒ‚ƒƒ‚€€~}}|{z{||xutsqolieba`][ZXWVVVVVTSSSSRQRQRPQPQSRRPQSRQRUTUUTSTVXWVWXXVUVX\ZYY^\\]]\]^^^``_`aaabcdeggfedddffeedcbceeddeedefcd``bdddddabab`a_^^a^_]`__[ZZXXVW[XXVXUUTTUVTTRRSSSSSPOOQSSROPPPOPMMNMLNKLKLKMMLLLLNLLLLJKIIILJJJKKKGIHHGGGGGGGGGIFDEEEEFHHJJIILIJHIHIHGFGFFGHGGGIHIHHHIHIFFGHHGGGGGGGHHHHEEFFGGEEFEEDDDEFEFEEEFFFFHFGFDGEEHGGGGFFFHGHEGGfeecdeeefhhggeighjihilihihhhjghkihhiikkmmmlkkkjjkmlolkkkllmnnnnopnononppqrwtutuvvuutuwxvxxwwwwwwwwvvvtW;:<GLcw¨ÛêïìêèèèèèèèçãଛiQh}{qrh}´×áæææææææææäÞ½¡¢¬Ëãååãââââáâãããäååâ·taEC@AA@?ELQWUTSQNLIFCBCESYdqz‚ƒ€‰Ž‰…~klbdfdcbbVHT`Uff{nnnq’¡¼ÍÝàáâááßááßÛ×Ñô¦˜gC>=DKJFCAILb{~‚„…„ƒƒ‚ƒƒ…„…„ƒ„…ƒ‚ƒƒƒƒ„„‚‚ƒ„„ƒ~}}~~{xyyxuvxtpnjgecb`_\Z[[ZXWWVVTRQPSTTSRRRRRQRQTSTQSSSRRRUUSSSTSSSTWXXXYZYXY[\]]]]]^_`aaba`aabbaabcbcabaaa``acdcaa^_aa``___a^`__]]]]^]]\[[ZZYXXXXYWXUUVTTTTTSRPPPQQQRPOOOOOOONNPONMMQMKKJKKJJJKLNLKLKLKKJKJIIIIIHHGHHIGGGGGFEGHGHFEEEEFEFGGIJIHHGHGGHHHHHFFFGGFGGGGIHHIHGGGFIHHHGGFGHHIHGHEEEFGGEEFFEDDDDDDDEFFFFFEHGGGGHFEHGGFFFFFHGFEEEeeeegeeeehihggighhjhhhiikhjhjiiikjmkjjlkklklmkjjjklmmlmmmlmnrnnoonnnqppqrsxuuuvvzuxvxwxx}xxxyw{www{xvvX;5<FGJWkßëíìëêééèèéèçåȯƒti~|vqoz‚Œ¯ÐáææççççççæãÁ°¥ª¸Öãääåæååååååååååà¢sjfaUKIFHU^sssehmqrs[cRRLFJCHOQKB@CHR^tu{|}€„}whiXMFDDJ[kmpidfmz…˜¯ÈÜàââáááááÛßÓÑ¿°š‹ZEJVg}c[RKHHV`l„‡‰„„…‡ƒƒ…†…†…†„ƒƒ††…††…ˆ…„„…„†‡ˆ†…„…ƒƒ…€~|{zz{zxxwutrqnjgeb_][ZXWVWVVUUTTSSTSTTTTTSSQPRSSRRRQPQRSSSUUTUWWVX[ZYZ\\\\]]^^^]]_ba_``aa___````cddccbb^````a_a_a^`_^\[\`_^\[[\YXXXVTVZWWVUTTTVTRRQPPPPQPQPONNNNMNMNROMMMMMKKJKKJIJJKLKKMLMLLJLJJJJJIHIIJHIGFFGFFEIHFGFDFEDEFFIGHKIIHHJGGHIHGGEFHGFFFFGGIHGGGGIGEIGGHIIHIIIIHGHEEEEEGEGGIFFDDDDEIFGGFFGFGHHGGGFHGGGFFEFFHHFFGFfeeffdffgkhhggggihihiiijighghiiijjkkkkkjkklmmkkjjjjjmlllllmnooonmmnoqqrqrssstuutvuwvvvxwwvwwxxyyxwxzvxY<;=HGJNYc‹­ÍêììêéèéééèèãÞÜØ¦~eXpnjWPQ—ØäççèèççççåáÞÝÖÐÎÛÝáæççææææååäääÞªyt…}aTOLVaz˜†px„|eSPONYVSKDKOM<?=Q[q}‡’—œš–‘†ub\NF???NWm`acd]kmw—«ÊÞââàÝÝÞÛÜÕÔÉÅ«›‘j[YbromljYWOKJN_uy}„…„……………„†‡……‡‡†…††††‡‡…„†…††„„„„„ƒƒƒ„ƒ„„„ƒ‚€~}}|{zyyywuuuspmkhfddba_]\[[ZXVYXWVVTSRSUUTSRRRQQRRRRTSRQRSSSUWWWWXWWYZ[\\[[Z\^\[\_]\]^]]]]]]]]^_]\]^^^_^^]^^^]\Z[\\]\ZZZYXVUVTTTTUUVUSSRVTSTRSPOPQPOONNNNOMMMNNMMNLNMJIIKJIIJIJKJJKKKJJIJHHHHHHIIHHGGFFFGFFFGHFFFEEEEEFFFGGKHHHIIFHGGHGFFFFFFFFEFGGGGGGGGFGJFGHHHHIHIIIGGFEDEEEEEEEFEDDDDEEFGJHFFGHGGGGGGGGFGGFEFFFGGFFFifeeffjggghhiihihhhikjihhhhhhjiiijkjlkkjllmlkklkjjkkmnommmonpppmnnnprqqrsstttuxwwwvwywzwwx{xxy||{yxzvy[=6>IHJLKQZv˜ÃåëíëééééèèèççåÖ–VippiXM]ްØáæçèççççæåääßÝÁ¯¶ÈÒãåææææåÜÖÙâם~ˆ¥}tqn^]nƒ³ª¤±¹w_OEMONONeUNTkLEYq†™¤»ÃËÈÈ®©€ukeJ><@PT`o\[_eo‚sq|‡žÃÔàÜÐÇÃÆÏÎÌĽ²ª›—}pnifaafa[\[F:9<AK\v}‡ƒ‰†‡†…„‡†ˆ‡ˆ‡‡‡‡††‡ˆ‡††††‰††…ˆ‡‡…†„„ƒˆ†‰††‡‰ˆ……‡…„ƒ‚€~~~}{zzzxwvvtpljgeca^\ZYYXVWXWVUUUTSTSRRSRQQQQRRRQQQSSSUXYZWVVWXXXWVXZ[[\\[\\]^[[[ZZZ[[\\]^_^^_``\[Y^__ZWX[XWVVUUTUSSUTTTSRRVTSRQRROOOPONNMNONMLMLKLNLKMNKLIKJIJLIJKJJKJKIHHJIFFGHIHIHJGGFIGHFEFEEEFGFGFFEFFFFFGHHIGHGKHHGFFFEFGGGGEEFHGIHIGFEGHGGHGGHIIHIJGHHGGGEEEHEEEGDEDDFEGGGIFEGHGIGGGFGHFGGGFGFFGGGGFhhfgfgggggfeiiikhhhhijihhhijijijiijjjkjjjjmkkkkllllmlmmmnnnnnmnnmmopqqrssststuwtwvvwvvxxyzzyyz||{}yzvy\=9?JINZNNTWmƒ®Ýêîêêéééééééèá×¹œ€m]^Ygiq—ÓÛæçççççèèççåâÁ´˜©¯ËãææææåÒÐÌ×ÕÑϨ‡ƒ€€}sx’¢ª¬¹Ê¶uaPNNF>>?TjYXVRDx¹µÈÉÖÔÒȲ–yuuYD>@S}riaXiw{€€twz‘¦ÀÍÛÔµ·­«¨§¦¡››„{}nh`TNJLRKB50349@Tksƒ„…†Š†…ˆˆ‡…‡†††‡‡†††„…„††‡……„†…†…………ƒ‡„………††…„ƒƒƒƒƒƒ„…†ƒ‚€€}|zzz|yvvuusqpmjgeca`_^\\\ZYWVWXVTTTTTTSRRRRRRRSSSRRSSUVTSTTUXWWWWWXXWVVXYXXXZYXZ][ZZZZYYXYYZZZWWVWXVTSRSTSRRUSSTURRRRRRRQQNNNNOMLNKLLLLLKKKKKKLKKJIIIIIIIJLJJJIIIHHJKGEFGGGHGGFGEEEEEEEEDFIGEEDFEEEFHFFFFFEFFFFFGFFEEFGGFFEEEEFIGHFFFFFGGGGGGIHHGHGFFFFFFEDEEEEEDDCDFFFGEFGGGGGGGGHGGGGGFFFFFFGGIGEgeefffhgggffhhhhghjhghijiiiihiijkjjiiiiijkmjkkkljlllllrmnnnmmmponnrotsstxstsutwwwv{wwxzz{{z{}z|{zzy{y{^=8?JHR`iQMNQ^q¢ÝëíìêêééééééèåܽˆZFNVSSY`ŒÂÓåæçèèèèèçæåâÞÁ´²¹ÒáãååæÝÕÚáäåáݺ¬Ÿ•”—œ §«±»ËàαteSJJCFHLTd`i€JCo¦°¾ÂÎÑÖÔÖ«ŒteYK?:>Ydk`^c}”°šz€ut|‰œ¶ÉÝÄÅ«£•‹‘šˆ‚}{xvrogVGE>;95/.///49HWhƒ†ˆ‰ˆˆ‰††Š†‰‡†‡†…‡†‰‡ˆˆ‰ˆˆ†‹†ˆ…ŠŠŠ†ˆ„†…‰††††„„„‡‡ˆ…І…„†‡ˆ„†‡ˆ‡†††††€€~~~}{zxxxz|zxvuromigda^][YXYXWVVWUUTTUVTUSRSTTSSRQSTQSSUTTTTTTRSUTTUUVVWXZYXYZ[XXXXYYYZWVVUVUSSRSRRQQRRRQQQQRONMLNOMMMMMLLMJMMMLMKKLJJKKLJJHGHHHHIIIKJIIKHJHKJHFFGHGIGFGGGGFFEGFEEGGGFEFGEEEGGGFFEEEGGFFGGFFEEHGGFEEFEDFIGGGGFEFHGGHHGIGFGHGFFFFIFEEEEFDDDCCFEEFGGGGGGGFGGGHGGIIIIIFGFFFFFFFeeefffgggfgggghhhhhihhiijhhghkjjjkjiiiiikkkjkjllmmlmmllmopommmopppqoqrstvrtsuuvvxuwwxyyyyyz{}yyy{z{|x|]>:?JIR`\RMKNR`l“¾ÕìëêéééééééèåÛ¡REBLYZ\aa³ãåçèéééèçèèçåãâ๺Ä×áåææææçççåÛÔ×ÙÕÑØßßßÔËÒààÔ¥ytaZUdyvtvzeb]HQl—¨¯µ´³´¶¬£ydQC?69:GMWZfl}žŸ€pqqolt€–³»Â¹®˜Žw|‰}og`adjyf^QQ=1.,--.//135@HYnuƒƒ…†ˆ‡†‡†‡††‡†…†††…‡‡‡†‡„„…†„‡‡‡……„„…††‡‡†„„„„……†‹††„„…‡„††‡†††…„„„„‚„„„„‚€€~{|{zyxyxvusrrmhhgda_^^^]\[ZYXWWUUWXUSSRSTSSSTTTSRTSRQQQRRSSTWVYVVWWVUUUUUUWWWUUTTSQQQQPPPPQQPONOOONNNLOMLMMMNLMKJJJKKKKKLJIJKIHIHHHHGHIIIIIIJIIHGGHHFFFGHGFFEFFGEFFFGFEEEFFFFFEEDDEEEFEEEGFFFHGFFFEEFFFFFEFFFFGGGGFFFFFGHHFFFFGHHHHGFFFFEFEFEEFDCEEFFFEEFFGFFGHGGHGHJHGFFFFFEFFFGkfgffgfgjfhglggiihgiiiijjhhhhikkjjiigihilknkkkmlklmmmnomoppmmnoopppoqsstuttuvvzyyyyy|||z}|}{}~|~{|{v|]?8?IHSahRLILQU_`}¢ËåçèèçèèééèèäÕ™`ND\ilpx†½Ýãâåèèéèçèèèèçå㺴¬ºÎáäæçèèçäÔÙÙÚÛàâãããâááàß¹Ÿœ Ÿœ•”ŒŠ‰p`TKJVf‘Ї†…}ulaUaB?><=@DMRdt}„ƒzpiemtkbo|‚ˆ‡……ƒ|thdoudZUQW]ge]TP<1,,,-../01116<K^l‚†‡ˆ‰ˆˆ‡‡†ˆ‡Š†ˆˆ‰‡‹‡ˆ†Š†‰‰Š†ˆ‡‹‹‹‡‰†…‡‰ˆ…„…„…†‡†‹†‰ˆ‰…ˆ†ŠˆŠ‰‰‡ˆ„ˆ‡†ƒ‰……„‹†ˆ‡††‡†„„…„ƒ€~~|{||{zzyxxwutrpmigc`^[[[ZXXWWWVTTWVTSSTTSRQQRSRSRQSSRTUWSSSRRRRSSRRRRRQPPOPRRROOOOPNNOOPMMNLLLLONMLKKIIIJKKKKJJJIJIHIJHIIIGIILIHHJIHHIFGHKFEEFGFFFFFFHDEFFFHFHFFFFGGFEEGEEDEEEFGFEFHFEGEEFFFFFFFECEEFHGHEEFGGGHHFFFFGGGFHIGHFEEEEGEEEDEFEGFFFDEEFFFGFGGHHHHHGFGEFFFIGGGfffggigggggggghiijjiiiihjhhiihiihiihhihhjjjkkmmkllmmmnmlonnlmnoopnoortsstxtuuvvvwvxyz{|z||{|||{z}z|{x}^?;?JHTaXYXORS`r^Zw¶ÜãçæçèèéèèèâÚ«~i^e››¿¦É¾­½Ýäèéèèèèèèçæãξ¶¢Ÿ¥¾ÝäçèèèåãääääååæçææäÔÆ³¦¨­µÍÊÅ•€„ŠxlcROMW\YUQLIFEEKSansvvvvwrmt~ˆ–‹‹zookklnfcanstmutvnva`ce[WPNNYf`\VQD8420-.-./011136?JYjt‡ˆŠ‰ˆ‡…‡‡Š†ˆˆˆ‡‡‡‡†Š„‡††…‡‡‡‡ˆ†††‡ˆˆˆ‡……………†††…††‡…‡…††…„………„†ˆ…ƒ„……………‡„………„…„„„…†‡‡†…€€~}||{|}|zywwvspnligeccb`]\[[[YWWWVVUUTSSSSRSTTSTTSQSSRSQPPPOOPRPPPPNNOOOONNOPPPONNLMNLLKKJJJJJJKKJJIHIKJIIIIHHHHHHFHGHIIIHHHHGFGFGHGEEDEFEHFFFFFEEEEFFEFGFFGIHHFGHDDCEEFFFEEEEDEFEIFEEEEEEDDEDEFEFEFFFGGFFEFFFGGFFGGGGFFGDDEEEEEEDDFFFFEEFFFFFFGGHIHHGFFGFEFFGGHEgfegghhhjhjgghiiiiihhhijjihijihhgiliiiiihiiillmmnmqnmmoonmmnnosoppqqttsrrsstvuwwxwwy{{}{|€|}}{{||~|{}_?:@KJTbsfh]TUineTWg¯ÝåçççèèèèèéæãȰ|c|šŒ‚xov‰±×áæçèèéèèèçæäãáǪ˜·ÜãæçèçççæççææçççæÞ¸¢”žÄ¼ÉÇÙ­~^lkszZecb\URHD:95?KÃÕÜÛÚÛÛÝÙȶ© ˜ortxyvsoiijrnqsuwvxrmppcWRMRXYWVXQQQOC;.,++,./0001149HWg}‚‹ˆ‡ˆ‰Š‰‰ŠŠŒŒ‰‹‹ŠŠŒˆ‰††‡‡‡Šˆˆ†Šˆˆ‰‰‡‡‡‰†ˆˆ‰‡‡‡Š†††‡‡†…‡‡Œ…†‡†…Œ†‡†††‡ˆ‡†††ˆˆ‰†ˆ‡‡‡ˆ‡†††‡‰‰ˆ‡†…„‚‚}~~}{zzyxz{ywvtsrpmjfc`_][XWWWWVTTTUWWXURSSSRSQQMNMNNMKLMNMMNMMMMMLLLMPOKLMMMKJIIIJIIJJKKIHHHIIIKIHHIHGGHGHHHHGGIIHHGFGGFFFEFDEEEEFFFEFEEDDEFFFFGGGGHGFFGEFFGFGFFDCEFEGEDFFEDEHEFEDDDDEEFFFFFFIFEEGEIGGFIGGGFEHFDDDDDEFDDEFFFEFGGFGGGGHHIIIGGFEFGFFGGGHHeffggiiihghhijiijjihhiiiiiiiijhhgiiiihjlllkjkjlmnmnomlmnnlnpooppqtqqqqsrssssuuvvwzzyzz{{|||~~}}}z{|y~`?<ALKUbpeiwbZbfXMRTdtÑ×äåèèèééééèæÏ«smieeejpŒ¶ÑæééééèèèèèèçãȬ¤•¬¾ÐåèèéèèèéèèèçççÒ¿‹‹Šº·¯ž‰‘„yŒc^\addc]VPLT_ˆµÓäææåæææãßÞÜÀ¬¤Š††’›š™“Œ…vvxxx||u{”s‚poXZZ[^`^VVOOSQN6-++,,-.03100135<FWms†…‰‰‰‰‰‰ŠŠŠ‰ˆˆ‰Šˆ‹‰‰ˆˆˆˆ‡‰ˆ‡††‡ˆ‰ˆˆ‡‡‡†‡†‰‡‡ˆˆ†ˆŠˆ‰‡†‡‡††ˆŠ‡††‡‡ˆ‡†‡ˆˆ‡‡‡‡‡ˆ†ˆ‡‡‡ˆˆ†…†††††‡……†‡††ƒ‚‚€~}}||{zyxwuvwuspoonjgdcb`_^]]^^[YXWWVUUUWQONNNKKKKLMKMMLKLLKJKJMOLLKJJJJHHIIJJHIIHHHFGGGGIHIHHHGGHFEEEEFGIIHGFFGEEDEDCDDEEDEFEDDDDEEEEEFEEEGGGFFFGEEDFDFEEDDEEDDCDEEEEGFCEFECDFDEFEEEEEEEEEEFGFHFGFFGFEHFEDDEEDDCDFEEEDGCFHGGGGHIIIHGFFFEDDEEHGGGefiggikihgghjjlijjjjjiijojjhhhhhhhhikjkljkmlnlqnnnnmnmmnnonopooqrqqqsrssstvutuxwwyyz{||||}~~}~ƒ{|}z~b@;@LKVcqprqoojaOLNOPYf޹ÍáæéééééééèèäݬaYdPMM_Hƒ·ÕäæèèèèéèèèèæäÔʲ›¢¯ÍâåèèèèéèèèèççÜÓµ–‹„ƒ‚‚‚’š®À¯¤¦£’†‰’—š›š™¢¯ÌÝáåææææææææåäãââÞÏ¿ÂÇÔÝÁ¼¹¶¯¦ š’ˆy€}phcaWXd`qombaQDA83/,+.0.-/03322111138GUg‚ˆ‹ŠŒŠŠ‹‹Š‰‰Š‰Šˆ‹‰‰ŠŒ‡ˆ‰‹‰ˆ‡ˆ‡ˆ‰Œ‡‡ˆ‰ˆŠŠ‰ˆˆˆˆ‰‹‰Š‹Š‡†‡‰†Œ‰‰‡‰ˆˆ‡‡ˆ‰ˆ‹‡ˆ‡Šˆ‰‡ˆˆ‹ˆ‹ˆˆ†ˆ†…†‡†††ˆ…„†‡‡‰……ƒ„„„„„ƒƒƒ„‚€‚‚}|zxusqsvuutsqnnlkieb`][YXVUTRQONMLKKKMMMLKJKLJIMIKKKKJIMIJIHHIIJIIIGGGFGEHHHIGHMHGGHFEEEEFFIHHGEEGDDDEFFDDDDDEFHEEDDEGEFEEEFFGGIFEFGEDDFFGDCDEEDDFDEEHEEEFDDDFDDDEFGEDEHFGEEEHFGGGGGFHFFFGFEDDCCDDDEFFEEEGFEFGHHGHIKIHGFGIFFEEFIGGGgggegihhhgghhhhgijkjhiikjghhhhhhhgijkhjmkjmllmmmmmnjnommmnnooopssqqpsrssstvuuuwxxxy}}|}}|~}~~}}}|}{~bA;@LKVepirdmijh\PPOOQZb€™»ÝåééééêêêêéåÞÎd\ep|nbgmÄ×àåèèéééèèèèççäÝÁ¥©©¿Þåèèèèèèèèçæäâßűž‹”¤¸ÅÐÏÐÖÝÜÜßÜÜÜÞßßßßàãæççççççççççççççççåãááäåäÍÉËÌË×ÖÙÊÁ»‰sqndYcd`]`dl|ifaWOC=83/001123567765420.24?FXlt‡‡ŒŠ‰‹‹Š‰‰ŠŠˆ‹‰‰Š‹‡‰‰Š‹‰ˆˆˆ‰Š‰‡ˆ‰ˆˆ‰ŠŠ‹ˆˆ‰‰‰‰‰†Š‡‡ˆ‰‡‰‡ˆ‡ˆˆˆ‡ˆˆˆˆ‡‡‡†ˆˆˆ‡‡‡‰‡‡ˆˆ†……†††††††††ˆ†…†……„„…„ƒ‚€‚ƒƒ‚ƒ†€}}|{zzyyxyzwuttttrppplhfda^[XVSQPNJKIIIKLKHJKJIIIIJJKIIIIIIGFFGGGHHFFFEEDFGHHGGIHGGHEEEEEEEIHGFEDDCDFEBDECDDDDDFEEDDEEEEEEEEFFFFEEHEDDDDDDCCDEEDCDDEEEEEEFBCDDDDCEEFFDDEEFDDDEEFGGGHEFEFFFFEEEBCEFGEDFEEEEGEEGHGGGGHHHFFFFFEGFFHGGGigggjgfhihhhhggiiiihghhkkiihihjihhijljjlmmmmmmmnnnnooomlmpsttpqstrrrrsttstxvux{z{xx{}|~}|}}~~}}}~~aC;@LJUdpkraonpo`VPNNPRSYpŒ´áçèèéêêêêééåÚ¡š˜˜–eb`bmÛáåçèéèèèéèèèèæåÑÀ¨š½ÞãåæççèèèèåÙÓÚâÉÑÌ̹ÜÑÞßààààáâãääåæææçççççççççèçççèçççççççææåæçæåãàááââââÜÙ²‹yonedeepp€nfg\[`ZgQKIF;68;<=>?>?@?=:4000235:JXi‡ŒŠŒŠŠŠ‰Š‹ŒŒ‰‰Š‹‰Œ‹‹ŠŠ‰Š‰‹ŠŠŠ‹‰‰ˆ‰‰Šˆ‡ˆ‹‰‰‰‰‰ŠˆˆŠŠˆ‡Š‰ŠŠ‹‹Š‰ŒˆŒ‡‹‹‹‰ŠˆŠˆŠ‡‰ˆˆˆ‹Š‰††‡ˆ‡‹ˆ‹ˆ†‡Š††…„„‡…………ƒƒ…„ƒ…„„…†‚~|}}{}~~}{zz{wttusrolhd^YTPLKHGHJKKIIIHGGHHHJIIIMHGHHEFGGFFFFFFEEEGGIHHHKGGHHEFDEFEDHGHFGDECBDFCCCCCEDCDGDEEEEEEDEFEDDDEGDDECCFDCCEDDDGEEDEFFEEEDEECDCEFFDEEEEEDEDGGFEEEEFHHHFGGHFGFGDDCCFFGEEEEFEEEEEFFFGHGHGHFGEEFEEGFHGFGhfghgggiiijjhghlhgiiijkkjjihhkiihghjjjjlmmlklmnpnmmmmmmmnoppqqqtrrrsrrttttuvvzzyzyz|}||z||||~€~~~~}„cE>@JJTcojpboiooij\VRPRSXZm{ŸÌÖçèéêêêêéçϳ‚lZJECOY\q‚ËÍ×ÜâæèèééééééééèÙô¦¿Ë×ãåçèééèåÐÊÇÇÇÈǽª­´¿ÉÍÏÓ×ÛÝáææçèèèèèèèèèèèèèèçèèèççççççççççèèççççæççææäÙ¯‰…r}spljrtvwjmaVVXVRJKCEJMOQPOPQQTMA7401244479DJ\my†‡‰ŠŠŠ‹‹ŠŠ‡ŠŠŠŠŠ‰‹‰‰‰‰‰‰‰‰‹Š‰‰‰ˆˆ‰ˆ‰ˆ‰ˆ‰ˆˆ‡ˆ‡‰‰ŠˆˆˆŠ‰Šˆ‰ˆˆˆˆˆ‡‡ŠŠŠ‰‰ˆˆ‡Šˆˆˆˆˆ‰ˆˆ‡‡†ˆ†ˆ‡‡‡†ˆ‰†††‡‡††„‚„„„„„‚‚‚‚‚‚‚€€|}}~~~~~}}}||yxxwusrqonf_YQMGFEFGHIIIHGGGGGJHHHHGHGFFFFFGEEFEEEEEGEGHIJIGHHHDDCDDDDFGFEEDDCCDEECCCCCCCCDEEFECDDDHEDDGDDDCDFCBDFCBDDDDDDEEFCEEEFDEECCCCDFDFEEEEDEEEFFGEFEDFFGFFGFFGEDDDEDFFGEDFFFFFFEEFFFFFGFFGFFFEDDDEEFFGHhiihgghhhihhkkkihgiiiikjhiihhiiihghkkjmmmmmllnonnnomnnoppppqrrrsrrrrutwvvuuvxwwz||}||||}…|~€€€€‚eE?AIJT_rqqgphnllld^SOSVVWW^k¸ÔçéëêêêéèŹ]_<:-5GMVfœ¥»ÞåèèééééééééèäÞÊÃÇËÔÓßçèéèæØÇÉÍÔÚѸ¦Œˆqpt…›§³ÊàáççèèèèèèèèèèèèèèèèèèçççççççççèèèèççææææäãÛÜ£wpw~‚|vqda`gkTRNKLKIGHJLV[`csqkb^;0--043768:;=ASht††Ž‹‹‹‹‹‹‹‹ŠŒŒ‹ŠŠ‹Š‰‡ˆ‰‰‰‰Š‰ŠŠ‹ŠŒ‡‹‹ŠŠŠ‰‹‰‹‰‰ŠŠ‹Š‹‰‰ˆ‡ˆ‡ŠŠŒŠˆˆ‹ŠŠˆˆˆŠ‰Œ‰‹ˆŠˆˆ‡‰‡‡‡‡ˆ‰‡Šˆ‡‡‡………‰…„ƒ‡„ƒ„„„…‚‚ƒ„ƒƒ„…€€~~~€}}~}yyyztunj]OFEEFGGGGGFGIHIHKGIHGHJGGFGFFEEEFFFFDFGFFHHIHGJHGEDDECCDGGFEGEDCCCDDCCEDCCGDEFDEEDDDDDDDCDDEDDEEECCDDDEFFDCDGEFEEEGEDDFDEDGGFEFEFEHDEEEFGHEEEEGGIFFFFFFDDDDEEEHFEFGGGGIFGFGGIFFFFFHFFEEDDDDEGFIGggijhghggihhihighhhfiiijihjkijjjjjkmkknnmkmnmnpmnnnmnopqppqrrrsustsrttvuvvvwwwyz{|||||}~~~|€~~~€€~‚gF@BKMPT\dcejilkortwd]\W[kWR\d…ªËåêëêêééÙɰ rL1,7:[axs†n–¤ØÜááåéééêêêêêéèæåã×ÌÓÝåçèèçäâââãßÚ¹¼ŠŠbRNNT[j|ªÖæçèèéèèèèèèèèèèèèèèèççççççèèèèèèèçæææåäãÏË«‰nYVVf‡ˆˆyseYX\][QHEC=766<MTrijn€kiO5.'.11278?EECDHYbox}†‡ˆ‹‹Œ‹ŠŠŠŠ‰‹ŒŒ‹‹‰Š‰‰‰ŠŠŠ‰‹‡‹‹Š‰‰ˆŠŠŠŠŠˆˆˆ‰‰ŠŒŒ‰‰‰Š‹Š‹Š‰Šˆ‰‰‰‰ˆ‡‰ˆ‰ˆ‰‰ˆˆ‰ˆˆ‡ˆˆ‡†ˆ‡ˆ‰ˆ‡ˆ†‰‰‡‡ˆ………ˆ„ƒƒ…………†‡†ƒ…†…€€‚‚‚€€}~}|{{zzzzwwxpiYJFBBBCEEEEFEEGFFFGGGHJGFEGEFEEDEDEGFFEEFHGIIGGGFEEEECDDDEEEFFDCDCCBCCEDCBCDDEEEDDEEDDDECCDCCBDEDCBCCBCBCCCEFDEDDEDDCCDCDCDDEEEEEEEDEDEFFGFEEFFGFEFFFEECDEEEEDDEFGGFFEEEFEFGFEEDEEEEEEEEDDDDEFFFfghhhgjgghiikillmihgjiiikijiijjikjkkkmoommpmlnpnrpopppqqrsusrrtusuttwvyvywxzzz{{€~}}}€€~€‚€€‚‚hG@CMLLKQ]mhsstkqsqrrqg_bcYQRV]|¥ÈãèééêééæãѸm::ARdw‰›³ÏÚÜØ¾¹ÍÚáåçééêêééééèçàϘª½ÓäæèèçççæÝ¹’„jgVSJLKIMpˆÙåèèèéèèèèèèèééééèééèèèèèçèèèèèèèèççççäÓ¿£•„vd[SNPX`enjiaZ\_[UPKI99*),:Q_ke_ejYH2,-5=A?=AHVbZTRT_agnv„†‹Œ‹‹ŒŒŠŠŠŠŠ‹Œ‹ŒŒŒ‰‹ŠŠ‰Š‹ŠŠŠŒ‰Š‰ˆˆŠ‹‹‹‹‰ˆ‰‰ŠŒŠŒŒ‹‰ŠŠ‹‰Œ‹ŒŒŠ‰‰‹‰Œ‰ˆˆŠŠ‹‹‹ˆ‰ˆ‹ˆ‰ˆ‡ˆ‰‡‡‡‡†‡‡Š‡‹†††‡†ˆ††††‚„„‚‚‚‚€€€~~~}{||z|zuniVGA?@ABBCDDDEHGFEHGGHJGFEGEGDDDEEEGEEEEEEFHKGGGFEFFEDFEEDEEEDDDEDDBBBEDDDECCDDDDEFEECCCBCDCCCCCCCBBCDDDCCCFFDFCCCCDCCGCFCCDFEDDDEFEEDDEFFEFFFFEEDGFIEHEEFEEFEDEGGGFHEGGGFEFFEGDEEEDFEDDDDEEEFGFgfhgggggggiijiiiiihhijihjhjhijjijjmnnnnonlonnmonqppppppprtttsrtuttuuvvuuzwz~{||{}}~}~~~~~€€€~ƒiHABMPMNRSX]ejlkqsq€q€e_d]XPRSW\x•»ÞäèéêêêëèÌŸ‡˜«ÁϽÐÕÚÜÙ¹{[|š½ãçéêêééééééåÚ´“¡°Èáçééééçᮣ‚{uuw†™Š|~…­ÖæèééèéééèéééééééééééèèèèçèèèèèèèèèèççãÜ£“ƒ{ebZVRTV[Vb`gdYMKKMOML?<,%%&-69:<AEI@522DhfbTMRalxjabfecdfpx}††‰Š‹ŒŒ‹Œ‹ŒŒŒ‹‹‰‰ŠŠ‰‰‰ŠŠŠ‰‰ŒŠŠ‹Š‰ˆ‰‰‰ˆŠ‰‹‹‹‹‡‰ŠŠŠŠ‰Œ‡ŒŠŠŠŠ‰‹Š‹‰ŠŠŠ‰‰ˆŠˆˆˆŠ‰Š‰‹‡ˆˆˆ‰‰‡ˆ‰‡ˆˆ‡…‡ˆˆ‡‡‡‡…‡‡‡‡†……ƒ„…ƒƒƒƒ„„ƒ‚€€~}~{|}{}~yum`M=<<>AAABDEDDBDDFGGGGFFEFFFDEFEGEFEDDGEEFGHGGHFFEFEDFFFEEFEDDDDCCCBBCECCEACFEDEEFDECCCBDDDCBCCCBBBBBBCCEEEEDDCBEEFCDECEBCCCCDEDDDDEDDDEEDDEEEDDEEEEEEEEDEFFGEEHFFEFEFFFFFFEDEDEGDDEDEEDDDEFGFFgfiggfhgggiimiiiijjhhjkkjjjjkjjjkknnonnnooonomqqqpppqqsrrsvttsssssvvwwwwzw||z|}}ƒ€€€€ƒ~€‚„jIBEMPNNNLPXhjtrsrqvrpmic_VQQRRUYp‹¬ÏØåèëëëéèãÞßàß׫ ‹’—˜’…dXF‰ÛãçééééééêééäÙ®œœ¦ÂÞäèèéèçäàâßÞÜâßààáââáåèéééééééééééééééééèèèèéèèèèèèèèèçççæåãâ´’Œ|qkhgk~mjmptwkZJ>:>EMKC7.+*$!#%&')-5>BBFQrŽyj]Z^tx{eggka_^ahoz‰ŒŽŽŽŒ‹ŒŒŒŒŽ‹‹‹Ž‹Œ‹ŽŠŠ‹Š‰‹Š‰Š‰‰Œ‹‹‹‹Š‰ŒŠŠ‹ŒŒŠŒŒ‹Œ‹‹‰‰ŠŒ‰‰‰‰‹‰ŠŠŠŠŒ‰‰ŠŠŠˆ†ˆ‰ˆŒ‰ˆˆ‹‰‰ˆˆˆŠŠŠ‡‡ˆ‰‰ˆ…†……†ˆ…„„…„„‚€~~€||yxhT=99=????@ABBBDEFEEEFEEEIIIGGEEFFFFDDDEEFFHGGHGFGGGEEFFFFFGEFDDCDCCBBDBCEDCDEDEEFEECECBCCCCBEDDDCBEBDCCCCDCCEBBBCCCDFDDCCCDCCCCDEDGFFEEEGEEFGEGEGFEEEEEEEFIGFFHGFFDEEFEFHFFFFEDDDDFEEFDDDEGFEFffhhgfgggghhjiihghhhhkjjjljjkikkkkmnnnooonnnnnppqqqprssssssstutstsuuwwwxxy|||~~}~}€€€€€€€€€‚€„kJCFOONNNNRQVZ`fmrsywxlhkwf^WQSTVZft¬ÃßçëêêëëëëêçÛyiKl‡—££¡—‹–¬Æáäæåçéééêêêèá´©žœº×áèêêééééèçèéééêéééêêêêêééééééééééééééèèèèèéééèèèèèèçæåäâáàÑᣇwzxy{zytuswyqfVNIGEDB8-*(''"!"%$$)/:db\f‰xjg``aacffc[XX]bgjrx|€„ˆ‰Š‹ŒŽŒ‹ŽŽŒŒŒŒŒ‹‹‹Œ‹‹Š‰‹‹ŠŒŒ‹Š‹Š‹‹ŒŒ‹ŠŒ‹ŒŠŠ‹Œ‰ŠŠŒ‹ŠŠ‰‹ˆŠŠ‰‰Š‡‹‰Š‰ŠŠŠˆŠŠ‰Š‹ŠŠˆ‰‰ˆ‰‰‡ˆˆ‰‡‰‰ˆ‡ˆˆˆ‰‰Šˆ‡ˆ…†ˆ‡‡‡††…„„„„„„€€€}|{xp[B:479;>??@@ACCBCCDEEDEFFEFEEFFEFFFDDDEHEFGGGHHEGFGFFFFDFGEDFDDBBBBBBECCDCCCDDEEEDDDDCCCCBBACCDDCBBBBBBCCCCBCCCDCBCEDDDDCDCBCBCDEDEEEEEDEFFGFEEEFFEDEEFEFGHGFFGGGFFEEFFEEDFHGGEDDDEHEEFEDDGFEEgfghgfhhgggijjihihhhhijjiiikjknmnmqnonoooonnoorqssrruuusttvtxuuuxuwx{wyz|}|||€€€€€„‚ƒ„……€€~‡mKDFOOOOOPPMNRZbpvqtjoieruongVSSTTV[cz‘¶ÞéìíîíìëëéÞ£mflޤÉàààßÞßßáâßÛÚàààäéééèåÏ»±ž›¡ÛÝãçèééêêêêêêêêêêéêêêêêêééêêêêééééééééééééééééèèèèæåáÝßÕÅ·²ª¢™‰ˆgnooruz|trty|~mgfbQC</)&#$$$   $)06CKUr|œŠˆx{b^QHMU\cRNQUZ^^ahmry†ŠŽŽŽŽŽŽŽ‘Ž‹ŠŒŽŒŒŒ‹‹‹Œ‹‹Ž‹‹ŽŒŒŒŒŠŠ‹ŒŽ‹Ž‹Œ‹ŠŠ‹ŽŠŠ‹‹‹‰Œˆ‰ŠŠ‹Š‰‰ŠŠŠ‹‹‹ŠŠŠ‰Š‡ˆ‰‡ˆˆˆ‰†‡‡‡ˆ‡‰‰†‡ˆ†…†ˆ…‡„†…‚‚ƒ€€‚‚ƒ~~}ujO;3469:<>??@@@ABBDDDDDEEEEFGFKGHFFECDEEEFGGHHIEHGGEFEFEEFDCFDCCCCCBBCCDDDDCDDDEDDDDCDDCCBCCCBFDCBCBCBCCEDCBCCDDBBCCCDDDCCCCDEEDFDDEFFFDDEEFEEDEEEFEEEEFFFFGGGGGIFGFIFGFFGFGFFFDECEDDDDCDEGFEDgfhihghjhkiiihggilihhhklijjjkklmmnqoomooprqqppppsrrstttstttstuvvvuyz{wzz||{z||~€€€€ƒ€‚ƒ‚‚€ˆoLEFQQPOOOOOPPSTe}twrskhw}}hb]WWUUUY]mz¤ßéïñïíìëëåÝÝʺ°ÃâêêëêèåáÜ¿€{Š«ÜåæèéèäâÙȺÂÝÝÞàåèéêêêêêêêêêêêêêêêêéêêêëëêêééééééèéêééééèèèèèæãÏ»§˜‘Œ‰†ƒsgVAHRejiijjrt~…{uokf_TE>70+(%&!! !#(+/2;BR]l~~~oiXI?:;<>??ADHNUZ`chnpuy}ƒ‡ŽŽŒŒŒŒŒ‹‹ŠŒŒ‹ŒŒŠŒ‰Œ‹ŒŒŒŒŒ‹ŒŠŒ‹Œ‹ŠŠŠŒ‹‹ŒŒŒ‹‹ŒŠ‹‹‹‹ŠŒˆŠŒŽŽŒ‹ŠˆˆˆŠ‹ŒŠŠŠ‰ˆˆ‰ˆ‡ˆˆˆˆ‰†‰‰‡‡‡ˆˆ‡ˆ‰‡†‡†ˆˆˆ……„†…„ƒƒ‚‚ƒ~€~zmX?00158:<==>>?@ABBBCGDDDFFGHFFFEEEGDDFEEEFFGFFEGEFEFEFEEFECDDCCBAB@BBCEDEDCDDDDEFDEDDCBBBBBAAABCBBBAACBCBBBBBBCBBBCCDEGDBDDDDEDEDDCDEDDDDDFFEDDEDEFEEFFFFFFGHHGGGGEHFHGFFFGFDEEDDDDDDDDDEFFEFjiijjhgjhiiiihghiijjkhlkjjkkmmmnmnpooorrqqrrrrqqsrutttttuvztuwxvyxyz|z|}~~||}€‚ƒ‚‚ƒƒ„‚‚ƒ‚€‡qMFGSQQPPPOOPOON]tŒvptsvz|~}uka[WUSSUVV_k“ÁÛïñòðîìëéçåãããçêêëëçफ़”dC„ž†{²ÝÝÛáåææåäãâåçáÛâàäçéêêêêêêêêêêêêêêêêêêêêêêééééééééééééèçæåãàÞ¿¥Žz…‡‰ŠŒ‹zqM7+/Iuvqg^dqsˆ}zvvpnol_TNF:1*(%$##$'*--2;@DHWdb[ULB85142669;>@GMQX\_cfjov‰”“”ŽŒŒŒŒŒŽŒ‘Œ‹ŒŒŒŒŽŽ‰ŠŽŽŒŒŒŒ‹ŒŠŒ‹ŒŒŒŒŒŒ‹‹Œ‹Œ‹‹‰ŠŠ‰ˆˆˆ‰ŠˆŽˆ‰‰ˆ‡ˆ‰‹‡ˆˆˆˆ‡†ŠŠ‰‡‡‡‡‡†„„ƒ‚‚…‚‚~{zbB0,-269:<<<<>>>@ABBCCCBEFFIFGFFDEEDDFFGDEFHFGFGGHHIFFDDEFDDCCBAACBEBCDCEGEGDEEEFDEEDCBAABA@@ABBB@AAADBBBCCCCCCDCCDEEEEEDDDDDDDDDDDCEDCECCFIDEDCCDFHFGFFFFFGGHHGHHHHIHGEFFFHEFFEEEDEEEDDDDEEFhghkhghkijiihhgjjjjjkhjjkklllmnmnooooppppppqrrrrssttuttuuvvuw{xvxxyz{{{|}~|}}~‚‚‚„ƒ‚‚‚‚„€€€ƒ…pOGHSSRRRSPOPPPPXZ[ajxvxz|xxxxwsgc]SUWVV]f†¤ÄçòôñîëëêëìììëêëëëéÛ´‹hu𣧢¡„ Ãâçééêêêêäת¾ÔâçêêêêêêêêéêêêêêêêêêêêéééééééééééééèãÞßܶ§šŽ‡vz~…ƒ‚}p`N4.%4KxŠ€{l^flrvvvtromouf[OC90121/.0//*')-0136?JA;74:??=:67688:;?CIOTX^cgjqxŒŒŒŒŽ‹‹ŒŒŽ‹ŽŒŒŒŽŒŒŒŽŒŒŽŠŒŒŒŒŽŒ‹ŒŒŠŒ‹ŒŒŒ‹‹‹ŒŒ‹‹‹‹‹‹‹‰‹Š‹ˆŒŠ‰ˆˆ‰Š‡‰‡ˆŠ‰ˆ‰Š‹‡‡‡‡ˆˆ‡‡†‡†‡†‡†………„„‚…‚…ƒ‚€}zjI0*(-269:;;:<=>@@@AABCCEEEFFEEEDEFEDFEDCDGFFEEFGEDDDGDDCEDDBBBBBBAAACCDEEEDDEFEEDCCCCCBABCAABCBCAAAAAABECCCADDDECCDGDCEGCCDEEFDEDDDEDCCCDFFDDDDDDDDDEEFHFEFEFFFHGFIHHGFFFFFEGHFFFDEEEDDGEEEFhhhhhhiihjihhggjkkkkkkmllllmmnqpporopqsstrtrvsttvttuxxxxwvvwyyxxxz|{|}}~~}}~€€ƒ‚‚„ƒƒƒ‚‚‚ƒ‚„„…„ƒ‚ƒ‡qOGISSTRRQPPPPPPQNOWiz†‚€|uqpxz~–vdVUUUUUZ_l„²áðóòñîììììììëëëëëæáâàÒÁyzzrj]J”£ÆßáàäèéêæÚ½®°¹ÕæèêêêêêêêêêêêêêêêêêêêêêêêêêêêéééèåÚ®”uz|€†€‡…„ycYC710;W}Œˆh`dt~‚„ˆumjmsw_YKA<?AA?:850'"!"""'+-*'(/EV_MB;9888789;>AFKQV[^cjt€ŒŒŒŽŒŽŽŽ‘ŒŽŽ‹‹‹ŽŽŒŒ‘ŒŽŒŒ‹‹‹ŒŒŽŽŒ‘‹‹ŠŠŠŠŠ‹ŒŒ‡ˆ‰ŒŠŠŠŒ‹‹‡†ˆ‰‰‰ˆŒ‡‡ˆŒˆŠ‰ˆ†‰…„„ƒƒ…‚ƒ€|nQ4)'(-6889;:;=>>>@@@CBFEEDGEEEEEFEEEGDDDDEDDEDEEEEEDGEDDEDDCBBBBBAAAEDEEFEFDDDDEDDCCECECABBBBBCBBABCDBBCCDCCEDDECCDDCDFDCCDDEDCDDDFDDDCCDDEEEDEEEEFEFEFFFEGGHEFFFFIHHFFHGFFFGFFFEEFEEEEFFFFFhlhhhhhhhjilknhikkkklmmnnpnnnmoppopopqrrsrssusttuuuuvtxwwwwxxwyzzz{y|}}~~|~~~€€‚ƒ‚‚‚ƒ„ƒ‚ƒ‚„ƒ‚‚ƒ†sOHITSSSRRQPRSX^UQSSaqknw{vqs…}vseVXUVYXX[]kwŸÒàôöòíìëììììììëëëëëêæÍœ‹nlgfi~˜¨­ž…šÌÜèëèàÖÊÀÁÉáæëëëëëëëëëêêêêêéêêêêêêêêêêêêééèæß³qhPiux|}}|zzzz{xvtn]KUb‚’‹†r`Wiƒƒ‰wogool^TKHEFINSIB>8-#! ! !!"$"!&.BdVKB><<;:867788;>CHOX^bkp|Š’ŽŽŽŽŽ‹ŒŽŒŽŒŽ’ŽŽŽŒ‹Œ‹‹‹ŽŒŽŽŽŒŽŒŒŒ‹‹ŒŽŠ‹‹ŠŠŠŠŠŠŠ‰Šˆ‰ˆˆˆˆˆ‰ˆ‰ˆˆˆˆ†ˆ‰ˆ‡ˆˆŠ…Šˆˆ„………‰ƒƒ†€‚‚€pY;,$&*1688::;<===??>?@ABCDDDDDDBDDDDDDDBDFDDCCDDDDDDCCDEDCCBBBBBBAAABCCDDDFCDDDDDDBCEBCDBBBBBAAABBCCCGDBCEBCCBCECCCCCDDCCCCCDCDCDDDDDCCCCCDDEDFEFGEEEEEEFEFEEFFFFFGGFEFEFFGGFEFFEDEFFEEEFFFEiiiijjjiiiijjiijkkmklnonnnooonnqssspqqrtusrsuuwvuvyw{wxwywwy|y||{{||||}~€‚‚€†‚„„ƒ‚ƒƒƒƒ„ƒ†‚ƒ‡uQIITSTTRRRQTXbeXPQQUW\fz{ytt†z~tsw\ZUVWWWXZ^dl°ÕîñóñïíììììììììëëìëéåÜÒÉÈÆØ×ÚÔŸˆ_O„žäêéèçæäâäæèëëêëëëëëëêêêêêêêêêêêéééééèèççæãЦ…lu„’™—•˜™Š”´¹½ÄÎǺƒhr‰™‹‰|aR`v‰‡ŠyxtrsmbUN\TOQZUUGIA3($"#$$"!  !%1@OKG?@?>>;:6556789<?CJQW]cmx†’ޒސŽŽ‘’‘“ސŽŽŽŽŽŒ’ŽŽŽŽ‘ŽŒ‹Š•‹‹‹‹ŒŠ‰‰ˆ‹‰ˆˆŒ‰‰‰‹ˆ‰‰ˆ‡‹‰‡‡‰ˆŠ‰Šˆˆ††………„„†‚„ƒƒvlE/%$'0488:::<==<=>>???@BCCCCDGDEEGEDDDEDDDDGEECCDFCCCDCDDDDCBBBBBB@CCCCDDEDGEHCBBBCECCCCCEBAABACCCCBCDCBCBCCCCCCDEDEEDDDCBCDDDDDDDDCCDDDDDEEEFEGFEEGEEEGFGEEFGGGFGGFFIDEFHFFFFEEDEEHFFFHFEEiijjjjjjiiijjjjjjkkjlppnnoooppprqoqqrqsttvssuuwvvvvvwwwvwwx{{yzz{|~~}|}~~€€€ƒ‚‚ƒ‚ƒ€ƒ…ƒƒ„ƒ†‚‚‡wRKJUXTVTSTU\agrWPRRTVYX_gp~†|upl^ZUUVVVXY[\bh‚˜¼åóõòïíìììííììììììììêçæäáÞÕǨ€Zmˆ´àéêëëëëêêëëëëêëëëëëêëëëëêêêêêéééèçæåäããàØÒÍÁ´¹½ÎáàÞÕÌÉŸ®¾ÖÑÐØàÔÆ›|†Š‰ˆ‰„gLYi€woorvzri]U\YUQOLF@??:6/(((((&&'(-7HQRQMIE@>86544766689<>ELT]dgq{Ž“‘ŽŽ‘‘‘ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘ŽŽŽŽŽŒ‹‹‹Œ‹‹‹Œ‹Š‰ˆˆˆ‰‰‰ˆŠ‰‰‰ˆ†‰Š‰‡‰‰ˆ‡ˆ‡ˆ†ˆ‡‡‡‡†………„„ƒ„ƒƒyrP5%#$+1979::<;;=;<@?>??@AABBDCCDDDEDDDDDBCBEFDBCCDCCCCCCCDCBAA@CBBAABCDDEEDDCDCCCCCDCDCCBBBBBBABBCCCCCCCCCCCECCCDDDDFDDDCCCDEDDDCDECCDCDCCDEEDDGFEEEDDEFFEEEGGGFEEEFEFDEFEEEEEDEDEEFFFFFFEDhjkkjjjjihjkjkljjlllmnpprpqqqqpqpqurusutsttuvvvv{vvwxxwwxxyz}}}||}~~}€~€€…‚ƒƒ„‚‚‚‡„„ƒƒ„‚†„…ŠwSLKWVTVVTUWetsnXQRRSSRQS[j€‰{‚ur}]ZVUWVWXZX[[_cq„²áðóòòïíííííììììììììëëéÜא—xŒ|ˆÂÅßäêëëëëëêêêëëêêêêêêêêêêéééèèèçççææäâÜÕÐËÆÅÈÔãäããäåæåäÝ×ÏÆÄÈÚææåæçäᲝ’ŠŠ‹ƒrNRjzxhcgqˆvgdd_[\^`J<=DACHC3/-,,,.015Hbkusoa\IA<76666766789;>CHOWYbio|Œ–Ž‘‘‘ŽŽ’‘‘’‘‘‘‘ŽŽ‘‘ŽŽŽ“ŽŽŽ“ŽŽŽ’ŽŽŽ“Ž–‹‘ŽŒ‹‹ŽŠŒŠŽ‰‰†‰ŠŒŒŒ‰Š‰Œ‰Š‰‹ˆ‰ˆ‰†ˆ…†……ƒ‡„„~w^<'#$(-98:;::;;>;;;<>?>???@@BBBDDDCCCCDDBCBCDCAFFFCCCDDFDDCCBAACCECDBCCCDFCDBECCDDCDBBBCCCBBBBAABCDCCCEECDCCCCCBCECCDDEDCGDDDFDCCDCCCDCDCDDEEHGGFFEDDFEEEEEEFFGHFEDFEFEEEDEHEFEEEFFFFEEGFEDijjljjjjjikmmllklmmmmmpopoqrrsqrqrurttutttuuvvvvvvwwxyxxxxz{||}|}~~€~|„‚‚ƒƒ‚‚‚ƒ‚‚ƒ‚ƒƒ„„…‹zTMMWVUVVTXZj‰nm^TTSSTSSUVdysz„utz\YVVWVZZ[\[[[^bny Ðßôöòîííííììììíííìììêáѽ°¤–““®ÙåéìëëêêëëëêêëêêêéééééèçææåååàÝÙÖÔÓÓÉÅÁÄȸ´ÀßââããåèééèçæáááåæçççèééæáÎÀ¤‰ƒwaD[†‰‹q_alpxg]adefekd[KLIHLRA79A@@?>>>F[j‘ŽŒ{qWKIGB=:88777777::;?DKRZZ^gu‚Š‘’Ž‘‘ŽŽ‘‘ŽŽŽŽŽŽŒŽŽŽŽŽŒ‘ŽŒŒŽ‰‹‹‹‰‰‰Œ‹Š‰‡ŠŠŠŒŠ‰‰‰Š‰‰‰Šˆˆ‡ˆ‡†…†…„ƒƒƒ‚ƒzjD*$!&+38;:::;9;:;<====>>>@@@AAABBABBBBBBBBCCCBCDCCCDDDGBCDCBAACCCDDBCCCCCCCBDCDDDCEABBAAAAAAABBABACBCDCCCBBBCDCCCCCCDFDBDCDBCCCCCCCDCCCCCCEDDDEEFFEEEEEEEEEDEEFFEEEFFFEEEEFDDDEEEFFHFDEEFEiiijjjkjmlonmlllmmnoqnppsssroppqqrutyuvuyvuuvwzwxw|xyyyy{y}}}}~}€~}}~…€€†ƒƒ€ƒ‚…‚ƒƒ‚‚‚ƒƒƒƒ„‚‰†‡……‹{UNNWVUVUTZ]ruoo`YVQSTUSQQYdjkq{tuw[YVXWWXWXXXXZZ\^em°ÕïòôñïîíììììììììëëêéæãâßÃ¥™›ÚäèêêéééééèèèèèççææææåäÞÙ×ÕÒÒÔØÎÔÀÏÒÍÆ¿Ã®¡¥²¸¾ÈÓÐÐáãæèèèçæçèçæææèéééçåÚ׬ˆ}_]j”¶’{e[cco\[_hsuqnl^SPRKOL@<BQ^[VRNOSUnwˆ„€qURUY^J?96777666899:=AHOPXbft|€‹‹“‘”‘’‘’’’•‘’’‘‘Ž‘‘“Ž’‘“’‘ŽŽ“ŽŽŽŽ‘‘ŽŒŒŽŽŒŒŠŒ‹‹Š‹‰Š‰‰‹Œ‹‰Š‹ˆ‰ˆ‹ˆ‰‰‰‡†‡ˆ…†ƒ}qN/&!#(28;:::;:;::::;=<<==>>??AAABBBAAABBBCDDDCBCBCDCCDGCCDCCBBECBCDCEDDDEDCCCCDDDDEBAA@@?@AAABBADBBBBCBCCBCCCDDDEDDCDDDCEDFBDCEDCCCCBCBCDDEEEDFFFFFEEEGEEFEDEEEEEEEFEEEEFGHGGDEEFEEFGFFFFEjjjjiikkkkllmmllmnnopnoqqqrrqpqsssssttstvvwvwxwwwwxxy{zyzy|||}}}~}~€€€€‚‚‚ƒƒ‚€‚ƒ‚‚ƒƒ„„„†ƒƒ†……„…Š}WQOVVVUUU[^qtrqqr^RTSY_\\\ZZZi…tvw\YVXWXXYYXYZZZ[\^cj‚™¼çôõñïììììëëëëëëëêêêêêèäÝÉÑÝáåæåääãâàßàÞÛÖÖÔÏËÈÄÂÂÆÊÒÓØÛÞäÜØØÝßßµ¬››Šœ™šœš–›¤»ÜæééèèééæâÙâçééééèèçà½©š‰•Ÿ›Œvlgjlgachovi^[YTPVLPNI@IU_k^ZWQNKPX`gpqidipbQ><887777687789;?CHSY_ips}…‹•’‘‘‘‘‘‘‘‘ŽŽŽŽ’‘’ŽŽŽŽŽ’ŽŽŽŽŽŽŽŒŒŒŠŠŠŠ‹Œ‹‰ŒŠŠŠ‰‰‰‰Š‰‰‰‰ŠŠˆŠ†ˆŠˆ………†‡ˆ„†ƒ€xX7*!"'/789:::::9:89:::;;=>>>>@A@@?AA@@ABAEDBDCDCBECBCECBCDEEBBCBCBCBBABBCDDDBAAABBBBA@@??@AABBAACBBCBCCCCBCDBBCCDEEDDEDBCCCBCDDFDACCCCDDDDDCDDEDFFFFEDFEEEDDECEGEEEFFFDDEFGDEDEDEDEEEEFFEEjjpiikolollllnnmnoppooopqqrsurssstutwvyvvxuvwxyw{yyx{{||||{|||~~~}}~‚€€‚€„ƒƒ‚ƒƒƒ„†………„ƒƒ‚„ˆ†………Œ[SRVWWVWX\`qsxsrueZUT]ewjZSSU]elxz[ZWWXYYYYXYYYYZZZ[`cqƒ³ãðòòñïíìêêêééééèèèèççæãáàâãââߨÔÏÌÉÄ¿¸±®¨£žž ¤¬¸ÆãßåææåäãáÞÞ;¬¤Ÿž¥««©¡›—’—Êâçççèçäл°¸âçèéééééæàÌÅ–œ’”¡¦˜ˆ‚€€wpopnc\[^d_\[[^_[Y\ac^WbMJEADJUmp”yulQ=;8887766666788:;?IPZgpux}„‘Ž•—“–‘••••”‘‘‘‘‘‘“““‘‘“’“‘“‘’’’’’‘‘’’’•‘ŽŽŒ‹Œ‘ŒŒ‹Œ‹‹‹‹‰ŠŠŠŠ‹ŠŠŒ‰‰ˆ‰ˆ‡†…‰‰‰„‡†ƒ{lB.#"%,668:;;:<9:9<::9=;>=====>?@?AABA@A?BDCDCBBBBBBBDCCEEBAACCCDCDBCBCB@ABCBBBAABBAA@A@B@AAEBCBCCCCBCDEECBBBBDDEEHEDDCBBCCCCCCCDBCCCCCDCDEDDEFEGFFGGGFFHEFFFFFFEEEEDCCEFFGEFEGEFEEEEEFEEEkkkikllknnmlnpoppppooqqprrsutrstuuuuuvwwwxvvxyyw{yxy{}|{{{|}}|}~~~}|€€€ƒ€ƒ‚ƒƒƒ„„…ˆ††…ƒƒ„†††††Ž‚^XUV\YYWXZ`pvvrqrmjbYbfp}_TXZ[YdudYYWWXYYXYY[[\ZZYYZ__`mz¡ÎÞòôñíëèæäãáàßÞÝØÓÎÌÉþ¼ºµ¯«¨£ž™–Š‡ƒ|ywwx|Œ–£µÅßåææÜ˶§™šœ £©³¾ßááÞÐÉĬ¬¦¹àäåæãÕ»¤–ƒ­ÚååééêêééáÕœ|‡ž³¾Ì«—•–‡{zyn]ZYacfiq|{wslgd[SNKFD>:=CWmpqu{mUF>;98876686677779:CJXdkqyvyx‰’’’‘’‘’”‘‘’‘“‘‘‘‘‘’Ž‘Ž‘’Ž‘“‘‘‘ŒŒŒŒŒŒŒŒŒŒŒ‹‹‹‹‹Š‰‰ˆ‰ŠŠˆˆ‰Š‰‹‰ŠŠŠŠˆ††††„‡‡ƒ}rN4$""(258889999888888::;<=<<===>>>>??@B@AAABABCCBBDDEDDDGBABCCBBBBBBBCD@@AAAAAAA@B@@@@@BAABECBABACCBBDDDBBCCCCDDDECDDCCCBBCDCCCDBBCCDCCDEECDEDDFGFGFEFEGDEEEGEDEFEDDCDEFFFEEDGFFEEEDDEDEEolmllmmmrnnmnoopqpqppqqqssuuvvuvxuywzxwwyxwx|y{{{z~|{|}~~~~~}€~~~€‚ƒ€‚‚ƒƒƒƒƒƒ„„„„„„„†‡††…†„…†‰‰‡Žƒa[XUWXXWWY^q}t{z{z}`bh€…eTYYVTXb_YYXXXXXZZXYWZYY[ZZ\[]^enޱÔíïðëãâàÖÌ·±¬¥Ÿš–’Œˆ„~zwtqnjigdba__`abdgovŠ™§ºÎÙâܺ«ˆ‰lq}”¯°ÈÎßàåÒᾯ¨¨³×ØÙæßÐŒ„ªäçèêêêêêçØ¡tlq‰¼±ÓÐ˳¨§§œ‰‡‰‰qbhoqtz‰ˆ†…ˆzyk[NJIBA;94CNaZTQck]OGC;8897679677879:@FVbhqz|~|{€„†““”š”––—’“’’’‘’“““‘•”•‘“’‘’’’”‘‘’‘‘‘’‘•‘‘‘’‘‘”““’‘Ž‘ŽŽŽŒŽ‹Š‹Ž‹ˆ‹ŠŠŠˆŠ‹‰‹Šˆ‰‰‡ˆ‰‹†Š††~z[9&"!%,4798:9;9879889::;<=<<=<<;<>>>?@@?ABAEBCCEABDECBBBBABCCEBDBBBAAFB@ABBBCBBDABA@@@ABABCEEDAABECABCCDBBCCCCCEEFGGDCCCCBDDDDCDCBCDDCCDDEDEDDEFFHFEFFEGDFEFEDDFEEEFCDEGGGDDDFFEFFEDDDEFDmmllmnnnroomosqqqqqqqrssssuuuuuvuuyvwyxwyyxzzy{zzz~|}~}~~}~}€~~~~~}€€ƒ‚ƒƒ‚ƒ„„……†…†…………………ƒ……†…‡…eb]YVVWXXYZh|rovbmulafiŠiWf{gVZ[YYY[XYXWXZ[\YYYX\[[^[\\^dj„™»ßçâ¶¥›”…€|yvrnlihfdba``_^^^]]]]]\[[\]^`ekpxƒ›¬»ËÚÕа“‡x†Œª¬®°¼ÓÑÐν³¨ª¯ÕßàåãÀ©˜¡«Ååêêêêêëêä´wkcu‹¤®ÍÕÏÈÆÄ¾·«ž™”‘’™—‹‡…„{wx|zzVLKKEIIHKUm}p^^ehe[OE><:976676678778?CR_hq{~|zyyz‚…‹“““’’—’’‘‘’“”’’’’’•““’’’’“‘’‘‘‘’’‘‘‘ŽŽŽ‘‘‘‘ŽŒ‹Ž‹ŒŽ‰‹ŠˆˆˆŒ‹ŠˆŠ‰ŒŠŠŠŠ‹‰ˆ‰‰Š…‡…„€~kB*#!$(268788998888889:;=;;<?<;;<=??>>>?@@@@ACCBABCCCBDBCBBBABBBABBAA@@AABBBCBBBAAAA@AABABCBABABBCCBBBBBBCEEDCBBBDEDCCCDEDDDDCCCCCCCDCBDCDCDDEEFFHEFGFFFDEDEDDDDEDCCCEEDDDDEEFFEDDDDDDFDDqqqssrrssqqrrsrssstqruwuuvvuwwxx{wyxwxxy{yyyzy{{|~|}|}~~€‚‚€‚|„„„„„„„‚……‡†††…†…„„…‰†……‡‡ˆ‰ˆŒ†pjgaZTUXXYW^gjoreenh]ck‚nhrwWXWWXXXXWXXXYXYXYXY\[[[ZZZ]]`es¢³ž‚|jfcbb_]]]]\]YZZZZZZ[[ZYYZ[Z[ZZZ[\\Z^`ehqy…‘¡³ÂÛÐßĵ«¡¡£¢Ÿ›ž¶ËËÌɼº½ÀÐÞåæçÚËÆÆÖáæèèçççççä¢sip~’Ÿ¯ÉÒÙÛâäãØÇ½·©£¥­²´£œ•‡…urpt_TJB=?CO}xs‚Ÿš˜€uy}sh\JEB@=97666678777=AQ^hq}€‚‚ƒ‚~}‚ƒ‰“”–“˜’“”˜’–“’’’’”••““’““•’’““’’’˜‘‘‘’‘’’‘“‘•‘’‘–‘‘‘“’’“ŽŽŽŽ‘Ž‹‹ŒŽŽŒŒŒŒ‹‹ŠŒŠ‹‹ŒŒŒŒŒ‰‰Š‹‡‰„sK/%""&158899987878:989:;::;<<;<;<<<=>>?@@?@@CCBBBCCCCDAA@@AACBCBDA@@@@CB@@AAAABBBCBBDCCBDBBCBBBCCBBBAABCCCDDCCCBCCCCFDFEDDDCCCCDDCCCDDDDDDFEGEHGHGFGGFFDFEFEEEDDCCCDEDDCEEGFFEEEDDDDDCCDrrssssttsssstuttuwtrtvvuvvwvwwxxyxzyz{yy{zzzz{}|||||~~}||~~~‚~~ƒ‚~‚‚ƒƒƒ…„‡ƒ…‡…ƒƒ„„…ˆˆ†…‡†‡†‰‘ˆwxwobYSUYYX\^del~qpf^elƒ’s^yvWYXYYYXY[[[XYXZYYZZZZ[\[ZZ_\\`cmvyy}wne`[[[[[[][\\[ZZZZ[[[[YZ[\\\[[ZY[\\\^`bels~‰—¤¶ÈÔÞàÜ˼±¢›Š«Ò×ÞãÑÉËÍ×ÞåçèçåàååæççåÚÐØáàâ®yr{‹¥ ¯ÍÑÛáåçèçÝÕÇ·»¹¦¥§±³°¨¡|qbLL==;ARnŸ”¬®°¢“Œˆ‰†}umfa[QG>876778887<>KYfq}‚ƒ„„ƒ‚ƒ†‹‰Ž””’“–•’’’““”•””“““‘““’’“•’““’“‘’‘’‘’’’’“‘‘‘‘‘’‘‘’‘‘‘ŽŽŽ’ŽŽŽŽŽŽ‹ŒŒŒ‹Œ‹‰‹ˆŠŠŠ‰‰‰Š‰Šˆ‡†‚{W5(!!%,38788878888:9899:::;:;;;;<><;=>>=>??@@ACCCCBBBC@@@@@@@@BAAAAA@@AB@@@CCCBABBBAABBBCBBBCBBCBBBBAAACCBCDCBBBCDBBFCDCCBBBCCCBBBBCCECCDDFCGFFEFFFHFEECEEFEEFEDCCDDCDDCDDEEEEEGDCDEDCCDwuuvwxyyyxxxwvvvyyxwvxyyyyyy||}||{~}}|{|~}~~‚~|}€€~~~ƒƒ‚‚‚‚ƒ‚ƒ‚‚ƒƒƒƒ„„„†…‡†…††…†‡Š…‡ˆ‡ˆ‡†‡ˆ‰“—†‡†‚scYSUYXXZ\`ltwxpcel„†yx’yW[YYY[YZYXYXXXYYZ]\[[Z[ZZZ\[[\]_flqƒ‘—€e_\[ZZYZZ[[Z[[Z[\ZYZY[[[ZZZ[ZZ[[Z[]]]`chmv~Š•¤´ÁÛäÞéšžªÀÖàææåæççççèéêéèèèééééçÔÉÈÑÛÛÎ’t|“©Ò×ãåçèèééäᳫ§¤¥£¢¤«´¡«…–v|]RJB>@Lbx–¶­¬•”“’“™žp‡‚€_F987888899=>DSgq€‚‡«œ•› ¦¯¡“ˆ‹‘Ž•““”–““”••™•—””’””—“““‘“”“’’’“““””””•”“‘’–’’‘’’’‘‘‘‘‘Ž”‘‘’ŽŽŒŽŽŽŽ‹‹‹ŒŠŽ‰‹ŠŒ‹‹‹‹ŠŽ‡Š~f?,"!$*38888879888::88;::;<:::<;;;;;<===>>@?A@CCAAAABB@@AAB@@@C@EACAAA@@@@ABCBEADABA@BBBDCEBCBABBBCBCAABDCDEEBDCCAABFCDCDBBBCCCBBBDCCCCDGEEEGFFFGGFGEDEEHFFEFFDDCDECCDEEDDEEFEEDDDDDCDDDvuvyxwyzxwwxxyyyy{xwxzzyz{{{||||}|}{}~~~~}}~€~~€€€ƒ‚€‚ƒ‚‚‚ƒƒƒƒ„„„…†…„†…‡Š†††††‡†…‡‹ˆ‡‡‡‡‡Œ—•Ž•˜‘Šs_UQTZY[[\_am|pgdk‚ƒzk‚›yW[ZZZZYZXYZXXXZZZ[]\\[\YZZ][[\]^`dhx»À¼‘mc\[\[ZZZZZZ[Z][YZ[[[[[[[[\[\ZYZZZZ\^_`dhmt}†™¤°¹Å·³µµÀàÜåçççéëëëëëëëêêêêëëëëéÝÊÁ¹ÈŲ̀”†‚“›ÕÞãèêéééêçÇ™Šˆ––”’Œ…ƒ„€wkb_ZMCFHSWep‰¤¨©§ª¡†|lo€rmE:776677884/8CTgoz}ˆ ¹¼ÃÆÈ»¼©œ’…”‹Ž’“—–””””“•••””’“•–“““““”“”•’’“‘’“’•’“““““‘‘‘‘’““‘‘‘‘‘ŽŽŒŽŠŽ‹‹‹ŒŠŒŠ‰‰ŒŠ‹‹ŒŠ†Š‚pK2#""(1467987887777979:989:99::;;;;;<=>=<??@@ACAB@@A@@@A?A????@@AA@@??@@BAAB@AAA@C?@BAABBBBCAABAAAAAABBCDCBBBDCD?@AABBBDBBDCEBBBBBDDDDDDDDEFFFFGDFGFGFFECEEEEFFEDDDEEEEEFFDFEEDDEEFFFFFwvxyzw|yyy{zzz|yyywz~}}{€€€€€~~€€„€‚€€ƒ‚‚‚ƒƒ‚ƒƒ‚‚„„„„ƒ‚ƒ„…„„…‡‡‡†††Š†ˆˆ‡†ˆˆˆ†…†‡‰‰ˆ‡‡ˆ‰Ž˜¢§¯±²™„lYRMRZYYZXXevael~€€{–xXYYYYZYZY[YYXXYZZZZX\[[YZ[[[\]]^_`cm’À»Ï{l]]\[[ZZZZZZZZZ[[ZZZYX[\ZZZZZYYXYZZZ[\^`cglrx‡š¤©¯®ËÔÞâãååæèèééêéééééêêêêêééÛÆÀ¿ÕÉÅÀ·« œ³×âèéêêêé騶‰oowŽœžž™‚ƒ_ZYXZ`jbXSSRSTQZew–ž»µ®‘ƒtcZTWZO@968666678.+-5AP_ny‚”¦ªµÇÁº¼¾¡§˜›”‡Š‘‘œ•—•—–•–—•—““–˜”ž—•••“—”“’“”š“’’•’–“””“’““—“”“‘’“‘’’‘‘”‘””•‘’‘‘‘‘Ž”ŽŒŽŽ‹ŒŽŽŒŒ‹‹‹Œ‰‹…zZ9%""%,4677798797779878989999:::;=;;;==>???@???@@??A@BA@AB?A?>?@AAA@??@@AAAD@DAA@C@@@@ACBAABAAAAABABACBACBBCCCCDBAABBDCCBBABBBBDCBCFFEEDDEFGFFFGEFFFFGFEEGFFFFFEDDDFEEEFEEFGFFEFEGFEEEEwwwwwwyxzzz{{{{yz{||}|}}~}~€€€€ƒ‚„‚€‚…„‚ƒ„ƒƒƒƒ„……†„‚ƒƒƒ„„„„ƒ…††…††‡ˆ‡†††††ˆˆ‡†ˆŠ‰‡‡Œ‰‰‰‰ˆ‡ˆ‰Žš§°¾È´¡zfUMKPXZ[ZX`e\Zdm|||…Šyafga[[YYYZ[ZZYYZ[ZZY]\[Z[[Z[__^^^_`fl‘¨Ä¢wd_\]\[[ZZZZZ][\\[[YY[[ZZ[[[YXYXWWWWXZYYZ\`cgkosy„‰–¦±»ÂÊÒÛßåæççæãâåéêééééêëéæäÜÔÒËÎÛÖÏÏÍÜçêëëëëéèη„{pƒ¢¥®´¾¥‹mQLIMQac]OPQTZQJRThy†€unhSFCA>;97777866660+/3=DOYdr†«­³¾Ç¬¡•Œ”š¨£•ˆ‹“•–—————–—“•–••˜—–“”””““’“–•’’‘”“”““”“‘’’”““’“““‘“““’”‘‘‘‘‘’ŒŽŒ‰‹‹‹‹‰‰‰€kB)$"$(367789888776667788889899::;<;:=<<=====?>?>>?@@BA@A@?@??>@@@?@AA@@@ACD@@???@?@@@?BCA@BBA@AAA@@@ABABCBBBBCCCCCBBDBBDB@BCCCBCCBCBEEEDCCDDFGEDFFFGFIGGFFFFFCEDEEFFEDEEFFFFFDEEGEEGFFyyzxwxzx~|{{}}}}}}|}~€‚~€€ƒ€ƒ‡ƒƒ…‚………„ˆ„„„…†‹……„…†…†‹‰ˆ…††‡‡Š‡ˆ‡ˆ‰ˆ‰Œ‹Š‰ˆˆ‰‹‰‰Š‹Šˆ‹‹ŠŠŠŠŠ‰ŠŽš¯±ÖÈ» –Šr_QLIPYY\YYYWYdn€‚…‡†‰|{‚yh\\ZYYZZ[\[Z\\ZZY[ZZZ[[[[\\^^_^`_acky–º¥¤…g_\[[[[ZYZZ[ZZ[[[Y[YYYXYWYYVUUUTSSRSSTTTUYZ\]^`bdgmy†•¤°ÁÉÑÛåáÛÕÇÃÈÝèèéèèèéèèèççæßÚØÙÜßäæçééêêëêéÙ½§–’“¥®¿ÖÕÓ¯mOHDM]lo`SQRUUJOPSZaa_\YQC?<:87777787678633258:>EO^pŒ‘’‘ŽŠ…‘›£»³²¥¬˜†‹–˜š˜˜—————˜–—•˜———˜––”““”••––”˜”—“”””••––””““““”—’’’“‘‘’“’’”•’’Ž“‘”“”‘‘‘’ŽŒŽŽŒŒ‘ŒŒŒŒŠ…tL.&#"&15778897777776:888889999:99:;<<<<<====?>>>>??ABA@???B????@A@@B>@@@ABD@B???AAA@B?ABA@AA@@BAA@A@@BABDBBABBABBCAADBBCBABCCCBBBBDDDDECCCDDGFEDEEEEFHIGFFFFFFEEGEIGFEEFGFHEFEFEFFFFGFzzyyyyyx{{{|}}{{|z~|}}€~€€…ƒ‚ƒ„ƒ‚………ƒƒ„…‡…†‡……††‡ˆˆ‰ˆˆ†‡‡‡ˆˆ‡‰‡ˆŽŒŠŠ‰‹ŒŠŠ‹ŽŽ‹ŠŠ‹‹Œ‹‰‹‹‹‹‹‹™¥©¢—”‘’§‡j[NJINVYZYY[[douƒ‘…ˆyiz•sa`\[Z[Z[\ZZ[]\\\\[[[[\^\\\__^_``abbin† ¥½’rg]\\[YY[ZZZZZYYWWXWVUTTTSSRQQPQQRRTUVXWXZ[\]a`caeens‚ ²½ËÕÙÐË·«²ÔááåæáÞàãæèéêêéèæåæçççççæçéëêêèäßÛÍÈÁÉÏØÙ×̸›}ZX]Œ¾°Ÿ‡sia]LQRS[YYYYNF@>;:987787777876777798;?FO^jqvy}~€ƒœ©ªºÕ¶­®©‘ˆ’‘––š™——–––˜”™––——•–—••””–˜••–”–’’“””””•–”’“”””•’’’“‘’”“’”“”“’‘“‘‘ŽŽŒŽŽŒŽŠ…{W4)#$%,47878:677777677889688889::9:;<;;<<<<<>???>=>@@@@@?>>=?>????@B??@@AA@@?>?AA?A???@@ABA@AAB@@@@@@AAABBAAAAA@BCAABBCCBCCCCCCBBBBBCECBCCCCDEEDFEEEFGGFFGFFFFEEEDFHFFFFFFFDFEEEEDFEEEyyyy}yy{z}||{z{{|~}}~~€€ƒƒ‚ƒƒ‚…ƒƒƒ…†‡…††Š……†ˆ‡ˆˆ‰ˆˆˆ‰ˆŒŒ‹‡ˆ‰‰ˆŠˆˆ‹‹ŠŠ‹‹ŒŽŽŒ’ŽŽŽ˜£šŽŒŽ‰‡š |cVNJHNTW[ZYZcqƒx†ˆˆynƒ‡‚od^\[[[[ZYZ[\\\\\[[[\]\]\\]\]``aa```ej|Œ¤¿šp_\[\[YXXWWWWWVUUUSRRPTQRQRRSTTTVXX\\[ZYZ\^adeda_]ahw…—©¹ÑË•œ§¹ÍÑÍ·°ÂÐÕâååååææçèèèçÛ×ÖÜæçèèèçææåÛÖÛãäåäâÑÓ|œÚàáàßδ—€oa\VVKMJGC?<<<9:998877789778788889;>CKWjp}‚ƒ”´§¼º¼¸µ«¢¨±Ÿ‰Œ’œ—–––—™–š—˜˜—–™–˜•”•–•”•—”–“—•™””””•—“–––”™”““”’“••“”•””““”’’‘’“‘‘’’ŽŽ““‘‘‘‘‘ŽŽ‘Ž‹Œ}h>-##$*27888:778:798779898;98899889;<;;<=<=>=====<<=?>=?>>>=??@@@??@??A??@@@@??@@@@@??A@@@AABBB@@?@AA@@@ABAA@AA@BBBBBBECBCDCECECBBCCEDCDDCFCDEFFFDDEFGHGFFGGFFGGGEEFFFFFGGGGGEDDGDGEEExyyzzyz{{{||{{{{|}~~~~~}€‚‚„ƒƒƒ„†„ƒ‡††…†…†‡‡††…‡…‡ˆŠ‡‡‡ˆ†‰ŠˆŠŠŠŠŒŒŒ‹‹‹ŒŽŒŽŽŒ‹‹ŽŽŽ‘˜š‡xˆ…™–Œr]TMJHKTW\ZYbqkn{Š‹‹x`js„}vvkda[[ZZ\\^]\]^^^\^]]]^\`]]```bbbadegs~–¹Ÿ–{d^XXXXWWUTUTSSRRPRQRSSTUVXXYZ[[[Z]^cgc^gq~Š‚{ywnadfq|Œ ªµ©•›—š“™Ì¼Ï«­­¬°µ¾ÉÕßáâäååä×ÉËÇÌÓÚåèêêééåàÜÙØÝåæåÙÓÕÙâççæäáÑÕ®¥™~pdXPID@><>89888777778888:999999;=DM\nw†}~ƒ‰œºÔ²­³Åƹ–‰‰Š’™—›˜–—•———˜––—–––•••”””•””“•”–••–•“”“••–””••““’“’’““’”•“‘’”’‘’“’‘”“‘‘Ž‘“Ž‘‹‹sJ3#"#(0677577777788778888888888889;::;<<;<=====<<<<==>?>=>>?=??@>?A@?B??C@B@A@BBA@??AA@A@AAABA@@?@AA?@@AAACA@@??@BBBBCBCCCCDCCDCCCBECCCCDEDDDFGFEEEEGGGEDEGFEEDDDEFFGFEHEEEFFEDDDEEEHvyz{|{{{{|}|€{}||~‚~}~~~€€ƒƒ‚„ƒ†ƒ„…„„ˆ‡‡†ˆˆˆ‡‡†††‹‡‰‰Š‡‰‡ŠŠŠŒŽŽŒŽ‹ŒŽŒŽŽ’ŒŽŽ‘ŒŒ“’‘‘“›¦¡…x†{y“ºŸ‚jZRMJGLOU[Zamzyyx{Žwaew…€Žsd[\[Z\\^]\_^\\\\]]]]\`^^_```_`aabcdksª¥­‡h_UUUUSSQUQSSTTUWWXYZZ\[YZ][Z[[[^dnvv_lƒ¡œ’y…‹m\Zairƒ˜¡œ«­°¶¼ÄËÊËÉÅÀ¬©¨¦´§¦¬¼ÅÐßÜÛÖÔÁ»»ÃÓãåææçææßÑÎÏÙÖ×ÛÞâåçççæäÞÔɲ¹»¾³§•‚tgZOHB=:998889667988998887:9;>ELWku‡……‡…††”´±²®Æ¿Þ¸¨§¨—Ž’”—š™˜—™˜—––——˜˜˜˜™™˜˜””•™™š•˜•™–˜•——™˜—•”–™”•”•“™–˜•””“’’““’’““’‘‘”‘–‘““’’’Ž’ŽŒ„}Z9%""%+5786878787:888999887778988899:;:;;:;;<<;;;>=>>>=>>????A?@?@A@@B?>@???@@BB@@???@@A@BA@CA@?@@@BBBAAABA??A@@@ECCDDDECBBEBBDCCCBEDDCCCFEGEFFFEGEEEFGFEEFEEEEEDGFFFGFJGFEFFEDEEEFFFzyyzz|{z{{{{||}|}~~€€€€‚€ƒ‚„ƒ…ˆ…‚ˆ„„„‡‚‡‡‡†††††‰‰ˆ†‡‡‡ˆŠˆ‰‰Š‹‹ŠŒŒŒŒŒ‹‹ŒŒŒŽŽŽ’‘‘”ž§«•yvstŒ±¹•vfYRMJHJNU[^`_alvy’{n|‰…˜ƒ~nbb^]\\`]\]^]]]`]^^^]`_]___`__aabccejn‚›¡º’reXVTTTTUUVWY[[[[\\[]\\\[\^]][^_dp–ydx¥|_w˜‚x^Xccilw‹ŸŸ®°²¸×ÐâÜäãá˶¯®ºÄ¼¤¦©ÆŸ¢§º¹»¼´¥Âº¿ÄÊÑÛâáàÚäáߨÆÞäèèçççåã×ɺ²ª­±³¶®´²¯£•„th]RIC=;99768887877777:89<>CIVgyŽŠ†€€…œ®Ë¾É»¾Ö¯Ÿ™“Œ“›™šš˜–˜˜˜˜˜—˜˜˜––––––•••˜–™•–”–——•˜–••”””””““”””””“‘‘’“’•’‘‘‘‘‘‘Ž‘‘‘‘‘ŽŽŽ‰ƒiB)#!#(356677777776888987887777899:9:99:::::;;;;;><<<<<>=>A??@?@@@@@@??@@@???@BA@@?@@@@??AA@BA@?>??@@C?BAA@@?@@@ABCCCCCCCBBCBCDDDCACDDDCCDEEEFFFFFFFDFGFFEGFDEEEEGFFFFEFFFFEDDDEEEFFF|zzyy|~{z|{z}~}|}€€€~~€€ƒ‚†……„„„†‡ˆ„ˆ„„…ˆƒ††ˆ‡‰‡ˆˆ‰‡‡‡ˆˆˆˆŠ‡‰‰‰‹ŒŒŒ‹‹‘’ŽŽ•“Ž“‘•žµ²²x}mp‰¬»«ˆqbXRMKHJMS[Z\^hlv”€››•~˜„~yqid^\\_]]]^_^]]]]^^]^`___``_`abaabccdhw„½›‚p\YXY[[[\]]][Z[[\[]Z[[\[[[[[\_dy‹“{„Œ¨p`k}†zhfhd`_cjs‹’šŸ¥°»ÉÒÛåååãâãäää忨ÊÀ¶¶»¾»º°µÃ¶­§¦´¸¶³¾ÔâàãáãäæèçççæäâÒ³©¨¨«¬¬¬«««¶¶µ°«Ÿ“}k\PG@;77677778;778899<?CHUbt‹‰”Šˆ‡„ŠŒ¤Ì¾Ø¾¿Â¶½×­’”—›«£žœ™›™š˜™™˜———š—••—•˜—™™™–›———™••––•˜––”””•”—”““•’’“““‘‘“’“–––’•’””•’‘–’”““Ž“ЉtK.%!"&16677778686788889788899888988999;9;:::;;<;><<<;<><<=>???A@?>@?????@???AAAAAAB@@???@A@AABB@D??@CBCA@@AAA@?BABCCCCBBBAEEDDEDDBBCCDDCBEEEFFFEFFGGFFEEEFGFEEFEHGGGFGGGHFEDDDFEFFHF|zzyz||z{{}||}}}}}€€€~€€‚‚ƒ†………„„„ƒ„ƒ……††…‚††‡‡ˆ‡‡‡†„‡‡ˆˆˆ‡‡‡ˆˆ‰ŒŠ‹Œ‹ŠŒŒŒŒŽŽŽ‘•ª·­vjcq‹¬¹°™‚l`YSQLIJLRZ__`bp”‚{€}€šqu‚xxl``_^_``_^^]]^_`^^_``aaaadbcbbbccdedjs¸¢~e_\\]\\\\[[[\\]\^Z[[][\[[[\]]jtux}€ylqsvvs}~€vgd^ehnt~‰‘—¢¯¸ÂÒáäççèèçèéééèåãáâãÙÔËÆÆ»¯ ¡¨°­¢–¥²ÀÞåèèèçæææãØÊ½¯¦ £¦¦¥¤£ ¢¥¥¥¥®­¬¤›Š{m`ULE?<:9778797689<?CHS`q†–’‡†Œ–¢ºÄÅǽÐ׺¨ž™•“˜¨¸°£Ÿ››š™—˜–˜—˜——––•••—–––˜•—˜˜—˜”–—••–˜–“••”’—””“”’’’’’‘‘’’“‘””•‘‘‘’’““’‘‘‘“‘“‘Œ~X4(!"%,67778777889777777889677777677899:;:::::;:;<<=;<<<==>>>@?@???>>>???????>??@@?>@A????@@@@@@???@AA@?@@A?@@@AAAAABBBBAACCCCEDCCCCCCDEDFDDDEEEEEEFFFFEEEGHFEFEGHGGFFFFFEEDDCCDEEFE~|zz||}}~}~|}~~~‚~€€€€…‚ƒ‚„‡‡‡„ƒƒ…„††……„……„‡‡‡ˆ‰†††‡…ŠˆŠ‡ˆ‡†ˆ‰ˆŠŠ‰‰Š‹Ž‹‹ŒŽŽŽŽŽ‹ŒŽŽŽ“’’•›§§ªqabr–°·½«’zi`XTOMKJKR[Z\^lw{€†{ˆ|€Œwit’¨„wg_^]]^_`^^^````__``_`bbabbccbcbadea\blŠª§µ‹md^]\]^][[\[\\\\ZZZ[Z\[ZZ\^]^^`cfjt†ŽŒ‡vsrvšŸœ|bY[\]`cks}‹”¨¬¾ËÙÞååäááåèèèæåäãäåäãåàÍ´©£³¨ž’”ÇßçéèèçæåäÙÌÁµ¬¤ £¤¨£Ÿœ˜™š›Ÿ§¼¾¿¸°¥™„pbTJB<76668688;<=BGPZj~…”Ž”‹‰†•¨²¿²¨ÏÖ¾¾¿½¶´¡°ÐÀº­¡œ˜˜˜–œ™œ——–šš›œš—™—˜——™Ÿ—˜—š–”•–—š–˜–˜˜—–™“•”””š•”’˜’““””•“’‘–“–•–“–”“’“”–‘’ŽŽƒk>+"!$)18998778887666677999778978777889;;:=:;<<;<<=<:;<<?==>=>>?A@A>@>??>???@?@?????@??????@@@@@@?BAA@@?BAA?@ABAAADCCBBBCBCBCCECDCBBCCDDDDDCDEEEEEEEHGFFGEHFEFHGFFHGFFHFEEEDDDGFFEGE{}{{|{||||}|}€}}~~€€€€€ƒ„‡ƒ„ƒƒƒ†‚…††‡…………††ˆŠ‡…†††…‡‡Š†‡ˆ‰‰‰ˆ‰Š‰ˆŠ‹Œ‹ŒŽ‹ŒŒŒŽŽŽŽŽŽŽ”™¦Ÿ o_aq¢º¸½É¨Šxjb[VQNKJIPY\^cfox†~ƒ|€œwav—€vie^]^^__`___^__`a`_`cbbcddbbbcdeb[]cj€–£¹’wlb_^^^^]\[\]]]]][\[\[Z[[\\]]^^abs•Œ|wxz~€•¨Š\Sbeb\[Y\ajt€Œš§¶ÊÒáÙÑßáææåãȰ¹ÅÎÖàãäáÌÆ¯  ¡›”ŒŠ©ÛãèéèçæåãÚËÁ¶®§¤žŸ £££¢ ›˜•“’‘‘—œ¦««ª®´¶¸˜}k]SJC<;:9899:=?BJRat‘›‘Œ†€„„‡œÑų®«ÉØÀž—Ÿ´ÓÏÔ½©¢œš˜˜—˜—˜–—˜˜———˜—˜˜˜™š———––—––•–•—–˜––––“”••“““”’“’““”“•“’’’–““‘”•“‘“Ž’’’‡vK2#""'-3588888886667998967778887777789<:::::9;;::;<;:;;====>>>@>>?>?>>@???@@??=>=??@?????@@@A@??@@@A@@?BAA?@BABABCCBBBBBBCCCCCBBBCCCBDDDDDDDFEFEFDDEFFFFFFFFFFFFFFGFEEEEGEEEEEFEDEF{||}}{~||||||}}~~~€ƒ„‚†ƒˆ‡ˆ„ˆƒ„„††…†‰†††‡‡Šˆ‹ˆ†…††‰…‡‡ŠŠ‰ˆŒ‰Œ‰’ŒŽŒ‹ŠŒŒ‹ŒŒŒ‘Ž‘‘‘’˜¦••h_`q¦ÜÃÂà‡yme]WTOLKJOWY_]ds‹•z€›w_s˜‡€”›—{h^^_a_^__```bbba```aacccdccccde`Z[^bgx‡¹™†xe_\]]]\\][[\\[Z[Z\[[]\\\\[\[]^o‚”ˆ~}•А†–„r`comd[WUSTUZajtƒ¢¶ÄØÓáäççåᱤ’ÂÀØ»ÍÓÑÑÄǤ¦—–‰¢ÀåéééèçåãÙÏø°¨¤¦¡£¢«©¨§¦›—“‘’•—›œœ™—›Ÿ¡¢¥¥¢ž–n_SKD>:9888;=CKXdr‚‡‘‘”Їˆ„†ˆ¡°°±¦ÙÓÆÀ·¨±ÉËÝп²¡š˜˜˜˜—˜™•›™›™›™šš›œœšš™—˜——————––––””•—–˜•••”“““–”•”“”•”–”““””•’“““’•‘“‰€\9(#!%+45778778878678889666779777777779999999::::::;::;<=>>@@?==>@>@>>?@@??>>>>????AA@?A@A?@@??@??@CABABAAA@@@@ABCCCBBCBBDCCCEBCCECEDDDDDFDEFFFFEDDEFHGIEGGGFEEFFGGEEEEFEEEFEEEFDEF{z|||}|||}|||~}}~€~}€€€‚‚‚ƒ‚‚‚ƒ‡„…………††……†ƒ…††‡‡‡†‡‡‡‰…††ŠˆˆˆŒˆ‰‰ŠŠ‹‹‹‹‹‹‹‹ŒŒŽŒŒŒ‹ŒŠŒŒŽŽ‘’˜”t`_^p¨×ÃÇÚͶžŒ~qg^XSOMKHMSZ`bev”‚vw`t™‡u—Žr^ccb`_^`ca`baaaaabdcecddgdecfc`ZZ]beis{‘²®¥Žwk^^]]\\[[[[[\\[[\\\\\\[[[\]]elqxy{~„zz{‰rwx„s^ZYXTROQU_gt€‘ ²ÄÑãæççÜÆ­µÆÒÙÌÇÍÀ½¾Â¨¤™™ ¯Â×èëêéèçãÕÈ¿·±«¦¡¡¡Ÿš˜˜˜˜™“’’“”’Œ‹ŠŠŒŠ£Œ”ˆ{maWMF@=;<9=BLVev—Š…~…Š•¡ÃÓÆÆ¼²¦š¨³ÏäÞϼ«£›™œ™™—˜–˜———›–š˜š˜˜—™™˜—––—˜˜—————––•––•–••––”””””””””””•”“’’““’““’’’‘‘…lA*$!#(05667778767788787665677667666678899999:<:;;:::::<<===<<<>?>>>>>????@>>?@?>??A@@?@?A@?????>?@A@B@AAABA?@AADBBBDCCCCCCCCCBBCCBCCCCCCCDDFEEEDDDEGFHGEFEEFFFFFFFEFEEEDEEEFEEEEEF|{||}||~€|}}}}}~€~€‚ƒ„‚ƒƒ…„‡‡ˆ‡‡ˆ‰…†††„…††‡ˆ††‡‰ˆŠŠŠ‰‰‡ˆŠˆ‰ŠŒ‹‹‹ŒŠ‰‹ŽŽŽŒŽŒŒ‘‹ŒŒŒŽ‘ŽŽ‘•—wfa^^pœÒÆËÕã˳¡€qg^XRPLJHMPV]]ey|}Žvauš†uˆƒ“}adda```aaaaaa`acabbcdcccdddcdb`Y\^bdghls‰¥¡É­Šn]\]]\[]]\]Z[[[[\^]\\\[Z\\\[[]dhxzuuy}ƒˆƒ¨“‹bZ`_YTPLNOV]ht‚‘¤¸ÍäæçæâÇÏÍæåäØáÎÀ¾¾²¢—ÁàæèéêééæäØÆ½´¯¬¨§¡¤Ÿž› ˜”’’“–•“’’Žˆˆ€€‚…‰Œ“¤¤¤Ÿ˜„ti^PC;57;CKYfq…’‹‘Ї†„††˜Á½»½À¾À«§«¬ÄÜßâÓÅ·¤žœ››™™™›œœœœ˜™™š™™—™——ž–™˜™˜Ÿ˜˜—•••–™••–˜˜——š–••———••”–”’“—”•“™“—“’‘“‘‰vJ.%#"&-676777777779777667566966665568899;99:::::99:;<<<<>=<<<=???>>=>>>@@@??A@???@A@??@@A@??A?@?DBBABAAA@ADAAAABABBCFCDCCCDDDBBCCCCDFDECCCDEEDCDFDEFFEEFGDEFGGHFFEEEEEEEEEGFFEEEFE{||{||||~€}}}}€~~~€‚~‚ƒƒ€‚‚‚ƒ…‰††‡„ƒƒ„†††‡‰‰ˆ†…†‡†‡ˆˆˆ‡ˆ†‰‹‹ˆ‰ŠŠŠ‹Š‹‰ŠŠ‹Š‹Œ‹‹‹‹‹ŒŒŽŒŒ‘•tnda`mŒªÇÅÆÒáϸ¥’ƒti_YUPMKIKPW`dgffu›sbw›†v‘…ˆ”jyƒugfdegecabbaaaabdddfeedddgc`\]`ffhghkp‚”±Ó°‚l_^]]\\_\]\^\\\\^_]^^]]\\]\]^blz„ŒŠˆˆ|}{{ufozph_WSMLKQVakyˆš«ÂØÝå䯯È×áØÓ×ݽ²´Ã¥˜¹âèêëëêéèåØÈ½µ°¨©¦§œš™šš™”’‘Ž‘‘”‘“’‘ˆƒ€xwxz|zyzzƒˆ—£¦´³±—„a@4047>CNWds~Œ™Š„}}‹—¨ÎÎȾ²­¤¢¡µ×åêêßÀ®§¢Ÿ››š—˜™™˜˜›š˜™˜˜———™–™™™•™˜˜––—–—˜–•––•–—™–––—“—”–“”””’’’““““–“““‘ŒV3(#"$+5666787777876666766656655766679978899:;:99;::;<<<=>=<<===?>>=>??@@??AA@@@@?A@@@@>???@@???@AA@BBBBA@A@AABCDCCFECCBBCCDDACCCCCDCCCCCDCBDDCCDDEFFFEEEDDEEDDDFFFEFFFFFFFEFEEEED€}€||}€~~ƒ~~€€€€€ƒ‚‡€…ƒ‚‚ƒƒƒ…†††‚ƒ†……ˆ‡††††ŠŠ‰‡‰ˆ‡‡ˆˆ‹‹‹‰‰‰‰ŠŠŒ‰Œ‹‹‹ŠŽŒŒŽ‹ŒŒ‰‡‰‹‘“€|pegm~’ÃÃÁÄÚãÏÀ©•„sh`ZUQOLJLOU^^aarwrbxœ†w‘‚€˜‰…—‘skhmoiabcdeecbccddddeedfgc`\]bdggfihilz‰¬É „ufb_^[^]]]]\]]][_]\[\[][\[\^aqw˜›˜˜˜…xqorlrqw†‘—yaV[SNMJNR\dq£¹ÏÙáɲÀ¿¿»Áͺª¦¥¤¨ÀßçëëêêéçåÜξ´°®­­¥¥œ–—š˜—“‘”‘”“š‘‘ŽŒŠ…€}wywvutsuuw}‚Œ”£®¸ÐÂdž€<0/148;?FMYeq€…“‰‡‡ƒ‹Ž£¹¼¾½Á«³ž—³ÅÐáãäÕɽ¦Ÿœœ™˜ ™™™™šœ˜™š™˜š™›˜˜™›—š˜—˜—–——›–•——–—™šš˜——˜”—–••™”•”““’’–“˜“”’ƒi;+#"#(06667877777866666666676767666689888::<:9999:::::;===<<<=>B??>>>?????@@??@@@@@A@@???@??@@@@@ABBBBBCBAAAADCBBCDEDECDCCCDDDCDCCCDCBCEDCCCDEEEEHFGFHFFDDEDEFEFFFFGGFFHFEFFEEFIF||}{{{}~~~~ƒ€€€€‚‚€€„ƒƒƒ„„„„†„„‚ƒ†……ˆ…†…†††‡†‡†‡‡‡ˆ‰‰‰Š‰‰ˆ‰Š‰ˆ‰ˆŽ‹Š‹‹‹‹ŠŒŽ‹Š‰‰‡‡ˆ‰…‚‚„†„†ŠŠƒ~~|“¾¿šªÅÎÖÎÄ­—ƒsi`[WSRMJKMT`baejecx†x‚›‹w‹¤ƒyp{naeeeeeebbcdefeeedefdb[\adhiiihhknw–´ž˜}mga^^^]]^^^]]\_]\[\\][\\\]_gmrwz}{x‚†ŠŽ‚˜„|bW`^[WPKNQX`kv‰›°ÈÍÓÂÂÃÀ·›Ÿ¢¨”œ¾ßçëíëééèåÛÑÁ³­©«­§¥¡–—š–˜”•‘Ž‘‘Œ‹ˆ…„|zwxwtsrmoqvz…™¤²¼»º¡W4/.2456:<?DOXet€‘”—‰„~~Š•¦ÅµŸššœŸ¼¯Ææðîëáï§¡žššš™šš™š˜˜–––˜˜˜˜™™˜–›˜™š˜———˜–––————————––—’—˜–•””•—”’’’•”•““’†vG1$""&,26677777778575676766767665766688888898889:99:::9==<><<=?>=>@>>??????????@AA@A@@???@??@@AAABCCBBBBBBAAAAABCCBDCDBCDCCCCCBCECCBBACCCDGCDEEEEEEFFFDFDDDEEEEEEFGFFFFGFFGFDFGFF‚~}~~~~~ƒ~€‚‚ƒ‚„„ƒ…ƒ…ˆƒ„„‡…„„‡…Š„„…‡‡ˆ…ˆ†‰††‡††ŠˆŒˆ‹Š‹‰Š‰ˆ‰‰ŠˆŠ‰ŽŒŠ‹‹ŠŒŠ‡‡‡‡…‚€{tpmjjw„„ŽŽ‘›«œ—¬¼”©½ÂãÕǬ“‚sjb]WTPMKLLTZ\_cdeyŽ…y€ƒœ†›’‡‡}vededcccbccdfecedddee_Z^aeggghhijjjmtŽª—•ˆvmca^^]]\^]\[\]][[[[[\[[\\^]^cht†˜šž•‘Œ‡ƒ‚|jgie`[WQOONU[eq’§½ÄÎÖáÔ¹¥œ¤¦•»ßçêëëêèæäÙÌÁ·°¨¤ Ÿžž™–—œ˜˜—•‘ސŒŒ“ˆ†‡ƒƒzyyyusrqonty‹–£®¿·µ›~V70/13457889=AGO]jw„ˆ“‘“‹†…„‰ž±›»­Á¿À·±ÊâåçæäÕͼ¦ šœœœ™œžŸš˜™˜™›™™™œ™š™™—™˜—•–—˜˜›–˜˜˜–––——˜˜—–––••——•”™•—•˜’•ŠƒZ8&""$)259898:8778876666666788687777778:898::988889;:98=<;::<=====>>>>?@?@@@??>?ACCCBA???@@BBA@BBDDDBDBBBDBBAAABCCCDDDCFEEBEDDBBCCCBBBDCCEDCDFEEEEEGFEFEEEDFFFFFDGFGFFFIFEFGHHFEE~}~|~~~}~~€~~€‚€‚ƒ‚ƒ„ƒ‚ƒƒ„…„…„‡…„ƒ……„„ƒƒ†††††………‡‡‡‡‡‡ˆ‡ˆ‰Šˆˆ‡ˆŠ‰Š‰ˆ‰ˆ‹ŽŠŠ‡……ƒƒ…„ƒ€}vpkgedbaabek‚z‡±²±®¬š£½–‘ŸŸ ÁãËé“„ume^YURPNMMRY^ffdp’~yƒ~ƒ›Ž‚Š„ˆ’„zŽot~laccdheeddehhheeg^[_aeeehghkiiiknt‡˜«¶¢…xkd`^^^_^\\\]_\[[[\[[\\\\\^`fnzŒ†„ƒ‚urƒ…‡…………‚}vri]XROMRV`ky‡š­½ÕÝâоËà˽ÂÞçêêêêéçãØÊʺ·°«¤¡šš—–•–——˜˜‘‘’”•’Ž‹Š‹Œ†„ƒƒzyyyutttsvz‰•¢ª³°®•zV60.1456678889:;BHS_l}ƒ’𑉅– ©ÃÅÂĵµÇÌÕèïìèàžœœ—™˜˜˜™š™™™››šš™™˜™—˜–™™—•–—˜•———————–—•———–––––––••˜”•”““•ŠgA)#!#&0556667877776665686777777677788888889;998888;;98;;;;;<<==?====>@?>>=>>???@A?@????@@@BC@@BAABCCBABBDABAACBBBCCBBBBCDCBBCBBACCCDDCCCCCDDDEEEEFFEEEDBCCDEEEEDEEGEFFHEFHGFGDEF~}~…„‚‚€‚€‚ƒ„…ƒ‚ƒŠƒ‡„…„‰…‡„ƒƒ…„ƒ„‰…‡……††……†Š‰‰ˆ‰‡‹‡ˆ‰Œˆ‡‡ˆˆ‡‰ŒŒŽ‡Šˆ‡†ƒ„…€|tnifdaaa`^]]^``bjƒ{¤ÃÂıŒ˜¼šŸ£¤´ÇÏÊÁª•…xne`[XUSPONRV[dbiotz—~ƒžŒ…œ}˜Š• ‰‰Žˆrbcddeeeddfiefffh_[_befghhhiiihjkoxšÅÖä¹–„oha_]^_]]^]^\\\]\\[\\\[\]_bgoqrrpkcq‘œŒ–†Š†‡‡’ށfXUVROQQYbp}Ž¡´ÊÖåäãããääçêêêêéèçäÙÓËž¹²¬§š—””‘”•–™”–••–—ŒŠ‰ˆˆ†„ƒ‚‚‚}zywvuxz~‚‰•¡«³±¯”vS7/-0357677988978;>AKTany‡Š—”“‹……‚„‡œÅÀ¿¸°³ÐȽÎÜãæåå×ѽ¦Ÿœ››š™™™™˜œ›››šššš™š˜˜˜——œ—˜––—››œ™š——˜š—™—™–›˜™––——•™––––’vJ.%!"%-4765567977655676666779876779888998888889888::99<;<;><<==<====<=>>>==>??>?A@C@@@>@@AB@@ABABBCBAABBCBBBBBBBBBFBCBBBFCDBCBDCCCECCCCCDCGDDDEFGFFEGEDDDCGEFEFDDEGEFFHHGHIGHFEE~}€€~ƒ‚€€€€€€ƒ„„ƒƒƒƒ„„„„„ƒ„ƒ„ƒƒƒ„„…„ˆ††…………‡‰ˆ‰‡‡†‹†‡‡‹‡†ŠŠŠ‡‡…‚€~{yrmieddb`_]][[Z[[]]__birbn”°ÈŵŒ¢žš°®¯°±½ÑÌ«˜Š{qhb^\XUSPMNS[afhpts|¢‹…‰|žw‘¡†€‹—uceedffhdefigfgjga^`cihhhhijjiijlp~¢ÔëîêÏ·›xmc``_]]^]^\\\\\][[]^]`_`__bedddcfx„¥’|zŠz‡Š–¢€lVW\]VPONV^it‚‘¤¹ÇÙßãâçêêêêééèçæåßÝ×ÒÌÇÀ¸±¥ œ›š˜–••”“‘Ž’–“‹ˆŠ………„‚‚~~{{{zzyw|„Š•¡¬¶²­“wU61-/24577778:999999<=CJVamz†“”š‡‚}}‚•ž¢¢¥±Ñýº¹ÀÔêñîìäÁ¬£žœšš››š™™œ››˜ššššš™™š™˜˜˜š˜˜™™˜˜•–—˜—˜›š———™•˜—–•••—”–—––•““‚X5(!!#*35666667666556766666688787578899;8987888778:9:8889:;;;==;=<<<<<=<===>?A>>@@@@@AA@@AB?@AAAABBBBBBDCBBCBBBBCAAACBBACCBBBACCCBCBBBCCCCCDCCFGFFFEEEDCCCEDFEECEFEEFFGGGGGGFFEE…€€€€€ƒ€‚€€€ƒ†ƒ„ƒ…ƒ„„ƒƒ†ƒ„„†„†……„ˆ‡‡‡†……‡‰‡ŠŠŠ„…ˆŠŠˆ‡‡‹…‡†Š…ƒ„„„„‚|zqkgcaababb`_^]]^[YZZ[]^``bi€^Wu›´È±Ž’¥¡«½ÄÉ®´ÄÜÓÁ¯œŒsieb_[YTPMOSYbafntx¡‹‚•}ƒ “ƒ…¡vcedceeeddegggiif`]adgjjjiijjijkls…´çñöøù÷鬁sgd`_]]]]]]\\\\\\^^]]]]\\\\\\[]et’–‘}~†Š“Œ§—‹lZ^`_ZTSQOSW^fuƒ”§µÊÏÔßççççèçççæåäãâââÝØÍüµ°«©ª£žš—”‘‘‘ŽŽ‡Š†‡‡ˆƒ„~}{zz{{|~…Œ—¥®º´²•zU91.0145799:889:;:::;<;9>BMTbr|Š‹•ŒŽ‰††…Š’™¬Ô¿Â¼¶¾¾ÊÔßââáÒÁ³¢››œœ™œ›ššœ›œš›™˜˜œš™šš——š™™—˜˜˜™šš—™˜›š›™—––•—–—˜™••••‡i>,#!"(/567686768886777656668767877899888887788878:::9;889;;;;<;>==<<=>>==?>??>>@?A@@@@AAABBB@AAFCDCBCADCDCCCDDBCACCEBBBCCDDDCCCCCCCBBCCCCDDCDFEFEEEFEECBCFFFFEDFEDDEGFEGGGGFEEE‚‚€€€‚‚…„‚„„„ƒ„„ƒƒ…‚„……ƒ……†„……†ˆ†…†ˆˆˆˆ‡‡…†ˆ‰Š‰ˆ‡ˆ‡…†„ƒ„}|{slhc`^\YXVY[]_`_^\[[ZZ[[[\]^^^`i|ZTXu ¯±š“•¥§©ÀåÔ¢§¯ÂáÙʲž€wokgda[VRNNPW`ehggw…}„Ž£’z•ƒ™¢xeihgefffggfghijd`]ddfgijjiiijjkov’Ìëóöûÿþøè»”€mfa__^^\\\\\]]]]^]]]^]]\]\[[\bgv}}{††‰ˆ‰‡†‹quvw{gZZYTONOW_itƒ­¸ÎÓáâäåæææææååääããßÞÙÔÌÆÀ»¸¶¯¨¢™–’““‘Ž‹ˆˆ†‡‡ˆ‚€~}}||}~€Œ—¤®·³±—yZ>:89::::9889:;<?@BCB@?=;9<?ELXcp‡Ž—ˆƒ~…~Ž®­¯ÆÅ¼½·®¬²ÅßëçÜÒºª£Ÿšš˜™™ššœ™œ™™˜—–™˜™—››™–›™™–—˜˜—šœ›˜˜—›–›™˜––•——˜˜—–••“ŒxK3$""&+15555555666555555666877777779:9889887876778998:899:9::;;;;=;<<==>=@>?>>>>???@@@AA@@@B@AABBDECCCDCCCBCBBAAABCCBBCDCCCCCCEEEDDBADCCBDEEEDDFEFDEEDCCCDEEEEEEDDGFFFEGHGFGGED…„„€‚‚‚„‰„†ƒƒ„„‚†„ƒƒƒƒƒ„…„………„„…ˆ…†…†††‡‡‡‡ˆˆ‡‡ˆˆˆ‰‰‰‰ˆ‡‡€~~{tmhc`^]]]\ZWUSVSYZ]a^][[ZZZ[\^\\\]]_hz[JMY{¡§œƒ‘–¡Ä×Þ¤›£­ÎâÚ̶¢’…}wrnic^YTOOOV_`bcoy~}‘‡‹›–ƒ’Ž€|““~jkkgfedeeeghiikd_]eegghhjjjjjjkq|ŸÙìõøûþÿÿúï̧Œrjb`_^\]^]\]\]\\\]_]\]\\]\\\\^`hkptw|ƒƒ†‡ˆˆ˜™™}o^ZYZTPNKQU]ep{‡“£³ÁÒÙäåæææåääääääãããââââàÝÔÉÁ¸¯¦ œš•‘ŒŠ‹ˆ†‡‰…}~„•§°¸µ­—~\C?@EFGFDA><;<>@BEJPSUPJE@<9:;@DNWcox…ˆ’‘’‰†„‚Š’¡ÉÁºº¸µ´¬ª¶ÁÎßßÞÍ÷¥Ÿœ›œ› œœ™™¡›œšŸ›œœœ›ž™™™›™˜˜œœ›œœš™™š›š˜™™š—œ™—–œ—™†^:&""$(/354455555666545567687667788898898:8887788:898;9:9:9::<:::=:;<<=>>@?@@@>=>>?@@@@@@@@BAAABBEEECCCBCBBCBBAA@BBBBBCDDFDCBCDDDDDBADCCCEBBDDEGFFDHHHDDDDEFEEEDDEEFFGGHGFFHGED‚ƒƒ‚„ƒƒƒƒƒ…‰ƒ…ƒ„„„‚„ƒƒƒƒ††…„†…„„„……††‡………‡‹ˆˆ‰‰ˆ†ˆ‰†„„„ƒ‚|zwnhd`^]\[[YZYZXWRTWWX[\\\\Z[\\ZZZZZ[YXW[az`KCQ_}«¡Œ“˜™´Óä­§«³¹ÇäÖλ§šˆ|tmh`ZUPOOT]aejmoo–š©‘|’Š~–‹~s‚Œzliheefghiije_^dfjjnjjiijkjlsƒ°çðöùûþþÿÿüôÚÁ }peb__`_`^^^^]^]_^]]]\[\`]`^`^`bdgiy‡–’‘…‡ƒ|uilnh\XSOJLNUZdks~œ¬¾ÊØÞåæáÝØÝäååäääåååääããáÝÔÊÁ¸°ª£œ–‘Ž‹‰†„€{}~ƒ…’¢²º¸±¤dFEGPXYZVSMGDACEHJOUZ`[WONGB>:::<>FMXbo}…‘’—އƒ}~‚•¨»»¹°¤¡¢´³´»ËãçÞÁ°¨¡ž››š™š™›››š›››™š˜˜™™˜™›š™™™ššœœ››šššš™—™œš˜œ›˜–™—–’‹oB)$!#&-444455555555744566667667789998888788877888888889:99:::9::::;<=====>======>>>>AA@@??AAAABBCBDDCCCCBBBBBCBAABBBBBDCDECCCDEDDDBBEDCCCBBDDEEEFDDDEEDDEEEDEDDDDDFFFFGFFEFFEF‚ƒƒ‚…‚‚„†„‡…‰……„…†ˆ‡‡‡†…„…ˆ…„†‡††…‡‡‡†‡†‰†‡Š‰……‡‰…ƒ…‡„}xslgca_^]\[[ZZZZ[[^YWVWXY[^^_\\\\\_YZZZZ]XVUW_{fLBKdpˆ¥Œ‡Ÿ±¦ªÀ࿺Ðݼ­ÆÛÜÙÁ±¥š“Œ„yrha[UQPOUZ^dehj€™ª¥~“Š~˜‰|}£›“vjffgjhiijjg`^dhiijjihjkkjmv‘Æìòøúüþÿÿÿÿýû÷鲇wie``_a__^_`^]^^]]]\\\]\\\\\\]\^ar…¤ž”‡~|{{}€ƒŠw[YXYQKLINSW]go}‡™ª»ÔÙäãÝ×Ñ×ãäåäääååååååäääãâÜÒɾ·°§Ÿ˜’Œ„‚€}|}~…Œ’™£´ÆÁ¾«™qYST\djnomibZQMKKOTZbhgc^WTOIC>:98:;AFOXes|‰‹”’”‹ˆ‡„Š‘¶Öî§¢¡Ç¹É¸¯ÂÝÝÝÕϼ¥ ¡œŸœ›ŸŸžœ›œ›žš™™™šœš œœš›››š›››š›™™ž˜•”{J-%!"%+3355555755544555566666667889888:8978777888888887:99::9::::::;==>===>>>>=====>ABAA@>@@@ACCDDDBABCBBCDBBBDCEBAABCDDCCCCEDFDDDBBFEECCCCCDDFEGCDDDEHDEDGDEDDDEDHFGFGFFEFFFE‚ƒƒ‚ƒ‚ƒ„„„„ƒ……†„…………‡ƒˆˆ„„…‡„†‡‡†ƒ……‡†‡†ˆ…†Š†ƒ„…ƒ‚{wqlgda^\\\\Z\[[ZZ[[\[[[ZZYZ[[\^^]]]`]\[XWWWWUTTRV]jiLEMˆ{q{’š·º½¬¡½ÂÊèåÇ­¶¿ÔÜÛ˼±¨ ˜‚wld[WTRPSX_hhgwŽŽœ‰•‰€™‹…–…„vjlmkhhiikea`cgijkjiikllmo|žØîôùûýÿÿÿÿÿÿÿÿùê¿™†qhb`a`_`a`^_`_^^a]]]]^_]]]\\\]^jz†™‡‡Š‹‘†€p^bda\TMJGJLRX_fq|‰–ª¼ÎäßÛÐÀÉÜÛÙÛàâååæççççæååäÞÝÖÎǺ²©œ•މƒ‚ƒŽ˜£¯¸ÅÂÁ­¡gdbgkjxpywuuuf\WT]gr}}yokd[PIC?<98::>AHO[htˆ’˜ˆƒ}†³ÊÙ¬ª¤Ÿ£¬³·²¢²¼Ôäãâ¹¥¡žœ›››œ ›œœœ œ™™™šššš››œšœœžš›œ›™š™™™œšš˜˜˜˜˜’…Y3(!!#)12655554345534555566666667777789776777877899889999999999999:;==>===>>><><==>>?@???>@?@AA@ABBAAACBBCCBBBBABABDCCCGDCDCCCFDCCCCCBCCCCDEDBDEDCCCCCEDEDDDDDDDDDFFFFFEEEFGFD†‚ƒ‚…ƒ„ƒƒ…ˆ……†††††Š†ˆ†‹†„………„†ˆ‡†…‰…†‡Š‰‰„ƒ„†ƒ{xojgdb`_^^\[\\\\__]\\\\\\[[\^^^]^\_^d]^__ZZXUVWTSTTSU\pcKJPx­uj|Ÿ¯Ûȳ˜´ÇÐàåÕ››¥Àâèæ×ÍÄ»°¢•‡zne^ZUTRUW_eckyz{˜†‚š‡Ž“†…Š{onmjhhhhkcaadlloljjklmmnq‚°éòöùûýþÿÿÿÿÿÿÿÿûñѱ”vlcbaaaa`````__`^^_^^^`^]]]]^^biqyƒžŸŒ‹„€~ztttrla[SQMHFGLQX_hp}Œž¯ÅßØÔ¼­¾ÈÐÎØÜÝÜàåæçææåäääãââáßÚÓÊ¿³«£™‘ŽŒ‘™¦µ¼Îºº “}j_ZZ]_efgijnsq~orkk|’ž§š‰ƒsnYOIE@;:989:<CIS^k|Œ“‘‰‡±­©¦¡”±¡¶Ú¾ª¶ÀËÙÒ̪¤ ŸŸŸŸž›œœœœ› œ›œœ›ž›Ÿš™šœœžž š›š™™Ÿšššš˜›™–Šm:,"!"&,245554444463444466676667786788899777667788777889::::;889:9=<==>===@>>=====?>@?>>??B@@@@@AAABDBCCBBCBBBABCCBCCBCCEDEDDCECCCECCCDCCDDDDDDEECDCDDDDGEFDDDDDFDDEGEFECEHFEE‚‚‚‚†ƒ„†††††„‡††„„„†……„…†‡‰„†ˆˆ‡…†…‡‡„€€€€upjda_]\\\\\]]]`]]]]^_]]]]]]]^^_]\^]][\]^_YVSQPNQSTRTUUUW\f^IJQl‹|c_x¨»Ò¯˜«ÙÏÑâÝ¡—§­»Îéèâà×μ«œ‰{nga\YWTUX]eimmoy}…Šˆ…šƒƒ˜‘…ƒxŒ{llnjiebagjknmmmlmmlptŒÆêô÷ùûýþþÿÿÿÿÿÿÿÿüöâÖ¨sfdba`aa`____`^__`_^^^^__^]_abfiu~Œ£‘€…ƒ„…‡ŒŠŒi_YYYXPJGEILSYajw„”¥ºÎËû¹ÍÖØÚÜÝÝ×ÝáåææäãäååäääããáÝØÐÉ¿µ«£ ž¤°­º©š‰wmdbZZUXVUVUUWX[_fonxz–§§¨›—vj`YTOHC><999:;?CKTany„‰“—˜Š††ˆ‹ˆ…Œ¶²µÙجµ´¢ Ÿœœž Ÿ››žœ››››šœœœ™›šš›œœ›››œž›œšššš™š™š›š˜˜™–ŽzF2#""%)0234534444443844556866777888888977786566777777889::;9899:9;<<<<<<<=>>==?====>>?=??B>?@@@@CBBBAAABAAABCCBBBBBCCBBCDECEDDDCBCDCCCCDEEDDFEGEBBBDEEDEDDDCBDEDDDCEEEDDDDEDD‚„…„†††„…††‡Š„‡‡‹‹Œ†ˆˆ‰‡††††…†Šˆ‡†‰ƒƒ|xslfb_]\\\`\\[\]^^^`__`^^^]]^]^\__^]\\^^^]\[ZWSOLHEGIUVVWWZZ\^waIGOi•o[X[zš¡§›§ÓÆÈÝÜ©žÄ¯ ¸äíîîëâÚųž‹|qjd`\ZWWV\ddffpwŽ…„š…œ­–¤ ‰¤›‘vnknkhbahilmnnllnnnrz˜Õëõøûýþþÿÿÿÿÿÿÿÿÿÿþü÷渍zlgb``a`_____^___`^^^^^^^]_`___eo€‹‘‡‰Ž“–˜—–’ta[Z][[SMIEHJOT]fq|‹œ°ÆÆÒÕãäääääåßÜßâÛÒ×ääääããããããââáââÛÓ¾ÀžªŸ”‰€wha]]abc_[UPNLMLOQRU\`gzƒ£¸¨©“€ogfgc\QJD@<:9888<=DKWcmyšŒ‰ƒ„ˆš­¬Ï¿µ³²ª¥°À®‘œž¢œ¢¡ ›£œžžžžž¢œœœœ›Ÿœ››œžœœœžœ š›œ›šš™†[8%"!"'/233555443443445745666866798788887777677779787::999999::99;;<<<;><>=><<=====>>?=@?C>??@@?@AAAABAAAABDBAAAABCCCBCECDCEDDDFBBCCCDEEEFCDDDEEBBCDEFCEEECCDEEDDGDFEGDDDEDDD„‡…„„ƒ…††ˆ†……ƒ‡††‡ˆ………†ˆ††††……†‡ƒƒ€}zwlfc`][[[[Z\[\Z\\]]^^^`^^^]_^][\]]\_`]]\[ZYXUSRNKIDGFIKNUVXXXYY[_saGDKgnhbVVYt™›•ªÍíÊܲ¥ÎÇ›š¾ÜîðîéÝßË´ Œsnjhe`[XVZafjmn|–~ˆ„šŒˆ‘Ÿ††œ’ˆ€vkllgbbgimmnlllmnot€§æï÷úüþþÿÿÿÿÿÿÿÿþÿÿÿÿÿùëÄžˆpibac`__`_____^___^^`_^^__^^^adqy~ˆƒŠ‹†|wroljdddgidaYSLGIIMRYakw…“¦¹ÈãääØÊÐ×ßåßàâÑÌÉääãØØÙÝâããããâàÛÝÿ¤•‡{smhd\UWX]edf`YTHFAEKMOPRUWbk{š¢•Š}igdiqeXQKGDB?<8999:>BLU`nw„‹’šŠ„~~…Š‘ »Õ±°³ÀËʝ‡ “˜œž žœœœžŸœžœžœœœœ››œœœ›œ šœœœœ›š™›“‹k@'#!"$-22233334344444444566677687778878879767767777789988999:999:;<;;<<<==<<<<====>>?<>=>>>??@@AB@@@ABAAABBBBBA@AACCADDBCCDCCCBABCBBDBEDCCDEEEECCDDEDCDEDDDDDDDDECCCEDDEECDDˆ†…„‹†‰†…„…………‡…††‰…„…†‡‡‰‹„„‚€~wpid`\\[[ZZZ[\\]]`_^_`]`_^\]^a^`__\\]]\^^]]\[ZVSPKGAACGJLNPRUWY[WWX[^qaEEId›€{kWW]z™œ®¹Ã¶Æà»¶ÕÆ›“¬çíïí騨æÎµ¡ƒyurnjd]ZV[_djipy€€—†‚’‘~{~…‰ ŽŠ‰zlmmecbfikkomllnoovЏìòøûüþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûóÕ²”vlcca____________^^_b___`^]___agjr|ƒ‰‹ƒn_a`beimt{}yf]SWPKJHKMT[en|‹›°ÄÜÕÍÁ¶ÐÙåÛßáÔËÓäæçÞÑÏÑ×ÝááàÝÔɰŽwokecaZQNLQZ^ffjbXOFB?CDGKNPRTX^lsz„~rkkmotgYTMMOGB=:9899;=DJT]iv}‰”Œ’ˆ†…„…—¸³²±ÂËÞÇ®«§™’•šœžžŸŸŸœ žŸžž  ŸŸ ¡¢ ›ž›¡¡ Ÿ œœ ››™–yI,$""$+/3355554334546666665676666688777877777767666777888899:9<9:;<<<<<<<=;<???=??>>?>>>>??>A@ABC@C@@@@AAAAAABCAAACBABDDECDCCCCCBBBBDCDDFDDEEFFDEEBCCDEDDCEDDDFEEDECDDEFFCDD…„„„…„†„…„…‡‡‡……††††††…„ƒ‚~{{{qlf`][ZYXV[ZZ[\\\Z]]]\]_]]][[\]_^^^^]]]]]Z[\YVUTOLLIGFIPQPPPRUVYZYYTUVY\nbC<Fb˜†•j^_c| ¦®¸´Íá°Åפ“¯çîîëåÐÊèåл§–†|vpia[WY^dkmpvw€‰Œ‡{~s~„‹ˆ†wlmlgdcfjmmonnmqpqz•Éíôùüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý÷áѧ€rfc`__a`______^^^_^^_a__```aabdfop€—‹nopx|€†‰Œsj_X^^VNKGIKRXaiu ²ÂÀ½ÃËÛãââáÛÕØæéëèÛÌÈÁÂÆÃÁ®žŽ€wplhgec_[VRMLKQUZbcm_[PGEDDADEJQPWXY^cmwz}{wttuseZTPRQHA>;97889:=@HOZeozŽŠƒ}}Ž•±±ÂÊÉʼǩœ—•““š£ žžœ››ž Ÿžœœœ  Ÿšœœœ œ Ÿžœœ›››œœœ’ƒV1&!"#(.2342434234455555566566656687768977886:6756687777778:98:9::;:;=<======<?>>?>=>>><=<>=>?@?@@A@@@@@AA@@AACCABCBAABCEBCCCCCCCCDCCBDEDDDEEGFDEEEDCDEECBCDDCFDDCDDDCDDDCDD„„††‡‡Š†ˆ………††„†‰ˆˆ‡†††‚€}ylida^[ZZYXXXY\Z^\]^``_]\]]_\\\\]]^_^^]]_]\]]Z[XUPLIFKKNOPQTWUTUYVVWXXXUUUW\m^@9A^˜‡ž‘of`_j‚™²ÈÆÕãɰ·ÈªŸ´éðíâÓ¿ÒèêäÑ¿®£›”އvkb]XZ[`gfkq|…‰Œž…wnt~”Žzvmnlgeehjmnnpolqpr¤Ùñöúýþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþü÷縌xie```ab```__]^^__^aa__`__``__`chwˆ™…‹’™Ÿ•‰ˆ…{rgefb]VRMIJJNTZaktƒž¯µÍÐâåæçèâÛáçèéçå×ɯ¥˜†|sliggggedb]VVXYWQNRQSW\a]_QPKEDBDFGHIJMSUY_dlyy€~xojeb^RODC>;988888:<?CNT^hr„‹‡Œ…††…“µ±Ä¿½³¨¤šž´¥™˜—™žŸ¢ ž Ÿ¡ žž Ÿ¡Ÿ¤Ÿœ Ÿ¡ŸžŸ  ŸžœŠf9)"!"&+246663433434555556965676668766:98766776556677777777888:99:;:;;==;;=<<=?===>?>>A=><A>>?@@B@C?@@AAA@@@AABAABDBAABCEBBBBCECDDDEFBCCCCDDDDFGHEDDCCCCBBDDDDFEDDDCDCDDDEED……………ˆ‡††„„…‡‡ˆ‰ˆˆ„~ytmhe\[ZYXWUWXYYZ[\[^\^__^^]][]^\ZZZ][^_]]][[Z\\XTROMIKHKMPSSUUVVWWWXVVVVVVVVTX\`V83=Us‡•t`af»ÁÎßçÕ³²Î¢œ´ëóíÞÐÓåçåáãÙź°ª¥›‘†xof`ZXX^jlkrz{|œ’ˆt…£ˆvtmmmhdfkkonnnpppps†²æó÷úýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúì܇rjdbba```__^^__`^```a`_^a````bcmuz‚‘‰…„‚‡„„ƒ‚„xunhaYRKIHLPU[emv€Žœª»Êàåæèéèèèçåäá׬“ƒtmhfdedffgjgdb\ZY^g_ZXWRIOOSXVTUXTPLGGBBCBAFKPUZ]biu„…†zvmd]SLEC?<:98878:;<ABILU[clw†Š‹‹‡Š™£˜‰„Ž’›ž´²³²«–™™¢¡  ¢ ŸžžŸ žžžžŸŸŸžŸžžžžœœœžŸ›œ’uD/#"!$(133332543433445565555666556776888777766667777667777888::9899:;<=:9;;<==;=<==>>>==;=>>>??@@@@@@ABAABDBABABABAABBBBBBDCBCBBBAABBCDDBCCCCDDDDCCCBCCBBDDDFDCDECCCCDDDEED†††„„†…†ˆ„„†ˆ‰Š‡‡„‚usjd`^\[ZZYXXWXXYZ[__`]^^a_`^]]^]]]]ZZ[][]]\]]Z\WUUTPLKJNSSUVWWWY[WXWXWYUXVVUVVZZZ[gW32:N\w”†w`_e‡®Èæé㹯°œž³ÝïîàÝáêçÕ¸ÖèÞÔʽµ¨šŒshaYWV^edghmw’¦³”ˆ|˜™xqmomjdgjkonoooppqvÄéõùûýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûóÔ·›ymcbaaa``_^__`__``___^]_^`a`_`achpwzyx{„„‡ŒŽ¡žš…ŠŠŠ}i^]RNKGJKQW[biq~‰™©·ÆÓäççèéèäϲ›„wida`ddccjeefgdc_`^cejgf`[RONKKNTWZ[ZXSNJCB<==DINTUW[`jpuƒ|obZMHD@=:999878<DIKKMPQQW_hr{…„މŒ‘‡„‚…Œ­ µ¶ØÙÖ¶¨£š™žžŸŸ    ¡£ž¡ž¢ŸŸž¢¡ Ÿ¢Ÿž£œœœŸœœœ”…X6%"!#&033333543333444595445666556788777766766677776667778788:88999:;;;::;;==<;==>>>=>?><=>?>??@@CABAAAABBCCCDBCBAAAACBBBBBCBEABBBBCCBCDCDCBCCDDDDBBBCCCBDDEDCCCCCCDCFDDEHD††††††††ˆ…†‡„‚€}ytkb^ZYYYXYXXXXXY[[[[^\[\\__^]]]][ZZZZZZZ[[ZZYYYXWURPMOOORSSTUVWX[YYYWWWWWWUUVUTVVVVWZfZ5,5MRf}—–™Ÿ©zbca}¦Íèå½µ´¤¡¯ÐßîîèèíéÏÊÏêììéçÞÒǵ¡‘‚vjaZXV[dhpnm€ ”–ˆƒˆ„ƒvmnnhdgllonqpqpqty–Öìöúüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý÷ñ⮈xgdbaa``_cab``aa`__^]`^b`__```beilrsƒ—“‘Œ‘“‰‰Š•yb]\XRMHHILPUZ`frz‰”¡¯ÂØÛæèè⸒tmgcd_\XSW]_baadfca`_adcdfg\ZXUQLRW_g_\Za]ZQKF@AAIJOVUTW\_clw|€pjZOLD@<=====?JT\bdfb[TIQW_dn}ƒ‘‹Œ„~|{€„‡£ÀÏÔÒÌÎÅŠ’”ššœœžŸ  ž¢Ÿž›œž¡ Ÿžžœœœœœ››—Œe>'"!"$+245435444453545444564666666777776666778787876777667787899::::;:;;;;<<;=<;<<=>>>===>>>??@@C@@@BCAAB@BCDBBBAABBBBBCBABBCBAABCDDBBCBDCBEDDDEDBCCCCCCDDCBCCDBCCCCFCDEDD†‡‹†††‡‰‰…ˆ„urjc_\ZYXWXXY[Y\YYZ\\\\\]\[]]``_[\\^[\ZZYYZ^ZZ[[ZZWVTQPMMPQSSVV[ZZYYYYZ\WXWYWWUWVVVWWWWW[e^7-0@NWk‘ª¦±¡†sp_`| ÇÞ··²¨«®µÈâîìêìèÑÈÕèðòòòðìá×¼¦”„vib\XU\bfjhq„‡€„”Š¡‘{lonfeglmmnpoprru¡äï÷ûüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûõ隃icaabaaaaa`aba`__^]^^`____`_^]^agn˜ª‡Š…‚Ž¨›–iZ\`[WPJJGIKOSY`fmyƒ‘ž¯ÄÒåçß·leb_^^XQNLRYYY^edcbaaace]UX`Zd\[\[`hg`XVY]ZdXTLHHHJKJIMPSZZ\`eluhpc_SGDDEFGGM`iorru€o_TP\YYZbmu}‚‡x‚€ƒ‚ˆš¢¸×ÊÚµ¤ ›žŸ›™˜š›œœ Ÿ§¡Ÿ£¢£žŸŸŸž¡  žžžžŸ›¡™“wF+#!"#)0346456545433445445777656666678868667976677777766678878;;;:;:>:;<<;;::;=<<=====<<=>?>?@BACA@AA@?ABBBCDCBACCCDCCCBAABCDBABCCDCCCCCDCBDFDCEDCCDDCBCDCBBCCDBDDEDEFFEFE„„†††‡…ƒ€yrkc_\ZXWUVWXWYZZXYYZ\]^]]]^\[[[[ZZY\]\[ZZZYYZZYXWWTTTSQSVRORRSTVWZYYXYYY[[WYXWUVVWWXWWWWY[]ga;..1<I]…’©¦™z_[]u’£³º¼¹¸· ±ÓæèæâÞÔÚæêîòóõôñïåÚ«—ƒwld\YV[`fkpspqŽŠŽ—™|lmngehlnropoorrw†¯èòøûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý÷íβ“qiccbbaaa`aaa```__abdegikgcba__di{‡…„‰†~{ƒ‹ŒŽ„qonmjb[TOJEFGLOUZ`fpx„ŽŸ¬¿×Ô½…nhb`[]UUONMNOS]_eedcccceYSMT[[[Ydciij`RPNQ[^bUXQPNLLDCBHLPVVVXX\dfsghZUQNLIJVc‰ƒ~~€qcaa\TPNT\elrx}{yxz}ŒŸºÒÀ­®²Àʲ–’”––—˜™š›œžžžœŸŸœž œžžŸŸžžœš›•…Q0&!!"&-23545344454344554456555567677665556566657777766767667778999:99<<<:;;;9<==>=<===<>>>=@@@@ACA@@?@@ABAABCAABBAABACBABBCCBBCCEDBCBBCCBBCDBCDDBCCDDCCCCCCDCCBDDDEEEEEDDƒ†…ƒ€}voh`^\ZXXVUUVVWYY[[\YXY[\__^\\\_\[[\ZZZ\]\\[XWWYZ[XWWXSQTSSVUUVWVUVYWYYZY[YYZZXYXVVVWZXWW[YXYZ]id>2-+/=Jat–«˜™ ¥fNQXkz”¼º¼ÍÜŸ¡ËàÜÑÓÚØéïñòôôõôóòðîèÈ®˜†ynf`]\`afjkgjv‰¤¤®—€mmnhgilnppppqtsxÀìôùüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýùõðà§}nfcaaaa`aaa``_`bdgjmtywob_^__`bhpw„‚€xhxz‹…‡…ˆ’”rf[]WTMGFGILOSY_emwŽ·Ó¼}oha_\]`]ZVROMTVX[^aafed[RNNTWXY^efgj_WNIFLOSWWVSVQMICBBGHNRQPPQSW\cconn`UPFNao‹tos€„srkfSIFIT[ekrqptopw}€ƒ˜Ÿ§°·µØÅÔº°ª•‘‘“™™šœ£žžžŸ œŸžŸžŸŸ¢¢¢žœ¡š™‰_8("!!$)23856344554464554445556666658665556666666777976566678788=:;;:;<<<<<;<;;<==?=>>?<B??>@@>>?CA@@@AA@AAAAAABCAAABACBABDCCABBDDDCCBECCBBBEBEDDDDDFDDCDDEDDDDCCCEFFEEEED‚‚€}woi`\YXWVUUVVTVWXYYZZZZYZZZZ\[[ZZZ[\[\[[[[\\\\YWWVYWVUUSSQSUTUWXUWXXWWYWXYYWWWWVWWXXXYYXXYWWXXYY[^hgA50+,.>Pf–˜˜¦ªqNGRO]h‚š·åÕ ¤ÅÌØÄ·ÈÛìòõöööõôóóòñìæÉ°›ˆ|qkfdbcfiokkswˆ§–{nnnhgjlopqqqrtt}™Óïöúýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûòⶐ}hebbbbdccabhnsy~„‹‘odcadca`cgpt}‚}ƒŽ“”˜—–ŒŽui\ca^WPJGFGGLOTX^eow…•©ºž‚ungeccdcdZTRQNIOTX[aie_\YVSPINUZadkcbUIHHIJPRRQTZSVQKKJMNNNLJKPPQSV\aepb[SGOPVYZ_j}xukjZQEALU]dn~smljptzzxx{€‚‡ ¾ÇÊÐÖÕ˘„“‹“’”———™šœŸŸžŸŸžœžžŸžž›ššš›‹kC.#!!#&02344344544444445546555456656655556666787776666666777789:9:;:<;;;;;;;;;;<<<<=<====?>?@?>?CB??>>>@@AAAAACBAABAABBBBBABABBCCCCCABCCBBBCBDCCCDDCCDBCCDCCBBBCCCDFEEEEDysg`][ZXVVWWVWVWW[[[Y^[[[ZXXZZZ[Z[ZZY]ZYZZ[\ZZYYYXXYZZUTSTRRSTVVW[WVWZYYYZXXXXXXWWWWVUVWYZYYXXYZZZ[]^fhD73.++2FT_l›¢¯lQRVSPS\|°É΢¥ÊÃÅ·²¸ÚíòõõõóññññòñïëæÊ±‹~uqnljjimkknowŒ’vopoijlnpqqqqsuu¦çó÷ûþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûöìÊ¥‰leabaccbbcp™Ÿ‰—‘Œ„xqiijc`^`bhry…А– ¨¦¤š™“‰{qoohbUYPLJFFEHKOSY_hn|Š™§ ¥˜Šojgfdc`ZXSIGGIJRZ_jjldaYPKGMPU\af``VPRUQPTGLTTSTY[[[ZWTOFDCFMNOPSW[`jer[TPFIBIPVYXZULG?DP[djqvvmghqn{wssuy}ƒŒ’—±ÙÕØ·žžžœ“ŒŽ•””•™™™›Ÿž£ŸžžžŸŸžž žŸ›œƒQ3%!!"%023343745444446575555574456555657556788797755566788777:9;99:::9:<;:;=;=;<<<<<<>===>=>?B>@AB@B@??@@AACBBBABCBEDDBCCCCCCDBBCDDCAACEBCDDCDDDDFDEDDCCCDDCCBCCCDDFGGEFDja]ZYWWUVUVWWWWUWXYYYYYXYYYXYZZY[[[[[YYXYZ[XYWXZZZZ]YWVTSSUSUVWXWWWWWVWWXWWWXWWWWXWVVVVVXXYYYYYYYYZ\\]dhE952.+/6FS[bœŠaO…u\QLPV¿«Ž¡ÏÎм™®ØìñôôõñëíïðïìíîìèÍ´ Ž†€}yxxwurmoosvqtsopqmmotrqqrqsvw†²êôøûÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûñÕÀ™ukeddcdbboˆŽ†‰…‰ƒ„…††sfb_bbjƒ—“™¦œŸ‘ŒŒŽŽŽrn^W][WQLFDDGHMQW\bitŽž¢³­¦€vnjfc_\[PHIJKKRV^cfhedWOONNNSTUX]e[\[ZWUPKLLMQUa[ea`ZSNFC>DIJLNPQRW\bmadWOJCFIKBHJKKKMYediknromkmlh```fipuy~‡™²Æ¸«ª¼ÍÛ¶—’…Œ‹““”•–™›œœšžŸ šž žœœš™”Š`;&" "#+13333335542354444555664565555555555667676655567657777788899:<::;;:;;;;;<<<<<<?====<==>>?????>>@@?@AA@@AAABABBBABBAADCBBBABBBABCCCBDCBBBDDDCDDDBDCCDCDDDDCDCDDFEED[ZYXWWWVVUUWWXXY[Z\\\ZYY[Z[ZZYZY\[[Z\ZYYYZ\ZZVVX\]\[ZVVSTTUW\[[XXXXY[XXYYWWWWXYWWWWWWVUW[WZZZYYYYXXY[\biF;741.,/<MVYjˆfMx•s[MHLY|‘ˆžÏâãä ¤ÒìòõôóòïëêíëÚÔàìîè禛”‹‰‰‰…~xqnmkinpooooqrrrssrqsvx‹¿éõùûþÿÿÿþþýýýþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþû÷óç­ƒsedcbacpœ˜Š‰Œ’–˜‰€na_ccm{“›žŸš–‡„†Œ’œª©¥Œ{maaed_XXOKHDEGKOSW\bmw„‘Ÿ±¯½¦›‹xoha^ZWVTQMMNVZcdefaa\XY[URRHQ]]\[abb`]YVMGJMT\fihg_\ODA>CBEJKMMPSV]cbqcc][XQJFO]adffgeceovx{vomc^]]`ekosv~‰‘˜Ÿ¦«³×ÐÎżªƒ|€“–––˜›šŸ›Ÿž£ŸžžŸž œž—‘oC*#!!"'/443243444344333455456445667665556666867666555665999777789:;::;<;:;;;@;>==<<<>==<<<??>>>??@?>>?@AAAA@BCDEDCCBBAABDBDBBBDA@BDABCBCBBDCDBCCEDDDDDDDCCCCBCDDDEFFFEEDXWWWWWVVWWWXY[\]Z[[Z\[ZZZZYYZ[ZZZZZYZZZZXXWTTTUVXXXYZVVTUUWXYY\YY\YY[Z[[YXYYZYXWXXXXXXWWZXYYYXYYXWWWY[ajF<9853/,5CPY]m~}MmŒsOGEMVk† Íêîë­¦Ííóöôòóï×ÞåÚ½¿ÇÕêíéÓ¾²§¢žŸŸžœ’ˆ~uronopoppqux{xvvuuux{”Ñì÷úüýþÿÿÿýúúûýþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûñ井kgccdkqˆ‡Š†‘ˆŠŒŽ’‹…zvqolppuzz{yxxx}€”œ¨ž˜Œ~{rvy|‚f\[YTNIBDEILPTY_ho|‡–¦°¿½ºŸ€keaagda[WZ^_aZUVY\fgicc[SPNOOSUVW\b_[WPLHMP\feghha\QIHGDAFFHKMPPRTW^ib|„Šwf`]_mrypoedhqwyyƒw{tlnlkkf^^aiqv|€‡™³º¿ÌàÅЏ|xsvzƒ‹’”•–˜™š›œœœŸŸš–„N/&!""%-443223344333375556446445566665666677657655666555677788899999:;;<;;;:;;<<<<<<==<;;;=??>>????>>???@@A@AABCCBBAAABBBABABCBABBBBBBBCBABBCCCCCDDEDDDDEFCBBBCDDEEEEEEEWXYWVVVXZ[Z[[\\\[\]]\\[[[YXZZ[\[\[[[[WVVWUUSSTVWYXXXZXVVXXXYZZ\[ZZZZa[[[ZYZYXXXXYYYY_XZY[Z\Y[WWWXXXXY[`lF;99:53-.9KUUa}VK~´ž•ogUJNUtÁåîê­×ñôöôòòêÄ·Ãʤ’©µÔìðëÙÊ¿¹¹º¾Ã»¯ …xrmnnoprv{~~}|{ywvzžáï÷ûüþþÿÿÿõêíîíêóüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýû÷îٍogccdfkt{€Œ‡…Œ—ž–‡‰†|okdcddccgov†”¡¨¦œ’…‚…‘†‘€q][[^XSKGFEFIMPV\bit~Žœ¬ÃÀÐÁ³™tkiiiifddkdQNMPSZacfbj\VSQPOOORZ\g]^XTQOW]ab\Y]g\_]ZXSMHG@HKIJOORT[_k‚•¤‡yjdpwxqfd_mn|xwuwrznpd]OJNYcms|ˆŽ“ªÐÈç‹€zwvvvy~Œ”–˜˜™šŸžŸœ¢Ÿ š›‰\5("""$)3334633455433455556464456666756645666576556665865687997889<:<;;::;==<<<<<<<<?=<<<<=???=>?>>>@?@@BBBBABDBBBBAABCCCBBBBCBBCCGCCBBCDDCCCCCCCDDDCCCCECCCBBCDDEEEFFFEWWWWWYYYYYZ[\]\\\]]][ZZY[ZZ][ZZYZZXVUTTSTSSRSTVWXXXXY[XWWWWZ\\\[Z[ZZYYZ\YXXXXUXVYXYYYXZYYYYXXVWWXXXXY\_lG<::96420/;NRQK6G‘¡§—ƒ{eSKN[{¦Îìí×åíôööõóò楡¿¯’–©»ÉëññìâßÜÙÚÞÆÎüª™‰{topqst}ƒ…†„‚|zw{ƒªêòøûýþÿÿÿý鶝½¿ÀÓöûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüó×Ýxoeddgimppq€Œ–Ÿ“‹‡„…Ž–€me`ddddq}‰œ ª¤¥”‹€…}ytqod[]a__ZYQKGCDFJMSX^dny†“¤´ÃÜÙÖ´œ‰upljggfigZRQOSSRRbbaaZZ[]YSPMQRW]^`aacdccbRSTW^]gbma^XRMINCJNPRSUWZo›”~stuvveWRNTZ\_[Zblgba`]XNFDDINU\epuzƒ™œ”‚}|{zvysrr{{ƒ‹Ž’”•—›› ž›Ÿš—Œg=-#"!$'.135443355333344545355566566656555555566656455666587899888999::::9:;;;<<<;<<<<<<=>>???>>>>>?@>@@AAACBAAABBBCBBCABBBDCCCBCACCCBCCCCCCCBBBCDDCDFDDDBCCCCCDDEEEFFGBWWXYZY]\\[\[_]^[\\[Z[Z[[^\Z[[\]YYWUUSSSTTTSSUVYX]XWWX[ZXYVVY_]aZZZZXXYYXXXXYXXXWYYYXXXZXWWXX[VWYZYZYY[_nH<::99873.0?QOD>Euœ›šz^JDSe…¥ÎçÖÛðöööõôóã †˜ª”š¶ÉÝïòóòñðïíéÙÉÇÒÍŲž~xsru|‡‘Ž‹…}{‹µìóùüýÿÿÿÿûæ“’¾‘mËôûþþýþÿÿÿÿÿÿÿÿÿýûúøüÿÿÿÿÿÿÿÿÿÿÿÿþû÷òä°‡vfdbbbaafw‹¨Œ…†’¥§¤sa_a`bdz€›°¬©—Žˆ‚|tpkhda^]^___]\]TNJDDDHKPTY_itŒ°ÄÛÖÜ̸›‰qldejg``aZVTRV]_ea]\bai]TQOQMSUWc_lkkfaZSRMSU[bgleka]VPMMRSSSTVV^…Äœƒv}wwq_WLGDBBBBCDEFFEFFDA??>>ADIQ]ir{…‰‡„~€}…~€|{{{ywst{Ž‘”•›™› žŸ ¡‚J1%"!$&/034445553345444545396566577677678856555566476678889899888999::;=;::=<==<;;<==??>>>>====>>>?@?@@AAABBABBAABCCCBBAABCEDEDDBBCCBDDDCDCDDECCCGDFFFDDCDDDDGDEDEEEEFDY[ZZZXYY\Z[[\]\ZZ\ZYZYZZ[\YZYYWSRPQQRQSUWYVUXYYYZXXZXZXWWUWXXXYVXYXXXXXYX[Z[XXXWXVYVXXWVWVWWXWXZZXVTTV\nG=<<?A@=7112<MHDIh‹¨œŽ•xFBN_i ÂÔåñ÷öõööô䢄†ŠœÍÞîòòòóôóòñëÕÊÁÓàÑÒ»¤“†|ƒ”¡¤§Ÿ—‹„‡“Åíõùüþÿÿÿÿý꫈ÁŒhÃôúüøùýÿÿÿÿÿÿÿÿÿûñèéõþÿÿÿÿÿÿÿÿÿÿÿÿÿÿûñå½™ƒkgcbbbdqƒŠ“„€†‹Žš™œwsnnlgdp{ƒ’‰†€{tnkhhhjeggknnlhec`_^XVMHEEGJMPW^go{ˆ˜©¼ÔÝáÕÀ® tkiga`dfca][[[TMRY^`cfc_ZSRRVMU]`hjlji`YVTVKOTZ^bjcf`\[XWUUTUT]x¢£yqrpljccXSLB@<;:98889::;<;;:<@@AGLWar{}€€~~}||{y}€|„ogefrvސ’“”˜™šœš”ŠZ9'" "$+/354445433346443333666565667765666565555444767778767;:9889:989;:;::;;;;;;;;>=>==>>===>>?@??@?ABAAAABABBA@CBBBBCAAAABCCBDDCCBBCEDCDBCCDDCCDDDCDCCCCDDDDDDEEEEDGDZZ]]\Z\\^[[[\ZYYYZYZ\\[[\[YWUTROMOOQRRSWYZZX_XWXYYYXWWWWXYYY[W[XYXXXXWWXYY[ZXWXXZWYWXXWVXWWWYX[ZZWUTUTZpG==AIT`J<62/1=JNP]u„š–—™žE?X`gl™¹áíõõôõöô娃||…žËèðòðïòõóñðêÙÐÛèçÒØßÀªœ’Ž™ª¯³²®¦›”Œ‡‹ŸÔðöúüþÿÿÿÿÿôÉÇ͘iÓöøóæÔê÷øúûüþÿÿÿó¤›ÃïùÿÿÿÿÿÿÿÿÿÿÿÿÿýûöïÒ°qhdbacirzƒ‚‘‘‘—••Š‰‘wgaflqsrokgdb`_cfhffm{‚vvnf_^^^ZVQLHDFGJOU[civŸ´ÎÛâ×ÕÓѵˆtlcfjlqom`XXKJJMPT_`j`o`_ZWQNUV`jknlrfc]WOIRPUY]`dgca_\[WVWZ`y¨kc_]\`ddcV]LH?:765956677:889::<<=@GU|ˆ”…„‚~€}‚~yˆyrnn`\_eegrz‚–––—™š›•”l@*#!!$)/3334444443444554446667767666765565856666677666666687789889::9::;9:<<<;;;;<>=@==>?>@=????@AAAAAABDCDABBDBCBBBBAAADBABCCDCEEHBCEFDDDCCDDDDDCDDFCBCCDFDDDDEEEFEGEZZ\[ZY[[ZYYWXXYZZZZZZZZ[YXUSRQPOOPRSTVX[[\YXXWWWYYXWXUVVYYZZYWWWWWVUXVWXXXXXXXXWWVWVYWWWYYXWXWWVUTSRST[qH<>ETecVB95110=Z\Zac…¹¨»˜KX‡vhjhu†´æóôóõöô範ksÈèðïäëðôñïðîéíïîåÐÛÙ×Å´¬§«±¿ÉÉÇÀ¸­¢™˜¬âò÷úýþÿÿÿÿÿûòì×¥qàøõé‹„¡èíííõüÿÿýç’H\{¾òÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûóÛÌ¡|rgeeghqw}~‚†‘–”•’ŠŽˆ}shllnnifedecbafsoqry‰™}sy…o`aa``]\UOJDFFJNSZ_gr}‹˜­ÁÍØÖããßɲ’~upppommb]VSLKKLHOUZ_`b]e]WVUZ^ihijkllmaXVTTPQS\effeeeecciqx€[HHIIILQRSQNGB:6655556757884689:;<CRn™•–‰‚{vsolgedfe^QRSSUZ\aeimx}„Ž‘••–‘€K-&!!#'/43345554444453544465776666666865556556556666667766877887788799:;999:;:;=<<<;<<=>?>>>>@??@AA@@AABBAAAAAAACEBBBBAABBBBBACCDDCCCEDCECCBDDEEDCDFECCCDFFCEFDEEEEDEFZ[\[ZY[YXYZZZZ\[]Z\\ZXWVVUTQPQQRSSUWYZ[[[WWXYX[WVVVWWWVWZXWWWWWWWVUWXV[XXXXXXXVVWWXXXWWX\ZYUTVUTSRRRSV\rI=@O`jp^H=631.3EZ[lfo‰˜¡‘ch”¬mg_i~±àêñôöõ꿉kj{™¿ÞïìÙÇßîêçóõõõõîÑ·ÍçæãÏÃÄÈÔáæëæßϾ²§Ÿ¡ºéôøûýþÿÿÿÿÿýúøë·xäúòØtVƒÒγÀÚòþÿûãuSC`œíÿþüûùüÿÿÿÿÿÿÿÿÿÿþû÷òâ´‹xecdchtwzz€”–žŽŒ‰‰‹Œˆƒ}tkha`aaaa`ahs‰~{ƒ§—€†…ia__^^]^XSNHFEHLPT[cmwƒ’£³ÄÜâçæãϯ˜•‹‚|qnndcdeYTRQHGNPUY]^affdb_aggfggimmoda^[VPVZeefgikqyˆ˜›š‡raHB?>>>???@AA@>:765555576678225789;>HSet€‘|xpg[RPTSTTTC=;@QY\]`behmrx†•’ƒU2'"!"$,44346585444565444555677556655665555586856666777667878888::9888:99989;;;;<;;;<;?>???>@?>????@@@BBBAAA@ACBCBBBCBAAACDBBCBCCDCDDEDDDCBBEDCEFDFEDCCDFEFEHEEEEEFEED[\\[YXYYZ[ZZZZ[[YXYXWVUTTSRRRRTVWXZ\\\ZVWVVVVVVVVUWVWXVXWUVVWUXWWWWWWVZWWUVVWWWVWXXWWYXWXVUSTVTSRRRSTW\rJ>E[dmqoTB:63134BT`klj~¨–_m©—Žl^S\k›ßîòööðç¤oiu”¸áíëÓÂÍééìôùúú÷쾺Ãèììéåàçéëîïîíê×Ǻ®´ÇìõøûþÿÿÿÿÿÿÿÿýñÇzèûðÂhaešÂ…Y™çýþýè¥}iTèÿüôìîùÿÿÿÿÿÿÿÿÿÿÿÿÿüôçÀž„kgdixz†sq}ˆ„…ƒ{’ ”ƒ„|sg^bca```dmu}x…Œ„s€{morolg`^^\ZQJFEGJNSX^go|Š™¨ºÐØåæâĨ¥¢œ”…xsijlhcb_VKKMPQURT\^`bhgdfffdgijimlkkdadfffhkqx…•£»Åܹ–‚cXGC@>;<;<8:999866755557568821489=>EHKOZfq|sleMD<>@>=92,(8MY]^^_`bcehms|…„†`:.%$"$)0344555556555543555578657765655555667666677876666688878889888898999::9<;;<;;;;>===>=???A?>@??@AAAABDAAAAAAAABBBCCCCCCBCCDEEDDGEDCCCCCDDEDCEDDCCEEEEEDDDDDEFEED]\[YXZZ[\[_[[ZZXWWXVTTTSTUTTTUVY\]a\[YXVXWWWVWWUUVWWZUTUWVVVVWWWWVYWYWZVVUXWYYYXXZ[WWWXWVTSSTTTTVVUUUW[rK?Jalmwq\G=964204CUbmik˜aq‡‚™ÇjWISb•ÌãóôôîÁzjr¼çìçʰÁçïôöøøøô䮟ÈëññðïïïïïðòôöôíÝÏÅÃÖíõùûþÿÿÿÿÿÿÿÿþóÌ}àùï°\d`’¼ff…ëýþÿôÙÜÌeoçþøè·¬ÙúýÿÿÿÿÿÿÿÿÿÿÿþüøñÖµ“rikt~qopsy„‚rx—§¬…œƒk_b`_aa``eimqu~Љ|zy{€†‰|i^^^`][TQKFEFKOTZais}Œ›­¾Ñåá×ÏÅ¿º¹¹—†{spocb\^TPRSUXSHMRV_bfeiefghhklmkiijihghlr…’¦½ÇÏÌÝÞà¶—zfPHA=<;<987777776565566687315=;EAUJKNU_mplkeF:31.,,+(#$/MY^b___aaadihilpnkD3*'&%(0375556766655555456576667766756666677688878766679788:88787788999;::::;<;;<?;<;?<==?>>?A?>>?>>@A@CCBBAA@AAAAABCABEBCCDBFFEDEDDFGCCDECDDGDDDEEFDDDDEGEDDEDDDDDFD]\\YZ[[\\[ZXXWVTTTUTTSSTVWWWXX[]]_][YXVUUVVTUUUTVVVVVSTUWUUTVVVWWWYVVVVVUUVWXXXXX[YWWUURWUTRTUUUUUUUWX[sM@LffiwseOC>985246AO]pokd^m˜Ÿµ­‘dMKS[ŠÖéóô칃rpˆÁ×åÑÁ±´çóùøöõòèÁ’›ÑíóôóòòòðäÝïõùøóîâ×ÜâïöùüþþþÿÿÿÿÿÿþõÔ•Òôí²PTg¤Æ„xªïýþÿûõðßulçüóÜls®ïúÿÿÿÿÿÿÿÿÿÿÿÿÿÿýõÞÑ£|torwkehiu…‘}}š² y|ŠŒugklifdbacegiiw‡…Œz|}‡•’l\cbb_][XSMGFFINRV\blv„‘¢²ÅÚÙæåáââʱ¦›Œted^^`][^`]VLFLMQUZ_bfebefjklkknjlor{†˜°ÂÚßàÙÑßåäâàݳ”x\PFB=<:9767777665779:::855<=>BEB@=<HSZ`_^M:0''&)))$$$4M\_a``_a]__``accb]NB62,**/4755655645555554445556886645566676554767666666776778888968899999899:<;;;:;;<:<<==>>>??>>>@>>?@@@@BBAAAAABAABBBBBACCDBBCDDDDDCCCDEDCCDDCDDEEFDDFEEEEDDDDEEDCDD__`]]^]]\XWUTUVSSSSTTVYXX[__^\a]\\\ZXWUUWWWUVUWUZWUVVVVUXVUVVWWVVWYVVVVUUVWYYXYYXWWWYWVVWVXWWUUVWWZZZY\rNEN_fmyws]I@=985324?Ndyqpag £¬®È‚WOKP^“Öáîè¶‘wx¤»¶­¬§Ìíõù÷óïçÅ©šÐêðñòóóòðÚÖêòõõõôñèæêñ÷úüþþÿÿÿÿÿÿÿþõÞu¨åß²W]¥ÝâxÆíþÿÿýûñÚflæýòÁX@ˆÞíïñôúÿÿÿÿÿÿÿÿÿÿÿûøò㶍{jecbcdkv‡‹‹…¡Ÿ™yp‚ˆ…‡‡{slc`ababaclx‰‹‡„‡ŠŒ“˜‘ukigc`^]_YUPIHDGIMQV^fn{‡—§»ÐÚæçèåßÅ»·³š‰wkhgfeddegZQNLKILPVYeeefgilmlkkmx€‘¦¸ÉÌßäååååäæçæåãßǯ”wfMD><:89877689:;:@@A;;974349>?811=DGFC@90'!!(.*)**-9R]`aaa`b___^^^`ba`VUIB91.04677645556665644434756776865556666656766676668777887889978899:999999:<<;::;;;<=?>??=>>>??@>>?A@@ACAAACBCBCBDBDBAACCDCBBCDEDEDEDFEDDDDEDDDDEFEEEEEEDDDDEFEEDDD__^\]]YUUSRQRSSQQRTUWZZXY^^]\[[\ZXXYWWUUUUUTTTUUUTSSSQUTWVVVWXXWVVYWVWYYXXY[[[YXWWWWXXWVVVWWWWWYXXWWWY]rOAJ[csz|zoRC=;:;7455AScomjn¤¨ºª­Íš|]RLU`‹ÈÜæË­ž‘”š¨®³¹Êéôøùöîdz¡¨«¾ÑÞàìñôóòðßÊ×çéêïôõòðñôøûýþÿÿÿÿÿÿÿÿþ÷Þr{¥Î£`uÖèâªtëÿÿÿÿøâ˜Vyæýð°L?^²Ð°©ÉôÿÿÿÿÿÿÿÿÿÿÿÿÿüôèÁ„mhddehkv‚„А…‡š‘ƒ‡~tgfbbbabho{‰‚‡ˆ‹Œ‹~wyzsoic`_^]TNIFGGJLSY`gs~ŽŸ±ÂÕæééåÏÎÙʯ‘‘‚|vsnjijf^XUQMKBTSZefgfjimprv{…’¡´ÂÛÎÏäææçèèçèéèçæåãá׳˜xZOB?:;;;<=>9::8879<:6432-02.*&#).///.-)&%0/,('-5BW^aa_______`\\\[[[XVQNJA<;;::9765665544445555555565676555666667777677777788997888878988999::::::;;=;;;;;<===>?>>>>>???@@??AAAACCAAABAA@@@AAABBBBABBDEDCDDDDDDDEDCDDDFGFEEEEEDDDEGFEDFEDb_^YYWUTTRPQRSRSSTUWY\^ZZ\\\\[]ZZXVVUUVUUUUUVTUTSRRSTTTUWVWWXYYZZYYW\\^]\Z]YYYYY[YZXXYZZZYYXXXYYXXWVV[_uP@DP`jzzˆz[E=<<::7736DRc{zx’±©¥¶Î¨¯u\UPWc¼Ðçëç´ÆÝîò÷÷øò浕£´ÍççâãíôøöõóêÉÂÄÄÍàîîòóôõøûýÿÿÿÿÿÿÿÿÿþùãs_a„™ƒ²ÛÑǃ{áûýÿúè¦ccëþïžE0I”u`p—íÿÿÿÿÿÿÿÿÿÿÿÿÿþüøñÓ¬Žrjeddegmpu~ˆ“˜™˜—“Š‰š˜sebea`adir~‡‡‘Š›”“‰„„„…„se`]^]]WVOIHFHKPT\dmx‡—ªÂÖåèèßÜáß¹–”–œ¢–‹qnm`\ZYSOQWY\dfffgis|‹š©½ÂÄÃÒÝËÏâååçèééééçâååæçäݸŒiRD>@AB@?;70*()07DB@<<=/*% "#$'('%#)36+')/7EW`ab`c_``_^a\\\][\\\WYSRRPGB?<:8766554464555654456545756556666778:7889998:8:8789998788889::99<<;<;<=<;<;;<===>>>>=>?>@?>??@@AABBA?@AAA@@ACAAAABCCCBDCCCDEDDCCCDDCEDDEGFFEEFFEFCFFGEEEFE\YXUTRRQRRRSTUUUWXXXZ]ZYYZZYZZZXXWVUUUVTUUUTSSRRRRSSTSUVVVWX[\[[ZZYX[][[ZYYXX]YYYYZXYZZYYYYZXWYZYYXXY[_wO@AFPZiw~„^G><<<<:8566AM`vx‚€„¤É²–˜ƒxe[TZe¤Íìïé×ÈÅÁÙñö÷ø÷òëʰ°´Çßñôïìñ÷ûúø÷í¹±µ¯¢­Ëíôõõøûýÿÿÿÿÿÿÿÿÿÿüé¤`\kyvou’œ’‡Åõûÿô»q\m³ðÿî“@59EKA;{çÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüôØÂœzqigfggjlu|„‰ˆ‹Š‰“˜¨‰xd`gebadhp€}„„‚ŠŽˆ†„‚…‡‹˜wf_[^_^^]ZRMIDGJNSZ`kv…“©½Óåèçåå弩 ±¼Éظ ~whea_^^_befhjknqz†£ÃÊÙßÝÕÎÖÙÕÐäåæçèêëêéæãÓäæèçÝ̹ºs^GA?;840-' *.9GGH>@4' !&&'$$)4/(',07EW___^]]]\\\\\]Z[Z[\ZXXVTSQQNJGB?;976455545566667765435554566888887776888877:8889<99899888:999:;;<<<;;;;;=>>=<=>>>>===>????@AAA?CA@@AA@AAAAABABBBBBBBBCCBCDCCDDDCDDDEEFEEFFDFEECFDDDEDFDVVVTSSTTSTUUVWWXZ\]Y[XWXYYYYYZ\YZXVUWVZTTTTQQQQRUUXUUUXXWWWY^^^\[[\\[YXYXYZWXYYYZZYZZ[ZY[[ZZXXY[]ZYZ[\_vOA?BHP[kwu^G>>@@@<:8546>I[q~„¤¬°ª«˜¥žšlTY`¤ÎëìæÄÁÄâíóôöóèÆ·±Í·ÑÚïôöõõøüûúùî˪²ªšˆ’ªêòõöùüýÿÿÿÿÿÿÿÿÿÿÿö輯Ïݧju†~a[»òûÿî—gf¬é÷ÿí‹C7550-4kæþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþû÷êß®†wkhfeddhq|~~ƒˆ“—››™‘{hhlid`dhtxxutx‡Š‰‰‹‹ŒŠ“ˆi`]a_^_`\YTPLGHIMRYajt‚”§¼Ôåæåáܺ¿ÊרäâÜİ –„wrruxwvutuv|ƒ ³ÛãååäåæåäåãææçèééêëêéæãÚââáÔÓª¤’}R?71.-,++&!!,/:ACC@;0!

"$$'&)+,%&*15EX]_^^^\]\]\\\][\[Z\]Z\[\\ZVUVWNHB>;:766656666766666756565776667987799888877:888997778:::99::99:;=>;;::<;<>>>=<?@@@>>>>>>?@@BAABCAAABA@AAACACBCA@AABBBBCCCDEFDCCCDFEFFGEEFFFFGGFGDDEEDFDURTUTSUUUVWZ[[ZZ[]]XXVWVXWYXYYYYZXVUUUUTUSUOQRSSUUUUUVW[XVXZ^^]]\[[[ZXYZYYWUXYYYYZZZYYZYYZ\\\\\\^ZZ[[\auPA@@DFWckv]F?@ABA><;8654:AWt|‚Œ“¥¸«š ¥¢ƒjWW]zžÈåÜ»­ªÁáêëî鯛ž®±µÏÎíò÷ööúýýýúóèËÉ»¢„¦èñôöùýþÿÿÿÿÿÿÿÿÿÿÿÿüõñðî㵞·Õ—Og¹ôûúßvU“åúþÿë†H>7/+/5kåýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüóæ¼–…rliefginty~ˆ•‘‘ŒŽ‹”}|~mcegjlkkjjrwwxyzzzyyqd`^^^^a^]]]ZWOIIIMRX^hr‚’¦»ÐåãÜÒ¶»ÛÔÜææã×ÉĶ¥‹„‡ ŸŸ¡  Ÿ ¤²ÄÌÒáéëèåæçäæçèèéêêêëëëêèãÒÍÖÙÄ­‡k]PB5.)''*+--("%%'*,-...#
$"$')+%"(,3FZ]^^]\Z][]]\[ZYZZZ[[[[Z[[ZYYXXTROIC@=;9855567766654555576667867777798888877:888::8:8889999<;:9:;>=;<=<=<;>=>@>>?>>>>>??????AA@BAAAAAAAAAAAABAAAAABCBCBCCDDEDCCCCEEDDEEDEFEEEFEDDDDDEDEDVTTUUVWXZZYYZ]`\\]]Z]WWXZXYY]ZZYZXWUVVVTTTUUTTTUUVXWWWWZYYZ[]]\[\ZYYYYZZ\YXYZZYYXYWXXZ[\^_``___^^[\^_bdwRBABDESba^ZE@AGFF@><;86437B[wƒ…‰œ¥­­²³¸˜qTT]{œ¿Ñ°•™Ÿµ¹ÌÚݐ‡¬ ÀÓåôöùøøúýýýúöïÚØÙ¶–¦æïõ÷úýþÿÿÿÿÿÿÿÿÿÿÿÿÿýûûûöòñðíÓ˜…ÏúüôÓ]M²Øï÷ýèZmE.28;måýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüøïа–wogfcdgkmw‹”‘‡Š‰Œ’•˜š€uieca`_``adgilnmkkjhc`^]]^^^]^^]_ZXSNLILOU\fr‘¦¼Ðåà˵µÈÕÛååæáÝÛÖ³’‹ˆ”®­¯­ÚÙ×ÝÜÕÖßæèëéççæßÛçéèèæäåæäâáàȯ˜„wjWE:3201-,+*.-1.+#!%!
-%""%*(!%1I[^^_\\[]]`]][YXXY\\`__[]\\[]\]YYXXUPGA=:88877778654658676668767778798;8:788:9989888:988889:<::;<<<;=<<<<<>=?===?===???????@AA@@BBBAAAB@CAAABBDAABCBBCABBCCCDBBBCDCCEDGFGFEEEEEDDDEDEDFDUTVWXZ[\\][[[]\[ZYYXWUWZZYYXYWXWXWVUTTUTUTTSTTVWXXYYYYYZ[\\_[Z[[ZYYZZZZZ\\\\[ZZYZZZY[\^a_^___^^^^_acdegxSBBDEFTtfXNC@AEGFB?>==9654:A[€€‚ƒvލ¯²ª|£›\LUc—¡¯ š¥®²ºÊÀª“¤µÈåð÷úûúúúûüýýùôïâ×ÕÑ®˜´æïõ÷úýþÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿüóäáóþýó´UBr­Áðûå}UVQLMHCqäüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýøåÖ¦ujhhouvx…ˆ‘‘“—™”‹‹‰ƒ~uuvkcbaaacdeeefeeeeb`_]]^^_^`_^][\aXSNJLNT[fq’¥¹ÎäÖ¸¹ÀÉÍÓâäåßå˼—}|†•·ÀÇÍÜÞÞååãæêëêèæ×ÝæêèåÞÆ¼ÉÒ©‘~k\NE<60,)224630,'&$$# 
-
 %'#"0M[]_\Z[\^\_[\ZYXXY\\]]]Z[[\[\\\ZYXXYVRMHD?<:9876655555656776777777767777888::998:788999:9::::9:<;<<;<<====><<<=====>>=???>?@AB@@BBBABBA@AAAABBBBBBCABBA@BBBACBBACEDDDEFFFFFFEEFFECDEDDEEWXY\^``^_\\[Z\]YWWWWVW[YYZZXZVVVUTTUTUWUWWWVYYYZZ[\Z^\`_^[[[ZZZ[ZYY[\\^^^__^]\_]]___``cbb__aabbchhhiiijyTBCN\NUrkZHB?AEHNE@??=<98557C`‚„Ёƒ£Ò©¥‡ª“_JQhŒŽ‰™¬­¯«±Æáë³Ôâñõøúûûûúùúüüü÷ðîëãáÕÁ¿ÅéðõøûýþÿÿÿÿÿÿÿÿÿÿÿüúüþÿÿÿÿÿÿþüøóùÿþôÕWFAc‡ëúãyX‘`KZlXuÝðïíöÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþùê¶‹{nozƒ‹…„‡˜¤œ¡‹‰‹‰Œ’•ƒsba_`bbb`__`___`___^\]]]]^^^]\\^][YRNMNTZdq’¦¼ÎàÈÀÀʼ³ÁÜâãÈ»§£whddirˆ›¦ÀÍãßãÙÕßäèéçåÛââãߨ·•Œ…s`M<40///.-*)54@770*"

-
-
!(% 1P[]\ZZ`^^^^]^[\Z]^_\\\][[\\\^^`_`\^^^ZYSRLE@=;97755566656687677877877788:899;::99888:99::99:;:<<;<>??<>>>=?=>=?=>==>>=????CAAA@@BBBA@@@@BCCCCBDCCBBAAA@@BBBBDCDDDDGDEEEEFFGEEFFEFDCCDDGF[\^aab][[YZZZ[ZXUTWVWXYYZZWVVTVUUTUVVUVUWYYWYZZ[\\\[\[]]\ZZYYW[Z[Z[[\]^]___`_]__`bbaabaab_acdffefghijkjzUCGTVUapmgG?>?BGLMD@?==;:876>C\‚ƒ„…‹” ŸqŸ[K^u™~Œ¤ª°ÁÐÍÉËÎäõûûûûüûûùøùûüûóåâìíéã×ÑÝîñõøûþþÿÿÿÿÿÿÿÿÿÿÿúöùüþÿÿÿÿÿÿÿÿÿÿÿÿûãfYEƒæùáw[‚qp vTzÖÇ¡±çûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿú랊x|…€†~ƒˆŒ’…|‡’•˜Ž‘†ƒwgkliedba`___``____```^]]_^_]\]^]][[VRPPTYer’¥ºÊÔÉ«–¤³¨œŽƒwkaY[]djr{”±¿Î÷±°Íãæã×ÏÍɽ±oWC;4-''(16@H@6.(+.01-'!
-					
-
-

''(!3Q[[\[Z^^`a_]\[\Y^[\\\[[[[[\\^^`]_[]^^ZYWWVNJGC?;855876656567787776798789977788999:97:::::99:::;<<<<<<<<<><<<==>==<====>?>>???>@@A@@@@@@ABDCBBBCBBBA@BA@?ACBBBABBDDDCDDEEFFEDFFEEEDCCDDFD_cjcd^[Z[Z^\^XWSRUWVZZZYXVUTTTVUXVUVVWWXZ[\[[\_^c_^_^^_\[[ZXYZ\\]^]\^]abc````accdbfaaa`abcbdeghinmljkkjxUIJYioxysjHA??AGKKGA@??=<;;::;BZn{Ž…|ˆ™š›]Rp Ênow‹¥ªÚÆÂÇÍãòöúûûûûúúúùúûûùîÙäîñòñîëìðòõùûþÿÿÿÿÿÿÿÿÿÿÿþõåôüþÿÿÿÿÿÿÿÿÿÿÿÿÿöç»šŽ˜íúáu\¦€ƒ|c€Õ²šv·îùþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûñÒ°–ƒ~{{yyxwƒ•§š˜‹ˆƒƒ~}ztec`a`b`_```___^^^^^]_]^^]^]]]\\]XUTRWZeo€¥¿É×Äšs|~„†pjea[YWZY\_fo~Љ†‰ŸÅÙÙÖÀ”~ocSA3'" !#'-5>I`^X</$! #$"




					
-
-


%)%!4SZ[\_[__cab^\[\Z^[]\_[ZZ^[\]]^`\^_``b[_[YXTTTNG@9668775555688886777887999:;899;:9:;9:9=:::>;;;>=?<=<<==>=<<<==@==<<=?>?>>>?????@B@@AE@CBBCDBCBDBCBABBAA?@BDCFAECDCEDDDEEFEEDFFEEEDDCCDEE`gc_]ZZZZZZZUOMLPVXWZYXWVTUTTTTUWWVVXYZ\^a__]]^^`_`a^]^\[Y[YZ[]^^^^^^]_abbcdddcccbabcdddeefhijkkllkjjkjw`TY`sˆƒxoM?BEHJPYJB@@?>==>?ACCBQar†}ytyž¯pZŽÑĝqfio€³¾ÅÒÐìó÷úûüûúùùúûûûûùëèëïòóôôîëîðöùüþÿÿÿÿÿÿÿÿÿÿþüíáîûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿýôíèçõüã{_·ÅÈÊyR‹ÛΩ‡ŒãóýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýöÞŦ‡…wtqpnmnqq~™‘•ކŒ‡‰‹”Ž‹viiffdb``c`a_^^]_b^___^]^]]]]\\\]]\ZXWX\fq€£¶¼ÆŸyutqnywsmibaa`_]\]]`deegiu’€r^L>1,(&$**3:@ELQTU\dL:+!!
-
-
-	
-
$#""6TZ[[[[^^^[[ZZYZY][[Z_[ZY[[\^]^]]\\]]]\\[ZZWUTSNH=76:9888667877767877777789879899988998:::::99:<<>;=<<?==<<<==<===;<<>===?>>@?????@@AAACBBBBABBBABAAAAAA@AAAAABBBCCDEDGEEEEEDEDEGECCCCCDD``_[YX\\\YYSMECLNY[YZYXVVVVVWXZW[YWZ^^^_a___aaa__`_^\]^\]\\\]]_``____^_dhffedeffedcfhijijkkknnolqlnjjkjnfkxy’¯“}rQFLQY[XULC@@C?=>AFPMH@@N]n{znužµ\­°¶Ÿys_`ez«Ï¿¿Ûîô÷øúùøøùúûûûúøôðíìðóö÷ñÜéðöúüÿÿÿÿÿÿÿÿÿÿÿþùáÎÚíõûýÿþýþÿÿÿÿÿÿÿÿÿüú÷õúýꉂÃÜåØuS™à䮘Îèîòõúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûï䳍~omfgddhm{Ÿ•ŒŒ”˜œ›š“’€yrpmfb_`a`a^^^^a`^]]_]]^^]]^\\]]\\[YXX[^hs€¢¶·­Šxsmy‹“…uv{wqla\[YWUSPOUZVRH<2)#!( &,19>OXk`e\a^[O@3'!!
			
-
-
-
-
			$$!$<V[^[]^]]_Z\YZZZX\\]^_[[[]\\]^^_]]\^^^]]]]\]YZUTKC649;;:9977777;7777787879887989999:9;;;:99<;=;<;>;==<==<<<>>==>=@=<=?<?@?>=>?@>???A@@ACBCBDAABBBCAAAAABBBBBABBCCBCCDCCCFIGHEFDDEFCDCECCD[[ZYWUVVUSMFNBJOTZYYYYXUWWX[ZYXX\^_a__`aa__`bb`_^\]]\Y]\^__^_`abbbbbbcfiihhhffffghiiiijllllllmmlpjlkjll{wˆ‚€‹•§ ‡pUKYdqƒjWLCA@A@@?CHS^SHC?JWj}wr‰¯q]¨š¤¤¢Ÿv__\oˆ¤¹ÆÕêîôö÷÷ö÷øùûûûúø÷÷ðéæðöøîÜçðöúüÿÿÿÿÿÿÿÿÿÿÿýúáϼÑë÷ûÿýûýþÿÿÿÿÿÿÿÿÿÿÿÿÿþðºÔîóÝlS£Û̳zg¯Õ»°Êðýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿú띊unhgefgs|‚‰‡Ž“‘ŠŒxga]`a``________]^]]]]^^]\\[]]]^^^^]]`hqŸ²©•Ї•¬Ä¶©–žw~_]ZWJGC>8420*&)!#&)+2;>CFGLca_WROLE;4+" ! 						
-			!## (EX\][]]^ZZZZXXVZY][\\][[\]]^]]\[[][[Z^\]Z[[[YXXLB:1;CDDA>;888887777888778888798999999999999::;;;::;;<<=<;<<<<<==<====<<>>>=>>>?????@?@ACCBABAA@ABAAABAAAAA@BABBBABDDDBCDFFFFEEEDDECBBFDDCYYZXUTTSPNFJMRWW[YXZZ[\\[Z[Z[[^`abcdcadcd_bahb`]\ZY\[\^_b``accfbcdfhkinhlijgghiiklnllllnpnsnpnompppkkmnu{™®„s’¹£•v[\n}‰Žz[LCBBBA@@DIZ``RF=<J`qƒwth^Yž™®¸Òªde_^s†¤ÕÛçéíòõóðòóôöùüùöøúóÙÙëôõßËãðöúüÿÿÿÿÿÿÿÿÿÿÿþýöëØÏáí÷ÿ÷íòöúýþÿÿÿÿÿÿÿÿÿÿÿøñîíõôÒcV­¶‘nNW“°†‚’¿íøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûòÖ¸š|rjgfegnsz‰‘’Ž’“–› ¢¢¡“Œlb_a`_``_]_____]]^]]]\[[]]\\^_^]\\ZY[^gp}Š˜¦Ÿ¢¨¯¾áãÝ®”…zf\JD=73+)''&&'),06:@AGPWFDFIOTPKIE@71+(  ##

-		
-

-		
-
-"!&$&!!,M[]]^_]_Z\ZZXVWZ[][_]`\\\\]^]`\]]][\[^\\[`[^XVOE:5:GMSROG@=<<;977878777;8888799:9;:99:9::99:9;<;:<<<<<<<<>==<<<<<>=?<==?=?>>>??@??@@ACACCCBAA@@@@AAAADAABBBBBAACACCEDBCFDDDFEEEEEECBBEDDDXYWVVTUSSPSXZ[YZ[[[\\\[ZZZZZ]^_`cdcba`aab_`a_^]ZZZ]_`abbbbcccdedffhihihhihhhjlllnonnnnnnljmlmmmmmmmjkoo}© ˆqž¥Ž~idu•‹­„^KCBFABAADHWd`\M@>>KZkzvh[U}œ³½Ð·›jeomj„§âÚÐçîòçââßÞî÷üøôøüõÛÊéòðÍÄáð÷úüþÿÿÿÿÿÿÿÿÿÿÿÿýúòäÜåòÿðßåíôúýÿÿÿÿÿÿÿÿÿÿÿÿÿýûý÷¼i]º±rEDN˜ÂwKf„ÙðýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýøæØ¬ˆ{mighjos…Š”–˜™š£”›•’‡ƒwic_``aa`^_a`a__`b``^]]_Z]]]\`[YXWUSTUY_fny„›Ÿ¯ªÏÑÚǯ‚k`WMD=1-)+'()-04;=@BDEEBFIMF>50258:85672-+)$#)#
-		

-		


!#&%&" 1T\\^^\\[YZZXWXX[[[[]\\\\[\]\[[Z]\][\\]]\[[[YSJA:4=HMRRSRRKFD?=:9877777787888788889999999899:9;::;<<<;;<<<<<=<=?=<<==<====>>>=>>??@AAAAABCCBA@@@@@@@BAA?BAAAAAAABABBCCBDCDDCDDDCDDCCCBCCEEWWVWYYXY[^`\[ZZ\]^_`a]^[Z[\^``abfdd``abbf__ZYZZ\^`deffjihccddfhhjjjhliiijkmnnpsttrsoqmkkkknopmnmnnnkmnoz‡ ´ˆrŒ…€spzˆ‹ŽŒ`JCBAABEBBGTah_TE?<?JXitka]q˜ÒÒÖ²³ihvz„~¤ËÌéðóëçáÑÕéõú÷ó÷úôÜÛëðè¼®ãð÷ûýþÿÿÿÿÿÿÿÿÿÿÿÿþýú÷òíõýñÚØÚèñùÿÿÿÿÿÿÿÿÿÿÿÿÿþýþùǑʷ^TZW—k`fÂÖéóûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýøê½–ƒrlhhkp€ŸŸ§¤¤Ÿ˜„|vrlfb`aaba``a`^^^^aaa_]]]\YYXXYWUROMKMNQUY^djt‰’§«­¤™vXJ;620.-,.037<ACEDCCCA><;77870'$$&+--.//.,3*)'((#		

-	
-
-	!$%&&&"! 6V]__]\ZYZYXWWZY`]]^__^]]]`\\[^]]\]\_]^^^\[XXM@529GOTSVXZXXRPHB=;:8877978788;7888999<::99999;:;:>;><;;;;==<<>>==><==<<?>=>>>>>>???AABA@@ACCBBBC???@@BBBBBAFAA@@@BABBBBBBCCEEEDCDFDDDDCDCEDXYZ[\\\\]_^]\[\^_a^]\\\\\\_aaaabbaa`aabb`\_V[\_bcfghhggghbefghhhjjjiijklmnooqqrrrpnlpkllmnoopmmmmmljkjnwƒˆ„|{}}€•„t}ŒŽ‡eJDAAAACCBEO[[_PHB?>>IT_pf]i¥¯®’fs¼€«tv•ÍãòöóñíÞÒêóùöòô÷óçåìè˨°äðøüýÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿúôøûòÖ¹¶ÀçôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüîØÀÃÅka\`¡¯kg–¬®©¹ÜíûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúíÊ©‘yqjlp}˜”œ‰„|xtnligdcbbabbab````^]]]^_]\\[XURONLJHIIIKMNRUX]aiklnmjgb]PC?333579<@DGJKLCEB>;8631/-,+*(# ()*'*++++*'$'#


-
-


-
-!#%&'(%"!!:W\^_]]YZUTSTTVY]\]^___]]]_[\Z[Y\\]\]]][\[YWMA8/9EKRSTWYZZXVUTLFB?=:9897767788899:9::;::9::<:9:;;;<;::;:::==<;<<<<<<=<>===>>>>>>??A@A@@@BCDAAA@>??@@BCBAAAAABBAAAAAABCCADCDDDDCCCCCBDCCCCCYZ\\\]^\__`^^^a`_^^]]^bccagddacaabcbabdaa``acdegllkkkggghiijkjjjnllnnopprrwwwrtpnmkloqrqvswponnmlmllljju}…–„ƒ…‚zw”™ƒ„“’bJFFBCBBBBDIPTQLGEA><>EL[mc^lz‹³{o}ʱ§ªlho—ÌÙíðòîêíñóõôòîíîðñêÏ´®µêòøüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúúùï̸²Íéöÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùôõòå€_R^¨©l‚ÚèÜ’cŒÑãøüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûôÜÁŸ€upsŒ–ƒ|uolheccbaabb_bbbba___^^__\[ZYTRPMLKKHKHIJIIKMMOQSRQOMKHEB@>><;;;=AFILJIHHEA?<9642/,*(&%##" &&'%'(+**)%$&"
-
-&')*((%"!$?[]__^\ZYRQRSTUY]^caaaa_`__Z\]]Y`]_^_^`_`[ZQE:25CMRTUX[[[[\[ZXVURJC?<:98777778;999:::;<::::::99:::<;::;<<;=<;;;<=<;===A=?>??>>?>>?@@B@EDDDDB@@?>@@C@AAAACAAACAAAAAEBBCGCDDFECCCCEDDCDCBCGCZ[]_^^^]_```^^_Z_^____aabbcdcaaabcefcbbabbcegjjhjijijhjkkkkljjijmnoppqrtsttrunnmmknoqsrrrprpnnlmlkheddhty|†€†Š‰‚Œ‹Š¦šŒ€cQGDBCCCBBCFILMIFECA@?>@DUmd\W[ÃŠp‚Æ®®©¡i]bh†¦ÈçìæäìôóñòñÝ×ßñò踧¡¿îóùüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüøíÔÅÍäíøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþí­hX_µl›èòä†QLzµÙ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþùçÚ°‚v{~zyunljigedecbab``caaa`_``b]_\YTQOLKJIHIIKLKKLOLNMMJFB?<987<9;=BGHJMOONILIFB=:7410/-)(&%$#"!   "#$"$$$$$% 
	 ,$%)!"'!&)**)(%!!'H^]aab_[ZPMGHKRY\^abb_a_^[ZZ[ZZZ\]^[_^^\\[SIG<?BMUVWY[ZY[]][ZYYXTTMHD?=<978888999999989:9:::::9:;;:::9::;;<<<=<<<<<<====?>>????>>??AA@AAABBB@@@>@@@@@@AAAABBC@BBBBCBBBDDDDDFGHCCDDCBBCBCCC\^b`___`ccc`^^^^__abdccbhbbbbabbddedccbceffimjkhkhhjnnnnolkkilqqprtuutwvvtvttonoqtxsusrrutuoojjheefeeghrtx“”™ƒ‡ŒŒ‹‹ ¨”‚jVGDDCCDBBBDEGGFGHFCCB>;<DYqdXSq‡›u†ÄŸ³¹£ma[\b|•¸Ü¾µÔîððóñåÈÖìñ麟¥ÌîôøüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüõïéÞáæïöúþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøç©t‹Ãm©íòá}HENu§ÏòùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüøëÄ£Žzynlgeeeedccdccbb`abaa```_^ZWTROLKKJHIIHJKLOTINKIEA?<;:::<>@AEIKMMLMMKHFDA<952/,*)(('%#"!!!!   !  "#   !

-
-,F:**6=C%-%'.00.*(%!!+O]_agcd_\TLBCFPW\^bbf`a^]]_Z]ZZ[]\^^_^b^`ZPKILRRZ[_`aa`\\]_\ZZ\[XXZSQHB>;:9889<;;999989:99;9999:;<;::;;<=<==<<>=?======>@?AAB??????@@@AABBBB@@A@@@?@BACAAACCDBBBBBDCBCEDEDCEEDBCDCCCBABCDD`aaaa`bcbcba`_`bcefgcbbcbbbabcccdefdddeefihjjihgmikklkmmmmmmopqrsvvuussstrrourttvvursqqpomljhffdeehhjno{pjop•™‚‡Š|l|š£ Œp[HDCCBBBCEDDEGFNOPNLIC?<?CSl`R\e^ZÆ±ÓÁ©ŽlUZ_p€š¦±»ØíïôöîÏÆÜñíÄ­ªÒîôøüþÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüñâ¿ÂÌßòüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúê¿´­›qµðòævf…^HfŒÄóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûñÕº‚xnkifeefcddgddc`bc`]]]WTRPOKKJJJKLLMNNKOOOLGC==8;9<>@BGJOQRSRRJIFCA@;8530.,*)'&&%$##"""!! !! !   


*GHJ51Jf@'2-# %/=A;4+&$!/S\`aabcc^WM<=>IT[\aab``__`_[\[\\\[\]^^b^\WSPRRUWZ[]]^_____]]\\\\ZXYUTPKGD?<::99999::989::99;::::::::::;<<:;<;;<===<<==>????>?????@@@@@@AABBB@?@??@@@@ABABBBBDDBBBBCCCDDCDDDFEBBDCBCCBBBCDEccccfccddccdeegeedhecbfcccdeefgeeefffffghigghigjnmqlllmmnnspqswutuvuurqsvssuwu}utttuvpqqpjhgfedegkqrturzmhhhv…œŠtfjб®£eODCCAABCCCCCDGQ^]\WRKE@=<BUjXRUNT|ϯÖЭ¾ hYZ\jz“¶¶ÉîòöùôÕÎÑïð׺À×ðõøüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþøï×ÁÅËâêõýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùóóè¯x¾òïÛspriKImŸíÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü÷æÕ«Š{nkhgffcdcdddbad^\VSQONLLJKKMOONOOLMIGGFEA@??@ABEIJKIQHQNLIECA?;8641/,+)('&&%$$#$##!"""!!!    "$:WjP<Hfh@%"/A?5(#).-)'*=WWY6+&#!4X]dababaaYOB:=CUY\bce`a`b__^^]__^]a^^_b^[YZWVX[[\\^]]^^^^^]^]^_\\ZZ[\WYVSIB>;;:9899:98<<;9:::;;::::::::;<;:;:;><;<??>>??????B@@??>>??@@A@ADBAAA@?@BAA@DACCBBCCCBCBCCFDECCCEEDBACCBBBDBCDCEfgededdedcdedbbbbbbbccdccccbdddeeeghhhjkkljiknnonnnmmlnppoqqrstusrsrrrrsvuvwvvwstttvsomkiffeeeikmqppqqrzkWZ^djkl|ydkzš¿«˜{XICBAAABBCCCCHUeuj`YRMFA>?@KWY_YS|××ØÂ¬§®¢k[[ajv“ºÅíôøûöã­ÉíóîçØâñõùüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýôéסÀëûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþøßÆËôíÄo~¶nVWZ‰èþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþû÷꺕…tnjhfffcbdd`^[WSOMLNLMMOPQRR`POLJFCF?CBBCDEHLNONMKJIGEC@=:8531/-+*)('&&&%%$$$$$$$$$$$#!!!     " &2?5%$1Oo`SNaek>-;SYjD*0<FPA/7LSWI5("#:Y^_____]\ZRKIGMWXYZZ[[^___`^^^___^__`ab]\[ZZ[[[[[[[Y[[[ZZ[^]^^]\\\[[\XWUSOLID@>;:9::989999989999:<;;::::<<;<;;;<<<>@>@>>?>@??????=>???@A@@A@@@@@@??@AAAABBBBBBBBBBCCDDDCCCDCCBBBAABBBBCDCFkggghhhfgcefhbbbbbccecgdcccdeddddfijkjmklnpqrnonnnppppqqtqstwsrrqqtssuvwvwvuvwtxtrqpljgeefjlorttqtoqonokSRZlh]eu‰yvxˆŸ°§ŸmQIBBBAABCCBBHWpzwc]\[NE@=;>J^bph€ÑÑź°­ÁËȾ^cgjrˆ­ÓîõûøìÅÄîø÷öôòôöùýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿû÷é˰¨×õûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþôèóûî¬lŽ–msšp{åúöóøüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþùíɧ‘zrkiffd`][XVTSPNMNOPRSTSSTTSPNHKFFGIJJJJKHMKKHEB?><;97630.,,+*)(''''&'%%&%%$#$$%'*,*&#!!  "   !##%(,18=(.D_`a=)7gd[SMdnR;?ZSgjT8=Qf]a7>KTPB0& %AZ^```__\[ZVVTUXYXYXYYZ\\\]a_cacbebcbebb]^]a\]\[[][ZY_\[YZ[^]_^\\]\^\[ZZXVTTQOHA=;;;::99999:9999:;;::::::<;:;;;>;=<==<>>>?>@?>>@>?>>???BA@@@@@@AA@@CCCBBAABBBCCDBBBCDEDCDDCECCBBBABBCDCBDCDfffffgfedccba```bcddccgdddddddfghiknlkmmnppnoooooqoooopqsqrtrnnnqquwxz{zzvttuxtrqpnkjhkfiknrrrpppooonmlpkIMWgg_[o¡ž v|‚’±§ƒiRIDCBBBBCBBJYo†veca]WLD@=>>HQ_q†Äšx™ÂÌçáᾤžoQMQw´ÔòûúòÍÃðúûüùö÷÷úýþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúèÑÅÌñøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýþÿïªkœdpxovÞîäÜæõüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûñ× ƒwmhfa]ZVURRRRRTXZ[VTQNNMNQMLLKIOKLKMKHECA@><;963210/.,+()))(('''&&&&&&&'&%%$'+7?@C0$"!!!!!  "#$%),**8A@CGJVcQ9)(Dadh_P,:cbB,GfW?=NQTakJ8Mg_]L9=HIK4&")H\^_]^\_ZZZXWWXYZZYYZ[[[Z[[]\^``bbaabdcd^]]`\]]]Z[\[Y\[ZYZ\[[[[ZZ[[\\\^YYWVTRQPJFC@?<;:::9999:;:9:::::9:<;;;;;;;<====>>??>=>???>>>=>>>>@@@A@?@AAA@@@AAABAA@A@@@CCBBCDDECCCBDCCCCDBBBCCCBECCgedfjghdccb```^aceeedehggfefhikmmkknopqqppqnopqpqooooppqsqsqpnnqtv}|€z{||{{tvtqpomjjhjklrrxsuqoomlkkkkinjHKUvoeckœ£¨­Šzwx—®›‰jRJEDBBACBBKYqzxjilvaQIDAA<<DNg„xq‰§ÜÖÕݽµ®«zJ7:Ix§ÒðôñØÅðúûüùöö÷úýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþùóôöûÿÿÿÿÿýúôîòöøúöòøþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿ󳋍sZx®msÚܨ€¦ßôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü÷çÔ®‹yie_]ZXVUUVWWWYdYWUPOOONNMKJJIJJIHD@>;:86420.--,+*))('''''()&&&&&%&''(*+)'&+;OZgQ7&"!"""!!#*05:C<6=X]aholijlB/=aSJZpO/=`[.%BgV:CWb`^S?:ahJA:3355/'!.N^_c_^\_\\ZZ[\[``````_]][[\^\]^_acaabdde^a_`\^]]\\\\[[[ZZZYYZZZ[ZZZ\]]ZYYYWWVVUUTRJC?=<::9999;;::::::<::;::;:::<<>=@=@??@>>>?>>>==<<=>>@??@@?@@A@?@A@?AABBBC@BACBBBCCDCCCFCDCCBADDBBBACABCDgeeeeedddbc`a`bcfigeffgggghjkllmmnoonqooolrnopooonoprsrnsppopqsxyyyyzzzxwwutsqqnollllooppsrqpnnommlllkmqiGIQgsmi— ¸°£Šxz‰ž¶¦nRKFDCCECBIUcpnmnpvfVKGEB?>=CKd|kds¬ÕÓÜ»ÎÈÔŠPA3>Kq¡Ðíñéæñùûüùõööúýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ÷翵ÔöÿÿÿÿÿÿÿþýüûøéÑÕðüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷РfWŠisϨi]]¡êÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúò式}mgba`^\\ZYWUYXXTTONLJIHHJFCA@=;:964210/-,+*))(('''''''''&&&&&&&'&)-4;==3+:Q`sjd:'()-1-('':NQTX\FK]jkkjdfikG@RXIDT^L;DVP(#OgH7Oma_QG69]jP4.*40+# 2T^_`_^\^]\[\`\[_]]]^^^^][[\\\]]___`aaa`d^`__]]]]_][[Z[[[ZYYZ\[ZZXZZ\ZZXXXYWXXWVWXVUPKG@?=;999;;::;<;:<::;;;;:;;;<<;==>=?B>>>>>>>==<=>>>>>?>??A?@@@@@@@BAABBA@AABBBCCCDBBBBBBBBBBCCBBABCBABAhfedccddecddcdgihijgghihhhklopqnonsmkmnnnnsooonoopqsvssrqqqrxz{xxywx{{{wxtsrqppoomrooosrqqrnlmmmkmpqqpsqhFGL^trk„’œ¶¡›Š‰–°Å©‘pWNGEDDCDGQWansvvwh\QJHGCA>=@GR\dou¬Æ½¨ÈÂÛ•z`G7?Mx²Òêêèò÷úýùöö÷úýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûì²|Ž·òÿÿÿþýþÿÿþþýóÕÁ¾äíõýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûõÛЃYy†lu£„^Wb{Ç÷÷öôñøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýøëœ‰vqnjfb][ZWRTZTQNKFCBBA?><;975430.--,**)(''''''''&&&''''&&&&&'''',<LWbSA>F^rtuc=./;HJI9,3O^mWdNFWnaZdr\SgjHCVe@7YhE7LhB#*Yd@CbebM?3(3Xb]:,,4-(7X^_b`^_b^___^][^]^_c_a_]\\\\\a_c^^_ccbcd``_`^^]]_`\^]^\\Z[Y[\_\]]][\YYZ^XYW[Y[Z^^^`c[TKEA?;;::::;;<=;<;<;;<<;<<><<<==@=??>>>>@>A=>=?>@??>?@AAA@@@@@BBBABAAAA@@BAACCCCCBDBBAABCBBBCBDABBBBCCfdfbccccddddffhiklkhhhggiilnpqpnnmmjlnpspoqpqrqppqruurrrttuvxz{yyyxwytutspppooonolnmmmnlnnnkkknmnpqrrrrveDEHWny‡~„…}š •™§´¾®•w\OGEEDEGNSZlyvsqkbUPLJIFC@>BAKU\er~•ÃÈÊÀÚ­¾”cF=GPu¥Àêðóöúþúö÷÷úþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÌ†om¥îþÿÿýûýÿÿÿÿÿîϹÉÒÙìùýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþøß©•œy]¶x]ƒš„¬éêÒÄÖñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùì˲ŸŽ…{smdYVVNMLKIGB=;9985320//.-,+*))('''''''''''('&&'')'())(''&''3O^nlnUFWoruv_?3BUZk\R<8VodQG>CabY\_`PPeeFNfa;D__>A\d:65a`=BeeN:;,.1LhcB/-/+#;[]`a__`b_^^_[[Z\\]^^^__^^^^^]^^_]]]]]]]__`]]]]]^]]\]\\\[Z[[[[\[\[]\[XYZZXXXYYZZ^_ceee^[SKF>=;;:;<<<;<<;;;<>;:;<>==?=<=>>>>=>>>====<===>>>?A??@@@@@@@?@@CBAAAA@BA@BFCABBBBBCAABBBABBCABABCCBeefedegeddiejjjjllkihhgjlnsopnmmlllmpprqqqtvvwxwusssuuzzzvxxx{z~}}xxssrronnqnpoppolkkmkmmlklmooprusvrrubDCGO_m~…Љuw†“¤¤ ž¦®ºÐ²y[OGFEEHKOWjuyqnnmaURQNKFB@><>EKU\]dƒ‘­´½¬ÁņWKFHNl‰Àèð÷úüùõö÷úþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõ¾tdjšîþþÿûøûÿÿÿÿÿõãìíä½Õëòöûÿþüþÿÿÿÿÿÿÿÿÿÿÿÿÿüúàͯwe¶rmŦx“ÛšŒ“ìÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùïÜ̾µ–„}r^PJFDCA?=:5210.-,*)((((('''&&&&'&&&('&&''('&'''(+./-*(&'):Zrtwqeehnyuw_@8[Sdhr]A>`o^C13BeiQHbfLP_^JR`]JLbW=@bb6*AjV:GhgE=::ICHhi?2.1' #B]acc_`aabb`_]]]`]_]]^_`aacab```aa`^_``\]^`]_^_^_]]]a]\\]]]\^]]\^^]][[[Z[ZYYZ[]^adiilhhedZSID@><;<=<;<<<<<<<<<<<>>>??===@>>=@>>========>??@??@@@@@@@@@AABBBACA@ABBBBBBAABBBAABDCCABCCABBBCCBgggghihgfdffijjkklkjkklpqspnolllnnopqrrrssvxuvwytsssvxyvzwz{{z{yyxvutponnmnmmmmkkjnmmllkllllopsuttutsrswaGFGNUc„•Šqss‰µ©£¥¨¬²¼À°£yXNIGFHJOVepspprtucWUTNJFDA>><>BLY\ez¶´Õ½Ý¼·¢hKHGišÍíøúûøõööúþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿòªhcj“îÿþþùôúÿÿÿÿÿüøûýðÔÊÎÛæöÿüùüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüöâ¢w¢»u{ÕËvÔžqM„çþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýøóíåЬ¡£†cMB>:7542/-+)))(&&%&&&&&&'(&%&&'&&&&'&%%%&'''*,6=AD;1+'(+>dqvvvmhkmqtu^?;IOXbieDDdpT4,,FhfHPg_JWmT@Sm_TYeD0Eh\3.TZLLIdiVS?BNPVgQ7-*'"'K_abc_aaa``______]]]^_acabaaa`aaaa_]][\\]]_]__^^^]]]^^]]\[[[\]]\^^^^\[[Z[[\]\]`behiijhhggb]YQHD@>;;;<<<<<;;;;;<;========?>>==?><<<<==<=>????????@@@@@AACCCAAAA@@BAAABABAAABAABBBBBBDCBBBBBBBikohjjllkiiinkklpppprsrrrponopqotsstux{vxvxwuttsstvwxz}v{{{{{z{zywvuupnnpnnpqmnjjjmnonommnprvsxttstssrty`IIFMRZjy¢ƒ{oœ­§Ã°¨«°·½²Ÿr[RJIIINS`lvqqu‡„pb^YRMJGFB>;9:>JS[_}‘±´³µ¯Ë²˜cFBQÀàöøú÷õö÷úþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿþñ gahíþýüøôøüþÿÿÿþüýÿøïÛ¾ÉÒàðððøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüóÞäßÒyyЪo€Ö­^F}ç÷õóùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüùöðç䡝eI:520.,*('%%&&%%$$$$$%%&&&'%&&''&&&&&%%%%'').;IUb_[B/((-Bfquxvxvsqpqr[>9AORirdGHgnJ/',MicGRiZ[^jNOSinomQ6,NXX.2Oa?.@dgiN@CeijWA-$""-S`ebcabbbab`ecb__^^^a_cbbbbceeeba_^^\\]^`^``a`b^^^]]^_^^`[`]]]]]^_`]]]][_]^^`bgijknmoomkqjkd`WNGB?>>=<<<=>=<><=>===<<=?@>>A===>;<<<<=>>>????>@A?A@?@AAAAA@@BAAA@BBAACBCBDCCAABBAEBBCCBAAABBCjmojkjkjkllkkkklooosrrnnmnnnooqqrqstw{wvtsttssssuxvwy{yvxyyxxuuuvuuqpmnnpooromlhjkmnnnnortuvurtssssqrrtxeRLGLPW`m€‹ƒq{›§Ç»²ª­®µÅ­ŠzaTKJILQ\ivvwwŒ­lc_TNLJIHC@<8:;G]_cyµ½¼«šÁÞ±vL<GZŠÝñöù÷õö÷úýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿýï¦hagŽíýüùöóöùüÿÿÿÿÿÿÿÿýòÚÌ÷¶¸äóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüöñî݆r„‘m…×ÄcJ{ÛëááñýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüúóéÉ¢§˜eB1,)(&&%$$####$%##$$$%&&&&&&&(''&&%%%$$$%&*.>O\knseT6))/Fhqstttth\lqrX=3DR^oqbHMjlG,)/Tk`JXlVM]iD1FfglS<,&=R:&*H<,(1H\K;52JbSH0!3Wbcbbaabbbc`bbb`aa_^_^aabdcccddab`_`^]_``______]^[]]_\\\\\``^]]]__^]]Z[[_\^_chijjkkklmlkkkjigg[TOEB?>===<=<<<<<<=>=>>>??>=<<==><<;<=<=>????>?@A>??@BAAAAA@@A@?AA@?AAABBABBA@BDAAABBBBBBAABBBlmomklnnooopoorooopnmljmonqqvqrsvrxwwurrqrsttszwwxwxzz{vvw|wvwwvystpoopponoommonoooqstwxyvvtttttussssru{j\RIMPU\brŽŠ™~x£ÍÃ͝«­·»¶²‰fVMJJOXfy}{“®²vg_VOMKKIFC@;97<L_\`|“§®µ¾ßÚŠT=;F]¤äòú÷óõ÷úýþÿÿÿÿÿÿÿÿÿÿÿÿÿüöß³k_fíýûøõôö÷ûÿÿÿÿÿÿÿÿÿúõä̼¦¿ãñúüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüûúìšjq\T•Ö®cgƒ©¥“ãúýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûøð彟™–Z;,&$$#""""#""#####%$%%'&%%%%%%%%%%$%%$$%%',<TbpkvuxZ<+*0Iksmipur`ZirpS<>T\fks]HQmkC*&2\d]Sg]NMaO516IYN>,!0+$!!$% $/1.(&798. #7\adcbaebbbccbbfbccccddfffcdccceada^_abbaca`_a`a]_]`__``_b`___`a^_]]^]\\\^^ccgjnkpmqorrssqqqmjhddaTJDA?==<<;;<<===>==?????????=>==<<<==>?AAABAA@???@ABA@ACAAAC@BA@@@A@@AABBAABBAABBEBBBCAAAABmmmnonpqppppqrpokikkllnponpprrrrrqrrssrrsstttt{zzxy|yxvtvvwvwxtsqooonmnmnoonnnnooprtvxwwxvvuuvuttssstsv}l_XQPPTY^cr„‰ƒ€‹œ¶ÂÄÆ¸­®¯²´ÂÇ“hVKKLUbirz}º±‚m`WOMKKKHEC@=;;;HWWYn¡·áÌáç£oE<<PuÛíûöñôöúýþÿÿÿÿÿÿÿÿÿÿÿÿÿùßÄ‘l_f•ìýú÷ööõõúÿÿÿÿÿÿÿÿÿÿÿùéÞÌÈÛîôøüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿò¶jR@]­Ù˜dª®~QsÌöüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþû÷îÔ±™‹xM4&$#""!!!!!""#####$$$%&&%'%%%%%%%%$$$$$%&'0L^sb^itu]<+*1LllfjnmqZQhroPFJ[ffiqXMTljA('3UjSINU@=<;)'/10( " %=\_aca`a`abbbbbdcbbbabcdcdcccccb`aa_^aaa`dca_^\]]^^`b_^^^_^_``__]^]]\\\\]^_bdilmkmlmmoopppppolljgdbWOJEA>=<;;<<<==>==>?>>===>>=>==<<<==??A@@@B>?>??AAA@@AB?@@@@@@@A@CAAAABBA@BDBBBABABAC@ACBBmmnnoqstvwzuxrplfhjkomrqqpsqtqqpppoqqtyuuvzyxx|{wxxvtrsxxytrqponoooomnmmoooqooqwwxy{x~xxxwuzzyyxuutxuyymb`[TLRX\`bkw…‘‰ˆ•±µÆÄ¸°®®³áØÐ“fVLKPZbkrz¦¶ŒtbWNMMNLJHFCB><9<FMJLu·ÁÄâéÊ[>9AeÈìû÷òõ÷úýþÿÿÿÿÿÿÿÿÿÿÿÿÿöŏkc`kîüúø÷öõõùüþÿÿÿÿÿÿÿÿÿüùê×ÔÉ×åïòöùûüþÿÿÿÿÿÿÿÿÿÿÿÿÿøåžVYr¾ÝŒe¥ÞÂtHdÔöüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþú÷į̀’‡vF/$##!!!!!!!!"######$$%'%$$$%%%%%%%%%$%$$&'5Tk`OQ`tuU<**2OnudVbsiOQgsmLFWnj^lnRESnc?('/OIB@?6*('"'C\_a```bcccecechdcbfceeeeddfcdcccc`_`caaadba^_\^_bcca`_e^`___b``_c`_^_`aa`bfeponkmllmnoqptpqonormkgf^[OFA=<;<==========>??=<<=>>===><==B?@?A@C@>>??AAB@AABAA@A@??AA@AABBABBDCBBCCBBDBBBCAABCCnoopruvvwwutpllklkklmmosppqqqqqopqstvwwwwwyyyz{{zvuusppopponnnnnnmmlmmnmoqqpqprsx|zzzxxxxxwuyzywwuututyunaa^[TTUZb]YfyŽž”™ž«ÂÂÌ¿³¬«ÃßÖʍgXKNV[\esƒ”Ÿ˜zbVNMLMKKJHFDB@=<9<?BFg­åëÞ§vT:B\Äëû÷óöøûýþÿÿþÿÿÿÿÿÿÿÿÿþó·h\Zap¨îüúùøöõõ÷øüÿÿÿÿÿÿÿÿÿÿÿü÷ìÒ¾Éßåìòöùüÿÿÿÿÿÿÿÿÿÿÿÿÿÿøà¢…­âß‚iÏìÜxJiÙ÷üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþúöêÄ¢‘ƒk?-$##"""!!!"$""""###$$$$$$$$%$'%%%&%'%%$$%'2XQNECdseM6)*2PpteV[]`PSltkHGejkkmfLOPSZ5&&)/3.)'$"!)H]`````bababaabdddbccdeeeedcba^d__```baaab`a\]]`abbb``_a__^_^_^___`__`abaddefojjjmklooonnnnpoonomljgb_ZRIE?><;:<<===<===??>=<=>>=======>>@??@@@???>??@@@?@A@?????AAABACBBBCCBBBBBBBCBBBBAABCApquvxv}xytpnmnplnmqpponoppqrpqqrvy{zy{xxz{|{{zytrqonnnnnpnnnnoolmlmmnpstuw|zzzzyy{x}xxxzyyyywwvzttuyum`caeaYSY`\UWk”Ÿ˜“‘–ª¼ËÕ»«ª³ÉâѧŒn[OR[WZnyŒªž‚bUOOOOMLKJIIFFA?96869DcŽÆãÍÁ”pOD\¿ëûöñóôùýþÿþþÿÿÿÿÿÿÿÿÿÿô­gWXap»ãóòðòõö÷÷øûþÿÿÿÿÿÿÿÿÿÿýüöìÓÀ¾ÄÕÙë÷ûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿöííîíÞ{oâðãviwéöûþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþúö꿟’€a;*$$#""""!!""""""#####$#$$$##$%%%%%%%$%%$$%.AO?9JfffD0(*3RpteKObQHWpuiDF[rqnb`C6;B<,$""##!  #,,,M]_aab`ebcbfcbcdegefdjfedeedaa^d_`adaca`ac``\_`hbeeebc`b_``a_aaa```a_ccefkkkinjmknlkmmmonmmqppppnollfgbaVMFB><<=<>=><<==>>>@@?><===>=?>@@@?A@@@@?A?>?A@@?@@A???CBCABABBCCCDDBCCDDECDBBBCACCDAqsuvvtsrqpokmpokmmqpponmprrsssuvwzyyyyzyy|yxwwvtroonmllmmlmmmllllklmoprsvvwx}zz}{xyvxxywxxyvwxwvuttttuuup`cc{–rV[a\WVXl„™°’–ªÇÈ˸¯±³Â׿țv`ORTWer‡œ|cVOOLMNLLMMKIHFB?;753>Jp¤¨©¤¡ƒk[aÆëúôçáë÷ýýþþÿÿÿÿÿÿÿÿÿÿÿõÀmXX^k”ÐʾËÙðö÷÷÷úýþÿÿÿÿÿÿÿÿÿÿÿÿüïÕ·ÃÂÅãôûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõâvußîÑle¥èõøûþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþúö黝“Y7)%$#"#"#!!""""""#####$##$$##$$%&$$$$$$%$$$)024ATjkP7-'*3SpsfH?AAE^ouY>@OV_VOC3.,+*'""""!!  (2-$3R]^aaaabbbageeeddcagdffecdca__^``abdaa____]]]_aaa``bbc__^a_`^aa`^`aa`cdgjjkkjkijjkkllmkljmlmkllmmollgfca_XSMEB?><>=======>>>=>=====><?>?=>?@AA>@?????@?@@@@@@?>@@@@AAAABDCDECCCDDDCBABBBBCCCAxuyrppopsoolnnnoqpqqsqqqrsxxyvzzyyzyyyzyzzyxwsqpollmllompmnmlkkmmnqqrtwy|z~~}{{~{}yxx|wzy~vuuuvsuwtssuuqade•‘’d^^`VPPZt¡§•—«¾ÆÈ»±®°·¾ÉÉ£}`OPTZgžŒ{dVNNLLLMMMMNLLJHD@;66:DWx‰ŒŽ‘•pkmÍëùóãÒÈïüýÿÿÿÿÿÿÿÿÿÿÿÿÿ÷Öy[Z\^dvyxªçóøøùûüþÿÿÿÿÿÿÿÿÿÿÿÿÿúõðåɶÑíøÿÿÿþýþÿÿÿÿÿÿÿÿÿÿÿÿÿöã€{àé¥cÙççäåñûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúõ距”R5($$#""""!"""""""$#$#$#"##$$#&$%%$$$%$%%$$$%'+6I_nW@2)&)4SqrhF858C]qbP:28>>:5/*&%%$$"!!!! !!#-44*"<X]_aacbbafdieggfcebgeffgcea`]^^bbcccaa__]]^abbadbbaddd`__`aa`aadafaabffjjmnmkmjljonnmnkmkollmmknmnlliihgdd_^RJDA?>=<==>==@=====>>>=B>@?@>>>>?A?@??>B?@@A@@??@A??@A@AAAABCDDGEDDEDDCBABCCBCDFAtqplkknpnkmlmlnopqqqrrrrrtttttuvwwxyxwwztpqrrpokllnpmlmlmkkjkkmoootvwy|~}|~}}|}~~||}{{ywuutrrowvwwvrtpuurbcd~ ›rgb[WOLUf~šš™•“—¨¿ÇÒ¿³³²ºÐÒß©x_PQS_px}{eXNMMLLMPNNMMLMKIGC@9;>Oeyƒ„zjotÂëùòÙ‡ èüýÿÿÿÿÿÿÿÿÿÿÿÿÿùêr_YPRWWWi‰áñøùúûüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûôÛÍÊêöÿÿÿýúýÿÿÿÿÿÿÿÿÿÿÿÿÿ÷í–§áåb˜àÝ©€—Èóûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùô綝N2'$#""""""$"$#%"""""######$$$$$%&'((('%%$$&%&1?VoZH<0,'*6VptkF2//=ZTS>/-+,-+)(&%%$$$#""!!    !!##&,' '.54."%B\]_aabaaaedhedbc```bdfec`a^]]]^bccdcaa^_\^_``aaccba``a^ada___a`aafbbdffjjkklkkijijihgjjkkkjjhhimklmkjjgggfca[UMIDA>><=====<==>><<<<====>>>>>>??@>>>???@A??=?AA@@AAAAAABBCCDDEDEDCBABBBCCCCCDBonmnnnmnmnpppqqpqtwr|vutqsssrrsuwvwwwustqpppponknmronmmmmlllmnooptz|~{€}~~~|~~‚~~{{{{yvolsqsxwuuvsssuuqccdr¦Çœ›x]SLKQ_q†›—°œ’’˜«ÂÊж®®²¿ÓÜÚ¢zcPPVcot{gZOJJKLMNNNNMNOOOPRQF<=H]xƒ‰uaTf¶èøïÎxtÉøûþÿÿÿÿÿÿÿÿÿÿÿÿüñÄ™wWNLOQTe§çõøúûüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûõïïñô÷ôñððøÿÿÿÿÿÿÿÿÿÿÿÿÿûöîØëâ„c°Ý¯l_]—áóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþøò嵚zK1&$##""#"""""""""##""######%$$$&*.461*&%$$$&+8Oh_MC:72)*5YnwdE0++6;<9.*(((''&&%$%%$$#"!!!!!    !!'&5*##%0;8600#,376/%&H\baddd`aaedidbad^]]aekeccc`b]_`cdddca`^^^c`fbdddbbaaaddddcaa`a`cceejjjhkkmmokmjnklkigkillljiihhmklmjjnnmmmhihf[SLFAA>>=>==<?>;<<<>?>==>B==>>>>>@?@>???AAABAA@C@@ABBBBABDCECCCCDDBBBBBDCEEECBBmnmkmmoprtssrqrrsvtruvvtrsqortsrrrssqopqomnmmnnlllnmmmmonmnnopstvw{}z}}}~~}}~}~}ywvvroqlquuvwxvwvuustvzfcdq«¹«¨‡bVOIO\mx†¢« –—™«¿½º³µ´¯¼ØÓЫƒfPTZblmj]RMJKMLONNNNNOPU`xl]L?ERf|…“~_SU˜ãóé»xq½ñùýþÿÿÿÿÿÿÿÿÿÿÿþúðÌ \NORX_ÜòøùúüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûøöòäÒźãóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûøóà|fÅɍ\P_l¥ìÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþý÷ïÚ²˜‰uH/&%##""#$""""!!""##""""####$$%&-5CMKJ0'%$$$(0Gee[PFJU8+*2Pka[<.*)+.-,*(''('''&&%%%$$##"#"!!   (5*%$ %/11000C9A3/%%/1441&(L\bacba`abcbcca`ZVZ]ceddbaa__^`bbbcba``^^`aaccc`bacbbbcdb`aaa``accefgfhhkimlnijjjjjjigkijiihfdigllllkjkkjiigfed`\XPHE@?>>==<<==<<=>>>>>??==>>>>>>=@>@??@@@@@A@@@@ACDCBBBBCCCCCBBBBBCCBBCCBCCBBlnnoquz|{wuvuttsussruuvrqsrprrqqqrronnnmmmomllnnmmonmmnoppqtwyyyzx‚~~ƒ~}‚€~~xvtpnkrzyyxzwwvwxxvzvvwkddr¯ÉÈΝh]QIMXkq{ˆ «²¥š–°Á·´º»®©¸ÈÐÝ­†eS[[cjj`TOLJKLNNNNNOOQ[i°…cODJVk…„cT^ƒÅåʦ„t¥êöýþþÿÿÿÿÿÿÿÿÿÿÿþúê bY[eršÇéûúùúûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýüûôÛϨ»ãòûýÿÿÿÿÿÿÿÿÿÿÿÿÿþüöá‚kÉÓwFM†hêüþÿÿÿÿÿÿÿÿÿÿÿÿÿþýöíÕ®˜„pE.%%$#####""#"!!""#"""""####$$&+6KcdfJ6(%%%$*<YjpcY_iY<+)/HJKA3+)(((((''('''&&&&%%$$$###""!!  "!75/,**,6<=;23::93''19762' ,O\abfbabgbdbbbbXRTY`defcbaa``abbcbd`]^__`chggcbaebddcbdcaaabc`abeehgihjjjjlkniniiijjlllijjjhfehillnnmlmlkhggffieea]UMGB@?>====>>==?>?>====>>B>>>=>@>@?>???@AAAA@@BDDCCCBBCECDCBBDBBBAABCCCGCBBqrw|}~}zyvuurspussquqppprpnooqlnnnlkkljlmlmllmnmmonmmnppquxz|zxxy||~~~}~€€}{xtqpmqqu|{{{yyyz|{zxxwwxzjcev²»¶½¶rbXPPTcpw|ާ¬¾©˜›¡«´±ÙƵ§¤±ÊËÊ¥{op]^ckcWOLJJMPONORPPTb~Ÿ¨¦€cOCKUhvi]a}œ¢œ“މ”åôýþþþÿÿÿÿÿÿÿÿÿÿþýð©xk°Ìéóúÿüúúùüÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿ÷åÐÆÆÝñöûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøè’•ÑÈgINUUtçùüÿÿÿÿÿÿÿÿÿÿÿÿþýüõëÏ­—„jB,&%$$##$""""""""""""#""$%&(''+0Ga]\RG2'%%%&0F`xrlmmeZ7*(*494/,(((((('''''('((&&%%$#$$$$#""!!  ")=J:5426???9//72.%*39754("2Uc`aaabccaba`_VNV\^dd``a`_``bbbaba`^^^_`bcdcccbadbcabbbbbabbcbbceghgihhiijijiiiiijjiihiihhhhhhhiijiijjjhgfffgggffecaYUNEC?>=====>=>>>>=>=>>>>>>=>?>=?>??@A@?@AAABDDDDCDFCCCCCCBABAAAAABDCCCDCB}|„„…}|zyxwttswqtttuuqnnoqonoormmlllllnkkkklpllllmpmnoqtxz}~~}|}~~}~}|}€€ƒƒ‚{{okmpt|~}‚€|zy|z}hceyªË·Â¼}ld[RR_lsw~œ°¾£œœ£­ÆÑ³¥Ÿœ¬»ÃË™‡ƒc]^gkUMLJJPQRPOPSSYu˜¼Ü¶—y]JBHRcma\cx|‡‚……áòýþþÿÿÿÿÿþÿÿÿÿÿÿýóÂŒ«åîðõúüÿüúòéêêïôúÿÿÿÿÿÿÿÿÿþüþÿÿÿÿÿÿÿû÷åËÅÆÞï÷ÿþüüüþÿÿÿÿÿÿÿÿÿûõÑÀÁ»g?FQ]qåóóò÷ýþÿÿÿÿÿÿÿÿÿýüôê̬”…`?*%%####$"""$"!!$#"####$'+0561.7Zgi[JD.'%%%'6Toxzn{ieG1(''())(''&'''*((('()(''%%%%'%$%$%#"""#!!!!! #*4NKACECCDD98)%"  -5:775*%:[```bbedcad^ZSNS`acdc_aaa^`bfdeed_a^`adffdgddcddededdb`bedeefeeeggjhjiijkiihhiiimjjiihkhggjjjhhijjlihjjhggihlimlmklgfc^QGBA>====@>>>>==>>>??>>>>?>>>A@@@C@@??@AADDDDECDEEBCDDCAABADAAADCCCCCCB~ƒ€||xxvurssspstsqrqmlounooprmmnlnmlmmljjkplmnnlmmrtvx{|}~}}}}||}~}yvsqks{}~zzyz{|€€ƒ„ƒ€€€~~~~ia^m¥º¸»ÂˆqhbYU^kptw{‹£¥¦™—¦Á¿²¨¨ ™ž¦²«·ÂZ\eaRMKJIKQTUSPQSf‡³ÛÙÅ©pSGBEJNSWcu|†x…’‡‰äðýþÿÿÿÿþþþÿÿÿÿÿÿþùëâèóùúüýþÿüù繟¯ÙêôÿÿÿÿÿÿÿÿÿýúüÿÿÿÿÿÿÿÿÿúóçÓÑèôÿüøùùüÿÿÿÿÿÿÿÿÿÿþ÷òì×l\wxz§âæØáè÷ýÿÿÿÿÿÿÿÿÿþüóèȪ“Y;(%$$####"""""""#"#$##$'1;HULE;=Zsl]TF8)&%%):`mwrn`VE5,&%%&('&'''''(((((((((''&%%%%&%%$$##"!"!"$')&"  #%)+5HJEG<763/+&"/67788-!*F]_``ccba``\WTPW^`dbbb^^]_^acdbba^]__abddfcgddceccbdecbccdadcccdefgkhjijkjiihijjjjhihgfffgfgfighhjjlijjjihghijhlikkkihgdaUKGA?=<<?>>===>>>=?A?@?>>?????@>??@>?@AAABCCCCCBBABABCCCAABAAABBCECCCB€ƒ~||}wxxxxwtutytsnmmmloomorqsnommnppppqmnmpppppqsvy|}‚‚}~~}~}zmhsqw†}ƒywut{z‡‚ƒ‚‰…‡‚…†‡†‚l`[bй¼½Ã•™xc][`onqt|Œ£¡Ÿ™™œ«½¯ª­ªš‘¸²ÎÇ r[dcRNKJIGQY\]UPTp¡ÏÕÕ¿·˜†eK?>@@GOcq|†ˆ‘ˆÞîýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúõøúúùúûýÿü÷àŽ†…—ªËî÷ÿÿÿÿÿÿþûùûýþÿÿÿÿþÿÿýúôïðñøÿöíóùüÿÿÿÿÿÿÿÿÿÿÿýúôà}g¡ÚáæèÕœ°æöÿÿÿÿÿÿÿÿÿýüòæÆ©•}T7'%%%$##""%###"%&%####%/=OchlS?<]hsplYE.'%&*>[ne[PF=0+'%$$%&&&(''''''((((('&&&'&&%%%&%%%$#""!"%-=2.,+$$&(*,3FFG=3/+'"#19?;;:6(1P^``aca``e[TORXaaccbab^__bbcchca^\]ccddfegehghdecedddcbgcdeedhcjfhhjjkilkkjjkkkkjjhjihhhhhghiihkjjillmjjjkimmmllkonpnrmmhgZPGB@>=?>>>>>??>>???@?>@@A@@??>>?A?DBCAABCBFDBBBBBAAA@@@@CAAABBBCCCBB}|{}wxxxwvvsrrqpmmmmlnnnopqolllnoppqnnmnnpqrrwyz{~‚}~€~~~}}||}}}|yxqknhpvw~|{vrwqw|ƒ‚‚ƒ‚………‚†‡ˆ…‡ƒ‚uj]_dn{¡Ä”’‚m`]_gnpsuy†š®¤¢œš¢¦§Íº§™’—žÂݾ‡qifRNKOSUXami`UUwÇÒÐË»½¡}ZCDHEAN_nЇ}‡‘‰Ììþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüú÷ùúüÿüöˍ€}Ž›Ãîÿÿÿÿÿþüúøùúýÿÿÿþþþÿÿÿþýûùüýíàìøüÿÿÿÿÿÿÿÿÿÿÿÿÿùè’m»Ùð÷íºb`s³ïÿÿÿÿÿÿÿÿþýüòåĪ™€Q5'&&$$$##"##$%)-/0($##,:Odcqk`=8K^bqnoL2'%%)6VMI@72,)&&%%%%%&%&'&&'('''((''(&&&&%&%%&&*/*%$##$+3:9;@0&-=1***-1/-' #/:>:;>8'7W^`aba__[WPRQYa`aa``_a^``aac__^]\]^cddcfdgcededcbdfffdcgddeededfdfgiihgigghjjkjjihgiefefegfghiihfjijikjjkjikklllmmmnllljhgbZRMGC@?==<<=?>>???>?>>???>@A?>??A>@@BAABBBDDDCBCBAA@@???@@@AAAACCBBB‚}~|||}~xwrppqpporpoprnoopomkknqoqprnmnpqswz|†„‚ƒ„‚ƒ‚~„}|{{{{{zxtmgnw{~z{vqmjqvy€ˆƒƒ€‚†„„ƒˆˆ‰‰Š„„|ye][`t—“‘•»‘zpcc`bmlnsy‚£ª¢–•š¤¾Ê¯¢˜“—·ÏÝ™‹‰‰[OMS`klmt|k[Vy¼ÝÕËÄæ“‚iVURKJP^n|‡ˆˆ‘“Ž»ëýþþÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿþýúøùúüþùñË’††Žœ«Ö÷ûÿÿÿýûúùùúüÿÿÿýüüüþÿÿþýüýúáÉÖéñ÷ûÿÿÿÿÿÿÿÿÿÿÿüñ·wŠºÑïè¤aQn’ìúöò÷ýþÿþýüûñäĬ—‚N4&&%$$%#$###%,5DM<,$#%0Ide^inQ96>HOitnT2($%(.584,)(&$%&%'%%%%%'&&&''''''''(('&&&&'%%&).10+(%#(0:AEKC6'/88($##"!".7==<=</>X]ada___TMNVZbafa`_baa`ecdce^\]]]cchefcfffffggcdddeeeidgejhlefelddehhggkjojnklllgggiiifgfhgjikjjfkjkinkkkliolmlklmloopmjjlig^ZRHC@>>=>??>>>>>>>>??>>>B@?>A@B@C?BBAAABBBCBAABAB@B???@@@ABAABBBDB}|||}}~||wrqppoqppoqqqsqnopplkknooooopopqsv{ƒƒ‚‚‚€€€€€}~}{{|zytoqorzy|wusnols{|‚‚€€†‚ƒƒˆ‡‰‡ˆ„…~{ne[\[|¨†~´˜—–rbadhkmqtx† ¡¢Ÿ›–’¸··¯¥“¡¯¯§±ÁœgTNXpv~uxz|fYr°ÊàÑËĪ—•wZcfTX]py|xˆ“‘’²éüýþþþþÿÿÿÿþÿÿÿÿÿÿÿÿþýûùùùûýöíʤ‰‰—ž­Åî÷ÿÿÿüùúúùùüÿÿÿüúúùüÿÿÿÿÿýúÞ̸ÀÑë÷ÿÿÿÿÿÿÿÿÿÿÿÿúä¥n‡¢àܬifyŽÜòéâíøýÿþýûùðãÄ«–€K2&%%%%%#$$$%+6JbWI/%%'8\deeiXD86=BQ`jmJ0'$%%),+)('&%%%%%%%%%%&&%&&'&'(()('())())'&&&*-:F81.*+,9AEPFC0&+8-%!'3;;==9+BZ^c`_^]SJPU[_`a`^^]]^badbba_\\^^^abccfbfdccddddddeeecccedigfeeddcdcighgjiihhiihgeeeffhggffgihkjjgihjjmkjjkijjkkkkjjiiklkkjigda`VMGA@>>?>>>@>>>>??@>>?@?>>>????@??@@AAAACAAAB@??????AA@@ABAAAABA€}|€{xusqsqqruqrrrssrpnnopnrsspoppqtwyzƒ„„„‚†„‰€€ƒ€€ƒƒ‰}~}}|yworz|}zxwtsnqv|€~„‚ƒ‚…ƒ‚†„†…ˆˆ‰‰Œ„†~xrcZY`ily¯£¡–tjjdakmptx„Œ¶¨œ“›£¬¾·°•Ÿ­ªÆÅÀ†_V\q€|yz|~pfl¦¿ÏÒÔÙ³‘‚ms‹„h[[lkvxˆ”•“­èüýþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿþþüùúúüýõìÕ²š“¤ºººÈìöÿÿÿýúúúúúüþþÿýúùùüÿÿÿÿÿþýöèÆªÂæöÿýûýÿüúýÿÿÿÿÿõ⯎²Ê½ºn†˜çëÅ£ÉëöþþýûùðãÁ«”|G1'&%%%%%&*-+/@bgjF1%%)?dpliYJ>:AYWYemW=,&%%$%&&&&&&%%%%%%$&%&&(&&&%&&((((((*+/3.)''*.9IC=>@-+1KJIFE6)$#$$!!-:=?>7-I^da^^^RKNZ]caf``^^]_`bbgbc_^[\_aafcdcedgdccedeeefjfededghihfggbacghiikilihghhifgeeglfigjjkjoijiijkjonnmmlnkmkojkijjkijlmlkijkkgh[QHB?>>>>@???????@@A@B>====?>A@A??@CCD@CCDBB@??@>??AAA@AAAADBBB~}}|}{vurrrrrtttqrrrprqqqnnooooppqqrtx{~€‚‚‚‚‚€€€€€~€€€|~~|{wwwwwvvvwvvvvx{||€‚€€‚…„„…††ˆˆŒ…„€}voe[\\cs¥«¥¥™„„¡magnqrvxŽ¢·©›‘Œ’𮯵©£™™›ÉÝÆ®ˆeelooqru€vjk›´Îý¾»¥„qt–‹o`gpuv‰”–“©èüýýýþþþÿÿÿÿÿÿÿÿÿÿÿþÿÿüúûûüýóéÛÅ ž±¶»ÂÊêõÿÿÿýúúúûûüüþÿýúùøûÿÿÿÿÿÿÿýøèǺçôþúöûÿúôúÿÿÿÿÿþøëãß˦º~m¬Ãç覓¥Åïüýþüúð㿨’vF2))(%$')/5649HfugC/%&+AjptePF?ADRllnXE4'%%%$%&%%%%&%%$%&$$%&%%%&&&&''''(((-57;93+'-4<JJDA?7/*667660+%!"!  '7=??51N`^^\ZRKQV[]]^]\]^^]_abbbb_\[Z]_``cbccdcgccbcaeceffgfbdehhikfbbbddefijjjlhgfffheffgjhfihihiikijjkkkjlkmgiinkmijhkjjjiijmnjiiiihhgc\TMEB>???????>>>???>>=>@>===??@@????@@ABBAAA@@?=>>??A@BAA@AAAC~~}yxyxvtw||{zyyyqrtuuutwpmmposqqqqvx{€†‚ƒ‚‚ƒ„„ƒ†……‚„€‚€‚}~wvvvuy{~}}{{}|†ƒ…~ƒ†ƒ†„Ї‰†‰‰Ž„ƒ‚ƒ}xuf\W[l˜¢º°º¢™œ}hcdqputvƒ”©µ¡•Œƒ ®»¼¼©œ›ÐÏÏɽ“|refcelz‡okƒ¥Ÿž­Ñ²©‡zwŒ•‰nabqr‹”—“¥æûüýþþÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿýûüýýþóéåç§¡¸âɲÑçóÿÿÿýûûüüüüüþÿýûùøúüþÿÿÿÿÿþýöïñóöùöôôôðíóùüÿÿÿÿþùõïÓ¨³uj•Þìé¶ˆŠ›æùûþüúðâ¾§’oH40/'#%,4:EVB;Kjvg@-$$+CjxuaRGIOOQZbSC5*%$%%%%%%%%&$$%$$$$$%%%%%%&&&)+)''),18<CE7-,3?JKKHF:1*(.5.*(&%!!"    !5>A;35T^_]XPLP[]^^]\[[]]]^ccccb_\[\]a__`dbbbebhcccffedefggfchfkhhhffghhgjimmmmmhffeehfihhgffhhljlinmqmqkkjmkmikjnklillljiihijnokmllllllhkb\OFA@@??@@A@@@@@B??>B@@?>>??C@???@@ABBBAA@@@>?@@??AABBBAABAA{zzxyzzy{||yxxwuursutttrqlmlnopnsuy€~€‚€ƒ€€ƒƒ†ƒ‚€€}~~~{zwvvvuy|}~~||{}|‚„€€ƒ„ƒ„………††ˆ…†ƒ‚‚‚€~zth\[^x¥°¼¼½¾‘kbbjsttvx†™ž¦ š†‡—¨¾ÂĨ™ §µÞÍ̧€g[]_afproox…’§œ—“‰Œy}Šš€l\fj}••“¡åúüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿýûýÿþþóèé쨟Áéäá×ßñÿÿÿþüüýýüüüýÿþüúøùùüÿÿÿÿÿÿÿþýüû÷óòñíÖ¸Ýíóùÿÿÿÿÿÿÿöå’xir…ãïëÍ¥~Ñöùýüúðã¼£‘qL=50)'(7JLPPPDLjvf?-$&+AjutfY\cF8<C?;2)'$$&%%%%%&%%%%$$$$$$$$$%%%&&,31.+).06<CNG;0.;JJOKH;1+&&&&%%%$#! "   """ +=?62:V\[[WNRV[^]Z^[[[\\^_a`^]]ZZZ\^a````ab```bbceedddeedbcbgggggggfhhhhjjjjjihgfdedededefgghfhhhijklkjjjjjjjhigijlhiijjhghijnljjihffggffg`]SIFBBA@@@@??@@A@>>???A>?>??@???BAA@@AA@@AB@?@@??@@AAAABBB@|zzzz{}~}|€zyvuuvvvv{uuonllmnruw}€‚€ƒƒƒ„‚‚‡‡‡„ƒ€€}}~‚„~{yyxwuvxz€…„€‚ƒ…†‡‚„„‰„„„„…†‡ˆ„†‚…†‡„„„„~zf\Za{Œ©Ê²¡ª…ghderqww{…Ž¡¹šˆˆˆ‹˜²ÑƲ¢—”™·Õ×Öšq`X[[]gxiddi¤ˆnryuxƒ•¤•x]]`s’Ô÷ûþþÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿþýþÿÿþòæèꙌÂîíìâÛîûýÿþþþþþþýýþÿÿþûùùùüÿÿÿÿÿÿÿÿþþýùöòîìηÏìöúÿÿÿÿÿÿÿúé¨cNFwàæèÏН—çúûýûúï亡ŽsN@;90+2CSYSeL@Ikvf@-&'/=[utrfhM:0,--)&$$$$&%$%&&%%&&%$$$$$#$$$$%%&*1;<50259=AILT>3/JIJ@830+&$$$##$##"! !   #(,.1/+%%;?21?Y\\ZWXZ[^\\Y^[^]accbe`^\[Z\[\`cceabaa`caddeefddeecbccdggfgighhllljlkljjhgfeehegefceglhieighhijokkimmmiiiihijlhlinighmjjkmhiijdd_\_aggdbVLGCA@@CA@@?@A@>?A???>>>???A>?@@@?@A@@@BBA@@@@@@@D@@ADCEA}|}~~~~{|zzxvuxzvusrplllqrux{€€€€‚€€€‚‚‚‚‚~}|}}~€|xwuvuyy{}}|~€€€}€ƒƒ„……ƒ„„ƒƒ„ƒ~€€„…‡…‡‰ˆƒ}si^__w¥¯±«²´œpfcaipvyy|‡™›œ—³–‚‹³È¾²¢’—©Áƹ—ogkaYi}ubchv”«e_fkiex‘›¥†dZQk”›Ïôúÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñäæãˆ‰Åóõöêßë÷ûÿÿÿÿÿÿÿþþÿÿÿÿýúúùüÿÿÿÿÿÿÿÿÿÿÿüùòêëिèöûÿÿÿÿÿÿÿýöÓ€EPpÚØÕÏ˺ÈðþýýûùïḞ‹jNBA>766Ee\RMHAEgvhC3+37?PashhN9.&'(&$$$$$%&%$%&&$%$$$$$$%$$%%%%'(,1<KB>@BFJJIGEB?//4952.+)&%$$%$#%!!!!   "',/26===6.$ 90)2G[]][ZY[\[ZZY^[]]`aa`_]\[[[]]_aabb`b```a`dcddddddbacceffggfihijjikikmljiggffegcfegefhhfgfffhhiihgggiihhhffegjihhhighihhhgfedca\^[_behgeccYQLECAB?@A@@@@@@@?>>>>>>?>?>?>@B?@@@@@@@@?@@@@@@@@@@BBBA€…†‡ƒ†€~|}{zw|xurqonprv{~€‚ƒ„ˆƒ‚‚‚ƒ‡ƒƒ€€ƒƒƒ|wss}{{ƒ}{zxwutuy||}}~€‚€‚ƒ„ƒƒ„‡„…‚‚‚†‚‚|{~}}€„‡‹‹‘‘‘‹Š|j`\b–œµÈ¤vlkdfuswy~ˆ““–§¢‹ŽµÐÀ¸œˆ¤Æ»Ê”uogju{vdfs«zb^]\\]m‰™ž tYO^…ž™™¾ìõþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýðâæß•vÈóòñæÎâóùþÿÿÿÿýûôíîðõúúúúúüþÿÿÿÿÿÿÿÿÿÿþüøôòéÀ´Îéôüùöûÿÿÿþýä±€cœáÙÆÌßëïöþýýûùîÜ´›ˆdMDEI>99GZaOI?:BcmiM:;DDCEMRWG6*"$(&$$$$%%%%%%%%%$%$$$$$#$$%&'(*,/4?NHEGHJRIFFG?>3,+-,*(&&%%$$$$$#$!!!! +6;=@@@IDD9.!))%4O^`a\[Z][ZZ[Z^^aagac_^\]]]`baeaaababafbcbecbdccidbdfdihhgijiimkjimijknhhhighfhdfglfiggfhhlhjilhffjikhigkghffijjihihjfggfefd_]]^ceghnmlljiiaYOIDB@@@A@@@A@AAA?@>>>C?@???BA?@A@A@BAC?@@@@A@A@@@BACAƒ„„„…‚‚}}|||wtuvspqqsuz~€‚ƒƒ…ƒƒ‚‚ƒ‚‚|}}~}‚~|yuvmt{zyyyyxy{xwy|~}}}~€‚ƒ‚‚‚€‚ƒƒƒ‚€€€}~€~{€…‰ŠŒŽ‘Š…€vlaacs¢º¸·Ÿ–‚sjdjpvyz}„†’¬«—ŒŠž²Æ¾«ŒŠˆš¹»¿soonoi`o~„Š‚zpib\[Zhz£ƒ`DXw˜˜š§æñþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüîàæä­µÌôðìâÉÚïöýþÿÿÿû÷èÙÉÞêõøûûûüýþÿÿÿÿÿÿÿÿÿÿÿÿþùñѺ²Çê÷òíöÿÿÿÿÿùßÈÌÚìçÐÊßòûüþýýûøí×°›„cJCHCA;:CYSG@78=`sk[RLWgE7551,'!#%&$#$#$%%$%%%%&$$$%&%%&&),,,37:>BLJFHNJJHGB>83/)('('''&%%%$$$"""!!!   46===?ADFD?6.%"#$7V]`^\ZWWWYZZ[^_````_]^[\]`bbbe```a`aaccccdbcfdcdefhfdhfhhhkjijjjiiiihhggfgeddddfikefggfghkgkjlhgghghgidjggggggffggfecdcbb]Y]\afgghhnlkiklkjc\SIFBA@?????>@@@A?=>>???@>>??????@@@@@?@?@@@@@AA@AAA@‹ŒŒ„†‚‚ƒƒƒ{xwutrrsw{ƒƒ„ƒ‰‡†‡Š…‡„„‚„€€|}|||||zvsuuwzywxxx{zyz{zz|€‚~€‚…„ƒ‚„ˆ„††‡‚€…††~‚†ŒŒŽ‘‰‰€{kb[_~§¦»¹º©ž”|pffstxz|ˆ£Á˜‘†¸Õ¿¸œ‰‚•¯±¢vtpifab„‡…€~}wm`]Z_m‡˜¨‘hAIi“™Ÿ¡ãïþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúàÎ×Þµ¾ÞöðêáÆÖîöþÿÿÿÿöêÀ“”œ¿æìò÷ýþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúæÈ»«áëßÙôÿÿÿÿÿüùôïóøïßæêóüýþýýúøíÓ°›‡bIA=;=;;?JOE=639\r{nfjmZJ/%! !#$&%$%##%%%%%%%&%%$%&'*.19869?BMMKMMMNKH?;5.-,*('(''&%&'%$%$$%"""!!!!! +8=A@AACDE@@:6+$ !$:X]^]ZXXXX[\``dcb`_^^^^]cbhdfcda````abddedibddfffhmjkihhmhhijiiijkkhggifdfgdcdffgikfiijiijkglllikijghfiijiihhgggggkeddeda\X[acjijkkkpmmkonppohcTJDB@????@???@@>????@????@???@?C@@@@@B@?@B@ABBAAAA@І‡„…~}{{yysvuxz}ƒ„…†††…ˆ‹‡†‡……ƒƒƒƒ~}}}||{zywuvyzzwvwxxy{|{|}||€}€ƒ€ƒƒ‚ƒ„‚‚€‚€~~‚‚…„„„†ˆˆ‰ŒŒŒŒŠ…wl`_av…­¿¾¿Â”ngcktxyzz“•’¤…“¦·Â¹´˜|xˆ­™yr}labd€ˆ‹Ž‡ƒ‚zjgigg|›¦xEIZ‹››×îþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûôƼÁ¹´Æí÷ðèÚÇÒíöÿÿÿÿÿðÇ–ƒ{’®ÅÜôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøäÓËÐʼ×ñþÿÿÿÿÿÿÿÿÿÿöíêëôüýþýýú÷ìаœ‰aI=47=<;>DDD;556UptzceTJ8($!#&(%"%&&&%%$%%%%%%%%%$$).389;DMLJJIKPQSA8894/,*)''''''&%%%%%%%%###"!!           !+48;<=ACE@??;9,  $&=ZZ\\XXWXY[]abaa_]\]][]_abdddccaaba`bcebccdbddfdghhfghgfffghkiihihgfedeffhecddfgghkfhiihikhgijiihfgfeeefhhhfghedeec`_^]Za[_bfhijlnlkmlmlnnooolgbWMHBA@???>???????@??????????@@@@@?@@BAAAAAAB@@@@@AŠŠŠ„…€~{z|yyy{„…†‰ŽŒ‹ŒŠˆ‡‰‡‰ƒ„„ƒ€}}~}€xywvv{trqruwy~{{~}}}€€ƒƒ„‚†‚‚……„ƒ€€‚‚ƒ„†Š‰Š‹ŠŽŒ’“””–‘Šˆ€yja\avŠ Ä¼Ãµ°…omfiwuywx†‹‘¡š‹Š—¦­¹³«„yroƒ‹spuvkfm€ƒ…Š‘†‚ˆ‡qqrspz‹ž£ˆTBO‚š¤žËíþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøìº¬±¬£¨ÐïîíàÏÞïöýþÿüøÜ¯‰{‰œŸ£³ÁÞöúÿÿÿÿÿÿÿÿÿÿÿþýýþþÿûøëÞÑ··Ýëôøýþÿÿÿÿÿÿÿúôôóøýþþýýú÷ëͯž‰`H;56==>>@B>:5/2OduiaN?6+'$%(/82+)((*.1*%$%&&&&&&%%'.:CFJFUKMIDGJD?93/-+)('&&&&&%%%$$$$$$$$$"#""       !"##"$"##*05::?BFBEDC95#"!')BYZ[[ZZZ\\^_caa_^\[\````bbfdjeeabaabfdecbbcbddfdkhgghhjfefhhlhfgjhfdbcffggfffdgghglhhikhhhhfjkkhffgfeefghghgkgdceca__\Z[_bghjmrmpoqpqnoororpronjh[OGB@???@??A@??>????????>>>@@A@B@@@DBBAAAB@@@@@BA……ƒ€€|z{|~€…ŽŽŽŒŒ‹Ž‹‰‰ˆˆŒˆ†…ƒƒ‚„€}{{yxwruvvvqnmmsxz{}~€~~~}}~€‚„€€€‚ƒƒ‚‚‚‚€ƒ„†‡‡‡‰Š‹‰Œ‹‘ŽŽ‹Š…wmc`^p‡£·®®·€kffmvxxvvx|‹´¢’“ ²­ˆ|uoigqvx{ooy‚†ƒ‚€€…uxІ~†‰“¢‘ePFn™žžÈìþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõ琛ͷ‡ˆ£ÏíòêâéðöûýÿøéËŸƒŒ¸Ïµ£«Èæöÿÿÿÿÿÿÿÿÿÿÿýúûüþÿÿÿüöé;ÀÊÛòúýÿÿÿÿÿÿÿýüûûýþþþþýùöëÈ®Ÿ‡^F;77<?C>?<974--A^VQD60(((.39A><73326>:/)&(*-001,&'*9OMMCBBACF9433/,*''&&%%%%%%$$$$#######"!!         !####%$####""!"#(,-.4<;:993.)"##',HYXYZZZ[[\_````]\\]]^]_```baaba`babcdccccccbdcdeghgggggeefhhgedcbafbcdfgfffeedgfgfffijjggefffggeeeefeefggghffccbba\X`\^`dhijkmomoopoooonpmroppomjg]TLDA>????@@@@@@??@@?=?>>??>?>?@A@AABAA@A?@@@@@@‡‚€€€€~|‚†‘’““‘‘Œˆ‹‡††‡„ƒ‚‚„~|{wuvuswsrmknorx{~~~ƒ‚…~„€‚„‚€€€€‚‡…ˆ„ƒƒƒƒŠŠŠŠ‡ˆŠ‹‹‹Ž‘ŽŽŽ•ŠŠ‚}nbZ^u…›¢³¾§°ymojjurtssu}™°­ª—ŒŒ‘ °‰‰†smos{{qoxƒ†…‚}ƒ}€¡‘—’‘šœyWGa—ª ÆìþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÓ|€§ÂŠk}©ÓìêéìðñóùÿòÞ»œš¶ÞÓͯŸ´ÛëúýÿÿÿÿÿÿÿÿÿüùùúüÿÿÿýüöðÚ½ÆÄëóôôúÿÿþÿÿþýýýþÿÿþþýùõêÆ­Ÿˆ]F=88;C@><8860*(09<8.*%$&+8?NLKHC@<=?BM7.-/7@A@?2'(2EJKA9<@620,*))'&$%$$$%$%$$$$##%######!   !!""%$$$$$$$$$$###"!"%&'*/220,(&""#$'0MXXZ__``ecc`aa`]`\]^a^gbdcc`ba``cafdedgccccdhcfdffgggggcdfmhfcb`^`ebdfkhifgfifgfggggjjogmegffghdegjefefgjglfea``a]XZ_`fgijoknnrmooqpuopooprprtwrqmmcYMEA@????@A@?@??A@??@?@?A????@CAAACABBB@@??@@@~€€€~€€ƒ†‹‘““‘“‘ŒŒˆ†‚ƒƒ‚‚ƒ~~}{|vwysqonriotuwy|}~~}~~€€€ƒ€€€€‚€~€€‚ƒƒ„…„„„…†‡ŠŠŒˆˆŒŠŠ‹‹ŒŠŒŒŽŽŽŽ‹‡‚|na_^p’£¹¾¯«„w‹vgkuvsrsy…˜¥«ž‹Œ‰°—~}€„ˆ…‡xhksƒƒtuy€~ƒ’›••“”–iC[’¬ŸÎìýþÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿþí©ioŒ˜fW·åëïïïãæõÿìIJ±±¯Èȱ¶Ãª™±åõúÿÿÿÿÿÿÿÿþú÷÷øûÿÿÿÿÿÿþõÛÊÉÝê×Ýôÿÿþÿÿÿÿÿÿÿÿÿþþýøó鯬Ÿˆ^F>8559>:82.+)$ %)))'$#!'.8ELTQQMIHHECB==<?KPUST4)/9FE=41.,*(''&&&%%$%$$$$$###"""#"""""!!!   !""$##$$$$%&%%$$$$$%%$$$%$%%&'&%%$$#$$)5OWYZ``aaa`a``^^\\]_`a^^^____`baacafcdddcccddccddgfhhheb_effgfa]X_bbcfghggfggggffhgijigohgehbcdgcehiegfggjgfbaa^\_[]^acgjjkkkllllomnnnnpopqqqstvrqnnic[RHD@@>??AA@>????>>???>?>??@@AAAAAAAAA@?>>@?A€…‚‚ƒ†‰—‘‘‘•”˜‘‘‘‹‹Œ‡„‚€€ƒ}|||z}}|tqkhoqu{y~z{|€~€}~}}~€€€‚‚‚€€€ƒ„…ƒƒƒ„…Š……†ˆ‹‹Œˆˆ‰‹‹ŒŒŒŒ‘ŒŒ‘Ž‘‘‘„|lbZ^}¢¤Â¾ÄŠt‹‰ogiuqrsqw~¢³½‰†…†”±¶™‘’‘‰…jbn~„„jkq…’£™›˜”“¡™†VV„¯ ×îýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýê\Yrc^j¦ÔçïêææÜðÿí·Êá˵¿Î¨§ÆÇª›Äèóÿÿÿÿÿÿþþýú÷÷÷ûþÿÿÿÿÿÿúöçÞæéÌÉíöøûýÿÿÿÿÿÿÿÿþþýøóèÆ«ž†^G?910036/+&" !$##$%*29AKOUWVUTKMEBDEGKM]PME635@G90,(&&%%$$$$%##$$$$##"""!!!"!!!!!!        !!"$#%%%%%%%%&&$%&%%$%%$$$%%##""""##$$%%$+:QZ\\aceefcd`_``]_`cbb`a^^_a``bcccbfffeeefffccccehhjjjdaaggghi_Z\`deejiihhghhjgfehimjigohffhbbbfdegiffgihjfe`^][\_adceglkoopkjkqpppppqpoprqwtttwsuqsonhfUJB@?B?ABA?>?@@A>A??@@??@CABAAABAAB@@?>>>?@€…†ˆŒŽ‘‘ŽŠŠ‰‰†ƒ~‚€~}}~€|{{zxurokrjqzz{z{{z{||{{{|yyz|}}}~}€ƒ…„ƒ‚‚‰…†††‡Š‡ˆ‡ˆ†‹…††††ˆ‰‹‹‹‹‘‘ŽŽˆ€xnaabn~™ÃމŒˆqhflpturrv}“¹¹²˜†ƒ²¯«£˜˜›žž‡qihrunadi„ŠŽ’˜¡˜Œ’Ÿ‰hpw”¡æðýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý÷ãwRT\oxsoŠ ÊãîåÄœ¹ëÿîÞæêÛ±´¼¨¼áÜ»«ªÈìÿÿÿÿÿþýýüùö÷÷úýþÿÿÿÿÿÿÿûöòì¸Èâêò÷ûÿÿÿÿÿÿÿÿþþþøóèŪ…]H?90'(*('$$)**+,379<BIRbYZSMLEHLLLMLGA=:1-7L9.*'&%%$$#$&$$##$$$###!!          !!"###%%#%%$$%'%%%%$$%&%$$%%&%%%$$$$$$$$&$%%$-AU\\]beffeba```__`````__^^_a``bbbcbcdeeeafffbbcdehhijhdccgihif\`dcddegfjggfihjggdgimkigojgfdbbbgfedihggigfcc[YW\^abcdgjjklkkhjillljmmmlnrqrrstsrqrprrnkhaVJFAC?@@@@AA@@A>@@@@@?@@@@A?@@BAAA@@?>>??@‡ŠŽ‘‘“‘‘•ŽŽŽ‹‹‹‰‡„‚‚ƒ€~}~|}xwsnmemsy~„~||y{{}||{{xwy{}€~€‚‚‚‚€„†…†ƒ‚ƒ…‚‰…†‡‡†‰ŠŠ‡‰†…‡„„†Š‰‹Š“•–’–Žˆ„€pf_cv—•œy”ªŽwpllqprqotƒ Á³¤–†„£Çº½›œ¬¼Ÿ‹wknunc^cj|††“”—ž‹‹”¢}gnšžáòýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúï¯dQN[h…”¡¿ÅËäéÔ¾“¢èýòâèë˪ªÄ¥ÆÖäÓÄ¿Þ÷ûÿÿÿþüüüù÷÷÷ùüýÿÿÿÿÿÿÿýûøôéÕÍÅßòùÿÿÿÿÿÿÿÿÿþþøóèé~[G=7.&!!"$" +2877:>;78;AHOTVQMVFVGEED@<5/,)+=8-($$%%$$%$$$$$$$$###"!      !""#$$$$$%%%%%%%%%%%$%$$$%%$%%%&%%$%$$#$$$$&$$&$/GY^baffgedbbcfcdccceaa`___`bbabhbcccdgfdbefgggeienikiggkkliigcahijfhfhfjgfghijkljjjmmmlnkhfddcdgfefkihimgcccXVY^bgghfmlqlmklijkoookmnrmmorrrrspoqrsrqqnojhYLEBA@@@@@AB@A@C@?@@@A@?@@?BAAAAAA@??A@?@”’’’’’’’‘’“’‰‰ˆ†„†ƒ††…ƒƒƒ|{zyxsomjnosxz|~€ƒ~}||y{{|}|{{yz{||}}}{{|€~€€‚‚‚€€‚‚†…ƒ‚ƒ‚…„……„„‰‰‰‡†„„……„††ˆ‰Šˆ‹‹““•“’‘ŽŠ…~tifauŠ«¹}¦§upplqrpnny†œµ³¶›ˆ‚‘¦¸¨™¾«¢Šqmroe[`kw~†w”Ž“‡ˆ‘ke|œäóþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþøè`T]gˆ­µÌÅàÞàæ½‡åûöòðìÀ¡”—®¼ÕãçäÃÒðøÿÿÿýûûüú÷÷÷ùúýÿÿÿÿÿÿÿÿÿþüöäÈÅÏìöÿÿÿÿÿÿÿÿÿÿþøòèç›wT?:60(%"%'%!%6FEDFGEC;5<<CGSVNMIE@:751-+('&'(*,($$$$$$#$%#""""!""""""  !"#$$#%$$$&%%%$%$%%%%%%%%%%%&%$%$%%%%&%%%$$$#%&%$%%4N]`abgedccbbccddcdddccba``aaaabebcddbbbdbeedcddeefgkihhhhiiigedhiideefeffgjhkkiihjjllkjkiggfeedefgghihhgc_[ZW[^acfghflillkijijkmmljlmmmmnqqqnomopqqpoooonkgZOICB@ABABA@??@@??@@@A????@AA@@@@@???AA@™™¡˜˜“••˜’”‘‘‰†ƒ…‰ˆˆ†‰„ƒ|ywtokjgpz{ƒ„†€‚ƒ~||||}{{~}|~}|}|{{|}…„ƒ‚†€…‚………„„‚†„…„‡„Šˆ‰‡…„„…ˆˆ‰‡‰‹ˆŽ‹’“˜–™•—’‰…wnad|ž“}“Ѽ³³°kholnmpx†ž¸¶¯˜‚…Žš§›”Œ„}}rnptlY]mvzƒuy‰Ž––›ƒyspcm£æõþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôà~_cp“Á®Ä»²Äßß⬁w}Äòóóðê¾—’}ƒ¡¼ÌáÊÉÈäòÿÿÿýûûûùøøøùùûýþÿÿÿÿÿÿÿÿþûøòìïòùÿÿÿÿÿÿÿÿÿÿþøòéÀ¥™oM>9870**-,+#.HINRYYZL@@?@CGOLGFB;5/+)'&$##$$$%$#"$$$$$###"""!!!!!!  !!!"""$$##$$$$$%%%%%%%&$$%%%&%'$%%%&&%%%%%&%%%%%&&%&%%%&9Taccbgcbbbbdefefehffffcc`bbdbeciccdfaaadcfedccdeeihjijjlkkjmjjijhgehiieeejhgimigimlllqjkhggjedcffhigghhi`ZXZ\cdfeijkilhkklkllllollkonnmonqqunplrqsqqqqswsrmj^RIDBA@??@@@?CAB?@@AA??@??@BA@@@@??>?@@•–––—“””“ŽŽŒŒ‰ˆ††‡‰Š‰‡…€|wspnhotx}}~€€~€|}}z|}}}}||{~||z{{~~~~€~„…„…ƒƒƒ†………†…†‡‰‰‰ˆˆˆˆ‡‰‰‘’”–•––—–”ˆ‚wkfbtƒŒÏÑ®©¤Ÿnehqqnoq|Šµ«±†|}‚‚„…r`r†sfs€t^]tlhlrs{‚ˆ’—‡}lge{¯ëöþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð»qkw”ƹ¯š–ªÖàã˜sYo¡æïôðêÀ¢–hxˆ• ¢¡¢¡½ìÿÿÿýúúúùøøøøøùúýÿÿÿÿÿÿÿÿÿÿþú÷÷÷ûÿÿÿÿÿÿÿÿÿÿÿøñä¾£“gG8;@<86310,'):KLRXXXXTA<?PHKB>>?90,''$$#####$%#"""#%#"##"""!!!!  !  "#$$$#"%&$#$$%%%%$$%&%%%%%&&%&%%$%%%&&%%%%%%%%&%%&%%%%%&(?[bccba^aaaaeeeefchffcdccabccbcaccddeaa`aaa`abdeeeihkgjkkkkjkihghgfefffdefigghlghiiiijiihffffcedfghihfeb_ZZZ^adfffjmkgkhkhhhjklmnllknlmmmlnoonnlqptrrrtuvutpmh_TMDB?@?@@@@@@@@A?B???A@??AA@@@@????@?“•—–—–—‘ŽŽŒŠˆˆ‰ˆ‰‹Š‰‡†„~{yplkls}€†††~}}}€ƒ€€}||}~~€|}{z{~|{{}|„‡€}€€‚}€€‚ƒ‚„ƒ…„‡€‚„„…†Šˆ‹ˆŠ‰ˆŠ‡‡ˆŠŒ‘‘•”™™›œœœœ“‰‚sj_bjm„ʾ¬¸Îªvpfflgjns|‡— ¬ˆ|xxz€Švccl…tqwk`zkelgjsx‚†¦Œ€wtz‹®èòüýþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþî¨kuƒ««­‘|zÍÎÛ˜jUVàêðíéѳŸ‚pr|}‰—®–Õúýÿýüúùùøøøøøúûýÿÿÿÿÿÿÿÿÿÿÿýûûûýÿÿÿÿÿÿÿÿÿþþ÷ðâ½¢aA:>@A994522*##5FPVYVTVYLA=?EF=56882+'$$#!###$###"!!"""""#""""    !!  !""#"$#"#%#$%$$$%%%%$$$%%&&%%%&&&%%%%&%%%%%%%&&'&&&$%&%$%&%&+H]eeeb``ddgffefefchggffdddgdeeeddddedacaa_]_abgghfpjlimmljkjnilhkgghgfffffjhhhkhijkiijlihgeffdeefgljkhea\Z^`feffhinmlllikgkjijklsnpoopqmqnoonnnorptsvt{wwuxtsqpeWLEA@@B@AA@@A@A@B?@A@@??AAA@B??>?@@?“••–“ŽŽŽ‹‹Š‰ˆˆ‡†‡‰‡„ƒƒ~|{vuylsx~‚„†………€}}€~|{||~}~}}|{xyz|{|y}|}~}|}|~}‚€€€ƒ€€€€„„…†ˆ‡‡‡‡†ˆˆˆ‡Š‹Ž’’’“™™š››šœ–“†{sie_gz¥¿­Ç½´qgcflmmpu}„’¨Œyvx}rhcn„slt‚ƒwu…}ofaiqu|€…Š‹ŠŒ‹¨ÐîùûýþþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿþìždoŒ“†sliwŒ°Ç»¢yY[‡àæëéçåÑ´‘qq|mct‹|‹Çòúÿþýúøøùøøøøúûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýöîß¼¢Ž]A7<A=964340+#!+BTQaUPMJKD?9<>>72175.(&$$""#"""#""""!"!""""""!!    !!  !!"###$##$$$$#$&%$%&&&%%%%%%&&&&%%%&&%&&&$$%%%%%%%%%%&%%%%%%%%'.N_^_``abcdddddddfcdddcddeeeeecdeeeefeba_\[^`abgffgggjfliiikhjihhkfffgddceejdihihjjjjiihggjgfgeddghljiif^][addefgijmiiggggghfjjkjsnmkomnmonoonnprrqrsvuzwwvvuvurrdYPEC@A?A@AAA@@?A>A@???@@AA@@@?>?@@?““”’’’’””Žˆ…‚…ˆ‰ˆ‰ˆ†…‚}|zxqntx|‚‡††………„„…„ƒ~}}}}{{{|}€~~zywwy||}}}||~}}~~€€†‚‚„€€ƒƒ‡„„…ŠŒ†………†‡ˆŠŒŽ”••–™™›œœœ›œ˜™”ˆ†vn`ap‹ž¬··¹¤ˆvpffhfnrw|†”€ywwxwsnqtsqot~…~Ž—zi^gqux}„Œ”—’ »Úîñôùþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþí™`kx~ypbZeo|¥Å¶¢Š`a‚ÕÖáæëêèÓ´Œrka^arwpo¤äôÿÿþûøøùùøùùúûüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýõìÚº¢]A6:::97544/*#!%0XVRQMIDDF@=;;>?82361*%$$$##"""!""!!!!!!!!!       !!!""#"$$$$$$&%&$$$$$$%&%%&'&&%%%&&&&%%%%%&'''&&$$%%%%%'%%%%%&%%%%%%%'2S_a___adhhhhieecfcedecdehgfefdgedeifeb`ZV[dcedgfjgjjjkljjjlhkkkijehghgfeigjjkjnmmjqkigfefhhfghgfmkmjjggaabhfggghkjmjihhhhihijkmnunnmpnpmsqrrqptturst{zzwywywtturqh`OFBA@@ABAAAB@AAA??>?@AA@??@????@?“Ž‘‘‘“”•ŽŠ‚ƒƒƒƒ‚€€{wurwnv|€„„……„………„ƒ‚€}}z}|z{{{zyyzxxvxz||{z{|}~~}~|}~€}€‚„‚„ƒ…………†‡ˆ……†ˆ‰Š‹ŒŽ‘“”••—–—•˜˜œ››™˜—•‰€vjeaqƒ˜º¹À­’‡rjfegnptw‡„ywxuvytsturu~‹v}’™‡o]kwtr}„‘Œ‘Ÿ™’˜³ÈÉÍàõþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþíž[[edc]SXgcb¢Â±Ÿc`z¥µ¿ãîîìêÓ¦zf^X`ffdgzµîÿÿÿüøùùùùùùúúûüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýôêÖº¢—^@5;:;98774/)%"%37<>AA@=79><<<>@=885-'"#$$##"""""!           !!"###%%%$$$&%%$$$$$$$$$$$$%%&%%%%%%%&%&%%%%%&&&&%$$%%%%%%%%%&&%%%$%%&&&&)6S____aceghfdgcfccadedddefgecdcddddffdaYQX``accgffghhhhhiiihfimjggeedeeefffeekjmjjjkgffeefdfeghgghhhhhffbdfggghhihikkjihilojjlmnqpnnnpnnntqrsrqtttstuxxxwwvzxvuusqle]SIDAABAAA@A@@@@@@@??@@A>?@?@A@@?“’“–”–“ƒ‡‚‚~~€}|{wtqtw|ˆŠŒŒŒ‡……†…†ƒƒ‚€}||}€}}z|{yyzyzz{{{}{zz{|}~}€~~~€€€‚ƒ……Š„„ƒ†‡††……‰†…ˆ’“””•’“•”˜•——˜˜™š›Ÿ  ŸŸ—‘‹…vi_bs~š°¸Á©´{rgejituy~~|zxwttxxwvrpwˆ‹}t{•›umqolm~‰“‘“—–•ž­¹ÀÊÎïüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿï¦YOSUSOOVfX[ŸÂ¯’e`p’ŒÅîëèæá­e\]dgl_[l”éúüþûùùùùùùùúúûûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýüóêØº£^@5::;;:::2.(("#&)+.9<;6127;==>B?=74*$""####!      ! ! !""#$%&&%$%%%%%$%%%$$$$$$%##$%%%&'%$%&&'''&%%$%%%&&&%%%$$&%%%&%%%%%%%$$%%%%%%*:U^_adeffgfeegeebbceddehffeedhdedffgdd[SS_``bhdgeegjijgnmmhhhijihhehdddffhgiikkmjlkmgjegfhghiiihgjhjhihljiikioiikqhkkllllrnklnopprnpoporqustuvtxxysvuzy}x{xzx}xysqoogbTHB@@@AABB@A?@@@@?@C@B@@@??ABAA“ŽŽŒ‘——“’ŽŠ„‡€€}||}xxy~………ˆ‰ŠŠ‰‡‡‡‡…„ƒƒ€}}}}}|zyyyyyyxxzyzz|}~z{z{{~~~}~~~€‚€‚„†††„„„††…ƒƒ„Šˆˆ‰‘“”““••“•––•—™™™›œœ›œœ—’Š€tid_nƒ˜º³­°›’vkddhquw|{{zyussvw}xqovƒŸmu—••pnkfazŽ”’Ž™˜š¡¨±¨›¸éùüþþÿÿÿÿÿÿÿÿÿÿÿÿÿð¾ZJIIIMQ]g\ZšÃª—d\_qr~«êèãÝÖµ‹h`^egaYVVxÚòùýûúúùùúùùúúúúýÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýûóêÙ·¤Ÿ_@5:<:7662,)'$! .7<;4/1368::8754-&#""#"!!" !    !"###$%&&(&'&&%%%%%%%%$$$$$$$#$%%%%&&%%&&&&&&&%%%%%%%%%&%%%$%%%%%%%&%%%%%%%$%%%&,?Y^bdeggfgdgeeffadeeeeggdfeeddddeghhaZQRW`bbceeffggghjhjjigiijjighegacfffffijjjnjjjhdfeeehffddegfhggfggkjjiifmjkllhiilhlmqmmnmlnnnnponorquttuutxwwttuvvvv{wzyxwwtrppkfaVKFBBBAAA@@?@@@@@@@@A@@@??A@A@˜“’’’•›‘‘‰†…ˆ‡†‚‚~||~†‹Ž’ŒŽ‹ŠŠ‡ˆ‰‰„‚‚‚‚‚‚}{zzyxxxyyyyzyz|~‚{{{}}‚€€…ƒƒ€‚„†††…‰†…††††…„†ˆ‡ŒŒ’‘‘”•˜˜—”””•–•–šš››œ›¤ž  Ÿœœ–”ˆƒuj_ar|–§«ÍÊË“tpeejirvz{yxtsstvy|soq{ƒgnˆ•’ށ|ofgw‰™Ž‹©˜›žœš™¤Îï÷þþþÿÿÿÿÿÿÿÿÿÿÿÿóÕcCABELUifb[–«¥“w^QVngd äêêâÖ´˜|fdea\VRSc¨èõûûûúúúúúúúûûûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýüóéÖ´¤¢aB9<;9653.($!"08=74121221221.+(#!!!"!!         "#$$%&'''&&&&&&&'&%%%%%%$$$$$$$$%%%&&%%%%&&&(&%%%%%%&&%%%%%%%%&%&%%%%%%%'&%%&&&%%%/E]bhhghighhhfffgagekegggeieecfghhigi_TPR\bafffeghjglijikjjiojmhffidgbchjffgiijknjjhffffgfhglgfglkkgfefglkljhillmlmililhqmqmpnnnsmporonossuvvtutyw|twvwvvu|y|yyxxsuuunomjZMEBAAA@@C?@@A@AAABB@A@>@BAA@š™”ŽŽ‹ˆ‰…†…†„„‚€„ŠŠŽ‹‰ˆˆ‡‡†††…‚ƒ‚‚€}zzzyxxxxyyyzz{|~~||}~~~~€€‚ƒƒ‚‚‚„†…„……†……ƒ…†‡…†ˆ‰ŠŒ’•••””‘““•––—™—š™š›žŸŸ —”Œˆwkf`m}ªÈ¶ÌŸ„vlddgqswxyxutsrtwwvshm}x_h‚Œ‹Š‡ztlvƒ†Š‘ŸŸ“’•˜•Š›¶ÖòþþþþÿÿÿÿþÿÿÿÿÿÿöçrI@BFOZm“t]‰«›ŒuVOPjgsçëðç»°¢’qj`[ROMY…ÞðúûüûúúúúûûûüüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüóèÒ²£žcE;;9410/,&$ %2:62232/*%$$&(%$#"!"!!!!     !""#$&&&&('('''(&&&%&&%%%%%$%$$%$%$&%%&&&$$$&'''&&&&%%%%&&&%%%%%%%%%%%%%%%&&''&%%%%%%&2L_ehkieiggffcffhbeegegeddecdddefgihg\NGU_bafddehjhgkiihhgiikijfecdbcbfiifghihjknijgfefegggggghiihhffefggehijmmmmklhjiiimmnlllnnmllmqooorssrrqtqttttuuwwwvxwwuvvtqstroqsmf[NHAA@@????@@BAAA@@?@@@@BBA@¤œšŽŠŠ‰‰‹‡ˆ‡†ƒƒ„ˆ‰Š‹ŒŽ‘‹‰‡ˆ‡ˆ‰†††„…ˆ‚„‚€€~{{z||}z~|{z{|~}€…€‚ƒ„€€ƒ‚‚…ƒ†…‡……„‡‰†……ŠŠŠ‹“’’•’š•–•––—“”•˜™™™šš   ž¢Ÿ¦œœœ™–ˆzqaanxœÌ¸Ä¦Ž†|qfekkvwzwwtspquyvuicfnYax‘“œ„†wwy{ƒŽ›‘‹’‘‘†«ÇïüýþþþÿÿÿþþÿÿÿÿþùéœSDCJU\s•r©™†sMGLfks—Üãîß™­©¦ˆxbZQMLPoÀëùûýûúúûûüüüüýþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüòçβ¢šeG=;4/,-,*('#$3200133.% ""!!" !!!!! """"#$$$%(&&''''(&''''&&&&&&%&%%%&$$%&%$&&&&&&%'%'&&&%&&&&%&'(&'%&&%%%%%%%%$%%&'))(&%%%%%%'6UafgijfiggejhigiiigifgffggfgddefgihfRGLZ`bchfgehgggjijghiokpileeefeeeihhhmhihnnnijhgghfhgfhljkijjjhhenhgfgillmnnlmmmjlknnqpsomkklmnqqtqqrtrsquvvsxuvv{zyyzwyuwrrsstqquttrp^OEBAA?@?CA?AAAE@@@?ACAABB@—•‘ŒŠŠ†‡†„‚‚‚…†ˆŠŒŒ‹‹Š‰ˆˆˆˆˆˆ……†……„‚ƒ€€}}{{{|}{y}||}||}}€„€ƒ„‚‚€€„‚†„„ƒ„„‹†‰ˆ††‹‹‹ŒŒ’““‘‘’•‘“”•““””’“”š›œžž¥›Ÿ ›˜“Œ„ykc[j…¥¬³±»ÅvjbchruvwtrsoptvvtkcdjU\l‚’˜’ˆ‰†}kq{…‹‹‹Ž˜¤”†œ¼ìúüþþþÿÿÿþþþÿÿÿþýöØ€MJMS[|ÀŸu‚¨—lGFH\trŒ°ãèÔƒo¢È§•zdZROMN[šäöûþüùúûüýýüýþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüòæÊ³£šeI>:0,(()+-+*%')((-/.-%!!! ! !!"""##$$$$$$%%&&&'''(((()(()))))(&%%%%%%$%%&&%&&'&%&%&%%%&&&(&&&&&('&'%&%%%$%%%%%%&),171.)&%%%%&'<]begggffeeefefegggeiffcfbffedfffgiiXEIW]`bdefgchfhhjiighijiiihedddafgghhhhhihhiiihhhhheggiiiiigggghgfnihghkkhmjjjjiijklmmnnnnmklmnoppqqqqqqrqrrstyuuttuwwwuusqnorqsqrsrtspj]PIBA@??@B@AAAAA@@@BBBB@AA˜ŒŒˆŠ„ƒƒ„ƒ‰Š‹’Ž‹Œ‘ŒŠŠ‹Š††…„†ƒ„„ƒƒ€~}}~}}{}|}~~}„ƒƒƒ„…†€~‚‚‚„‚†…‡‡‰ŠŠˆ‹‰‰‰ŒŒ’ސ“–’’’’‘‘‘•‘‘“˜“•”•’“•œ›œœžž ž¥¤¤¡¡ ¡—“Œ†rgZ\rŒ—³·¹Áº”xqeejiortqsqoruttndefTTaŒ›•‘Š–Ž…ojpv}ŠŒ—˜ š—xz“¦çøûÿþþþÿÿþþÿÿÿÿþýüå½rQMOZ‡»ÈŽ€‘–}dNDDVwq}ºÝ¼qf˜­¨~dZYWRMSyÅñùþüûûüýþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûñåǶ§šdI=8/)&&(+030/&!&+./-&#"""   "#"#$$$%&''&&%%&'''''''(((()(*+-/.+)'%$%&%%%%&&&&&&&&%%&&'(&&&&&&&'&%&%&'&&&%%$%%%%%&'-4<@E3,&'%%&')A^ceifhghejefeheifffifffgffeeejghij`SAL[c`edofgehhjikjlkkkkjpiiegdd`hhhgmhhhihjiiihhiihdiinjjjjfefijmfnijijjjgmiiilijkonmmmmnmmnnoppwqspppurrqqrwxyvvtutwwyuwqqlmoqqqqtrwttpo`QGB@??@@@ABBBAAAAAAAB@BAŽŒ‹ˆ‡†‰‚„ƒ„„‰‹ŒŒ‹‰‰‰ŒŒ‹Š‰‰ˆ‡†††††„ƒ‚‚~~~~|z~}~~~~|~„†ƒ‚‚€‚‚‚ƒ„„‚†…††‰††‡‡ˆ‰ŠŒŒ’ސ“’’’’‘‘‘’’“—’“’’“”•–˜š›œœžž  ¢¡¡ž ˜”‡xoe_Zdr˜É½Ùº©’uibchosrqrrpqrssqiggVSVi}Œ•Š—‡pe^dm„Š’Ÿž“ƒry‰ŸÕ÷ûÿÿþþþÿÿÿÿÿÿÿÿþý÷ЁPGO^˜ØÏ˜ƒ‹‘~jVKBQwqjuŒ±¦og¢¯˜ƒzc[YZ[QKe¬éöýýýýüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýúñ䯳­“aH<7.'$'),024.+!%(+-/(%$#""""#$%%&(&'''''&&())('%''(((()*-05;:=3*(%%&%%%%&'&'''&(&%&(&&'&&'&&&&&&&&&%&&*,(&&&*-,-,)4@=<84*%%%%&'+F`ccfffffeeceefeedffgeffedfefegfhid[QCP^``cdeeedgghhjjlhjkigjifdcdc`degghfffihhggfffgfhehhjjjffeefiihgjiiijghghhiijjkkljmkllmlnpoppqvqpoopqppqsswwvtttttuutsplkkmmmmnoprrrssol^QJBA>@C?@@@@@AA@@AAA@@?“Ž‰‡„‚†ŠŠŠ…‡Š‹Š‹’’’‘“ŽŠŠŒŠ‹ˆˆ†………ƒ„€€„~€€€†ƒ‚ƒ„…†…‡„…„„…††ŠŠ‰‡‰‡Œ’‘‘’’’’’’‘•“•—’““–“•–———•–—››¡›Ÿž¢¡¦¡¢¡¡™•Š|qg[[h€ ¹µµ¸½zrefhgmnopoopsvrkieXQP]n}ŠˆrbTWe|‚…‘¢ŒxitŠÙ÷ûÿþþþþÿÿÿÿÿÿÿþþþùèŠMEMmªÚÖ¨{}¥‰qeUHLhd^u§ˆp§¤•ƒub[Y`[XIV”àóüýþþýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúð䯱«‹^F;8+%#'+-131,)#!%()*('&%&%$%''''((&')'&&&&+12,)((())((*.4;?>IE:+(%%%%&'&&&&&'&&'''&&&&'&''(&%&%&&&&&&)-0,''*/6;81/=A742-(&&%%%'.K`ddfeddheefjjifeeffkghgfejgffhfhfeWNKV_ecffhiifggkillljjiifngfcbbcbedffijjfhhhhhggghfhgghljkfgeiiiiihmjmjihkhjilllkpkmmlkonqmoprrrrvqqnvrrrvu{w|vvstvwvwtuqplnkqmmmmmnoqssrqlpaSGCAA@???A??BA?@BAA?@@‰ˆ……„‡‰‹‹Šˆ‹Ž‘ŒŒ‰ŒŽŽŽ‘ŠŒŒŽ‡‹Œ‹‰ˆˆ‡ˆ†‚…ƒƒ€€€€€€€~~„…………ƒ†‚„†††…†‡‡‰‡‘‘‘‘‘–’’’””•––––”—˜™› ›œ››œœ››˜œš–‹‡ƒ{tjc\k|‘¯µ¤²œ‘ymcbfnqqrpoprvrnjf[RMRZn‚ƒ„‡€zweNOTclrz†ƒo^l‰—Þ÷ûÿþþþÿÿÿÿÿþþþþþÿûë‘LB[~¶ÚÔɐg|•~xfNM_a`WWov…Ÿ£’†vaWQTYPGOr½ïúýÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüúðãÆ¯ªƒYA9/&%%+//11/+&"$$((''(((&')))(((('''&'''',;3/+*-013/,05;C<;GM;,(%%%&&&)'''&''&''&&&&&&&''''%&&&),*().7@4)-06?@F60BL@74+'&&&&&)2Q`bbcdccdfeiiighfefffgfcfeghffhfeaWMOQZbddffghhegghglkjjiiifeefbb`bbabdfggjeedhfgfgeffghhfhhgefdighghhhiljjihfiiklljkjjjkjklmkqproqtqoonnpqrtttuvrwuvzxwvtpkkjlkllnnllmmnlnnmklj]RKCA?@A@@@@BB@@@@@?@?‡…ƒ†ˆ‹“Ž‘ŽŽ‘’“‘Ž‹‹‹ŽŒŒ‹‹ŒŠ‰Š‡ˆ‡††…ƒƒƒ‡‚†€‚‚ƒ…‚€€‚~€€‚ƒ…‚‰‡‡…‡ƒ†††††‡‡…‹‰‰ˆŽ‘–‘•’‘–•—–——›••—š—šŸŸ¡šœœ˜–—˜š‘‡…xn][fq•»¶Ñ±½ž…vefjgrqqooqutsngaTKKPcx…ƒŽzygIDIRZ_l}zg]fzŠËõùþþÿþþþÿþþþÿþþþÿúéKHeŽÃÛÝΩmi}‡ˆ„`OZt`LKYz ¯¸€w`PLKLLFH_§ëúýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüúðâŬ¨zS=1*&&*20/01-*%#! !"#%&())))**))))(('(('''('''.79/--38??;23<IC98FM>+(&%&&&&'('''''&&*''&&&&&'&'&%%&'+13,,6HE=/28=?JI;1IKIB:+'&'&&&*6WagcddhdddeghgggffffgfeegedfffhedYOMS[ccdeiiiikghhjgmkjijiiihdfbeccbaacfiijffehgjgggijihmhjihgidifjjjikillojhhljnmmlniijmlllnnrprqqpoosnppsrvssuyxywyy|wuqljkjokklplllmmnlomkjlki`SHB@@@@@BAB@@@A@??A?††ˆ‹Ž“‘’ŽŽŽŽŽŽŠ‹‰Œ‹‰‹‹Šˆˆ††‡††…ƒƒ‚‚€‚‚‚€€€€€€€€€€‚„ƒ…††„‡‚‚‚‡„„„……ˆ‰‰‰ŒŽŽŽŽ‘””–”–—–“–˜˜™™™™™™••––’“”•—”’’’‘‘‹†€vh`XfŸ¼»¬¾Æ¦€mcbempoonorxxvmkYNMLXgs€†‡~tfI@?GNRVj~gWfmz´ðøþþÿþþþÿþýþÿþýþþùç‹LMm™ÎÝàÜ·|ns‚€xwf\h`LD_…­¾°—‡zv^NDDDCADN‡åúüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüùïãé¦qM8,)'+/00//-*(%%%$"#&'''()*))*++,+***))'(''())((&/6:/238<<G?7:BH@97GK<)(&&&&''&''''''&&'''('&&('&&&%&'*5D:15=DE8.6?<9>E5,8FFO<,)&&&&%,;YbaacdedeeffhegjfdfeeeeedccdffhdYNQS\bbcefiiighhhhihjjihiiidgde`eea`cceghhhfeefgggggihiijhjdgjidighiigihmkmihhlklkkeeeghjjjknoonnklmnlmmpqrrsuuuvvvvxwxtpljhhikjkkkjlklmllmmlkllkh^RKBA@@AA@@???A@??@?‰Š–‘”“’’“‘‘“—“”ŽŽŽŒŒŠŒ‹‹ˆˆ‡†‡‡ˆ‡…„ƒ‚ƒƒ}}~~‚†€ƒ„…„…‡‡‡‚‚„‡‡ˆ„…†‡ˆ‰ˆ’‘ŽŽŽŽ‘’’‘’˜——•–•”–˜š  ™ššš”–“““”“’’‘’•“˜“˜‡ƒugYZo„›¼¹ÙÂÈ™€vdfhmponnovzwrm]UUNOWas„…‡pcF<:@EHL]oifilqŸàòýþÿÿþþýüúûûüýýþ÷âMQs¢ÙßãàÚ£ro‡zz„||eNSkŸÍµ©€xu]LBAAB??EnÞ÷ûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúïã¾§ hF3,*,2471//,*((+*+*()**,+*)**,041-+*)))'''')+,+**09925<C:;JM><FI=78GJ9)'&&''&&'('''''(''(('&&%&&&'&&&)0@FE49EM@60?A;7=7/,09EJ@,*&&&'%-@\addcdgfiggfifjhfggelghdfbcceei^ROW^jeeehfliihljkklkkkkllihhidddfc`bgflkkggefefggghhkiiimhkghijfihkjjhijnlmllillmikedcijmlqpoommmllmompnrrsrrtwwwy}{xzrljkhhilihhkjmkklomnnnmqoooocUICAA@A@@@B@A???@@Š‹‘Š‰ˆ‰Š”‘“–”““‹‰ŽŒŽ’ŽŒ‹‹Œ‡ˆ†‡…†Š‡…††„…‚€€€€||z}}~|‚~{€€€€‚€‚‚„ƒ„…†‰ˆ„†‡‡ˆ‰‡ˆˆ‰‰ŽŽ‘Ž‘’’’“””‘—”•“–˜˜š›™˜——•”“•’’’“‘’“’‘’’–‘–‘Š†~tfa[dq“µÍù£–‚hacjppnlotz}um`ZXXNKT`o{s`SC;9BFIJWpnr}†~´ëýþÿÿþýüùö÷øúüýþõÇqKRt¨ÞáåäàÜ™ix’z’ŒymhÁ¸¨˜…zsi\J????<<>\ÀðúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýúïṤ™a?3-./062/--+))(**))****+**)+.4;78.+*)**)'*+05692-7D;3:FA59IL@@GH;::GI7('&&''('&''''''(('''&&&&''((((',8BM>16IJ:74=C94413444CI8*(%&&'%0G\`a_bdeeiffdeeecdcccfefba_cbfeaYXW^ccdddefggjhkjkiiiihihhgfedbddebcdffkigdfffffgghhhhhjghhgfgggefghhhgjlmjjjigmkifdacdjiklnnplkjjhkmmnplqoooqswvxy{{{wslhfgfhihgfdggiijlljklnmnopppn`SLDB@@@??@????@@?‘Žƒ€ˆ‰Ž•”—“‘’’‹‰ŽŽ“‘“‘Ž‹Œˆ‰‡Š‡†††……„„ƒƒƒ…~~||}‚‚‚‚ƒ‚ƒ€€€‚„…Іˆ…‡‰‰‰‰ˆˆˆ‰‡Š‡ˆ‰“ŽŽŒ“—”••™”––——˜–œ—˜šœ••–—“‘‘”“˜’”’’“”‘“’–••“”‘‘‰…vnZXfz£×¼³«Ò pgbkponnnszz|oc^\\OEMWdqkWK?:;BHTQUbp}—’Ž‚œëûúúûüûúóíïòô÷ùüî¸_IRt¨àâæåäÜËŒq€ƒ{~­˜–¦µ²²¢‘}rkdVH?>?><9:N›ç÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüùîÛ¶¢[>5--.0//-,+**)))))***++++*)-4>?@60,***,,+.29<B>:4AEC?AD@26IL@>IG77;IB4(''('''''''('''&''''&&&&'(,..,*/;KL:/4IH639GB51115>EA?=2)'&(&&%3N]`cbbcgfieideeeeeddcgfea``cdgfb\^`idedhdffjjkjljkiihmhiggggdccggfcdfjjlhgeihjfggiiihhhkgihgehgggfggilkkllijjifnkhcbbcfkkllonplljlkpornqpqopqttvw}zz{}vqifeeehfeeddeghhijmjkjnnnowqtnl`TICAB@A@@?@???@>“•Žƒ†ŠŽ’”•”““Ž’ŒŽ““ŽŒ‹Šˆˆ†ˆ‰ˆ‡‡††ƒ„€€€~|{z||~€€€|‚€€€€‚‚„……†‡ƒ†ˆŠ‹Š‹‰‰‰†‡†ˆ‰Š‹ŠŠŠŠ‹‹‘’••˜””•˜˜˜–™——““’’”“‘ŽŽŽ’”‘‘Ž””•“‘Š€s`[Ug|¤¶“°¶xi`kqkmnnot{}pf_aj\FIPZd\QG<=@DKVY\aqŽ™‡’àøöô÷úùõéÝàèïòööáLFPo¥áãçççãÒ¯‚ƒsqu‰¦“¹©¨—ƒqh`YPF@AEA=;9I|åóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüøí×´ †U;2,,*,+++++*())*+)**++-++**08<=842/.-295/5=;;;=73CNB9DN@2;JC9<JC4497;0(''((&'(('&'&'('''''''')+28:>6,/:II8*4JH22>>B=6424C?>74-&&%&&&&7T^`cbbcgffeddda``abbaabbaaaceefc_aceddcedeeghihmjiiiilhieffedcehifdfgjjhggdeffeffgfgghhhggfgfihhghjjiigkkifhghgjid_bdfhkllkomljkkkjonnnnnmnpqtvvv|zzzupkgfgeabbbacefhghigmiihjjlmnoomkc\TLCB?@@@?@>@>>=š“‘Ž’’“’•••”•‘“‘—‘‘Ž’ŽŽŽ‡‡‡ˆˆ‹‡‰‡‡ƒ„~}||z|€€„€€‚€‚‚‚‚ƒ‡…‹ˆ‡‡‰ŠŠ‰‰‹ŒŒ‹‹‹‹‹‰ˆˆˆˆŠŒŠŽ‘–˜™™™—œ›ž—š™˜‘‘‘’‘—‘ŒŽ““”’’Ž‘‘‘’”•›šœ‘”„{lbXZhu‘µ·µº~j^jqmmnklqw|sjefqtJGMTZXNE??BKRX_dkv…ŠŒ‘ŒˆÀôóóòñòîÒ½¿ËèîïéµgGENj¤àäèèèæãЯ“•xdgo‘™ž“‰‚xg^WPJDCDEC>=;DhÒðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿû÷ìÓ²žP70+*+****+*))))**)****++*++2?D?5455418AB5;DH>8744EOC:GOA:=ED7:A@0-131+(('''&&(''''&(((&&'((('+2==GIF20<GE5)5LF/1AMHCB@0.6;70*&%%%&&&%:Y^acbdcgeecbceaa_^`baccbbcdeflfecgefdgdfdiefgijmkjinnmgidfedcdhkgffhikhffiddegggfhfiiighgjijhjhllmlljigkiggkkklkeb`eghhknqmollknjqmoonmmnppsrwvxw{{ysqlhghgf_ccbbfffghhnmmjkillkmnmllkcd_UHCAB@??@?@>?>’‘Ž‘‘‘‘•‘“’’‘ŠŒŒŽŽŽ‹Ž‡ˆ†‰ŽŠˆ‹„ˆ…„‚~}€€‚ƒƒƒƒƒƒ„‚‚‚‚‚ƒƒ…†……†…‹‰ˆ‡Š†ˆ‡ˆ‹‹†…„„…ˆŠˆ‡ˆˆŠ‰ŠŠŽ‘“‘’•”—™—’‘‘ŽŽŽ‘‹ŽŽ‹‘Œ‘’“”””“†€wof_Wbov}¬½‹k]iqmmnkknuvvlimrrRJUWWTPKDACIQ[how‡ˆ‡ƒv|¬ïñóíçêæ¶£˜µßçäÆ[DDKh£ÞäêêêèæãÇ›…„l]^`jsttqngZVPJDB@DIE?=;AVŸìÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúöëÒ°ŸvL3.+*)*****)*,-.--,+*++,++--7HED<8;A81<LC39FFDA<:7GO@8DPF<>E9/194,++++)('''''&('''''''().211-)2=::@PH78?B?3)7ME//?FOAD6**++,*'&%%&%%$%>\_ccceacccaa``_\Z]_bbbbdefffeeedccccbfceddeggjjkkjjjjjhebfeeegjkggghihffdddccddfeeeeefffehiihhhkiliigfegghijigdb`ccgjiimpojniljjknlmklkmnprsqwtxxwurnmjhefcf`cfeefggdccgfhhiijilmmllmkbcg\RJBB@?>@>?>>>ŽŽ‘‘“–“•“˜““‘“ŒŒŽŽ‹ŽŠ‹‹ŽŒ‹ŒŒ‡ˆ„‚‚…€‚€€€‡„‹Š‰‡ˆƒ†ƒƒƒ…„Š‹Œˆˆˆ‰†‹‰ˆˆ‹ˆ‰‰Š‡‡‡††‡‰ŠŠŽ‹ŒŽ“’‘’••‘—•––—•”ŽŽŽŒ‘ŒŠ“‘’”’œ”˜’’ŒŒƒpeXVbov§¯¥o\fqmmkjjjnqpnowooWN[jVUSTIB@FO]jvˆ‰‡„~or¦íîïìêì㺔”«ÛàЧzUECIf£ÞæìíîëéåÛ£ut}dVVZ_cddc`UOIC@?@DHHA>;>L„èýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþýùõëÒ° qH0+)()))****+-1450-++,-.../1;LKB>>IF=4DKG48AMJNC=:JO>7CJO@C:2+*,,)'''''(''''''(''''((),07?A;2-8CD7:NM87CK<1)<IC2.6GID9/'%$$'&&%$#"!!!&Cacdidedfbc```a\Z\abfdcbfgjhjgidcdecdbfdfgkjjijjmmnkkhgedcfehgkllghgkhgfeegdcbcdfeeegghfeegjlhoklimmlffehfkklheb`bjimlnkonmmnkljonqnpnolpnrstqwuxvsqnnnjlhjfgcefhimihgeefgjhljmkkklkjkidddd^THC@??@>A>>>ŽŒŽŽŽ”’‘‘‘”’’ŒŽŽŽŒŒŒŒ‹‹‹‹‹ŒŒŒŒŠ†…ƒƒƒƒ‚‚‚‚…„†…‰††„…ƒ„„„„‡ˆ‰‰‡‡ˆ…‡ˆˆ‡ŠŠŠ‰Š‡‰††ˆˆˆ‰‰‹ŒŽ‹ŒŽŽ’’’’’‘“”“ŒŒŒŽŠŠˆŠŠŒŽŠŒ‘“””–‘ŽŒ‹ŽŒ”Œ†€xpe_X^hŽÃµt\crkmjihinnoqstjc\W]aXTROKB<BMWhny|||{wcm ëëêìííèѧ“¶ÙÔÆ‘lUDCG_¢áèîðñïìèÞ¬oehk[RSUWYYXVPMDA=>?BECB>;=DsäûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþýýùõëЯ mE.+))))**+**,09D;31.147:9963<OJ>@?IL=5EOD489@EKJ=<GN:/5>;;61-())(''''''(''((''(()*/3468::JFF7/;IA0:KK68FJ:2)=QD6-+061-*'&%&&%%#"! !(Ldceecdccaa__\ZX\_bcddddhhifeedbbbecdcddfgiiihjjjkkkjedaccefghihhffddddddegeeddeffeffceddehjjhkjjjiihdddggkjifb]cfiijkmjlnkikkjhnlmlmlojmnqssqwtsqokigjjjiigfcefhhkjjhhghhhhijkjkkkkkkhcfhgf\RJA@??>?>>=ŽŽ‘‘—‘’‘Ž‹‹Œ‹ŠŠŠ‘ŒŽŠˆ‡†ˆ‰†ˆƒ„ƒ…†‡Š‰‰‰‰‰……„‰††‡ˆ‡ˆ‰‰Š‡‡ˆˆˆˆˆˆŠŠŒ‹ŠˆŠ††ˆŒ‹‹‹ŽŠŠ“‘“ŽŽŽŒ‹Š‹‡‡‰ŽŽ‘•™ž–—Ž‹‹“–’‰†ƒ€skYW^r—²n\_slmkiihhjmsqpg`a[_eYUVRI?:<CN[f|Ž„v€tl©ìîïëçêêÚ¹½ÆÉÈ©„mTD@DXŠÎÞìïòðîêß´ldfjaXQOOPQTUMKA?<<>@BCB?::?fÉùüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþýùôêЯ fB-*)))**+*)*-2DHF5349<CDMD;4>OJ:9ALJ=6FOB777:BLE>=EB6,,/00.+)''''''&('&'((((&'()-17=EGH>@FPH<7EK<-9NK39JJ<2)@GG4-'')''&'''(#"!  ".Tcbdebgccbc`a\X[adheffihliiffddbddeeheefiilkmjjkllmjjecbedhiojkjkfidcceccdgddddcbcddecfcdejjkgmlpjiifddejjljieabkjmjplmllkjimlijmkomnloloptstrwtsnlhgfklokmjieeglikkmknnnnnlllnmmkolmjheknrlg_QEA?>>?>>=Ž‹’‘ŒŽŒŒŒŒŒŒŠŠ‰‰‰ˆ‰Š‡‡‡‡‡‡ˆ†„„‚„„…„†‡‡†…‚„„„„†‡‰ŠŠŠŠŠŠŠ‡‚ˆ†ˆ‰‰ˆ‰ŠŒ‰‡ˆ…‡‡Š‹‹ŠŠŠˆŠ‹Œ“ŒŽŽŽŒŒŠŒŒŒŒŽ‹‹‰‰„‡†‘‘”•”’‘Ž‰ŒŒŽŽŽŽ‹Šˆƒ{pd^Vcomh]^uonkklihikopog^`WYZYQLIF?9;?HQ`‡™—ŽŽ•š²îñóêáæêâ¿Î»³©¡ŒoSEBCSlÚêïóòðëâ¾vTXgdaUNLJIJIHC><:;;==?A=99:Z¼óûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþùóêί¡`=,*)))+**)**.5FRF6:>?CDDLL>4>OK89CMG?9HOA7<ECA>=74471+***++*))('((''')''((,-/20.6?==AMG:>?NF=:HL<.<O@07LHB3(093.*&'''''&$#! $5Wbbccbbaccb``^``dgedfghhhhiefdcaeefehffgijjijkknhehifcddeehjojjhkeecccfbcccddb`\badccbbcdfjhggijjgihgeffjiiiebeijimkmllljhjjomjjmknmlllkopqoppsuojifggkllkliigghiiiikkmmnonmnnnmmlmmljhcjpqnli]PH@@?>>??•‘Ž”’‘‘’”Ž“ŽŽŒŽŽŒ‹ŠŠ‰‹‹Œ‰ˆ†„„……ŠŠ‰ˆ‡ˆ‡††‡ˆ‹†‡ˆŒŠŽŠ‹‰ˆ‰ˆˆˆ‰ŽŒŒŒ‹‰‰‡‹†‡ˆ‰ŠŠ‹ŠŒŒ‹ŒŒ’ŽŽŽ‘ŽŽŠŠ‰Ž’Ž’‹‹ˆˆ‡‡‰’’–––”””˜’‘ŽŽŽŒŠ‹‘“‡ˆ~ypj[Y_fl^]umolklihgjnnmh^XQUeYMHFC?;:=DGPsª£¦´ ÎóóóéßàâØ»­¡ž¡¥¨wQICBNb€·ßèðððëäÇ€XOVg`ZUMIFFGB=;9:;:;;<<:988PŸìùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýøòé˯¡\8,)))*******/8IRG7=GPA>CNOB8>MK69HLI@@KJ@9BCH@<3/-,-+)(((()***)))(((('''),16=<86ADC@BPJ63?LC=?LK;5AG=/5CK@5)(**('%%&'%$"  ';Zadedccaddeabcdbjgeeiimmnghffcccffhghhhhkjkikklheekheehfkgjjojkhjeddddgdedeeib__abdeechdghkhjghhgfjghgkjjhoidcikommlokiiijkkoljjlkomrlnmsptprouqlijhjgmmnkkkklmhrkjjkltqwxxussropqvpoopnlptnrmm_QEA?>>?>‘’‘ŽŽ‹ŒŠŽ‹‹ŒŒŠŒŒ‹Œ†…†ŠŠ‹Œˆ…„‚†ˆ‰ˆ‡‡ˆˆˆ‡ˆ‰‰ˆˆ‰‰ˆˆ‰ŒŠŒŒ‹‰‰‰‰‰‰‹Š‰ŠŒ‹ˆ‡„…†‡†‡‡‰ˆŠ‰Š‰Œ‹ŒŒŒŒŽŒŽ‹Šˆ‰‰ŽŠŠ†ˆˆ‰Š’’””•—“‘‘Ž‘ŠŽŽŠ…‡‰‹Œ“Ž‡†‚}xrhaX[_Z]vmmmlkjhgikonj`RMOUVIBAA?::;=@Ib„§´¸´±ºìùöòèÝÛÑͧ””‘¯Ö½ƒYSHAL[w—¾áíîðëåЋ`NIR\`bZNIA?<:87677668:9876IŠå÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþý÷ðèɰ Z6+)))*******0;IRF7?OL=??NPA4AMH58MMLFCBE9/4;752.-+-**)(()*162/+(((++++**079<:H99CM>2@OI34DE?=ALLD;BC6(-6460)((''&%&'#!   *C]`bcbab`a`dccccceedcdeeegfedddccefhehgghjjjhiiifffgfeeffgfkjkjiggddeedccdefeb_acccdcddedgikfffgffffghhljjhjhhfijmqnkljjijkkjnjjjmkomolmmpppoqnnlifgghgghjijjkllhhhkjjkoorstuuwurrsvqpppmopsnnmke[OG@?=>>‘””“““Œ‹Š‹‹’‹ŒŠ‹‡‡‰Œ‡„„…‰Ž•Ž‹Š‰‹‹‹ŠŠ‹ŽŽŽ‹‹Œ‹‹ŒŒŒŒ‰ŠŒŠ‰ŠŒ‰‡†…‡‹‡Š‰ŒŒŽ“ŽŠŠŠ‰ˆ‡‡‡ŠŽŒŽŽŽŠ‰‰‹Œ‘Ž“•••—–’’“•Š‡„…‰ŽŠŒ‡ˆtm[W[V]ulromlnhffglok`TKMOMD>>@A<99;>CTlœÏ¸¶µ¹ÛòòñçÝ×Ç®’ŠŠ”ÃÝÒ“eZLEIXq‘©ËæêîêçÖ–kOEEV‰|n^SK?;86665543344675DzÞôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýöðèɰžU5+*))*)*****1<IRE7APJ:9?LN@5CKF48CPLLDC:2,+-.-+**)+*))((*/;AA2,()+.01/++6BH==<<>NK;/>PG04HN<6=NNKDF9/&&))))((%%%&#"!!   !!!".I_aedeac`abeeedgggehcfefdieccefgdefhghhmmlklknijhiggehfhhihljmijfgceegfhdfhkcabfefdeddefelllkmglfffjkmimlljlhhhijmoqlkjojmmpknikkmmnnsoqpppsrrlmjgfhhlhigljmlklljmkkjqjnnpqttvw{zzuvsrqvvuttpppqjk^NB@=>=•’‘’‘‘ŽŒ‹ŒŒ‹‹‹‹Œ‰‹‹‹‹Œ‰‰‰ˆˆ‰ŠŠ‰Œ„ˆ‹Œ‘‹ŒŒ‹Š‹‹ŒŒ‹‹ŒŒ‹Š‹ŠŒ‹‹ˆŒ‹‹Š‹ˆˆŒŠˆ‰‰ŠŒˆ‡‡ˆ‡‡‰‰ŒŒŒŽŽŽŒ‹†‹ˆ‰‡ˆ…†‰ŒŽ‹‹ŠŒ‹ˆŒŒŽŽŽ‹ŽŽŽ‹†‡…‡†ˆ‹ŠŠŠ‰ŠŠŠ‹Š‰„€zsg`WSWflrpomnigeejmme_TLJIC<=>><9:;>CIb޳¸´ÊÈÇéíëß¿¥žœ”ŠŽ™½ÝÕ£€sSHLUm¤¶ÓåëéçܝvVCBP{šqpmh\RH?<97542244555AlÝòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüöïèʱ“Q3+********++2?KSD7BQJ99ANL?5CPB138;A=951/++,+++*,-.0-)))/5ALD4.+159@;<3-;LE3108@MI:0BPC/5LM943>LA?7/,''((''('&%$"  !!!"#2O]aaab_a``afddeeefddbddcaabbbeffddehfhhjgijjjjjhfecgeeeghhhkjmhgddcdeeeecgje_bdeeedddffffhgggifhfffiiihliihhgikkklkiikjjjllkijijkmnnnnnnlnnnkjffchgiikfffhhhhiijijiiijjmmqqrsuuwxyvvttrsssrrppkpkkkZKE>><–“—‘’’’ŽŒ‹‹ŒŒŒ“‹ŒŒ‘ŽŽŽ‰‹‰ŽŒ‘ЉЋސ‘‘’ސŒŽŽŽ–ŒŒ‹‹Œ’‹ŒŒŒŒ‹‹‡†ˆŠŠŠ‹Š‰‡‡‡†‰ŒŒ‘‹Š‰‹‹‹ˆ‡††ˆŒŒ‹‹Š‹‘‘‘’”’™Œ‹ŠŠ‹Œ•ŽŽ‰††ˆŠ‰Š‡†‡ŠˆŠ“’“Œ‰†…ƒwr]QQ\crqponkjgeilmmd`VLJB=<><:8;<?DM]„¶¤œž¢³ßéâÃ¡Ž„šœ¢©£·ÛÖ¤’wZQNUj‡Ÿ®Êâêèæà¥‚_FAGljo‡¨Ÿ–}hUFA:752222555?aÌïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüöïçÊ­‰N2+,++++*++**3CKSC7CQJ79DOM=7EE?/-02420-+*)))))*+/5861+**2?OQH5017=CIPA71EKB/))1DLG81EP@.7ML6.,2862-*)'(&'%$##"     !!!"#$6U[_ccdabbebgehhhejegcdcc^]_fehfffgfhhlkphhjqlmjgeefhfjgkklkkknihdcdhefggfihedfffffdefkhhhjghglfifehlhjhlhhghjmmpmpjiikkpjkjjjlilmmornooonsmmjheefiijkkfhehhkiiioikiljmkplqqsttuwx|xzyyvvtwvvrqopnomlZLA==’‘‘‘Ž‹ŒŠŒŒŒŒ‹ŒŒŒŒŠŠ‰‰‰‰Š‹ŠŒŠŽ‘ŽŠ‘‘‘ŽŒŠˆ‰Š‹ŒŒ‹‡ˆ‡ˆ‡Œˆ‰„†‡ˆŠŠ‰‰ˆ‡‡ˆ‰ŠŠŠ‹ŠŠ‹ŒŒŒŒ‹‹Š‡‰ˆ‰‹‹‰‰‡‡‡‰ˆ‡ˆŒŽ’”•˜’ŽŠŠˆŠ‹Œ‹‹Šˆ‡ˆ†††ˆŠˆ……†…ˆ‰‹Ž‹Œ‹ˆ†„vj\OQZiqqsomkjhhlpojkm_TK@?>=99:<CHQay‘’“–‘•ÌàÓ¹¤ˆ†›˜¨ ©Õ¹›‹}eWTUe~š¤ºÞéçåÞ²ŽmLB?OZzŸ·Æ¶¨…j\PHA;5433556=X®íÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûõïæÄ¨€K2+++++**+-+*4FJRB7FRI67FFK8/5<5-,+-.--,***))))+,5BAF9--+7JOVF56;<@@JNC83EOA/,(1HLB82HQ>-2J=2,'*-,*)((''%%&"     !""""$$&<Y]^^^a_bbebfeghgegeea`^^[\^ecgedcfghhiiiiikihhhffgggfhgigjijjjigcddfdfghhhgedeedcedfgihhijdddfffdfikfgeggggknnnpljiijkkkkkiiikjmlmpomonppommjhfghjjjihfffhhhhihjhjjjilkplpopqsvwvwtssuvvtutsqpmnmnmkdWIC=”“”‘‘ŽŽŒŽŽŽŽŽŒŠ‹‰Ž‰‹Ž‹”“•’Ž’‘–‘“’˜Œ‹Š‰‹’ŒŠ‹Ž‹‹ŠŠˆ‹‰‡‡‡‡‡‡‡‰‰‡‡‡‰‹ŠŽ’Š‹ŠŠŒ‹Šˆˆ‡‡ˆ‰Š“‹ŽŽŽŠŠŠŠ‹‘’”™™˜’‹ŠŠŒ‘ŒŽ‰ˆ‡†‡ˆŠŽŽŽ†„„…††‡Š‹ŒŒ’Ž‘‹‹†‚vm[MR[erqponkhimoronuzocSCCD<:<>ALYjyƒ†„„“¾ÒÊò™‰Ž’˜¨šœ¤¤’†|k\TW_v•¤­Íæåäß¿›UB=Fh½Ù×ܶšƒth_ND:534685;Q“êÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüõîæÀ§vH1++****++,,,5IOQA8JLH45<C=4../.+))********+))),.=KTM>/..;OUTF25>G<:LOB96GO?.+'1JL>74KI<./45.*&%((''&''&#" !  !!!""#"$$##%)D^^_`^d_abdcffiiihjde`_^`Z\^ecgfeefhljniljjigedffhggiiljmmnjliihjfgegdjjjkkfeeedddggghkhjjjffeheeejikhiiigikoopnqkjijjkmmlkjjjnlnlmppmonsrpopjjimkkjniifllkhjjjgmilmmlppqmtqrrttyvxttstuvuztsrpnonpmmifWI?ŽŽŠ‹‹ŽŽŽŒŒŒŠŠˆˆ‡‰ˆ‹Œ‹ŽŒŒ“‘‘‘‘‘Š„‹ŠŠŒŽŠ‹‹‰‰‰ˆ†‡‡Œˆ‰Š‡†‡„†…ˆ‰‰ŠŠŠŒŒŠŠŠ‹ŒŒŠ‰‰‰‡‰Š‹‹‹‹‰ˆŒ‹ŒŽŽ–‘Ž‹ŠˆŠ‹ŒŒ‹ˆ…ˆ…†ˆŒ‡ƒ‚‚‚…‡ˆˆ‰ŠŠŠŽŽ‹‹‹Šˆ„|shZMQZirrtpnjiklomo|Žªr[GD><=@AJavˆ…„ˆˆ„—ÉâÔâË©“‹‰‹ŒŽ—š‹‡Œu`XM_h…§«ÃãããßĦ‰]F?Zƒ´ÜÛÜÛÁž˜dTE<866875;J†èÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýüôí忦pE1+*****-+,,,4KKN=5=I>133220,,-+******-++**+))*,/?RRRB232?PNQC/3;;;AMM?8:IN=-+(3LD:53:A4(+-+))''''('&#"!    !!"""""""#$#%&-Ja^^^^`_aacdeggggffcd^__XT]^acdceegjlhiilkjggceggehgijihlkjihfffggffgekihefeffedeeghgfgghjifffheefggjihfggjmonmlljjijkknjhhehjoknmorqlllmlljjhjjjkkkkihflhgdffgfihkkkkonnnqqqqrrxuuutsttsrqpolmnnnmlljgaTEŽ“‹Š‹’ސŒŒŽˆŒˆ‹ŠŽ‘ŽŽŽ’’‘“•‘Š…‡‰‹ŒŠŠ‹‰ŠŒ‰ˆˆ†…„‡ŽŠŠŠ‡†‡„ŠˆŒŒˆ‡ˆŠŠŠ‰Š“‹ŒŠŠŠŠŒŒŒŠˆŠ‹Œ—”ŠŠ‰ˆ†Š‹ŒŒ‰‡…ƒ…††‡ˆŠŠŠ…ƒƒ†‰ŒŠŽ‰‰ˆ‰‹ŽŽ”ŒŠ‹ŽŽ‰„xnZMR\gtsqnjihkooq™°¹–…aKB=?DAH\€‡’ˆ…ÏÖÔÜà±”Œˆ‰‰ˆ‡’”’f\^chxž¬¼àáãßɧ’aJMj§ÝÞßÝÙ»£¡¦ƒlVH>:99877;G|çþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýõíå¿¢jA0+++**+***+,4EME:7886/,,+,,+**+******++*)**)**,0BSWUG54:GMRQ@..:==DNL;8=KO;,,(7EH6//10,('((')'(&%$"!    !""!""""##"$####$'2O`b^abbbdcgefgigkfhbbdh^UU\^acgcefkjlhlknkihgehhhhhgiiijlkkgffihigffjhmihhhfjffdeehhhfhgffhhighfghkhjjkfihnmrnlllllkjlmiggighjontpqpqlkkkkmiijmlpknkkhiklhgchggejhlkplqnuuvsqrwwxsrsustrqpqpplnnpnnnolkhfSŒŒŽŒŒ‹ŒŒŽ‘ŒŠŒŒ‰ˆˆŒŒŽŽŽŽ‘’’’’ŽŒŠ‡ŽŠ‹ŒŒ‹Š‹ŒŠ‰ŒŠ‰ˆ‡ˆˆˆ‡‡ˆ‰†…†…ˆ‡ˆˆˆ†…„……‡‡ˆ‰ŠŠŠ‰‰‰‰‹Š‹ŒŒŒ‹ˆ‹Œ‹ˆ‡‡‡ˆ‰‹‡…ƒ€‚€‚ƒ†‰†„…ƒ„ƒƒ„†‰Œ‡‡ˆ…‰‡Š‹ŒŒŒˆŒ‰ŒŽˆ€vi[OS\ittrnkijmrsƒ£Áº®}QFBA@@EWm„–¥’”ž½×ÙÙÕ»™ŽŒ‰…šž¡Ÿ™€mqˆykt•«´ÐßâÞÃ¥’gVS‡ÏàáâÝÙ¶­À¨†oWJA=::988;Duæþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýõíå¼ f>/*++******,+/=9;4..0/,,,,++,,++**+*,,,+*+,+**,.1ESSUK:<CEIQP?.5;<;AOK87?NM:++'/<6.,)*+**((('''%#"!   !!!!!!"$#"""##$#$$$#(6S`^^abbbcddeffhfdbc`eie\ZW^_abbbefijjhhhhhebhfgghihffgijkifdffggheffjhlffeggffeceeijgegdeehhgfgfhhihhfffiimmnkmijjklifhfgghgijpopponpikkkkigilkkmklkkhjkhdddikhfhhiijilnrttsrrvtsqrssrsrqmmkmlmnnoqspmmli^Ž‹ŠŠŒŒŒ‹ŒŒ‘‘ŽŒŒ’”“›•˜’‘‘”•™•–‰‹ˆ‹‘Ž’‘‹ŒŒŠŽŽŽŽŠ‰ˆ‡‡†‡ˆˆˆ‰‰‰†ƒƒŠŠ‹‰Š‹ˆˆˆ‰‡‡ˆŽŒŒ–—˜‹‰ˆˆŠ‹‹‘Œ“Љ†ƒ€~„…†‡‡†„ƒ„ƒˆˆˆ‰Ž†ƒ†‡ˆ‰‰ŽŽŒ‹‹Œ‹ŽŽŽŽ…um^SU\fqpoliikot…­µ¼°”qWHILLGCXi˜¬Ê© ¬¯¶ÍÞÈŸ˜—”†Š˜«Î§„v}¥¾vf€ª®ÂÛàܽ ’r]n¢ÜãããÝÚ³«©©‹s]MC@=;::9<Bnçüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüôíå¹¢c<.+****-+*+,+,210.,-,,+++++++,--+*+*++++,--++)),3IOPRPBABDHPN>8;CD:?QJ56ARF8**(*-,*(((())(&%$$"!      !##""$"""#$%$$$#"%$&$$$)9W]^_dbcdefheffibaaeelhe^___addheeffhjijggccdiggfjjkklmlmmgddihkhifggjjlfgfjgffeehfligelgffkgffhhjjjgffjiikqnolnijkojihhghilkppppqnllpomlmjigmkklonmlkkojfdiijiihigghlllmqrututwsttsststrqnolpmnorsttvvuuvjŽŠŠŠ‹ŒŒŒ‹ŒŽŽŽŽ‘‘‘‘’”””““““”••“”‹‹‘‘’‘Ž‹‹ŒŒŒŒŽŒŠ‰†‰‰‰ˆ††…„ƒ‚‚ƒ„‹ˆ‰‰‰‰‰ˆ‡ƒ‰…†‡Œ‘ŽŒŒŠ‰ˆ‰Š‹Š‰ˆ†„ƒ‚„„€€‚ƒˆ†ˆŠ‰‰‡ƒ„…ˆŠ‰ˆ‡„„…‰ˆ‹‹ŒŽŽ‹Žˆ„}vqaSU[irqlihjmt„—ª²²gSL]whQOZj{²²²Ÿ’”¬Áäצ–›¡¦©“…–±·¶ž“ÈÉ‚blŠ›°ÕßÖ²›”}w|¹âæåäÞа¯¶«wcPEA><;:9;@gåúýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýûôìä¹£`;.+**++++++++,.-,-+,,,+,+++,-283,++,,,,036;4-,*-6KMPRQGEEGGOL>4@MD6APA24A;=3*)&()*)))((((%#!  """"!######$$##$##$#"$###$#*<X\_`aacedffccb`]acefecb___abeeeeeeeegggfdaefgfhghiiiiiihgeeeihjhgfggijgdgfgfggghhffggfffggffffhjjijgedhikkllkiiikljfffggikllmmoonllkllmljjiimjklonnolklifeijjggggggehhjkklnppqqpsutssspmmkmmnnprtuutvssrqnŽ‹’ŽŒŒ’”Ž‘’•‘˜’’‘’“™—œ—š™™—›–”“““”–—‘™’•’ŽŽŒŒ•‘‘‹‹Ž‹’“’Œ†„‚‚‚„‡†Œ‡‰‰‰ˆˆˆˆˆ‡ˆˆ‘“‘ŽŽŽŒŒŒŒŽŠ‰ƒ‚‚‚‚‚„‚…€~~€‚…‹‰ˆ‡‰‰‰‡†‡ˆ‹Œ‹……‚„ˆ‹Œš‘•ŽŒŽŠŒƒ~zvcUU]fqmjhgls}†—­¤’cLZv‰‘lYblzŠ”žœ›Š˜¥½åΫ¥¨Ÿ–¥–—¸×ÖÑ›™ÁÏŠ_fƒžÄÜ£˜Žƒ¢ÞäèæãÝǰ¯±­{bSGD>===9:?aÚøüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýûôí帟]9.*,+,+++,+,--+*+,,-,,,,,++-.8>>.,----.3;AA?/,*/9LJCMTPOA=HNI=8LMEDHH@.,230-)(''')('((%$#"    !!""####$$$%$$$%#$###%#%#$#$#,AX]ccbadedefcd^[^ehjeedccb`eeeefeeehegffdcdjjiekhhikkkijhfegeihmijhjiiheegfghjhniihgfggjgigihjjjjmkjgdfkkpknlkimlljiefgjjmlroompopkmlmmpjhjjkmjllpponnmmighlkkhlgghhhiiihiilmqrrpttuvvpolmlqnpqrsvtssxwvqooŽŒŒŽŽŽŽ’ŽŽ‘‘“”•‘‘‘““’’“™—œ—˜˜˜–•““’‘’’•‘”’•‘“ŽŽ‹Œ”‰†ƒƒ„…†‡‡ˆˆŠˆ‰Š‰‰‰‰‡†‡‡ˆˆˆˆ‹‰ŒŒ’Œ‡„ƒƒ‚€ƒƒ…†‚€€|€‚ƒ…ˆˆ‰‰††††‡ˆ‰ˆ††……ƒ…„…‰ŒŒ‘ŽŒŽŒ‹ŠŒ†ƒ€ztbRTZgrlihkry†“ “bSb‰¥›‡mlozz{‚‰‡ƒ”­ºÉÇ²Â§š†–¢¼ÔÝÚ§š¼³–eYo„•·´ª£¤¥§©¯âçêæâݽ ¨¸©‡t`UJF@??>;<@]ÇõüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüúôíÞµšY6-)+++++*++,---++-,,,,,,,+,.0:H:1476752:C>?7.-*0;LGIHRTK;<KJE<8DSC?>?5****+*)))'(()%&#"!!  !!!""#####$&%$$$$$$####""#####$#/I\^`_aaefedb_\X_ehkc^]]baabdeedffedffgggcfghgfeffijkjjjifedeeiglikghgffeegfhiihiegggfgehggehjkijjkkjghikkmkmgkillkhjfhijjmmmmnmmklkkilkjfhjkklkkjqpqkmnmijkkkmghgfehcefiegfllmmqnnnomlkllllooruuuussponponmŒ‹Œ‘Ž“““Ž‘—”˜˜™”•””•–——““•™™™˜—š•–•š’“’—”•”—••‘’—’“Š‰ŠŒŠ‰‰‰…‡†‰††ˆ‰Œ“’‘‘ŠŒ…†……†Š‹‘”—‰†ƒ‚€€‚„Žƒ‚€‚„‰ˆ‰ŠŠ‰‰…‹‰ŽŠŒ‡……†ƒƒ„…‡Š‹Š‹Œ‘ŽŽ‹‹‹Œ‰Š…}ubUTZdnhhjpz|‚ˆoVf §«vrqqprs|zxz–ɽ»³¬¨œ–‹Ž—¦¯ÏÖÓ³œ¦»•lVct†¢º £³Ã£¹äçéæâÜ´Ÿ¢¤¦‚paWNJEB@><??YºòûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúóìÚ³‘V5-+*+++*++,,++,+,,,,--,,,+,/6DH;8:?HB;9EF>>3..*0?LE;BRRI8:LQA74@FG=73,(''(()))('&%#! !!!!""#$$#$%%%$%%%%$$$##$$#%###$#$#2R_aaaffefhdc_Z\ehle]Z[^abffggffgfjgfhlihfniiedehfmlnjihieefkfihlkkhkffeffkhmijhiefhgglgghjfhlqkjimjjijlmmnjmijiolkhjkllkkmnmlqmmnoonnpkjfjkppqlmkqpqmmmmmmnqkoklgfghcfeigkkkmpqropppkkknnqrttuw|vzstoompnnlŽ‹‹ŒŽŽ’‹“””—••”–••””••”–š™˜˜™——˜•––˜’’“–••“”’‘“’‘ŠŒŽ‘Œ‹Šˆ†††‡‰ˆ…†‡‰ˆˆ‰Œ‘”’ˆ…ƒ‚…†ŒŒŠ‰‰‰…„„„ƒ„†……„„||yy{††‡‰ˆˆ…‡††…Šˆˆ‡‡………………†‰‹‹‰‰ŠŽŒ‘ŽŽŒ‹ŒŒŠ‰ˆ‡‡}rcSSYdjihm‚€}|{Šnf†¬¢”slkpt~„€ns–ÇÆµª®™›•|…ˆ“”°ÑÍÅ¥ŒlSYdw‹«É¾ŸžÂæçèåâÖ¯“§¨–}rbZOLHEB@=>>V¬ïúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýúóëÔ²‡R3-**,+,+,++,,,+,,,-,.,,--028=BG=9<>BH;8AND>4,-*2C@B89LO@16KB;2+/421/,+)('('('&%#!     !!!""""####$$%%%%%%%$$$#"""""#######$7X`bbccbededb_`bfif_]\_abcdefffggegghijihghfeeefhgjjifgfhbefgfhhiffgheedfghfiikeeegihgkfgiifilkkjilkjikllikjjiiiiihgiilomnnqlkmjgeimkjigffjkonojkkqoollmnmnpnkljkhgcbbccefhilpmkmllkjfhhlpqrssuwwuurolkkjiig‘‹Ž“““”•—œ••”˜•–““”•—ššš—–––—ž˜˜˜˜˜™•••››œšš‘‘‘“”•’“‘ŒŒŽŽŽ‰ˆ‡‡…„…‡‡Š‰‹ŠŽŽ““—–”‘Œ‰„‚ƒ„†‹‰ŠŠ†„……†ŠŒŒŒˆ‰…„‚}||tr|ƒ‡Š‡Š‰‡‡†‡ˆ‰ˆ‡…†††‡ŠŠŽ‡ŒŒ‹ŒŽŽ‘ŽŽ‹‹ŒŠŠ€xcUTW_ifjzŠ}{‰“muŽ™‘…rjluŽ—Ÿ{q“Å»±¬ª›†ˆŽ‰„ˆ—’¤ÑÕÍ®‰˜oTNZjz€·É»”ŠÉçèèåáÒ¬ž­¢‘{ub\TOKHEC???RœëøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüùòêÒ²M2,+*+,,++++,,-+-,,,,,,,.049?FKB=@E@B@;8@INA5,.,3IJ?55HD8.2;;3-)()))((*))&'%$$#!    !!!"""""###%%%%&&%%'&%%$%$#$##"$"#######&<\bcdeedffffffgfjhd^^`cdfdieefghieihqjjiiggfghlhkgihhfgggfggggjikefggfiiigifkilegfgikgkhghlkkkjjkilkkjnjklmkkkojmiihlkmllnomlkqiddiihgffiinnnnnmllpopmlmqnpnllmkjgicbbbbeflkmmllljijieggjoqswvvwvvwqniihhiigŽ‹Œ‹‘‘’’•——˜™––”””–’•–—™˜š—•••–—š˜˜”˜–——–”˜–›—–“’’‘‘‘ŽŒ‹‹‰ˆ…ˆ…‡ˆ‡†ˆˆ‰‰ŠŠŽ’””’’‰‰Š‰‰‰ƒ„†‡‡†„ƒ‚‚‚‚„‡‡‰ŒŠ‰ˆ…„€{xyvz„…‡†‡‡ˆ†……‡ƒƒƒ‚ƒ„…‡ˆ‰Œ‡Š‹ŽŽŽŽŽŒŒ‰Š‹‰ŠŠ‹Š‰ƒ|ubSPS^fis|~„‘”}eg}А‰rhht’¨ ‡†¿¼¯²¬œŽ…ž–‡”‘©ÏÒÐ¸Š‚spXOQfsy‹ºË¬€…ÑçèèäáΪ˜ŸœŒzuc]VROHFB???Pç÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûøñéÏ«wH0,+++,,,+++,,,+,--,,-,,04;CBLJ@AHA<<;;8AB?@3,+*3LJ;2,5<3),0/.,***)))('&%$#!  !!""!!##$###$$$$$%%%%&'&&%%$#$##$"!""######$(A`acdefeededfffffed`adcefefedcddfehijgjhhfhggghghggfheedcbcdfgiilfgggfgggggghge`gggghgiiiikjkkkjjhlkljlijmllllojjiihljlkmkkiihhdccdefffejloonmkgmnpppklmommmlklljedccdddfhlkjhhihhgeeeffjnopssvrqmmmhcddjjji“Œ‹‹Œ•’”˜—žŸ –—”””–™›™š——•••””–—žœŸ˜˜—œ›š¤———–•’‘‘“‘”Ž‘Ž‹‰‡……ˆ‡ŒŽŽŽŽ•””’Œ‰‰‹ŒŒŠˆƒŠŠŒƒ€‚ƒ…ŠŒ‰‰‰‰‡†ƒ‚‚€{}ƒ…‡††„ˆˆ‡ˆˆ†‹‡‡ƒ‚‚ƒ…ЇŠ‰‹ŒŽ“’”ŽŽŽŒŒ‰‰ŠŠŠ‹ŠŒˆ‡‡†}s`RPS[glvy‹‘“‚u]Ucyxhiq‘ž³‰Šœ¼¹©ª¬—‘’™¨µ”“¥ÕÞÌÆŒ€vqaQPblq½´yÉæèéãÞ¦¦©Ÿ‰zwb^VXOID@>??M‡ãöÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûøñèË¥pD/+++,,,,,,,+,,++,------2<F?@NK@EF?;99;>@BD:1++*4HL70).0.)(**)*)*()('%#"   !  !#"!"""!##$$##$&$%%'&&%%&&%%%%%%#$#$##""###""%*HbedhfhfhfiflllfedeffdcehefddeechekkkkkghhhhliiikhhgheccdcdehjkjmgigkfmllkmgifddhflkjkljliokoonklgllllpiklolnnnjlkkhkkpmnklihgfccdeeegjjlmqonkklnpspomnnpmmmlkkjjdedhhihllmjifghhfeeeeihkooottwrqlljecbdkknmŽŠ‹‹ŒŽ”•˜™›œ››˜•””––˜˜›•••˜“••”“••˜šœ›™—˜–™š›——”––•‘‘ŽŽŽŒŠ††…ˆ‡ŒŒ’ŽŽŠˆˆˆŠ‹ŠŠŒ†‚€€€~~ƒ†ˆ‰Š‰ˆˆˆ†‡‚†‚‚ƒƒƒ„„„…„ƒ„ƒˆ‡‡Œ‡…†‡‡‚‚€‚†ˆ‰ŒŽ‹‹ŽŽ’ŒŽŒ‹‹‹‰‹‹ŠŠ‹ˆ‰ˆ‡‰†wk^QMO[gjn†¢’u`NJLk¨›€khnw‰‹Š’¢­¹ž  –˜¨»Ã²—‘ŽœÚͳ¥Œ€xxw^Q^lqÂ±šu~ÂäèêãѶž•¤¡‰|n_XSQNH@?<=>JàõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûøñæÈ¨jA.+,,,,,,,..,-,,++,.-./.8GE<@MD<GME>:59DAA92/++)/@72.)+,+)*+*)*)((&%"!  !"!!#""##$$$$$$$$$$$$$&%%$%&&%%%%#""$#"""#""$$##%-Mcdbhffffefehhgdccdbdeddfdfba`dddejjihgefegiiijjjiidcccadbegjkkiifgfeefgkhhffdegigkijjjijjkkoiiijilmkkliklmkllljhgiilkmlmihfgfgaccccfjkmlmqplimmoqqqpmmnpkkkmjigfdechghimnkgfefggefcefhhkpoovqrpommjd^belkmnŒŽŽ‘••™šš›˜•˜žžšž˜š”•–™–›•–•˜•˜ššš–ž–ššœ™š˜ž™œ”““•ŽŽŒŒ‹‹Œ’’˜Œ‹‰‰…†ˆ‡ˆ‹”ŽŒ‰„€}{~ƒ‰‹ŒŠŠ‹ˆ‡‡ˆ………†ˆ‹ŠŠˆˆŠ…‡…‡‡ˆ‡†††……‡ˆ„ƒ‚‡‹Œ‹‹”‘ŽŒŽ‹ŠŠŠ‹‘ŒŠ‰‰Šˆˆˆˆ„um]NJLV`n…‘Œ{[KAFb¤³Šploonw‘›™™“‹˜”Ÿ½àÛɯªš—³·®«“{¢‰iZ]lrÅ­•u{µáããÒË©•¥Ã¢‰whZROMJF>?;<=H{ÞôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþûøðåÇ©f?.+,.,+,,,-,,,,,,,,,,,-/<JE;@GC=KOLC@44:;62.+*+*,01/,)))))((*('&$##!   !!""""#$##$%%%%$$&$$$$$&&%%%%(''%%###$#""##%#$###&1Scgeiiiffeiejggdccfghegdidfaaajglfjgffgfhefjmlplmjkefcdddehkmllkjfhggeikliiffefhigkiljjkkktmnjjjlmoljjllklnlnloighjlqknkmhiglfgcdddegjmmonqmjltstrtrqqqnpkmmnihfddeeijnlrlkffehgjfhceekghkpowvusqrske`chlllmŽŽŽ’’‘˜–™š™˜šœ›šš™™–—•–™—”•”––—”™šš˜˜•—–š™™˜™—š™š–”’•‘‘ŒŽ”ˆˆˆ‰‰ˆ‡‡……†Šˆ‚€~~|€…‡Š‡†‡‡†…††‡ƒ†…‡ˆŠŽŠˆˆˆ‡‡†……„………„„„„ƒ…†ˆ††…†‡‹Š‹‰ŒŽŒŠŠ‰‹ŠŠˆŠ‹‹ŠŠŠŠŠ‰ˆˆ‡ˆ…†‰€yri[MJLZn„‰†iLDE^ž›•vmom^^}—•‹‡zo|¦ÐìêÙǾ§¦®³®° ƒ~°vZ]ku¬©•uu§ÍÞɺާ¸Ã£ƒoaTNIHGB=<;;<GtÜóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþûøðäÆªc=-,,-.,-,,,,,,,,,,,+,-00?LG<AJ>4>LC@8/011/.,,,+)+--,+))+))''&%#!   !  !""$#$$$$$$$%$%%$#&$$$$$&%&&%$$#$%$#####""""#"####(6WcgdhcccfefeddeedcehgedccbcbbbifhffeedffffgjkkjjiggdedcbdfiklggeffffgdjiiggffdghigjjlkkmlllmljkkmmojiikklmlknjjiijkkkkkjigggecgcdafkjjlmnmnlllspqqqooopmpkkkmgfedceeikmnrifbdfffgeddedgghilnooquwxsngbhmmllkŽŽ‘’’‘˜˜˜œ¢¢£œš™™˜˜™˜š———™šš—™—šš›˜›–œœ™™˜œ ™Ÿ——•–••••’‘‘”‘‘‘‰†‰™†‰ƒƒƒ‚„„ƒ‚„…ˆ…‰‡†……„„„„ˆ‹‹‰‹‰ˆ‰‰‰‰ˆ†…††……„„„„…‡Šˆ‰‡‡‰Œ‹‘•Œ‹Š‰‰‰‹ŒŒ‹ŒŽ‹Ž‰‰‰‰ˆ‰ˆˆ„„ƒ‚{xtpbUOPbƒ‚[GL[„¬œ}syhOUpƒƒxspjj„ªÚïððìàÄ·°±¨­”…‰œžƒYXkx‰¸©–toµ²³ÂÁ¾¾½À™}j\QLJJHB=<;;=FoÙòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþýúöïãê^;-,,,,,,++,,-----,-,,.00CKGFFB945:;61,,,,,-++++***+****)(%$#"      """   ""!"#$%%%%%$%%'$%%$$%$%$&%'''&%$%$$$$#####""######$$*<\dhehdefeeffgdeehdeghdcbcbeeeejhkffeedjggfiillmihgggggfffgjjlgieffjfggljijighfjiiilmmlmmololqonooppkjjoksmlknllkkjmkjjiiihhecbhdeeikjjlnrnnmpmtqurrowrtppmnkllldefjhnmxosgcbcglhllkihghgkillllpszutljmqppnmkŽŽŽ‘““””“™œšœ›››™™—šžš—–”—‘˜—––™šš—™“™š—™š›˜–“—••’––——”’’‘‘”Œ‹‹ŒŽ‹„€}}y€‚‡‡‰Š†…‡…„„„„ƒ‚…†ˆ‰Š‹Œ‹Š‰‰ˆ‡†ˆˆˆˆ†…„‚‚ƒ…………ˆ‰‰ŠŠ‰‰‡‡ˆ‹ŒŽ‹ŽŽŒŠ‰‡ˆ‰‰ŠŒ‹ŒŒ‰Šˆ‰‰Šˆ†ƒ‚‚‚‚ƒ~„~yiXTUhzz~~bRPXl‡¢„rjcLN`w{}rkfX_{¨áîõúôêÜõ­œ˜‹”›Ÿ}WUjt€œ¥–sm|™©ÃÝßÝÎÄ´xfZPMKJHC?=<<=FjÞñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýùõíâÀ¢Y9-,+,,-+++,,--,,-+,,-...=OEB<:4,/11/-+,,,+-++,,,*,*)**'&$"!    !"!""" !!""##$$$$%%%$%%%$%%%%%$$$%%')(&%$$#$$$###"!""#######$,C\cdceeedddfedccccbfdcba`bbegffgghefdedgfffjihfffheggfdfeghjiigfcfffghhhhijighdggjkklljmnnkklpmmnokkkkkljjjjijkjjjjmmhfghhdedbbcbegjkjjmnonmmnnnnooooonoonmmjjhheffghnnqokda_dimghhjjhghceeeehlmlnoolmppoppol‘‘•”›–—“œ›™›œ›š˜˜˜šœš™˜˜˜˜’”•–•••š››™š˜ŸŸžœ››žš˜•””—“•“˜—š˜—“–’’’“‘‘•‘Ž‹ˆ…ƒ€{z{€ˆŠ’ˆ††…‡„ƒƒ‚ƒ„†‹ŠŠ‰‰ˆˆ‰‡‡ˆŽŽ‡…ƒƒ††‹‹’‹ŒŒ‹Šˆ‡‡Š‹ŽŒŽŽ•‘ŠŒ†‡‰ŠŠŽ‹ŒŽ‹‰‰ŠŠ†„‚…ƒ„†Œ†ƒn\UWbjryeUSU]j~ngaIISerrlgcUSr¨ÚîöûøôåÍÅÅ¥’”Ÿž‰w_Shoyžž–tk{ŸÄßßßÕØÀ©ŽraYPNLMFD@><==FhÖðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþùôí὚V7-.-,--,,+++,----,,,--..9?A;62/+++,,,+++++,+++,**)(&%#""      !!!!##"#"#%%%$%&%$%%%%%%%&'''%%$$$$'++)&&$%%%$%#""""$$$#$###$#/J\cgffffcdehdccddbbfdd`_affffiggfieffeekhhhkiffjfhgghkfggjknijgfdgghhljkjijkiiiklmnpllkmnllnopntmoijknkkikjjijjmkqnnjffffiffcaaeelinjiksqpnqrroqoqoooonppnnojliiklklnonrlga_`ghmiikmljhhbedbcginnomrnqqrqqqql‘‘‘”””“’’’’“•–————˜–—˜˜——–”‘‘’’“–”••˜˜ššš™œœ›š›››—™””“”’‘”“–•—’–““””““‹ˆ†‡„„„ƒ‚‚…‹ŠŠŠ‡…€ƒƒ…„„„…†ˆŠ‹ŠŒ‹ˆˆ‡‡†††‡‡†…ƒ€}ƒ„‡ˆ‹‹‹‹Œ‡ˆ‰‹Š‰†Š‰ŽŒ‹ŒŠŠ‡‰ŒŠŠŽŒ‹‡‰‰ŒŠˆ‡†ƒƒ‚ƒƒ„‡‰ŠŒŒ‰…‚l[TS]gih[USPXcjjc`H?IVdqlebW]j•Õí÷üüûîßØÊ¯› ½Ã•€{dfhfe‚¡‘sk³àãàÚÔ˾¬v^XPMKIFCA?<<<EdÏðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþùóìá¼–S5------,,+++,.---,,-----/3220.-++,,,+++,++++++*)&$#"!     !!!!!!!!###"##$#$$%$$$$$%%%&()('&%%$$$&(,.*%%$%#$####""#$$$"###"$#3P^cgdffgccfeddcbba`aa_^`bb`ecefdcccehgejhhhhgffeehhhggghhjjjghgfcghihhiigjkkfijklmomkmmmmllmopklljejjlkjhihhijjkjmomhecdceegaaadekilkklooplmlonnmnmmlmnnlnkjjjkjkkknpolkgc^_begjijnormiibdccdggonnlkkmnmlmklk•”“‘’—’’’”•˜––—™˜™—›•’“’‘’•—”–•––œ–™šš™›¥œžœœ˜š”“”𔕕–—˜™™˜—“™”•Š‡„ƒƒ†ˆŠ’’’“’‹ŠˆŠ‡…ƒƒ„Љ‰ˆŒŽŽ”ŽŒŒˆˆŠŠ‡‰‡†ƒ‚€€„…ŒŽŠŠ‹Œˆˆ‰ŽŠ‹ŠŽŒ’’’‹‹‹ŠŠŠŽ‹Š‰ŠˆŒ‰‡†„‚ƒ…‰Ž’‘‰‰}hWOOZic]XRPNXfb`ZG>AKUbkgdgtyŠºçòöùûõïéÛµ ·Ô®z~k`ab`uŒnkŠÅÓàÜ×ÉÅ·¯˜}fWNKIIIIA@=>=DaÄïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþùôì⺐O3,+.----,--,--.-,,,-,++++-,,+++++,,,++++++++*'%$"!        !!!""###"####$$$##$%%$$$$%&'')-./*'&&%$&')0-)$%$%$%#$##"$$%$%###$##$8V_dgfhggcdefefbaa``c_]_`bbbedecbbbcfiigjjlhgfhfgghhkhjhmhkjjhiihgghlhnjnkqkljnmpmnlkkpkjklloppjmkiijkkjiikilmmjklmllgedhdeeibccjhljokmmmnplmnqnnnommlpmnmnkkjjjjllmrqqmkdb]``bdnjkoqqpjkffccejjpnsljiwnomnjpj‘“’““”“‘‘’’”•–•––™’”“’‘’”’Ž”–”“••––––šš›™™™˜—™™˜”™’”••–—˜›Ÿœœš›“‹‡ƒ‚~ƒ„‰–“Œ‹Š‰‡ˆ‰ˆ………‰‰ˆ‡ŒŠ†‡Š‰‡…‚‚ƒ‚‚€€„…‰‹Žˆˆ‡Š‰ˆˆŠŒ‹ŠŠŒ‹‹‰Œ‹ŽŽŠŠ‡‰‰‰‰Š„……‡ˆ…„…‚„ˆ‹ŽŽŽŒˆŠ‰‰ˆˆ€}pbSPQ[ca\TPNOYb[TE?ABKXl}vu~Œ‘§ÑëðöúúûòãÀºÃÁž}z{sqoh^lˆyhm•ÆÌÊž¹³¬§¡‡lYLJGILF@>===E^ÂîÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþýøôìจL3,,.------,,-.--,,-.,+,.,-,++++++-,-+,*+*)'%$#!      !!!!!#"$"$#######$$$$%$$%%$$&)((*,150+)'''''(*+,)$%###$#$"""$$$%%#####$&<\adfffegcebfdcba``_^\`aaaccdba_a`cdfhigjiiggeffgiifhfhhhhgfhgffhghhihkiiijgkjmmmkljjjjgkjllljjiijjjkllmjhijlmlklmlihdeedddcbacchhhhkkljlkkkmnmmllplkkmmlknhjiiiklmmoomje_ZVYY\`nkloolpkjgfccbeikmmliikmkijjihšššš›”———‘“–™———ššš”’Ž‘•™˜–•”“––™™˜š¡š ˜——˜—›˜——˜˜˜˜™œ¢£¢›˜’‡‚‚~‚†Œ•‘”’ŽŽŒŒ‹ŒŒ‘Ž‰ŠˆŽ‰Œ‰Ž’ŽŽ’Š‡ˆ…ƒƒ‚‚†‚……†‡‡…††ŠŠ‰‰‹’Š‰ˆ‹Ž‹Š‹‹ŒŒŒ‘‘ŠŠ‡‰‡‡ˆŠ…†„†„‚ƒ…†Š‹ŽŽŽŒ‹‹‹Š‡…€}wpdWQPZnaYROQV[YSDDECF[q†’€‚Šœ¬ÃÜêñöùüõêØÐϽ™{zƒƒ‡xkalneo™ÉÊÎÆ²¬§¨¨œ“o[KGFIGD?=<=>D`ÁîÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþýøóëÚ±~I4.----.-,-..-..--,--,,,,,,++,++,+,+**)('%$#"!!      "!!"""##"###"$##$###$$%$$$%%&()((+,+,8RB4+*)**))+***)$%$&$%###$%)(((&###%#%(A`ceffgfgcecfdccdbb_``fdecfgga``dceefgigoijjkgihkjjglikijhggkkkfkiokkimikkjgljqnnkllljiiklpnmjkippppqnpljhllqmnnrmkhhgheeefdecghhhjhmklllijkomnlmlpkrkmmlknjjjljmmqpqnohc\WLJKPamkonnnpkkhiefceceglhgjrkjijjji—˜˜˜–”””“““˜––———•”•‘‘“••”••”““”›š›œ›ž˜—–˜”›˜šššššš š–—˜–‘’Œ„„†‰‘‘ŒŒŒ‹ŒŠŠŠŽŒŠŠ‰ŠŠŠ‰Žˆ†„ˆ‚‚€‚‚ƒƒ‚„…†„††‡†ˆˆˆˆŠŠŠ‰ŠŠ‰ˆ‰‰‹ŒŒ‹Œ‰‰ˆŠ†……‡‡†‚…„†€€…†Š‹‹‹Š‰‡…ˆˆˆ‡…‚€}xufXSS_l`TPPRZYRGFHHGa”…Ÿ¸ÄÎÚëð÷þøðêàÖ¬„|‰–«¼Ÿofk]q›ÇÉÈÇ­ž›“…r^KE@ACA><<=>Ea½îÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýýøòêÖªwE30.-----------..-,--.--,,,,,+++,,,*)&%$"!        !!!""##"##############$$%$$%%&&/:63<K9./=IF4,./01/-,*)(&$$#$$$#$$')-04;+$###"%*Gabffdgggceafcdedbb```dccba``]`acdfefdggihgddeggiegghhihhhhijihgjjnkjimijiigjjlkkiihjijklmoplijjnlllllliigmlnlnnmjihgcieebcccdffgehhmjmijikkkkllllmjjjjijhijjjljmnqpmjhd]VH;AEVenkllmlmkkfedebaacbdafijhiiiiih–—š–”–˜˜™•’“••œ›˜“’‘’š™˜••••–•”••œ¢œŸœž™œ——–››Ÿœž ›š˜••“—–—›˜–—––•ŽŒ‹‹Š‹Œ‹‹•“’–‘ŽŒ‹‹’ŽŒŽ•‘Š‡‡…‰‚‚ƒ„„…‰„„†‹‡ˆ‡Š‰‰‹ŠŒŽ‰‹‰‹Šˆˆ‰‰‰‹“Ž’ˆŒ‰ŠŠŽ‰ˆˆˆƒ‰„„……„Œ‹Š‰ˆˆ‰‰‰ˆˆ‰‹ˆ…ƒ‰ƒ€~{i\TS\hYRPMR[QIGGEHcœ“‹u‚µÇÌÒàëôúù÷ôìÙ£‹t‘ÕÐË‹}tns|›ÄÅÆ¸ªš™˜˜‹tcMD==?><;=AAF`¸îÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþý÷òéÒªqC1.----.-,-/-,-...--,,-.,,,,,,*(('&&%$""!  !!!!""!!!#!"##"##"#$$$$$$$$$$%%$$$%&&(.:NOSYQ@13CSA438:=??70,+''%##$$$$%(-8FHJ>0&$#$$&-M_cdefjghdeageidebc`achcb``aabdcffjgedkhlhgdifkghfgilikjkilmmjjhkjnjlknikjlinjmjiiihnmmknmrolkonoknmllmkmlmnqmplkihglgjeebbchhhgggllmknilkmkskmkjkqkkkkklghjmmllqrrnlhf]XJ;6;Ncgolmmllnjkgfdeaccddfefjkklikihi—•™”—™˜˜™—”‘‘’’“””••’••˜–”•–›žœ™š›—””•——šœ›š—ž˜˜—˜—𡡣𛕓’’‘‹‰ˆŠŠŒ”””ŒŽ‰‹Œ“““ŽŒŒŒŒŒ‹‰†…ƒ‚‚ƒƒ†ˆ†††„„„‹‡‡ˆŠŠ‰‡‹„‹‰‰…‡Š‡ƒˆ…‡‡‰ŠŠŠ‰‰‰ˆŠ‰‰‰ˆˆˆ†ˆƒ„„†‡‡†Œ‰‰Šˆ‡†„‰†‡‰‰ˆ†„„„„„yj[TQZ^UPLLMPKGFCF_˜ˆ€”±ÔèÝÜãñ÷úýùôß±Œ‡‡¹Îº”“³°®¦ž±Å»¬¢™”Ž‹ƒ|udNE<<<;:;=>?E_¾îÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþý÷ñè̪nB1/---------,,,,---.,--,,,,+*))%%"!!!! !!! !#!!!!!!!!! "##"#$###$$$$$%&''&&%$&'.28=OpR\[]A27HP><:CKOQIC6-+'&&$#(+)(16=HFOI?6(%###'0Q[^`ggecbad`fdebcaaacfga_]acdeddfgjhgdjffefdeekggghhhgggiikkkljhhhihhiihjijijiihhhhhhgijnmmmmlllkkkikmlilmoomkkjihhgiffccadehhhhhgkkkjiikkllmjjhhhhgijjljehhiilmnnnljg]RH=63Lfeilkopmkjijgfccbegggffhiijihjghi––™˜ž›œ—™••‘Ž“’—•™““”—“•–——™•–—œ›š™˜–”•—˜œš™››œœœŸ ¡Ÿ§ž£¢¢™—•”’‘‘“ŽŽ•–––—’ŒŽŽ’Ž••˜’“ŒŠŠ‰‹ŽŠ‰†…„„…ˆ‰‹‡‡†‰‰ˆ‡Œ‰‰Œ‘Š‹‰Œ‡ŠŠ‹……††…ˆˆ‰ˆŒŒŒŠ‰ˆŠ‰‹ŠŽ‰‡‡ˆ†‡††‡ŒŒ‹ŒŒŠ‰ˆ‡†‡‡Š‡†‰‰‰‰‰Ž‰‹‡†€}jZROSZQKKJNLKIDCTqu{€‘Œ­áäæÝàñöùýûùè͹§š‘™°¶°–“¯¿¿×­«¶½¨–’Ї€|seOE>=;:::<>?EaÅîÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýü÷ñèǬk@1------,/-.,--.---.--,-++*)%#"!    !"$""""""""!""""!"##$#$$###$%%%%&,124,()+2?I^`bnV\naC69BN:8>RX_WWJ;.+('&%(/117GCOKHLM@B(%$$#(4TZ^_idccbadbeegccdeefffb_`ggggggkilijekfgdjfggklllkhghhimkokmklmmhkhhiihnnnjlikhjhhgghijnmllrllkijlgokkkpounmjkiihohlfgbedihiijjkjlkkkjioooklkkgihgfhiiijfihjkqqqnpklaVF>51Bfkiiompookihjhggffkknkihkirmoijhjk–—˜˜˜˜—””‘‘’’’’•••“““““•”–—–••˜˜—–•™•˜›››žžŸŸ¡£¢¢ŸžŸŸšœœœ™˜—––——˜š–“’’‘’ŽŽ‘‘“’’’’“‡‰ŠŠŠŠˆˆ…†ˆˆ‡ˆ‰ˆ††‡‡ˆ‰ŠŠŠ‹Žˆˆˆˆ‡‰‰‰‚…„……†‡‡‡††‡‡‡‡Šˆ‡‡†…„„…„ˆ‰‰ˆ‹Š‰ˆŒŠ‰‡‡‡‡ˆˆˆˆŠŠŠŠŠ‹Š‰‡‡ƒ~xgXQKQTJFHOMQIDABVjs|ˆ’‘¦ÈáÜØàñôùþüûñäßÎ³š“®´¶˜Ž©´º¿¦¢®°£˜‹…yuobPE?=;;;;;=?FbÇïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýü÷ñèÅ®i>0-----.,---,,,-,,,--++*'%$"!     !"""""#"##""""##$$#"#"$%$$$%&'%%/CAA=48@?ANV_dfk[ZbdC458868AU^]WSO<.,)))+/;FEEG@GNCG=51'$###)8UY[]^^_]__`aedcaddeefdfbbbedfgghkgihgefffejffhiiihkiiijkmiiiihlmifhihhiinnmiighgjghhikkkkkllkkkjihhhjhjloonoljiiiihhhedbefiiijjjkjlkkgkijhjiijhehggeihhigefgkmmnnlkjdXF63.@^goljnlnoniihiigeghjknlifjfkklijhih——™–––˜”•’’“”•–š——–•“““•”˜˜––••––•–™™Ÿ¢£¤ ª ¨§¥¡žŸ›œ¦¥£¢¢¡›œ—𓑐‘•”•––™œ››“—“‘‘’”“‡‰‹‹Š‹‰‘ŠŠ‰ŽˆŠ†††‡Š–’‹ŒŒŒŽ‰‰‰‰‡†‡ˆˆ‰………„………ˆ‰ˆŠ…„„„„…‡ˆ‰ŠŒ‹‹ˆŒŠŠˆŒŠ‹‹ŒŠŠ‰ŽŠ‰ˆ‹…}ygYOIHJDEIKJIE@BHMQeˆ‘»ÃÊÌÓïôùýýýöðçÔ«¡ž­²¹Ÿ‹’²¶¼œ™¦²¢”ŒŠxtsh`PF?=;<<;;=>FbÉïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýûöðçįf<0--.-..----++--++**)('%#!!  !#"$$#######""""###$#$$$$%$$$%&('&'5P]QNKLS_bggjfpjZYaRA6/.048CZ_`XUJ<0.-/4@GNNYNT>B>61.+(&###$+<WY][\]a]_^_adcbdiijgjeecdchefglkkhkiifhfkjjgfgkjllmnnjkknilkjilkhgjjrkmjonmjjjjjjjkjkmqkljqlkjkjjgjknjnlsoqljjjjjjighfdeiglklkmmmlpkjiljkklihhghhgjghhigeefhonrrrllhdK92/6Lipponmmnmnkplmiggjkolmlijigllpkjiih–––”–•’‘‘““•™—š™˜“Ž–““’•”—›—•”“–——š›œž ¢¢¡ ¡  ŸŸŸžœŸ ŸŸžžžžžŸš›˜˜–•–•““””’•›™›™—•’‘Ž‘‘’ŒŒˆŒŒ‹‰‰‰‰Š‡……………ˆŒŒŒŒ‹‡†………„„†…†‡‰Œ‰†††…†…„‡‰ˆ†…‚‚‚ƒ‡Š‹‹‹‹Š‰Š‰‰ˆŠ‰‰†ˆˆŒŠ‹ŠŒŒŠˆ‡ˆ‰‰‰ˆ†‚~ysgYNDDDDFKJJHDBGFHQh‚Œ–¨¶Ê½ÉïõùýþþûøçÁ§§£¢¤¤­‰{”­“„•¤¡¡’…~xsmh`XOF?=;=@?>=>GcÍïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüûõðç¯b:/--.-,---,-+,/+)('%#"!    !    !"""#$$%$$##########$$$&%%%$$$&*-/,-Fk[XTRU^]\eVgegiSOHC<70,/47BLSQNHB;29?@BGRNKJA:///,'&%$$#"$$,BVXYYZ[[\]]_`bbdggfggfddbddheggkjiggfhdfeggiggejjjihfgghihghfjhhhhgijlijikiiiiiiijjkkmmlikkmkkjkjjhijjjnklllijljjjkifeegijgihkklmmllkjjkiihhhgfhjhfffhfgeddhklmmllljeN;98=E[oopoonmnnlikklhhhjkjjmlkiiilkkjiiihš”––•’“•™™˜——–”“‘“˜”““”•————š“––—œ¢¢¢¢¢   £¢¥     ¤¡   ž§¢£œžššš™š¡¢¢™›˜œ•–—˜™™”’‘‘’‘’”Ž‰Š‰ˆ†…†ˆ‰ŒŒ”“ŒŒŒ‹‡‰„ƒƒ‚ƒ‡…‰‡ŒŒ†‡‡‡††‡†ˆˆ†‡ƒ‚„ˆˆŽŽ‘Ž’Š‰ˆ‡Šˆˆˆ‰ŠŒ‹‹’Œˆˆˆ‰„ƒ€zwhXKBBDEIJLJJHFEBJXnƒ˜¦¶É¹ÁíõùüýþüúïÍÁ»­¡˜•‡w~yry”–˜–’ƒwtqhe\VMF@=<>?>==?HdÐðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûõðæÀ¨^9/-,-----.+,)(''$""!! !    !!"!!"""###$$$$#"####$$%%%&&%(&%%$%(4A73@Z\]ac`[VQ]hYf\WPD?=:761./36<ETRHA?9;LQUOMQRCE5-)%%%$%$###$'%.FVXZYYZ[[]]aaabegigngfefdhghhhjpjmggefghfgglgihkhgfeefeijjjjjiiijjjjjmknmmijihinikknntnnjmlonnkklnmnoonnnnmkjkkllmihghfjjommiqknnrlnmpmokkhmhfggggghhighfgdmnnmnkmkkS>7:BM[qqrqvqrmplkilllkkjlkijqmmjklpklihilg“‘Ž‘‘”–——˜—–••““”•—˜••˜–––”––—”—˜œž£©¥¢¢  Ÿ¡¢¥¡  ŸŸ  Ÿšžž¢¢£œœœ›žžžž›™™–š’–”™•˜“””’‘’’Ž†‡……„†‡ŠŠ‹ŠŒŽŒ‡‡‡‡‡ƒ…„ƒ‚ƒƒ†„†‡ˆ‡‡‡†‡‡…†‚‚ƒ…†‡……‡ŠŒŽŽŽŽŠŒˆ‡…ˆ†‰‹ŒŽŠ‰‰Š’’‹‡††„ƒƒ€€|yvfWLACEKKLJJJHGFFO\|ª³¹¿¸½êóùüýþýüøïâÍ¿³ —Œ‹sziefy‹Œ‹ƒ{sp`[UQKE@?@BEA??@HfÒðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûõð໡[8/--.-,,-+*'%#"          !!!""#"""###$$$%$$$##$$$$$$$$%%$&&()*+6BEDHUWpnnno_UZ\SLLKE@>:977531347:JUUGGGECQ\ZZH?9/+''#$#####$##$$%2LUVVVYX[Z\]^_abffhfggfcdeefhjjjkjhdheffffgffgihgefceeedigiijgjiijiikkmjkijijhhgmjllooolkikkooliklnmmnnmmkjgkkjdhggffeggjkkkmilkmlmllllllkjijiijggghgghfffffjiigmjmjS>:8DP_moqqovqqmojkhhhjjjjljjjlkjjlmomnhijmf‘’––—™ššŸ——–—•”•˜—›˜˜˜š™—–˜–•–˜šž¤¡¤¦©¢¥¡££¥¢¥¡§ žžŸžžž¤¤¥¤¥Ÿ¥Ÿ£££œ›š™˜™˜™”–“˜˜˜™™——”’“—–™‘ŽŠ‰ˆ‡†‡‹ŽŠ‹ŽŽ‡Ž…‡†††‡†„‚‡ƒŠƒ‡†‹‹‹Š‰ˆ†††‚ƒ…‡‰‹’‘‘‘‘ŽŠ‹‡‡ˆ‹‘ŒŽŠˆˆˆˆ–‘’ˆ†ƒƒ€€€|xxgXKCELKNNOLJIGFIWy¦ÄÂÀ¸¯ËêõûüþþýøôîäØÎ°˜Œ}wcZ_j~ŒŒ‚qn\UQOIC>?GMHDDBAHjÕðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûõîß·šW6.---,)('%$"!      "!!!""#"""""##$$$$%$#%&$$$$$%$$%%$$%%&&*-7?AFTie`WXa_^\aiNB@BBA?;::7777789::<F][USSD<J_QGA<1*'%%&"$###$$%$%$#%6MSTTUZY][____eegfjhiihceegfiillligghfhghiighilfddeeeegghhiijhjjkkllmlmkmmliiijjmmnmpnolljkkqlkkqmnmnoppqkkilljfjgeddegjqmllnlnmrnmklmrmlmmjkjjhffghffjfffnilikhmkpYB44@Qbvnvttrvqupoljiijoopkmlliokjjqqsnohjkog‘‘’•™š™™™™˜˜˜–––—˜˜˜š›ššš™˜”––—™œžŸŸ¡¡¤££¡¢¢£¥£¢¢ Ÿžžœ žŸŸŸŸŸžšœš™™œ™›š›™™˜š””•””ššššœœœ››˜—••’‘ŽŽŽŠŠ‰‰Œ‹‰‹ŠŒŽŒ‹†………†††‡…„‚‚ƒŠ…††‡††‚„‡ƒ€€€‚ƒ‡ŠŽŽŽŒŒŽŽ‡Š‰‰ŠŒŠŠ‰ˆ††„…„ˆŠ‰‰ˆƒ€€‚‚€|~xwsfYODGLNPONLJIFHSq£©¯¸Èº²ÑñúüþþþùôóïçØÈ²•…zfc^gu‡ƒ{tkaUQMJFD=APPQRTNDJmÝñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýúôíݹ’S4-+)'&$#!         !!!!!""#""""##$$$%%%%&%&$$&%%%%&%&%&(+.14@OLSX][[\Z]fedLEA;7568656865569@<=>BJQ]d][P@;XOA70+''$%##"#####$$#%%%&8NMOSSVWYZ\\_`bdedeeebgdfgggiiiihfffgfffhigfhifddbeeddffhfgghhjgljkgmjjjkjiijkjjlmnkllnjjkkkkhjjjjllnoollkjgggggggddeeilllmnnklnmmlkkkkkmnjgihhgfdfhhhdbfggghhiimhZF;2?L^nmnooqqqqrpomlkklmllkjjkjihkjqpqmlilnng“”—›¡›ŸŸž™š™™¤œ¢œššŸ£››Ÿ™š™žž¥ ŸŸ ¢££¡¡£¤¤£¤££Ÿžž›© ¢Ÿžžž››œžŸœ¢œžž š˜™›››žœ›››¡ž¦ž˜˜••––“‘‘•’”Œ‹‰Š‹‹ŠŽ‹’Ž‹‰†ˆ…ˆŠˆ‡„ƒ„…†‹ŒŒ‡‰†‡‚…‚€‚‚ƒ‡Ž‘™’’Ž’ŽŒŠŠ‹Ž‹‰‰‡‡…„ƒ†…‰ˆ†……„ƒ‚‚‚ƒ…‚ƒ|~zywtj_NFGPORONMMIHNf‰ £®ÂÔ´¼ã÷úýþþ÷ðóõðêæßŶ”ydr‹ˆ€vldZSOJHFF=CMddghbLLpÜòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúóìÛ¼‰M.(&$#""      !"!!"####"#$#%""#$%%%'&%%%%'$$%%'))('''(0:FTW[TMTo\UXs[dPE<40.--021/./23477<>=ERQ]\]^aZQ<:HF5*)%&'''$$$%$&$$###%$$'9MPNRSUVYY]\badbfeeeddfehiliihiheeigiffejgfgheddedhdcdhhhhiglkjimjkjnlrkkiijkmpjmlokkkljollkjjojjjpmqppklllgghlkpecefhnmmlommkklnlllokjjmjgflhhhhefhjeabmikhiiijq`O;6;I\nosnqoqpssspooppopplmlpmmihiomqqppqqrnmi—˜š›œžš˜›œŸ£¡›¡ žŸ¢™™™ŸœœœŸ¡ ¡££££ŸŸ¢ Ÿ¥  ¢—™•œš›œ¢ Ÿž¡¢£ŸŸŸžžžœššœœŸœœšššŸŸ œ—–••–—–’‘‘ŒŒŠŠ‹ˆ†‰ŠŠŠ‰ˆ‰†‡ƒ‚‚‚ƒ‚„…„…‡‰Šˆˆ„„€~…‡‰Œ’’’’ŒŽ’Ž‰‰‡Š††„„‡†………„…„ƒ€‚‚ƒ|||||zyj\PDHLOPNNMJHIZy†‘§½Â¯®ÕðøüýþõìóúöòðìåΤ¡Çƺsz‡~qg\XROIGDA<BJ`lt{gQNrÜóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüùóìÙ¼E(#!! !!"!! !"!!!""#########$#$$%'&&&&&%%%%%%%'.6=3/49:>N_WQYVSQm\PHOYH92-*''',0.,+*.2479:?BFLTUZOOPQSB45G6*,-,-5A0&$##""""""###$)=JPNSSTWXY[\```_aba_cdddihhiigfeeefeddefggghhceeeefdefihiefgggkijjkiiikkkhjmmmlijkokkkkjllifhikjjjlkljkhgghghhkihcehiklmmmmllkkklkkklkjhhdeflhheheeddbcdihjggfkmcRD8>FXmklnllmnnooomoqpponmlllmmmeikmnqqqpqmqnlh šœŸŸžž™œ¤¥¦£¡¡¡¡¡žŸž£¢¢œ ¤¡§¦¦§§¡¡¡¢žœ ¥ŸŸ £¡ œ£¢£¡ ¡¡¢¥¢¢¢¢£¤¦¦Ÿ£œœ¡žžžžžžžž¤ ¡›œ–—–š–™”“‘’ŽŒ‘Šˆ†ˆŠŠŠŠŠŠ‰‰€}ƒ„ˆˆ‰„†…†‡‹ˆ„…}ƒˆŒ‘•’“’’Ž‘‘’’“’““ŒŽˆˆ‡‹‡‰„…„‡††……††„„ƒˆƒ„…‚ƒ„€}{vj[NDGONOONLJKN`m€ ºÉ·Ÿ¹âñùûýøòõùøøôñìݪ´ÒâØÎr‚|mbXVQOJHB?;>H]m‡€vVQuÝôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüùòë׺w?%! !!"!!!!!"!#######$&%$#$$$$$%&&&&'&&&&%%%&%)>`L?DTQMSe^_WmQ<IpYM;861,&%$$%'++*)((-38=BCFMRP]\]KD@<72//.+,05;=HD6+%#%"#"!"##$#$+@JQNSSSUXX[[c_^_a``_dcceiiiiiffeeegecdhghgjgfdihlehhjjjjjfffiglkkjnjkkkkkkllrmkkpmnkqkjkljfegilllmmklmnhggjhjilgdbfimllmomnlqlnkkkrlmkmhjbcglijihfkdfeeelijgghlf^H=>HWlmnkqlkmonmmmnsssppnmlmmnmlmpnppsqrqsrrnkh—˜Ÿ ŸžžŸ¢¤¥¥£¥£¡¢œœœœ›˜š™›ž¢  œœ›žœžžŸ¡¡ ¡¡ žŸŸ   Ÿ ¡¢££¤¢   ¡¡ œœ›¢œœœ›œŸžžžžžžžž›œ••””•˜’ŒŒ‹ŠŠˆ†‡‡‡Š†„ƒƒ‚~‚ƒ†††……ƒ„„„…‡‡‡„„„А’“’‘”‘’’”—“ŽŒŒŒˆ„„……‡…ƒƒ„……†‡†ƒ…ƒ‚‚‚„„ƒ‚‚‚ƒƒ„|yvi[PDHOOQQPLJLPZf‰´»Â«š¼éöúüú÷øøûý÷òéà®´ÛÞãÕª’„|i_WSONID?=;=DThwyYRxÞõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûøòëÕ¼q<#!!!!"""$"!""#&%%%$$$%$$#$$$%%&&'&&&%%%%%$$$$-F]X[]Tt[__]TLML97?F7*)('%%$$$%'((('()2<GQNLMSQNLID>60-+*)+*26>HFEEE;1&"""""""#!"#%.BIMNPPSTUVZZ[\]__^^^dbcdeeefecedfeffeeffffgfedhggehghhhhgggfhgiikkkjkjkjkklllikkmmnkkkllmhfehilklllklmkhhhihhigddcimmjljllnlmjnlllmlljiic_dfhgggiddcdeeehggghhj]O@ADUejklkmllnnfhjmnpppppnnmlinlllnmqppoqorsrmlh˜šŸ¡ ¤¡¥¤©©¨¤££¤£¥žœ™˜’“•›¢ ¡œž ¤¢¢¤¥¤©¤¨¢¡¡¡Ÿ¤  Ÿ ¡§¢¢   ¥ Ÿ¢ŸŸ¤£¢Ÿ¢¢¢›œž£¢¢¡¡ŸŸŸŸšœ—–•”•˜‘ŽŽŒ‹‹ˆ‰Ž†Š…„ƒƒƒƒ‚ƒ…ŒˆŠ††ƒƒ„Іˆˆˆƒƒ†‹•“™–•“”’’’”––“‹‹‹†‚ƒ„ƒƒ‚…‰†††‰ƒ„‚ƒƒˆ‚„…‡†Œ‹Š‰‡…ˆ„{zk]NEHPOPOOLKLO[u–¯¸¿›Ìïöûúù÷ôøýú÷îÚ¾¶ÊÕÝßÞ×´Žr[SOONFB><;<AL^o€~ZSxÞõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþû÷ðéÓ¾m9#""""##"######$$$$$$%&%$%&%%&(&(''&&%%%%%%$$$0Qv]j[WbYaicVKW=-,-,(%$$$$%$$$$%&&'''*<I]RdYVSRCA82-)''*,-/3BGPLDDUFB.'!#"!!!!"!""&2CJNORPSSTVYZ[Z]]]\\^cbddeeffedjgfffffffimijffeihhgfhfhmllgigkhhjpkljmnmkomlkmjkjmnnnnmpmlhfgiillrlllpjjefhkkkhgfegppolllmlnmonomooplmjke_blhjklgjeecefifigggmhiVGCFRffjjnmmklnnbbippqrrpsoqoqlnnnnomrpppqoqrroljš››œŸžžž¡¤ ›¥¢£¦¤Ÿ›—•”“‘‹ŒŠ–—¤¡¡Ÿž¡¡¡£¢¢¢££¢ ž›š™š›£ž ŸŸŸ¡ ¡žŸž¡ŸŸ¡Ÿžžžž›———˜™™™™š›ž™˜—˜™”’”ŽŽŽŽŒŒ‹‰ˆ‡…ƒ‚„‡†…†ˆ‹‹‹…††…‚ƒ„…„„‚‡…‰Ž’•’”“’’”ŽŒŒ‰‡†„‚|~€‚ƒ…‡‡…………ƒƒƒ„„„ƒ„…‡ˆ‹ˆ‰ˆ†„…„‚€}xj[PEIOOOPNLJMTh†›®«¢ ­ØóùúûöðöýüüñßÎÈÄûÕÞåݳ†dOLJHDA><;<>HVm{~[RxÞõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúöïçѽh8$"""""##$####$$%&%$%%%%%%%&&&&&'''&&%%%%%%%$%3Ye_bWVo]igq^G:-)%&&%%$#$$$##$&'+-+&(-AMMNSXJ@80,('&(%,149;<HWQU=6760)$!! !! "!!!"(8FIJKMMPSTXWVYZZZ[[\^cbbbcccceefgggghfehkkigefdjihfghgfffhggfkijkkkliiiiionllkkjjmmnlllkkliiiijmlmiiiiefcghiigeeehlkjjhmkllnkmlmlnjjjkifbdffgikjdfedcegfdffghgbZLJHSaefihnlmjih]Sbkoppnrprnnnnlmmnnnmmmmlnopqronnœž¥ž£¡Ÿ›¤¢¥¦¦™“‘Œ’’’ŽŽ˜ª©¨žŸ ¡¡§§§¢££¢Ÿšš˜™›ž£ ¡    Ÿ¡¢££¥ŸŸŸŸ  š”’’’’—•——˜—˜¢œ ™˜—•”““–ŒŒŒŽ’Š‹‡…†€ƒŒŒ‘ˆ‹Œ‹Š„„„‰†…†ƒ„ˆ‘““—’’“”‘–“•”™““’“ŽŽ‹Œ‰‡„……ƒ~}{}‚ˆ‰‰‡‹ˆˆ……„†„„„‡ˆŒ‹Š‰ŠŠŠ†…„…ƒ†ƒ„…†{k^QGIPOQOOLMYczŒž°¥Ž—Ãíöùû÷òóôùýôëäÝÆÃÄÏÛßÜÛ©nOIHGDA=;;:=DRl}}[QyÞôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúöïæÍ»d7%#""#$#"##$$$%%%%'%&%%&'&''&&''&&&&'''%%&'&(&6`seqVUTUiefe?-(&$%$$###$#"#%-75787('.SRSEDA=1($"#$)-17>E?>FPRQ?/+*'%#! "      !!!)<HIKKOMPRUVVUYYXXY[^]cbbbdbbeghggghkhgfkkkigfggjjkhiilghfiffgkkmjjkliiijlonmllkjjonnllkjjllljqlmlnjiiifffihihfefhllkkljmlmmnkmlpknnnimhfekijiihhffedfjgfdggjhh]TNOVbejihglmmii]SXlquutsrrrssssnpopnpnnlklponoroomœžž ˜ž›Ÿ¡¢¡Ÿ›“’’““–—•‘’’™›šžŸžžžžžž£ Ÿžœ››››Ÿ¢š™—˜™¡¡ ¤œ››œœœ˜——–•—™—›˜œ™—š™œœš˜••””“”ŽŒ‹‹‹Œ‹‹‡†‡…‚ƒƒ‡‹‰†ŒŽŠ†…‚……………„‰Ž‘•”“”’’‘’’‘Œ‹ŠŠ‰ˆ†„‚€}}{€†ˆˆˆ†ˆˆˆ„„„„„„…‡ˆ‰‰ˆˆ‡†…„„ƒƒƒ„„ƒƒ…~{wkaTGIMOQONPhpz‹”¡¦Šw™ãð÷ûøõðëõÿøðæÔµ´ÄÕÙÙÚÙÕyQLGEC@=;:;=ENb}tZOwÞôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúöîäʹ`5%$###$%%&$$%&%%%%&&&&&'&''('&&&&&&&&&&%%'&&&(6f`WSECEOhZTB/)%&#$$#!##$$&*29@EIO8+*.;;72.*'%$"&(2BCF=WMC>QB:2+'"!!!      +?IIIILMQPRSRQSTVWZ\]]dbbbcadihihgijlgggjjkhgghhjjiiihhfgfgghhkkkijjjiiilnnnmkkgjjllnokgiimmljollllhiihggfhgfdeejmmmllkilllknjklkkkkmilgggggjjighfffghgggcfffc`ZVRZbdgghhflmkecT]hnsvqrppqrppqsnoopnplllllonnnponm ¢¢¡  Ÿ Ÿ££¤Ÿ›šœžŸžžœ›¢š™›Ÿª¢Ÿ¢ž¤¡¦œœ£››™™——––™™œž¥¤¤›œ›žžž˜›œœœ™˜—˜œ™šœš›Ÿš›—š—˜’”ŽŽŒ‹ŠŒŒŒ‹Š‹‡Š„ƒ„„†‰‰ŽŠ‡‡†‚ƒ‚†„„†‰Œ““—”••˜”–‘“ŽŒŽ‘‹Š‰‡ˆ‰……€€~~€…‡Š‡ˆ‰‰ˆˆ…„†ˆˆ‰‰ŠŒ‹‹ˆˆ‰ŒŠŠŠ‹ƒ„…ˆ„ƒ€~{zpeRFHMNOOTfƒ†˜¢“ks­ãòùùùôîöýúöìϺ©¼ØÕÛÚÚÙ†p]QGD@=;:;?FLXfpVNqØðüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúõíãÉ·]3%%#$$$$%%$%%%&&%&&&&&%&&'(''&'&'&(&''&&&&%%&(6OWGC817LON=/(%$&$$###$&(,1:JIZNMG;2)*60)&#"!"%'-6?IKFALW@?93,$"      " .BIHIJLMQORQOOPRUX_]b`ebddccihmllnommimgnkjjkhijmmnjkiigghklmkkjplpkiijkpnuoqkkjjkolnmkikiqnqmomlllhkjjhighfecfjsnponmnlllllnirkiikklijiogiinllgifefliihmdfff`_ZY]hgigjjjkllje^_nostƒqwvvqrszttsrpppqmnllmommntqun››œ™™˜œžžœšš››Ÿœ›› ›š››œ—š—™š  œžŸžœ››š—”–—˜˜—••–———————–”“””””•–œ™™˜›œœ›š›œš———˜–“ŒŒ‹‹Š‰‡‡‡ˆ‡†……„ƒ€ƒ†…€~‚‚‚„„‰‘‘”••”••—’’ŒŠŒ‹‹‹Š‡‡„…†ƒ~|‚‚‚‚ƒ„†ˆŠ‡‡‡†ƒƒƒ†‡Š‹Œ‘Š‰ˆ‰ŠŠŠŠ†Š„……‡„„‚€€}wl_SGIMNOTe€Œš¥§ˆn\f€¹ëöúý÷ñ÷üüüòÞθ«¸ËÜÚØÙµ£œŒtNF>=<>BHKNPMIHjÓìùüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþùõíâȳZ3&$#$&&%%&&&%%&%&('&&'&&&&('''&&&%&&'&&%&%%%&(1A:0-+**182+(%%%%%%#&(,2:AEGKMLLHC99'%%$#!""*/37<LMWGDDB=9.'%"!  !1CIHIJKKMOMIKMRUVX^]___`bacciimklmmmmhihmkkkjgklnmojjjjhiilmlllkkjjhhgjlooppmijjlmmlniihihklllonkkkgjijggghddchnmnnoppomlkllljlhiiihhgkihfhilmhcdefhhhhhhdedc`\U\dfffejilniggghimortrpvtvrstttsqqponnmnllmolmnommmœ™š˜™šž£žž››£¡§šš›››™˜›››žŸœšœžžœœœœŸžœšœž™•–—˜™™˜–”••——–—””•–“••œ–™–œ Ÿ žœ››œ™˜———𓓐’Œ‰ˆ‡††Š…„……„‚€‚‚‚~}‚„…‡Š’š”—–•–––˜’–ŽŽ‹ŒŒŒ‹Œ‰ˆˆ‰„„€|‚†Žˆ‰‰ŠŠ‹ˆˆ††…‰ˆŽŒ”””‘‹ŠŠŒ’Љ‰‡†‡„…‚ƒƒ…|vneTHHKMU`yŠ«ª©‡hZVj’Ðò÷ûù÷õôùýöîÞ˳§¾ÙÛÜÞßáâáÌŠWG==?DNOIFA?Cd¿ÝñøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýùõìâÄ®W2&%%%&&%(&'&%%&&&''&&&('((((((('&&'''&&''&(&&')**(&&&&''&%%$&.3+()-4>AQR[WUQKIF71,%$$#! #-:BMKGNTNF6-)&$!         #6EJIJJLKKKKHHNTUVX^]``cccbfcijnkpoqnmjllljoonoposmojnkmklioosnolnjkhhimotonmjjllnmmmmjijllllnlpmkjjjjjjiogiddejmoooosrunlkmllkojkllijhligfgjkigcdffhjjkijfhded[Ycchhhgjkpjdflmtrqqrrqpuuvtttvvvrvrqnonnonmplkmolmmš—˜—˜›œ›ššœ››Ÿ ž˜š’–“›•š ¡ ž›žžž ¡Ÿ›ž   Ÿžž›š™™š›žœ›—––˜–”“”—•””–˜••–™šššœ›œ››————“–•“’‹ŠŠ‰ˆˆƒ‚ƒƒƒ„†ƒ‚‚|||||~‚…‡‹ŽŽ‘‘‘‘މЋޑŠˆ…ƒ€€€‚ƒ†‰‹Œˆˆ‡‡†‡…‡‡‡‡Š‹ŒŒŽŒ‘“‹‹ŒŒ‘Œ‹Š‰ˆ††ƒƒ‚ƒƒ|yqgWIIMR[j„¹¢‹s[VWw¯Ýôùûüôìõþû÷êÒ¼´ªÇÚßäèèèëëÝ“WF>@FO]NC?<C_µÒèõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüøôëÛÁ¨U0&%$%$%%&&&&&%&'''&&&&''''''(('''''%'&&&&&&&&'(('&%$$$%&$##$-=969=AF@EQVJ?<:5/*'+*29.*&#*AETINJNGA3('%$"!!%;GGIJJKKKJIHLPRSXYZ[]^`abbbciillnmonkilkkknnoooonmnjjijjjkponlpjjgkiijmonkokkkkklmniklllkilllklmkhhfhhjiigfdghikmllmppomkjlmmkkjjiigjhjhfehkgcc`figeeegfggfbee_]_`cdfgjmmehklmspppqqrnqquuutttwqsrqoooonnkmmmlollk™™™˜˜››¤š™šžŸ›™š›ššœž £¤©¤¤¡¢¢¢ £££¢£¤¥¡¤  žž› ›žœŸ š™˜˜˜˜–•••–•”––œ••–›š™™œžŸšŸ—–••‘Ž‘“Š‹ˆ‰€‚‚‚„‡ƒˆ{|yx{€‚†‹Œ‘ޓސ“‘”““‘Ž‹‰Š‹”Žˆ†ƒ‚€ƒ„†Œ‹‘Œ‰‰ˆ‡†‡‡‰‹ŒŽ‘“ŽŽ”’’‘ŽŽŒ‹‡†…ˆ…ƒƒƒƒ‚ƒƒvjVIIMT]pˆ›œ˜lVT]‰Ìî÷ùüøõùýüûóêäÙËÂÆÊÙåâßáãâÚˆSHEMRZVC=<C]©ÓåóýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýøôêÒÁ¢R/&%%%%&&&&'&&&&'''&&&&(('()')(&''''&'&&&'''&&&'%%%%$$$$###$+5FJJHOSB?FTFA3.*&#"%-7ED::@'1IKLLIG9-($#%'&$"  !)?HHJMJKKJIIKQPRSYZ[[^]`afejiijooompljiklonqosptqpmnnmjjlssqnomqjjijknmrooonnonpkkmoilmqnqlnmnkllkiifjhpjjfeglmopqnqmqpnlklpmmllkmjjjjjlhggmihbdegijegfhgffedhde`cccbfgkkkhonposqwrttsqvtzyxvzuxwwsqpssronmpnpppmll™˜™˜——›››•™žž ŸŸŸŸ¡¡¢¤©¦¤¢ ¡¥ žžŸ¡¥ ŸŸŸž››š™™™š™˜—–•’‘ŽŒ‹Œ”‘‘‘’’’••–—››š––’“”‘ŽŒŒ‰ˆ†|€‚ƒƒƒ‚‚~}{{xz|ƒˆŠŽ‘ŽŽŽ“”Œ‹ŠŠŠŠ‰‡…„†‚}€€ƒ…‡ˆŠ‹‹ˆ‡††ˆˆ‡ˆˆŒŽ‹ŽŽŒŽ‘’’ŽŒ‰ŒŒ‰††…ˆˆ†„†††…ƒ~rfVIJNT\w‘œ¯£}ZTXb–ãñøüüýýüýþûöñêâÊ®·ËàÙÊ¿ËÞàÀˆgb]^aWF>:B[ ÖãñúýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýøóéÐÁ™N.'&&%%&&&&&&&&&'''&&&''&(*(')('''('''&&&&&&%%$$$$%$$#"#$).15C\RRHZL>BE<1+%$"#"&)9KNXJG;+1NA;61,(&!##0F?;-# #-CIIJJKIHHGIKOPSSVXY[\\`bccefhkmllmljjklmoooopprpnjihkklmqspmmlkiiiklmmmmmkllmmqkkkkilmonpoolkijijjifjihgffgimmnmnnrknnnjlllkkklkkkjiihhghhhedbefghiddcbbbbecb`^[[[\^beefhhkmnoqnrqpnrprrrqsrqpooprqnomrponomnmnlmm™šš—–š¢ž£ž¦ ¢ ¡¤¦¦§¤ ¡¢¡   ŸŸ¡¡ ¡  ŸŸš™™šš™——˜—”•‘“ދЋŒ“ŒŽ’•””–Ÿššš›™™“”ŽŽŽ’‘‘ŒŠ‡ƒ~€Š‚†‚‚€}|}~}~„‹‹’”‘’‘’”‹ŠŠŠŒ‹ˆˆ†„…†ƒ‚‚„…ЉŒŒ†„„…‰‰‹“““ސŽŽ‘‘“’’ŽŒ‹‰‰‡‡‰†ˆ‡Š‹ŠŠ‹†…{qfTHINTm“ °ÆŒ`TRWp¯äòúûýú÷øùùúõðëàÀ®¼ØÐÿ»ÛÞ϶²­“}m`N@?CZ—»àîõúþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýü÷òéοK.((&&&(((&%&%&&'''(')&''((((((('(('''(*'&&&&$$$$#$$$###-<@ADIYVQJIF4,+)&!  !$+/8IRUWVH7,131+%$##$#%/:FE?8)" !   %2FHKIIIIGGHKKOPSSUVXZ\\`addggilnmmmononssspqoqrwoljlkoopoqqolmlklljlmsssllllnrprqqjkipnrqtrtlkiijkjmjpjighgjlpmonnornsmooommklkomqjkjmhkijihddclhjiiccaa`_`dcd^ZYYZ]^abcejillopvptrqmqptqprtqnmkklnrrrnrqoosnpnrqqm–—˜—™›š™š›œœš˜•”“•—•Œ‹‰ŒŽŽŽ‹‰ˆ†ˆ‰‰‰Š‹ŽŽ’”’‘’“••”’’’‘ŽŽ‹‹‹ŠŠŠŠŒ”””‘“•”‘ŽŽŽŒŒŠ‡‡ˆ†…‚€€€‚‚‚€~|}}~€†‹Ž‘Ž‘ŽŽŒŠŠ‰‰‰ˆ„„ƒƒƒƒ‚„†‡ˆ‹‹‡†………ˆŠŒ‘ŽŽŽŽ“’‘”ŒŒ‰‰ˆ‰‡ˆ‰‰‡‰ˆ‰ŠŠ‡‡†……~wl`UKMOd–¡¯±žkURRcºì÷úý÷òóôøýøóñ騫 ²ÁÀÁÉØÙÛÚàÙÓ¤ygVJHPZŽ«Þëñ÷üþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýû÷òè˼‰G.('&&&''(&&&&&&&'((''&'((())**++++****))(((('&%%$$*/+&,;AVP]NTQO=2+&$#"!""(-4<BFO[SNKI0$&(&!"#(,/17DISLD5," '7FHIIGFFEGIKKNOQRUUXY\\`adefgjmljjkjhmmqppnonqqrlkhklooonqpplmmjijknoronklomnopolkjjjnoqpspokkhiljjlkjhgfgdjnmlllmonllkolnooijinjigiihhgghgfbcdlggheba_``__cbc]ZWYZ^_aaceffhjklllhenmmnpppimpnlkeeegiijkkklkkpnopon—™š—œœœœ›˜”‘Œ‡‰‹„|upliikmnnnmlheginponlknquz‚‰ŒŽ‘”””‘‘’“ŒŽ“‹‰ˆˆŠ‹‹ŒŽ‘’’‘Œ‘Œ”””Œ‰‰ˆˆ‡ƒ‚ƒ‚ƒ‚‚‚€~~~}~ƒ‡Ž‘ŽŽŽ“ŽŒ‘ŒŒ‹Œ‹‰‰Š†ƒ~€„ƒ…„„„„…ˆ‡‹‹Ž‰†‡‰‹’’“’–‘”Ž”ސ’•’’“—”“’”ŒŠ‰ˆ‹ŒŒŒŽ‹Š‰ˆˆˆˆ„ƒyumfZONZ~¡¦­¡yZRRVk’Îñ÷ûù÷õôøüú÷ôìß­ž˜¨¿ÁÓÔØÜàæêÒÈ€taRW_k‡°ÞåäìóùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûöñèȾ‚E.('(('(''''&&&(((()''''()**.02356531/////.-,+*)+,.3>G*0CGNPPL>50,'"!!  %(-4?TJXWWVQIB6)"!!  !*7?NIHPXYYB5*#!    *?FHHFEFFGJJMNQPQTVVXX[^dbcfghkmljjjjklnvpsnpotuulmnpppprrwppppkhirntptonmnmmowqokklomsoupsonlpjjkkkmiheefggklmlmlmnomkkomnoplmlmiigjhggiijgedefkgfecbdad^^`cab]]ZY]bbdabeifgilhe_[dlnuqupqginqljc\^acdeihlklkqpppnn•›š—–“Š†ytpmjgfeedcbabcdfhgfk[^TZVdcccbab^_behmtz…‡ŠŽŒ‰Šˆ‡††ƒ‚ƒ‚„†ˆ‡†ƒ‚„†‡‰‹Œ‹Š‰ˆ‡…ƒ‚~|||‚‚€~}{}}ˆŽŽŽŠŽŒ‹‹ˆˆˆ‰Š†‚€~‚‚„„„†††‡‡‰‰‰ŠŒŠ‰Š‹‘ŽŽ”Ž‘””’”••–’ŒŒŠ‰‰ŠŒŒŒŒŠ‰‰‰‰‰‡ƒƒ}zvqo\LTh}ˆ“¤{`ROSXw©Úôúûüøôøûûû÷ñäĦ——¬ÅÊÑÕÝãçßЬƒvqrurrˆÀØÎÃÊéõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûöðçÇÀ{B-''''&((('&&&'')(((''')*.2469@=<<<==<998521/3<::=?DK@,.WCIA;4,)$####&*-3;GGHPFKPIB7,)'# !%)/8AKLAIWIA<4+#!  !.DEHGFFGHIJKMNQPRUVWXX]_`adfijkmkhjjkloppppmonmnnmmmmmoprtsoomljjjmmsponpqolmomlljlnmlrooonlmkjiijjihfecfgijklmllknmoomlolnqnmmmniiggffgjf\Xfeefjggcccd`]Waec`_\]\\_bcd`beedc`]VSQ\hlntopmjfikkkic_]^_abedliihlmnpol“‹ƒ|vqkeb_`abaa_bdeeeeimoptvmifeccbaaba``b^^^^aaejpw~ŠŒ““”Œ‹‰‹‹‹‰‡~|z|~€}~€ƒ‡ˆ‰‡……„……}}}~}€~||~ƒ‰Œ”’—”ŒŒŒŒŒŒŒ‹ˆ‰ˆ‡…ƒ~‚‚„ƒ„†Š‰‰‰‰‹Ž’‘’‘‘‘‘‘”””—™˜˜—–‘Ž‹‹‘‘’”–•”””’’ŠŠŽ‰‡„ƒ‚‚‚‚wlZNWcoxxwZROPR^‡Èæöøûúùúüùöö÷îÚ·Ÿœ¢¨¦µÓÛâå͹ ‰€‰”’‹w†·âÀ«ÍéõþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüõïçÇÀw@-''''&)))'(&&''()()''),5@BCA?AB==?D><:><:::9;CHIZYYL:*,;C4)'%"  !%)07;>BLPYTRAC:1+%"!   !*7<@DIJPHOB91+'!  !  ! !!"1EGGHHHHKJLLNNQQRVXZ\\_``bfjpppkjjmmprtuupqrspropnqrrrsqttsoqmlllnrrspqntqsmlkkkmlpllmroqmllpkjhlijhheffijoksmnmommlonnmpnronnxmnoonnijilZQZfhjjjggdhce`[[ceb__]`^__dddcccc_]ZSOMTdgssuoqjhellkjjdc^^^abgflijjmlkoqmqieba``_^^`deeffghkomlnpryu}yzqqqrheeedcdedcbaa`^\abjp‚‡ŒŽ‹‰…„‚~{yvsqrstuuutrrrsvz|„„ƒ„‚…}|z|z|x~z€}€„Š’’’‘‹ŒŒŽŽ‹Š‰‰ˆˆ…„‚„|~~‚…„€€„„‡ˆ‹‹Š‰‹Š‹ŒŽŽ‘ŽŽ’‹Ž‘“”—›™–˜˜–Š‘‘’••””——•’’‘’Œ‰ŠŠ‰‡‡ˆŠŒ†}tl]PUX_d^SPMPPWaÙîöùûýýþ÷ðöüòäÏÀ­¨¤Ÿ®ØÝÝͳ¬Œ‰˜½Ñ”h{ª°³®ßêõýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüõïæÆ¾q=,'''''''(''&&'((((((*-8DJOGCCCB>?@?<;<@@ADFMQVPIMNLL3&'('$$"##%'+0<MI[NMJMD:50+'$!! "$'*+8C[NNDDA>6,'"!  "$8EGFGGHHKKKLONPQTWZ]]]`bdehlmkkijjmnrrsrqooproonnnpppoopqrsmmkmnoqrnpnnoqmmllmlllklkmnonnjmlkghhkijdddfgjlmknmomommmmmnlmmmmmnnmpqmljhijXIWijkjfgffba^_\]adg`\[[[\__``___`^YYWLDQ_adfhkkhdddca_^^_\Z[[\^cehijkkdWPjk[[\]``ddbbbcefoitnrpupxrsstvxurrqmjhjgpomgkfihh_\\^afs}„‡Š‹ˆ€tpliggiijlnnnnmmnnsvy~‚††‡„„|~}~}}||}€„ˆ…†‡ˆˆŒ’Ž“’Š‰Š‰ˆ„…‚„‚ƒ……‡…ŽŒ‹ŒŒ‘ŽŽ’Ž‘’’’‹“˜——™–›˜—’‘•˜—›š›™™™ž™›–˜”““’‹ŠŒ‘’“”–ŽŽ‚€yr_SPPRSOMNOOPVi£Þï÷úüýþ÷ðó÷õòíá³³¦’´ÏÙãàߪ“°×Û¡mf…¥«¨ÌäîöûÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýûôíàÆ¹j9+(''&'))(''&(()()((*.8HQWQKHGDABBA>>>FHJQPOQRV^HMIF:,# !!!!"$(.8BGMNJSVKG:5.'$!! !#',3=+/@GNSE;40,%" !  !! !"'?EHFFGHIKLOOPPRSUX\\^_bdghjknkjknkonystppnnoqoonnotpoooqrrsnooooqrsnrstqwmnkllmmnlllppttvjmkjgihljjehggjmnqppnononqnnnnlmkklmmppuomkhhm]LMblnllhiefa`abZ_bgb]YXY^\d__]]]a`\WZSGI]^bbcdheecda`]YYZYYWUWZZacikoprfEFalXY[^^`aaa_acdegijijjihjljjlmmmkhhgfefgghigjfhhfddeimu€€‚‚‚~zvqkc`_bbddfgijihjhlmprvx€€†‡‡‡ƒ|}}~}~~€ƒ…†Šˆ††‡Š‹Ž‘’’‘ŽŽŽ‰‡„„‚‚ƒƒ‚‚„ƒƒ„ƒ…‰‹ŠŒ‹‹‹‘‘‘ŽŒŒŽŒ’Œ‡ŒŽ’”——••–—›˜—•–ššš™™šš››ž˜˜——–—˜“‘‘’“•”…ƒ€yoaROLMMMPOMNP]t­åôøûüý÷ðñó÷üôêÒÍØÑÁŸ’Ÿ¯ÄÍÝÉÆÈÝÙ®ukoz€’²Ýàï÷ÿÿÿÿÿÿÿÿÿÿÿÿÿþýüúóìÜÆ²c5+)'&&&)((''&&'(((((+/@Ra[TPLKGCCEGFFLZURS^OFJND61-+)%!  $+3<>LNWMTFLE>3(%#"!""&*2=?N4)2[C>;8-$"    #+AEFGGGJLLMPPPQSUXZ\\_`ceghijojklnjmnrqqnpmnnpmmmnrqnmknrqpnmnmnnpqpnqrrrvnlkmmnkngmmponlkiiiighhllhcggikmlllnmmlonmlnnnkjhllmnppqmnihggQSXemlkjhjbcaaa[V]_\UXVXXZ[\\ZYYZ]_[SSONL[[^__`bbcde_SHB=>?EMKKQSY^ekooqdVOioYZ[[[]bafedbbcccdeeedehhhfdfihfcafdccegijjkmosvy~‚†ŠŽ€ƒ}wrolie``baabcbcegiiiknqptvy{€†‡ˆ‚€‚………„„„ŠŠˆ‰Š‹Ž”•–••”•’ŽŒŒ‹‡†‚‚‚ƒƒ†ƒƒƒƒ…ˆ‰Š‰‹ŽŒ‹‘’˜’•ŽŠ‹‘‘Ž–“™•—–”•˜˜›šœ——™£Ÿ¢ž¡œžš™˜™—š–”•––•”™”–•“‘‘Ž‰‡}wcTMJJMMNMMNSb¾ëôùûýú÷õóõ÷ôñîëé⺤‰†œ²¼Üµ±ËÜÙ¼ˆkk‰}£Ûãï÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüúóëÚǪ^3*(*'&')('''(*()('()+/E_abWTPQLGMRSTUUUnUMPTBA81+%#"! !#" !)7?>GPXOE>6/+'$"  !"%/?DFGHN1*5H>/%#!     ! $0AFFGHILLNOTRRV]]\\^`ecgflkmjonnnojrrqppoqosotllmnoqnmklnqnmmpqppqonorrtsvnnmpnskomooonlkjjijmkjhlifefillnkkjmlllolkkpopjjhmnnnpprnojkg_YZdpllmnijedbc_Z\e^ZXZYYX[\`ZXYYX\[ZRSNJPZZ`_^^ccidhVF90+)+.39AOQSYcitpqfeappohfeb``aa`aba``abcddeeefffffghfdgjnqtx|~~~ƒ‡Š‹Š€ƒwojfcaa``__`bbbaccceilmmnqqruxy{~€†‡‰ˆ„ƒ††„ƒ„†Š‰‰ŠŽŽŽ‘“”––“ŽŽŽŠ‰‡†‚‚€ƒ„ƒ‚‚‚‚‚‚‚…†‡ˆˆ‰Œ‹Ž‘’‘‘“Œ‰‡‹ŽŽ‘•—–•••”—–•–˜™™™š–˜™Ÿœ™ž››™™—˜–˜š™˜˜—™””‘”””’‘ŽŠƒ}wdSMHJLKKLMORiÇï÷úüýþøóóóôôöøñã·œŠ‹ŽŽ‘–“£ÌÑ×¾žvatƒ|–Íçï÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúòëØÄ£X2*''''(('((((((((()+,8Kbs_YSQSTUY`iijLAOVAF=40)%""""#)-,*""0KA?ISJC5-)##"""#%0:?EGNKEFJ+$2J0"!     &6DHGGHIKKNPQQUX\\]^adddeeggijjjmjokrppooopoponnnlopqmljllpkmnomlmnmppqqrrpmnnnnnjllopnmmkigjkkkjhgffgikkgjikjnkmlljkkllmjkhjjnmmmmnnjjfb]enmkkhnijfecb]`dc^ZWXXXX\_XSUXWUXWZQRMOSVXYZ]^^^^^ZJ:+*((''(.3AQSV_flnohgfhjŠˆ†ƒ€{vvvqnonnortuwz|zyzz{}€‚‚‚‡Œ’—‰‘‘’‰•“’މzslhd`]\\\]^^_aabbdefhlmplzoppprvvx|…ˆ‹‰‡„††‡„„…‡ŠŽ‘”–••‘‘‘“˜”—””ŒŒ‹†„‚ƒ…‰‰‹ƒ„‚ƒƒ…ˆˆ‰ŠŒ––—”™”–‘’‰†Š‘Ž’•››Ÿ™™•™ššœ™š˜žœœ›ž¡£œ››žœ£™œ›š¡ŸžžŸ™šš˜š˜˜”•ŒˆzeSKHHKJKKLNVt¢×ó÷ûüþûù÷õôòõøñã½›“‘††ƒ‚‹©Ë̽¦ƒus||’½åî÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüùñéÕÀœR0*''''(((())(+(*(),47@Uqr^WTXghhkmc]T?=@8,++-)&"!"#&/6;>*$#7PFIM>1*$"   "%.39FIIKKLXC91%"/*$         !   !);GIIHIIKLNPUUZ[``cdefffijjikkkjmnonrpqosqsttooosstqpmmklmpprpsopnnouttt{rnloppmnjlnvnmnokjinmokliedhkulkkmklkolnmllmllkljkijlroqmnnrkmgghqonjjjnijfhfhhied][[\[[[\[TPQUVUYXXRQRUTVVXY]]^^]]]G0(())((&&+6GVY]dlmnkigli‡‰ƒ„„ƒ†‰ˆˆ‰ˆ‰ˆ‰‹ŒŒ‰‡ˆˆˆˆˆˆ‹ŽŽ‡‹‰‡†ƒ‚€~zvspmid`]\[ZYZ[\\^_`aaaaacefnloolkkopqrvw|…‹‰…‚‚‚‚„„†ˆ””•”””““‘“•”“’‹‹‹ˆ„„ƒƒƒ…†††…ƒ‚‚ƒ„…‡ŠŠŠŠ’“–“’’‘‰‹Œ‹“˜–•š˜šš™•˜––“›™™™Ÿœœ›Ÿœ››œœšš›ž¡¡¡žžŸš››šš›šš˜—•“‘ˆ€weUNFGIKNLLRY}¸àôùûþþþû÷óïôøòçÖµŸ £˜ˆƒ†Ž¬Ïĝz{„‰“ÀãíöÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüùñèÓ”O/*'')(()*))))))))*/:BOaroZSY^inif_[KJ4(((&%,356.+058GMT7,($/R;1-*'""!"$+06DHKJXK]NB:3,$" !"!       !      ",@GHHHIILNORWY[]abcegghhiijikkklnnnnnoonpqqkspponnqponnknoropopoooooooutsmnjpqnmmknookmmlkjhkkjhhifejlpmlkkkkjkkkjmlllljkjjjloonmjnlkjjilnolnhjiiiifgfgfga_[\]\\[Z\\RHTVVTXXXRRRSSRRVWVSSSTTSG8+)&&'&)''5@[\`ehhijieedŠƒ€‡‡‡‰Šˆ‰‡‘Š‘“‘ŽŽŠ’’’’–‘“Šƒ|zwqmmlfcba`^]Z\]ZWXY\^]bbibfdeacegnkooprsuwxz||‚„ŠŠ‡„€‚ƒƒ„„‡—”Ÿ™œ——˜˜™››š””“—ŽŒŒ‹‰‡„††‰„‰‰‰……„„„‹‡‰ŠŽŒ‘”™•—“”Ž‹ŽŒ‘’“ŒŒ–˜˜˜›š™˜›š›™Ÿ—–—œ›œœ  £¢¢¡¢¡¥ŸŸ›™š›ž£¢ª¡Ÿžžž   ¡§›œ™˜˜˜™“’ŒŠyhYKEGLMMMOR^ÐéöùüýþýûøôóñðïêâÝÛǵ›ˆƒ‚‹›¶ÏÂÀ€‚¨Êçí÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûùðçÓčK.*(())())*))*,//-+8DNXgup[X^cujQPUC4-'#!""'2CTB:>HEDOXG61-$(++'#!  ")-3?ABJXNGIMQS9*%!         !!  ! !  #0CFFFGJKNQTW]^^`begilkklnnmnolmnoqsqpowqrqqqttvpnnuoonnntqtqrpsoqprptrxspnnmroomsrsnomrlklmlqjjhhgfinnsnmmqpplmjjlrmmllklinloopnlknkkjjlrssmpjjhkikgghjhg_]\_^]]^_bZRRXVVTYWWTUURPOPWVTQPONOUJB4*%%%%&''4C`cdglgfgjeec~yyz}€€€ƒ‡ytrw}€„~}|‚Œˆ…Š”‰zpmjgea\\\[[\\a^^]_b_\\[\_^]^baaa`acilnpsxyyxwz}}~}}€…‡ˆ‡ƒ‚‚„‚†ˆ‘–––––——™™™˜˜–•’’‹ŠŠ‹‡‡…†…††‡„„„†††…††‡ˆŒŒŒ‘’••’’‹ŒŒŒŒŽŽŽŒ‘•—™™š››ššœ››šœ™š›œžž¡¢¤Ÿ¢¢¡¡¡ŸŸš›š¡¡¡¢žŸ›ŸžŸ ¡¢¡››•˜›šš˜”’ŒŠ†~wfTKEIMMLMMVe•áï÷úüþþþüùòêïôõôìçã϶˜Œ’™šœ¨½µŒ‚ŽÈ׿í÷ÿÿÿÿÿÿÿÿÿÿÿÿÿþþûùðçÓÆ‡I-*)(*)()*+,/39A<4=JW^dstpc]bgeeB.-,)$$"""$+@OMLMMG_PWJ@AB)"#$$!!  !-;?B@<DONM<<CJ:+%!     !  ! "%5FFEFGKMRUY]^_acgiklljlnnnnonmpqqrrrqpqqpmqrsrplmmnlnnoqspqproroonrqtsqnnnmmmknnponknlljlmnkjgfeedjknosnoopqplkjllqijjkklimmqromllmijilmmnlkjihhihhfillg`[^^^^^^_c`YWUVUVVWWWUXZTPOMNNNOMKJIILE>4**))()+;Jadhkiecaeeecrqtutqnptlfb`djggijggnuvx|ƒ„‚rgecb_a[ZYY[\\^`bc`ddeed^^_^][]]`bfjowy{~~}€€~€~|~„††‡„…‚‚ƒ…‹”£˜œ˜–––˜——––‘”‹‹ˆˆˆˆ‰‹†Š††„‡†‹‰‘“””““”••••’“‹’ŽŽ“”› œŸœžœ¡šœ›Ÿž££¤£¤¤¤¡§£¥ ¥¤¤¡¡Ÿ œžŸ¢¨¡¢¡  ¡¡¤¡¢¡ š›ššœœ–—–›‘ˆ…zycSJFHLLNLNWk§áðøúýþþýûøõö÷ùûøõñæÉ¤œž¥¬‘Ž£²†}~Œ®ÖáîøÿÿÿÿÿÿÿÿÿÿÿÿÿþþûøïåÒÈF,*)))))*.258AUQKMRasjkynh]dXQD0'$##"#%'%%/XO_VRJHLNE;0*)&! "#"  !+BFXNLKMB91+/:4*$      !  !     ! #)>EGFGKOT[]_adcggmmplllqprqsoprvssuyyxtsrvtssupolpnnnnnstxpsrrrronorsupmmnnqnomqouqnknllllmokiffcdjupsqtssprqqlllqmplkjkklkpmuqoonnmiklqmlmliihggkjiinmmb[\cccaaaaa_[`XWX\XWWWX^XVRPMLLMLKJJGGHJBC=88965;GTaemigcaaeffeiijkjid`\YUQRSVY``i]ccegvqrppeeeeedceihgdaabbaa_acbbb````a`_`bgmrxwx|€ƒ~~€}|z~|‚…„……„„…†Ž——˜™™™˜—–—˜˜˜—“““‘ŽŽŒ‹Š‹ŠŠŠˆ††††ƒ†…‰‰’”•••”‘““’‘ŽŒŽŽ’”—™š™™šŸœœœ šš›žŸ¤££¡ ¡££¥ŸŸžžž¡ŸŸž¡£¤¤£¢¢¡¡ž£¤£ ¡š˜––—›–‘–—–“Ž‹†|xoaTMFIMLLMP^v°æôøûýþþýþÿýúüÿþýùòã°¯«™‡Š’’€{wƒ‘¯Òîøÿÿÿÿÿÿÿÿÿÿÿÿþþþû÷îåÐÊyB+*))(),6@DEJMW^[Zcusqr|ob`]UJB4.'%$&(.42-*3WMTZNGEC8.)%&''"$'17)!#/CEGK:0//*##$$$"            '/@EHIMQVY]_bcffhjmnmlmnooqqrqsuusuwxxwusrurqomiiipnnnmmrtrosusrsoopsupknpnknlmmporqokllmnmmojjfeairropppprppormlmmlnmjikilknmmmpjiihhlpqkljifiggedckjonc\^aaababbb_\ZZZYXZXX[ZY]WWTRMLKMILPIDDEDBBABIKLNNVadghefccbdbfhgimgj`]WTOLLMQSYacicbeipwqlquusrrnmnppyrsciccacaaaacfhijmkjllmosvy}|€ˆ‚~€€|z{~€Š‰‰‰‰Œ•“žœ›™›šššš¡˜›——“”’‘“”””Œ’‹Šˆ†…††‡†‡Š‘’–––—–š”˜’’‘‘“’•˜˜žš›››œ¡œ ŸŸŸŸŸ£¤¥¥¦£¤¢££¥Ÿ¢ Ÿ ¡¢§§ª¤§£££¦¦©§¨©©žŸš—•——›—’‘•—•‘ŽŽŽzvpeVLEGKLNNScƒÀêóùûýýþþÿþýþÿÿþüúïàÚØ¾™‡‹‰†{w}ŒœÚíøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿû÷íãÎËr>+,**(),GQYGSV]`biorvxwlbPJLLI;4.+**.5=FL2*3YTRNI7-*(%#*8/**.8EC1%$-ZE;4,'%#!       !!        "       ! " !$-8AGJOSX\_bdgijlrrronmuqrpstttyvzxwx{yytrrutunjhgkpooprqqqqrvuttssvttqonsqqqrrxnpospoopmlmqmnijfegrqvwwvvsrqrprnpprnplhhjklkplllpkmhhjpqrknjfeihgcbemjrd\\bbabfbeef^[\b\\YYYYY]\]Y[XXRPMLLQNJFFGEBBBHJQNZTebkjjcfffffgmlmld^YSQNMLOUWYZ[]ehilxtƒutl€~}uwpqmnopsvlda_`bbbcdeghikmpqomnnqvxz}~€€~}~~{|}‚‰‰‹‘”–˜œœšš›šššš™˜—•”“‘‘‘’’“•ŽŽŒ‰ˆˆ‡†…„„‚†ˆ‹Ž’““”•••–———”“‘‘‘’““–˜˜˜š—™š›œœšžžŸž ¡¢££¤¦¤£¢£¢¦ ¢¤£¡¢¤§¦¦¤¤¢¤¥¦¦¨¦§¢¡Ÿš™–˜˜œ•”“—š—ŽŒ…‚{yfVKCGMMMPUkÅîöùüýþÿÿÿÿÿÿÿÿÿÿöìèåÜ»›‘’˜¢‹z}‹žâðùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûöìáËÇl<*)(('),?dQIU]]haxmojeb^N9ALNMD:99>CBTMZP5(1693.*'%$#")39;<INTLX=*&)/4-%#!    !!! $)1<*!   !  ! !%)7DHMSW[_dfgijknpqrqppnurrqtsuvvwxwwvvvtprrrrpmkimsqopqporqrsrortttsrsoonpqpnqrqnqlnopnnmmmmjjhechkrrtssqrrrqqorlnoonnkjiknnloiklkkifjkljjjjkcaijb^chkkdY^bbbccebfib[^^a\\[YYYWYY][[YXXTPONMMLKMPJEDDGHJKOSY__`bccccbgjigjbZTPNLLMPVU[[[XY\`gtspmjkjlnopqqonjihggda^]^``cehjkpruxzwtssttv|~€„ƒ‚€€€€~€‚‚‚ƒˆ†‰”–›¢ ›››œš›šœœœ•’’‘’‘˜“”‘•Œˆ‰†…†‡‡‰Š‹Ž’’˜™˜•–“”•œ—˜”’‘”““”––œœ˜›˜ž˜™›››ž¢¡¢ ¤¦«ªª¥¦¥£¢©¤¦¤£¥ª¬®©¨¦§¤¤¦«ª­¨©§¨¢ŸŸžŸ šœœœ˜™šš˜˜”•ŒŒŽˆ†~ydTICFMLOPWsžÕñöúüþþÿÿÿÿÿÿÿÿÿû÷ôòéÕ§™£´¡–~}† æöûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúöìßËÂg:**(''(+;dKIaZW\`gnaXY[]C7=Q_XNJJDLJJQLPW1'*0+((#"""#'/C]MFLUPHHG,$#%$"      !  ",5$!"+9SE/! !   !! #)3@JPX_acgppoqrrtvyzytvvwuuuuuwx{{{xyxwvsrqrrpononvsspsqxrrswusrrszyyrstuoopuqrpnnqkloqopppnnjjfcfnotqxssrrrsqsoqmnnpnmkljoorlnookljhkplnnnmmd_bid^_fime_]fa_cieeemf`ac_`]^\ZZ\\\Z\\_Z^ZZYZTRPPPQOOJPMKHHJJQRVX\_abcceiijih]WNNNOPRSTUUUUVWX_dffc[ZY\^adeggghfhccbaaa]^`ehjmopruy~|zwttsux|~ƒ}~€‚……ˆ††‡‰Ž‘–˜›››šœš›˜™™š—–•”‘’’‘’Ž‹‰‰…„……†‰Š’””••––••’”•“’’’’’•••—˜š›™š˜™—ž™š›››œœœ    ¤¥¥£££¤¥¤¢£¤§¨§¨ª¬«©©¦§£¦©ª©ª¨¨¦§¢¢£¢Ÿž™œŸš™———˜–•’‘‘Ž‹ˆyqbTLCGMNOSY{³ÜóøûþþÿÿÿÿÿÿÿÿÿÿÿüùîݺºÌÄžŒ„‚‚åúýÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúõìÜʾd8)*)'((*:dJFNTNIPVWURRW^G5Hbbf[RKBG`QYFF;+$#$%,0*$*/24>MUZHNLI;94*#  !"  !  !"""/A0%"&:CCF*  #'4?NY^dfimprrsusrvyxwwtvsuvvvvwwwzvxwspsvtrssrppmnourrpppqqssqmqqrsrqqrpnolmmqqonokkklnonnmnnnhgehjmnrqrrsusrtpoopmnnmmmijjmmmlmjmkjimrnkjgfea\aei_`chid]__`_`debegea``c__^]]]\[Z[[[\_[[[ZYYXWWSRQNNHMKJGJNORSTXY__``cfffihibWUVVUVYYZXWUVY\`eeec`[XXY[\_aeihihgddeffgggjmosntsuy|~}|yvvw{€}~‚„~~„„‡†‡ˆ‹‹’™™ŸœŸ››œ›œ˜™™š–”’‘’–’’”‘–“‹‡‡ˆƒ„†‡Š‘““˜˜œ™™™š–••—”““”•™—œ››˜™›Ÿ™œ››šžœž££¢Ÿ¦§¨ª©££££££¥¥¥¦¤¬­²«­ª©©¬¦¦§«­³ª­©¬§­§¦§§¢¢¡¡ ŸŸŸžœ››™—••‘‹‰ƒ€yqf]MDGONPS^ˆÇåõøüýþÿÿÿÿÿÿÿÿÿÿþüõëäáèìͯ¢œ”œÏðùÿÿÿÿÿÿÿÿÿÿÿÿÿÿþùõëØÉ¹^6(*(&'');@?>>715=TTTIKSYONUbggh^VHDJN?3.*&"""*::547@UOKNUSMA80)('$ ! !!  #))&0EA*$#+[MK7%      "#(3@P`enoqrxyxw{wvw}zy|uvuyyxyz{{zzvysppsuuuztuqpqtttttqvutvwrpppqtsrrrpnnqnmmrpnnokklmnqmnnomohfhonqqxqsruutsvrvrumpnrmmmmmpqqmmjniikronkkkm`Y[ieg`cfpga`abcbabddhedceac_a^`^^^^_^]a\^_`]\\a`_XXTUQMKLB:AJOUTYYXY__^^dffghhyvf_ZWWXXXY\XW[_djkkhec`^]]\^_bejhhiihjmnprtsrrrrosty}}~€}{zy{}~~€€~€‚ƒ„……†ˆŽ•›šœ››šš››œ—˜–˜—˜—”’’’“’’“ŽŒ‰ˆˆ…‚„„ˆŠŒ“”—™™šš›š˜–‘“““”–———œ™™˜™š›™œœœžž¢¡¡Ÿ¤¥¦¥¥¢£¡¡¡¤¤££¤¥­¬­ªª©¨¨¬¦©­¬­®«ª¨§§¬ª©¨¦¤¢ž¡¡Ÿžœš™–•Šˆ†ƒ‚ztgYNDGNOPWa×íöúüýþÿÿÿÿÿÿÿÿÿÿÿûöñïòôìãÙ;¸ÀåôÿÿÿÿÿÿÿÿÿÿÿÿÿþýøôêÖɰW3(''&&&(3@3,*(''9SUVIGVhjllkijccRK::2+(%$#$%,3GXOEEFPZINB?8.($#"!      "(<CB@CC4#%/]QJ5'        !(-:FR_eknrtuwwwwwwx|{yyuwtuuxyyzwttuvsroqquxwvvtpmqrqptsrqwuuuspportuqrnmlnooonmrqpoommklmmnjgjkhchjnnqrrrqpqqrqrpppolpmmiiinqlimljgghklmknhhh`WZ`efgaeghc`^abbba`efgc``baa`___`_^^^^^`\_`a__^_^^WWTSSQOJ;<ALOPQWVXYYY__gghhih…vs^^]]]]XZYY\biokkjnoqmjgedbbdgjlqptuvxzzzrqrrrvwz|~‡~~~~}‚‚‡‚ƒ‡„ƒ…†ˆ‹œž š™˜˜™š›››œ˜š™žžž™š”“”™–—“”ŠŠŒ‡‡†ƒ„†‰—™›šš•—›Ÿ ›ž›œ–”•››››ššœšš™™šš™¢Ÿ¡ž¢¢¢¢££§¦¤¥¨¥¦¤¦¤©¤¦¦¬¨ª©®®®ª¨©­­¬«±°±­®®­ª©©¬ª³«©©©§¦¤£ ŸŸŸ¡¤›—™‘‘Š‹…ƒ}viZKBFPNPVfžÝîöùüþÿÿÿÿÿÿÿÿÿÿÿýûúøùúôîçÜÓËÉÙóÿÿÿÿÿÿÿÿÿÿÿÿÿþýùôêÔʦR1()&)%&&()(%#"!%5Vj\KR[eemnic`]ND6)'&$###',3<C]VcT\GOLI;/*'$!      !    $8aA<KYQJ%'6aZc9(!! !     "   $)/6BTXbgllprxwwwywzzz{{zyvzwvuzz|xutxvxsssuuyy{vvqootrrrvpprxwxvspqpwuuqsomloospsoqrqpunpopllihgkhefnnrrssvrrquqsqtpoopoppojkkplijsljhikpmljnkrd[V\dgghglgfa_`ecebbaehna]bfgfedefff^`___`_ccefgaa]^WZYXUUSH=>FMPRTVVZYXY_ciijijjkhdZ\QQQRTTUY_bpollkpsronlkkifgimoqqtz{{ywxqrrssvyƒ€}~~ƒ‚‚ƒƒƒ‚ƒ……††…†‡‹“—™šš™š•˜—šœ›˜˜—™™™™™˜˜””””•’ˆ‡†…ƒ‡…†‡‹Ž“™™™–˜–™œŸœ›››››™˜—š››š›œœ™™–š›š œž¡¡££¤¤¥¤¤¤¤¤¦£££¤¥§§§§ª««ª«©©©©¨¬®®­­®²³®¬««««³­¬ª©¥§§¥¢¢£¢¡¢ž›—˜“‘Œ‹ˆ‡ˆ€yhWLBHKOQ\m¤àð÷úýÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿû÷êÛãä×ÝóÿÿÿÿÿÿÿÿÿÿÿÿÿþýùôêÓÊšN/&'&&%%$$%$$#""%3W\cbbdpgkfcWTG92'%$$$&)/8<NDCLIJLJF8.+)&""!!!     /DbAH`[]@&+APQJ:%       #%-28?JX]aflllprsrwvvvy|{yzuvvzxvu{yxuuuwttstvwwzyxvqmpqqprsokpswwvvrpqqwtqnonmkoprmrprrqnnmmlmkhdgfjehjmosrtuurropoppqpomnlljkklllijknmjhknonmjjhe\XW`hgiiikcbbaabbdbbdhkh\`bcddddccbb_`b__`aabcbaa_][XXXXXY\PDJQSUUUWXZ[[\cfhijkjjlid`]XUSRVWXZ^bhnlpovwywwwwrrppmrpusv{{|}xxwvuuvyˆƒ‚€€€€ˆ‡‡„…†‰ˆ‡††‡‰ŠŽ™•ž—˜™š™›•˜˜š›™ššš››œ˜˜˜™“”“‘†„ƒƒ„†‡ŠŽ”–žš¡šž™›œž›¢œž››œ¢¡¡žœŸ   ¡¡¡Ÿšš›¡œ Ÿ¢¢¦¦¦¤­£¤¤§¥¦£¢£¥¨««°¯°¬««¬«ªªª«°­­­¯¯·±°¯µ¬¯«´°´¬­¬««¬§ª¤¤¤¥Ÿžš˜˜˜‘”‘‘’ŒŠ€ygZNEGONS^v³ãñøûþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûòèîóòñøÿÿÿÿÿÿÿÿÿÿÿÿÿþýøóéÑɏJ-''&%$%$%$"#"""$1UTWZ_bef]TME?90'$$%&.9;>ABNGDUNIA71'$"!!!! !      !!!  !'7OfANbHF7%0LQF>-" !  "(.7@FLRackllmnnttttwwvx~{|yxtuw{vvv|{xuvuytvuuvyx~ywrposqqrrpmpwu{wwtssvvwsonnnlloprrsstqropmmmpiedkgjipppq|svvtqpnqpppppposmkikmomllljolkkonommjkhbYY^jiikojkbbccemffedeoieegggcddedda`_`a`_aa`bfddb`]ZZ]YYZ_`^\ZX\YYYZZ]]`clghjplniŠŠ…zurnc^^__`ceijmnux|}}}zvuupnpptuxz||~yyyxxy{ƒƒƒ‚~€€€‚†‡‡…†‡‰‰ˆ‡ˆ‰“”—–—”””—•™”˜˜šš˜ššš›——•”’’Šˆ„„„‡ˆŠŒ’—˜™™š››˜š™™˜šš›™›šœ¡œœž Ÿ  ¡œ–™™ ¡¡¢¤£¤£££¢¢¦Ÿ¢£¥¥¨ª­­¯««¨§¨««¬¬­­¯®®­®¯¯¯¯¯¯¬­««¬­ª¬¬««¬¨ª¥¥¤¤¢ œ›šš’“’ŽŽŒŠƒ|uk_PDGKPTe‚·èõùüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùóôöùýþÿÿÿÿÿÿÿÿÿÿÿÿÿþýøòèÎÇ…F-&&&&$$$$$##"###1URRY`^ZWTJ?<93,*)26:@A`PVDO>530,(&%#!" !     !!   #%%" "%# $/DXS?He@>-#,T@6,#   !'+28AKOSX]cgjkmnppqpstusuxwwuttuvwvssttsuuuuvttsvwyvxusprtrpqrqoqtuv{utsuuvtsqpqpmmmoppqqqpnnlonmmohfeeejlooprsssqpoonrsqonnnnmmjhlonnmllkkjllmmmkkiii[T]eggjkjgc^cfeeedcadefffcddeccbeec``_ab`_aa`_edda_^]\\X[\bf`\WWXXYXZ[]]aehijkmlmf“†~|}ttiljiiijkkmr{x„ƒ„}}vvuqruuz|~}}}~€‚|~‚„‡‰…†‚‚ƒƒŠ‹ˆˆˆˆ‰Š‰‰‰’–—˜™˜˜•–”›–˜˜˜˜›š™ œœ›œ—š“’’–Ž‘‹‰ˆ††ˆŠ”” ŸœŸžž™™—–˜œ››œ¡ ŸŸ¡¢¤ žŸ¡ ¡Ÿ£¡¢žœ›ž  ¥¡§¦¨¥¦¥¦¢¡£¦§¨¨¯¯¯ª³±¯«©¨§ª¯­±¯¯®°²¸¯°°°¯¯¯¯¬®­¯¯¯®¯­´®­©«¦¦¥¨§§¡¡–““”Ž‰„}n^PEGNPVjŒÄìôùüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüùúûüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýöðçÌÅ|A,''&&%$$$##""###09;;<@BBDC@:76102<IKLJJTUF851+)&$#"!!!"!!!!!!   !!  "3H1#!)./!(3WZZ:795,"!',+'!   !%-4<GNTW^`hgmnonqnuprpxvuuuuttuttuyuuv|utsuuyuvwwu{z{xysrrvtrqtppruu}v|vutxuvttprrtmoopppqrooonmsnpmoiifehrtuqpqxsrpsosstssollqmmkilsornnnolliposmnklij\TZfejiplkc_^dddefbb`eehgjeddiccclecabcda`_da_^deca__aaca^aieb]XX[[[[[Z]_cegjompllg„„}}y~rqlllkjkmosttwx|ƒ|{wvwvvxyy{{{}}|…‰Š†ˆ„ƒ€‚ƒ„Š‹Šˆ‰Š‹Ž‰‰ŠŒ”˜˜˜—––•–“••›—˜™™—šš›™›šš˜•‘ŽŽŒŠ‡ˆ‡‡ˆŽ‘”——˜ž›œœœœœ›š˜˜™™™›žŸŸ¡¡¢¢¥¡¡¢ ŸžœŸž   ¡ Ÿ ¡¤¢¦¦¨¦¥£¥Ÿ¢¤¥¥¨©©©«««¨«ªªª««­­°¬¯®°±²®¯¯¯¯°ª®«®¯±©¯¬¬­¯¯­©©§¦¦¦§¦¢¡ ž™–•”“’ˆ„ymaRFHMRXp–ÈîöúþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüõïçËÃu=,(*,))%####""""#,<.(.2336988:;97BUJa_`HMA8/*(##"""!!!!!!!      !$'3KH7$"*H)!%4<J9(''$!  "!! !#*/7>EQUY[^dfhjmjlmonomqorrrprssrqosuurvvvuutttsrssttttzxusrrrrrponrtwwxvusuuvuvtsqqpnmpqooqtrlllnmnnpkjffdjnrsutrpqqqonnpoqqpomlomnknqqppnoomkkjpmllnjkg[PZfefkijjb\`_`adbb_aadehggeedeccccbcab\_`_^_`_^dfca`_`aa`aceca]\ZZYYWWV]beehkoklljgz~‚~…}€tqqqonnopttwuxwz€ƒ~}{|€ƒ~€}|}‡€‡‡ŒŠ‰ˆˆƒƒƒƒ…‰ˆŒŠŠŽ‹‹Š‰“—¡ ¡˜––™–œ›š—œœœ›ŸŸ œŸ›˜—••ŽŒŒŒŠ‡††‰Š‘—š£Ÿ›œ  ¡ž£››š›œœ™žžž¡¥¥¥¥¥¥¥§¨¡Ÿ Ÿ¥¢¥££¤¥¤¤¤¦§¬§«¦¤¤¦§§©°¬«ª¬«©¨­«±®¯«¯­±°¸²´²³±±°¯®±©®®µ¯±¬¯­°­°¯±°°¯¯¦­§¥¥¥£ŸžžŸ™™˜—‘Œ†…|l`QFHMPXv¡ÓðöûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûõîçËÂm8+*0-,(&###$##""##"!"%*,--05?LHUOMUMLJJI8-($""!! !!! !!!    ! !!!"*59?QY1%#,5&!"#&(&" $)1;BJNV[_bghnnpkmkllqnoopptttppswrqqrtvwwvwv{vysrrssttut{vursrqrrnorzx}wxustxyyuvvutunmmqpoousslmlnoqnpkjeehrsysvvvqtqqpoourvppnonrooovvuqsrqolkooqmnlnim^UWdhkimhgd]\abeedccafggghhgghehdfdicdcc^a_^^^_``ccdbb`dbdchfeb`^^_^[_WWW^cjiijolllkgqrwxz}zuvvtssutrttvsvw|€€€€ƒ„}}~€€€€‚ƒ‡‰Šˆˆƒƒ€ƒ…‡Š‰ŠŠ‹‹‹Œ‹‹‰“˜š™š™—–””•˜˜˜˜˜™››œšš˜——•’ŒŒ‹Š‰‰ˆ†„…†‹”˜ Ÿ››œŸž œ›››š›››™Ÿ ¢£¥§§ª§§§§¥ŸžžŸ ¡£¤¥§¥¤¥¥¦£¤¥§§§§¨©«¬°¬«©ªª©¨«¬±­­¬¯«¯°±±±±²­±¯¯­²«­­®¯®««¬­­¯¯°¯¯®¯¨©§¦¦¦§¤¡¡ Ÿšš™˜”ˆ†}sjaTIKOSZ{ª×òøûþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûôíçÊÀe4++..)&&$$##"$$$$#  !',,++-<KGGTWUTDF82,'%#"!!   !!!!!!!  !!!#%')/7Ga`aF)%%2?%   ""! #&.4<CIRW[\`cfikkkljkkkjpmoqqrttsqruqpswtstttssssrrosqtttxutttuqtrqnnlquyxwtuuuvwvxrrrrqoknnonpqursklloqqmqigdhkstwssqqqqppppppppppnmmrmooooqpppqnllnmmkkjje]SX`dhhgggfa]\adccccbafjffggfbededddhbccb]a_`a_\`adab`a_baccghea`^^]\[_XXX_cghiikkihigmqtuuuuvxyyyy{zyztvtvy€‚„Љˆ‡……†€ƒƒ…‚ƒƒ…ˆŠŠ†ˆƒ„ƒƒ…‰ŠŽ‹‹‹ŽŽŠŒš™ ™œ——–—˜Ÿ•›››™™˜žžŸ™™–•’‘Ž‹Šˆˆ‡†ˆŠŽ“—¡Ÿ¥ Ÿ ¥Ÿ Ÿ  ¡›Ÿ›ž›ššžŸ¡¡¨©©©ª©ªªª¤£ ¤¡ ¡¡¡¢£§¤¨§ª¥¦¥§¥¥§©«­­¬®³¯°®®®®¯¯¯¯°°®­®°±·°±±±²³¯²°±®´®±±º°®¬±±²¯³±´¯°¯¯¯®««¬®¬ª§¥£¡¡¡¡ •’Šˆˆ~zpdXMKLQ^…¼ßó÷ûýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûôíã˺_4+,/+&%&$$$$$&*-($##&)./**2PN<BdJ:50*&$#"!!"!! !!!!!!!!!! ! %-8LC>ENJJU?'"$<0$  !  #(.6@GRUWZ_abefhooolljnmolpqrqvwwuttuqoqvwwxxsursturqpst|utuuutsvquspmnpwwzyxtvv{xxwxpprtpmnrqppttutskknpqrnriggnpuu}ttstqqppquqrppppnmmrqsoopqqqqqnmnrnolkkl`UT`cghiikjk`__efiekccemgefmfefmchghehabba_a_caa``bdacadfgfedgeea`_`_c^_[[^gglkkkliggmhsstusrsvz|}}~~|wwtttw{€‚…‡‰ˆˆ…„„ƒƒ„…ƒ…†ˆŠ‰†‡………„„„„ˆˆ‰ŠŠ‹‹‰‹‹’•–”“““—•˜™—”–”–”—™žž›—–“‘ŽŒ‹ŠŠˆˆ‡††Œ“–›Ÿžž žŸŸŸžŸžš›™œ›šžž ¡¢Ÿ£¤¤¢¤¤¢Ÿ¢¤£¢¡££¤¤¥¤¥¦¤¢¥¦§¤¦©­¯®®°°³®¯­­­­­®­°±±°¯®±²¶°¯«¬«¯®°¯®¬¯®±²´±¯­°°°¯±±²±±²²²²±²²±°®¬«©§¥£ ž˜–’Œ†‚~uk[MMNV`ˆÅãôùûþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûóìßÍ´^5/-0)&$%%$"%&0:62230,,0)&)6NS=<<9/(&$$##!"!!!! !!!!&+)"""!!#/=ENSRQF?Ci:'""""!&+3:BINVWY\`bdeiijlnkhhimmmlqqqrqpooqppoprssvxussrrpooppsuuutssqtrsqokmnpqwvxrtsustuutqnqrqnqrruqpsrqnnknspppmliijptuvwsssqnppqrrqronnonnnpooopppnmkklmoljomjgbXVVbgggijjjc^`aefdbcdfimeffgeffebddfedbbba___``a`aabaa`cdeeffgdb^``_____]`dfhklmnmggghexuroqty~ˆ††„ƒ|{wxxy~‡‡ŽŽŽ‹‰‰‰„‚‚„†ˆˆŠŠŠŠ‹‰ˆ‰†ˆ‰Šˆ†††‡ŠŠ‘‹Œ‰‘•”””“““”˜– —•–˜—œ–œšŸ™–”ŽŽŠ‹ŠŠ‰‰‰‘–—œŸ¦¡¡¡¢ ¤ ŸžŸžœ››œœ¡œžŸ¡ £ ¢£¤£¢   ¢£¤¥§§§¥¨¤¦¦¦£¢¢¥¥¦§§«¯¯µµ¶±µ¯°¯µ°¯®µµ¶³µ´µ±¶µ¶±³®®¯¶µµ¯°°°²µ³·²±°°³¹²´µµµ¸´½¼¼¼¼»»´¶±±²³¬¬¤§ ŸžŸ˜•”“‹‰xi[OKMSb’ÓèõùüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýúòêÜЭ^7000(&&(('&'3@FKKNJF.,'"#(1NC=>D0$"""####"!!!!!!!#",45,)($"'?][^`bYD<;;6$! !%,4=HKUY[\abcflehjommjighlsnwpsqxpqnroroopsstr{usstuvpoosquuvuursrussqmkmqttxwwttsxsuutqopwsrrxtsssqwqppqnsqoorkiilovu}vwvwqpputtrrqronnooqqtppnsoponjilrnjinjic]QQ[jhhhligd__adjeddedjjmdjhgeifddfcideedbabd_a`babacbfggeehkghca_ccc_`_caghijnnnnmhjjjf{wqqrx|„‡ˆˆˆ…|wxy~‚ˆ‰‰‹ˆˆ…„‚†‰ŒŽŽŒ‹ˆƒ‡†ˆ‰‰ˆ‡††‡ˆ‰ˆˆ‹‹”’‘••••••–––•——™˜š”••“Ž‹‹‰‡††††‹“—šœŸ£¡ŸŸ Ÿ£¡ žžŸ›œ››œœœœŸœžŸ   ž Ÿž¡¢££¦ª©§¦¦¥¢£¡£¢¢¢¥¦§¥«°¯¯±´±®°­°°±±°¯±±°±´³³°²±±°³°²µ³²µ°°¯±³µ±²³²²µ¶´±²³´´´´··¼º»¸»µµ²³¶³¯®¦¥¤¢ Ÿ›—’’“‹‚ui[MKKVf–ÜíöúüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüùñèÚЧ_:0+*(),151.9EQ[XVXY;+%   (*-02=0&#"! !!"""! !"##"$&=e?8=M)"+NJBZMPbA3.*%  ")/6<DORWZ]]^aadigdilljifggkmnnqoppoklmmnqnootssrspqppoqppnrruuvqvssrrsrqnlqwvuutssurtsrpompssqrusooorqqmplnnpnnmkeiknpvuwuusqmqptssrrsolnnoqrstqonoopnmjlmlkiinfc\PHXdcfghhif_``beebeedcghgejjfcjeegfchcbadbaab___bdbacbddeaglhdcc_]^^`_``cbfhklmnllkfieif‚~{zy|€„Љ’ˆ‡‚~~‚‰‰‰ŠŽŠ•ŒŒ‹ˆˆ‰‹””“–ŽŠ‰ˆˆ‰ŠŠ‡‰‰‰‚Š‘‘‘‘’’––š—™—š™šœšž˜š”•ŒŒ‹‹‹‰‡††‡‡‡Œ“—¡£¦¡£¡ žŸ£¢¢¡ žŸž žŸ¥ŸšžŸ    ¥¤¥¢§§§¦«ªª§¨¦¥¤§¤¤¥§¥©ª®°³³µ®®¯±±²°¶²¹²±°°±²²´²¸··±°±´²·³²²¶±±°¶³µ²´´¶³¼µ³±¶¶¸´¶¶º·¼º¿¹¼¸¹¸·¸¹³°¯¸®«§¥ ž™™•‘‰„woYJHKWm£âï÷úüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüøðçÙÑž^8-**+/<KDAGOYgb]VX?+$ "(&&&'&%#""   !!!!! !#+7*(4IgJIKE,%/XOE]B<81)"!   $(/8@KQUX]_c_`^bbgfghpmnihhmnoppoupqppkmnnmrqrotsstuprpqpsrrssrwwwvwtssvvuppryxytvuwvuvxronmntrqrtsronnqprnqmpntmqligkowvvvzvyrrosrttvvutnnropqwwwqoonnqpopqnmhhineeRGQfedeffgfcddbcdfeedfglhggjhefjeffgehabbdcbaaacafcccgdcdeeokfcd`^\``f_`adflhppplkkjgiiig„ƒƒƒƒ„†‰‰ŠŒŒ‡‡„„ƒ…‰‹Œ‹‹Šˆ‡‰ŠŠ‹ŒŒ‘“Ž’ŒŠŠŠŒŠŠŠ‰†…ƒ~{„ŽŽ‘‘’’–—š–––š—™™˜—•“‘Ž‹‹‰‰‡‡‡†…†‡Š‹Ž“™¡¤¢¡ žŸžžŸ¡ ¢›œŸŸ žžžŸœœ›žž   ž¥£§¦§¥§¨«§¦¦¦¥§§§¦§¨«­°²³´¯ª¯¬®­°°±¯³±²®±³´³²²³³·±±±°®®¯²±±®®®·³´°³³´²³°±±·µ¶µ¶·¸···º¹º·¶¶¸µ¸µ¶··±¯¬«§¤Ÿœ—“Œ†}rf[NNP^t¨áñ÷úýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüøïæØÕ”Y5-*4<GSUXZ[]jffZNC/)&$$$$$$#"##!  !""""%2338CTeRfU?,#.^A51,)'$!!   #&-29@FPTZ[`abb__`bbgfhikkjhiimllkonolllqmmnnnspposrrnnnpopnnnstsprsssttsqssqprsuwuttsrovuqmmlnoqpsssppponpppmnmonmmkhijprwtuvvtsoomrrtsvtttqoroqrtsqpppnlljnnmnidghihUGRcbdeefeedb`aaccdbddfhiiiijgghhdecfddbcdddc_abccdbddddeeeeniea^Z^]`a`^`aglihlkkjknifhhii‘’‹Œˆ‰ŠŽ‹ŠŠŠŒŽŽŽŽŠ‰Š‡‡Š‹Ž–‘’“‘˜ŽŽ”ŽŒŒ‰ˆ~zzwƒ’“”“–••—š˜ž™›šš™Ÿ”Ž‹‹ŒŒŒ…ƒ††‡ˆŒ’›œ¢¡¥£¡¡¡Ÿ¡¢£¢¦ ¢žž£¤¥¡¦¦¦ŸŸ  œ¡ ¡¡ Ÿ¢¡¦§§¨¬¨¨©­­­¬²ªª©«ª«®´²¼´³°¯¬°­¯­¯°³¯¸°²²·³´³¸²³²¸²´°°­­¯¶±±®¯²·´´°¶´·²²²´±¸·¹¸¸¸¼½½½½½¾¹»¸¸¸¸¶¶¸¼µ³³¶¯°¦£œœŽƒ{xvbSNP_z´ãñøûýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿû÷îåØ×–V6/6FUhih[\\`fibWNB8+ """""!##)+)#  !"""##'8@GMKdTHVlA,$,20*%#!    "(/6=CNRUY_```dabbcdffghmklhhhmmmnnmpoonokrpsorntqururrnqquopnnptsvpppqrvvvqqpprxrusrszrqswrnllnurttxtqooptnpppppopppliimqzuxuuuytrpqorstsvvwsrrrqtrwrsrsomlklmoqkhhkik[LNaedfjihefedcgghefbceiiijlligjhgehefcccfggdddeeeehikeedkijhnhe`]]daeba`bcmihhokjilljjjikj’”•–“‹‡ˆ‰Ž‰‹Ž‹‰Š‹‰†‰ŠŒ‘‘Ž‘Ž‹ŒŒ…ƒ}v|†‘’’“”““‘••˜—˜˜››™™“Œ‹‹Šˆ†……ƒ‚„‡‰‹”–˜Ÿ¢¡ œ   ž ¢¢¢£¡¡Ÿ ¡¡¢¢ £¤£ ¡¢¢ŸŸŸ¡¡¢¢¡ ¡¢¨¨©©«ªªª¬©ª«ª©©ªª«¯´´²³¯¯®®«¬¬®®²´²¯¯°±²³°±²±±±±²¯¯­®­®¯¶±°­±´µµ³°³²±±±±³±¹·ºº¸¶¹½ºº¾¾½·¸¸¹º¹·¸¸¸··¸´±®§¤œ—‘Š‡ƒ~wcQPPd³æôùüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûöíãØØ—R87CXmkn`VVX\dc_UQOP4"!"####&)07640)-32/-,26:OOPNCcNKKE?(!$(%#"!  !&+17>EJPU[^a`_``_`bbfgijhhhiigggknmklmljnnoknoonqmspqoononqrpnmnppppqqqnqrrppponrsurplrqposztonkotrqssstspqppnooononnmliijpssssstuttrnoosusqqqrqqpqqrsqmppponklmookgijkj^OPUdighighe_[edfcdddbdgjkkkjghhhfgeeddddafcddbaeaefggkffehfhjiee_____bcbacdefhikijfhhjdiikh›› –—Œ‡‡ŠŽŽ””••”‘ŒŠŠ‹Š‰ŠŽŽ‘‘””””–ŽŽ‘„}x€‹›”•–—”“’“–—œ—š˜ ˜•‹‹ŒŒ‹‰‡„ƒ„ƒƒˆ‹“™™ž¦¦§¡žžŸ ¢¢¤¤©§¨¤¤¤¨¥ª£¤¤££¤£ª£¥¢£¥¦§¨¢¢¤¥¨³©®«¬ª¯«¬«¯ª««¬«®¯´µ·µ´¯°±²°¯¯´³¹´±¯²²´²³°®²³°±±±¯±²²¯³°¶²¶±···²²±³³³±±±³´¹¸º¹¹¶·¸¹¹¾½¾¹¹»¿¼½½¼ººº¼·³²´§¨ž—˜š—”Ž‹€vbSOQeƒ¼èóùûýþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúõìäÙ׈M68IgnrnZQOUY]aXRQTJ<"!%(*--/5?CFDAFKLiI;>VLHSXYPMdLTFB0$        #(.6<BFOR]^^afccac`bbbcjhmjhhfikijjjknjllkjnnpknnpnqlssunqopnuqoooospprurqnursqsoorvsysqprqprvtrnmnssrrusrsvqoppospoopoonlilpxuussrvwwtqqrrxutpnpsonptrzrnovrrponssulhhklmcYJS]iikkkfh`[^fegcfggcfinjhijhhhigkegdefhcfcmdccegihhhlgghkfhjkdebb^^^aceghfjgkklijfhfjiihkgœœ™•’Œ‰‹•••””’Œ‹ŒŽŽ‘““Ž‘’’‘•••Ž„z~€†’‘‘˜”••–”•“”——˜˜—•’ŒŠ‰ˆ†„‚‚‚ƒ‚„…Œ‘–™›ž ¤¡¡¡ žŸ ¤¥¤¥§¡§¤¦¦¨¤££¢¡¡¡££££¤£§©¦¥¥£¥§¨©ªª«ª¬ª¬««««ª¬¬¬¬²³´°¯®±°²±±±²³³³²±±°±°°°¯­®°³°°¯¯®¯¯¯­¯®²±²¯²²³°°¯¯­±±²²³µ¶¶¶¶µ´¶¶¹¹¹¸º¹º»¾¼¼º»»¼»¸¶³°­¦¤££¤¡˜”†~ueWSRiнéôøûüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùôìäÙÜJ3;NfllkVINV[]SOMJHE1"!".951028@K[IGSnPMeZNEQmjihjQME741,#"   "&+07@BGKOUX[]acdccac``_ccfhiihfgijhgeghnjiekjlmmjnmmlrmoppnqoonnnpqppqqrtrqqoooonnnruvssstttrtvvrsnoorqsrrrrrvqpoppppppppkgijoutrssrrssrrqprsssqoprpnoqrrsooqsqplnnnnkfijjicXQKYdiiijhfbZ_cffecfhgdgijghiihhijeeegbfedbccddddehhgffhgijfbijfaccb\]^aeeffdihlkkiiddcfgghieŸš˜”’‘“’’–“’’––—”””•••—™““’–“”“““–•”’“‹ˆƒ}‚ˆ‹”‘‘“—˜™–—”–”™˜š•“Œ‹Š‰ˆˆƒ‚‚…†‹Ž–˜Ÿž¢¢¢¢¤¡¡¡¢¥§ ¥¥¤¥¥§¨¨ª§¨££¡ ¢££¤¥¤¤§¨°¨¨§¦¨°«­«««¬¬¬ª°­®¬¬¬®°·³¼³¶±°±´´·´´µµ³¼²°±³³²¬­®­­¯±³³·¯¯¯¯®¯¯µ¸º±µ°³´¶±¯¯±°··¸¶¼¼¼½½µ´¶¹¹¾»»¼¼»¿¾Á½½½ÀÀÁº··¸²®­®±²­ª£¡žš‹ƒ}gWPRkÅëóùûýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùòëäÞ݃H>AUgkmaSKMT^UIHG@:3(&'1@BA848?FVSMHW[VTcbcCHVTUKOYA4+%#"    "(.4;AEKRTVY___bjihcbccba_ddfhlhhfjilgffggmiifjikljjnmmmqoopqqqnpppptqpqtturppqpnmpmmqxuusqt|vxvzvwssoqrtuvsxswtvqppqswwwoplhfinsstrsrrsxruqpqtsyqposqposrvsspprvponnoqmjiopqg]QNVfhlikiifaaccfeddfgggmihgiiiinilgjefefecacdecgfefhfeeggkgddifdchcb^\^bdggkjjjmloiifefhhkhif——˜’’‘’’“•—“‘’‘““–œ›šœš–”‘‘“’”““““”””•‘‘’‡‡ƒ‰’‘‘“”—™˜”•“•“–˜‰‰‹‹Šˆ‡‡‰„ƒ€~‚„‰Š•šžŸ £¢¢¡£ž¡¡£¦£ Ÿ ¤¦¨¨¨ªª¦¡œŸ ¤¥¤¡¢¢¦¥§¨©©ªª©ª¯¬­«««©§©ª¯­®«¬­²³¶²²³´²³´¶··´´³´²²±°¯¯®­©­®®®°²³²²¯°±±°±°²´³°¯­®­®®­©¯°·¶¸µ»º»¹¸´µ·º¹ººº»»¼À¾¿½¾¾¼¹¸···¶µ·º¹¸·²®§¥£ š“Œ„{fUSSn•ÈíõùüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøñêàÝÛ‡H>Lc_\\_UKLOPPFA=3.(''1@N\K>6;CJKNKI_XRVXgCJUST;1/+(#"!     "(,28>CGJNTVY[]`cddghecb`bbb_deggfdedghlgfffghiifhhhhhhkllppooooomlmlopppqrsprpqrqnokmnquuuttttuuuutturrorrtuutusrrqpppqssurnlihfmtrrsrrrssrrqnqrttqnpmooonrsuospqqpknmopqlkjllh_SLXegijijghecbbbfeefghhhihffheihlfhffddfd`cadgecefffgffeggkeddhbdec_c^^``acccbjkljkjjgghiijhig˜—˜——“”“”•”•–’”’“”—¡¥Ÿ—™“””˜•——šš›——••’ŠŠ“™‘‘‘˜’––˜˜—˜™™šŽŒˆƒ‰‹ŠŽ‰‡‡ˆ†Šƒ„ƒƒ„‡‹’“œ› ¡¦¡¨¢££¤£¨¢¥£¢ Ÿ¢¨©¯©¨«­¢žŸ¥§¯¥©«­¨§§©ª«­²±°°°¬¬­®ª¨©ª«®²µ´´´½´·²´³¶´¹¶¹¸¸´¶¶·²²²³°±°°¯±±³³³³³´´²¸¸¸´µ³±°°°°°°®±±±¯·´¸·¸µ¼º¿¹¹º»ºº¹¹ºº¼¿½À¾Â¿Ã¼º¸··¶º¾¼Â¿Æ¿Á»¹µ²¬«¥ ˜’†weVQTsÏîõúüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøðéÝÝ×€GAXVNLM^[KJMNJF?:2(&&,8G^WR>7;FGHGGJfjY@<PpPQ<2,'$#""  %+06=EJPRSSYX[_eeecefhedcbbgbbcjklfdddefglilefghhlfmggfjhkklnpppppmllpmooopsrtuutsqrnnnrswwztstvuuw{vttzrtpwswvwxxstpoprprqqpomjikmvsstwtustsrqqquttrompoooqrytuorqyqplnntpqlolmidULTehlkkkkkleghjiginhjjnjgfegljjikeieddccc_bchhfgljkhihkeigjeffgffcc_b_``aacbbdklpklmnijjmmkihi–”—–•““’’“”“’’’”•˜ œ››˜™˜™“•–—–—˜™™˜—•’Š‹‹Ž•”‘‘’˜’–—˜–˜——‹‚€‡Œ‹‰Š††ƒ„ƒ„„ƒˆŒ”–˜œžŸ¡¡¢¡ž  ¥£¥¢¥¢¢¢£¥©ª«¨¥¡Ÿ¢¦§¨©¦©©¬­ªª«­®¯²±°­®ª­®­««««¬²···¶µ´´³²³´µ´´µ¹°²²²³´±±°±°°¯¯¯°²±°±°²³³³¹··µµ¶°®±±±°¯­¯°°°¶³µ´¶´µ¶¹¸¸¸·´¹¹ºº¼½½¼¼¼¼»¼¸¸µ³±¹½¾½½¾À¿¿¼¼»¶²°­¨¡™ŽwhYWVv£Ñðøúüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ïèÜÜØw@7GQF>O^WKJOHDB>;5+',2@NOQB4348:?BDGjgC+2AEJ7(&$#!! ! #'-2:AGKMORTUVZ\_cfeeehlfbdecbdcddjhfcdcbafegggeeeigkfedddffkjlmqqolkhiillnmpprrtqtrpnnnnorssssqtvrouwvsrqtrrqqrvuuutqpnnnoomlnnljjjnrqprtuuvssqqqsusrtnmmqqppsuvttprppookmmnnmjmlngWLVcfjlmlklme`jkigiiifijjkebfhhhiiheeccccc`_cdefghiijfigkfgfgeeddcbba_`_`_aacddekllkmlljiikmjhhišš›šŸ””‘‘’˜™Ÿœš™˜›˜—˜š—ššš™˜™š›œ›Ÿ˜••’ŒŒŽ”•”““‘–”˜——™œž ›”†|ˆˆ’ŒŒ‹‰…†ƒ„ƒ……†Š““š›   Ÿ¢¤¤£¢Ÿ¤£¥¤¨¤¤¥¥¤¦¥¬©¯¦£  £­¦«¨ª©«ª¯¬­­­¯³²¶²³³³´´°²±µ°¯±º·º¸ºµ¸³´²¸··µ»¶¹¯±±³³¶±³°²±³°³³³°®¯³³¶¶·³¹¸¸¸¸µ°¯¶±¸³±±±°±±¶¶º¹º³µµ¸¹¹¸··º»¿»Æ¼Â½¼»¹»À¸¸³±¹ÃÃÃÄÄÃÁÁÂÃÅ¿¼¼¼µ¶ª£—Ž…~l^VX{­×ñöúüþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþöîçØÙÚm95@??CTTTMHGA@?=<4-07?ILNE90)(*19=?DoQ/%&+/-'#!!"!! "  !%*/5<BJJRSTVZYYZabdilhhhmgedddfghhgfjgddecacgfiffhkjjgkfieeefejjmmqonjhgiklnppvqrstrtqpqstuuuutttqwrqqvvvqopwssrtsvv{ttsropnnmlkonjjlnspooqtuuyssrtswtrssrqrrqrrvwxstqtoonnottvmmlrlq\NScgkkompkngdclkihkjjjmnricelhiikiiedcfb``_`cegejilhiiiijjjgiihddbcaa^^_b`cdkhigpmnmolkjihiggini™˜™™˜•“‘‘“—šŸŸ  š—›’•”–•••™•™œœœ›š—‘ŽŒŽŽ”““’‘‘‘•”——™›™šŠ}|ƒŠŠ‹‰………„‚ƒƒ„ˆ‹Ž’•˜›œœžžžžžžŸž¢£¤¥¦¤¤¤¤¤¤£¬¨¦¢¡ ¤§§¦¦¦©©ª¨««®¯±³²±³±²´´´´±±±±±³µ¶´´µ¶´´³²²³²¸µ¶³²®¯°²³²¯¯°°°°¯±±²¯®¬³µ¶µ·³µ´·²´³±°±±´³²°±°±²¶·¹¶¹³³³´²³³¸¹»½½»º¼À¿½º¹º¹·¶µ»ÀÃÂÂÁÄÅÅÄÃÃÄÀ¿¾¼·µ¯§ž˜’‰€p`[Y|®Øò÷úüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþöíæÛàÒc839;>EQZXOD@638<82/<AMJIE?9.+%&+7;<=@B*$#$$$"!!     #)/5:?CHONNTXYZZY[]cggkkhhggcdedeghiigfjeeeedddffffghhffffceeeffekjlllmjhhhjlnorrsorsrqporusstotrsrqpqoqrqnnnoptsrqtvvsrqrvqmnnnmmmookimopooprtuutttqtsussoqqqooosrrqpntqolonprqoolmmnl\NUbdgjikkjhe`efkjiijijjoolggjlgiiihidcbb_`_beeggehilfikiijihggedadaaa`\^]b_edffhhokkkjjjkjhighjmhœ™›—™”’’’•œŸ§¢£œ›–š›œ—™”“–™—œœŸ›™—“‹ˆŒ’š“””•Ž“’™™šœ£›’t‚…“Š‹‰ˆ…ˆƒ„‚ƒ„…ˆŒ“˜š›œŸ¤ž ž žž ¢¤¦¦«¨©ª«ªª¥¨¦¬¦¤£¤¥¦§ª§®ª°©ª¬±±´¯¹¸···²¼´·µ»´¸²²²¹¸¸´´µ¶µµµ¹··µ¹µµµ´¶¹±±±±³º´µ°°°µ³´´´³´µ¸··³µ´¸´¶²±±±²µµµ²´²²·»ºº¹¹¶¸´µ¶¶·¾½¼½¾»À¾Å¿À¹¼·µºÂÄÆÄÉÃÅÅÊÆÌËËÊÉÉÉÂÀ»¼¶±©£›–‡qaWYºÝòöúüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõìæÖßÈ[637;>FP\dJ:0).654/08D?:;<<:86'%)31025/%"!! !!!!   !!!!%*07?FKPQRV[\\]_afddekhjjnikfdcldehmlpjjhkefhkedeijmikiheeffdfeffhdljpkkihihjlnppvutqwsqonovvussstrvqnnoqwrsponqsysrswvvsupoppqxnomrstnmmrqqpppvtyxwvutztvsrpsruoos{rqommsqnmpqvsronoppr_PP_cginjkkjgabihjjmjlkkjwnhgklmjjhihieebbbabfelhjjlllioklhhhfglddde`bba`a_bbgfhhmjpkkkkkjjoklikkmh˜—š••”“’”–œŸŸžœ—›—––˜——••–––—˜—˜Šˆ‡Œ’“••’‘Ž“’˜š™ ‰~zq{†…†…„„‚‚‚…ƒ†‡Š“™›œœœœžŸšŸš ¤¦¨¦©©§ªª¨¦¤¢¦¥¥¥¥¥¦¥¥¦©¤¨©ªª­¯³µ±®¯°³µ´²²³³³´²¶²³³´°°°±¯¶±µ¶¸·¸µ¶³¶¶¶¶µ±±°±²²²´¯±²´³³²³°´³´±±²µ´³³´²²±²³³³µ±´µ·¾ºµ´²¹·¶¶¶³¶·¾¹¹¸··ººººº¸»´¹¾ÂÂÃÂÅÃÄÆÈÇÇÇÊÊÉÉǾ»»»¹¶¬¤ž˜€o^Z[ƒ¾ÞòøúýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõëåÚݪR56=@BFQ]O<-!%*42.+,.,*-08D9@2)&(()('%%#!!        $(.5<CINRWUUW\^```bedeffggiiigfdecfdhjkkkkhfedgkfcehkkjjjifcfdcbdfikhdljighghjklnoooooppppomopqrrssssrqqolpsurrqportvstvtrsstnmmpuqlomsqnkopstrnpprqqqqqusttssrorqpmqusspnnnoponqtsqponnop`QTZ_dgjkkjkieeghhjkjhhgjkjieejlkjjggfedebbbddggiilmkijiiiiffefgfcbbbab_a]`_aaffghjihhiiihhhijjhihih™˜š›š˜—œŸŸ›œœ››Ÿšœ™™™š–––——•І‡‰Œ”’–••‘‘ŽŽ‘“š¤•~o|w|ŠˆŠ‰ˆƒ„‚‚€…†‰–—š¡¡¢£¢›œž›ž¡£¤«§¦©©ª°§¤¢££«¥¦§«¨ª¨ªªªªª©±®µ°¸³°­­¯´²²±µ°±²µ´¶¶·³·®²±³³·µ»¸··¾µ½¸À¹¼µµ´³³³²·´´³¸··´µ¶·³³³³±²²´µ¶··´´±·³³´´´··¹¹º¶¶µººº¶··¼¼¾½½µ´¶¼¼½¹ººº»ÂÂÇÄÅÂÉÇÍÌÌÉÍËÑËÎÇÆÂ¾ÀÆÄľ·¯¯¡™„o^Y^‰Äáó÷ûüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþôêâÖÜ‹G5<HKMRUL?0#!#*1-+)(&$$%,69:4-'$#$$#""""!     "#*07AFNOVX_[Z[\^cchefekkjihjoijeffghihmlnmnigedehfddgirihimgeeeddbcfmjhhkhgfhfikoputtoqpqqppooursrqs{stsrrrrttzswttttu{vxvtttstpqorqnnnosomnvswtuuutuqqqprutttwrqnxppqvuspnotnmnoqwtspposoqdUQ[adhjlnlljhhijkimljjjinllcbfnmpjjgfeccfdedigkhjippnjlmmikfgdiedbcbbbbbabccddefhhkjihliigghkkjhjhhiššššž™——•˜˜ž˜™™›œšš›š˜™”–’Œˆ‡ŠŽ‘’’ŒŽ‘“•’ ‡|vjv‰†……€ƒƒƒƒˆ‰‘—›š žœ™™–™›Ÿ¢£¥«¦¨«ª©¦¡ ž¢£¬¦§¨©¨©§§¥¥¦ª©°­¯¯¯®®­­®±¯¯­­®¯°´´·µ³±±®²°³´µµ¸º··¶µ¸¶¶´µ±µ·¶´´²µ¶´³·¶·²²°³²²±²°±²µ¶µ²µµ´²±±´¶¶¶¸·¹µº¶¶´·µ¹¶·¸»º¸´³­´´¸¸¹·¾ÀÁÀÂÂÃÃÂÂÈÇÉÉÌÆÉËËÈÆÃÂÂÂÂÅÇż·°¥Ÿ•Œ~ob__‰ËäôùûýþÿÿÿÿÿÿÿÿÿÿÿÿÿþýóéáÓÎq:3CEKQ[M>2&$$%+)('&%#""$(+.,*'""!#""""!!" !!! !#(-4:@FMSTVX[^\]___bbccdekijkjlhdcafeffggllmkifgcegffehghidfedddddbdceghhiikgffggjknpqrpnpqommmoptrsrsuurrrtsssuvvsttusuvuuvwussssqponkmmnpmjnruuvssqploqqprrrqqqroommmrtttsnnnnmnpqrvtqmnllleYST`ijmnqnkjjjjjjjggfgeijkma[dhkkjiiddccdddeehhigjjjjkllklikefddacbbabbbaa``aefedhikmihjihhhhjjighgim¢¡¢ ›š—–—˜šžœ¤ž¡Ÿ›š›œ™™––‹‡ƒ‡’’’‘‘‘‘—šœ›–yixox‡Š†…„…ƒ…€††ˆ‹Ž•—œœœ¡¡œœ™™——¢¥©¦«§®¬¬¥¢¡¡¡§¤¬§¦§«ªª¦¦¤¥§ª«±­¯®­­µ°³¯´¯°¬²³¹¹¹¶·³²±²²²³µ¸»¶¸·¶¶¸µ¾·¹¹¹··¸º·¸¸¸¶´µ¼µ·±²±´´µ¶µ´´µ¶µºº»·¸···½µÂ¶»¸¹ºº¶¸¹»ºº¸»¹¼»º³®°´µ·¹º¾ËÁÃÃÇÂÄÃÁÂÈÇËÊÎÆÉÉÉÉÅÅÊËÍËÈÈÈÁ¿¼º°­¡šŒre]aÐåõøûýþÿÿÿÿÿÿÿÿÿÿÿÿþüòéßÓº\319BGUNC3)%$$%&%%$$##%"#%&''%$!!!""#"!!!!!%*07>GKPT\]\]c`_^ba`_cbecdelkojigfcaafflfggmmoigfghjggeffhhiejfgccdghiiijjikjkhiiikpnrrrqonqonmnlprttutzuvtwtvtxuzvwsuwyuxx}wxxwrqrvrsnmlqnrmjlpsuvzuyrqnoquuussrqquqppqqxvztrqrqqnnpusvrpqrlnidST\jkoppommtjlklkjjkjihmnrbX^mkokjigceedfjjjkmllkjkmkkllklikeheeeedeabcfa`_`bifedhimlihijihjklihgkklj£¤¤¤žš™——˜šœœœœœžœ›šššš—”‘‡Š‘‘‘ŽŒ‘’••”–š‡}tdr{‡†…„€€€~‚€†ˆ‹”—˜šš˜œœœœ˜›šššž¡¤§¦¥¦£¤¤¤ ¡¡¢£¤¥¥¦¦¥¤¤¤¤¥¥¦§««¬¬®©­¬¬¬­¬¬¬®®³µ·¶¶µ³°°®²²´¶·»·´´²µµ·µ´²²°¸¶·¸¸··¶¶¶¶¸µ¯®®²±´³²°³²´µµµ¹¸º¶¶µ··¹µµ¶¸¸¸·¸¶¹º¹···º¸µ²²²±²µµ¸º½ÀÁÂÃÄÁ¾ÆÂÂÃÆÅÉÈÇÁÀ»ÉÉÈÆÉÊËÌÅÁÀÁÁ¿¼¶²«£—teccÓéõùûýþÿÿÿÿÿÿÿÿÿÿÿþüòèÝÕ¦R.-05:>D3'%#$'$$$$#####""####""!! !"!!     !%(/5;BHQRSX]^a``bca_ba``bbcdeflnlihecbccdeedghjjhefffffggefdgfedgfecefihiklkjhkkkihhjmnnqsqpoormmmlmprrrusrpututtturrrrruxyswwvwyztorqpmljmlqllimquvvvussrpoqrssvvutsrrrqqrswvusrqqrqjoputvpqljiifUIXajkmllllkjikimjjhiijinpfZ^dijkijhgccceghfiklklkkllklnlllgfeffeabcbabcca`_abiedbfgnkjihhhhjgkhhhfbji©©¨¡œ›™ž›¤œ›œ¢¡¡¤¦ž¢—•‘‘’”‘’’’ŽŽŽ‘“˜—ŸŸŸzkght‹„„„„‚‚‚†Œ‘•œ›Ÿ™šœ¡¡££¤ Ÿ¤¢ª¤¥¥¦¥§£©£¤¡¦¢¤¤¥¥¥¤¦§¨££¥¦§¨«³«««¯®¬­®¬­¬¬­¯³¼µ·¶µµ´´µ²·¶º¹·····µ¼¶¸´´´´´¸·À·¹¸·¶¼¶¶µ´´´´º´·²±³¹¹¹¹¹·¸¸¹¹¹¹¹¹¹¶¶¶¸¸¼º½¾À½»º¿¸»´°±²²º¹¹¹¼¾ÃÀÆÅÅÁÀÁÇÂÈÈÊÅÎÄÆÁÁÄÉÉÒËÐÉËÅÁÂÂÄÇÃÁ½¾µ°¦ž’‡xkcg˜ÜèõøûýÿÿÿÿÿÿÿÿÿÿÿýúðçÛÔ•J+))*/30'$###$######""###"!"""#!!!!"" #'-3:@FPSWYZ]__`bcbddebbbcbcfifglsnlhhddcdehiigghjgffgflgiijeecgddfleefkkriklnmlllllihikmtnqqqopotllkkmpqvtuqpqvtws}twrssttxxyvvwxxzvsrrpokijmlqllmuuzyyuvvwrpqttttywyxxttsrrvvwxwvvvvrqoprwuvpqkkikWJRgclnqnoosllhojmjjijjnkqjb^gejilijggefffhkjjlnkolmmnoolkklhjfgfea``_`bbdbbbiejddfljomqnlklikkkkmhecig¡žžœ››žœ›››œ£¡¡¢žš”ŒŒ‘‘’Ž“”––‚r^joy‡††ƒƒ‚‚€ƒ„„‡‹‘’—™œŸšœ ¢¢¡¢›  ¢¤¦¤¤¤¤¤§¢¡¡¤Ÿ¦¡¡ ¡Ÿ¤¤¦¢§£¦¨ªª««­©ª««««©««­¬°´´´³¯®®°°²³´±·¸ººµ²²±³³³²¸³³±´µ¹¸·¶µ³´²²³´³µ·¸·¸²³±²³¸»¹¸¹¶··¸¸¸¶¸´····¶·½º¾¾¿¿¿º¹´³¯°±³³¹µ¹»¿ÃÂÀÀ½¿¿ÀÂÂÂÇÇÇÅÁ¼ÃÁÇËÊÉÉÈÆÃÁ¿ÄÅÇÉÇÅÄÀ¾¼¸²ª •Ž|lii—ÔéõùüþÿÿÿÿÿÿÿÿÿÿüùïæÙÕ…C*(''''&%$$##"###$##"!"!""!""!!"!"  #&+/6<BHKPV[\]^_`abdb`edeccccdhmigjponjfc`dcefghhihfeeeigggdcaieecccfgfdgijiiijkkjjjmolhjjlmnmonooommjkjmnoorupmpqqqssstsrrmtuwuvvwyywzrsqpnmjklmmlimpvvxwxuutvqrsuwvtwvusuuutttuvussprqqoomprutspqklfXJS`adnpnnopmgjikjjjifghmihb``gekjlhgffdeeijjjlpmkojjikonjkjmfeeffcaa___babbccdeeaehklmkpomllgjigehhgdee¡¡¢žŸ  ¡¢Ÿ¡¡  ¥¤¥¢£›™’Œ•””’”Ž‘˜˜™›œykf\lƒ‚†‚‚‚‚„‚€€„Љ’”œ˜Ÿ›¡   ¡  ¡£¢¢  ¢¦¤¨¤¥§¬¤§¢¤¤¤¤¦¡¢ ££¤¥¦¦§¨®¬¬¬­«°¨©§§«¬ª­«®°¸¸¸°­­¯­­¯²³µ±¾º¾¶³´¶µµµ¶²¸³µ²¼·¹·¶µ´²¶³·¶¶µ¸¶¶¶·´´¶º¸½¹¸¸¹¶¾»¿¸»·¸·¼¹ºººº½¼¿¿Ã¿Æ¹¸´²³·¶´¶¹ºÀÀÁÁ¿¾¿ÃÁÁÁÆÅÍÂÁ¿¼ÀÃÇÎÌÐÉο¼¿ÀÄÎÈÊÈÈÅÊËÎÅĽ·«¢›}pjn›ÜêõøüýþÿÿÿÿÿÿÿÿüøïåÙÖz=)&%%%&$$$$####$##""""#!"" !!!!!!!  $)/38>EIORTZ````abgcgcbbefffffihmmmnonlkjdbbdchhkjokmhfddfhgfbacjfecbdkgeglkjgghqllikkmmljnownqoqnnnokkklmpppprqmntqrqttwssrqqutxvwu~}{xyrxpnnmlqrrnllssww{wyyytuuvvxw{uxvuswwwvww{vtsuutpoprpwtytsoqmo\OP`abipomnoollmnojkjifgimjeb_cgekllggffgjkmmqmnmmlollijmnkkjoihgjebbd`b`baccfflegffinmqmoopllhiigfggkfgh¡ ŸŸŸœžŸŸ ¢¢¡¢¢Ÿ–‹Ž‘“‘ŽŒ’“”•…‚pZefsˆ†……‚€„ƒ„ƒ‚ƒ…‡‹Œ‘”–™›˜Ÿ››œŸ¡ Ÿž¡  Ÿ¡¤¤¢¤£¥¨¦£¦ £ £¢¢ ¡ž¢¢¥¨¨¨©ª¬¬©¦§§¦£¥¤¦¨«§««¯°¯«ªª¬©¬­­®³²¶°µ¸¶±´´µ¯®®°°´³³³´´²°±¯¯¯²±µ´´´¶´´¯¶µ¸»¹··µ¸·¸·¹¹¸·¼´µ¶ºººº»»½¾¼¼¾¿¼·¶³´µµµ¶¸»½¿¿¿¿¿¼¾¾ÃÂÁÁÆÆ¿·¿»ÂÇÇÌÊÊÇû®½¾ÅÈÉÇÈÄÅÅÊËÌÈǽ´¯§›rlk˜Þìõùûýþÿÿÿÿÿÿÿû÷îåØÓo9(&%%%%$$$$######""#"##!"!!"!!!  !"(,27?EIMOQUX]ecbccddfccaccdcfeggijjkmnojheeadhediigfiiigedeegbf_bgeccadffdgmjffefhiiljkkkjjjonnnnmmjklkijlnpomopqpoppoqqsrpooorsutuuuuz|zzuqqpmhlmpspmmptuvvvsusqpuwvvxxzuxutsttvvwwvttsvusoqrrqqqqqpmki_RU]_ahppjkkllljjjiffefdhkml\Taggglhgggehjklnnolnonlnklhjklklhhihhfccbb``_``bbddeeggjmmmnllllljghhhhgeefgh££¦¡¡ §§¦ ¤¤¤¡¢Ÿ›’Ž•‘‘’—‹Ž”•–˜˜ykeYfxŠˆ…ƒ€€…„„„„‡‹’’˜—™™œ› ›Ÿ ¢¡¡¡¨¡¢¡£¢£¢«¥¥¤¤¤¥¤¤£¤£¢ ¡¡§§§§­ª±ª¬ª¨©¨¦¥¢§§§¨ª¬±²²®¬­­¬­¬¬­®±´²·°¯³··º´´¯°°´±µµºµ·³±¯°¯´¯±²¶´¸´¶µ´µ¶¸¾½»¹¹·¼¸¹¹º¹··½´·¸À¾Ã¿Â½À¼»»º¹¹¹»»º··»¿¿¿¾Æ¾¿¾ÂÁÁÁÂÄÈÇÆ½¸¼ÀÃËÆÆÇÇÄÀ¼¶»ÁÄÌÉËËÑÎÌÍÎÌÎÊÍÇÉÀÀµ©œ}ogkßêöùüýÿÿÿÿÿÿÿúõíäØÏf5('&&%%$%$$$####%""""##!#"!!! !%)06=DKQUYXWX^`ijiegghffffcefheggkkmmoosnoifdddkffgjhffjklfeegghceffdbbbcgfeemkiffefgjimmnkliomqnnmonmihhhlvpqpnosqqqsppqtstpmmmottvvvuyv{ywutuvollqqqnlmpsywyuvtxqoqvwxwzz{vxyysutzyyvtrws|usqusvrtqpppjhaWT]`agropikltlllligefefgklraV[kkoklgffghmlqoroompppnrmmlmmnkqhkihhfdfcc`b__adcddhfgkonqnomlmqmjhjinjihigge¢£££¢¢£¡¡ ¤ Ÿž˜“‘‹Ž‘“ŽŽŽŽ“”‰p\ddp…‚Ї†…€€€‚‚„…‰Š‘’•————š›œžž  ¢ž ¡¡ ¡¡¢¢¢£¦¥¥¡¤£ £  Ÿ Ÿ¢£¤¤¦§§©ª¤££¤   ¡¡£¥§¨­®±­ª§¨©ª¨«¬¬«¯³±°°¬¯±·¸¶³µ°°°°°²±°¯¯¯°­®¯¯¯°°°±°°°±µ¸¹¹º·¸¹¸¶·µ¹·¹³µ´µµ¸º¿½¿½¼¹¹º·³²²ºº¹·¸·¼Á¿¼¾¿¾º¿½¼º¿ÀÄÇ¿º¹µ½ÀÅÊÉÅÄÁ¾¸¸ºÁËËÉÉÉËÌÎÏÑÔÐÌÌÊËÈÈÄÃÀ³¦˜‰}ollšÞíöúüþÿÿÿÿÿÿúôìãØÄ\3('(&%$$%$$$#####!""""!!"#%(.3:AGPTY[^]]]]aceghcfggdfffdgjfegillmmopnjieeeddeegjjhggjjgdeeedcceeeaccdeddeffdffghfgiimmjhljolpmlljfedffjmppqqqqoortrnpsrrrmmloppqvutryuxvtqqpoknpqkjilnrtuuutwrroruvyvttttsxuutttvuurrrstttspvttqpooqlfcZWY`ejoomljllnkkjihgdeeghjlaT]fjiiihefgjjlmmnommlllnmmlljkijjjgigghedfcb___`bcddbieiopnmmononpmkgggnihghfgc¦¥©£¤¤¤£¥ ¥Ÿ –‘‘‘‘“’—”~reWetz‹‡ˆˆˆƒ€€~‚ˆ‹’”““–›˜œ™žš›œ¢ ¤¢¢¥¡  ¤¡¢£¤¥§¦©¡¥  £ Ÿž£¡¤£¦¤¦¦§¨©¥¦¦¦Ÿ¡ ¡¢£¦ª­´¯±ª§¦©ª¬¬²°¯¯µ¯®®¯°²²ºµ´³´´´³·±²²±±²¯±­·°±°´°²²³²±´º·»ºº··¹¾¸¹¹¹¹¹³ºº»¼¾¼¿ÀÁ¼¼º¾·³´·µº¹¹¸¸¼Â¾½½¾¾¿¼»¾ÆÂÉ»µ·¸¼ÈÄÉÉÊÃľ»¿ÆÅÏÉÇÊÍÍÌÍÜÓ×ÒÔÏÐÐÑÌÌÇʾ´¨›‘‚tkn âìõøûýÿÿÿÿÿùóëâÔµS0'''$$$#%$$$$###$"###"  "%*08@GNTX[__dbbbbefeeghikhgfjgfgkifgkmrnpmrnkiiddejfhgjjnhjhkgfgjedeffifffgggdccdeeeffjggglmmjghmlonpkkkjdadeflmorwtvpnowtqnpswqqlmmurxqutrqzvyurpoomntqqkjjpqvvwuvuxrqqvvvwwsrtyxxustwxzwvsvr{ttssrvtxrooplkebWW^ciuppkllqmnkljjhkjiiijocXXhijjjhhhghpqspsoqmnllkonmmmlljrjhgjfgffeeba`a_cdkfeehgkppmmmunnnommjkjmigfgghg¥¥¤¡¤¤££¡Ÿš–”ŽŽ‹Œ‹’–Šsbd\lƒ‚Š…‚}~~€‚„ŠŽ’‘”••–—•š˜——š››œŸŸž¥Ÿ¡¡¤¢¤¦¤¤¦¤£  žœ› Ÿ ¡£¢¤¤¥¢¡¡¡ ŸžŸ›¢¢££¥§­±¯««§¦¦«¯®­±±±®­¬­­°°±³µ²²³²²³´³±°®¯®²¯°¬­­±¯³®±²³³µ¸¸·¶´µµ¸¹º¸¹¸¶µ´³¹¶º»»»»¸···¸µ²´µ¶´µ²¸·¼À¿¿½½»½¾¼º¾¿Á½¹®´·¾ÁÂÂÂÁ¿»¹ºÁÇÈÈÊÉÉÊËËÍÎÓÐÑÎÏÏÐÑÑÎÌÇÇÄÂÀµ«¢•†uqs áìôøûþÿÿÿÿùòêâУL/'''%%$#%$$$###""!""!! "$*/5;CLPXXZ]``aaaaadeffgiiijhggggghhhhhknnlolkiihebdfgehhiiheeeddgkiefihfeeggdbbbccddghgegeghhfffghmknolijjjbdffgkmpssrtnpqqqpmqqqmnlmnnooppprrttttroooonpnlhjkoqrprsttuqrswvvtsrrrtuvsttwxwuwrsssssotsusstqplhhdWQ\bfkoooimlnmkiiiigggjjigcZ[^gjjjigggijqsropnmjjjlihhjjmllkkkjgheeecabbb___edghhghhmoomlkmmnnnnlhjkkkgefeec¦£¢££¢£¡ž—“‘‘‹Œ–—™ueVbktЇ‰…}„~~„‰ˆ‘•–—™š™™•š™˜—™šžž žžŸ¥ ¤¢¥¢©£¡£¨£¢ ¡žœ››¡£©¤¨¤¦¤©¡¥¢¦žžŸ£¥¨©¬§±¯®®®­®­²°±±·´¸­ª­²¯³±±±·±±²¶²´³³®°°±¯²®°ªª®³¯²²¶µ¹³¹¸¸·¶´¹µ¼¼½¸¸¶µ´³µ¹º¿¿¿ºº¹¾µ³±¯³¸·¹¶·¹Á¾ÄÀÁ¾¾¿Ä¼½¼»¿ÇÁüµ¸¾¿ÆÃÌÄż¹¼¿ÂÈÆÍÉÊËÌÎÒÒÑÐÕÔÔÏØÖÕÒÔÐÓÌËÍÐÅÀ¾º©‹|tw£ÝéôøüýÿÿÿøðéâÑ’E.''%$$%%%$%####""   !%*18?GMWZ]aefgghbbaddggjimnojnhjikhhgfhkkllmloigfddcdddgfjhkihfgeffjihfjjlfeemeaaabedhhkjjijjjjjfhfjjmlrljhmklkkknnoptrqqtprrsoporrrqpoonnorppqtstuuuursssttliilosruppr{tvrutwwwsttuuuuztww|wwvxrstvststtzsrrtojiiXNVgglnqnomumolkhmjkfgijilg^\^bgilihhllmmrqrssmkighkkkhiinnplmmmjnffcbbebb_`bedghoikkooqmlklmpnolkkkkkheehege¢ Ÿœ›–“ŽŽŽ‘ŽŒŒŽ‘“ŠudbXhx|‰†ƒ}~~}~~€‚ƒ…‡‰Œ‘•˜š˜˜™—˜”””––™šœžžŸ ¢ £¡¡¡¢ ¡¢£  ¡ œ›ž £¥¤¢¢¢¥¤¤¢¢¡Ÿš ¢¦¨©ª©§ªª««¬­°¯°­°±±¯®ª¬°°®®¬®­°°²²²°´¬««­¯¯®¬ª®¦«¯°¯²³µµµ³¹´´±³´·µµµµµ·´³²µ·º»½½¿¶·¶µ¯¯¬°³¶¶·µº¿¿¿¿¼½º¾À¾·º¹¾ÁÁÀ»½ÃÅÆÆ¾¿¿¼µº¼ÄÊÇÆÉÇÊÌÐÒÑÐÐÐÑÑÑÏÙÖÔÐÐÎÏÌÎÏÎÈÆÅ·®¦’xtÜêõúüþÿÿ÷ïè×Ё>,&&%$$$$$$$####"  !&*/4;CIQTX[^cifeeeha``ddhhiinmnjjggfffgfgikfllmjiggcbbbabcgfgffghcddggifgfiljhgggcccbafeghhhiekijfffeekmmlkhjimmmlmmnloppqpnpoqqsmpppopoononoqqopqsknnoourqoqnlgjkpsrrtpoottsrrqwusqqqrprsstwyyvutxqssrruxvttqrqplkjZMU_dhmonkkknmifhhhggfjkkhhd`^cgghhfgimnnopnnkjjkigfmnkhhgfffgjiihhgdabc`]c_bedddehhkknnnlkklmnnoikggegffeee`\£ ¡ ¡—•’ŽŒŽ‘˜™š…€hYado‡‡†‡†€}|~ƒƒƒƒƒ†‡‹‹Œ‘–˜œ™˜›—™Ž‘–™šš› žŸ £¡£¡¨¡¢ŸŸŸ£¡ŸŸŸžž¡¦¦¥¤£¢§¢©¥¥¤¨ Ÿ¡ §§­«­©§§«¬«­µ³¸²´¯´®­¬¬©³±°­®­±°±°¶µ´±³ª«¬­­­©§©¬¯±°´³¹µ¹´´´¸¶¶³µ´ºµ¶µ¸µ¹º»»¼º¿º»½¿¶º´±¯°±¶µ¶¸»»Â¾Ç¿Á¿Ã¿¾¼Á¿Æ¿¾ÀÃÄÇÂÉÆÈ¿À»·¼ÇÈÊÇÆÉÍÎÎÑÙÔÕÕÕÖ××רÚÖÕÒÒÑÔÔÔÑÏÑÒÑÑÅÅ´§’ttŸØæõøûýþöïçÑËu:+&&$$$$$$$%"####'+19@EKS\^`aafniifgfgfghjinnmkpoojiggefgihhhlkklmhfghbbbcbbdffifhgheddghjiiiijkjihgggcdcffkkmijkljkfhgjkmopkjjlmrpsoqqqopppppqroqpsotttosopppqvsvttrtnnnnouqpowmkippvs|utouqrssssrwtsqqpwpsrttxxyvuswpsqprvwwtsquqpnq^RR\`eksnmlpkmjgfhhgghgokkhib`bhjlihefinotrroplkikjhhnlkjigdefgjjjijebbeb`_b`eejgiijkonnonkjkrnnmpjlhhhhffhld]_ Ÿœ˜”ŒŒŒŒŽŽ’•”’yjdVguz†„‚€}{{z~€~‚ƒ…‡‰‹Œ‘”—˜šœ›–•“‘‰—œ›™š›¡ž  ¡ŸŸžžœš Ÿ £©§¥¤¤¤¢£¡¡¢¢¤£¡  ¡¨©©©©§¨¨©¨¬­´±²²°¬¬©¬ªª¨©ª¬«¬«°°°±¯®®­­©¨¦©§¨¤©«¯±±±³´¶³³°³´¶¶¶³²²´µµ´¶µ¸¹ºººº»··µ¹·º°°°²³µµ¸¹½¿¿¾¿¼À¿¿¼¼¼½¼Â¿¿»¾¿ÂÂÃÂÃÅÀ¹´­¹ÂÄÅÇÇÉÌÍÍÑÓÕÓÓÒÓÓÕÓØÙÙÕÕÓÓÓÔÐÒÒÒÒÒÒÏÇļ²¢‘€vq—ÎæôùûýöîæÎÅi7*%%$$#$$##" #%*/5;AJNQV[^aaafljgieffgeghklmmlkkkkhgfffhhiijhmpmlleehc`bbcdefgffefgffedfehhhhhggeiheegbdcefjkjhijjkhdggjiihjjklnoooonpononnpnnoonnnolnnooomorrssqutrponnmopvpqplfiipsssvttpuqqqrqsrsrrqqqpoprssuvzsuqrppprtwtssrqpnmn`PT[^bjmnnlloklhgehdggghomjfb]ciikiggehknpqqpoomkjjiiijjjnc\^`ffkiikkbcce`````ffffjlllnoomljkllkjjkhiihghehkhc`c ™™’Ž‘“Ž’“•—•š‰„l\``l†„††€}{yz{|ƒ‚ˆˆˆ‹Ž“”˜—œ›š›œ••’’“––¡œ›šž¢¢§£¢žžœœœ¢¡¢¡§§¨¨¨§¦¢¥¡¡  ¡¡¡¤£¥¤©©ª©©©±§ª«±®µ°²²¯©©ª¬«®©­ª¯ª­¬¯®¯«ª¬±­­¨¨ª«ªª®²²¶¶¶´·µ»²µ°·´µ¶¹²³³¶´¸¶¹¸»»¾¹ºº»¸¹µ¾·¹´´³·µº¹ÀÀÁÁÁ¾¾½¿¿ÁÀÀ¿Â¼ÁÀ¿¾ÁÀÈÆÅÂĽº·³¸ÅÂÃÅÊÉÍÎÓÑØØÙÓÒÔÚÖÙÛÛØÜÖÙÙÚÕ××רÙÙÚÕÕÌÊÄÄ´ª‘qn›Õäôøûôíå̶^2)%%$$#$#"   "'+18?HMQTY[abiijlmlkhifffgillpppnnkjjmgfgmgnmmjlkpookkeddaadfihlffggeegkggdfgmiggkgiiifdefcddegjjjijkkigejhohiijloosoonqpuppnmmppuonmpoplnnoooooqustqwsqnopqrssvprlgelnwwwuwvuuvqsstsxxyrpqwqqopr{utu{svqttsswwwsqqrqpppbWVYZbiwpqnllolkkkgggggmlqlib_`iikihgjklmqqrononkkkkiijkiidZSR`eekihhlagfeeeb`bghgionmlqqtmkjpmmlmloijilghhmihaaf•ŽŒ‹ŽŽŽŽŒ’“–’“}oeVdowˆ……„{zy{~}}€ƒ…‡‡‹‘‘‘”––––“••••””–œ™˜˜˜››žŸ¡¡ š™˜š™™™›™›šžŸ¡¢¢¢¥¤¦¡¡Ÿ¦¡ ž¡œŸŸ¡¡¥¥¦¤©¨¦¤©¨«§ª««ª­­­ª©¥ª«««­©ªª®ªª«¯«°§ª«°¬®ª«¬¬¬¯±³´µ²³³³³µ²±±³³³³³²²²µ´··¹¹»º¸´µ³¹¸º´³³¶µµ³´µ»º¾¾½¹»»¾½½½¿¿¿¿¾¼À½¿¿ÁÁÃÀÀÀ½¶µ¶»¾ÂÂÃÄÉÊÎÏÑÑÑÐÐÐÓÔÕÕÙÚÛØÚÖÚÖ×ÓÔÕÙÙÙ×××ÓÌËÇļ°žŽ{vu™ËåõúóìäǧW/(%%$##!!  "&*/4:@HPUYY[]_cdhijkkjiiidghijkklllmlkjihdfhlfikkjklmkjjjfddccgjjhkffggeeeeedcfhgggffeddfdddfbeeghhhiijhgfeejhhhjilnoonnnmoppnnlmnqrpllmmmljmnoppopqsstpppqnoppqrsvqlfffmpuvusvrtssrrssswuuqqqpppnqs{vutssrqrrsttssqppnkjjbXVTY[fonllmmlllmmjfgeghmlmjc]`dfgffghkmmnqnmlkkkhkkkihghhh]J<Taffkihfeabababbdffbhlmklmrnmmlkklmimlniihkfhlmgg\el’Œ‹‹•ސ‘‘“’”™”p_]Xg|Œ‹Š‚€~}{zz}}€€ƒ‡‡‰‹•“˜–›–••˜–—––—š›š™˜ž£ ¥ ¢™š˜™™˜œ £¡¤¤¥¤©¤§¡¢ž¦Ÿž¡¡¢¡¤¦­¦ª¤©§¦§©©°¨««¬¬°¬­©ª¬­««¬¬­®¯®ªª«¯¬°«­­¯®®°±±µ²···´µµµ³¶µ¸¸¸±´³¶´³²¶µµ¶¸¸¾½¾º¸´¹¸¸¸º´·····¶º»Å¹½¼»»¾½Â½À¾ÅÄÿ¾¾À¿ÄÃÂÃÆ½¿½¼¾ÁÃÆÅÅÆÌÉÓÏÔÐÒÓÔÔÔÔÙÙÛ×ÚÚÚØÙØØ×רÛÜÜÜÜ×ÜÕÓÒÓÌÊü¯¤“„xv›ÏâôïëÜæQ.'&&#"   !$).39AGLPW[`beghfkhmnolnkmikkljnmmkkkkmrkiighjjjiikmjloplnijfedgfnlnijghgfdeghccdffeffehhhefdcceefimlklliieefeekhghjirrrommpmsrqnomnouppprmplklrnoqstvsxxzprrqqrrsquswmheiltrtutrwwxtrrrsuswtvvwtrrrput|wxttrxruswutttpqnkjldZUYY[bnnnktoonmllkigggllmlme_^dgkgihnnommnqnokkjjjjkooohgggO=CXbghkkkfhcb`fccdhhfemmnkonqnppqmsmnlmmnmnjkjklmgehmmŒ‰‰‰ŒŒŽŠ‘‘‘“‚xiV`dp…ƒƒ‚€y}~|||}„…†‡‰‹Ž“”˜–˜––––———˜›™šž›š™žžžœœ™™™šš™œ ¡£¡¤¥¤¤¤¢¢ŸŸžžšž›¡ ¡¡¦ª©§ª¥¦¦©«©¨§§¨§­­®©¬««ª«©®°­¬­­«ª©¨«««¬­®¯¯®¯±±²±´´µ²²¯³³¶¶¶µ³±³²¶´´³¶¶·¸¸¸¼»¹¶µµ¸¹¹¸¹µµµ·´¶¶ºº¹¸¼º»»¿½½½À»¼¼»»¾¾ÀÀ¿¼¾½º´³µ¿ÃÃÂÃÃÅÇÇÇËÍÐÏÓÌÌÍÔÖÙÙØÕØ×××ÙØØ×ÙÛÜÜÜÜÜÖÛÔÕÔÒÎÍÈÁº´ª™‡~v–ÈáëèÒ¸¦M.&#" !!&(-08>DJNVXZ_ccdeefffgmkkkkimjjhkkmkkjkjknkiighklmjgjllkmqnkheeeffefiiigfedcdbeheacbeeeeeedcgeeeddgiikiedeeedbbbefhgggkjjkklmlmmmlnlmnopompormoilmrnprrsrrvxsoqonlonsrqqkdfflqqrtttsttussssstqsrttuuqnootsttuutrrptsuuqoopnmkjh\YVZ\dknqomonmjkiiihgggmonke_`bflkfhinmlkmmmmlijjjjkkngihheVEJT^gijjjjggb``dcdfhiffghhioonloomjkllkmmmnkic]dhigfghhŽˆ‰ŠŠ‹ŽŒ‘‘’‘—•“wi_Ucv{Œ„„ƒ‚€~~}~||}~‚†„‰ˆ‰‹Œ’“™•—˜œ–—–›™žš™™ššžœœ¡ŸŸ  œ›š›œŸž£¡¦£¤¤¨££¢§¢¤Ÿ ŸŸžŸ¢¡¦¦­«ªªª§©©¬ª©§§§©§¯­®©´­°¬®ª´®­­±«ª¨¨©¬®²³²²²°´²·³µ´´´¹³´²¸´···´³³¶²·¶µµ¶¶ÁÀÀº¼»¹¸½¸¸¸º¹ºµ¶µ···¸Á»»¸¼»Â¾¿¿¿ÀÀÁÁ¼»¼¾¾ÁÀÀ¾À¶²´µºÂÀÃÄÈÄÉÇÎÎÍÍÑÏÓÎÐÑÖÖÚÚÙ×ÚÚÚÚÚÛÛÜÜÜÜÜÜÜÜÜÛÛÛÕÙØØÏËÉȾ±ž|t•ÄÚå̱F)#" #&+07>DKPUX[^cfigfgghiffgnjjkkjmlonolmlolnmljiihhjkolmmmlooonmfcdfgighgkhifedcchggedacaddddieddhfhhkjijljjdfdjedcddfhjjjjlkkklknnnlkmplmnrnmlppsnnnoosostsrpqvroptommsorrumfdhkqssswtvt{uutwststtvstuvsqmoqttssyvwrsqsrxronrolkjheYYY_fqrropponljlipikiijmopf`^cehjkfhkvmljsnomoimjlkokliihj^QLW^ggokkjmgla`cicffjgfghgfhqnnlonmmmmokrnomhd^`chkffgkgЉ‹ŒŠˆ‚o\a]l‚„†…‚€}||~~{{|}ƒˆ‡…‰‰ŒŽ‘’”–”—˜—”–•›–™šš™™šœ››œŸžœ™™šš˜œ›œœžž¡¡¡¢¤¤£¡ ŸŸŸž›ž¢£££¦¦§¥¥¦¨¦©©«©¨§§§¨¨ª©«ª©©««¬«³­¬«ª¥¥¦©«­¯±±°°²­®¯²²µ°³±³¯±±´³´²±±±²´²³°µµ¶¶¹¹¹¶¹»»····¶·¹ºµ´´¸¸º¹»··¸¼¼¼¼½¼»¹··»º¼½½¼¿¾¿¾¶®³µº¾½½ÃÄÇÄÈÈÈÈÈÉËËÍÊÐÕÔÓÓÒÕר×××ÚÛÜÝÝÜÜÛÛÙÛÛÛÚÚÕØØØÔÓÑÏ˾³‰zo޾¼¶ˆc:%%%)-39@FKQU\\]aegjiiiiihhggghghgkhmmnkllkjjjjjkhjkihjjllmjmlmmkge`ceegggidffifeedccccad`baededdbcceeiikkjlkgfcddcacbdeikkjjjjjjilklkkknnommnnmmmnmmlmnnnonppomponloqnknnonpnmhgeknqutsttttttttutsstsusttuommqtqoprrrqoqqtrqmnnoljhheZSXZemnonnoonnkijihhhimoolg]^_dhiijfilolkkkknlmkljkilkmiig_WSP[cffjkkkjgcZbhhcddfdghhggimkllllmmmmnkkknlgccefghffede’‘–‘~udWakt‰ƒ…„…}||~€~‚ƒŠ‰‰Š‘’’••›•˜—˜™šš›››šžšœŸžŸ›£ššššžšœœŸ£¡¥¢££¦¥¤¡¢ž  žœœž£¤«¬­¬­¦¨§¨¨­©«««¬¬©«§§©¬¬®ª¬¬¯¯¯¯³¬ªª«¨®®­¬´³¸²³²²­¯¯²²¶²´´´µµ²¶³´´´³¹²µµ¶¶¶¶º¹¸¸¸¹¸ºÂ¶¾·¹µµ·ºµ·¸¾¹º¹¾·¶¹À¿¾¾½¶µ¶·º¾½À¿¿¼Æ½¿·±´º»ÁÀ¿¾ÅÄÈÅÎÈÈÈÈÈÈÌÐÎÕÔÕÔÓÑÔÕ××ÖØÛÛÜÜÜÜÛÛÛÛÜÛÛÛÛÜÜÜÝÜÜØØÐʺ«™†tnŽ­‡cK0,-17=BISW[]`cgikllmqmmnnghhkhhiiikjrnpopkkjmjjijllllkkjmkmmnnnlleccieeefgidffhihhgceedddficfegcbbeeefijojjjjhfddcbcfffinmolojojjjlmoqqovornnpqosprmompnnopoponnpnkmrnkmrooqtlhghisrrsusxw{ttsstwsrsutvsuutmmouqpooqupmourxronqotjhhgYSTYbqrrnmnvppljijhiggjppqjc`acjjjiiioooprlmjnlqmoknjrlllnaWVVYfghhkjmlkfa`jiibaeggnjjjjmrllklkulnlrjhjrjgfggjjmhhddcŽŽŽŠ†tgcXgx|ˆ…‚€~~|||~€‚ƒ…†Š‹ŒŒ‘’’“”””““”—˜˜˜˜™™˜˜™œœœš™™š—˜˜˜—›šž£¢¡ £¢£¤¤ Ÿ›œšŸŸ¡¥ª«¬¬¨§¥§¦§§¨§¦§««ª¨§¤§©¬¬­«¬¬¯°®®­ª©§¨¨®­­­±³²¯´²±®®¯²²²²´´³°°±·´³³³³¸²¶¶·¶¶·¶³¸¶·¶¶µ¶¶µ²µ³µµ´µ·º½¹¹¸¹·¸º½¹·´±¯´µº»½½¾¼½½½¶¶²´¹»¼¾¼¾¿ÄÄÅÂÁÂÂÁÈÅÉÌÍÍÑÏÎËÒÐÐÐÒÑØÚÛÜÜÛÛÚÚÙÛÜÜÛÛÛÜÝÝÝÝÝÝÛÙÖ˾´¦–‚zsnhbC=9=AGNSXZ]^`bdghjlmopmkggggggeeehhjjmoojkiiijhhgiklhkjjjmlmlmokhgbdfgeechhhdffffdaa`aaccdef_aaa`cbcefgjkifffjifddbeeedhjnmmllijjjjmponnnmlqnoppnnnmkmlonprpppnpqqnnqnkmoporuqjheikqqsssqttutspsttpqutssrqomloqplqrqqqppqrrqoponmkigeXNTXbllmmmmnnmmkjikfhejlppke`^bdghhiijllomkgijnlpmoijimmlmeWPMW^eiiiiimmkcccffg^beefggfcltohhhkjjkmhhghhkggfgijkiheaba“‘”‚}j[adn†…„„„~~||}‚ƒ‡ˆˆ‰ŽŽ““”’’’”“““–•œ˜™™˜˜˜™›œžž ˜—˜š˜›˜™š£¡ ¤«££¡¨£££¤ŸŸ ¡¥¦ª©®®®§¨§§©­©ª¨§¦°©ª¨§¨©ª¯­³²²®¯®­«ªª©«¶¨®®¯­±°²°¶°¯¯···±´³·³³²···´·³´µ¸µ»º¾¹½¶µµº¶·µµµ¹µ´²µµµµºµ¸¹½º¼¸¹·»º¿µ²±¯µ»»Ä»½½¾¼Å¼¿¶··¸¹½½¿¾ÂÂÈÆËÂÆÂÂÂÉÈËËÖÏÓÎÌËÑÏÏÒÖÕÚÙÛÛÛÙØÙÛÛÛÛÛÛÛÜÜÜÜÜÜÜÛÚÙÑËõ«—ŠyreWNORVY\_cigecddhimlnnqljikjnihefgkikklntilhpkmiijmkkjjjnmqlmllkjfgggfgffchhhhifeccabcgggdfed`````dclmmgmjfedfjhffffjghhnnnnommjllmmnoroonnlrpqqrnpmllpoopssuprqysropnmlnoqsvqojijppqqwwvssuvtrsutsoqrssvqrlkntrpqstrqrpsqyqpqqnmkiggZQQV_mmsoqnqonmnlllkghjtmplg_^afgffhjnlqmolkhhjmmpmoiijlnqkcQIQ_ekinmqknkkeeehgfccddeiggfpominikjiilgigjhpfkghhlihebaeb‘‘“ŒŠxmfZeovƒ}z}}|{{{ƒ€‚„†ŠŒ‹‹Ž‘’’”‘’‘‘’“•–›—˜™™˜šœ››œ›˜—–––š˜™—œ¢ ¥­¨¤£¢¢¡¡ŸŸœžŸ¡¢¥§ªª©¨§§£¨¤©­¬©©¨¨¦§£©¤¦©««®­°±°¬¬«ª©©¨©ª©©®«¬«°®°­¯¬¯¯¶³³±±¯¯°²²²³´´¶³¶¶¶´¹¹¹¸¸µµ´´³´´´²²²³²µµ¶¶¶µµµ¹¸º¸·¶¹·´®¯­µ¼»»ºº¼»¼»»º¹¶·¸ºº½½½¾ÁÃÃÂÁ¼ÅÁÃÃËÉÉÊËËËËËËÌËÐÕÖ֨רØ×ÕØÙÛÛÛÚÚÛÛÜÜÜÜÜÜÛØÖÑÊÊû´«œ’|qmhggiklmmljfffijllmmnkjhkkkkgegiiijhlmmiihhhijkmmkjhjjnnnlljjgfcgefefcecheeccccccacdghgeddca```adfmiigfeedfgggfghhihijlklonnmkkjiglmnmljmlllprrnnklmpnptsponrppoommkllnorspljgkmqsrsvwvssusqsvusrprqrssqnjosqnpptwrpoorrqppopkjiidYPTV^flmmkklnmljlllkihknnnlh^YaggggfjlmmllmkjijjlmokkijllmlgWLQ\dijjmmlkjhgeefc`edeeeeeeefplhfghighggghfihhegegfeefdcbba˜˜–‡…na`]i~‚„ƒ}~|||}}}{{~ƒƒ††‰ˆŒŽ““”’—–•Ž’˜”š’—•›˜š˜š˜žŸžœ œœ—˜—™™™šŸ¥¤£¡©§¦¥££¢¢¢Ÿ žž¡¢¦¦¦¨«¨§¥¦¢©©«¬­¬¬©ª¦¨§§¥¦¨­¬²­°¯¯ªªªª©©¨ªª­ª®¬®¬¯¯²±³³´²·³´±²¯³³³³²´¸·¶¶¾¹»¸¾¸¸¸¹´¶¶¶·¹´´²³²¶µµ·½·»º¹µ»º½»Â¹½³°°±µÂ½¿»Á½½¿¿¾½¸¶¸ºº¼¾ÄÁÇÁÀÂÅÀ¿¿ÅÄÅÄÌÈÈËÍÍÎËÐÐÐÏÔÕÙÙÚ×ÕÕÕÕÚÚÚÚÚÚÛÛÛÛÛÜÜÜÛÖÔÐÌËËÃÈÀÁ±«§¦’‚€€}{„€}ytpnoqpoonnnnnmlkjjgghijjniqlnkjimhjlnmommkonnmmlljkgfefhkffeieidedgbecccdehiihhdbaa`abginiifffedlffffipkkkkknkllklmmnjijrqrlljmlmnvsrnmmpnpnrrspnnrqtnmmllmlnmtplihjmqvssuyxxrsrqquuvtwssruswonpxspnqrxuspnpqrrqropkiij[RRW^jkqnnkllqmlklkjihiqmmkj`Y^ggjijkqoonlmmmmnppooolkjjmonl[NJUaonnmnmmlkgghleabdfhiiehgegpkfefgkgihhghhigeejgjfgfhcbbacŽ‹|qhYcfp€}yzzywxxyz~€ƒ…†‡‰‰Ž‘’“‘’‘‹””’’‘—–˜˜˜——˜™™š™˜˜——––˜™›œ £¤££¢¡¡¢¢ œžžŸžžŸ£¤¥¦¦¦¦¢¤£££¨ª«§©§§¦©£¨¨¨¦§¨­¬®¬­«®§©©©¨©¨ªªª««¬¬«®¯²¯²³³²³±´¯±°³±²°³´µ²µ¶¸¸¹·¸´¶µµ´µ²²°°°³²²²´´¶¹º´¹¸¹µ»ººº¹´±ª°³¶¸Á½¾º¼½º··µ´³¶¸»»¾ÀÂÁÁÁÁÁÁ¾¾¿ÃÂÄÅÆÅÈÃÅÆÆÇÇÉÎÏÒÒÒÒÑÌÎÏÖÔ×ÖÖÔÚÙÛÛÛÛÚÛÜÛÖÍÉÈÈÄÃÃÿ½´®¦¤–‰‡……‚…ˆ‡ƒ}zzyyywusqstronkkjihijlkkimmmmkihhmonmmmmkprokjhhhhgggijhfffeddbbaaacdddefedfedbaaa_abgljhgdebddddffijkkkjighikkjjmplhkmoqollimlooppolmnpnpoqqsnnnnopmmmnnnkmmmlifkppqrqsuyxsnpppqqprrssrrrrmjqwvrpmooqqqoqtrppqnlkiigZOTU]djklllklllkklmigghikkjga[`jeeihknnnpiiinqqpqqqnnlkhlnnp_LJK[fnonmmmmmlgijfacdhihhhec_gkkigefgkffgidgfgeffidfffdcabbaf‰pba\gw|‚ƒ}}~yzxxwvy|……ˆ‰Œ‹‹˜”•‘”’’Ž“““’‘–——˜——žš˜š˜——™™œœ›œ¡ž¦¥§¨¨¢¤Ÿ ŸžœŸ¢¢¢¡¦¤¬¤¥¥§¥¤¥ªª«¨°¬²§­¦§§¨©©©©¨ª«­«°¯¯«®©ª¬°§©¨«ª²²²«®®®°´°µ´´²¶²³¯³°³³µµ·´¶µµµ¸¸¹·¹·¼µ·´¶²³±°°¸³¶³·µ¸·¹·¹¸ººººÀ¶´²°°¸´¼¸À¼½º¹¹»¶¶´²µ¹»Â¿ÄÄÅÂÄÁÆÁÀÁÇÂÄÃÈÆËÊÉÃÆÅÇÈÊÊÍÍÑÑÑÏÎÍÍÏ×ÔÚØØÔÚÚÛÛÚÚÚÚÚÔÐÈÅÇÌÄÅÄýº¶¸©¥™•“‘Œ‰‰ŽŽ„‡…„…†……†„}{}{xwvtrrqqrqpooqrsurpoomspooopssrqpjhimmmihikihhigedecb``bgghhgefffeddfdccddghhhkfefgdfdfiojjkmkihkkmkjjmlkjmmnnnmplmlvomnooqopqstuqrsuonnsnoosrrrrnoigiopwrrqttzspoopppqsrstttrrlinyxvpppopoppqvttponokkkk[PS\]ekrnooplmllkklnhghjlrkjb]_hheehipnnmpiiioovqyuuqqnmmuppgYFCQhlnoqnmnmmmmnjfdihojmmmfddjjjiifmjkkkkjglkkhihjdgfidcdebbdkYabn~~~}|{zyyxuusx|€ƒ†ˆ‰‰‹ŒŒ‹‘’‘‘‘‘‘“”’“““’•–˜š™˜—–——™•––™šœœœœŸž¡¡ ŸŸœ™™™ž›žžŸŸ¢¢£¤¤¤¤¤¤¤¥¦©¨ª¦§§§¦¥¥§¨ª«ª§§§ª¬¬«ª§ªªª¨«¬ª§§¦ª«¯®¯¬¬¬¯±³¯¯¯°°µ³´¯±°³³µµ¶³²¯´´´³¹··¶·´µ³²¯®ª¯°°°°±¶³¸··µµ¶¹¹·¶³®±±³´¶´¶¸»»»º·¶µ²´´µ·º¼Á¾¾½À¿¿½ÁÁÂÃÄÂÂÁÃÃÅÇÅÃÄÅÈÉÊÊËÊËËÊÈÊÍÍÎÏÐÓÒÕÔ×רÙÚÖÔÓÐÉÇ¿ÂÃÄÄľ½¼ºµ¶«¦œ™”’‘Š‡„†ˆ‰‹‰ŠŠ‡„ƒ‚‚}{ywvwwwxrpruvwvtsspnrqqoppppqophjkmlmijjjhijihfceec_bdgiifhegfffefecbbeghhhiihilfdddhjkkjihhhhkkjijjjjjjlmnmljklllonllpoqmrusrqprrromlmnooopromigehkoqrppoussoopppqqpmqssstqmhntyuspqqpmopqrrrsoopmikn\OU[_cjoqnoonllllkkkighiklqkc\afgeedgiomlkjiifjknpuuuqonpqrpqbPBM_iponjflkmjmjihgeghiijlifffghiigfihhgjiighhhhihfdeeeea]cccdXcru…€}}~|zyyz{zyuuy‚‰‡‹ŠŒŒ‘‘“””‘’˜˜˜“•”˜“•””–˜›Ÿšœ—•––˜™–™™Ÿž¢Ÿ¡ ¦ ¤¡žžœ›˜˜šžžŸž¡¡¨¦¬¤££©©ª¤ªª©¨«¬¬¤¥¤¥§«ª¯«­§¯­¬¬±««¨ªª¬¬¬©¨¨ª«±²´³µ®²®²²´®±±²±µ³¶¶¶´¹¹¹¹º²±³»´µ¶»¶¶¸¹¸·²²°­­°¯±±°²¶´ºµ¶µ»¹¿¶´³°±·¶½´·µµ¹½¼Á··µ´´··¼º¾¼À¾¿½ÂÀÀ½ÅÄÅÃÆÃÄÄÅÁÀÁÂÄÊÈËÉÎÎÎÈÉÉÊÇÊÌÎÎÎÏÕÕÕÔÙ××ÖÙÓÏÍÊÉÊÂÂÃÈÃýÀºº´´«§Ÿ•–‘Œ‰†‡ŠŠ‹Œ‘Ž“…‹„ˆƒ„‚€‚„ƒƒwtv|€~}|}tsrrtuuyusssoonnnqnnnommnpqpigfihhfeglknhijkjmmmjigffkknjjlponigfghlknmnmmmmkjjhikkllllppqqqjlnrqpmlnqqrrsuyrqsxwvollonqopprmjfceilsqursqwrqnoprrvqpopruttnlmwuytsruptopqrsxrtppnmno^QR\`gkuprrsnmmpoplmjgfhlqosf_`fhmhfellnlkkjhhfkkkntuvqpqvuvpqXIHWdpopkhflknmmiihhhhiliiigggjmopjhhjhhiijkikiiimhfghhmd``bcidj||}~~|zyyyxxwwuxv{€ƒ…†‡‰‰ŒŒ‘ŽŽ’’‘”””‘•’“’’’•—šž›–•’“””““”š™›žž¡¡  ¡›——•™˜šœœœœ ¡§§¥¢¢¡¢£¦¤¤¥¦£¥¢ ž¤¢§©«ªªªª§¬«¬¬«¨¬©ªª©§§§¨©­¯²²±°°­¯¯³­¬ª««¯¯´±±±µµ¸¶¶³³°³µ¶´µ¸¶²²±°¯¯¯±²¯®±¯±­±²¶´µ±¶µ·¸¶±±°±²¶´´³³³·»º¹·±³³´µ¹¹º¹¾¼¾¾¾ºº»¾½½½ÀÁÀ¿À¼½½½¼ÄÅËÈÇÆÆÃÂÂÄÄÇÇÇÈÏËÎÏÐÑÑÐÑÑÒÑÐÍÈÃÿÃÁÂÂļºµ´¯®©¨œ™‘Ž‹‹ˆ‰‰‹†‹‰Œ‹††‚ƒƒ‚‚ƒ„ƒƒ|xz€€||uvwy|{zyyxxtqqrpoooonnmoqponjhfihhfhjjkjijjiiihjjjjhgijklmnonmhhikkkjnnlhjjllkijkllmmmlppppmjmooonlnorsrrsssptwwxsnliomqopnlhfefhknrpqqqqqnrnnnoooqpnqruokioruuttsruqsqrtsssopppmmn^QSY_ekoppponllkmmpkjigfkopng^bhhihgffmonlkiihhefejlpspoqrttup]KJM_lonliigllllleddefggggijihkmmlljjjjhklljkihgiikeggghgccfdced…|{||zyyzxzvtwy}†‡‡‰ŒŒŒ’ŒŽ’“—“•“”‘–’•—™šš˜›™”•’”””•–”œ™š¡ž¢žœ¡›—––˜žžŸ¢¡¡¡§£¦¤£¢¨¡¢¤¬¤¥§ª¥§¡Ÿ ¦§¯ª­¬®«ª«±¬­¬¬«¬­¬«ª§¦ª°®³³´²²±±¯³²´®­®²³´²´µ·¸¹¸¹¶¶³³³¹¶¸µ·µ´®­®®®³³³²´°±°²³µ²ºµ¶³¸¶´´´°±³·¶µµµ¶º»»¹¸¶µµµ¶¹¸¿¹º»¿½ÂÂÁ¼¿½Á¿ÂÂÂÀ¿¿Ä¼¾¾¾¿ÅÅËÇÅÅÅÃÅÅÄÅÈÇÇÈÏÍÏÎÎÏÓÑÖÕÕÏÏÈÃÀ¿¿ÆÁÃÂÇÁÁ¼¹¶¶¯®©©š‘”ŽŽŽ’Œ‹‹Œ‰‘‹Š†ˆ„…„„…‰……}y|‚„ŠŠŠ†…~|~„ƒ€…ƒ€€wuuysstursssszusrrljkokikqmklklojmjijllpmjikkkmrqrpmllnponnmmlkjknmllnnprrqqqprxommoornmorsvtutwssu||{urmlmnorpumjedhnooosssqpprnrnnproppsssswlgkvvzvwtssvrsrtsvuupqpppraUPT\dlrprnlonmnkmmqlkijjnpujb_diljhggioookjjjjlfggjkomlovvwwucRKMZpqtmllkhlmoljffefghgfhoklmqqqmnoolkhppokpighkjkfhhigfdhhijjf~}|zzzyxxwyxzwy|€„…‡‰‹ŒŒŽŽŽŽŽ‘‘’’“‘”“–™™™™˜—”“‘’’’••••›˜š››››››œš–˜˜™œžœŸ ¡¡¡¥£££¡££¨ ¢£¤ ¥©¦£¦¡£¥§©¯¨¬«¬ª¬®®¬®ª«ª«¨§¦§§«®°°±±±¯²­±¯²¬¯­¯²³±±²µ·¸¹¸¶¶´¶°²³µ´´±°­«©¬¬­­³±³³³¯°±²²´²²²²®®¯±²´°³µµµµ¶¶·¶²¯«±±¶µ¶¸¹¶¸¸¼½»ºº¹¹¹¾¼¾½½»½º¿½¾º½¾¿ÀÅÆÆÆÃ¿ÁÂÃÁÅÆÅÄÈÄÑÌÏÌÌÊÍÎÑÎÍÈÈÿ»½¾ÂÂÁ¿À¼¾¼¹¶³¬ª¦£š‘“‹ŒŒŽŽ‘ŒŒ‹‹ŠŒˆ†……ƒ„‚††‚{x„†ˆ‰ˆ‰‡„€ƒ††……„……„‚|wwxxuvxwtuuuuzwvtsnnoooopppooonojjjkklloomjklmnqsqoonppppomnnnmmlnkmmopppqppopooopqqrqlorstsstuusvxvsrqoknqqqrpokhchmmmoptssqpoompoqsrmnmsqpnmhlpttvuwrssursttqqnnmnnmj`SRPW_lurpnkloopmkmmnkkgklnplebafmliffikkkkiigjkkgggijiflpsww|iWPL[inpmjiihilnqkhfffgehhhiiinrpoqkhfnnjhonkjjhhkhfffibcdeceeighe{||yzzzyxx{z{|€ƒŠˆŒŽŽ‘ŽŒ‹Œ‘““““”“–•š˜˜š™ž—•”“”ššš™™—›š›šž™™ššœœ˜——œ› œž §¡¡¡¢¡¡£§¢§¥©¤¥¦¦¦§¤££¥¦¬«µ©¯©¬¬¬ª±¯¯®¯°¯¬«§§§¨ª²°´³±±°±²­°¯²±²²²²·¶¶¶·¶¹¹¹µµ´¸´¶¶¹µ¸«¨§§«°®®­´²¶²²¯´µµ³´µµ±±±²¯³³´µ¼¶¸µ¹¸½¶¶¬¨¬³±·¶»»»»º»À»¹º¼»¿»½¼Á½¾¼Á¿¿¾¾¿ÄÂÂÀÅÅÆÃÂÁÃÂÇÃÇÃÂÄÈÄÒÐÐÌËÊÏÎØÌËÇÈÀ½ºÁ¾ÄÀÀÀÀÁÁ»»´²­®¦¤œ˜“’‹ŒŽ’ŽŽŽ“ŽŒ…ƒ„†…ˆ‡Ž‚}{z‹‰ŠŠŠŠ†……‡‰ŠŠ‰ˆŠ||‚||~}{{{zzxzz~vuuvwxwvwxtutzopnmloooosqpqqpooqonnmnrrusspqqtqspoopptuuptqqqsquwxusrppqrutyxxwzz|wurrooprqpqrpoigiomqorq{sssvrrnuttstorrsqslimqswvyvvvvttuvuxqqopnmmocWNQT[hwvvpokmoonnnnlmkkkpormiefeijmgdfnmmkkiljkljgghmhghmnruyl`ROWnrtolkokpppprjihihljomnjkisrqqrhcdmoiiokihhfkihedek``ehdififleyyywz{zvxx{|~€„…†‡Š‹ŒŒŒŒ‹‹‹’“”•–—™™˜•˜™˜“••—š˜˜–•——™™ššš————–—–——œ›Ÿœ¡£¥¡¡¡¡ ¢£§ ¦¥¨¥¤¤¤££¡£¥¨©©©©©ª©¬¯¬«­¯­ª©§¦¥«¦§¦ª­®­­­¯°®«¬©¯¬®­²°²²µ´µ¶¸³µ´´³³²´´¶·µ³©Ÿ©¥«°°¯®­®¯¯®®¯®®´²±¯°°±¯°°´¶···²´³¸¶µ²³§«®²±µ´¼º¹·º¼»·¹¸»»»»½¹ºººº½¾¿»¾ÀÂÂýÁ¿¾¾¿ÀÃÃÃÂÃÀÃÄÄÅÉÇÈÊÊÉÉÈÆÂÂÂÀ»½º¾½½½½¾¿º¹¸¶±±ª§¢¡™–““‹Œ’’‘‘“‹‹ƒ„„………†€y{{‚‰ˆ‰‹ŠŠ‡ˆ………‰‰ˆˆ‰ˆˆ„„‚ƒ‚}€†„‚‚‚~{yw{{~wwvwzwuuvxtttsoooomnopqrrqpooppnlnknnrsvvrqrssqqqqsrrtssqqprrrruvvwrqqprrstzxywyzztuqqmptsqrrtomhlqqnnmrqtssssqpnrrsprppqsnmimvuuvuwuuvsptvvtspoooonpdXRMU[gssttpnkopnmmklklkmmoopiheffhildfgmonkjhjjklkgikgeghmloncWPJXgntrklmkjpooolhijjhijopnkjjssoliccdomkjnhhhgcjhhffe\Vbedbcdeffd{{zzzzyz}}~€††‹‹ŒŒŽŒŒŽ‹ŒŽ‘‘Ž•••—››š™—œ˜˜˜˜–›š™—•—›š›œœœ›—™—˜•——š™ž Ÿ¬¤¥¡  ¢ ¥£¨£¦¦©©ª¤£¤¤¤¦©®ªª©®ª¬¬¬¬¬¬­®±ª§§¨©ª©©©®®¯®±­¯®««¯¯°¯¯¯³±·µ¹´¶µ¹²¶³³²²²¶´·°®ª£¤ªª³³³¯±¬­¯µ­°¨¨®´¯­®±°±°³°º¶¼·¶³¶·¹²±±±³µµµ²¹·¼º¾·»º»¸¹¹À¼¼»¾¸»ºÀº¼½¿¿ÃÁÁÂÃÀÿ¾¾À¿ÅÂÃÃÃÃÇÅÈÆÊÇÈÉËËÌÆÃÁÁÀÀ¼¾½Ä¾¿½½½¿º¸¶·°¯¬§¢žš–•”––œ’””˜’•”ŠŒ‡††‡‡‰€{}‚„‹Œ‹‹‡…„‡‹‹‹‹†…††…‹ƒ‚‚‡‰‹ŠŠ„‚~}|„|}}|{{zwuvxw{utqrqtpprzvtuyturypnlmoutuuwsqtyvtstsutyyxssqrruvwwwvvtrqrsvuxw|yzx}yyuurrsuuwv|sunlnttwrtprrttvvvqsrxtspwtystmllsvwwzuxtrrqqsvxtttuptrrh\SOR[fvvuttomnuqnntklknoppqnnijjlikkkjjjtopkiiklkjlilhfemjmlsdREALclvtolplkjqnumhfkimiijpnnonpspmidabgppnnnmnljikhiij^SUefecbcdeedxwxyzzz|~ƒ…‡Š‹ŽŽŽŒ‹‰‰Š‘Ž‘”•˜™™™™˜———•–––—˜–˜˜˜˜š™š——–—•™–•’–—™™ŸŸ  Ÿžž Ÿ¢  ¡££¥¦¥¤¤¡££¦¦¨©©¦¨¨®ª«ª¬¬¬ª¬­®«©§ª¬«©©©®¨¯¬¬«¬«ªª¬¬­­®¬±²¶µ¶´µ³³²°®®­±²³³®¥ªª«­¬¬¯®¯¬°©«®©¥£ž©®´¬«¬²±±¯±±±±±²²±°­«©­­°¯´²²²¶µ»¹¾·····¹¹¹¹¹¸¾·¹¶¾º»»¿ÁÁÁÁ¿¾¾¾¾¾¼Á¾ÁÁÁ¿ÄÃÃÄÇÆÆÅÅÅÆÆÅÂÁÀ½»»º¿½¾¾½»¾½»·¸´³®­­ª¥¡œš—•”””˜˜›’““’ŽŽŒŠŠ‡ˆŠˆ†‚}‚‡‰Œ‹‹ŠŠ„‡†ˆŠ‹Š†ƒ…†‡‡Š„„…ˆŠˆˆ†ƒ~}{|z~||||xwuwxytsrrstqsuyyxwxttqqqokoqtttsrpsvwwvttuttwxussqstuvvvwtuqqqstvwxxxyzyyvvvuqtttuvvvqnjnsvwtrrqrruvvvuqrsvvsputsonjnpvywtttsssssrtuspqppoomh^TMTYeqqssqoknqsronnjijoqrrqnlfmnljjhkjklnnliijlihhjihfffjjlkh\C2DUgorslimmkjqmlhgfiijhijollimupmmge^dkljlnmlmlliheilgXSXfefgddefecvvwz{{‚ƒ„†‰Š“ŽŽŽŒŒ‹‘Ž–‘“ŽŽ’•™˜Ÿœ ˜›—–—˜——–˜™˜™ššœš™˜›–˜˜˜•••š™™œ  ¢¡ Ÿ¢ž  ¢Ÿ¡¡¦¤ª¨¨£¢¢¤¨¯ª­©§¥¨¨®©­«¯¯¯¯¯¬®®®ª°±²­±­¯¬±«¬«¬©ª«¬®²®³°¹³º¸·´¶±®¬ª¬®°µµ¶°¬­±±²°²²³¯²¬°©«£¡£¢¤«­²²²²³²µ®¬®²°¶µ´³±®«©¯­µ´´³»²¶·¹¸¾·¸·¹¹¼º½¸º¸¾¹½¼½º¿»ÁÁÂÁÁ¾¾¾ÀÀÁÁÁÁÁÁÈÂÆÄÃÄÌÅÆÆÇÇÆÆÆÀ¿¼ºº½»À¾½½¼»¾¼»·¸³³®¯¯¯¦£Ÿ¡œ›˜˜š¢™›–—“‘ސŠŒ‰‰…„†‹Œ‰‘Ž“‰Š‰Š‹‘ސ…ƒ„‹ŠŠˆ‹Š‹‹ŒŠ‰ŠŽ‡†~~‰€‚~~~‚y{uvwxxywwv{yzz|€{{vyyzuttuvwxwsqrvw|yyz||}x|xuuwv|ywwzxxuuuvwxyz|‚|}}}zzxwvuuzz{wzvwokjusyvsrsvzv|{|xxtvuyuttytunlntv~||vwv{stv|xwurrrpomnjdVNR[ftuytuomntqrrpnnnmmpqwuunkioooknjklrlpmkhjlmhhimheeiinlmkjL55I]knsnkkrommqkigffhjkghjnlllnnlkkgfffknjkkklolsjgfijcUS\ghhgfeihjfvvy|}~~‚„‡ˆŠŒŽŽŽŽŽŽ‹‹‘‘ސ‘’”—˜—˜˜—–•”•”—™—–••™™šœœš™˜—••”•–—”––™›œžŸž›ŸŸœžžŸŸŸ ¢    Ÿ¢£¨ª¬ª«¦¥¥¨©ª¨ª¨¨©¬«ªª¬­­©©©ªª°­­¬­ª¬ªª¨«¬­®±®°°³³µ±°°°¬«¨«¬¯±±¯°®¯¯°°¯®­¬®®±«ª¤ š¢¦ª®®­±®²²±°¯««ª°°­ª§¦¥£­©­­³±´³¹±µ¸¹µ¸··¶¹º¹··¸¹¸¸·¸¹»»»»¼º»¼¼½¾¾¿½À¿À½ÃÁÁÀÀ¾ÁÄÃÂÅÅÿ¾¾¾¾¿·¸·º¸¸¸º¸¸¸¹·¼µµ±²®­ª©¥¤Ÿžœ™šš™™˜––‘’ŒŒ‹‰‹Œ‡‡…Š‹‹‰‹‹‘ˆˆ‰‘І„…†„ЇŒŒ‰‡†‡‡†‚€|}|€ƒƒ€€€}yzwwwvvxwwx{{|}}{|zxvxvvvuuvwy|xtttvw|z{||}{wwwwwyy{{yxyyxvvvwyyz|}}}}{xwxxvwxz{|utrpkkkvttutsvwxv{xxxxtvuvtuwuqqlotwyz{{uuuvuwxzzxwtrsoojiiXNUZesrtusokortqrqqmnknpqrttrkkkosnkmjlmqlmklilmlfiihcbakmmlmkR97;Tjlnmjmlmnnnmhfeffijhehjkkjjkklmlhffhjljlfjjlkjhgfhi`T\geaghfdhhiixy|„‚‚‚†ˆŒ‹ŒŽŽŽŽŒŽ•‘‘’”“˜™˜—™™—––”““™”›˜˜–—•š™œ›™ž–””””••——›š™›Ÿž¢œš›Ÿ¡œŸžŸž  ¥ž ¡¡£©©°¯¯ªªªª§¨©­¬¬¬¬¨±«ª«³¬¬©¯ª¬ª¯­µ¬­«¬«ª¬±¯®¯±±µ´³³¸±³®¬«««²¯³±³²³®²³´°¯­¬«¯®³§¥¢Ÿ£®®¸±¯°±²·µº¯²­®°°¥ ¤§§¨¨¯­±²³³´µ¹´µ¸¹·»»½¶¿¸¶·¹º»º¹¸¸º¾½Á»¾¹º»½½ÂÀļÀ¿ÀÀÄÃÂÀÀ¾ÀÁÂÂÊý»¼¿¼½·»·À¿¿»À¸º¸º·¼¼¼µ¸®±««¦§ £¢¢¡¢›™™™–•’Œ‹Š‰‰’‹ŒŒ‹Ž˜‘Ž“‹Œ‰ˆ•“”’І††…‰‡‹ŠŠ…†††ƒ€€~‚ƒ„‡‰„‚~}}~}{{|||~ƒ‚ƒ‚{wxyxyyyy€‚|}xwxy{}{~€|zxwxz}}}}{zz||wyxzy}|‚ƒ~‚|zyx{z{}{}trrrmnqxxxvvv}||y|yyyztwvxwxvurqqvxƒ{|z|wz{}|||zwvrspnjk\QS\eqtzuupnnsruutsrmnnosxrtrpoqoonmmnlopqpqkllpmlmojfcaemmlmp\E27Jgnsnlknmloqnmfefjjnjhgikqkkjkjlllgghmknlkjiimjhgjhmh`_jgeenhddghkk|~‚‚„…‡‰‹‹‹Œ‘Ž‘‘’“’“•••””’‘‘’““’““–•˜––”š˜œššš™“‘‘“”–“–—š›››œ›œ™›œœœœ›žžžž Ÿ¤§«¬°°±««¨©¦¦§¨¦¨©©©ª§«®¬©«¦©ªªª¬­®««¬¬¬­®¯¯°°°°±¯±°±±¯¬¬«¬¬­¬¯¯²²²¬¬­°°®«¬«®®ª¡££§¯®¯²²²²´´´´³®­®ž–Ž¡¡¨¨ª«­­±²´´´´µ³¶¸·µ»º¸µ´³¶¶¶´¶µº¹º»¼¼º·º¹¹¹»º½½½¼À¿ÀÀľ¾¾¾¼¿¿ÂÂÁ½¼¹¹¹»º¼·····¸¸¸¸¸¸¸·¼··´´¯®¬«¦£ ¡¡¡  ›™•—••Œ‹Š‰‰‰‹‡Š‹‘˜”Œ‹ˆ‹ŠŒŽ•–“ŽŠ‰‡†…ˆ‡‹‹Š‹‰‰ˆ‡…„‚‚ƒ‡ˆ‡†„ƒ€€€~|‚„………ƒ{{{{{||||~~}|z{{|}{z}zzz{||}}}}}}{}}{xxwz{~~€~~~zzz{yzz{y|zwrqmqqrsvvwwvv{||yyxxuuuwvvvxttrsuy|~€|{zxwz{|xywxwvopqpk[PV]dmsuurtmpqrssspmmmnorturpnqlqoolmmnlmjjklkmnokllljdZejmnno`M;0Gbjqolkjiimoolf_ehiiihiikkljihiikjldfhlkmmlkkjhghhhglgghd`ffggddhike€„††‹‹ŠŠŒŒŒŒŽŽ–‘’’‘–”˜˜—–™”˜”’‘‘”˜”””˜—˜•œ››™››œš™“’‘—–—•œšžž œœžœž›š›£œž¢¤¤¬©²¯´°²««ªª«¬¦©§ª©¨©«­­¬¬««¨¨©¯­¬¬¯¯°®°²µ±´°·³¶°±°µ²¶¯®®¯­±®®¬¯¯¸³²±±°¯­­®°­±¬§§¨ª°±³³²²µ´·´´´µ­¯’ˆƒ‚“¤©´­°°°°±³¶¶¶µ······¾¸¶´³´½µ·¶º¸»ºÁ»º¹·¸¿»¼¼¿¾¾¾¾¼À¿¿ÀÄ¿Á½¾¾¿ÀÅ¿¿½»¸¹¸»»½º¼¼»¸º··¹½¹»¹¼·ºµµ®®­¬¤££¤¢¨£¦šœœ“”ŽŒŠŠŒŽŽ’™–“”Ž“Šˆ‡‹Ž‘Ž•““‹ˆ‰…ˆ‰‹‹‹Ž‰‰ˆ…„„Š„……‡„‹‹Šˆˆ‡…‚„ƒˆ†…‚‚‚‡Ž‡Œ…‡€€…ƒƒ‡Œ‡„ƒƒ~‚Š€~‚||}~~€€}}}€‚ƒ„{}|zzzz~~„~~}{{z}|}||}xtrqqru{zyyxyyy{||y~zz{|{|||wytttwy‚‚ƒ‡zxy}||yyy}vuoprv`QS]blr{vwstryv}wxrpmnotsxvxpnnrrsomlnnqpqmmlnowonmpljfcdpooothX@2>[htpnnoihiqqqlbafgkhjhokpllihhijojkddflkpornmigfihjjllkjcbgghfbegilh‚‚…‡ˆ‰ŠŠ‹ŒŒŒŽ‘ŽŽŽŽ’’‘‘’’““•––––”“‘’‘‘“•—•”“—”••š™š˜š™˜–””“‘”“••œšžžžžœœšš››œŸŸŸž£«§¦«©ª«¯±®«©§§¦¦£©¦ª¨©©©©ª¨¬«©©¨¨©¦¬©¯¬®¯²·³±±°°°°°°¯°°±®¬ª««®¦®­¯¯°°¯®¯°®«­­¯­®«­±²±°°²­²²²±±±¯ª§¡‹yƒ’¢©®¯¯¯°±±³µµ¶¶µ´´´µ¸³·¶¶³´µµµ´µ¹¸»º»»»¶¸¸¹º¼½½½½º¾½À¿¿½À½½º¾¾¿Á¾¹¹µ·¶¶¶¼¼»¹»ººµµµ¸º¹¶·¸·´¶µµ­ª¦¦¡¡œŸŸŸŸž™™—–“’ŒŽ”˜˜”‘‘Ž‹‡‰ˆŠŒŽŽŽŽŒˆˆƒ…†‰Š‹‹‹Š‹‰Š††………„ƒ„‡„††ŠŠ‰ˆ„€‚ƒ‡ˆ„ƒ‚‚†‰‰†…‚€ƒ†…А–˜™Œ„€}†…€|~‚€ƒ‚}~‚‰…‚ƒ|{{{{|}~~ƒ€~|}||{||~€|y}vsmqrvy{{zy{|{{}~|z}|{zzy{zyxxtuuy{~€‚ƒ}wyz}}|zyz|uuopscTU[agpvvvxrsttuvuwqqmpquvwsojmopnnlmnnnpppmmmoqqnnmmkfdimnoopj`D2@Ucmplheiijkqvrkccfeeeghgghhgffgjkifi`dehilmoqmigghijkllkiechihfgkiiii‰‹ŽŽŽŽŽ‘•‘•“”’’•“”“––˜––’“—•••›–™•––—–š™ššžžž˜—•“““”˜’š˜š¡žžžŸœœžœžœ¨ Ÿ¡¦§©¨¨§«««ª¯­¬«ª¨¨©©¨¨§ª©®«°¨ª©¬«¨¨©¨ª©­­°­¯°µ´²±±±±°³²²¯¯°³­¬«ªª­®°®±°µ°±°°¯®®®¯²²²±¸³·±´°²²³²²±±³³–‹‚u}„‘­­´³²±µ´µ±¸µµµº¶¹µ½·¸µ·¶·µ¸¶¶·ººº¸¾½½¼½¹º¹ºº¾¿Á¾¾¼¿½ÅÀÁÀ޽¾Ä¾¾½½¸¸¶¶¶µ·¾»ºº½¸¸¹ºº¹º»·Á¹º¶¸´µª¨¨©§¦¡¢¡¤›››——˜™••“““š™š—š“‘‘ŒŒŒŒŽŽŽŽ‘ŒŽŽˆŠ††ˆŽŠŒ‹ŠŠ…‡……ƒ‚‚ƒ‡‡ˆ†‹‹‹…„„…†‹…„ƒŠˆˆˆ„ƒ‚ˆ‡†‹œ—§—“„€†…†€‚€ƒ‚‚ˆ…†‚‚‚‚†‰ˆƒ‚€€€…†…ƒƒˆ€}}~€€~‚}}urstx~~{{{€€€€€~}}}}‚|}{ywvvy{€}ƒ…~z{}}}~€|{|utstfZWY_iozvxwywvv{vvuwqrqtu~}}rkkqqtnnnrnnntqqpqrqqroomlfbhtttuvohJ49P`orwkffijmmqrsjdcffffhgffigcdghmjifhfeekimmnpsggilhomrlmihinmnnmlmlppŠ‹‹ŒŒŒ‹‹Ž‘‘’’‘“”“““”–˜’‘Ž““”••“•”–•–––—šš—•”“““’”•—“™˜š›œœœœš›™œœžœž¡¤¨§§§¦¥¦¥ª¦©©ªª§¤¨£¨¥§§§§©¨¨¨¨¨««¨§§§ªª­®°®¯°±±³¯°­¯¯³³²®°±²¬¬­«ª­¬­­¯®°¯°¬¬¬®ª¯¯±²³´²°°­³¯³¯¯­««©¦}yr‚˜¥«¯²±±±´´µ±±±±²µµ¶´´³²³·¶¶³¶µ¸¸¹¹¹·¸¸¹¹½¹¹¸¸¸¹·º¼¼»½½À½Á¿Á¾¾¿Á½»µµ´µ´¶²µ·½»¹·¶µ¸·¸··¶¸·¶µµ´²¯¬§ª©¨¦¦£¢¢¥››››•–—˜—–•“’”š––—“Ž‘Ž‹Š‹Œˆˆ‰Š‹‹ŠŒ‹‹Š‰†…„‡……„ƒ€ƒƒ………ƒƒ„ƒ‚„„…†‰‚……‹‰ˆ„ƒ‚‚‚ƒƒ€…Š’••”„„„…ƒƒ€€ƒ…††††‚€€‚„‡‰…ƒ†‡‚~€…ˆ†‚„‡€€€€€}|{wrtu{€}y{||}€~}~~}||{zywvw}€|~~|{z||}{}|{yyy{uvwiYXX^fpvwvwwxywvxwvuvprsvx|}{nmmqrsnooonnnumnlnprqqoolf`gmrrssvmN4=I]nqtoihglmnornkffdeca`dhff]TVXfiihieedccgionnmjehjihkmmlljjkljlmnnnlno‘ŒŒ‹Œ’Ž”˜‘‘’‘’’‘”˜“—““”™‘‘ސ‘””™•––—•š—™™››š•“’”“’““–™–˜–š—››žœŸ›šš›œ œžœ¢ª©°©«¨®¥§¤ª§©©©§§§¨¥¨¨©©ª««§©©©¨«ª¨©­¯±­­®³³²³´³³¯±¯´³³³¶­±±²¬¯­­­­¯³³²²²®°«¯¬­®°°´³µ²°±²²³±³¯±¬­š•rww„œŸª«±¯µ²²²´´´´´³³³·····´´µ¸¹º³½¶»¹¹¸¼··¸ºº½¹»¼½»º¹¹»½»À¿Ä½Á¿Ã¿¿ÀÀ¼ºµµ´··¸µµ¸½¸¸µ´¶··¹···º¶´´¶±¯¬¬¯±°¯§¦¦¦¥§Ÿ¤››˜™˜ š™™˜—–•œ–’Ž‘‘˜”•“˜–ŒŠ‹ŒŽŽ““Š‹’Š‹†…„ˆ††…†‡‰…Š…‡‚„ƒƒ‚‰ˆ‡†ˆˆŠˆŠŠƒ‚‚‚ƒ†‚„€…‡Ž•ŒŒ„ˆˆ‰ˆˆ‡††‡‰ŽŠŽ…‚‚‚…„‡‡††‡……„„†‡‰‡†‡‡€…†ˆ‡‡†Š}}xvwy{ˆ‚}}~~ƒƒƒ~|}ƒ‚†}|zyxy|…€‚€}}†ƒ}{yz{{w{obUZ\dn{|{z{y{xwwzxzvvruw|}}zyooprtsrrtuolptmpnnpwqrrsideprwvxwx\>8GZqtwsommmsrrpsmhc_ae`\_bdcfUQNYdikgjefeddfipooliijjihlmnmokllllnmwvvprnŽŒŒŒŽŽŽ‘‘’’“––”“’’‘Ž’”’’“–––”––˜—–“’’‘’’“”–™™——•––›™œš›šš˜›šœŸžœž¢§¨©ª¦§¥¥¦¦¥©¦¥¢¤¤¥¢¢£¨©©¨©©ª§§§¨¨ª¦ª¬®°¯­­¬®¯®¬®®¯®®¯´±±°®­®®®««ªª©¬®¯­­«²®­¬¬¬¯¯°¯³³²±°°³´³¯®ª§¦Œ{qdu€Ž¡£¦¨ª­¬³²²¯¶³³²´´³±³²³°¶µµµ´³³³¶¶»½ºµµ¶·¸ººº·¶·¹¶»»»»»º½¿¿½Â¿À¾¼º¹¹¸¶³±²¯¸µ·¸·´¸³µ¸¸·¶µ··º´µ³²­««­¯®«®¦§£¦£¢œ›š˜˜™™™›œ™––––”’Œ””•’Ž‹ŽŒ‹ŠŒ‰Š‹ŒŠŒŒ‹ŠŠ‡†…†††‡‡‡ˆ„…„„ƒ…†„‚…„††ˆ‡‡‡‡‡†ƒ€‚ƒ…~~~„‡ˆˆˆŠˆ‡…††‰‰ˆ‡††‰‹Š‰…€‚‚€…„…†‡‡‰†…ƒ„„‡ˆˆ„ƒ€€…„„„‡‡Š€|ytwxz|€€~~{}~ƒƒ…}{{}}zyzƒ€ƒ}|}€ƒ‚€}}}{yyuwuncZT\amwy{zz{wyxyzzwxuwrvxyz}vsnruvutrtvtqtwploknpwqrshcdhpstuxzqRC>WoqtvrpnpquwrpnhaX_^a``adfec^Y]`gjkggeeeeefiomokjjigiillmnolmoooolqsvool”’ŽŽŽ•Ž’‘’Ž‘““—˜˜••”•“’””••™—˜–›––˜‘”‘’“•””–œ›š˜–—™›˜œšœ›š™¡ ŸŸž ¤¥§§¨¨¬¦§§§¦«§©¥¤¥¤¤¥¤¤§®©ª¬¬¨©§­ª®©ª¬³²´®®¬´¬­¬­®°°³²²±´±´®¯°°¯¯©«ªª©±­°®¯«´®¬¬¬®¶±±°³²°²µ¶¶¶·¯° ž}jf_q‰”¨©®¯°­³²²²¶¶·µ¸µ»´¸±´³µ°µ´¶´´³¸¸¹¸¼º»µ·¶½¸ºº»··¶»¹¾¼¿»»º¼¾¿½Â¿Ä½º¸¸·µ³±²µ²·´»¹·µ¹´···¶µµ··¹´¶²²®­¬¯®®®®§©©¨¢£œœŸ¡š›› ›››œ––“˜””Œ–––––’Ž‹“ŒŠŠŒ‹Œ“ŽŒŒŽŽ‰Œ†…†‡‰‰‰…‡„…†‹…„„ˆ‰Œˆ‹ˆˆ‡‡…ƒ‚„„…€€ƒ…‡Š‡ˆ‡‡‡ˆŒŒŠ‰‰‰‹‰‡‚‚ƒ…‡†………†‰‡Œ††ƒˆ„ˆˆŽƒ„~†………Œ‹‹‚„{xxˆ‚ƒ‡ˆˆˆ‰ˆˆ~~‚ƒ„„}‚~~|‚‚€ˆƒ€€€ƒ|}~…„„}€zxvyof\VYbnz|~~{|z€zzz{wuxy{z{z}vttwv{uttzvuwvolnnopvstj^_gmvtzy€uiPEOnsvvvvxsuv|xsomf_^`_dfjjiijjjjkksmlhghiffggipoqlnkmgnjoooopmnoroppqrxpplŽ’”””“’’‘’ސ’•————™˜™——–”‘Ž“‘”–•”•–˜—š˜™–˜™™˜˜˜›˜ššž  ¢¤¤¥¥¥¤¤£££¢¤£¥¥¥¤£¡££¥¦¦§§¦§¦§¦§¦ª©«ª¬­±°®«­­¬¬­ª­®¯°°°°¯±±²§¨©§££¥¬©ª¨±¬­®¯­¬¬ª§­®¯¯°°±±°µ´³²°­©”…p[acy’™¡§«¬­®®²±±²µµµµ¸µµ´´²³²±°µ³³´´³··¸¸·¶µµ¶µ¸¸·¶µµ·¶º¸º»ºººº¼·¹¹º»¼»¸´µ²²°°±²²´³µ²²²²²³³·¶¶´¶µ¶³²±±®®®¬ªª§¦¤¦¦¦Ÿž›žŸŸŸ¡›œ ››™—“–“•”’‹Ž‘–“”‘“’‘ŽŒŒ‹Š‡ŒŽŒ“ŽŽ‹‹ŠŠˆˆ‡‰ˆŒ„†ˆ‰Šˆ†„„†……‡‡„„„ˆ‰Š††‡‰ˆŠ‰…„ƒƒ„ƒƒ€ƒ†‡‡‡ˆ…ˆˆˆˆ‹ŒŒ‹‹ˆ†‡Š‰Œˆ……ƒ…†ˆ‡‡‡…‚†…ˆˆˆ‚ƒ}ƒ„„…………Ё}x{|„ˆ‡„„„ˆ‰ˆ„……„‚ƒƒ€€ƒ}~}~ƒ€€‚{~€„„ƒ€€zyy{{yurh]U\am}}~~|{z{{}zxwxwwuyyyyzz{xvtututuvzwv|unkoqrrtrqf`]ksttyywndQVbotuvwwwtuvwwsolba```dkhfhhifilmnpnmfecghhhhgijkhjihffgjjllljmnmmnopqsqqlŽ“’“”ŒŒŒŽ’‘‘‘””›““‘—‘’‘‘‘““”””–œœ›˜™™œ˜™“”’———•››››œ››˜œ™™”“–œœ¢žŸ¥¥ª«ª§§¤©¥§¤¤¢§£¥¤¤¢¢£¤£­«ª¨¨¨©©¨¦©§¯«®¬´°µ¯®¬±­¯­­¯²°¯°¶°¯¯²±°¦¦¦¥¤¦§«©¯¬²­µ­¯®¬©¨©¯¯´±°°º²²²²³¶±©‡q`Q^j|›Ÿ¨¨­®³¯²²²°¯³º¶¸¸¸¸·´³²µ²±°µ´¸´¹·»º»¶¶µ·¶··¹¹¹µµµ¸·»¸¸¸»º½¼½¶¶¶·¹¼º¸´¶±±°³³³²¶¶·²µ³¶³´³¸¶º´¼µ´³¯±±±¶®¬««¨§¦¦¦¦Ÿž›£ Ÿ ¢¢¤Ÿ œž˜•”–”•“•”—“———”•‘‘ŒŒ‰ŠŒ’“ŽŽ‹ŒŠ‰ˆ‹‹Šˆ‡†‰ˆ†ƒ‚ƒ‡‡††‡„…†Œ‰Š‡‡‡ˆˆŒ‡††‡……‡†…††‡‹ˆ‡ˆˆŒ‰ŒŒ“‘‹Š‰ˆˆŒŒ‹‹Œ…††‰‡‹‡‰ˆ„‰ˆŒ‰‡ƒ‚‚‰ˆˆ‡Œ…‡†Š€|}‚„މ‹ŠŒ‹Œ‡ˆƒ„…‰†ˆ„€‚ƒ‚‚€€‚‰‚€………‚€‚‡…†€}{z}z{uqaXZemwƒ~{zy}~~ywvxvvx~}}|z~yzvutwv|x|xx}umkssvuwqpcbhyzzx~yxj`^cktuxvzyzvywwxmjafa``ffffjjihipzovoogdekhhiogghjjkfddfflloklkrmlllntrwwxn’”Ž‰‹Œ‹’’”““’’“‘’““““”•–”——™˜–“‘ŽŽ‘’’’—•–•–””•——˜——•”‘“• ŸžŸ¥¦¨¥¨§§¤¤¢¡¡¡ £¢£¢¤¡¢¢££££¥¥¨¤¦§§¦¨§¯«¬­¯®¯¬­ª®®­®¯±¯«®¬­­®®­ª©£¢¡¥¥§¨©ªª«¬­«§¦¤¤¤¨ª®¯±²²¯®­­®¬­œ“zc[McwŠž¢¦ª«­®®®±±²°²´´´³³³°²±³°³²±°µµµµ·¶¸¶¶²µµ····¶µ¹µµ´´µ¸··³¶¸¹¸·±³³µµµ±±°°­­®°³´³¶±±¯¯¯´²²²´´´´´´³²²²²±¯««¨ª©¥¢£¡ œ¡£ Ÿ¡¡ ž ˜›”””•“’’‘‘““““‘••”’‹Œ‰Š‰Š‹Œ‹Š‰‰‰ˆˆŠ†‡ˆŠ‡ˆ‰ˆ‡…‚~‚…„ƒ††Š†‰‡‡‡ˆ…‡„††††‡ˆˆ‡††ˆˆ‰‰ˆ„‡‡‡ˆŠ‰‰‡‡‡‡ˆ‹‰ŠŒŽ‰Š‚……‡‡‰‰‰‰ƒ‰ˆŒ‹ˆ‚††‡‡……„…†„}~€†‰ŠˆŠ†‹ŽŒ‡‡€…ˆˆ†…„ƒ„……ƒƒ……ƒ‚‚‚‚„ƒ„ˆƒ„‚~|y{y{qaU\dkwz€ƒ~~z{z{zyvvuxswy||~|x}yzvvtvwyvvv|…‚vnkstusqka[ivz{zz}xpfddjptuvwyy{uwxvqnjg`a`_`edfchgfelsrmkhkhgfhhjkiefiijkdb^ggllljkhiimmmlrqrrsp’’–’ŒŒ‹Ž’’–•–’““”““‘–‘“’•”˜““”•”•–•‘ŽŽ’•–—”——š–˜˜™•˜—›——•””™˜žŸ¤£­§¬«ª©ª£¥¡¢ ¡£¤¥§¢¤¢£¢«£¦£¦¥¨¥¥§©©­«°¬µ­±¯±¬³³³°´´³®®¬¯¯°­°­¬¨§¤£¤©¦ªªª«­««¨¤¡Ÿ¢£¨±­´´µ³¶±µ­®®­Ž~iV[Vgƒ”«««®³²´¯¯°³³´¶·¶¹´µ²³²´³³²·²³³¹µ·µ½¸»¶·µº¶·¸¹¶¶¶º¶¸µµ¶º·····»·¸³µµµ´³´´°°®¯¯¯²¶´¶°±¯´´´³¶µµ¶·µ¸·ºµ³´¸°­«®®®§¤¤¦ ¡ŸŸ  ¡¡ §¢¢¡¡˜š•š“–”–“•“—–”““š•”‹ŒŽŽŒ‹Š‰ŠˆŠ†ˆ‰ŽŠ‰‡‰„‡‚ƒ†Š‰‰ŠŒˆ‹ˆ‰†ˆ…‰ˆˆ†Š‰‹ˆ‡ˆŒŠŠŠ‹…‡‡‡ˆŒ‰‰ˆŒ†‡‡‹‹’‘‘‰‰ˆˆˆŠŠŠŠ‰Šˆ‘ŠŠƒ…Œ‹‹…„ƒƒ„„€†…Ž‰ŠˆŠŒŽ’ˆ‡„ŠˆŒ‡…‚„…‰‰Œ…ˆ†Ž‡‡„……‹„ƒ„‹Š‰…ˆ„‡ƒ‚€~~|zgWX`ipy|€ƒ~€€||{z|~xyzz{ƒ„}{|yywzyyyzyu†ŒuomstxrraXbuz{|{~umgimstxvyy}z{x‚xulhgf[Y[]_effblfffrqoheenljimmnjgeefghkfbbiikllklhggmlqppqrrsp’ŽŒŽ‹‹ŒŽ’“”’‘‘•‘’’’’’’“‘”’••’ŽŒ”••–””–••”•••“—––––•••™˜ž›  ¡£§§¦¦¦¥¦¢¢ŸŸŸ¢¦§§¥¢¢¡¡¡¢¢¢£££¨¦§©©©««­¬¬­­««¬®®®®°¯­¨­«««¬¬¬ª©¦¦¦§§¤£¢¡¡¡ žœš™˜ž ¦ª­­´²³²°¯¯¬—}h\LYauŽšª¬­¯°±°°¯±±³´··¶¶¸²²°²±²±²²²²³³³²µµµµ´´µ¶·´µ´µ³·µ¶´³³¶¶¶´¶·µ³¶··³°®­¬®­µ°±­­¬°°¶²²®¯¯³²³³µ´µ±¶´¶µµ´´´·¯­ª®¬­¤¤¡¡šŸ¡¢¢¡žž¡›™”“’’””•“”’”•—”“”•‘މŒŒŒŒŒŒŒŠŠŠˆˆ†Š„ˆŠŠŠ‹‹ŠŠ‰……€€‚‡ŠŠŠ‰‰‰‡†††‡†‚‚ƒ†‡‰‰‰†‰ŠŠˆˆˆ‹‚†††‡ˆˆˆˆˆ…‡‡‹Œ‹ŠŠˆˆ†‡ˆ‹Œ‘ŒˆŠˆ‰‡Š‰‰ƒƒ„‹‹…‚€}}„†Šˆ‰ˆŒŽŒ‹’‰‡…‰ˆ‡‡…‚†ˆˆˆˆ†‰ˆŠˆ‡„‡‡ˆ………‡ˆˆ…„…‚‚|~~€‚u__`hox|~€}~~}{zz}zyx{|€€{zyz{xvyyzzz{xv„‡€trpqrqmbVcrx|{|{wpkgntrsuuyyyyywwvshc_[SZZ^`_]`acefgijhcccefijkkkhgfgfhihggfkkkkkkkhgbkknnnlsqso“““ŽŽ‹”“———’’‘‘’”’•”–””’’’’‘”“•’ŽŽ•–•””””™”––––œ–˜•––šš›•™šŸ §¦ª«ª§ª¨©¦§¢£¡¤¥¥¥¬¥£¢¢£¤¢¥¤ª¦¬¦©©¬¬°®²¬°««¬±¬¬«¯¯·¯±­¬­­ª²¬®­«©¨¦¦§§¢Ÿ ¡¡¡œ–“‘•šž¤¬¬¯°´²º²¯±³•†kWRIWg{œ¢±«³²·±µ±²±´´·´¾·µ¶·²´´´´µ²²´·¶º¶¶µµ¶·µ¸´µµ½µ·µ·³¸µ·´¶µ¹¶·µ¶µ¶³·¶¶¯®««­²°·°°°±°µ²¶²µ¯³°·´µµ¶µ¶µ¶´··¶µ³´¶¯±­®­­¦¨¢ ŸžŸ¥£¦¡¡ £Ÿ ™˜“’“‘˜–˜”—––—•˜˜˜’Ž”‹Š‹Š‰‰‹ŠŠ‡Œ‹‘’ŽŽŒ…………‚„‰‘‹Œ‡ˆ………†…„„‹‹‹‹Œ‰ŠŒŽŽˆŠ„…†ŒŒ“ŒˆŽ‡ŠŠ”Œ‰Š‹Œ††ˆŒ’Œ‹‰Šˆ‡‹‰ˆ††‡Œƒ€…}|~ƒ‹Š‘ŒŒŽŽ“ŒŽŒ‘ˆŒ‰‰ˆ‡ˆ‰‰ŠŒŽˆ‰ŠŠ‹Š‹‹Œˆˆˆ‰†ˆˆˆ‡„„…‚ƒ‚‚€„|qkgjsz†‚‚€ƒƒƒ€‚{}|}~€€…€{zzzxw}{{z{yxv‰‚}twvzqnf]asx~€€xtmjjsrrtvuyyy{€xxurf_[WWZ\`__]^`bbghjgdbcchfijijlgjjjhljjgiiqppmpmmihcjlmnnovrtn“ˆ‹ŒŒŒ’“’Ž‘’“’’’•“’’““‘“’’‘“–—˜””“•”“’—–———–•“–˜™•––™› ££¤¤¤¤¤¥¦§¢£Ÿ¢¡¤¤¥¤¤¤¢ ¡ŸŸ ££¥¥¥¥¨©¬¬¯¬«¨¨¨¨©¬«««¯¯®«±«¬ªªª«§¥¤¤£££¤¤ œœœ™•†…„†‰–ž¤¨­¯±²²²³¬©¨Šq^HPQdt‚” §©«°²²²²°°¯´µµ´·¸µ²±²²²´³µ°´¶····´³³±´³¸²µ±µ²¶´µ³µ´µ´¶µµµµ³´²´²±¯­¨¨©®®°®±¯±²°°°±²°±¯°°·´µ³³²µ´´³±®¯¯´µµ°°®®¨§¦¥¢¡ ¢£¤£¤   Ÿž–•“’‘‘“”””—––˜–ŽŽ‹Ž’Œ’‘‘ŠŠŠŽŽŠŠ‰‰…‡‡‰ˆŒ‹Œ‹‡†ƒ…ˆ†‚‡ŒŒ‹‡ƒƒƒ…„„ƒ„…‡‡Š‰‹†ˆˆŠ‰‰‰ˆ‰„†‡ŽŽ‹ˆˆ†‰Œ‘’Œ‡„‰‡††‡ˆ‰ŠŒˆˆˆˆˆ‡ƒƒ…‡‡‡Š‚z‚}|{}~ƒ†ŠŠŽŽŽŽŠŠ‰ˆˆŠ‰Šˆˆˆˆ‡†„‡†ŠŒŒŽŠŒ†ˆ‡‰‹‰†ˆˆ‰‰‡„ƒƒƒ‚‚wsnpt{„…ƒƒ€‚„„€€|||~€€€~xzz{yxw{{zy{xwwz{wrwwyqocinw}~~~ttjmoqqtuuuwv{|€xwtoc^WZ^^^_``\^^_^cfgeeabbdefegjifghhhiihghipnmklmnia_jnmmoooopm“ŽŽŒŠ‹Ž‘”‘’’“‘‘’‘•“’“““—–—‘‘”‘’•—›˜š——˜–“’”˜˜˜™••—œ˜™–˜˜ž¢  ¢¤£¤¤£¤§£ª¢¢¢¥¤§£¥¢ ¡¦¨¨©©§¨¨©¨®­¯®®««§¨§®¨«¬®¬´¬«¬±­¯¯°ªª¦££¤¤¤£¢ Ÿ›—‘Šƒ|xwƒ’¢¦®®µ¶¸²±³¸§¦~eVFOZk‡ž¤®¬±®¯°¼±´°°³»¸½µ·µ³²´²·´¸´µ¶¶µ¸·ºµ³²±³µ´¹²´´»µ¶µ¸¶¶´¸¶º¶¶µ´´¶´º±®­«¬°°º®°®µ±²±¯¯¯¯´´´´´³·´¸²²²·³´±°¯³²µµµ°µ­¯¦¥¥¥¢££¥¦ª¤¤¢£Ÿ¢žœœž“’•”“’’“—˜˜–•‘’Ž“Ž’’—’’‹ŽŠŽŠ‹ˆ‰ˆˆŽŒ‘ŽŽŠ‹††……‰‹‹‹‹’ˆ…„‚„†„…ƒ‡†‹‹‹ŠŠ‡ˆŠ‹‹‹‹ˆˆ‰ŠŽ‹‰ˆ‡ˆŽ™‹ˆ…‡‡‡ˆ‹‹Š‹ŽŽŠ‰ˆ‚……ˆˆ„~}ƒ}}}~‚‹Š‘’•ŽŽŽŠŒ‰‰‹Š‹ˆ†‡Š‰Ž‘•Ž‰Š‡Šˆˆˆ‹‰Š‘‰Œ„ˆƒ‡ƒvwsz}…†Š„Šƒ‚‚„„…{~€ƒ‡‡ˆƒ~}{}{|xx{‚{zz{wvw{phq|vytprwy€„€€~tssvwwuzz{x{}ƒz{qmb^\_cgghb``a`cbbekfeabccchfdfigdefgkhhhlipmmlkmodY]kmnnqotpqk‹ŠŠ‹ŠŠŽ‘’‘‘ŽŽ’‘‘‘‘’’’’’•—–“‘ŽŽŽŽ’’•——–—–””““”•˜˜—••–™š™˜š•˜šž¡œ œ¥¢¢¢¢¢¢¢¤¢££¢   ¢¢¡¢¦¦¨©©¨¨¦©©«¬­«©§¦¦¤£¦§©¨¨§¦§ª¬®¬­­¯¨©¤£Ÿ›š˜–—‡xsnmmzƒ’¢§©®±´´´±®¯ŽsXTJ[iz“š£ª­­°¯¯¯¯¯°°²¶¶¶¶±³³³²´°µ³´´µµ·²´´²²²±²´µ²²²´µ¸¶µ³¸¶¶´·¶¹¶¶µ³³³´°¬­¨¬­®¯¯­°®¯®®¬¯ª¬¬¯¯²±±²·´´±±±²²±¯±±±²µ³²­­­§ ¢¡£¡¤¤¥¦¤¡ ŸŸŸž›™—–’’”–”‘’“”“”“ŠŽŽŽŽ‘‘ŽŠŽ‹‹‰ˆ‡ˆˆ‹ŠŠ‰ŠŒŽˆ†„†‡ˆŒŠ‰‰Šˆ‡†‚~‚…„„„ƒ„†‰‰‰‡Š‡ŠŠŠˆ‰‰‹‡‰Š‰‰ˆ„……ˆ‰ŒŠŠ„‡ˆˆˆŠ‹‡„‡ˆ‰Š‰‡‡†‡‚…†…„†€€~z|~ƒ†‹‹ŽŒŒ‰ˆˆŒˆˆˆ‹ŒŒŒŒ‰‰ˆ‹Œ“‘ŽŠŠ‡‰ˆˆ‡‹ŠŠŠŒˆ…€€€…„}ttu}‚ƒƒ„ƒƒ‚ƒ„…€{~„…‡„„€}y|z{zxvz{{{{zzwvwmcer{vwwvtz}€}}|ytsrvxxvyyyw{‚ƒ…~yupkcegffghgcbaaacceghgdabccb`\_`__aafeeefekiijlglona]]lmnoqmnmke‹ŠŠŠ‘’‘‘’’’’•“““—“™••‘’Œ“Ž••–•™˜™•—’‘’“”™–˜““”–—Ÿ›™˜œœœ£  Ÿ¡§¦§¢¥¦¥¢¨¥§£¤  ¡¢¢¦¦­­®ª¯«««®©««°«ª£¡¡¢£§¦­¥¥¦¦§®¬²­±­¯¨ª£¤š›––“ˆumfbbew‡“¦¨¯­±±¹µ¶¬¬|gSUUay†˜§§®¬¯®´±³³³²¶µµµº¶·³´´¶³µ³¶µ¶´´´¸±µ²±³¸´µ´µ²´³·¶º¶µ³ºµ¶´·¶¹·¼³±²µ­ª«­¯²±±®¬­°¯´­®«°¯°°¯²¸±²²¸³´³·±µ±±±µ²·³µ±²­®©¤¤££§¥«ª©¤£¡¢Ÿ¡Ÿžš™–•’’’›››””––“”Ž‹ŒŽŽ“’‘ŽŒŒ‹ŠŠŠ†ˆŠ‘‰‰ŠŽ‡…†ˆŠŠ‰ˆˆˆ‡…„ƒ‚‚……„ƒ‚‡Š‰ˆ‡‹Š‰ˆˆ‰ŒˆŽ‘‰‰‰‰…„†ˆŠ‘Œ‹‹Š‰Šˆ‹‘‰…„††Š‰ˆˆˆ‡†…‹‰‡†…‚}|}„ŒŠ‹Œ’Ž“ŒˆŒ‰ˆˆ‡•Ž“‘‘’ˆ‹Š”ˆ‡€ƒ‚…zstzˆƒŠ‚‡ƒ‚ƒ‰ˆ‰„‡}‚„ˆ‡„†}yw{{{yz€~{|‚|xwodbat{|‚zzz~€€‡zyxxw}}|}~{~~~ƒ‡{vvojikorqqmkgeefedcjhigdbbdhc_\]^bbbaeefdiiihhilinmmfbdlnxrqmnljcŠŠ‹‹‘ŽŽŽŽŽ‘‘“’’‘’’’‘ŒŒŒŽŽŽŽŽ•’••–••”’Ž‘’“””“’“–——ž›š™ž ŸŸŸ £¢¢¢¡¡¡¢¢¤¤£¢¢ ¡££¤§¨¬©ª«¬©©ªª§¦¤¤¥¢¡   ££¡ ¤¦©¨¨©©ª©¨¨£Ÿš•…vmf_\Z`cw‰™¤¨«¬­±°¯°£›k_O\fs‹›ž¢¨«¬¬­¬°°²´´´µµ²±±±³³´·²°²²³³³³´±±°²±²³µ³³´´²²²´³³³´³µ²´³³´¹µ»²¯®¬¦©©¯³®«ª¥¬«°¬­©®«°®¯±±´´°¯®°°±±±°±±±²²²·±°¬¬¬­¨¥¢¤¤¤¤¦¦¤¢¡¡¢žœ™›™š””’”•š™š—–’‘“Љˆ‹Œ““ŽŠŒ‹ŒŠ‹Š‹Š‰‡ŠŒŽŒ‹‡ˆ†‰‰ˆ„‡ˆ‰‡Š‰ˆ„~~~‚‚ƒ‚…‡ˆ†…„‹‰‰†ˆ‰‰‡†„‰‰„‰†‡‰‰‹‰‡‡ˆ‰‰‰ˆŠŠ‰„ƒ‚‡…†‡†……ƒ†ˆˆ‰†€…{}~…Š‹ˆŠŒ‘‰‹ŠŠŠŠˆˆ†Žˆ‡‡ŽŠŽŒ‹‘ŽŒŒˆ‡‡‹Žˆ‰ŠŽŽ‰„ƒ‚‚€zuqzƒƒ‚‚‚ƒƒ…ƒ„‚€~ƒ†ˆ„ƒƒ}vyy|y|{||}}{{xvhWJ]w{~€z}~~~€€}wwvxz~~€~{|~„Œ„|vpmimnrvxzupnkiggfedigiifdefffb]]]]^babaccjiiiiihhhhihhhlnpqqkmlhbŒŒ“ŽŽŽŽ”ސŒŽŽ–“”’‘‘•Œ‘Ž‘Ž””˜–š””“’‘—–œ”’’‘“š˜šœœžžž¡  ž¡¡¢¡  ¤¢¢ ¡£¬¦©¥¤¡¢¤¥¨®­­ª´±²¨¨¨©¦¨¢£Ÿž ¡£ª¢¢££¤©¥®©©«¬«©©«›ŽŠˆƒ|vlb\VTV^fz”Ÿ¯®¯®³°²³´›r^[T`q€•šœ¢ª«¬«²¬®«°°·´µ³¸²±°´³¶³²±±±·´¸´·²³²³±³±·µ¸³³µµ³¹µ¶³´³µµ¶³µ³¶µºº¼¯¬ª©ª­­µ¯¬«¬«¬ª°«­ª­­°®®°²³µ¯°®®¯³¯®­­±¹±²±·²³­«¬­©¦¥¥¦©¥¨¤¢¢¥¡¢›šœ›™™™–œš¡šœ™˜•“‘Œ‹Œ™’’‘Ž‹’‘‹ŽŠŽŽŽ’‹‰‡ˆ‡Š‰‰‡Žˆˆ‡Š‰{{|€„ƒƒƒ‚ƒƒ‚†…Œ†…ƒŒŠˆˆŽˆ‰……‡Žˆ‰…‰‰‰ˆ‡†……ˆ‡‰‰ŒŠŠ‹†‡†‡…†‡‹„„„ŒŠˆ†……€~~€„‹’‰‰ŠŽ‹Œˆ‰‰ˆŠ‡Œ˜‰‘’’ŽŒ‡„‡‘ŒŒ‰„ƒƒ„†„€xtw„ƒ„…†„……ˆ…‰„…€„ˆ‡‰‰Š€zxzz}zz{€„€}…~}yv^KGYw|}~†~ƒ~zvuu{{ƒ†€€€‚„‡ztoihrx„†€}wssuttmiiiiiijglhthgee\Z^ccdbedkjjjkiiiijkjpmmmnorqslgbŒŒŒŠ‘ŽŒŒŽŽ‹ŽŽ‘‹‹ŽŽ‹‰•”—“”‘”’““–˜•‘‘•—˜˜˜šžžž¡œ ž¡¢¢žžž¥¢¢ ¡£¥£¥¥££¥§©ª«««ª¬««§¨¦¥£¡ž› ¤¤¤¥££¤¦©§¦¥¦¥£¢¡ž™“Œ„|wrlfbZWQUVcn€”¡­¬­­¯¯¬¬¬ziV]_oƒŠ—› ¢¤ª©ª««©««°°±²³°°¬­­±²¶±°°±²´²³±°¯³²²°±²·´¹±³µµ³³´³³³³µ²³±´´¶²±²®¦¥¥ª«­°¯«ª¨¨§©ª©¨©©­¯¯¬®¬­­¬«®®­­­­®«®²´°°°²±²®¬ª¬«ª§§¦©£££££¡Ÿ¡››šœœš˜˜˜œ›ž›™—™™•‘Œ’”‘‘ŒŒ‹‹Œ‹ŽŒ‹‡†‡ŽŒŠ…†„†‡†‡‡†…„„„ˆˆ‡|x„……ƒƒ„„ƒ…†Œ‹‹„…ƒ„‚‡ˆ…„„‚…‡Š‹Ž‡‡†‰ˆˆ‚‚‚‚‚ˆ‡‰‰‰‰ˆ‡Š††‚„…†ˆ‹„……ˆ‰‰†…€~~†Š‹ŠŒŽŽ††‡‡ˆ‡‡‰ˆˆˆ‡‡ŽŽŒŠˆŒŽŽŒ‹ŠŠ‰†‚…ˆŽŒ‹‹Š…‚~……„„~w{|„„„……„…†‡……ƒ‚{€„€„‡ˆ†ƒ~|z{||yzx€€~}}}zrRC;Yw{|~€€~|~}~{ztvvz{€|}‡Œ…zvqmkvˆŠˆ…ƒ‚|zywrrqomjfhgihggfea[Z]^_abddloomlgjkjjkhkmmqnnonmjhcŒŒŠ‘ŒŽ‘‘’Ž‘‘‘‘‘‘‘‘“ŠŠˆ‹‘–•˜’•‘““›››“‘’”™™Ÿž¡¢¢¢¢Ÿ  ¡Ÿ¢ ¤¢§¢¤¡¦¥¥¡¡¢§¦¦§««¬ª®¬°¯°«¬ª©§¨¨§Ÿœž¡¡¨§«¥¨¨ª©¨§¦¦¦¦¦£¤ŸšŠƒ}toid_ZUQOQXgv‰¡¦³¯±®®°²¡œlaT\gwŽ— ¢«©©¨«ª©¬««¯¯¶°³³´°²¬°°·³¶±°±²²µ²²²²¯´³´°·²·´¸±´´·³´´¹´³³´´¸¸¸´·¶¶¬¨§ª«²±±®®©©©©¨¨©«ª««¯¯¯¬®¬«­¯®¯­²­¬­®®³±µ°°¯µ±±®¯±±¬­¬¬§ª£§¦¦¢ Ÿ¡Ÿ ¡¡››™››œœ š˜— ˜—‘Ž““—’’‹Œ‰ˆ‹‘Œ’Œ‹†ˆ‡ŽŠ‡†‰„‡†‡†‰‰Š„‚ƒˆˆˆ~‡†‰……ƒ‰‰‰……‡ŒŒ„…„††„‚‚„„‰‡ŒŒŽˆŠŠ‘ˆˆƒƒ„‰ŠŒ‰‰‡…†Š‡†„ƒ„‡ˆ‰†‡†‡ˆ‰ˆ…~~€…ސ’Ž’ˆŠ†ˆˆ‡ˆ‰ˆŠ‰Š‹ŒŠ‰‹’ސŒŒ‹†„„‰Š–ŽŠŠ‰†€†‡‰‚~~†……†‹†ˆ‡†ˆ‰†‡‚€„ƒ„‡Š…‚~~}ƒ|yy{€‚ƒ„~}}ymM76[t‚{~€„€}|zyxxy~|€~}|~ƒ‡Œ„~{xuv~ˆ˜“’‘“’††„€}{rnnnlkigeeb_[[[_^bcdbnoxmlkkklkkhiknnmnqpnijdŒ‹ŒŠŠŠŒŒŽŽ’‘ŽŒŒŒ‘‘ŽŽŒ‰ˆ†‹Ž‘’•”’“““’‘Ž‘“”•˜šŸžžž¡¡ Ÿžœ¡ž¢ ¢¡¢¡  ¢¡¤¢¢¢¨¨§§©©ªªª©¨§§§¥¤¥¥£Ÿžšž ¥¥¨§§¦¨©©¨¥£¤¤¢žŸ’Š}tnfc`]XURPNTXl~§©®®­¬¬©¨•ˆt`^Vdq•œ¦¦¦©¨¨¨«¦ª¬¬¬®¯¯¯¯­­««¬°°°°µ­±³²²±¯²®¯¯°°³±±±³³²±´²±±³´¶´³³³³¸¶µ³¶¬©¢¨§­­­­¬ª¦£¤£©©¨¨ªª«¬®®¬ª««¬­®¨ª«¬ª­­­­­®°®®¬®°±®®¯­¬®¦«¦©¤¦¦¦ Ÿž     ›š˜ššž ™˜˜—’‘ŽŽŽŽ““•’Ї„†ˆŠ‹‹‹Š„†ˆŽŒŠ‡‡‡‰„„„…†‡‡‡‚„„„„…ƒ„…‡ˆ‰………ˆ‡‡††‡‹ŒŠ„„„…ƒ€‚€„…†„‡†ˆ…ŠŠŒ‡„ƒ…ŠŽ†„‚…†Šˆˆ…„„…І‡€€€~~„‹‘ŒŽŒŒ‡Š†‡…‰‰‰ˆ‰‰ŒŽŒˆ‹ŽŒ‹ˆˆ‰Š‹…€„†ŠŒ‹ŠŠŠŠŽˆ„€†‡‰‚ƒ„…†ˆ‰‡‰ˆ‰ŠŠ‡‡‚}€……„„ƒ€~|}|zv{|€‚‚ƒ‚}}wqM:4Tov{}€}||€|{zzz|{~}~x|†‡…ƒ…†‚~~…’•”””’‘‹‰†…ƒ‚{tssvxqjieca`ZZXZZZZ_agkkkkjjklmkiijmnoorujfhdŽ‹ŽŠŠ‹ŒŽ‘—’’’•””Ž•“Ž‘Šˆˆ‡ˆ’‘•“•‘‘–’‘‘˜–™š›ž¨žŸ£¢¡ŸŸž¡¡¡¡¤¢¥¡¡¢¥¤¤¦§¨¨§¨¦ª«­®®¨©§®§§¥¥¢¡žžŸ¦¦­§§¦¨§­§¦¥¥¤¤¡¢š‹oeb_^]WTQOLLU`rŠ—ªª¯¯³µ¶£Ÿ„uiZ\^h{Š¡©©ª«®©ª«¬©°­¯±³²³®¯­­ª¯°°¯¯°´´´´µ²²±²­­®¯±´³³±³±°°´³²²¶¶¹¶¸´¹¸¸µ¶³µ¬§§©¬µ®°¬ª¥¡¡§¢¨¨¨¨¯®³­±¬ª«««¯­®¨«©«¬­­³­®°´°±¬­¯³®®¯¹­¯©¬§§¦ª¦§¢£Ÿ ¡¥ŸŸ›œ›š¡ ¡˜˜˜˜‘“ŽŽŽ“—“•’ˆ„ƒ„‡‹Š‹Šˆ‰ŠŠŽŠˆ†Žˆ‰†………‡‰†ˆŠ„…„‡…Šˆ‹‹Š‡ŒŒŽˆ‹‡‡‡‹‰„†……‡‰ƒƒƒŠ‡‡†‰‰‹ŠŠŒŽ…ƒ…„ƒ†ŠŒ†„…Œ‹‹‰…„ƒƒ„‰†‡ƒ‚€ŠŒ•’—”ސŒ‰‰ˆ‹‘Š‹‹‹ŽŽŽŒŽŽŠŠ‡‰ˆ‹…€€…ˆ’Ž‹’Š‹Šˆ……†‡ˆ‰‰‰Š‹Œ‹‹ŠŽŠˆ‚†„Œ……‚{{{‚|yz‚…ƒ†ƒƒ‚‚}ytX><Pisy|}€€€€‚~€|€~ƒ}{€ˆ„‡ˆ…†‹’ ›››˜œ“ŽŽ†„wtu„{rplkaa]ZXZZ[Y^`dipkljjkqmnijjpqqotogemeŠ‹‹Š‹ŽŽ‘“’‘‘‘‘’ŽŽ†††‰‰Ž“‘’‘‹‰‘”–•™šžžŸž¡¤£¢¢¡¢¡¢£££¥¦¨¨¨¨©¦§§§§©§¨££££ ¤ ¡ ¢¤¥§¨¦¦£¤£¢¡ œŸžœœ“Œ€qeWVWYWVQPMQNYcyŽœ§©ª¬°¬ªšŒwb_Uaju€Ž›¡§¨©«««©«¥¬©¯¬¯±±®±«®­­«¬­¬«¯¯°¯±°°¯®­­©®­°±³³³±³°°­¯®±²¶µ·´´´¶¶¸µ³°¬§©©«®¯­¬ª«£¢ ¢¢¥§©ª¬¬­¬­ªª¨¬ªªª¨¥§¨¬«­®°­°°´³¯¬¯®®®®¯¯¨§§¨¦§¥¥££¡£ŸŸž››šœ›š™””’‘ŽŽ‘‘—“Œ‹†„ƒ‡‹ŠŠ‹Š‰‹‹ŒŠˆ‡‰ˆˆ††„‡ˆŠˆ„„…„†††††ƒ…†Š‹Žˆ‡„‡ˆˆˆ…‡‰‡††…ƒƒ††……†‰‹‹ˆ…„„ƒ‚„„„ˆ‰Š‰‡†…ˆˆ‰ˆ‡„‚|‚……‡†„}€‚ƒƒ‰Œ‘‘ŽŽŽ‹Š‰‰‰Œ‹ŒŒŒ‹Œ‹ŒŠŒ‹‰††††††‚€€‰ŒŒŒŒ‰ŒŠŠ‰‹†‰…‡ˆ†„ˆ‰‹ŒŒ‹Œ‹‹‹‹‹ˆˆƒ„ƒ†‰Š…„yu{}~|‚{{|€‚‚‡ƒ‚€~{wfREUcltwz}}}||||~~€}~~{‚‚ƒƒ…‰‘“’Ž‹•œžž™˜—’Ž‰†zxw…„}wtsi`_^\YZ[[[^_beefhhjjkkmikkmlllnjfaa`‹ŒŒŒŒŒŽ‘‘•“’“‘Ž“”ŽŒ‹ŒŒ“‘“’ŽŒ‹‰Œ”“˜˜™œŸ ¢ŸŸŸŸ¤ ¢ ££¤£¦£¤£¥¦§¤ªª¬ª®®­¥©¨ª¨­¦§¥¦¡¢¡¤£¤¤¨¤¥¦§¦¦£¤¤£œ ™‰‚th]QPQSZSQONOS`ož£²¨®®­¬ª~kZZXan|‘–¢£¨¬°¬®ªªª¬¬­©°¯²²±°°®¯¯±«­­­¬¯°³®µ°±¯µ¬­­®­·¶¶´¶²³°°°°°µ³¼µ¼´µ´¸·¹²®¬ªª²ª°¯®®®ª«¥¦¢£¤¦ª±°±­®¬¬«®§««­ª¨¥§¨¬­²­´­´±´°®¬´¯±±°°±©ª§©¥§¥¨¢¤£¤ ¡ž›œœ  ¡žž˜™”•‘”‘––—”˜‘ŒŒ†…‚†‹‰‰‰Ž‘Š‰ˆˆˆ‰‡†ˆ‹ŽŒŒ„ƒƒ…„‰ˆ†‡‡‡†…‰‹‡‡„‰ˆŠ‡„„‡‡Š‡†…ƒ‡…„„†‹“Ї…††ˆˆ‡„„ˆ‰‰‰Œ…‡‡‹‡ˆ‚|~†„‹‡†~€„‡Š‰Œ‘‘•ŽŽŽ’ŽŽŽŽŽ•ŒŒ‹‹Ž’‘Š††ˆˆ‹†ˆ‡†‡”ŒŽŽŒŒŒŒ…ˆ‹ˆŠ‰™ŽŽŒŒ‹Š‹‹“ŒŠ†‡†Ž‰Š…„ysw‚}}}}…‚‡‡‡„††‡€‚{zob]\agpuy‚€|~|€‚„„…†€€ƒƒƒ„…ƒ‡›šš”‘‘˜›¤¤¦£¤¢™–”•Ž‰ˆ€€~‡…zwqjda_a\\\\]^`accchhnkjjmllmpmomqieccc‹ŠŠ‹Œ’‘’’‘ŽŽ‹ŒŽŒŒ‹‹ŠŽ“’‘‘ŒŒŠŒŽ“”™™›œž  šœšžŸŸ  Ÿ¡ ¡¡¤£¤¤¦¢¤¥©ª©¨ª¬¨¥¥¦ª§§¦¦£¥ ¡¡¥¤£¤¤¤¥¢¥¨£¡ œ˜™›‘Š~qg[WOOOSSQNNNTWgv‰ž¤¨¨¨­¨£„pdT^cnx€Š—¡£¥©®®ª©©¨¨««¬ª°°®­«¨¯­¯«¬ªªª­­­­®®¯¬®«ªª­®®®¯¯²³³²±°°®°±µ³·µ´´´³´²°¬«§«­±ª¬«ª©©§¨¥¥¢£¨©¬¬¬­«¬«­ªª§ªª«©§¥§¨¬¬¯­°­¯®®­­¬³®±¯¯®°©©§ª¢¦¤¢  žŸœžœœšœ¡¡¢šž—•‘“‘“’“”“•”˜ŽŒ†…‚……†‡‹ˆ‰‰‹ŽŽ‹‹‹‡†……‡‹‰ˆ†…„„ƒƒƒ„‚„‡‡ƒ……Љ‡ƒƒ„Ї†††……„††‡‡†‚‡ƒƒƒˆ‹‰ˆ…ƒ†‡‡††ƒ†‰Š‰‹ŒŒ…„ƒ†ˆ…|~€‡„„ƒ€}€‡Œ‹‹ŒŽŽŽ‘‘‹ŒŒŒ‰ŒŽ’‘‡††ˆ‡…‚ˆ…ˆ‹ŽŒ‹‰ŽŠ‡‡††…††ˆˆ‹Œ’Œ‹Œ‹‹‹‹ŽŒŒŠ‰ˆ‡ˆŽŠ‰ˆzpw}z}~~„‚‡…†…„ƒ‚~}{wphecinwy~}{|{€ƒƒ„…†€€€‚ƒ‡‰„‚—œ ™—•š¢¢£¢¡›™–”•’Žˆˆƒƒ‚†‡„}yqmhea`]^___`ab_`_bcilkimmmnpjkjjheccaމˆ‹““™’‘‘’ŒŒŒŒŽŒŽŽŽ“Ž‘••”’’‘‘“”›ššœŸœžžœžžžŸ¡ ¡¡¢¡££¨¨©¦§¤¦¥©©©©§§§¥¦¥ª§§¦¥¦¥¥¥¦¬¤¢£¦£«¢¦£¡Ÿœž–™‰qf]RONNPPXRPLNV^m¨¨¬ª¬©°—xe_X`lx‹”™¥£¦¥«­®¬ª©¨¨¯ª¬ª°­¬«ª©°¯¯­°¬­ª¬­®®®®¯¬°«­¬±±±¯±¯³²³²±±²²²³µ³¸´´µº´·°®««ª®®±ª¬¬«ªª««¨©¢¥§¬¬¬¬®­±«®ª«««ªª¨§¨ª¨¬«²­µ­¯­«¬²³³±±±²®°ª­©«£¦ ŸŸ¡Ÿ¡Ÿ›œ›¡Ÿ¨¢£˜ž–”“™“”“˜—˜“–——ŽŠ†…„‰ŠŠ‰‹‹‹‹‹Ž‰††‡…‰Š’‰††‡…‡†………‚„‰„‰‡Š…„І…†Š†…………ˆ‡‡„ˆƒ„„‹ˆ‡†…ƒ‰‰Š†……‰ŠŽŒ’Œ…ƒ‚……ƒ~‚ˆ„‡€~~‚†”••“‘‘’ŽŽŽ‘‘‘‘“˜‘Š‹Œ‹’‘ˆ†…†ƒƒ‡ˆ‘ŒŠ‰‹‰ˆˆ‡‰†…‡‰ˆ‹•‘”ŽŒ‹•‹‹ŒŽŒŒŽŠ‹€tt„~||‚‡…„„‡‡ˆ‰Šƒƒ~€~tmjkpxz}}|{||†…„„…†‡‚‚€ˆ†Žˆ„‰—™¢ ¡›š¢Ÿ§¤¥¢  ¢ ž•š“•‰ˆ‡‰…yzoifgfgddddacaa^bbhjommmropljhhhhehc‡‰ŒŽ’’’’Ž‘‰Œ‰ŠŠŠ‹ŽŽŽŽ‘“•‘‘‘‘‘‘’”•—™™œœœžž››œžžžž  ¡¡¢£¤£¥¥¥££¢¢¤¤££¢¤¤¤¤¦¥§¢¥¦§©¦§¦££¢¤£¡œ›››˜˜™‘Š~qdWSNPNQURPONNNYduˆ”£¨©ª§¤¢|n\_]kxƒ’–›Ÿ££¥¤¥¥§£¦¥¨©ªª©©«¬­¦«ª¯¯®«­­­ªª©©©ª«««««­®²­®­°¯°¯³­°°²²´¶µ³²³´µ´®­¬®ªªª®¬«ªª¨©©ªª¨¥¤£¥¥­¨««­­­¬®¦¦¤¤¤§¦©®¨¦¬©­­«©©¥««®­­©¬««ªª©¨¤¡žžžžžœœ™›œ¡¡£Ÿœ˜—“““•“““”•–“–’‘Œ†††ˆˆ‰Š‹ŒŒŒŒ‹ŽŒŠ†………†‰‰‰„ƒ……†ƒ‚„……€ƒ‡……†‡†…………‚ˆ†„ƒˆ‚…„„„‡‚‚‡……„……‰Š‹ŒŒ‹€……ƒ€‚ƒƒƒ€{}‡Œ’‘’‘‘ŽŒ‹Œ‘‘“”˜‘‹‹ŠŠ‰‹‹Ž“Šˆ…†‚ƒƒˆ‹ŠŠ‡ˆ†‰‹‰‡‡††‡ˆ‡Œ‘”‹‹Ž‹ŠŠŽ‹‰Š‹Ž‰yxz€}}}ƒ†‡…„…„…ƒ„ƒ€€~}ztqrt{|}~~{}}…Ї…„ƒ„ƒˆ†‰ˆŠ”œžŸ¡žœžŸ¡¢££¢¡¢£Ÿ—𓓐‹ŒŽŽŠ…{smhklgedddaa`a\\]ffommnmmmmledddcedŽ‘ŽŽŽ‘•Ž‰Œ‰Ž‹‘Ž“•”–‘‘’—”•’“”š’“’˜–œœ¢Ÿ ›œœ››œ¡¡¡¡¢¢¥¢¤¥©£¥¡  £¢¡¢¦¡¢¢¤¤¨¤§¤§¨©ª©§§¦¥£§¦¥šš›™ ˜™Š†th\PMJLOPWSRMLLN]j}”›¦¥­®¯š’}nfZ^cp†‹›ŸŸ¨¨©£¥¥¥¤§¥­««¬¬«°ª¬«¬¨ªªµ¯®­®¯¯¯¯§©©©ª±¯´®°°³²±±±°²±´³µµ¶¶º¶¸³¶³¹³³®¯«®¯²ª®ª«ª©©¬ª¯©¦¤¤¦¨¨­¨«­±­¶®¯¨¨£¦¤¬¬­ª¦¦¬«¯«ª©¨¨¬«°«¬©°ªª«¬¦¢ œ¡ž   ¡¢žœŸ ¥¢¤š˜˜”—”™•——Ÿ–—–—“•†‰‰Œ‹—’ŒŽŽ‰ˆˆ‹‹‹‰Ž‹‹…ƒ„‹†…‚‚‡ƒƒ‚„ƒ……†‚‚†…„…‰†„………„ƒ‡…ƒƒˆ‡‡‡„††‡††…„ƒ‡‡‰ŠŽŒŠ‹ƒƒ‚‹„ƒƒ‚ƒ……†€}}ƒ““““—‘‘‹Š’‘‘—˜š‘ŠŠ‹‹‹Œ’“•‹…†ƒƒ†ŽŽŽŠŠ‡‰‡ŠŠ‰Œ‡ˆ‰‹Œ’‘“””‹Œ‹”ŽŒ‰‘Œ‹‹ŠŒ•‘…|xz~†€††ŠˆŠ‡ˆ…‹†‰ƒ‚ˆ‰Œ€~}}{yz|~€…‰ˆ‹……„„…‰ŠŒŒ‘‘’–Ÿ¡¢¤£¬Ÿ¡¡¨¨©¥¨¢ š™”””™’’𔓋ކ†ypospjhieiba`_]X]dfpntpmntmnfgbcbedŒŠŒŽŽŽŽŽŽŒŠ‰‰ŠŠŠŒŒŽŽŽ““—””’”˜•“““——›Ÿœ››œ™š™›  ¡¡£££¢£¥¢ŸœžžŸ ¡¡ ž¢¡¢¢¥£¤¥¥££¤ª¦§¤££ ›–˜”–•’ŽqfXRMLKNPQSQPMJNQar†›Ÿ£¤¤¢žq`^^hox…•™œŸ ¢£¢ ¢¤££¤¤¨¦¨¨©¨¨¥«©©§©©ª«¬¬®¬«©¨§¨©ªª¯®²®°°±±²²±¯±±²²´µ¶¹·´µ³³³²­¬ª°¬­­±«©¦§¥§©©§§§¦£¥¦¨©©©¬­­­®ª¨§¨¤¥¤­«¬¦¥¥©«©§¦¦©¨¨©¨¨¨¦©§¨§§£ ž™Ÿ¡ ŸŸŸŸžž¡¥£ ž™—””’”“”“—––’‘’‘‘‡‰Š‹ŒŒŽŒ‹‹ŒŒ†‰ˆˆ‡ˆ‰Š‹‡‡††ƒƒ~ƒƒ‚‚ƒ‚‚‚‚„„ƒ„……„ƒ„††„„†€„ƒ‡‰Œˆˆ„…€ƒ‚†ˆˆ‡ŠŒŠ…„ƒƒ‚†ƒ‚‚……€}}}ƒ‡Ž’’““•ŽŽŒŠŽŽ‘–𖑐‰ˆˆ‹‹ŒŒŒŒ‹Š†„ƒ‡‰Ž‹‡Š†††‰ˆˆˆŒ†‰ŽŽŽ’ŽŠŠ‹ŽŽ‹‰‰ˆ‰‡‹‹ŒŒˆ}y~‚€‚…†Š†ˆˆˆ…‡††ƒ„…ˆ‡†z||}€‚‚ƒ…‡ˆ‰Š‡†††ƒ†ˆ‹ŒŒ‘„ˆŽœ¡¥¦£§™¢ŸŸ¡¥£¤¡ ›š••”••””—•“Œ‹‹‡~wtuvqkiefa^\_aaadglntuonoljfg```bcŠŒŒ‘Œ‹Œ‘ŠŠ‰ŒŒŒŒ•”Ž‘Ž‘™”—˜—––””•——žžžŸŸŸž›œœœ› Ÿ¤¡¡£¦¥¨¢£Ÿœœœž¢¢¤¡¢¡¡¢¢¢¡¡¥¢¥¤¤¢¨¤¬§§¢¥ œœ›–™™š‰‚sf[PMKMPRTUUQOKIPVh}§¦­ª±ŸŸ„shZ^al}„‹’œ›ž ¥¡¢ ŸŸ¡¤©ª«©¯§ª¨«¦¨¦ª¨©©­¬±ª­¬®«¬ª®«°©®¬°±²²²±µ±²±±°´³¶´¹¹¸·¶´ºµ·±°«««±¯²­±ªªªª¦¦©«ª«¨«¦©¦­ª¯¬±¯³¬®©ª§©¦¨¨®««¨«§¨¦¥¥¥¦©§¨©­««¨¬§©¦¨¢ žŸŸŸž¢  ¡¡ž§¦¥¤£›—•••“—•–”—––’”““’‘ŽŽ‹‘‹Š‹Œ‹‹‘ŠŠ‹‹ˆ‡†‡‰‰‹‰ˆ‡‡„‚†…‰‚€…‚†‚‚ƒ‡ƒ†††…‰ˆŽ„‚‚…„„‡‹‹‰ˆ………‡ƒƒƒƒ…ˆŠ‡‰‰Š„„‚‹‚†„ƒƒƒ…†|}ƒ‹Ž–—˜—–“”””ŽŽ’’’’‘’••”ސˆ‡ˆ‹‹ŽŒ‹Œ‡ƒƒ‰‰ŒŽ‘Š†Š‰Š†‹‰Šˆ‡Š‹™’’‘ˆ‡ŒŽŒŠ‰ŽŠŒ‰Ž‹ŒŒ†‡„„‚†………†‹ˆŠ‰‹…‰††„‰ˆ‡‡}ƒƒ‡‡…„…‡Œ‰‹‹Š‡‡‡Œ‹‹Š–‘‘‘‘ƒ‡œœ¡¦«¤££¤ŸžŸ©¤¨ ¡ ¢–‘“™š–š–•‘Ž„{zqkik`[Z`cjjhhkoxsqqqkgegbaaabŒŠŒŒŒŠ‰ˆˆˆ‰‰‰‰ŒŒŽŽ’ŠŠ‹Ž‘“’’”•–‘–“–———œšœžž™œœœœŸŸ£¡¢¤¥¤Ÿœ›˜™–œŸ¡¢£¡£¡ £¡¢¢£¢¦¢¢¢¥¤¤¤¢¡ œ™•””‰~qfYTKMLPUTSQQPNNMV_q†“¤¦¦¥¦—‰yhaYcjw‡‹’˜œ £¤¡ŸžžŸ¡¤©¨¨¨¨§¨§§¦¦¦ª¨¨©­­­«ª©ª¨«©¬«¬ª¯­¬«®¯²±±±²°°°²±±²²³³³·µµµ±¬ª¨«¬®®®®ª¤¤£ª¨¨§¨¨ª¦ª¦§§§§­¬®¬¬«¨¦¦¦§¦©©©©ª§ª§¨¢£¤¦§§§§¦­«ª¨§§¨¥§¡  Ÿ›žžœœ¢ž¦¢¡™™–•”–•–••”—’‘‘‘Ž’ŒŒ‘‘ŠŠ†ŠŠŒ‹‹‹Š‡‰ŠŠˆ‡†‰ŠŽˆŠ‰‰‡†…„‚ƒƒ…ƒ‚‚ƒ„‚‚‚ƒ‚„…†‚€……ˆ‰‡‡†‡‡†…„ƒ‚ƒ…‡Šˆ‡†‡ˆˆ€‚„‚„ƒƒƒƒ‚€zz{„ސ’“”––•••““ŽŽŽ’‘“““ŽŠ‰„‡ˆŒŒŒŒŽŠŠŠˆƒ‚„Š‹‹ŠŽ‘ŠŠ‡‡†††Œ‹Š‰‹‡Š‰ŽŽŒ‰„ˆŒŒŒ‹Š‰‰Ž‰‰‰Š‰Œ‹„~ƒ………„‚€†…††‡‡‰ˆŠ„„„…„†‡Œ…„~~ƒ…„…††ˆ‰Šˆˆ‡‡„ˆ‡‰‰‹Œ‘‘•–ƒ}z˜ž¢§¦¥¤¤¢ŸŸ£¡  ¡ž¡˜•“›™™••–”ŽŽˆ‚z}|yutrn^[Zadfghhlowqqplgfddddcb`ŽŒŒ‰Š‰ˆˆŠ‡ˆŠ‘‘’Ž’“ŒŠŠŽ‘““’”““”•–˜•›˜™™›š Ÿ¡žžŸœ›¡Ÿ££«¤§ž˜˜ššž¡¤¥¥¤¤££¢£££¡£¢¤£¦¨©¥©£¨¢¢ Ÿ™–––Š…ui\PLJJNQYWXROMLMP]j{”š¨¦«©©m^YXbr}‘””š™ŸŸ¥¥¥ žžž £¦«¨¬¨¦§¬­­©ªª«©­©­­­ª¨¨©¨«©°¬®¬°¬«­°²¸±±±²±´°µ²²²³³´²·³³±¯««ª±®¯®´¬§¤¤¥«¨§¦¨¨©§«§«§¨¦®¬°ª­¦£¦¤¦©¨®©©ªª©¯¨§¤ªª«©­¨©ª¯«¬¨¯ª¨¤¦ ¨¡¡›£žœœž£¡¦ ¢žž–›“–—š™™”–“”‘‘Ž’’Œ“’‰‰‡‹‰‹‹‰‰ˆ‹‹Š‰‰Œ‹‹‹‡……‡‡ˆ‰‰„†€ƒ‚‡ƒ‰…„…Š‚ƒ…ƒ‚ƒ‡…ŠŠ‡‡‡…Ї‡„ƒ…‹Š‹ŒŒ‰ˆ†ˆ†„„„ˆ……„‰†ˆ€~|‚А˜•˜–•””––“‘‘‘“’—““ŽŒˆˆˆˆŠŒŒ‰ˆ†‚‡’ސ‘‘’‹“‘‡…‡ŒŒ‹ˆŽŽŽŽ‘ˆ……Œ‹“Œˆ‡‡‰ŽŠŠŠŒŒ‹ƒ‚‰‹’†„…††‡†††‰ŠŠ‰…„…†…‡†Œ†…ƒ†„„†‰…†‰‹Ž‡‰††„ˆ‡Š‰Œ“–Ÿ˜yfw’œ¦¥¤¤³ª¨¡¢¢¦¢¢¡¡¡¢››š›œž–••˜–•Š‰ƒ‚€~~}xra]afffghioowwyojfefigedfb‹ŒŠ‰†…„ˆ‡‡…ˆ‰‹ŒŽŽŒŠŠŽ“’”“““•———˜˜™šœ›žžœžžžž›œ  £¤£Ÿž™—–›¡¤¤¥¥¤¥£¢   ¡¡¡ ¥¢¤¤¥£¢¢ ›››š•Ž‹vi\VKKJNQSWWUSNMKQVgu†™ž¦¥¤¡œ†seUZ[hvŒ‘–••ššžŸŸŸŸœžž¡¢¥¦¨¨©§§¨¬««¨ª¤¤¥¨§¨ªª§¥¤¨¨©ª­¬¬¬«ª¬®°±²¯±­°±°°µ²²±³°²²³¯®ª«©«ª°®¬©§¦¥¤¤¤¦§§¦§§©¨©¦¦¥¦¦§¦¦¥¤ ¢¥¥¤©«ª¨§§¨¨¨¤¤£¦¦ª¥¥¥©°®¬¬©«¬¥¢¢ ¡ž››››œž ¢¡ œ›˜˜˜——›“””™—–”–“”Ž‘Ž‹Œ‹‰Š†‰‰‹‹‹ˆˆ†‹‹‹‹Œ‹ŒŒŒ‹ŒŒŠ……„†…†‡ˆ„„‚‚‚‚‚‚ƒƒ„†‡‡†‰‚€…ƒ„„…ƒˆ‰†‚„…Ї…„…‡†…„„ƒ‚‰†‡ˆ†„…‡ˆ„…†‰„|~}„‹’“”˜”–’”–“’’‘““”’“ŽŒ†‰ˆ‹Œ‰‰‡‰ˆˆ‚€~…ŠŽŒŒ‹ŒŒ‹‘ˆˆˆ‹ˆŽ‹ŒŽŒŠˆ‚„…ŒŠ‹‡†„‡‡ŽŠŠŠŽ‰‡†‰Š‹ˆ‡‡‡ˆ‰‰ˆ‡‡‰ŒŠ†‡††„„ƒ‡†ƒ‚…‚‚‚„…††ˆŒŠ‡†‚‚‚…„††‡ˆŒŒ”˜™™‘qtz•› ž£¢ª©§¤¤¢¥£¢œœœš™˜›——–”“–™–“‘Šˆˆ‡†…ƒreiolgghjkoovwyngbefgggedbŽŽŽ‰‡†„…‰ˆˆ‰‰‰ŒŽŽŒŒŽ’’“‘“““”˜—š›››¢›žžžŸŸŸ¥¥¤ž£žŸ¡¦ ¢¡¡žœš™›£Ÿ§¦¦§ª¦©£¢¡¢¡¢¢¬¤§£¥¤©£¤  ™›››Š„sg^TPKIIMVXXXYTRMKT\n†’¤¤¬§§•zjaUY`k{…‘“˜šš››šŸŸžžž¢Ÿ¨¤©¥§¨ª§§¨®¬«¨©¤§¦¨©¨¨¨¦¥¤¦¨««³®¯ª¬¬±°°±³°±°·±º±µ²´²´²¶±²­­«®­®«±®®§¦¦§¥£¤¦§¨¨¨§ª¨­§¦¤ª©§¥ª¡žž¡¤©§««ª§¦¦©¨¨§¦¤§§ª¥¨¥¨­­­­¬¬¦¤¤¤££Ÿ¢¡ ž¢¡§§§ ž›››››››œ””•˜˜–––“•Ž‘ސŒ‘‹Š‰Š‹Œ‰Ž‘‹‹‹‹‹ŒŽŒ’Œ‹ŽŠ‰…‡‡†‡‡‰Œ„‡†††‡†…†‹‹ŠˆŒ‡ˆ‚€€†ƒ……ˆ‡ˆ„„„…‹…„„ˆ‰†…ƒƒ‚Љ‰‡ŽŠˆ‡†Š€~€…‘˜••”™––’”“‘‘˜’“’’’””˜’“ŽŒŠ‰‹Ž‰‰‰Š‰‰€~‚‹‰“‹‰‰Œ‘‰‹ŠŽŽŒŒ‹ŠŽ‘‰…‚„ˆŠ‹‡‡‡ˆŠŽ’ˆ‡‡Š‹‰‹ˆŠŠ‹‹Š‹Œ†ƒ†‰…ƒ‚ˆ„ƒƒ……‹ˆ‡†‹‹ŒŠˆ‡†‚„‚‡…‹‹ŒŒ’’¢›’Œ†‰˜š¤£¤¢ª©¬ªªª«¥£ žœœ ››˜™–•“–—™––‘‘’Ž‹‹‚vtxwvljlooorxxzldaehnjmhee‰ˆ‡‡ˆˆˆˆ†ˆ‰Š‹ŒŒŠ‹‹‹Œ‘‘‘‘”•——šš››››žžž  ¡ ¢ž Ÿ ¡¡  Ÿ šžŸŸ¢Ÿ¡¡¤¦¥££¡£¢ž¡£¥¢¢¡¡¡ ŸŸœš™‘ށtgZTKPLMMOQTVWWTRRPZdw‰—¥¤¤¢¡~qab[bis€ˆ”˜œœšœ˜›œœŸŸ¢¢¤¤§§ª§§¨¨¨¨¨§¤§§¨¥¦¥¨¥¥¦¨©««­¬«¨¬¬°¯®¬³¯°°±²±±²³µ±²±±°­¨¬«®­«¨¨¨§¥¥¦§§¤¢¦¤¥¥§§§¨§§§¢£¢¡  ››œ¢¤§¦¦¦§¦¦¦¤¢¢ž¡¡¦¦ª£¥¥¨«¬§¨§¦¢£¡ ŸžŸ  Ÿ£¤¤£¤›š˜™˜™˜™™›”––˜˜•”““ŽŽŽŠ‘‹‹ˆ‰‰‹Š‹‰ŒŠˆ‹‹‹‹Š‰‘‹ˆ‡††„‡‡‡‰Š‹ˆƒ†„……ˆˆ‰‰ˆ‡‡‡Œ†‡ƒ„…†‡‡‡……„……„ƒƒ„‡†ˆ†…‚‚‚„ƒ…‡Š‹Š‰ˆ†……z|…А“—••”™—•’‘‘“’‘’’”‘ŽŽŽŒ‰ŒŽŽŒŒ‰‹Œ‰„~‚‡ŠŠ‰‰‡…‰Œ’’Œ‹‰Š‹Š‹Œ‹‹‰ŠŠ‡‡†…‚†‹‹ˆ‡„ˆˆŠŽ‹Œ‘Š†‡†ˆˆŠ‰Šˆ‹‹‹‹ŠŠ…………†‰…„‚‚‚‚…„Љ‡†Š‹Œ‰ˆˆ†ƒ‚ƒ„‰‰‹Œ’”Ÿ  ›—––˜šŸŸŸ¢¥©ª©©©¥¥¤¡žžœ››œ˜––•’““•—•”’‘‘‹…z{~xonnooquvvqid`ciiijjigˆ‰‡ŒŠŠŠ‹Œ’ŽŽŒŽ‘–Ž‘’”™–›™ž›œž›¤Ÿ  ¥¤¤ ¢¢£¤¤¢£ Ÿž ¢¥Ÿ¨£¢¢¢¢£¦¦¢££¤ ¢ ¥¥¥¤ª¡¢¡¡  š™Œ‡vk]PJFJNPQSSSTUUSQRUam™œ©¦­ Ÿ„sk`fkox…Ž˜™œœ£Ÿ¡œœœœ ž£Ÿ¢¢§¦­­®§¦§¨¨¨©¬««§©¤¥¤§¦¨¨®«««¬¬¬«²¯µ¯­¯´¯°°³±µ±²³»°´°°®¬¬­¬®«ªªª§§§¨§­¨¨¤§¤ª¨«§ª¨°§¨¢ª¢£Ÿž¡£¬¨«©«§ªª«¤¢£¤££¤§¦«¦¦¥¨¨«¦©¨§¢¤ žœ¡ ©¤¤£«¬¬¢£š›—ž™™™œ™š›œ˜œ—•–—‘“’—ŽŽŽ‹ŽŽŽŒ‘Œ‹Š‹ŒŠŠ‹‘ŒŠ‡‡‡††‰‡ŠˆŽ‰†ƒ‹‡ˆ†ŒŒˆˆ‡‹…†‚ƒ„Š‰ŠŠŠ††‡‡‡‹…„‚ƒ…Іˆ‡‡„††‡ƒ……†ˆ‹‰Š„‚~zx|ƒŽ•”˜——•˜˜›”•’–’‘‘˜’•ŽŽ‘‘“““‹‰ƒƒŠˆŠ‡……†‰‹’šŒŽŽ‹Ž‹‹‰ˆˆˆ………‡‰Šˆ‡‡‹ŠŒ”Œ‘Œ‰‡ˆ‡‹ˆ‹Š‘“ŽŒ‘‘‘‹‰ˆ‡†…†Š……ƒ„„„„‰‡‹‹‹‹ŠŠŒ‰‰†‡†ˆ‚‚ƒ‰‰Œ“•žŸª¢¦¤£¤¤Ÿžžžž¡¤ªª««¯¨©¨¨¡¡žœœšŸ˜š”•”“”““——˜˜™‘‹‰†…~~ttttqsx„unii`bflhhimgˆ‡‡†ˆ‰‹Š‹‹ŽŽŒ‹ŠŒŒŒŽŽ‘’“”—˜™šœœœœœ›žŸŸ£¡¢   ¡¡¡¡¢Ÿžž  ¡Ÿ¢¤£¢¢¢£§£¡ ŸŸ¡¡£¢£££ Ÿœ™˜”ƒxj]UIGEJRRSQPRSSSRRVZiwˆš £¤˜|ifamx‚ŒŽ’–š›››žžžœ›šœžŸŸž¢¢¥¦¬ª­¦§¨¨¨¨§ª«§£¤¡¥¥¦¦§¨«ª«©©§¬ª«««¬­­­­®®³±±±³³²®¬«¬¬¬¬¬¬®ª©¨©¥¥¤¤¤¤£¢¢¥¤§§«§©©©¨¨¢¢žžœŸ ¤¥¦¦¦§¨¥¥¥¥¡¢ž Ÿ¤§¨§«¥¥¥¦¥¥¢¢¢£¡¡ž  ©¤¥¥ª£¢ ˜™˜œ™˜—™™˜——˜–”“‘—ŽŽ’’’‹‹‹‘ŽŒŒŒŒŒ‹‹ˆˆˆ‰‹‹‹ˆ…ƒ††ˆ‡‰ˆ‡…„ƒ††‡‡Œ‹ŒŒˆˆ‡ˆ†…ƒƒ…ˆˆŠ†„ƒ„…‡†…‚‚ƒ…‡„ƒƒƒƒ„~€„„„„„„„|wxx‡Ž‘””’˜”–˜˜•”‘’’““’‘‘ŽŽŽ‹ŒŽŽŽŽŽ‹‰‡€„†‰ˆ††„†ˆŠ‹’“Œ‡ŠŒ‹ŠŽŒ‹‡‡…„„ˆ‹Š‰‰ˆˆˆ‹‹‹ŒŒŒŒ‹‰‰ˆˆ†††‹ŠŒŒŠŒŒˆˆˆˆˆ‡…‡…„ƒ„‚…†‡††‡ˆ…‡ˆ‰‡…………†‚ƒ†‡‹Œ“–ŸŸ£¢¥££  ¡ Ÿ¡£¦¥¥¥¦§§§§¢¢ Ÿ›šš ˜˜••–•“”““““‘ŽŠ‰‡~~utsrruyzsmfiaddddfhhhЇ‡‡Š‹‹‹‘ŽŒŒ’ŒŽŽ’’“”““—˜˜˜œ›ŸŸŸœŸŸŸŸŸ¡¤£§¡Ÿ £¢¢¢¢¡¨¡¡¡¢ ¢£¤¢§£¤¢ ¡¡¡¡Ÿ£¢¥¥¥¤£ž ™˜ŽŒyo`RLEEFIQV[TQRVVWQQYap„’¨¨©£¦‘„teedožŸŸ  ¡¢¡§› œ›››¡ ¡Ÿ£žœŸ¡¤ª¨­¬®©¬«°©¨§ª§¦¤§¥«««¦¯¨¬ª°ª©¨«¬®ª±²³¯²­±®³²²²³°¯«©ª­®¯®°®¯°°¨ª¥¥¥¦¥¨¤££¤¥«ª¬­­¬­«ª¢£Ÿ £¤­¦§¨¨§«¨«¥§¡£¢¢¡¨ª­¨«§«§¨¦§££¤ª¢¢¡¡£¥£ª§«ª«¢§žœš—¡™˜–›¡—”“”‘—Ž‘˜’””“‘‘‘“““‘ŽŒ‘‹Š‹Œ’‹Šˆ„‚‡†‹ˆ‰…„„„„‡‡ŒŒŒŒŒŒ‹Š‹Š‰‰‹…„€‚Œ†„ƒƒƒ††‰„†„ƒƒƒ€‚‰………ˆƒ„}ywy~‡Œ•‘“’˜”•–˜–—“•’›–—‘Ž’Ž”‹Œ”Šˆ††Œ‰‰‰…‰‰ˆ‰‘”Ž‰Š–“Œˆ‰…„†ŽŽŽ‰‰ˆŒŠŽŒŒŒ“ŒŠ‰ˆˆŠ…‡‡Œ‹‘ŒŽŽŒˆŠŠ‘ŒŒ†‹†„„…ƒŠ‡ˆˆˆ‡‹‰‰ŠŒ†……ˆ‡‡‡†‡ˆ†‹™™  ¦¢¦¥§¨©¥§¥¥¥¤¢¨¥¦¤©¨¨©©¥ª¢£ž››¡›œ›š••“““‘‘““”‰‰w|zyuxxxqliiiiffeeglh‹ˆˆˆŠ‹ŒŒŽŽ‹ŽŽ‹Ž’Œ‹ŠŒ‘‘’“””–•˜™œœŸ›œœœœŸŸ ¡¤¤£¢Ÿžžœž£¢£     £££££¡ Ÿ     Ÿ ¡¢  š—”’†~n`VJGEHIMQUZXSRRQPQS^fx—¤¥¦ œŒ{qehl{Œ“Ÿ£¥§¨¦¤¤¡¡œœšŸŸŸ¡¡¡Ÿžž ¢¥¦¨¨¨¥¨¨«¬¬ª¨§§£¤£¦¦§§§¦§¨¨¦ª§©«¬¬­©°±±®®­¯®³±±±¯­¯¦ªª­­­¬¬¬¬­«¥¥¢£¤£¢¢¡£¤¥¦¬¤¤¥¤£££¢Ÿž£¥§¨­¦§¨¨¦¨§¨¦§¢¢¡¢£ªª©§§¦©¨©¦¦££¦¦¢¡¡£¤¥£¦¦¨¥¤ ž™˜——˜˜˜—˜˜š›™•’‘‘‘’“’’’‘‘“”’‘’ŒŒŽ‰ŒŒŽ‹ŠŒŒ‹‹Žˆ‰ƒ‚‚†„……ƒ~‚„……ŽŒŒŒŠŠ‰ŠŠŒ‹‰‹ˆ‡‡†„„‚‚~ƒ…†…„„„ƒ‚‚‚‚‚……ƒ‚‚ƒ€}xxx†‘‘‘’’”“””—–—““’–”‘ŒŒŽ‹ŠŠˆŠ‹ŒŒ‹ˆˆ‰‰‰‰‡‰†‡‡‰‹‘Ž‹Š‰Œ’‘’Љ†„‚…‡‰†…„†…ˆŠŒ‹‰‹ŒŒ‹‰ˆˆ†‡†‡‡Œ‹ŒŽ‹Œˆˆ‡‹Š†‰ˆ†‚ƒƒ†…ˆ‰ˆ„‰ˆŠ„‹†…„„„…„‡Š‡‚Œ—™œœ¡¢£¢¥ž§¢¦£¤ ¢  ¡¡ ŸŸ¢££¢£££¡ž›ššœš™–˜˜—”‘‹xƒˆˆˆ…€~w{yxvyxqklljhhieacefg‹‹‹‹‹Ž’ŒŽŠ‘ŽŒŽ’‹‰‰‹“”™™˜——˜œ¢žŸ¡œŸ¢Ÿ£¢§£¥¢¡¡ Ÿ ›£¡¦¢¢¡¡ ¤¢¤¤¨££ ¡¡¦¦§§¨¢¥¤¤Ÿ šš•~seWNDEGIMQUX\YWSVONRWdr€•Ÿ­¨«œ–†yqhlt˜›¤§¬¬±©«§ª¡£žœ££¥¥¥¦¥¥¥¦¨§ª¦¨©©§¬¨²¬¬«ª§§¥¤¥¦§ª©©§¬©«§¯©«­¯¬­©®±¶µµ­±°³±´®­­®®°«²¯¯®°«ªª«¥¥¤ª££¡¥¤£¤¦§¬¤¦¤¤£©¡£ ¡¤««¬ª®¦ª©ªª¬©ª¦¦¥££¥§¬ªª§ª©®¨©¦§¥¤¥§¡¡¡©¥¦¥©¨®¤¢žœ˜žœœš›š›¡˜›™—’’•“˜—–––’“’’’™–—’“ސŒ‘Œ‹ŒŒ‹ˆ‰ƒ‚ƒ‡††ƒ€€‡‡ŠŠ‘Œ‰Šˆ‘ŽŽ‹†‡„……„…†‡‡‚€€ˆ†Š…‡ƒƒƒ‚ƒ„„†„„ƒ‚ƒ~{{{ˆŽ—‘“’’–’™˜˜”œ˜—–š•˜“Ž”’‘Ž‘‹‹ŠŒ‹‹‘“’“ŠŒ‰Ž‡‡ˆŒŒ’ŽŒ‹‘”””‘Œ‹…„…‹Œ…†…ˆ†‰‹ŒŒŒŒŒŒŒŒˆˆˆŽŽŒŽŽŒ‹‹ˆŠŠˆ†ŒŒ†‰ˆˆ‡Š‰Ž‡‰ˆ‹‹‹…†„„„†‡ˆ‡†”œœ›¢¢£¤¥¦§¥¥¤¥¤¦¢  ¤ŸœŸ¡¦¢£¤¨¢¤Ÿ›Ÿž¡œžœ¥žž——Žrq|Šˆˆ„~|{{||€upillomslfdcchi‰‰Š‹’‹Š‰‹Š‹ŒŽŒŒŠŠŠ“•™—˜˜ššœœžžžŸ  Ÿ¡¡¡Ÿžžžœ ›¡ ¡Ÿ££¤¡¢¡¡¡£¡£ž¡¡¥¢¡Ÿžž›™•ˆrf\OKEHJORUY[][YTQPMU[k{Œ £¦¤¥—‹€tspy‰•›¡¥ª­¯¯¨§¤£ ŸžžŸ£¦©­©¦¥¤§¨©¨¨¨¨¥¨¨©§¨§¦££¤¥¥¦¨¨¨¦£¥¥«©©§ªª­¯¯««ª®®²²´­°°±®­©©©¬«¬¬¯°¯­­ª«¦¤£££¤¢¢¡£¢¤¦§§§¤¥¥¥¢¡ž¢Ÿ¦¬«©ª«¯§ª©ª©©¦¦¤¦¦¦¥¨ª«¦¦¦©©©¨§¦§©¥¥¤¢¢£¨¦¥£¨¦¦¢ ˜šœ›››š™—–”“’””””’‘ŽŽŽ’’“”𖔐Š‹ŠŒŽ‹Œ‰‹‹Š‹ˆ‰ƒ„…ˆ†€|‚‡ˆ‰ŒŒŽŠŒ‰‰‰ŒŒŠŠ‰Š…ƒ„…„‚ƒ~€„†„‚ƒƒƒ€ƒ…††…ƒ„‚}zz{€…Œ‘‘’’‘‘”’”––•›˜˜˜™••‘‹”•“ŒŒŠ‹‹Œ‘’‘ŠŒ‰‰ˆˆ‰Šˆ‰Œ‹ŽŽŒŒ…†‡‹‹„……†„Š‹‹‹‹‡ŒŠ‹ŒŒ‡ˆ‡ˆ‰‰‰Œ‹ŒŒ†‰‰‰‰‹†ˆˆˆ†Ž‹‹‡ˆˆ‰‡‰Š‰†‰‡‹Š‹„ƒ‚‚‚‡‰‹…‡‡—œœ››¡¡£ ¡¡  ¥££¢££¡ž ŸžŸœž¤¡¢¢¡ Ÿœœ›œšŸžžž—˜{k‚Љ‰†‚z||}€~qpiikkknmkhfaab‰‰ŽŽŽŠˆ‰Œ‹Œ’‹‹Œ“”™™š˜š››œŸž¡§¤¤¢¡Ÿ¡  žž žžŸ Ÿ£¡¤¤ª¢¦¢¨¤¤¤£¤¦¢¤¢£   Ÿœœ‘~wh[TKGEIOSYZ[]_][SPOPYbsˆ“¦¢¬¥¦’†~usv~”œ¢¢¨©¯¯¯§¥£¡ŸŸŸ¥¢¨¨®ªª¨©ª¯­³«©ªª«­¬¬¬­¦££§¤§¥©¨ª¦¥¤§§ª©­«ªª±°µ«®¯®¯²²´µ¸°²­¬¬¬¬±­³­°±²¯­©¬¦¤¢¥¦¦¥¥¢¥¥¦¨ª©©©ª¨¦Ÿž £¦±«®¬¬«²¨ª©­©©¥¦¨¬¨«§¬ª¯¤§§¯©ª§¦¥¥¤¥¥¥¥¦§¯§ª©¨¦§¡ Ÿžžž¢¡››™—’•”””œ——‘ŽŽ•–Ÿ”š•”ŒŒŽ‘𐒐‹ŽŽŽŒ‹‹‹Š‡Ž†‰€†€ˆŠ“‘Œ‹ŒŒŠŠŒ‰Š„‡†‡„„€}}‚„„ƒˆ‚‚‚…„‡‡‰†ˆ‚||{{€‡ˆ’‘“™‘–’˜••–™™š˜™šŸ™œ’“““’‘“™——’•ŒŽ‹›•™‘’Œˆˆ‘Ž’Ž•‘‘’ŒŽ‰ˆŠ’ŒŠƒ†‡ŒŽ‘Œ‹Œ‹Œ‹‹‹Œ‰Šˆ‰‹ŒŒ‹ŽŒŒŒ‡‡‡‰‰Œˆ‡‡Œ‰“ŒŽŽŽˆˆ‡Š‡ŒŠŒ…ƒ‚†„ˆˆŠˆŒ’˜¡œœ› ¡¤¡£££¢¥¤¦¦¦¦¦¡¡¡¢ž›¤¤¤¡©¤«£¢œ›œ¡ž¤žŸš™’‡†ˆŒ††|~~|ophfhjlomronc`_‰Š‹‹‹‹Žˆ‰Š‹‡‰‹ŒŒŽ‘”––™™™—››››œœžœ¤ ¡¢ŸŸœšš›Ÿœ›žŸŸ£ ¤¡¢ž Ÿ¢¤¤¤¤¤§ ¡¢¡Ÿ˜——‹sf]QNKJHLPTZZZ[]\ZTNQS`k|˜¢¡¢ {ry}†“˜œœœŸ ¢£§¨©¥¤¢¡   ££¥¦§§©ª«­¯®¯­­­­­­©«©¨££¢¢¢§¤¦§ª¢¤¤§§©¥§©ª§¬­¬¬­­°±²²²²²°­«¬ª­®±««ªª«ª§¨§§££¡¤¥¥¥¤¢¥¦©«ªª§¦£žž›Ÿ¡¨«««««ªª±¨ªªª§§¥¨«¬§¨§¬©¨¤§¨¨©¨¦¥£¤¤¤¢¥¥§¨°§§¦¥¢¡  ŸžœžžŸ › —–’’“‘””—•’ŠŽ“”••“’Ž‹Ž‘“”‹‡‡ˆŠˆ‰‡Œˆ‰…†…އ„€ƒƒ„†‰‹ŽŽŽ‹Œ‹‹‹‹‰‰‹‡‰ˆ‡ƒ‚†‡†…‚~~|}~ƒ……„„‚‚‚†„„…„……‚}xxv~…ˆŠŽ‘‘’—•–—˜”–—————–“’‘’’“”•–˜ŒŒŒŒ“”“ŽŒŒ‡ŒŽŠ‘ŒŽŽŽ‘ŒŒŒ‰‡„ˆ‰ŒŒ‹ŒˆŠ‹Œ‹‰ƒ‹‰‰ˆ‹ŒŒŒŠ‹Œˆ‰ˆ‡‡ŠŠ‰†‰‰ŽŽŒ‰Ž‰ˆ„‡‡ˆ†ˆˆ‡„ƒ€…„‰‡‡ˆ––™›šœœ›œž™¡¢¢§§¨©¦£¢¡¡žŸŸšœ  £¡¢£¢žœœ›žžž›š•ŠŒŽ‘Œˆˆ‚€‚}uljee`klmmqsqfb^‹‹ŠŽŠŒŒ‰‰Œ’‘‘‘”˜˜žšŸ™š™œœ   ¡¢¢¢£ ¢žœš™šœŸ¡ž£¢£££¤¥¥¦¢Ÿ£¤¨¨¨¦¨¡¡ žžž””„yj]TKKJJMPWV[[\\\YURPTYgu†™ž«¤¨›™Œ‚~w{‡—›¤  ¡¡¢¨¨«¥§¢¡¡¥¢¨¨¦¥¥¨¯°·±µ°²¯µ´µ®µ­°©©¤§¨©©¨¦©§«¥§¨¯¨¨¦¦§ª©®®®¯´°·±µ´´±°¯­­¬¬³±³¯³ª¬¨©¦«§¨¢¦¤¤¥©¥©¨©ª±­°©¨¢ ¡¢¤§³²²ªªª««°«®¬¬©«ª¬¬¬©¬©­§¦§¨¨­­¬¦¦¥¨§§¦¦¥«¨²§¨¤¤£¢ ¤¡   Ÿ¢œ›ž–—‘““—•˜™š•’’˜–š•’‘ŒŽ™˜˜‰††ˆˆŒ‡ŽŒŽŽ‰‰‡ˆ…„‰ŠŒ‹‘‘’ŽŽŒŒ‹ŒŒŒŠˆ‡‹‡Žˆ‡‚†„……„‚‚}}„…‰†ˆ…Š…†…‡†…„…{wx}†„Œ‘”’“”˜—™˜™•————–•‘’’”“›—˜™™’’ŒŽ’Ž‘‘’‘““–Ž’‹‹‘‘‘”““’’•ސŒ‹‰‡†Œ‰ŽŽŠŒ‡Œ–Šˆ…ЉŒ’Ž’‰ŽŒŠŒˆˆŠŽŽŒŽ‘ŽŠŽ‰ˆ‡Œ‰‹†‡‡‡‡‡ƒ†„‰‰‡‹“•™šž¡Ÿœ ˜›Ÿ¤¡©¦£§ª¤¥£§¡¢¢¢¡ œ Ÿ£¢¦¤©¢£œŸ››™•••“™‘ŒŒ‘ˆ‡ƒ…xpjhedekklnvssjfe‹‹‹Œ‰‰‰ŒŒŠ‹’“—˜˜™˜——˜—›œ ™›š›œ¡žžžšššššœžžŸžŸ ¢¡£Ÿ žžžž¢Ÿ ¡£¢£££¡Ÿ›˜–†{nbVQIKLORUWVWYYXXUSRPZaqŽ¡  ž˜Š…Š‘˜›œœœ›š™Ÿ¢£¤¤¦¤£¡ ŸŸžžŸ§ª°²´¯°°±°³²´®­¬­¦¤¡§©©§§¥¥¥¥¥§¨©¦¨¦¦¦¨©¯¯¯¯°®¶±µ´±®®¬¬­®®¯¯¯¬ª©¨¥¥¦¦¤£¢¤£¥¥¥¦¦¦©¬¬ª©£¢žž¢¤¨«¯±±ªª¦¨©«¨ª©©§ª©«¨¨¨«©¨¤§¨¨¦¦§¨§¦¤¨¦¦¥¥¦©¨©¤¢ ž ž¤¢¢¡¡ ¡šš™ž–•’“”••™™š”’“˜–˜’“ŒŽŽŒŽŽŒ‹ƒ}€ƒ‡‰‹ˆŒŒŽŒŠ‰‡‡‡…„ŠŒŒŒ‘ŒŒ‹Šˆ‡†‰‹Œ‰Œ‰ˆ‡ˆ‡Šˆˆ‚‚€…ƒ‚‚‚‚€ƒ„††„…„‡„……………ƒyzv|†…†ˆ‘’“‘••˜™™˜˜”•——“”•”‘’”•˜––“’’’ŽŽ‘ŽŒ‘’’”Ž‹‹‹ŽŒ‘‘“‰‹‡‡‡ŠŠ‘Š‰ˆ‹‹ŽŠˆ…ˆˆŒŒŽŽ‹‰‹Š‹ˆˆ‰Š‹Ž‹Œ‹‹ŽˆŽ†ˆˆ‰‰‹†‡ƒƒ‚‚‚ƒ‚‚‚‡Œ“•™˜žžŸ›žœœšš—œž¡ –¢¤¤¤¢¢ ¢¢¡Ÿ ›››ŸŸ ¢¡¢ ž™››ž˜’”“”‘‘ˆ†„{pmgfdgjlmmpppmjhg
\ No newline at end of file
diff --git a/tutorial/tracking/model-based/edges/teabox.ppm b/tutorial/tracking/model-based/edges/teabox.ppm
new file mode 100644
index 0000000000000000000000000000000000000000..b20630a2d581c73b63e358e21c3892c4dbc9897f
--- /dev/null
+++ b/tutorial/tracking/model-based/edges/teabox.ppm
@@ -0,0 +1,5 @@
+P6
+# CREATOR: GIMP PNM Filter Version 1.1
+320 240
+255
+GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGNNNGGGNNNNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^^^^VVV^^^^^^^^^^^^^^^NNNNNNNNNNNNNNNNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVVVVVVVNNNVVVNNNNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEEEEEEEEEEEEEEEEGGGGGGGGGNNNGGGNNNGGGNNNGGGNNNGGGNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVVVVNNNVVVNNNVVVVVVNNNVVVVVVVVV^^^VVV^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^VVVNNNNNNNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVVVVVVVVVV^^^VVVVVV^^^VVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVV^^^^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^^^^^^^^^^fff^^^fffffffff^^^ffffff^^^fff^^^^^^fff^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^ffffff^^^fff^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^^^^^^^VVV^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVVVVNNNVVVNNNVVVNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGNNNNNNGGGNNNNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEGGGEEEGGGEEEEEEEEEEEEGGGNNNNNNNNNNNNGGGNNNNNNNNNGGGNNNNNNNNNGGGNNNGGGGGGGGGNNNGGGVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^VVVNNNNNNNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^ffffff^^^fff^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^ffffff^^^ffffff^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^^^^fff^^^^^^fff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVVVVVVVVVVV^^^VVVVVVVVVVVV^^^VVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVV^^^VVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNNNNNNNNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGGGGGGGGGGNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEENNNNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNEEE============EEEEEEEEEEEEGGGGGGNNNNNNNNNVVVVVVVVVVVVNNNVVVVVVVVVVVVVVV^^^VVV^^^^^^^^^^^^^^^fff^^^^^^^^^ffffff^^^VVVNNNNNNNNNVVVNNNVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^fff^^^ffffff^^^^^^^^^fff^^^^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^ffffff^^^ffffff^^^fff^^^fff^^^ffffff^^^ffffff^^^^^^^^^fff^^^^^^fff^^^^^^^^^^^^^^^fff^^^^^^^^^^^^fff^^^fff^^^fff^^^^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVV^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVNNNVVVNNNVVVNNNNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGEEEGGGGGGGGGEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNEEE===333333333333333333333333333333333333===EEEGGGVVVVVVNNNEEEEEEGGGGGGNNNVVVNNNNNNVVV^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^NNNNNNVVVNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVV^^^VVV^^^VVVVVVVVVVVV^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^fff^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^fff^^^^^^ffffff^^^^^^fff^^^ffffff^^^fff^^^fff^^^^^^^^^^^^fff^^^ffffff^^^ffffffffffff^^^fff^^^fff^^^fff^^^^^^fff^^^fff^^^ffffff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGGGGNNNGGGNNNGGGNNNGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGGGGGGGGGGEEENNNNNNNNNVVVVVVNNNVVVNNNGGG333===EEEGGGGGGEEE===333---""""""---===GGGVVVNNN333333===333EEEVVVNNNEEEVVV^^^^^^^^^fff^^^^^^fff^^^fff^^^^^^VVVNNNNNNVVVNNNVVVVVVNNNVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVV^^^VVV^^^VVVVVVVVVVVV^^^VVV^^^VVV^^^^^^VVV^^^VVV^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ffffff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^fff^^^fff^^^^^^fff^^^ffffff^^^fff^^^fff^^^^^^^^^^^^^^^fff^^^fffffffff^^^fff^^^ffffff^^^fff^^^fff^^^ffffffffffffffffff^^^ffffff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVVVV^^^VVVVVVVVVVVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVNNNVVVVVVVVVNNNNNNVVVNNNVVVVVVNNNVVVNNNNNNNNNNNNNNNVVVNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGGGGGGGEEEEEEEEEEEEGGGEEENNNVVVNNNNNNVVVVVVNNNNNNEEEEEEGGGNNNNNNNNNNNNNNNEEE333"""---EEENNNGGG333------333===VVVVVVGGGGGGVVVfff^^^fff^^^fffffffffffffff^^^NNNVVVNNNVVVVVVNNNVVVNNNVVVVVVNNNVVVVVVVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^fff^^^^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^^^^^^^fff^^^^^^fff^^^^^^ffffff^^^^^^^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^fff^^^fff^^^fffffffffffffff^^^fff^^^fff^^^fff^^^ffffffffffff^^^fff^^^fff^^^fff^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^ffffff^^^fff^^^fff^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVVVVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVNNNVVVNNNNNNVVVVVVVVVNNNNNNVVVNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGGGGEEEGGGGGGGGGEEEEEEEEEEEEGGGEEENNNVVVVVVVVVNNNVVVVVVNNNGGGVVVVVVVVVVVVVVVVVVVVVGGG333""""""333EEE333"""---"""---===VVV^^^VVVGGGVVVffffff^^^fffffffffffffffffffffNNNVVVVVVNNNVVVVVVNNNVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^fff^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^^^^^^^fff^^^^^^fff^^^^^^^^^fff^^^^^^fff^^^fff^^^fffffffff^^^^^^^^^^^^fff^^^fff^^^fff^^^^^^fff^^^fffffffffffffffffffff^^^fff^^^fffffffff^^^ffffffffffff^^^fffffffff^^^fff^^^fff^^^ffffff^^^fff^^^fffffffff^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^^^^VVV^^^VVV^^^VVVVVVVVV^^^VVVVVVVVV^^^VVV^^^^^^^^^VVV^^^VVVVVVVVVVVVVVVNNNVVVVVVVVVNNNVVVNNNVVVVVVVVVNNNVVVNNNNNNNNNVVVNNNNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEVVVNNNVVVVVVVVVNNNNNNNNNVVVVVVVVVVVVVVVVVVNNNGGG===---"""""""""""""""---EEEVVVNNNGGGEEE^^^^^^ffffffffffffffffffffffff^^^NNNVVVNNNVVVVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVV^^^VVVVVV^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fffffffff^^^fff^^^fff^^^^^^fff^^^^^^^^^fff^^^fff^^^ffffff^^^fff^^^fff^^^^^^fff^^^fff^^^^^^fff^^^^^^ffffff^^^fff^^^ffffff^^^fff^^^fff^^^fffffffffffffff^^^fff^^^fff^^^ffffff^^^^^^ffffff^^^fff^^^fff^^^fff^^^fff^^^ffffff^^^fff^^^^^^fff^^^fff^^^ffffff^^^fff^^^fff^^^fff^^^fff^^^^^^fff^^^fff^^^^^^^^^fff^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^VVVVVVNNNVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNNNNVVVNNNVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGNNNNNNGGGNNNGGGGGGGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGEEEGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEVVVVVVVVVNNNVVVVVVNNNNNNGGGNNNVVVVVVNNNNNN===---""""""""""""---===EEE======NNN^^^ffffffffffffffffffffffffppp^^^NNNVVVNNNVVVVVVNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^VVV^^^^^^VVVVVV^^^VVVVVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^fff^^^fff^^^^^^ffffff^^^fff^^^^^^fff^^^fff^^^fff^^^ffffff^^^fffffffff^^^fff^^^fff^^^ffffffffffff^^^^^^fff^^^ffffffffffffffffff^^^fff^^^ffffff^^^ffffffffffffffffff^^^fff^^^^^^fff^^^fff^^^^^^fffffffffffffff^^^ffffff^^^fff^^^ffffff^^^fffffffff^^^fff^^^fff^^^^^^fff^^^ffffff^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^fff^^^^^^VVV^^^^^^^^^VVV^^^VVV^^^VVV^^^VVVVVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVVVVNNNVVVVVVNNNVVVVVVVVVNNNNNNVVVNNNNNNNNNVVVNNNVVVNNNNNNNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGGGGNNNGGGGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEVVVVVVVVVVVVVVVVVVNNNEEEEEEEEEGGGGGGEEE---""""""333---""""""333---""""""---333EEEGGGNNNfffffffffffffffffffffffffffpppffffffNNNNNNVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^^^^VVV^^^^^^^^^^^^VVV^^^VVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^fff^^^^^^^^^^^^fff^^^ffffff^^^fff^^^ffffff^^^ffffff^^^fff^^^^^^^^^^^^^^^fff^^^fff^^^fffffffffffffff^^^fffffffff^^^fff^^^fffffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^fff^^^ffffff^^^fffffffff^^^fff^^^fff^^^ffffff^^^ffffff^^^ffffff^^^ffffff^^^fff^^^fffffffffffffff^^^fff^^^ffffff^^^fff^^^ffffff^^^fff^^^fff^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^VVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVNNNVVVVVVNNNVVVNNNVVVNNNVVVVVVNNNVVVVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGGGGNNNGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGGGGEEEGGGEEEEEEEEEVVVVVV^^^VVV^^^VVVNNNEEE===333===333""""""---333---===333===---"""------""""""333EEEGGGVVV^^^fffffffffffffffffffffpppfffpppfffppp^^^NNNNNNVVVNNNVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVV^^^VVV^^^VVVVVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^ffffff^^^fff^^^ffffff^^^ffffff^^^fffffffff^^^fffffffffffffffffffffffffffffffff^^^fff^^^ffffff^^^ffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^ffffffffffffffffffffffff^^^^^^ffffff^^^fffffffffffffff^^^ffffff^^^ffffff^^^ffffffffffff^^^ffffff^^^ffffff^^^fff^^^fff^^^ffffff^^^^^^^^^fff^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVVVVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVNNNVVVVVVNNNVVVNNNVVVNNNVVVNNNNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEE^^^VVVVVV^^^VVV^^^VVVEEE333------"""""""""""""""""""""---EEEEEE======GGGVVV^^^ffffffffffffpppfffpppfffpppffffffGGGNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^ffffff^^^fff^^^ffffff^^^ffffff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^fff^^^fff^^^fff^^^ffffffffffffffffff^^^ffffffffffffffffff^^^ffffffffffffffffffffffff^^^ffffff^^^ffffff^^^fff^^^fff^^^fffffffffffffff^^^fff^^^ffffffffffffffffff^^^fff^^^ffffff^^^ffffffffffff^^^ffffffffffffffffff^^^ffffff^^^fffffffff^^^^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEVVV^^^^^^^^^VVVVVVVVVEEE333---"""""""""""""""333333---""""""333NNN^^^ffffffpppfffpppfffppppppppp^^^NNNNNNNNNVVVNNNVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^VVV^^^^^^^^^^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^fff^^^fff^^^fff^^^ffffff^^^fffffffff^^^fff^^^ffffff^^^fff^^^fffffffffffffffffffffffffffffffff^^^fffffffffffffffffffffffffffffffffffffffffffffffffff^^^fff^^^fffffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^fffffffffffffffffffffffffff^^^ffffff^^^ffffff^^^fff^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^VVV^^^VVV^^^VVVVVVVVVVVV^^^VVV^^^VVV^^^VVVVVVVVVVVV^^^VVVVVV^^^VVVVVVVVVVVVNNNVVVVVVVVVVVVVVVNNNNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEVVV^^^VVV^^^^^^VVVVVVGGG===---"""""""""---""""""333EEE333"""---VVVpppfffpppfffppppppfffpppffffffGGGNNNVVVNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^VVVVVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^fff^^^fff^^^fff^^^ffffffffffff^^^fff^^^^^^fff^^^fff^^^ffffff^^^fff^^^fff^^^^^^fff^^^ffffffffffffffffffffffffffffffffffff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffffffffffffffffffffffffff^^^fffffffffffffffffffffffffff^^^fffffffff^^^fffffffffffffffffffff^^^fff^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^VVV^^^^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNGGGNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEGGGGGGGGGGGGGGGGGGGGGEEEEEEEEE^^^VVV^^^^^^^^^^^^VVVVVVGGG===""""""""""""EEEEEE---"""333EEEGGG---"""333^^^fffpppfffppppppppppppfffppp^^^GGGNNNNNNVVVNNNVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVVVVV^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fffffffff^^^ffffff^^^ffffffffffff^^^ffffff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff^^^fffffffffffffffffffffffffffffffffffffffffffffffffffpppfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff^^^fff^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^VVV^^^^^^VVV^^^^^^^^^VVVVVVVVV^^^VVVVVVVVVVVV^^^VVVVVVVVVNNNNNNVVVNNNVVVNNNVVVNNNVVVNNNNNNVVVNNNNNNNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGGGGNNNNNNGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG^^^^^^^^^^^^^^^^^^^^^^^^VVVNNN===------======"""""""""---===VVVGGG------======"""GGGfffpppfffpppfffpppppppppppppppfffGGGNNNVVVNNNVVVNNNVVVNNNVVVVVVNNNVVVNNNVVVVVVVVVVVV^^^VVVVVV^^^VVVVVV^^^^^^VVV^^^^^^VVV^^^VVV^^^VVVVVVVVVVVV^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fffffffff^^^ffffffffffffffffffffffffffffff^^^fffffffffffffff^^^fff^^^fffffffffffffffffffffffffff^^^ffffffffffffffffffffffffpppfffffffffffffffffffffffffffpppffffffffffff^^^ffffffffffffpppffffffpppfffffffffffffffffffffffffffpppfffffffffffffff^^^fff^^^ffffff^^^ffffffffffff^^^fff^^^ffffff^^^fff^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVVVVV^^^VVV^^^^^^VVV^^^^^^VVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNVVVNNNVVVNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGNNNGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG^^^^^^^^^^^^^^^^^^fff^^^^^^VVVVVV==="""333GGGGGG===333333EEEVVV^^^GGG---333---^^^pppfffpppppppppfffpppppppppffffffGGGGGGVVVNNNVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^VVV^^^^^^^^^VVV^^^^^^^^^VVV^^^VVV^^^^^^VVV^^^VVV^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^fff^^^^^^^^^^^^fff^^^fffffffff^^^ffffffffffffffffff^^^ffffffffffffffffffffffffffffff^^^fff^^^ffffffffffffffffffffffffffffffffffffffffffffffffpppfffffffffpppfffffffffppppppfffpppfffpppffffffffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffpppffffffffffffffffffffffff^^^fffffffffffffff^^^^^^ffffff^^^fff^^^fff^^^fff^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVVVVV^^^VVV^^^VVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNVVVVVVVVVNNNNNNNNNNNNVVVNNNNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGEEEEEEEEEGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEGGGGGGGGGGGGGGGGGGGGGEEEGGG^^^^^^^^^^^^fff^^^^^^^^^fff^^^^^^NNN---"""======EEE======EEENNN^^^^^^===GGGfffppppppfffppppppppppppppppppppp^^^GGGGGGNNNVVVVVVVVVNNNVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^^^^^^^VVV^^^VVVVVV^^^VVV^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^^^^fff^^^^^^fff^^^ffffffffffffffffff^^^fff^^^ffffff^^^ffffff^^^fffffffffffffff^^^ffffff^^^ffffffffffff^^^fffffffffffffffffffffffffffpppffffffffffffpppfffpppffffffffffffpppfffffffffffffffffffffffffffffffffpppfffffffffffffffffffffffffffffffffffffffffffffffffffpppffffffffffff^^^ffffff^^^fff^^^fffffffff^^^^^^^^^fff^^^^^^^^^fff^^^^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNGGGNNNNNNGGGNNNGGGNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEGGGGGGGGGGGGGGGGGGEEEEEEEEEGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG^^^^^^fff^^^^^^^^^^^^fff^^^fff^^^VVVEEE333333======EEEEEEGGGVVV^^^^^^333333^^^pppppppppppppppppppppppppppppppppfffEEEGGGNNNVVVNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^^^^^^^VVV^^^^^^^^^VVV^^^^^^VVV^^^^^^^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^^^^fff^^^ffffffffffff^^^fffffffffffffff^^^fff^^^fffffffffffffffffffffffffffffffffffffff^^^ffffffffffffpppfffffffffffffffpppfffffffffpppffffffffffffpppfffpppfffppppppfffpppfffpppffffffffffffffffffffffffffffff^^^ffffffpppffffffpppffffffffffffffffffffffffpppffffffffffff^^^fff^^^fffffffff^^^fffffffff^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVVVVVVVV^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNGGGNNNNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEEEEGGGEEEGGGGGGGGGGGGGGG^^^fff^^^ffffffffffff^^^fff^^^fff^^^VVVGGGEEE======EEEEEEGGGVVVVVV^^^NNNEEE"""===---"""NNNppppppfffpppppppppppppppppppppppppppfffEEEGGGNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^VVV^^^^^^VVV^^^^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^fffffffff^^^ffffff^^^fff^^^ffffff^^^fffffffffffffffffffff^^^fff^^^fff^^^ffffff^^^ffffffffffff^^^fffffffff^^^^^^ffffffffffff^^^fffffffffffffffpppfffpppfffpppfffffffffffffffffffffpppfffpppffffffpppfffffffffpppfffpppfffffffffffffffpppfffpppffffffffffffffffffffffffpppffffffpppfffffffffffffff^^^^^^ffffffffffff^^^fffffffff^^^^^^^^^^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNGGGNNNNNNGGGGGGNNNNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEGGGfffffffff^^^fff^^^fffffffffffffffffffff^^^VVVNNNGGGGGGNNNVVV^^^^^^fff^^^^^^GGG---333VVVNNNEEE===EEENNNpppfffppppppppppppppppppppppppppppppwwwfffEEEEEENNNNNNNNNVVVNNNVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^^^^^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^fff^^^fff^^^ffffff^^^fffffffffffffffffffffffffff^^^fffffffff^^^fff^^^fffffffffffffffffffffffffffffffff^^^ffffffffffffffffff^^^fffffffffffffffpppfffpppffffffpppffffffffffffpppfffpppfffpppffffffpppffffffffffffffffffpppfffpppffffffffffffpppfffpppfffffffffffffffffffffpppffffffffffffffffffffffff^^^ffffff^^^ffffff^^^fff^^^fff^^^fff^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNNNNNNNGGGNNNNNNGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGG^^^fffffffffffffffffffff^^^fffffffffffffff^^^fff^^^^^^fff^^^fffffffffffffff^^^NNNGGGVVVffffff^^^^^^ffffffppppppppppppppppppppppppppppppwwwwwwwwwfffEEEEEEGGGNNNVVVNNNVVVNNNVVVVVVVVVVVVNNNVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^^^^fff^^^fff^^^^^^fff^^^^^^fffffffff^^^ffffffffffff^^^ffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^ffffffffffffffffffffffffffffff^^^ffffffffffff^^^ffffff^^^fffffffffffffffpppfffpppffffffpppfffffffffpppfffpppfffpppfffffffffpppfffffffffpppfffpppfffpppfffpppffffffffffffffffffffffffpppfffffffffffffffffffffffffffffffff^^^fff^^^fffffffffffffff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^VVV^^^VVV^^^VVVVVV^^^^^^^^^VVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVNNNVVVVVVNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGGGGNNNGGGGGGNNNGGGNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGEEEEEEGGGGGGGGGEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEffffffffffffffffff^^^ffffffffffffffffffffffffffffffffffffffffffpppffffffffffff^^^ffffffppppppppppppppppppppppppppppppppppppppppppwwwpppwwwpppwwwfffEEEEEENNNNNNNNNNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^fff^^^fffffffff^^^ffffffffffffffffffffffffffffff^^^ffffff^^^fffffffffffffffffffffffffffffffffffffffffffff^^^ffffffffffffffffffffffffffffffffffffpppfffpppfffpppffffffpppffffffpppfffpppfffpppfffpppffffffpppffffffpppfffpppffffffffffffffffffffffffpppfffpppfffffffffffffffpppffffffffffff^^^ffffff^^^fff^^^fff^^^ffffffffffff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^VVV^^^VVV^^^VVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGNNNGGGNNNGGGGGGGGGNNNGGGGGGGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEfffffffffVVV^^^ffffffffffffffffffpppfffpppffffffpppfffffffffpppfffpppfffpppfffpppfffpppfffpppffffffpppppppppppppppppppppppppppwwwwwwwwwpppwwwwwwppp======GGGNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^^^^VVV^^^VVV^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^^^^ffffff^^^ffffff^^^ffffffffffffffffffffffffffffffffffff^^^ffffffffffffffffffffffffffffffffffffpppfffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffffffffffffffffffffpppfffpppfffpppfffpppffffffpppfffffffffffffffppppppfffpppffffffffffffffffffpppfffffffffffffffffffffffffffffffffffffffffffff^^^ffffff^^^fffffffffffffff^^^ffffff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^^^^VVV^^^VVVVVVVVVVVV^^^VVV^^^VVV^^^VVVVVVNNNVVVNNNVVVNNNNNNNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNNNNGGGNNNGGGNNNNNNGGGNNNGGGGGGGGGNNNGGGNNNGGGGGGGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffffffffGGGNNNffffffffffffpppffffffpppfffffffffffffffpppfffpppfffpppfffpppfffpppfffpppfffVVVVVVfffpppppppppwwwppppppwwwpppwwwwwwpppwwwwwwwwwpppfff======GGGNNNNNNNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVVVVV^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^fff^^^ffffff^^^ffffff^^^fff^^^^^^ffffff^^^ffffffffffff^^^ffffffffffffffffffffffffpppffffffffffffffffffffffffffffffffffffpppffffffpppffffffpppfffppppppfffpppfffpppfffpppfffpppffffffpppfffpppfffpppfffpppffffffpppfffpppfffffffffpppffffffffffffpppfffffffffffffffpppfffpppfffffffffffffffffffff^^^ffffff^^^ffffffffffffffffffffffffffffff^^^ffffff^^^^^^fff^^^fff^^^^^^^^^fff^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^^^^VVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNNNNNNNGGGNNNNNNGGGGGGNNNGGGGGGGGGGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGEEEEEEGGGEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffppp^^^===VVVfff^^^^^^^^^^^^fffffffff^^^^^^^^^fff^^^ffffff^^^^^^fffffffffpppffffffffffffGGGGGGpppppppppwwwppppppppppppffffffwwwwwwwwwwwwwwwwwwfff======GGGGGGNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^ffffff^^^fffffffff^^^ffffff^^^ffffff^^^ffffff^^^fff^^^fff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppfffpppfffpppfffpppffffffffffffpppfffppppppfffpppfffpppfffpppfffffffffpppfffpppfffpppfffffffffpppfffffffffffffffpppffffffffffffffffffffffffffffffffffffffffffffffffffffff^^^fffffffffffffff^^^fff^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVVVVVVVVVVVVVV^^^VVVVVV^^^VVVVVVVVVNNNVVVVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNGGGNNNGGGGGGNNNGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGEEEEEEEEEEEEEEEEEEffffff^^^===VVVVVVNNNVVVVVVNNNNNNfffVVVNNNVVVNNNGGGVVVfffNNNVVVVVVVVVNNN^^^fffVVVNNN^^^VVV===GGG^^^VVVppppppVVV^^^^^^^^^VVVpppwwwwwwwwwwwwwwwwwwfff======GGGNNNNNNNNNNNNNNNVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^ffffff^^^fffffffff^^^ffffff^^^^^^^^^^^^^^^fff^^^ffffff^^^ffffffffffff^^^fff^^^ffffffffffffffffffffffffpppfffffffffpppfffpppffffffffffffpppfffppppppfffpppfffpppfffppppppfffpppfffpppfffppppppfffppppppfffpppfffpppffffffpppfffpppfffpppfffpppffffffpppffffffpppfffffffffpppffffffffffffffffffpppffffffffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVVVVV^^^VVV^^^VVVVVVVVV^^^VVVVVVVVVNNNVVVVVVVVVVVVVVVVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNNNNNNNNNNGGGNNNGGGNNNGGGGGGNNNGGGGGGGGGNNNGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEGGGEEEEEEEEEEEEEEEGGGGGGEEEEEEGGGEEEEEEEEEGGGGGGppppppVVV===NNNEEEVVVfff^^^GGGNNNVVVEEEVVVfff^^^EEEGGGNNNGGG^^^fffVVVEEE^^^NNNEEE^^^ffffffEEENNNVVVGGGfffVVVGGGfffpppfffpppwwwwwwwwwwwwwwwwwwwwwppp333===EEEGGGNNNNNNNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^ffffff^^^fff^^^ffffffffffff^^^fffffffff^^^fff^^^^^^fff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffpppffffffffffffpppffffffffffffpppfffppppppfffffffffpppffffffpppfffpppfffffffffpppfffpppfffpppfffpppfffpppffffffpppfffpppfffpppfffpppfffffffffffffffpppfffpppffffffpppffffffffffffffffffpppfffpppffffffffffffffffffffffffffffff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVNNNNNNVVVNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNGGGNNNGGGGGGGGGNNNGGGNNNGGGNNNGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEGGGEEEEEEEEEGGGEEEpppfffVVV===GGG===fffpppfffGGG^^^NNNGGGfffpppfffEEEGGGEEENNNppppppVVVEEE^^^EEEGGGpppppppppEEEGGGVVVEEE^^^EEEVVVwwwwwwwwwwwwwwwwwwwwwfff333333EEEGGGNNNNNNNNNNNNVVVVVVVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fffffffff^^^fffffffff^^^ffffff^^^^^^fff^^^^^^fff^^^ffffff^^^fffffffff^^^ffffffffffffffffffffffffpppfffffffffffffffpppfffffffffffffffffffffffffffpppfffpppffffffpppfffpppfffpppfffpppfffpppfffpppfffppppppfffpppfffpppfffpppfffpppfffffffffpppfffpppfffpppfffffffffpppfffpppffffffpppfffpppfffpppfffffffffpppffffffffffffffffff^^^fff^^^fff^^^ffffff^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVNNNVVVNNNNNNVVVNNNNNNNNNNNNVVVNNNNNNGGGNNNNNNGGGNNNNNNNNNGGGNNNNNNNNNGGGNNNGGGNNNGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGEEEEEEEEEGGGppppppNNNEEENNNGGGfffwwwNNNfffVVVVVVppppppfff===NNNEEENNNfffpppGGGGGG^^^===VVVppppppfffEEENNNNNNEEEVVVEEE^^^wwwwwwwwwwwwwwwwwwwwwppp333333GGGGGGNNNNNNNNNNNNVVVNNNVVVNNNVVVVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ffffff^^^ffffffffffffffffff^^^ffffff^^^ffffff^^^ffffff^^^fff^^^fffffffffffffffffffffffffffffffffffffffffffffffffffpppfffffffffffffffffffffpppfffffffffpppfffpppffffffffffffpppfffpppfffpppffffffpppfffpppfffpppppppppfffpppfffpppfffpppfffppppppffffffpppfffpppfffffffffffffffpppffffffpppffffffpppfffpppfffpppfffffffffffffffffffffffffffffffffffffff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^VVVVVV^^^VVV^^^VVVVVVVVVVVVVVVNNNVVVNNNVVVVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNNNNNNNGGGNNNNNNGGGNNNGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGppppppNNNNNNfffVVVfffpppNNNwwwwww^^^pppfffVVV===VVVVVVNNNfffpppEEENNNfffGGGNNNfffppp^^^===NNNNNNGGG^^^GGG^^^pppwwwppp^^^wwwfff333333EEEGGGGGGNNNNNNNNNNNNVVVNNNVVVNNNVVVNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fffffffff^^^fff^^^fff^^^ffffff^^^fff^^^fff^^^fff^^^fff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffpppffffffffffffffffffpppfffffffffffffffffffffpppffffffffffffpppfffpppfffpppfffpppfffpppffffffpppfffppppppfffpppfffppppppfffpppffffffpppffffffpppfffffffffffffffpppfffpppffffffpppffffffpppfffpppfffpppfffpppffffffffffffffffffffffffffffffffffff^^^^^^fff^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNVVVNNNNNNNNNGGGNNNGGGNNNNNNGGGNNNNNNNNNGGGNNNGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEGGGGGGGGGGGGGGGEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEpppppp^^^fffppppppppppppffffffwwwwwwffffffNNN===^^^fffffffff^^^NNN^^^ppp^^^^^^^^^^^^NNNEEE^^^VVVVVVpppVVVVVVffffffVVV^^^wwwwwwfff---333EEEEEEGGGNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^ffffffffffff^^^fff^^^ffffff^^^ffffffffffff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppffffffpppfffpppfffpppfffffffffpppfffpppfffpppfffpppfffpppppppppfffpppfffpppfffpppfffpppffffffffffffffffffffffffpppfffpppffffffpppfffpppfffpppfffffffffffffffffffffffffffffffffffffffffffffffffff^^^^^^^^^fff^^^^^^^^^^^^VVV^^^^^^^^^^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVVVVVVVVNNNVVVNNNNNNVVVVVVVVVNNNNNNNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNNNNNNNGGGNNNGGGNNNGGGGGGNNNGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGNNNGGGGGGEEEGGGEEEEEEGGGEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGpppppppppppppppppppppwwwfffpppwwwwwwpppfff^^^VVVGGGpppwwwppppppwwwpppwwwwwwppppppfffffffffppppppppppppwwwppppppppppppfffwwwwww^^^------===EEEGGGGGGGGGGGGNNNGGGNNNNNNNNNNNNNNNNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^fff^^^ffffff^^^^^^fff^^^^^^ffffff^^^ffffff^^^^^^fff^^^fff^^^fffffffff^^^fff^^^fff^^^ffffffffffffffffff^^^fffffffffffffffffffffffffffffffffffffffffffffffffffpppffffffffffffpppfffpppffffffpppfffpppfffpppfffpppfffppppppffffffppppppfffpppfffpppfffpppfffffffffffffffffffffffffffpppfffpppfffpppfffpppfffpppfffffffffpppffffffffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGNNNNNNGGGNNNGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEGGGEEEEEEEEEEEEGGGEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGGGGGGGppppppwwwpppwwwwwwppppppppppppwwwwwwpppfffppp^^^fffwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww^^^------======EEEEEEGGGGGGGGGGGGGGGGGGNNNGGGNNNNNNNNNNNNNNNVVVNNNNNNNNNVVVNNNNNNVVVNNNVVVNNNNNNNNNVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVVVVV^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^^^^ffffffffffffffffff^^^^^^^^^^^^^^^^^^ffffff^^^fff^^^fffffffffffffffffffffffffffffffffffffffffffffpppffffffffffffffffffffffffpppffffffpppfffpppfffpppfffffffffffffffpppfffpppfffpppfffpppfffppppppfffpppfffpppffffffffffffppppppffffffffffffffffffffffffpppfffpppfffpppfffpppfffpppfffffffffffffffpppffffffffffffffffffffffffffffff^^^fff^^^^^^fff^^^fff^^^^^^^^^^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^VVVVVVVVVNNNVVVNNNVVVNNNVVVNNNVVVVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGNNNGGGNNNGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGGGGGGGpppppppppppppppppppppppppppwwwpppppppppwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww’jj¼@@äú��ú��ú��ú��†††^^^""""""333======EEEEEEEEEEEEGGGGGGGGGEEEGGGGGGGGGGGGNNNGGGNNNNNNNNNNNNNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^fff^^^fff^^^fff^^^^^^fff^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^ffffffffffffffffffffffff^^^fffffffffffffffffffffpppffffffpppfffpppfffpppfffpppffffffpppffffffpppfffpppfffpppfffpppffffffpppfffffffffpppfffpppfffffffffpppfffpppffffffffffffpppfffpppfffpppfffpppfffpppfffpppffffffffffffffffffffffffffffffffffffffffff^^^fff^^^fff^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^VVVVVVVVVVVVVVV^^^VVVVVVVVVVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNGGGNNNGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEE^^^fffffffffffffffffffffffffffppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwú��ú��ú��ú��ú��ú��ú��††††††VVV"""---===============EEE===EEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^^^^^^^^^^^^^^^^^^^fff^^^ffffffpppwww‘‘‘––––––†††www^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^ffffff^^^fff^^^ffffffffffffffffff^^^fff^^^ffffffffffff^^^fff^^^fffpppfffpppfffpppfffpppffffffffffffpppfffpppffffffffffffpppfffffffffppppppffffffpppffffffpppfffpppffffffpppffffffpppfffpppffffffpppfffpppfffpppfffpppfffffffffpppfffpppffffffpppffffffffffffffffff^^^ffffff^^^fff^^^ffffff^^^^^^^^^^^^^^^VVV^^^VVVVVV^^^^^^VVV^^^VVVVVVVVVVVVVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGNNNGGGGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGNNNGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEGGGEEEEEEEEEEEEEEEEEEGGGEEEGGGEEEGGGEEEEEEEEE^^^^^^fff^^^ffffffffffffffffff^^^ffffff^^^fffffffffffffffpppfffppppppppppppppppppppppppppppppwwwã´88Œccú��ú��ú��ú��wwwwwwwwwwwwwwwVVVEEEGGGGGGNNNNNNNNNGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEGGGGGGGGGGGGGGGNNNGGGNNNNNNNNNNNNNNNVVVVVVVVVVVV^^^^^^fffpppwww†††‘‘‘‘‘‘–––ªªª°°°¶¶¶¶¶¶ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇǰ°°‘‘‘ppp^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^ffffff^^^fffffffff^^^fff^^^ffffff^^^ffffff^^^fff^^^fffffffffpppfffpppfffffffffffffffpppffffffffffffpppffffffpppfffpppfffpppfffpppfffpppffffffppppppfffpppfffpppfffpppfffffffffpppfffpppfffffffffpppfffpppfffffffffffffffpppfffpppfffffffffffffffffffff^^^ffffff^^^fff^^^ffffff^^^^^^^^^VVV^^^VVV^^^VVV^^^VVVVVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEffffff^^^fff^^^^^^fff^^^fff^^^ffffffffffffffffffffffffffffffpppffffffffffffpppffffffpppppppppfffpppppppppú��ú��ú��ú��pppppppppfffppppppfffpppfffVVVVVVú��ú��^^^^^^fff^^^fff^^^^^^^^^^^^VVVVVVVVVVVVVVVNNNNNNNNNGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGGGGGGGNNNNNNVVV^^^fffwww‘‘‘   ªªª°°°¶¶¶ÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÇÇÇÇÇǰ°°†††ppp^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^^^^^^^^^^^^^fff^^^fff^^^fffffffffffffffffffffffffffffffffpppfffffffffpppffffffffffffffffffffffffpppfffpppfffpppfffpppffffffpppffffffpppffffffpppfffpppfffpppfffpppfffpppffffffpppfffpppffffffffffffffffffpppfffpppffffffffffffffffff^^^ffffffffffff^^^fff^^^^^^^^^VVVVVV^^^VVVVVV^^^VVVVVVVVV^^^VVVVVVVVVVVVVVVVVVNNNNNNNNNVVVNNNVVVNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^ffffff^^^fff^^^ffffff^^^ffffffffffff^^^ffffffffffffffffffffffffffffffffffffpppfffpppfffpppppppppppppppú��ú��ú��ú��wwwppppppwwwpppppppppppppppffffffú��ú��pppfffpppfffppppppfffpppfffpppppppppfffpppfffffffffffffff^^^^^^VVV^^^VVV^^^^^^^^^fffppp†††   ªªª°°°ÁÁÁÇÇÇÎÎÎÎÎÎ×××ÎÎÎ×××ÎÎÎ××××××ÎÎÎ×××ÎÎÎ××××××××××××ÎÎÎ×××ÎÎÎÎÎÎÎÎÎÎÎÎ××××××ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÇÇǰ°°†††fff^^^^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fffffffffffffffpppffffffffffffffffffffffffffffffpppffffffpppfffpppfffppppppfffpppfffffffffpppffffffpppfffpppfffpppfffpppfffpppfffpppfffpppfffpppffffffffffffpppfffffffffffffffpppffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^^^^^^^^^^VVV^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEGGGEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfff^^^fff^^^fff^^^fffffffff^^^ffffff^^^ffffff^^^ffffffffffffpppfffffffffffffffpppfffppppppfffppppppppppppú��ú��ú��ú��pppwwwpppwwwwwwwwwpppwwwppppppfffú��ú��fffpppppppppppppppppppppppppppppppppwwwpppwwwwwwpppwwwwww†††–––   ªªª°°°¶¶¶ÇÇÇÎÎÎ×××ßßß×××ßßß×××ßßß×××××××××××××××××××××ßßß××××××××××××××××××××××××××××××ÎÎÎ××××××ÎÎÎ×××ÎÎÎÎÎÎ××××××××××××××××××ÎÎÎÎÎÎÁÁÁªªª^^^VVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fffffffffffffffffffffffffffffffffffffffpppfffffffffffffffffffffffffffpppffffffpppffffffffffffpppfffpppfffffffffpppfffpppfffpppfffppppppfffpppfffpppfffffffffpppfffffffffffffffpppfffffffffffffffffffffffffffffffff^^^ffffff^^^^^^^^^^^^^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGGGGNNNNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEGGGEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^fffffffffffffff^^^fff^^^fff^^^fffffffffffffffffffffffffffffffffpppfffpppffffffppppppfffpppfffpppppppppú��ú��ú��ú��pppwwwwwwwwwwwwwwwwwwwwwpppppppppú��ú��pppppppppppppppppppppwwwpppwwwwww‘‘‘–––ªªª°°°ÁÁÁÁÁÁÎÎÎ×××ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß×××ßßßßßßßßß××××××××××××××××××ÎÎÎÎÎÎÁÁÁ¶¶¶–––   ÁÁÁÇÇÇÎÎÎ×××××××××××××××××××××ÎÎÎÇÇǶ¶¶   pppVVVNNNNNNNNNVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^ffffffffffffffffff^^^^^^^^^^^^ffffffffffffffffffpppffffffffffffffffffpppffffffpppffffffffffffffffffpppfffpppfffpppfffpppfffpppfffppppppfffffffffpppfffpppffffffpppfffpppffffffffffffffffffffffffpppffffff^^^fff^^^fff^^^fff^^^^^^^^^^^^VVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGGGGEEEGGGEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEGGGEEEEEEEEEEEEEEEGGGEEEGGGEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfff^^^fff^^^fff^^^fffffffffffffffffffffffffffffffffffffffffffffpppffffffpppfffppppppfffppppppppppppppppppú��ú��ú��ú��wwwwwwwwwwwwwwwwwwwwwwwwwwwpppfffú��ú��pppppppppwwwwww†††‘‘‘   ªªª¶¶¶ÇÇÇÎÎÎ×××ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß×××ßßßßßßßßß×××ßßßßßßßßßßßß×××××תªª†††fffVVVNNNfffppp   ¶¶¶ÎÎÎÎÎÎ××××××××××××××××××ÎÎÎÁÁÁªªªwwwVVVGGGGGGNNNNNNGGGNNNNNNNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppfffpppfffpppfffpppffffffpppfffpppfffffffffpppffffffpppfffffffffpppffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEffffffffffff^^^ffffff^^^fffffffffffffffffffffpppffffffffffffpppfffpppfffpppfffpppppppppppppppppppppppppppú��ú��ú��ú��wwwwwwwwwwwwwwwpppú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ÇÇÇ×××ßßß×××ÁÁÁÁÁÁÇÇÇÇÇÇÎÎÎßßßßßßßßßßßßÎÎÎ×××ßßßßßßßßßßßßçççßßßçççßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß××××××ÇÇǶ¶¶–––pppVVVGGG===EEE^^^pppffffffppp†††°°°ÎÎÎ××××××ßßßÎÎÎÇÇÇÎÎÎÎÎÎÇÇǰ°°†††NNNEEEEEEGGGNNNGGGGGGNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^fff^^^ffffffffffffffffffffffffffffffpppfffpppfffpppfffpppfffffffffffffffpppffffffpppfffpppfffpppffffffffffffffffffpppffffff^^^fff^^^fffffffff^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVVVVVVVVVVVVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^fff^^^ffffff^^^fffffffffffffff^^^fffffffffffffffffffffffffffpppfffpppfffpppfffpppfffpppfffppppppppppppú��ú��ú��ú��wwwpppwwwpppwwwwwwú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ßßßßßßçççßßß¶¶¶†††–––www‘‘‘ÎÎÎßßßßßßÇÇÇ   ÁÁÁ×××çççßßßßßßçççßßßçççßßßçççßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßÎÎζ¶¶   fffNNNEEE===333=========------333===NNNwww‘‘‘wwwwww†††ªªªÎÎÎ×××ßßß×××ÎÎÎÇÇÇÇÇÇÁÁÁ°°°–––NNN======GGGVVVVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNNNNNNNVVVNNNVVVVVVNNNVVVVVVNNNVVVVVVVVVVVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ffffff^^^ffffff^^^fffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppfffpppfffffffffffffffffffffffffffffffffffffff^^^^^^^^^^^^fff^^^^^^^^^^^^VVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGEEEEEEEEEEEEEEEEEEGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffpppffffffpppfffpppfffpppfffpppfffpppppppppú��ú��ú��ú��wwwpppwwwpppwwwpppwwwwwwpppwwwpppú��ú��ÇÇÇççççççççççççççççççßßßßßßçççÇÇÇppppppfff‘‘‘×××çççßßßÎÎΪªª–––ÎÎÎßßßßßßßßßçççßßßçççßßßßßßçççßßßçççßßßçççßßßßßßßßßÁÁÁ   wwwNNN===333333---333333333333333333==================GGG^^^www†††††††††¶¶¶××××××ßßß××××××ÎÎÎÁÁÁ°°°–––NNN===333GGG^^^ppppppfffffffff^^^^^^^^^VVVVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVVVVVVVVVVNNNVVVVVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^ffffffffffff^^^ffffffffffffffffffffffffffffffffffffpppfffpppffffffffffffffffffffffffffffff^^^fff^^^^^^fff^^^^^^^^^^^^^^^VVV^^^VVVVVVVVVVVVVVVVVVNNNVVVNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNGGGGGGNNNGGGNNNGGGNNNGGGGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEE^^^fff^^^fff^^^fff^^^ffffffffffffffffffffffffffffffffffffpppffffffpppffffffpppfffpppfffpppfffpppfffppppppú��ú��ú��ú��pppwwwpppwwwpppwwwpppwwwwwwppppppú��ú��VVVÁÁÁçççççççççßßßçççççççççßßßßßß‘‘‘VVV^^^ffffffÁÁÁßßßçççßßßÎÎΪªª†††ÇÇÇßßßßßßßßßççç×××ÎÎÎÇÇÇÎÎÎ××××××ßßßßßßßßß¶¶¶wwwGGG333---------------===GGGNNNNNNVVVNNN^^^pppppppppfff^^^^^^^^^VVVVVVppp‘‘‘‘‘‘†††ªªªÎÎÎßßßßßßßßß×××ÎÎΰ°°ªªª–––VVV===333===NNNpppwwwwwwwwwwwwwwwpppwwwpppfffpppffffff^^^^^^VVVVVVVVVVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^fff^^^fffffffffffffffffffffffffffffffffffffffffffffffffff^^^fff^^^^^^fff^^^^^^^^^^^^^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^fff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppffffffpppfffpppfffppppppppppppfffú��ú��ú��ú��pppwwwpppwwwwwwpppwwwwwwpppwwwpppú��ú��===NNN–––×××ççççççççççççççççççßßß°°°^^^wwwwww†††ÎÎÎßßßçççßßßßßßÎÎÎÎÎÎÁÁÁ×××çççßßß×××ÇÇÇÇÇÇÇÇÇÇÇÇÎÎÎ×××××ב‘‘NNN===333333333===333333333===GGGfff††††††‘‘‘–––ªªª   ‘‘‘wwwpppfff^^^fffVVVVVVfffpppppp†††°°°×××ßßßßßßßßßßßß×××°°°ªªª–––GGG333333===EEE^^^wwwwwwwwwwwwwwwpppppppppfffffffff^^^^^^VVVVVVVVVVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ffffffffffff^^^fff^^^^^^^^^fff^^^fff^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^VVV^^^^^^VVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGNNNGGGGGGNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^fff^^^fff^^^fffffffff^^^fffffffffffffffffffffpppffffffpppfffffffffffffffpppfffpppfffpppfffpppú��ú��ú��ú��ú��ú��ú��ú��ú��ú��pppwwwwwwwwwpppwwwwwwwwwú��ú��===EEEGGGwwwÎÎÎïïïçççççççççççççççÇÇÇ‘‘‘^^^pppppp–––ÇÇÇççççççßßßçççßßßÎÎΪªª°°°ßßßçççßßßßßßçççßßßçççßßßÇÇÇfffVVVGGGEEEGGGVVV^^^^^^VVV^^^NNNGGGGGGNNN^^^fff^^^fffppppppppppppfffNNNGGGNNNfffpppfffppp‘‘‘°°°×××ßßßßßßßßßßßß×××ÎÎΰ°°†††GGGGGGVVVNNNGGGNNNfff††††††††††††††††††wwwwwwwwwwwwppppppffffffffffff^^^VVVVVVVVVNNNVVVVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNVVVNNNVVVVVVVVVVVV^^^VVV^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGGGGGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGEEEGGGEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEGGGEEEGGGEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEffffff^^^fffffffffffffffffffffffffffffffffffffffffffffpppffffffpppfffpppffffffpppfffpppfffppppppú��ú��ú��ú��ú��ú��ú��ú��ú��ú��wwwpppwwwwwwwwwwwwwwwwwwú��ú��===EEEGGGNNNfff   ßßßçççççççççççççççßßßÎÎÎpppffffffNNNwwwÎÎÎßßßçççççççççßßßßßß×××ÇÇÇÎÎÎßßßçççßßßçççßßßßßßÇÇÇ‘‘‘ppp^^^VVVppp–––‘‘‘–––pppGGGNNNNNNVVVNNNVVVEEEVVVwww–––ªªª°°°   www^^^GGGEEEGGG^^^^^^^^^pppppp¶¶¶××××××ÎÎÎÎÎÎÎÎÎÇÇǰ°°–––ffffffffffff^^^VVVGGGGGG^^^ppp†††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwppppppffffffffffff^^^^^^VVVVVVVVVVVVVVVVVVNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVV^^^VVV^^^^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^VVV^^^VVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^ffffffffffff^^^ffffffffffffffffffffffffffffffpppfffffffffffffffffffffpppfffppppppfffpppfffppppppfffpppppppppwwwpppwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwfff===EEEGGGVVVNNNVVVÎÎÎçççççççççççççççßßß×××–––VVVVVVVVVpppÁÁÁßßßßßßçççççççççßßßÎÎΪªª¶¶¶ßßßßßßçççÎÎÎ××××××ÎÎΖ––‘‘‘††††††–––°°°ÁÁÁÁÁÁfffNNNGGGEEEGGG^^^^^^GGG†††¶¶¶ÇÇÇÎÎÎÎÎΠ  ppp^^^===GGGppp^^^fff‘‘‘†††wwwwww‘‘‘¶¶¶×××ÁÁÁªªª––––––‘‘‘†††pppfffNNNGGGEEE333333333EEE^^^www††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwwwwpppfffffffffffffff^^^VVVVVVVVVVVVVVVNNNVVVNNNNNNVVVNNNVVVNNNVVVNNNNNNVVVNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGNNNGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEfff^^^fff^^^ffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppfffpppfffpppfffppppppfffppppppppppppppppppppppppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwfff===EEEGGG^^^NNNGGGVVVpppªªªßßßçççççççççççççççÇÇÇfffGGG^^^fffwwwÇÇÇççççççççççççççççççßßßÎÎΰ°°ÇÇÇßßßßßßçççççç××××××××××××ßßßßßß×××ßßß°°°†††wwwfffVVVNNNwww–––   –––‘‘‘pppNNNEEE===EEENNNfffwww‘‘‘fffpppfff–––   ‘‘‘pppwwwfffVVV^^^fffVVVGGG------------333333EEE^^^††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwppppppffffffffffff^^^VVVVVVVVVVVVNNNVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGNNNGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEfff^^^fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppfffpppfffpppfffpppfffppppppppppppwwwpppwwwwwwpppwwwwwwwwwwwwwwwwwwppp===EEENNN^^^^^^VVVVVVfff^^^†††ÎÎÎçççßßßçççççççççÎÎΖ––fff‘‘‘–––   –––ÎÎÎçççßßßççççççççç×××ÎÎΪªªªªªÎÎÎççççççßßßçççßßßçççßßßçççÎÎΪªªªªª¶¶¶ÎÎΪªªwwwwwwpppVVVVVVVVVNNNGGG===EEE   ªªª   ªªª‘‘‘‘‘‘‘‘‘wwwpppppppppffffffpppppppppwwwffffffVVVNNNVVV^^^VVVGGGEEE===---------333333333EEE^^^www†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwpppppppppffffff^^^^^^^^^VVVVVVVVVVVVVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEE^^^fffffffffffffffffffffffffffffffffpppfffffffffffffffffffffpppfffpppfffpppfffpppfffpppfffppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwwwwwwwwwwppp===EEENNNfffpppffffffVVVNNNVVVppp¶¶¶ßßßççççççççççççßßß¶¶¶–––fffVVVVVVfff°°°ßßßççççççççççççççç×××¶¶¶ªªª°°°ßßßççççççççççççççççççÎÎΖ––‘‘‘–––‘‘‘‘‘‘–––‘‘‘‘‘‘wwwpppwwwwwwwww   ÎÎÎçççßßßçççßßßßßß×××ÁÁÁªªªªªª¶¶¶ªªª   ‘‘‘††††††wwwppp^^^VVV^^^fffVVVNNNGGG===------------333333333333EEE^^^www†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwppppppfffffffffffffff^^^^^^VVVVVVVVVNNNNNNNNNGGGGGGNNNGGGNNNGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEffffffffffffffffffffffffffffffffffffffffffffffffffffffpppffffffpppfffpppfffpppfffpppfffppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwwwwwwwppp===EEENNNfffpppfffffffffNNNNNNNNNfff‘‘‘ÎÎÎççççççççççççççç××׆††^^^ppp   ßßßçççççççççççççççççç×××¶¶¶ªªªÎÎÎçççßßßççççççßßß××××××¶¶¶°°°°°°ÇÇÇ××××××ßßßßßßßßßßßßßßßßßßçççççççççççççççççççççççççççßßßßßßßßßçççÎÎÎ×××××××××ÎÎΠ  pppfff^^^ffffffffffff^^^VVVGGG===333333333=========333333333333EEE^^^††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwwwwwwwwwwppppppffffff^^^NNNNNNNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffffffff^^^fffffffffffffffffffffpppffffffffffffffffffffffffpppfffpppfffpppfffpppfffppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwwwwwwwpppEEEEEENNNfffpppffffffffffffVVVNNNNNN^^^www¶¶¶ßßßççççççççç××ב‘‘VVV===EEENNNwww¶¶¶°°°×××çççççççççççççççßßßÎÎζ¶¶ÎÎÎ×××çççççççççÎÎÎÇÇÇÎÎÎÁÁÁ   –––   °°°ÁÁÁ×××ßßßçççççççççççççççççççççßßßççççççßßßççççççççççççççççççßßßçççßßßßßß–––wwwwwwwwwppppppffffffVVVNNNGGGGGGGGGGGGVVVVVV^^^VVV===---333333333===GGGfff†††‘‘‘†††‘‘‘†††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwwwwpppppp^^^NNNGGGEEEGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^fffffffffffffffffffffpppffffffffffffffffffpppffffffpppfffpppfffppppppfffppppppppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwwwwpppEEEEEEGGGNNNffffffpppppppppffffffVVV^^^NNNfffªªªßßßççççççßßßÎÎΪªªGGG===NNNwww‘‘‘ªªªÇÇÇÇÇÇ×××ççççççççççççççççççßßßÁÁÁÇÇÇßßßçççßßßßßßßßß¶¶¶‘‘‘fffNNNGGGVVV†††ßßßççççççççççççççççççççççççççççççççççççççççççççççççßßßçççßßßÇÇÇ   pppVVVVVVppppppfff^^^VVVVVVGGGEEE333333GGGffffffpppNNN333---===333EEEGGGNNNNNNfffppp†††‘‘‘†††‘‘‘†††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††‘‘‘††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwwwwwwwfffGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEffffffffffffffffffffffffffffffffffffffffffffffffpppfffppppppfffpppfffppppppppppppppppppppppppppppppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppGGGGGGNNNNNNNNN^^^pppppppppwwwppp^^^VVVNNNNNN^^^‘‘‘ÎÎÎßßßççççççßßß¶¶¶¶¶¶ÇÇǰ°°°°°°°°°°°VVV–––ßßßçççççççççççççççÎÎΠ  ªªª×××ççççççßßßÇÇǰ°°ªªª°°°¶¶¶°°°¶¶¶ßßßçççççççççççççççççççççççççççççççççßßßçççççççççççççççßßßßßß   fff^^^^^^^^^fffppp^^^GGGEEEGGGGGG333---"""333333=========EEEppp^^^VVVfffppp^^^fff^^^fffppp‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††‘‘‘††††††‘‘‘†††††††††††††††‘‘‘†††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwpppVVV======EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^ffffff^^^fffffffffffffffffffffpppffffffpppfffpppfffpppfffpppppppppfffpppppppppppppppppppppwwwppppppwwwwwwwwwwwwwwwGGGGGGGGGNNNNNNNNNVVVfffpppppppppfffppp^^^VVVNNNVVVppp   ×××çççïïïççççççßßßwww^^^–––¶¶¶ÁÁÁ¶¶¶ÁÁÁ×××ßßßßßßßßßççççççßßß¶¶¶      ßßßççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççßßßßßßßßßÎÎÎÁÁÁªªª†††ppppppwwwwwwpppwwwppp^^^NNNGGG===---"""""""""""""""333NNN^^^‘‘‘ppp^^^VVVVVV^^^VVVNNN^^^fffpppwww††††††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††‘‘‘†††‘‘‘††††††††††††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwfffEEE333333======EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffffffffffffffffffffffffffpppfffffffffffffffpppfffpppppppppppppppppppppppppppppppppwwwwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwGGGGGGNNNNNNNNNNNNNNNVVVwwwppppppwwwwwwwww^^^VVVVVVNNN^^^wwwÇÇÇçççïïïçççççççççÎÎÎÎÎÎçççççççççÎÎΰ°°fff†††‘‘‘ÎÎÎßßßçççßßß×××ÎÎÎßßßßßßßßßççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççßßßßßßÇÇÇ–––†††††††††wwwNNN===VVVppp^^^pppwwwwwwwwwfff^^^NNN===---""""""""""""---333EEENNNpppfffVVVEEE=========EEEEEENNNVVVffffffwww‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††‘‘‘†††‘‘‘††††††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwGGG333333===============EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEffffffffffffffffffffffffffffffffffffpppfffpppfffppppppfffppppppppppppppppppppppppwwwpppwwwwwwwwwpppwwwwwwwwwwwwwwwGGGNNNNNNNNNNNNNNNNNNNNNVVV^^^wwwwwwwwwwwwwwwfffNNNVVVNNNfff–––×××ïïïïïïçççïïïçççççççççççç×××¶¶¶   ‘‘‘‘‘‘pppªªª×××ççççççççç×××¶¶¶ÁÁÁßßßççççççççççççïïïçççççççççççççççççççççççççççççççççßßßÁÁÁ   ‘‘‘†††pppNNN333333^^^†††^^^pppwwwpppfffpppVVVEEE===333333333---"""------333===333333GGGEEE333333======EEEGGGNNN^^^fffppp†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††www^^^------333333===============EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEE===EEEEEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEffffffffffffffffffpppfffpppfffpppfffppppppfffppppppppppppppppppppppppppppppwwwwwwwwwwwwpppwwwwwwwwwwwwwwwwww††††††GGGNNNVVVNNNNNNNNNVVV^^^NNNVVV^^^pppwwwpppwwwpppVVVVVVVVVVVV^^^www¶¶¶ïïïïïïçççïïïçççïïïçççççççççßßß¶¶¶   –––   ¶¶¶   ppp°°°çççççç×××ÎÎÎßßßççççççïïïçççççççççïïïççççççççççççççççççççççççßßßÁÁÁpppfff†††††††††††††††–––   ‘‘‘^^^www‘‘‘†††pppVVV†††pppppppppVVVNNNGGGNNNNNNEEE333""""""""""""""""""===NNNEEE=========333333======EEENNN^^^ppp‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††fff==="""---333=====================EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffffffffffffffffffffffffffpppfffpppppppppppppppppppppppppppppppppwwwwwwwwwpppwwwwwwwwwwwwwwwwwwwwwwww††††††NNNNNNNNNVVVVVVVVVppp^^^NNNNNNVVVVVVfffwwwpppVVVVVVNNNVVVVVV^^^fff‘‘‘×××ïïïïïïïïïçççïïïçççïïïçççççççççßßßÇÇÇ   ¶¶¶çççççççççççççççççççççççççççïïïçççççççççççççççççççççßßß××××××ÇÇÇÎÎÎÎÎÎÎÎÎçççßßßÎÎÎÁÁÁÁÁÁ××××××ßßßÇÇÇ‘‘‘††††††wwwNNNpppwwwfffwwwwww^^^^^^VVVVVVGGGEEE======---------------GGG^^^^^^NNNEEE333333333333333===EEEGGGVVVfffppp†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††wwwEEE""""""333===333==================EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffffffffpppfffppppppfffpppfffpppfffppppppppppppppppppppppppwwwppppppwwwwwwwwwwwwwwwwwwwwwwwwwww††††††NNNNNNVVVNNNVVV^^^wwwfffVVVNNNNNNNNNVVVppppppwwwwwwVVVVVVVVVVVVVVVVVVVVV^^^wwwÁÁÁçççïïïïïïçççïïïçççïïïçççççççççÎÎÎÇÇÇ      ßßßççççççççççççççççççççççççççççççßßßßßß×××ßßß×××ÎÎÎÎÎÎÇÇÇÁÁÁ°°°°°°ÎÎÎ××××××ßßßççççççßßßßßßççççççççççççßßßÇÇÇ‘‘‘fffVVV–––^^^ffffff^^^fffffffffVVVGGGGGGGGG===GGGGGGGGGGGG^^^†††^^^NNNNNNEEE333===333333======EEENNNVVVfff†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††††††††††††††‘‘‘†††††††††††††††††††††VVV---"""---=================================EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE=========EEEEEE===EEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEffffffffffffpppffffffpppfffppppppppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww††††††††††††††††††VVVNNNVVVVVVVVVfffppppppfffVVVVVVfff^^^VVVVVVpppwwwVVVVVVVVVVVVVVVVVVVVV^^^VVVfff‘‘‘×××ïïïïïïïïïçççççççççççççççççççççßßß×××ßßßßßßßßß××××××ÎÎÎÇÇÇÁÁÁ¶¶¶°°°°°°¶¶¶ÎÎÎßßßßßßßßß×××ßßßÇÇǪªª–––      ––––––   ×××çççççççççÎÎÎÇÇÇßßßççççççççç×××¶¶¶‘‘‘––––––wwwpppfffpppfff^^^VVVVVVNNNVVVGGG^^^^^^VVVGGGGGGNNNfffwwwpppfffGGG===333333===333333======GGGVVVfffwww‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘†††‘‘‘†††††††††††††††‘‘‘††††††††††††††††††ppp333"""---333===333===333========================EEE=========EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEE===EEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffpppfffpppfffpppfffpppppppppfffppppppppppppppppppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww†††††††††††††††††††††VVVVVVVVVVVVVVVfffwwwpppwwwppp^^^ppppppNNNVVVVVVfffVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^^^^¶¶¶çççïïïçççßßß×××ÎÎÎÇÇǶ¶¶°°°ªªª   –––‘‘‘†††pppppppppfffpppwww‘‘‘°°°ÎÎÎßßßÎÎΠ  ††††††   ¶¶¶×××ßßßÎÎζ¶¶ªªªÇÇÇ×××ßßß¶¶¶‘‘‘–––ßßßçççççççççßßß   www–––ÁÁÁÁÁÁ   –––‘‘‘^^^ffffffwwwppp^^^NNNGGGEEE===GGG^^^^^^pppNNNEEE333===333333===333======NNNfffpppwwwwww††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††wwwEEE""""""333333======333===333===========================EEE===EEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEE===EEEEEE===EEE===EEEEEE======EEE===EEEEEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEpppfffpppppppppppppppppppppppppppppppppwwwpppwwwwwwwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwww†††††††††††††††††††††fff^^^VVVVVVVVV^^^pppppp^^^ppp^^^pppwwwfffwwwVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^fff‘‘‘ÇÇǪªª†††pppfffffffff^^^^^^VVV^^^^^^VVVVVV^^^VVVVVV^^^VVVffffff–––¶¶¶ÎÎÎÎÎΠ  –––   ªªªªªªÇÇÇÎÎζ¶¶°°°ÇÇÇßßßçççÁÁÁ°°°ÇÇÇççççççççççççÇÇÇfffppp–––¶¶¶ÎÎÎÎÎÎÎÎÎÁÁÁªªª–––      –––†††ppppppVVVGGGEEENNN^^^www†††pppppp^^^NNNEEE===333===333333333===GGG^^^wwwwww‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘††††††‘‘‘†††‘‘‘††††††††††††VVV---"""---333===333===333===333===========================EEE===EEE===EEEEEEEEEEEEEEE===EEE===EEEEEE===EEE===EEE===EEE===EEEEEE===EEEEEEEEEEEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEppppppwwwpppwwwppppppwwwpppwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww††††††††††††††††††††††††‘‘‘www^^^VVVVVVVVVVVVfffwwwppp^^^wwwppp†††VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^pppwwwfff^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^ppp   ¶¶¶××××××¶¶¶   –––ÁÁÁßßßßßß××××××ßßßççççççßßßçççççç×××ÎÎÎ×××ÎÎÎwww†††–––ÁÁÁ×××ççççççßßß×××°°°ªªªªªªªªªªªª   pppNNNEEE===VVV‘‘‘ªªªªªª‘‘‘‘‘‘††††††ffffffGGG===333=========EEEVVVwww†††‘‘‘‘‘‘–––‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††fff333""""""===333===333===333===333=================================EEEEEE===EEE======EEE===EEE===EEE======EEE===EEEEEEEEE======EEEEEEEEEEEE===EEEEEE===EEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww††††††††††††††††††††††††††††††††††††–––      †††VVVNNNVVVVVVVVV^^^www^^^www†††VVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVV^^^^^^^^^fff¶¶¶¶¶¶www^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVVVVVVVVVVVVVV^^^^^^^^^pppwww‘‘‘   °°°°°°¶¶¶×××ßßßççççççççççççççççççççççççççççççÇÇÇÁÁÁÎÎΰ°°–––‘‘‘ÁÁÁßßßçççççççççÎÎΆ††www‘‘‘–––‘‘‘wwwppp^^^^^^VVVGGGNNNVVVppp‘‘‘ªªªªªª‘‘‘pppffffffNNN===333333333333---EEE^^^www‘‘‘°°°ÁÁÁ¶¶¶¶¶¶–––‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘††††††EEE""""""333333333===333333===333===333=================================EEE===EEE===============EEE=========EEEEEE===EEE======EEE===EEE===EEEEEE===EEE===EEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwpppwwwwwwwwwwwwwwwwww†††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘   ¶¶¶ÁÁÁ–––wwwNNNNNNVVVVVVVVV^^^^^^ppppppfff^^^VVVVVV^^^VVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^^^^fff†††°°°‘‘‘fff^^^VVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVV^^^^^^fffppp–––ªªªÁÁÁÎÎÎßßßßßß××××××çççççççççççççççßßß×××ÎÎÎ×××××××××ççççççççççççÇÇdž†††††   ÁÁÁÁÁÁ†††VVVGGGVVVfffVVVNNNVVVGGGVVVfffpppfffNNNEEE======333===333333333---333EEENNNppp–––   ªªª‘‘‘‘‘‘ªªªªªª–––‘‘‘‘‘‘–––––––––‘‘‘–––‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††VVV---"""---333===333===333333===333===333===333==============================EEE======EEE============EEE======EEE=========EEE===EEE===EEE======EEE===EEE===EEEEEE===EEEEEEEEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwwwwwwwwwwwwwwwwwwwwwwww††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††   –––‘‘‘†††–––fffNNNGGGVVVVVVVVV^^^wwwwww†††wwwfff^^^VVVVVV^^^VVV^^^^^^VVVVVV^^^VVV^^^VVV^^^^^^^^^^^^ppp‘‘‘ªªª^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNNNNNNNVVVNNNVVVVVV^^^^^^^^^^^^^^^ppp†††°°°ÇÇÇÎÎΰ°°   ÁÁÁÎÎÎ×××ÇÇÇÎÎÎßßßççççççßßßççççççßßßßßßßßßççççççßßß×××ÎÎÎ×××ßßßÎÎΪªªppp–––ÇÇǶ¶¶–––pppVVVVVVVVVNNNGGGEEE======333===333333===333333=========GGGfffwwwwww   °°°ÁÁÁ°°°   –––‘‘‘‘‘‘––––––‘‘‘––––––‘‘‘––––––‘‘‘‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††ppp333""""""333333===333===333333===333===333===333============================================================EEE======EEE=========EEE===EEEEEE=========EEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEpppwwwwwwwwwwwwwwwwwwwwwwww†††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘   †††^^^GGGGGGNNNVVV^^^pppwww^^^wwwfffVVVVVV^^^VVV^^^^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^fffwww   –––pppVVVVVVVVVNNNNNNNNNNNNNNNVVVVVVVVVVVVVVVVVVVVV^^^ffffff^^^†††‘‘‘www^^^fffwww–––ªªª–––   ªªª¶¶¶ÇÇǶ¶¶°°°ªªª°°°¶¶¶ÇÇÇÎÎÎßßß×××ÎÎÎÁÁÁÇÇÇßßßççççççßßß×××ÎÎÎßßß××××××ßßßçççßßß×××ÇÇǪªª   †††pppVVVGGGEEE===333333===333333======333=========GGGfff†††ªªª¶¶¶°°°ÇÇǪªª–––‘‘‘‘‘‘––––––––––––‘‘‘–––––––––‘‘‘–––‘‘‘‘‘‘–––‘‘‘––––––‘‘‘––––––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††wwwEEE""""""333===333333333===333===333===333333===333================================================EEE=========EEE===EEE======EEE===EEE===EEE======EEE===EEE===EEE======EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwwwwwwwwwwwwwww†††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘ªªªªªªwwwppp–––°°°pppVVVNNNGGGNNNVVVVVV^^^www†††‘‘‘www‘‘‘wwwfff^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^VVV^^^^^^^^^^^^^^^fffppp‘‘‘ªªªwww^^^VVVVVVVVVVVV^^^VVVVVVVVV^^^VVV^^^^^^VVV^^^fff‘‘‘www‘‘‘†††fff†††ppp^^^^^^fffwww‘‘‘   ªªªÁÁÁ×××ßßß×××ÇÇÇÇÇÇÎÎÎÇÇÇÁÁÁªªª°°°¶¶¶¶¶¶¶¶¶¶¶¶°°°ÇÇÇÇÇÇÎÎÎßßßßßß×××ççççççßßßçççÇÇǰ°°ªªªªªª°°°°°°ªªª   †††wwwVVVGGG===333===333333===333333===EEEGGGfff†††††††††‘‘‘¶¶¶ÇÇÇÁÁÁ¶¶¶°°°–––‘‘‘––––––   –––––––––––––––‘‘‘–––––––––‘‘‘––––––‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††VVV---"""---333333===333333===333===333333===333===333===============================================================EEE===EEE=========EEE===EEE======EEE===EEE===EEE===EEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwwwwwwwwwwww†††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘   ªªªffffff   ¶¶¶–––fffVVVNNNGGGNNNVVV^^^fffppp†††www^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^ppp      fff^^^^^^VVVVVV^^^VVV^^^VVVVVVVVVVVVVVV^^^^^^fffpppwwwwwwwwwppp††††††fff^^^^^^ppp‘‘‘ªªªÁÁÁ×××ççççççßßßççççççßßßçççßßß×××ÎÎζ¶¶   ªªªªªª–––   ÎÎÎççççççßßßççç×××ÁÁÁªªª–––   ªªª   –––         °°°ªªª‘‘‘www^^^GGGEEE333333===333======GGG^^^‘‘‘††††††‘‘‘   ÁÁÁ¶¶¶ÎÎζ¶¶ªªª      ¶¶¶°°°   ––––––––––––––––––––––––––––––––––––––––––‘‘‘––––––‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††ppp333""""""333===333===333333333333===333333===333333333===333===========================================================================EEE============EEE===EEE===EEE===EEE===EEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwwwwwwwwwwww††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘––––––ffffff¶¶¶¶¶¶ÁÁÁ†††pppVVVNNNNNNGGGVVVVVVfff†††www†††fff‘‘‘††††††fff^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^fff‘‘‘ªªªfff^^^VVV^^^VVV^^^VVV^^^VVV^^^VVVVVV^^^VVV^^^fff‘‘‘‘‘‘‘‘‘ppp^^^fffVVVVVVVVVfff–––ÁÁÁÎÎÎ×××ßßßçççÎÎΪªªÁÁÁÎÎÎ××××××ÁÁÁ   –––‘‘‘   ßßßççççççßßß×××ÁÁÁªªªªªª      ªªª   –––‘‘‘‘‘‘‘‘‘–––      ªªª      †††ppp^^^GGGEEE=========EEEGGGfff†††‘‘‘††††††‘‘‘¶¶¶°°°¶¶¶ÎÎΪªª   ÇÇÇÇÇǶ¶¶   ––––––––––––––––––––––––––––––––––––––––––‘‘‘––––––‘‘‘–––‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘EEE""""""333333333333===333===333===333333===333===333333======333==================================================================EEE===EEE======EEE===EEE===EEE===EEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwwwwwwwwwwww†††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘‘‘‘–––ppp^^^fff¶¶¶ÇÇÇ×××°°°‘‘‘ppp^^^NNNNNNGGGNNN^^^^^^†††www†††fff‘‘‘‘‘‘^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^fffVVV^^^^^^fffwww   ªªª^^^^^^VVVVVV^^^VVVVVVVVV^^^VVVVVVVVVVVV^^^^^^pppwwwwww††††††VVV^^^NNNNNNVVV^^^www–––ÁÁÁßßßßßß×××ÁÁÁÎÎÎßßßÎÎÎÁÁÁÁÁÁªªª–––¶¶¶×××çççççççççÎÎÎÁÁÁ°°°ªªª      ––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††‘‘‘‘‘‘†††www^^^NNNEEE===EEENNNfff†††‘‘‘††††††°°°ÁÁÁÁÁÁ°°°ªªª¶¶¶×××ÎÎζ¶¶   ––––––––––––––––––––––––––––––––––––––––––––––––‘‘‘–––‘‘‘‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††VVV---"""---333333===333333333===333333333333333333333===333======333======333=============================================EEE==================EEE===EEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwwwwww††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††‘‘‘wwwffffff‘‘‘ÁÁÁÇÇÇ×××¶¶¶–––ppp^^^NNNNNNGGGNNN^^^^^^pppwwwppp‘‘‘‘‘‘www†††fffffffff^^^^^^fff^^^^^^fff^^^fff^^^fff^^^^^^fffffffffppp‘‘‘ÁÁÁfff^^^VVV^^^VVV^^^VVV^^^^^^^^^VVV^^^VVV^^^fff‘‘‘‘‘‘wwwpppwwwpppfffVVVNNNNNNVVVfffªªªÎÎÎßßßÁÁÁÇÇÇÇÇÇÎÎÎÁÁÁªªªªªª¶¶¶ççççççïïïççç×××ÁÁÁ°°°ªªª   –––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††wwwwwwwwwwwwwww‘‘‘ªªª¶¶¶°°°www===333===EEENNNfff†††‘‘‘††††††–––¶¶¶ÁÁÁ¶¶¶ªªª   ÎÎÎßßß×××ÁÁÁªªª–––––––––––––––––––––––––––––––––––––––––––––‘‘‘––––––‘‘‘–––––––––––––––‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘ppp333""""""333333333===333===333333333333===333333333333===333333======333=======================================EEE===EEE===EEE==================EEE===EEEEEE======EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwww†††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘†††‘‘‘†††††††††wwwwww††††††‘‘‘‘‘‘¶¶¶–––ÁÁÁÎÎÎÁÁÁ–––www^^^VVVNNNGGGNNNVVV^^^ffffff‘‘‘–––†††‘‘‘^^^fff^^^fff^^^fff^^^fff^^^fffVVV^^^^^^fffffffffpppwww   ‘‘‘pppfffVVV^^^^^^VVVVVV^^^VVV^^^VVVVVV^^^^^^fffpppwww††††††††††††††††††ppp^^^^^^NNNNNNNNN^^^ppp–––¶¶¶ÇÇÇÎÎÎÁÁÁ–––ªªª‘‘‘¶¶¶çççççççççççç×××ÁÁÁªªª         –––––––––‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††††††††wwwwwwpppppppppppp–––°°°¶¶¶   VVV333333333333===EEENNNppp†††‘‘‘††††††‘‘‘°°°   ªªª°°°¶¶¶ßßßççç×××ÁÁÁªªª–––   –––   ––––––––––––––––––––––––––––––––––––––––––‘‘‘––––––‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘EEE""""""---333===333===333333333===333333333333===333333======333======333=============================================EEE===EEE======EEE===EEEEEEEEEEEEEEEEEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwww†††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††††††††wwwwwwffffff^^^^^^^^^^^^www°°°¶¶¶   ªªª‘‘‘   °°°ÎÎζ¶¶–––www^^^VVVVVVNNNNNNVVV^^^fffwww†††‘‘‘†††‘‘‘‘‘‘www^^^^^^fff^^^ffffffffffffVVV^^^fffffffffffffffpppwwwªªªÁÁÁ‘‘‘ppp^^^^^^^^^VVV^^^^^^VVV^^^VVVVVVVVV^^^^^^pppwwwpppwww‘‘‘††††††www^^^NNNNNNVVVfffªªªÇÇÇ×××××××××ÎÎÎççççççççççççßßßÇÇǶ¶¶°°°ªªª––––––‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘†††††††††wwwwwwwwwpppwww–––ªªª°°°‘‘‘NNN333333333333===333======EEEVVVppp†††–––††††††‘‘‘°°°ÁÁÁ¶¶¶ÁÁÁÇÇÇßßßççç×××ÁÁÁªªª––––––––––––––––––––––––––––––––––––––––––‘‘‘––––––––––––––––––‘‘‘–––––––––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘VVV------333333333333===333333333333333===333333===333===333===333===333===333==========================================EEE======EEE===EEE===EEE===EEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEwww††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwpppffffff^^^^^^^^^^^^VVV^^^VVV^^^^^^ppp^^^‘‘‘ÁÁÁ   –––   °°°¶¶¶¶¶¶ÎÎÎÁÁÁ–––fff^^^VVVNNNNNNNNN^^^fffpppwww–––†††–––†††‘‘‘††††††fff^^^ffffff^^^fffffffff^^^^^^ffffffffffffffffffwwwÁÁÁïïïçççÇÇdž††^^^^^^^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^–––www†††–––‘‘‘^^^^^^VVVNNNNNN^^^ppp†††°°°ÇÇÇ×××çççççççççççççççßßßßßß×××ÎÎÎÁÁÁªªª      ––––––‘‘‘‘‘‘‘‘‘††††††††††††wwwwwwwww–––ªªª°°°‘‘‘VVV333---333333===333======333======GGGVVVwww†††‘‘‘††††††‘‘‘–––ÁÁÁÁÁÁ¶¶¶ÁÁÁßßßßßß×××¶¶¶ªªª–––   –––   –––   –––   –––––––––––––––––––––––––––––––––––––––––––––‘‘‘–––‘‘‘––––––‘‘‘ppp333""""""333333333===333333333333333===333===333333===333===333333===333=========333=======================================EEE======EEE===EEE===EEEEEEEEEEEE===EEEEEEEEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE††††††††††††††††††††††††††††††††††††††††††wwwpppfff^^^^^^VVVVVVVVVVVV^^^^^^VVVVVVVVV^^^VVV^^^^^^pppNNN^^^–––   ‘‘‘–––°°°×××   °°°×××ÇÇÇ   pppfff^^^VVVNNNNNN^^^^^^ppp††††††–––††††††††††††ffffff^^^fffffffffffffff^^^^^^ffffffffffffpppfff†††ßßßïïïýýýýýýßßß   www^^^^^^^^^VVV^^^VVV^^^VVV^^^VVVVVV^^^VVV^^^^^^wwwwww††††††††††††pppVVVVVVNNNNNNVVVppp†††   ¶¶¶×××ßßßßßßçççßßßßßßßßßßßßßßß×××ÎÎÎÎÎÎÁÁÁ°°°   –––‘‘‘‘‘‘††††††–––°°°°°°–––VVVEEE===EEE============EEEEEEGGGGGG======EEEGGG^^^www‘‘‘††††††   °°°ÁÁÁ¶¶¶°°°°°°ÎÎÎßßßÎÎζ¶¶ªªª––––––   –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––‘‘‘†††EEE""""""---333333333333333333333333333===333333===333===333===333333===333333======333=======================================EEE======EEE===EEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE††††††††††††††††††††††††††††††††††††††††††††††††wwwpppfff^^^VVVVVVVVVVVVVVVVVVNNNVVV^^^VVV^^^VVV^^^VVVVVV^^^NNNVVVfffVVVGGGfff   †††   ªªªÎÎΰ°°ÁÁÁ¶¶¶×××ÎÎΪªª–––†††wwwfffVVVNNNNNN^^^^^^fffwww–––   †††††††††††††††ppp^^^ffffffffffff^^^ffffffpppfffffffffppp   ïïïýýýýýýýýýýýýïïïÎÎΆ††fff^^^^^^^^^^^^^^^VVV^^^^^^VVVVVV^^^VVV^^^VVV^^^ppp†††–––†††wwwwwwwwwVVVVVVGGGNNNVVV^^^www‘‘‘°°°ÎÎÎßßßßßß×××ßßßßßßßßßçççßßßßßßßßßßßßÎÎÎÁÁÁ¶¶¶   –––‘‘‘†††www†††‘‘‘°°°¶¶¶ªªªfffNNNNNN^^^^^^VVVGGGGGGGGGNNNVVV^^^VVVGGGEEE=========GGG^^^www†††‘‘‘††††††–––ÁÁÁ°°°ªªª°°°¶¶¶¶¶¶××××××ÁÁÁªªª–––   –––   –––   –––   –––   –––––––––   –––   –––   –––––––––––––––––––––‘‘‘VVV---"""---333333333333333333333333333333333333333===333===333===333333======333333======333====================================EEE======EEE===EEEEEEEEEEEE===EEEEEEEEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE††††††††††††††††††††††††††††††††††††††††††wwwpppfff^^^^^^VVVVVV^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^VVVVVVVVVNNNVVVNNNfffVVVGGG†††ppp‘‘‘¶¶¶¶¶¶°°°ÇÇÇßßß¶¶¶°°°ÎÎÎßßßÁÁÁ°°°–––†††ppp^^^NNNNNNVVVffffff†††††††††‘‘‘‘‘‘†††fffffffffffffff^^^^^^fffffffffppppppwwwÁÁÁïïïýýýýýýýýýýýýýýýýýýçç窪ªwww^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^VVV^^^www†††–––††††††wwwffffffVVVNNNGGGGGGVVV^^^www‘‘‘¶¶¶××××××¶¶¶ÎÎÎ××××××ßßßççççççßßßçççßßßßßß×××ÇÇÇÁÁÁªªª–––†††††††††ªªª¶¶¶ÁÁÁªªª^^^^^^fffpppppppppppp^^^^^^www‘‘‘†††wwwfffNNNEEE============GGG^^^†††–––††††††°°°¶¶¶   –––°°°ÁÁÁ°°°ÁÁÁ×××ÎÎΠ     –––   –––   –––   –––––––––   ––––––   –––   –––   ––––––   ––––––––––––ppp333""""""333333333333333333333333333333333===333333===333===333333===333333===333===333===333=============================================EEE===EEEEEE===EEEEEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE††††††††††††††††††††††††††††††††††††wwwffffff^^^VVVVVVVVV^^^VVV^^^^^^VVV^^^^^^VVV^^^^^^VVV^^^^^^VVV^^^VVVNNNNNNGGGVVVNNNVVVVVVfffNNNNNNfff^^^   °°°   ÎÎÎ×××ÁÁÁªªªªªªÎÎÎçççßßßÎÎΰ°°†††ppp^^^^^^VVVVVV^^^fffppp†††‘‘‘–––‘‘‘‘‘‘†††‘‘‘pppffffff^^^fffppppppfffpppfff×××ýýýýýýýýýýýýýýýýýýýýýýýýïïï××ב‘‘fff^^^^^^^^^^^^^^^VVV^^^^^^^^^VVV^^^^^^^^^^^^fff‘‘‘†††††††††‘‘‘†††www^^^VVVVVVNNNGGGGGGVVVfff   ÁÁÁÇÇÇÎÎÎ×××ßßßßßß×××ßßßßßßßßßßßßßßßßßßçççßßß×××ÎÎÎÇÇǰ°°      –––fff^^^^^^VVVNNNNNNNNNNNN^^^fffppp‘‘‘ªªª   †††ppp^^^VVVGGG============EEENNNfffwww‘‘‘‘‘‘††††††††††††ªªªÁÁÁ¶¶¶°°°   ªªª   –––   –––   –––   –––         ––––––   –––   –––   ––––––   –––––––––––––––†††EEE""""""---333333333333333333333333333333333333===333===333333===333333===333=========333======333=================================EEE=========EEE===EEEEEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE†††††††††††††††††††††††††††wwwpppfff^^^VVVVVVVVVVVV^^^^^^^^^^^^^^^VVV^^^^^^VVVVVV^^^VVV^^^VVVVVVVVVNNNGGGGGGGGGGGGNNNNNNVVVVVVVVVfffNNNGGGppppppVVV^^^‘‘‘   ÁÁÁ¶¶¶ÇÇÇÁÁÁ°°°   çççïïïßßß×××¶¶¶†††wwwppp^^^^^^VVV^^^fffppp†††‘‘‘†††‘‘‘†††ffffff^^^ffffffpppfffpppppp–––ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçç窪ªwww^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^ppp††††††pppfffffffffppppppVVVNNNGGGGGGNNN^^^ppp‘‘‘°°°××××××ÁÁÁ×××ßßßßßßÎÎÎ×××ççç×××××××××ßßßßßß×××¶¶¶–––pppfffVVVNNNVVV^^^fffVVVGGGEEEGGGGGGNNNVVVfff‘‘‘ffffffpppVVVGGGGGGEEE===333===EEENNN^^^www†††‘‘‘††††††°°°¶¶¶¶¶¶ÇÇǶ¶¶   ‘‘‘–––   –––   –––   –––   –––         –––   –––      –––      –––   –––‘‘‘VVV------333333333333333333333333333333333===333333333===333333333333333333333===333======333=============================================EEE===EEE======EEEEEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE†††††††††††††††††††††pppppp^^^VVVVVVVVVVVV^^^VVV^^^^^^VVVVVV^^^VVVVVV^^^^^^VVV^^^^^^VVVVVVVVVNNNNNNGGGGGGNNNNNNNNNNNNVVVVVVVVVVVVNNNfffNNNEEEwww‘‘‘^^^fff–––¶¶¶ÇÇÇÎÎζ¶¶¶¶¶ªªªççççççÎÎÎ×××ßßßÁÁÁ–––‘‘‘ppp^^^VVV^^^ffffffwww†††‘‘‘ppp††††††pppfffffffffpppfffppppppwww¶¶¶ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï××ב‘‘fff^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^fffppp‘‘‘www‘‘‘††††††fff^^^^^^NNNGGGGGGVVV^^^www–––°°°ÁÁÁ×××ßßßßßß×××ßßßçççßßßÎÎζ¶¶ªªª–––pppffffff^^^VVVVVVNNNNNNNNN^^^^^^VVVGGGGGGEEEEEEGGGNNNNNN^^^pppwwwwwwwwwppp^^^VVVGGGEEE======333===EEEGGG^^^ppp‘‘‘††††††   ¶¶¶ÁÁÁ¶¶¶ªªª   ––––––      –––      –––   –––   –––   –––   –––      ––––––   –––   –––ppp---""""""---333333333333333333333333333333333333===333333===333===333333===333333===333333===================================================EEE======EEE======EEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE††††††††††††††††††wwwpppfff^^^VVVVVVVVVVVVVVV^^^VVV^^^^^^^^^VVV^^^^^^VVVVVV^^^VVV^^^^^^VVVVVVVVVNNNNNNNNNGGGNNNVVVVVVVVVVVVVVVVVVVVVNNNVVVVVV^^^GGG333VVV†††††††††ffffffªªª×××ßßß°°°°°°ªªªçççççç×××çççÎÎÎßßßÇÇǶ¶¶°°°–––wwwfffVVVVVVffffffppp   †††–––ppppppfff^^^fffppppppfffpppÎÎÎïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçç窪ªwwwfff^^^^^^^^^^^^VVV^^^^^^^^^^^^VVV^^^^^^^^^^^^pppwww†††‘‘‘‘‘‘fffVVVNNNGGGNNNVVVfffwww‘‘‘°°°ÎÎÎßßßçççççççççÎÎΪªªwwwffffff^^^fffffffff^^^^^^^^^^^^^^^VVVNNNNNNNNNVVVVVVNNNGGGGGGEEEEEEGGGNNNVVVfffwwwwwwwww^^^NNNGGG======333======EEEGGGNNNVVV^^^www††††††‘‘‘‘‘‘††††††–––ªªª¶¶¶ÁÁÁ   –––            –––               –––      –––   –––      –––   †††EEE""""""---333333333333333333333333333333333333333333===333333333333333333333===333333======333333=============================================EEE======EEEEEEEEEEEE===EEE===EEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE†††††††††††††††wwwpppfff^^^VVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^^^^VVV^^^VVVVVVVVV^^^VVVVVVVVVVVVNNNNNNNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVNNN^^^GGG333GGGfff–––   ‘‘‘ffffff   ßßß¶¶¶ªªªªªªÇÇÇçççççççççÎÎÎ×××ïïïïïïßßßÇÇǪªªpppVVVVVV^^^pppppp‘‘‘††††††‘‘‘fffffffffpppfffppppppppp†††çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý×××–––fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff–––‘‘‘†††††††††‘‘‘‘‘‘^^^VVVVVVGGGGGGNNNVVV^^^www†††ªªªÇÇÇßßßßßß   fff^^^^^^VVVNNNVVVVVV^^^fff^^^^^^fff^^^^^^VVVVVVVVVVVV^^^VVV^^^VVVNNNEEEEEEGGGNNNNNNVVV^^^ppppppfffVVVGGG===EEEEEEGGG^^^fffppp^^^NNNVVV^^^ppp†††www‘‘‘°°°ÎÎÎÎÎΰ°°‘‘‘–––––––––         –––      –––         –––   –––   ––––––‘‘‘VVV"""""""""333333333333333333333333333333333333333===333333===333===333===333333333===333333================================================EEE===EEE======EEE===EEEEEE===EEEEEE===EEE===EEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE††††††wwwpppfff^^^VVVVVVNNNVVVVVVVVVVVVVVV^^^^^^VVV^^^VVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVV^^^NNN333333GGG   –––‘‘‘VVV^^^°°°¶¶¶ÇÇÇ   ×××ßßß××××××ïïïïïïïïïïïïïïï×××°°°†††ppp^^^VVV^^^ffffffwww‘‘‘–––†††pppfffffffffpppppppppppp   ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇfff^^^^^^^^^^^^^^^^^^^^^^^^fffpppfff^^^^^^^^^fff†††wwwwww††††††fffVVVNNNGGGGGGNNNVVV^^^ppp†††ªªªÇÇÇ   ppp^^^^^^VVVVVVNNNNNNVVV^^^^^^^^^^^^VVVNNNVVVVVV^^^ffffffNNNGGGVVVVVVNNNNNNNNNGGGEEEGGGNNNNNNVVV^^^^^^fff^^^NNNGGGVVVwwwwwwwwwffffffNNNNNNVVVpppwwwpppwwwwww   °°°°°°ÁÁÁÁÁÁªªª–––‘‘‘––––––   –––      ––––––   –––            ––––––ppp---""""""---333333333333333333333333333333333333333333===333333333333333===333===333333===333===333=============================================EEE===EEE===EEEEEE===EEEEEE===EEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwppp^^^VVVVVVNNNVVVNNNVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV333---333NNN‘‘‘ªªª^^^NNNNNNfff   ÎÎΠ  ÇÇÇÇÇǶ¶¶çççïïïïïïýýýïïïïïïïïïßßß°°°†††pppfffffffffpppfffwww–––pppffffffppppppppppppwwwÁÁÁïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý×××   ppp^^^^^^^^^^^^fffwww††††††‘‘‘ffffff^^^^^^fffwww†††–––   –––‘‘‘pppfff^^^VVVGGGGGGGGGNNNVVV^^^ppp‘‘‘ªªª‘‘‘ppp^^^^^^^^^VVVNNNGGGNNNVVVfff^^^^^^NNNGGGVVV^^^^^^^^^NNNGGGNNNNNNNNNVVVNNNNNNVVVNNNGGGGGGGGGNNNVVVVVVfff^^^NNNNNNNNNVVVffffffVVVGGGGGGVVVfffwwwffffffwwwwwwwww†††ªªªÇÇÇ××תªª‘‘‘–––‘‘‘‘‘‘–––––––––      –––   –––   –––   ––––––===""""""---333333333333333333333333333333333333333333333333333333===333333333333333===333===333==========================================EEE===EEE============EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^VVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVV^^^VVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVV^^^^^^VVV===------===NNNfff†††VVV^^^GGG^^^   ‘‘‘ÎÎÎ×××   ßßßïïïýýýççççççïïïßßßçççßßß¶¶¶–––†††wwwppppppfffppppppppppppppppppppppppÎÎÎýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÎÎÎffffff^^^fff‘‘‘‘‘‘†††††††††‘‘‘fff^^^fff–––   –––‘‘‘†††‘‘‘––––––fff^^^VVVNNNGGGEEEGGGNNNVVVfffwww–––ªªªªªª‘‘‘wwwfff^^^VVVGGGNNNNNNVVVfff^^^^^^VVVNNNNNNNNNVVV^^^VVV^^^VVVNNNGGGNNN^^^^^^^^^VVVGGGEEEGGGGGGNNNNNNVVV^^^^^^VVVNNNNNNGGGNNNNNN^^^ffffffpppppppppfffVVV^^^fffwwwwww–––°°°ªªªÁÁÁÇÇǪªª‘‘‘‘‘‘‘‘‘––––––   –––         –––   –––‘‘‘NNN"""""""""333333333333333333333333333333333333333333333333333333333333333333333333333===333333============333=============================================EEE===EEEEEEEEEEEEEEE===EEEEEE===EEEEEE===EEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVVVVVVVVNNNVVVVVVVVV^^^VVVVVV^^^VVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV======333---EEEVVVpppVVV†††‘‘‘VVVNNNVVV‘‘‘×××ççç°°°ßßßïïïïïïïïïÇÇÇÎÎΪªªÁÁÁßßßçççÁÁÁ°°°ªªª°°°ªªª†††wwwppppppfffpppwwwwwwwwwpppwww†††ßßßýýýýýýýýýýýýïïïïïïïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßß   pppffffffppp††††††‘‘‘‘‘‘†††wwwpppppppppfffpppppp†††      ‘‘‘wwwVVVVVVNNNGGGGGGGGGNNN^^^ppp   ¶¶¶¶¶¶   wwwffffff^^^^^^^^^^^^NNNVVV^^^fff^^^VVVNNNNNNNNNVVV^^^^^^NNNNNNVVV^^^^^^^^^VVVNNNNNNGGGEEEGGGNNNNNNVVV^^^www‘‘‘ppp^^^ppppppfff^^^wwwwwwwwwwwwpppppp^^^VVV^^^fffwww†††   ÁÁÁÇÇÇ   pppwww†††‘‘‘–––––––––      –––   –––ppp---""""""---333333333333333333333333333333333333333333333333333333333333333333333333333===333===333=========================================================EEE===EEEEEE===EEEEEE===EEE===EEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEENNNVVVVVVVVVVVVVVV^^^^^^VVV^^^VVVVVV^^^VVV^^^VVVVVVVVVVVVNNNNNNNNNNNNVVVVVVVVVVVVVVVVVVNNNVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV======333333333GGGGGGEEE‘‘‘–––†††^^^GGG^^^ªªªßßß×××ïïïýýýïïïççç   ªªª‘‘‘¶¶¶ßßßïïïççççççßßßÎÎÎÇÇÇÁÁÁ–––pppppp††††††www   ïïïýýýýýýýýýýýýÇÇǪªª   ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÇÇdž††fff^^^ffffffppp‘‘‘–––†††‘‘‘–––fff^^^^^^ppp†††   ªªª–––wwwpppppp^^^^^^^^^VVVVVVGGGGGGGGGGGGVVV^^^www‘‘‘°°°ÎÎÎÎÎΪªªpppffffff^^^VVVVVVNNNVVV^^^^^^VVV^^^VVVNNNNNNVVV^^^^^^ffffffNNNVVVVVV^^^fff^^^VVVNNNGGGNNNNNNVVV^^^   †††wwwwwwfffNNNNNNGGGNNNNNNVVVNNNNNNGGGEEEEEEGGGVVVfffwww‘‘‘‘‘‘wwwwwwwwwwwwwww†††–––––––––   –––   ===""""""---333333333333333333333333333333333333333===333333333333333333333333333333===333===333======333================================================EEE===EEE===EEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVV^^^VVV^^^VVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVV===EEEGGG===333333GGGGGGppp––––––‘‘‘EEEVVVppp   ÎÎÎïïïýýýïïïïïï‘‘‘‘‘‘×××ïïïïïïïïïïïïçççÎÎÎ××××××ÎÎΪªª††††††‘‘‘ªªªªªª–––††††††°°°ïïïýýýýýýýýýýýýÎÎζ¶¶wwwßßßýýýçççïïïýýýýýýýýýýýýçççÁÁÁçççýýýýýýýýýýýýýýýýýýýýýýýýßßߪªªppp^^^^^^fff†††‘‘‘–––‘‘‘ffffffwwwwwwfffffffffffffffpppwwwpppfff^^^VVVNNNGGGGGGGGGNNNVVVpppªªªÇÇÇ×××ÇÇǰ°°‘‘‘pppfff^^^ffffffVVVVVVGGGVVV^^^^^^^^^VVVVVVNNNVVVfffffffff^^^VVVGGGVVVVVV^^^^^^^^^VVVVVVVVVVVV‘‘‘fff^^^fff^^^NNNGGG===========================EEEGGGfff†††wwwwwwppp^^^fffppp‘‘‘‘‘‘––––––‘‘‘GGG------333333333333333333333333333333333333333333333333333===333333333===333333333333======333================================================EEE===EEEEEEEEE===EEEEEEEEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVNNNNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNNNNVVVVVV^^^===NNNfffNNN===---333NNN^^^ppp      VVV‘‘‘ffffff†††×××ïïïýýýççç   fff†††ÎÎÎïïï×××çççïïïïïïïïïïïïÎÎÎ××××××ÁÁÁ¶¶¶ÇÇÇ×××ÎÎÎÁÁÁ   –––ÎÎÎïïïýýýýýýýýýýýýýýýççç‘‘‘ççççççwww¶¶¶ÎÎÎßßßýýýýýý°°°GGG‘‘‘ïïïýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΆ††ppp^^^fffwww†††–––‘‘‘††††††wwwffffff^^^^^^^^^^^^wwwwww††††††www^^^^^^^^^VVVNNNGGGGGGGGGVVVfffwww–––¶¶¶ÎÎÎßßßßßß°°°†††wwwpppppp^^^VVVNNNNNNGGGNNN^^^^^^^^^^^^VVVfffffffffffffff^^^VVVNNNVVVffffffffffffwww†††^^^GGGEEEEEEGGGGGGEEE===333333333333333333333333======VVV†††ppp^^^^^^VVVVVVGGGGGGVVVVVVffffffwww†††‘‘‘‘‘‘fff---""""""333333333333333333333333333333333333333333333333333333333333333333333===333===333333===333===333===333====================================EEE===EEE===EEE===EEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVV^^^VVVVVV^^^VVV^^^VVVVVVVVVVVVVVVNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVNNNNNNVVVNNNVVVNNNVVV^^^EEE^^^ppp^^^EEE333333===NNNfffppp‘‘‘fff‘‘‘–––pppVVVpppÇÇÇïïïïïïÎÎÎpppÎÎÎçççÁÁÁ×××çççýýýýýýççç°°°×××ççççççççççççïïïïïïçççÇÇǶ¶¶ßßßýýýýýýýýýýýýýýýýýýïïï   ïïïÎÎÎ^^^–––wwwïïïýýý×××   fffýýýïïïÎÎÎïïïýýýýýýýýýýýýýýýýýýýýýßßߪªªwwwfffwwwwwwppp††††††   †††ppp^^^^^^^^^^^^pppppp†††wwwwwwwwwwwwppp^^^^^^VVVGGGGGGGGGNNNVVVpppªªªÁÁÁßßß×××¶¶¶°°°   pppppp^^^VVVNNNNNNNNNNNNVVVVVVfff^^^fffffffffpppfffffffff^^^fffwww–––¶¶¶ÇÇÇÎÎΪªªpppNNNEEE=========333===333333333333333===---======EEEGGGNNNfffpppfffEEE===333333------NNN^^^^^^^^^^^^fffpppwwwppp333""""""---333333333333333333333333333333===333333===333333333333333===333===333333333===333333===333===333==========================================EEE===EEEEEE===EEE===EEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^VVV^^^VVV^^^VVVVVVVVVNNNVVVNNNVVVVVVVVV^^^VVV^^^^^^VVVVVVVVVNNNVVVNNNVVVVVVNNNNNNVVVNNNVVVNNNVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVNNNVVVVVVVVVNNNVVVVVVVVVVVV^^^GGG^^^ppppppGGGEEE333333===GGGpppfff^^^–––ªªªªªª^^^NNN^^^ÇÇÇïïïÎÎÎwwwÁÁÁÇÇǰ°°ÎÎÎýýýïïïïïïÁÁÁ–––ßßßïïïïïïïïïçççßßßýýýïïïïïïßßßçççýýýýýýýýýýýýýýýýýýýýý°°°ÎÎÎÎÎÎVVV   °°°–––ïïïýýýýýýßßßpppïïïßßßVVVÁÁÁïïïýýýýýýýýýýýýýýýýýýýýýïïïÎÎΆ††pppfff^^^fff†††‘‘‘   www†††wwwpppfff^^^^^^ffffff††††††‘‘‘^^^^^^^^^VVVNNNGGGGGGGGGVVV^^^ppp†††°°°ÇÇÇßßßßßßßßß°°°   †††fff^^^^^^^^^fffNNNGGGNNNNNN^^^^^^ffffffffffffpppppp†††ªªªÇÇÇßßßßßßßßßßßßßßß×××   fffNNN======333333333===333=========333333===EEE======NNNNNNGGG333"""------"""333VVV^^^^^^^^^^^^^^^^^^^^^^^^NNN===333---333333333333333333333333333333333333===333333333333333===333333333333===333333======333===333===333==========================================EEE===EEE===EEEEEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^^^^VVVVVVNNNNNNNNNNNNNNNNNNVVVVVVVVV^^^VVVVVVVVVVVVVVVNNNVVVVVVNNNVVVNNNNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^EEEVVVwww^^^EEE======333===NNNpppppp   °°°ÁÁÁ–––^^^NNNfff¶¶¶×××ÇÇÇ      ¶¶¶ÎÎÎïïïýýýïïï°°°ªªªÇÇÇ×××çççýýýïïïçççÎÎÎÎÎÎßßßïïïïïïïïïýýýýýýýýýýýýýýýýýýýýýªªªwww   wwwÎÎÎÇÇÇïïïýýýïïï   pppïïïÇÇÇEEEwww––––––ýýýýýýýýýýýýýýýýýýýýýýýýßßߪªªwwwfff^^^fffwww†††‘‘‘‘‘‘‘‘‘†††††††††fff^^^^^^^^^ppp†††††††††‘‘‘†††ppp^^^^^^VVVNNNGGGGGGGGGVVVfffwww   ÁÁÁßßßççç××××××   ‘‘‘†††pppfff^^^VVVNNNNNNVVVfff^^^fffwww–––°°°ÁÁÁÎÎÎ×××çççßßßçççççççççßßßçççÎÎΠ  fffEEE============333333333======333------""""""------""""""333------===VVV^^^^^^^^^^^^^^^VVV^^^VVVVVVNNNGGGGGG======333333333333333333333333333333333333333333===333333===333===333===333===333===333333=========333==========================================EEE===EEE===EEE======EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVVNNNNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVNNNVVVNNNVVVNNNNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVV^^^VVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^^^^EEEGGGVVVwwwfffEEE=========333===GGGppp‘‘‘°°°   ‘‘‘VVVfffªªªßßßçççÁÁÁÎÎÎïïïýýýïïïÇÇǶ¶¶ÁÁÁßßßýýýïïïýýýýýýïïï¶¶¶°°°–––ªªªïïïïïïýýýýýýýýýýýýýýýýýýýýý××׆††   www‘‘‘ppp×××ýýýÇÇÇfffªªªýýý¶¶¶=========NNNïïïýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇdž††pppfff^^^fff††††††‘‘‘––––––pppffffff^^^pppwwwwww†††††††††††††††fff^^^^^^^^^VVVNNNGGGGGGNNN^^^www‘‘‘¶¶¶ßßßßßßßßß¶¶¶¶¶¶ÎÎÎ××תªª†††pppfffffffffppppppwww†††ªªªÎÎÎßßßßßß×××ßßßßßßççççççççççççßßßßßßßßß×××°°°‘‘‘GGG===333------"""333EEEEEE333"""""""""------"""---===VVV^^^VVV^^^VVVVVV^^^VVVVVV^^^VVVVVVVVVNNNNNNEEE======333333333333333333333333333333333333333===333333333===333===333===333======333===333================================================EEEEEE===EEE===EEE===EEEEEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNVVVVVVVVVVVVVVVVVV^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNVVVNNNVVVVVVVVVVVVVVVVVV^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^VVVVVV^^^^^^^^^EEEEEEGGGfff^^^EEEEEEEEE======333333EEEppp–––°°°   ªªª†††VVV^^^   ÎÎΪªªªªªÇÇÇßßßÇÇÇ‘‘‘ªªªÁÁÁçççïïïýýýýýýýýýýýý×××ÎÎΖ–––––çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïßßßÎÎÎÇÇÇppp×××ýýý   wwwçççýýý¶¶¶NNN===333NNNïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßß   wwwfffffffffppp‘‘‘‘‘‘†††‘‘‘††††††wwwfff^^^fffffffffppppppppppppppp^^^VVV^^^^^^VVVVVVVVVGGGNNNNNNVVVppp‘‘‘¶¶¶ßßß×××¶¶¶ÎÎÎßßßßßß×××ÇÇÇ   †††   ªªª°°°¶¶¶ÁÁÁÇÇÇßßßççççççßßßßßßççççççßßßççççççßßßÎÎΰ°°   pppNNN===333------------"""""""""---"""""""""""""""""""""===VVV^^^VVVVVV^^^VVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVNNNGGGEEE===333333===333333333333333333333===333333======333===333===333===333===333===================================================EEE===EEE===EEE===EEE===EEE===EEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVVVVVVVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVV^^^VVV^^^^^^^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^fff^^^ffffffEEEGGGNNNpppNNNEEEEEEGGGEEE======333333EEEwww°°°ªªª‘‘‘wwwNNNwww‘‘‘ªªª   °°°ÇÇǰ°°°°°ÎÎÎïïïýýýýýýýýýýýýýýýïïïççç×××ÇÇǰ°°ïïïïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççýýýýýý†††NNN–––ïïï°°°^^^NNNVVV^^^çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý××׆††ppppppwww‘‘‘––––––‘‘‘†††††††††www^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^VVV^^^NNNNNNNNN^^^ppp‘‘‘¶¶¶×××ÁÁÁÁÁÁÁÁÁ×××ßßßÇÇǪªªppppppwwwªªª¶¶¶×××ßßßßßßßßßçççççç×××çççßßß¶¶¶ªªª‘‘‘fffGGG===333------333333---""""""""""""EEEVVV^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVVVVVVVVVVVNNNGGGEEE===333333333333333333===333333===333333333===333======333===333======333===================================================EEE===EEE===EEE===EEEEEEEEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVV^^^^^^^^^VVV^^^VVVVVVNNNVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVVVVVVVVVVVVV^^^^^^^^^VVV^^^VVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ffffffffffffpppffffffGGGVVVfffpppVVVEEE===GGGEEEEEE============GGGppp††††††–––‘‘‘wwwVVV   †††www   ¶¶¶ÇÇÇÇÇÇßßßýýýýýýýýýýýýïïïýýýýýýççççççïïïçççßßßïïïýýýýýýýýýýýýýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýý×××wwwïï着ªwwwwww†††fffÇÇÇ–––ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýèÇÇËccÔ''êõ÷îÕ%%§TT––––––‘‘‘†††ppppppfff^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^VVVVVVNNNNNNVVVppp‘‘‘¶¶¶ÎÎΰ°°‘‘‘–––†††ppp^^^VVV^^^^^^www   ªªª   ¶¶¶ßßßÎÎΰ°°‘‘‘pppGGG333---"""333GGGGGG333"""---------EEEVVVVVV^^^^^^^^^VVVVVVVVVVVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^VVVNNNNNNEEE===333333333333333333===333333===333===333===333============333=========================================================EEE===EEE===EEEEEEEEE===EEE===EEE======EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^^^^^^^VVV^^^VVVNNNGGGNNNVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVV^^^^^^^^^^^^^^^^^^VVV^^^VVVVVV^^^VVV^^^^^^VVV^^^^^^^^^^^^fff^^^fff^^^fffffffffffffffpppfffffffffffffffppp‘‘‘^^^EEEGGGNNNNNNEEE=========EEEEEEEEEVVVwwwwww†††–––wwwÁÁÁ†††fffppp–––ÁÁÁÇÇÇçççýýýýýýýýýïïïýýýýýýýýýççççççïïïïïïççççççýýýýýýýýýýýýýýýýýýýýýýýý×××çççýýýýýýýýýýýýýýýýýýýýýýýýïïïïïïýýý°°°–––ÎÎΪªªppp×××   °°°ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýú��ú��ú��ú��ú��ú��ú��ú��ú��Ù--“ŽŽ†††‘‘‘‘‘‘‘‘‘pppffffff^^^^^^^^^^^^VVV^^^^^^^^^VVV^^^^^^VVV^^^^^^VVVVVV^^^ppp‘‘‘°°°°°°pppwwwppppppfff^^^^^^VVV^^^VVV^^^ppp^^^GGG333---------===GGGVVVVVVVVVNNN333""""""EEEVVV^^^VVV^^^VVVVVVVVV^^^VVV^^^VVVVVVVVV^^^VVVVVVVVV^^^VVV^^^VVVVVVNNNEEE333======333333===333333===333===333===333======333===333===============================================================EEE===EEEEEEEEE===EEEEEEEEE===EEEEEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVVVVVVVVNNNNNNGGGNNNNNNVVVVVVVVVVVVVVVVVVVVV^^^^^^^^^^^^^^^^^^^^^^^^VVVVVV^^^VVV^^^^^^^^^^^^^^^fff^^^fffffffffffffffffffffpppfffppppppfffpppfffpppfffpppwww‘‘‘   –––^^^VVVwwwNNNEEEEEE===EEEGGGVVVGGGEEEVVVwwwwwwwww   °°°‘‘‘^^^^^^†††ÁÁÁßßßçççïïïïïïýýýïïïýýýïïïýýýççççççýýý×××çççýýýýýýýýýýýýýýýýýýýýýýýýßßßÎÎÎçççýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýßßßÎÎÎïïï   ¶¶¶www°°°   ßßßýýýýýýýýýýýýýýýýýýýýýýýýú��ùû‰‰á³¨¨šVVéú��ú��ú��ºBB‘‘‘‘‘‘‘‘‘‘‘‘––––––†††^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVVVVV^^^ppp†††ªªª–––‘‘‘¶¶¶ÎÎΠ  ‘‘‘†††fffNNNGGG===333------------333===EEEEEEGGGVVVNNNGGGEEE333""""""""""""""""""NNNVVV^^^^^^VVVVVVVVVVVVVVV^^^VVV^^^^^^VVV^^^^^^VVV^^^VVV^^^VVVVVVVVVNNN======GGGGGGEEE===333===333333===333===333===333======333=========333=========================================================EEEEEE===EEE===EEE===EEEEEE===EEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVVVVVNNNVVVVVVVVVVVV^^^VVV^^^^^^VVVVVV^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^fff^^^^^^fffffffffffffffffffffpppfffppppppppppppffffffppppppfffpppfffpppfffªªªwww‘‘‘‘‘‘wwwppp†††‘‘‘NNNEEEEEEEEEEEENNN^^^VVVEEEEEEVVVppp^^^fff°°°ÇÇǰ°°fffpppwww†††ÇÇÇ×××ïïïççç×××ßßßýýýïïïýýýççç×××ïïïÁÁÁçççýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïçççýýýßßßßßßïïïýýýýýýýýýýýýýýýýýýýýýýýýýýý––––––‘‘‘GGGwww‘‘‘VVV°°°çççýýýýýýýýýýýýýýýýýýýýýúZZüïïýýýýýýïïï××ײllú��ú��ú��æ‘‘‘–––   –––‘‘‘wwwfffú��ú��^^^^^^^^^VVV^^^^^^^^^^^^VVVVVVVVVVVVVVVNNNNNNVVV^^^ppp‘‘‘ªªª¶¶¶¶¶¶NNNEEE===---------333======EEEEEE======EEE333---333333333333------""""""""""""""""""---VVV^^^VVVVVVVVVVVVVVV^^^VVV^^^^^^VVV^^^VVVVVV^^^VVV^^^VVV^^^VVVVVVGGG======GGGNNNVVVNNNGGGEEE===333===333333333===333===333======333===333=========================================================EEE===EEEEEE===EEE======EEE===EEEEEE======EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVVVVV^^^VVV^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^VVV^^^ffffffffffffffffffffffffffffffpppppppppppppppppppppfffpppppppppppppppfffpppffffffpppwww†††www‘‘‘www‘‘‘†††VVVEEEEEE===EEEGGGVVVNNNEEE===EEENNNfff^^^†††ªªª†††ppp¶¶¶–––‘‘‘wwwÇÇÇçççïïïççççççïïïýýýçççïïïçççÎÎΪªªçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßß°°°×××ýýýýýýýýýýýýýýýýýýýýýýýýýýýççç××תªªVVV†††–––ÇÇÇ‘‘‘ÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçÝÝú��ú��ú��ö‘‘‘‘‘‘wwwwwwffffff^^^^^^ú��ú��^^^^^^^^^^^^^^^VVVVVVVVVVVVNNNNNNGGGGGGGGGNNNNNNNNNVVVVVVVVVVVVNNNGGGEEE333===EEEEEEEEEEEEEEE===333333------"""""""""---"""------""""""""""""---""""""---VVV^^^^^^VVVVVVNNNVVVVVV^^^^^^^^^^^^VVV^^^VVVVVV^^^VVV^^^^^^VVVNNN======GGGNNNVVVVVVVVVVVVNNNGGGEEE======333===333===333============333===============================================================EEEEEEEEE=========EEE===EEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVV^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^fffffffffffffffffffffpppfffffffffppppppppppppppppppppppppfffppppppppppppppppppffffffffffff^^^www†††‘‘‘††††††   †††^^^EEEEEEEEEEEEEEEGGGGGGEEEEEEEEE===GGG^^^VVVfff–––www¶¶¶°°°^^^fff   ×××ÎÎÎçççïïïïïï×××ßßßïï着ª¶¶¶ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç×××ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý×××www–––†††ÁÁÁçççfffVVVªªªçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýûÞÞú��ú��ú��ôwwwpppffffff^^^fff^^^^^^ú��ú��^^^^^^^^^VVVVVVNNNNNNGGGGGGGGGGGGNNNGGGNNNGGGEEEEEE=========EEEEEEGGGGGGGGGGGGEEE===333333------""""""""""""""""""""""""""""""---------333"""""""""------""""""===VVV^^^^^^^^^NNNEEEGGGVVV^^^^^^^^^^^^VVVVVV^^^VVV^^^^^^^^^VVVVVVGGGGGGGGGVVV^^^^^^VVV^^^VVV^^^VVVNNNGGGEEE===333===333======333===333======333=========333==============================EEE=========EEE===EEE===EEE=========EEE===EEE===EEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^^^^fff^^^fffffffffffffffffffffpppfffpppfffppppppppppppppppppppppppwwwppppppwwwpppwwwpppppppppfffffffffffffffpppppppppfffppp‘‘‘†††ppp–––   fffGGGEEEEEEEEEEEEEEEEEENNNNNNNNNEEE===GGG^^^VVVVVVfffÁÁÁÇÇǰ°°†††VVV^^^ªªªÁÁÁïïïïïïßßßÎÎÎïïïÁÁÁÁÁÁïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßßÎÎΆ††×××çççpppfffNNN–––ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýúwwú��ú��ú��ò†††pppffffff^^^^^^fff^^^ú��ú��VVVVVVNNNGGGNNNGGGNNNGGGNNNGGGGGGGGGEEE======EEEEEEEEEGGGNNNGGGGGGEEE======333------"""""""""""""""""""""""""""""""""""""""NNNEEEGGGNNN"""---333""""""""""""EEEGGG333"""EEE^^^^^^^^^^^^NNNEEEEEEVVV^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^VVVNNNVVVVVV^^^VVV^^^^^^^^^VVV^^^VVVVVVVVVNNNNNNEEE======333======333=====================================================================EEE===EEE===EEE===EEE===EEE===EEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffffffffffffff^^^fff^^^^^^^^^fff^^^fff^^^fff^^^fffffffffffffffpppfffpppppppppfffpppppppppppppppppppppppppppwwwwwwpppwwwpppppppppfffffffffffffffpppppppppppppppVVV^^^fffpppppp°°°–––NNNEEEEEE===EEEEEEEEE^^^ppp^^^NNNGGG===EEEVVV^^^pppÎÎÎÇÇǪªª¶¶¶   ^^^fffwwwªªªçççýýýïïïÁÁÁïïïïïïçççïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΰ°°çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßßçççÎÎÎwww†††ppppppïïïýýýýýýýýýýýýýýýýýýýýýýýýü´´ùú��ú��ú��ùIIßßß   wwwfffffffff^^^^^^ú��ú��GGGNNNGGGNNNNNNVVVNNNNNNGGGEEEEEEEEEEEEGGGGGGGGGEEEEEEEEE===333333---------""""""---"""""""""""""""---""""""""""""""""""""""""---===GGG---GGG^^^NNNfffGGGEEEVVVVVV333GGGNNN===GGGGGG---"""GGG^^^^^^^^^^^^VVVGGGNNNVVVVVVVVVVVV^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVVVV^^^VVV^^^^^^VVVVVVVVVNNNGGGEEE======333======333===333=========333================================================EEE===EEE===EEE===EEE===EEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEE^^^fffffffff^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^ffffffffffffppppppppppppfffpppppppppfffpppppppppppppppwwwwwwwwwwwwwwwwwwpppppppppfffffffffpppppppppfffpppfffffffffGGG^^^ffffff      wwwªªªVVVEEEEEE===EEEEEE^^^^^^fffVVVEEE===EEENNNwww–––ÁÁÁ×××ÎÎΪªª†††GGGNNNªªªçççïïïÇÇÇïïïýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý×××çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýÎÎÎwwwpppßßß¶¶¶×××ýýýýýýýýýýýýýýýû°°ùú��ú��ú��ú��û¯¯ýýýçççÇÇÇú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��GGGNNNGGGGGGGGGGGGGGGEEE======333333------------"""---""""""---"""""""""---"""---===GGGEEE"""""""""""""""---333333===GGGVVVVVV^^^333EEEVVV^^^EEEGGGNNN333^^^EEENNNVVVNNNGGG^^^GGG===EEE333""""""NNN^^^^^^VVVVVVVVVVVVVVV^^^VVV^^^^^^VVVVVVVVV^^^^^^^^^^^^fff^^^^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVNNNNNNGGGEEE======333===333=========333======================================================EEE===EEE===EEE===EEE===EEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEfff^^^^^^fff^^^fff^^^fffffffffffffffffffffppppppfffppppppfffpppfffppppppfffpppppppppppppppppppppwwwwwwwwwwwwwwwppppppppppppfffpppppppppppppppfffpppfffppppppfffGGGVVVwwwfff‘‘‘°°°–––‘‘‘°°°‘‘‘VVVGGGEEEEEEEEEVVVfffpppwww^^^GGGEEE======GGGffffff†††ÇÇÇÁÁÁÇÇǰ°°VVV===NNNªªªççççççïïïýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï¶¶¶°°°ýýýýýýýýýýýýýýýýýýçççÇÇÇçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç¶¶¶fffppp   ^^^pppçççýýýýýýýýýû¦¦ùú��ú��ú��ú��úttýýýýýýýýýýýýú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��GGGEEEEEE=========333------------"""---""""""---""""""---"""""""""---===GGGEEE===VVVpppNNN---333===---===VVVVVVGGGVVVffffff^^^fffGGGVVVEEEVVVEEENNN======NNNGGGfffNNN===GGG^^^333---------VVV^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^VVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVNNNEEE==============================================================================EEE===EEE===EEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEE===EEEEEE===EEEEEE^^^fff^^^fff^^^ffffffffffffffffffffffffpppfffppppppfffppppppppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwppppppppppppfffppppppfffffffffpppfffpppfffppppppppppppEEEGGGppp†††www–––––––––ªªª¶¶¶–––^^^GGGEEEEEENNN^^^wwwpppfffVVVGGGGGGEEEEEEEEENNN^^^www   ¶¶¶ÁÁÁ°°°^^^GGGNNN–––ßßßïïïýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý×××pppýýýýýýýýýýýýýýýýýýßßß×××ÎÎÎçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï¶¶¶‘‘‘ppp–––‘‘‘ÁÁÁÁÁÁªªªûœœùú��ú��ú��ùû‰‰ýýýýýýýýýýýýýýýýýýççç¶¶¶   ú��ú��GGGGGGGGGEEE333333333------------"""---""""""---""""""---""""""---"""---------"""333VVVpppfffVVVpppwwwGGGEEEVVVfffGGGGGGfffEEEEEE^^^NNN^^^NNN^^^GGG^^^GGGVVVEEE^^^333NNNGGGVVVNNN===333EEE^^^===---"""---VVV^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVVVVVVVV^^^^^^fff^^^^^^GGGEEE===========================================================================EEE===EEE===EEE===EEE===EEE===EEEEEE===EEE===EEEEEE===EEEEEE===EEEffffffffffffffffffffffffpppfffpppppppppppppppfffppppppppppppppppppwwwwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwpppppppppfffpppfffffffffppppppfffpppppppppwwwpppppppppfffGGGGGGVVVwww‘‘‘wwwwwwªªªªªªªªª°°°¶¶¶–––VVVGGGGGGGGGVVVppppppwwwpppVVVNNNGGGEEE======EEENNNfff   ¶¶¶ÁÁÁ°°°‘‘‘NNNNNNªªªïïïýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýÇÇÇfffwwwýýýýýýïïïýýýýýýýýýýýýýýýçççÇÇÇ×××ïïïïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýÎÎζ¶¶   ªªª‘‘‘ªªª¥::ùú��ú��ú��ùû››ýýýýýýýýýýýýýýýýýýýýýýýýïïïçç窪ªú��ú��===333333------"""---""""""""""""---""""""---""""""---""""""------===GGGGGG333---333fffwwwppppppppppppNNN===NNNfffNNNVVV^^^---===^^^NNN^^^VVV^^^NNNfff^^^NNN===VVV333VVVEEENNNfffGGGGGG^^^NNN333"""===^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^VVVVVV^^^VVV^^^^^^^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^^^^VVVVVVVVV^^^^^^ffffffpppfffffffffVVVGGGEEE==============================================================================EEEEEE===EEE===EEE===EEEEEEEEE===EEEEEE===EEEEEE===EEEEEEfffpppfffpppfffpppfffpppfffppppppfffpppfffppppppppppppwwwwwwpppppppppwwwpppwwwwwwwwwwwwwwwwwwwwwpppwwwpppfffppppppppppppfffppppppppppppppppppppppppwwwpppppppppNNNGGGNNN^^^‘‘‘www†††¶¶¶ÁÁÁ°°°°°°¶¶¶   fffNNNGGGVVVpppwwwªªªfffVVVNNNGGGEEE=========VVVfff   °°°°°°ÎÎÎfffEEEVVV×××ïïïýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýÇÇÇ^^^wwwïïïýýýïïïýýýýýýýýýýýýýýýýýýïïïÇÇǰ°°ÎÎÎýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï¶¶¶pppfff°°°ÃLLú��ú��ú��ú��ùû§§ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç°°°ú��ú��---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""---===VVVppppppGGG---===fffppppppfff^^^pppGGGEEEVVVpppNNN^^^VVV---EEE^^^VVVVVVVVVGGG===VVVNNN------==="""333"""333EEE---===GGG333GGG^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^ffffff^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^fffpppfffpppppppppfffffffffVVVGGGEEE======================================================EEE===EEE======EEE===EEE===EEE======EEE===EEE===EEE===EEEEEEEEE===EEE===EEEfffpppppppppppppppppppppffffffpppppppppppppppppppppppppppppppppwwwwwwwwwwwwwwwwwwppppppwwwppppppppppppfffpppfffpppfffpppppppppwwwwwwwwwwwwwwwwwwwwwppppppwwwppp^^^VVVNNNVVVfffwww††††††ªªªÁÁÁÁÁÁ°°°°°°ÁÁÁÁÁÁfffNNNNNN^^^ppp°°°VVVNNNGGGGGGEEEEEE======NNNNNN   ÇÇÇççç–––EEEEEE   ïïïïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýßßß‘‘‘fffïïïýýýýýýïïïýýýýýýýýýýýýýýýýýýýýý×××ÎÎÎßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßßpppVVVÇÇÇú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ýýýýýýýýýýýýýýýýýý×××   ú��ú��"""""""""""""""""""""""""""""""""""""""---""""""""""""""""""---VVV^^^^^^pppGGG---EEEfff^^^ppp^^^VVVpppGGGVVVfffpppNNN^^^NNN---EEENNNGGG===333------""""""GGG^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^VVV^^^^^^^^^fffpppfffpppfffppppppppppppffffff^^^NNNGGG======================================================EEE======EEE===EEE===EEE======EEE===EEE===EEEEEE===EEEEEE===EEEEEE===EEEpppppppppwwwwwwpppppppppfffpppfffpppppppppppppppppppppwwwwwwwwwwwwwwwwwwwwwppppppppppppppppppfffpppfffpppfffppppppwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppwwwppp^^^^^^VVVVVV^^^VVV–––‘‘‘–––¶¶¶ÇÇǰ°°°°°×××°°°pppNNNVVVVVVwww–––‘‘‘VVVNNNGGGGGGGGGGGGEEE=========GGG†††ßßßÁÁÁpppEEE†††ýýýïïïïïïýýýýýýýýýýýýýýýýýýýýýýýýÎÎÎ^^^VVV‘‘‘ïïïïïïïïïýýýïïïýýýýýýýýýýýýýýýýýýýýýçççÇÇÇÎÎÎßßßïïïýýýýýýýýýýýýýýýýýýýýýýýý×××ÁÁÁßßßú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ýýýýýýýýýýýýýýýýýýÎÎΖ––ú��ú��""""""""""""""""""""""""""""""""""""""""""""""""---"""""""""---NNNEEENNNfffEEE---===pppVVVVVVNNN^^^pppGGGfffffffffEEEGGG===""""""---""""""""""""NNN^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^ffffffffffffpppfffpppfffpppfffppppppfffffffffVVVGGGEEE===========================================================================EEE===EEE===EEEEEEEEEEEE===EEEEEEEEE===EEEEEEppppppppppppppppppfffppppppppppppppppppppppppwwwwwwwwwwwwwwwwwwwwwwwwpppppppppffffffpppfffpppfffpppfffppppppwwwwwwwwwwwwwwwwwwwwwwwwwwwpppwwwpppwwwppppppppp^^^www†††VVV^^^NNNVVV†††ªªª‘‘‘–––ÁÁÁÁÁÁ°°°°°°ÁÁÁ¶¶¶NNNVVVfff‘‘‘†††VVVNNNNNNGGGNNNGGGGGGGGG===333===NNN‘‘‘–––‘‘‘fff–––ïïïççç×××ýýýýýýýýýýýýýýýýýýýýýýýýßßßfffVVVppp      ×××ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÎÎÎÁÁÁßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççwwwßßß‘‘‘–––çççïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΖ––fff333"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---===^^^VVV---"""EEEpppVVVEEEEEE^^^^^^===EEEGGG===------""""""""""""""""""333"""---VVV^^^^^^^^^ffffff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^ffffffpppfffffffffpppfffpppfffpppffffffpppffffff^^^^^^VVVGGGEEE==========================================EEE============EEE======EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEppppppfffpppfffpppfffpppppppppppppppppppppppppppwwwpppwwwpppppppppppppppfffppppppfffpppffffffpppppppppwwwwwwwwwwwwwwwwwwppppppppppppwwwpppppppppppp^^^pppªªªfffNNNNNNppp‘‘‘–––––––––¶¶¶ÇÇǰ°°°°°ÎÎÎÎÎÎwwwVVVNNNpppwww^^^GGGGGGNNNGGGNNNGGGNNNGGGGGG===EEEfff†††www^^^–––ïïïßß߆††çççýýýýýýýýýýýýýýýýýýýýýïïï–––^^^NNNNNN^^^ÁÁÁïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßßçççýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýïïïÁÁÁßßßwwwÁÁÁªªªpppÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýÇÇÇ–––fff---"""""""""""""""""""""""""""""""""""""""""""""---------"""""""""---NNN^^^EEE333---EEEpppNNN333333GGGEEE---------"""""""""""""""""""""""""""""""""""""""------------333---333^^^^^^^^^^^^^^^fff^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fffffffffpppfffpppffffffffffffpppffffffffffffpppfffpppfff^^^^^^NNNEEE=========================================================EEE===EEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffpppppppppwwwpppwwwppppppppppppwwwpppppppppppppppppppppppppppffffffpppfffpppfffpppppppppppppppwwwwwwwwwwwwwwwppppppppppppwwwwwwpppwwwwwwpppffffff¶¶¶¶¶¶wwwVVVGGG^^^www–––ªªª–––   ¶¶¶¶¶¶¶¶¶°°°ÇÇÇÇÇdž††VVVVVVffffffNNNGGGNNNNNNGGGNNNNNN^^^†††^^^GGGVVVwww†††VVVpppßßßÇÇÇwwwÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýçççNNN^^^‘‘‘çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÁÁÁÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýýýýçççpppÇÇÇfff^^^ïïïýýýýýýýýýýýýýýýýýýýýýýýýïïïÁÁÁ‘‘‘VVV---""""""""""""""""""""""""""""""""""""""""""---GGGVVV==="""""""""EEEfffVVVNNNGGG---===VVVEEE---------"""---""""""---"""""""""""""""""""""""""""333"""---333333333======""""""333333---===VVVfff^^^^^^^^^^^^fffVVVVVV^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^ffffffffffffpppfffffffffffffffffffffffffffffffffpppfffpppffffffffffff^^^VVVGGGEEE======================================================EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEwwwwwwwwwwwwwwwppppppppppppppppppppppppfffpppfffpppfffffffffpppfffpppfffpppfffppppppwwwwwwwwwwwwwwwwwwpppppppppwwwwwwwwwwwwwwwwwwfffppp¶¶¶¶¶¶–––^^^VVVVVVppp   °°°      ªªªÎÎΪªª   ÁÁÁÁÁÁppp^^^fffNNNGGGGGGNNNNNNNNNNNNwww¶¶¶   ^^^EEENNNppp^^^ppp‘‘‘††††††¶¶¶ýýýýýýýýýýýýýýýýýýýýýýýýïïï–––ªªª×××ïïïýýýýýýïïïïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎÎÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýýýýïïï°°°ÁÁÁVVVNNN^^^ïïïýýýýýýýýýýýýýýýýýýýýýýýýçççÁÁÁ†††NNN---"""""""""""""""""""""""""""""""""---------EEE^^^NNN===""""""---VVVwwwpppfffEEE------------""""""---"""---"""---""""""""""""""""""""""""""""""""""""===EEE======EEE===------""""""333333---"""GGG^^^^^^^^^fff^^^^^^NNNVVV^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^ffffff^^^ffffffffffffffffffffffffpppfffffffffffffffffffffffffffffffffffffffffffffffffff^^^VVVGGGEEE==========================================EEE======EEE===EEEEEEEEEEEEEEEEEEEEE===EEE===EEEEEEEEEEEEwwwwwwwwwpppwwwppppppwwwpppfffpppppppppppppppfffpppppppppfffpppfffpppppppppwwwwwwwwwwwwwwwppppppwwwwwwwwwwwwwww†††^^^^^^ªªª¶¶¶ªªªfffVVVfffppp–––   ––––––¶¶¶°°°ªªª–––ªªª¶¶¶ªªª^^^^^^NNNGGGGGGNNNVVVNNN^^^ªªª×××¶¶¶†††NNNEEEGGGNNNfff‘‘‘°°°ýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïïïïýýýýýýýýýýýýÁÁÁ‘‘‘ÁÁÁçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççßßßýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýßßßfff–––¶¶¶ßßß°°°×××ýýýýýýýýýýýýýýýýýýççç¶¶¶†††GGG---""""""""""""""""""""""""""""""333GGGVVVEEEGGGppp^^^GGG---"""333^^^fffVVVEEE---""""""""""""---"""------"""---""""""""""""""""""""""""""""""------"""""""""---===EEE===333---"""---======333---NNN^^^^^^^^^^^^VVVVVVVVV^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^fff^^^ffffff^^^fff^^^^^^fff^^^^^^fff^^^ffffffffffffpppffffffffffffffffffffffffffffffffffffpppfffpppfffffffffffffffpppffffff^^^NNNEEE=============================================EEE===EEEEEEEEEEEEEEE===EEE===EEE===EEE===EEEEEEEEEwwwwwwwwwwwwpppppppppfffppppppfffpppffffffpppppppppfffpppppppppwwwwwwwwwwwwwwwwwwpppppppppwwwwwwpppwwwwww††††††www^^^^^^†††   –––fff^^^fffpppwww‘‘‘ªªª   –––   ÁÁÁ   ‘‘‘ªªªÎÎΆ††wwwNNNNNN^^^fffppp^^^fffÇÇÇÎÎÎÁÁÁ–––pppGGGGGGGGGfff†††‘‘‘ªªªïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïýýýïïï°°°†††ªªªçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý×××çççýýýýýýýýýýýýýýýýýýýýýïïï‘‘‘¶¶¶çççÎÎÎVVV†††ýýýïïïýýýýýýýýýýýýççç¶¶¶‘‘‘EEE""""""""""""""""""---===333"""---GGG^^^pppGGG===NNNppp^^^---"""---EEE===---""""""""""""---""""""---""""""---""""""---""""""---------""""""---===EEE===---333---"""---""""""=========333VVV^^^^^^^^^VVVNNNVVV^^^^^^^^^^^^^^^^^^fffVVV^^^^^^^^^fff^^^fff^^^fff^^^^^^ffffff^^^ffffffffffff^^^fffffffffffffffpppffffffffffffffffffffffffffffffffffffffffffpppfffpppfffppppppffffff^^^VVVGGGEEE====================================EEE===EEE===EEEEEEEEEEEEEEE===EEE=========EEE===EEEEEEwwwwwwwwwwwwpppppppppppppppppppppppppppppppppfffpppppppppwwwwww†††wwwwwwppppppwwwwwwwwwppppppwwwwww†††††††††††††††ppp^^^^^^––––––†††fffffffffpppwww‘‘‘      ‘‘‘ªªª°°°ªªª–––ªªª°°°¶¶¶fffVVVpppwwwwwwpppfff¶¶¶ÎÎÎÎÎΠ  †††fffVVVfffppp‘‘‘   ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï¶¶¶‘‘‘   °°°×××ýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýßßß¶¶¶×××ýýýýýýýýýýýýýýýýýýýýý××׆††ÁÁÁÁÁÁppp†††çççÇÇÇçççýýýýýýýýýççç¶¶¶†††===""""""""""""------EEE^^^==="""333^^^fffVVV===EEENNNfffNNN---""""""---""""""---"""""""""""""""---""""""---"""------------"""---=========---333EEEEEE333"""---""""""333======333^^^^^^^^^NNNNNNVVV^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^fff^^^fff^^^fff^^^ffffff^^^fffffffff^^^^^^fffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppffffffpppffffffffffffpppfffffffff^^^NNNEEE========================EEE==================EEE===EEE===EEE=========EEE======EEE===EEEwwwwwwwwwwwwpppwwwpppwwwpppppppppppppppfffppppppppppppwwwwwwwwwwwwpppwwwwwwwwwwwwwww††††††††††††wwwppp^^^VVV†††ªªªªªª‘‘‘†††^^^ppppppwww‘‘‘ªªª–––†††   ¶¶¶°°°–––°°°ÎÎΰ°°ppppppfffpppwwwfff   °°°ÁÁÁªªª†††www‘‘‘fffppp‘‘‘–––ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï×××   ÁÁÁ¶¶¶×××ýýýýýýýýýýýýýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýßßßßßßýýýïïïýýýïïïýýýýýýýýýýýýïïï××תªªppp¶¶¶ççç      ïïïýýýýýýççç°°°===---"""---333======NNNppp333"""===pppfffGGGGGGGGGfffNNN==="""""""""""""""---"""""""""""""""---""""""---"""------333===------===GGGEEE333---333333---""""""""""""---======EEEVVVVVVNNNNNN^^^^^^VVV^^^VVV^^^^^^fff^^^VVV^^^^^^^^^^^^^^^fff^^^fff^^^ffffff^^^ffffffffffff^^^ffffffffffffpppfff^^^fffffffffffffffffffffpppfffpppffffffpppffffffpppfffffffffffffffpppffffffffffff^^^VVVGGG==================EEE===============EEE=========EEEEEE===EEE=========EEE===EEE===EEEwwwwwwwwwwwwwwwwwwppppppwwwppppppfffpppppppppwww††††††wwwwwwwwwwwwwwwwwwwwwwwwwww†††††††††††††††ppp^^^^^^‘‘‘¶¶¶°°°ªªªppp^^^ppppppwww‘‘‘ªªª‘‘‘†††–––ÁÁÁ¶¶¶–––   ÎÎÎÇÇÇwww^^^VVVfffwwwfffwww–––†††www–––VVVppp––––––çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççççç–––×××ççç×××ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïïïïßßßÁÁÁïïïýýýýýýýýýýýýïïïVVV°°°çççÁÁÁ‘‘‘çççýýýýýýçç窪ªEEE333---333NNNNNNGGGVVVppp333"""333fffppp^^^GGG===333333""""""""""""""""""""""""""""""""""""""""""---333333---333EEEGGG===333GGGEEE===---"""""""""""""""""""""""""""---"""===333GGGVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^^^^VVVVVV^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^^^^fff^^^ffffffffffffffffffffffffffffff^^^fff^^^fffffffffffffffpppffffffpppfffffffffffffffpppfffffffffpppfffffffff^^^fff^^^^^^GGGEEEEEE===EEE==============================EEE======EEE===EEE=========EEE===EEEEEEwwwwwwwwwwwwwwwppppppfffwwwwwwwwwwwwwwwwwwwwwwwwpppwwwwwwwww††††††††††††††††††www^^^fff–––   ¶¶¶†††ffffffpppwww‘‘‘‘‘‘   †††–––ÁÁÁ¶¶¶‘‘‘‘‘‘¶¶¶¶¶¶wwwffffffwww^^^ppp   ppp^^^ffffff‘‘‘–––^^^VVV––––––×××ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççßß߆††×××ýýý×××çççýýýýýýýýýýýýïïïýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýïïïççç°°°çççýýýýýýýýýýýýýýý¶¶¶^^^°°°ÎÎÎÎÎÎ×××ýýýýýýýýýßßߪªªwwwGGGEEE======^^^GGGEEENNNpppEEE333EEENNN^^^NNN---""""""""""""""""""""""""""""""""""""""""""---"""---===EEEEEEGGGGGGGGGEEE333---333---"""""""""""""""""""""""""""---333=========---------NNN^^^VVVVVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^ffffffffffffffffffpppfffpppfffffffff^^^ffffffffffff^^^fffffffffffffffffffffffffffffffffffffffffffffffffff^^^^^^^^^^^^fffffffff^^^VVVEEEEEE===EEE===EEE========================EEE======EEE======EEE======EEE===EEE†††wwwwwwpppppppppwww††††††wwwwwwwwwwwwwwwpppwwwwwwwwwwwwwwwwwwwwwwww††††††‘‘‘‘‘‘††††††www^^^^^^–––°°°°°°–––wwwfffpppppp†††°°°‘‘‘†††   ÁÁÁ°°°‘‘‘†††°°°ªªªpppffffffpppwwwfff^^^^^^   wwwGGG–––ÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßßßßß¶¶¶ßßßïïïÎÎÎçççýýýýýýýýýïïïÇÇǰ°°ßßßïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýÇÇǶ¶¶çççßßßýýýýýýýýýïïïßßßçççßßßßßßýýýýýýýýýýýýßßß   pppEEEEEE======NNNEEE333GGGppp^^^VVVNNN333---"""""""""""""""""""""""""""---""""""---"""---333333EEEEEEGGGGGGGGGEEE===333------""""""---"""""""""""""""""""""""""""333======EEEEEE===333"""---VVV^^^VVVVVVVVV^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^ffffffffffffffffffffffffffffffffffff^^^fff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffff^^^^^^^^^VVV^^^ffffffpppfffpppffffff^^^GGGEEE=======================================EEE===EEE======EEE===EEE===EEE†††††††††wwwwwwwwwwww††††††††††††††††††††††††wwwwwwwwwwwwpppwwwpppwwwwwwwww†††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘††††††www^^^fff†††¶¶¶ÁÁÁ°°°pppfffpppwwwwww†††‘‘‘–––†††ªªª¶¶¶ªªªwwwwww‘‘‘pppwww^^^www†††††††††fffpppppp‘‘‘‘‘‘GGGppp–––¶¶¶ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï¶¶¶°°°°°°çççççç×××ßßßýýýýýýýýýÎÎΆ†††††   ÁÁÁïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï×××ÇÇÇÇÇÇïïïýýýýýýýýýýýýýýýïïïïïïýýýýýýýýýýýý××תªªpppEEE333======EEE===333EEEpppfffNNN===""""""------"""------"""""""""---""""""---333EEEEEEGGGGGGGGGGGGEEE333333---""""""---"""""""""""""""""""""""""""""""""""""""""""""""""""333======EEEEEE===333""""""333VVVVVVVVVVVVVVV^^^^^^^^^VVV^^^^^^^^^^^^ffffff^^^^^^^^^fff^^^^^^fff^^^ffffffffffff^^^ffffffffffffffffff^^^ffffff^^^fffffffffffffffffffffffffffffffff^^^fff^^^ffffff^^^fff^^^^^^^^^VVV^^^fffpppfffppppppfffpppppppppfff^^^NNNEEE=======================================EEE===EEEEEE===EEE===EEE===†††www†††‘‘‘‘‘‘†††‘‘‘††††††††††††wwwwwwwwwpppppppppppppppwwwwww††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘††††††www^^^^^^†††ªªª°°°–––pppfffpppwwwpppªªª   ‘‘‘‘‘‘ªªª†††wwwppppppwwwwwwppp††††††www‘‘‘†††‘‘‘–––^^^VVV   °°°ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçç熆†¶¶¶ªªªçççßßßïïïïïïýýýççç°°°‘‘‘¶¶¶ÇÇǪªªÎÎÎïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÁÁÁÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï××תªªpppEEE333=========333---333GGGEEE---"""---===EEE======333EEE------333333333"""333GGGEEEEEE===333------"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""------333333333"""""""""===VVVVVV^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fffffffff^^^fffffffff^^^^^^^^^ffffffffffff^^^fffffffffpppffffffffffff^^^ffffff^^^fffffffff^^^^^^VVV^^^^^^fffffffffppppppfffppppppfffppppppppppppfffNNNGGG=========EEE===========================EEE===EEE===EEE======EEE††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††wwwwwwwwwpppfffppppppwwwwwwwwwwwwwww††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††wwwfff^^^‘‘‘¶¶¶¶¶¶fffppppppppp–––°°°†††††††††°°°†††††††††fffwwwpppwww––––––‘‘‘–––†††NNN–––¶¶¶ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýÁÁÁ^^^†††wwwfffÁÁÁïïïçççßßßýýýÎÎÎÁÁÁ¶¶¶ÇÇǪªªÁÁÁ   ßßßýýýýýýýýýýýýýýýýýýïïïýýýýýýýýýýýýïïï×××ßßßÎÎÎýýýýýýýýýýýýýýýýýýýýýýýýïïï×××   pppEEE333333===------"""""""""""""""333EEENNNNNNGGGGGGEEEEEEEEENNNNNNEEE333EEE===------"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---EEEVVV^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fffffffff^^^fffffffffVVV^^^^^^ffffffffffffffffff^^^fffffffffffffff^^^fff^^^fffffffffffffff^^^^^^VVV^^^^^^ffffffpppfffpppfffpppppppppppppppppppppppppppfff^^^GGGEEE======EEE=====================EEE===EEE===EEE============††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††wwwwwwwwwfffppppppwwwwwwwwwwwwwwwwwwwwwwww††††††††††††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘†††wwwfff^^^†††°°°†††–––wwwfffppppppppp°°°ªªª††††††°°°°°°–––ªªª‘‘‘ppppppfff^^^www†††‘‘‘–––‘‘‘–––pppÁÁÁýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï–––NNNfff–––ÁÁÁßßßÎÎΠ  ïïïççççççÁÁÁ°°°°°°ßßßÁÁÁ¶¶¶ïïïýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýïïïÎÎÎ×××çççýýýýýýýýýýýýýýýýýýïïï×××   pppEEE333""""""""""""---333333======GGGVVVVVVNNNGGGGGGEEEEEE===---333===---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---GGG^^^^^^ffffff^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^fff^^^^^^ffffff^^^fff^^^ffffffffffffffffffffffff^^^ffffff^^^fffffffffffffffffffffpppfffffffff^^^fffffffffffffff^^^^^^VVVVVVfff^^^ffffffpppfffffffffpppfffpppfffpppppppppppppppppppppfff^^^GGGEEEEEE===EEE===EEE======EEE======EEE===EEE===EEE=========‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††wwwwwwpppfffpppwwwwwwwwwwwwwwwwwwwwwwwwwww††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††pppfff‘‘‘‘‘‘ªªªªªª‘‘‘pppppppppppp†††°°°ªªª†††‘‘‘ªªª‘‘‘   †††wwwppppppVVVpppwww‘‘‘‘‘‘‘‘‘wwwfffÁÁÁýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïppp^^^‘‘‘°°°ÁÁÁ×××ßßß   çççïïïïï着ª‘‘‘‘‘‘¶¶¶ßßßÎÎÎ×××ýýýýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýïïï×××çççýýýýýýýýýýýýýýýýýýïïï×××   ^^^===333---"""---333GGGGGGNNNEEE===EEEGGGGGGGGG===333------"""""""""---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---""""""""""""""""""""""""""""""""""""---VVV^^^^^^^^^^^^^^^ffffffffffff^^^^^^^^^fff^^^^^^fff^^^^^^^^^fff^^^fff^^^fffffffffffffffffffffffffff^^^fffffffffffffffffffffpppfffpppffffff^^^^^^ffffffffffff^^^VVV^^^^^^ffffffffffffffffffpppffffffpppfffpppppppppfffppppppppppppppppppfffNNNEEEEEE===EEE===EEE======EEE=========EEE============EEE‘‘‘–––‘‘‘–––‘‘‘†††‘‘‘†††††††††††††††††††††wwwwwwpppfffpppwwwwwwwwwwwwwwwwwwwwwwww†††††††††††††††††††††††††††‘‘‘‘‘‘–––––––––‘‘‘fff^^^wwwªªª¶¶¶°°°†††fffffffffppp†††ªªª–––wwwwww†††pppfffwwwpppwww^^^pppfffpppwww†††‘‘‘pppwwwÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýÎÎÎppp‘‘‘°°°–––¶¶¶×××^^^¶¶¶ïïïççç¶¶¶†††ppp‘‘‘      ïïïýýýýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΖ––NNN======333333---""""""EEENNNVVVVVVGGG===EEEEEE===333---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---""""""""""""---"""""""""---""""""""""""---333VVVfff^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^^^^fff^^^fff^^^^^^^^^^^^^^^ffffffpppfffpppfffpppfffffffffffffff^^^fffffffffffffffffffffffffff^^^ffffffffffff^^^^^^VVV^^^^^^ffffffpppfffffffffffffffppppppfffpppfffpppfffpppppppppppppppwwwppppppfffVVVEEEEEE===EEE===EEE=========EEE======EEE============‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††wwwwwwwwwwww†††wwwwwwwwwwwwwwwwwwwwwwwwwwwwww††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘––––––   ––––––†††ppp^^^°°°¶¶¶ªªªpppffffffpppwww–––wwwwwwwwwpppfffwwwpppwww†††ppp^^^pppwww†††‘‘‘‘‘‘‘‘‘°°°çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýÁÁÁffffffppp–––ÁÁÁ‘‘‘VVV°°°ßßßçççßßß¶¶¶wwwppp^^^wwwÎÎÎýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÇÇÇ–––NNN=========333333""""""===NNNVVVGGGGGGEEE======333333333"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---"""""""""""""""---"""""""""""""""---""""""""""""""""""EEE^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^VVV^^^^^^fffffffffffffffffffffffffffffffff^^^fffffffffffffffpppfffffffffffffffffffff^^^fffffffff^^^^^^fffffffffffffffffffffffffffppppppfffpppfffppppppppppppppppppwwwwwwwwwwwwpppppppppVVVGGGEEE===EEE===EEE===EEE======EEE===============‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘wwwwwwpppwww†††††††††wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––   –––‘‘‘ffffff°°°¶¶¶   wwwffffffpppwwwwwwwwwpppwwwwwwpppwww†††www–––wwwfffpppwww†††‘‘‘–––‘‘‘ªªªÁÁÁÎÎÎïïïýýýýýýýýýýýýýýýýýýýýýýýýÇÇÇNNN^^^VVVNNN^^^¶¶¶–––^^^†††   ßßßïïïßßß‘‘‘^^^^^^fff^^^†††ïïïýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÇÇÇ   NNN333======333333---"""---333======333============333---""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---""""""""""""---"""""""""""""""---""""""""""""""""""---"""EEEVVV^^^^^^fffffffff^^^^^^fff^^^ffffff^^^fff^^^fff^^^fffVVVVVV^^^^^^fff^^^fffffffffpppfffffffffffffff^^^fff^^^ffffffffffffpppfff^^^ffffff^^^fffffffffffffffffffffffffffffffffpppfffpppfffpppfffppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwwwwpppfff^^^GGGEEE===EEE===EEE===EEE======EEE======EEE===‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††wwwwww†††††††††††††††††††††wwwwwwwwwwwwwwwwwwwwwwwwwwwwww†††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––   –––   –––‘‘‘fff^^^ªªª°°°°°°wwwffffffpppwwwwwwwwwppppppwwwpppwww†††fff‘‘‘‘‘‘wwwfffppp‘‘‘†††––––––         çççýýýýýýýýýýýýýýýýýýýýýýýý×××NNNGGGGGGVVV^^^www°°°†††VVVfffpppÇÇÇßßß×××   fff^^^^^^VVV^^^×××ýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇ   NNN======333333------===333333333333333333---""""""""""""""""""""""""""""""""""""---"""""""""""""""""""""""""""""""""""""""---"""""""""""""""---"""""""""""""""---""""""""""""""""""---"""---GGGffffffffffff^^^ffffff^^^fffffffff^^^fff^^^fffffffffVVVNNN^^^^^^fff^^^ffffffffffffffffffffffffffffff^^^ffffffffffffpppfffffffff^^^fffffffffffffffffffffffffffffffffpppfffffffffppppppfffppppppfffpppfffpppppppppwwwpppwwwpppwwwpppwwwwwwwwwpppppppppfff^^^NNNEEEEEE============EEE===EEE=========EEE   –––††††††††††††††††††††††††‘‘‘†††††††††††††††††††††wwwwwwwwwwwwwwwwwwwwwwww†††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––   –––      ––––––‘‘‘ppp^^^°°°ÁÁÁ–––wwwffffffpppwwwwwwppppppwwwpppfffppp^^^††††††‘‘‘wwwppp†††–––‘‘‘‘‘‘‘‘‘‘‘‘ÁÁÁïïïýýýýýýýýýýýýýýýýýýýýýïïïfffEEEGGGfff†††www   NNNVVVppp¶¶¶ïïïÁÁÁªªª–––www^^^NNNNNN   ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÁÁÁ   NNN===333------""""""---333333333---""""""""""""""""""""""""""""""""""""""""""---"""---""""""---"""""""""---""""""""""""""""""---"""""""""---""""""---""""""""""""---""""""""""""---"""---"""""""""---VVV^^^ffffffffffff^^^fffffffff^^^ffffff^^^fff^^^ffffffNNNNNN^^^fff^^^ffffffffffffffffffpppffffff^^^^^^fffffffffffffffpppffffffffffff^^^fffffffffffffffffffffffffffpppfffpppfffffffffppppppfffpppfffppppppppppppppppppwwwpppwwwwwwwwwwwwpppwwwppppppwwwppppppfffNNNEEE======EEE===EEEEEE======EEEEEE===‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘‘‘‘††††††‘‘‘†††††††††††††††wwwwwwwwwwww††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘––––––   –––         –––‘‘‘fff^^^†††ªªª¶¶¶¶¶¶wwwffffffppppppppppppppppppffffffVVVppp‘‘‘‘‘‘‘‘‘pppwww‘‘‘‘‘‘–––wwwªªªïïïýýýýýýýýýýýýýýýýýýýýýýýýÁÁÁNNNNNNppp¶¶¶–––pppGGGNNNppp‘‘‘×××   °°°†††^^^NNNNNNpppßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÁÁÁ   VVV===---"""---------"""---------""""""""""""""""""""""""""""""""""""---"""---"""------------"""""""""""""""""""""---""""""""""""---""""""---""""""---""""""""""""""""""---333===---"""""""""333^^^ffffff^^^fff^^^fffffffffffffff^^^ffffff^^^ffffff^^^GGG^^^^^^fffffffffffffffpppffffffffffffffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppfffpppfffppppppppppppppppppppppppwwwpppppppppwwwwwwpppfffpppppppppppppppfffNNNEEE======EEE===EEE===EEE===EEE===‘‘‘††††††††††††††††††‘‘‘††††††‘‘‘†††‘‘‘‘‘‘†††††††††††††††wwwwww††††††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––   –––            –––†††wwwfff^^^www¶¶¶ÁÁÁªªªwwwffffffppppppppppppppppppfffNNNVVV‘‘‘†††‘‘‘fffVVVwww†††–––†††ppp‘‘‘çççýýýýýýýýýýýýýýýýýýýýýýýýçççfffGGG××׆††‘‘‘wwwNNNGGGpppfff‘‘‘†††   www^^^VVVVVVNNNÁÁÁýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç¶¶¶   NNN===---"""---333---""""""------""""""""""""""""""---""""""---"""------"""---"""------333======---""""""---""""""---""""""---"""---""""""---""""""---"""------"""---333333333===333---""""""---===^^^^^^ffffff^^^ffffff^^^fff^^^ffffff^^^ffffffffffffNNNGGG^^^^^^ffffff^^^fffffffffffffffffffff^^^^^^^^^fffffffffffffffffffff^^^fff^^^fffffffffffffffffffffpppffffffffffffpppffffffpppfffpppfffppppppppppppppppppppppppwwwpppwwwpppwwwppppppfffpppfffpppfffpppppppppfffNNNEEEEEE=========EEE===EEE======†††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘††††††††††††www†††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––   ––––––   –––––––––‘‘‘†††fff^^^wwwªªª¶¶¶ªªªffffffpppppppppppppppfffVVVNNNVVV†††wwwpppGGGNNNfffwwwwww^^^†††ßßßýýýýýýýýýýýýýýýýýýýýýýýýïïïpppNNN   ×××¶¶¶fff†††wwwNNN^^^VVVVVV†††ªªª–––wwwVVVNNNNNNGGG‘‘‘ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç¶¶¶‘‘‘GGG333"""------333---"""""""""---"""---"""------""""""---"""------333------333===---======EEEEEE""""""---""""""---""""""---""""""""""""---""""""---------333===---333EEEEEE===EEE===---"""---"""EEE^^^^^^^^^^^^ffffffffffff^^^ffffff^^^ffffff^^^fffVVVNNNVVVffffff^^^ffffffffffffpppffffffffffff^^^fff^^^^^^ffffff^^^ffffff^^^ffffffffffffffffff^^^ffffffffffffpppffffffpppfffpppffffffpppfffpppppppppppppppfffpppppppppwwwwwwpppwwwwwwpppfffffffffpppfffpppfffpppfffpppfffNNNEEE===EEE===EEE============††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††††††††††††††www††††††††††††††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘––––––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††fffVVV†††°°°ÁÁÁ¶¶¶ffffffpppfffpppwwwppp^^^NNNNNNfffpppEEEEEEGGGVVVppp^^^pppÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýçççfff^^^¶¶¶ßßßÎÎÎwwwpppVVVVVVªªª°°°†††wwwVVVEEEEEEEEE^^^çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç°°°†††EEE------333---------"""---"""------"""---------------"""------"""---------333333======EEE===EEE======EEE---"""""""""---"""---""""""---""""""---""""""---333EEE333EEE===333======333333EEEEEE---""""""---GGG^^^fffffffff^^^fffffffffffffff^^^fff^^^^^^fffVVVNNN^^^^^^fffffffffffffffpppffffffffffffffffff^^^^^^fff^^^fffffffff^^^ffffffffffffffffffffffffffffffffffffpppfffffffffpppfff^^^ffffffppppppfffpppffffffpppppppppppppppwwwwwwwwwwwwpppfffffffffffffffpppfffpppfffpppfffpppfffNNNEEE===EEE===EEE=========†††‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††††††††www†††††††††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘fffVVVwwwÁÁÁ¶¶¶°°°www^^^ppppppfffwwwwwwfff^^^NNNGGG^^^pppVVV======GGGNNNfff†††–––ïïïýýýýýýýýýïïïïïïýýýýýý×××VVV^^^ÁÁÁßßßçççÇÇÇppp†††www––––––°°°   wwwfffNNNEEE======GGGÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßß°°°www===------333------------"""---------------333===333---------------===333333EEE===EEE333GGGEEEEEE=========""""""---"""---""""""---"""---"""---"""---------===EEE333GGG333======333333========="""---"""---NNN^^^^^^^^^ffffff^^^fff^^^^^^fff^^^^^^^^^fff^^^^^^^^^^^^fff^^^ffffffpppffffffffffffffffff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffffffffffffff^^^ffffffppppppffffffppppppfffpppfffpppwwwwwwwwwwwwpppffffffffffffffffffffffffffffffpppfffppppppfffNNNEEE===EEE============–––‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††wwwwww††††††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘–––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘–––‘‘‘‘‘‘www^^^VVVwwwªªªªªª–––ffffffpppfffpppwwwfff^^^pppGGGNNN^^^GGG===EEENNN^^^ppp†††‘‘‘†††ßßßïïïýýýïïïÎÎÎ×××çççïïï   GGG^^^ÁÁÁçççßßßßßß°°°†††pppppp‘‘‘ªªª–––fffVVVGGGEEEEEE===EEE   ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßߪªªfff333---------------"""---------------"""---======333333333===333EEE===333===GGG===EEE===EEE===EEE---333333---""""""---"""---"""---""""""---"""333======---EEE===---GGG333EEEEEE===333===333---"""""""""333VVV^^^^^^fff^^^fff^^^^^^^^^^^^^^^fff^^^^^^ffffff^^^^^^fff^^^ffffffffffffffffffpppfffffffff^^^ffffffffffffffffff^^^fff^^^fffffffffffffffffffffffffffpppfffffffffffffffppp^^^^^^ffffffpppfffpppfffpppfffpppfffpppppppppwwwwwwwwwwwwfffffffff^^^^^^^^^fff^^^fffpppfffffffffpppfffppp^^^NNNEEE===============‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††††††††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††fffVVVfff‘‘‘ªªª^^^pppfffpppfffppppppppppppNNNVVVVVVNNNEEEEEENNNpppwww†††wwwÇÇÇïïïççççç窪ª   ßßßÇÇÇpppEEEVVVÁÁÁççççççççç××ב‘‘www^^^VVVfffpppfffVVVGGGEEEEEEEEE======pppïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïßßß   ^^^333---"""------"""333------------------333GGGEEE=========EEE333EEEEEE===EEEEEE===GGG======---333---"""---"""---"""---""""""---"""333===333333======GGG===EEE333333EEE---EEEEEE==="""---"""---"""""""""333^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^fffffffff^^^fff^^^fff^^^fffffffffpppffffffffffff^^^fffffffffffffffffffff^^^fff^^^fff^^^fffffffff^^^ffffffffffffffffffffffffffffff^^^fffffffffpppfffpppffffffpppfffpppfffpppppppppwwwppppppfffffffff^^^^^^ffffffffffff^^^ffffffffffffpppfffffffff^^^NNNEEE============†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘–––‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘wwwfffVVVppp°°°ffffffpppfffffffffpppppp^^^^^^^^^NNNNNNGGG===GGGfffwwwfffÇÇÇïïïççççççÁÁÁ°°°ÎÎΠ  ^^^EEEGGG¶¶¶çççïïïïïïßßß‘‘‘^^^fffNNNNNNNNNVVVGGGEEE======EEEEEE===NNNçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý××תªªNNN------------"""---333EEE333333===EEE===333GGG===EEEEEE===GGG333===EEEEEE===EEE---333333---"""---"""---"""---"""---"""---333=========GGGEEE333EEE333GGG333GGG333333GGG333---------""""""""""""""""""===^^^^^^fff^^^^^^^^^VVVVVV^^^fffffffffffffff^^^^^^fff^^^ffffffffffffffffffpppfff^^^^^^fffffffffffffff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^fffpppfffpppffffff^^^ffffffffffff^^^ffffffpppffffffffffffpppfffpppfffppppppppppppppppppfffffffffffffffffffffffffffffffffpppfffpppfffpppfffffffffffffffNNNEEE=========‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††††††††††††††‘‘‘††††††‘‘‘†††‘‘‘†††††††††‘‘‘†††‘‘‘††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††‘‘‘‘‘‘†††wwwfffVVVfff^^^fffpppfffffffffpppfff^^^VVVVVVVVVGGGEEE===EEENNN‘‘‘–––   –––×××ïïïßßßçççÇÇǶ¶¶      ^^^EEEGGGwwwÎÎÎïïïïïïççç–––VVV^^^^^^NNNGGGGGGEEE==================EEEÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï××תªªGGG------"""---------EEEGGG===EEEEEEEEEEEE===GGG===GGGEEEEEEEEE===EEE===333333------------"""---"""---"""---"""---333333333EEE===GGG===EEE===EEEEEE===EEE333GGG===---------"""""""""""""""""""""GGG^^^^^^^^^fff^^^^^^^^^fffffffffffffffffffff^^^fff^^^fffffffffffffffpppffffffffffffffffffffffffffffff^^^fff^^^^^^fff^^^^^^^^^fff^^^fffffffffffffffffffffffffffpppfff^^^pppfffpppfffffffffpppffffffpppfffpppfffppppppppppppfffffffffpppfffffffffffffffpppppppppppppppppppppppppppffffffppppppfffNNNEEE======‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘†††††††††‘‘‘††††††‘‘‘†††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘††††††††††††‘‘‘†††‘‘‘‘‘‘†††††††††‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††‘‘‘‘‘‘††††††wwwfffVVV^^^fffpppfffpppffffffppp^^^NNNNNNGGGEEEEEE======EEEfff°°°¶¶¶¶¶¶çççïïïßßßÎÎΰ°°‘‘‘   ÎÎÎpppNNNGGGfff   ßßßçççççç°°°VVVGGGffffffNNNEEE===333333333333333333EEE°°°ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï××תªªGGG---"""------------EEEGGG===GGG===EEEEEE===GGG333GGGGGGEEE===---333------------"""------===------------------=========EEEEEE333GGG333EEE===EEEGGGEEE333---------"""---""""""""""""""""""""""""NNN^^^fff^^^^^^^^^fff^^^fff^^^^^^ffffff^^^fff^^^fffffffffffffffffffffffffff^^^fff^^^ffffffpppffffff^^^fff^^^ffffff^^^^^^fff^^^^^^fffffffffffffffffffffffffffpppffffffffffffpppfffpppfffpppfffpppfffppppppfffpppppppppfffffffffffffffffffffpppfffffffffffffffpppppppppwwwpppppppppppppppppppppffffffNNNEEE===‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††‘‘‘††††††‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘††††††††††††††††††††††††‘‘‘‘‘‘††††††fffVVVVVVfffppppppfff^^^fffpppVVVNNNGGG===============NNN   ªªª°°°ÎÎÎçççÁÁÁ–––––––––ªªª×××–––^^^GGG^^^–––ÁÁÁççççççÁÁÁfffEEEVVVwwwVVVGGG===333333333333===–––ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï×××–––EEE------------------EEEGGG===GGG===GGGEEE===EEE333333===333---------------333333------EEEGGG333333===EEE===333GGG---333EEEEEE===GGG333GGG333333===333---"""---""""""""""""""""""""""""""""""---VVV^^^^^^^^^^^^fffffffff^^^fff^^^^^^^^^^^^ffffff^^^ffffffffffffpppffffffffffffffffffffffffpppfff^^^fffffffff^^^fff^^^fff^^^fffffffffffffffffffff^^^ffffffffffffffffffpppffffffffffffffffffffffffpppfffppppppfffpppffffffffffffffffffffffffffffffffffffpppfffpppppppppwwwwwwwwwwwwppppppwwwppppppffffffGGGEEE‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘††††††††††††‘‘‘†††‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††‘‘‘‘‘‘††††††fffNNN^^^ppppppfffffffffpppfffpppVVVEEEEEE333===EEEVVV†††‘‘‘ªªªÎÎζ¶¶†††‘‘‘      °°°‘‘‘pppVVVVVV†††ªªª×××çççÇÇdž††GGGGGGppp¶¶¶ÇÇÇ   pppNNNEEE333333333===wwwïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΑ‘‘===------------------GGGGGGEEEGGG333EEE===333333------------------"""---333GGGEEE---333GGGNNN333======GGG======EEE------GGG======EEE---===---"""------"""---"""""""""""""""""""""""""""""""""333VVV^^^^^^^^^fff^^^fffffffff^^^^^^^^^VVV^^^fff^^^fffffffffffffffffffffffffff^^^fffffffffffffffffffff^^^ffffffffffff^^^fff^^^ffffffffffffffffff^^^ffffffffffffffffffppppppffffffpppfffpppfffpppfffppppppfffppppppffffffffffffffffffffffffffffffffffffpppfffpppppppppppppppwwwppppppwwwwwwppppppfffpppfff^^^GGG†††‘‘‘‘‘‘††††††‘‘‘†††‘‘‘‘‘‘†††‘‘‘††††††††††††‘‘‘††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘†††††††††††††††‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘†††fffNNNVVVpppppppppfffpppppp†††ªªªwwwGGGEEE===EEEfff†††††††††°°°××××××   †††††††††–––†††^^^VVVpppªªªÎÎÎßßßÎÎΖ––NNNVVV°°°ßßß×××°°°–––wwwGGG===333===333^^^ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΆ††===------------------GGGEEE333===333---------------------------"""------===NNNGGG333===NNNGGG333======GGG===EEEEEE------EEE333333333------"""---"""""""""""""""""""""""""""""""""""""""""""""EEE^^^^^^^^^^^^^^^ffffffffffff^^^fffVVVVVV^^^^^^ffffffffffffpppffffffffffffffffffffffffpppfffffffff^^^ffffffffffffffffff^^^ffffff^^^ffffffffffff^^^fffffffffffffffpppfffpppfffffffffffffffffffffpppppppppffffffpppffffffpppfffpppffffffffffffffffffffffffpppppppppppppppwwwpppppppppppppppfffppppppfffpppfff^^^†††††††††‘‘‘††††††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘†††‘‘‘†††fffVVVVVVppppppffffffppp‘‘‘¶¶¶   ^^^GGGEEEEEE^^^‘‘‘°°°–––ªªªÁÁÁ×××°°°‘‘‘‘‘‘†††–––°°°‘‘‘ppp–––ppp–––ÁÁÁßßßÎÎΖ––^^^www×××ßßß×××°°°°°°wwwNNNEEE=========VVVïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎÎ333---------"""------333333---------------------------------------------===NNNNNN===EEEGGGGGG333======GGG===EEEEEE------333------"""---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""EEEVVV^^^^^^ffffff^^^fff^^^^^^ffffffVVV^^^^^^fff^^^ffffffffffffffffff^^^ffffffffffffppp^^^ffffffffffffffffffffffff^^^fffffffffffffffffffff^^^ffffffffffffffffffpppfffpppffffffpppffffffffffffppppppfffpppfffpppfffffffffpppfffffffffffffffffffffffffffffffffppppppppppppppppppppppppppppppfffpppppppppppppppppp‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘†††pppVVVVVVpppffffffppp†††ªªª   VVV^^^wwwVVVfff      †††   ÎÎζ¶¶   –––   ‘‘‘¶¶¶ÁÁÁ‘‘‘ÇÇÇpppwww–––×××¶¶¶–––°°°ßßßçççÎÎΰ°°°°°VVVEEE=========NNNçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÇÇÇ333---------------------------------------333===------------======------EEEGGGNNNGGGEEEGGGEEE===GGGEEEEEE---===333"""---"""---"""---""""""""""""""""""""""""""""""""""""""""""""""""""""""---GGG^^^^^^^^^^^^fff^^^^^^^^^fff^^^^^^^^^^^^fff^^^fff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffff^^^fffffffff^^^fffffffffffffffffffffpppfffffffffpppffffffpppfff^^^ffffffpppfffppppppfffpppfffffffffpppfffpppppppppfffffffffffffffffffffffffffffffffppppppppppppwwwpppfffpppppppppppppppwwwpppppp†††‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘††††††‘‘‘†††††††††††††††‘‘‘‘‘‘†††‘‘‘†††††††††††††††‘‘‘‘‘‘†††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘††††††††††††pppVVVVVVpppffffffwww†††‘‘‘^^^wwwªªªwwwppppppwwwªªªÁÁÁ¶¶¶ªªª–––†††   ÁÁÁ×××   °°°^^^°°°ªªª°°°   ÇÇÇçççßßßÇÇÇ   ªªªwww^^^GGGEEE======GGG×××ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÇÇÇwww333---------------------------------------======333===============------EEEEEEGGGNNN===GGGEEE===EEE===333---"""------"""---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---NNN^^^^^^ffffff^^^^^^^^^fff^^^^^^^^^^^^fff^^^fffffffffffffffffffff^^^ffffffffffffffffff^^^fffffffffffffff^^^fffffffffffffffffffff^^^ffffffffffffffffffffffffpppffffffpppffffffffffffpppfffpppfffpppfffpppffffffpppffffffppppppfffpppfffpppffffffffffff^^^fffffffffppppppfffpppffffffppppppppppppwwwppppppfffppp‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘–––––––––––––––––––––‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘†††††††††††††††wwwwww††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘‘‘‘†††‘‘‘††††††††††††pppVVVVVVffffffwww†††ppp–––†††pppppp‘‘‘pppªªª¶¶¶ªªª‘‘‘‘‘‘‘‘‘–––ÎÎζ¶¶‘‘‘wwwNNNfff   ÁÁÁ–––×××çççßßßÁÁÁ   –––www^^^GGGGGGEEE===GGGÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÁÁÁfff333---------------------------------333333EEEEEE===EEE======GGG===------EEE===EEEEEE333EEE333------------"""---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---VVV^^^fff^^^fff^^^^^^ffffff^^^^^^^^^fff^^^ffffff^^^fffffffffffffffffffffffffffffffffffffffffffffffffff^^^fffffffffppp^^^fffffffffffffffffffffpppffffffpppfffffffffpppfffffffffpppfffpppfffpppffffffffffffffffffppppppfffppppppfffpppfffpppfffffffff^^^^^^^^^fffpppfffpppffffffffffffpppppppppwwwppppppfffffffff‘‘‘†††‘‘‘‘‘‘†††‘‘‘––––––   ‘‘‘‘‘‘–––‘‘‘––––––‘‘‘‘‘‘–––––––––––––––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††††††††††††††††††††www†††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘†††‘‘‘††††††‘‘‘†††††††††pppVVVNNNfffwww‘‘‘^^^www‘‘‘fffppp†††ªªª†††ªªª°°°ªªª‘‘‘‘‘‘   ‘‘‘–––×××ÇÇÇpppVVVVVVppp   °°°×××çççßßß¶¶¶   ‘‘‘www^^^VVVGGGEEE===EEE¶¶¶ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç¶¶¶^^^------------------------------------===EEEGGGEEEEEE=========EEE333------GGG333---333------------"""---""""""""""""""""""""""""""""""""""""""""""""""""""""""---""""""""""""""""""""""""""""""333^^^fffffffff^^^fffffffff^^^^^^^^^ffffff^^^fff^^^fffpppffffffffffffffffffffffff^^^^^^^^^ffffffffffffffffffffffffffffff^^^ffffffffffffpppfffpppffffffpppffffffpppfffpppfffffffffpppffffffffffff^^^^^^fffffffffpppffffffpppppppppfffpppfffpppfffffffff^^^fffffffffffffffffffffffffffffffffpppwwwpppfffffffffffffff†††‘‘‘†††‘‘‘‘‘‘––––––––––––––––––––––––‘‘‘––––––‘‘‘‘‘‘–––––––––––––––––––––––––––‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††††††††‘‘‘‘‘‘†††‘‘‘†††††††††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘†††††††††fffNNNNNN^^^www‘‘‘fffGGGVVVªªªwwwfffwww‘‘‘   –––––––––ÁÁÁÁÁÁ   –––ÁÁÁªªª†††pppVVVpppªªª   wwwÇÇÇçççÎÎΪªªªªª‘‘‘pppVVVNNNGGGEEE===EEEªªªýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç¶¶¶NNN---------------------------------333EEE===EEEEEEGGG===333===333---------333---------"""------"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---"""""""""""""""""""""""""""EEE^^^ffffff^^^fffffffff^^^fffffffff^^^fff^^^^^^ffffffffffff^^^ffffffffffffffffff^^^fffffffffffffffffffffffffffffffff^^^ffffffpppffffffpppfffffffffpppfffpppffffffpppfffffffffpppfffpppfffffffff^^^fff^^^pppfffppppppfffpppppppppppppppfffpppffffff^^^ffffffpppfffffffffffffff^^^ffffffpppppppppppppppfff^^^fffppp†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––   –––––––––––––––––––––‘‘‘––––––––––––––––––––––––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††††††††††††††‘‘‘††††††‘‘‘††††††††††††wwwfffNNNNNNwww†††GGGNNN–––†††ppp^^^fff‘‘‘wwwppp–––ßßßçççÎÎΰ°°°°°ªªª‘‘‘‘‘‘‘‘‘VVVppp      ppp°°°ÁÁÁÁÁÁ°°°¶¶¶‘‘‘^^^NNNGGGEEE======EEE   ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç¶¶¶NNN---------------------------------===EEEEEE===333EEE333------------------------"""---""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---""""""""""""""""""""""""""""""""""""GGGfff^^^^^^ffffff^^^ffffff^^^fff^^^^^^^^^ffffffffffff^^^ffffffffffffffffffffffff^^^^^^fffffffffffffff^^^fffffffffffffffffffffpppfffpppfffpppfffppppppffffffpppfffpppfffpppffffffffffffffffff^^^fff^^^ffffffpppfffpppppppppppppppppppppffffffffffffffffffppppppfff^^^ffffffffffff^^^ffffffppppppppppppffffffpppfff‘‘‘†††‘‘‘‘‘‘‘‘‘–––––––––   ––––––––––––––––––‘‘‘‘‘‘–––––––––––––––   –––   ––––––‘‘‘‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††www††††††††††††††††††‘‘‘†††††††††††††††††††††††††††††††††‘‘‘†††††††††‘‘‘†††‘‘‘‘‘‘††††††††††††‘‘‘†††††††††††††††††††††www^^^VVVpppwwwVVVVVVppp†††pppVVVNNNpppwwwfffVVV‘‘‘ßßßýýýïïïÎÎζ¶¶–––‘‘‘–––†††VVVfff†††–––ppp†††ÁÁÁ××××××¶¶¶^^^NNNGGGEEE======EEE   ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïçç窪ªGGG---------------------------------333EEE===333------------------------------""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---""""""""""""""""""""""""""""""""""""---NNN^^^ffffff^^^fff^^^^^^^^^fff^^^^^^fff^^^fff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffff^^^fffffffffffffffffffffpppfffpppfffpppfffpppffffffpppffffffffffffpppfffpppfffffffff^^^^^^^^^ffffffpppfffppppppfffpppfffpppfffpppfffpppfffffffffffffffpppfff^^^^^^ffffffffffffffffff^^^ffffffpppppppppppppppppp‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––   –––––––––‘‘‘–––‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††‘‘‘††††††††††††††††††‘‘‘†††‘‘‘††††††††††††††††††††††††‘‘‘††††††‘‘‘††††††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘†††††††††††††††‘‘‘‘‘‘†††wwwVVVNNNfff^^^NNNNNN^^^^^^NNNEEENNNfff^^^^^^×××ýýýýýýççç××תªª¶¶¶   wwwffffffppp‘‘‘fff   ßßß×××ÇÇǶ¶¶^^^GGGGGGGGGEEE======‘‘‘ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïçç窪ªEEE------------------------------------------------------------------""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---------"""""""""------"""""""""""""""""""""""""""""""""---VVVfff^^^fff^^^ffffff^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^fffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppffffffpppfffpppfffpppfffpppfffpppffffffpppffffffpppfffpppffffff^^^ffffff^^^ffffffffffffpppfffppppppfffpppfffpppfffpppfffffffffpppppppppffffff^^^^^^ffffffppppppffffff^^^ffffffpppfffpppfffpppfff‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘––––––   ––––––––––––––––––‘‘‘–––   ––––––‘‘‘†††††††††‘‘‘‘‘‘‘‘‘†††††††††‘‘‘†††††††††††††††‘‘‘†††‘‘‘†††††††††††††††‘‘‘††††††††††††††††††‘‘‘††††††‘‘‘‘‘‘††††††††††††††††††††††††‘‘‘††††††††††††pppVVVNNN^^^^^^NNNNNN^^^GGGEEEGGG^^^†††www‘‘‘¶¶¶çççïïïýýýçççÇÇÇÁÁÁ†††wwwppp^^^wwwfff°°°ÇÇÇÁÁÁ°°°ªªª‘‘‘^^^GGGGGGGGG======EEE‘‘‘ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïßßß–––EEE---------------------------------------------------------""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---------===333---"""------------"""""""""""""""""""""---"""""""""333^^^^^^ffffff^^^^^^^^^fff^^^^^^^^^^^^fff^^^^^^^^^^^^fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppffffffpppfffffffffpppffffffpppfffpppffffffpppfffpppffffffffffff^^^^^^fff^^^fffpppffffffffffffpppfffpppfffpppfffffffffpppffffffpppffffffVVVNNNVVVfffpppfffpppfffffffff^^^fffffffffpppfffffffff––––––‘‘‘–––‘‘‘‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––   –––––––––––––––   –––   –––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘†††††††††††††††††††††††††††††††††‘‘‘†††††††††††††††‘‘‘‘‘‘†††††††††††††††††††††††††††††††††††††††††††††ppp^^^VVV^^^NNNNNNVVVNNNEEEGGGwww‘‘‘www‘‘‘¶¶¶ÎÎÎçççýýýýýýçççÁÁÁ†††ªªªÁÁÁwwwpppppp°°°ÇÇǰ°°––––––†††fffGGGEEE=========EEE†††ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïßßß‘‘‘===------------------------------------------------""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""333EEEEEEEEE---EEE===333333333333---"""""""""""""""---333===333"""""""""===^^^fff^^^ffffff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^ffffff^^^ffffffffffff^^^fff^^^ffffffffffffpppffffffpppfffpppffffffffffffpppfffffffffppppppfffpppfffpppfffpppffffffpppfffpppfffffffff^^^^^^fffffffffffffffpppfffpppffffffpppfffffffffpppfffffffffppppppffffff^^^GGG===NNNfffpppfffpppffffff^^^^^^^^^fff^^^fffpppffffff‘‘‘–––––––––––––––‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘–––‘‘‘––––––––––––––––––––––––   –––   ––––––   ––––––‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††wwwVVVVVVVVVNNNGGGGGGGGGEEEfff††††††ÇÇÇßßßßßßïïïýýýýýýÎÎΖ––‘‘‘   ¶¶¶–––°°°¶¶¶ªªª¶¶¶ªªª–––†††pppGGG============EEE‘‘‘ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï××׆††===---------------------------------------"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""------"""---333EEENNN^^^^^^NNN333GGG===EEENNNNNNEEE---""""""------333EEEEEEGGG==="""""""""EEEVVV^^^fff^^^^^^fff^^^fff^^^ffffff^^^^^^ffffffffffffffffffffffff^^^ffffffffffffffffffpppfffffffffffffffffffffpppfffffffffffffffffffffppppppfffffffffffffffppppppfffffffffffffffffffff^^^ffffffffffffpppffffffpppfffffffffffffffffffffffffffpppfffpppfff^^^GGG===EEEffffffppppppffffffffffffffffffffffffpppfffffffff‘‘‘–––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘–––‘‘‘–––––––––––––––                        –––   –––   ––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘†††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘†††††††††††††††‘‘‘††††††††††††wwwVVVNNNGGGGGGGGGGGGEEEGGG^^^www‘‘‘°°°ÎÎÎ×××ïïïýýýýýýççç××תªª   ¶¶¶‘‘‘ªªª¶¶¶   ªªª–––‘‘‘pppfffGGG============EEE‘‘‘ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï××׆††===------------------------------""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---GGGGGGEEEGGGNNN^^^fff^^^^^^GGG333333333GGG^^^VVVEEE------333===GGGGGGEEEEEE333---"""""""""GGGVVV^^^^^^^^^^^^^^^^^^fffffffff^^^^^^fff^^^ffffffffffffffffffffffffffffffpppffffffpppfffffffffpppffffffpppfffpppfffffffffffffffpppfffffffffpppffffffpppfffppppppfffffffffffffff^^^ffffffffffffpppffffffffffffffffffffffffffffffffffffffffffppppppffffffGGG333===^^^pppfffpppfffpppffffffffffffpppfffffffffpppffffff–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘––––––                     –––            –––   ––––––––––––––––––‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††††††††††††††††††††‘‘‘†††‘‘‘††††††‘‘‘†††pppVVVGGGEEEGGGGGGGGGEEEEEENNN   ÁÁÁÁÁÁïïïýýýýýýýýý×××°°°      ‘‘‘††††††   –––wwwwwwfffVVVGGGEEE=========EEE–––ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΆ††333---------------------""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""333333EEE^^^VVVVVVVVV^^^^^^^^^VVVEEE===333---333EEENNNGGG======GGGGGGNNNGGG===---"""---"""""""""---GGGVVVVVVVVVVVV^^^^^^fff^^^fffffffff^^^ffffffffffffffffff^^^ffffffffffffffffffffffffffffffffffffffffffpppffffffffffffffffffppppppfffpppfffpppffffffpppfffpppffffffpppfffpppfffffffffffffffpppfffpppfffpppfffpppffffffffffffffffffffffffffffffpppffffffNNN===EEEVVVppppppppppppffffffffffffffffffpppffffffpppfffffffff‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––‘‘‘‘‘‘‘‘‘–––––––––‘‘‘–––‘‘‘––––––   ªªª                     –––            –––      –––   ––––––‘‘‘–––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘†††††††††‘‘‘‘‘‘†††wwwpppVVVEEEGGGGGGGGGGGGGGGGGGfff°°°¶¶¶¶¶¶ßßßýýýýýýýýýïïïßßßÇÇÇ–––‘‘‘www^^^fff††††††pppVVVNNNGGG===EEEEEEEEEEEE–––ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎÎwww333------------"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---333===NNNNNNVVVfff^^^fffNNNGGGGGGEEE======333333333===EEENNNNNNEEEGGGNNNGGG333---"""""""""""""""""""""---NNNNNNVVVVVV^^^^^^^^^ffffffffffff^^^fffffffffpppffffff^^^fffffffffffffff^^^fff^^^ffffffffffffffffffpppfffpppfffffffffpppfffpppfffpppfffpppfffpppfffppppppffffffffffffffffff^^^ffffffpppffffffpppfffpppfffpppfffffffffffffffffffff^^^ffffffffffffpppVVV===EEE^^^pppppppppppppppffffffpppfffpppffffffpppfffppppppfffppp‘‘‘‘‘‘–––––––––––––––––––––––––––   ––––––––––––                              –––      –––   ––––––   ––––––   –––––––––––––––––––––   ––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††††††††wwwpppVVVGGGGGGNNNNNNGGGGGG^^^–––°°°ÇÇǶ¶¶ïïïýýýýýýïïïïïïçççÎÎΪªªpppfff†††ppp^^^NNNGGGGGG===NNNVVVVVVGGGªªªïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÇÇÇppp---""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---""""""333===GGGGGGVVVVVV^^^^^^VVVGGG===333333333333333333======EEEGGGVVV^^^NNNEEEGGG===---"""""""""""""""""""""""""""---NNNNNNVVVVVVVVV^^^^^^^^^^^^^^^fff^^^ffffffffffffffffffffffff^^^ffffff^^^fff^^^ffffffffffffffffffffffffpppffffffpppffffffpppfffpppfffffffffffffffpppfffpppfffpppffffffffffff^^^fffpppfffpppfffpppfffpppffffffffffffffffff^^^fff^^^ffffffffffffpppVVV======VVVpppfffpppppppppppppppfffpppfffpppfffffffffppppppfffpppfff––––––      –––                     –––   –––               –––            ––––––                              ––––––   –––   –––      ––––––––––––‘‘‘‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††wwwpppVVVGGGNNNGGGNNNGGGNNNppp–––ÁÁÁªªª×××ýýýýýýïïïýýýïïïïïïßßߪªªÎÎζ¶¶wwwfffVVVNNNGGGEEE===NNNwwwwwwNNNªªªýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇ^^^"""""""""""""""""""""""""""""""""""""""""""""""""""---""""""---""""""EEE======EEENNNVVVVVVNNN^^^VVVEEEEEE------"""------------333======GGGNNNVVVNNNGGGEEE333333---333======"""""""""""""""""""""333GGGNNNNNNVVVVVV^^^^^^^^^^^^^^^^^^ffffffffffff^^^fff^^^^^^fffffffff^^^fffffffffffffff^^^ffffffpppfffffffffpppfffpppfffpppfffpppfffffffffffffffpppfffpppffffffffffffffffff^^^fffpppfffpppfffpppfffpppfffpppffffffffffffffffff^^^ffffffffffffffffffGGG===VVVfffpppfffpppfffpppfffppppppfffpppfffpppfffpppppppppppppppfff––––––            ªªª         –––   –––––––––      ––––––                           –––                  –––         –––         –––   ––––––‘‘‘‘‘‘‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††††††††††††††††††††wwwwwwVVVGGGNNNNNNNNNGGGNNNpppªªª¶¶¶   ßßßýýýýýýïïïýýýïïïßßß¶¶¶×××ßßß¶¶¶‘‘‘fffNNNNNNGGG======GGGfffNNNªªªýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇNNN"""""""""""""""""""""""""""""""""""""""""""""---""""""""""""""""""---VVVVVVVVV^^^^^^^^^NNN===333333""""""""""""""""""---"""333GGGNNNNNNNNNGGGEEE333---------333EEEEEEEEEEEE---""""""""""""""""""===GGGNNNNNNVVVVVVVVVVVV^^^^^^^^^^^^fff^^^ffffff^^^°22ú��ú��ú��ú��fffffffff^^^fffffffffffffffffffffpppfffpppffffffpppffffffpppfffpppffffffffffffpppfffpppfffffffffffffffffffffpppffffffpppfffpppfffpppfffffffff^^^ffffffffffff^^^fffffffffffffffNNNEEENNNffffffpppfffppp^^^pppppppppppppppfffpppfffpppfffppppppppppppppp––––––   –––   –––      ªªª–––‘‘‘‘‘‘‘‘‘†††‘‘‘                        –––––––––                     –––      ––––––‘‘‘––––––––––––   ––––––––––––‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††www††††††††††††††††††††††††††††††wwwVVVGGGGGGNNNNNNGGG^^^†††ªªª–––¶¶¶ïïïýýýïïïýýýýýýçççÎÎÎÁÁÁÇÇÇßßßÎÎÎNNNGGGEEE======EEE^^^wwwVVVªªªýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇNNN""""""""""""""""""""""""""""""""""""""""""---""""""---""""""""""""---^^^fffVVV^^^fff^^^===---""""""""""""""""""------333"""===NNNGGGGGG===""""""------======EEENNNEEE------"""""""""""""""""""""EEEGGGGGGNNNNNNVVVVVVVVVVVV^^^^^^^^^^^^^^^ffffffRR÷ú��ú��ú��ú��fffffffffffffffffffffffffffpppffffffffffffpppfffffffffpppfffpppfffpppfffpppfffpppffffffffffffffffffffffffffffffpppfffpppfffpppfffpppfffffffffffffffffffff^^^ffffff^^^ffffffVVVNNNNNNfffffffffpppfff^^^^^^ppppppppppppppppppfffppppppffffffpppfffpppfff            –––         ––––––––––––––––––––––––––––––               –––   ––––––––––––––––––      ––––––   ––––––––––––––––––––––––   ––––––‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘††††††††††††www††††††††††††††††††††††††††††††††††††††††††ppp^^^GGGNNNNNNNNNppp–––‘‘‘www×××ýýýïïïïïïýýýïïïßßß°°°ÇÇÇ×××××תªªVVVGGGEEE======EEENNNpppNNNªªªïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïçççÁÁÁGGG"""""""""""""""""""""""""""---""""""---""""""---"""""""""---""""""333VVVNNN===EEEVVVEEE---"""""""""""""""---333GGGGGGEEE---333333---""""""---333EEEEEEGGGEEE===333"""""""""""""""""""""EEEGGGGGGNNNNNNNNNNNNVVVVVV^^^^^^^^^fff^^^fffhddÞú��ú��ú��ú��ú��fffffffffffffffffffffffffffpppfffpppfffpppppppppffffffpppfffpppffffffpppfffpppfffffffffffffff^^^ffffffppppppffffffpppfffpppfffffffffpppfffffffffffffffffffffffffff^^^fff^^^VVVVVVfffffffffffffff^^^^^^fffwwwppppppppppppppppppppppppfffpppfffppppppppp––––––––––––   ––––––      ––––––   ––––––   –––   –––   –––   –––   –––   ––––––––––––‘‘‘–––‘‘‘–––––––––‘‘‘‘‘‘–––––––––   –––   ––––––––––––‘‘‘‘‘‘††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††††††††www^^^GGGGGGNNNppp–––ªªªwwwVVV‘‘‘çççýýýïïïýýýýýýçççÎÎΰ°°ÎÎÎ×××ÎÎÎÁÁÁªªªVVVEEE===EEEGGGGGGGGG–––çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßß¶¶¶GGG""""""""""""---"""""""""---""""""---"""---""""""---"""---"""""""""---333---"""------""""""---"""---333===GGGNNNGGGGGG===---"""""""""---===EEEGGGGGG===333---""""""""""""""""""---EEEú��ú��GGGGGGGGGNNNNNNVVV^^^^^^^^^^^^ffffffµ77ú��çú��ú��ú��ú��fffppppppfffffffffppppppfffpppfffffffffpppfffpppfffpppfffpppfffffffffpppfffpppffffffffffffffffff^^^pppfffpppppppppfffpppffffffpppffffffffffffffffff^^^fffffffffffffff^^^^^^VVVffffffffffffffffffpppppppppppppppppppppppppppppppppfffpppfffpppfffpppfff––––––––––––   ––––––   –––––––––––––––                                 ––––––––––––   –––––––––‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––––––––   –––––––––‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††wwwwww†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††††††††‘‘‘†††††††††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘††††††††††††fffGGGNNNVVV†††   †††^^^VVV¶¶¶ïïïýýýïïïýýýýýýßßßÇÇÇÁÁÁÎÎÎßßßßßßçççÇÇÇ^^^EEEGGGVVVEEE===ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïßßß¶¶¶EEE"""""""""""""""---"""---""""""---""""""---"""---"""""""""---"""---"""""""""""""""""""""---EEEEEEEEEEEEGGGGGG===333"""---333===333---EEEGGGGGGEEE333""""""""""""""""""""""""333EEEú��ú��GGGGGGNNNNNNVVVVVVVVV^^^^^^ffffffSS÷ø��‰MMú��ú��ú��ú��pppfffpppffffffpppfffppppppfffffffffpppfffpppfffpppfffpppffffffpppfffpppffffffffffffpppffffffffffffpppfffppppppffffffpppfffpppfffffffffffffffffffff^^^fff^^^ffffff^^^fff^^^^^^^^^^^^fffpppfffppppppppppppppppppwwwwwwwwwwwwpppppppppppppppfffppppppfff––––––––––––   –––            –––         ªªª         –––      –––   –––   ––––––––––––‘‘‘‘‘‘††††††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘–––––––––   –––‘‘‘‘‘‘†††‘‘‘‘‘‘†††††††††www†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††††††††††††††††††††‘‘‘†††††††††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††wwwfffGGGNNN^^^–––°°°pppNNNppp×××ýýýýýýýýýýýýýýýïïï×××¶¶¶ÎÎÎÎÎÎÁÁÁ×××°°°†††www^^^EEEEEEwwwÎÎÎïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý××תªª===""""""---"""---"""""""""---""""""------"""---"""---"""---""""""""""""""""""""""""---======NNNGGGNNN333333---""""""---333NNNNNNEEE---===333---""""""---EEE333"""""""""""""""""""""===GGGú��ú��GGGGGGGGGNNNVVVVVVVVV^^^^^^fffhddÞú��¾00fffú��ú��ú��ú��ppppppfffpppfffppppppffffffffffffppppppffffffppppppffffffppppppppppppffffffpppffffffffffffffffffpppfffppppppfffpppffffffpppffffffffffffffffff^^^fffffffff^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^ffffffppppppppppppfffppppppppppppfffpppppppppfffppppppfffpppppp‘‘‘––––––   ––––––––––––‘‘‘‘‘‘††††††wwwwwwwwwwwwwwwwwwwwwwwwwww††††††‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘††††††††††††www††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††††††††††††††‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††††††††††††††www^^^NNNVVV–––ªªª†††NNNVVV‘‘‘çççýýýïïïïïïýýýýýýçççÁÁÁ   ¶¶¶ÇÇÇ××××××ßßßÁÁÁwwwNNNNNNwwwÇÇÇçççïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï×××   ==="""---"""---""""""---"""---"""---"""---------333------------------"""------333---EEEGGGNNNGGG===---"""""""""---===EEENNNNNNGGG==="""""""""---======GGGNNNEEE"""""""""""""""""""""EEEEEEú��ú��GGGGGGNNNNNNNNNVVVVVV^^^^^^fff°22ú��ækbbfffú��ú��ú��ú��pppfffpppfffppppppppppppfffpppppppppfffpppfffppppppfffpppfffpppppppppfffffffffpppffffffffffffpppfffpppfffpppfffppppppfffpppffffffffffffffffff^^^fffffffff^^^^^^^^^^^^^^^^^^VVVVVV^^^^^^ffffffffffff^^^fffpppppppppfffpppfff^^^^^^ffffffffffffpppfffppp‘‘‘‘‘‘†††wwwpppffffff^^^^^^fff^^^ffffffpppfff^^^VVV^^^^^^^^^^^^^^^^^^fffpppwww†††‘‘‘‘‘‘†††††††††††††††††††††††††††wwwwwwwww†††‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††††††††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††wwwfffNNNfffVVVNNN^^^°°°ïïïýýýýýýýýýýýýïïï××תªª   °°°ÎÎÎßßßßßß°°°wwwÇÇÇÁÁÁ×××ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï×××–––==="""---"""---"""---"""---"""---"""333=====================333333333EEEEEEGGGEEE---EEE===333"""""""""---333===GGGNNNEEEEEE333"""""""""---333EEEGGGGGGGGG==="""""""""""""""""""""---EEEEEEú��ú��GGGGGGNNNNNNVVVVVV^^^^^^^^^SSöø��ŠMMppppppú��ú��ú��ú��pppppppppppppppppppppfffpppfffppppppppppppffffffpppfffpppppppppfffpppfffffffffffffff^^^ffffffpppfffpppfffppppppfffppppppfffpppfffffffff^^^^^^fffffffff^^^fff^^^^^^^^^^^^VVV^^^^^^fff^^^fff^^^VVVNNNVVVfffppppppfffffffffppp^^^^^^^^^^^^fffffffffpppffffff^^^^^^^^^^^^^^^^^^ffffffppppppppppppwwwwwwpppppppppfffffffffffffff^^^^^^VVVfffwww‘‘‘†††wwwppppppfffpppppppppppppppppp†††wwwwwwwww†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘–––––––––‘‘‘‘‘‘‘‘‘–––‘‘‘––––––‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††pppNNNVVVVVVNNNNNNNNNfffÎÎÎýýýýýýýýýïïïýýýïïïÎÎΰ°°ªªª–––ÎÎÎ×××ÇÇÇ‘‘‘¶¶¶¶¶¶ppp   ªªªßßßïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΖ––333---"""---"""---"""---"""------===GGGGGGEEEEEE=========EEEEEEGGGNNNNNNGGGGGG==="""""""""""""""333EEEGGGNNNGGGEEE333---"""""""""------===NNNEEE===333"""""""""""""""""""""ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��^^^^^^^^^fffàú��»++pppppppppú��ú��ú��ú��fffppppppfffppppppfffppppppppppppppppppfffpppfffpppfffpppppppppffffffffffffffffffffffffppppppfffppppppfffpppfffpppfffppppppfffpppfffVVVNNNffffffffffff^^^^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^VVVVVVNNNNNN^^^ffffff^^^^^^^^^^^^VVV^^^VVVVVV^^^fffppppppVVVVVVVVVVVV^^^^^^^^^^^^fff^^^fffffffff^^^fffffffffffffff^^^fffffffffffffffpppppppppwwwpppfff^^^^^^^^^fff^^^fffffffffpppppp†††††††††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††‘‘‘†††‘‘‘‘‘‘††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––––––––   –––   ––––––––––––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††pppVVVGGGNNNGGGNNNNNNßßßïïïýýýïïïïïïýýýïïïßßß×××°°°‘‘‘°°°ÎÎζ¶¶ÎÎÎÇÇÇpppwwwÁÁÁçççýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΆ††---"""---""""""---"""---"""------GGG^^^NNNNNNGGGGGGGGGNNNVVVNNNNNNGGGEEE------""""""""""""333EEEGGGNNNEEE===333"""""""""---===EEE===---GGG333---""""""""""""""""""ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��^^^^^^ffffffú��èlbbfffppppppú��ú��ú��ú��ppppppfffppppppppppppfffppppppppppppppppppfffpppfffpppfffpppffffffpppfffffffffffffffffffffpppfffpppfffpppfffffffffpppfffppppppffffffVVV^^^pppffffff^^^^^^^^^^^^^^^VVVVVVVVVVVVVVVVVVVVV^^^NNNNNNNNN^^^VVV^^^ffffffNNNEEE333333EEEGGGNNN^^^fffppp^^^^^^wwwwwwpppfffpppfffffffffffffffpppppppppppppppppppppwww††††††‘‘‘†††wwwppp^^^^^^^^^VVV^^^^^^^^^fff^^^pppppppppppppppwwwwww††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––––––––––––––   –––   –––   –––––––––––––––––––––––––––‘‘‘‘‘‘wwwVVVGGGGGGGGGNNNVVV–––ïïïýýýýýýýýýïïïïïïýýýçç窪ª††††††‘‘‘‘‘‘ÁÁÁÇÇÇ‘‘‘fffªªªçççýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇwww------"""---"""---"""---"""---333VVVfffVVVVVVVVVfff^^^NNNGGGEEE333---"""""""""---333"""---GGGEEEEEE333"""""""""---333EEEEEEGGGEEE333---333""""""""""""""""""""""""""""""EEEEEEGGGú��ú��NNNVVVVVV^^^^^^ffffffffffffú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ffffffpppfffppppppfffppppppppppppfffppppppfffppppppfffffffffpppffffffffffffpppffffffpppfffpppffffffpppffffffppppppfffpppfff^^^fffpppfffpppfffffffff^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVNNNNNNVVVVVVVVV^^^VVV^^^EEE"""---"""---333NNNVVVfffpppffffff††††††††††††††††††‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘††††††wwwwwwfffffffffVVV^^^VVVVVVVVV^^^^^^^^^^^^^^^ffffffpppfffppppppwwwwww††††††††††††‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘––––––––––––––––––––––––               –––––––––               –––   ––––––––––––‘‘‘wwwVVVGGGGGGNNNGGG^^^ÁÁÁïïïýýýýýýýýýïïïïïïïïïÎÎÎÁÁÁªªª†††–––ÇÇǶ¶¶†††°°°çççýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÎÎÎfff---"""---"""---------------===GGGppp^^^VVVfff^^^VVVGGG===""""""---======333===GGGEEE---"""===---"""""""""333===GGGGGGGGGNNN===---""""""""""""""""""""""""""""""""""""---EEEEEEGGGú��ú��VVV^^^^^^ffffffffffffpppfffú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ppppppppppppppppppppppppppppppfffppppppfffpppfffpppfffpppfffffffffffffffpppfffppppppffffffpppfffpppffffffpppfffpppfffffffffppppppfffffffffffffffffffff^^^^^^^^^^^^^^^VVVNNNNNNVVVVVVNNNNNNNNNNNNVVVNNNNNNNNNEEE---""""""------NNN^^^ffffffffffffwwwpppwwwwwwwwwwwwfffppppppppppppwww†††wwwfff^^^^^^VVVVVV^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^ffffffpppwwwwwwwwwwww††††††††††††‘‘‘–––––––––––––––––––––‘‘‘†††‘‘‘†††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘–––––––––   –––   –––                           –––            –––         ––––––––––––‘‘‘‘‘‘pppVVVGGGGGGNNNNNNpppÎÎÎýýýýýýýýýýýýïïïïïïýýýïïïßßß°°°–––   –––°°°†††ÇÇÇçççýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇfff------"""------333===EEEEEEVVVfffwwwfff^^^^^^GGG---""""""""""""===NNNNNNGGGNNNGGG===---""""""""""""---EEEEEEEEEEEE========="""""""""""""""""""""""""""""""""""""""---EEEEEEGGGú��ú��^^^^^^fffffffffppppppppppppppppppppppppppppppú��ú��ú��ú��pppfffpppppppppppppppfffpppppppppfffpppfffpppppppppfffpppfffpppffffffffffffpppppppppppppppfffpppfffffffffpppfffppppppfffpppfffpppffffffffffffffffffffffff^^^^^^^^^^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVNNNNNNGGGNNNGGGGGGGGG===333333---===VVVffffff^^^^^^ffffffffffff^^^VVVNNNNNNNNN^^^^^^^^^fffpppppppppfffpppffffffpppfff^^^^^^^^^^^^^^^^^^^^^ffffffffffffpppwwwwwwwww†††††††††‘‘‘–––––––––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––   –––   –––                        –––                     ªªª      ––––––––––––‘‘‘–––‘‘‘†††fffVVVGGGGGGGGGNNN†††ßßßïïïýýýýýýýýýýýýýýýýýýýýý×××ÁÁÁªªª††††††www–––ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇVVV------"""333GGGGGGNNN^^^^^^wwwppppppVVVNNNEEE333---"""333===---EEENNNNNN===333------"""---333333"""===EEE===---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""===EEEGGGVVVú��ú��ffffffppppppppppppppppppppppppwwwwwwwwwppppppú��ú��ú��ú��fffpppppppppppppppppppppppppppppppppppppppfffppppppfffppppppffffffffffffppppppppppppppppppfffppppppfffffffffpppfffpppfffffffffppppppfffffffffffffffppp^^^^^^^^^^^^^^^fffVVV^^^VVVVVVVVVVVVVVVVVVVVVNNNGGGNNNGGGGGGEEEEEEEEEGGGNNNVVV^^^ffffff^^^fffffffff^^^VVVNNNNNNNNNVVVVVVVVVffffffppppppfffwwwpppppppppfffpppfff^^^^^^^^^fffffffffpppppppppppppppwwwwwwwww†††‘‘‘‘‘‘––––––   –––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––   –––            ªªª               ªªª   ªªªªªª   ªªªªªªªªªªªª   –––   –––––––––––––––‘‘‘‘‘‘†††wwwNNNGGGGGGNNNVVV–––çççýýýýýýýýýýýýýýýýýýýýýïïïïïïÎÎΖ––   –––‘‘‘çççýýýýýýýýýýýýýýýýýýýýýýýýïïïçççÇÇÇNNN---"""---333VVVNNNVVV^^^ppp^^^^^^NNN===NNNGGGEEEEEEEEEGGGNNN333---333""""""""""""EEEEEEGGGNNNGGG---"""---"""""""""""""""---""""""===333"""""""""""""""""""""333GGGNNN^^^fffú��ú��ppppppppppppppppppppppppwwwwwwwwwppppppppppppú��ú��ú��ú��pppppppppppppppppppppwwwppppppfffppppppppppppfffppppppfffpppfffffffffpppppppppppppppppppppfffpppfffpppfffpppfffpppfffffffffpppffffffffffff^^^^^^ffffff^^^^^^fff^^^fff^^^^^^^^^VVVVVVVVVVVV^^^VVVVVVVVVVVVNNNNNNGGGNNNGGGGGGGGGGGGNNNVVV^^^^^^fff^^^ffffffVVVNNNNNNVVVVVVVVVVVVVVV^^^fff^^^VVVVVV^^^^^^fffffffff^^^fff^^^^^^ffffffppppppwwwwwwwwwpppwwwwwwwww†††††††††‘‘‘––––––   –––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††‘‘‘‘‘‘–––‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––––––––   –––                        ªªª   ªªªªªªªªªªªªªªª   ªªªªªªªªªªªªªªª   ªªª   –––   ––––––––––––‘‘‘‘‘‘†††pppVVVGGGGGGNNN^^^¶¶¶ïïïýýýýýýýýýýýýýýýýýýýýýýýýçççÎÎÎ××תªª‘‘‘‘‘‘çççýýýýýýýýýýýýýýýýýýýýýýýýýýýßßßÁÁÁGGG------"""333GGGGGGEEEEEENNNNNNNNNNNNGGG^^^fffNNNEEENNNGGG===""""""---333---===EEENNNNNNEEE333333""""""""""""""""""""""""333333"""===EEE333""""""""""""""""""333GGG^^^fffppppppwwwpppwwwwwwwwwwwwpppwwwwwwwwwwwwwwwppppppwwwppppppppppppppppppppppppppppppppppppppppppppppppfffppppppffffffpppfffppppppffffffffffffpppppppppwwwppppppppppppfffpppfffppppppfffffffffppppppffffff^^^^^^fff^^^ffffff^^^^^^^^^^^^ffffff^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^VVVVVVVVVVVVNNNNNNGGGEEEEEENNNVVVVVVVVV^^^^^^ffffffppp^^^VVVVVVVVVVVVVVVfffffffffpppfff^^^^^^^^^ffffffpppppppppwwwppppppppppppwwwwww††††††‘‘‘–––––––––––––––   ––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘–––   ––––––‘‘‘‘‘‘––––––––––––––––––      –––               ªªª   ªªª      ªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª   ªªª            –––‘‘‘‘‘‘††††††pppVVVGGGGGGNNNfffÎÎÎïïïýýýýýýýýýýýýýýýýýýýýýýýýïïïýýýççç×××ÁÁÁÎÎÎýýýýýýýýýýýýýýýýýýýýýýýýïïïßßß¶¶¶EEE---""""""---333""""""333VVVNNNVVVfffffffff^^^NNN===---"""""""""333EEEVVVGGGGGGNNN===333"""""""""""""""""""""EEE===GGGEEE"""GGGNNN333"""""""""""""""""""""---===NNNfffppppppwwwwwwpppwwwwwwwwwwwwpppwwwwwwwwwpppwwwpppppppppwwwwwwppppppppppppppppppwwwpppppppppppppppfffpppppppppfffpppppppppfffpppffffffffffffppppppppppppppppppppppppfffppppppfffffffffpppffffffpppffffffppp^^^VVV^^^fff^^^fff^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^VVV^^^fff^^^^^^VVVVVVNNNNNN===GGGNNNNNNVVVVVV^^^^^^ffffffffffffVVVVVVNNNVVVVVV^^^pppfffpppppppppppppppfffpppppppppwwwwwwwwwppppppwwwwww†††††††††‘‘‘‘‘‘–––––––––––––––––––––––––––   ––––––‘‘‘‘‘‘†††††††††††††††‘‘‘‘‘‘––––––––––––   –––   ––––––   –––   –––   –––   –––   –––         ªªª      ªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°ªªªªªª°°°°°°ªªªªªªªªª            –––‘‘‘‘‘‘‘‘‘††††††wwwVVVGGGNNNNNNwww×××ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççççççßßßýýýýýýýýýýýýýýýýýýýýýýýýïïïßßß°°°==="""""""""""""""""""""---VVV^^^^^^fff^^^VVVEEE333""""""---333===GGGGGGGGGGGG333---"""""""""""""""""""""""""""---NNNGGGVVVEEE---GGGGGG---""""""""""""333===GGG^^^ffffffpppppppppwwwwwwwwwwwwwwwwwwwwwwwwwwwpppwwwppppppwwwwwwwwwpppppppppppppppppppppwwwpppppppppppppppfffppppppppppppppppppfffpppfff^^^ffffffppppppppppppppppppfffpppppppppffffffpppffffffpppfffpppfffpppffffffVVV^^^fffffffff^^^^^^fff^^^fffffffff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^VVVVVVVVVVVVVVVNNNVVVVVVVVVVVV^^^^^^fffpppfff††††††wwwwwwppp^^^fff^^^ffffffwwwwwwwwwwwwpppppppppwwwwwwwwwwww†††††††††††††††††††††‘‘‘‘‘‘––––––‘‘‘––––––––––––––––––   ––––––‘‘‘‘‘‘‘‘‘†††††††††††††††‘‘‘––––––   –––––––––––––––   –––         –––         ––––––                     ªªª   ªªªªªªªªª°°°ªªª   ªªªªªªªªªªªª°°°°°°°°°ªªª°°°ªªªªªªªªªªªªªªªªªªªªª   ªªª      –––‘‘‘‘‘‘‘‘‘†††www^^^GGGGGGVVV‘‘‘ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï×××   ==="""---"""""""""""""""---EEEGGGNNNGGGGGG===333---======EEENNNGGG===------""""""""""""""""""""""""""""""333""""""---"""EEENNNEEEEEE---"""===---"""""""""---===EEENNNVVVffffffppppppppppppwwwpppwwwwwwpppwwwpppwwwppppppwwwpppwwwwwwwwwwwwpppppppppppppppppppppwwwpppwwwpppppppppppppppfffpppppppppfffppppppffffffffffffpppppppppppppppppppppppppppfffpppffffffppppppffffffpppfffpppffffffVVV^^^^^^fffppp^^^^^^ffffff^^^^^^ffffff^^^fff^^^ffffff^^^^^^^^^^^^^^^^^^fff^^^^^^^^^VVVfff^^^VVVVVVVVVVVV^^^^^^ffffffpppfffwwwppppppfffpppppppppwwwwwwwwwwwwwwwwwwwww††††††††††††‘‘‘†††††††††‘‘‘––––––––––––‘‘‘––––––––––––   –––   ––––––†††‘‘‘††††††††††††‘‘‘––––––         –––   –––––––––                        –––                  ªªªªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°ªªª°°°°°°ªªªªªª°°°ªªªªªª°°°°°°ªªªªªª   ªªª      –––––––––‘‘‘‘‘‘www^^^GGGNNNVVV   çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï×××–––333------""""""""""""""""""---"""333333333EEEEEEEEEGGGVVVGGGEEE---"""""""""""""""""""""""""""""""""---333GGG333"""333"""---333"""""""""""""""""""""---===GGGNNN^^^ffffffpppfffpppfffppppppppppppppppppppppppwwwpppwwwpppppppppppppppwwwppppppppppppppppppwwwwwwpppwwwwwwpppwwwpppfffppppppppppppfffpppfffpppfffffffffwwwppppppppppppppppppppppppfffpppppppppppppppppppppfffpppfffpppfff^^^VVVfffffffff^^^^^^^^^^^^^^^^^^fff^^^ffffff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^VVV^^^VVVVVV^^^fffpppfffffffffpppwwwwwwwwwwwwwwwpppwwwppppppwww††††††††††††††††††††††††‘‘‘†††‘‘‘–––––––––––––––––––––––––––   ––––––‘‘‘‘‘‘††††††††††††††††††–––         –––      ––––––   –––         ªªªªªªªªª                     ªªª   ªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªª°°°°°°°°°°°°°°°ªªª°°°ªªª°°°ªªªªªª°°°ªªª°°°°°°ªªªªªªªªªªªªªªª      –––   ‘‘‘†††www^^^NNNNNN^^^°°°çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï××ב‘‘---------""""""""""""""""""""""""------===EEENNNGGGEEE333---"""""""""""""""""""""""""""""""""333333EEENNNNNN"""------""""""""""""""""""333EEEGGGVVV^^^^^^fffpppffffffpppfffpppppppppppppppppppppwwwpppwwwppppppppppppwwwpppwwwppppppppppppfffpppwwwwwwpppwwwwwwwwwppppppppppppfffpppppppppfffpppppppppffffffpppwwwppppppppppppppppppppppppfffppppppfffpppppppppfffpppfffpppfff^^^VVV^^^fffffffff^^^^^^ffffff^^^ffffffffffffffffff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^ffffff^^^^^^^^^VVVVVV^^^fffffffffffffffwwwwwwppppppwwwwwwwwwwww†††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘––––––––––––––––––‘‘‘††††††‘‘‘††††††‘‘‘‘‘‘               –––   –––   –––   –––                                 ªªª      ªªª   ªªªªªª°°°°°°°°°°°°°°°ªªª°°°°°°°°°°°°°°°°°°°°°ªªªªªª°°°°°°ªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°°°°°°°ªªªªªª   ––––––‘‘‘†††fffNNNNNNfffÁÁÁïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç×××333---""""""---"""333EEE======------"""===EEE===333"""""""""""""""""""""""""""333"""""""""EEENNNVVVGGGEEEEEE"""""""""""""""""""""---===EEENNNVVV^^^^^^ffffffpppffffffpppppppppppppppppppppppppppppppppwwwppppppppppppppppppwwwppppppppppppfffpppwwwppppppwwwppppppppppppppppppppppppppppppppppppppppppffffffppppppwwwppppppppppppppppppfffppppppppppppppppppffffffpppfffpppfff^^^NNN^^^ffffffffffff^^^fff^^^fffffffffffffff^^^fff^^^ffffff^^^^^^^^^^^^^^^^^^^^^fff^^^fffffffff^^^^^^^^^^^^^^^^^^ffffffppppppffffffwwwpppwww†††††††††www††††††‘‘‘††††††††††††‘‘‘‘‘‘‘‘‘††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘––––––‘‘‘––––––––––––‘‘‘‘‘‘‘‘‘††††††††††††††††††–––         –––            –––   –––   –––   –––                     ªªªªªª   ªªª   ªªª   ªªªªªª°°°ªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶°°°ªªªªªª   ––––––‘‘‘fffNNNGGGpppÎÎÎýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç×××333------=========NNNVVVVVVEEE""""""---------"""""""""""""""""""""---"""===NNNEEE==="""NNNNNNGGGEEE---"""""""""""""""---===GGGNNNVVV^^^^^^^^^ffffffpppfffffffffpppppppppffffffpppfffppppppppppppppppppppppppppppppwwwpppppppppwwwppppppwwwpppwwwppppppppppppfffppppppppppppppppppfffppppppfffffffffppppppwwwppppppppppppppppppppppppfffpppppppppfffppppppfffpppfffffffffNNNVVV^^^fffffffff^^^^^^fff^^^^^^fffffffffffffff^^^ffffff^^^^^^fff^^^^^^^^^fff^^^^^^fffffffff^^^^^^^^^^^^^^^^^^ffffffpppffffffffffff†††††††††††††††††††††††††††††††††‘‘‘†††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††www†††‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––––––––‘‘‘†††††††††††††††††††††‘‘‘–––                     –––                  –––   –––            ªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°ªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°ªªª°°°°°°ªªª°°°°°°°°°¶¶¶°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶°°°¶¶¶°°°°°°ªªª   –––†††wwwfffVVVNNN×××ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç×××ppp333333NNNVVVVVV^^^fff^^^GGG---""""""""""""""""""""""""""""""""""""333EEEGGGVVVVVV==="""EEE---""""""""""""""""""333===GGGVVVVVV^^^^^^^^^^^^fffffffffffffffpppfffpppfffppppppppppppppppppppppppppppppfffppppppppppppppppppppppppppppppppppppwwwpppppppppfffppppppppppppppppppfffppppppfffpppffffffpppwwwpppwwwpppppppppppppppwwwpppppppppppppppppppppffffffpppfffffffffVVVNNN^^^fffffffff^^^^^^fff^^^ffffffffffffffffffffffff^^^^^^fff^^^^^^^^^fff^^^fffffffff^^^ffffff^^^^^^^^^^^^^^^ffffffffffffpppfffffffff‘‘‘––––––††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––‘‘‘††††††††††††††††††‘‘‘–––                                                               ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª¶¶¶°°°°°°ªªª°°°°°°°°°°°°°°°°°°°°°ªªª°°°°°°°°°ªªª°°°ªªª°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°   ––––––‘‘‘†††pppVVVNNN†††ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßß×××ppp333NNNpppfffNNNVVV^^^VVVNNNEEE"""---"""333=========EEE======EEENNNNNNVVVGGGGGG---""""""""""""""""""---333EEEGGGVVV^^^^^^^^^^^^^^^fffffffffffffffffffffpppfffpppfffpppfffpppfffppppppfffpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppffffffppppppppppppwwwppppppppppppppppppfffppppppppppppppppppppppppfffffffff^^^NNN^^^fffffffff^^^^^^fff^^^fff^^^ffffffffffffffffff^^^ffffff^^^ffffff^^^ffffffffffffffffffffffff^^^VVV^^^^^^fffffffffffffffffffffffffff––––––‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘––––––‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘†††††††††††††††––––––                     ªªª   ªªªªªª                  ªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°ªªªªªª°°°°°°°°°ªªª°°°ªªª°°°°°°°°°°°°°°°°°°ªªª°°°°°°¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶¶¶¶°°°ªªªªªª      ‘‘‘†††wwwVVVVVV‘‘‘ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïççç×××fff===VVVfff^^^GGGVVVNNNGGGEEE333"""333===333===GGGNNNGGGVVVVVVVVVGGG^^^VVVVVVEEE333---""""""""""""333===EEEGGGVVV^^^^^^fff^^^fff^^^^^^fffffffffffffffffffffffffffffffffpppfffppppppfffpppppppppfffppppppppppppppppppfffpppfffpppwwwppppppwwwpppwwwppppppppppppppppppppppppppppppppppppffffffppppppwwwpppppppppppppppppppppppppppppppppppppppppppppfffpppffffffppp^^^VVVVVVfffffffff^^^^^^^^^fff^^^fffffffffffffffffffffffffff^^^fff^^^^^^fff^^^ffffff^^^ffffffffffff^^^^^^^^^^^^fff^^^ffffffpppfffffffffffffff––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘   –––   ‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––‘‘‘††††††‘‘‘††††††††††††‘‘‘–––                           ªªªªªªªªª            ªªª   ªªªªªªªªª°°°ªªªªªªªªªªªªªªªªªª°°°ªªª°°°¶¶¶°°°°°°°°°¶¶¶¶¶¶°°°¶¶¶°°°°°°°°°ªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°ªªª°°°ªªª°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶ªªªªªª–––‘‘‘wwwVVVVVV–––çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïççç×××^^^GGGVVVVVVVVVGGGNNNGGGEEE---"""333GGGNNN======GGGGGGVVVfffGGG^^^GGGGGG===---"""""""""""""""---===EEEGGGNNNVVV^^^^^^^^^ffffff^^^^^^^^^fffffffff^^^fffffffffffffffffffffffffffffffffpppppppppfffpppfffpppppppppppppppppppppfffpppwwwppppppwwwpppwwwpppppppppppppppwwwppppppppppppppppppffffffpppppppppppppppppppppppppppppppppfffppppppppppppppppppfffppppppfffpppfffNNNVVVffffffpppfffffffffffffffffffffffffffffffffpppfff^^^^^^fff^^^ffffff^^^fffffffffffffff^^^fff^^^fff^^^VVV^^^^^^^^^fffpppffffffffffffffffff–––––––––‘‘‘‘‘‘‘‘‘––––––‘‘‘––––––––––––––––––––––––––––––‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––††††††‘‘‘†††††††††––––––                              ªªªªªª         ªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°ªªª°°°ªªªªªª°°°¶¶¶¶¶¶°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°°°°°°°°°°°°°ªªª°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶ÁÁÁ¶¶¶°°°¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶°°°   †††www^^^^^^   çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïßßß×××VVVEEEEEEGGGVVVGGGGGGEEE===333---===GGGGGG333---======VVVGGG---===333"""""""""""""""""""""333===GGGGGGNNNVVVVVV^^^ffffffffffff^^^ffffff^^^ffffff^^^^^^fffffffffffffffffffff^^^fffffffffpppffffffffffffppppppppppppppppppppppppppppppppppppppppppwwwpppppppppppppppwwwpppppppppfffpppfffpppfffppppppppppppwwwpppppppppppppppppppppppppppppppppppppppfffppppppfffpppfffVVVVVVffffffpppfffffffffffffffffffffpppfffffffffffffff^^^fff^^^^^^^^^^^^ffffffffffffffffffffffff^^^^^^^^^^^^^^^^^^ffffffffffffpppfffffffffffffff–––––––––‘‘‘‘‘‘‘‘‘      ––––––––––––––––––––––––––––––†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––†††††††††††††††††††††‘‘‘––––––   –––   –––      ªªªªªªªªªªªª   ªªª         ªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÁÁÁÇÇÇÁÁÁÁÁÁ¶¶¶°°°   ‘‘‘^^^^^^°°°ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïßßßÎÎÎGGG333===GGGVVVGGG333333333333===EEEEEE===333"""---333===333""""""""""""""""""""""""---===EEEGGGNNNVVVVVV^^^^^^^^^ffffffffffff^^^fffffffffffffffffffff^^^ffffffffffffffffff^^^fffffffffpppfffffffffpppppppppppppppppppppppppppppppppwwwpppppppppppppppfffwwwppppppwwwpppppppppppppppfffppppppfffpppppppppwwwwwwpppwwwppppppppppppppppppppppppppppppfffppppppppppppppp^^^NNNfffffffffffffff^^^ffffffffffffpppfffffffffffffffffffff^^^^^^^^^fffffffffpppfffffffffffffff^^^fff^^^^^^^^^^^^^^^fffffffffpppffffffpppffffffppp––––––––––––‘‘‘–––   –––   ––––––––––––‘‘‘––––––‘‘‘††††††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘––––––†††wwwwww††††††††††††––––––      –––   –––      ªªªªªªªªª      ªªª   ªªªªªªªªªªªªªªªªªªªªª°°°°°°ªªª°°°¶¶¶°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÁÁÁ¶¶¶ÁÁÁ°°°ªªª–––^^^fff¶¶¶çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççßßß¶¶¶EEE===EEENNNNNN---"""------------"""333===333"""""""""""""""""""""""""""""""""333EEEGGGNNNVVVVVV^^^^^^^^^ffffffffffffffffff^^^fffffffffpppffffff^^^ffffffffffffffffff^^^^^^^^^fffffffffffffffffffffppppppfffppppppfffppppppppppppppppppppppppppppppppppppwwwpppwwwpppppppppfffpppfffppppppppppppppppppppppppppppppppppppppppppppppppppppppfffppppppppppppppppppfff^^^VVV^^^ffffffpppffffffffffffpppfffffffffffffffpppfffffffff^^^fff^^^fffffffffpppfffffffffffffff^^^^^^^^^^^^^^^^^^^^^fff^^^fffffffffffffffffffffffffff–––   –––––––––––––––   –––   ––––––––––––†††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––wwwwww†††††††††‘‘‘––––––   –––   ––––––      ªªªªªªªªª         ªªª   ªªªªªª      ªªªªªª°°°ªªª°°°°°°°°°ªªª°°°°°°¶¶¶¶¶¶°°°°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶°°°¶¶¶¶¶¶°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÁÁÁÇÇÇÇÇÇÁÁÁÁÁÁ°°°ªªª–––^^^fffÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýççç×××–––333EEEGGGNNN333"""""""""---""""""""""""---""""""""""""""""""""""""""""""---===EEENNNVVVVVV^^^^^^^^^^^^^^^fffffffffffffff^^^ffffffffffffpppffffff^^^ffffff^^^fffffffff^^^fffffffffffffffffffffffffffppppppppppppfffpppppppppppppppwwwpppppppppwwwwwwpppwwwpppwwwwwwpppppppppppppppfffpppfffppppppwwwppppppfffppppppppppppppppppfffpppwwwpppppppppfffppppppppppppffffffVVVVVVfffppppppfffffffffffffffffffffppp^^^^^^ffffffffffff^^^fffffffffffffffpppffffffpppffffff^^^fff^^^^^^fff^^^^^^fff^^^ffffffpppfffffffffffffffffffffªªª      ––––––   ––––––            –––‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘––––––pppppp†††††††††‘‘‘‘‘‘––––––         –––         ªªª                  ªªª   ªªª   ªªª   ªªªªªªªªªªªªªªªªªªªªªªªª°°°¶¶¶°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÇÇÇÇÇÇÁÁÁÁÁÁÁÁÁ¶¶¶ªªª–––†††fffpppÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýýýýççç×××ppp------333333"""""""""""""""""""""""""""""""""""""""""""""""""""---333EEEGGGNNNVVV^^^^^^^^^^^^^^^^^^^^^fff^^^ppppppffffff^^^fff^^^fffffffff^^^fffffffffffffff^^^ffffff^^^fffffffffffffffpppffffffpppppppppfffppppppfffpppppppppppppppwwwwwwppppppppppppwwwpppwwwwwwpppppppppffffffpppfffppppppwwwpppppppppppppppwwwpppwwwpppppppppwwwppppppppppppppppppwwwpppffffffVVVVVVfffpppfffpppfffpppfffpppffffffpppfff^^^ffffffffffff^^^fffffffffpppfffpppfffpppfffffffffffffff^^^^^^^^^^^^^^^^^^ffffffffffffffffffffffffpppfffffffff      –––      –––            –––‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––fffpppwww†††††††††‘‘‘–––      –––         –––      ªªª   ªªª                  ªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°¶¶¶°°°ªªª°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶°°°°°°°°°¶¶¶¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÎÎÎÇÇÇÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÁÁÁÁÁÁÁÁÁ°°°   †††pppwwwÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýççç×××^^^---"""---""""""""""""""""""""""""""""""""""""""""""""""""333===EEEGGGVVV^^^^^^^^^^^^^^^fffffffff^^^fffpppfffpppfff^^^^^^fffffffffffffff^^^ffffff^^^fff^^^^^^fffffffffffffffpppfffpppfffpppfffpppfffpppfffpppffffffpppfffpppppppppppppppppppppppppppwwwwwwwwwwwwwwwppppppfffppppppfffppppppwwwwwwwwwppppppwwwwwwpppwwwpppwwwpppwwwpppwwwpppppppppppppppppppppfff^^^NNN^^^fffppppppffffffpppfffffffffffffff^^^^^^fffpppfffffffffffffffpppfffpppffffffpppfffpppfff^^^^^^^^^^^^^^^^^^ffffff^^^^^^fffpppppppppffffffffffffffffff                        ––––––†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘ffffffwww†††††††††‘‘‘‘‘‘––––––––––––                     ªªª   ªªª                     ªªªªªªªªªªªª   ªªª      ªªªªªªªªª°°°ªªªªªªªªªªªª°°°°°°°°°¶¶¶°°°¶¶¶°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁÇÇÇÇÇÇÁÁÁ¶¶¶¶¶¶ÁÁÁÇÇÇÏ££àbbí11õø÷óæ))¾DD}eewwwÎÎÎïïïýýýýýýýýýýýýýýýýýýçççÎÎÎNNN---""""""""""""""""""""""""""""""""""""""""""""""""---333EEEGGGNNNVVV^^^fff^^^ffffff^^^fff^^^fffffffffpppfffpppfff^^^fffffffffffffffffffffffffff^^^^^^fff^^^fff^^^ffffffffffffffffffpppffffffpppfffpppfffffffffppppppppppppppppppppppppppppppfffpppppppppwwwwwwwwwwwwppppppfffppppppfffpppwwwpppwwwppppppwwwwwwwwwwwwppppppwwwwwwpppwwwpppppppppppppppppppppfff^^^VVV^^^fffpppfffpppfffpppffffff^^^fffppp^^^^^^ffffffffffffffffffppppppfffppppppffffffpppfffffffffffffff^^^^^^^^^^^^^^^fffffffffpppffffffpppfffffffffffffff^^^                     –––‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘ppp^^^www†††††††††‘‘‘‘‘‘‘‘‘––––––                              ªªª                     ªªª   ªªª               ªªªªªª°°°ªªª   ªªªªªªªªª°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°ªªª°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶¶¶¶ÁÁÁÁÁÁÇÇÇÁÁÁÁÁÁ¶¶¶ÇÇÇÇÇÇÇÇÇÇÇÇú��ú��ú��ú��ú��ú��ú��ú��ú��ñ		“]]wwwÎÎÎïïïýýýýýýýýýýýýïïïçççÇÇÇEEE"""""""""""""""""""""""""""""""""""""""---333EEEGGGVVVVVV^^^^^^^^^ffffffffffffffffffffffffffffffpppfffpppfff^^^ffffffffffffffffffffffff^^^ffffff^^^fff^^^fff^^^fff^^^fffffffffpppffffffpppfffpppfffffffffffffffpppppppppppppppfffppppppfffpppppppppwwwpppwwwppppppfffppppppffffffpppwwwpppwwwpppppppppwwwppppppwwwpppwwwpppwwwppppppwwwppppppwwwpppfffppp^^^VVV^^^fffpppffffffpppffffffffffffffffff^^^VVVfffffffffffffffppppppfffpppfffpppfffpppffffffffffffffffff^^^fff^^^^^^fff^^^ffffffpppfffppppppfffpppfffpppfffffffff               –––‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††ppp^^^ppp†††www†††‘‘‘‘‘‘––––––––––––––––––   –––               ªªª      ––––––            ªªª         –––      ªªªªªªªªªªªªªªªªªª°°°°°°°°°ªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°ªªª°°°ªªªªªª°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶ÁÁÁÇÇÇÇÇÇÇÇÇÎÎÎÎÎÎð++àxxÕªªÏÇÇØÏÏ×¢¢í00ú��ú��ú��åwwwÎÎÎïïïýýýýýýýýýïïïççç°°°===---"""""""""""""""""""""""""""""""""---===EEENNNVVV^^^^^^^^^^^^ffffffffffffffffffffffff^^^ffffffpppfffffffff^^^fff^^^ffffffffffff^^^ffffffffffff^^^fff^^^^^^^^^fffffffffffffffffffffffffffpppffffffffffffffffffpppppppppppppppppppppppppppfffppppppppppppppppppppppppppppppffffffpppppppppwwwpppppppppwwwppppppwwwpppwwwwwwwwwppppppwwwppppppwwwpppppppppfffVVVVVVfffpppfffppppppfffffffffffffffffffffVVVfffffffffffffffpppppppppffffffffffffffffffpppfffpppfff^^^^^^^^^^^^^^^^^^ffffffffffffpppffffffppppppffffffffffff^^^fff         –––‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘†††ppp^^^ppp†††††††††‘‘‘––––––––––––‘‘‘‘‘‘––––––                                             ªªª         –––   ªªªªªªªªªªªªªªªªªª°°°°°°°°°ªªª°°°ªªª°°°ªªªªªª°°°°°°°°°°°°ªªªªªª°°°ªªªªªªªªª°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶°°°°°°°°°¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁÇÇÇÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎ×××ÎÎÎ××××××ÎÎÎÎÎÎÒ··ú��ú��ú��÷ªªªÎÎÎïïïýýýýýýïïï×××ú��ú��"""""""""""""""""""""""""""---333===GGGVVV^^^^^^ffffffffffff^^^ffffffppppppffffff^^^ffffffffffffpppffffff^^^^^^^^^ffffffffffff^^^ffffffffffffffffffffffff^^^fffffffffffffffffffffffffffpppffffffppppppfffppppppppppppppppppppppppppppppppppppppppppppppppfffppppppppppppffffffpppwwwpppppppppppppppwwwppppppppppppppppppwwwpppwwwpppppppppwwwpppppppppfff^^^NNN^^^fffpppfffffffffffffffffffffffffff^^^^^^fffffffffpppppppppffffffpppffffffpppffffff^^^ffffffffffff^^^^^^^^^^^^ffffffffffffpppfffpppfffpppffffffffffffffffff^^^   –––‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††www^^^fffwwwwwwwww†††‘‘‘‘‘‘––––––––––––‘‘‘†††–––––––––         –––   –––––––––   –––   ªªª   ªªª                  ªªªªªªªªªªªªªªªªªª°°°°°°°°°ªªªªªªªªªªªªªªªªªªªªª°°°ªªª°°°ªªªªªªªªªªªªªªª°°°°°°°°°¶¶¶°°°°°°°°°¶¶¶°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°°°°¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁ°°°¶¶¶ÁÁÁÇÇÇÇÇÇÎÎÎÎÎÎ×××ÎÎÎ×××ÎÎÎ×××××××××ÎÎÎÎÎÎÚÂÂú��ú��ú��ð%%¶¶¶ªªªwwwÇÇÇïïïýýýïïï×××ú��ú��"""""""""""""""""""""---===EEENNNVVV^^^ffffffffffffffffffffffffppppppfffffffffffffffffffffppppppfff^^^fff^^^fffffffff^^^fffffffff^^^fffffffffffffffffffff^^^^^^fffffffffffffffffffffffffffppppppfffpppppppppfffppppppfffpppfffpppfffpppfffpppppppppppppppppppppppppppffffffppppppwwwpppppppppppppppppppppppppppppppppwwwwwwppppppppppppppppppppppppfff^^^VVV^^^fffpppfffpppfffffffffffffffpppffffff^^^ffffffffffffppppppppppppfffffffffffffff^^^VVV^^^fffffffff^^^fff^^^^^^fff^^^fffpppfffpppffffffpppfffpppfffffffffffffff^^^‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘www^^^fffwww†††wwwwww†††‘‘‘‘‘‘‘‘‘–––‘‘‘–––‘‘‘‘‘‘–––––––––            ––––––––––––            ªªª            –––         ªªª   ªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎ×××××××××××××××××××ÔÔÛ··ïBBú��ú��÷		Ù™™ÇÇǶ¶¶   ÁÁÁïïïïïïÎÎÎú��ú��"""""""""""""""---333EEEGGGVVVVVV^^^fffffffffpppfffffffffffffffpppfffpppfffffffffffffffpppfffpppfffffffff^^^fffffffffffffff^^^fff^^^ffffff^^^fffffffff^^^^^^fffffffffpppfffffffff^^^fffffffffpppppppppfffppppppfffpppppppppfffpppfffppppppppppppwwwppppppppppppppppppffffffppppppwwwpppwwwpppppppppwwwpppppppppppppppwwwpppppppppppppppwwwppppppfffffffffVVVVVV^^^pppppppppfffpppffffffffffffffffff^^^fffffffffpppfffpppffffffffffffpppfffffffffNNNGGGffffffffffff^^^^^^fff^^^ffffffpppfffpppppppppfffpppfffpppfffffffffpppfff^^^†††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘www^^^^^^www†††wwwwww††††††‘‘‘‘‘‘‘‘‘––––––––––––––––––   ––––––   –––––––––   –––                        –––            ªªªªªª   ªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶°°°ÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎÎÎÎ×××××××××××××××ú��ú��ú��ú��ùëYYÚ¼¼×××ÎÎÎÇÇÇÁÁÁªªª†††ÁÁÁßßßÁÁÁú��ú��"""---333===GGGNNNVVV^^^^^^ffffff^^^fffffffffpppfffpppfffpppfffffffffffffffpppffffffpppfffpppfffffffffffffffffffff^^^fff^^^fff^^^^^^fff^^^fff^^^fffffffffffffffffffff^^^^^^fffffffffffffffffffffpppfffpppfffpppfffpppppppppfffpppppppppppppppppppppfffpppppppppfffffffffpppppppppwwwpppppppppppppppwwwpppppppppppppppwwwpppwwwppppppppppppfffpppfffVVVVVVfffpppfffpppffffffffffffffffffpppfff^^^^^^pppfffpppfffpppfffpppfffpppfffpppffffffVVVNNNVVVfffpppffffff^^^fff^^^fffffffffffffffpppfffpppfffpppfffpppffffff^^^fffffffff†††‘‘‘†††‘‘‘‘‘‘†††fff^^^ppp†††wwwwww††††††‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––––––––   –––   ––––––   ––––––                        –––      ªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªªªªªªªªªªªªªª°°°°°°°°°ªªª°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶°°°¶¶¶ÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ×××ÎÎÎ×××ú��ú��ú��ú��ú��øèhh×ÖÖ××××××ÎÎÎÇÇǰ°°†††ppp°°°†††ú��ú��333333EEENNNVVV^^^^^^fffpppfffffffffffffffffffffppppppfffpppffffffpppffffffffffffpppfffpppffffff^^^^^^ffffffffffffffffff^^^fff^^^fff^^^fff^^^^^^ffffffffffffffffff^^^^^^fff^^^ffffffpppfffpppfffpppfffppppppfffppppppfffpppfffppppppfffpppfffpppfffppppppfffpppfffffffffpppwwwpppwwwppppppwwwppppppwwwpppwwwfffppppppppppppppppppppppppfffpppffffffVVVVVV^^^pppfffppppppffffffffffffppppppfff^^^^^^fffffffffppppppfffpppfffpppfffpppffffff^^^VVVVVVfffffffffppp^^^^^^fff^^^ffffffffffffpppffffffpppfffpppfffpppfff^^^fffffffff^^^‘‘‘‘‘‘‘‘‘††††††ppp^^^ppp†††www††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––   –––   –––––––––––––––                     –––         ªªªªªªªªª   ªªªªªª   ªªªªªª   ªªªªªªªªªªªª°°°ªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶°°°¶¶¶ÁÁÁ¶¶¶ÁÁÁÇÇÇÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ××××××××××ÑÑÞ©©ó((ú��ú��ú��æxxßßß××××××ÎÎÎú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ffffffppppppffffffffffffffffffffffffpppfffffffffffffffpppfffpppfffpppfffffffff^^^ffffff^^^ffffff^^^fff^^^^^^fff^^^fff^^^^^^^^^fffffffffffffffffffffffffff^^^fffpppfffpppffffffpppppppppfffpppppppppfffpppfffppppppppppppppppppppppppfffpppppppppffffffppppppppppppwwwpppppppppppppppppppppfffppppppppppppppppppppppppppppppffffffVVVNNN^^^pppppppppfffpppfffpppffffffpppfff^^^^^^fffffffffpppffffffffffffppppppffffffpppfffNNNVVV^^^fffpppfffffffffffffff^^^^^^fffffffffpppfffffffffpppffffffffffffffffffffffff^^^‘‘‘‘‘‘†††www^^^fffwwwwwwwwwwww†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––   –––   ‘‘‘–––––––––         ªªª            –––         ªªªªªª   ªªªªªªªªªªªªªªª   ªªª   ªªªªªª°°°°°°ªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶°°°°°°°°°ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÇÇÇÎÎÎÇÇÇÎÎÎÎÎÎ××××××××××××××××××ݬ¬ú��ú��ú��ö!!××××××ÎÎÎÇÇÇú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��fffpppfffpppfffpppffffffffffffpppfffpppfffffffffpppfffffffffpppfffpppffffffffffff^^^ffffff^^^fff^^^^^^^^^fffffffff^^^^^^^^^^^^ffffffffffffffffff^^^fffffffffpppfffpppfffpppffffffpppfffpppfffpppppppppfffppppppppppppppppppffffffpppfffppppppffffffppppppwwwwwwpppppppppwwwppppppppppppppppppppppppppppppppppppppppppfffffffffVVVVVV^^^fffpppfffpppffffffpppffffffpppfff^^^^^^fffffffffpppfffpppfffpppfffpppffffffpppfffVVVNNN^^^pppfffpppfffffffff^^^^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffff^^^^^^†††www^^^fffwwwwwwwwwwwwwwwwww††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––––––––––––––––––––                     –––               ªªª   ªªªªªªªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ°°°°°°°°°¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÁÁÁÇÇÇÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎÇÇÇÎÎÎ×××××רÏÏú��ú��ú��ø×××ÇÇÇÇÇÇÁÁÁÁÁÁ¶¶¶¶¶¶ªªª‘‘‘ú��ú��††††††wwwwwwwwwpppppppppfffpppfffpppppppppfffppppppppppppppppppfffffffffffffffffffff^^^fff^^^^^^fffffffff^^^fff^^^^^^^^^^^^ffffffffffff^^^^^^ffffffpppfffffffffffffffpppffffffppppppffffffpppfffpppfffpppppppppppppppfffpppppppppppppppfffffffffpppppppppwwwppppppppppppppppppppppppppppppppppppfffppppppppppppppppppfffpppVVVVVVVVVfffpppfffpppfffpppfffffffffffffff^^^^^^fff^^^ppppppfffffffffppppppppppppfffpppppp^^^GGGVVVfffppppppfffpppfffffffffffffffffffff^^^ffffffffffffffffffffffffffffff^^^fff^^^fff^^^^^^^^^pppwwwwwwwwwwwwwwwwww†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––––––––               –––   ––––––   –––      ªªª   ªªª   ªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°ªªª°°°°°°ªªª°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶°°°¶¶¶¶¶¶°°°°°°ªªª°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎÎÎÎÞ¥¥ú��ú��ú��ôÇÇÇÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶°°°ªªª–––ú��ú��†††††††††††††††††††††††††††wwwwwwpppwwwwwwwwwwwwppppppppppppppppppfffpppfffpppfffpppfffpppfff^^^fff^^^fffffffffffffffffffffffffffffffffpppfffffffffffffffpppfffpppffffffffffffpppfffpppfffpppppppppfffppppppppppppppppppppppppfffpppfffpppfffffffffpppppppppppppppfffpppppppppfffwwwppppppfffwwwppppppppppppppppppppppppfffpppVVVVVV^^^fffpppppppppfffpppfffffffffpppppp^^^^^^ffffffffffffpppffffffffffffpppwwwppppppppppppNNNGGGfffpppffffffpppfffffffffffffffffffffffffffpppfffffffffffffffffffffffffffffffff^^^^^^^^^wwwwwwwwwwwwwwwwwwwwwwww††††††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––   ‘‘‘‘‘‘‘‘‘–––––––––   –––   –––––––––––––––   –––   ªªª         ªªª   ªªª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª   ªªªªªª°°°°°°°°°°°°°°°ªªªªªª°°°°°°°°°¶¶¶¶¶¶°°°¶¶¶°°°°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶ÁÁÁÇÇÇÁÁÁÇÇÇÁÁÁÁÁÁî++ÛvvΨ¨ÈÁÁÐÂÂÚ““ôú��ú��ú��Ý__ÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶°°°ªªª–––ú��ú��†††‘‘‘††††††‘‘‘‘‘‘‘‘‘†††††††††www†††wwwwwwwwwwwwwwwwwwppppppppppppppppppppppppfffffffffffffffffffffffffffpppfffffffffppppppppppppffffffpppfffpppffffffpppfffppppppppppppppppppfffpppfffppppppppppppppppppwwwwwwfffpppppppppffffffffffffppppppppppppppppppfffppppppppppppfffppppppwwwppppppppppppppppppppppppppp^^^NNN^^^fffppppppfffpppfffpppfffffffffpppfff^^^ffffffffffffpppfffffffffffffffpppfffppppppwww^^^GGG^^^pppfffffffffpppffffff^^^ffffffffffffppppppffffffffffffpppfffffffffffffff^^^ffffffffffffwwwwwwwwwwwwwwwwwwwwwwww††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––‘‘‘‘‘‘––––––‘‘‘––––––––––––––––––––––––                     ªªª         ªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªª   ªªªªªª°°°°°°°°°°°°ªªª°°°ªªª°°°°°°°°°°°°¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶°°°°°°ªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶ªªª°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁú��ú��ú��ú��ú��ú��ú��ú��ú��è<<·±±ÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶°°°ªªª   –––ú��ú��‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††††††††www†††††††††††††††††††††††††††wwwwwwwwwwwwwwwpppwwwwwwppppppwwwpppwwwpppwwwpppfffpppfffpppppppppfffppppppfffpppppppppppppppppppppfffppppppppppppppppppppppppppppppppppppwwwwwwwwwwwwppppppppppppppppppffffffppppppppppppppppppppppppppppppppppppfffppppppwwwpppwwwppppppwwwppppppfffppp^^^NNNVVVfffwwwpppfffppppppfffpppfffppppppffffffffffffffffffffffffffffffpppffffffffffffpppwwwfffNNN^^^pppfffpppfffppppppffffffffffffffffffpppppppppffffffpppfffffffffffffffffffff^^^fff^^^ffffffwwwwwwwwwwwwwwwwww†††††††††‘‘‘†††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘––––––––––––––––––––––––‘‘‘–––––––––   –––––––––––––––                  ªªª   ªªª   ªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªªªªªªªª°°°°°°°°°°°°¶¶¶¶¶¶°°°°°°°°°°°°¶¶¶°°°ªªª   ªªª°°°°°°ªªª°°°ªªªªªª°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁË››ßXXï))öù÷		òåEEщ‰¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶¶¶¶°°°ªªª   –––ú��ú��‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††www†††‘‘‘†††††††††††††††††††††††††††wwwwwwwwwwwwwwwpppwwwwwwpppppppppfffppppppwwwpppppppppfffpppppppppppppppppppppppppppwwwpppppppppppppppwwwppppppppppppwwwwwwwwwwwwppppppppppppppppppfffpppppppppppppppppppppppppppppppppppppppfffppppppwwwwwwpppppppppwwwpppppppppppp^^^NNNNNNfffppppppppppppfffpppfffpppfffpppffffffffffffffffffppppppffffffpppfffffffffffffffppp^^^GGGVVVfffppppppfffppppppffffffffffffppppppfffppppppfff^^^fffppppppfffffffffffffffVVV^^^^^^^^^fff^^^wwwwwwwww†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘––––––––––––––––––‘‘‘––––––––––––––––––––––––‘‘‘––––––            –––            ªªª      ªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°¶¶¶°°°°°°°°°ªªª°°°°°°°°°ªªªªªª°°°°°°ªªª°°°ªªª         °°°ªªª°°°°°°ªªª°°°°°°°°°°°°°°°ªªª°°°°°°°°°°°°¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÁÁÁÁÁÁ¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶°°°ªªªªªª   –––––––––––––––‘‘‘‘‘‘†††‘‘‘††††††††††††‘‘‘†††‘‘‘†††††††††‘‘‘‘‘‘††††††††††††††††††††††††wwwwwwpppwwwwwwpppwwwwwwwwwwwwwwwpppwwwpppppppppwwwppppppwwwwwwwwwwwwwwwpppwwwpppwwwwwwwwwpppppppppwwwwwwwwwwwwwwwpppwwwpppwwwwwwppppppppppppwwwppppppwwwwwwwwwpppppppppwwwppppppppppppwwwwwwppppppwwwppppppppppppffffffVVVNNNfffwwwppppppfffpppppppppfffppppppppppppfffpppffffffpppfffpppfffffffffffffffffffffffffffGGGEEE^^^ppppppfffpppfffffffffffffffffffffpppfffpppffffff^^^pppffffffppppppfffffffffVVV^^^ffffff^^^fffpppwww††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––‘‘‘–––––––––––––––   –––––––––‘‘‘––––––––––––   ––––––   –––   –––            ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°ªªªªªª°°°°°°°°°°°°°°°°°°ªªªªªª°°°ªªª      °°°°°°ªªª°°°°°°°°°ªªªªªªªªªªªª   ªªªªªª°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°ªªª         ––––––––––––‘‘‘††††††‘‘‘††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘†††††††††www†††wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwppppppfffpppwwwpppwwwwwwwwwwwwwwwpppwwwwwwpppppppppwwwwwwwwwwwwwwwwwwwwwwwwppppppfffVVVVVVfffpppppppppppppppppppppfffpppppppppppppppfffppppppfffppppppfffpppfffffffff^^^fffppppppVVV===GGGfffpppfffpppppppppfff^^^fffffffffpppfffffffffpppfffffffffffffffffffffffffff^^^^^^^^^ffffffffffff††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––––––––‘‘‘‘‘‘‘‘‘–––––––––   –––   ––––––   –––   –––      ªªª°°°°°°ªªªªªªªªª   ªªªªªªªªªªªªªªªªªª   ªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°ªªªªªªªªªªªª°°°°°°ªªª°°°ªªªªªªªªªªªª   ªªª°°°°°°°°°°°°¶¶¶°°°ªªª–––†††–––ªªªªªªªªª°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ªªªªªªªªª            –––‘‘‘†††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘‘‘‘†††††††††††††††‘‘‘††††††††††††††††††††††††††††††wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppppppppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwppppppwwwwwwwwwwwwwwwwwwwwwpppppp^^^VVV^^^pppwwwpppppppppwwwpppppppppppppppppppppppppppfffppppppffffffpppppppppffffffffffffppp^^^EEEEEEfffpppfffffffffpppfff^^^ffffffpppffffffffffffpppfff^^^fffppppppfffffffffffffffffffff^^^fff^^^ffffff††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘––––––––––––––––––‘‘‘‘‘‘–––––––––   –––   –––   –––            ªªªªªªªªªªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°ªªª°°°ªªªªªªªªªªªª°°°°°°°°°°°°ªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°–––†††‘‘‘ªªª°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶°°°¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁ¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°ªªªªªª         ––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘††††††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††‘‘‘–––‘‘‘†††www††††††wwwwwwwwwwwwwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppppp^^^VVV^^^ppppppwwwpppwwwwwwppppppppppppwwwpppfffpppfffpppfffpppppppppppppppfffpppffffffppppppfffGGG===^^^pppfffffffffppppppfff^^^ffffffffffffffffffffffffffffffffffffppppppfffffffffpppfffffffffffffffffffff†††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘–––‘‘‘–––‘‘‘–––––––––‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––   –––––––––   ––––––   ªªªªªªªªª   ªªª   ªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°ªªª°°°°°°°°°°°°ªªªªªªªªªªªª°°°°°°ªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°ªªªªªª   †††www†††–––ªªª°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°°°°¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°ªªªªªªªªª      ªªª   ––––––––––––‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††–––‘‘‘†††††††††††††††††††††††††††wwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppVVVVVVpppwwwwwwwwwwwwpppwwwppppppwwwwwwwwwpppppppppppppppppppppfffpppppppppppp^^^fffppppppwwwVVV===VVVppppppfffpppppppppfff^^^fff^^^^^^^^^^^^NNN^^^fffffffff^^^^^^pppfffffffffffffffppppppffffffpppppppppppp‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘–––––––––‘‘‘–––––––––   –––   –––      ªªªªªª   ªªªªªªªªª            ªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°ªªªªªªªªªªªªªªªªªªªªª°°°ªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°   †††fffwww‘‘‘   °°°ªªª°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°¶¶¶°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶¶¶¶°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶°°°¶¶¶°°°°°°ªªªªªªªªª°°°ªªªªªª   –––   ––––––   –––––––––‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwww†††www†††wwwwwwwwwwwwwwwwwwpppVVVVVVpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwppppppwwwppppppwwwppppppfffppppppfff^^^ppppppwwwpppGGGNNNpppwwwppppppwwwpppppp^^^^^^^^^^^^fffffffff^^^fffffffffffffffffffffppppppffffffpppfffpppppppppfffppppppppp†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––––––––––––––   –––      ªªªªªª                  ªªª   ªªªªªª   ªªª   ªªªªªªªªªªªª°°°ªªªªªª°°°ªªª°°°°°°°°°ªªª°°°°°°   ªªª   ªªªªªªªªª°°°ªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°†††fff^^^–––ªªª°°°ªªª°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ°°°¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°°°°°°°¶¶¶°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°°°°ªªªªªª   ªªª      –––         –––   –––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††www††††††††††††††††††††††††wwwwwwwwwppp^^^VVVpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppwwwpppwwwwwwwwwppppppppppppppp^^^fffwwwwwwwwwfffVVVppppppwwwwwwpppwwwwwwfff^^^^^^^^^ffffffffffffppppppppp^^^fffffffffffffffffffffffffffffffffpppfffpppppppppppp‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘–––‘‘‘–––––––––––––––‘‘‘–––         ªªªªªªªªª            ªªª               ªªª   ªªªªªªªªªªªªªªª°°°ªªª°°°ªªª°°°°°°ªªªªªª°°°ªªªªªª      ªªªªªªªªªªªªªªª      ªªªªªª°°°°°°°°°ªªªªªª‘‘‘ppp^^^fff‘‘‘   ªªª°°°ªªª°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶°°°°°°°°°ªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°ªªªªªªªªª      –––               –––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘††††††‘‘‘††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘††††††††††††‘‘‘††††††‘‘‘††††††††††††††††††††††††‘‘‘‘‘‘††††††††††††††††††††††††wwwwwwfffVVVfffwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww†††pppppppppppp^^^fffwwwwwwwwwpppffffffwwwpppwwwwwwwwwwwwffffff^^^^^^^^^ffffff^^^fffpppfffffffffffffffffffffffffff^^^^^^fffpppfffffffffpppfffpppppp‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––‘‘‘–––––––––‘‘‘––––––      ªªª   ªªª            ªªª            ªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°ªªªªªªªªªªªªªªªªªª   ªªª         ––––––‘‘‘–––ªªªªªª°°°°°°°°°°°°–––wwwVVVVVVwww   ªªª°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°°°°°°°°°°°°°¶¶¶°°°°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°°°°¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶°°°ªªª°°°°°°°°°ªªª°°°°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°ªªªªªª      –––            ––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††‘‘‘†††‘‘‘††††††††††††‘‘‘†††††††††‘‘‘†††††††††††††††‘‘‘†††††††††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††www^^^fffwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppppppppfff^^^wwwwwwfffpppppppppwwwwwwwwwwwwpppfffVVVVVV^^^^^^VVV^^^fffffffff^^^fffffffffpppfffffffffffffffpppfffpppffffffffffffppppppppp‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘‘‘‘–––––––––‘‘‘––––––––––––            ªªª   ªªª      ªªª            ªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªªªªªªªª               –––‘‘‘†††–––   °°°°°°°°°°°°ªªªVVVNNNfff†††   ªªªªªª°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°¶¶¶¶¶¶°°°°°°¶¶¶°°°°°°ªªªªªª°°°ªªª°°°°°°°°°ªªª°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°°°°ªªªªªª         ªªª            –––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††††††††‘‘‘††††††††††††‘‘‘‘‘‘††††††††††††††††††‘‘‘††††††††††††‘‘‘††††††††††††‘‘‘†††††††††††††††††††††‘‘‘†††††††††††††††wwwwww†††‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††††††††‘‘‘‘‘‘††††††††††††††††††††††††wwwppp†††wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppwwwwwwpppfffwwwwwwpppppppppwwwwwwwwwwwwwwwppp^^^VVV^^^^^^^^^^^^^^^^^^ffffff^^^^^^fffffffff^^^ffffffffffffpppffffffppp^^^ffffffppppppppp††††††‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘––––––––––––   –––                                 ªªªªªªªªªªªªªªªªªªªªªªªª         ªªª   ªªªªªªªªªªªªªªªªªª   –––––––––†††wwwffffffwww‘‘‘ªªªªªª°°°°°°ªªª–––fffVVV^^^–––   ªªª°°°°°°°°°°°°°°°¶¶¶°°°°°°¶¶¶°°°°°°¶¶¶°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶¶¶¶°°°°°°°°°ªªªªªª°°°ªªª°°°°°°ªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°ªªªªªª      ªªªªªª         –––––––––‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††‘‘‘††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††††††††††††††‘‘‘††††††††††††††††††††††††††††††††††††www†††‘‘‘†††‘‘‘††††††††††††‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘†††††††††pppwww†††††††††wwwwwwwwwwwwwwwwwwfff^^^wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwffffffpppfffffffff^^^fff^^^ffffff^^^fff^^^VVV^^^^^^^^^ffffffffffffffffffppp^^^fffppppppffffff†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––   –––                        ªªªªªª         ªªªªªªªªªªªªªªªªªª                        ªªªªªªªªªªªªªªª–––‘‘‘†††ppp^^^VVV^^^www   ªªªªªª°°°°°°   www^^^^^^www‘‘‘   ªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶°°°°°°°°°¶¶¶°°°°°°¶¶¶¶¶¶°°°ªªªªªªªªª°°°ªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°ªªª°°°°°°°°°°°°°°°°°°°°°ªªªªªªªªª   ªªª            –––   –––‘‘‘––––––––––––‘‘‘‘‘‘††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††††††††††††††††††††‘‘‘†††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘‘‘‘†††‘‘‘†††wwwwww†††††††††††††††wwwwwwwwwwwwwwwVVVNNNwwwwwwwwwwwwwwwwww†††wwwfffppppppwwwpppppppppfffffffffffffffffffff^^^^^^^^^^^^^^^ffffffffffffffffffffffffpppppppppfff††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘––––––            –––                        ªªª   ªªªªªªªªªªªªªªª   ªªª   –––      ªªª   ªªªªªª            †††pppfff^^^NNNVVVfff†††   °°°ªªª°°°   †††fffVVVppp‘‘‘      ªªªªªªªªªªªª°°°°°°°°°°°°ªªª°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°°°°°°°¶¶¶°°°¶¶¶ªªªªªªªªªªªª°°°ªªªªªªªªªªªªªªªªªª°°°ªªªªªªªªªªªª°°°ªªªªªªªªª°°°°°°°°°°°°ªªª°°°ªªªªªªªªª               –––   ––––––   –––––––––‘‘‘†††‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††www††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††www†††‘‘‘†††‘‘‘††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††††††††www†††††††††††††††wwwwwwwwwwwwwwwwwwGGGGGGwwwwwwwwwwwwwwwwwwwwwwww†††wwwpppwww†††‘‘‘††††††wwwwwwwwwffffffffffff^^^^^^VVV^^^^^^^^^fffppppppfffpppffffffpppfffpppffffff‘‘‘††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––      –––   –––                        ªªªªªªªªªªªªªªªªªªªªª               ªªªªªªªªªªªªªªª            †††wwwfff^^^VVVVVVNNNNNNppp‘‘‘ªªª°°°°°°   †††ppp^^^fff†††   ªªªªªªªªªªªªªªªªªª°°°°°°ªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°ªªª°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶°°°¶¶¶ªªª   °°°ªªªªªª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°ªªª°°°ªªª°°°ªªªªªªªªªªªªªªª   –––      ––––––   –––––––––‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘††††††††††††††††††‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††‘‘‘‘‘‘††††††‘‘‘††††††††††††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††wwwwwwpppGGGEEEpppwwwwwwwwwwwwwwwwww†††††††††††††††‘‘‘–––––––––‘‘‘††††††wwwwwwwwwpppfff^^^VVVVVVVVV^^^^^^fffffffffpppffffffppppppppppppfff†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘––––––   –––                           ªªªªªªªªªªªª   ªªªªªª   ªªª               ªªª            –––   †††www^^^NNNVVVVVVNNNNNNVVV   ªªªªªªªªª‘‘‘ppp^^^^^^www‘‘‘   ªªªªªªªªªªªªªªªªªªªªª°°°°°°ªªª°°°ªªªªªªªªª°°°°°°°°°°°°ªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶°°°ªªªªªªªªªªªª°°°ªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªª   ªªªªªª°°°ªªª°°°°°°ªªª°°°°°°ªªªªªª   ªªª            ––––––      –––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘‘‘‘†††††††††††††††‘‘‘†††‘‘‘††††††††††††††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘††††††††††††wwwwwwwww†††www^^^NNNfffpppwww‘‘‘–––‘‘‘‘‘‘–––      ––––––‘‘‘††††††wwwwwwfff^^^^^^VVV^^^VVV^^^ffffffffffffpppfffpppfffppp^^^^^^††††††‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘––––––      –––   –––            ªªª      ªªªªªªªªªªªª   ªªªªªª         ªªª      ªªª         ––––––‘‘‘www^^^VVVNNNNNNNNNNNNNNNfff‘‘‘   ªªªªªª–––^^^^^^ppp†††–––   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªª°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°°°°ªªªªªªªªªªªªªªªªªªªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªª°°°ªªª°°°°°°°°°°°°ªªªªªª            –––   –––      ––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––††††††††††††††††††‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††††††††www††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘‘‘‘†††††††††‘‘‘††††††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††††††††wwwwww††††††wwwffffffpppwwwwww††††††††††††–––   ––––––            ––––––‘‘‘††††††††††††wwwfff^^^^^^^^^^^^^^^^^^^^^ffffffpppppppppffffffffffff‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––   ––––––   –––                                       ªªª   ªªªªªªªªªªªª   ªªª      –––––––––‘‘‘www^^^NNNNNNNNNNNNNNNNNNVVV–––ªªªªªª–––†††fff^^^ppp†††–––               ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªª°°°ªªª°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°ªªªªªªªªªªªªªªªªªªªªªªªª   ªªªªªªªªªªªª°°°ªªªªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª      –––   –––   ––––––         –––‘‘‘–––‘‘‘–––‘‘‘–––‘‘‘††††††††††††‘‘‘‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††www††††††‘‘‘‘‘‘‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘††††††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘‘‘‘‘‘‘www††††††††††††wwwwwwwwwwww†††††††††††††††‘‘‘–––               ªªª      –––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††ppppppfffffffff^^^^^^VVV^^^fffpppfffpppppp^^^^^^^^^††††††‘‘‘†††‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘––––––   –––   ––––––                                                      ªªª         –––––––––‘‘‘www^^^NNNGGGNNNNNNNNNNNNNNN^^^‘‘‘   ªªª   †††ppp^^^fff‘‘‘–––            ªªªªªªªªª   ªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°°°°ªªªªªªªªª°°°ªªªªªª   ªªªªªªªªª   ªªªªªªªªªªªªªªªªªª   ªªªªªªªªª   ªªª   ªªª   ªªªªªªªªªªªª   ªªª   –––                        ‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††www††††††–––‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘–––‘‘‘††††††‘‘‘††††††‘‘‘†††††††††‘‘‘†††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††www††††††‘‘‘††††††††††††‘‘‘‘‘‘––––––ªªª                  –––––––––‘‘‘–––‘‘‘††††††wwwwwwffffff^^^^^^^^^ffffffpppppppppffffff^^^^^^‘‘‘†††‘‘‘†††††††††††††††‘‘‘†††‘‘‘‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––   –––   –––   –––               ––––––                           ªªª      ªªª   ––––––†††www^^^NNNGGGNNNVVVNNNNNNNNNVVVwww–––   ªªª‘‘‘ppp^^^^^^www‘‘‘‘‘‘–––         –––   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°ªªªªªªªªª°°°ªªª   ªªªªªª   ªªªªªªªªª   ªªªªªªªªªªªª   ªªªªªªªªªªªªªªªªªª   ªªªªªª   ªªªªªªªªªªªª         –––   –––         ––––––––––––––––––‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††††††††††††††††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††www‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘‘‘‘†††††††††‘‘‘†††‘‘‘††††††††††††‘‘‘†††††††††‘‘‘†††††††††‘‘‘††††††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††‘‘‘††††††††††††‘‘‘‘‘‘‘‘‘www†††      ªªª                  ––––––––––––‘‘‘‘‘‘‘‘‘wwwwwwppp^^^^^^fffffffffwwwpppffffffffffff^^^†††‘‘‘†††††††††††††††‘‘‘‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––               –––         –––––––––      ªªª                     ªªª      ––––––†††wwwfffNNNGGGNNNVVVVVVNNNNNNNNNfff‘‘‘      –––^^^VVVfff†††‘‘‘–––––––––   –––         ªªªªªª   ªªªªªªªªª      ªªªªªª      ªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°ªªªªªªªªªªªªªªª      ªªªªªªªªªªªªªªª   ªªª   ªªª         ªªªªªª   ªªªªªª   ªªªªªª   ªªªªªªªªªªªª            –––            ––––––––––––‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘†††‘‘‘††††††††††††‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘††††††††††††††††††‘‘‘†††‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††‘‘‘†††‘‘‘††††††††††††††††††††††††‘‘‘††††††††††††††††††††††††††††††‘‘‘‘‘‘––––––www†††      ªªªªªª   ªªª   –––––––––––––––‘‘‘––––––‘‘‘‘‘‘†††‘‘‘†††wwwppppppffffffppppppwwwfff^^^fffffffff†††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘–––––––––      –––                                       ªªª               ªªª         –––‘‘‘wwwfffNNNGGGNNNNNNNNNVVVNNNNNN^^^www–––ªªª   †††ppp^^^fffwww‘‘‘‘‘‘–––   ––––––   –––         ªªªªªªªªª   ªªªªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªª°°°ªªª°°°ªªª°°°°°°°°°°°°°°°°°°ªªªªªªªªªªªªªªªªªª   ªªªªªª      ªªª   ªªªªªª         –––   ªªªªªªªªªªªª            ªªª   ªªªªªªªªªªªª      –––         ªªª   ––––––––––––––––––––––––‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘††††††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††www‘‘‘‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††††††††††††††††††††††††††‘‘‘†††‘‘‘††††††††††††‘‘‘‘‘‘‘‘‘†††‘‘‘††††††††††††††††††††††††‘‘‘††††††††††††‘‘‘–––         –––   –––   ªªªªªªªªª   ªªª   –––   ––––––‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘wwwpppppppppwwwpppfff^^^fffffffff††††††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––   –––   –––                                                                  –––‘‘‘wwwfffNNNGGGGGGNNNNNNNNNVVVNNNVVVppp‘‘‘      ‘‘‘wwwfffppp†††–––––––––      –––   –––      –––      ªªªªªªªªªªªªªªªªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªª°°°°°°°°°°°°°°°ªªªªªªªªªªªªªªªªªªªªª   ªªª         ªªªªªªªªªªªªªªª         ªªªªªª   ªªª   ªªª         ªªªªªªªªª                     ªªªªªªªªª      –––   ––––––   ––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††‘‘‘††††††††††††††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††www†††‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘††††††††††††‘‘‘††††††‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘††††††‘‘‘††††††††††††‘‘‘‘‘‘††††††††††††††††††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘–––         ªªª               ªªªªªªªªª      –––   –––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††wwwpppwwwwwwpppfffffffffffffff†††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘‘‘‘‘‘‘–––––––––   –––   –––               –––                                             –––‘‘‘fffNNNGGGGGGNNNVVVVVVVVVNNNNNN^^^–––ªªª   †††pppfff–––   ªªªªªªªªª   –––                  ªªªªªªªªªªªªªªªªªªªªªªªª   ªªª   ªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°ªªª°°°°°°ªªªªªªªªªªªª°°°ªªªªªªªªª               ªªªªªª                  ªªªªªªªªªªªªªªªªªª         ªªªªªª   ªªªªªªªªª   ªªª            ªªª   ––––––––––––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††††††††‘‘‘††††††‘‘‘†††‘‘‘†††††††††††††††††††††wwwwww‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††††††††‘‘‘†††‘‘‘††††††††††††‘‘‘†††‘‘‘††††††‘‘‘‘‘‘‘‘‘†††††††††††††††‘‘‘††††††‘‘‘††††††††††††‘‘‘†††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††––––––            ªªª            –––               –––   ––––––––––––‘‘‘www††††††wwwwwwwwwwwwpppfffpppffffff^^^^^^††††††‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘––––––––––––   –––               –––   –––   –––                                 ––––––‘‘‘pppVVVGGGGGGNNNVVVVVVVVVVVVNNNVVVppp‘‘‘   ªªª‘‘‘ppp‘‘‘–––   °°°°°°               ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª      ªªªªªªªªªªªª   ªªªªªªªªªªªª°°°ªªªªªª°°°°°°°°°°°°ªªªªªªªªªªªªªªª°°°ªªªªªª      ªªª         ªªªªªªªªªªªª         °°°ªªªªªªªªªªªªªªª   ªªªªªªªªªªªª   ªªªªªª   ªªª         ªªªªªªªªª         –––   –––   –––––––––‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘–––‘‘‘‘‘‘††††††‘‘‘‘‘‘‘‘‘†††‘‘‘††††††††††††††††††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††††††††www†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘†††‘‘‘†††‘‘‘–––‘‘‘†††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††‘‘‘†††††††††‘‘‘††††††‘‘‘††††††††††††‘‘‘†††‘‘‘†††††††††††††††‘‘‘††††††‘‘‘††††††††††††††††††††††††‘‘‘––––––                  ªªª         ––––––      ªªª      –––         –––††††††††††††wwwpppffffffpppffffff^^^†††‘‘‘†††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘––––––––––––   –––            –––––––––   –––   –––                  ªªªªªª         ––––––†††pppVVVGGGGGGNNNVVVVVVVVVVVVVVVNNN^^^–––      †††www†††–––            ªªª                  ªªªªªª°°°ªªª°°°°°°ªªªªªªªªª   ªªª   ªªªªªª   ªªªªªª   ªªªªªªªªª°°°°°°°°°°°°°°°ªªªªªªªªª°°°ªªªªªªªªªªªªªªª      ªªª   ªªªªªªªªªªªª   –––   ªªª°°°ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª   ªªªªªª   ªªª   ªªªªªªªªª   ªªª               –––   –––‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘†††‘‘‘–––‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††††††††††††††‘‘‘†††††††††††††††‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††www††††††††††††wwwwww††††††‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘–––––––––‘‘‘‘‘‘‘‘‘––––––‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††‘‘‘††††††‘‘‘†††††††††‘‘‘‘‘‘†††‘‘‘†††††††††††††††‘‘‘††††††‘‘‘‘‘‘††††††††††††††††††††††††††††††––––––   ––––––   –––   ªªª   ªªª                              ––––––   –––‘‘‘‘‘‘‘‘‘‘‘‘†††wwwffffffffffffppppppfff
\ No newline at end of file
diff --git a/tutorial/tracking/model-based/edges/tutorial-mb-edge-tracker.cpp b/tutorial/tracking/model-based/edges/tutorial-mb-edge-tracker.cpp
index 5852550abb48bfb0673d3976e3fbe9a183b6be6a..6d1794f166c5a41572431d4930e2860e6f9dcf43 100644
--- a/tutorial/tracking/model-based/edges/tutorial-mb-edge-tracker.cpp
+++ b/tutorial/tracking/model-based/edges/tutorial-mb-edge-tracker.cpp
@@ -1,75 +1,160 @@
-/*! \example tutorial-mb-edge-tracker.cpp */
+//! \example tutorial-mb-edge-tracker.cpp
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpDisplayX.h>
 #include <visp/vpImageIo.h>
+#include <visp/vpIoTools.h>
+//! [Include]
 #include <visp/vpMbEdgeTracker.h>
+//! [Include]
+#include <visp/vpVideoReader.h>
 
-int main()
+int main(int argc, char** argv)
 {
+#if defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020100) || defined(VISP_HAVE_FFMPEG)
   try {
+    std::string videoname = "teabox.mpg";
+
+    for (int i=0; i<argc; i++) {
+      if (std::string(argv[i]) == "--name")
+        videoname = std::string(argv[i+1]);
+      else if (std::string(argv[i]) == "--help") {
+        std::cout << "\nUsage: " << argv[0] << " [--name <video name>] [--help]\n" << std::endl;
+        return 0;
+      }
+    }
+    std::string parentname = vpIoTools::getParent(videoname);
+    std::string objectname = vpIoTools::getNameWE(videoname);
+
+    if(! parentname.empty())
+       objectname = parentname + "/" + objectname;
+
+    std::cout << "Video name: " << videoname << std::endl;
+    std::cout << "Tracker requested config files: " << objectname
+              << ".[init,"
+#ifdef VISP_HAVE_XML2
+              << "xml,"
+#endif
+              << "cao or wrl]" << std::endl;
+    std::cout << "Tracker optional config files: " << objectname << ".[ppm]" << std::endl;
+
+    //! [Image]
     vpImage<unsigned char> I;
     vpCameraParameters cam;
+    //! [Image]
+    //! [cMo]
     vpHomogeneousMatrix cMo;
+    //! [cMo]
 
-    vpImageIo::read(I, "teabox.pgm");
+    vpVideoReader g;
+    g.setFileName(videoname);
+    g.open(I);
 
 #if defined(VISP_HAVE_X11)
-    vpDisplayX display(I,100,100,"Model-based edge tracker");;
+    vpDisplayX display;
 #elif defined(VISP_HAVE_GDI)
-    vpDisplayGDI display(I,100,100,"Model-based edge tracker");;
+    vpDisplayGDI display;
+#elif defined(VISP_HAVE_OPENCV)
+    vpDisplayOpenCV display;
 #else
     std::cout << "No image viewer is available..." << std::endl;
+    return 0;
 #endif
 
+    display.init(I, 100, 100,"Model-based edge tracker");
+
+    //! [Constructor]
     vpMbEdgeTracker tracker;
+    //! [Constructor]
+    bool usexml = false;
+    //! [Load xml]
 #ifdef VISP_HAVE_XML2
-    tracker.loadConfigFile("teabox.xml");
-#else
-    vpMe me;
-    me.setMaskSize(5);
-    me.setMaskNumber(180);
-    me.setRange(8);
-    me.setThreshold(10000);
-    me.setMu1(0.5);
-    me.setMu2(0.5);
-    me.setSampleStep(4);
-    me.setNbTotalSample(250);
-    tracker.setMovingEdge(me);
-    cam.initPersProjWithoutDistortion(839, 839, 325, 243);
-    tracker.setCameraParameters(cam);
-    tracker.setAngleAppear( vpMath::rad(70) );
-    tracker.setAngleDisappear( vpMath::rad(80) );
-    tracker.setNearClippingDistance(0.1);
-    tracker.setFarClippingDistance(100.0);
-    tracker.setClipping(tracker.getClipping() | vpMbtPolygon::FOV_CLIPPING);
+    if(vpIoTools::checkFilename(objectname + ".xml")) {
+      tracker.loadConfigFile(objectname + ".xml");
+      usexml = true;
+    }
 #endif
+    //! [Load xml]
+    if (! usexml) {
+      //! [Set parameters]
+      vpMe me;
+      me.setMaskSize(5);
+      me.setMaskNumber(180);
+      me.setRange(8);
+      me.setThreshold(10000);
+      me.setMu1(0.5);
+      me.setMu2(0.5);
+      me.setSampleStep(4);
+      me.setNbTotalSample(250);
+      tracker.setMovingEdge(me);
+      cam.initPersProjWithoutDistortion(839, 839, 325, 243);
+      tracker.setCameraParameters(cam);
+      //! [Set angles]
+      tracker.setAngleAppear( vpMath::rad(70) );
+      tracker.setAngleDisappear( vpMath::rad(80) );
+      //! [Set angles]
+      //! [Set clipping distance]
+      tracker.setNearClippingDistance(0.1);
+      tracker.setFarClippingDistance(100.0);
+      //! [Set clipping distance]
+      //! [Set clipping fov]
+      tracker.setClipping(tracker.getClipping() | vpMbtPolygon::FOV_CLIPPING);
+      //! [Set clipping fov]
+      //! [Set parameters]
+    }
+    //! [Set ogre]
     tracker.setOgreVisibilityTest(false);
-    tracker.loadModel("teabox.cao");
-    //tracker.loadModel("teabox.wrl");
+    //! [Set ogre]
+    //! [Load cao]
+    if(vpIoTools::checkFilename(objectname + ".cao"))
+      tracker.loadModel(objectname + ".cao");
+    //! [Load cao]
+    //! [Load wrl]
+    else if(vpIoTools::checkFilename(objectname + ".wrl"))
+      tracker.loadModel(objectname + ".wrl");
+    //! [Load wrl]
+    //! [Set display]
     tracker.setDisplayFeatures(true);
-    tracker.initClick(I, "teabox.init");
+    //! [Set display]
+    //! [Init]
+    tracker.initClick(I, objectname + ".init", true);
+    //! [Init]
 
-    while(1){
+    while(! g.end()){
+      g.acquire(I);
       vpDisplay::display(I);
+      //! [Track]
       tracker.track(I);
+      //! [Track]
+      //! [Get pose]
       tracker.getPose(cMo);
+      //! [Get pose]
+      //! [Display]
       tracker.getCameraParameters(cam);
       tracker.display(I, cMo, cam, vpColor::red, 2);
+      //! [Display]
       vpDisplay::displayFrame(I, cMo, cam, 0.025, vpColor::none, 3);
+      vpDisplay::displayText(I, 10, 10, "A click to exit...", vpColor::red);
       vpDisplay::flush(I);
-
       if (vpDisplay::getClick(I, false))
         break;
-      vpTime::wait(40);
     }
+    vpDisplay::getClick(I);
+    //! [Cleanup]
 #ifdef VISP_HAVE_XML2
     vpXmlParser::cleanup();
 #endif
-#ifdef VISP_HAVE_COIN
+#if defined(VISP_HAVE_COIN) && (COIN_MAJOR_VERSION == 3)
     SoDB::finish();
 #endif
+    //! [Cleanup]
   }
   catch(vpException e) {
     std::cout << "Catch an exception: " << e << std::endl;
   }
+#else
+  (void)argc;
+  (void)argv;
+  std::cout << "Install OpenCV or ffmpeg and rebuild ViSP to use this example." << std::endl;
+#endif
 }
diff --git a/tutorial/tracking/model-based/hybrid/CMakeLists.txt b/tutorial/tracking/model-based/hybrid/CMakeLists.txt
index 55f433305d8bfc9c17a10e7aa161fa6f7107ee05..c126946c59cac6a851e526c00b571b9d36e13b71 100644
--- a/tutorial/tracking/model-based/hybrid/CMakeLists.txt
+++ b/tutorial/tracking/model-based/hybrid/CMakeLists.txt
@@ -8,13 +8,17 @@ find_package(VISP REQUIRED)
 set(tutorial_cpp
   tutorial-mb-hybrid-tracker.cpp)
 
-list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.pgm" )
+list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.mpg" )
 list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.xml" )
 list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.cao" )
 list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.init" )
+list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.ppm" )
 
 foreach(cpp ${tutorial_cpp})
   visp_add_target(${cpp})
+  if(COMMAND visp_add_dependency)
+    visp_add_dependency(${cpp} "tutorials")
+  endif()
 endforeach()
 
 # Copy the data files to the same location than the target
diff --git a/tutorial/tracking/model-based/hybrid/teabox-triangle.cao b/tutorial/tracking/model-based/hybrid/teabox-triangle.cao
index afe1b25ad9811c80bd91183562d26ec933210995..e8053825aa74ded63dfec8a4fd1ad56c5f11ab03 100644
--- a/tutorial/tracking/model-based/hybrid/teabox-triangle.cao
+++ b/tutorial/tracking/model-based/hybrid/teabox-triangle.cao
@@ -1,27 +1,33 @@
 V1
-8
-0     0      0
+# 3D Points
+8                  # Number of points
+0     0      0     # Point 0: X Y Z
 0     0     -0.08
 0.165 0     -0.08
 0.165 0      0
 0.165 0.068  0
 0.165 0.068 -0.08
 0     0.068 -0.08
-0     0.068  0
-0 
-0 
-12
-3 0 1 2
+0     0.068  0     # Point 7
+# 3D Lines
+0                  # Number of lines 
+# Faces from 3D lines
+0                  # Number of faces
+# Faces from 3D points
+12                 # Number of faces
+3 0 1 2            # Face 0: [number of points] [index of the 3D points]...
 3 0 2 3
 3 0 3 7
 3 3 4 7
 3 4 5 6 
-3 5 6 7
-3 6 2 1
-3 6 5 2
+3 4 6 7
+3 1 6 5 
+3 1 5 2
 3 5 3 2
 3 5 4 3
-3 7 6 0
-3 6 1 0
-0
-
+3 7 6 1
+3 7 1 0            # Face 11
+# 3D cylinders
+0                  # Number of cylinders
+# 3D circles
+0                  # Number of circles
diff --git a/tutorial/tracking/model-based/hybrid/teabox.cao b/tutorial/tracking/model-based/hybrid/teabox.cao
index 4e6dd5c45d46f8971d2800f333a116dacd0e7078..83c1fdf783e68e78dfa381d4c326f07d88fa8d3f 100644
--- a/tutorial/tracking/model-based/hybrid/teabox.cao
+++ b/tutorial/tracking/model-based/hybrid/teabox.cao
@@ -1,20 +1,27 @@
 V1
-8
-0     0      0
+# 3D Points
+8                  # Number of points
+0     0      0     # Point 0: X Y Z
 0     0     -0.08
 0.165 0     -0.08
 0.165 0      0
 0.165 0.068  0
 0.165 0.068 -0.08
 0     0.068 -0.08
-0     0.068  0
-0 
-0 
-6
-4 0 1 2 3
+0     0.068  0     # Point 7
+# 3D Lines
+0                  # Number of lines
+# Faces from 3D lines
+0                  # Number of faces
+# Faces from 3D points
+6                  # Number of faces
+4 0 1 2 3          # Face 0: [number of points] [index of the 3D points]...
 4 1 6 5 2
 4 4 5 6 7
 4 0 3 4 7
 4 5 4 3 2
-4 0 7 6 1
-0
+4 0 7 6 1          # Face 5
+# 3D cylinders
+0                  # Number of cylinders
+# 3D circles
+0                  # Number of circles
diff --git a/tutorial/tracking/model-based/hybrid/teabox.init b/tutorial/tracking/model-based/hybrid/teabox.init
index f326e929605734e745c9e9dff9c19939d67d9f75..f109800a0eab96b97050f4872839f09b0a0c2bd3 100644
--- a/tutorial/tracking/model-based/hybrid/teabox.init
+++ b/tutorial/tracking/model-based/hybrid/teabox.init
@@ -1,6 +1,5 @@
-4 
-0.000 0      0
-0.165 0      0
-0.165 0     -0.08
-0.165 0.068 -0.08
-
+4                  # Number of points
+0     0      0     # Point 0
+0.165 0      0     # Point 3
+0.165 0     -0.08  # Point 2
+0.165 0.068 -0.08  # Point 5
diff --git a/tutorial/tracking/model-based/hybrid/teabox.mpg b/tutorial/tracking/model-based/hybrid/teabox.mpg
new file mode 100644
index 0000000000000000000000000000000000000000..50fb8ad2d9e245e2bcc06b94d22763a07d9b6191
Binary files /dev/null and b/tutorial/tracking/model-based/hybrid/teabox.mpg differ
diff --git a/tutorial/tracking/model-based/hybrid/teabox.pgm b/tutorial/tracking/model-based/hybrid/teabox.pgm
deleted file mode 100644
index 41833d705da80194d014d5e4a442d1a060ddd435..0000000000000000000000000000000000000000
--- a/tutorial/tracking/model-based/hybrid/teabox.pgm
+++ /dev/null
@@ -1,73 +0,0 @@
-P5
-640 480
-255
-IKJKKJJJLKJKKJJKKKKKKLLMMMNNOOQONNOPPQPQQQQQTSSSTSUTWUTTWVWWXXYZYYZZ[\[\]]]\`^^_```^^`aababa`__ZUQPPQQSRQRUUVVUUWVWWXVUUVWWUVVVVXVVVYWVVVVWWUUVUUWWWVXWX[YXZ\[[\\[[[[[[XXYXWYXXXXYYWXWWXZZZZ\[]\\]_]]^_^_`c__bcacbaa``a`_`^^b`__aaaaa`b```a```____aababacc`ababaabbaaaabc```a___`bcbbbdddcccfbc``___^_aacbb``^]^^_d```b_`baaeee``acbcccbaeffeddeda`aa`abfdbbbcdddcdddfheffggfddefdcbb`abbbe`_`a`ccaaaaba``_accddeddcccgbc`aa`abbcca`bb````bbbaa__ac`_``^_^`]_`_^^_^\\\\\\YZXZ[[Z]Z[XYZYXXYYXZXXYZ[]\[[[\`\[[\[[[\YXYYW\WUUWVWWYVUVYXXXZWVVVUUUSTWTRRVTVUTSSSURRRSSTSVSSSRRQRTSSSRSUTVSTRQQQPPPQPOOPMNLKMOMNMLLLLKLMLLKJLKKKJLKKJKKMLKJIIIIIHHGGGHHIGGGFEGGGFEEFEKMKKLKKJKLKLLLKKLLLMLLMMMMNNOOPOPRPQQOPQQQQQRSSSSSUTUUUUWVVWXXYZZZZZ[\]]]_^]^__a`a`__`aaaababa_]VQQPQQRSRSTUUVUTWVWWXVVWWVWWWWXWXUVWVUVUWVWXWWVUVXVUVWVW[ZZZ[Z[YZZ[\ZZYXYZXWWVWZWXWVWWWVXXZY\\\\\]^\]_^a^^^__bbabcaaadba``_^___^`aaaa``_`aaa`_``__``abbabbbbaaa```baa`abba`_`___`ab`abccbbccbbca`_`a`abaccb``^^a^`aa`__^_aaabbb```abc_aabddceedbbaaa`_`bddcbccegecddeigfeefddccdddedc`bbbdd`````acb_bbbbcccbcddddedcccbbaabbbcccd`baaaaa`cb_aa```a```__^^]^^_b___\^_][\]\YYXXXXXYYXWYWXWY[ZYXWXYZ\\_^^]\]\\\\[[ZZZZYYXXWWVWWWWYVUTW[XXXWVVUUVUUUVUTSVTUVWWSTSRRRSSSSSSSSRQQRTQRTQTTUTRSRQQRPPPQOOONMLKLMMLMKKKLLLNNMLKLMLLKJKJJJKIJKKJJJHHIHGGGFGGIGHHGEFFFGEEEELLLLOMNMNNNNPLLLNMLMMMNNNNOOPOOOSQPPQPSSSSSRSTVVWUUUUVVVWWWWXXZZ[[[[]\]]]^_^___``acbbaaabccbaa`_VRRQRQQQTTWVVVUTVWXWXVVWXWVYXWXW\WVWVVWVXWWWVVVVUUUUUVUW[[\[[[ZYZ[[[[ZZXXXXV[WWWWWWXYWXXXY\[\\\[^^]^^^^^]]``_^_accbabbaaabd_`_`__`baa```abbaa`__``bcccfba`caaa````bac``bbbb^_``_bbb``bdcabdbbbca``cbb`aafffad`__^_aac_^^`bbabba`aaabd``abciceefcaab`__`acbacdddeedfeefdejegeeddccefdddfbbbc__````bbcccecdccbdefdddfcdbbbdbcdgccdeddc`ac```aaaabaa```b`__``a^_`___\^^^\[\\ZYXYXYY[YXXYWXX[\\XWXYZZZ\^^__\^]\\\[\YYZ[ZYZYXWVWXXXYWWVVWWXYYXXWWXWXUXWXTUTTUUTSSRRSRUSSSTRSSSQRRTRQQPPRSSSURQQRQQQQOONMNOONLLLMLNMLLLLNLLLMMMMKJJJJJKIHIKIJIIGGHHHHGGHIHHIIGGGFEEFHELLLMNMNONMNNNMMMMMNNNNNPNNNNOPPOOOOONNPQTTSSTVUVVWWWWVWXWWXYXXZZZ[[\\\]]^^^^^^`aaabbaaaaacddcca`YSSPRQRPRUUVUUUUVVWWWVVWWXXXYWVVWVWWWWWVWXWVVVVWUUUVVWWWY[\\[[ZY[[[][YZXXWWVZWWWWVWYYWWXZ[ZY[\[[]_]\^^^^^^_`__`ba`aaa`aaba`_`____`aaa`acbbbbaa`aaabbcccba``_``aaaab```aaaeb_`a```___`abbbababccaaacebaabbbbbbc`a`_`ab___aca_cbbbbcbadcadccecddedbbb```_`cabdddeeecfeeedddefededcchedccb`baa`abaaaca`abdbbbbab`bbdccceaaaecccccdgdddecba`````aa`_````aa``_^a^___]]\^^]\\[ZZYYXXYZ[YXXWWXYZ[[WXXYYZZ\^]]\\]]\[\ZZYZZZZYYYWWVWWXWWWVUWXXXXYYYYYWVWUVUUTVUUTTSSRRSRQSUUVSRSSRQQRSRQQQPQSRTSQQRPOPPPOPNNONMMKLLMKKJLJKKLLLNMLLMKKJIJKJIHIIIJGHFGGGFHGGIIHHHGFGEFEFFHENNONOPOOOPPOONONPOQOPNMNOMJKLKJIHIJKLLPQVTTSVVUVVWWWXWWXWWXY\Y[Z[Z\\^^]^^^`___caaacbaacbbbacddb`[VSQRQQQRVUUTTWWXVXXYYYWXXZYYX_WVVWWXWWWVXVWWVWXUVXXXWZYY[_\\[[[\[[[][ZYYXZX[YZZYWVYYXXY][ZZ\ZZ[]]\[^]]^a____````__aaaaacbaa`_`__`abbbbcfdfdgfeccbdcfdbacab```aaebca`_caabba_`abbaaaaaabebcacbdcbadcabcdecccbaabb`cbbccbaa`adbbbbbcadcbdccfgheddccedd```bbdccefefffedffffdddddccddddhcc`eabbbbbabbaa`adbcbddccccdcdeeedddcccccedccddeaa``a``aa__``caaa_a`_`___^]^^^]]]^[Z[_YXXYZ[Z[XXX[Z^Z[[[\]Z]Z\\\\[[\^`[\ZZZZZZYXXXXWWXXZZZWVVVX[XXY\[]YWXYVWWXVWVWTSSTRRSSQRSTTRRTSURRRTRQQRPQQQQQQQPOOSPPQQNNNNNMLLLMLKKLKKJKLMMNMMLLJKJIIKJHGGHJIIGGGJGGGFGIIJHHGIIIFGFHGNNNMNQPPOOOPPPPOONOPPPHHA==>@CBABCCDFGJMOPPPQRSWWXXXYXXYWWWWXXXYYYZ[\]\\\]^```a``aacb`bdccccdgee]VSRQQQQSVUWUSWVWWXXYYYWWWWWWXXXWWVVWWWXVXXXXWWXWVWWWWXYZZ\\[[\Z[[[[ZZZXYYYWYYYZYXXYYYZZZZZZ\YZ\\^\[^]]___`aaaaa`a_`aa`_bbaa```___`cbcbbccdddeedcbbbdecbc```bcaabbbb`_`abbbaaabbaaaabbbddbbabadeaababeccceddcbcca`d_aaaba``aabbdabbbdeedbbfffeeedcefd`aabcccdeeeeefheeeedcddeccdddddcbcaeabbbfabbbbbbaaaaacecbcddcefebccccdedddbccdddaaaaaa`ba`_``abaeaa`a`___^]^_^][Z^Z[[[[YXYYYZYXXXXYZZ[[[\[XYY[[\\\^]`^\[ZZ[YXXXXYYZWXXXYXXWWWWWWXXXZZXWWXXWWUWVVUVTSRSSRRRRSSTRRRTRQQRSRRRQPOPPPQQQQPOOPPPQQONOOONMLJLKKJJIKKKLLNMLLKJJJIIIIIHGGHHIIJHFIHHGGGHGHIHHHHIFEFIGOOQONQQQRPOPPQRQQOPOLD@;53257889;?A?=?GDBDHKLMOQRTXWYYYYXVSSUWZXVVZ[\\][Z\^_a`bacaabdbbdccccdfge_VURQRTSSTUUUVVVVWYXZZ[XWVVWWXXWWWVWZXXWVVVXYXXWWWWXYXXY[Z\\[[\[Z[\[ZZZZZ[]Y]ZYXWY\Z[[\[[ZZZ\Z[\[[]]^]]_a`aafddb`_``bac`cbaac`_`a````bdbddddcccdebbbdddccadddcbaaacaa``bbabbdcdb``abbbcbcdccdaecaaaaddccbdeecdedaaddda```````abaabcdfeebbcgggffffdgeeeeeefefeddegeefeegggdddddabcdbbbbccfabbbbabddddeaaabbceffgddcifecccfeeddddbfcddccdccccbbba`_`abbbaaba`_b_`^^^_][\^[\\\\ZZ[XXZYYZYYZZZ[\[Z[Y[[^[\\\]]^_^_[ZZXXYXXXWWWWXWYWXWWWVVWWWX[YWVXWXXYUWWUUWWWSSTTQRTWTTRQRTRRQQQQRUQPPOOPQRQQQPPQPPOPPOONNQOONMLKJKJLKKKLLMNNLOJLJIIIJHHJHIHHHIIIIKGGHIHGHHHHHIGFGHFONQQPPRSRSQQQRRRONFC=8644010333368887666789:<>CHLORUW\Z[PEDELSNIMRV\\WTRW\]aa``_caabddccbbccdeff^VSQQSTTTTUUUUVVWXWXY\ZYWVWXXXWVXWXYXWWVVUVYWVWWWWXXXZYXY[[Z[\[ZZ][Z[\ZZ[\ZXZZZXYYZZ\]\^\\\^[Y[[[[]]^^__^^``ceca`__^_```c`aca_```c````abcddedddccbbbcdcbc`accebaa````_`bbaaabcbb``acabcbcecbcabbcdb`bbcecceggfddbbdebcbaac``a`abbbceeeeabcefghgffddddddcddddecccdddeeefdefeheecbddccccccccbaaaaabccdcbb`bcdedcdedceeecccddecddccedcccecccedcb_`aaccea`aab`````____^]^^][\^\\[[YXXZXXY[[Z[\\\[ZYXZZYY\]\_^]\Z[[[^YZYXX[XXWWVVWWWWWWWWWWXXZWWVXWVUUUWWUUUUWSTUTQRTSRSSRQRTRQQQQQRQQQPOQQSTQQQRQQPOOPPPNMQPONMLKJJIJKKLKKLONKKJJKKJIJIIIHHHHGIJIHHHGGHJHJHHHIIHHGFEQPPQRRSSRRRRSSTQOD:415578633320334422.*)()*+-04:@FNRUYY[J;6=GII>>ITZ\TKLUY]`bbbccacbecccccbcdefe^VRQQRSTVTRSTUUUTVXVVYZYWWZYYXWXXWWYWVVVVUVWWVYXYYYYXXZXXYYZ[]][Z[[[[[Z[[\YYY[ZX\[[Z`^\]^]a^[Z[\^\]]]]]_caaacda```a_^`a`c`aa``aaaa``__abeeeeedccccbbcccbd``cbba``````_`bda`_abbccba`bddcbcecedddfeebbcabeffffffcccecacddcc_`cccdddddefecbdefghggghhdddfehefdeddccdefgefeedceeeddgddceeecdda``aaabccbbccbeeddccdeccddedccccecebbdhcccdbbcccdca``aaabb```aa`_`aab``^]]]^]\\\[\[ZYYYXXXW[Z[]Z[[\ZYYYXXX\\]]]\[[[[Z^YYXYXXXWVUUVVWWVXXXXWXZYYWWVXUTTUUWVUUVWXUUTTRRSSRRRSQQRQRSQSSRQSQPQVSTRQPQRQQQQQPPPQQQQRONMKJJKNLKKKKKMOMNJJJIIIJKIIHGGHFJHHIIIJGHGGGGHHHHHIGGFRRRRRSTSSRSSSTSPD:506:@FEDCA=86432.)%" #(,5?ENRWX[G656:>:7:?OYXRJ@JUZ^`cbaaabbbbcddcccegfd^URQQTSSSSSSTUUUUUUSUWWXVVVUWXWYXVWYWVUUUVVWVVXWXYZVXXXYXXYY[^][ZYYYYZZZ[\\[[[ZXZZ[Z[\\[\[]\\[]_^[]]^^]_bbabcdbaaa`__`a^`_`_`___bc`___aabdeeecccbgbbcdaa`^`bba`__`a```a````^abbabca`bdcbbbcbcddeedeccccbcefhfdecccdccbcccb__`bbdecegehfeeefefgfeeegcdffdddfdefedeffihegfedcfeeeddbbcedecdecaa`bcbbcbbbbbeedbcddfeedceefeeddbcabddbcdbbbabbcbaa`aa_bb`aabbda`aaa_^]\[]]]\]][\ZZZXXXXXWYZ[ZYZZZYYZZXXXZ[\\][]^[Z[][YYZXVVUVSVUVWWWWWWXXWWVWXWVVUUTTTUUTWUYWWUTSSSSRQQRRRQQRTSRSRRQRQQRRRRQQQQQRRPPQQPOOONNNNNNKJJLLKKKLLKLLKKJKKHHIGIIIJIHHFGGHKJIIHIFFFGHGFGGIGFFSSTSSSVVUUVTSTSI=64:@GNONOOMKHD;42+%#+4;EQWXYE60122257<IWZUI@@LY]_bdbacecccfefdddfgfe^USRRSSSSTWWVVWVUUTTYWVVVVVVVVUVUWXXWVZUWUVVZXXX[ZZY\XWXXXYYZ\][[YZYZ[]\\]\[[\]YZZ\[[\]\^^]\\\^^]]]^_^^`aabcabdbabe`a````_a``__`c``___a`acfegbbbbcabca``abbbca__bcc`dbbaaaa`abeabbbbcccceedcbdeegdededcbcegffffeccfedbdbb````abdeehgfgggifgffgeeiehedfhddcegffeefgghhgjfgdcdfefeedhdedddddddcbdbabddfcfciedcbeeeeeccefffgedddbccddecbccacccba``baaaaaabbaab_aa`]\\\[_]]\[\[[YZ[\\YXWVWZZ[YZZ\ZZ[[YXYZ[^\][^]\\\\]]^ZXVUTVTVUVWYXVWXXZVWWWWWVVVWUVUUTSTUWXVUUTSSSRRRRRSTRSSTRUSRRRRURSRSSSSSRRQQPRPPOPPOOOOPMLKJJLKKKJKLKIJKJKIHHHHIHIIJHIHGGJJKIIIIGEEHGGGHGIGIESSTUTTTVUSVTTTLC>9@IMRSTTSSTOMIC<4-%$,4=IVTUB60/.-.36<FU[XPGDDO[_bccddfdcbgeeeeefgff^RSSSRTWVUUUUUUTUVTUUUWVVVVVVVUVVWYXWWWUVUVVXYXXYZYYYWXWXZYXYZZ[ZXYYZ[\ZZZYYZZYY[[\\\[\\\\]\]]]]]]]]__````bccbdbaba_``_``___`__`c]^]]_a``afefbb`bccbdaada`aaccaabbb`dbbbaaaaaabaaabdcbcddccfdheddbfdedcccdedefeedccecbbbc_``aabcddfffgfffffgggfeedefedddccccefedghiihggfffddeeeeddfdcbcdecdedddabbdddcdcfeeeffeedddbeeegfeedcbccdddbb_`ab`bba_`aaaaaac`a`_]]^^]\\\\\\[\\]\\\[ZZ[[ZYVVUZZ[YYYYZ[][ZZZ[[\\\[^\[[\ZZ[ZYXVUSSSUUVWWWWWWVWVWVWXXWWWWUUTTSSTTTTTVYVUSRSQQQRUSRRRRRSSSSRRRRRQQPPPQRQPQNOOONNMNMMOMLLKJILKKKKKKJIIIJKHHIIHHFGGHHHIGFHIIIIHHIEEHFFFHGIFFFTUUUUUUUUUVTWUJC?FMRVWWVUVVUTSRLG:3( &-6BMVK<101.)).49CU\\[RGBH[`ceeddfegggghghgfhgg]TVTTTUVWVUUUVUTTUUUUUWUVVWWXUVWXWXXWWXWWVWXXXXXXYYX[XXW[YXXXXXYYYYZ\\]\\[[[]YZ[\\\]\\\]]]]^^]`]\\_^^^`__`baaadcab``__ccc`_^````b_^]\]ba`beefffbbbdbdabcbaabcccddcbbdbdbbaaabceedbbcddgddbacddcccdffeccddddeeddddddccdgdccbaaabdedhffeefifkhihggggffhdccccddegefkikihgggeddeffeeedfdcccdddcefedddceeddefgeeeddeecdfedddefefdedgfffhcb_^acbbbc```cba`ac_^^]\]^\[\_]^]\\\]_^`]\\`]\ZZXXXY[Z[[XXZ\][\[[\\_]\[^\[[^ZZZXXWVYUTUUUUWWXZXXVYVXWVWVWZXXVTTVSTSSSSSVUUUVSSSRRTSRRSRTSSSSSSRRQRQPPQPQQOPPOOOPNNMNMLLLLMLLJMLNJJJKJJIIIJGIIIILHFFIIHIIGHIIHIJJIEFGGGGHIIFGFUVUTUWVUUUVUUUMHLPSXWVWXWWWXYZRQD=1*" '/:EBB2(+2*&')05DV_`^\OEIYadeeedeefgfigfhiihhh_TTTUUVUUVVVVUUVUTUUVVWUVVWVYVWXXWY[[ZYXYXXYYYXXXXXXXWWWWXWXWXYYYYZZ[[[[\[[ZZYZ[\\\]]\]]]^]^^]]]]]]]^]^^^_b_aabeaa``_^`aaba_`a``b`_^^^``acbbbbbbbabbbbbbbbbcbbcccccceabaabbbccdccccbcccbbbbbbbdadgfedcdgffdedcccb`acdddccbbabbddddeeefffhggghdhggfeeeedcddefffffggghggfifddeghgeeedbccceddegfeeedbegdcegffdddceheedddddcdeeccddddeedb`aadecbca`_a_`dab`_^]]`^[[\]\]`_^]]__`\]]]\[[ZYXYZ\ZZ[XYYZ][\[Z\]]^\[]\[[[[Z[YXWVVUUUUUUWVXZVVUUUWXWWVWXXVUTSTTTRRRSRTTTSTTSSRRTSRRRQRRRTRRRRRQQQPPOOOPOOOQNPOLNMMMMLLLLLKJKKKJJKKIIJIHIHHIIIIHGGHJJJIHHIILIHIHHGGFFFGFEEFFWVVUVWWWVVVVVRQQQUZYYWZYYWWWXWSJB80)$")3<@0'('&$!"(-6EZaac\WHJZaffehggffhgghhjiiijh`TRTUVZWZXVVXUUVUUVVWVWUVWWWXWYYYXZZYYYY[\\[[ZXXWWYWWWYVVWVXWY[Y\[[YXYZ[^\]ZZ[\\_[\]]\^\\]\\^\\]\]a__^^``_a`baabb`^`^``aaad`aa__caa`_`aa`bcbaaaabbccbccddeffhdecbccceccaacdcedddfddbbccbeddabcddeegdceeeffdcbbdbaabddddccdddcdhdcddeeeefiihghiiihgieffgggfgffffgffhihfeegdcehgheeedccccdfegfdggfeddeedgfgfddddfeeeddfeecddddhdcccdddf`abdedccbaaa```aaa`^^]`^[\[^\\^b^]]c_`]_]\\[[[YYYZZYZ[ZZXXZZ\[Z\]]^^]_\\[[[ZYZXWVWWVUVUUUVWZVXWVUWWWWZXXWUTWSRTTRUTTTUUWTUUUSTRRRSRQQSQQQRRRQQQRQQQOOOOONNNNOPMNMQMNMLLLLNJKJLLLKKJIJHIJHIJLIKIHHGHIJIHHHHHIIHHIGHFFFGGEEEFVVVYYYWWUVVUSQRTTXXWWWYYZWVVUSJA92)# (1*$$*%#!%).9I]^aVSNHH[dfffgfggghgghijjjiig`SSTUVVVWXVVVTUUUVUUUWWVWXXYYXYYXXYYYZZZZ\\\ZYYYYWWXWVWVWXWWWYZYYWYXYZZ[\]]Z[[[ZYY[]\\\[\]\[[[\_]]]^______`^`aaa`__`_babaab``a`_a`aca`aabbccbaaaabdedcdeddeeedebbacccdcbccccddeeebccdddcddcbcddedcdcegfffedcbaaaaaceeedcddeeedddefdddeeegjgfghikhggffeffedgffceefffffeeeeedegffeffdcccddecdfggfeeeedecddegfccdfddieddcddeeddeccccgddeabbcedccdacb`__adbaa```^[[[]]]]^^^]_^`\_^\[[]ZZYZZZ[[ZZZWXYZ[[[[^]]\\\[[[[[ZYZWVUUUVUUVVUVVVVWVWSWYWWXXWVUUUSSSSRRSSSTSWTUUTTTSSQSQQPQPPORRQQPPPPQQPOOMNNMMNNNMNMNMNPNLLKJJJJKKKJJJJIIKJHJJJJIHHHHGHIIIHGHHIIHGGGGEFGGFFEEEWWWWXVUVVWXTSQSTVW[VYWYYZWVPLG@6/("
    ##"(*/;OW\PG@<?G_eeegighiiihhhiijllkh`SRTWUVVWWWWWXWTSTUTTUVXZX\[]YZXXZ^ZZZ\ZZ[[ZYY]ZZYXWWXXWXXYWXYZZ[[[\]ZY[[\]\\\[[\ZZ[]\][\\\[[\\]\\]^`___bbb_abb```___`aaaaa``aa``aaaabcbgdcdddddeedfeedddegeddebbbfcdccbbcdddeeffdddgffeeeedcddeicddhgggheebbbdaabefigeeffefggfffedddddefggfghiiigfghffgcdheecdfifgefdeeefhfffffffddfddeeddefedegeiddedddfiecdfccefffcedeedddegccddddddcbcccbbbbca^_bcccdba`_^b\^^``_^`^b^`_`]ZZ[]YYYZ\[[\^ZZYYX[[][[\]]`\\[\[[ZZYZWUTTUXUUVXVWUUVVVWVWWWWYXXWWUUSTSTRSSSSSTWUTUTUWUTSSSSQRPRRQRQQPOPQOPSPONNMLMMLLMPMKKMOOLNLKJIJNKIJNLLJJIJIJJJJIJIIJHHHIIGHIIJIHGGGGFFGGFIFGGWXWVVVVWWWVSPNOORSTUWWWWUTMG?:0)#


 !#$$#'*-=CLD><5?AQbdefiihhiihhjihijkkkiaSRRVTUUVUVUUVUTSSSTTUVYYXZZZYZWY[[ZZZZZZZZZYZZ[[[[ZYYYXXXWWXXZZZY\][Z[[[[[[[Z]_\\Z[[[[[\Z[[ZY]^]Z^^_^_`_]__a_`````_^^_`aaabbba`abbabcccedeeedddeeefefddefhdddcbcdcaeccabcddefeeeeeffdegffeecfefebdehggggceabcbbccefhifefiffhifdeedddgfgggfeghighjggghfhddecdcdeddeeddfdeeffgigifedddeeeefeeeadefeecegfceeeeeeeaceegdcdddfeeeedddfdcefcbbbcecaaabaaabccddbaa_^^\]^``_]^^_]^^]\[^\]ZWZYYY[\[ZYYXWXYZZZZZ[[Z[XYYZZZYYWUSTUWTUUWWVUUVVVVXWVVWXYXWWUVSSSSSSTSSTUUUTTTTTSRQRRRRQPQSRQQPPPPPONSQONOMMNMKLLLKKKKKLMMMLJJJLKJIKLKJIHHHIKJJJJIIIHHHHJIIIIIIHGGIGFFGGGHFFFYXXWWWYXXXVSMIGKPQSSXWUSPJD90)"

-
-
 $%&$ "&',596556<DRadihhhhhkkkiiiiikkklnhaRQRVTVVWWXUTTUTTTTUVVVXYZ[YYYZYYZZYYZZZ\YZZZZ[ZZYYYZ[ZYYXXXXYYZ[Z\[[[\[[]^]]___^][ZZ\Y[][\[\[^]^\^^aaaa``_`a_aab`b^]^^`dbbb``bbedfabccdfeeegddddefddedejfgdfdcbdebaeeebbcddefieeehhjfefgffeceeffedeifgghedbcddeheffkgffehfgihfedffdcdceeeeehhkjkiggefffdeddfddebcedbcfddegghiggfeifdegfefeddcdehdffgfmdgfefeeeccdddcccddeffhgkceedcfdcbbbcccacadaaafddddb``^]^^_]^`_^^]_\]\\[Z[[\[YZYZZ[[[\^YWWWZZYYY[[YY[XZZ^ZZY]WVVWVXUTUVVTUVVUUXXWVYVWWXVWVUTTRSTTRRSUUTTTTTSRRQQQQUUTSTSSQQPPOMMMNQQRNONNNMLNLLKJKKKLLKLLKLKNKJIIKLIIJLIJJJJHHHIHGHHIIHHIIJHHHJIGGGGJILGIFYWXYXXYYY[WSLEEGFGIKORLHB=2(" """ 
-
-#.,,'!""$%,189>AEJR_dggghhhgjjjiijjjkkllkhbQQSTTVVWWVUUTUUTWWWVVVWWWXXY[[YYZYYYZZYYYZ[[ZZ[ZYXXYYZYYYXXYYZZZY[ZZ\\^^]^^]]^]]]\[[[[\[[[[[Z^\\[^^a`ab`_``a_`_``_^^^^^ccba`_aacbbbccdeffecccddddeddeecfegbedccddbbdccbbbdeedeeffhhhhhggdfgegfgffdceeeffeedegggggfgkhhghhgggfggeeeedeedeeeegfffhhhffghiffddedeebcdddbfdeegghigfeefgedefffedddddeeeeggfeghfffeebcdefdbcdeeeffffcdddbccccbdb`a_``aaa`dfffcbab^\]^_]_ca__]_Z\[[ZZ[ZYZYYY[][\\\]ZYWXYYXXZZZYYYXYY[\ZXWVWWXVVTTUWUUUVUUTTUWUVVWWWVVVUUURSTSRSTTUSSTTTRSUQPRQTTSRRRQQPOOONMNNOOONNMMNMKLKJJJKJJKKKLKKJJLMKIIKJIIIIIJJJKIHHIHHHHHHHGHIKIIJIHHIHGGGGFFFYYYYYY[ZZZYUKDDB@?@CFED<4* #(+4:>843/&
-
-%07+(#!"%*.7>ELQWZbejgggjhhgiiijkjjkklnlkhdPPRUTXXWVUUUVVUTWWXYWWWWWWXXZ\YXXYYY[\YXY\[]ZYYYZ[YYZZYYYZYYY[[\[ZZZ[[]`]^___^]]]^\[[_\[ZYZZ\]]__^^a`aabbb`aba_a``_a___cbbaabb`cbebeeeeggfccdgdddhdedefgfheeefefdddccbcddhdegfefhhhhhgfffhffggfieddfddfeeifhgfgggghkihgghihgfifeehfiehefddeheeehhiffhjigfddefecacffgffffffhgffeddeeeeeeeekghggfeflfjhgfiggeeeeddfgedbdefedfifgffdgcdbfcbbbbba`````accdcccc`]]]^``bab`_^_]\[[ZZ[ZY[YZZ[][\\[][[YXY[WYXXXWWXYZYZ\[YXXZXWVVUUVVWXVXUVUUVVTTUWXXVVUTUVUVSSSSTTSSTTSTSVSQPSRUSSRRSURQPQOPPOMNNONMMLLMLOLMLKKLJJKKKKJJJLMMKJJIIJJJIJJJJJIHHHIJHIHIGGHKJJIIHGHIHGFGGGFZ[ZYZZ[ZZZZVNDA<:9:<<<6/%&*5.00B?=>>:8( 
-
&*0+)%$$&.5@GMX[]^ceghfhhghhhijjkklmnnnmlkhdOOQSTUTVUUVVVVWVVVWWWWVXYYXYYZZXXXXY\ZXXYZ[[ZZZZYZZZ][YYYZZZZZZYY[\[[\]]]]]]^^^^^]]\[[ZZ]\[\^^]]]^__``ab``a````_^^_a_``abbbbbaaaabbegefgffddegcddeeddeffffeeeeddcccdfeedddcffffgihihhhhhhgbfjgffdeefccgeefddehiiiiiijhhhiiihfieedhgfefdddedeeeegfhhgiihhgfdfeebcdegfdfigghjgeeeeffceffffeefffffffffihgffffeedeefhfeecddeedefffefbcdcbddbabbbbaa`_aaccbabca___^^_`bbbb_]^]\[[[[[[\\YZZ[\\\\]][ZZYYXXXXXVVTXWXXY[[XXXYXWVVUVVXYWVUUVVVVUTTUUUVVUTTUUSSRRSTUTUSRSSSRRRQOPQRSRQRSTRRQPNNLOMNMNNNNLKLLKKKMKJJJIJKKKKJKLJMKJKIHIKIHHHHHIIHGIIJIHHHHHHIIJJIIHHHJGFGGHF[[\\]]][][ZXQF?9544563,!'*31--.370/6>/)(&
%0.)" %)/9FWLXY[\cdhgjjjhhiijjkkkllmmnmmnnicNNPRUUVYXYVWVVWYUVWWWYZ[XXX[ZYYYYYYYYYXXY[[ZZZZYYYZ[\]Z\ZZ[]Z[ZYY\[[\_^_^^]]]^]^_]]]\[[Z\\\]^^]]]____^`c`a`__\`_\\^aabbbbccccabbbbcedefgfgeefgggeffgdgfifgddeedeccdhhhhhfedfffeiihhhiiilhhghhiffdhfedcffffeefhhhhihjiihjkkhgghffehfgffedeedfeefjghgghhhjihffeeeeeefgefgghiigggfffgghfgfgfeeffgffghgigggfffffdefhgffhfgfgedefffefbdcbceffcdbbbcbb`abcccbaa``_`^^_`fbbb^]`^\\\[[[[\][YY[[[\]]]^][ZXXYXXXXZVWXXXXZZZYXYXXVVVVWZXWUTUWWVVUTTUVTUVUTUVVTTRSRVUUTRQSRSQSQQPPQRQPPTTSRTQPPOOONRNNNNOMLLLQKJMKIHIIJKLLLKLMMMKJJJIHHHHHHIIKIHHIIKHHIIIKHIILIHIKHIHGGIHHF\Z[[[[[[^\[ZSG?84001/,# #&($ #(%"%*#! '*&!#%,<DSIEGGOW[^bffgiiikkkklllllmkmmllmjbMMOQTUVVVVVVVVXWVWYXWXZXXXXYZYYXYYYXXXWYZYYZYZ\ZYYZ[[[Z[Z[[[Z[\ZZ[[[\_]__]^]\]]^^]\]]]^]\]]]]]]]]^___^__`a____`_\]^``aa`_baccccbbccfddffffeeefffeefedgffddcdefdcbbcdefffeeegggffehhhmiikghegfffeeffgiiigeefggghggiijhhgjkkhgffffdeeedgfffededeefgghhggghkgffbeeeeeeeeefhiihgffffdffgefgffedefggghggggghffghgeeeeeeggfeeeeeggfecdbbccecccbbbcdc_aaabbbbbaa`a`_^`_ab_`a_^_`\[\]\[\\\[ZYZ\\\[\[[][ZYYZYWWXWWXYYYYZYYYXYVWWWWWXXVWTUUWVVVUTTUUTTUTTTTTTTSSSSSTRRQSRRQSPPPQPPPQNPQQRQPPOONONNNNNMNNOLKKKKMKIIHJJJIIHIJJJJJJIIGHGHHHHIIIIIHHHHHIGIHHGHHIIHGHGGFFFFEFF`_^\]\\\^\[[UG?82.-,*#!'")!&%#&((/;NE:*$*4@MU[^eelihikjklmkklpppmommibLJOPTUTTUVVVVVXXWWXXXXWWWWXXXXXXXWWXYXXXYYZ\Z[[ZZ\[]]]Z[\][_\^\[\^]^__^_^\\__^]_^]\\\\^a^^^_]]^aa`^^^^_`aa_]^`____`aacab`ccgffddbcdfddeffeejeggheeefeffheeegeecccbccdgeeeeejhigffhhgiiikkmhhfeefgihhgghjgfffggijhiiighgjkjhgffejefeedgddddeefgdefgijhggghffffffeedfhhhhhiggjfffffgfffffhfedefggigfddgggggkhhggggddfhedefefgkfedhdgcdeaccbbccdd`aacb``ea```aa^^^_ac`^`a`^]\[^^]]^]\[]ZZ[[[[]Z[^[Z[\ZZWXXXWXXYY[ZYY][ZZZWWWXWXVVUUVWWWVVUXVTTSTTSTTTSTUSSRSSRTRSSRQSQPQTQOPQQRQQPPPROPOONNNOMMORPMMOLKKJKLJJKMIKIIIKIJJKJHHGGGHHHIJJIJHHHJJIHHIIIKJJJIIIGHGFEFFHH]\]]]^^^^\[\SI@92.+*$ 

-
 #'" $',..021/&%09DSY_eiiijjkmllllpmmnpnniaKJPQTTSSTUUVWWXWWWWXWXUWWXVXXXXXXXXXYXXXYYZ\ZZZ[ZZ[\[[[\]^[[\]]]]\\]`^]]]]\]^^]]]]]\\\_^]^__^^^^^____^^`ca`_^`__a`ca`c`aaccefecccddddeeeeeeeeffeeddedfggfedeeecccccceeeejefeefhhfghhhhijehihgfeghhhhgfggggggfgjihijiggghiiihggceefdedgcedfgfffdeehiiiijhggffffgfeffhhhhgjgfgggffgggfcddfffdddffffedefggggihhghhfeeeedeffffghfedddfcccbfcabbbceaaabba`b```aba^_^_`ceaa`_^\\\\[[[^[[[]ZZZZZ[\[Z\[[\][ZWXYXXXXXYZYZYZ[ZXXWWWXVVVVUVWWVVWVVXUTTSSSRSUSRSRSSRQRRRRQPQQRRQPRRQQOMOPPPPOOOONOPOOOONNOPOONLLLKIJJKKJIJJIIIIJKJJIHGGGHHHHHJHIHGGGHIHHKJIIIJKIHHHGFFFFGGG]^^]]^^]^\^ZRKB:2-*& 
-
-
-			
!&*$"%*3::4'#"#-;NYcimjnlllmlmmpnppponlaJJOSTVSSTTUVVVVWWWWXYYWWWYYYXXWWXYYYYYY[Y[Z[ZZ[]]^\\[\]`]^[[[\\\]]\\\\\\]^]]]^^]\]]]]]]^]_`a_a]]]^_^^^_`a`````____```cafccddeebhcgdhefeeeeeeefehecdffffeeeeeffghdcccddeeeeeeeehggggjhihjghgfgkehijihhggggjhgffhiijjiiighiiiighhhhhgeeggifjihgiggfhinkkjkgjhgghgggihjiihghfehhihiiiilccegffeeeefeeefgfkghiiiihhhigfeefgfeegfiffdddgccbabcbbadceaabbcb`dababab``__`bba`_^^\`\][[\^\[[]\[ZYZ\\[Z]\_\^\^WZYXXYX\[[Y[ZZ[\YXYYXXXXVVVXWYWXWXXYUUTSSURTRQRUSSSRQQPPQQQQPUQRRRRRPNOOPQPPOOOPNOPQOMMNNMPOPPMMLLMNLLKKKJJIJKJIIIIJIHHHIIHHHIIIHFFHHIGIJJIIIKJJIHGFFGGGGGG]]^]]^_]][ZXTNF<5-*$	

 #$)'!#*2<<?0%!
-
-$<Sfikjmlllllmnnmnooonn`JJNTUURSTTUUWUUXVVUUVWXWYXWWVVVWWXXZZZYYXZZ[\\[]]]\\[\]]\\[[Z]]]\\]]\\\\\]^]\]]]]]]]]]^^^__```]]^^a_^^``a`````__^`a`_`abbddeeebccdcddeefhgfffgeeddddcgeeeegfkgfgccddeefedddddfhghgfhhhhhggfghiefihihihgghhhgfffgghghhghijjiigggghiiffgghfgihfihgfhjjjjkkhijhggghijhijjjhgfeghhhijihjeefggfhedffgfffgegghjikjjhffffefgfeeddcheedddcabbaab`a`dbb`acbaaaaab`baa_````aaa`_]]\]\\\\\\]\\\]\[Z[\^[Z[\\\\[ZXXYXWYX[Z[XYYZZZ[YXXWXXWYVVWWVVVVXVVTTUTVTQQRRRSTRRQQQPPQRRQPOORQRSSOOOPPQOPPPOONOPNMMONNOONMNNMLMMMLKKKJJLJJJIIIIIIJJGGGIHHHHHHIFIGHHHHHIKIIIIIJHFGGGFGEGH]^^^]^^^`\ZYYTLB80*$	
-



#1-)'(&!$)2:EJ<.*(		
-0Wgikjmlommmooonnnmnnl_JIOUUUSRSSUUTTTWVVVZVXWXXWVWWWWWXXYZZZYYYYZZ\^\`]]\]\__^\\[[\]]`\]]^^^\\]]^^]\\]]^]]]__]_``a``aa^^``_^_```abaa___ab```adbgedeeciefdbegefggggggfgdddcdheeeedeghhhccdeeeeddeefdggfhgfihhhlhghjihgffhihhhgghfgggggghihggkkjjmmnjjggikighkjjhfgjhiggghklkjkkkkjkjjghiiiikhhigffiiijkjjiiiijigfgeehgghihjihgiiijjjiihffghgffifddifeeeecbabcaaaccdccaabbaaa`bebccdae`a``ac`_^^]^^^\\\\]]]`^][[[\\[[Z\^^^\[Y\Y[WXY[[\ZZY[[[[ZXYXWWVVVVWWVUXVYVVSVSSTTSSRRRTSRRSQRSRQQRRPPQRRRRSNQQQQQPSSSOONNNNLMNNNQNLLPOQNOOPLJJLIJJJIJJJIIIIJJJJJIHHHHHIHGHGGGHIHGIIHIIIIIHJGGGIIJI^`^^^``_`]\\[[SNB6.& 

-
 $2@J8,&!%/4=ESI6*.$
-	
-8Zjjjjjjonnnnooponnook_KMORTTTUUTUUXTTUVWYXVVWWWWVWXXYYZZZZZYXYYYYZ\\\\\\\\]__]\\Z[]]]`[][[Y[\\\]_^^\[\\]a^^___``aa``__^_`_a`_`_aaaa`_``aa`a`adbdfddddedecceeffgghhigeecdgfffeedfeefgigddcehfcdeeeedgggkhfghhhihgghhhigegfgggfhjgjighihhihgfghjijjjiighijjijigjjhgghgefihiihjkkkiijjkfhiihikgghggfijjljhjkjijjihggggggghhghhgfgfiijiiigggiigghhiffffeeehdbbbbaaabccbaaaabba`aaa`aaaaaaaa``ba`_``^]][\\\]]^_`^\\_]]\\\[\\]\[ZZXZWY[[YYZYXYYZYZZYXWYVUTTUXUTWVUTUSSSTUTSRRSSSRQOPQRRSQRRRPPTSSRQQOOOPOPSSSQOPNNNMMNNNMMLLJLMNNMLLKJKJHJKJJIHIIIHIIIIIIHIIHHIIHHHHJHHIIIIHHILIIIHHHHHHHHG^^^^^```a_^^^]ZUN@5-%(.)!!%$-DXPE0$)-=BQRJ-') 		'C]ljjlllnnooqpqpoonook^JFNQUTUXTRUTTTTUVXWWVVWWVVWXX[[\YZY[YXXXY[YZ[\\\\^[\]^][[\[[]^^`[][[[[[^____\[\]\]^^_^_^`_`aa`ab`___`c_aacaaaa``aaa```bccbdeegggeicdefgghegjigfeefegeeeffffjhggfeffefhcdeeeedfghihgfhihhhjgghiikhliggjjjifgiihhijihhgghjjjjiihijijmmjhiijlhfffedgghiijjkjiimkmhjijhhihhhhifiiijjkkkiimmlhhgigfghgfgljkfhfjiiiiifgihhggffgfffeeeeedbbbcbaaacbbabbbba``````a``bdbaaa`bcc_a__\`[[[\]_^a``^]]^]\]]]`]^]^[]XZZYYZYWYXWXXY[\[ZXWWVUUTTTUTXUTSUSUSTTTRSRTTTSQPORRSSRRRQPPQQSSQRRQQQNOPOOQPPNLMMNNNPLLLLKKLMMMLLKJJIIIJJJIHHHJHHHIIIIHIJHHIJIJHJIHHJIIIHIKJIIKLKIJJIHHI__`__b```aaa``]\TLC:2)*67:-#""" #,**=WUVC3  )4BFQ:&##		
-5Qkkkllllnoooopppopoook`IHLQUUUVTTTTTUVVVWVWUUXWVVWXXZ\[WZY[XXXYX[YZ\\^]]\\]^]]\[[[]]]a^[[[[[[ZZZ\[[[\\\\]^^_^^_bacb``cb`aa``a_aabaaaabbbba``adcccbdeffeedddefhghffhigigeefgfffeffgihhhghfffeecceddeefjhjhghhifgghggfiiihijhghjijhfjlijjjijihhhihiiiiijiiknmjhkkkkhgddfeefghhijjijjjjmhgghhiiihghighiijkmmmjijjighhhfgggggfghgeffgjiihhhgghgffefgfeeeeeeedbbcccaabcccbaabb``````caaaaaaa``````^___\\\[[]\^^^_^^]]_^^]]^^]]]\YZYYXXXZYYYXWXXZZ[VYXWTTTTSSSSTTTTSTSSSTUSRRRRSSSRRRRSSSTRSQQQRRSSQQQQPONNNNNOQQMMMMMMMMLLMMMMLLLLLKKJHIJIIJJHHGHGGHHIIIJJIJHHIIHHGHHHIHHIIIIJJJKJJJHIJHGHF``b`_aaaba``cba][VSIA4'#,9CLD9.))((*-1<N\aSC/*28;0%#
-
-
%HeknnoonoonooopqoopqoolaIFLRUUTUUWTUUUUVVZWWUUUVWWWWYZZZYYZ\YZXZY\YY[[]^]^]___]^[\\a]]^\\[[]\\[[\][\\]]]\\]__a`_`aaa``accbbbcdbaabbbbbbccdbaabbbcgbceghlgffffgggggggggfiikghhggfffglihhhhjghfdccddcdefihhhhhhihghihhfiiihgghhhiiijjjjijljiijjjiiikjjjjlnkklmjhilmlghecdeeegiiijniliijmhggijjkkhhghggijjkjjjjijjhijhhgggggffhhgfffegihhgffegffdegghegdeefdedccbbbbedgdea``a_`a```ababab`a`b`b``____\\[[[]]^]^^^^]]___]]^_]\\]YZZZYZY[YYYXXZY\ZZXYVWTSTUTSRRSTTSTTSSSSSSRSSUTVTTRVRSSRRRRSRTRRRTTURSOPOOONNNOQNONNMPNMMLLKLMMLLLLJJKIHHHHJHGGJHGGHHJJKIIJJHIHJHGGHIGGIHKIJIJJKKJJJJMHGHJF``aaaaaabbbacba_^[YWKA0#19LLOC<61.-28@LYgbQA)
-
-
-)2<2#
-	
-4[ilnonnnppnnmpoooooponlaHFJQSUTTUVTUVUTVVVVVTUUUVWWXYYYZYYXYXXXXXYXZ\\^]\]]]]]\\[\]^^]][Z[]]\]]]^^Z]\]\\[\]^^^\__`ab_``dgcacdcdbabcbbbbbbcaaabcddccdehjigfddeffhhgigghdhfgghjhigfggjjhjihhffgeddddedefihhhgghjkihhhhgijhgggiiiihhjljijjkkiijjkmjhhhijkllkklmjjikjigiffdeeefhiiikiihiiighhiijmkhhgihhiijiijiihijjjjjighhhggighgeffffggggfffffgeeeefefdddeeddcccbccddddcabab`aca``_c``_``a`aa`____^^]\[ZZ\_]\^_^[\\^]]\\]]]\\ZXY[YYYYYXYYXWYYYYYVVUTSTUTSRQRSUVVVUTTSRRRRSSSTTTTRQQRQQQRRRQRRQSRRRQRNNNOMMLMMNNNMMMNNNNMLLLKJLMLLLLJJIHIIHGGGHHGGGGKIIIIIIHHGGGGHHHFFHHHIIJJLKKJIIJIFGHHGa`aa`abcbaabcbaab``\WK<'$1:GMKJDE;79<DQYdedQ@ 		)27%
-	%@^mlpnmnlpponnoprpqpqonkaGCJPSUUVVVUUUUTVVWVVVWWXXWWXY[YZZ[YXXXY[XZZZ\\\\\\]\]]\\\]^_^]][[[\^\a^^^`\\]^^_\\]]]]^`_bbcbbbdeeccccegccbbbbbgbcaaaabdedcgfihggifeeffhgggfghhhfhgggfghhhhjhgikigfffffeccfefgihhhhhhjjkhgghhijgfgilkkjiikjjkojjkijklkllhihjjmmrllmmjkkljiijjjfedhgjiijmjijihihihjjiijjiiihiiijjjlihhgikijjliijkhggffffggdeeghgfegffefeddgefdedeffdbdfdhdeeddcceccadcb```d`a`_aa```_____^_^_[^Y[[[]]]][[\]]\\\\\[[\YXYYYYXX[Z[[ZX\ZZZYVVUVVVSSRTQQSTTTVUUVSRQQRSRRRRSTSSSSRRRQRSRWQQPQRPQQNNOPNNNMLMNONOOPONNOOOLKLLMMMLKJJKIIHHHHHHHGGIIKIJJIIHHIGGGFFFFFFGHIIIJJIIJKHIJIGFIHHaaaaabbccaaabbcdba``[UC.%&2=ABBBA@>:;BLVace`L2#&-		 1OllmmmnomppppopppppppoojcGHJOQTXWYVVVUUTVVWWVVWWWWWYXXYYZ[ZZYXXYYXYYZ\[Y\\]^]_]_]\]^_^]]\\\\]]a_]\]]]\\\\]]]]]]__]`bbbbdcccccbcedccbccccdcbaaaaaddddgeiggggffeffggggfffeheffgegghhhhhgghkkffeeeeedeffggkiggghhjjjiihighigghikjkkjijjjkjijkkklnklkfihjklmmllkjjjkkjjjiiigfehgjiilkiiihihgghhfjjjkihhhifghijiihhhiiiijjiiiiihgfegfgeddfgggffgfeefddddcdddbcdddddddgbbcdeddeccaaaaaaaa`abaa`_`aaa_]^^^]\[ZZ[[[]\\[Z[\]^^^\\[[Z[YYXYXWWWXXXVWXXXXWVVUUUTSQQQTQRRRSTVTTTTSQQSSRQQRQRRRRRSQRPPPORQQPQTRQQOOONNNNMKMOOPNNOPONPONLLLLNNNLKJIIJHGHHGHHJIGHHJIIJIIHHHHHGFFFEGKHHIIIIJIIIKHIIIIIIIHbbbbbcecdbbaacfcccfc_YK8*&)4@==?=@?=;@FN[adf]C(	
		
&FdmnmmnpompoproqqqqqqqpplcGBIMPRUWWVWXUVUVVWWXVWWVVVWXXYYZZYYZXXYYZYYZZZZ\\\^]^^^]]^^__\[]\]^_^`^^^^^]\a]^^^]\]]^___baadcccddeeddddcddeedddbbcbedcchegejijhgfiiiffgigffiehfeegfjghhjhhhhhkjffeeeeeeefifgijfgfgijjmkoiihhiihjijjiknlokkkkjkllkmnkjiiijmkkmmmlkkjmkjjmlkihijghhkiijjiihhgggghiijkmjkjiijhghhiiiiiliiikkjjkjjiigffgghdeeffggggggjgeddddcdccbbcdcdccdgdccgfhdddccbaaafaa`___aa`_`db`^^^^^\\[[\[\]\\[\^\\]\^][[ZZ[[YXXXVWVVYWVWXZXVVVUVVVSRQURTRRQQQTTSSVSTRQRRSPQSRRQQPPPQQOOPQSSVQRQQQQONMMNOOMMMMMMNNMNOOPOMLLLLLLLKJKIHJIHHHHGHIJGHIJIHIIIIIHHHGGGGGGHIHJHHIJHIIKKJILIJIJIccccdccccbbbbefccdeea\QB6,.4:;=?@ECADHLS[bcgZ<&	
-
-
7_gnopoooporpppoqpppqsppqmcHAGLPRTUUVWVTTTVVWWXWWWVWVUYZYZYYYYZXYZZZZZZ[ZZ[]]^^^^]^^^]__]\\]^a_]^^^]^`][[[\]]]\]]]___aabbbbeccdfdddedddcddddddcbcdcbdeeeihhggfgiiffghhgeeefffdddfefhggggggijghfffffgffgfffeefefhijjjjihghigghiijjjlkjiiijjiijkkmjijljkkjjmnnmnkjjjkkklkjijjghhhhjjjhihhggfgihijlljjjjijihhhhhhhgggiijklkkkkiiggfgdeddefdfhghggggfefgeddccbbccccgdbdedddddddfcdbbaba``__^^^_a`````_^c``^\\[[[[]]]]]^[[\\^][[YZZZYYXXWWWWYWVWWWVUVVVUTTRSQRTSRQQRRRRRRQQRSQQRRRRRRQPPOPPPPPPQRQQSQQPQQQONMNPNNNMMMMMNLNMNNONMLLKLKLLKJJIIJIHGHHGHIHHIJIJHHIIJJIIHGGFFFGFJGHHHHHHHIHFGGHGHHIJddecdddcccdccefddegffa]NA8478:==BDIHMMSV^_b`V>(!
-
-
-
-*HbnnqooopoopqqpqrqpqqqqqpmdG@GKPSSTUUUUSTTVWXYYWVWVVWWZYZYYYYYYY[\[[\[ZZ[[[\_^_^^^`^^^a_^^a^^__]_^[^__]]\[[\_]]]^^a__`bbbbbbbbccddddeeeffeedddebbeeccdieihhghffhhgggiiihgfffheedddegggjhgfhhhhghigghiiigjffefgggijiikhgghhghiiilmkljijjkllpihjjjjklljkhhjmonlmkjkkkkjkkkjjmghhhillkjjighhgghhjkmmkllklkjkhfhihlhiiiijjklmmmjijifhggecdfeefjhhhfgfffffeeddbacdccdfbbcedfffdddcbaabb``a`_^]^_`a`c_``_`a_`]]\[[[^^^]^^[[[\^`\[YYZZZYXYXXWXWVVYXXXXVXVUTTSSRQSTSSPTSRQPQQQRRQQRRTRSRQQPPPQQQRQRQPPSQQPPPPNNMNNMNQNNNMNOMNMMNOORLLLMLMMMJIIJIJHIHIIJIHHMJIHJHIJLJJJJHIGFGHHJFIGGHIGGHHHHGGGLGIIdddcddddddeeeeedeefeed_YPGB>=9:;?BEHIKOVY[\]\JD?0"
0*%

$=WpnnonnnpppnqsssrqqrroqqqndH@GJPQQRRTTTSTSUVWYYWVWVUWWXXYYYYYZZYZ[\\\]\[[]\[\\^^^_^]____^^^]]]^]^``___]\]]\\\\]]^_`a```abcbbbbccccddddddfgfdeeecdddddddeiggeffghijgigfghffeeffdcddfdgegigfhgghhhifggggiggfeeddddgiiihhgfggfeggimmjklkjkmlllkjjjjkjkkkkhfjlmnmolklnklkjkkjjihilijkljjjiiiihhgimlnmkkkkjkiihhhhhihhhilkjknlkljjjhghifeddefddghikggfefeeeddddcdcacbbbccfcdeedcccaa`ac`aaa__^_^```c^_^____`]\\[[\^]`^^]\[[\\\\\ZYZZZYYXWWWWWWXWVXYWUVVVSSSTURRRRRPRRQOOOQSRRQQRRRQQPQRPPQQQPPPPOOOPSPQPPPNNNNNOOONNMMMMMMMNONNMMMLLLMKKJJGHGHHIIIHIMHHIHHHHHIIIIJJIHHHFGGGGGGGGGIFGGGGGGGGGHIIfddefddefeffjefegegfgdfa_VTKE?<<>@BFFKMTW\^_`YXTM3 #AS>,! 4ToonnnooorrspqrpsrrqrrruttqeF?EJORQRTWVVUSTUVWXZWVWXXXXXXYYYYYYZYZ[]\\\][[\][\]]]]_^]a_^^^^^^]]^]___`^_\]]^]\]\^\^`bbba`accaaabgdddededddfffdefgggggffefghggffggijhhhgffgggifefddfefegdegihifhhhhhgigfgiihfdebdeefgiiiggfgeeeihhjmjimmjmmmlnlmlkjkjlkjiihjklmmmnmmljjjjljmjihljijiijigghjjijjjknmmjjkkjljfhmjkhjhiiilkjkllknjhiihhhffedddcehgjggggghfgfgdedcccbccbcdcfdfdddbcdaa`______```]]^``b___`ab`_^`\\[_]]]\\]^^^^]^\\[\Z[XWWWWXXXWYWWVWZVVWVZUTTTTSRSTSRSRPOOPRRQQRRSRRRRPQQQQQPPOMNOONOOPOPOPPOPNMMPPOONNOMMMONNNLMMMMMNLMLKKJJLHLKKIIHIJHHIHGGHHJIKKKIJHGGGFFGGGFHHGIHHGGGFGGFFHKIgeeeeddefeefgffffeffheedb^[XQKHFEFIKMOTX]`becba`VJ6%6VTVC6/*+-3:NlnnnmnqqpporpqqrtrqrssstuuseE>DJNPPRUVVWWTVWVVVWWXXVUXXYVXXXWZYYYYZ[[[\\Y[\\Z\_^\]`^]_`^_^]^a^]^\_^```a`^^^^[\[[\^aabbbbbbcbaaacddddcdeedeefdeffeffggecffgghgffhhjghgggffhghgfeddddedddfggggghhhihghfggiihfeeffffgghkigfeedfefiggjijllkmmmlmlkkkkljjjihiijkmmmmmmllkjjjkjjkjiigikjhjihhjkjjkkkkkkjiijkjjkiijjigjhhkikjjjllkjhhiiggggggjgedeeeeefffegffffddccbbcdeeedbbcdedfbba_`__^^]_ca_^\\\_`````_aab`^]]\\_]]\\\]^]\\\\\\[ZYXXXXXXVUXWYUVVWZVVVUUUVWUUTSSTSQRRQQQRRRQPQSSQPOROPPPPRPPOOOOOOOOQPSPOOOONNNOOOONNNNNLNONNLLMOMNMKLLLKJIKGHHIJIHIIIIIJFFGGJGHHHHGGFEFFGHGGFGGFHHGFGGGGFFGHIIgfhggffgjedefghghhgghgffged_^[XURRSUW\`agehhhhiebVQ<+3N^f_ZTOMKQVZimsorooqrpsrqrrsustsstvvwvxteE=CINOPUUUUTTTVUVWVVWYWVUYYZWXXXYYYZZ_Z[Z]\[[[[\Z\]_\]]^]__^^_]]]]]^^__`__``_^__]^]]\`abbbbbcbbdccccdeccddeeegffffefedeeeffffihihgghijiiggghgggjgeffffeeddegijghhhhiinhkhijjhjfeeefighhhiifeeeeffeefgiilkllmmnmnmkjkllkjjihljjlmmppqmolmkmkmkkkmjjiijmhkkikpmnllkmlljiijjnkjjliiihhihgiiijihjmjkiijlgggjhhhgfeeeeeeifgfhfhffedcdcccfdddeccddcccaaa_`___````a_^^`_^__`b`__``a^]]^\`]\]]]^]]\[\]\[[YYXXZYXVVVXXYVUUZWVVVUUUVVUTUTUTSQTRSQQQPPQPPSRQPPRQQQQRRPPPQOPPPPPPPPPNMMMMLLLLLNOOONPLLMONLLLLKMNLLLMLLJJHHHIIIIKIJHHJFFFGIIIIJHHFFFHIIHHGFFFGGFGFHGGHIGIIHHffgigfghhffhhighhgghhiihhgebab_\]^__`abdffhiihggc]XSB4=J[khgc`_\`chknprnooppposqqtsusrsstuuvvvvveF=AIMOQSRUTTTTVUUUUWWVVVVUUUVXWY[[[ZYZZZZ\^[[ZZ[Z[[\[\\]^^]]\\]^__]^\_`______``^\]^]\``bbcbbccddccdcccbcddfegffffeefffjgeeeeeghihhjhiiihffffffggefgefffefeehihghhiiijjfhiiiihjfeeefffhjiiheeffffffefhhijkkllmmnnnllkkkjjlkhjiklmmonmklllkkjkkkmlljjiiiiklmnlllllkllkiiiihijjhkiiihhjkkkiihghiihijjljgghgfihgfedegfefeefffgfffffdcdcfdccccb`bbcba____`^__^__a^^____^_bb_^^`__^]_\Z[[]\\[\[[Z\_^]\\YYXXYYXWWWWVWWUVWUUUTTUVUUUTTSSSSQRRTPPOOOQPQRQQQPPPPOONPPPOOOONPOQOONONLKKKLMLLLNMMMNMMMMMKLLLKKLLLLLLKKJJHHIIIIJHGHHHIGIFFHIHIJHGFGGFFGGHHFFGIGFFFGGHGGFGGGHhgggfgfihfggggfgeghhhhhhjhhgfffeeghgghjjiimmljniidc]ZVT^kkljijjjjllnsssoppsqqqrqqttsssuuvuzwyyxsgF=AHNOQTSUTTUUTUUXXYWVWXVVVVUYXYZ\\ZY[Z\Z[\\ZZ[^\\[^\[\^__^\\\]``_^____^_``_^_^]]]^^^a`cccceceddcdddbabcbcdceffffefifggghhhhglllhiiiikihhigfeeghffeeeeffeefhhhhjiiijjkihikihhjhfeddgfjiiihgffgffgfghgihijjjklmmmnlkkjnjjkpjjimlmlnmmlklmmmjkkllkjjkljijnlomllommkijjjiilhghkhjijjljjkhikihghhijnkkjihhhhfihgeeeeefffeigfgjfhgffffgegcddedebbceabbc_a^^___`_a^_`b_`__`b^_]`_^^]]\\\\][[[_Z\Z\]^]][ZY[[ZZZXXXWVVVUUWUUUTTTUUUWTTRRRSRRSSPRPQQRQQRQQPPOPRPNNQPROONNNPPQPOOPMKJJLNLLLKLKLMMMMMMMMMMLLKKLLKLMKJJJKKKKIHHGGGHKIHIGGHIHJLHJGIFEEIIJGFFFGHFEEFGIGIHHHHHhhhhhhgggegfgghhhgihiiiijiilhhhhhhgfghiijkllliiiijfd_]akklmnopllmpporqqopqqqrsrqrstrtuuuuvvvxwxphE<@EMPQRRRRTUUSUUWZXYWWWVWYWUXYYZ][ZZZZZZ[[ZY[[\\\[^\\\\\]]]\\\\]]\]^^^^\`__^_]^^_____```ccccbacbcccbbdcdceddfgffffffffggggggiikfgfiihiijiggfffffeedeffffgghhhijkjijjiljihhhhijgfddfffgikihgffeeeghhhhjjjjjkmmmmrkijjjjkjjjjijmlllllmoomlljjjlkjijkkijkjjkkkjollkjjjiihhhggihhijjllllighhhgghiklkjiiihhgeggfeedeeeggefffggffgfffedcfaddeecbcbbaa_`__^_`_^_`b__`a`___`___\^^_`^\\\\]\[[[\ZYYZ[\^]\[YZ^ZWWWWXWVVUUTUUTTUTTTUUWTTRRSRRRRQPQPPQRPQSPPQRPPOPONNMOPNMOOOONMONNLLLLLLKKKKJJLLLMLLLKIKKLNKKKLKMLJIJJKKJKIIHHGGHHIIIIIIIIJIHHGFEEEEEEEEEFFFFEDFGHGIJHHHHiilijhligeigihhhkiiijjjjkjjihimikiggkihjkkklmjkjjijhfjmllnpomnppoqsrrruuurrstssstssstuxxyvvvxwwshD;>CKPPRQSQSTTTUVWZXXXXZXXXXXXYYZ\[ZZ]YZ[[[[Y][[[\\^]\\\\\]^\\\b]^]]^^^__a___^^`^^____`aacbbbabdcecbbccccbecehggfggfgkffffgiiihjgigjihhjiigdfeeeeeedehgffgikhhiijmikihjjkjijhghgfdefgghkkkiihfghhghiiijjijikmkmnnkjmlomlkkjjjijkmmlllmnmlllmmmkjiimmkllkjnkjjolmkkkihhgghghkjijkkkkijjiiihhhikkjjiihhhgfeggffeeeddfgedefggffgkhhfddefgeeebbdbcb`_b`ba``a__`bab`cab__]]_^^_^_`a``]\\\[[[]YYYYZ[]_\[ZZZYXZXXVVVVUWTVVVSRSUTUUXTUSSQQQRQPPRPPQRQSRPQRRPONNONNMNNMMPONMMNOOOMLMPNLLKLKJJKLKLLMKKKLKLKJKKJJKKJIIJJKKKKLJJHHHHIIILJGHHIJJKGHEEEFFFFEFFFFGHEFGHGGHGHGGiijigeb_begghhhijiijjkjkllljkkjijjihiiijjjkjkjkkkjjkkkklmoooljklpqrprstusqsttssttttsuvxvvuvvvvwvfC:=CIMOPPPRUUUTVYXZXXXXXXXXXXXZYX\ZZZZYYZZ[ZYZ[[[[\\\\[\\][]]\\]]]^^]]^^______^^]^a```_`abgcbbcccdbccbbccdeeeheffgfghggfeffggihgfffggihhhigffeeggfgggghhgghhghjiiihijijjjiijhhhggfgghhiiijiiiiijjihijiiiiijkllmmmljjjlkkkjjjjjjkmmkkkmnnmlmmmmjiiknmjjikjnijkmlllllihhhghhhjkjllkkkjjjiiiiihjiiihijhgheeegjhifeegdffeeeeghhhggggfeeeffeeecbddba`_a`baabba``a```aa`_`]^_^`^]___^^]\[\[[[]ZYYZ\[[^\Z[Z[ZXXWWUVWUTTTTRSRRRSTTTTTTSQPPQQOOOPQPPPPPPPPQQPNNNONOPNMNNNMNMNOMLNMMMNNMNNNLKKKKKKKKLKMKKLLKLJIIIJJIHJJKKKJJJIHHHIIJIJJHHHHHHHGGEEEFFFGGGFFGGFEFGGGGGHFFHjikifZVZ_hjimiiilkmjllnkomnkjjijlkkjjjjknlllnklkllmkkklmmmmnnjdjoqrrssttsrsttsstvuwuywywxwyvwwyveC9<BJMPPOPSUVVWXWWXXW[YXWWWXXZYZY\ZYY[ZXYYZ\ZZ[\\[[\]\[\]^[^^\\^^^^^]_^_`a___b_````c``````cdbcbbcdbfcbcdcefeehffffgghhgiehfefihggggggjiiiiffddehfgiijjhhhhhhhjjjiihijiinjjiihhiihjffhjiijmiiihilllikkijjjjkjklllmniijkkjjjjjijklmooollnpmlmpnnkjknnmjijjjnijknnnlmlhhghhiihhkkkkklmljjjkijihiiikijjjhiefegggghfffefffeedgkknghgjhhfehfffedddbaa``bbbbdceb``a`d```a_d^^]]^]]_`_^^]\\_[]Z\\[Z[\[Z][ZZZZZXXWWUUUUTTTUSTRRQRSTTTTTRQRSRROOOPPPPRPQQRPPPQMMMOOQPMMOONNONPOMLNMLMMLLMPNMKKJJKJKJJKKKLLKJJHIIIIJKILKJKLKKJIHIHJHGHJIGGIHGHGGJGGEFFFGGHFFIGFFFGGGHFGFFFkjjhcNKKaijijjiikkkjkkkkmkkkjjjkjjjkjlllmmllmllllmllmmnonmle[T]ipsrusrsrsstsssttuutuwvwwxwwvwwvteB8<CILSOOPSUWVYWWWWWW[ZXWWVWXYYZZZZYXZ_YYYZZZ[Z[Y[]]]]\\[[[\^]\]]^\]]_^^_____`_````a``bbbaaabbaaacbcddccdeffefhfhfhffgfeeffdefegihdegffggffgddehggjighihhhhihjkkhhhiiiiihihihhhhhhghhjiijjijkjjkjjjkkkkkkkklmlkkikjjikjjjjijhjjllmmmlllmlmnnnmkjmlmkkkmljjjjjklkkklihhiijjiikigkiklkjjijijihhiiihhhihgffefffffefjhgggfdefhiihgdijggggfddeeddbbdb`aabbcdcbbdbaa_`````^^]^_______^]\\\[[Y[^]\\\[ZZZZZYYYXXWXTUVUTTTTRRQQQRSSSSTTQQSSSRNNMOOOOROPPPPPPPLMMOOOONMONNMNNOONLMMMMMLLLLLLJJJKKJJIILMLLKKKJJJIHIJKIJKKKKJJIIIJHIHGGHHGGGFGIHGHGFFFFGHGGGGHHHHFGGFFEFFFFnkmj_F=JclnjkkiijinmmmlmpjkkjjiiijkkjkmklllmonnmnllnooopolkaJJUjpsqrssuvuttsttuvvvvu{wxwzy|xzxvudA7;DGKONOOSUWVVWWWXXX[ZZXXXXXYZ[ZZZ\[[ZZXW[ZZZZ[[[^^^^\\[Z[[^^\\^]]^]`^a^^^aa`a````b``aaa`abbbbaafbbeecbdgfffefffefgggeddeeddfehghddeefghgfhdffjhhhjhfgiihhkijlkhjhjjkjjiiiiijiihhilijjijkjjjjkmknnlkllllnmpnnlnkplkkkjjjkkkkkkmmnnnlooompnmmllkkjjjkjlnjlkkkkmpkjkkjiilkmkjihhliikjjkkkjlihhjjigghhhggffhfefjggiighhgfffghiigfigggjfdeddfddccdgcccbbbcaabccab_c`aaaab__^_^`^^]]]\]][ZZ\\]\_[\[[ZZYYZYYYXYUUUWUVUTSTQQRRSURRRSQQRSRQNQMOOQPROOPQQPPPNNNNNOOPMMMLMPPPPPNMMMMMLNLMLLLNKKJLKJILLMLLKLJKJIJIJJJKKMKJJIIKIKHHHGGGHIGGFFHGHGGFGHGHHHHHHHFFHGGGGJGFFHFlkjl]@>Jfollf`bdccgjhgmnmkgcdeddefhlkkkkhdfgghjnmllolkjijjc\D<UjqtsrrtvvuuusqqomllqsvwvwyyzxzzwucA7:DGJONNPTUWVVVUVXXXXXYYXXXWXZZ[[YZZZYYXX[ZZZY[]]]]\]\\\\\\]]\\]]\]]^^_]]^^_a`aba```aaaaacbbcdbabbcdccdfgfeefgfeeefgfeefegefeddefeddeffffeedefgggghhggiihghhhhhhhikiihiiiiiijijjiiihjkjlkiiijllikllllkmmnmmmljjjlllkkjjjklklkjmmnnnklmmmnpmmmllkjkkjjmljkllllnmkjlkjjjlikkjihhjkjjjhigkijihihfgggjhijjihhefeiiiihghhgghghkijhfghggifffdddccccdgdcbbbbdaaaaa``_`^aa```^__^]]^^_^\\\\\[Y\Z[Z\\\[ZZYYYZYXVVXTUUUUVXTSURSTRSSSRQQQQQQQONOMONONNOONQRQRONOONNONNMNONMMMMMONMMMMLLLKMLLKKLJIKKJILKLLKHIIJJJJJKJHIIJLJHIIIIIHHKHGGIHGGGGHGGGHGGGFGHHIHHHFGHGGGFGHGFEEmkolZ<8LigiYSWXZ`ce`^enll^YYZ]`bcdeimgd_\^behggfemnkkfbehebK9<Vjsokmquyssokmonnjfipuwwyyyyyxyyyua@68CFJNNNQSUTSTUUUWZX\XYYXXXWWYY[\[[ZXYYYZZZZ\YZ]_]\\^]Z[\\^]]\\]a\_]]]_^a_^_babbabb_ababccddcdbbbbedcdeegeeefggggfffeeefeeeeedfeiefddgfeffeddejhhhhijgkhighihggghilihiiihikjjikkjihhijikhikhhjkkkkilnmpppnnllmqmmlmllkjjjkklkkmmqnomlmollnnmommkkkmkkmljjllllllkjlmjjklmmlnighkkjjnjjillmjiggghghhjjijkihgghiihhhhigggggihghkhhhgfhfefddccccedfddbcccdaabac`aaa_aabab``a`^]^^^_]_]_\[Z\Y[[]\][ZYYY]YXVUVVUUVZWWVTUVRWSRSUSRPQPPQQPOONNPOPNOOOPOPQPOOPOOOONNMNNOMNMMNPMMMMLKLMKNLMLKJJJJJKKKKMKKIJIKKKKIIJJJHILJJKIJHHHHHHGGHHGIGGGHGGGGGIHIIHHHIIGHGGGGGGHFFFFkkllW98QfdTIRVXSVTQNXdijWLMPWRQPRU]gd^TN^TXWY_[ZfoifXTZ]][SB8>Vidafjrvqmb_dhec]X^evyyxyyyxyyyxytb?58BFKMNOPRSSSSUUVWWWWXXYXYXWXYYZ[[[YYZY[ZYZZYYZ\\\\\\][[\[\\]_\\\[\]]]^^_`````a_____`aabb`a`cdcccccddfeeeeeefffffffiegeeeeeccdcdedddcgfefhedeeghijiihfghggghhggghhhhhljjiijjjiihikihkkjjihkiiikkkllmmmoopnnklmlklllllnnmkmmllkllmmnonmmjlmnmmomkllnjllklkmllllmmmlkjkjjjjjjghhkljkkjjijkkkifgggeifggjijjjjjjiiilihgggggggfghiiggggffefeddcccdccccdbaddbca`a`aab_`baaabcc`a^]^^]\\\[YZ[ZY[[[[[ZZYZVXXXWVWWXWVWWWVVUVRSSSRRRSPQPQNPPPQNNNOONOMNNONOPONPPPPOOOONNMLMLMNNMMLMMMMLKLLLOKJJMKJJKJJJJKIIHHIKJJIKIIIILJIIIIHHIHGGGHFHGIGGFFFGHGGGGHHHHGEGGGGGFGFGHHGGGlkjkU78TeOBJ]_d\WQDHTijRCHQ[gZPHAJXa`LER^\YVNJHWihdODQV__\QE9@VjZSRhurnYP[^ea_TVZl{yzyzz{yzz|z{tb>36AEJMQQPQSSSSVUWVXYYX\XYXYWWXY[[ZZYYYXYZY\[ZZZ[\\]^^\[\_[[[^^\]]\[\a_^^_``a``a__`a_a`aacbdbecdceegefdcehgfeeehgggggedeffddcbdccfcddccceffffhfegkijihfggffgiihhhjiihhhhikijikijiiiijkkklllkilijjikmmooopponmmmlkmlmmnmmllmonnkklmmmmpnlllnsmlmolmlnlplllklnmnmmmlkkjnlljjkkkmjkljkklmkjkojiiiikgjhhhjjlkjjiiiijljihhlhjfhfghhggffgjfdeefeeechcdccebbdebaaabbaab``baa`_^```_^^^]\[\ZY[\ZZ]Z[[[Z\Y[XWWXWWXXXYYYWYXWWVUUSSRRRSQRQQPQQRQNNMOPOONNOPPPONMPPOPOONOOMMLNNMMOMNNMLLLLLLLLLLJJJJJNKKJJKKIJHHIKJJJKIHILJIIJIJHHHGGIGHHHGIGHGGGFGHHHHLHHIGGJIIGGFHGIHJKJHnmkiQ5:VPA?N_ife\OBC^lU@AI[igdVD=?ZeM<I_diebP@DVkfO<FS`mhgZM;AZmTAMflmWFQ\gqmlb_hy{zzzzzzyz{{{wsc=25@EJMORPPQQRTUSUVWYXXXXXWXWWWX[ZYYZYYYYYXXWYYZZ[]^\\\[[[Z[\]]][]^\\__^^`a`bbc`__```````a`aaaabcdeedddddgeddfeihhihgffeeeddfddcbcacbccccefffggeehiihffghggiiiiihhhhigghjkiihiiijiiijjjjkkkkiiiiijjkkmnnqponlkkjjkkllkjkklkkjllllkkklnolkmoollmmklllklkklllomnnnnmklikkkjkkkjjhkmjkllmmmkkijjjhggiiijjklkjnljjkklkkihhfgfhgghggghggffffeeeddcccccdecbdccba`bbbba``bbb`__```ab_^]^]\\Z\_[YZZZ[[Z[XZXXXXWVWXXYYXVVTUWUTSSSQQQRRRQPNQRQQOOOPOLPOQQOPOMNNNNOOOMOPNLKKNMMKLLNKLKLLLMLMMKLKJIKLNJKKJIIIJHIJKJJJIHIIIHIIJHGGGFGFFFGHHHGFHGGIFGGFGGHFHIHFHIHFFFEEIHHGHIonoiM4;VO=>VnkkieI:Jj]J<?WokjfcE7@[O?=RbnllcT@B`nR>;J_nmokhP>A]\OCIiqVCEUhzwvqovzz~{{{|||||{{|vsc;14?DIMNPOPRQRUUTUVWXXXYWWWZXWVVVWXYY\Z[YXXYX[[^ZZ\^\\\[[[[\\^]_\]]]]]]^_`aabbbaabaaab```c_aaaaddddeefehefeeeffihhhjeefedggfeccdcbbeccceceehhgeeefghffffhhgigggghhhhggghijiiijikkljlhijjlmjkjhhkilkmkkklmpppljjijkkllkkllmmmkllmljkpnnmlmonmmmmmllljklkkklmommmnmmmljjlonnkiikjljhjmkklnllkllmigiliijllljjmqklkkljkkggghiiiihjhgggfgggdcdhffdbbdddcccccebaaccbc`_`ac`a`b_``ca`^^^_]_]\\\ZZZYZ]Z[XZXXXYWXVWXYXWVUUUTSSRRSRQQQRRQQQRSRQPOROOLPPQONNPNPNONOOROOONMLLNMLJKLNMNOOMLLLLMKLJIILMMKJJJIIILIIJJHHHHHIIIHIIKHGGGFIFEFGGGFFFHGGGFGIFFGGHGGIHGIIGFFEFIHHHHIomoiJ4=VC4DcnmorfFDR`\D5JhnomicE6B[J>>[lnooeK7Eh]G;=VqpqppkS>@\`L;Ii]HAG`xuuvvvwz|}|}|}|||}~||ytd:02=CHMNOOORRRTTVVVWXXXWVVVXYWVUUXXWWYYXXXXYY[[[ZZ[[Z[[\[\[\^\\]]\\]_]]^_```bbca`bc```__``^bb```acccefeedeeeeffifghgeffeegffeeedbcccccedcddeffeeffegeffghgfghgiijhghegghijkkmjijjjiihijjlkijiihhhkkjjihmklllkkjjmkllllllnmllklmlkklllmlmpommpmonmlllllkllmmmmmmlkmmljkmlkkkjijjjiiijjkkmlkjkllliilijjkijikmmkklkmkjiggghgigffghgfffggfdddefeebabbcccdcba`aba`aba__`b_a_^^`aa`_^___]]]\[\[[ZZZZZ[XXXWWWVVUVXXXWYVVTSSQRRRRQPQPQRQQRRRQQORNMMPNONNNNNNNNMNNNONNMLMMMMLJKLMLLLMMMMLLKJJJJIJKKMJKIHIILJJKHGHIHGIHHHHIIHHHGFFFFGGGGFFFGFFFFGGGGGGHGGHHHHHHGGFFIGHJIKsoohG4>BA=JbmprqeIEZqY=DYgurtldC6E\F8CdjrpqcE>Ig`>4GiptrspoQ=@[aJ@Ii]B9Qrwyxz{|||{|}€}€€€}€~~}{vc:/1:DGKLMOOQRSRSVWVVVVVVVZVWWVVUVWVVWYYYWXY[YZZZY\[\\\[^]^\\[[\\]\[\]]]`_b`_aabaaea_acba`__ba`_^_fccefeecgedfggigggihhfefhgffhfddfdcccccdcccdeffghgghiijhgffgghiijghglhhjkkkjijkkkimmkjjkkjlhoiihkkjiijmkmnmmmkljilkllkkmollmpljjjjjkllnnmlkmmoqnonnmmlooommnnmlllllllmmlllmknnmjjiijokmkkklllkjjlmmjnjlmmmnjjlklmjjhjjjhhhigggifdeefhfeeeedcbadddccbbcbaaaa``ac___c_a_a^___`b^a___`][[\[\[\]]ZZYYZYWVVUUTUUUUWVUTUURRRSRUPRPPPRRRRSRSSRNMNONOOOOPNNNPNONNOMONLLMMLLLLLMLKLKLLLKKJIHIJJKJJIHIHHKLLJHHHGGGHGIIHHHIMJIHGFFGGGGGHFFGFFEFFHHGGGGGHHHHIIIHIGFGIGFGHHqppgE4E[G;Kapv{„oNQiiYLJ\hsqrsaA;GPEEF_hqqq`B:Nh^9=QgpqqqqmQ9?^dH:IfW9=]pwwwz}{{|}}}}}|}}}}zxa9/1:EHJLLOOPRQQRVVUUVVVWWVUVUUUUWVVVWXXYWWZZXYZ[X[YYXYZ\[[]\[[[\^\[\\]\^^_``aaaaa`__a`^____`a`___bdegfdddeefggggggeghheeghifeeeedddcedccddedeefhhggghiggghggghjiijfffhhilkkkiiijikijkklkjjihhhhihlkjhiijkkkkkkiigilkkkjklmmkqnkkkkjklllnnmmmmoppnnnnllllmnnmlmllmlllkkllllmmkkljhjkigjkkkklkkkjkjkkjjlkkkllkkkkkjljihhghhhghhhhhfgiggggfeededcbedcccbcdbbbbba`^```_`^^^^]__^`_^__`__\\\[Z\Y[\\ZYYWUXXVXVUUUUVVWUTTRRRRSSQQPQPPORSSSRRQPOMNOONNONNNNNLONNNNOONNLLQLKKJKLLKLLKMLLKKIIIIIIIIJHHJIHIIJJIHHGFGGGHIIIIIJIJHGFFGGIHHGHFGGFFFGIGGGGGFGGGGIHHHHGGHHFGHHHqqs`C>JXQLL`tz…†yPSlzhSTajopsp_:5L`L?D[honqX?:Ui[>=OemoprqlH5@`bF9IeRABZns{y~|{yuwy~~‚€€~|y_8.1;DIIKMNOOPQRRSTUUVUUXVVUVTSSSUVVVVXXYVVYZXXY[Z[XXWWY[ZYZZ[]]]^\\^]]]]_^``abbaab`__``__^```a```acgfffggffhhhghhifkhgeeeeedefegegecegffdefgeffkhggggkknijgghiiljkggfgghjjjjjkikkjjjjijlijiiiihmmljjjjggjmlnlljiiiijknmmmmlllkkklnljlnmooomnorpponnplnllmnnolnnnoolslnlklonmkkkihjiihjjklmmkklknkjjjkommlmmkklkkkljiiihgijihhihhhiigggggeeegdcceccccdddbbbafa`^`````_a_]]__^_`^b`a`_]`\[[[YZ[[YXXWW[XVVVVWTVVZWUUURSRRQRPQQQPPQRRSRRRQONMOONNNNNNMNPOONNNNNNNOKLLMKJKKKLMMLKKKKJIIIKIHHHGIIIIJJJIIJLHHGIHKJIIIIIILIJIIGFGIHJHHHFFIGFFGGGGGGFGGGFFHHFGHHHHJIJJIIrqqYC=Sk\RV_o€ƒgMVozƒgWasponmS57P\]METiomnQ<:[icCCMailmorY?9Be_E:LdUACWkpyz{|ohmq|€€€€}|y^7-09AFIJONQOOPSQRTUTSTTTUUUTTSSTUVWVVWWVVVYXXXXYXXXXXXY[ZZYZZZY[^\]^]]__^____`a`aa``^`a`````aaaaabcefffhkfgfffgfffeeffeeheeedededeffffccdefeeefhiihggjjjihghhhhkikhgggghiiijmjijkkkjiiiiijhjkjijljhhhiegikklmlljjiijkkknolllllnlllmlomkmlllnllmoponmllllmnmnmlklllllllmkklllkklhfgghhijlnmqlklllkjjjjllllmmkjllkjkljljjjijiiggghiiihghhgfffgccccccbbdcbbcc_`a`]__`_a___^]^_^^`^___^]]\\[ZZZZ[YWXXWWXWVUTTTTUTVVUTSRRQRQPOOPQPQRQRRQRSQOOMLMMMNPONNNNONNNONMNNOLLKKKKMKJKKKJKKLJIIIJJGHHHFIIIIJHIGHHHHHFGFGEIKIIHGGHIHHGGFGGHIHIGFGHGFGGGFFEFGGGFEFGGGHHHHGHHFIJsrp\ENdjkfaelxr\VYsƒƒzjcholk\H4;Vib[TQ_olmM:GahiSFK]dnml`N94IjaDCQbfPFRinwvvl`Z[o€€€€‚€y\5+.7BDGJNNNONPPPQUTTRSSSSSTSTTSUUUXXWYVVVUVUVVWYWXXYY[[ZZYY[ZYZZ[[]^]\\^^a``^_``__`aaa```cbbaaabcgeefffhgffgfffffgeefifeeeefdeeeeeedeeehffeeeffghhghhliiihhhhlkjijihhighijijjjiiikjiiihhhjkkkkljjihkgiilkjlklkkjjijilkknmllnnnnnlkmmmmkoklmnllmrppnnmllmlmmrmklmlmmmmlllllklkkkgghgghijnmmmlknllllkjkklnlplkjlkkjijikiihhjijhjhhikijhihiffffbfdeccbcccaabc`]_`_b```a`a_`]]^`^`^^^^^]][[\\[[ZZYXXXWXYWXTTSUUVUVVUTSRQRSQONOPRQSQPRTPRSQOOMLMONNOPNNNMMNOONMMNNOMMLMMMLJKLKJJJKLJJJLIJGIIIIIIIIIJKIHHHHJGHIIGHIIHGGHIIHHGGGGGIIIIIGGGHHGGGGIEGGIFGEEFHHHHJHHHGGIIssra_\iqnkmnpssi`Wex€†~ynegfjWG5>Zgjfc_^negKKOcskaWM]^cd_VM8BRbcJEYqi]TN]knsh`YQap~€€€€€€wZ3*-7CDFHNMMMMNOOPRRRQQRSRRRSSSSTUUWVUVVVXVYWWVWXWXYXXYYYZZXXXXZYY\[]][[\]]]^^^_^^___`a__aaaaa``acedegffgfeegfghgffeeffefeedeeegfffhgfffffefeegghhghhhhgijhjiijiikjhhgggggggjiiiihjjigghhhiikijkjjiggfhjklkklllkjijkklllllklljjjkkkllllkljlonmnnnnnnnoonnomllkllmknnoplllljgijjjjjhghihjmnllmllllmkkkkkkllmmljkjkhiiijjiihiiihhhihihihhihghhfcfbcaabceca`aaa_^^^__`_____`^]^^]^^]]]\\][[[Z[^ZYYZYYWXWVUTSSTSSTVUUUSSRRRQPMNPQQQPPPPOPRPOOLLLMMNONNMMMNNOONMMMMMNMLLLLLLKLLKIJKKJIIIGGGHHHHHIIIJJJIIHHGGGHHGGHIIGGGGFGGGHGGHGIGHHGGGFFEFGGGGFFEFFFHFEGHGFHHIJHHIIsssigjutsrrrxxylimqv€‚~~khgh\G;AdupoljjkiaZWbsqtlld^^_eXUMLO`rgQXgpsjc]Zlff]^Ubqx‚€€€€€€€€€wX2(,9?DEGHIKLMONMOQQQPPOPRQRSSTTTTUUVVVUUVTVYWWW[XXWWYYXXY]WVWVWYY\[\[[[]\\]___^]^`^^_a^^__`bacaaceegfefgfeegffghfeeeeefifeeefffffffeefeeeegggggkggggghgihghhiihhiighggffgiihihijhmjihhhkhiikihhhihfffgjkkklllmjjjjkklmnnlkkpjkjlkkllllmmkklklnnnmroonlmonmlllnlmlonmmlknjhiijihihhhiihikmnmmmolkkjkllooomnmnjkjkjjiikkjkikilihhkiiijgghhilggggddefcccca`ac`_`_^_`c`e___`^^]^^^]_^^\[\Z[\ZZZ[[\[[YXXXVTTSRVTSTVVUVTSQRTQQNNPQQQPPPQPOPRPONPLLMMNNMMMQPQPPMLLOLMMMLKKJKKLNKLJJKLJIHHHIIIHGGHHGHKKKIJHHHHGJGHGHIKHHHGFFGHGHIIIIHHGGGGGGGFFGGGGGFFFFGGGGGFGJKKIHHGJssqlnrtssrrrtvummoruyz{|sjgie`J;Mlrsrpqrtvkhouvwupnmkhgfc_`bjqmkkiqzvsqomlkie`eqy€~€€€€€€wU1'*6=CCFGHJKLLMLMNOPQONOQQRRSRRSUTTSSTWUVUUUUTTTUVWWYWVWVWWVXVVWYZ[[[[[]\\\\Z\\\]]\]]^]^^_`a```abdddfdegfeddefefgddcbgefffffhfeeeeeeeeeeediffffgggffffeffghiihghhhggggfffjghiijjgmjijhgghjjhggggggggjiijkkkljkkjiknkkmomlkikkjjkjknmkknmklnmlmpolnmmmllmnnlmnlkllmmmmljkjiiihgggfghigiijkmmmkollklmllopmnnlkjiijkiijkjjihhijihgiiiihhgghhieeefedcccbccbaab``__^_`_^a``__^]]]\\\]]]^\\[[[[ZYYXWWXXWWWWVWSSUUTUWWWVTSSRRRPNOOOPPPPPPQPOPQONPKNNNNNKMMMMNNNMMMMLLLLKKKKLKKKKKIJJLJIHHKIIHHGGHHHHHHJJIHHIIFHGHFGHHIHGFFFFGGHJHFIHHIGGGHGGFFFHHGGGGGGFGGGIGGKIIHHIIIstwvttvsvvvtsssooqutwy}xkebhb^NPWqzvuuuvwtsvxw{z{wusrrrqopqsuv|ttu~{xwwvvxzvsuwz€€€ƒ‚…xS.%(3<ABEFGHIJKLLLKKKMNNNOPOOONPSTTUURSUUUTUVUTTUTTTTUVUWXYWVVUUUWYXXY[[\[\\][[ZZ^_\\]]]_^^`a`a`cceccbbdgggdddfedcabbcgehgggggfffeddeegfeddeeeeffefgfddeeeegkjjhighgjhggigjhiiiijgliiiiiiijhgfighgigghhijkklnjilijjkjkonmmnkjkpjlkkmnljnlllklllnpnpnrmlklmplmlllmkllmmnjlkljlghhkhjikjkjjkmmmlnmmlomlmonmmnlmiijijkkkjjihhhihhmhhhkihhhgihifeegfcdbbeeebbbd`b``_____aab`a_]]]\]]\]\\\\ZZZZYYZYWWWWVVUWUWSTVTTUWWXUUSRSUQOOPPQQRQQPPPPPPPOOOMNMMMMMNNMMONNMONNLPKLLKKMKLKLKIHHJKJJHIIGHHHHIIIKHJIJJIIJHIFGGHGGFGIKGEFFGFGIIGFJIHHGGFFFFGFFFHGGGGGGGIGHHHHKIIIJIHIstutttutvuututspqruuvxyunbfgf_]]gvwwvuxyxuwxxxxxz{xvuuutuvvvwyywx|}}|{zz{{yyz}}‚€€€€€ƒ‚‚ƒ‚ƒ€xP+%&1:=@BEEFGHHIJKJIJJJKLMMMNNNNPSRQQRRSTSSRSTTTSSSUTSUWWWVVVWVUUUVUVWY[[[ZZZZ[ZZ]\Z\\\]]]^a````bcddbbcedbcdddedcabcbceegfghhhgfeeddedcddccdcbfggdefeddgeeefffgggggghgfffeffieiihgiiiijjjghggfffghhhgghhjnmlmijllkkjkkonnnmjijjjkjklmllnnnllllmnnmmmomnnkjplmllijjjkllnjmlljighhihiiihkjjkkklkmlmmmlmmmmmmllmijhjjlkjgjiihhhhgihhhiihhgfgihgffffeebbddcccccaba`__^_a_^^^`a][\Z]^[Z\]]\[\\\YXY[WYWWWWUVUWTSSSTUUVVUUURSRPPPPRQPPPOOOOORPQQPNMNMMMMONNMLMMMLMONJKKLHJJMKJIIJIIIIIIIGHGGIIIIKIHHHHHIJIGGGHGGFHHHGGGGFGGFGGJHIHGGGGGHIGFGEGFFFHGGGHHGFGGGIIHHHHKIIHGtuutwtutwvvtussrvvuuvxxurrrrrolruwzxz{|z|{{{{yxz~{|{{{{||}}||{{|}}}}ƒ€‚‚€€‚ƒ€€‚ƒ‚‚‚ƒ‚wM)"$-7:>ABCDFGHHKHGIIJIIKLMMMMPNOPQPOQSSSRRRRRRSSQQSSRTTTUUUVSRTTTTTUWYYYXXXXY\ZZZ\[]]]\\]^__`__bbbbbacddaacfffccbbbbbedjggggghffegcccccccbceagggdeeeddefgfefeeeggkkkfhefffeihhhihjjjiijjgigffggggffggkhhihlmljklklmlkoopmmklkljkjlmmmmmlkklolononnmpmnlkkommlljjjikllmklmojjjiikiiijjjjjljjllmmnmlmmmnmmlqmmkkkjklkjhjkliihhhkjjjihgggggghgfggfeeccfcbdfccccab`a``_^^a_`^\[\[_[YZ]\_]\[ZZYXXWWWXVTUUUTWUSTVWUUVVVSRRSSQPPPQSQPOONNOOPOPOONMLKMMNMMMLLKLOLMMMKNLKIJKMKIILJKIIHHHIHHGGHHHGIIIJHHHHIIGGGHHHFHHIGJGHGGFEEEGHIJHHGGHHIJGGGGFGFHHGHHHHGJGGHJIGGIHFGHHrrrssrsstvtsrrrssstwwxvtqrsuroqwwyywzyyz|{{{{yz||{{{|}{z|~~}}|}~}~~‚€€€‚‚‚‚‚„‚ƒƒ‚‚ƒ…uJ'!#+48<>?@ACDDDDDEIGFGIHGHJIJKKLNLLLLMMOQQPONNOOONNPRRRRRSVSRRTSTTTUWWWWWWWWWY[[Z[[[[[[\]^^^^^__````_abb`abbbbaacbabbdeedddfggefcfccdbccccdcaddcbcddgdddddcdddceefggeedffeehjhghhihiigfiggeffhjhhgehggeghimmnlkklllkklmlkjjlkjijjlmmlmmkkklklmmoomlnmmjkkllljjjjljnllkkkkkkkliijjjjijjjjkkjkllklllnnllmllqmlmkkkkkkjgkkkiighhhfffggghgfggffgigeeedccccddccbaaa^^_`]]]^]^]\[ZZ[XYY[Z[][[ZZZZXVVVVUUTVUTVTTTXVUUVUUSQRPQPPPQQRQPRPPOONMNNNNNKLKLLMLMMLKKKKKLLLJKKJJJKKJIHIIJIHIHGHHHIIIHGGHHHHGGGHHHGGFHHHGHFGGGGFDEEFEFGGJJHIFGIHFFGGIGFFFHHHHHHIGGGGHHJGFGFFFHEqqqqrssrqqrqoprrtsrssstsqrvvxwwvwwywzz{{|}|~{}}€~~~|}}~~€}€€~€‚‚‚„ƒƒƒƒ‚‚ƒ‚‚…ƒ†††„ƒƒ…„rG%"*67<;>=>?BBABBCEGGFEFEEEHHKIIJJJMLLKMMLMNNOOOLKLMOPQRQPQPPPQRSTUUVWUUVXVVVWXXY[\[ZZ[[\`]]^_^aaa`__cba_bcdcd`abaacddddddfghhgggfeccb``abbbbdcbbcdddddhcededcegeeffffefehhhiigghgghhffhfffggkhhhigihieghjmplnkjmlmnmmnlkjjlkjjjjlmomlkjkkklmpmonlknmlkklmmlkjjijjkllrmqkjjmjjkllojlijkkkgjmklkmllmolllnnqmmljkkkmlmllllllgjihihhhhhhjghgihghideegcacgdedcaaab^]^`^[^__^]\]_[]]\[[ZZ]YZ][[ZXWZVVUWWVVTTTTTTUUTTTTTTURRQPPPPRPPQOOMMMMMMONNLKLNNPKMMOKJJLLMLKKJJJJLKKIIIJJLJIHIGIHHHIIIGFGGIHFHGIGFGGFHHHIIFFFGFEEEEFEHGGHIIIFGGGGIIHGFFGFGGGHJJIGGGGGHGGGIGFFHFijjjklllllmnmmooooqqpoprsrsvrqrttuvwwwx|{zzzyyyzzz{}{z{||}}}~~~~~€„‚…ƒƒƒ„ƒƒ‚‚ƒƒ‚ƒ„†……€pD$"#-69==>>>??@@AAAABBCBCCBBCCDDEFGHIJJJJIIIIIJJIHIIKMMMMMNPOOOOQQQRRRSTTTTTTUWWWVY[YYYXYYZ[[\\\^^][]]^^__`a```abedbffhhknswxz{|{zslhcb```````aabccdcccddbeddbcfedfcddfeefhghhhhggfeheegfegffgjfghgefgffggkkljlkknmmmllpljjkkjjjjklllmlkkjkjklllmlkklklklooolkkjjjkkllllmlkjmijklkkkkjjkkljjjikknnmllkllmmmmmljiijkmljjklnkghjihijhgggfgggggggebdefbcddddecaa`b^^\`__^]]]^]\\[[[[ZZZ[\ZYZ[[YXVVUUUVVVWUVTSSSTSTTTTSUTRRQQQPORPPQPONMMPLKNPMLKKNMMKKKKKKJKKLLLKJJJJJJKIIIJLKKIHHGHGGGGGHGGHGHGGGGGFFGGFHHGGGFFFFEEFEDEEHFGGHHIEFHHIHGGFFEFFFFGGHGJGGGGHHHHFGHGEEEabceeeeeeeffffffghjklllkknppoopqvuuuuuvvwxxyyyyyzyxxyxz{{{~~‚~~€~€‚„€€€ƒ‚………„…‚kB'#+19<=>@A@@?@BBBBBABBCBBBBAABCCDEEFGHFEFHHGGGHGGGHIJKKLMMNNOPOOPPRRQPQSSRRSSVVWWVWXXWXZXXYZZY[_]\\]_````accdeefiklpv{‚ˆ’ ¤§®µµ´¨™†rjccbab`c_aaadecbbbbbbeddcddffgdeegeefkghgghgefdhddeddgfffkggggdcddfghkknklllnnnnllllkjkljijjkpkklnnmjjkjjlmolkjllnllnnmklijnjklpmlmooollkjknklllknkklkklkklnmmlmkmlnmmmnljilijjjkllkkjggkkkjjgghijjjggfggeefeeeeecdfgfca`b_^]a^\\\]\\]\[[^^^[ZZ][ZZ[[ZXVWWUVVUUVUTUUUTSTUUTUTSSSSRRQPPPRQSRROQNMOLLNNLLLLMLLKKJKLLJJKLLNJKKKIIIKILJJJIIIIIJHGEFHHHGHHGGGGHHHGGGFGHGGFGGFFFEEFFDFEGGJFHHJGFGHIGFFFGFFGHFGFIHJHGGKGHHIHGHHEEFbedgdcdgecfefffffdeffffghghhhgjjjijklnnoppqrrrrrstttvwwwxwy{xwwxwwy||{|}{{||}}~~}~~}}}}~{eE06=AEFGGHHHFEFGGFFFEEEEEFEDCBCCDCDDEEEEEDDDDCCDDDEEFGHHIHIJKLKJKLLMMLLMOOOOOPQRQQSTUUVVWXYYYY\_acdfhknqstvxyz„‰”™ ¨±ºÀÇÇÇÈÉÉÈÈȼ²–€tjf`__`__^acbaacaabbbcbbddfacdefefeeggggfffeedccdgddehedfhgdecddefghjkkjljlnlkmmkjkkjjiijkkkllllkjiiikjjlnnmkjkllkmnnmlljiljkkonnmnlmnlkkklkkkklmkkmlklllllkkjklllmmmmlkjiiiikjlkjkkkiilkjkihfgghhiefffgffecedeeeffdddb```]]^]]\\]\\[ZZ[\^\[ZZZZZZZ[YXXWVUWWUTTTTTTSTUTTTRSPTSRRRQQPOOPQQRQOONNNNOONMLLJMKKJJJJJJJJJKKJJJIJIIHIIIHIJIHIIIIHHFFGGGGHFGGGGGGGGHIHGHFGIGGFEFFFGGDEEHGGFGGHHHHHHGGGGGHGGGEFFFGGHHGGGGGHHGGFEEGcdfededfgfgfgffffeiflihfigegighijhiiijklllmnmlkkkkmllmnmmnppppqqqrtuwuuuxwvxzz{||||||}|}}}||||y^HIMTYZ[ZZXVWWVTRQOMMMKIIJIHGFFFEEEEFGGFEEEDCCBEDDDDDDEFFFFGHIHHIIIKJJJJKLLMMNOOPSQRTUUVXY\^`cglrx~ƒ‰•š¢ª­¯®®¸ÂÇËÎÐÐÐÏÎÎÏÐÒÍÍËÐÌËÉÊÇŪ›„nea``__^abb`a``acccbaadefabceefdddgfefgffehcddcdeddefeefhfgghefgiikjkjlkklmknjiiijmjiilkhkklkjkkjihiijmmmllkklolmnqnmljjmjmkpprmnlllmlmllkmjjkljjnpmmlnlklmjklonmmlllkkijhhijjklmkkkkkkjjjkfffgihfffhhhfeefegfgffcdab`^]\]\\^\[[_\[YY\[[[[ZZ\ZZZZZXXZX[UXWVVWTTTTTUUTTUSSQTRQQRRQQOOQPPPQPONPNNOOMLLKJMKKJJIHIKKMJKKJJIIJJJIIIHHIHHGGGGGFGHGFFFFHGHHIGHGGHKIIHHGGGGGHEGFGFGEHGGGHGIGHGIIHFGHIIHHHHKFGEDFEGGGGGGGHGFGGFEFededebdeecddfefeeeefghgfghgfgfhfhhhhikkkkmmmkjkjjlmkllllmmoppooopotqrrsqsprooppoonmlmmmmmmmmmmgZRQV\]^`abccbbb`_^^^_^^[XWVUSRRPONNNMLLKKJHGFEDEEFEEEEEFGFEEEFFHFIHHHIHJJNMNOQSUXY[_chlqw|‚‡“𥰹ÁÂÄÇÊÌÎÐÐÏÎÏÍÏÑÎÍÍÎÎÎÍÍÍÎÎÏÎÍÍÍÍËÊÉÆÅ»¯“}tfd_^^_^```_`aabbaabaaaabbbbaabcdddeedddcacbbbcccdfgeddeeeeefiihiiiikkjijjihhhijkkijkjjkkmjjknljiijjjjkkkklomlllmnnmkkljmkmpqllllklllkkjljjklhkoommllmmmmjkkljkikjkjihiiihiikkkklmllkjjihggghhggfdddfefffeeeeeeaa_`_^]\\[[\\[[\\[ZY\[Y[][ZZYYYZZXXZVVTTTTSSSTSSSSUTQRRQQRQRSRURQOOPPQQPQOONNNMNMMLLJJJKIJIIIIIJIKJJJIIJKJIJKIIJIHHGGGFGGGFEEFFFFGHGGGGGGHGIJHGGGGGHEFFGFGEGHGFGGHFGIHGFEGIHGGFGGGFFEFHGGGGGFGFGHGFGGFGifhdebddedfdgfffeedfgidgfghhhghhhhihljjkkkkkjkkjjlonnmmmsmppopqptrvrssvvuuuvvuuusssqpomnqmjjika\W]cbacdeefgghihikkkihggghgedcddcb`]][XVTSRPNKJIHHIHHIHHIIHGHHHHHIIIJKMNORVZ_djpx‰‘™£¯»ÃÊÏÓÔÕÖÖÕÔÖרØÖÔÒ×ÒÑÓÔÒÐÒÔÓÒÒÓÒÒÎÓÑÖÕÔÔÔÑÑÑÑÐÏÏÏÅ©•mg`_a_a_`a`_^_^_`___`bcaaaa`bbddedddeca`faabedededdeddhefefjiiiiljljjjjijhghljkihikiiiiijiikmjmkljjjjklllmmmmknnplmmljmllmqlllkklllkmmmmnllmmlnnnlmlmmlklllmmlmmmkjimiiiiilkkjomllmkjihghhhgfgfeeejeghhffeeddba``^_]\[Z\][Y[\]^[Z\[[\\\YYZZY\YXXYVUTUSSSUTTUUSSSTSSQQQSRRRRRRQPPOPRQPPOOPONNOOPNOKJJKJIGHHIIKKJIIIIIJJJKKJHIJIIHGHGGIHIGGGIGFFGIFGFGHGHIHHHHIIIGHFGFEEGFGFDGHHHGIHFFFFGHHGGGFHGFFFHHHFFGHGGFFGHHHGIGfeeedcdcecddeeeffffhgifggfgigggggghhiijjkjiiihhgkkklnmnmmmooooqpqrrqsstssssruutttttsstuusqrsnlhefgedfghklljjkkkjklkkkkkkkkkkjiikjijihgecb``_][YWUTTUTRSRSTTTTUWY[^adhlt|„Œ” ©´»ÂÉÐÒÔÓÒÓÔÔÔÔÔÓÓÓÔÖØÖÓÖÓÔÓÓÔÔÔÔÒÒÓÓÓÓÒÑÑÑÎÎÏÕÓÔÕÔÑÒÒÑÑÏÍÍÍÌ͸¬’|rca^]]]\\[]`^]^^]\]^^^aa`_```abaacba```a`bbbccdccddcdeffgjihighiijjiijhfghjiihggijihjkiijkjiljkjkkjkllmnnqmlnomjjjjjknlkkkllkkmmkjkiklnnnnmmmmmkllmmllkllkkjkklijjjiiijhijjjnmlkkkihhhhhhjkligffgehigffefgdcba_]]]\]\^][\[\Z\\\[[[[ZYYYXXYYXXXXVVTSSSRSSSRRRRRSRQPQQRRRTSSQPPPOOONPPNOOOONOLLLKKKIJJIFHIHIJJIIIKIIIIJHIJHHIHIHHIHGGGGGGFFGFFGIGGGFGGHHHHHHHHHFHFFEEEFFFFFHIGGGIHGIFGGIHGGGHHGEEGFEFGFFFFEEFFFGFEHHeeeefdddedeeefhgggggggggheefgghgghhgjikjljihhikhkklmolllnoqopoqprrsrsssrrsstuuuvvuuuuuuuutssrrrqoihijklmonooonnnqqpnnprrqqrstsqpoopnmnomlmlmoliiijljihhijkmorx€ˆ™¦¯¸ÃÎÑÓ×ÚÚÚÛÜÙÖÙÛÚÙÛÜ×ÕØÝØÚØÝØØØÚÖ×ÖÜרØÙÖÖÔÓÕÚÕÔÔÕÓØ××ÖÖÖ×××ÖÕÔÔÓÓÕÖÔÒÐÓÅÄ¥|ic^\[\\\\\]]]\\]]^^^a_^^_^_`d`_`a`____``aabbbcddgcefgfggghhghijjlknhgfiijhhglghhijjjhiliiimjljijmkmmmnoonnnllkjjlkjknllkkklkqmkklllmonnmmlronllmmmmlkkikjjkllkkkjijijiiijlnmnkljihiijhiikkjgjgjfggffffffedca^_b^\\\]\\\[\[\[ZZ[\\Z[YYXWYZXYY\WWUTTTRRRSRSRQQTQRRRRRRRRRQPORPONNOPONNMMOMNLLKKKLJJJKIHIIHIJLHIKJHHHJHHHJIIIJIJHHHHGHHHGFGFFFFFGJGGGHGGGIGJHGFGHGEEFHGFFGHIHHGIGGGHHGGGGHGGFFDDEEFFGHFGFHFFFFFFFGFfhfeedeeedeefghgfefffgggfefgffghhffgghiilhiiijjhjjkllkklnopoonnnsqsqrqsssutvuwvvvuuwvvwxvuuttusqojiijjlnnnonoooopqppprrqqqqrrrrrrrrqrssssssttvwxz|ƒ‡Œ‘–œ¤®·ÁËÔרØÙÛÜÜÜÜÜÛÛÙÙÙÙÙÙÙÙÙרØÙÙÙÙØØÚÙÙר××Ö×ÖØØØ×ÖÕÕÖ×ÕÕÕÕÒÔÔÓÑÒÐ×Ô××××רÖÔÔÕÔÑÐÑËۦ‹ul_]YYYZ[ZYYYXXYX\^]\\\\[]^^__^_`^^^^^_`___`bbbbcdfeeefeeggikjihijhfefhgggggghmikjjihkgiikkigijjjknllmmmlkjkkkjjjijklljllkkkjjijklmonmlllnnnomqolnnkjlkkjiilkkkjijiiiijklkjkjlihhhghhhhikjhgfgeggeeffeeeecaaa`_`a]^]Z\[\Y\\\]ZYYXXXYXYYXWYXXUVWUTTRRRTRQQQOQPQRPPQPRQQPNNOONNNOOMMLLMNNLLKJLLJIIIJJIIIGIIIHIJHHHIJIHHIIIJIIIIGGGGGGGFGGFFFEEFGHGGGGGGHGGGGFGEEEFFFGGGGHIGHFIFFFFEGGGGGGGGGDDDEDEEFEFFFGFFFFFFFFgfffeffedefefgigffefgghgffjgihfgihliiiijlkkkjjijkkkkmlpmmosopnopsrrrrqssrstttuuuuuvvvwxxzuwvvvwqpkjklmnmopposqrqpqrrtrrrrsuuvvvvwwwxyyyz{}‚‡Œ‘—ž§±¸¿ÇÏÕÜÛÜÞÞÞßßßààààßßÞÞÞÞÞàÜÞÝÜÚßÛÛÝÞÞÞÜàÜàÛÛÜÞÚÚÛÝÜÛÙÝÚÛØÚÙÙ××ÖÙÕÖÖÕÕÔÒÕÒØÕØ×ÚØØ×ÚÚÙØÛÕÕÔÓÍȼ·š„sb\YXYXYXWWXXXWZZY[]][Z_]]Z[]_][[[\\^__^^^^_`bbeeeddfeegfkkjgghjieegggfefffhiijjihhkikkljiiihiijkllnnmllkmkkihghiklljnmljjkkjnmpmnmmlopomnpmnomnmjjjkkjijlkllmiklljijkklkkjkijiiimihghijihgggggeeefgfheecba_^^`]\^Z\[[Z\\`\YXWXXXYYYXWWVVWVXVUUTSTRSQQQQQRQPPOOQRRRRRRNPONNNNOMMKMMOMLLKJKKJIJKKLKIJJIIIIJHHGLKKJKIHHIIIJJHGFGGIGGGGGIFGFGGHGFGIGGHHGHHHGGFFEGFHGGGIHHHHGJGGFFFFFJIIGGGGFGDDEFFJFHFJHHGHGGGFFfffhfffffgfefggfefeefffgggggilhgghiiihijkijijijjkkjkmmnonooooooprrrrrqsrrrsuuuuuuuvvwwwvwvwzxvvrqlllmnnnoppprqrrsutstttttuuuvxyz|~€‚…ˆŒ‘—œ¢©³¾ÊÕÛÞßàáââáâáàÞÞÝÝÝßÞßàßÞßÞßáßÞßÝÞÞÝÚßÛÜÝÝÝÝÛÜÛàÛÝÞÞÛÛÛÜØÛÚÝÚÛØÚÛÔÔÓÑÑÑǽ½ºÅÏÍËÐÓÒÓÖÙØØØØÙØÚ×Ö×ÕÓÍÇÁ½¦—~g_WVTTUUUTSUXVTUVWVXYZZYWY[[XXYZ[[\^__```^^_`accccfddefhihffghieedeecddegfegjjffglijljihghhiiijklllkjkkkjkgggihhihhkokjkkkjmmlllllkokmlmommommkjhjmkllkkkkijikkkkjhjijijiijjiihjihhhikmiggfggefegfefdddcb_]__^\\Z\][Z[[[YXWXXXXXXWWWVVUVVUUUUUSRRSPRRQQSOPSPOPQQPPPPNMLNONMMMLKLLKKLJJIKJJHHHIIIIHHGGHIHGGGHHHHIHGGGGIGFFGGGGIFFGFFFFFFFGGGGGHGHIGGHJHFFFFGFFFFGHHHHHHGGFGFFGGFHJIHHGFFEDEEFFFEFGHGHHGFGGFFefhgfffghfffhgfffeeegfghjjkhiiihhiijlhiikjjjnjjknkklmnqptnnooonpqsttttvrsrsuuvwuzyyy|yyxxyyyxvvsrnmmooqopqutttstuuuvvvvvvxz}€ƒˆŽ”š¡ª²¾ËÓÚÞÜÝÞÞÞßààáááââââââââââááááááááááááááßáàßßÞßáàßÞáÞàßßßàÞàÝÜÜÜÛÛÛÝÜߨÛÎÍÈø®§ž‚s~”£¯¼ÈÎ×××ÖÕÕÞØÛÙàÚÛÛÛÔÖÐÉÄı§†k^TSRPPPQQQSTTTUVTVTUWYWXZZYXYXY[Z[]^\\\]]^]^_`aa`abddhgggfdcdebbccdddddddfhjffhkhghjimhkkkighkihjjjlljijhjjmhhimhjkkknmmmmlllonnnolmlmmmnnoollmmjklljiknklkkkklkkokljjknjiijhkilihjkihghgffeecgeffdbceb_^_`b\]]]]]\[Z[[[YXXZWXWWVVWWUVUTTUUUSRSSRQRPQTOORPPTPPPOOPOMMONNMLLNKKLKKKIIJKJJIJHHIKIHGEGGGGFFFGGKKKGFGGGIHFFIGIHHFFFEEEEFGGFFGGHJHHGFGIHGGFEFFEEFGGIIHGHIGGGHGHHHFGIIIIGEEEEGGGFFFGGIGIHGGIFGGffhfgffhfefffgffffffghhhhihhihiihjjjihihikkjkkkklllmoqpnnooooopssrsqrtssstuvvwvuxwxxyyyyxxxwwvvsqnnnooppqqrsstvwyz{{}€ƒ…ˆ’˜¡©³ÁËÖÝßßßàááâââáââââââââââââââãããââáàáâââááááââáßâáááááááàÝßÞáàßÞßÝÞÜÞàßÞÜÛÝÜÜÙ×¹ª›‘zuqdVVXr|ƒš¿ÄÈÏÖÓÓØØÙÚÚÚÚÚÚÖØØÒÌǾ´«ŽvdPMKKKMNOPQQQRRRQQRTSSUVUTUUUWVVXZYXZZZYZ\\\^a__`aa`bccbbbaa```a``aaaabcdffefjgfghiggffffgffghhhjghgjihfiiighhhhhilklmkiklllmknmmkmlmmlnmjkjjkmikkkiijklkjkkklkjlkjijmkjiiihhhjkkjiggfghgdefegfffedcdba`_^a]\[[[[\[Z[ZZYXXYVWUWVVWVTTTTTSRSSSSSVRQQQQPPQPPPPPRPOOPMMONNMMLLLLLKIIIJIJHHHHHHHHHGGGIHGGGFFFGHIHGHJGGHIGGGGHGGHHHGGFEFGFEFFFFGGGFGIHGHIGFFFFEGHIIGGGHGFFHGEFFFFFIHHGFEGFEFFFEFFFGGGGGGFFFFGgehghggffefgggeffffgggjhhihhiijhgiljjiihikllllmlmmonpqpooppooprsstvsrtxwwwwxxxxx|yxxz{zxwwyxwvurqoonoqrrrrswyz|~†‹‘—¡«³¾ÇÏÚÛÜÝÝÞßàáâãããââââââââââââââââãããããããâââââââââáâââáââââááááááàßàááááàààààààßßßßÜÝØÖ©’ƒrcXOGHN]nrlio}Œ´¾ÔÖØ×ÞÛßÜÝÜÛÛÛÛÝÔÕÊÆºµ˜cJFHJLKLLLLMLLNNOPONQTTTTTSSSTTWVVVYYYYY[]]\]]^_ab`_`abaa```^]]^^____aabceefddeihjfhegddgjefgggififjhggihkkkhgghikkjkkjkllmnlnnmmnlmmlmljmmmlnmljjjjkkljknlkkkkkljjjjjiiijjjhjjjjhhjfhhifefffgfffecdba`_^`^\[ZZZ\Z[[ZYXXXZZZVWVUUVTSTTTQQQRURRRRQQQRPQQQPPQPPPQOONNQOOOPKMLMKLJKJMJLHHHHHGHHHHGGHIGFFEFFHGHIGKHFFHHGGGHHGGHJGHGFFGGEEFFIFFFFGGHJHJHHGGFGGGGGGFGGHGGGGGFGFEEGGFFGGFGEEFEEEHGGGFFFHGFFEFGgegfgefdfeehghgffhhhgghhiiiiihhhhhiiihillklmlnnmllmlnnpoonpqooqprtttstuuvwwxxxxxyzxxyzyxwuuuwvurqoooqsuwz}€„Š–¥®ºÇÖÜÝÝÚרÙÜßßÞÝÝßâããäãââàÞÞßáââããããââãããããããããããâãããââââââââáââââââáááâááàáááßáàßÞÞÞÜÛÚÙØÒ®¥|w_RJ@>=IqnŠhefhlr…”§ÀÆÑÔÖÛÛÜÞÞËÏÍÏÒÐÑÍĽ³œ…gIC>AGILLNMKKKNMMMMMOOOOPOOOPQRSSSSSTTUUVWXYYYYYYY\_^]\\][[\\\\[[\^^_``^`acdcceieccccccgfeedegffgeeefgihhhhffgghhhjkjjkmlnllnnmmlmlnmmjiigijjjjkkikiklkmmlkklllkkjjjijiiiiihijjjihhgggfgehgffeeecbcba``a`^\[ZZZ[[Z[ZYXWWWWXVVUUTTTTTTSRRQQQQQQQQQPPPQQQPPOOOQMOPNMLLLLMKKLKJJIIIIHHGHHHGGHHHHGHHGHFFFFFHGGIGGGFEFGGGHFFFHHHFGFFGGGFFFFFEFGGGGGHHHGGFGFGHHHGFFJHGHIGFFEEFEDGEFEEDFGEEFDDDGGGHFFGGGFGGGIgfghhggeedceggggghihihghkkjikllhghjhmjjjjkmlklmlmmlmnnspqqpppoqppqrsstvuwvwxxxxyyywxzyxwxx|uwvvssppouy‡›¦³ÃÑÜßÝÞßàáâãâѱœŸ©¸½´®¹ÊÓàáããããÖÉÀÊÙÛââããããâãäãããããããããââãããããââââââââââââáááâááàáàßßÞÞÝÝÜ×̾±£“€o^PLFC5007DQ\cijnlihhr|”³ÁÍÐÚÙÜÝà×ÒÐÅÇËÑÜÏË¿¶¢–jI=8<CGMNNMLLMMKKKLMNNONONMMNOOOOOOPQVSSTUVWXXXWWYZ[[Z[\YYYZ[ZYXZ^^^_`^]^`aabaaaaaacccccdcbbcbdfffecgkiggfeffighiijkiiiiiklnkklkkkklljjjiiijhiklkjkkmkkilklpmmkjkljihhiijiijjmiihigfffgdfgghfecaaccdaca`^\[\[[[_Z[ZYXWWVVYVUUUUUSSSSSSQRQQQQQSQQPPOOPPQQOOORONNNMNLKKNKPLKJNIIHIJIIJHLGGGGFGHIHGFGGGHHGGGIGGGIGGGIHHGFFJHHHHGGFFFFFFFEEGHIFHGIHGGGGHGHHIGGGFHIIIHGFEEEFECFEEEEEEEEEGDIDFGGFFGHGGGHGHHgfffgggdedeeghggggihgfhgiiiihghggjjhijjjkklklllmnolmnmnnoponooppooqrrsttuxvvwxvvwxvuwwwvvwvuvttrrqqov…§ÆÕßßàâäååååääåååãßœ–y«¤™†’²ÊÝàãäã߿”­ÊÕáãääãâãääããããããããâââãããããââââããâââââáááááßÞÛØØÕɽ«˜†wi\QHA::;?EBD3--.37;@Ojh}Ž|ptt†“¥ºÃÒ×ÜÝààßÒÈÆÇÊÏÉȾ´§˜pM@59=CMPQRQQQQPONOPPPQPOLNOOOOMONNOOOPPQQQQRSRRTUVWWWWWVVVVVVUUWXZ\[[[\\]`c_^___a``aa`aada`abcccdefeeffeeeffffggggghiiikkjjjjjjiijljhjhhghgikkkjkkmlkilklmmnjjiihhlijiiijihliihhfhkggdeeddfdba`a``_b`_^]\\[\ZZZYYYXVTUUUUTSTTTSTRRSQQQPQSQQRQPPPNNMMMMMNNPONMMLLKKKLKMLKKLJIIIIIHHHHHHGHJHHGFGGGIHHGFGGHHHGHGGGGIGGFFFFGGGEFFFGFEFGFFFGGFFGHHHGGFGGGGGGGGGGGGGHFFFFEDEDEEDCEEEFEEEDDDFFGGFHGGGFGGHHgeefjggdeegfggghkhihggihjiiighjgghghkiiillmknlllklllnmommnnmnorooopqrstttuuuwwvvvvvvwwwuuwxuvtsrrrqqv†ÕàææææææææææååååæäãÝΣˆƒ|mnb\f¦ÛâääãÖȬ›¨½ÇÞáääääääãääãããäãããããããããââââãâââââáááàßÞÛ×È®”{hWI@:511/-,,-138>;3-*,+,,/4=J`ž„|sm|‚¢¸×ØÙÜßßßÙ×ÌÅÆÆÈ̾¸« sR>359DUT][YVTTSRSTSQQQPQSSTQOOOOONNNNNOPOOOOOPQRRSTTVTSTUUUTSSTVWYYXXY[[^^\\]^^]\\a^^_accaabbccccccceeeeeddeeegghgdfghjiiijighhhjklikghfggjjjjkjknnliknllmnmmjjghhiikjiiihlinhgghfddcdecccbbbbe`a`b`_^^]_\\Y[YYYXVUTVUXUUSTUTSTRQPPQQQRQQQQQPOPNMMMMNORNPPPMNLKKJKKKNLJKJJKKJIIILIJIJHHIHHGGGFFFFHGGHIJHHHIHJGGGEEGFHHGGFFFEEEDDFFFFGGGGGHHHIIJGGGJHHHHGJGHGHFEFFEDDFDDDECFEGFGEFEEEFGGGFFFGGGJHHHfeefffedddffgghhhhiggghhiiiihhiggghijgiijjmkkkllllllllmlllmmnnnnoqqqrrrqsttsuuututuuvuwuvwxvwtturrqprz¦Øçìêéèçççççææååæåååâמ]j_jwtgg‚¹àåååäáܵœž”´ÛáäåäääääääãäääãääãããããããâããâââââßÛ򯃵”wbNB9520.//00110///22897566533235=@]zƒ‚w…‘¦¸ÊÙÜÜÞàÜÙØÕÐËÉÀº¹©œvSA357APUijlifca__][[[YWWXWVUTSRRRRQQPPPPOOOOOPPPNTPPPQPPOOPOMPRSTTSUVXYYYXXXWXYYZYY[`_]\\]^_c`_`aaaaabbbbbbcedcdeddeffffeggfefggggggffgghgggijjknmmjjlnllkjjjihhghgilihiglihhgffdeedccbbebaabaa`_`_^^]]\[ZYYXXZYVUUUUUUUSSSSTSRQQPPQRRQQQRTPOONNOMMMPNMMMMLLLKJKLLKKLKKKKKIIKJIJHHHHHHHHIGGHFFGFHGGHJIHHIIHGGHGFEFFGGGHFFFEEEEDEFFFGGGFGIIIIFGGGFGHHGGGGFGFFEEGEDDCDDDDDBDEFFFEEDDDEEEEFEGHHGGGHHffhggeeffefeigiihiiijjjiiikihhjghihijjjillmllkllnlolmmnlllnmonmnppqrqrsqrtuuutstuuvwwuxvvvxxwuwutssqnlk™ÙçìëééèççççææææææååâÖ‹yw}€¨rgj•Èääåääãȸ£•Œ©ÐÖãääääääääääããããããããããããããââááÞÖ·­‚eP>5/-,--./0269766777657=EIJJHEB???>>?AGPbt¥—ty½ÍßÝÜÝßàààßÖËźµ³©¡yU?3329AQjnzwtvwutstrolhgea^\[YWVVUTTUTSSRQQRTQQRTSSQRQONOOONOPPQQRRSWXVVUVWVUUUWZWXXWY\]]\\]]^^`a^^^_acaaccccbbcddddfeheffeddehggfiggggffffgljkjikkjkllmlllihglhjhhgghigkgghlhfeddfcdaabea`_``b_`_^]^\[ZYYYXWXYWVVWUTUUTUSRSSRRQPPQQSQQQSPOOONMLNMLMMMMMOLPMMJNLMJKKLKMKLJIJLIHHHGGHHHFGGFHFGFFFGGGGHIIHIHHGEFFGHFGGGFFGFFFFFFFFIHHGHHGHFGJHGGIFHGHHGFFGGFEEFEDDECDEGFHDDEFEEDEEDDEFEEEFGGJHGFGGfgededeeeefeffgghgiihhhhhhihhhjghiiiijjikkkkljjkllljllollllmnnnnopooprqqrttuttttuuuvvuvvvwwxwtuuuusrpi\T‡ÔâìëêéèçççççççççæååàŸuNQUmvfJ­ãäåååäÚÛÂ²Ž¸ÔãååääåååäÛÒÒÓÕØÚÜààáâããâáÞÛÅÁŽjQ<4.,))(*+,-149>BDFGGGGHHHTbdgdb]XVTRQQPNMOSdz‚œ™œƒyˆ›±Ã×ÝÛàààáááÚØÅ´®®ŸŸyTA5206;K_gxy{yxxyxwxxwwurrrqomifdb`^][ZYYXWWWWVUUSRSSSTRPOOPPPQPPQQRSSRRRQPQSSTSSTUVVVWXXYZZZZZZ[\\\\\\]^]^^^^__`abbbbbbccddccbccfgggfdedeeghhhhkjiijiiihigfhgfiggggghgfeedgheedceadaaabaa`___]^\]]][ZYXWYXXWWWVVVXTTTSSSSSRQRPQPOOPPPOOOOONMLKNNLMMONNMLLMLKKKKJJJKKKKKJKJIGHHHGGHGHFHGFHFFFFFFGGGHJIHHHGGFFFIHGGGGGGFFEEEFGFFGGGGHGGHGFGHGGIFHHGGGFFGGEEDDCDDCDEEEDEEEFFEDCEBEEEEFHFFFFGGGEFGeeedhdddhghefgghhiiighjihhhhhhjhhhiijjjikjpkljokkklkmmnmmlmmooqmopqooppqssrsstuutuxvuuxuvwvvwxxuvtutqoRBGÌÚêëìêéèççççççççæåÞ¹eb][ea_v›ÛáååååäàÖ½™‹‹¶Ò×àâåååååäÓÈÄÄÆÉÌÎÏÐÒÙÞáàßÚ¯g?5...00,*)**+-47EMX\_dgebfilqx~…ŒŠ…|twxsmppke\YVZu ‘Ž„…~¥ÀÝÙàààààááÝØÃ®¥Ÿ¢¤yS=41135AL_€~‡…~~|~€~{|~{xyzxwxyxxxwsomjedb_]][XWWVTUUTSRQQQRSTUTRSRQQPPPOPOPQPQPPPQSWVTVXWUVYZ\[[\\[Z[]^^]^___a___^^aabcfa`abbfcbdfeeefefghghggggghihhjfeeeeigfggffeeedceeedebcbdaaaa_]`_`_^_\\\^YZYXWYYYVVVYVTUUTTSTUVSRQRQRPOOQPTOOONMMMMMMLLMLNMMMMNMLLLKLKKKJJIIIIJIIGGHGGIHGGFGGGHFGFFGHHHGIIJKKHGGGGFFHHHHHGIIIIIGHFFGHGGHIHHHGGGGGGHHGGFGIGGGGFEDDCCCCDFEEEEEEFHEEDDEEFFEFFGEEFHHHEFFefedeccdhffegihhhhihgfijiijjighhhhihiijijjkkkjnikkkklllnnnnmnnnnoqpnoopqrrrstttwuuvvuvxuvxwvwvuuutttosU;?N{ŸÄçìíêéèèèèèèçççæÞÑ…rb€xrnkq{¨ÜäåæææåàßÒļ½¾¾ÌÝãåååæãÐÀ¿¾ÉÃÎÈÉÈÑÔÝÞÑÀ›qW86211244321/-.048@QOso}}|zw|€†‰‘–›—’Œr‚s‚mieb]QUZepv‚sjwƒš«ÅÙáàààààááÝÝ륣  uM<22245:AWptƒƒƒ‚€€‚‚€~~}|zyxxyzxuvwsonnjfecba_^]\[ZYYXWWWVUUUSQRRRQQPPPROOOOOPPRTTUSRTTTTUUUUWWXXYYYYZ\\[\]\[[[^^__`_`````ababaceeffgffeeeefhffeddddceffeeffccabcdeddcbbaa`a`_^^__^__^\[ZZWWWWXWVVUUVVTSRSRSURQRRRSQQRNOOPPOOOMMNMLLKKKKKLNMNMMMMLLLJKJJIJJIKIIJHHHGGGFGGGGGFGEEEEEFGHHHHJIJHHHGGGHFFFFGHHGGGGFHGHGGHIEFGHHGGGJGGGHHGGFFFGGGFFGEEDCDEEDFEEEEEFFHEEEEGEEDDEEFEEEHFHEFFeeededgggghhihhhhhhhiihijhhijhhhhhhhijkjikmkjkmjklmmllllmnpoonnnopqoooopprvuutuwwwwuuvxxxxwxxvvvxwwvwsV;6AOh‰»ãëîìêéèèèèèèèçßÕ„nO_z€’w‰¶ÝâææææåäãâááßʾÍàâãäååÐÌÉÊÌÍÏÍÌÔÚÞäâÌ•fN9:;;;889;>@>;876567@HYsv’ˆžŽ§ˆ±¸·¶³°•”ymgcb_dUanXqYSe_mgiu€•¡¹Ïßàáááááááßàĵµ¶« oI9445567:JWi‡‡„‚………„„‚‚ƒƒ„†ƒ„„„……ƒ‚ƒƒ‚€€~}}|{z{||xutsqolieba`][ZXWVVVVVTSSSSRQRQRPQPQSRRPQSRQRUTUUTSTVXWVWXXVUVX\ZYY^\\]]\]^^^``_`aaabcdeggfedddffeedcbceeddeedefcd``bdddddabab`a_^^a^_]`__[ZZXXVW[XXVXUUTTUVTTRRSSSSSPOOQSSROPPPOPMMNMLNKLKLKMMLLLLNLLLLJKIIILJJJKKKGIHHGGGGGGGGGIFDEEEEFHHJJIILIJHIHIHGFGFFGHGGGIHIHHHIHIFFGHHGGGGGGGHHHHEEFFGGEEFEEDDDEFEFEEEFFFFHFGFDGEEHGGGGFFFHGHEGGfeecdeeefhhggeighjihilihihhhjghkihhiikkmmmlkkkjjkmlolkkkllmnnnnopnononppqrwtutuvvuutuwxvxxwwwwwwwwvvvtW;:<GLcw¨ÛêïìêèèèèèèèçãଛiQh}{qrh}´×áæææææææææäÞ½¡¢¬Ëãååãââââáâãããäååâ·taEC@AA@?ELQWUTSQNLIFCBCESYdqz‚ƒ€‰Ž‰…~klbdfdcbbVHT`Uff{nnnq’¡¼ÍÝàáâááßááßÛ×Ñô¦˜gC>=DKJFCAILb{~‚„…„ƒƒ‚ƒƒ…„…„ƒ„…ƒ‚ƒƒƒƒ„„‚‚ƒ„„ƒ~}}~~{xyyxuvxtpnjgecb`_\Z[[ZXWWVVTRQPSTTSRRRRRQRQTSTQSSSRRRUUSSSTSSSTWXXXYZYXY[\]]]]]^_`aaba`aabbaabcbcabaaa``acdcaa^_aa``___a^`__]]]]^]]\[[ZZYXXXXYWXUUVTTTTTSRPPPQQQRPOOOOOOONNPONMMQMKKJKKJJJKLNLKLKLKKJKJIIIIIHHGHHIGGGGGFEGHGHFEEEEFEFGGIJIHHGHGGHHHHHFFFGGFGGGGIHHIHGGGFIHHHGGFGHHIHGHEEEFGGEEFFEDDDDDDDEFFFFFEHGGGGHFEHGGFFFFFHGFEEEeeeegeeeehihggighhjhhhiikhjhjiiikjmkjjlkklklmkjjjklmmlmmmlmnrnnoonnnqppqrsxuuuvvzuxvxwxx}xxxyw{www{xvvX;5<FGJWkßëíìëêééèèéèçåȯƒti~|vqoz‚Œ¯ÐáææççççççæãÁ°¥ª¸Öãääåæååååååååååà¢sjfaUKIFHU^sssehmqrs[cRRLFJCHOQKB@CHR^tu{|}€„}whiXMFDDJ[kmpidfmz…˜¯ÈÜàââáááááÛßÓÑ¿°š‹ZEJVg}c[RKHHV`l„‡‰„„…‡ƒƒ…†…†…†„ƒƒ††…††…ˆ…„„…„†‡ˆ†…„…ƒƒ…€~|{zz{zxxwutrqnjgeb_][ZXWVWVVUUTTSSTSTTTTTSSQPRSSRRRQPQRSSSUUTUWWVX[ZYZ\\\\]]^^^]]_ba_``aa___````cddccbb^````a_a_a^`_^\[\`_^\[[\YXXXVTVZWWVUTTTVTRRQPPPPQPQPONNNNMNMNROMMMMMKKJKKJIJJKLKKMLMLLJLJJJJJIHIIJHIGFFGFFEIHFGFDFEDEFFIGHKIIHHJGGHIHGGEFHGFFFFGGIHGGGGIGEIGGHIIHIIIIHGHEEEEEGEGGIFFDDDDEIFGGFFGFGHHGGGFHGGGFFEFFHHFFGFfeeffdffgkhhggggihihiiijighghiiijjkkkkkjkklmmkkjjjjjmlllllmnooonmmnoqqrqrssstuutvuwvvvxwwvwwxxyyxwxzvxY<;=HGJNYc‹­ÍêììêéèéééèèãÞÜØ¦~eXpnjWPQ—ØäççèèççççåáÞÝÖÐÎÛÝáæççææææååäääÞªyt…}aTOLVaz˜†px„|eSPONYVSKDKOM<?=Q[q}‡’—œš–‘†ub\NF???NWm`acd]kmw—«ÊÞââàÝÝÞÛÜÕÔÉÅ«›‘j[YbromljYWOKJN_uy}„…„……………„†‡……‡‡†…††††‡‡…„†…††„„„„„ƒƒƒ„ƒ„„„ƒ‚€~}}|{zyyywuuuspmkhfddba_]\[[ZXVYXWVVTSRSUUTSRRRQQRRRRTSRQRSSSUWWWWXWWYZ[\\[[Z\^\[\_]\]^]]]]]]]]^_]\]^^^_^^]^^^]\Z[\\]\ZZZYXVUVTTTTUUVUSSRVTSTRSPOPQPOONNNNOMMMNNMMNLNMJIIKJIIJIJKJJKKKJJIJHHHHHHIIHHGGFFFGFFFGHFFFEEEEEFFFGGKHHHIIFHGGHGFFFFFFFFEFGGGGGGGGFGJFGHHHHIHIIIGGFEDEEEEEEEFEDDDDEEFGJHFFGHGGGGGGGGFGGFEFFFGGFFFifeeffjggghhiihihhhikjihhhhhhjiiijkjlkkjllmlkklkjjkkmnommmonpppmnnnprqqrsstttuxwwwvwywzwwx{xxy||{yxzvy[=6>IHJLKQZv˜ÃåëíëééééèèèççåÖ–VippiXM]ްØáæçèççççæåääßÝÁ¯¶ÈÒãåææææåÜÖÙâם~ˆ¥}tqn^]nƒ³ª¤±¹w_OEMONONeUNTkLEYq†™¤»ÃËÈÈ®©€ukeJ><@PT`o\[_eo‚sq|‡žÃÔàÜÐÇÃÆÏÎÌĽ²ª›—}pnifaafa[\[F:9<AK\v}‡ƒ‰†‡†…„‡†ˆ‡ˆ‡‡‡‡††‡ˆ‡††††‰††…ˆ‡‡…†„„ƒˆ†‰††‡‰ˆ……‡…„ƒ‚€~~~}{zzzxwvvtpljgeca^\ZYYXVWXWVUUUTSTSRRSRQQQQRRRQQQSSSUXYZWVVWXXXWVXZ[[\\[\\]^[[[ZZZ[[\\]^_^^_``\[Y^__ZWX[XWVVUUTUSSUTTTSRRVTSRQRROOOPONNMNONMLMLKLNLKMNKLIKJIJLIJKJJKJKIHHJIFFGHIHIHJGGFIGHFEFEEEFGFGFFEFFFFFGHHIGHGKHHGFFFEFGGGGEEFHGIHIGFEGHGGHGGHIIHIJGHHGGGEEEHEEEGDEDDFEGGGIFEGHGIGGGFGHFGGGFGFFGGGGFhhfgfgggggfeiiikhhhhijihhhijijijiijjjkjjjjmkkkkllllmlmmmnnnnnmnnmmopqqrssststuwtwvvwvvxxyzzyyz||{}yzvy\=9?JINZNNTWmƒ®Ýêîêêéééééééèá×¹œ€m]^Ygiq—ÓÛæçççççèèççåâÁ´˜©¯ËãææææåÒÐÌ×ÕÑϨ‡ƒ€€}sx’¢ª¬¹Ê¶uaPNNF>>?TjYXVRDx¹µÈÉÖÔÒȲ–yuuYD>@S}riaXiw{€€twz‘¦ÀÍÛÔµ·­«¨§¦¡››„{}nh`TNJLRKB50349@Tksƒ„…†Š†…ˆˆ‡…‡†††‡‡†††„…„††‡……„†…†…………ƒ‡„………††…„ƒƒƒƒƒƒ„…†ƒ‚€€}|zzz|yvvuusqpmjgeca`_^\\\ZYWVWXVTTTTTTSRRRRRRRSSSRRSSUVTSTTUXWWWWWXXWVVXYXXXZYXZ][ZZZZYYXYYZZZWWVWXVTSRSTSRRUSSTURRRRRRRQQNNNNOMLNKLLLLLKKKKKKLKKJIIIIIIIJLJJJIIIHHJKGEFGGGHGGFGEEEEEEEEDFIGEEDFEEEFHFFFFFEFFFFFGFFEEFGGFFEEEEFIGHFFFFFGGGGGGIHHGHGFFFFFFEDEEEEEDDCDFFFGEFGGGGGGGGHGGGGGFFFFFFGGIGEgeefffhgggffhhhhghjhghijiiiihiijkjjiiiiijkmjkkkljlllllrmnnnmmmponnrotsstxstsutwwwv{wwxzz{{z{}z|{zzy{y{^=8?JHR`iQMNQ^q¢ÝëíìêêééééééèåܽˆZFNVSSY`ŒÂÓåæçèèèèèçæåâÞÁ´²¹ÒáãååæÝÕÚáäåáݺ¬Ÿ•”—œ §«±»ËàαteSJJCFHLTd`i€JCo¦°¾ÂÎÑÖÔÖ«ŒteYK?:>Ydk`^c}”°šz€ut|‰œ¶ÉÝÄÅ«£•‹‘šˆ‚}{xvrogVGE>;95/.///49HWhƒ†ˆ‰ˆˆ‰††Š†‰‡†‡†…‡†‰‡ˆˆ‰ˆˆ†‹†ˆ…ŠŠŠ†ˆ„†…‰††††„„„‡‡ˆ…І…„†‡ˆ„†‡ˆ‡†††††€€~~~}{zxxxz|zxvuromigda^][YXYXWVVWUUTTUVTUSRSTTSSRQSTQSSUTTTTTTRSUTTUUVVWXZYXYZ[XXXXYYYZWVVUVUSSRSRRQQRRRQQQQRONMLNOMMMMMLLMJMMMLMKKLJJKKLJJHGHHHHIIIKJIIKHJHKJHFFGHGIGFGGGGFFEGFEEGGGFEFGEEEGGGFFEEEGGFFGGFFEEHGGFEEFEDFIGGGGFEFHGGHHGIGFGHGFFFFIFEEEEFDDDCCFEEFGGGGGGGFGGGHGGIIIIIFGFFFFFFFeeefffgggfgggghhhhhihhiijhhghkjjjkjiiiiikkkjkjllmmlmmllmopommmopppqoqrstvrtsuuvvxuwwxyyyyyz{}yyy{z{|x|]>:?JIR`\RMKNR`l“¾ÕìëêéééééééèåÛ¡REBLYZ\aa³ãåçèéééèçèèçåãâ๺Ä×áåææææçççåÛÔ×ÙÕÑØßßßÔËÒààÔ¥ytaZUdyvtvzeb]HQl—¨¯µ´³´¶¬£ydQC?69:GMWZfl}žŸ€pqqolt€–³»Â¹®˜Žw|‰}og`adjyf^QQ=1.,--.//135@HYnuƒƒ…†ˆ‡†‡†‡††‡†…†††…‡‡‡†‡„„…†„‡‡‡……„„…††‡‡†„„„„……†‹††„„…‡„††‡†††…„„„„‚„„„„‚€€~{|{zyxyxvusrrmhhgda_^^^]\[ZYXWWUUWXUSSRSTSSSTTTSRTSRQQQRRSSTWVYVVWWVUUUUUUWWWUUTTSQQQQPPPPQQPONOOONNNLOMLMMMNLMKJJJKKKKKLJIJKIHIHHHHGHIIIIIIJIIHGGHHFFFGHGFFEFFGEFFFGFEEEFFFFFEEDDEEEFEEEGFFFHGFFFEEFFFFFEFFFFGGGGFFFFFGHHFFFFGHHHHGFFFFEFEFEEFDCEEFFFEEFFGFFGHGGHGHJHGFFFFFEFFFGkfgffgfgjfhglggiihgiiiijjhhhhikkjjiigihilknkkkmlklmmmnomoppmmnoopppoqsstuttuvvzyyyyy|||z}|}{}~|~{|{v|]?8?IHSahRLILQU_`}¢ËåçèèçèèééèèäÕ™`ND\ilpx†½Ýãâåèèéèçèèèèçå㺴¬ºÎáäæçèèçäÔÙÙÚÛàâãããâááàß¹Ÿœ Ÿœ•”ŒŠ‰p`TKJVf‘Ї†…}ulaUaB?><=@DMRdt}„ƒzpiemtkbo|‚ˆ‡……ƒ|thdoudZUQW]ge]TP<1,,,-../01116<K^l‚†‡ˆ‰ˆˆ‡‡†ˆ‡Š†ˆˆ‰‡‹‡ˆ†Š†‰‰Š†ˆ‡‹‹‹‡‰†…‡‰ˆ…„…„…†‡†‹†‰ˆ‰…ˆ†ŠˆŠ‰‰‡ˆ„ˆ‡†ƒ‰……„‹†ˆ‡††‡†„„…„ƒ€~~|{||{zzyxxwutrpmigc`^[[[ZXXWWWVTTWVTSSTTSRQQRSRSRQSSRTUWSSSRRRRSSRRRRRQPPOPRRROOOOPNNOOPMMNLLLLONMLKKIIIJKKKKJJJIJIHIJHIIIGIILIHHJIHHIFGHKFEEFGFFFFFFHDEFFFHFHFFFFGGFEEGEEDEEEFGFEFHFEGEEFFFFFFFECEEFHGHEEFGGGHHFFFFGGGFHIGHFEEEEGEEEDEFEGFFFDEEFFFGFGGHHHHHGFGEFFFIGGGfffggigggggggghiijjiiiihjhhiihiihiihhihhjjjkkmmkllmmmnmlonnlmnoopnoortsstxtuuvvvwvxyz{|z||{|||{z}z|{x}^?;?JHTaXYXORS`r^Zw¶ÜãçæçèèéèèèâÚ«~i^e››¿¦É¾­½Ýäèéèèèèèèçæãξ¶¢Ÿ¥¾ÝäçèèèåãääääååæçææäÔÆ³¦¨­µÍÊÅ•€„ŠxlcROMW\YUQLIFEEKSansvvvvwrmt~ˆ–‹‹zookklnfcanstmutvnva`ce[WPNNYf`\VQD8420-.-./011136?JYjt‡ˆŠ‰ˆ‡…‡‡Š†ˆˆˆ‡‡‡‡†Š„‡††…‡‡‡‡ˆ†††‡ˆˆˆ‡……………†††…††‡…‡…††…„………„†ˆ…ƒ„……………‡„………„…„„„…†‡‡†…€€~}||{|}|zywwvspnligeccb`]\[[[YWWWVVUUTSSSSRSTTSTTSQSSRSQPPPOOPRPPPPNNOOOONNOPPPONNLMNLLKKJJJJJJKKJJIHIKJIIIIHHHHHHFHGHIIIHHHHGFGFGHGEEDEFEHFFFFFEEEEFFEFGFFGIHHFGHDDCEEFFFEEEEDEFEIFEEEEEEDDEDEFEFEFFFGGFFEFFFGGFFGGGGFFGDDEEEEEEDDFFFFEEFFFFFFGGHIHHGFFGFEFFGGHEgfegghhhjhjgghiiiiihhhijjihijihhgiliiiiihiiillmmnmqnmmoonmmnnosoppqqttsrrsstvuwwxwwy{{}{|€|}}{{||~|{}_?:@KJTbsfh]TUineTWg¯ÝåçççèèèèèéæãȰ|c|šŒ‚xov‰±×áæçèèéèèèçæäãáǪ˜·ÜãæçèçççæççææçççæÞ¸¢”žÄ¼ÉÇÙ­~^lkszZecb\URHD:95?KÃÕÜÛÚÛÛÝÙȶ© ˜ortxyvsoiijrnqsuwvxrmppcWRMRXYWVXQQQOC;.,++,./0001149HWg}‚‹ˆ‡ˆ‰Š‰‰ŠŠŒŒ‰‹‹ŠŠŒˆ‰††‡‡‡Šˆˆ†Šˆˆ‰‰‡‡‡‰†ˆˆ‰‡‡‡Š†††‡‡†…‡‡Œ…†‡†…Œ†‡†††‡ˆ‡†††ˆˆ‰†ˆ‡‡‡ˆ‡†††‡‰‰ˆ‡†…„‚‚}~~}{zzyxz{ywvtsrpmjfc`_][XWWWWVTTTUWWXURSSSRSQQMNMNNMKLMNMMNMMMMMLLLMPOKLMMMKJIIIJIIJJKKIHHHIIIKIHHIHGGHGHHHHGGIIHHGFGGFFFEFDEEEEFFFEFEEDDEFFFFGGGGHGFFGEFFGFGFFDCEFEGEDFFEDEHEFEDDDDEEFFFFFFIFEEGEIGGFIGGGFEHFDDDDDEFDDEFFFEFGGFGGGGHHIIIGGFEFGFFGGGHHeffggiiihghhijiijjihhiiiiiiiijhhgiiiihjlllkjkjlmnmnomlmnnlnpooppqtqqqqsrssssuuvvwzzyzz{{|||~~}}}z{|y~`?<ALKUbpeiwbZbfXMRTdtÑ×äåèèèééééèæÏ«smieeejpŒ¶ÑæééééèèèèèèçãȬ¤•¬¾ÐåèèéèèèéèèèçççÒ¿‹‹Šº·¯ž‰‘„yŒc^\addc]VPLT_ˆµÓäææåæææãßÞÜÀ¬¤Š††’›š™“Œ…vvxxx||u{”s‚poXZZ[^`^VVOOSQN6-++,,-.03100135<FWms†…‰‰‰‰‰‰ŠŠŠ‰ˆˆ‰Šˆ‹‰‰ˆˆˆˆ‡‰ˆ‡††‡ˆ‰ˆˆ‡‡‡†‡†‰‡‡ˆˆ†ˆŠˆ‰‡†‡‡††ˆŠ‡††‡‡ˆ‡†‡ˆˆ‡‡‡‡‡ˆ†ˆ‡‡‡ˆˆ†…†††††‡……†‡††ƒ‚‚€~}}||{zyxwuvwuspoonjgdcb`_^]]^^[YXWWVUUUWQONNNKKKKLMKMMLKLLKJKJMOLLKJJJJHHIIJJHIIHHHFGGGGIHIHHHGGHFEEEEFGIIHGFFGEEDEDCDDEEDEFEDDDDEEEEEFEEEGGGFFFGEEDFDFEEDDEEDDCDEEEEGFCEFECDFDEFEEEEEEEEEEFGFHFGFFGFEHFEDDEEDDCDFEEEDGCFHGGGGHIIIHGFFFEDDEEHGGGefiggikihgghjjlijjjjjiijojjhhhhhhhhikjkljkmlnlqnnnnmnmmnnonopooqrqqqsrssstvutuxwwyyz{||||}~~}~ƒ{|}z~b@;@LKVcqprqoojaOLNOPYf޹ÍáæéééééééèèäݬaYdPMM_Hƒ·ÕäæèèèèéèèèèæäÔʲ›¢¯ÍâåèèèèéèèèèççÜÓµ–‹„ƒ‚‚‚’š®À¯¤¦£’†‰’—š›š™¢¯ÌÝáåææææææææåäãââÞÏ¿ÂÇÔÝÁ¼¹¶¯¦ š’ˆy€}phcaWXd`qombaQDA83/,+.0.-/03322111138GUg‚ˆ‹ŠŒŠŠ‹‹Š‰‰Š‰Šˆ‹‰‰ŠŒ‡ˆ‰‹‰ˆ‡ˆ‡ˆ‰Œ‡‡ˆ‰ˆŠŠ‰ˆˆˆˆ‰‹‰Š‹Š‡†‡‰†Œ‰‰‡‰ˆˆ‡‡ˆ‰ˆ‹‡ˆ‡Šˆ‰‡ˆˆ‹ˆ‹ˆˆ†ˆ†…†‡†††ˆ…„†‡‡‰……ƒ„„„„„ƒƒƒ„‚€‚‚}|zxusqsvuutsqnnlkieb`][YXVUTRQONMLKKKMMMLKJKLJIMIKKKKJIMIJIHHIIJIIIGGGFGEHHHIGHMHGGHFEEEEFFIHHGEEGDDDEFFDDDDDEFHEEDDEGEFEEEFFGGIFEFGEDDFFGDCDEEDDFDEEHEEEFDDDFDDDEFGEDEHFGEEEHFGGGGGFHFFFGFEDDCCDDDEFFEEEGFEFGHHGHIKIHGFGIFFEEFIGGGgggegihhhgghhhhgijkjhiikjghhhhhhhgijkhjmkjmllmmmmmnjnommmnnooopssqqpsrssstvuuuwxxxy}}|}}|~}~~}}}|}{~bA;@LKVepirdmijh\PPOOQZb€™»ÝåééééêêêêéåÞÎd\ep|nbgmÄ×àåèèéééèèèèççäÝÁ¥©©¿Þåèèèèèèèèçæäâßűž‹”¤¸ÅÐÏÐÖÝÜÜßÜÜÜÞßßßßàãæççççççççççççççççåãááäåäÍÉËÌË×ÖÙÊÁ»‰sqndYcd`]`dl|ifaWOC=83/001123567765420.24?FXlt‡‡ŒŠ‰‹‹Š‰‰ŠŠˆ‹‰‰Š‹‡‰‰Š‹‰ˆˆˆ‰Š‰‡ˆ‰ˆˆ‰ŠŠ‹ˆˆ‰‰‰‰‰†Š‡‡ˆ‰‡‰‡ˆ‡ˆˆˆ‡ˆˆˆˆ‡‡‡†ˆˆˆ‡‡‡‰‡‡ˆˆ†……†††††††††ˆ†…†……„„…„ƒ‚€‚ƒƒ‚ƒ†€}}|{zzyyxyzwuttttrppplhfda^[XVSQPNJKIIIKLKHJKJIIIIJJKIIIIIIGFFGGGHHFFFEEDFGHHGGIHGGHEEEEEEEIHGFEDDCDFEBDECDDDDDFEEDDEEEEEEEEFFFFEEHEDDDDDDCCDEEDCDDEEEEEEFBCDDDDCEEFFDDEEFDDDEEFGGGHEFEFFFFEEEBCEFGEDFEEEEGEEGHGGGGHHHFFFFFEGFFHGGGigggjgfhihhhhggiiiihghhkkiihihjihhijljjlmmmmmmmnnnnooomlmpsttpqstrrrrsttstxvux{z{xx{}|~}|}}~~}}}~~aC;@LJUdpkraonpo`VPNNPRSYpŒ´áçèèéêêêêééåÚ¡š˜˜–eb`bmÛáåçèéèèèéèèèèæåÑÀ¨š½ÞãåæççèèèèåÙÓÚâÉÑÌ̹ÜÑÞßààààáâãääåæææçççççççççèçççèçççççççææåæçæåãàááââââÜÙ²‹yonedeepp€nfg\[`ZgQKIF;68;<=>?>?@?=:4000235:JXi‡ŒŠŒŠŠŠ‰Š‹ŒŒ‰‰Š‹‰Œ‹‹ŠŠ‰Š‰‹ŠŠŠ‹‰‰ˆ‰‰Šˆ‡ˆ‹‰‰‰‰‰ŠˆˆŠŠˆ‡Š‰ŠŠ‹‹Š‰ŒˆŒ‡‹‹‹‰ŠˆŠˆŠ‡‰ˆˆˆ‹Š‰††‡ˆ‡‹ˆ‹ˆ†‡Š††…„„‡…………ƒƒ…„ƒ…„„…†‚~|}}{}~~}{zz{wttusrolhd^YTPLKHGHJKKIIIHGGHHHJIIIMHGHHEFGGFFFFFFEEEGGIHHHKGGHHEFDEFEDHGHFGDECBDFCCCCCEDCDGDEEEEEEDEFEDDDEGDDECCFDCCEDDDGEEDEFFEEEDEECDCEFFDEEEEEDEDGGFEEEEFHHHFGGHFGFGDDCCFFGEEEEFEEEEEFFFGHGHGHFGEEFEEGFHGFGhfghgggiiijjhghlhgiiijkkjjihhkiihghjjjjlmmlklmnpnmmmmmmmnoppqqqtrrrsrrttttuvvzzyzyz|}||z||||~€~~~~}„cE>@JJTcojpboiooij\VRPRSXZm{ŸÌÖçèéêêêêéçϳ‚lZJECOY\q‚ËÍ×ÜâæèèééééééééèÙô¦¿Ë×ãåçèééèåÐÊÇÇÇÈǽª­´¿ÉÍÏÓ×ÛÝáææçèèèèèèèèèèèèèèçèèèççççççççççèèççççæççææäÙ¯‰…r}spljrtvwjmaVVXVRJKCEJMOQPOPQQTMA7401244479DJ\my†‡‰ŠŠŠ‹‹ŠŠ‡ŠŠŠŠŠ‰‹‰‰‰‰‰‰‰‰‹Š‰‰‰ˆˆ‰ˆ‰ˆ‰ˆ‰ˆˆ‡ˆ‡‰‰ŠˆˆˆŠ‰Šˆ‰ˆˆˆˆˆ‡‡ŠŠŠ‰‰ˆˆ‡Šˆˆˆˆˆ‰ˆˆ‡‡†ˆ†ˆ‡‡‡†ˆ‰†††‡‡††„‚„„„„„‚‚‚‚‚‚‚€€|}}~~~~~}}}||yxxwusrqonf_YQMGFEFGHIIIHGGGGGJHHHHGHGFFFFFGEEFEEEEEGEGHIJIGHHHDDCDDDDFGFEEDDCCDEECCCCCCCCDEEFECDDDHEDDGDDDCDFCBDFCBDDDDDDEEFCEEEFDEECCCCDFDFEEEEDEEEFFGEFEDFFGFFGFFGEDDDEDFFGEDFFFFFFEEFFFFFGFFGFFFEDDDEEFFGHhiihgghhhihhkkkihgiiiikjhiihhiiihghkkjmmmmmllnonnnomnnoppppqrrrsrrrrutwvvuuvxwwz||}||||}…|~€€€€‚eE?AIJT_rqqgphnllld^SOSVVWW^k¸ÔçéëêêêéèŹ]_<:-5GMVfœ¥»ÞåèèééééééééèäÞÊÃÇËÔÓßçèéèæØÇÉÍÔÚѸ¦Œˆqpt…›§³ÊàáççèèèèèèèèèèèèèèèèèèçççççççççèèèèççææææäãÛÜ£wpw~‚|vqda`gkTRNKLKIGHJLV[`csqkb^;0--043768:;=ASht††Ž‹‹‹‹‹‹‹‹ŠŒŒ‹ŠŠ‹Š‰‡ˆ‰‰‰‰Š‰ŠŠ‹ŠŒ‡‹‹ŠŠŠ‰‹‰‹‰‰ŠŠ‹Š‹‰‰ˆ‡ˆ‡ŠŠŒŠˆˆ‹ŠŠˆˆˆŠ‰Œ‰‹ˆŠˆˆ‡‰‡‡‡‡ˆ‰‡Šˆ‡‡‡………‰…„ƒ‡„ƒ„„„…‚‚ƒ„ƒƒ„…€€~~~€}}~}yyyztunj]OFEEFGGGGGFGIHIHKGIHGHJGGFGFFEEEFFFFDFGFFHHIHGJHGEDDECCDGGFEGEDCCCDDCCEDCCGDEFDEEDDDDDDDCDDEDDEEECCDDDEFFDCDGEFEEEGEDDFDEDGGFEFEFEHDEEEFGHEEEEGGIFFFFFFDDDDEEEHFEFGGGGIFGFGGIFFFFFHFFEEDDDDEGFIGggijhghggihhihighhhfiiijihjkijjjjjkmkknnmkmnmnpmnnnmnopqppqrrrsustsrttvuvvvwwwyz{|||||}~~~|€~~~€€~‚gF@BKMPT\dcejilkortwd]\W[kWR\d…ªËåêëêêééÙɰ rL1,7:[axs†n–¤ØÜááåéééêêêêêéèæåã×ÌÓÝåçèèçäâââãßÚ¹¼ŠŠbRNNT[j|ªÖæçèèéèèèèèèèèèèèèèèèççççççèèèèèèèçæææåäãÏË«‰nYVVf‡ˆˆyseYX\][QHEC=766<MTrijn€kiO5.'.11278?EECDHYbox}†‡ˆ‹‹Œ‹ŠŠŠŠ‰‹ŒŒ‹‹‰Š‰‰‰ŠŠŠ‰‹‡‹‹Š‰‰ˆŠŠŠŠŠˆˆˆ‰‰ŠŒŒ‰‰‰Š‹Š‹Š‰Šˆ‰‰‰‰ˆ‡‰ˆ‰ˆ‰‰ˆˆ‰ˆˆ‡ˆˆ‡†ˆ‡ˆ‰ˆ‡ˆ†‰‰‡‡ˆ………ˆ„ƒƒ…………†‡†ƒ…†…€€‚‚‚€€}~}|{{zzzzwwxpiYJFBBBCEEEEFEEGFFFGGGHJGFEGEFEEDEDEGFFEEFHGIIGGGFEEEECDDDEEEFFDCDCCBCCEDCBCDDEEEDDEEDDDECCDCCBDEDCBCCBCBCCCEFDEDDEDDCCDCDCDDEEEEEEEDEDEFFGFEEFFGFEFFFEECDEEEEDDEFGGFFEEEFEFGFEEDEEEEEEEEDDDDEFFFfghhhgjgghiikillmihgjiiikijiijjikjkkkmoommpmlnpnrpopppqqrsusrrtusuttwvyvywxzzz{{€~}}}€€~€‚€€‚‚hG@CMLLKQ]mhsstkqsqrrqg_bcYQRV]|¥ÈãèééêééæãѸm::ARdw‰›³ÏÚÜØ¾¹ÍÚáåçééêêééééèçàϘª½ÓäæèèçççæÝ¹’„jgVSJLKIMpˆÙåèèèéèèèèèèèééééèééèèèèèçèèèèèèèèççççäÓ¿£•„vd[SNPX`enjiaZ\_[UPKI99*),:Q_ke_ejYH2,-5=A?=AHVbZTRT_agnv„†‹Œ‹‹ŒŒŠŠŠŠŠ‹Œ‹ŒŒŒ‰‹ŠŠ‰Š‹ŠŠŠŒ‰Š‰ˆˆŠ‹‹‹‹‰ˆ‰‰ŠŒŠŒŒ‹‰ŠŠ‹‰Œ‹ŒŒŠ‰‰‹‰Œ‰ˆˆŠŠ‹‹‹ˆ‰ˆ‹ˆ‰ˆ‡ˆ‰‡‡‡‡†‡‡Š‡‹†††‡†ˆ††††‚„„‚‚‚‚€€€~~~}{||z|zuniVGA?@ABBCDDDEHGFEHGGHJGFEGEGDDDEEEGEEEEEEFHKGGGFEFFEDFEEDEEEDDDEDDBBBEDDDECCDDDDEFEECCCBCDCCCCCCCBBCDDDCCCFFDFCCCCDCCGCFCCDFEDDDEFEEDDEFFEFFFFEEDGFIEHEEFEEFEDEGGGFHEGGGFEFFEGDEEEDFEDDDDEEEFGFgfhgggggggiijiiiiihhijihjhjhijjijjmnnnnonlonnmonqppppppprtttsrtuttuuvvuuzwz~{||{}}~}~~~~~€€€~ƒiHABMPMNRSX]ejlkqsq€q€e_d]XPRSW\x•»ÞäèéêêêëèÌŸ‡˜«ÁϽÐÕÚÜÙ¹{[|š½ãçéêêééééééåÚ´“¡°Èáçééééçᮣ‚{uuw†™Š|~…­ÖæèééèéééèéééééééééééèèèèçèèèèèèèèèèççãÜ£“ƒ{ebZVRTV[Vb`gdYMKKMOML?<,%%&-69:<AEI@522DhfbTMRalxjabfecdfpx}††‰Š‹ŒŒ‹Œ‹ŒŒŒ‹‹‰‰ŠŠ‰‰‰ŠŠŠ‰‰ŒŠŠ‹Š‰ˆ‰‰‰ˆŠ‰‹‹‹‹‡‰ŠŠŠŠ‰Œ‡ŒŠŠŠŠ‰‹Š‹‰ŠŠŠ‰‰ˆŠˆˆˆŠ‰Š‰‹‡ˆˆˆ‰‰‡ˆ‰‡ˆˆ‡…‡ˆˆ‡‡‡‡…‡‡‡‡†……ƒ„…ƒƒƒƒ„„ƒ‚€€~}~{|}{}~yum`M=<<>AAABDEDDBDDFGGGGFFEFFFDEFEGEFEDDGEEFGHGGHFFEFEDFFFEEFEDDDDCCCBBCECCEACFEDEEFDECCCBDDDCBCCCBBBBBBCCEEEEDDCBEEFCDECEBCCCCDEDDDDEDDDEEDDEEEDDEEEEEEEEDEFFGEEHFFEFEFFFFFFEDEDEGDDEDEEDDDEFGFFgfiggfhgggiimiiiijjhhjkkjjjjkjjjkknnonnnooonomqqqpppqqsrrsvttsssssvvwwwwzw||z|}}ƒ€€€€ƒ~€‚„jIBEMPNNNLPXhjtrsrqvrpmic_VQQRRUYp‹¬ÏØåèëëëéèãÞßàß׫ ‹’—˜’…dXF‰ÛãçééééééêééäÙ®œœ¦ÂÞäèèéèçäàâßÞÜâßààáââáåèéééééééééééééééééèèèèéèèèèèèèèèçççæåãâ´’Œ|qkhgk~mjmptwkZJ>:>EMKC7.+*$!#%&')-5>BBFQrŽyj]Z^tx{eggka_^ahoz‰ŒŽŽŽŒ‹ŒŒŒŒŽ‹‹‹Ž‹Œ‹ŽŠŠ‹Š‰‹Š‰Š‰‰Œ‹‹‹‹Š‰ŒŠŠ‹ŒŒŠŒŒ‹Œ‹‹‰‰ŠŒ‰‰‰‰‹‰ŠŠŠŠŒ‰‰ŠŠŠˆ†ˆ‰ˆŒ‰ˆˆ‹‰‰ˆˆˆŠŠŠ‡‡ˆ‰‰ˆ…†……†ˆ…„„…„„‚€~~€||yxhT=99=????@ABBBDEFEEEFEEEIIIGGEEFFFFDDDEEFFHGGHGFGGGEEFFFFFGEFDDCDCCBBDBCEDCDEDEEFEECECBCCCCBEDDDCBEBDCCCCDCCEBBBCCCDFDDCCCDCCCCDEDGFFEEEGEEFGEGEGFEEEEEEEFIGFFHGFFDEEFEFHFFFFEDDDDFEEFDDDEGFEFffhhgfgggghhjiihghhhhkjjjljjkikkkkmnnnooonnnnnppqqqprssssssstutstsuuwwwxxy|||~~}~}€€€€€€€€€‚€„kJCFOONNNNRQVZ`fmrsywxlhkwf^WQSTVZft¬ÃßçëêêëëëëêçÛyiKl‡—££¡—‹–¬Æáäæåçéééêêêèá´©žœº×áèêêééééèçèéééêéééêêêêêééééééééééééééèèèèèéééèèèèèèçæåäâáàÑᣇwzxy{zytuswyqfVNIGEDB8-*(''"!"%$$)/:db\f‰xjg``aacffc[XX]bgjrx|€„ˆ‰Š‹ŒŽŒ‹ŽŽŒŒŒŒŒ‹‹‹Œ‹‹Š‰‹‹ŠŒŒ‹Š‹Š‹‹ŒŒ‹ŠŒ‹ŒŠŠ‹Œ‰ŠŠŒ‹ŠŠ‰‹ˆŠŠ‰‰Š‡‹‰Š‰ŠŠŠˆŠŠ‰Š‹ŠŠˆ‰‰ˆ‰‰‡ˆˆ‰‡‰‰ˆ‡ˆˆˆ‰‰Šˆ‡ˆ…†ˆ‡‡‡††…„„„„„„€€€}|{xp[B:479;>??@@ACCBCCDEEDEFFEFEEFFEFFFDDDEHEFGGGHHEGFGFFFFDFGEDFDDBBBBBBECCDCCCDDEEEDDDDCCCCBBACCDDCBBBBBBCCCCBCCCDCBCEDDDDCDCBCBCDEDEEEEEDEFFGFEEEFFEDEEFEFGHGFFGGGFFEEFFEEDFHGGEDDDEHEEFEDDGFEEgfghgfhhgggijjihihhhhijjiiikjknmnmqnonoooonnoorqssrruuusttvtxuuuxuwx{wyz|}|||€€€€€„‚ƒ„……€€~‡mKDFOOOOOPPMNRZbpvqtjoieruongVSSTTV[cz‘¶ÞéìíîíìëëéÞ£mflޤÉàààßÞßßáâßÛÚàààäéééèåÏ»±ž›¡ÛÝãçèééêêêêêêêêêêéêêêêêêééêêêêééééééééééééééééèèèèæåáÝßÕÅ·²ª¢™‰ˆgnooruz|trty|~mgfbQC</)&#$$$   $)06CKUr|œŠˆx{b^QHMU\cRNQUZ^^ahmry†ŠŽŽŽŽŽŽŽ‘Ž‹ŠŒŽŒŒŒ‹‹‹Œ‹‹Ž‹‹ŽŒŒŒŒŠŠ‹ŒŽ‹Ž‹Œ‹ŠŠ‹ŽŠŠ‹‹‹‰Œˆ‰ŠŠ‹Š‰‰ŠŠŠ‹‹‹ŠŠŠ‰Š‡ˆ‰‡ˆˆˆ‰†‡‡‡ˆ‡‰‰†‡ˆ†…†ˆ…‡„†…‚‚ƒ€€‚‚ƒ~~}ujO;3469:<>??@@@ABBDDDDDEEEEFGFKGHFFECDEEEFGGHHIEHGGEFEFEEFDCFDCCCCCBBCCDDDDCDDDEDDDDCDDCCBCCCBFDCBCBCBCCEDCBCCDDBBCCCDDDCCCCDEEDFDDEFFFDDEEFEEDEEEFEEEEFFFFGGGGGIFGFIFGFFGFGFFFDECEDDDDCDEGFEDgfhihghjhkiiihggilihhhklijjjkklmmnqoomooprqqppppsrrstttstttstuvvvuyz{wzz||{z||~€€€€ƒ€‚ƒ‚‚€ˆoLEFQQPOOOOOPPSTe}twrskhw}}hb]WWUUUY]mz¤ßéïñïíìëëåÝÝʺ°ÃâêêëêèåáÜ¿€{Š«ÜåæèéèäâÙȺÂÝÝÞàåèéêêêêêêêêêêêêêêêêéêêêëëêêééééééèéêééééèèèèèæãÏ»§˜‘Œ‰†ƒsgVAHRejiijjrt~…{uokf_TE>70+(%&!! !#(+/2;BR]l~~~oiXI?:;<>??ADHNUZ`chnpuy}ƒ‡ŽŽŒŒŒŒŒ‹‹ŠŒŒ‹ŒŒŠŒ‰Œ‹ŒŒŒŒŒ‹ŒŠŒ‹Œ‹ŠŠŠŒ‹‹ŒŒŒ‹‹ŒŠ‹‹‹‹ŠŒˆŠŒŽŽŒ‹ŠˆˆˆŠ‹ŒŠŠŠ‰ˆˆ‰ˆ‡ˆˆˆˆ‰†‰‰‡‡‡ˆˆ‡ˆ‰‡†‡†ˆˆˆ……„†…„ƒƒ‚‚ƒ~€~zmX?00158:<==>>?@ABBBCGDDDFFGHFFFEEEGDDFEEEFFGFFEGEFEFEFEEFECDDCCBAB@BBCEDEDCDDDDEFDEDDCBBBBBAAABCBBBAACBCBBBBBBCBBBCCDEGDBDDDDEDEDDCDEDDDDDFFEDDEDEFEEFFFFFFGHHGGGGEHFHGFFFGFDEEDDDDDDDDDEFFEFjiijjhgjhiiiihghiijjkhlkjjkkmmmnmnpooorrqqrrrrqqsrutttttuvztuwxvyxyz|z|}~~||}€‚ƒ‚‚ƒƒ„‚‚ƒ‚€‡qMFGSQQPPPOOPOON]tŒvptsvz|~}uka[WUSSUVV_k“ÁÛïñòðîìëéçåãããçêêëëçफ़”dC„ž†{²ÝÝÛáåææåäãâåçáÛâàäçéêêêêêêêêêêêêêêêêêêêêêêééééééééééééèçæåãàÞ¿¥Žz…‡‰ŠŒ‹zqM7+/Iuvqg^dqsˆ}zvvpnol_TNF:1*(%$##$'*--2;@DHWdb[ULB85142669;>@GMQX\_cfjov‰”“”ŽŒŒŒŒŒŽŒ‘Œ‹ŒŒŒŒŽŽ‰ŠŽŽŒŒŒŒ‹ŒŠŒ‹ŒŒŒŒŒŒ‹‹Œ‹Œ‹‹‰ŠŠ‰ˆˆˆ‰ŠˆŽˆ‰‰ˆ‡ˆ‰‹‡ˆˆˆˆ‡†ŠŠ‰‡‡‡‡‡†„„ƒ‚‚…‚‚~{zbB0,-269:<<<<>>>@ABBCCCBEFFIFGFFDEEDDFFGDEFHFGFGGHHIFFDDEFDDCCBAACBEBCDCEGEGDEEEFDEEDCBAABA@@ABBB@AAADBBBCCCCCCDCCDEEEEEDDDDDDDDDDDCEDCECCFIDEDCCDFHFGFFFFFGGHHGHHHHIHGEFFFHEFFEEEDEEEDDDDEEFhghkhghkijiihhgjjjjjkhjjkklllmnmnooooppppppqrrrrssttuttuuvvuw{xvxxyz{{{|}~|}}~‚‚‚„ƒ‚‚‚‚„€€€ƒ…pOGHSSRRRSPOPPPPXZ[ajxvxz|xxxxwsgc]SUWVV]f†¤ÄçòôñîëëêëìììëêëëëéÛ´‹hu𣧢¡„ Ãâçééêêêêäת¾ÔâçêêêêêêêêéêêêêêêêêêêêéééééééééééééèãÞßܶ§šŽ‡vz~…ƒ‚}p`N4.%4KxŠ€{l^flrvvvtromouf[OC90121/.0//*')-0136?JA;74:??=:67688:;?CIOTX^cgjqxŒŒŒŒŽ‹‹ŒŒŽ‹ŽŒŒŒŽŒŒŒŽŒŒŽŠŒŒŒŒŽŒ‹ŒŒŠŒ‹ŒŒŒ‹‹‹ŒŒ‹‹‹‹‹‹‹‰‹Š‹ˆŒŠ‰ˆˆ‰Š‡‰‡ˆŠ‰ˆ‰Š‹‡‡‡‡ˆˆ‡‡†‡†‡†‡†………„„‚…‚…ƒ‚€}zjI0*(-269:;;:<=>@@@AABCCEEEFFEEEDEFEDFEDCDGFFEEFGEDDDGDDCEDDBBBBBBAAACCDEEEDDEFEEDCCCCCBABCAABCBCAAAAAABECCCADDDECCDGDCEGCCDEEFDEDDDEDCCCDFFDDDDDDDDDEEFHFEFEFFFHGFIHHGFFFFFEGHFFFDEEEDDGEEEFhhhhhhiihjihhggjkkkkkkmllllmmnqpporopqsstrtrvsttvttuxxxxwvvwyyxxxz|{|}}~~}}~€€ƒ‚‚„ƒƒƒ‚‚‚ƒ‚„„…„ƒ‚ƒ‡qOGISSTRRQPPPPPPQNOWiz†‚€|uqpxz~–vdVUUUUUZ_l„²áðóòñîììììììëëëëëæáâàÒÁyzzrj]J”£ÆßáàäèéêæÚ½®°¹ÕæèêêêêêêêêêêêêêêêêêêêêêêêêêêêéééèåÚ®”uz|€†€‡…„ycYC710;W}Œˆh`dt~‚„ˆumjmsw_YKA<?AA?:850'"!"""'+-*'(/EV_MB;9888789;>AFKQV[^cjt€ŒŒŒŽŒŽŽŽ‘ŒŽŽ‹‹‹ŽŽŒŒ‘ŒŽŒŒ‹‹‹ŒŒŽŽŒ‘‹‹ŠŠŠŠŠ‹ŒŒ‡ˆ‰ŒŠŠŠŒ‹‹‡†ˆ‰‰‰ˆŒ‡‡ˆŒˆŠ‰ˆ†‰…„„ƒƒ…‚ƒ€|nQ4)'(-6889;:;=>>>@@@CBFEEDGEEEEEFEEEGDDDDEDDEDEEEEEDGEDDEDDCBBBBBAAAEDEEFEFDDDDEDDCCECECABBBBBCBBABCDBBCCDCCEDDECCDDCDFDCCDDEDCDDDFDDDCCDDEEEDEEEEFEFEFFFEGGHEFFFFIHHFFHGFFFGFFFEEFEEEEFFFFFhlhhhhhhhjilknhikkkklmmnnpnnnmoppopopqrrsrssusttuuuuvtxwwwwxxwyzzz{y|}}~~|~~~€€‚ƒ‚‚‚ƒ„ƒ‚ƒ‚„ƒ‚‚ƒ†sOHITSSSRRQPRSX^UQSSaqknw{vqs…}vseVXUVYXX[]kwŸÒàôöòíìëììììììëëëëëêæÍœ‹nlgfi~˜¨­ž…šÌÜèëèàÖÊÀÁÉáæëëëëëëëëëêêêêêéêêêêêêêêêêêêééèæß³qhPiux|}}|zzzz{xvtn]KUb‚’‹†r`Wiƒƒ‰wogool^TKHEFINSIB>8-#! ! !!"$"!&.BdVKB><<;:867788;>CHOX^bkp|Š’ŽŽŽŽŽ‹ŒŽŒŽŒŽ’ŽŽŽŒ‹Œ‹‹‹ŽŒŽŽŽŒŽŒŒŒ‹‹ŒŽŠ‹‹ŠŠŠŠŠŠŠ‰Šˆ‰ˆˆˆˆˆ‰ˆ‰ˆˆˆˆ†ˆ‰ˆ‡ˆˆŠ…Šˆˆ„………‰ƒƒ†€‚‚€pY;,$&*1688::;<===??>?@ABCDDDDDDBDDDDDDDBDFDDCCDDDDDDCCDEDCCBBBBBBAAABCCDDDFCDDDDDDBCEBCDBBBBBAAABBCCCGDBCEBCCBCECCCCCDDCCCCCDCDCDDDDDCCCCCDDEDFEFGEEEEEEFEFEEFFFFFGGFEFEFFGGFEFFEDEFFEEEFFFEiiiijjjiiiijjiijkkmklnonnnooonnqssspqqrtusrsuuwvuvyw{wxwywwy|y||{{||||}~€‚‚€†‚„„ƒ‚ƒƒƒƒ„ƒ†‚ƒ‡uQIITSTTRRRQTXbeXPQQUW\fz{ytt†z~tsw\ZUVWWWXZ^dl°ÕîñóñïíììììììììëëìëéåÜÒÉÈÆØ×ÚÔŸˆ_O„žäêéèçæäâäæèëëêëëëëëëêêêêêêêêêêêéééééèèççæãЦ…lu„’™—•˜™Š”´¹½ÄÎǺƒhr‰™‹‰|aR`v‰‡ŠyxtrsmbUN\TOQZUUGIA3($"#$$"!  !%1@OKG?@?>>;:6556789<?CJQW]cmx†’ޒސŽŽ‘’‘“ސŽŽŽŽŽŒ’ŽŽŽŽ‘ŽŒ‹Š•‹‹‹‹ŒŠ‰‰ˆ‹‰ˆˆŒ‰‰‰‹ˆ‰‰ˆ‡‹‰‡‡‰ˆŠ‰Šˆˆ††………„„†‚„ƒƒvlE/%$'0488:::<==<=>>???@BCCCCDGDEEGEDDDEDDDDGEECCDFCCCDCDDDDCBBBBBB@CCCCDDEDGEHCBBBCECCCCCEBAABACCCCBCDCBCBCCCCCCDEDEEDDDCBCDDDDDDDDCCDDDDDEEEFEGFEEGEEEGFGEEFGGGFGGFFIDEFHFFFFEEDEEHFFFHFEEiijjjjjjiiijjjjjjkkjlppnnoooppprqoqqrqsttvssuuwvvvvvwwwvwwx{{yzz{|~~}|}~~€€€ƒ‚‚ƒ‚ƒ€ƒ…ƒƒ„ƒ†‚‚‡wRKJUXTVTSTU\agrWPRRTVYX_gp~†|upl^ZUUVVVXY[\bh‚˜¼åóõòïíìììííììììììììêçæäáÞÕǨ€Zmˆ´àéêëëëëêêëëëëêëëëëëêëëëëêêêêêéééèçæåäããàØÒÍÁ´¹½ÎáàÞÕÌÉŸ®¾ÖÑÐØàÔÆ›|†Š‰ˆ‰„gLYi€woorvzri]U\YUQOLF@??:6/(((((&&'(-7HQRQMIE@>86544766689<>ELT]dgq{Ž“‘ŽŽ‘‘‘ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘ŽŽŽŽŽŒ‹‹‹Œ‹‹‹Œ‹Š‰ˆˆˆ‰‰‰ˆŠ‰‰‰ˆ†‰Š‰‡‰‰ˆ‡ˆ‡ˆ†ˆ‡‡‡‡†………„„ƒ„ƒƒyrP5%#$+1979::<;;=;<@?>??@AABBDCCDDDEDDDDDBCBEFDBCCDCCCCCCCDCBAA@CBBAABCDDEEDDCDCCCCCDCDCCBBBBBBABBCCCCCCCCCCCECCCDDDDFDDDCCCDEDDDCDECCDCDCCDEEDDGFEEEDDEFFEEEGGGFEEEFEFDEFEEEEEDEDEEFFFFFFEDhjkkjjjjihjkjkljjlllmnpprpqqqqpqpqurusutsttuvvvv{vvwxxwwxxyz}}}||}~~}€~€€…‚ƒƒ„‚‚‚‡„„ƒƒ„‚†„…ŠwSLKWVTVVTUWetsnXQRRSSRQS[j€‰{‚ur}]ZVUWVWXZX[[_cq„²áðóòòïíííííììììììììëëéÜא—xŒ|ˆÂÅßäêëëëëëêêêëëêêêêêêêêêêéééèèèçççææäâÜÕÐËÆÅÈÔãäããäåæåäÝ×ÏÆÄÈÚææåæçäᲝ’ŠŠ‹ƒrNRjzxhcgqˆvgdd_[\^`J<=DACHC3/-,,,.015Hbkusoa\IA<76666766789;>CHOWYbio|Œ–Ž‘‘‘ŽŽ’‘‘’‘‘‘‘ŽŽ‘‘ŽŽŽ“ŽŽŽ“ŽŽŽ’ŽŽŽ“Ž–‹‘ŽŒ‹‹ŽŠŒŠŽ‰‰†‰ŠŒŒŒ‰Š‰Œ‰Š‰‹ˆ‰ˆ‰†ˆ…†……ƒ‡„„~w^<'#$(-98:;::;;>;;;<>?>???@@BBBDDDCCCCDDBCBCDCAFFFCCCDDFDDCCBAACCECDBCCCDFCDBECCDDCDBBBCCCBBBBAABCDCCCEECDCCCCCBCECCDDEDCGDDDFDCCDCCCDCDCDDEEHGGFFEDDFEEEEEEFFGHFEDFEFEEEDEHEFEEEFFFFEEGFEDijjljjjjjikmmllklmmmmmpopoqrrsqrqrurttutttuuvvvvvvwwxyxxxxz{||}|}~~€~|„‚‚ƒƒ‚‚‚ƒ‚‚ƒ‚ƒƒ„„…‹zTMMWVUVVTXZj‰nm^TTSSTSSUVdysz„utz\YVVWVZZ[\[[[^bny Ðßôöòîííííììììíííìììêáѽ°¤–““®ÙåéìëëêêëëëêêëêêêéééééèçææåååàÝÙÖÔÓÓÉÅÁÄȸ´ÀßââããåèééèçæáááåæçççèééæáÎÀ¤‰ƒwaD[†‰‹q_alpxg]adefekd[KLIHLRA79A@@?>>>F[j‘ŽŒ{qWKIGB=:88777777::;?DKRZZ^gu‚Š‘’Ž‘‘ŽŽ‘‘ŽŽŽŽŽŽŒŽŽŽŽŽŒ‘ŽŒŒŽ‰‹‹‹‰‰‰Œ‹Š‰‡ŠŠŠŒŠ‰‰‰Š‰‰‰Šˆˆ‡ˆ‡†…†…„ƒƒƒ‚ƒzjD*$!&+38;:::;9;:;<====>>>@@@AAABBABBBBBBBBCCCBCDCCCDDDGBCDCBAACCCDDBCCCCCCCBDCDDDCEABBAAAAAAABBABACBCDCCCBBBCDCCCCCCDFDBDCDBCCCCCCCDCCCCCCEDDDEEFFEEEEEEEEEDEEFFEEEFFFEEEEFDDDEEEFFHFDEEFEiiijjjkjmlonmlllmmnoqnppsssroppqqrutyuvuyvuuvwzwxw|xyyyy{y}}}}~}€~}}~…€€†ƒƒ€ƒ‚…‚ƒƒ‚‚‚ƒƒƒƒ„‚‰†‡……‹{UNNWVUVUTZ]ruoo`YVQSTUSQQYdjkq{tuw[YVXWWXWXXXXZZ\^em°ÕïòôñïîíììììììììëëêéæãâßÃ¥™›ÚäèêêéééééèèèèèççææææåäÞÙ×ÕÒÒÔØÎÔÀÏÒÍÆ¿Ã®¡¥²¸¾ÈÓÐÐáãæèèèçæçèçæææèéééçåÚ׬ˆ}_]j”¶’{e[cco\[_hsuqnl^SPRKOL@<BQ^[VRNOSUnwˆ„€qURUY^J?96777666899:=AHOPXbft|€‹‹“‘”‘’‘’’’•‘’’‘‘Ž‘‘“Ž’‘“’‘ŽŽ“ŽŽŽŽ‘‘ŽŒŒŽŽŒŒŠŒ‹‹Š‹‰Š‰‰‹Œ‹‰Š‹ˆ‰ˆ‹ˆ‰‰‰‡†‡ˆ…†ƒ}qN/&!#(28;:::;:;::::;=<<==>>??AAABBBAAABBBCDDDCBCBCDCCDGCCDCCBBECBCDCEDDDEDCCCCDDDDEBAA@@?@AAABBADBBBBCBCCBCCCDDDEDDCDDDCEDFBDCEDCCCCBCBCDDEEEDFFFFFEEEGEEFEDEEEEEEEFEEEEFGHGGDEEFEEFGFFFFEjjjjiikkkkllmmllmnnopnoqqqrrqpqsssssttstvvwvwxwwwwxxy{zyzy|||}}}~}~€€€€‚‚‚ƒƒ‚€‚ƒ‚‚ƒƒ„„„†ƒƒ†……„…Š}WQOVVVUUU[^qtrqqr^RTSY_\\\ZZZi…tvw\YVXWXXYYXYZZZ[\^cj‚™¼çôõñïììììëëëëëëëêêêêêèäÝÉÑÝáåæåääãâàßàÞÛÖÖÔÏËÈÄÂÂÆÊÒÓØÛÞäÜØØÝßßµ¬››Šœ™šœš–›¤»ÜæééèèééæâÙâçééééèèçà½©š‰•Ÿ›Œvlgjlgachovi^[YTPVLPNI@IU_k^ZWQNKPX`gpqidipbQ><887777687789;?CHSY_ips}…‹•’‘‘‘‘‘‘‘‘ŽŽŽŽ’‘’ŽŽŽŽŽ’ŽŽŽŽŽŽŽŒŒŒŠŠŠŠ‹Œ‹‰ŒŠŠŠ‰‰‰‰Š‰‰‰‰ŠŠˆŠ†ˆŠˆ………†‡ˆ„†ƒ€xX7*!"'/789:::::9:89:::;;=>>>>@A@@?AA@@ABAEDBDCDCBECBCECBCDEEBBCBCBCBBABBCDDDBAAABBBBA@@??@AABBAACBBCBCCCCBCDBBCCDEEDDEDBCCCBCDDFDACCCCDDDDDCDDEDFFFFEDFEEEDDECEGEEEFFFDDEFGDEDEDEDEEEEFFEEjjpiikolollllnnmnoppooopqqrsurssstutwvyvvxuvwxyw{yyx{{||||{|||~~~}}~‚€€‚€„ƒƒ‚ƒƒƒ„†………„ƒƒ‚„ˆ†………Œ[SRVWWVWX\`qsxsrueZUT]ewjZSSU]elxz[ZWWXYYYYXYYYYZZZ[`cqƒ³ãðòòñïíìêêêééééèèèèççæãáàâãââߨÔÏÌÉÄ¿¸±®¨£žž ¤¬¸ÆãßåææåäãáÞÞ;¬¤Ÿž¥««©¡›—’—Êâçççèçäл°¸âçèéééééæàÌÅ–œ’”¡¦˜ˆ‚€€wpopnc\[^d_\[[^_[Y\ac^WbMJEADJUmp”yulQ=;8887766666788:;?IPZgpux}„‘Ž•—“–‘••••”‘‘‘‘‘‘“““‘‘“’“‘“‘’’’’’‘‘’’’•‘ŽŽŒ‹Œ‘ŒŒ‹Œ‹‹‹‹‰ŠŠŠŠ‹ŠŠŒ‰‰ˆ‰ˆ‡†…‰‰‰„‡†ƒ{lB.#"%,668:;;:<9:9<::9=;>=====>?@?AABA@A?BDCDCBBBBBBBDCCEEBAACCCDCDBCBCB@ABCBBBAABBAA@A@B@AAEBCBCCCCBCDEECBBBBDDEEHEDDCBBCCCCCCCDBCCCCCDCDEDDEFEGFFGGGFFHEFFFFFFEEEEDCCEFFGEFEGEFEEEEEFEEEkkkikllknnmlnpoppppooqqprrsutrstuuuuuvwwwxvvxyyw{yxy{}|{{{|}}|}~~~}|€€€ƒ€ƒ‚ƒƒƒ„„…ˆ††…ƒƒ„†††††Ž‚^XUV\YYWXZ`pvvrqrmjbYbfp}_TXZ[YdudYYWWXYYXYY[[\ZZYYZ__`mz¡ÎÞòôñíëèæäãáàßÞÝØÓÎÌÉþ¼ºµ¯«¨£ž™–Š‡ƒ|ywwx|Œ–£µÅßåææÜ˶§™šœ £©³¾ßááÞÐÉĬ¬¦¹àäåæãÕ»¤–ƒ­ÚååééêêééáÕœ|‡ž³¾Ì«—•–‡{zyn]ZYacfiq|{wslgd[SNKFD>:=CWmpqu{mUF>;98876686677779:CJXdkqyvyx‰’’’‘’‘’”‘‘’‘“‘‘‘‘‘’Ž‘Ž‘’Ž‘“‘‘‘ŒŒŒŒŒŒŒŒŒŒŒ‹‹‹‹‹Š‰‰ˆ‰ŠŠˆˆ‰Š‰‹‰ŠŠŠŠˆ††††„‡‡ƒ}rN4$""(258889999888888::;<=<<===>>>>??@B@AAABABCCBBDDEDDDGBABCCBBBBBBBCD@@AAAAAAA@B@@@@@BAABECBABACCBBDDDBBCCCCDDDECDDCCCBBCDCCCDBBCCDCCDEECDEDDFGFGFEFEGDEEEGEDEFEDDCDEFFFEEDGFFEEEDDEDEEolmllmmmrnnmnoopqpqppqqqssuuvvuvxuywzxwwyxwx|y{{{z~|{|}~~~~~}€~~~€‚ƒ€‚‚ƒƒƒƒƒƒ„„„„„„„†‡††…†„…†‰‰‡Žƒa[XUWXXWWY^q}t{z{z}`bh€…eTYYVTXb_YYXXXXXZZXYWZYY[ZZ\[]^enޱÔíïðëãâàÖÌ·±¬¥Ÿš–’Œˆ„~zwtqnjigdba__`abdgovŠ™§ºÎÙâܺ«ˆ‰lq}”¯°ÈÎßàåÒᾯ¨¨³×ØÙæßÐŒ„ªäçèêêêêêçØ¡tlq‰¼±ÓÐ˳¨§§œ‰‡‰‰qbhoqtz‰ˆ†…ˆzyk[NJIBA;94CNaZTQck]OGC;8897679677879:@FVbhqz|~|{€„†““”š”––—’“’’’‘’“““‘•”•‘“’‘’’’”‘‘’‘‘‘’‘•‘‘‘’‘‘”““’‘Ž‘ŽŽŽŒŽ‹Š‹Ž‹ˆ‹ŠŠŠˆŠ‹‰‹Šˆ‰‰‡ˆ‰‹†Š††~z[9&"!%,4798:9;9879889::;<=<<=<<;<>>>?@@?ABAEBCCEABDECBBBBABCCEBDBBBAAFB@ABBBCBBDABA@@@ABABCEEDAABECABCCDBBCCCCCEEFGGDCCCCBDDDDCDCBCDDCCDDEDEDDEFFHFEFFEGDFEFEDDFEEEFCDEGGGDDDFFEFFEDDDEFDmmllmnnnroomosqqqqqqqrssssuuuuuvuuyvwyxwyyxzzy{zzz~|}~}~~}~}€~~~~~}€€ƒ‚ƒƒ‚ƒ„„……†…†…………………ƒ……†…‡…eb]YVVWXXYZh|rovbmulafiŠiWf{gVZ[YYY[XYXWXZ[\YYYX\[[^[\\^dj„™»ßçâ¶¥›”…€|yvrnlihfdba``_^^^]]]]]\[[\]^`ekpxƒ›¬»ËÚÕа“‡x†Œª¬®°¼ÓÑÐν³¨ª¯ÕßàåãÀ©˜¡«Ååêêêêêëêä´wkcu‹¤®ÍÕÏÈÆÄ¾·«ž™”‘’™—‹‡…„{wx|zzVLKKEIIHKUm}p^^ehe[OE><:976676678778?CR_hq{~|zyyz‚…‹“““’’—’’‘‘’“”’’’’’•““’’’’“‘’‘‘‘’’‘‘‘ŽŽŽ‘‘‘‘ŽŒ‹Ž‹ŒŽ‰‹ŠˆˆˆŒ‹ŠˆŠ‰ŒŠŠŠŠ‹‰ˆ‰‰Š…‡…„€~kB*#!$(268788998888889:;=;;<?<;;<=??>>>?@@@@ACCBABCCCBDBCBBBABBBABBAA@@AABBBCBBBAAAA@AABABCBABABBCCBBBBBBCEEDCBBBDEDCCCDEDDDDCCCCCCCDCBDCDCDDEEFFHEFGFFFDEDEDDDDEDCCCEEDDDDEEFFEDDDDDDFDDqqqssrrssqqrrsrssstqruwuuvvuwwxx{wyxwxxy{yyyzy{{|~|}|}~~€‚‚€‚|„„„„„„„‚……‡†††…†…„„…‰†……‡‡ˆ‰ˆŒ†pjgaZTUXXYW^gjoreenh]ck‚nhrwWXWWXXXXWXXXYXYXYXY\[[[ZZZ]]`es¢³ž‚|jfcbb_]]]]\]YZZZZZZ[[ZYYZ[Z[ZZZ[\\Z^`ehqy…‘¡³ÂÛÐßĵ«¡¡£¢Ÿ›ž¶ËËÌɼº½ÀÐÞåæçÚËÆÆÖáæèèçççççä¢sip~’Ÿ¯ÉÒÙÛâäãØÇ½·©£¥­²´£œ•‡…urpt_TJB=?CO}xs‚Ÿš˜€uy}sh\JEB@=97666678777=AQ^hq}€‚‚ƒ‚~}‚ƒ‰“”–“˜’“”˜’–“’’’’”••““’““•’’““’’’˜‘‘‘’‘’’‘“‘•‘’‘–‘‘‘“’’“ŽŽŽŽ‘Ž‹‹ŒŽŽŒŒŒŒ‹‹ŠŒŠ‹‹ŒŒŒŒŒ‰‰Š‹‡‰„sK/%""&158899987878:989:;::;<<;<;<<<=>>?@@?@@CCBBBCCCCDAA@@AACBCBDA@@@@CB@@AAAABBBCBBDCCBDBBCBBBCCBBBAABCCCDDCCCBCCCCFDFEDDDCCCCDDCCCDDDDDDFEGEHGHGFGGFFDFEFEEEDDCCCDEDDCEEGFFEEEDDDDDCCDrrssssttsssstuttuwtrtvvuvvwvwwxxyxzyz{yy{zzzz{}|||||~~}||~~~‚~~ƒ‚~‚‚ƒƒƒ…„‡ƒ…‡…ƒƒ„„…ˆˆ†…‡†‡†‰‘ˆwxwobYSUYYX\^del~qpf^elƒ’s^yvWYXYYYXY[[[XYXZYYZZZZ[\[ZZ_\\`cmvyy}wne`[[[[[[][\\[ZZZZ[[[[YZ[\\\[[ZY[\\\^`bels~‰—¤¶ÈÔÞàÜ˼±¢›Š«Ò×ÞãÑÉËÍ×ÞåçèçåàååæççåÚÐØáàâ®yr{‹¥ ¯ÍÑÛáåçèçÝÕÇ·»¹¦¥§±³°¨¡|qbLL==;ARnŸ”¬®°¢“Œˆ‰†}umfa[QG>876778887<>KYfq}‚ƒ„„ƒ‚ƒ†‹‰Ž””’“–•’’’““”•””“““‘““’’“•’““’“‘’‘’‘’’’’“‘‘‘‘‘’‘‘’‘‘‘ŽŽŽ’ŽŽŽŽŽŽ‹ŒŒŒ‹Œ‹‰‹ˆŠŠŠ‰‰‰Š‰Šˆ‡†‚{W5(!!%,38788878888:9899:::;:;;;;<><;=>>=>??@@ACCCCBBBC@@@@@@@@BAAAAA@@AB@@@CCCBABBBAABBBCBBBCBBCBBBBAAACCBCDCBBBCDBBFCDCCBBBCCCBBBBCCECCDDFCGFFEFFFHFEECEEFEEFEDCCDDCDDCDDEEEEEGDCDEDCCDwuuvwxyyyxxxwvvvyyxwvxyyyyyy||}||{~}}|{|~}~~‚~|}€€~~~ƒƒ‚‚‚‚ƒ‚ƒ‚‚ƒƒƒƒ„„„†…‡†…††…†‡Š…‡ˆ‡ˆ‡†‡ˆ‰“—†‡†‚scYSUYXXZ\`ltwxpcel„†yx’yW[YYY[YZYXYXXXYYZ]\[[Z[ZZZ\[[\]_flqƒ‘—€e_\[ZZYZZ[[Z[[Z[\ZYZY[[[ZZZ[ZZ[[Z[]]]`chmv~Š•¤´ÁÛäÞéšžªÀÖàææåæççççèéêéèèèééééçÔÉÈÑÛÛÎ’t|“©Ò×ãåçèèééäᳫ§¤¥£¢¤«´¡«…–v|]RJB>@Lbx–¶­¬•”“’“™žp‡‚€_F987888899=>DSgq€‚‡«œ•› ¦¯¡“ˆ‹‘Ž•““”–““”••™•—””’””—“““‘“”“’’’“““””””•”“‘’–’’‘’’’‘‘‘‘‘Ž”‘‘’ŽŽŒŽŽŽŽ‹‹‹ŒŠŽ‰‹ŠŒ‹‹‹‹ŠŽ‡Š~f?,"!$*38888879888::88;::;<:::<;;;;;<===>>@?A@CCAAAABB@@AAB@@@C@EACAAA@@@@ABCBEADABA@BBBDCEBCBABBBCBCAABDCDEEBDCCAABFCDCDBBBCCCBBBDCCCCDGEEEGFFFGGFGEDEEHFFEFFDDCDECCDEEDDEEFEEDDDDDCDDDvuvyxwyzxwwxxyyyy{xwxzzyz{{{||||}|}{}~~~~}}~€~~€€€ƒ‚€‚ƒ‚‚‚ƒƒƒƒ„„„…†…„†…‡Š†††††‡†…‡‹ˆ‡‡‡‡‡Œ—•Ž•˜‘Šs_UQTZY[[\_am|pgdk‚ƒzk‚›yW[ZZZZYZXYZXXXZZZ[]\\[\YZZ][[\]^`dhx»À¼‘mc\[\[ZZZZZZ[Z][YZ[[[[[[[[\[\ZYZZZZ\^_`dhmt}†™¤°¹Å·³µµÀàÜåçççéëëëëëëëêêêêëëëëéÝÊÁ¹ÈŲ̀”†‚“›ÕÞãèêéééêçÇ™Šˆ––”’Œ…ƒ„€wkb_ZMCFHSWep‰¤¨©§ª¡†|lo€rmE:776677884/8CTgoz}ˆ ¹¼ÃÆÈ»¼©œ’…”‹Ž’“—–””””“•••””’“•–“““““”“”•’’“‘’“’•’“““““‘‘‘‘’““‘‘‘‘‘ŽŽŒŽŠŽ‹‹‹ŒŠŒŠ‰‰ŒŠ‹‹ŒŠ†Š‚pK2#""(1467987887777979:989:99::;;;;;<=>=<??@@ACAB@@A@@@A?A????@@AA@@??@@BAAB@AAA@C?@BAABBBBCAABAAAAAABBCDCBBBDCD?@AABBBDBBDCEBBBBBDDDDDDDDEFFFFGDFGFGFFECEEEEFFEDDDEEEEEFFDFEEDDEEFFFFFwvxyzw|yyy{zzz|yyywz~}}{€€€€€~~€€„€‚€€ƒ‚‚‚ƒƒ‚ƒƒ‚‚„„„„ƒ‚ƒ„…„„…‡‡‡†††Š†ˆˆ‡†ˆˆˆ†…†‡‰‰ˆ‡‡ˆ‰Ž˜¢§¯±²™„lYRMRZYYZXXevael~€€{–xXYYYYZYZY[YYXXYZZZZX\[[YZ[[[\]]^_`cm’À»Ï{l]]\[[ZZZZZZZZZ[[ZZZYX[\ZZZZZYYXYZZZ[\^`cglrx‡š¤©¯®ËÔÞâãååæèèééêéééééêêêêêééÛÆÀ¿ÕÉÅÀ·« œ³×âèéêêêé騶‰oowŽœžž™‚ƒ_ZYXZ`jbXSSRSTQZew–ž»µ®‘ƒtcZTWZO@968666678.+-5AP_ny‚”¦ªµÇÁº¼¾¡§˜›”‡Š‘‘œ•—•—–•–—•—““–˜”ž—•••“—”“’“”š“’’•’–“””“’““—“”“‘’“‘’’‘‘”‘””•‘’‘‘‘‘Ž”ŽŒŽŽ‹ŒŽŽŒŒ‹‹‹Œ‰‹…zZ9%""%,4677798797779878989999:::;=;;;==>???@???@@??A@BA@AB?A?>?@AAA@??@@AAAD@DAA@C@@@@ACBAABAAAAABABACBACBBCCCCDBAABBDCCBBABBBBDCBCFFEEDDEFGFFFGEFFFFGFEEGFFFFFEDDDFEEEFEEFGFFEFEGFEEEEwwwwwwyxzzz{{{{yz{||}|}}~}~€€€€ƒ‚„‚€‚…„‚ƒ„ƒƒƒƒ„……†„‚ƒƒƒ„„„„ƒ…††…††‡ˆ‡†††††ˆˆ‡†ˆŠ‰‡‡Œ‰‰‰‰ˆ‡ˆ‰Žš§°¾È´¡zfUMKPXZ[ZX`e\Zdm|||…Šyafga[[YYYZ[ZZYYZ[ZZY]\[Z[[Z[__^^^_`fl‘¨Ä¢wd_\]\[[ZZZZZ][\\[[YY[[ZZ[[[YXYXWWWWXZYYZ\`cgkosy„‰–¦±»ÂÊÒÛßåæççæãâåéêééééêëéæäÜÔÒËÎÛÖÏÏÍÜçêëëëëéèη„{pƒ¢¥®´¾¥‹mQLIMQac]OPQTZQJRThy†€unhSFCA>;97777866660+/3=DOYdr†«­³¾Ç¬¡•Œ”š¨£•ˆ‹“•–—————–—“•–••˜—–“”””““’“–•’’‘”“”““”“‘’’”““’“““‘“““’”‘‘‘‘‘’ŒŽŒ‰‹‹‹‹‰‰‰€kB)$"$(367789888776667788889899::;<;:=<<=====?>?>>?@@BA@A@?@??>@@@?@AA@@@ACD@@???@?@@@?BCA@BBA@AAA@@@ABABCBBBBCCCCCBBDBBDB@BCCCBCCBCBEEEDCCDDFGEDFFFGFIGGFFFFFCEDEEFFEDEEFFFFFDEEGEEGFFyyzxwxzx~|{{}}}}}}|}~€‚~€€ƒ€ƒ‡ƒƒ…‚………„ˆ„„„…†‹……„…†…†‹‰ˆ…††‡‡Š‡ˆ‡ˆ‰ˆ‰Œ‹Š‰ˆˆ‰‹‰‰Š‹Šˆ‹‹ŠŠŠŠŠ‰ŠŽš¯±ÖÈ» –Šr_QLIPYY\YYYWYdn€‚…‡†‰|{‚yh\\ZYYZZ[\[Z\\ZZY[ZZZ[[[[\\^^_^`_acky–º¥¤…g_\[[[[ZYZZ[ZZ[[[Y[YYYXYWYYVUUUTSSRSSTTTUYZ\]^`bdgmy†•¤°ÁÉÑÛåáÛÕÇÃÈÝèèéèèèéèèèççæßÚØÙÜßäæçééêêëêéÙ½§–’“¥®¿ÖÕÓ¯mOHDM]lo`SQRUUJOPSZaa_\YQC?<:87777787678633258:>EO^pŒ‘’‘ŽŠ…‘›£»³²¥¬˜†‹–˜š˜˜—————˜–—•˜———˜––”““”••––”˜”—“”””••––””““““”—’’’“‘‘’“’’”•’’Ž“‘”“”‘‘‘’ŽŒŽŽŒŒ‘ŒŒŒŒŠ…tL.&#"&15778897777776:888889999:99:;<<<<<====?>>>>??ABA@???B????@A@@B>@@@ABD@B???AAA@B?ABA@AA@@BAA@A@@BABDBBABBABBCAADBBCBABCCCBBBBDDDDECCCDDGFEDEEEEFHIGFFFFFFEEGEIGFEEFGFHEFEFEFFFFGFzzyyyyyx{{{|}}{{|z~|}}€~€€…ƒ‚ƒ„ƒ‚………ƒƒ„…‡…†‡……††‡ˆˆ‰ˆˆ†‡‡‡ˆˆ‡‰‡ˆŽŒŠŠ‰‹ŒŠŠ‹ŽŽ‹ŠŠ‹‹Œ‹‰‹‹‹‹‹‹™¥©¢—”‘’§‡j[NJINVYZYY[[douƒ‘…ˆyiz•sa`\[Z[Z[\ZZ[]\\\\[[[[\^\\\__^_``abbin† ¥½’rg]\\[YY[ZZZZZYYWWXWVUTTTSSRQQPQQRRTUVXWXZ[\]a`caeens‚ ²½ËÕÙÐË·«²ÔááåæáÞàãæèéêêéèæåæçççççæçéëêêèäßÛÍÈÁÉÏØÙ×̸›}ZX]Œ¾°Ÿ‡sia]LQRS[YYYYNF@>;:987787777876777798;?FO^jqvy}~€ƒœ©ªºÕ¶­®©‘ˆ’‘––š™——–––˜”™––——•–—••””–˜••–”–’’“””””•–”’“”””•’’’“‘’”“’”“”“’‘“‘‘ŽŽŒŽŽŒŽŠ…{W4)#$%,47878:677777677889688889::9:;<;;<<<<<>???>=>@@@@@?>>=?>????@B??@@AA@@?>?AA?A???@@ABA@AAB@@@@@@AAABBAAAAA@BCAABBCCBCCCCCCBBBBBCECBCCCCDEEDFEEEFGGFFGFFFFEEEDFHFFFFFFFDFEEEEDFEEEyyyy}yy{z}||{z{{|~}}~~€€ƒƒ‚ƒƒ‚…ƒƒƒ…†‡…††Š……†ˆ‡ˆˆ‰ˆˆˆ‰ˆŒŒ‹‡ˆ‰‰ˆŠˆˆ‹‹ŠŠ‹‹ŒŽŽŒ’ŽŽŽ˜£šŽŒŽ‰‡š |cVNJHNTW[ZYZcqƒx†ˆˆynƒ‡‚od^\[[[[ZYZ[\\\\\[[[\]\]\\]\]``aa```ej|Œ¤¿šp_\[\[YXXWWWWWVUUUSRRPTQRQRRSTTTVXX\\[ZYZ\^adeda_]ahw…—©¹ÑË•œ§¹ÍÑÍ·°ÂÐÕâååååææçèèèçÛ×ÖÜæçèèèçææåÛÖÛãäåäâÑÓ|œÚàáàßδ—€oa\VVKMJGC?<<<9:998877789778788889;>CKWjp}‚ƒ”´§¼º¼¸µ«¢¨±Ÿ‰Œ’œ—–––—™–š—˜˜—–™–˜•”•–•”•—”–“—•™””””•—“–––”™”““”’“••“”•””““”’’‘’“‘‘’’ŽŽ““‘‘‘‘‘ŽŽ‘Ž‹Œ}h>-##$*27888:778:798779898;98899889;<;;<=<=>=====<<=?>=?>>>=??@@@??@??A??@@@@??@@@@@??A@@@AABBB@@?@AA@@@ABAA@AA@BBBBBBECBCDCECECBBCCEDCDDCFCDEFFFDDEFGHGFFGGFFGGGEEFFFFFGGGGGEDDGDGEEExyyzzyz{{{||{{{{|}~~~~~}€‚‚„ƒƒƒ„†„ƒ‡††…†…†‡‡††…‡…‡ˆŠ‡‡‡ˆ†‰ŠˆŠŠŠŠŒŒŒ‹‹‹ŒŽŒŽŽŒ‹‹ŽŽŽ‘˜š‡xˆ…™–Œr]TMJHKTW\ZYbqkn{Š‹‹x`js„}vvkda[[ZZ\\^]\]^^^\^]]]^\`]]```bbbadegs~–¹Ÿ–{d^XXXXWWUTUTSSRRPRQRSSTUVXXYZ[[[Z]^cgc^gq~Š‚{ywnadfq|Œ ªµ©•›—š“™Ì¼Ï«­­¬°µ¾ÉÕßáâäååä×ÉËÇÌÓÚåèêêééåàÜÙØÝåæåÙÓÕÙâççæäáÑÕ®¥™~pdXPID@><>89888777778888:999999;=DM\nw†}~ƒ‰œºÔ²­³Åƹ–‰‰Š’™—›˜–—•———˜––—–––•••”””•””“•”–••–•“”“••–””••““’“’’““’”•“‘’”’‘’“’‘”“‘‘Ž‘“Ž‘‹‹sJ3#"#(0677577777788778888888888889;::;<<;<=====<<<<==>?>=>>?=??@>?A@?B??C@B@A@BBA@??AA@A@AAABA@@?@AA?@@AAACA@@??@BBBBCBCCCCDCCDCCCBECCCCDEDDDFGFEEEEGGGEDEGFEEDDDEFFGFEHEEEFFEDDDEEEHvyz{|{{{{|}|€{}||~‚~}~~~€€ƒƒ‚„ƒ†ƒ„…„„ˆ‡‡†ˆˆˆ‡‡†††‹‡‰‰Š‡‰‡ŠŠŠŒŽŽŒŽ‹ŒŽŒŽŽ’ŒŽŽ‘ŒŒ“’‘‘“›¦¡…x†{y“ºŸ‚jZRMJGLOU[Zamzyyx{Žwaew…€Žsd[\[Z\\^]\_^\\\\]]]]\`^^_```_`aabcdksª¥­‡h_UUUUSSQUQSSTTUWWXYZZ\[YZ][Z[[[^dnvv_lƒ¡œ’y…‹m\Zairƒ˜¡œ«­°¶¼ÄËÊËÉÅÀ¬©¨¦´§¦¬¼ÅÐßÜÛÖÔÁ»»ÃÓãåææçææßÑÎÏÙÖ×ÛÞâåçççæäÞÔɲ¹»¾³§•‚tgZOHB=:998889667988998887:9;>ELWku‡……‡…††”´±²®Æ¿Þ¸¨§¨—Ž’”—š™˜—™˜—––——˜˜˜˜™™˜˜””•™™š•˜•™–˜•——™˜—•”–™”•”•“™–˜•””“’’““’’““’‘‘”‘–‘““’’’Ž’ŽŒ„}Z9%""%+5786878787:888999887778988899:;:;;:;;<<;;;>=>>>=>>????A?@?@A@@B?>@???@@BB@@???@@A@BA@CA@?@@@BBBAAABA??A@@@ECCDDDECBBEBBDCCCBEDDCCCFEGEFFFEGEEEFGFEEFEEEEEDGFFFGFJGFEFFEDEEEFFFzyyzz|{z{{{{||}|}~~€€€€‚€ƒ‚„ƒ…ˆ…‚ˆ„„„‡‚‡‡‡†††††‰‰ˆ†‡‡‡ˆŠˆ‰‰Š‹‹ŠŒŒŒŒŒ‹‹ŒŒŒŽŽŽ’‘‘”ž§«•yvstŒ±¹•vfYRMJHJNU[^`_alvy’{n|‰…˜ƒ~nbb^]\\`]\]^]]]`]^^^]`_]___`__aabccejn‚›¡º’reXVTTTTUUVWY[[[[\\[]\\\[\^]][^_dp–ydx¥|_w˜‚x^Xccilw‹ŸŸ®°²¸×ÐâÜäãá˶¯®ºÄ¼¤¦©ÆŸ¢§º¹»¼´¥Âº¿ÄÊÑÛâáàÚäáߨÆÞäèèçççåã×ɺ²ª­±³¶®´²¯£•„th]RIC=;99768887877777:89<>CIVgyŽŠ†€€…œ®Ë¾É»¾Ö¯Ÿ™“Œ“›™šš˜–˜˜˜˜˜—˜˜˜––––––•••˜–™•–”–——•˜–••”””””““”””””“‘‘’“’•’‘‘‘‘‘‘Ž‘‘‘‘‘ŽŽŽ‰ƒiB)#!#(356677777776888987887777899:9:99:::::;;;;;><<<<<>=>A??@?@@@@@@??@@@???@BA@@?@@@@??AA@BA@?>??@@C?BAA@@?@@@ABCCCCCCCBBCBCDDDCACDDDCCDEEEFFFFFFFDFGFFEGFDEEEEGFFFFEFFFFEDDDEEEFFF|zzyy|~{z|{z}~}|}€€€~~€€ƒ‚†……„„„†‡ˆ„ˆ„„…ˆƒ††ˆ‡‰‡ˆˆ‰‡‡‡ˆˆˆˆŠ‡‰‰‰‹ŒŒŒ‹‹‘’ŽŽ•“Ž“‘•žµ²²x}mp‰¬»«ˆqbXRMKHJMS[Z\^hlv”€››•~˜„~yqid^\\_]]]^_^]]]]^^]^`___``_`abaabccdhw„½›‚p\YXY[[[\]]][Z[[\[]Z[[\[[[[[\_dy‹“{„Œ¨p`k}†zhfhd`_cjs‹’šŸ¥°»ÉÒÛåååãâãäää忨ÊÀ¶¶»¾»º°µÃ¶­§¦´¸¶³¾ÔâàãáãäæèçççæäâÒ³©¨¨«¬¬¬«««¶¶µ°«Ÿ“}k\PG@;77677778;778899<?CHUbt‹‰”Šˆ‡„ŠŒ¤Ì¾Ø¾¿Â¶½×­’”—›«£žœ™›™š˜™™˜———š—••—•˜—™™™–›———™••––•˜––”””•”—”““•’’“““‘‘“’“–––’•’””•’‘–’”““Ž“ЉtK.%!"&16677778686788889788899888988999;9;:::;;<;><<<;<><<=>???A@?>@?????@???AAAAAAB@@???@A@AABB@D??@CBCA@@AAA@?BABCCCCBBBAEEDDEDDBBCCDDCBEEEFFFEFFGGFFEEEFGFEEFEHGGGFGGGHFEDDDFEFFHF|zzyz||z{{}||}}}}}€€€~€€‚‚ƒ†………„„„ƒ„ƒ……††…‚††‡‡ˆ‡‡‡†„‡‡ˆˆˆ‡‡‡ˆˆ‰ŒŠ‹Œ‹ŠŒŒŒŒŽŽŽ‘•ª·­vjcq‹¬¹°™‚l`YSQLIJLRZ__`bp”‚{€}€šqu‚xxl``_^_``_^^]]^_`^^_``aaaadbcbbbccdedjs¸¢~e_\\]\\\\[[[\\]\^Z[[][\[[[\]]jtux}€ylqsvvs}~€vgd^ehnt~‰‘—¢¯¸ÂÒáäççèèçèéééèåãáâãÙÔËÆÆ»¯ ¡¨°­¢–¥²ÀÞåèèèçæææãØÊ½¯¦ £¦¦¥¤£ ¢¥¥¥¥®­¬¤›Š{m`ULE?<:9778797689<?CHS`q†–’‡†Œ–¢ºÄÅǽÐ׺¨ž™•“˜¨¸°£Ÿ››š™—˜–˜—˜——––•••—–––˜•—˜˜—˜”–—••–˜–“••”’—””“”’’’’’‘‘’’“‘””•‘‘‘’’““’‘‘‘“‘“‘Œ~X4(!"%,67778777889777777889677777677899:;:::::;:;<<=;<<<==>>>@?@???>>>???????>??@@?>@A????@@@@@@???@AA@?@@A?@@@AAAAABBBBAACCCCEDCCCCCCDEDFDDDEEEEEEFFFFEEEGHFEFEGHGGFFFFFEEDDCCDEEFE~|zz||}}~}~|}~~~‚~€€€€…‚ƒ‚„‡‡‡„ƒƒ…„††……„……„‡‡‡ˆ‰†††‡…ŠˆŠ‡ˆ‡†ˆ‰ˆŠŠ‰‰Š‹Ž‹‹ŒŽŽŽŽŽ‹ŒŽŽŽ“’’•›§§ªqabr–°·½«’zi`XTOMKJKR[Z\^lw{€†{ˆ|€Œwit’¨„wg_^]]^_`^^^````__``_`bbabbccbcbadea\blŠª§µ‹md^]\]^][[\[\\\\ZZZ[Z\[ZZ\^]^^`cfjt†ŽŒ‡vsrvšŸœ|bY[\]`cks}‹”¨¬¾ËÙÞååäááåèèèæåäãäåäãåàÍ´©£³¨ž’”ÇßçéèèçæåäÙÌÁµ¬¤ £¤¨£Ÿœ˜™š›Ÿ§¼¾¿¸°¥™„pbTJB<76668688;<=BGPZj~…”Ž”‹‰†•¨²¿²¨ÏÖ¾¾¿½¶´¡°ÐÀº­¡œ˜˜˜–œ™œ——–šš›œš—™—˜——™Ÿ—˜—š–”•–—š–˜–˜˜—–™“•”””š•”’˜’““””•“’‘–“–•–“–”“’“”–‘’ŽŽƒk>+"!$)18998778887666677999778978777889;;:=:;<<;<<=<:;<<?==>=>>?A@A>@>??>???@?@?????@??????@@@@@@?BAA@@?BAA?@ABAAADCCBBBCBCBCCECDCBBCCDDDDDCDEEEEEEEHGFFGEHFEFHGFFHGFFHFEEEDDDGFFEGE{}{{|{||||}|}€}}~~€€€€€ƒ„‡ƒ„ƒƒƒ†‚…††‡…………††ˆŠ‡…†††…‡‡Š†‡ˆ‰‰‰ˆ‰Š‰ˆŠ‹Œ‹ŒŽ‹ŒŒŒŽŽŽŽŽŽŽ”™¦Ÿ o_aq¢º¸½É¨Šxjb[VQNKJIPY\^cfox†~ƒ|€œwav—€vie^]^^__`___^__`a`_`cbbcddbbbcdeb[]cj€–£¹’wlb_^^^^]\[\]]]]][\[\[Z[[\\]]^^abs•Œ|wxz~€•¨Š\Sbeb\[Y\ajt€Œš§¶ÊÒáÙÑßáææåãȰ¹ÅÎÖàãäáÌÆ¯  ¡›”ŒŠ©ÛãèéèçæåãÚËÁ¶®§¤žŸ £££¢ ›˜•“’‘‘—œ¦««ª®´¶¸˜}k]SJC<;:9899:=?BJRat‘›‘Œ†€„„‡œÑų®«ÉØÀž—Ÿ´ÓÏÔ½©¢œš˜˜—˜—˜–—˜˜———˜—˜˜˜™š———––—––•–•—–˜––––“”••“““”’“’““”“•“’’’–““‘”•“‘“Ž’’’‡vK2#""'-3588888886667998967778887777789<:::::9;;::;<;:;;====>>>@>>?>?>>@???@@??=>=??@?????@@@A@??@@@A@@?BAA?@BABABCCBBBBBBCCCCCBBBCCCBDDDDDDDFEFEFDDEFFFFFFFFFFFFFFGFEEEEGEEEEEFEDEF{||}}{~||||||}}~~~€ƒ„‚†ƒˆ‡ˆ„ˆƒ„„††…†‰†††‡‡Šˆ‹ˆ†…††‰…‡‡ŠŠ‰ˆŒ‰Œ‰’ŒŽŒ‹ŠŒŒ‹ŒŒŒ‘Ž‘‘‘’˜¦••h_`q¦ÜÃÂà‡yme]WTOLKJOWY_]ds‹•z€›w_s˜‡€”›—{h^^_a_^__```bbba```aacccdccccde`Z[^bgx‡¹™†xe_\]]]\\][[\\[Z[Z\[[]\\\\[\[]^o‚”ˆ~}•А†–„r`comd[WUSTUZajtƒ¢¶ÄØÓáäççåᱤ’ÂÀØ»ÍÓÑÑÄǤ¦—–‰¢ÀåéééèçåãÙÏø°¨¤¦¡£¢«©¨§¦›—“‘’•—›œœ™—›Ÿ¡¢¥¥¢ž–n_SKD>:9888;=CKXdr‚‡‘‘”Їˆ„†ˆ¡°°±¦ÙÓÆÀ·¨±ÉËÝп²¡š˜˜˜˜—˜™•›™›™›™šš›œœšš™—˜——————––––””•—–˜•••”“““–”•”“”•”–”““””•’“““’•‘“‰€\9(#!%+45778778878678889666779777777779999999::::::;::;<=>>@@?==>@>@>>?@@??>>>>????AA@?A@A?@@??@??@CABABAAA@@@@ABCCCBBCBBDCCCEBCCECEDDDDDFDEFFFFEDDEFHGIEGGGFEEFFGGEEEEFEEEFEEEFDEF{z|||}|||}|||~}}~€~}€€€‚‚‚ƒ‚‚‚ƒ‡„…………††……†ƒ…††‡‡‡†‡‡‡‰…††ŠˆˆˆŒˆ‰‰ŠŠ‹‹‹‹‹‹‹‹ŒŒŽŒŒŒ‹ŒŠŒŒŽŽ‘’˜”t`_^p¨×ÃÇÚͶžŒ~qg^XSOMKHMSZ`bev”‚vw`t™‡u—Žr^ccb`_^`ca`baaaaabdcecddgdecfc`ZZ]beis{‘²®¥Žwk^^]]\\[[[[[\\[[\\\\\\[[[\]]elqxy{~„zz{‰rwx„s^ZYXTROQU_gt€‘ ²ÄÑãæççÜÆ­µÆÒÙÌÇÍÀ½¾Â¨¤™™ ¯Â×èëêéèçãÕÈ¿·±«¦¡¡¡Ÿš˜˜˜˜™“’’“”’Œ‹ŠŠŒŠ£Œ”ˆ{maWMF@=;<9=BLVev—Š…~…Š•¡ÃÓÆÆ¼²¦š¨³ÏäÞϼ«£›™œ™™—˜–˜———›–š˜š˜˜—™™˜—––—˜˜—————––•––•–••––”””””””””””•”“’’““’““’’’‘‘…lA*$!#(05667778767788787665677667666678899999:<:;;:::::<<===<<<>?>>>>>????@>>?@?>??A@@?@?A@?????>?@A@B@AAABA?@AADBBBDCCCCCCCCCBBCCBCCCCCCCDDFEEEDDDEGFHGEFEEFFFFFFFEFEEEDEEEFEEEEEF|{||}||~€|}}}}}~€~€‚ƒ„‚ƒƒ…„‡‡ˆ‡‡ˆ‰…†††„…††‡ˆ††‡‰ˆŠŠŠ‰‰‡ˆŠˆ‰ŠŒ‹‹‹ŒŠ‰‹ŽŽŽŒŽŒŒ‘‹ŒŒŒŽ‘ŽŽ‘•—wfa^^pœÒÆËÕã˳¡€qg^XRPLJHMPV]]ey|}Žvauš†uˆƒ“}adda```aaaaaa`acabbcdcccdddcdb`Y\^bdghls‰¥¡É­Šn]\]]\[]]\]Z[[[[\^]\\\[Z\\\[[]dhxzuuy}ƒˆƒ¨“‹bZ`_YTPLNOV]ht‚‘¤¸ÍäæçæâÇÏÍæåäØáÎÀ¾¾²¢—ÁàæèéêééæäØÆ½´¯¬¨§¡¤Ÿž› ˜”’’“–•“’’Žˆˆ€€‚…‰Œ“¤¤¤Ÿ˜„ti^PC;57;CKYfq…’‹‘Ї†„††˜Á½»½À¾À«§«¬ÄÜßâÓÅ·¤žœ››™™™›œœœœ˜™™š™™—™——ž–™˜™˜Ÿ˜˜—•••–™••–˜˜——š–••———••”–”’“—”•“™“—“’‘“‘‰vJ.%#"&-676777777779777667566966665568899;99:::::99:;<<<<>=<<<=???>>=>>>@@@??A@???@A@??@@A@??A?@?DBBABAAA@ADAAAABABBCFCDCCCDDDBBCCCCDFDECCCDEEDCDFDEFFEEFGDEFGGHFFEEEEEEEEEGFFEEEFE{||{||||~€}}}}€~~~€‚~‚ƒƒ€‚‚‚ƒ…‰††‡„ƒƒ„†††‡‰‰ˆ†…†‡†‡ˆˆˆ‡ˆ†‰‹‹ˆ‰ŠŠŠ‹Š‹‰ŠŠ‹Š‹Œ‹‹‹‹‹ŒŒŽŒŒ‘•tnda`mŒªÇÅÆÒáϸ¥’ƒti_YUPMKIKPW`dgffu›sbw›†v‘…ˆ”jyƒugfdegecabbaaaabdddfeedddgc`\]`ffhghkp‚”±Ó°‚l_^]]\\_\]\^\\\\^_]^^]]\\]\]^blz„ŒŠˆˆ|}{{ufozph_WSMLKQVakyˆš«ÂØÝå䯯È×áØÓ×ݽ²´Ã¥˜¹âèêëëêéèåØÈ½µ°¨©¦§œš™šš™”’‘Ž‘‘”‘“’‘ˆƒ€xwxz|zyzzƒˆ—£¦´³±—„a@4047>CNWds~Œ™Š„}}‹—¨ÎÎȾ²­¤¢¡µ×åêêßÀ®§¢Ÿ››š—˜™™˜˜›š˜™˜˜———™–™™™•™˜˜––—–—˜–•––•–—™–––—“—”–“”””’’’““““–“““‘ŒV3(#"$+5666787777876666766656655766679978899:;:99;::;<<<=>=<<===?>>=>??@@??AA@@@@?A@@@@>???@@???@AA@BBBBA@A@AABCDCCFECCBBCCDDACCCCCDCCCCCDCBDDCCDDEFFFEEEDDEEDDDFFFEFFFFFFFEFEEEED€}€||}€~~ƒ~~€€€€€ƒ‚‡€…ƒ‚‚ƒƒƒ…†††‚ƒ†……ˆ‡††††ŠŠ‰‡‰ˆ‡‡ˆˆ‹‹‹‰‰‰‰ŠŠŒ‰Œ‹‹‹ŠŽŒŒŽ‹ŒŒ‰‡‰‹‘“€|pegm~’ÃÃÁÄÚãÏÀ©•„sh`ZUQOLJLOU^^aarwrbxœ†w‘‚€˜‰…—‘skhmoiabcdeecbccddddeedfgc`\]bdggfihilz‰¬É „ufb_^[^]]]]\]]][_]\[\[][\[\^aqw˜›˜˜˜…xqorlrqw†‘—yaV[SNMJNR\dq£¹ÏÙáɲÀ¿¿»Áͺª¦¥¤¨ÀßçëëêêéçåÜξ´°®­­¥¥œ–—š˜—“‘”‘”“š‘‘ŽŒŠ…€}wywvutsuuw}‚Œ”£®¸ÐÂdž€<0/148;?FMYeq€…“‰‡‡ƒ‹Ž£¹¼¾½Á«³ž—³ÅÐáãäÕɽ¦Ÿœœ™˜ ™™™™šœ˜™š™˜š™›˜˜™›—š˜—˜—–——›–•——–—™šš˜——˜”—–••™”•”““’’–“˜“”’ƒi;+#"#(06667877777866666666676767666689888::<:9999:::::;===<<<=>B??>>>?????@@??@@@@@A@@???@??@@@@@ABBBBBCBAAAADCBBCDEDECDCCCDDDCDCCCDCBCEDCCCDEEEEHFGFHFFDDEDEFEFFFFGGFFHFEFFEEFIF||}{{{}~~~~ƒ€€€€‚‚€€„ƒƒƒ„„„„†„„‚ƒ†……ˆ…†…†††‡†‡†‡‡‡ˆ‰‰‰Š‰‰ˆ‰Š‰ˆ‰ˆŽ‹Š‹‹‹‹ŠŒŽ‹Š‰‰‡‡ˆ‰…‚‚„†„†ŠŠƒ~~|“¾¿šªÅÎÖÎÄ­—ƒsi`[WSRMJKMT`baejecx†x‚›‹w‹¤ƒyp{naeeeeeebbcdefeeedefdb[\adhiiihhknw–´ž˜}mga^^^]]^^^]]\_]\[\\][\\\]_gmrwz}{x‚†ŠŽ‚˜„|bW`^[WPKNQX`kv‰›°ÈÍÓÂÂÃÀ·›Ÿ¢¨”œ¾ßçëíëééèåÛÑÁ³­©«­§¥¡–—š–˜”•‘Ž‘‘Œ‹ˆ…„|zwxwtsrmoqvz…™¤²¼»º¡W4/.2456:<?DOXet€‘”—‰„~~Š•¦ÅµŸššœŸ¼¯Ææðîëáï§¡žššš™šš™š˜˜–––˜˜˜˜™™˜–›˜™š˜———˜–––————————––—’—˜–•””•—”’’’•”•““’†vG1$""&,26677777778575676766767665766688888898889:99:::9==<><<=?>=>@>>??????????@AA@A@@???@??@@AAABCCBBBBBBAAAAABCCBDCDBCDCCCCCBCECCBBACCCDGCDEEEEEEFFFDFDDDEEEEEEFGFFFFGFFGFDFGFF‚~}~~~~~ƒ~€‚‚ƒ‚„„ƒ…ƒ…ˆƒ„„‡…„„‡…Š„„…‡‡ˆ…ˆ†‰††‡††ŠˆŒˆ‹Š‹‰Š‰ˆ‰‰ŠˆŠ‰ŽŒŠ‹‹ŠŒŠ‡‡‡‡…‚€{tpmjjw„„ŽŽ‘›«œ—¬¼”©½ÂãÕǬ“‚sjb]WTPMKLLTZ\_cdeyŽ…y€ƒœ†›’‡‡}vededcccbccdfecedddee_Z^aeggghhijjjmtŽª—•ˆvmca^^]]\^]\[\]][[[[[\[[\\^]^cht†˜šž•‘Œ‡ƒ‚|jgie`[WQOONU[eq’§½ÄÎÖáÔ¹¥œ¤¦•»ßçêëëêèæäÙÌÁ·°¨¤ Ÿžž™–—œ˜˜—•‘ސŒŒ“ˆ†‡ƒƒzyyyusrqonty‹–£®¿·µ›~V70/13457889=AGO]jw„ˆ“‘“‹†…„‰ž±›»­Á¿À·±ÊâåçæäÕͼ¦ šœœœ™œžŸš˜™˜™›™™™œ™š™™—™˜—•–—˜˜›–˜˜˜–––——˜˜—–––••——•”™•—•˜’•ŠƒZ8&""$)259898:8778876666666788687777778:898::988889;:98=<;::<=====>>>>?@?@@@??>?ACCCBA???@@BBA@BBDDDBDBBBDBBAAABCCCDDDCFEEBEDDBBCCCBBBDCCEDCDFEEEEEGFEFEEEDFFFFFDGFGFFFIFEFGHHFEE~}~|~~~}~~€~~€‚€‚ƒ‚ƒ„ƒ‚ƒƒ„…„…„‡…„ƒ……„„ƒƒ†††††………‡‡‡‡‡‡ˆ‡ˆ‰Šˆˆ‡ˆŠ‰Š‰ˆ‰ˆ‹ŽŠŠ‡……ƒƒ…„ƒ€}vpkgedbaabek‚z‡±²±®¬š£½–‘ŸŸ ÁãËé“„ume^YURPNMMRY^ffdp’~yƒ~ƒ›Ž‚Š„ˆ’„zŽot~laccdheeddehhheeg^[_aeeehghkiiiknt‡˜«¶¢…xkd`^^^_^\\\]_\[[[\[[\\\\\^`fnzŒ†„ƒ‚urƒ…‡…………‚}vri]XROMRV`ky‡š­½ÕÝâоËà˽ÂÞçêêêêéçãØÊʺ·°«¤¡šš—–•–——˜˜‘‘’”•’Ž‹Š‹Œ†„ƒƒzyyyutttsvz‰•¢ª³°®•zV60.1456678889:;BHS_l}ƒ’𑉅– ©ÃÅÂĵµÇÌÕèïìèàžœœ—™˜˜˜™š™™™››šš™™˜™—˜–™™—•–—˜•———————–—•———–––––––••˜”•”““•ŠgA)#!#&0556667877776665686777777677788888889;998888;;98;;;;;<<==?====>@?>>=>>???@A?@????@@@BC@@BAABCCBABBDABAACBBBCCBBBBCDCBBCBBACCCDDCCCCCDDDEEEEFFEEEDBCCDEEEEDEEGEFFHEFHGFGDEF~}~…„‚‚€‚€‚ƒ„…ƒ‚ƒŠƒ‡„…„‰…‡„ƒƒ…„ƒ„‰…‡……††……†Š‰‰ˆ‰‡‹‡ˆ‰Œˆ‡‡ˆˆ‡‰ŒŒŽ‡Šˆ‡†ƒ„…€|tnifdaaa`^]]^``bjƒ{¤ÃÂıŒ˜¼šŸ£¤´ÇÏÊÁª•…xne`[XUSPONRV[dbiotz—~ƒžŒ…œ}˜Š• ‰‰Žˆrbcddeeeddfiefffh_[_befghhhiiihjkoxšÅÖä¹–„oha_]^_]]^]^\\\]\\[\\\[\]_bgoqrrpkcq‘œŒ–†Š†‡‡’ށfXUVROQQYbp}Ž¡´ÊÖåäãããääçêêêêéèçäÙÓËž¹²¬§š—””‘”•–™”–••–—ŒŠ‰ˆˆ†„ƒ‚‚‚}zywvuxz~‚‰•¡«³±¯”vS7/-0357677988978;>AKTany‡Š—”“‹……‚„‡œÅÀ¿¸°³ÐȽÎÜãæåå×ѽ¦Ÿœ››š™™™™˜œ›››šššš™š˜˜˜——œ—˜––—››œ™š——˜š—™—™–›˜™––——•™––––’vJ.%!"%-4765567977655676666779876779888998888889888::99<;<;><<==<====<=>>>==>??>?A@C@@@>@@AB@@ABABBCBAABBCBBBBBBBBBFBCBBBFCDBCBDCCCECCCCCDCGDDDEFGFFEGEDDDCGEFEFDDEGEFFHHGHIGHFEE~}€€~ƒ‚€€€€€€ƒ„„ƒƒƒƒ„„„„„ƒ„ƒ„ƒƒƒ„„…„ˆ††…………‡‰ˆ‰‡‡†‹†‡‡‹‡†ŠŠŠ‡‡…‚€~{yrmieddb`_]][[Z[[]]__birbn”°ÈŵŒ¢žš°®¯°±½ÑÌ«˜Š{qhb^\XUSPMNS[afhpts|¢‹…‰|žw‘¡†€‹—uceedffhdefigfgjga^`cihhhhijjiijlp~¢ÔëîêÏ·›xmc``_]]^]^\\\\\][[]^]`_`__bedddcfx„¥’|zŠz‡Š–¢€lVW\]VPONV^it‚‘¤¹ÇÙßãâçêêêêééèçæåßÝ×ÒÌÇÀ¸±¥ œ›š˜–••”“‘Ž’–“‹ˆŠ………„‚‚~~{{{zzyw|„Š•¡¬¶²­“wU61-/24577778:999999<=CJVamz†“”š‡‚}}‚•ž¢¢¥±Ñýº¹ÀÔêñîìäÁ¬£žœšš››š™™œ››˜ššššš™™š™˜˜˜š˜˜™™˜˜•–—˜—˜›š———™•˜—–•••—”–—––•““‚X5(!!#*35666667666556766666688787578899;8987888778:9:8889:;;;==;=<<<<<=<===>?A>>@@@@@AA@@AB?@AAAABBBBBBDCBBCBBBBCAAACBBACCBBBACCCBCBBBCCCCCDCCFGFFFEEEDCCCEDFEECEFEEFFGGGGGGFFEE…€€€€€ƒ€‚€€€ƒ†ƒ„ƒ…ƒ„„ƒƒ†ƒ„„†„†……„ˆ‡‡‡†……‡‰‡ŠŠŠ„…ˆŠŠˆ‡‡‹…‡†Š…ƒ„„„„‚|zqkgcaababb`_^]]^[YZZ[]^``bi€^Wu›´È±Ž’¥¡«½ÄÉ®´ÄÜÓÁ¯œŒsieb_[YTPMOSYbafntx¡‹‚•}ƒ “ƒ…¡vcedceeeddegggiif`]adgjjjiijjijkls…´çñöøù÷鬁sgd`_]]]]]]\\\\\\^^]]]]\\\\\\[]et’–‘}~†Š“Œ§—‹lZ^`_ZTSQOSW^fuƒ”§µÊÏÔßççççèçççæåäãâââÝØÍüµ°«©ª£žš—”‘‘‘ŽŽ‡Š†‡‡ˆƒ„~}{zz{{|~…Œ—¥®º´²•zU91.0145799:889:;:::;<;9>BMTbr|Š‹•ŒŽ‰††…Š’™¬Ô¿Â¼¶¾¾ÊÔßââáÒÁ³¢››œœ™œ›ššœ›œš›™˜˜œš™šš——š™™—˜˜˜™šš—™˜›š›™—––•—–—˜™••••‡i>,#!"(/567686768886777656668767877899888887788878:::9;889;;;;<;>==<<=>>==?>??>>@?A@@@@AAABBB@AAFCDCBCADCDCCCDDBCACCEBBBCCDDDCCCCCCCBBCCCCDDCDFEFEEEFEECBCFFFFEDFEDDEGFEGGGGFEEE‚‚€€€‚‚…„‚„„„ƒ„„ƒƒ…‚„……ƒ……†„……†ˆ†…†ˆˆˆˆ‡‡…†ˆ‰Š‰ˆ‡ˆ‡…†„ƒ„}|{slhc`^\YXVY[]_`_^\[[ZZ[[[\]^^^`i|ZTXu ¯±š“•¥§©ÀåÔ¢§¯ÂáÙʲž€wokgda[VRNNPW`ehggw…}„Ž£’z•ƒ™¢xeihgefffggfghijd`]ddfgijjiiijjkov’Ìëóöûÿþøè»”€mfa__^^\\\\\]]]]^]]]^]]\]\[[\bgv}}{††‰ˆ‰‡†‹quvw{gZZYTONOW_itƒ­¸ÎÓáâäåæææææååääããßÞÙÔÌÆÀ»¸¶¯¨¢™–’““‘Ž‹ˆˆ†‡‡ˆ‚€~}}||}~€Œ—¤®·³±—yZ>:89::::9889:;<?@BCB@?=;9<?ELXcp‡Ž—ˆƒ~…~Ž®­¯ÆÅ¼½·®¬²ÅßëçÜÒºª£Ÿšš˜™™ššœ™œ™™˜—–™˜™—››™–›™™–—˜˜—šœ›˜˜—›–›™˜––•——˜˜—–••“ŒxK3$""&+15555555666555555666877777779:9889887876778998:899:9::;;;;=;<<==>=@>?>>>>???@@@AA@@@B@AABBDECCCDCCCBCBBAAABCCBBCDCCCCCCEEEDDBADCCBDEEEDDFEFDEEDCCCDEEEEEEDDGFFFEGHGFGGED…„„€‚‚‚„‰„†ƒƒ„„‚†„ƒƒƒƒƒ„…„………„„…ˆ…†…†††‡‡‡‡ˆˆ‡‡ˆˆˆ‰‰‰‰ˆ‡‡€~~{tmhc`^]]]\ZWUSVSYZ]a^][[ZZZ[\^\\\]]_hz[JMY{¡§œƒ‘–¡Ä×Þ¤›£­ÎâÚ̶¢’…}wrnic^YTOOOV_`bcoy~}‘‡‹›–ƒ’Ž€|““~jkkgfedeeeghiikd_]eegghhjjjjjjkq|ŸÙìõøûþÿÿúï̧Œrjb`_^\]^]\]\]\\\]_]\]\\]\\\\^`hkptw|ƒƒ†‡ˆˆ˜™™}o^ZYZTPNKQU]ep{‡“£³ÁÒÙäåæææåääääääãããââââàÝÔÉÁ¸¯¦ œš•‘ŒŠ‹ˆ†‡‰…}~„•§°¸µ­—~\C?@EFGFDA><;<>@BEJPSUPJE@<9:;@DNWcox…ˆ’‘’‰†„‚Š’¡ÉÁºº¸µ´¬ª¶ÁÎßßÞÍ÷¥Ÿœ›œ› œœ™™¡›œšŸ›œœœ›ž™™™›™˜˜œœ›œœš™™š›š˜™™š—œ™—–œ—™†^:&""$(/354455555666545567687667788898898:8887788:898;9:9:9::<:::=:;<<=>>@?@@@>=>>?@@@@@@@@BAAABBEEECCCBCBBCBBAA@BBBBBCDDFDCBCDDDDDBADCCCEBBDDEGFFDHHHDDDDEFEEEDDEEFFGGHGFFHGED‚ƒƒ‚„ƒƒƒƒƒ…‰ƒ…ƒ„„„‚„ƒƒƒƒ††…„†…„„„……††‡………‡‹ˆˆ‰‰ˆ†ˆ‰†„„„ƒ‚|zwnhd`^]\[[YZYZXWRTWWX[\\\\Z[\\ZZZZZ[YXW[az`KCQ_}«¡Œ“˜™´Óä­§«³¹ÇäÖλ§šˆ|tmh`ZUPOOT]aejmoo–š©‘|’Š~–‹~s‚Œzliheefghiije_^dfjjnjjiijkjlsƒ°çðöùûþþÿÿüôÚÁ }peb__`_`^^^^]^]_^]]]\[\`]`^`^`bdgiy‡–’‘…‡ƒ|uilnh\XSOJLNUZdks~œ¬¾ÊØÞåæáÝØÝäååäääåååääããáÝÔÊÁ¸°ª£œ–‘Ž‹‰†„€{}~ƒ…’¢²º¸±¤dFEGPXYZVSMGDACEHJOUZ`[WONGB>:::<>FMXbo}…‘’—އƒ}~‚•¨»»¹°¤¡¢´³´»ËãçÞÁ°¨¡ž››š™š™›››š›››™š˜˜™™˜™›š™™™ššœœ››šššš™—™œš˜œ›˜–™—–’‹oB)$!#&-444455555555744566667667789998888788877888888889:99:::9::::;<=====>======>>>>AA@@??AAAABBCBDDCCCCBBBBBCBAABBBBBDCDECCCDEDDDBBEDCCCBBDDEEEFDDDEEDDEEEDEDDDDDFFFFGFFEFFEF‚ƒƒ‚…‚‚„†„‡…‰……„…†ˆ‡‡‡†…„…ˆ…„†‡††…‡‡‡†‡†‰†‡Š‰……‡‰…ƒ…‡„}xslgca_^]\[[ZZZZ[[^YWVWXY[^^_\\\\\_YZZZZ]XVUW_{fLBKdpˆ¥Œ‡Ÿ±¦ªÀ࿺Ðݼ­ÆÛÜÙÁ±¥š“Œ„yrha[UQPOUZ^dehj€™ª¥~“Š~˜‰|}£›“vjffgjhiijjg`^dhiijjihjkkjmv‘Æìòøúüþÿÿÿÿýû÷鲇wie``_a__^_`^]^^]]]\\\]\\\\\\]\^ar…¤ž”‡~|{{}€ƒŠw[YXYQKLINSW]go}‡™ª»ÔÙäãÝ×Ñ×ãäåäääååååååäääãâÜÒɾ·°§Ÿ˜’Œ„‚€}|}~…Œ’™£´ÆÁ¾«™qYST\djnomibZQMKKOTZbhgc^WTOIC>:98:;AFOXes|‰‹”’”‹ˆ‡„Š‘¶Öî§¢¡Ç¹É¸¯ÂÝÝÝÕϼ¥ ¡œŸœ›ŸŸžœ›œ›žš™™™šœš œœš›››š›››š›™™ž˜•”{J-%!"%+3355555755544555566666667889888:8978777888888887:99::9::::::;==>===>>>>=====>ABAA@>@@@ACCDDDBABCBBCDBBBDCEBAABCDDCCCCEDFDDDBBFEECCCCCDDFEGCDDDEHDEDGDEDDDEDHFGFGFFEFFFE‚ƒƒ‚ƒ‚ƒ„„„„ƒ……†„…………‡ƒˆˆ„„…‡„†‡‡†ƒ……‡†‡†ˆ…†Š†ƒ„…ƒ‚{wqlgda^\\\\Z\[[ZZ[[\[[[ZZYZ[[\^^]]]`]\[XWWWWUTTRV]jiLEMˆ{q{’š·º½¬¡½ÂÊèåÇ­¶¿ÔÜÛ˼±¨ ˜‚wld[WTRPSX_hhgwŽŽœ‰•‰€™‹…–…„vjlmkhhiikea`cgijkjiikllmo|žØîôùûýÿÿÿÿÿÿÿÿùê¿™†qhb`a`_`a`^_`_^^a]]]]^_]]]\\\]^jz†™‡‡Š‹‘†€p^bda\TMJGJLRX_fq|‰–ª¼ÎäßÛÐÀÉÜÛÙÛàâååæççççæååäÞÝÖÎǺ²©œ•މƒ‚ƒŽ˜£¯¸ÅÂÁ­¡gdbgkjxpywuuuf\WT]gr}}yokd[PIC?<98::>AHO[htˆ’˜ˆƒ}†³ÊÙ¬ª¤Ÿ£¬³·²¢²¼Ôäãâ¹¥¡žœ›››œ ›œœœ œ™™™šššš››œšœœžš›œ›™š™™™œšš˜˜˜˜˜’…Y3(!!#)12655554345534555566666667777789776777877899889999999999999:;==>===>>><><==>>?@???>@?@AA@ABBAAACBBCCBBBBABABDCCCGDCDCCCFDCCCCCBCCCCDEDBDEDCCCCCEDEDDDDDDDDDFFFFFEEEFGFD†‚ƒ‚…ƒ„ƒƒ…ˆ……†††††Š†ˆ†‹†„………„†ˆ‡†…‰…†‡Š‰‰„ƒ„†ƒ{xojgdb`_^^\[\\\\__]\\\\\\[[\^^^]^\_^d]^__ZZXUVWTSTTSU\pcKJPx­uj|Ÿ¯Ûȳ˜´ÇÐàåÕ››¥Àâèæ×ÍÄ»°¢•‡zne^ZUTRUW_eckyz{˜†‚š‡Ž“†…Š{onmjhhhhkcaadlloljjklmmnq‚°éòöùûýþÿÿÿÿÿÿÿÿûñѱ”vlcbaaaa`````__`^^_^^^`^]]]]^^biqyƒžŸŒ‹„€~ztttrla[SQMHFGLQX_hp}Œž¯ÅßØÔ¼­¾ÈÐÎØÜÝÜàåæçææåäääãââáßÚÓÊ¿³«£™‘ŽŒ‘™¦µ¼Îºº “}j_ZZ]_efgijnsq~orkk|’ž§š‰ƒsnYOIE@;:989:<CIS^k|Œ“‘‰‡±­©¦¡”±¡¶Ú¾ª¶ÀËÙÒ̪¤ ŸŸŸŸž›œœœœ› œ›œœ›ž›Ÿš™šœœžž š›š™™Ÿšššš˜›™–Šm:,"!"&,245554444463444466676667786788899777667788777889::::;889:9=<==>===@>>=====?>@?>>??B@@@@@AAABDBCCBBCBBBABCCBCCBCCEDEDDCECCCECCCDCCDDDDDDEECDCDDDDGEFDDDDDFDDEGEFECEHFEE‚‚‚‚†ƒ„†††††„‡††„„„†……„…†‡‰„†ˆˆ‡…†…‡‡„€€€€upjda_]\\\\\]]]`]]]]^_]]]]]]]^^_]\^]][\]^_YVSQPNQSTRTUUUW\f^IJQl‹|c_x¨»Ò¯˜«ÙÏÑâÝ¡—§­»Îéèâà×μ«œ‰{nga\YWTUX]eimmoy}…Šˆ…šƒƒ˜‘…ƒxŒ{llnjiebagjknmmmlmmlptŒÆêô÷ùûýþþÿÿÿÿÿÿÿÿüöâÖ¨sfdba`aa`____`^__`_^^^^__^]_abfiu~Œ£‘€…ƒ„…‡ŒŠŒi_YYYXPJGEILSYajw„”¥ºÎËû¹ÍÖØÚÜÝÝ×ÝáåææäãäååäääããáÝØÐÉ¿µ«£ ž¤°­º©š‰wmdbZZUXVUVUUWX[_fonxz–§§¨›—vj`YTOHC><999:;?CKTany„‰“—˜Š††ˆ‹ˆ…Œ¶²µÙجµ´¢ Ÿœœž Ÿ››žœ››››šœœœ™›šš›œœ›››œž›œšššš™š™š›š˜˜™–ŽzF2#""%)0234534444443844556866777888888977786566777777889::;9899:9;<<<<<<<=>>==?====>>?=??B>?@@@@CBBBAAABAAABCCBBBBBCCBBCDECEDDDCBCDCCCCDEEDDFEGEBBBDEEDEDDDCBDEDDDCEEEDDDDEDD‚„…„†††„…††‡Š„‡‡‹‹Œ†ˆˆ‰‡††††…†Šˆ‡†‰ƒƒ|xslfb_]\\\`\\[\]^^^`__`^^^]]^]^\__^]\\^^^]\[ZWSOLHEGIUVVWWZZ\^waIGOi•o[X[zš¡§›§ÓÆÈÝÜ©žÄ¯ ¸äíîîëâÚųž‹|qjd`\ZWWV\ddffpwŽ…„š…œ­–¤ ‰¤›‘vnknkhbahilmnnllnnnrz˜Õëõøûýþþÿÿÿÿÿÿÿÿÿÿþü÷渍zlgb``a`_____^___`^^^^^^^]_`___eo€‹‘‡‰Ž“–˜—–’ta[Z][[SMIEHJOT]fq|‹œ°ÆÆÒÕãäääääåßÜßâÛÒ×ääääããããããââáââÛÓ¾ÀžªŸ”‰€wha]]abc_[UPNLMLOQRU\`gzƒ£¸¨©“€ogfgc\QJD@<:9888<=DKWcmyšŒ‰ƒ„ˆš­¬Ï¿µ³²ª¥°À®‘œž¢œ¢¡ ›£œžžžžž¢œœœœ›Ÿœ››œžœœœžœ š›œ›šš™†[8%"!"'/233555443443445745666866798788887777677779787::999999::99;;<<<;><>=><<=====>>?=@?C>??@@?@AAAABAAAABDBAAAABCCCBCECDCEDDDFBBCCCDEEEFCDDDEEBBCDEFCEEECCDEEDDGDFEGDDDEDDD„‡…„„ƒ…††ˆ†……ƒ‡††‡ˆ………†ˆ††††……†‡ƒƒ€}zwlfc`][[[[Z\[\Z\\]]^^^`^^^]_^][\]]\_`]]\[ZYXUSRNKIDGFIKNUVXXXYY[_saGDKgnhbVVYt™›•ªÍíÊܲ¥ÎÇ›š¾ÜîðîéÝßË´ Œsnjhe`[XVZafjmn|–~ˆ„šŒˆ‘Ÿ††œ’ˆ€vkllgbbgimmnlllmnot€§æï÷úüþþÿÿÿÿÿÿÿÿþÿÿÿÿÿùëÄžˆpibac`__`_____^___^^`_^^__^^^adqy~ˆƒŠ‹†|wroljdddgidaYSLGIIMRYakw…“¦¹ÈãääØÊÐ×ßåßàâÑÌÉääãØØÙÝâããããâàÛÝÿ¤•‡{smhd\UWX]edf`YTHFAEKMOPRUWbk{š¢•Š}igdiqeXQKGDB?<8999:>BLU`nw„‹’šŠ„~~…Š‘ »Õ±°³ÀËʝ‡ “˜œž žœœœžŸœžœžœœœœ››œœœ›œ šœœœœ›š™›“‹k@'#!"$-22233334344444444566677687778878879767767777789988999:999:;<;;<<<==<<<<====>>?<>=>>>??@@AB@@@ABAAABBBBBA@AACCADDBCCDCCCBABCBBDBEDCCDEEEECCDDEDCDEDDDDDDDDECCCEDDEECDDˆ†…„‹†‰†…„…………‡…††‰…„…†‡‡‰‹„„‚€~wpid`\\[[ZZZ[\\]]`_^_`]`_^\]^a^`__\\]]\^^]]\[ZVSPKGAACGJLNPRUWY[WWX[^qaEEId›€{kWW]z™œ®¹Ã¶Æà»¶ÕÆ›“¬çíïí騨æÎµ¡ƒyurnjd]ZV[_djipy€€—†‚’‘~{~…‰ ŽŠ‰zlmmecbfikkomllnoovЏìòøûüþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûóÕ²”vlcca____________^^_b___`^]___agjr|ƒ‰‹ƒn_a`beimt{}yf]SWPKJHKMT[en|‹›°ÄÜÕÍÁ¶ÐÙåÛßáÔËÓäæçÞÑÏÑ×ÝááàÝÔɰŽwokecaZQNLQZ^ffjbXOFB?CDGKNPRTX^lsz„~rkkmotgYTMMOGB=:9899;=DJT]iv}‰”Œ’ˆ†…„…—¸³²±ÂËÞÇ®«§™’•šœžžŸŸŸœ žŸžž  ŸŸ ¡¢ ›ž›¡¡ Ÿ œœ ››™–yI,$""$+/3355554334546666665676666688777877777767666777888899:9<9:;<<<<<<<=;<???=??>>?>>>>??>A@ABC@C@@@@AAAAAABCAAACBABDDECDCCCCCBBBBDCDDFDDEEFFDEEBCCDEDDCEDDDFEEDECDDEFFCDD…„„„…„†„…„…‡‡‡……††††††…„ƒ‚~{{{qlf`][ZYXV[ZZ[\\\Z]]]\]_]]][[\]_^^^^]]]]]Z[\YVUTOLLIGFIPQPPPRUVYZYYTUVY\nbC<Fb˜†•j^_c| ¦®¸´Íá°Åפ“¯çîîëåÐÊèåл§–†|vpia[WY^dkmpvw€‰Œ‡{~s~„‹ˆ†wlmlgdcfjmmonnmqpqz•Éíôùüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý÷áѧ€rfc`__a`______^^^_^^_a__```aabdfop€—‹nopx|€†‰Œsj_X^^VNKGIKRXaiu ²ÂÀ½ÃËÛãââáÛÕØæéëèÛÌÈÁÂÆÃÁ®žŽ€wplhgec_[VRMLKQUZbcm_[PGEDDADEJQPWXY^cmwz}{wttuseZTPRQHA>;97889:=@HOZeozŽŠƒ}}Ž•±±ÂÊÉʼǩœ—•““š£ žžœ››ž Ÿžœœœ  Ÿšœœœ œ Ÿžœœ›››œœœ’ƒV1&!"#(.2342434234455555566566656687768977886:6756687777778:98:9::;:;=<======<?>>?>=>>><=<>=>?@?@@A@@@@@AA@@AACCABCBAABCEBCCCCCCCCDCCBDEDDDEEGFDEEEDCDEECBCDDCFDDCDDDCDDDCDD„„††‡‡Š†ˆ………††„†‰ˆˆ‡†††‚€}ylida^[ZZYXXXY\Z^\]^``_]\]]_\\\\]]^_^^]]_]\]]Z[XUPLIFKKNOPQTWUTUYVVWXXXUUUW\m^@9A^˜‡ž‘of`_j‚™²ÈÆÕãɰ·ÈªŸ´éðíâÓ¿ÒèêäÑ¿®£›”އvkb]XZ[`gfkq|…‰Œž…wnt~”Žzvmnlgeehjmnnpolqpr¤Ùñöúýþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþü÷縌xie```ab```__]^^__^aa__`__``__`chwˆ™…‹’™Ÿ•‰ˆ…{rgefb]VRMIJJNTZaktƒž¯µÍÐâåæçèâÛáçèéçå×ɯ¥˜†|sliggggedb]VVXYWQNRQSW\a]_QPKEDBDFGHIJMSUY_dlyy€~xojeb^RODC>;988888:<?CNT^hr„‹‡Œ…††…“µ±Ä¿½³¨¤šž´¥™˜—™žŸ¢ ž Ÿ¡ žž Ÿ¡Ÿ¤Ÿœ Ÿ¡ŸžŸ  ŸžœŠf9)"!"&+246663433434555556965676668766:98766776556677777777888:99:;:;;==;;=<<=?===>?>>A=><A>>?@@B@C?@@AAA@@@AABAABDBAABCEBBBBCECDDDEFBCCCCDDDDFGHEDDCCCCBBDDDDFEDDDCDCDDDEED……………ˆ‡††„„…‡‡ˆ‰ˆˆ„~ytmhe\[ZYXWUWXYYZ[\[^\^__^^]][]^\ZZZ][^_]]][[Z\\XTROMIKHKMPSSUUVVWWWXVVVVVVVVTX\`V83=Us‡•t`af»ÁÎßçÕ³²Î¢œ´ëóíÞÐÓåçåáãÙź°ª¥›‘†xof`ZXX^jlkrz{|œ’ˆt…£ˆvtmmmhdfkkonnnpppps†²æó÷úýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúì܇rjdbba```__^^__`^```a`_^a````bcmuz‚‘‰…„‚‡„„ƒ‚„xunhaYRKIHLPU[emv€Žœª»Êàåæèéèèèçåäá׬“ƒtmhfdedffgjgdb\ZY^g_ZXWRIOOSXVTUXTPLGGBBCBAFKPUZ]biu„…†zvmd]SLEC?<:98878:;<ABILU[clw†Š‹‹‡Š™£˜‰„Ž’›ž´²³²«–™™¢¡  ¢ ŸžžŸ žžžžŸŸŸžŸžžžžœœœžŸ›œ’uD/#"!$(133332543433445565555666556776888777766667777667777888::9899:;<=:9;;<==;=<==>>>==;=>>>??@@@@@@ABAABDBABABABAABBBBBBDCBCBBBAABBCDDBCCCCDDDDCCCBCCBBDDDFDCDECCCCDDDEED†††„„†…†ˆ„„†ˆ‰Š‡‡„‚usjd`^\[ZZYXXWXXYZ[__`]^^a_`^]]^]]]]ZZ[][]]\]]Z\WUUTPLKJNSSUVWWWY[WXWXWYUXVVUVVZZZ[gW32:N\w”†w`_e‡®Èæé㹯°œž³ÝïîàÝáêçÕ¸ÖèÞÔʽµ¨šŒshaYWV^edghmw’¦³”ˆ|˜™xqmomjdgjkonoooppqvÄéõùûýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûóÔ·›ymcbaaa``_^__`__``___^]_^`a`_`achpwzyx{„„‡ŒŽ¡žš…ŠŠŠ}i^]RNKGJKQW[biq~‰™©·ÆÓäççèéèäϲ›„wida`ddccjeefgdc_`^cejgf`[RONKKNTWZ[ZXSNJCB<==DINTUW[`jpuƒ|obZMHD@=:999878<DIKKMPQQW_hr{…„މŒ‘‡„‚…Œ­ µ¶ØÙÖ¶¨£š™žžŸŸ    ¡£ž¡ž¢ŸŸž¢¡ Ÿ¢Ÿž£œœœŸœœœ”…X6%"!#&033333543333444595445666556788777766766677776667778788:88999:;;;::;;==<;==>>>=>?><=>?>??@@CABAAAABBCCCDBCBAAAACBBBBBCBEABBBBCCBCDCDCBCCDDDDBBBCCCBDDEDCCCCCCDCFDDEHD††††††††ˆ…†‡„‚€}ytkb^ZYYYXYXXXXXY[[[[^\[\\__^]]]][ZZZZZZZ[[ZZYYYXWURPMOOORSSTUVWX[YYYWWWWWWUUVUTVVVVWZfZ5,5MRf}—–™Ÿ©zbca}¦Íèå½µ´¤¡¯ÐßîîèèíéÏÊÏêììéçÞÒǵ¡‘‚vjaZXV[dhpnm€ ”–ˆƒˆ„ƒvmnnhdgllonqpqpqty–Öìöúüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý÷ñ⮈xgdbaa``_cab``aa`__^]`^b`__```beilrsƒ—“‘Œ‘“‰‰Š•yb]\XRMHHILPUZ`frz‰”¡¯ÂØÛæèè⸒tmgcd_\XSW]_baadfca`_adcdfg\ZXUQLRW_g_\Za]ZQKF@AAIJOVUTW\_clw|€pjZOLD@<=====?JT\bdfb[TIQW_dn}ƒ‘‹Œ„~|{€„‡£ÀÏÔÒÌÎÅŠ’”ššœœžŸ  ž¢Ÿž›œž¡ Ÿžžœœœœœ››—Œe>'"!"$+245435444453545444564666666777776666778787876777667787899::::;:;;;;<<;=<;<<=>>>===>>>??@@C@@@BCAAB@BCDBBBAABBBBBCBABBCBAABCDDBBCBDCBEDDDEDBCCCCCCDDCBCCDBCCCCFCDEDD†‡‹†††‡‰‰…ˆ„urjc_\ZYXWXXY[Y\YYZ\\\\\]\[]]``_[\\^[\ZZYYZ^ZZ[[ZZWVTQPMMPQSSVV[ZZYYYYZ\WXWYWWUWVVVWWWWW[e^7-0@NWk‘ª¦±¡†sp_`| ÇÞ··²¨«®µÈâîìêìèÑÈÕèðòòòðìá×¼¦”„vib\XU\bfjhq„‡€„”Š¡‘{lonfeglmmnpoprru¡äï÷ûüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûõ隃icaabaaaaa`aba`__^]^^`____`_^]^agn˜ª‡Š…‚Ž¨›–iZ\`[WPJJGIKOSY`fmyƒ‘ž¯ÄÒåçß·leb_^^XQNLRYYY^edcbaaace]UX`Zd\[\[`hg`XVY]ZdXTLHHHJKJIMPSZZ\`eluhpc_SGDDEFGGM`iorru€o_TP\YYZbmu}‚‡x‚€ƒ‚ˆš¢¸×ÊÚµ¤ ›žŸ›™˜š›œœ Ÿ§¡Ÿ£¢£žŸŸŸž¡  žžžžŸ›¡™“wF+#!"#)0346456545433445445777656666678868667976677777766678878;;;:;:>:;<<;;::;=<<=====<<=>?>?@BACA@AA@?ABBBCDCBACCCDCCCBAABCDBABCCDCCCCCDCBDFDCEDCCDDCBCDCBBCCDBDDEDEFFEFE„„†††‡…ƒ€yrkc_\ZXWUVWXWYZZXYYZ\]^]]]^\[[[[ZZY\]\[ZZZYYZZYXWWTTTSQSVRORRSTVWZYYXYYY[[WYXWUVVWWXWWWWY[]ga;..1<I]…’©¦™z_[]u’£³º¼¹¸· ±ÓæèæâÞÔÚæêîòóõôñïåÚ«—ƒwld\YV[`fkpspqŽŠŽ—™|lmngehlnropoorrw†¯èòøûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý÷íβ“qiccbbaaa`aaa```__abdegikgcba__di{‡…„‰†~{ƒ‹ŒŽ„qonmjb[TOJEFGLOUZ`fpx„ŽŸ¬¿×Ô½…nhb`[]UUONMNOS]_eedcccceYSMT[[[Ydciij`RPNQ[^bUXQPNLLDCBHLPVVVXX\dfsghZUQNLIJVc‰ƒ~~€qcaa\TPNT\elrx}{yxz}ŒŸºÒÀ­®²Àʲ–’”––—˜™š›œžžžœŸŸœž œžžŸŸžžœš›•…Q0&!!"&-23545344454344554456555567677665556566657777766767667778999:99<<<:;;;9<==>=<===<>>>=@@@@ACA@@?@@ABAABCAABBAABACBABBCCBBCCEDBCBBCCBBCDBCDDBCCDDCCCCCCDCCBDDDEEEEEDDƒ†…ƒ€}voh`^\ZXXVUUVVWYY[[\YXY[\__^\\\_\[[\ZZZ\]\\[XWWYZ[XWWXSQTSSVUUVWVUVYWYYZY[YYZZXYXVVVWZXWW[YXYZ]id>2-+/=Jat–«˜™ ¥fNQXkz”¼º¼ÍÜŸ¡ËàÜÑÓÚØéïñòôôõôóòðîèÈ®˜†ynf`]\`afjkgjv‰¤¤®—€mmnhgilnppppqtsxÀìôùüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýùõðà§}nfcaaaa`aaa``_`bdgjmtywob_^__`bhpw„‚€xhxz‹…‡…ˆ’”rf[]WTMGFGILOSY_emwŽ·Ó¼}oha_\]`]ZVROMTVX[^aafed[RNNTWXY^efgj_WNIFLOSWWVSVQMICBBGHNRQPPQSW\cconn`UPFNao‹tos€„srkfSIFIT[ekrqptopw}€ƒ˜Ÿ§°·µØÅÔº°ª•‘‘“™™šœ£žžžŸ œŸžŸžŸŸ¢¢¢žœ¡š™‰_8("!!$)23856344554464554445556666658665556666666777976566678788=:;;:;<<<<<;<;;<==?=>>?<B??>@@>>?CA@@@AA@AAAAAABCAAABACBABDCCABBDDDCCBECCBBBEBEDDDDDFDDCDDEDDDDCCCEFFEEEED‚‚€}woi`\YXWVUUVVTVWXYYZZZZYZZZZ\[[ZZZ[\[\[[[[\\\\YWWVYWVUUSSQSUTUWXUWXXWWYWXYYWWWWVWWXXXYYXXYWWXXYY[^hgA50+,.>Pf–˜˜¦ªqNGRO]h‚š·åÕ ¤ÅÌØÄ·ÈÛìòõöööõôóóòñìæÉ°›ˆ|qkfdbcfiokkswˆ§–{nnnhgjlopqqqrtt}™Óïöúýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûòⶐ}hebbbbdccabhnsy~„‹‘odcadca`cgpt}‚}ƒŽ“”˜—–ŒŽui\ca^WPJGFGGLOTX^eow…•©ºž‚ungeccdcdZTRQNIOTX[aie_\YVSPINUZadkcbUIHHIJPRRQTZSVQKKJMNNNLJKPPQSV\aepb[SGOPVYZ_j}xukjZQEALU]dn~smljptzzxx{€‚‡ ¾ÇÊÐÖÕ˘„“‹“’”———™šœŸŸžŸŸžœžžŸžž›ššš›‹kC.#!!#&02344344544444445546555456656655556666787776666666777789:9:;:<;;;;;;;;;;<<<<=<====?>?@?>?CB??>>>@@AAAAACBAABAABBBBBABABBCCCCCABCCBBBCBDCCCDDCCDBCCDCCBBBCCCDFEEEEDysg`][ZXVVWWVWVWW[[[Y^[[[ZXXZZZ[Z[ZZY]ZYZZ[\ZZYYYXXYZZUTSTRRSTVVW[WVWZYYYZXXXXXXWWWWVUVWYZYYXXYZZZ[]^fhD73.++2FT_l›¢¯lQRVSPS\|°É΢¥ÊÃÅ·²¸ÚíòõõõóññññòñïëæÊ±‹~uqnljjimkknowŒ’vopoijlnpqqqqsuu¦çó÷ûþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûöìÊ¥‰leabaccbbcp™Ÿ‰—‘Œ„xqiijc`^`bhry…А– ¨¦¤š™“‰{qoohbUYPLJFFEHKOSY_hn|Š™§ ¥˜Šojgfdc`ZXSIGGIJRZ_jjldaYPKGMPU\af``VPRUQPTGLTTSTY[[[ZWTOFDCFMNOPSW[`jer[TPFIBIPVYXZULG?DP[djqvvmghqn{wssuy}ƒŒ’—±ÙÕØ·žžžœ“ŒŽ•””•™™™›Ÿž£ŸžžžŸŸžž žŸ›œƒQ3%!!"%023343745444446575555574456555657556788797755566788777:9;99:::9:<;:;=;=;<<<<<<>===>=>?B>@AB@B@??@@AACBBBABCBEDDBCCCCCCDBBCDDCAACEBCDDCDDDDFDEDDCCCDDCCBCCCDDFGGEFDja]ZYWWUVUVWWWWUWXYYYYYXYYYXYZZY[[[[[YYXYZ[XYWXZZZZ]YWVTSSUSUVWXWWWWWVWWXWWWXWWWWXWVVVVVXXYYYYYYYYZ\\]dhE952.+/6FS[bœŠaO…u\QLPV¿«Ž¡ÏÎм™®ØìñôôõñëíïðïìíîìèÍ´ Ž†€}yxxwurmoosvqtsopqmmotrqqrqsvw†²êôøûÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûñÕÀ™ukeddcdbboˆŽ†‰…‰ƒ„…††sfb_bbjƒ—“™¦œŸ‘ŒŒŽŽŽrn^W][WQLFDDGHMQW\bitŽž¢³­¦€vnjfc_\[PHIJKKRV^cfhedWOONNNSTUX]e[\[ZWUPKLLMQUa[ea`ZSNFC>DIJLNPQRW\bmadWOJCFIKBHJKKKMYediknromkmlh```fipuy~‡™²Æ¸«ª¼ÍÛ¶—’…Œ‹““”•–™›œœšžŸ šž žœœš™”Š`;&" "#+13333335542354444555664565555555555667676655567657777788899:<::;;:;;;;;<<<<<<?====<==>>?????>>@@?@AA@@AAABABBBABBAADCBBBABBBABCCCBDCBBBDDDCDDDBDCCDCDDDDCDCDDFEED[ZYXWWWVVUUWWXXY[Z\\\ZYY[Z[ZZYZY\[[Z\ZYYYZ\ZZVVX\]\[ZVVSTTUW\[[XXXXY[XXYYWWWWXYWWWWWWVUW[WZZZYYYYXXY[\biF;741.,/<MVYjˆfMx•s[MHLY|‘ˆžÏâãä ¤ÒìòõôóòïëêíëÚÔàìîè禛”‹‰‰‰…~xqnmkinpooooqrrrssrqsvx‹¿éõùûþÿÿÿþþýýýþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþû÷óç­ƒsedcbacpœ˜Š‰Œ’–˜‰€na_ccm{“›žŸš–‡„†Œ’œª©¥Œ{maaed_XXOKHDEGKOSW\bmw„‘Ÿ±¯½¦›‹xoha^ZWVTQMMNVZcdefaa\XY[URRHQ]]\[abb`]YVMGJMT\fihg_\ODA>CBEJKMMPSV]cbqcc][XQJFO]adffgeceovx{vomc^]]`ekosv~‰‘˜Ÿ¦«³×ÐÎżªƒ|€“–––˜›šŸ›Ÿž£ŸžžŸž œž—‘oC*#!!"'/443243444344333455456445667665556666867666555665999777789:;::;<;:;;;@;>==<<<>==<<<??>>>??@?>>?@AAAA@BCDEDCCBBAABDBDBBBDA@BDABCBCBBDCDBCCEDDDDDDDCCCCBCDDDEFFFEEDXWWWWWVVWWWXY[\]Z[[Z\[ZZZZYYZ[ZZZZZYZZZZXXWTTTUVXXXYZVVTUUWXYY\YY\YY[Z[[YXYYZYXWXXXXXXWWZXYYYXYYXWWWY[ajF<9853/,5CPY]m~}MmŒsOGEMVk† Íêîë­¦Ííóöôòóï×ÞåÚ½¿ÇÕêíéÓ¾²§¢žŸŸžœ’ˆ~uronopoppqux{xvvuuux{”Ñì÷úüýþÿÿÿýúúûýþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûñ井kgccdkqˆ‡Š†‘ˆŠŒŽ’‹…zvqolppuzz{yxxx}€”œ¨ž˜Œ~{rvy|‚f\[YTNIBDEILPTY_ho|‡–¦°¿½ºŸ€keaagda[WZ^_aZUVY\fgicc[SPNOOSUVW\b_[WPLHMP\feghha\QIHGDAFFHKMPPRTW^ib|„Šwf`]_mrypoedhqwyyƒw{tlnlkkf^^aiqv|€‡™³º¿ÌàÅЏ|xsvzƒ‹’”•–˜™š›œœœŸŸš–„N/&!""%-443223344333375556446445566665666677657655666555677788899999:;;<;;;:;;<<<<<<==<;;;=??>>????>>???@@A@AABCCBBAAABBBABABCBABBBBBBBCBABBCCCCCDDEDDDDEFCBBBCDDEEEEEEEWXYWVVVXZ[Z[[\\\[\]]\\[[[YXZZ[\[\[[[[WVVWUUSSTVWYXXXZXVVXXXYZZ\[ZZZZa[[[ZYZYXXXXYYYY_XZY[Z\Y[WWWXXXXY[`lF;99:53-.9KUUa}VK~´ž•ogUJNUtÁåîê­×ñôöôòòêÄ·Ãʤ’©µÔìðëÙÊ¿¹¹º¾Ã»¯ …xrmnnoprv{~~}|{ywvzžáï÷ûüþþÿÿÿõêíîíêóüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýû÷îٍogccdfkt{€Œ‡…Œ—ž–‡‰†|okdcddccgov†”¡¨¦œ’…‚…‘†‘€q][[^XSKGFEFIMPV\bit~Žœ¬ÃÀÐÁ³™tkiiiifddkdQNMPSZacfbj\VSQPOOORZ\g]^XTQOW]ab\Y]g\_]ZXSMHG@HKIJOORT[_k‚•¤‡yjdpwxqfd_mn|xwuwrznpd]OJNYcms|ˆŽ“ªÐÈç‹€zwvvvy~Œ”–˜˜™šŸžŸœ¢Ÿ š›‰\5("""$)3334633455433455556464456666756645666576556665865687997889<:<;;::;==<<<<<<<<?=<<<<=???=>?>>>@?@@BBBBABDBBBBAABCCCBBBBCBBCCGCCBBCDDCCCCCCCDDDCCCCECCCBBCDDEEEFFFEWWWWWYYYYYZ[\]\\\]]][ZZY[ZZ][ZZYZZXVUTTSTSSRSTVWXXXXY[XWWWWZ\\\[Z[ZZYYZ\YXXXXUXVYXYYYXZYYYYXXVWWXXXXY\_lG<::96420/;NRQK6G‘¡§—ƒ{eSKN[{¦Îìí×åíôööõóò楡¿¯’–©»ÉëññìâßÜÙÚÞÆÎüª™‰{topqst}ƒ…†„‚|zw{ƒªêòøûýþÿÿÿý鶝½¿ÀÓöûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüó×Ýxoeddgimppq€Œ–Ÿ“‹‡„…Ž–€me`ddddq}‰œ ª¤¥”‹€…}ytqod[]a__ZYQKGCDFJMSX^dny†“¤´ÃÜÙÖ´œ‰upljggfigZRQOSSRRbbaaZZ[]YSPMQRW]^`aacdccbRSTW^]gbma^XRMINCJNPRSUWZo›”~stuvveWRNTZ\_[Zblgba`]XNFDDINU\epuzƒ™œ”‚}|{zvysrr{{ƒ‹Ž’”•—›› ž›Ÿš—Œg=-#"!$'.135443355333344545355566566656555555566656455666587899888999::::9:;;;<<<;<<<<<<=>>???>>>>>?@>@@AAACBAAABBBCBBCABBBDCCCBCACCCBCCCCCCCBBBCDDCDFDDDBCCCCCDDEEEFFGBWWXYZY]\\[\[_]^[\\[Z[Z[[^\Z[[\]YYWUUSSSTTTSSUVYX]XWWX[ZXYVVY_]aZZZZXXYYXXXXYXXXWYYYXXXZXWWXX[VWYZYZYY[_nH<::99873.0?QOD>Euœ›šz^JDSe…¥ÎçÖÛðöööõôóã †˜ª”š¶ÉÝïòóòñðïíéÙÉÇÒÍŲž~xsru|‡‘Ž‹…}{‹µìóùüýÿÿÿÿûæ“’¾‘mËôûþþýþÿÿÿÿÿÿÿÿÿýûúøüÿÿÿÿÿÿÿÿÿÿÿÿþû÷òä°‡vfdbbbaafw‹¨Œ…†’¥§¤sa_a`bdz€›°¬©—Žˆ‚|tpkhda^]^___]\]TNJDDDHKPTY_itŒ°ÄÛÖÜ̸›‰qldejg``aZVTRV]_ea]\bai]TQOQMSUWc_lkkfaZSRMSU[bgleka]VPMMRSSSTVV^…Äœƒv}wwq_WLGDBBBBCDEFFEFFDA??>>ADIQ]ir{…‰‡„~€}…~€|{{{ywst{Ž‘”•›™› žŸ ¡‚J1%"!$&/034445553345444545396566577677678856555566476678889899888999::;=;::=<==<;;<==??>>>>====>>>?@?@@AAABBABBAABCCCBBAABCEDEDDBBCCBDDDCDCDDECCCGDFFFDDCDDDDGDEDEEEEFDY[ZZZXYY\Z[[\]\ZZ\ZYZYZZ[\YZYYWSRPQQRQSUWYVUXYYYZXXZXZXWWUWXXXYVXYXXXXXYX[Z[XXXWXVYVXXWVWVWWXWXZZXVTTV\nG=<<?A@=7112<MHDIh‹¨œŽ•xFBN_i ÂÔåñ÷öõööô䢄†ŠœÍÞîòòòóôóòñëÕÊÁÓàÑÒ»¤“†|ƒ”¡¤§Ÿ—‹„‡“Åíõùüþÿÿÿÿý꫈ÁŒhÃôúüøùýÿÿÿÿÿÿÿÿÿûñèéõþÿÿÿÿÿÿÿÿÿÿÿÿÿÿûñå½™ƒkgcbbbdqƒŠ“„€†‹Žš™œwsnnlgdp{ƒ’‰†€{tnkhhhjeggknnlhec`_^XVMHEEGJMPW^go{ˆ˜©¼ÔÝáÕÀ® tkiga`dfca][[[TMRY^`cfc_ZSRRVMU]`hjlji`YVTVKOTZ^bjcf`\[XWUUTUT]x¢£yqrpljccXSLB@<;:98889::;<;;:<@@AGLWar{}€€~~}||{y}€|„ogefrvސ’“”˜™šœš”ŠZ9'" "$+/354445433346443333666565667765666565555444767778767;:9889:989;:;::;;;;;;;;>=>==>>===>>?@??@?ABAAAABABBA@CBBBBCAAAABCCBDDCCBBCEDCDBCCDDCCDDDCDCCCCDDDDDDEEEEDGDZZ]]\Z\\^[[[\ZYYYZYZ\\[[\[YWUTROMOOQRRSWYZZX_XWXYYYXWWWWXYYY[W[XYXXXXWWXYY[ZXWXXZWYWXXWVXWWWYX[ZZWUTUTZpG==AIT`J<62/1=JNP]u„š–—™žE?X`gl™¹áíõõôõöô娃||…žËèðòðïòõóñðêÙÐÛèçÒØßÀªœ’Ž™ª¯³²®¦›”Œ‡‹ŸÔðöúüþÿÿÿÿÿôÉÇ͘iÓöøóæÔê÷øúûüþÿÿÿó¤›ÃïùÿÿÿÿÿÿÿÿÿÿÿÿÿýûöïÒ°qhdbacirzƒ‚‘‘‘—••Š‰‘wgaflqsrokgdb`_cfhffm{‚vvnf_^^^ZVQLHDFGJOU[civŸ´ÎÛâ×ÕÓѵˆtlcfjlqom`XXKJJMPT_`j`o`_ZWQNUV`jknlrfc]WOIRPUY]`dgca_\[WVWZ`y¨kc_]\`ddcV]LH?:765956677:889::<<=@GU|ˆ”…„‚~€}‚~yˆyrnn`\_eegrz‚–––—™š›•”l@*#!!$)/3334444443444554446667767666765565856666677666666687789889::9::;9:<<<;;;;<>=@==>?>@=????@AAAAAABDCDABBDBCBBBBAAADBABCCDCEEHBCEFDDDCCDDDDDCDDFCBCCDFDDDDEEEFEGEZZ\[ZY[[ZYYWXXYZZZZZZZZ[YXUSRQPOOPRSTVX[[\YXXWWWYYXWXUVVYYZZYWWWWWVUXVWXXXXXXXXWWVWVYWWWYYXWXWWVUTSRST[qH<>ETecVB95110=Z\Zac…¹¨»˜KX‡vhjhu†´æóôóõöô範ksÈèðïäëðôñïðîéíïîåÐÛÙ×Å´¬§«±¿ÉÉÇÀ¸­¢™˜¬âò÷úýþÿÿÿÿÿûòì×¥qàøõé‹„¡èíííõüÿÿýç’H\{¾òÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûóÛÌ¡|rgeeghqw}~‚†‘–”•’ŠŽˆ}shllnnifedecbafsoqry‰™}sy…o`aa``]\UOJDFFJNSZ_gr}‹˜­ÁÍØÖããßɲ’~upppommb]VSLKKLHOUZ_`b]e]WVUZ^ihijkllmaXVTTPQS\effeeeecciqx€[HHIIILQRSQNGB:6655556757884689:;<CRn™•–‰‚{vsolgedfe^QRSSUZ\aeimx}„Ž‘••–‘€K-&!!#'/43345554444453544465776666666865556556556666667766877887788799:;999:;:;=<<<;<<=>?>>>>@??@AA@@AABBAAAAAAACEBBBBAABBBBBACCDDCCCEDCECCBDDEEDCDFECCCDFFCEFDEEEEDEFZ[\[ZY[YXYZZZZ\[]Z\\ZXWVVUTQPQQRSSUWYZ[[[WWXYX[WVVVWWWVWZXWWWWWWWVUWXV[XXXXXXXVVWWXXXWWX\ZYUTVUTSRRRSV\rI=@O`jp^H=631.3EZ[lfo‰˜¡‘ch”¬mg_i~±àêñôöõ꿉kj{™¿ÞïìÙÇßîêçóõõõõîÑ·ÍçæãÏÃÄÈÔáæëæßϾ²§Ÿ¡ºéôøûýþÿÿÿÿÿýúøë·xäúòØtVƒÒγÀÚòþÿûãuSC`œíÿþüûùüÿÿÿÿÿÿÿÿÿÿþû÷òâ´‹xecdchtwzz€”–žŽŒ‰‰‹Œˆƒ}tkha`aaaa`ahs‰~{ƒ§—€†…ia__^^]^XSNHFEHLPT[cmwƒ’£³ÄÜâçæãϯ˜•‹‚|qnndcdeYTRQHGNPUY]^affdb_aggfggimmoda^[VPVZeefgikqyˆ˜›š‡raHB?>>>???@AA@>:765555576678225789;>HSet€‘|xpg[RPTSTTTC=;@QY\]`behmrx†•’ƒU2'"!"$,44346585444565444555677556655665555586856666777667878888::9888:99989;;;;<;;;<;?>???>@?>????@@@BBBAAA@ACBCBBBCBAAACDBBCBCCDCDDEDDDCBBEDCEFDFEDCCDFEFEHEEEEEFEED[\\[YXYYZ[ZZZZ[[YXYXWVUTTSRRRRTVWXZ\\\ZVWVVVVVVVVUWVWXVXWUVVWUXWWWWWWVZWWUVVWWWVWXXWWYXWXVUSTVTSRRRSTW\rJ>E[dmqoTB:63134BT`klj~¨–_m©—Žl^S\k›ßîòööðç¤oiu”¸áíëÓÂÍééìôùúú÷쾺Ãèììéåàçéëîïîíê×Ǻ®´ÇìõøûþÿÿÿÿÿÿÿÿýñÇzèûðÂhaešÂ…Y™çýþýè¥}iTèÿüôìîùÿÿÿÿÿÿÿÿÿÿÿÿÿüôçÀž„kgdixz†sq}ˆ„…ƒ{’ ”ƒ„|sg^bca```dmu}x…Œ„s€{morolg`^^\ZQJFEGJNSX^go|Š™¨ºÐØåæâĨ¥¢œ”…xsijlhcb_VKKMPQURT\^`bhgdfffdgijimlkkdadfffhkqx…•£»Åܹ–‚cXGC@>;<;<8:999866755557568821489=>EHKOZfq|sleMD<>@>=92,(8MY]^^_`bcehms|…„†`:.%$"$)0344555556555543555578657765655555667666677876666688878889888898999::9<;;<;;;;>===>=???A?>@??@AAAABDAAAAAAAABBBCCCCCCBCCDEEDDGEDCCCCCDDEDCEDDCCEEEEEDDDDDEFEED]\[YXZZ[\[_[[ZZXWWXVTTTSTUTTTUVY\]a\[YXVXWWWVWWUUVWWZUTUWVVVVWWWWVYWYWZVVUXWYYYXXZ[WWWXWVTSSTTTTVVUUUW[rK?Jalmwq\G=964204CUbmik˜aq‡‚™ÇjWISb•ÌãóôôîÁzjr¼çìçʰÁçïôöøøøô䮟ÈëññðïïïïïðòôöôíÝÏÅÃÖíõùûþÿÿÿÿÿÿÿÿþóÌ}àùï°\d`’¼ff…ëýþÿôÙÜÌeoçþøè·¬ÙúýÿÿÿÿÿÿÿÿÿÿÿþüøñÖµ“rikt~qopsy„‚rx—§¬…œƒk_b`_aa``eimqu~Љ|zy{€†‰|i^^^`][TQKFEFKOTZais}Œ›­¾Ñåá×ÏÅ¿º¹¹—†{spocb\^TPRSUXSHMRV_bfeiefghhklmkiijihghlr…’¦½ÇÏÌÝÞà¶—zfPHA=<;<987777776565566687315=;EAUJKNU_mplkeF:31.,,+(#$/MY^b___aaadihilpnkD3*'&%(0375556766655555456576667766756666677688878766679788:88787788999;::::;<;;<?;<;?<==?>>?A?>>?>>@A@CCBBAA@AAAAABCABEBCCDBFFEDEDDFGCCDECDDGDDDEEFDDDDEGEDDEDDDDDFD]\\YZ[[\\[ZXXWVTTTUTTSSTVWWWXX[]]_][YXVUUVVTUUUTVVVVVSTUWUUTVVVWWWYVVVVVUUVWXXXXX[YWWUURWUTRTUUUUUUUWX[sM@LffiwseOC>985246AO]pokd^m˜Ÿµ­‘dMKS[ŠÖéóô칃rpˆÁ×åÑÁ±´çóùøöõòèÁ’›ÑíóôóòòòðäÝïõùøóîâ×ÜâïöùüþþþÿÿÿÿÿÿþõÔ•Òôí²PTg¤Æ„xªïýþÿûõðßulçüóÜls®ïúÿÿÿÿÿÿÿÿÿÿÿÿÿÿýõÞÑ£|torwkehiu…‘}}š² y|ŠŒugklifdbacegiiw‡…Œz|}‡•’l\cbb_][XSMGFFINRV\blv„‘¢²ÅÚÙæåáââʱ¦›Œted^^`][^`]VLFLMQUZ_bfebefjklkknjlor{†˜°ÂÚßàÙÑßåäâàݳ”x\PFB=<:9767777665779:::855<=>BEB@=<HSZ`_^M:0''&)))$$$4M\_a``_a]__``accb]NB62,**/4755655645555554445556886645566676554767666666776778888968899999899:<;;;:;;<:<<==>>>??>>>@>>?@@@@BBAAAAABAABBBBBACCDBBCDDDDDCCCDEDCCDDCDDEEFDDFEEEEDDDDEEDCDD__`]]^]]\XWUTUVSSSSTTVYXX[__^\a]\\\ZXWUUWWWUVUWUZWUVVVVUXVUVVWWVVWYVVVVUUVWYYXYYXWWWYWVVWVXWWUUVWWZZZY\rNEN_fmyws]I@=985324?Ndyqpag £¬®È‚WOKP^“Öáîè¶‘wx¤»¶­¬§Ìíõù÷óïçÅ©šÐêðñòóóòðÚÖêòõõõôñèæêñ÷úüþþÿÿÿÿÿÿÿþõÞu¨åß²W]¥ÝâxÆíþÿÿýûñÚflæýòÁX@ˆÞíïñôúÿÿÿÿÿÿÿÿÿÿÿûøò㶍{jecbcdkv‡‹‹…¡Ÿ™yp‚ˆ…‡‡{slc`ababaclx‰‹‡„‡ŠŒ“˜‘ukigc`^]_YUPIHDGIMQV^fn{‡—§»ÐÚæçèåßÅ»·³š‰wkhgfeddegZQNLKILPVYeeefgilmlkkmx€‘¦¸ÉÌßäååååäæçæåãßǯ”wfMD><:89877689:;:@@A;;974349>?811=DGFC@90'!!(.*)**-9R]`aaa`b___^^^`ba`VUIB91.04677645556665644434756776865556666656766676668777887889978899:999999:<<;::;;;<=?>??=>>>??@>>?A@@ACAAACBCBCBDBDBAACCDCBBCDEDEDEDFEDDDDEDDDDEFEEEEEEDDDDEFEEDDD__^\]]YUUSRQRSSQQRTUWZZXY^^]\[[\ZXXYWWUUUUUTTTUUUTSSSQUTWVVVWXXWVVYWVWYYXXY[[[YXWWWWXXWVVVWWWWWYXXWWWY]rOAJ[csz|zoRC=;:;7455AScomjn¤¨ºª­Íš|]RLU`‹ÈÜæË­ž‘”š¨®³¹Êéôøùöîdz¡¨«¾ÑÞàìñôóòðßÊ×çéêïôõòðñôøûýþÿÿÿÿÿÿÿÿþ÷Þr{¥Î£`uÖèâªtëÿÿÿÿøâ˜Vyæýð°L?^²Ð°©ÉôÿÿÿÿÿÿÿÿÿÿÿÿÿüôèÁ„mhddehkv‚„А…‡š‘ƒ‡~tgfbbbabho{‰‚‡ˆ‹Œ‹~wyzsoic`_^]TNIFGGJLSY`gs~ŽŸ±ÂÕæééåÏÎÙʯ‘‘‚|vsnjijf^XUQMKBTSZefgfjimprv{…’¡´ÂÛÎÏäææçèèçèéèçæåãá׳˜xZOB?:;;;<=>9::8879<:6432-02.*&#).///.-)&%0/,('-5BW^aa_______`\\\[[[XVQNJA<;;::9765665544445555555565676555666667777677777788997888878988999::::::;;=;;;;;<===>?>>>>>???@@??AAAACCAAABAA@@@AAABBBBABBDEDCDDDDDDDEDCDDDFGFEEEEEDDDEGFEDFEDb_^YYWUTTRPQRSRSSTUWY\^ZZ\\\\[]ZZXVVUUVUUUUUVTUTSRRSTTTUWVWWXYYZZYYW\\^]\Z]YYYYY[YZXXYZZZYYXXXYYXXWVV[_uP@DP`jzzˆz[E=<<::7736DRc{zx’±©¥¶Î¨¯u\UPWc¼Ðçëç´ÆÝîò÷÷øò浕£´ÍççâãíôøöõóêÉÂÄÄÍàîîòóôõøûýÿÿÿÿÿÿÿÿÿþùãs_a„™ƒ²ÛÑǃ{áûýÿúè¦ccëþïžE0I”u`p—íÿÿÿÿÿÿÿÿÿÿÿÿÿþüøñÓ¬Žrjeddegmpu~ˆ“˜™˜—“Š‰š˜sebea`adir~‡‡‘Š›”“‰„„„…„se`]^]]WVOIHFHKPT\dmx‡—ªÂÖåèèßÜáß¹–”–œ¢–‹qnm`\ZYSOQWY\dfffgis|‹š©½ÂÄÃÒÝËÏâååçèééééçâååæçäݸŒiRD>@AB@?;70*()07DB@<<=/*% "#$'('%#)36+')/7EW`ab`c_``_^a\\\][\\\WYSRRPGB?<:8766554464555654456545756556666778:7889998:8:8789998788889::99<<;<;<=<;<;;<===>>>>=>?>@?>??@@AABBA?@AAA@@ACAAAABCCCBDCCCDEDDCCCDDCEDDEGFFEEFFEFCFFGEEEFE\YXUTRRQRRRSTUUUWXXXZ]ZYYZZYZZZXXWVUUUVTUUUTSSRRRRSSTSUVVVWX[\[[ZZYX[][[ZYYXX]YYYYZXYZZYYYYZXWYZYYXXY[_wO@AFPZiw~„^G><<<<:8566AM`vx‚€„¤É²–˜ƒxe[TZe¤Íìïé×ÈÅÁÙñö÷ø÷òëʰ°´Çßñôïìñ÷ûúø÷í¹±µ¯¢­Ëíôõõøûýÿÿÿÿÿÿÿÿÿÿüé¤`\kyvou’œ’‡Åõûÿô»q\m³ðÿî“@59EKA;{çÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüôØÂœzqigfggjlu|„‰ˆ‹Š‰“˜¨‰xd`gebadhp€}„„‚ŠŽˆ†„‚…‡‹˜wf_[^_^^]ZRMIDGJNSZ`kv…“©½Óåèçåå弩 ±¼Éظ ~whea_^^_befhjknqz†£ÃÊÙßÝÕÎÖÙÕÐäåæçèêëêéæãÓäæèçÝ̹ºs^GA?;840-' *.9GGH>@4' !&&'$$)4/(',07EW___^]]]\\\\\]Z[Z[\ZXXVTSQQNJGB?;976455545566667765435554566888887776888877:8889<99899888:999:;;<<<;;;;;=>>=<=>>>>===>????@AAA?CA@@AA@AAAAABABBBBBBBBCCBCDCCDDDCDDDEEFEEFFDFEECFDDDEDFDVVVTSSTTSTUUVWWXZ\]Y[XWXYYYYYZ\YZXVUWVZTTTTQQQQRUUXUUUXXWWWY^^^\[[\\[YXYXYZWXYYYZZYZZ[ZY[[ZZXXY[]ZYZ[\_vOA?BHP[kwu^G>>@@@<:8546>I[q~„¤¬°ª«˜¥žšlTY`¤ÎëìæÄÁÄâíóôöóèÆ·±Í·ÑÚïôöõõøüûúùî˪²ªšˆ’ªêòõöùüýÿÿÿÿÿÿÿÿÿÿÿö輯Ïݧju†~a[»òûÿî—gf¬é÷ÿí‹C7550-4kæþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþû÷êß®†wkhfeddhq|~~ƒˆ“—››™‘{hhlid`dhtxxutx‡Š‰‰‹‹ŒŠ“ˆi`]a_^_`\YTPLGHIMRYajt‚”§¼Ôåæåáܺ¿ÊרäâÜİ –„wrruxwvutuv|ƒ ³ÛãååäåæåäåãææçèééêëêéæãÚââáÔÓª¤’}R?71.-,++&!!,/:ACC@;0!

"$$'&)+,%&*15EX]_^^^\]\]\\\][\[Z\]Z\[\\ZVUVWNHB>;:766656666766666756565776667987799888877:888997778:::99::99:;=>;;::<;<>>>=<?@@@>>>>>>?@@BAABCAAABA@AAACACBCA@AABBBBCCCDEFDCCCDFEFFGEEFFFFGGFGDDEEDFDURTUTSUUUVWZ[[ZZ[]]XXVWVXWYXYYYYZXVUUUUTUSUOQRSSUUUUUVW[XVXZ^^]]\[[[ZXYZYYWUXYYYYZZZYYZYYZ\\\\\\^ZZ[[\auPA@@DFWckv]F?@ABA><;8654:AWt|‚Œ“¥¸«š ¥¢ƒjWW]zžÈåÜ»­ªÁáêëî鯛ž®±µÏÎíò÷ööúýýýúóèËÉ»¢„¦èñôöùýþÿÿÿÿÿÿÿÿÿÿÿÿüõñðî㵞·Õ—Og¹ôûúßvU“åúþÿë†H>7/+/5kåýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüóæ¼–…rliefginty~ˆ•‘‘ŒŽ‹”}|~mcegjlkkjjrwwxyzzzyyqd`^^^^a^]]]ZWOIIIMRX^hr‚’¦»ÐåãÜÒ¶»ÛÔÜææã×ÉĶ¥‹„‡ ŸŸ¡  Ÿ ¤²ÄÌÒáéëèåæçäæçèèéêêêëëëêèãÒÍÖÙÄ­‡k]PB5.)''*+--("%%'*,-...#
$"$')+%"(,3FZ]^^]\Z][]]\[ZYZZZ[[[[Z[[ZYYXXTROIC@=;9855567766654555576667867777798888877:888::8:8889999<;:9:;>=;<=<=<;>=>@>>?>>>>>??????AA@BAAAAAAAAAAAABAAAAABCBCBCCDDEDCCCCEEDDEEDEFEEEFEDDDDDEDEDVTTUUVWXZZYYZ]`\\]]Z]WWXZXYY]ZZYZXWUVVVTTTUUTTTUUVXWWWWZYYZ[]]\[\ZYYYYZZ\YXYZZYYXYWXXZ[\^_``___^^[\^_bdwRBABDESba^ZE@AGFF@><;86437B[wƒ…‰œ¥­­²³¸˜qTT]{œ¿Ñ°•™Ÿµ¹ÌÚݐ‡¬ ÀÓåôöùøøúýýýúöïÚØÙ¶–¦æïõ÷úýþÿÿÿÿÿÿÿÿÿÿÿÿÿýûûûöòñðíÓ˜…ÏúüôÓ]M²Øï÷ýèZmE.28;måýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüøïа–wogfcdgkmw‹”‘‡Š‰Œ’•˜š€uieca`_``adgilnmkkjhc`^]]^^^]^^]_ZXSNLILOU\fr‘¦¼Ðåà˵µÈÕÛååæáÝÛÖ³’‹ˆ”®­¯­ÚÙ×ÝÜÕÖßæèëéççæßÛçéèèæäåæäâáàȯ˜„wjWE:3201-,+*.-1.+#!%!
-%""%*(!%1I[^^_\\[]]`]][YXXY\\`__[]\\[]\]YYXXUPGA=:88877778654658676668767778798;8:788:9989888:988889:<::;<<<;=<<<<<>=?===?===???????@AA@@BBBAAAB@CAAABBDAABCBBCABBCCCDBBBCDCCEDGFGFEEEEEDDDEDEDFDUTVWXZ[\\][[[]\[ZYYXWUWZZYYXYWXWXWVUTTUTUTTSTTVWXXYYYYYZ[\\_[Z[[ZYYZZZZZ\\\\[ZZYZZZY[\^a_^___^^^^_acdegxSBBDEFTtfXNC@AEGFB?>==9654:A[€€‚ƒvލ¯²ª|£›\LUc—¡¯ š¥®²ºÊÀª“¤µÈåð÷úûúúúûüýýùôïâ×ÕÑ®˜´æïõ÷úýþÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿüóäáóþýó´UBr­Áðûå}UVQLMHCqäüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýøåÖ¦ujhhouvx…ˆ‘‘“—™”‹‹‰ƒ~uuvkcbaaacdeeefeeeeb`_]]^^_^`_^][\aXSNJLNT[fq’¥¹ÎäÖ¸¹ÀÉÍÓâäåßå˼—}|†•·ÀÇÍÜÞÞååãæêëêèæ×ÝæêèåÞÆ¼ÉÒ©‘~k\NE<60,)224630,'&$$# 
-
 %'#"0M[]_\Z[\^\_[\ZYXXY\\]]]Z[[\[\\\ZYXXYVRMHD?<:9876655555656776777777767777888::998:788999:9::::9:<;<<;<<====><<<=====>>=???>?@AB@@BBBABBA@AAAABBBBBBCABBA@BBBACBBACEDDDEFFFFFFEEFFECDEDDEEWXY\^``^_\\[Z\]YWWWWVW[YYZZXZVVVUTTUTUWUWWWVYYYZZ[\Z^\`_^[[[ZZZ[ZYY[\\^^^__^]\_]]___``cbb__aabbchhhiiijyTBCN\NUrkZHB?AEHNE@??=<98557C`‚„Ёƒ£Ò©¥‡ª“_JQhŒŽ‰™¬­¯«±Æáë³Ôâñõøúûûûúùúüüü÷ðîëãáÕÁ¿ÅéðõøûýþÿÿÿÿÿÿÿÿÿÿÿüúüþÿÿÿÿÿÿþüøóùÿþôÕWFAc‡ëúãyX‘`KZlXuÝðïíöÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþùê¶‹{nozƒ‹…„‡˜¤œ¡‹‰‹‰Œ’•ƒsba_`bbb`__`___`___^\]]]]^^^]\\^][YRNMNTZdq’¦¼ÎàÈÀÀʼ³ÁÜâãÈ»§£whddirˆ›¦ÀÍãßãÙÕßäèéçåÛââãߨ·•Œ…s`M<40///.-*)54@770*"

-
-
!(% 1P[]\ZZ`^^^^]^[\Z]^_\\\][[\\\^^`_`\^^^ZYSRLE@=;97755566656687677877877788:899;::99888:99::99:;:<<;<>??<>>>=?=>=?=>==>>=????CAAA@@BBBA@@@@BCCCCBDCCBBAAA@@BBBBDCDDDDGDEEEEFFGEEFFEFDCCDDGF[\^aab][[YZZZ[ZXUTWVWXYYZZWVVTVUUTUVVUVUWYYWYZZ[\\\[\[]]\ZZYYW[Z[Z[[\]^]___`_]__`bbaabaab_acdffefghijkjzUCGTVUapmgG?>?BGLMD@?==;:876>C\‚ƒ„…‹” ŸqŸ[K^u™~Œ¤ª°ÁÐÍÉËÎäõûûûûüûûùøùûüûóåâìíéã×ÑÝîñõøûþþÿÿÿÿÿÿÿÿÿÿÿúöùüþÿÿÿÿÿÿÿÿÿÿÿÿûãfYEƒæùáw[‚qp vTzÖÇ¡±çûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿú랊x|…€†~ƒˆŒ’…|‡’•˜Ž‘†ƒwgkliedba`___``____```^]]_^_]\]^]][[VRPPTYer’¥ºÊÔÉ«–¤³¨œŽƒwkaY[]djr{”±¿Î÷±°Íãæã×ÏÍɽ±oWC;4-''(16@H@6.(+.01-'!
-					
-
-

''(!3Q[[\[Z^^`a_]\[\Y^[\\\[[[[[\\^^`]_[]^^ZYWWVNJGC?;855876656567787776798789977788999:97:::::99:::;<<<<<<<<<><<<==>==<====>?>>???>@@A@@@@@@ABDCBBBCBBBA@BA@?ACBBBABBDDDCDDEEFFEDFFEEEDCCDDFD_cjcd^[Z[Z^\^XWSRUWVZZZYXVUTTTVUXVUVVWWXZ[\[[\_^c_^_^^_\[[ZXYZ\\]^]\^]abc````accdbfaaa`abcbdeghinmljkkjxUIJYioxysjHA??AGKKGA@??=<;;::;BZn{Ž…|ˆ™š›]Rp Ênow‹¥ªÚÆÂÇÍãòöúûûûûúúúùúûûùîÙäîñòñîëìðòõùûþÿÿÿÿÿÿÿÿÿÿÿþõåôüþÿÿÿÿÿÿÿÿÿÿÿÿÿöç»šŽ˜íúáu\¦€ƒ|c€Õ²šv·îùþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûñÒ°–ƒ~{{yyxwƒ•§š˜‹ˆƒƒ~}ztec`a`b`_```___^^^^^]_]^^]^]]]\\]XUTRWZeo€¥¿É×Äšs|~„†pjea[YWZY\_fo~Љ†‰ŸÅÙÙÖÀ”~ocSA3'" !#'-5>I`^X</$! #$"




					
-
-


%)%!4SZ[\_[__cab^\[\Z^[]\_[ZZ^[\]]^`\^_``b[_[YXTTTNG@9668775555688886777887999:;899;:9:;9:9=:::>;;;>=?<=<<==>=<<<==@==<<=?>?>>>?????@B@@AE@CBBCDBCBDBCBABBAA?@BDCFAECDCEDDDEEFEEDFFEEEDDCCDEE`gc_]ZZZZZZZUOMLPVXWZYXWVTUTTTTUWWVVXYZ\^a__]]^^`_`a^]^\[Y[YZ[]^^^^^^]_abbcdddcccbabcdddeefhijkkllkjjkjw`TY`sˆƒxoM?BEHJPYJB@@?>==>?ACCBQar†}ytyž¯pZŽÑĝqfio€³¾ÅÒÐìó÷úûüûúùùúûûûûùëèëïòóôôîëîðöùüþÿÿÿÿÿÿÿÿÿÿþüíáîûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿýôíèçõüã{_·ÅÈÊyR‹ÛΩ‡ŒãóýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýöÞŦ‡…wtqpnmnqq~™‘•ކŒ‡‰‹”Ž‹viiffdb``c`a_^^]_b^___^]^]]]]\\\]]\ZXWX\fq€£¶¼ÆŸyutqnywsmibaa`_]\]]`deegiu’€r^L>1,(&$**3:@ELQTU\dL:+!!
-
-
-	
-
$#""6TZ[[[[^^^[[ZZYZY][[Z_[ZY[[\^]^]]\\]]]\\[ZZWUTSNH=76:9888667877767877777789879899988998:::::99:<<>;=<<?==<<<==<===;<<>===?>>@?????@@AAACBBBBABBBABAAAAAA@AAAAABBBCCDEDGEEEEEDEDEGECCCCCDD``_[YX\\\YYSMECLNY[YZYXVVVVVWXZW[YWZ^^^_a___aaa__`_^\]^\]\\\]]_``____^_dhffedeffedcfhijijkkknnolqlnjjkjnfkxy’¯“}rQFLQY[XULC@@C?=>AFPMH@@N]n{znužµ\­°¶Ÿys_`ez«Ï¿¿Ûîô÷øúùøøùúûûûúøôðíìðóö÷ñÜéðöúüÿÿÿÿÿÿÿÿÿÿÿþùáÎÚíõûýÿþýþÿÿÿÿÿÿÿÿÿüú÷õúýꉂÃÜåØuS™à䮘Îèîòõúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûï䳍~omfgddhm{Ÿ•ŒŒ”˜œ›š“’€yrpmfb_`a`a^^^^a`^]]_]]^^]]^\\]]\\[YXX[^hs€¢¶·­Šxsmy‹“…uv{wqla\[YWUSPOUZVRH<2)#!( &,19>OXk`e\a^[O@3'!!
			
-
-
-
-
			$$!$<V[^[]^]]_Z\YZZZX\\]^_[[[]\\]^^_]]\^^^]]]]\]YZUTKC649;;:9977777;7777787879887989999:9;;;:99<;=;<;>;==<==<<<>>==>=@=<=?<?@?>=>?@>???A@@ACBCBDAABBBCAAAAABBBBBABBCCBCCDCCCFIGHEFDDEFCDCECCD[[ZYWUVVUSMFNBJOTZYYYYXUWWX[ZYXX\^_a__`aa__`bb`_^\]]\Y]\^__^_`abbbbbbcfiihhhffffghiiiijllllllmmlpjlkjll{wˆ‚€‹•§ ‡pUKYdqƒjWLCA@A@@?CHS^SHC?JWj}wr‰¯q]¨š¤¤¢Ÿv__\oˆ¤¹ÆÕêîôö÷÷ö÷øùûûûúø÷÷ðéæðöøîÜçðöúüÿÿÿÿÿÿÿÿÿÿÿýúáϼÑë÷ûÿýûýþÿÿÿÿÿÿÿÿÿÿÿÿÿþðºÔîóÝlS£Û̳zg¯Õ»°Êðýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿú띊unhgefgs|‚‰‡Ž“‘ŠŒxga]`a``________]^]]]]^^]\\[]]]^^^^]]`hqŸ²©•Ї•¬Ä¶©–žw~_]ZWJGC>8420*&)!#&)+2;>CFGLca_WROLE;4+" ! 						
-			!## (EX\][]]^ZZZZXXVZY][\\][[\]]^]]\[[][[Z^\]Z[[[YXXLB:1;CDDA>;888887777888778888798999999999999::;;;::;;<<=<;<<<<<==<====<<>>>=>>>?????@?@ACCBABAA@ABAAABAAAAA@BABBBABDDDBCDFFFFEEEDDECBBFDDCYYZXUTTSPNFJMRWW[YXZZ[\\[Z[Z[[^`abcdcadcd_bahb`]\ZY\[\^_b``accfbcdfhkinhlijgghiiklnllllnpnsnpnompppkkmnu{™®„s’¹£•v[\n}‰Žz[LCBBBA@@DIZ``RF=<J`qƒwth^Yž™®¸Òªde_^s†¤ÕÛçéíòõóðòóôöùüùöøúóÙÙëôõßËãðöúüÿÿÿÿÿÿÿÿÿÿÿþýöëØÏáí÷ÿ÷íòöúýþÿÿÿÿÿÿÿÿÿÿÿøñîíõôÒcV­¶‘nNW“°†‚’¿íøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûòÖ¸š|rjgfegnsz‰‘’Ž’“–› ¢¢¡“Œlb_a`_``_]_____]]^]]]\[[]]\\^_^]\\ZY[^gp}Š˜¦Ÿ¢¨¯¾áãÝ®”…zf\JD=73+)''&&'),06:@AGPWFDFIOTPKIE@71+(  ##

-		
-

-		
-
-"!&$&!!,M[]]^_]_Z\ZZXVWZ[][_]`\\\\]^]`\]]][\[^\\[`[^XVOE:5:GMSROG@=<<;977878777;8888799:9;:99:9::99:9;<;:<<<<<<<<>==<<<<<>=?<==?=?>>>??@??@@ACACCCBAA@@@@AAAADAABBBBBAACACCEDBCFDDDFEEEEEECBBEDDDXYWVVTUSSPSXZ[YZ[[[\\\[ZZZZZ]^_`cdcba`aab_`a_^]ZZZ]_`abbbbcccdedffhihihhihhhjlllnonnnnnnljmlmmmmmmmjkoo}© ˆqž¥Ž~idu•‹­„^KCBFABAADHWd`\M@>>KZkzvh[U}œ³½Ð·›jeomj„§âÚÐçîòçââßÞî÷üøôøüõÛÊéòðÍÄáð÷úüþÿÿÿÿÿÿÿÿÿÿÿÿýúòäÜåòÿðßåíôúýÿÿÿÿÿÿÿÿÿÿÿÿÿýûý÷¼i]º±rEDN˜ÂwKf„ÙðýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýøæØ¬ˆ{mighjos…Š”–˜™š£”›•’‡ƒwic_``aa`^_a`a__`b``^]]_Z]]]\`[YXWUSTUY_fny„›Ÿ¯ªÏÑÚǯ‚k`WMD=1-)+'()-04;=@BDEEBFIMF>50258:85672-+)$#)#
-		

-		


!#&%&" 1T\\^^\\[YZZXWXX[[[[]\\\\[\]\[[Z]\][\\]]\[[[YSJA:4=HMRRSRRKFD?=:9877777787888788889999999899:9;::;<<<;;<<<<<=<=?=<<==<====>>>=>>??@AAAAABCCBA@@@@@@@BAA?BAAAAAAABABBCCBDCDDCDDDCDDCCCBCCEEWWVWYYXY[^`\[ZZ\]^_`a]^[Z[\^``abfdd``abbf__ZYZZ\^`deffjihccddfhhjjjhliiijkmnnpsttrsoqmkkkknopmnmnnnkmnoz‡ ´ˆrŒ…€spzˆ‹ŽŒ`JCBAABEBBGTah_TE?<?JXitka]q˜ÒÒÖ²³ihvz„~¤ËÌéðóëçáÑÕéõú÷ó÷úôÜÛëðè¼®ãð÷ûýþÿÿÿÿÿÿÿÿÿÿÿÿþýú÷òíõýñÚØÚèñùÿÿÿÿÿÿÿÿÿÿÿÿÿþýþùǑʷ^TZW—k`fÂÖéóûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýøê½–ƒrlhhkp€ŸŸ§¤¤Ÿ˜„|vrlfb`aaba``a`^^^^aaa_]]]\YYXXYWUROMKMNQUY^djt‰’§«­¤™vXJ;620.-,.037<ACEDCCCA><;77870'$$&+--.//.,3*)'((#		

-	
-
-	!$%&&&"! 6V]__]\ZYZYXWWZY`]]^__^]]]`\\[^]]\]\_]^^^\[XXM@529GOTSVXZXXRPHB=;:8877978788;7888999<::99999;:;:>;><;;;;==<<>>==><==<<?>=>>>>>>???AABA@@ACCBBBC???@@BBBBBAFAA@@@BABBBBBBCCEEEDCDFDDDDCDCEDXYZ[\\\\]_^]\[\^_a^]\\\\\\_aaaabbaa`aabb`\_V[\_bcfghhggghbefghhhjjjiijklmnooqqrrrpnlpkllmnoopmmmmmljkjnwƒˆ„|{}}€•„t}ŒŽ‡eJDAAAACCBEO[[_PHB?>>IT_pf]i¥¯®’fs¼€«tv•ÍãòöóñíÞÒêóùöòô÷óçåìè˨°äðøüýÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿúôøûòÖ¹¶ÀçôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüîØÀÃÅka\`¡¯kg–¬®©¹ÜíûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúíÊ©‘yqjlp}˜”œ‰„|xtnligdcbbabbab````^]]]^_]\\[XURONLJHIIIKMNRUX]aiklnmjgb]PC?333579<@DGJKLCEB>;8631/-,+*(# ()*'*++++*'$'#


-
-


-
-!#%&'(%"!!:W\^_]]YZUTSTTVY]\]^___]]]_[\Z[Y\\]\]]][\[YWMA8/9EKRSTWYZZXVUTLFB?=:9897767788899:9::;::9::<:9:;;;<;::;:::==<;<<<<<<=<>===>>>>>>??A@A@@@BCDAAA@>??@@BCBAAAAABBAAAAAABCCADCDDDDCCCCCBDCCCCCYZ\\\]^\__`^^^a`_^^]]^bccagddacaabcbabdaa``acdegllkkkggghiijkjjjnllnnopprrwwwrtpnmkloqrqvswponnmlmllljju}…–„ƒ…‚zw”™ƒ„“’bJFFBCBBBBDIPTQLGEA><>EL[mc^lz‹³{o}ʱ§ªlho—ÌÙíðòîêíñóõôòîíîðñêÏ´®µêòøüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúúùï̸²Íéöÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùôõòå€_R^¨©l‚ÚèÜ’cŒÑãøüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûôÜÁŸ€upsŒ–ƒ|uolheccbaabb_bbbba___^^__\[ZYTRPMLKKHKHIJIIKMMOQSRQOMKHEB@>><;;;=AFILJIHHEA?<9642/,*(&%##" &&'%'(+**)%$&"
-
-&')*((%"!$?[]__^\ZYRQRSTUY]^caaaa_`__Z\]]Y`]_^_^`_`[ZQE:25CMRTUX[[[[\[ZXVURJC?<:98777778;999:::;<::::::99:::<;::;<<;=<;;;<=<;===A=?>??>>?>>?@@B@EDDDDB@@?>@@C@AAAACAAACAAAAAEBBCGCDDFECCCCEDDCDCBCGCZ[]_^^^]_```^^_Z_^____aabbcdcaaabcefcbbabbcegjjhjijijhjkkkkljjijmnoppqrtsttrunnmmknoqsrrrprpnnlmlkheddhty|†€†Š‰‚Œ‹Š¦šŒ€cQGDBCCCBBCFILMIFECA@?>@DUmd\W[ÃŠp‚Æ®®©¡i]bh†¦ÈçìæäìôóñòñÝ×ßñò踧¡¿îóùüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüøíÔÅÍäíøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþí­hX_µl›èòä†QLzµÙ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþùçÚ°‚v{~zyunljigedecbab``caaa`_``b]_\YTQOLKJIHIIKLKKLOLNMMJFB?<987<9;=BGHJMOONILIFB=:7410/-)(&%$#"!   "#$"$$$$$% 
	 ,$%)!"'!&)**)(%!!'H^]aab_[ZPMGHKRY\^abb_a_^[ZZ[ZZZ\]^[_^^\\[SIG<?BMUVWY[ZY[]][ZYYXTTMHD?=<978888999999989:9:::::9:;;:::9::;;<<<=<<<<<<====?>>????>>??AA@AAABBB@@@>@@@@@@AAAABBC@BBBBCBBBDDDDDFGHCCDDCBBCBCCC\^b`___`ccc`^^^^__abdccbhbbbbabbddedccbceffimjkhkhhjnnnnolkkilqqprtuutwvvtvttonoqtxsusrrutuoojjheefeeghrtx“”™ƒ‡ŒŒ‹‹ ¨”‚jVGDDCCDBBBDEGGFGHFCCB>;<DYqdXSq‡›u†ÄŸ³¹£ma[\b|•¸Ü¾µÔîððóñåÈÖìñ麟¥ÌîôøüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüõïéÞáæïöúþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøç©t‹Ãm©íòá}HENu§ÏòùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüøëÄ£Žzynlgeeeedccdccbb`abaa```_^ZWTROLKKJHIIHJKLOTINKIEA?<;:::<>@AEIKMMLMMKHFDA<952/,*)(('%#"!!!!   !  "#   !

-
-,F:**6=C%-%'.00.*(%!!+O]_agcd_\TLBCFPW\^bbf`a^]]_Z]ZZ[]\^^_^b^`ZPKILRRZ[_`aa`\\]_\ZZ\[XXZSQHB>;:9889<;;999989:99;9999:;<;::;;<=<==<<>=?======>@?AAB??????@@@AABBBB@@A@@@?@BACAAACCDBBBBBDCBCEDEDCEEDBCDCCCBABCDD`aaaa`bcbcba`_`bcefgcbbcbbbabcccdefdddeefihjjihgmikklkmmmmmmopqrsvvuussstrrourttvvursqqpomljhffdeehhjno{pjop•™‚‡Š|l|š£ Œp[HDCCBBBCEDDEGFNOPNLIC?<?CSl`R\e^ZÆ±ÓÁ©ŽlUZ_p€š¦±»ØíïôöîÏÆÜñíÄ­ªÒîôøüþÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüñâ¿ÂÌßòüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúê¿´­›qµðòævf…^HfŒÄóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûñÕº‚xnkifeefcddgddc`bc`]]]WTRPOKKJJJKLLMNNKOOOLGC==8;9<>@BGJOQRSRRJIFCA@;8530.,*)'&&%$##"""!! !! !   


*GHJ51Jf@'2-# %/=A;4+&$!/S\`aabcc^WM<=>IT[\aab``__`_[\[\\\[\]^^b^\WSPRRUWZ[]]^_____]]\\\\ZXYUTPKGD?<::99999::989::99;::::::::::;<<:;<;;<===<<==>????>?????@@@@@@AABBB@?@??@@@@ABABBBBDDBBBBCCCDDCDDDFEBBDCBCCBBBCDEccccfccddccdeegeedhecbfcccdeefgeeefffffghigghigjnmqlllmmnnspqswutuvuurqsvssuwu}utttuvpqqpjhgfedegkqrturzmhhhv…œŠtfjб®£eODCCAABCCCCCDGQ^]\WRKE@=<BUjXRUNT|ϯÖЭ¾ hYZ\jz“¶¶ÉîòöùôÕÎÑïð׺À×ðõøüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþøï×ÁÅËâêõýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùóóè¯x¾òïÛspriKImŸíÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü÷æÕ«Š{nkhgffcdcdddbad^\VSQONLLJKKMOONOOLMIGGFEA@??@ABEIJKIQHQNLIECA?;8641/,+)('&&%$$#$##!"""!!!    "$:WjP<Hfh@%"/A?5(#).-)'*=WWY6+&#!4X]dababaaYOB:=CUY\bce`a`b__^^]__^]a^^_b^[YZWVX[[\\^]]^^^^^]^]^_\\ZZ[\WYVSIB>;;:9899:98<<;9:::;;::::::::;<;:;:;><;<??>>??????B@@??>>??@@A@ADBAAA@?@BAA@DACCBBCCCBCBCCFDECCCEEDBACCBBBDBCDCEfgededdedcdedbbbbbbbccdccccbdddeeeghhhjkkljiknnonnnmmlnppoqqrstusrsrrrrsvuvwvvwstttvsomkiffeeeikmqppqqrzkWZ^djkl|ydkzš¿«˜{XICBAAABBCCCCHUeuj`YRMFA>?@KWY_YS|××ØÂ¬§®¢k[[ajv“ºÅíôøûöã­ÉíóîçØâñõùüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýôéסÀëûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþøßÆËôíÄo~¶nVWZ‰èþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþû÷꺕…tnjhfffcbdd`^[WSOMLNLMMOPQRR`POLJFCF?CBBCDEHLNONMKJIGEC@=:8531/-+*)('&&&%%$$$$$$$$$$$#!!!     " &2?5%$1Oo`SNaek>-;SYjD*0<FPA/7LSWI5("#:Y^_____]\ZRKIGMWXYZZ[[^___`^^^___^__`ab]\[ZZ[[[[[[[Y[[[ZZ[^]^^]\\\[[\XWUSOLID@>;:9::989999989999:<;;::::<<;<;;;<<<>@>@>>?>@??????=>???@A@@A@@@@@@??@AAAABBBBBBBBBBCCDDDCCCDCCBBBAABBBBCDCFkggghhhfgcefhbbbbbccecgdcccdeddddfijkjmklnpqrnonnnppppqqtqstwsrrqqtssuvwvwvuvwtxtrqpljgeefjlorttqtoqonokSRZlh]eu‰yvxˆŸ°§ŸmQIBBBAABCCBBHWpzwc]\[NE@=;>J^bph€ÑÑź°­ÁËȾ^cgjrˆ­ÓîõûøìÅÄîø÷öôòôöùýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿû÷é˰¨×õûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþôèóûî¬lŽ–msšp{åúöóøüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþùíɧ‘zrkiffd`][XVTSPNMNOPRSTSSTTSPNHKFFGIJJJJKHMKKHEB?><;97630.,,+*)(''''&'%%&%%$#$$%'*,*&#!!  "   !##%(,18=(.D_`a=)7gd[SMdnR;?ZSgjT8=Qf]a7>KTPB0& %AZ^```__\[ZVVTUXYXYXYYZ\\\]a_cacbebcbebb]^]a\]\[[][ZY_\[YZ[^]_^\\]\^\[ZZXVTTQOHA=;;;::99999:9999:;;::::::<;:;;;>;=<==<>>>?>@?>>@>?>>???BA@@@@@@AA@@CCCBBAABBBCCDBBBCDEDCDDCECCBBBABBCDCBDCDfffffgfedccba```bcddccgdddddddfghiknlkmmnppnoooooqoooopqsqrtrnnnqquwxz{zzvttuxtrqpnkjhkfiknrrrpppooonmlpkIMWgg_[o¡ž v|‚’±§ƒiRIDCBBBBCBBJYo†veca]WLD@=>>HQ_q†Äšx™ÂÌçáᾤžoQMQw´ÔòûúòÍÃðúûüùö÷÷úýþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúèÑÅÌñøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýþÿïªkœdpxovÞîäÜæõüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûñ× ƒwmhfa]ZVURRRRRTXZ[VTQNNMNQMLLKIOKLKMKHECA@><;963210/.,+()))(('''&&&&&&&'&%%$'+7?@C0$"!!!!!  "#$%),**8A@CGJVcQ9)(Dadh_P,:cbB,GfW?=NQTakJ8Mg_]L9=HIK4&")H\^_]^\_ZZZXWWXYZZYYZ[[[Z[[]\^``bbaabdcd^]]`\]]]Z[\[Y\[ZYZ\[[[[ZZ[[\\\^YYWVTRQPJFC@?<;:::9999:;:9:::::9:<;;;;;;;<====>>??>=>???>>>=>>>>@@@A@?@AAA@@@AAABAA@A@@@CCBBCDDECCCBDCCCCDBBBCCCBECCgedfjghdccb```^aceeedehggfefhikmmkknopqqppqnopqpqooooppqsqsqpnnqtv}|€z{||{{tvtqpomjjhjklrrxsuqoomlkkkkinjHKUvoeckœ£¨­Šzwx—®›‰jRJEDBBACBBKYqzxjilvaQIDAA<<DNg„xq‰§ÜÖÕݽµ®«zJ7:Ix§ÒðôñØÅðúûüùöö÷úýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþùóôöûÿÿÿÿÿýúôîòöøúöòøþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿ󳋍sZx®msÚܨ€¦ßôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü÷çÔ®‹yie_]ZXVUUVWWWYdYWUPOOONNMKJJIJJIHD@>;:86420.--,+*))('''''()&&&&&%&''(*+)'&+;OZgQ7&"!"""!!#*05:C<6=X]aholijlB/=aSJZpO/=`[.%BgV:CWb`^S?:ahJA:3355/'!.N^_c_^\_\\ZZ[\[``````_]][[\^\]^_acaabdde^a_`\^]]\\\\[[[ZZZYYZZZ[ZZZ\]]ZYYYWWVVUUTRJC?=<::9999;;::::::<::;::;:::<<>=@=@??@>>>?>>>==<<=>>@??@@?@@A@?@A@?AABBBC@BACBBBCCDCCCFCDCCBADDBBBACABCDgeeeeedddbc`a`bcfigeffgggghjkllmmnoonqooolrnopooonoprsrnsppopqsxyyyyzzzxwwutsqqnollllooppsrqpnnommlllkmqiGIQgsmi— ¸°£Šxz‰ž¶¦nRKFDCCECBIUcpnmnpvfVKGEB?>=CKd|kds¬ÕÓÜ»ÎÈÔŠPA3>Kq¡Ðíñéæñùûüùõööúýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ÷翵ÔöÿÿÿÿÿÿÿþýüûøéÑÕðüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷РfWŠisϨi]]¡êÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúò式}mgba`^\\ZYWUYXXTTONLJIHHJFCA@=;:964210/-,+*))(('''''''''&&&&&&&'&)-4;==3+:Q`sjd:'()-1-('':NQTX\FK]jkkjdfikG@RXIDT^L;DVP(#OgH7Oma_QG69]jP4.*40+# 2T^_`_^\^]\[\`\[_]]]^^^^][[\\\]]___`aaa`d^`__]]]]_][[Z[[[ZYYZ\[ZZXZZ\ZZXXXYWXXWVWXVUPKG@?=;999;;::;<;:<::;;;;:;;;<<;==>=?B>>>>>>>==<=>>>>>?>??A?@@@@@@@BAABBA@AABBBCCCDBBBBBBBBBBCCBBABCBABAhfedccddecddcdgihijgghihhhklopqnonsmkmnnnnsooonoopqsvssrqqqrxz{xxywx{{{wxtsrqppoomrooosrqqrnlmmmkmpqqpsqhFGL^trk„’œ¶¡›Š‰–°Å©‘pWNGEDDCDGQWansvvwh\QJHGCA>=@GR\dou¬Æ½¨ÈÂÛ•z`G7?Mx²Òêêèò÷úýùöö÷úýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûì²|Ž·òÿÿÿþýþÿÿþþýóÕÁ¾äíõýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûõÛЃYy†lu£„^Wb{Ç÷÷öôñøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýøëœ‰vqnjfb][ZWRTZTQNKFCBBA?><;975430.--,**)(''''''''&&&''''&&&&&'''',<LWbSA>F^rtuc=./;HJI9,3O^mWdNFWnaZdr\SgjHCVe@7YhE7LhB#*Yd@CbebM?3(3Xb]:,,4-(7X^_b`^_b^___^][^]^_c_a_]\\\\\a_c^^_ccbcd``_`^^]]_`\^]^\\Z[Y[\_\]]][\YYZ^XYW[Y[Z^^^`c[TKEA?;;::::;;<=;<;<;;<<;<<><<<==@=??>>>>@>A=>=?>@??>?@AAA@@@@@BBBABAAAA@@BAACCCCCBDBBAABCBBBCBDABBBBCCfdfbccccddddffhiklkhhhggiilnpqpnnmmjlnpspoqpqrqppqruurrrttuvxz{yyyxwytutspppooonolnmmmnlnnnkkknmnpqrrrrveDEHWny‡~„…}š •™§´¾®•w\OGEEDEGNSZlyvsqkbUPLJIFC@>BAKU\er~•ÃÈÊÀÚ­¾”cF=GPu¥Àêðóöúþúö÷÷úþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÌ†om¥îþÿÿýûýÿÿÿÿÿîϹÉÒÙìùýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþøß©•œy]¶x]ƒš„¬éêÒÄÖñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùì˲ŸŽ…{smdYVVNMLKIGB=;9985320//.-,+*))('''''''''''('&&'')'())(''&''3O^nlnUFWoruv_?3BUZk\R<8VodQG>CabY\_`PPeeFNfa;D__>A\d:65a`=BeeN:;,.1LhcB/-/+#;[]`a__`b_^^_[[Z\\]^^^__^^^^^]^^_]]]]]]]__`]]]]]^]]\]\\\[Z[[[[\[\[]\[XYZZXXXYYZZ^_ceee^[SKF>=;;:;<<<;<<;;;<>;:;<>==?=<=>>>>=>>>====<===>>>?A??@@@@@@@?@@CBAAAA@BA@BFCABBBBBCAABBBABBCABABCCBeefedegeddiejjjjllkihhgjlnsopnmmlllmpprqqqtvvwxwusssuuzzzvxxx{z~}}xxssrronnqnpoppolkkmkmmlklmooprusvrrubDCGO_m~…Љuw†“¤¤ ž¦®ºÐ²y[OGFEEHKOWjuyqnnmaURQNKFB@><>EKU\]dƒ‘­´½¬ÁņWKFHNl‰Àèð÷úüùõö÷úþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõ¾tdjšîþþÿûøûÿÿÿÿÿõãìíä½Õëòöûÿþüþÿÿÿÿÿÿÿÿÿÿÿÿÿüúàͯwe¶rmŦx“ÛšŒ“ìÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùïÜ̾µ–„}r^PJFDCA?=:5210.-,*)((((('''&&&&'&&&('&&''('&'''(+./-*(&'):Zrtwqeehnyuw_@8[Sdhr]A>`o^C13BeiQHbfLP_^JR`]JLbW=@bb6*AjV:GhgE=::ICHhi?2.1' #B]acc_`aabb`_]]]`]_]]^_`aacab```aa`^_``\]^`]_^_^_]]]a]\\]]]\^]]\^^]][[[Z[ZYYZ[]^adiilhhedZSID@><;<=<;<<<<<<<<<<<>>>??===@>>=@>>========>??@??@@@@@@@@@AABBBACA@ABBBBBBAABBBAABDCCABCCABBBCCBgggghihgfdffijjkklkjkklpqspnolllnnopqrrrssvxuvwytsssvxyvzwz{{z{yyxvutponnmnmmmmkkjnmmllkllllopsuttutsrswaGFGNUc„•Šqss‰µ©£¥¨¬²¼À°£yXNIGFHJOVepspprtucWUTNJFDA>><>BLY\ez¶´Õ½Ý¼·¢hKHGišÍíøúûøõööúþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿòªhcj“îÿþþùôúÿÿÿÿÿüøûýðÔÊÎÛæöÿüùüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüöâ¢w¢»u{ÕËvÔžqM„çþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýøóíåЬ¡£†cMB>:7542/-+)))(&&%&&&&&&'(&%&&'&&&&'&%%%&'''*,6=AD;1+'(+>dqvvvmhkmqtu^?;IOXbieDDdpT4,,FhfHPg_JWmT@Sm_TYeD0Eh\3.TZLLIdiVS?BNPVgQ7-*'"'K_abc_aaa``______]]]^_acabaaa`aaaa_]][\\]]_]__^^^]]]^^]]\[[[\]]\^^^^\[[Z[[\]\]`behiijhhggb]YQHD@>;;;<<<<<;;;;;<;========?>>==?><<<<==<=>????????@@@@@AACCCAAAA@@BAAABABAAABAABBBBBBDCBBBBBBBikohjjllkiiinkklpppprsrrrponopqotsstux{vxvxwuttsstvwxz}v{{{{{z{zywvuupnnpnnpqmnjjjmnonommnprvsxttstssrty`IIFMRZjy¢ƒ{oœ­§Ã°¨«°·½²Ÿr[RJIIINS`lvqqu‡„pb^YRMJGFB>;9:>JS[_}‘±´³µ¯Ë²˜cFBQÀàöøú÷õö÷úþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿþñ gahíþýüøôøüþÿÿÿþüýÿøïÛ¾ÉÒàðððøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüóÞäßÒyyЪo€Ö­^F}ç÷õóùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüùöðç䡝eI:520.,*('%%&&%%$$$$$%%&&&'%&&''&&&&&%%%%'').;IUb_[B/((-Bfquxvxvsqpqr[>9AORirdGHgnJ/',MicGRiZ[^jNOSinomQ6,NXX.2Oa?.@dgiN@CeijWA-$""-S`ebcabbbab`ecb__^^^a_cbbbbceeeba_^^\\]^`^``a`b^^^]]^_^^`[`]]]]]^_`]]]][_]^^`bgijknmoomkqjkd`WNGB?>>=<<<=>=<><=>===<<=?@>>A===>;<<<<=>>>????>@A?A@?@AAAAA@@BAAA@BBAACBCBDCCAABBAEBBCCBAAABBCjmojkjkjkllkkkklooosrrnnmnnnooqqrqstw{wvtsttssssuxvwy{yvxyyxxuuuvuuqpmnnpooromlhjkmnnnnortuvurtssssqrrtxeRLGLPW`m€‹ƒq{›§Ç»²ª­®µÅ­ŠzaTKJILQ\ivvwwŒ­lc_TNLJIHC@<8:;G]_cyµ½¼«šÁÞ±vL<GZŠÝñöù÷õö÷úýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿýï¦hagŽíýüùöóöùüÿÿÿÿÿÿÿÿýòÚÌ÷¶¸äóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüöñî݆r„‘m…×ÄcJ{ÛëááñýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüúóéÉ¢§˜eB1,)(&&%$$####$%##$$$%&&&&&&&(''&&%%%$$$%&*.>O\knseT6))/Fhqstttth\lqrX=3DR^oqbHMjlG,)/Tk`JXlVM]iD1FfglS<,&=R:&*H<,(1H\K;52JbSH0!3Wbcbbaabbbc`bbb`aa_^_^aabdcccddab`_`^]_``______]^[]]_\\\\\``^]]]__^]]Z[[_\^_chijjkkklmlkkkjigg[TOEB?>===<=<<<<<<=>=>>>??>=<<==><<;<=<=>????>?@A>??@BAAAAA@@A@?AA@?AAABBABBA@BDAAABBBBBBAABBBlmomklnnooopoorooopnmljmonqqvqrsvrxwwurrqrsttszwwxwxzz{vvw|wvwwvystpoopponoommonoooqstwxyvvtttttussssru{j\RIMPU\brŽŠ™~x£ÍÃ͝«­·»¶²‰fVMJJOXfy}{“®²vg_VOMKKIFC@;97<L_\`|“§®µ¾ßÚŠT=;F]¤äòú÷óõ÷úýþÿÿÿÿÿÿÿÿÿÿÿÿÿüöß³k_fíýûøõôö÷ûÿÿÿÿÿÿÿÿÿúõä̼¦¿ãñúüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüûúìšjq\T•Ö®cgƒ©¥“ãúýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûøð彟™–Z;,&$$#""""#""#####%$%%'&%%%%%%%%%%$%%$$%%',<TbpkvuxZ<+*0Iksmipur`ZirpS<>T\fks]HQmkC*&2\d]Sg]NMaO516IYN>,!0+$!!$% $/1.(&798. #7\adcbaebbbccbbfbccccddfffcdccceada^_abbaca`_a`a]_]`__``_b`___`a^_]]^]\\\^^ccgjnkpmqorrssqqqmjhddaTJDA?==<<;;<<===>==?????????=>==<<<==>?AAABAA@???@ABA@ACAAAC@BA@@@A@@AABBAABBAABBEBBBCAAAABmmmnonpqppppqrpokikkllnponpprrrrrqrrssrrsstttt{zzxy|yxvtvvwvwxtsqooonmnmnoonnnnooprtvxwwxvvuuvuttssstsv}l_XQPPTY^cr„‰ƒ€‹œ¶ÂÄÆ¸­®¯²´ÂÇ“hVKKLUbirz}º±‚m`WOMKKKHEC@=;;;HWWYn¡·áÌáç£oE<<PuÛíûöñôöúýþÿÿÿÿÿÿÿÿÿÿÿÿÿùßÄ‘l_f•ìýú÷ööõõúÿÿÿÿÿÿÿÿÿÿÿùéÞÌÈÛîôøüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿò¶jR@]­Ù˜dª®~QsÌöüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþû÷îÔ±™‹xM4&$#""!!!!!""#####$$$%&&%'%%%%%%%%$$$$$%&'0L^sb^itu]<+*1LllfjnmqZQhroPFJ[ffiqXMTljA('3UjSINU@=<;)'/10( " %=\_aca`a`abbbbbdcbbbabcdcdcccccb`aa_^aaa`dca_^\]]^^`b_^^^_^_``__]^]]\\\\]^_bdilmkmlmmoopppppolljgdbWOJEA>=<;;<<<==>==>?>>===>>=>==<<<==??A@@@B>?>??AAA@@AB?@@@@@@@A@CAAAABBA@BDBBBABABAC@ACBBmmnnoqstvwzuxrplfhjkomrqqpsqtqqpppoqqtyuuvzyxx|{wxxvtrsxxytrqponoooomnmmoooqooqwwxy{x~xxxwuzzyyxuutxuyymb`[TLRX\`bkw…‘‰ˆ•±µÆÄ¸°®®³áØÐ“fVLKPZbkrz¦¶ŒtbWNMMNLJHFCB><9<FMJLu·ÁÄâéÊ[>9AeÈìû÷òõ÷úýþÿÿÿÿÿÿÿÿÿÿÿÿÿöŏkc`kîüúø÷öõõùüþÿÿÿÿÿÿÿÿÿüùê×ÔÉ×åïòöùûüþÿÿÿÿÿÿÿÿÿÿÿÿÿøåžVYr¾ÝŒe¥ÞÂtHdÔöüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþú÷į̀’‡vF/$##!!!!!!!!"######$$%'%$$$%%%%%%%%%$%$$&'5Tk`OQ`tuU<**2OnudVbsiOQgsmLFWnj^lnRESnc?('/OIB@?6*('"'C\_a```bcccecechdcbfceeeeddfcdcccc`_`caaadba^_\^_bcca`_e^`___b``_c`_^_`aa`bfeponkmllmnoqptpqonormkgf^[OFA=<;<==========>??=<<=>>===><==B?@?A@C@>>??AAB@AABAA@A@??AA@AABBABBDCBBCCBBDBBBCAABCCnoopruvvwwutpllklkklmmosppqqqqqopqstvwwwwwyyyz{{zvuusppopponnnnnnmmlmmnmoqqpqprsx|zzzxxxxxwuyzywwuututyunaa^[TTUZb]YfyŽž”™ž«ÂÂÌ¿³¬«ÃßÖʍgXKNV[\esƒ”Ÿ˜zbVNMLMKKJHFDB@=<9<?BFg­åëÞ§vT:B\Äëû÷óöøûýþÿÿþÿÿÿÿÿÿÿÿÿþó·h\Zap¨îüúùøöõõ÷øüÿÿÿÿÿÿÿÿÿÿÿü÷ìÒ¾Éßåìòöùüÿÿÿÿÿÿÿÿÿÿÿÿÿÿøà¢…­âß‚iÏìÜxJiÙ÷üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþúöêÄ¢‘ƒk?-$##"""!!!"$""""###$$$$$$$$%$'%%%&%'%%$$%'2XQNECdseM6)*2PpteV[]`PSltkHGejkkmfLOPSZ5&&)/3.)'$"!)H]`````bababaabdddbccdeeeedcba^d__```baaab`a\]]`abbb``_a__^_^_^___`__`abaddefojjjmklooonnnnpoonomljgb_ZRIE?><;:<<===<===??>=<=>>=======>>@??@@@???>??@@@?@A@?????AAABACBBBCCBBBBBBBCBBBBAABCApquvxv}xytpnmnplnmqpponoppqrpqqrvy{zy{xxz{|{{zytrqonnnnnpnnnnoolmlmmnpstuw|zzzzyy{x}xxxzyyyywwvzttuyum`caeaYSY`\UWk”Ÿ˜“‘–ª¼ËÕ»«ª³ÉâѧŒn[OR[WZnyŒªž‚bUOOOOMLKJIIFFA?96869DcŽÆãÍÁ”pOD\¿ëûöñóôùýþÿþþÿÿÿÿÿÿÿÿÿÿô­gWXap»ãóòðòõö÷÷øûþÿÿÿÿÿÿÿÿÿÿýüöìÓÀ¾ÄÕÙë÷ûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿöííîíÞ{oâðãviwéöûþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþúö꿟’€a;*$$#""""!!""""""#####$#$$$##$%%%%%%%$%%$$%.AO?9JfffD0(*3RpteKObQHWpuiDF[rqnb`C6;B<,$""##!  #,,,M]_aab`ebcbfcbcdegefdjfedeedaa^d_`adaca`ac``\_`hbeeebc`b_``a_aaa```a_ccefkkkinjmknlkmmmonmmqppppnollfgbaVMFB><<=<>=><<==>>>@@?><===>=?>@@@?A@@@@?A?>?A@@?@@A???CBCABABBCCCDDBCCDDECDBBBCACCDAqsuvvtsrqpokmpokmmqpponmprrsssuvwzyyyyzyy|yxwwvtroonmllmmlmmmllllklmoprsvvwx}zz}{xyvxxywxxyvwxwvuttttuuup`cc{–rV[a\WVXl„™°’–ªÇÈ˸¯±³Â׿țv`ORTWer‡œ|cVOOLMNLLMMKIHFB?;753>Jp¤¨©¤¡ƒk[aÆëúôçáë÷ýýþþÿÿÿÿÿÿÿÿÿÿÿõÀmXX^k”ÐʾËÙðö÷÷÷úýþÿÿÿÿÿÿÿÿÿÿÿÿüïÕ·ÃÂÅãôûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõâvußîÑle¥èõøûþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþúö黝“Y7)%$#"#"#!!""""""#####$##$$##$$%&$$$$$$%$$$)024ATjkP7-'*3SpsfH?AAE^ouY>@OV_VOC3.,+*'""""!!  (2-$3R]^aaaabbbageeeddcagdffecdca__^``abdaa____]]]_aaa``bbc__^a_`^aa`^`aa`cdgjjkkjkijjkkllmkljmlmkllmmollgfca_XSMEB?><>=======>>>=>=====><?>?=>?@AA>@?????@?@@@@@@?>@@@@AAAABDCDECCCDDDCBABBBBCCCAxuyrppopsoolnnnoqpqqsqqqrsxxyvzzyyzyyyzyzzyxwsqpollmllompmnmlkkmmnqqrtwy|z~~}{{~{}yxx|wzy~vuuuvsuwtssuuqade•‘’d^^`VPPZt¡§•—«¾ÆÈ»±®°·¾ÉÉ£}`OPTZgžŒ{dVNNLLLMMMMNLLJHD@;66:DWx‰ŒŽ‘•pkmÍëùóãÒÈïüýÿÿÿÿÿÿÿÿÿÿÿÿÿ÷Öy[Z\^dvyxªçóøøùûüþÿÿÿÿÿÿÿÿÿÿÿÿÿúõðåɶÑíøÿÿÿþýþÿÿÿÿÿÿÿÿÿÿÿÿÿöã€{àé¥cÙççäåñûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúõ距”R5($$#""""!"""""""$#$#$#"##$$#&$%%$$$%$%%$$$%'+6I_nW@2)&)4SqrhF858C]qbP:28>>:5/*&%%$$"!!!! !!#-44*"<X]_aacbbafdieggfcebgeffgcea`]^^bbcccaa__]]^abbadbbaddd`__`aa`aadafaabffjjmnmkmjljonnmnkmkollmmknmnlliihgdd_^RJDA?>=<==>==@=====>>>=B>@?@>>>>?A?@??>B?@@A@@??@A??@A@AAAABCDDGEDDEDDCBABCCBCDFAtqplkknpnkmlmlnopqqqrrrrrtttttuvwwxyxwwztpqrrpokllnpmlmlmkkjkkmoootvwy|~}|~}}|}~~||}{{ywuutrrowvwwvrtpuurbcd~ ›rgb[WOLUf~šš™•“—¨¿ÇÒ¿³³²ºÐÒß©x_PQS_px}{eXNMMLLMPNNMMLMKIGC@9;>Oeyƒ„zjotÂëùòÙ‡ èüýÿÿÿÿÿÿÿÿÿÿÿÿÿùêr_YPRWWWi‰áñøùúûüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûôÛÍÊêöÿÿÿýúýÿÿÿÿÿÿÿÿÿÿÿÿÿ÷í–§áåb˜àÝ©€—Èóûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùô綝N2'$#""""""$"$#%"""""######$$$$$%&'((('%%$$&%&1?VoZH<0,'*6VptkF2//=ZTS>/-+,-+)(&%%$$$#""!!    !!##&,' '.54."%B\]_aabaaaedhedbc```bdfec`a^]]]^bccdcaa^_\^_``aaccba``a^ada___a`aafbbdffjjkklkkijijihgjjkkkjjhhimklmkjjgggfca[UMIDA>><=====<==>><<<<====>>>>>>??@>>>???@A??=?AA@@AAAAAABBCCDDEDEDCBABBBCCCCCDBonmnnnmnmnpppqqpqtwr|vutqsssrrsuwvwwwustqpppponknmronmmmmlllmnooptz|~{€}~~~|~~‚~~{{{{yvolsqsxwuuvsssuuqccdr¦Çœ›x]SLKQ_q†›—°œ’’˜«ÂÊж®®²¿ÓÜÚ¢zcPPVcot{gZOJJKLMNNNNMNOOOPRQF<=H]xƒ‰uaTf¶èøïÎxtÉøûþÿÿÿÿÿÿÿÿÿÿÿÿüñÄ™wWNLOQTe§çõøúûüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûõïïñô÷ôñððøÿÿÿÿÿÿÿÿÿÿÿÿÿûöîØëâ„c°Ý¯l_]—áóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþøò嵚zK1&$##""#"""""""""##""######%$$$&*.461*&%$$$&+8Oh_MC:72)*5YnwdE0++6;<9.*(((''&&%$%%$$#"!!!!!    !!'&5*##%0;8600#,376/%&H\baddd`aaedidbad^]]aekeccc`b]_`cdddca`^^^c`fbdddbbaaaddddcaa`a`cceejjjhkkmmokmjnklkigkillljiihhmklmjjnnmmmhihf[SLFAA>>=>==<?>;<<<>?>==>B==>>>>>@?@>???AAABAA@C@@ABBBBABDCECCCCDDBBBBBDCEEECBBmnmkmmoprtssrqrrsvtruvvtrsqortsrrrssqopqomnmmnnlllnmmmmonmnnopstvw{}z}}}~~}}~}~}ywvvroqlquuvwxvwvuustvzfcdq«¹«¨‡bVOIO\mx†¢« –—™«¿½º³µ´¯¼ØÓЫƒfPTZblmj]RMJKMLONNNNNOPU`xl]L?ERf|…“~_SU˜ãóé»xq½ñùýþÿÿÿÿÿÿÿÿÿÿÿþúðÌ \NORX_ÜòøùúüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûøöòäÒźãóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûøóà|fÅɍ\P_l¥ìÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþý÷ïÚ²˜‰uH/&%##""#$""""!!""##""""####$$%&-5CMKJ0'%$$$(0Gee[PFJU8+*2Pka[<.*)+.-,*(''('''&&%%%$$##"#"!!   (5*%$ %/11000C9A3/%%/1441&(L\bacba`abcbcca`ZVZ]ceddbaa__^`bbbcba``^^`aaccc`bacbbbcdb`aaa``accefgfhhkimlnijjjjjjigkijiihfdigllllkjkkjiigfed`\XPHE@?>>==<<==<<=>>>>>??==>>>>>>=@>@??@@@@@A@@@@ACDCBBBBCCCCCBBBBBCCBBCCBCCBBlnnoquz|{wuvuttsussruuvrqsrprrqqqrronnnmmmomllnnmmonmmnoppqtwyyyzx‚~~ƒ~}‚€~~xvtpnkrzyyxzwwvwxxvzvvwkddr¯ÉÈΝh]QIMXkq{ˆ «²¥š–°Á·´º»®©¸ÈÐÝ­†eS[[cjj`TOLJKLNNNNNOOQ[i°…cODJVk…„cT^ƒÅåʦ„t¥êöýþþÿÿÿÿÿÿÿÿÿÿÿþúê bY[eršÇéûúùúûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýüûôÛϨ»ãòûýÿÿÿÿÿÿÿÿÿÿÿÿÿþüöá‚kÉÓwFM†hêüþÿÿÿÿÿÿÿÿÿÿÿÿÿþýöíÕ®˜„pE.%%$#####""#"!!""#"""""####$$&+6KcdfJ6(%%%$*<YjpcY_iY<+)/HJKA3+)(((((''('''&&&&%%$$$###""!!  "!75/,**,6<=;23::93''19762' ,O\abfbabgbdbbbbXRTY`defcbaa``abbcbd`]^__`chggcbaebddcbdcaaabc`abeehgihjjjjlkniniiijjlllijjjhfehillnnmlmlkhggffieea]UMGB@?>====>>==?>?>====>>B>>>=>@>@?>???@AAAA@@BDDCCCBBCECDCBBDBBBAABCCCGCBBqrw|}~}zyvuurspussquqppprpnooqlnnnlkkljlmlmllmnmmonmmnppquxz|zxxy||~~~}~€€}{xtqpmqqu|{{{yyyz|{zxxwwxzjcev²»¶½¶rbXPPTcpw|ާ¬¾©˜›¡«´±ÙƵ§¤±ÊËÊ¥{op]^ckcWOLJJMPONORPPTb~Ÿ¨¦€cOCKUhvi]a}œ¢œ“މ”åôýþþþÿÿÿÿÿÿÿÿÿÿþýð©xk°Ìéóúÿüúúùüÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿ÷åÐÆÆÝñöûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøè’•ÑÈgINUUtçùüÿÿÿÿÿÿÿÿÿÿÿÿþýüõëÏ­—„jB,&%$$##$""""""""""""#""$%&(''+0Ga]\RG2'%%%&0F`xrlmmeZ7*(*494/,(((((('''''('((&&%%$#$$$$#""!!  ")=J:5426???9//72.%*39754("2Uc`aaabccaba`_VNV\^dd``a`_``bbbaba`^^^_`bcdcccbadbcabbbbbabbcbbceghgihhiijijiiiiijjiihiihhhhhhhiijiijjjhgfffgggffecaYUNEC?>=====>=>>>>=>=>>>>>>=>?>=?>??@A@?@AAABDDDDCDFCCCCCCBABAAAAABDCCCDCB}|„„…}|zyxwttswqtttuuqnnoqonoormmlllllnkkkklpllllmpmnoqtxz}~~}|}~~}~}|}€€ƒƒ‚{{okmpt|~}‚€|zy|z}hceyªË·Â¼}ld[RR_lsw~œ°¾£œœ£­ÆÑ³¥Ÿœ¬»ÃË™‡ƒc]^gkUMLJJPQRPOPSSYu˜¼Ü¶—y]JBHRcma\cx|‡‚……áòýþþÿÿÿÿÿþÿÿÿÿÿÿýóÂŒ«åîðõúüÿüúòéêêïôúÿÿÿÿÿÿÿÿÿþüþÿÿÿÿÿÿÿû÷åËÅÆÞï÷ÿþüüüþÿÿÿÿÿÿÿÿÿûõÑÀÁ»g?FQ]qåóóò÷ýþÿÿÿÿÿÿÿÿÿýüôê̬”…`?*%%####$"""$"!!$#"####$'+0561.7Zgi[JD.'%%%'6Toxzn{ieG1(''())(''&'''*((('()(''%%%%'%$%$%#"""#!!!!! #*4NKACECCDD98)%"  -5:775*%:[```bbedcad^ZSNS`acdc_aaa^`bfdeed_a^`adffdgddcddededdb`bedeefeeeggjhjiijkiihhiiimjjiihkhggjjjhhijjlihjjhggihlimlmklgfc^QGBA>====@>>>>==>>>??>>>>?>>>A@@@C@@??@AADDDDECDEEBCDDCAABADAAADCCCCCCB~ƒ€||xxvurssspstsqrqmlounooprmmnlnmlmmljjkplmnnlmmrtvx{|}~}}}}||}~}yvsqks{}~zzyz{|€€ƒ„ƒ€€€~~~~ia^m¥º¸»ÂˆqhbYU^kptw{‹£¥¦™—¦Á¿²¨¨ ™ž¦²«·ÂZ\eaRMKJIKQTUSPQSf‡³ÛÙÅ©pSGBEJNSWcu|†x…’‡‰äðýþÿÿÿÿþþþÿÿÿÿÿÿþùëâèóùúüýþÿüù繟¯ÙêôÿÿÿÿÿÿÿÿÿýúüÿÿÿÿÿÿÿÿÿúóçÓÑèôÿüøùùüÿÿÿÿÿÿÿÿÿÿþ÷òì×l\wxz§âæØáè÷ýÿÿÿÿÿÿÿÿÿþüóèȪ“Y;(%$$####"""""""#"#$##$'1;HULE;=Zsl]TF8)&%%):`mwrn`VE5,&%%&('&'''''(((((((((''&%%%%&%%$$##"!"!"$')&"  #%)+5HJEG<763/+&"/67788-!*F]_``ccba``\WTPW^`dbbb^^]_^acdbba^]__abddfcgddceccbdecbccdadcccdefgkhjijkjiihijjjjhihgfffgfgfighhjjlijjjihghijhlikkkihgdaUKGA?=<<?>>===>>>=?A?@?>>?????@>??@>?@AAABCCCCCBBABABCCCAABAAABBCECCCB€ƒ~||}wxxxxwtutytsnmmmloomorqsnommnppppqmnmpppppqsvy|}‚‚}~~}~}zmhsqw†}ƒywut{z‡‚ƒ‚‰…‡‚…†‡†‚l`[bй¼½Ã•™xc][`onqt|Œ£¡Ÿ™™œ«½¯ª­ªš‘¸²ÎÇ r[dcRNKJIGQY\]UPTp¡ÏÕÕ¿·˜†eK?>@@GOcq|†ˆ‘ˆÞîýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúõøúúùúûýÿü÷àŽ†…—ªËî÷ÿÿÿÿÿÿþûùûýþÿÿÿÿþÿÿýúôïðñøÿöíóùüÿÿÿÿÿÿÿÿÿÿÿýúôà}g¡ÚáæèÕœ°æöÿÿÿÿÿÿÿÿÿýüòæÆ©•}T7'%%%$##""%###"%&%####%/=OchlS?<]hsplYE.'%&*>[ne[PF=0+'%$$%&&&(''''''((((('&&&'&&%%%&%%%$#""!"%-=2.,+$$&(*,3FFG=3/+'"#19?;;:6(1P^``aca``e[TORXaaccbab^__bbcchca^\]ccddfegehghdecedddcbgcdeedhcjfhhjjkilkkjjkkkkjjhjihhhhhghiihkjjillmjjjkimmmllkonpnrmmhgZPGB@>=?>>>>>??>>???@?>@@A@@??>>?A?DBCAABCBFDBBBBBAAA@@@@CAAABBBCCCBB}|{}wxxxwvvsrrqpmmmmlnnnopqolllnoppqnnmnnpqrrwyz{~‚}~€~~~}}||}}}|yxqknhpvw~|{vrwqw|ƒ‚‚ƒ‚………‚†‡ˆ…‡ƒ‚uj]_dn{¡Ä”’‚m`]_gnpsuy†š®¤¢œš¢¦§Íº§™’—žÂݾ‡qifRNKOSUXami`UUwÇÒÐË»½¡}ZCDHEAN_nЇ}‡‘‰Ììþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüú÷ùúüÿüöˍ€}Ž›Ãîÿÿÿÿÿþüúøùúýÿÿÿþþþÿÿÿþýûùüýíàìøüÿÿÿÿÿÿÿÿÿÿÿÿÿùè’m»Ùð÷íºb`s³ïÿÿÿÿÿÿÿÿþýüòåĪ™€Q5'&&$$$##"##$%)-/0($##,:Odcqk`=8K^bqnoL2'%%)6VMI@72,)&&%%%%%&%&'&&'('''((''(&&&&%&%%&&*/*%$##$+3:9;@0&-=1***-1/-' #/:>:;>8'7W^`aba__[WPRQYa`aa``_a^``aac__^]\]^cddcfdgcededcbdfffdcgddeededfdfgiihgigghjjkjjihgiefefegfghiihfjijikjjkjikklllmmmnllljhgbZRMGC@?==<<=?>>???>?>>???>@A?>??A>@@BAABBBDDDCBCBAA@@???@@@AAAACCBBB‚}~|||}~xwrppqpporpoprnoopomkknqoqprnmnpqswz|†„‚ƒ„‚ƒ‚~„}|{{{{{zxtmgnw{~z{vqmjqvy€ˆƒƒ€‚†„„ƒˆˆ‰‰Š„„|ye][`t—“‘•»‘zpcc`bmlnsy‚£ª¢–•š¤¾Ê¯¢˜“—·ÏÝ™‹‰‰[OMS`klmt|k[Vy¼ÝÕËÄæ“‚iVURKJP^n|‡ˆˆ‘“Ž»ëýþþÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿþýúøùúüþùñË’††Žœ«Ö÷ûÿÿÿýûúùùúüÿÿÿýüüüþÿÿþýüýúáÉÖéñ÷ûÿÿÿÿÿÿÿÿÿÿÿüñ·wŠºÑïè¤aQn’ìúöò÷ýþÿþýüûñäĬ—‚N4&&%$$%#$###%,5DM<,$#%0Ide^inQ96>HOitnT2($%(.584,)(&$%&%'%%%%%'&&&''''''''(('&&&&'%%&).10+(%#(0:AEKC6'/88($##"!".7==<=</>X]ada___TMNVZbafa`_baa`ecdce^\]]]cchefcfffffggcdddeeeidgejhlefelddehhggkjojnklllgggiiifgfhgjikjjfkjkinkkkliolmlklmloopmjjlig^ZRHC@>>=>??>>>>>>>>??>>>B@?>A@B@C?BBAAABBBCBAABAB@B???@@@ABAABBBDB}|||}}~||wrqppoqppoqqqsqnopplkknooooopopqsv{ƒƒ‚‚‚€€€€€}~}{{|zytoqorzy|wusnols{|‚‚€€†‚ƒƒˆ‡‰‡ˆ„…~{ne[\[|¨†~´˜—–rbadhkmqtx† ¡¢Ÿ›–’¸··¯¥“¡¯¯§±ÁœgTNXpv~uxz|fYr°ÊàÑËĪ—•wZcfTX]py|xˆ“‘’²éüýþþþþÿÿÿÿþÿÿÿÿÿÿÿÿþýûùùùûýöíʤ‰‰—ž­Åî÷ÿÿÿüùúúùùüÿÿÿüúúùüÿÿÿÿÿýúÞ̸ÀÑë÷ÿÿÿÿÿÿÿÿÿÿÿÿúä¥n‡¢àܬifyŽÜòéâíøýÿþýûùðãÄ«–€K2&%%%%%#$$$%+6JbWI/%%'8\deeiXD86=BQ`jmJ0'$%%),+)('&%%%%%%%%%%&&%&&'&'(()('())())'&&&*-:F81.*+,9AEPFC0&+8-%!'3;;==9+BZ^c`_^]SJPU[_`a`^^]]^badbba_\\^^^abccfbfdccddddddeeecccedigfeeddcdcighgjiihhiihgeeeffhggffgihkjjgihjjmkjjkijjkkkkjjiiklkkjigda`VMGA@>>?>>>@>>>>??@>>?@?>>>????@??@@AAAACAAAB@??????AA@@ABAAAABA€}|€{xusqsqqruqrrrssrpnnopnrsspoppqtwyzƒ„„„‚†„‰€€ƒ€€ƒƒ‰}~}}|yworz|}zxwtsnqv|€~„‚ƒ‚…ƒ‚†„†…ˆˆ‰‰Œ„†~xrcZY`ily¯£¡–tjjdakmptx„Œ¶¨œ“›£¬¾·°•Ÿ­ªÆÅÀ†_V\q€|yz|~pfl¦¿ÏÒÔÙ³‘‚ms‹„h[[lkvxˆ”•“­èüýþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿþþüùúúüýõìÕ²š“¤ºººÈìöÿÿÿýúúúúúüþþÿýúùùüÿÿÿÿÿþýöèÆªÂæöÿýûýÿüúýÿÿÿÿÿõ⯎²Ê½ºn†˜çëÅ£ÉëöþþýûùðãÁ«”|G1'&%%%%%&*-+/@bgjF1%%)?dpliYJ>:AYWYemW=,&%%$%&&&&&&%%%%%%$&%&&(&&&%&&((((((*+/3.)''*.9IC=>@-+1KJIFE6)$#$$!!-:=?>7-I^da^^^RKNZ]caf``^^]_`bbgbc_^[\_aafcdcedgdccedeeefjfededghihfggbacghiikilihghhifgeeglfigjjkjoijiijkjonnmmlnkmkojkijjkijlmlkijkkgh[QHB?>>>>@???????@@A@B>====?>A@A??@CCD@CCDBB@??@>??AAA@AAAADBBB~}}|}{vurrrrrtttqrrrprqqqnnooooppqqrtx{~€‚‚‚‚‚€€€€€~€€€|~~|{wwwwwvvvwvvvvx{||€‚€€‚…„„…††ˆˆŒ…„€}voe[\\cs¥«¥¥™„„¡magnqrvxŽ¢·©›‘Œ’𮯵©£™™›ÉÝÆ®ˆeelooqru€vjk›´Îý¾»¥„qt–‹o`gpuv‰”–“©èüýýýþþþÿÿÿÿÿÿÿÿÿÿÿþÿÿüúûûüýóéÛÅ ž±¶»ÂÊêõÿÿÿýúúúûûüüþÿýúùøûÿÿÿÿÿÿÿýøèǺçôþúöûÿúôúÿÿÿÿÿþøëãß˦º~m¬Ãç覓¥Åïüýþüúð㿨’vF2))(%$')/5649HfugC/%&+AjptePF?ADRllnXE4'%%%$%&%%%%&%%$%&$$%&%%%&&&&''''(((-57;93+'-4<JJDA?7/*667660+%!"!  '7=??51N`^^\ZRKQV[]]^]\]^^]_abbbb_\[Z]_``cbccdcgccbcaeceffgfbdehhikfbbbddefijjjlhgfffheffgjhfihihiikijjkkkjlkmgiinkmijhkjjjiijmnjiiiihhgc\TMEB>???????>>>???>>=>@>===??@@????@@ABBAAA@@?=>>??A@BAA@AAAC~~}yxyxvtw||{zyyyqrtuuutwpmmposqqqqvx{€†‚ƒ‚‚ƒ„„ƒ†……‚„€‚€‚}~wvvvuy{~}}{{}|†ƒ…~ƒ†ƒ†„Ї‰†‰‰Ž„ƒ‚ƒ}xuf\W[l˜¢º°º¢™œ}hcdqputvƒ”©µ¡•Œƒ ®»¼¼©œ›ÐÏÏɽ“|refcelz‡okƒ¥Ÿž­Ñ²©‡zwŒ•‰nabqr‹”—“¥æûüýþþÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿýûüýýþóéåç§¡¸âɲÑçóÿÿÿýûûüüüüüþÿýûùøúüþÿÿÿÿÿþýöïñóöùöôôôðíóùüÿÿÿÿþùõïÓ¨³uj•Þìé¶ˆŠ›æùûþüúðâ¾§’oH40/'#%,4:EVB;Kjvg@-$$+CjxuaRGIOOQZbSC5*%$%%%%%%%%&$$%$$$$$%%%%%%&&&)+)''),18<CE7-,3?JKKHF:1*(.5.*(&%!!"    !5>A;35T^_]XPLP[]^^]\[[]]]^ccccb_\[\]a__`dbbbebhcccffedefggfchfkhhhffghhgjimmmmmhffeehfihhgffhhljlinmqmqkkjmkmikjnklillljiihijnokmllllllhkb\OFA@@??@@A@@@@@B??>B@@?>>??C@???@@ABBBAA@@@>?@@??AABBBAABAA{zzxyzzy{||yxxwuursutttrqlmlnopnsuy€~€‚€ƒ€€ƒƒ†ƒ‚€€}~~~{zwvvvuy|}~~||{}|‚„€€ƒ„ƒ„………††ˆ…†ƒ‚‚‚€~zth\[^x¥°¼¼½¾‘kbbjsttvx†™ž¦ š†‡—¨¾ÂĨ™ §µÞÍ̧€g[]_afproox…’§œ—“‰Œy}Šš€l\fj}••“¡åúüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿýûýÿþþóèé쨟Áéäá×ßñÿÿÿþüüýýüüüýÿþüúøùùüÿÿÿÿÿÿÿþýüû÷óòñíÖ¸Ýíóùÿÿÿÿÿÿÿöå’xir…ãïëÍ¥~Ñöùýüúðã¼£‘qL=50)'(7JLPPPDLjvf?-$&+AjutfY\cF8<C?;2)'$$&%%%%%&%%%%$$$$$$$$$%%%&&,31.+).06<CNG;0.;JJOKH;1+&&&&%%%$#! "   """ +=?62:V\[[WNRV[^]Z^[[[\\^_a`^]]ZZZ\^a````ab```bbceedddeedbcbgggggggfhhhhjjjjjihgfdedededefgghfhhhijklkjjjjjjjhigijlhiijjhghijnljjihffggffg`]SIFBBA@@@@??@@A@>>???A>?>??@???BAA@@AA@@AB@?@@??@@AAAABBB@|zzzz{}~}|€zyvuuvvvv{uuonllmnruw}€‚€ƒƒƒ„‚‚‡‡‡„ƒ€€}}~‚„~{yyxwuvxz€…„€‚ƒ…†‡‚„„‰„„„„…†‡ˆ„†‚…†‡„„„„~zf\Za{Œ©Ê²¡ª…ghderqww{…Ž¡¹šˆˆˆ‹˜²ÑƲ¢—”™·Õ×Öšq`X[[]gxiddi¤ˆnryuxƒ•¤•x]]`s’Ô÷ûþþÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿþýþÿÿþòæèꙌÂîíìâÛîûýÿþþþþþþýýþÿÿþûùùùüÿÿÿÿÿÿÿÿþþýùöòîìηÏìöúÿÿÿÿÿÿÿúé¨cNFwàæèÏН—çúûýûúï亡ŽsN@;90+2CSYSeL@Ikvf@-&'/=[utrfhM:0,--)&$$$$&%$%&&%%&&%$$$$$#$$$$%%&*1;<50259=AILT>3/JIJ@830+&$$$##$##"! !   #(,.1/+%%;?21?Y\\ZWXZ[^\\Y^[^]accbe`^\[Z\[\`cceabaa`caddeefddeecbccdggfgighhllljlkljjhgfeehegefceglhieighhijokkimmmiiiihijlhlinighmjjkmhiijdd_\_aggdbVLGCA@@CA@@?@A@>?A???>>>???A>?@@@?@A@@@BBA@@@@@@@D@@ADCEA}|}~~~~{|zzxvuxzvusrplllqrux{€€€€‚€€€‚‚‚‚‚~}|}}~€|xwuvuyy{}}|~€€€}€ƒƒ„……ƒ„„ƒƒ„ƒ~€€„…‡…‡‰ˆƒ}si^__w¥¯±«²´œpfcaipvyy|‡™›œ—³–‚‹³È¾²¢’—©Áƹ—ogkaYi}ubchv”«e_fkiex‘›¥†dZQk”›Ïôúÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñäæãˆ‰Åóõöêßë÷ûÿÿÿÿÿÿÿþþÿÿÿÿýúúùüÿÿÿÿÿÿÿÿÿÿÿüùòêëिèöûÿÿÿÿÿÿÿýöÓ€EPpÚØÕÏ˺ÈðþýýûùïḞ‹jNBA>766Ee\RMHAEgvhC3+37?PashhN9.&'(&$$$$$%&%$%&&$%$$$$$$%$$%%%%'(,1<KB>@BFJJIGEB?//4952.+)&%$$%$#%!!!!   "',/26===6.$ 90)2G[]][ZY[\[ZZY^[]]`aa`_]\[[[]]_aabb`b```a`dcddddddbacceffggfihijjikikmljiggffegcfegefhhfgfffhhiihgggiihhhffegjihhhighihhhgfedca\^[_behgeccYQLECAB?@A@@@@@@@?>>>>>>?>?>?>@B?@@@@@@@@?@@@@@@@@@@BBBA€…†‡ƒ†€~|}{zw|xurqonprv{~€‚ƒ„ˆƒ‚‚‚ƒ‡ƒƒ€€ƒƒƒ|wss}{{ƒ}{zxwutuy||}}~€‚€‚ƒ„ƒƒ„‡„…‚‚‚†‚‚|{~}}€„‡‹‹‘‘‘‹Š|j`\b–œµÈ¤vlkdfuswy~ˆ““–§¢‹ŽµÐÀ¸œˆ¤Æ»Ê”uogju{vdfs«zb^]\\]m‰™ž tYO^…ž™™¾ìõþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýðâæß•vÈóòñæÎâóùþÿÿÿÿýûôíîðõúúúúúüþÿÿÿÿÿÿÿÿÿÿþüøôòéÀ´Îéôüùöûÿÿÿþýä±€cœáÙÆÌßëïöþýýûùîÜ´›ˆdMDEI>99GZaOI?:BcmiM:;DDCEMRWG6*"$(&$$$$%%%%%%%%%$%$$$$$#$$%&'(*,/4?NHEGHJRIFFG?>3,+-,*(&&%%$$$$$#$!!!! +6;=@@@IDD9.!))%4O^`a\[Z][ZZ[Z^^aagac_^\]]]`baeaaababafbcbecbdccidbdfdihhgijiimkjimijknhhhighfhdfglfiggfhhlhjilhffjikhigkghffijjihihjfggfefd_]]^ceghnmlljiiaYOIDB@@@A@@@A@AAA?@>>>C?@???BA?@A@A@BAC?@@@@A@A@@@BACAƒ„„„…‚‚}}|||wtuvspqqsuz~€‚ƒƒ…ƒƒ‚‚ƒ‚‚|}}~}‚~|yuvmt{zyyyyxy{xwy|~}}}~€‚ƒ‚‚‚€‚ƒƒƒ‚€€€}~€~{€…‰ŠŒŽ‘Š…€vlaacs¢º¸·Ÿ–‚sjdjpvyz}„†’¬«—ŒŠž²Æ¾«ŒŠˆš¹»¿soonoi`o~„Š‚zpib\[Zhz£ƒ`DXw˜˜š§æñþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüîàæä­µÌôðìâÉÚïöýþÿÿÿû÷èÙÉÞêõøûûûüýþÿÿÿÿÿÿÿÿÿÿÿÿþùñѺ²Çê÷òíöÿÿÿÿÿùßÈÌÚìçÐÊßòûüþýýûøí×°›„cJCHCA;:CYSG@78=`sk[RLWgE7551,'!#%&$#$#$%%$%%%%&$$$%&%%&&),,,37:>BLJFHNJJHGB>83/)('('''&%%%$$$"""!!!   46===?ADFD?6.%"#$7V]`^\ZWWWYZZ[^_````_]^[\]`bbbe```a`aaccccdbcfdcdefhfdhfhhhkjijjjiiiihhggfgeddddfikefggfghkgkjlhgghghgidjggggggffggfecdcbb]Y]\afgghhnlkiklkjc\SIFBA@?????>@@@A?=>>???@>>??????@@@@@?@?@@@@@AA@AAA@‹ŒŒ„†‚‚ƒƒƒ{xwutrrsw{ƒƒ„ƒ‰‡†‡Š…‡„„‚„€€|}|||||zvsuuwzywxxx{zyz{zz|€‚~€‚…„ƒ‚„ˆ„††‡‚€…††~‚†ŒŒŽ‘‰‰€{kb[_~§¦»¹º©ž”|pffstxz|ˆ£Á˜‘†¸Õ¿¸œ‰‚•¯±¢vtpifab„‡…€~}wm`]Z_m‡˜¨‘hAIi“™Ÿ¡ãïþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúàÎ×Þµ¾ÞöðêáÆÖîöþÿÿÿÿöêÀ“”œ¿æìò÷ýþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúæÈ»«áëßÙôÿÿÿÿÿüùôïóøïßæêóüýþýýúøíÓ°›‡bIA=;=;;?JOE=639\r{nfjmZJ/%! !#$&%$%##%%%%%%%&%%$%&'*.19869?BMMKMMMNKH?;5.-,*('(''&%&'%$%$$%"""!!!!! +8=A@AACDE@@:6+$ !$:X]^]ZXXXX[\``dcb`_^^^^]cbhdfcda````abddedibddfffhmjkihhmhhijiiijkkhggifdfgdcdffgikfiijiijkglllikijghfiijiihhgggggkeddeda\X[acjijkkkpmmkonppohcTJDB@????@???@@>????@????@???@?C@@@@@B@?@B@ABBAAAA@І‡„…~}{{yysvuxz}ƒ„…†††…ˆ‹‡†‡……ƒƒƒƒ~}}}||{zywuvyzzwvwxxy{|{|}||€}€ƒ€ƒƒ‚ƒ„‚‚€‚€~~‚‚…„„„†ˆˆ‰ŒŒŒŒŠ…wl`_av…­¿¾¿Â”ngcktxyzz“•’¤…“¦·Â¹´˜|xˆ­™yr}labd€ˆ‹Ž‡ƒ‚zjgigg|›¦xEIZ‹››×îþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûôƼÁ¹´Æí÷ðèÚÇÒíöÿÿÿÿÿðÇ–ƒ{’®ÅÜôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøäÓËÐʼ×ñþÿÿÿÿÿÿÿÿÿÿöíêëôüýþýýú÷ìаœ‰aI=47=<;>DDD;556UptzceTJ8($!#&(%"%&&&%%$%%%%%%%%%$$).389;DMLJJIKPQSA8894/,*)''''''&%%%%%%%%###"!!           !+48;<=ACE@??;9,  $&=ZZ\\XXWXY[]abaa_]\]][]_abdddccaaba`bcebccdbddfdghhfghgfffghkiihihgfedeffhecddfgghkfhiihikhgijiihfgfeeefhhhfghedeec`_^]Za[_bfhijlnlkmlmlnnooolgbWMHBA@???>???????@??????????@@@@@?@@BAAAAAAB@@@@@AŠŠŠ„…€~{z|yyy{„…†‰ŽŒ‹ŒŠˆ‡‰‡‰ƒ„„ƒ€}}~}€xywvv{trqruwy~{{~}}}€€ƒƒ„‚†‚‚……„ƒ€€‚‚ƒ„†Š‰Š‹ŠŽŒ’“””–‘Šˆ€yja\avŠ Ä¼Ãµ°…omfiwuywx†‹‘¡š‹Š—¦­¹³«„yroƒ‹spuvkfm€ƒ…Š‘†‚ˆ‡qqrspz‹ž£ˆTBO‚š¤žËíþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøìº¬±¬£¨ÐïîíàÏÞïöýþÿüøÜ¯‰{‰œŸ£³ÁÞöúÿÿÿÿÿÿÿÿÿÿÿþýýþþÿûøëÞÑ··Ýëôøýþÿÿÿÿÿÿÿúôôóøýþþýýú÷ëͯž‰`H;56==>>@B>:5/2OduiaN?6+'$%(/82+)((*.1*%$%&&&&&&%%'.:CFJFUKMIDGJD?93/-+)('&&&&&%%%$$$$$$$$$"#""       !"##"$"##*05::?BFBEDC95#"!')BYZ[[ZZZ\\^_caa_^\[\````bbfdjeeabaabfdecbbcbddfdkhgghhjfefhhlhfgjhfdbcffggfffdgghglhhikhhhhfjkkhffgfeefghghgkgdceca__\Z[_bghjmrmpoqpqnoororpronjh[OGB@???@??A@??>????????>>>@@A@B@@@DBBAAAB@@@@@BA……ƒ€€|z{|~€…ŽŽŽŒŒ‹Ž‹‰‰ˆˆŒˆ†…ƒƒ‚„€}{{yxwruvvvqnmmsxz{}~€~~~}}~€‚„€€€‚ƒƒ‚‚‚‚€ƒ„†‡‡‡‰Š‹‰Œ‹‘ŽŽ‹Š…wmc`^p‡£·®®·€kffmvxxvvx|‹´¢’“ ²­ˆ|uoigqvx{ooy‚†ƒ‚€€…uxІ~†‰“¢‘ePFn™žžÈìþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõ琛ͷ‡ˆ£ÏíòêâéðöûýÿøéËŸƒŒ¸Ïµ£«Èæöÿÿÿÿÿÿÿÿÿÿÿýúûüþÿÿÿüöé;ÀÊÛòúýÿÿÿÿÿÿÿýüûûýþþþþýùöëÈ®Ÿ‡^F;77<?C>?<974--A^VQD60(((.39A><73326>:/)&(*-001,&'*9OMMCBBACF9433/,*''&&%%%%%%$$$$#######"!!         !####%$####""!"#(,-.4<;:993.)"##',HYXYZZZ[[\_````]\\]]^]_```baaba`babcdccccccbdcdeghgggggeefhhgedcbafbcdfgfffeedgfgfffijjggefffggeeeefeefggghffccbba\X`\^`dhijkmomoopoooonpmroppomjg]TLDA>????@@@@@@??@@?=?>>??>?>?@A@AABAA@A?@@@@@@‡‚€€€€~|‚†‘’““‘‘Œˆ‹‡††‡„ƒ‚‚„~|{wuvuswsrmknorx{~~~ƒ‚…~„€‚„‚€€€€‚‡…ˆ„ƒƒƒƒŠŠŠŠ‡ˆŠ‹‹‹Ž‘ŽŽŽ•ŠŠ‚}nbZ^u…›¢³¾§°ymojjurtssu}™°­ª—ŒŒ‘ °‰‰†smos{{qoxƒ†…‚}ƒ}€¡‘—’‘šœyWGa—ª ÆìþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÓ|€§ÂŠk}©ÓìêéìðñóùÿòÞ»œš¶ÞÓͯŸ´ÛëúýÿÿÿÿÿÿÿÿÿüùùúüÿÿÿýüöðÚ½ÆÄëóôôúÿÿþÿÿþýýýþÿÿþþýùõêÆ­Ÿˆ]F=88;C@><8860*(09<8.*%$&+8?NLKHC@<=?BM7.-/7@A@?2'(2EJKA9<@620,*))'&$%$$$%$%$$$$##%######!   !!""%$$$$$$$$$$###"!"%&'*/220,(&""#$'0MXXZ__``ecc`aa`]`\]^a^gbdcc`ba``cafdedgccccdhcfdffgggggcdfmhfcb`^`ebdfkhifgfifgfggggjjogmegffghdegjefefgjglfea``a]XZ_`fgijoknnrmooqpuopooprprtwrqmmcYMEA@????@A@?@??A@??@?@?A????@CAAACABBB@@??@@@~€€€~€€ƒ†‹‘““‘“‘ŒŒˆ†‚ƒƒ‚‚ƒ~~}{|vwysqonriotuwy|}~~}~~€€€ƒ€€€€‚€~€€‚ƒƒ„…„„„…†‡ŠŠŒˆˆŒŠŠ‹‹ŒŠŒŒŽŽŽŽ‹‡‚|na_^p’£¹¾¯«„w‹vgkuvsrsy…˜¥«ž‹Œ‰°—~}€„ˆ…‡xhksƒƒtuy€~ƒ’›••“”–iC[’¬ŸÎìýþÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿþí©ioŒ˜fW·åëïïïãæõÿìIJ±±¯Èȱ¶Ãª™±åõúÿÿÿÿÿÿÿÿþú÷÷øûÿÿÿÿÿÿþõÛÊÉÝê×Ýôÿÿþÿÿÿÿÿÿÿÿÿþþýøó鯬Ÿˆ^F>8559>:82.+)$ %)))'$#!'.8ELTQQMIHHECB==<?KPUST4)/9FE=41.,*(''&&&%%$%$$$$$###"""#"""""!!!   !""$##$$$$%&%%$$$$$%%$$$%$%%&'&%%$$#$$)5OWYZ``aaa`a``^^\\]_`a^^^____`baacafcdddcccddccddgfhhheb_effgfa]X_bbcfghggfggggffhgijigohgehbcdgcehiegfggjgfbaa^\_[]^acgjjkkkllllomnnnnpopqqqstvrqnnic[RHD@@>??AA@>????>>???>?>??@@AAAAAAAAA@?>>@?A€…‚‚ƒ†‰—‘‘‘•”˜‘‘‘‹‹Œ‡„‚€€ƒ}|||z}}|tqkhoqu{y~z{|€~€}~}}~€€€‚‚‚€€€ƒ„…ƒƒƒ„…Š……†ˆ‹‹Œˆˆ‰‹‹ŒŒŒŒ‘ŒŒ‘Ž‘‘‘„|lbZ^}¢¤Â¾ÄŠt‹‰ogiuqrsqw~¢³½‰†…†”±¶™‘’‘‰…jbn~„„jkq…’£™›˜”“¡™†VV„¯ ×îýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýê\Yrc^j¦ÔçïêææÜðÿí·Êá˵¿Î¨§ÆÇª›Äèóÿÿÿÿÿÿþþýú÷÷÷ûþÿÿÿÿÿÿúöçÞæéÌÉíöøûýÿÿÿÿÿÿÿÿþþýøóèÆ«ž†^G?910036/+&" !$##$%*29AKOUWVUTKMEBDEGKM]PME635@G90,(&&%%$$$$%##$$$$##"""!!!"!!!!!!        !!"$#%%%%%%%%&&$%&%%$%%$$$%%##""""##$$%%$+:QZ\\aceefcd`_``]_`cbb`a^^_a``bcccbfffeeefffccccehhjjjdaaggghi_Z\`deejiihhghhjgfehimjigohffhbbbfdegiffgihjfe`^][\_adceglkoopkjkqpppppqpoprqwtttwsuqsonhfUJB@?B?ABA?>?@@A>A??@@??@CABAAABAAB@@?>>>?@€…†ˆŒŽ‘‘ŽŠŠ‰‰†ƒ~‚€~}}~€|{{zxurokrjqzz{z{{z{||{{{|yyz|}}}~}€ƒ…„ƒ‚‚‰…†††‡Š‡ˆ‡ˆ†‹…††††ˆ‰‹‹‹‹‘‘ŽŽˆ€xnaabn~™ÃމŒˆqhflpturrv}“¹¹²˜†ƒ²¯«£˜˜›žž‡qihrunadi„ŠŽ’˜¡˜Œ’Ÿ‰hpw”¡æðýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý÷ãwRT\oxsoŠ ÊãîåÄœ¹ëÿîÞæêÛ±´¼¨¼áÜ»«ªÈìÿÿÿÿÿþýýüùö÷÷úýþÿÿÿÿÿÿÿûöòì¸Èâêò÷ûÿÿÿÿÿÿÿÿþþþøóèŪ…]H?90'(*('$$)**+,379<BIRbYZSMLEHLLLMLGA=:1-7L9.*'&%%$$#$&$$##$$$###!!          !!"###%%#%%$$%'%%%%$$%&%$$%%&%%%$$$$$$$$&$%%$-AU\\]beffeba```__`````__^^_a``bbbcbcdeeeafffbbcdehhijhdccgihif\`dcddegfjggfihjggdgimkigojgfdbbbgfedihggigfcc[YW\^abcdgjjklkkhjillljmmmlnrqrrstsrqrprrnkhaVJFAC?@@@@AA@@A>@@@@@?@@@@A?@@BAAA@@?>>??@‡ŠŽ‘‘“‘‘•ŽŽŽ‹‹‹‰‡„‚‚ƒ€~}~|}xwsnmemsy~„~||y{{}||{{xwy{}€~€‚‚‚‚€„†…†ƒ‚ƒ…‚‰…†‡‡†‰ŠŠ‡‰†…‡„„†Š‰‹Š“•–’–Žˆ„€pf_cv—•œy”ªŽwpllqprqotƒ Á³¤–†„£Çº½›œ¬¼Ÿ‹wknunc^cj|††“”—ž‹‹”¢}gnšžáòýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúï¯dQN[h…”¡¿ÅËäéÔ¾“¢èýòâèë˪ªÄ¥ÆÖäÓÄ¿Þ÷ûÿÿÿþüüüù÷÷÷ùüýÿÿÿÿÿÿÿýûøôéÕÍÅßòùÿÿÿÿÿÿÿÿÿþþøóèé~[G=7.&!!"$" +2877:>;78;AHOTVQMVFVGEED@<5/,)+=8-($$%%$$%$$$$$$$$###"!      !""#$$$$$%%%%%%%%%%%$%$$$%%$%%%&%%$%$$#$$$$&$$&$/GY^baffgedbbcfcdccceaa`___`bbabhbcccdgfdbefgggeienikiggkkliigcahijfhfhfjgfghijkljjjmmmlnkhfddcdgfefkihimgcccXVY^bgghfmlqlmklijkoookmnrmmorrrrspoqrsrqqnojhYLEBA@@@@@AB@A@C@?@@@A@?@@?BAAAAAA@??A@?@”’’’’’’’‘’“’‰‰ˆ†„†ƒ††…ƒƒƒ|{zyxsomjnosxz|~€ƒ~}||y{{|}|{{yz{||}}}{{|€~€€‚‚‚€€‚‚†…ƒ‚ƒ‚…„……„„‰‰‰‡†„„……„††ˆ‰Šˆ‹‹““•“’‘ŽŠ…~tifauŠ«¹}¦§upplqrpnny†œµ³¶›ˆ‚‘¦¸¨™¾«¢Šqmroe[`kw~†w”Ž“‡ˆ‘ke|œäóþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþøè`T]gˆ­µÌÅàÞàæ½‡åûöòðìÀ¡”—®¼ÕãçäÃÒðøÿÿÿýûûüú÷÷÷ùúýÿÿÿÿÿÿÿÿÿþüöäÈÅÏìöÿÿÿÿÿÿÿÿÿÿþøòèç›wT?:60(%"%'%!%6FEDFGEC;5<<CGSVNMIE@:751-+('&'(*,($$$$$$#$%#""""!""""""  !"#$$#%$$$&%%%$%$%%%%%%%%%%%&%$%$%%%%&%%%$$$#%&%$%%4N]`abgedccbbccddcdddccba``aaaabebcddbbbdbeedcddeefgkihhhhiiigedhiideefeffgjhkkiihjjllkjkiggfeedefgghihhgc_[ZW[^acfghflillkijijkmmljlmmmmnqqqnomopqqpoooonkgZOICB@ABABA@??@@??@@@A????@AA@@@@@???AA@™™¡˜˜“••˜’”‘‘‰†ƒ…‰ˆˆ†‰„ƒ|ywtokjgpz{ƒ„†€‚ƒ~||||}{{~}|~}|}|{{|}…„ƒ‚†€…‚………„„‚†„…„‡„Šˆ‰‡…„„…ˆˆ‰‡‰‹ˆŽ‹’“˜–™•—’‰…wnad|ž“}“Ѽ³³°kholnmpx†ž¸¶¯˜‚…Žš§›”Œ„}}rnptlY]mvzƒuy‰Ž––›ƒyspcm£æõþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôà~_cp“Á®Ä»²Äßß⬁w}Äòóóðê¾—’}ƒ¡¼ÌáÊÉÈäòÿÿÿýûûûùøøøùùûýþÿÿÿÿÿÿÿÿþûøòìïòùÿÿÿÿÿÿÿÿÿÿþøòéÀ¥™oM>9870**-,+#.HINRYYZL@@?@CGOLGFB;5/+)'&$##$$$%$#"$$$$$###"""!!!!!!  !!!"""$$##$$$$$%%%%%%%&$$%%%&%'$%%%&&%%%%%&%%%%%&&%&%%%&9Taccbgcbbbbdefefehffffcc`bbdbeciccdfaaadcfedccdeeihjijjlkkjmjjijhgehiieeejhgimigimlllqjkhggjedcffhigghhi`ZXZ\cdfeijkilhkklkllllollkonnmonqqunplrqsqqqqswsrmj^RIDBA@??@@@?CAB?@@AA??@??@BA@@@@??>?@@•–––—“””“ŽŽŒŒ‰ˆ††‡‰Š‰‡…€|wspnhotx}}~€€~€|}}z|}}}}||{~||z{{~~~~€~„…„…ƒƒƒ†………†…†‡‰‰‰ˆˆˆˆ‡‰‰‘’”–•––—–”ˆ‚wkfbtƒŒÏÑ®©¤Ÿnehqqnoq|Šµ«±†|}‚‚„…r`r†sfs€t^]tlhlrs{‚ˆ’—‡}lge{¯ëöþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð»qkw”ƹ¯š–ªÖàã˜sYo¡æïôðêÀ¢–hxˆ• ¢¡¢¡½ìÿÿÿýúúúùøøøøøùúýÿÿÿÿÿÿÿÿÿÿþú÷÷÷ûÿÿÿÿÿÿÿÿÿÿÿøñä¾£“gG8;@<86310,'):KLRXXXXTA<?PHKB>>?90,''$$#####$%#"""#%#"##"""!!!!  !  "#$$$#"%&$#$$%%%%$$%&%%%%%&&%&%%$%%%&&%%%%%%%%&%%&%%%%%&(?[bccba^aaaaeeeefchffcdccabccbcaccddeaa`aaa`abdeeeihkgjkkkkjkihghgfefffdefigghlghiiiijiihffffcedfghihfeb_ZZZ^adfffjmkgkhkhhhjklmnllknlmmmlnoonnlqptrrrtuvutpmh_TMDB?@?@@@@@@@@A?B???A@??AA@@@@????@?“•—–—–—‘ŽŽŒŠˆˆ‰ˆ‰‹Š‰‡†„~{yplkls}€†††~}}}€ƒ€€}||}~~€|}{z{~|{{}|„‡€}€€‚}€€‚ƒ‚„ƒ…„‡€‚„„…†Šˆ‹ˆŠ‰ˆŠ‡‡ˆŠŒ‘‘•”™™›œœœœ“‰‚sj_bjm„ʾ¬¸Îªvpfflgjns|‡— ¬ˆ|xxz€Švccl…tqwk`zkelgjsx‚†¦Œ€wtz‹®èòüýþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþî¨kuƒ««­‘|zÍÎÛ˜jUVàêðíéѳŸ‚pr|}‰—®–Õúýÿýüúùùøøøøøúûýÿÿÿÿÿÿÿÿÿÿÿýûûûýÿÿÿÿÿÿÿÿÿþþ÷ðâ½¢aA:>@A994522*##5FPVYVTVYLA=?EF=56882+'$$#!###$###"!!"""""#""""    !!  !""#"$#"#%#$%$$$%%%%$$$%%&&%%%&&&%%%%&%%%%%%%&&'&&&$%&%$%&%&+H]eeeb``ddgffefefchggffdddgdeeeddddedacaa_]_abgghfpjlimmljkjnilhkgghgfffffjhhhkhijkiijlihgeffdeefgljkhea\Z^`feffhinmlllikgkjijklsnpoopqmqnoonnnorptsvt{wwuxtsqpeWLEA@@B@AA@@A@A@B?@A@@??AAA@B??>?@@?“••–“ŽŽŽ‹‹Š‰ˆˆ‡†‡‰‡„ƒƒ~|{vuylsx~‚„†………€}}€~|{||~}~}}|{xyz|{|y}|}~}|}|~}‚€€€ƒ€€€€„„…†ˆ‡‡‡‡†ˆˆˆ‡Š‹Ž’’’“™™š››šœ–“†{sie_gz¥¿­Ç½´qgcflmmpu}„’¨Œyvx}rhcn„slt‚ƒwu…}ofaiqu|€…Š‹ŠŒ‹¨ÐîùûýþþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿþìždoŒ“†sliwŒ°Ç»¢yY[‡àæëéçåÑ´‘qq|mct‹|‹Çòúÿþýúøøùøøøøúûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýöîß¼¢Ž]A7<A=964340+#!+BTQaUPMJKD?9<>>72175.(&$$""#"""#""""!"!""""""!!    !!  !!"###$##$$$$#$&%$%&&&%%%%%%&&&&%%%&&%&&&$$%%%%%%%%%%&%%%%%%%%'.N_^_``abcdddddddfcdddcddeeeeecdeeeefeba_\[^`abgffgggjfliiikhjihhkfffgddceejdihihjjjjiihggjgfgeddghljiif^][addefgijmiiggggghfjjkjsnmkomnmonoonnprrqrsvuzwwvvuvurrdYPEC@A?A@AAA@@?A>A@???@@AA@@@?>?@@?““”’’’’””Žˆ…‚…ˆ‰ˆ‰ˆ†…‚}|zxqntx|‚‡††………„„…„ƒ~}}}}{{{|}€~~zywwy||}}}||~}}~~€€†‚‚„€€ƒƒ‡„„…ŠŒ†………†‡ˆŠŒŽ”••–™™›œœœ›œ˜™”ˆ†vn`ap‹ž¬··¹¤ˆvpffhfnrw|†”€ywwxwsnqtsqot~…~Ž—zi^gqux}„Œ”—’ »Úîñôùþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþí™`kx~ypbZeo|¥Å¶¢Š`a‚ÕÖáæëêèÓ´Œrka^arwpo¤äôÿÿþûøøùùøùùúûüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýõìÚº¢]A6:::97544/*#!%0XVRQMIDDF@=;;>?82361*%$$$##"""!""!!!!!!!!!       !!!""#"$$$$$$&%&$$$$$$%&%%&'&&%%%&&&&%%%%%&'''&&$$%%%%%'%%%%%&%%%%%%%'2S_a___adhhhhieecfcedecdehgfefdgedeifeb`ZV[dcedgfjgjjjkljjjlhkkkijehghgfeigjjkjnmmjqkigfefhhfghgfmkmjjggaabhfggghkjmjihhhhihijkmnunnmpnpmsqrrqptturst{zzwywywtturqh`OFBA@@ABAAAB@AAA??>?@AA@??@????@?“Ž‘‘‘“”•ŽŠ‚ƒƒƒƒ‚€€{wurwnv|€„„……„………„ƒ‚€}}z}|z{{{zyyzxxvxz||{z{|}~~}~|}~€}€‚„‚„ƒ…………†‡ˆ……†ˆ‰Š‹ŒŽ‘“”••—–—•˜˜œ››™˜—•‰€vjeaqƒ˜º¹À­’‡rjfegnptw‡„ywxuvytsturu~‹v}’™‡o]kwtr}„‘Œ‘Ÿ™’˜³ÈÉÍàõþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþíž[[edc]SXgcb¢Â±Ÿc`z¥µ¿ãîîìêÓ¦zf^X`ffdgzµîÿÿÿüøùùùùùùúúûüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýôêÖº¢—^@5;:;98774/)%"%37<>AA@=79><<<>@=885-'"#$$##"""""!           !!"###%%%$$$&%%$$$$$$$$$$$$%%&%%%%%%%&%&%%%%%&&&&%$$%%%%%%%%%&&%%%$%%&&&&)6S____aceghfdgcfccadedddefgecdcddddffdaYQX``accgffghhhhhiiihfimjggeedeeefffeekjmjjjkgffeefdfeghgghhhhhffbdfggghhihikkjihilojjlmnqpnnnpnnntqrsrqtttstuxxxwwvzxvuusqle]SIDAABAAA@A@@@@@@@??@@A>?@?@A@@?“’“–”–“ƒ‡‚‚~~€}|{wtqtw|ˆŠŒŒŒ‡……†…†ƒƒ‚€}||}€}}z|{yyzyzz{{{}{zz{|}~}€~~~€€€‚ƒ……Š„„ƒ†‡††……‰†…ˆ’“””•’“•”˜•——˜˜™š›Ÿ  ŸŸ—‘‹…vi_bs~š°¸Á©´{rgejituy~~|zxwttxxwvrpwˆ‹}t{•›umqolm~‰“‘“—–•ž­¹ÀÊÎïüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿï¦YOSUSOOVfX[ŸÂ¯’e`p’ŒÅîëèæá­e\]dgl_[l”éúüþûùùùùùùùúúûûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýüóêØº£^@5::;;:::2.(("#&)+.9<;6127;==>B?=74*$""####!      ! ! !""#$%&&%$%%%%%$%%%$$$$$$%##$%%%&'%$%&&'''&%%$%%%&&&%%%$$&%%%&%%%%%%%$$%%%%%%*:U^_adeffgfeegeebbceddehffeedhdedffgdd[SS_``bhdgeegjijgnmmhhhijihhehdddffhgiikkmjlkmgjegfhghiiihgjhjhihljiikioiikqhkkllllrnklnopprnpoporqustuvtxxysvuzy}x{xzx}xysqoogbTHB@@@AABB@A?@@@@?@C@B@@@??ABAA“ŽŽŒ‘——“’ŽŠ„‡€€}||}xxy~………ˆ‰ŠŠ‰‡‡‡‡…„ƒƒ€}}}}}|zyyyyyyxxzyzz|}~z{z{{~~~}~~~€‚€‚„†††„„„††…ƒƒ„Šˆˆ‰‘“”““••“•––•—™™™›œœ›œœ—’Š€tid_nƒ˜º³­°›’vkddhquw|{{zyussvw}xqovƒŸmu—••pnkfazŽ”’Ž™˜š¡¨±¨›¸éùüþþÿÿÿÿÿÿÿÿÿÿÿÿÿð¾ZJIIIMQ]g\ZšÃª—d\_qr~«êèãÝÖµ‹h`^egaYVVxÚòùýûúúùùúùùúúúúýÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýûóêÙ·¤Ÿ_@5:<:7662,)'$! .7<;4/1368::8754-&#""#"!!" !    !"###$%&&(&'&&%%%%%%%%$$$$$$$#$%%%%&&%%&&&&&&&%%%%%%%%%&%%%$%%%%%%%&%%%%%%%$%%%&,?Y^bdeggfgdgeeffadeeeeggdfeeddddeghhaZQRW`bbceeffggghjhjjigiijjighegacfffffijjjnjjjhdfeeehffddegfhggfggkjjiifmjkllhiilhlmqmmnmlnnnnponorquttuutxwwttuvvvv{wzyxwwtrppkfaVKFBBBAAA@@?@@@@@@@@A@@@??A@A@˜“’’’•›‘‘‰†…ˆ‡†‚‚~||~†‹Ž’ŒŽ‹ŠŠ‡ˆ‰‰„‚‚‚‚‚‚}{zzyxxxyyyyzyz|~‚{{{}}‚€€…ƒƒ€‚„†††…‰†…††††…„†ˆ‡ŒŒ’‘‘”•˜˜—”””•–•–šš››œ›¤ž  Ÿœœ–”ˆƒuj_ar|–§«ÍÊË“tpeejirvz{yxtsstvy|soq{ƒgnˆ•’ށ|ofgw‰™Ž‹©˜›žœš™¤Îï÷þþþÿÿÿÿÿÿÿÿÿÿÿÿóÕcCABELUifb[–«¥“w^QVngd äêêâÖ´˜|fdea\VRSc¨èõûûûúúúúúúúûûûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýüóéÖ´¤¢aB9<;9653.($!"08=74121221221.+(#!!!"!!         "#$$%&'''&&&&&&&'&%%%%%%$$$$$$$$%%%&&%%%%&&&(&%%%%%%&&%%%%%%%%&%&%%%%%%%'&%%&&&%%%/E]bhhghighhhfffgagekegggeieecfghhigi_TPR\bafffeghjglijikjjiojmhffidgbchjffgiijknjjhffffgfhglgfglkkgfefglkljhillmlmililhqmqmpnnnsmporonossuvvtutyw|twvwvvu|y|yyxxsuuunomjZMEBAAA@@C?@@A@AAABB@A@>@BAA@š™”ŽŽ‹ˆ‰…†…†„„‚€„ŠŠŽ‹‰ˆˆ‡‡†††…‚ƒ‚‚€}zzzyxxxxyyyzz{|~~||}~~~~€€‚ƒƒ‚‚‚„†…„……†……ƒ…†‡…†ˆ‰ŠŒ’•••””‘““•––—™—š™š›žŸŸ —”Œˆwkf`m}ªÈ¶ÌŸ„vlddgqswxyxutsrtwwvshm}x_h‚Œ‹Š‡ztlvƒ†Š‘ŸŸ“’•˜•Š›¶ÖòþþþþÿÿÿÿþÿÿÿÿÿÿöçrI@BFOZm“t]‰«›ŒuVOPjgsçëðç»°¢’qj`[ROMY…ÞðúûüûúúúúûûûüüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüóèÒ²£žcE;;9410/,&$ %2:62232/*%$$&(%$#"!"!!!!     !""#$&&&&('('''(&&&%&&%%%%%$%$$%$%$&%%&&&$$$&'''&&&&%%%%&&&%%%%%%%%%%%%%%%&&''&%%%%%%&2L_ehkieiggffcffhbeegegeddecdddefgihg\NGU_bafddehjhgkiihhgiikijfecdbcbfiifghihjknijgfefegggggghiihhffefggehijmmmmklhjiiimmnlllnnmllmqooorssrrqtqttttuuwwwvxwwuvvtqstroqsmf[NHAA@@????@@BAAA@@?@@@@BBA@¤œšŽŠŠ‰‰‹‡ˆ‡†ƒƒ„ˆ‰Š‹ŒŽ‘‹‰‡ˆ‡ˆ‰†††„…ˆ‚„‚€€~{{z||}z~|{z{|~}€…€‚ƒ„€€ƒ‚‚…ƒ†…‡……„‡‰†……ŠŠŠ‹“’’•’š•–•––—“”•˜™™™šš   ž¢Ÿ¦œœœ™–ˆzqaanxœÌ¸Ä¦Ž†|qfekkvwzwwtspquyvuicfnYax‘“œ„†wwy{ƒŽ›‘‹’‘‘†«ÇïüýþþþÿÿÿþþÿÿÿÿþùéœSDCJU\s•r©™†sMGLfks—Üãîß™­©¦ˆxbZQMLPoÀëùûýûúúûûüüüüýþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüòçβ¢šeG=;4/,-,*('#$3200133.% ""!!" !!!!! """"#$$$%(&&''''(&''''&&&&&&%&%%%&$$%&%$&&&&&&%'%'&&&%&&&&%&'(&'%&&%%%%%%%%$%%&'))(&%%%%%%'6UafgijfiggejhigiiigifgffggfgddefgihfRGLZ`bchfgehgggjijghiokpileeefeeeihhhmhihnnnijhgghfhgfhljkijjjhhenhgfgillmnnlmmmjlknnqpsomkklmnqqtqqrtrsquvvsxuvv{zyyzwyuwrrsstqquttrp^OEBAA?@?CA?AAAE@@@?ACAABB@—•‘ŒŠŠ†‡†„‚‚‚…†ˆŠŒŒ‹‹Š‰ˆˆˆˆˆˆ……†……„‚ƒ€€}}{{{|}{y}||}||}}€„€ƒ„‚‚€€„‚†„„ƒ„„‹†‰ˆ††‹‹‹ŒŒ’““‘‘’•‘“”•““””’“”š›œžž¥›Ÿ ›˜“Œ„ykc[j…¥¬³±»ÅvjbchruvwtrsoptvvtkcdjU\l‚’˜’ˆ‰†}kq{…‹‹‹Ž˜¤”†œ¼ìúüþþþÿÿÿþþþÿÿÿþýöØ€MJMS[|ÀŸu‚¨—lGFH\trŒ°ãèÔƒo¢È§•zdZROMN[šäöûþüùúûüýýüýþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüòæÊ³£šeI>:0,(()+-+*%')((-/.-%!!! ! !!"""##$$$$$$%%&&&'''(((()(()))))(&%%%%%%$%%&&%&&'&%&%&%%%&&&(&&&&&('&'%&%%%$%%%%%%&),171.)&%%%%&'<]begggffeeefefegggeiffcfbffedfffgiiXEIW]`bdefgchfhhjiighijiiihedddafgghhhhhihhiiihhhhheggiiiiigggghgfnihghkkhmjjjjiijklmmnnnnmklmnoppqqqqqqrqrrstyuuttuwwwuusqnorqsqrsrtspj]PIBA@??@B@AAAAA@@@BBBB@AA˜ŒŒˆŠ„ƒƒ„ƒ‰Š‹’Ž‹Œ‘ŒŠŠ‹Š††…„†ƒ„„ƒƒ€~}}~}}{}|}~~}„ƒƒƒ„…†€~‚‚‚„‚†…‡‡‰ŠŠˆ‹‰‰‰ŒŒ’ސ“–’’’’‘‘‘•‘‘“˜“•”•’“•œ›œœžž ž¥¤¤¡¡ ¡—“Œ†rgZ\rŒ—³·¹Áº”xqeejiortqsqoruttndefTTaŒ›•‘Š–Ž…ojpv}ŠŒ—˜ š—xz“¦çøûÿþþþÿÿþþÿÿÿÿþýüå½rQMOZ‡»ÈŽ€‘–}dNDDVwq}ºÝ¼qf˜­¨~dZYWRMSyÅñùþüûûüýþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûñåǶ§šdI=8/)&&(+030/&!&+./-&#"""   "#"#$$$%&''&&%%&'''''''(((()(*+-/.+)'%$%&%%%%&&&&&&&&%%&&'(&&&&&&&'&%&%&'&&&%%$%%%%%&'-4<@E3,&'%%&')A^ceifhghejefeheifffifffgffeeejghij`SAL[c`edofgehhjikjlkkkkjpiiegdd`hhhgmhhhihjiiihhiihdiinjjjjfefijmfnijijjjgmiiilijkonmmmmnmmnnoppwqspppurrqqrwxyvvtutwwyuwqqlmoqqqqtrwttpo`QGB@??@@@ABBBAAAAAAAB@BAŽŒ‹ˆ‡†‰‚„ƒ„„‰‹ŒŒ‹‰‰‰ŒŒ‹Š‰‰ˆ‡†††††„ƒ‚‚~~~~|z~}~~~~|~„†ƒ‚‚€‚‚‚ƒ„„‚†…††‰††‡‡ˆ‰ŠŒŒ’ސ“’’’’‘‘‘’’“—’“’’“”•–˜š›œœžž  ¢¡¡ž ˜”‡xoe_Zdr˜É½Ùº©’uibchosrqrrpqrssqiggVSVi}Œ•Š—‡pe^dm„Š’Ÿž“ƒry‰ŸÕ÷ûÿÿþþþÿÿÿÿÿÿÿÿþý÷ЁPGO^˜ØÏ˜ƒ‹‘~jVKBQwqjuŒ±¦og¢¯˜ƒzc[YZ[QKe¬éöýýýýüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýúñ䯳­“aH<7.'$'),024.+!%(+-/(%$#""""#$%%&(&'''''&&())('%''(((()*-05;:=3*(%%&%%%%&'&'''&(&%&(&&'&&'&&&&&&&&&%&&*,(&&&*-,-,)4@=<84*%%%%&'+F`ccfffffeeceefeedffgeffedfefegfhid[QCP^``cdeeedgghhjjlhjkigjifdcdc`degghfffihhggfffgfhehhjjjffeefiihgjiiijghghhiijjkkljmkllmlnpoppqvqpoopqppqsswwvtttttuutsplkkmmmmnoprrrssol^QJBA>@C?@@@@@AA@@AAA@@?“Ž‰‡„‚†ŠŠŠ…‡Š‹Š‹’’’‘“ŽŠŠŒŠ‹ˆˆ†………ƒ„€€„~€€€†ƒ‚ƒ„…†…‡„…„„…††ŠŠ‰‡‰‡Œ’‘‘’’’’’’‘•“•—’““–“•–———•–—››¡›Ÿž¢¡¦¡¢¡¡™•Š|qg[[h€ ¹µµ¸½zrefhgmnopoopsvrkieXQP]n}ŠˆrbTWe|‚…‘¢ŒxitŠÙ÷ûÿþþþþÿÿÿÿÿÿÿþþþùèŠMEMmªÚÖ¨{}¥‰qeUHLhd^u§ˆp§¤•ƒub[Y`[XIV”àóüýþþýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúð䯱«‹^F;8+%#'+-131,)#!%()*('&%&%$%''''((&')'&&&&+12,)((())((*.4;?>IE:+(%%%%&'&&&&&'&&'''&&&&'&''(&%&%&&&&&&)-0,''*/6;81/=A742-(&&%%%'.K`ddfeddheefjjifeeffkghgfejgffhfhfeWNKV_ecffhiifggkillljjiifngfcbbcbedffijjfhhhhhggghfhgghljkfgeiiiiihmjmjihkhjilllkpkmmlkonqmoprrrrvqqnvrrrvu{w|vvstvwvwtuqplnkqmmmmmnoqssrqlpaSGCAA@???A??BA?@BAA?@@‰ˆ……„‡‰‹‹Šˆ‹Ž‘ŒŒ‰ŒŽŽŽ‘ŠŒŒŽ‡‹Œ‹‰ˆˆ‡ˆ†‚…ƒƒ€€€€€€€~~„…………ƒ†‚„†††…†‡‡‰‡‘‘‘‘‘–’’’””•––––”—˜™› ›œ››œœ››˜œš–‹‡ƒ{tjc\k|‘¯µ¤²œ‘ymcbfnqqrpoprvrnjf[RMRZn‚ƒ„‡€zweNOTclrz†ƒo^l‰—Þ÷ûÿþþþÿÿÿÿÿþþþþþÿûë‘LB[~¶ÚÔɐg|•~xfNM_a`WWov…Ÿ£’†vaWQTYPGOr½ïúýÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüúðãÆ¯ªƒYA9/&%%+//11/+&"$$((''(((&')))(((('''&'''',;3/+*-013/,05;C<;GM;,(%%%&&&)'''&''&''&&&&&&&''''%&&&),*().7@4)-06?@F60BL@74+'&&&&&)2Q`bbcdccdfeiiighfefffgfcfeghffhfeaWMOQZbddffghhegghglkjjiiifeefbb`bbabdfggjeedhfgfgeffghhfhhgefdighghhhiljjihfiiklljkjjjkjklmkqproqtqoonnpqrtttuvrwuvzxwvtpkkjlkllnnllmmnlnnmklj]RKCA?@A@@@@BB@@@@@?@?‡…ƒ†ˆ‹“Ž‘ŽŽ‘’“‘Ž‹‹‹ŽŒŒ‹‹ŒŠ‰Š‡ˆ‡††…ƒƒƒ‡‚†€‚‚ƒ…‚€€‚~€€‚ƒ…‚‰‡‡…‡ƒ†††††‡‡…‹‰‰ˆŽ‘–‘•’‘–•—–——›••—š—šŸŸ¡šœœ˜–—˜š‘‡…xn][fq•»¶Ñ±½ž…vefjgrqqooqutsngaTKKPcx…ƒŽzygIDIRZ_l}zg]fzŠËõùþþÿþþþÿþþþÿþþþÿúéKHeŽÃÛÝΩmi}‡ˆ„`OZt`LKYz ¯¸€w`PLKLLFH_§ëúýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüúðâŬ¨zS=1*&&*20/01-*%#! !"#%&())))**))))(('(('''('''.79/--38??;23<IC98FM>+(&%&&&&'('''''&&*''&&&&&'&'&%%&'+13,,6HE=/28=?JI;1IKIB:+'&'&&&*6WagcddhdddeghgggffffgfeegedfffhedYOMS[ccdeiiiikghhjgmkjijiiihdfbeccbaacfiijffehgjgggijihmhjihgidifjjjikillojhhljnmmlniijmlllnnrprqqpoosnppsrvssuyxywyy|wuqljkjokklplllmmnlomkjlki`SHB@@@@@BAB@@@A@??A?††ˆ‹Ž“‘’ŽŽŽŽŽŽŠ‹‰Œ‹‰‹‹Šˆˆ††‡††…ƒƒ‚‚€‚‚‚€€€€€€€€€€‚„ƒ…††„‡‚‚‚‡„„„……ˆ‰‰‰ŒŽŽŽŽ‘””–”–—–“–˜˜™™™™™™••––’“”•—”’’’‘‘‹†€vh`XfŸ¼»¬¾Æ¦€mcbempoonorxxvmkYNMLXgs€†‡~tfI@?GNRVj~gWfmz´ðøþþÿþþþÿþýþÿþýþþùç‹LMm™ÎÝàÜ·|ns‚€xwf\h`LD_…­¾°—‡zv^NDDDCADN‡åúüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüùïãé¦qM8,)'+/00//-*(%%%$"#&'''()*))*++,+***))'(''())((&/6:/238<<G?7:BH@97GK<)(&&&&''&''''''&&'''('&&('&&&%&'*5D:15=DE8.6?<9>E5,8FFO<,)&&&&%,;YbaacdedeeffhegjfdfeeeeedccdffhdYNQS\bbcefiiighhhhihjjihiiidgde`eea`cceghhhfeefgggggihiijhjdgjidighiigihmkmihhlklkkeeeghjjjknoonnklmnlmmpqrrsuuuvvvvxwxtpljhhikjkkkjlklmllmmlkllkh^RKBA@@AA@@???A@??@?‰Š–‘”“’’“‘‘“—“”ŽŽŽŒŒŠŒ‹‹ˆˆ‡†‡‡ˆ‡…„ƒ‚ƒƒ}}~~‚†€ƒ„…„…‡‡‡‚‚„‡‡ˆ„…†‡ˆ‰ˆ’‘ŽŽŽŽ‘’’‘’˜——•–•”–˜š  ™ššš”–“““”“’’‘’•“˜“˜‡ƒugYZo„›¼¹ÙÂÈ™€vdfhmponnovzwrm]UUNOWas„…‡pcF<:@EHL]oifilqŸàòýþÿÿþþýüúûûüýýþ÷âMQs¢ÙßãàÚ£ro‡zz„||eNSkŸÍµ©€xu]LBAAB??EnÞ÷ûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúïã¾§ hF3,*,2471//,*((+*+*()**,+*)**,041-+*)))'''')+,+**09925<C:;JM><FI=78GJ9)'&&''&&'('''''(''(('&&%&&&'&&&)0@FE49EM@60?A;7=7/,09EJ@,*&&&'%-@\addcdgfiggfifjhfggelghdfbcceei^ROW^jeeehfliihljkklkkkkllihhidddfc`bgflkkggefefggghhkiiimhkghijfihkjjhijnlmllillmikedcijmlqpoommmllmompnrrsrrtwwwy}{xzrljkhhilihhkjmkklomnnnmqoooocUICAA@A@@@B@A???@@Š‹‘Š‰ˆ‰Š”‘“–”““‹‰ŽŒŽ’ŽŒ‹‹Œ‡ˆ†‡…†Š‡…††„…‚€€€€||z}}~|‚~{€€€€‚€‚‚„ƒ„…†‰ˆ„†‡‡ˆ‰‡ˆˆ‰‰ŽŽ‘Ž‘’’’“””‘—”•“–˜˜š›™˜——•”“•’’’“‘’“’‘’’–‘–‘Š†~tfa[dq“µÍù£–‚hacjppnlotz}um`ZXXNKT`o{s`SC;9BFIJWpnr}†~´ëýþÿÿþýüùö÷øúüýþõÇqKRt¨ÞáåäàÜ™ix’z’ŒymhÁ¸¨˜…zsi\J????<<>\ÀðúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýúïṤ™a?3-./062/--+))(**))****+**)+.4;78.+*)**)'*+05692-7D;3:FA59IL@@GH;::GI7('&&''('&''''''(('''&&&&''((((',8BM>16IJ:74=C94413444CI8*(%&&'%0G\`a_bdeeiffdeeecdcccfefba_cbfeaYXW^ccdddefggjhkjkiiiihihhgfedbddebcdffkigdfffffgghhhhhjghhgfgggefghhhgjlmjjjigmkifdacdjiklnnplkjjhkmmnplqoooqswvxy{{{wslhfgfhihgfdggiijlljklnmnopppn`SLDB@@@??@????@@?‘Žƒ€ˆ‰Ž•”—“‘’’‹‰ŽŽ“‘“‘Ž‹Œˆ‰‡Š‡†††……„„ƒƒƒ…~~||}‚‚‚‚ƒ‚ƒ€€€‚„…Іˆ…‡‰‰‰‰ˆˆˆ‰‡Š‡ˆ‰“ŽŽŒ“—”••™”––——˜–œ—˜šœ••–—“‘‘”“˜’”’’“”‘“’–••“”‘‘‰…vnZXfz£×¼³«Ò pgbkponnnszz|oc^\\OEMWdqkWK?:;BHTQUbp}—’Ž‚œëûúúûüûúóíïòô÷ùüî¸_IRt¨àâæåäÜËŒq€ƒ{~­˜–¦µ²²¢‘}rkdVH?>?><9:N›ç÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüùîÛ¶¢[>5--.0//-,+**)))))***++++*)-4>?@60,***,,+.29<B>:4AEC?AD@26IL@>IG77;IB4(''('''''''('''&''''&&&&'(,..,*/;KL:/4IH639GB51115>EA?=2)'&(&&%3N]`cbbcgfieideeeeeddcgfea``cdgfb\^`idedhdffjjkjljkiihmhiggggdccggfcdfjjlhgeihjfggiiihhhkgihgehgggfggilkkllijjifnkhcbbcfkkllonplljlkpornqpqopqttvw}zz{}vqifeeehfeeddeghhijmjkjnnnowqtnl`TICAB@A@@?@???@>“•Žƒ†ŠŽ’”•”““Ž’ŒŽ““ŽŒ‹Šˆˆ†ˆ‰ˆ‡‡††ƒ„€€€~|{z||~€€€|‚€€€€‚‚„……†‡ƒ†ˆŠ‹Š‹‰‰‰†‡†ˆ‰Š‹ŠŠŠŠ‹‹‘’••˜””•˜˜˜–™——““’’”“‘ŽŽŽ’”‘‘Ž””•“‘Š€s`[Ug|¤¶“°¶xi`kqkmnnot{}pf_aj\FIPZd\QG<=@DKVY\aqŽ™‡’àøöô÷úùõéÝàèïòööáLFPo¥áãçççãÒ¯‚ƒsqu‰¦“¹©¨—ƒqh`YPF@AEA=;9I|åóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüøí×´ †U;2,,*,+++++*())*+)**++-++**08<=842/.-295/5=;;;=73CNB9DN@2;JC9<JC4497;0(''((&'(('&'&'('''''''')+28:>6,/:II8*4JH22>>B=6424C?>74-&&%&&&&7T^`cbbcgffeddda``abbaabbaaaceefc_aceddcedeeghihmjiiiilhieffedcehifdfgjjhggdeffeffgfgghhhggfgfihhghjjiigkkifhghgjid_bdfhkllkomljkkkjonnnnnmnpqtvvv|zzzupkgfgeabbbacefhghigmiihjjlmnoomkc\TLCB?@@@?@>@>>=š“‘Ž’’“’•••”•‘“‘—‘‘Ž’ŽŽŽ‡‡‡ˆˆ‹‡‰‡‡ƒ„~}||z|€€„€€‚€‚‚‚‚ƒ‡…‹ˆ‡‡‰ŠŠ‰‰‹ŒŒ‹‹‹‹‹‰ˆˆˆˆŠŒŠŽ‘–˜™™™—œ›ž—š™˜‘‘‘’‘—‘ŒŽ““”’’Ž‘‘‘’”•›šœ‘”„{lbXZhu‘µ·µº~j^jqmmnklqw|sjefqtJGMTZXNE??BKRX_dkv…ŠŒ‘ŒˆÀôóóòñòîÒ½¿ËèîïéµgGENj¤àäèèèæãЯ“•xdgo‘™ž“‰‚xg^WPJDCDEC>=;DhÒðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿû÷ìÓ²žP70+*+****+*))))**)****++*++2?D?5455418AB5;DH>8744EOC:GOA:=ED7:A@0-131+(('''&&(''''&(((&&'((('+2==GIF20<GE5)5LF/1AMHCB@0.6;70*&%%%&&&%:Y^acbdcgeecbceaa_^`baccbbcdeflfecgefdgdfdiefgijmkjinnmgidfedcdhkgffhikhffiddegggfhfiiighgjijhjhllmlljigkiggkkklkeb`eghhknqmollknjqmoonmmnppsrwvxw{{ysqlhghgf_ccbbfffghhnmmjkillkmnmllkcd_UHCAB@??@?@>?>’‘Ž‘‘‘‘•‘“’’‘ŠŒŒŽŽŽ‹Ž‡ˆ†‰ŽŠˆ‹„ˆ…„‚~}€€‚ƒƒƒƒƒƒ„‚‚‚‚‚ƒƒ…†……†…‹‰ˆ‡Š†ˆ‡ˆ‹‹†…„„…ˆŠˆ‡ˆˆŠ‰ŠŠŽ‘“‘’•”—™—’‘‘ŽŽŽ‘‹ŽŽ‹‘Œ‘’“”””“†€wof_Wbov}¬½‹k]iqmmnkknuvvlimrrRJUWWTPKDACIQ[how‡ˆ‡ƒv|¬ïñóíçêæ¶£˜µßçäÆ[DDKh£ÞäêêêèæãÇ›…„l]^`jsttqngZVPJDB@DIE?=;AVŸìÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúöëÒ°ŸvL3.+*)*****)*,-.--,+*++,++--7HED<8;A81<LC39FFDA<:7GO@8DPF<>E9/194,++++)('''''&('''''''().211-)2=::@PH78?B?3)7ME//?FOAD6**++,*'&%%&%%$%>\_ccceacccaa``_\Z]_bbbbdefffeeedccccbfceddeggjjkkjjjjjhebfeeegjkggghihffdddccddfeeeeefffehiihhhkiliigfegghijigdb`ccgjiimpojniljjknlmklkmnprsqwtxxwurnmjhefcf`cfeefggdccgfhhiijilmmllmkbcg\RJBB@?>@>?>>>ŽŽ‘‘“–“•“˜““‘“ŒŒŽŽ‹ŽŠ‹‹ŽŒ‹ŒŒ‡ˆ„‚‚…€‚€€€‡„‹Š‰‡ˆƒ†ƒƒƒ…„Š‹Œˆˆˆ‰†‹‰ˆˆ‹ˆ‰‰Š‡‡‡††‡‰ŠŠŽ‹ŒŽ“’‘’••‘—•––—•”ŽŽŽŒ‘ŒŠ“‘’”’œ”˜’’ŒŒƒpeXVbov§¯¥o\fqmmkjjjnqpnowooWN[jVUSTIB@FO]jvˆ‰‡„~or¦íîïìêì㺔”«ÛàЧzUECIf£ÞæìíîëéåÛ£ut}dVVZ_cddc`UOIC@?@DHHA>;>L„èýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþýùõëÒ° qH0+)()))****+-1450-++,-.../1;LKB>>IF=4DKG48AMJNC=:JO>7CJO@C:2+*,,)'''''(''''''(''''((),07?A;2-8CD7:NM87CK<1)<IC2.6GID9/'%$$'&&%$#"!!!&Cacdidedfbc```a\Z\abfdcbfgjhjgidcdecdbfdfgkjjijjmmnkkhgedcfehgkllghgkhgfeegdcbcdfeeegghfeegjlhoklimmlffehfkklheb`bjimlnkonmmnkljonqnpnolpnrstqwuxvsqnnnjlhjfgcefhimihgeefgjhljmkkklkjkidddd^THC@??@>A>>>ŽŒŽŽŽ”’‘‘‘”’’ŒŽŽŽŒŒŒŒ‹‹‹‹‹ŒŒŒŒŠ†…ƒƒƒƒ‚‚‚‚…„†…‰††„…ƒ„„„„‡ˆ‰‰‡‡ˆ…‡ˆˆ‡ŠŠŠ‰Š‡‰††ˆˆˆ‰‰‹ŒŽ‹ŒŽŽ’’’’’‘“”“ŒŒŒŽŠŠˆŠŠŒŽŠŒ‘“””–‘ŽŒ‹ŽŒ”Œ†€xpe_X^hŽÃµt\crkmjihinnoqstjc\W]aXTROKB<BMWhny|||{wcm ëëêìííèѧ“¶ÙÔÆ‘lUDCG_¢áèîðñïìèÞ¬oehk[RSUWYYXVPMDA=>?BECB>;=DsäûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþýýùõëЯ mE.+))))**+**,09D;31.147:9963<OJ>@?IL=5EOD489@EKJ=<GN:/5>;;61-())(''''''(''((''(()*/3468::JFF7/;IA0:KK68FJ:2)=QD6-+061-*'&%&&%%#"! !(Ldceecdccaa__\ZX\_bcddddhhifeedbbbecdcddfgiiihjjjkkkjedaccefghihhffddddddegeeddeffeffceddehjjhkjjjiihdddggkjifb]cfiijkmjlnkikkjhnlmlmlojmnqssqwtsqokigjjjiigfcefhhkjjhhghhhhijkjkkkkkkhcfhgf\RJA@??>?>>=ŽŽ‘‘—‘’‘Ž‹‹Œ‹ŠŠŠ‘ŒŽŠˆ‡†ˆ‰†ˆƒ„ƒ…†‡Š‰‰‰‰‰……„‰††‡ˆ‡ˆ‰‰Š‡‡ˆˆˆˆˆˆŠŠŒ‹ŠˆŠ††ˆŒ‹‹‹ŽŠŠ“‘“ŽŽŽŒ‹Š‹‡‡‰ŽŽ‘•™ž–—Ž‹‹“–’‰†ƒ€skYW^r—²n\_slmkiihhjmsqpg`a[_eYUVRI?:<CN[f|Ž„v€tl©ìîïëçêêÚ¹½ÆÉÈ©„mTD@DXŠÎÞìïòðîêß´ldfjaXQOOPQTUMKA?<<>@BCB?::?fÉùüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþýùôêЯ fB-*)))**+*)*-2DHF5349<CDMD;4>OJ:9ALJ=6FOB777:BLE>=EB6,,/00.+)''''''&('&'((((&'()-17=EGH>@FPH<7EK<-9NK39JJ<2)@GG4-'')''&'''(#"!  ".Tcbdebgccbc`a\X[adheffihliiffddbddeeheefiilkmjjkllmjjecbedhiojkjkfidcceccdgddddcbcddecfcdejjkgmlpjiifddejjljieabkjmjplmllkjimlijmkomnloloptstrwtsnlhgfklokmjieeglikkmknnnnnlllnmmkolmjheknrlg_QEA?>>?>>=Ž‹’‘ŒŽŒŒŒŒŒŒŠŠ‰‰‰ˆ‰Š‡‡‡‡‡‡ˆ†„„‚„„…„†‡‡†…‚„„„„†‡‰ŠŠŠŠŠŠŠ‡‚ˆ†ˆ‰‰ˆ‰ŠŒ‰‡ˆ…‡‡Š‹‹ŠŠŠˆŠ‹Œ“ŒŽŽŽŒŒŠŒŒŒŒŽ‹‹‰‰„‡†‘‘”•”’‘Ž‰ŒŒŽŽŽŽ‹Šˆƒ{pd^Vcomh]^uonkklihikopog^`WYZYQLIF?9;?HQ`‡™—ŽŽ•š²îñóêáæêâ¿Î»³©¡ŒoSEBCSlÚêïóòðëâ¾vTXgdaUNLJIJIHC><:;;==?A=99:Z¼óûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþùóêί¡`=,*)))+**)**.5FRF6:>?CDDLL>4>OK89CMG?9HOA7<ECA>=74471+***++*))('((''')''((,-/20.6?==AMG:>?NF=:HL<.<O@07LHB3(093.*&'''''&$#! $5Wbbccbbaccb``^``dgedfghhhhiefdcaeefehffgijjijkknhehifcddeehjojjhkeecccfbcccddb`\badccbbcdfjhggijjgihgeffjiiiebeijimkmllljhjjomjjmknmlllkopqoppsuojifggkllkliigghiiiikkmmnonmnnnmmlmmljhcjpqnli]PH@@?>>??•‘Ž”’‘‘’”Ž“ŽŽŒŽŽŒ‹ŠŠ‰‹‹Œ‰ˆ†„„……ŠŠ‰ˆ‡ˆ‡††‡ˆ‹†‡ˆŒŠŽŠ‹‰ˆ‰ˆˆˆ‰ŽŒŒŒ‹‰‰‡‹†‡ˆ‰ŠŠ‹ŠŒŒ‹ŒŒ’ŽŽŽ‘ŽŽŠŠ‰Ž’Ž’‹‹ˆˆ‡‡‰’’–––”””˜’‘ŽŽŽŒŠ‹‘“‡ˆ~ypj[Y_fl^]umolklihgjnnmh^XQUeYMHFC?;:=DGPsª£¦´ ÎóóóéßàâØ»­¡ž¡¥¨wQICBNb€·ßèðððëäÇ€XOVg`ZUMIFFGB=;9:;:;;<<:988PŸìùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýøòé˯¡\8,)))*******/8IRG7=GPA>CNOB8>MK69HLI@@KJ@9BCH@<3/-,-+)(((()***)))(((('''),16=<86ADC@BPJ63?LC=?LK;5AG=/5CK@5)(**('%%&'%$"  ';Zadedccaddeabcdbjgeeiimmnghffcccffhghhhhkjkikklheekheehfkgjjojkhjeddddgdedeeib__abdeechdghkhjghhgfjghgkjjhoidcikommlokiiijkkoljjlkomrlnmsptprouqlijhjgmmnkkkklmhrkjjkltqwxxussropqvpoopnlptnrmm_QEA?>>?>‘’‘ŽŽ‹ŒŠŽ‹‹ŒŒŠŒŒ‹Œ†…†ŠŠ‹Œˆ…„‚†ˆ‰ˆ‡‡ˆˆˆ‡ˆ‰‰ˆˆ‰‰ˆˆ‰ŒŠŒŒ‹‰‰‰‰‰‰‹Š‰ŠŒ‹ˆ‡„…†‡†‡‡‰ˆŠ‰Š‰Œ‹ŒŒŒŒŽŒŽ‹Šˆ‰‰ŽŠŠ†ˆˆ‰Š’’””•—“‘‘Ž‘ŠŽŽŠ…‡‰‹Œ“Ž‡†‚}xrhaX[_Z]vmmmlkjhgikonj`RMOUVIBAA?::;=@Ib„§´¸´±ºìùöòèÝÛÑͧ””‘¯Ö½ƒYSHAL[w—¾áíîðëåЋ`NIR\`bZNIA?<:87677668:9876IŠå÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþý÷ðèɰ Z6+)))*******0;IRF7?OL=??NPA4AMH58MMLFCBE9/4;752.-+-**)(()*162/+(((++++**079<:H99CM>2@OI34DE?=ALLD;BC6(-6460)((''&%&'#!   *C]`bcbab`a`dccccceedcdeeegfedddccefhehgghjjjhiiifffgfeeffgfkjkjiggddeedccdefeb_acccdcddedgikfffgffffghhljjhjhhfijmqnkljjijkkjnjjjmkomolmmpppoqnnlifgghgghjijjkllhhhkjjkoorstuuwurrsvqpppmopsnnmke[OG@?=>>‘””“““Œ‹Š‹‹’‹ŒŠ‹‡‡‰Œ‡„„…‰Ž•Ž‹Š‰‹‹‹ŠŠ‹ŽŽŽ‹‹Œ‹‹ŒŒŒŒ‰ŠŒŠ‰ŠŒ‰‡†…‡‹‡Š‰ŒŒŽ“ŽŠŠŠ‰ˆ‡‡‡ŠŽŒŽŽŽŠ‰‰‹Œ‘Ž“•••—–’’“•Š‡„…‰ŽŠŒ‡ˆtm[W[V]ulromlnhffglok`TKMOMD>>@A<99;>CTlœÏ¸¶µ¹ÛòòñçÝ×Ç®’ŠŠ”ÃÝÒ“eZLEIXq‘©ËæêîêçÖ–kOEEV‰|n^SK?;86665543344675DzÞôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýöðèɰžU5+*))*)*****1<IRE7APJ:9?LN@5CKF48CPLLDC:2,+-.-+**)+*))((*/;AA2,()+.01/++6BH==<<>NK;/>PG04HN<6=NNKDF9/&&))))((%%%&#"!!   !!!".I_aedeac`abeeedgggehcfefdieccefgdefhghhmmlklknijhiggehfhhihljmijfgceegfhdfhkcabfefdeddefelllkmglfffjkmimlljlhhhijmoqlkjojmmpknikkmmnnsoqpppsrrlmjgfhhlhigljmlklljmkkjqjnnpqttvw{zzuvsrqvvuttpppqjk^NB@=>=•’‘’‘‘ŽŒ‹ŒŒ‹‹‹‹Œ‰‹‹‹‹Œ‰‰‰ˆˆ‰ŠŠ‰Œ„ˆ‹Œ‘‹ŒŒ‹Š‹‹ŒŒ‹‹ŒŒ‹Š‹ŠŒ‹‹ˆŒ‹‹Š‹ˆˆŒŠˆ‰‰ŠŒˆ‡‡ˆ‡‡‰‰ŒŒŒŽŽŽŒ‹†‹ˆ‰‡ˆ…†‰ŒŽ‹‹ŠŒ‹ˆŒŒŽŽŽ‹ŽŽŽ‹†‡…‡†ˆ‹ŠŠŠ‰ŠŠŠ‹Š‰„€zsg`WSWflrpomnigeejmme_TLJIC<=>><9:;>CIb޳¸´ÊÈÇéíëß¿¥žœ”ŠŽ™½ÝÕ£€sSHLUm¤¶ÓåëéçܝvVCBP{šqpmh\RH?<97542244555AlÝòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüöïèʱ“Q3+********++2?KSD7BQJ99ANL?5CPB138;A=951/++,+++*,-.0-)))/5ALD4.+159@;<3-;LE3108@MI:0BPC/5LM943>LA?7/,''((''('&%$"  !!!"#2O]aaab_a``afddeeefddbddcaabbbeffddehfhhjgijjjjjhfecgeeeghhhkjmhgddcdeeeecgje_bdeeedddffffhgggifhfffiiihliihhgikkklkiikjjjllkijijkmnnnnnnlnnnkjffchgiikfffhhhhiijijiiijjmmqqrsuuwxyvvttrsssrrppkpkkkZKE>><–“—‘’’’ŽŒ‹‹ŒŒŒ“‹ŒŒ‘ŽŽŽ‰‹‰ŽŒ‘ЉЋސ‘‘’ސŒŽŽŽ–ŒŒ‹‹Œ’‹ŒŒŒŒ‹‹‡†ˆŠŠŠ‹Š‰‡‡‡†‰ŒŒ‘‹Š‰‹‹‹ˆ‡††ˆŒŒ‹‹Š‹‘‘‘’”’™Œ‹ŠŠ‹Œ•ŽŽ‰††ˆŠ‰Š‡†‡ŠˆŠ“’“Œ‰†…ƒwr]QQ\crqponkjgeilmmd`VLJB=<><:8;<?DM]„¶¤œž¢³ßéâÃ¡Ž„šœ¢©£·ÛÖ¤’wZQNUj‡Ÿ®Êâêèæà¥‚_FAGljo‡¨Ÿ–}hUFA:752222555?aÌïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüöïçÊ­‰N2+,++++*++**3CKSC7CQJ79DOM=7EE?/-02420-+*)))))*+/5861+**2?OQH5017=CIPA71EKB/))1DLG81EP@.7ML6.,2862-*)'(&'%$##"     !!!"#$6U[_ccdabbebgehhhejegcdcc^]_fehfffgfhhlkphhjqlmjgeefhfjgkklkkknihdcdhefggfihedfffffdefkhhhjghglfifehlhjhlhhghjmmpmpjiikkpjkjjjlilmmornooonsmmjheefiijkkfhehhkiiioikiljmkplqqsttuwx|xzyyvvtwvvrqopnomlZLA==’‘‘‘Ž‹ŒŠŒŒŒŒ‹ŒŒŒŒŠŠ‰‰‰‰Š‹ŠŒŠŽ‘ŽŠ‘‘‘ŽŒŠˆ‰Š‹ŒŒ‹‡ˆ‡ˆ‡Œˆ‰„†‡ˆŠŠ‰‰ˆ‡‡ˆ‰ŠŠŠ‹ŠŠ‹ŒŒŒŒ‹‹Š‡‰ˆ‰‹‹‰‰‡‡‡‰ˆ‡ˆŒŽ’”•˜’ŽŠŠˆŠ‹Œ‹‹Šˆ‡ˆ†††ˆŠˆ……†…ˆ‰‹Ž‹Œ‹ˆ†„vj\OQZiqqsomkjhhlpojkm_TK@?>=99:<CHQay‘’“–‘•ÌàÓ¹¤ˆ†›˜¨ ©Õ¹›‹}eWTUe~š¤ºÞéçåÞ²ŽmLB?OZzŸ·Æ¶¨…j\PHA;5433556=X®íÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûõïæÄ¨€K2+++++**+-+*4FJRB7FRI67FFK8/5<5-,+-.--,***))))+,5BAF9--+7JOVF56;<@@JNC83EOA/,(1HLB82HQ>-2J=2,'*-,*)((''%%&"     !""""$$&<Y]^^^a_bbebfeghgegeea`^^[\^ecgedcfghhiiiiikihhhffgggfhgigjijjjigcddfdfghhhgedeedcedfgihhijdddfffdfikfgeggggknnnpljiijkkkkkiiikjmlmpomonppommjhfghjjjihfffhhhhihjhjjjilkplpopqsvwvwtssuvvtutsqpmnmnmkdWIC=”“”‘‘ŽŽŒŽŽŽŽŽŒŠ‹‰Ž‰‹Ž‹”“•’Ž’‘–‘“’˜Œ‹Š‰‹’ŒŠ‹Ž‹‹ŠŠˆ‹‰‡‡‡‡‡‡‡‰‰‡‡‡‰‹ŠŽ’Š‹ŠŠŒ‹Šˆˆ‡‡ˆ‰Š“‹ŽŽŽŠŠŠŠ‹‘’”™™˜’‹ŠŠŒ‘ŒŽ‰ˆ‡†‡ˆŠŽŽŽ†„„…††‡Š‹ŒŒ’Ž‘‹‹†‚vm[MR[erqponkhimoronuzocSCCD<:<>ALYjyƒ†„„“¾ÒÊò™‰Ž’˜¨šœ¤¤’†|k\TW_v•¤­Íæåäß¿›UB=Fh½Ù×ܶšƒth_ND:534685;Q“êÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüõîæÀ§vH1++****++,,,5IOQA8JLH45<C=4../.+))********+))),.=KTM>/..;OUTF25>G<:LOB96GO?.+'1JL>74KI<./45.*&%((''&''&#" !  !!!""#"$$##%)D^^_`^d_abdcffiiihjde`_^`Z\^ecgfeefhljniljjigedffhggiiljmmnjliihjfgegdjjjkkfeeedddggghkhjjjffeheeejikhiiigikoopnqkjijjkmmlkjjjnlnlmppmonsrpopjjimkkjniifllkhjjjgmilmmlppqmtqrrttyvxttstuvuztsrpnonpmmifWI?ŽŽŠ‹‹ŽŽŽŒŒŒŠŠˆˆ‡‰ˆ‹Œ‹ŽŒŒ“‘‘‘‘‘Š„‹ŠŠŒŽŠ‹‹‰‰‰ˆ†‡‡Œˆ‰Š‡†‡„†…ˆ‰‰ŠŠŠŒŒŠŠŠ‹ŒŒŠ‰‰‰‡‰Š‹‹‹‹‰ˆŒ‹ŒŽŽ–‘Ž‹ŠˆŠ‹ŒŒ‹ˆ…ˆ…†ˆŒ‡ƒ‚‚‚…‡ˆˆ‰ŠŠŠŽŽ‹‹‹Šˆ„|shZMQZirrtpnjiklomo|Žªr[GD><=@AJavˆ…„ˆˆ„—ÉâÔâË©“‹‰‹ŒŽ—š‹‡Œu`XM_h…§«ÃãããßĦ‰]F?Zƒ´ÜÛÜÛÁž˜dTE<866875;J†èÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýüôí忦pE1+*****-+,,,4KKN=5=I>133220,,-+******-++**+))*,/?RRRB232?PNQC/3;;;AMM?8:IN=-+(3LD:53:A4(+-+))''''('&#"!    !!"""""""#$#%&-Ja^^^^`_aacdeggggffcd^__XT]^acdceegjlhiilkjggceggehgijihlkjihfffggffgekihefeffedeeghgfgghjifffheefggjihfggjmonmlljjijkknjhhehjoknmorqlllmlljjhjjjkkkkihflhgdffgfihkkkkonnnqqqqrrxuuutsttsrqpolmnnnmlljgaTEŽ“‹Š‹’ސŒŒŽˆŒˆ‹ŠŽ‘ŽŽŽ’’‘“•‘Š…‡‰‹ŒŠŠ‹‰ŠŒ‰ˆˆ†…„‡ŽŠŠŠ‡†‡„ŠˆŒŒˆ‡ˆŠŠŠ‰Š“‹ŒŠŠŠŠŒŒŒŠˆŠ‹Œ—”ŠŠ‰ˆ†Š‹ŒŒ‰‡…ƒ…††‡ˆŠŠŠ…ƒƒ†‰ŒŠŽ‰‰ˆ‰‹ŽŽ”ŒŠ‹ŽŽ‰„xnZMR\gtsqnjihkooq™°¹–…aKB=?DAH\€‡’ˆ…ÏÖÔÜà±”Œˆ‰‰ˆ‡’”’f\^chxž¬¼àáãßɧ’aJMj§ÝÞßÝÙ»£¡¦ƒlVH>:99877;G|çþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýõíå¿¢jA0+++**+***+,4EME:7886/,,+,,+**+******++*)**)**,0BSWUG54:GMRQ@..:==DNL;8=KO;,,(7EH6//10,('((')'(&%$"!    !""!""""##"$####$'2O`b^abbbdcgefgigkfhbbdh^UU\^acgcefkjlhlknkihgehhhhhgiiijlkkgffihigffjhmihhhfjffdeehhhfhgffhhighfghkhjjkfihnmrnlllllkjlmiggighjontpqpqlkkkkmiijmlpknkkhiklhgchggejhlkplqnuuvsqrwwxsrsustrqpqpplnnpnnnolkhfSŒŒŽŒŒ‹ŒŒŽ‘ŒŠŒŒ‰ˆˆŒŒŽŽŽŽ‘’’’’ŽŒŠ‡ŽŠ‹ŒŒ‹Š‹ŒŠ‰ŒŠ‰ˆ‡ˆˆˆ‡‡ˆ‰†…†…ˆ‡ˆˆˆ†…„……‡‡ˆ‰ŠŠŠ‰‰‰‰‹Š‹ŒŒŒ‹ˆ‹Œ‹ˆ‡‡‡ˆ‰‹‡…ƒ€‚€‚ƒ†‰†„…ƒ„ƒƒ„†‰Œ‡‡ˆ…‰‡Š‹ŒŒŒˆŒ‰ŒŽˆ€vi[OS\ittrnkijmrsƒ£Áº®}QFBA@@EWm„–¥’”ž½×ÙÙÕ»™ŽŒ‰…šž¡Ÿ™€mqˆykt•«´ÐßâÞÃ¥’gVS‡ÏàáâÝÙ¶­À¨†oWJA=::988;Duæþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýõíå¼ f>/*++******,+/=9;4..0/,,,,++,,++**+*,,,+*+,+**,.1ESSUK:<CEIQP?.5;<;AOK87?NM:++'/<6.,)*+**((('''%#"!   !!!!!!"$#"""##$#$$$#(6S`^^abbbcddeffhfdbc`eie\ZW^_abbbefijjhhhhhebhfgghihffgijkifdffggheffjhlffeggffeceeijgegdeehhgfgfhhihhfffiimmnkmijjklifhfgghgijpopponpikkkkigilkkmklkkhjkhdddikhfhhiijilnrttsrrvtsqrssrsrqmmkmlmnnoqspmmli^Ž‹ŠŠŒŒŒ‹ŒŒ‘‘ŽŒŒ’”“›•˜’‘‘”•™•–‰‹ˆ‹‘Ž’‘‹ŒŒŠŽŽŽŽŠ‰ˆ‡‡†‡ˆˆˆ‰‰‰†ƒƒŠŠ‹‰Š‹ˆˆˆ‰‡‡ˆŽŒŒ–—˜‹‰ˆˆŠ‹‹‘Œ“Љ†ƒ€~„…†‡‡†„ƒ„ƒˆˆˆ‰Ž†ƒ†‡ˆ‰‰ŽŽŒ‹‹Œ‹ŽŽŽŽ…um^SU\fqpoliikot…­µ¼°”qWHILLGCXi˜¬Ê© ¬¯¶ÍÞÈŸ˜—”†Š˜«Î§„v}¥¾vf€ª®ÂÛàܽ ’r]n¢ÜãããÝÚ³«©©‹s]MC@=;::9<Bnçüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüôíå¹¢c<.+****-+*+,+,210.,-,,+++++++,--+*+*++++,--++)),3IOPRPBABDHPN>8;CD:?QJ56ARF8**(*-,*(((())(&%$$"!      !##""$"""#$%$$$#"%$&$$$)9W]^_dbcdefheffibaaeelhe^___addheeffhjijggccdiggfjjkklmlmmgddihkhifggjjlfgfjgffeehfligelgffkgffhhjjjgffjiikqnolnijkojihhghilkppppqnllpomlmjigmkklonmlkkojfdiijiihigghlllmqrututwsttsststrqnolpmnorsttvvuuvjŽŠŠŠ‹ŒŒŒ‹ŒŽŽŽŽ‘‘‘‘’”””““““”••“”‹‹‘‘’‘Ž‹‹ŒŒŒŒŽŒŠ‰†‰‰‰ˆ††…„ƒ‚‚ƒ„‹ˆ‰‰‰‰‰ˆ‡ƒ‰…†‡Œ‘ŽŒŒŠ‰ˆ‰Š‹Š‰ˆ†„ƒ‚„„€€‚ƒˆ†ˆŠ‰‰‡ƒ„…ˆŠ‰ˆ‡„„…‰ˆ‹‹ŒŽŽ‹Žˆ„}vqaSU[irqlihjmt„—ª²²gSL]whQOZj{²²²Ÿ’”¬Áäצ–›¡¦©“…–±·¶ž“ÈÉ‚blŠ›°ÕßÖ²›”}w|¹âæåäÞа¯¶«wcPEA><;:9;@gåúýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýûôìä¹£`;.+**++++++++,.-,-+,,,+,+++,-283,++,,,,036;4-,*-6KMPRQGEEGGOL>4@MD6APA24A;=3*)&()*)))((((%#!  """"!######$$##$##$#"$###$#*<X\_`aacedffccb`]acefecb___abeeeeeeeegggfdaefgfhghiiiiiihgeeeihjhgfggijgdgfgfggghhffggfffggffffhjjijgedhikkllkiiikljfffggikllmmoonllkllmljjiimjklonnolklifeijjggggggehhjkklnppqqpsutssspmmkmmnnprtuutvssrqnŽ‹’ŽŒŒ’”Ž‘’•‘˜’’‘’“™—œ—š™™—›–”“““”–—‘™’•’ŽŽŒŒ•‘‘‹‹Ž‹’“’Œ†„‚‚‚„‡†Œ‡‰‰‰ˆˆˆˆˆ‡ˆˆ‘“‘ŽŽŽŒŒŒŒŽŠ‰ƒ‚‚‚‚‚„‚…€~~€‚…‹‰ˆ‡‰‰‰‡†‡ˆ‹Œ‹……‚„ˆ‹Œš‘•ŽŒŽŠŒƒ~zvcUU]fqmjhgls}†—­¤’cLZv‰‘lYblzŠ”žœ›Š˜¥½åΫ¥¨Ÿ–¥–—¸×ÖÑ›™ÁÏŠ_fƒžÄÜ£˜Žƒ¢ÞäèæãÝǰ¯±­{bSGD>===9:?aÚøüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýûôí帟]9.*,+,+++,+,--+*+,,-,,,,,++-.8>>.,----.3;AA?/,*/9LJCMTPOA=HNI=8LMEDHH@.,230-)(''')('((%$#"    !!""####$$$%$$$%#$###%#%#$#$#,AX]ccbadedefcd^[^ehjeedccb`eeeefeeehegffdcdjjiekhhikkkijhfegeihmijhjiiheegfghjhniihgfggjgigihjjjjmkjgdfkkpknlkimlljiefgjjmlroompopkmlmmpjhjjkmjllpponnmmighlkkhlgghhhiiihiilmqrrpttuvvpolmlqnpqrsvtssxwvqooŽŒŒŽŽŽŽ’ŽŽ‘‘“”•‘‘‘““’’“™—œ—˜˜˜–•““’‘’’•‘”’•‘“ŽŽ‹Œ”‰†ƒƒ„…†‡‡ˆˆŠˆ‰Š‰‰‰‰‡†‡‡ˆˆˆˆ‹‰ŒŒ’Œ‡„ƒƒ‚€ƒƒ…†‚€€|€‚ƒ…ˆˆ‰‰††††‡ˆ‰ˆ††……ƒ…„…‰ŒŒ‘ŽŒŽŒ‹ŠŒ†ƒ€ztbRTZgrlihkry†“ “bSb‰¥›‡mlozz{‚‰‡ƒ”­ºÉÇ²Â§š†–¢¼ÔÝÚ§š¼³–eYo„•·´ª£¤¥§©¯âçêæâݽ ¨¸©‡t`UJF@??>;<@]ÇõüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüúôíÞµšY6-)+++++*++,---++-,,,,,,,+,.0:H:1476752:C>?7.-*0;LGIHRTK;<KJE<8DSC?>?5****+*)))'(()%&#"!!  !!!""#####$&%$$$$$$####""#####$#/I\^`_aaefedb_\X_ehkc^]]baabdeedffedffgggcfghgfeffijkjjjifedeeiglikghgffeegfhiihiegggfgehggehjkijjkkjghikkmkmgkillkhjfhijjmmmmnmmklkkilkjfhjkklkkjqpqkmnmijkkkmghgfehcefiegfllmmqnnnomlkllllooruuuussponponmŒ‹Œ‘Ž“““Ž‘—”˜˜™”•””•–——““•™™™˜—š•–•š’“’—”•”—••‘’—’“Š‰ŠŒŠ‰‰‰…‡†‰††ˆ‰Œ“’‘‘ŠŒ…†……†Š‹‘”—‰†ƒ‚€€‚„Žƒ‚€‚„‰ˆ‰ŠŠ‰‰…‹‰ŽŠŒ‡……†ƒƒ„…‡Š‹Š‹Œ‘ŽŽ‹‹‹Œ‰Š…}ubUTZdnhhjpz|‚ˆoVf §«vrqqprs|zxz–ɽ»³¬¨œ–‹Ž—¦¯ÏÖÓ³œ¦»•lVct†¢º £³Ã£¹äçéæâÜ´Ÿ¢¤¦‚paWNJEB@><??YºòûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúóìÚ³‘V5-+*+++*++,,++,+,,,,--,,,+,/6DH;8:?HB;9EF>>3..*0?LE;BRRI8:LQA74@FG=73,(''(()))('&%#! !!!!""#$$#$%%%$%%%%$$$##$$#%###$#$#2R_aaaffefhdc_Z\ehle]Z[^abffggffgfjgfhlihfniiedehfmlnjihieefkfihlkkhkffeffkhmijhiefhgglgghjfhlqkjimjjijlmmnjmijiolkhjkllkkmnmlqmmnoonnpkjfjkppqlmkqpqmmmmmmnqkoklgfghcfeigkkkmpqropppkkknnqrttuw|vzstoompnnlŽ‹‹ŒŽŽ’‹“””—••”–••””••”–š™˜˜™——˜•––˜’’“–••“”’‘“’‘ŠŒŽ‘Œ‹Šˆ†††‡‰ˆ…†‡‰ˆˆ‰Œ‘”’ˆ…ƒ‚…†ŒŒŠ‰‰‰…„„„ƒ„†……„„||yy{††‡‰ˆˆ…‡††…Šˆˆ‡‡………………†‰‹‹‰‰ŠŽŒ‘ŽŽŒ‹ŒŒŠ‰ˆ‡‡}rcSSYdjihm‚€}|{Šnf†¬¢”slkpt~„€ns–ÇÆµª®™›•|…ˆ“”°ÑÍÅ¥ŒlSYdw‹«É¾ŸžÂæçèåâÖ¯“§¨–}rbZOLHEB@=>>V¬ïúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýúóëÔ²‡R3-**,+,+,++,,,+,,,-,.,,--028=BG=9<>BH;8AND>4,-*2C@B89LO@16KB;2+/421/,+)('('('&%#!     !!!""""####$$%%%%%%%$$$#"""""#######$7X`bbccbededb_`bfif_]\_abcdefffggegghijihghfeeefhgjjifgfhbefgfhhiffgheedfghfiikeeegihgkfgiifilkkjilkjikllikjjiiiiihgiilomnnqlkmjgeimkjigffjkonojkkqoollmnmnpnkljkhgcbbccefhilpmkmllkjfhhlpqrssuwwuurolkkjiig‘‹Ž“““”•—œ••”˜•–““”•—ššš—–––—ž˜˜˜˜˜™•••››œšš‘‘‘“”•’“‘ŒŒŽŽŽ‰ˆ‡‡…„…‡‡Š‰‹ŠŽŽ““—–”‘Œ‰„‚ƒ„†‹‰ŠŠ†„……†ŠŒŒŒˆ‰…„‚}||tr|ƒ‡Š‡Š‰‡‡†‡ˆ‰ˆ‡…†††‡ŠŠŽ‡ŒŒ‹ŒŽŽ‘ŽŽ‹‹ŒŠŠ€xcUTW_ifjzŠ}{‰“muŽ™‘…rjluŽ—Ÿ{q“Å»±¬ª›†ˆŽ‰„ˆ—’¤ÑÕÍ®‰˜oTNZjz€·É»”ŠÉçèèåáÒ¬ž­¢‘{ub\TOKHEC???RœëøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüùòêÒ²M2,+*+,,++++,,-+-,,,,,,,.049?FKB=@E@B@;8@INA5,.,3IJ?55HD8.2;;3-)()))((*))&'%$$#!    !!!"""""###%%%%&&%%'&%%$%$#$##"$"#######&<\bcdeedffffffgfjhd^^`cdfdieefghieihqjjiiggfghlhkgihhfgggfggggjikefggfiiigifkilegfgikgkhghlkkkjjkilkkjnjklmkkkojmiihlkmllnomlkqiddiihgffiinnnnnmllpopmlmqnpnllmkjgicbbbbeflkmmllljijieggjoqswvvwvvwqniihhiigŽ‹Œ‹‘‘’’•——˜™––”””–’•–—™˜š—•••–—š˜˜”˜–——–”˜–›—–“’’‘‘‘ŽŒ‹‹‰ˆ…ˆ…‡ˆ‡†ˆˆ‰‰ŠŠŽ’””’’‰‰Š‰‰‰ƒ„†‡‡†„ƒ‚‚‚‚„‡‡‰ŒŠ‰ˆ…„€{xyvz„…‡†‡‡ˆ†……‡ƒƒƒ‚ƒ„…‡ˆ‰Œ‡Š‹ŽŽŽŽŽŒŒ‰Š‹‰ŠŠ‹Š‰ƒ|ubSPS^fis|~„‘”}eg}А‰rhht’¨ ‡†¿¼¯²¬œŽ…ž–‡”‘©ÏÒÐ¸Š‚spXOQfsy‹ºË¬€…ÑçèèäáΪ˜ŸœŒzuc]VROHFB???Pç÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûøñéÏ«wH0,+++,,,+++,,,+,--,,-,,04;CBLJ@AHA<<;;8AB?@3,+*3LJ;2,5<3),0/.,***)))('&%$#!  !!""!!##$###$$$$$%%%%&'&&%%$#$##$"!""######$(A`acdefeededfffffed`adcefefedcddfehijgjhhfhggghghggfheedcbcdfgiilfgggfgggggghge`gggghgiiiikjkkkjjhlkljlijmllllojjiihljlkmkkiihhdccdefffejloonmkgmnpppklmommmlklljedccdddfhlkjhhihhgeeeffjnopssvrqmmmhcddjjji“Œ‹‹Œ•’”˜—žŸ –—”””–™›™š——•••””–—žœŸ˜˜—œ›š¤———–•’‘‘“‘”Ž‘Ž‹‰‡……ˆ‡ŒŽŽŽŽ•””’Œ‰‰‹ŒŒŠˆƒŠŠŒƒ€‚ƒ…ŠŒ‰‰‰‰‡†ƒ‚‚€{}ƒ…‡††„ˆˆ‡ˆˆ†‹‡‡ƒ‚‚ƒ…ЇŠ‰‹ŒŽ“’”ŽŽŽŒŒ‰‰ŠŠŠ‹ŠŒˆ‡‡†}s`RPS[glvy‹‘“‚u]Ucyxhiq‘ž³‰Šœ¼¹©ª¬—‘’™¨µ”“¥ÕÞÌÆŒ€vqaQPblq½´yÉæèéãÞ¦¦©Ÿ‰zwb^VXOID@>??M‡ãöÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûøñèË¥pD/+++,,,,,,,+,,++,------2<F?@NK@EF?;99;>@BD:1++*4HL70).0.)(**)*)*()('%#"   !  !#"!"""!##$$##$&$%%'&&%%&&%%%%%%#$#$##""###""%*HbedhfhfhfiflllfedeffdcehefddeechekkkkkghhhhliiikhhgheccdcdehjkjmgigkfmllkmgifddhflkjkljliokoonklgllllpiklolnnnjlkkhkkpmnklihgfccdeeegjjlmqonkklnpspomnnpmmmlkkjjdedhhihllmjifghhfeeeeihkooottwrqlljecbdkknmŽŠ‹‹ŒŽ”•˜™›œ››˜•””––˜˜›•••˜“••”“••˜šœ›™—˜–™š›——”––•‘‘ŽŽŽŒŠ††…ˆ‡ŒŒ’ŽŽŠˆˆˆŠ‹ŠŠŒ†‚€€€~~ƒ†ˆ‰Š‰ˆˆˆ†‡‚†‚‚ƒƒƒ„„„…„ƒ„ƒˆ‡‡Œ‡…†‡‡‚‚€‚†ˆ‰ŒŽ‹‹ŽŽ’ŒŽŒ‹‹‹‰‹‹ŠŠ‹ˆ‰ˆ‡‰†wk^QMO[gjn†¢’u`NJLk¨›€khnw‰‹Š’¢­¹ž  –˜¨»Ã²—‘ŽœÚͳ¥Œ€xxw^Q^lqÂ±šu~ÂäèêãѶž•¤¡‰|n_XSQNH@?<=>JàõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûøñæÈ¨jA.+,,,,,,,..,-,,++,.-./.8GE<@MD<GME>:59DAA92/++)/@72.)+,+)*+*)*)((&%"!  !"!!#""##$$$$$$$$$$$$$&%%$%&&%%%%#""$#"""#""$$##%-Mcdbhffffefehhgdccdbdeddfdfba`dddejjihgefegiiijjjiidcccadbegjkkiifgfeefgkhhffdegigkijjjijjkkoiiijilmkkliklmkllljhgiilkmlmihfgfgaccccfjkmlmqplimmoqqqpmmnpkkkmjigfdechghimnkgfefggefcefhhkpoovqrpommjd^belkmnŒŽŽ‘••™šš›˜•˜žžšž˜š”•–™–›•–•˜•˜ššš–ž–ššœ™š˜ž™œ”““•ŽŽŒŒ‹‹Œ’’˜Œ‹‰‰…†ˆ‡ˆ‹”ŽŒ‰„€}{~ƒ‰‹ŒŠŠ‹ˆ‡‡ˆ………†ˆ‹ŠŠˆˆŠ…‡…‡‡ˆ‡†††……‡ˆ„ƒ‚‡‹Œ‹‹”‘ŽŒŽ‹ŠŠŠ‹‘ŒŠ‰‰Šˆˆˆˆ„um]NJLV`n…‘Œ{[KAFb¤³Šploonw‘›™™“‹˜”Ÿ½àÛɯªš—³·®«“{¢‰iZ]lrÅ­•u{µáããÒË©•¥Ã¢‰whZROMJF>?;<=H{ÞôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþûøðåÇ©f?.+,.,+,,,-,,,,,,,,,,,-/<JE;@GC=KOLC@44:;62.+*+*,01/,)))))((*('&$##!   !!""""#$##$%%%%$$&$$$$$&&%%%%(''%%###$#""##%#$###&1Scgeiiiffeiejggdccfghegdidfaaajglfjgffgfhefjmlplmjkefcdddehkmllkjfhggeikliiffefhigkiljjkkktmnjjjlmoljjllklnlnloighjlqknkmhiglfgcdddegjmmonqmjltstrtrqqqnpkmmnihfddeeijnlrlkffehgjfhceekghkpowvusqrske`chlllmŽŽŽ’’‘˜–™š™˜šœ›šš™™–—•–™—”•”––—”™šš˜˜•—–š™™˜™—š™š–”’•‘‘ŒŽ”ˆˆˆ‰‰ˆ‡‡……†Šˆ‚€~~|€…‡Š‡†‡‡†…††‡ƒ†…‡ˆŠŽŠˆˆˆ‡‡†……„………„„„„ƒ…†ˆ††…†‡‹Š‹‰ŒŽŒŠŠ‰‹ŠŠˆŠ‹‹ŠŠŠŠŠ‰ˆˆ‡ˆ…†‰€yri[MJLZn„‰†iLDE^ž›•vmom^^}—•‹‡zo|¦ÐìêÙǾ§¦®³®° ƒ~°vZ]ku¬©•uu§ÍÞɺާ¸Ã£ƒoaTNIHGB=<;;<GtÜóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþûøðäÆªc=-,,-.,-,,,,,,,,,,,+,-00?LG<AJ>4>LC@8/011/.,,,+)+--,+))+))''&%#!   !  !""$#$$$$$$$%$%%$#&$$$$$&%&&%$$#$%$#####""""#"####(6WcgdhcccfefeddeedcehgedccbcbbbifhffeedffffgjkkjjiggdedcbdfiklggeffffgdjiiggffdghigjjlkkmlllmljkkmmojiikklmlknjjiijkkkkkjigggecgcdafkjjlmnmnlllspqqqooopmpkkkmgfedceeikmnrifbdfffgeddedgghilnooquwxsngbhmmllkŽŽ‘’’‘˜˜˜œ¢¢£œš™™˜˜™˜š———™šš—™—šš›˜›–œœ™™˜œ ™Ÿ——•–••••’‘‘”‘‘‘‰†‰™†‰ƒƒƒ‚„„ƒ‚„…ˆ…‰‡†……„„„„ˆ‹‹‰‹‰ˆ‰‰‰‰ˆ†…††……„„„„…‡Šˆ‰‡‡‰Œ‹‘•Œ‹Š‰‰‰‹ŒŒ‹ŒŽ‹Ž‰‰‰‰ˆ‰ˆˆ„„ƒ‚{xtpbUOPbƒ‚[GL[„¬œ}syhOUpƒƒxspjj„ªÚïððìàÄ·°±¨­”…‰œžƒYXkx‰¸©–toµ²³ÂÁ¾¾½À™}j\QLJJHB=<;;=FoÙòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþýúöïãê^;-,,,,,,++,,-----,-,,.00CKGFFB945:;61,,,,,-++++***+****)(%$#"      """   ""!"#$%%%%%$%%'$%%$$%$%$&%'''&%$%$$$$#####""######$$*<\dhehdefeeffgdeehdeghdcbcbeeeejhkffeedjggfiillmihgggggfffgjjlgieffjfggljijighfjiiilmmlmmololqonooppkjjoksmlknllkkjmkjjiiihhecbhdeeikjjlnrnnmpmtqurrowrtppmnkllldefjhnmxosgcbcglhllkihghgkillllpszutljmqppnmkŽŽŽ‘““””“™œšœ›››™™—šžš—–”—‘˜—––™šš—™“™š—™š›˜–“—••’––——”’’‘‘”Œ‹‹ŒŽ‹„€}}y€‚‡‡‰Š†…‡…„„„„ƒ‚…†ˆ‰Š‹Œ‹Š‰‰ˆ‡†ˆˆˆˆ†…„‚‚ƒ…………ˆ‰‰ŠŠ‰‰‡‡ˆ‹ŒŽ‹ŽŽŒŠ‰‡ˆ‰‰ŠŒ‹ŒŒ‰Šˆ‰‰Šˆ†ƒ‚‚‚‚ƒ~„~yiXTUhzz~~bRPXl‡¢„rjcLN`w{}rkfX_{¨áîõúôêÜõ­œ˜‹”›Ÿ}WUjt€œ¥–sm|™©ÃÝßÝÎÄ´xfZPMKJHC?=<<=FjÞñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýùõíâÀ¢Y9-,+,,-+++,,--,,-+,,-...=OEB<:4,/11/-+,,,+-++,,,*,*)**'&$"!    !"!""" !!""##$$$$%%%$%%%$%%%%%$$$%%')(&%$$#$$$###"!""#######$,C\cdceeedddfedccccbfdcba`bbegffgghefdedgfffjihfffheggfdfeghjiigfcfffghhhhijighdggjkklljmnnkklpmmnokkkkkljjjjijkjjjjmmhfghhdedbbcbegjkjjmnonmmnnnnooooonoonmmjjhheffghnnqokda_dimghhjjhghceeeehlmlnoolmppoppol‘‘•”›–—“œ›™›œ›š˜˜˜šœš™˜˜˜˜’”•–•••š››™š˜ŸŸžœ››žš˜•””—“•“˜—š˜—“–’’’“‘‘•‘Ž‹ˆ…ƒ€{z{€ˆŠ’ˆ††…‡„ƒƒ‚ƒ„†‹ŠŠ‰‰ˆˆ‰‡‡ˆŽŽ‡…ƒƒ††‹‹’‹ŒŒ‹Šˆ‡‡Š‹ŽŒŽŽ•‘ŠŒ†‡‰ŠŠŽ‹ŒŽ‹‰‰ŠŠ†„‚…ƒ„†Œ†ƒn\UWbjryeUSU]j~ngaIISerrlgcUSr¨ÚîöûøôåÍÅÅ¥’”Ÿž‰w_Shoyžž–tk{ŸÄßßßÕØÀ©ŽraYPNLMFD@><==FhÖðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþùôí὚V7-.-,--,,+++,----,,,--..9?A;62/+++,,,+++++,+++,**)(&%#""      !!!!##"#"#%%%$%&%$%%%%%%%&'''%%$$$$'++)&&$%%%$%#""""$$$#$###$#/J\cgffffcdehdccddbbfdd`_affffiggfieffeekhhhkiffjfhgghkfggjknijgfdgghhljkjijkiiiklmnpllkmnllnopntmoijknkkikjjijjmkqnnjffffiffcaaeelinjiksqpnqrroqoqoooonppnnojliiklklnonrlga_`ghmiikmljhhbedbcginnomrnqqrqqqql‘‘‘”””“’’’’“•–————˜–—˜˜——–”‘‘’’“–”••˜˜ššš™œœ›š›››—™””“”’‘”“–•—’–““””““‹ˆ†‡„„„ƒ‚‚…‹ŠŠŠ‡…€ƒƒ…„„„…†ˆŠ‹ŠŒ‹ˆˆ‡‡†††‡‡†…ƒ€}ƒ„‡ˆ‹‹‹‹Œ‡ˆ‰‹Š‰†Š‰ŽŒ‹ŒŠŠ‡‰ŒŠŠŽŒ‹‡‰‰ŒŠˆ‡†ƒƒ‚ƒƒ„‡‰ŠŒŒ‰…‚l[TS]gih[USPXcjjc`H?IVdqlebW]j•Õí÷üüûîßØÊ¯› ½Ã•€{dfhfe‚¡‘sk³àãàÚÔ˾¬v^XPMKIFCA?<<<EdÏðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþùóìá¼–S5------,,+++,.---,,-----/3220.-++,,,+++,++++++*)&$#"!     !!!!!!!!###"##$#$$%$$$$$%%%&()('&%%$$$&(,.*%%$%#$####""#$$$"###"$#3P^cgdffgccfeddcbba`aa_^`bb`ecefdcccehgejhhhhgffeehhhggghhjjjghgfcghihhiigjkkfijklmomkmmmmllmopklljejjlkjhihhijjkjmomhecdceegaaadekilkklooplmlonnmnmmlmnnlnkjjjkjkkknpolkgc^_begjijnormiibdccdggonnlkkmnmlmklk•”“‘’—’’’”•˜––—™˜™—›•’“’‘’•—”–•––œ–™šš™›¥œžœœ˜š”“”𔕕–—˜™™˜—“™”•Š‡„ƒƒ†ˆŠ’’’“’‹ŠˆŠ‡…ƒƒ„Љ‰ˆŒŽŽ”ŽŒŒˆˆŠŠ‡‰‡†ƒ‚€€„…ŒŽŠŠ‹Œˆˆ‰ŽŠ‹ŠŽŒ’’’‹‹‹ŠŠŠŽ‹Š‰ŠˆŒ‰‡†„‚ƒ…‰Ž’‘‰‰}hWOOZic]XRPNXfb`ZG>AKUbkgdgtyŠºçòöùûõïéÛµ ·Ô®z~k`ab`uŒnkŠÅÓàÜ×ÉÅ·¯˜}fWNKIIIIA@=>=DaÄïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþùôì⺐O3,+.----,--,--.-,,,-,++++-,,+++++,,,++++++++*'%$"!        !!!""###"####$$$##$%%$$$$%&'')-./*'&&%$&')0-)$%$%$%#$##"$$%$%###$##$8V_dgfhggcdefefbaa``c_]_`bbbedecbbbcfiigjjlhgfhfgghhkhjhmhkjjhiihgghlhnjnkqkljnmpmnlkkpkjklloppjmkiijkkjiikilmmjklmllgedhdeeibccjhljokmmmnplmnqnnnommlpmnmnkkjjjjllmrqqmkdb]``bdnjkoqqpjkffccejjpnsljiwnomnjpj‘“’““”“‘‘’’”•–•––™’”“’‘’”’Ž”–”“••––––šš›™™™˜—™™˜”™’”••–—˜›Ÿœœš›“‹‡ƒ‚~ƒ„‰–“Œ‹Š‰‡ˆ‰ˆ………‰‰ˆ‡ŒŠ†‡Š‰‡…‚‚ƒ‚‚€€„…‰‹Žˆˆ‡Š‰ˆˆŠŒ‹ŠŠŒ‹‹‰Œ‹ŽŽŠŠ‡‰‰‰‰Š„……‡ˆ…„…‚„ˆ‹ŽŽŽŒˆŠ‰‰ˆˆ€}pbSPQ[ca\TPNOYb[TE?ABKXl}vu~Œ‘§ÑëðöúúûòãÀºÃÁž}z{sqoh^lˆyhm•ÆÌÊž¹³¬§¡‡lYLJGILF@>===E^ÂîÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþýøôìจL3,,.------,,-.--,,-.,+,.,-,++++++-,-+,*+*)'%$#!      !!!!!#"$"$#######$$$$%$$%%$$&)((*,150+)'''''(*+,)$%###$#$"""$$$%%#####$&<\adfffegcebfdcba``_^\`aaaccdba_a`cdfhigjiiggeffgiifhfhhhhgfhgffhghhihkiiijgkjmmmkljjjjgkjllljjiijjjkllmjhijlmlklmlihdeedddcbacchhhhkkljlkkkmnmmllplkkmmlknhjiiiklmmoomje_ZVYY\`nkloolpkjgfccbeikmmliikmkijjihšššš›”———‘“–™———ššš”’Ž‘•™˜–•”“––™™˜š¡š ˜——˜—›˜——˜˜˜˜™œ¢£¢›˜’‡‚‚~‚†Œ•‘”’ŽŽŒŒ‹ŒŒ‘Ž‰ŠˆŽ‰Œ‰Ž’ŽŽ’Š‡ˆ…ƒƒ‚‚†‚……†‡‡…††ŠŠ‰‰‹’Š‰ˆ‹Ž‹Š‹‹ŒŒŒ‘‘ŠŠ‡‰‡‡ˆŠ…†„†„‚ƒ…†Š‹ŽŽŽŒ‹‹‹Š‡…€}wpdWQPZnaYROQV[YSDDECF[q†’€‚Šœ¬ÃÜêñöùüõêØÐϽ™{zƒƒ‡xkalneo™ÉÊÎÆ²¬§¨¨œ“o[KGFIGD?=<=>D`ÁîÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþýøóëÚ±~I4.----.-,-..-..--,--,,,,,,++,++,+,+**)('%$#"!!      "!!"""##"###"$##$###$$%$$$%%&()((+,+,8RB4+*)**))+***)$%$&$%###$%)(((&###%#%(A`ceffgfgcecfdccdbb_``fdecfgga``dceefgigoijjkgihkjjglikijhggkkkfkiokkimikkjgljqnnkllljiiklpnmjkippppqnpljhllqmnnrmkhhgheeefdecghhhjhmklllijkomnlmlpkrkmmlknjjjljmmqpqnohc\WLJKPamkonnnpkkhiefceceglhgjrkjijjji—˜˜˜–”””“““˜––———•”•‘‘“••”••”““”›š›œ›ž˜—–˜”›˜šššššš š–—˜–‘’Œ„„†‰‘‘ŒŒŒ‹ŒŠŠŠŽŒŠŠ‰ŠŠŠ‰Žˆ†„ˆ‚‚€‚‚ƒƒ‚„…†„††‡†ˆˆˆˆŠŠŠ‰ŠŠ‰ˆ‰‰‹ŒŒ‹Œ‰‰ˆŠ†……‡‡†‚…„†€€…†Š‹‹‹Š‰‡…ˆˆˆ‡…‚€}xufXSS_l`TPPRZYRGFHHGa”…Ÿ¸ÄÎÚëð÷þøðêàÖ¬„|‰–«¼Ÿofk]q›ÇÉÈÇ­ž›“…r^KE@ACA><<=>Ea½îÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýýøòêÖªwE30.-----------..-,--.--,,,,,+++,,,*)&%$"!        !!!""##"##############$$%$$%%&&/:63<K9./=IF4,./01/-,*)(&$$#$$$#$$')-04;+$###"%*Gabffdgggceafcdedbb```dccba``]`acdfefdggihgddeggiegghhihhhhijihgjjnkjimijiigjjlkkiihjijklmoplijjnlllllliigmlnlnnmjihgcieebcccdffgehhmjmijikkkkllllmjjjjijhijjjljmnqpmjhd]VH;AEVenkllmlmkkfedebaacbdafijhiiiiih–—š–”–˜˜™•’“••œ›˜“’‘’š™˜••••–•”••œ¢œŸœž™œ——–››Ÿœž ›š˜••“—–—›˜–—––•ŽŒ‹‹Š‹Œ‹‹•“’–‘ŽŒ‹‹’ŽŒŽ•‘Š‡‡…‰‚‚ƒ„„…‰„„†‹‡ˆ‡Š‰‰‹ŠŒŽ‰‹‰‹Šˆˆ‰‰‰‹“Ž’ˆŒ‰ŠŠŽ‰ˆˆˆƒ‰„„……„Œ‹Š‰ˆˆ‰‰‰ˆˆ‰‹ˆ…ƒ‰ƒ€~{i\TS\hYRPMR[QIGGEHcœ“‹u‚µÇÌÒàëôúù÷ôìÙ£‹t‘ÕÐË‹}tns|›ÄÅÆ¸ªš™˜˜‹tcMD==?><;=AAF`¸îÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþý÷òéÒªqC1.----.-,-/-,-...--,,-.,,,,,,*(('&&%$""!  !!!!""!!!#!"##"##"#$$$$$$$$$$%%$$$%&&(.:NOSYQ@13CSA438:=??70,+''%##$$$$%(-8FHJ>0&$#$$&-M_cdefjghdeageidebc`achcb``aabdcffjgedkhlhgdifkghfgilikjkilmmjjhkjnjlknikjlinjmjiiihnmmknmrolkonoknmllmkmlmnqmplkihglgjeebbchhhgggllmknilkmkskmkjkqkkkkklghjmmllqrrnlhf]XJ;6;Ncgolmmllnjkgfdeaccddfefjkklikihi—•™”—™˜˜™—”‘‘’’“””••’••˜–”•–›žœ™š›—””•——šœ›š—ž˜˜—˜—𡡣𛕓’’‘‹‰ˆŠŠŒ”””ŒŽ‰‹Œ“““ŽŒŒŒŒŒ‹‰†…ƒ‚‚ƒƒ†ˆ†††„„„‹‡‡ˆŠŠ‰‡‹„‹‰‰…‡Š‡ƒˆ…‡‡‰ŠŠŠ‰‰‰ˆŠ‰‰‰ˆˆˆ†ˆƒ„„†‡‡†Œ‰‰Šˆ‡†„‰†‡‰‰ˆ†„„„„„yj[TQZ^UPLLMPKGFCF_˜ˆ€”±ÔèÝÜãñ÷úýùôß±Œ‡‡¹Îº”“³°®¦ž±Å»¬¢™”Ž‹ƒ|udNE<<<;:;=>?E_¾îÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþý÷ñè̪nB1/---------,,,,---.,--,,,,+*))%%"!!!! !!! !#!!!!!!!!! "##"#$###$$$$$%&''&&%$&'.28=OpR\[]A27HP><:CKOQIC6-+'&&$#(+)(16=HFOI?6(%###'0Q[^`ggecbad`fdebcaaacfga_]acdeddfgjhgdjffefdeekggghhhgggiikkkljhhhihhiihjijijiihhhhhhgijnmmmmlllkkkikmlilmoomkkjihhgiffccadehhhhhgkkkjiikkllmjjhhhhgijjljehhiilmnnnljg]RH=63Lfeilkopmkjijgfccbegggffhiijihjghi––™˜ž›œ—™••‘Ž“’—•™““”—“•–——™•–—œ›š™˜–”•—˜œš™››œœœŸ ¡Ÿ§ž£¢¢™—•”’‘‘“ŽŽ•–––—’ŒŽŽ’Ž••˜’“ŒŠŠ‰‹ŽŠ‰†…„„…ˆ‰‹‡‡†‰‰ˆ‡Œ‰‰Œ‘Š‹‰Œ‡ŠŠ‹……††…ˆˆ‰ˆŒŒŒŠ‰ˆŠ‰‹ŠŽ‰‡‡ˆ†‡††‡ŒŒ‹ŒŒŠ‰ˆ‡†‡‡Š‡†‰‰‰‰‰Ž‰‹‡†€}jZROSZQKKJNLKIDCTqu{€‘Œ­áäæÝàñöùýûùè͹§š‘™°¶°–“¯¿¿×­«¶½¨–’Ї€|seOE>=;:::<>?EaÅîÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýü÷ñèǬk@1------,/-.,--.---.--,-++*)%#"!    !"$""""""""!""""!"##$#$$###$%%%%&,124,()+2?I^`bnV\naC69BN:8>RX_WWJ;.+('&%(/117GCOKHLM@B(%$$#(4TZ^_idccbadbeegccdeefffb_`ggggggkilijekfgdjfggklllkhghhimkokmklmmhkhhiihnnnjlikhjhhgghijnmllrllkijlgokkkpounmjkiihohlfgbedihiijjkjlkkkjioooklkkgihgfhiiijfihjkqqqnpklaVF>51Bfkiiompookihjhggffkknkihkirmoijhjk–—˜˜˜˜—””‘‘’’’’•••“““““•”–—–••˜˜—–•™•˜›››žžŸŸ¡£¢¢ŸžŸŸšœœœ™˜—––——˜š–“’’‘’ŽŽ‘‘“’’’’“‡‰ŠŠŠŠˆˆ…†ˆˆ‡ˆ‰ˆ††‡‡ˆ‰ŠŠŠ‹Žˆˆˆˆ‡‰‰‰‚…„……†‡‡‡††‡‡‡‡Šˆ‡‡†…„„…„ˆ‰‰ˆ‹Š‰ˆŒŠ‰‡‡‡‡ˆˆˆˆŠŠŠŠŠ‹Š‰‡‡ƒ~xgXQKQTJFHOMQIDABVjs|ˆ’‘¦ÈáÜØàñôùþüûñäßÎ³š“®´¶˜Ž©´º¿¦¢®°£˜‹…yuobPE?=;;;;;=?FbÇïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýü÷ñèÅ®i>0-----.,---,,,-,,,--++*'%$"!     !"""""#"##""""##$$#"#"$%$$$%&'%%/CAA=48@?ANV_dfk[ZbdC458868AU^]WSO<.,)))+/;FEEG@GNCG=51'$###)8UY[]^^_]__`aedcaddeefdfbbbedfgghkgihgefffejffhiiihkiiijkmiiiihlmifhihhiinnmiighgjghhikkkkkllkkkjihhhjhjloonoljiiiihhhedbefiiijjjkjlkkgkijhjiijhehggeihhigefgkmmnnlkjdXF63.@^goljnlnoniihiigeghjknlifjfkklijhih——™–––˜”•’’“”•–š——–•“““•”˜˜––••––•–™™Ÿ¢£¤ ª ¨§¥¡žŸ›œ¦¥£¢¢¡›œ—𓑐‘•”•––™œ››“—“‘‘’”“‡‰‹‹Š‹‰‘ŠŠ‰ŽˆŠ†††‡Š–’‹ŒŒŒŽ‰‰‰‰‡†‡ˆˆ‰………„………ˆ‰ˆŠ…„„„„…‡ˆ‰ŠŒ‹‹ˆŒŠŠˆŒŠ‹‹ŒŠŠ‰ŽŠ‰ˆ‹…}ygYOIHJDEIKJIE@BHMQeˆ‘»ÃÊÌÓïôùýýýöðçÔ«¡ž­²¹Ÿ‹’²¶¼œ™¦²¢”ŒŠxtsh`PF?=;<<;;=>FbÉïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýûöðçįf<0--.-..----++--++**)('%#!!  !#"$$#######""""###$#$$$$%$$$%&('&'5P]QNKLS_bggjfpjZYaRA6/.048CZ_`XUJ<0.-/4@GNNYNT>B>61.+(&###$+<WY][\]a]_^_adcbdiijgjeecdchefglkkhkiifhfkjjgfgkjllmnnjkknilkjilkhgjjrkmjonmjjjjjjjkjkmqkljqlkjkjjgjknjnlsoqljjjjjjighfdeiglklkmmmlpkjiljkklihhghhgjghhigeefhonrrrllhdK92/6Lipponmmnmnkplmiggjkolmlijigllpkjiih–––”–•’‘‘““•™—š™˜“Ž–““’•”—›—•”“–——š›œž ¢¢¡ ¡  ŸŸŸžœŸ ŸŸžžžžžŸš›˜˜–•–•““””’•›™›™—•’‘Ž‘‘’ŒŒˆŒŒ‹‰‰‰‰Š‡……………ˆŒŒŒŒ‹‡†………„„†…†‡‰Œ‰†††…†…„‡‰ˆ†…‚‚‚ƒ‡Š‹‹‹‹Š‰Š‰‰ˆŠ‰‰†ˆˆŒŠ‹ŠŒŒŠˆ‡ˆ‰‰‰ˆ†‚~ysgYNDDDDFKJJHDBGFHQh‚Œ–¨¶Ê½ÉïõùýþþûøçÁ§§£¢¤¤­‰{”­“„•¤¡¡’…~xsmh`XOF?=;=@?>=>GcÍïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüûõðç¯b:/--.-,---,-+,/+)('%#"!    !    !"""#$$%$$##########$$$&%%%$$$&*-/,-Fk[XTRU^]\eVgegiSOHC<70,/47BLSQNHB;29?@BGRNKJA:///,'&%$$#"$$,BVXYYZ[[\]]_`bbdggfggfddbddheggkjiggfhdfeggiggejjjihfgghihghfjhhhhgijlijikiiiiiiijjkkmmlikkmkkjkjjhijjjnklllijljjjkifeegijgihkklmmllkjjkiihhhgfhjhfffhfgeddhklmmllljeN;98=E[oopoonmnnlikklhhhjkjjmlkiiilkkjiiihš”––•’“•™™˜——–”“‘“˜”““”•————š“––—œ¢¢¢¢¢   £¢¥     ¤¡   ž§¢£œžššš™š¡¢¢™›˜œ•–—˜™™”’‘‘’‘’”Ž‰Š‰ˆ†…†ˆ‰ŒŒ”“ŒŒŒ‹‡‰„ƒƒ‚ƒ‡…‰‡ŒŒ†‡‡‡††‡†ˆˆ†‡ƒ‚„ˆˆŽŽ‘Ž’Š‰ˆ‡Šˆˆˆ‰ŠŒ‹‹’Œˆˆˆ‰„ƒ€zwhXKBBDEIJLJJHFEBJXnƒ˜¦¶É¹ÁíõùüýþüúïÍÁ»­¡˜•‡w~yry”–˜–’ƒwtqhe\VMF@=<>?>==?HdÐðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûõðæÀ¨^9/-,-----.+,)(''$""!! !    !!"!!"""###$$$$#"####$$%%%&&%(&%%$%(4A73@Z\]ac`[VQ]hYf\WPD?=:761./36<ETRHA?9;LQUOMQRCE5-)%%%$%$###$'%.FVXZYYZ[[]]aaabegigngfefdhghhhjpjmggefghfgglgihkhgfeefeijjjjjiiijjjjjmknmmijihinikknntnnjmlonnkklnmnoonnnnmkjkkllmihghfjjommiqknnrlnmpmokkhmhfggggghhighfgdmnnmnkmkkS>7:BM[qqrqvqrmplkilllkkjlkijqmmjklpklihilg“‘Ž‘‘”–——˜—–••““”•—˜••˜–––”––—”—˜œž£©¥¢¢  Ÿ¡¢¥¡  ŸŸ  Ÿšžž¢¢£œœœ›žžžž›™™–š’–”™•˜“””’‘’’Ž†‡……„†‡ŠŠ‹ŠŒŽŒ‡‡‡‡‡ƒ…„ƒ‚ƒƒ†„†‡ˆ‡‡‡†‡‡…†‚‚ƒ…†‡……‡ŠŒŽŽŽŽŠŒˆ‡…ˆ†‰‹ŒŽŠ‰‰Š’’‹‡††„ƒƒ€€|yvfWLACEKKLJJJHGFFO\|ª³¹¿¸½êóùüýþýüøïâÍ¿³ —Œ‹sziefy‹Œ‹ƒ{sp`[UQKE@?@BEA??@HfÒðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûõð໡[8/--.-,,-+*'%#"          !!!""#"""###$$$%$$$##$$$$$$$$%%$&&()*+6BEDHUWpnnno_UZ\SLLKE@>:977531347:JUUGGGECQ\ZZH?9/+''#$#####$##$$%2LUVVVYX[Z\]^_abffhfggfcdeefhjjjkjhdheffffgffgihgefceeedigiijgjiijiikkmjkijijhhgmjllooolkikkooliklnmmnnmmkjgkkjdhggffeggjkkkmilkmlmllllllkjijiijggghgghfffffjiigmjmjS>:8DP_moqqovqqmojkhhhjjjjljjjlkjjlmomnhijmf‘’––—™ššŸ——–—•”•˜—›˜˜˜š™—–˜–•–˜šž¤¡¤¦©¢¥¡££¥¢¥¡§ žžŸžžž¤¤¥¤¥Ÿ¥Ÿ£££œ›š™˜™˜™”–“˜˜˜™™——”’“—–™‘ŽŠ‰ˆ‡†‡‹ŽŠ‹ŽŽ‡Ž…‡†††‡†„‚‡ƒŠƒ‡†‹‹‹Š‰ˆ†††‚ƒ…‡‰‹’‘‘‘‘ŽŠ‹‡‡ˆ‹‘ŒŽŠˆˆˆˆ–‘’ˆ†ƒƒ€€€|xxgXKCELKNNOLJIGFIWy¦ÄÂÀ¸¯ËêõûüþþýøôîäØÎ°˜Œ}wcZ_j~ŒŒ‚qn\UQOIC>?GMHDDBAHjÕðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûõîß·šW6.---,)('%$"!      "!!!""#"""""##$$$$%$#%&$$$$$%$$%%$$%%&&*-7?AFTie`WXa_^\aiNB@BBA?;::7777789::<F][USSD<J_QGA<1*'%%&"$###$$%$%$#%6MSTTUZY][____eegfjhiihceegfiillligghfhghiighilfddeeeegghhiijhjjkkllmlmkmmliiijjmmnmpnolljkkqlkkqmnmnoppqkkilljfjgeddegjqmllnlnmrnmklmrmlmmjkjjhffghffjfffnilikhmkpYB44@Qbvnvttrvqupoljiijoopkmlliokjjqqsnohjkog‘‘’•™š™™™™˜˜˜–––—˜˜˜š›ššš™˜”––—™œžŸŸ¡¡¤££¡¢¢£¥£¢¢ Ÿžžœ žŸŸŸŸŸžšœš™™œ™›š›™™˜š””•””ššššœœœ››˜—••’‘ŽŽŽŠŠ‰‰Œ‹‰‹ŠŒŽŒ‹†………†††‡…„‚‚ƒŠ…††‡††‚„‡ƒ€€€‚ƒ‡ŠŽŽŽŒŒŽŽ‡Š‰‰ŠŒŠŠ‰ˆ††„…„ˆŠ‰‰ˆƒ€€‚‚€|~xwsfYODGLNPONLJIFHSq£©¯¸Èº²ÑñúüþþþùôóïçØÈ²•…zfc^gu‡ƒ{tkaUQMJFD=APPQRTNDJmÝñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýúôíݹ’S4-+)'&$#!         !!!!!""#""""##$$$%%%%&%&$$&%%%%&%&%&(+.14@OLSX][[\Z]fedLEA;7568656865569@<=>BJQ]d][P@;XOA70+''$%##"#####$$#%%%&8NMOSSVWYZ\\_`bdedeeebgdfgggiiiihfffgfffhigfhifddbeeddffhfgghhjgljkgmjjjkjiijkjjlmnkllnjjkkkkhjjjjllnoollkjgggggggddeeilllmnnklnmmlkkkkkmnjgihhgfdfhhhdbfggghhiimhZF;2?L^nmnooqqqqrpomlkklmllkjjkjihkjqpqmlilnng“”—›¡›ŸŸž™š™™¤œ¢œššŸ£››Ÿ™š™žž¥ ŸŸ ¢££¡¡£¤¤£¤££Ÿžž›© ¢Ÿžžž››œžŸœ¢œžž š˜™›››žœ›››¡ž¦ž˜˜••––“‘‘•’”Œ‹‰Š‹‹ŠŽ‹’Ž‹‰†ˆ…ˆŠˆ‡„ƒ„…†‹ŒŒ‡‰†‡‚…‚€‚‚ƒ‡Ž‘™’’Ž’ŽŒŠŠ‹Ž‹‰‰‡‡…„ƒ†…‰ˆ†……„ƒ‚‚‚ƒ…‚ƒ|~zywtj_NFGPORONMMIHNf‰ £®ÂÔ´¼ã÷úýþþ÷ðóõðêæßŶ”ydr‹ˆ€vldZSOJHFF=CMddghbLLpÜòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúóìÛ¼‰M.(&$#""      !"!!"####"#$#%""#$%%%'&%%%%'$$%%'))('''(0:FTW[TMTo\UXs[dPE<40.--021/./23477<>=ERQ]\]^aZQ<:HF5*)%&'''$$$%$&$$###%$$'9MPNRSUVYY]\badbfeeeddfehiliihiheeigiffejgfgheddedhdcdhhhhiglkjimjkjnlrkkiijkmpjmlokkkljollkjjojjjpmqppklllgghlkpecefhnmmlommkklnlllokjjmjgflhhhhefhjeabmikhiiijq`O;6;I\nosnqoqpssspooppopplmlpmmihiomqqppqqrnmi—˜š›œžš˜›œŸ£¡›¡ žŸ¢™™™ŸœœœŸ¡ ¡££££ŸŸ¢ Ÿ¥  ¢—™•œš›œ¢ Ÿž¡¢£ŸŸŸžžžœššœœŸœœšššŸŸ œ—–••–—–’‘‘ŒŒŠŠ‹ˆ†‰ŠŠŠ‰ˆ‰†‡ƒ‚‚‚ƒ‚„…„…‡‰Šˆˆ„„€~…‡‰Œ’’’’ŒŽ’Ž‰‰‡Š††„„‡†………„…„ƒ€‚‚ƒ|||||zyj\PDHLOPNNMJHIZy†‘§½Â¯®ÕðøüýþõìóúöòðìåΤ¡Çƺsz‡~qg\XROIGDA<BJ`lt{gQNrÜóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüùóìÙ¼E(#!! !!"!! !"!!!""#########$#$$%'&&&&&%%%%%%%'.6=3/49:>N_WQYVSQm\PHOYH92-*''',0.,+*.2479:?BFLTUZOOPQSB45G6*,-,-5A0&$##""""""###$)=JPNSSTWXY[\```_aba_cdddihhiigfeeefeddefggghhceeeefdefihiefgggkijjkiiikkkhjmmmlijkokkkkjllifhikjjjlkljkhgghghhkihcehiklmmmmllkkklkkklkjhhdeflhheheeddbcdihjggfkmcRD8>FXmklnllmnnooomoqpponmlllmmmeikmnqqqpqmqnlh šœŸŸžž™œ¤¥¦£¡¡¡¡¡žŸž£¢¢œ ¤¡§¦¦§§¡¡¡¢žœ ¥ŸŸ £¡ œ£¢£¡ ¡¡¢¥¢¢¢¢£¤¦¦Ÿ£œœ¡žžžžžžžž¤ ¡›œ–—–š–™”“‘’ŽŒ‘Šˆ†ˆŠŠŠŠŠŠ‰‰€}ƒ„ˆˆ‰„†…†‡‹ˆ„…}ƒˆŒ‘•’“’’Ž‘‘’’“’““ŒŽˆˆ‡‹‡‰„…„‡††……††„„ƒˆƒ„…‚ƒ„€}{vj[NDGONOONLJKN`m€ ºÉ·Ÿ¹âñùûýøòõùøøôñìݪ´ÒâØÎr‚|mbXVQOJHB?;>H]m‡€vVQuÝôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüùòë׺w?%! !!"!!!!!"!#######$&%$#$$$$$%&&&&'&&&&%%%&%)>`L?DTQMSe^_WmQ<IpYM;861,&%$$%'++*)((-38=BCFMRP]\]KD@<72//.+,05;=HD6+%#%"#"!"##$#$+@JQNSSSUXX[[c_^_a``_dcceiiiiiffeeegecdhghgjgfdihlehhjjjjjfffiglkkjnjkkkkkkllrmkkpmnkqkjkljfegilllmmklmnhggjhjilgdbfimllmomnlqlnkkkrlmkmhjbcglijihfkdfeeelijgghlf^H=>HWlmnkqlkmonmmmnsssppnmlmmnmlmpnppsqrqsrrnkh—˜Ÿ ŸžžŸ¢¤¥¥£¥£¡¢œœœœ›˜š™›ž¢  œœ›žœžžŸ¡¡ ¡¡ žŸŸ   Ÿ ¡¢££¤¢   ¡¡ œœ›¢œœœ›œŸžžžžžžžž›œ••””•˜’ŒŒ‹ŠŠˆ†‡‡‡Š†„ƒƒ‚~‚ƒ†††……ƒ„„„…‡‡‡„„„А’“’‘”‘’’”—“ŽŒŒŒˆ„„……‡…ƒƒ„……†‡†ƒ…ƒ‚‚‚„„ƒ‚‚‚ƒƒ„|yvi[PDHOOQQPLJLPZf‰´»Â«š¼éöúüú÷øøûý÷òéà®´ÛÞãÕª’„|i_WSONID?=;=DThwyYRxÞõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûøòëÕ¼q<#!!!!"""$"!""#&%%%$$$%$$#$$$%%&&'&&&%%%%%$$$$-F]X[]Tt[__]TLML97?F7*)('%%$$$%'((('()2<GQNLMSQNLID>60-+*)+*26>HFEEE;1&"""""""#!"#%.BIMNPPSTUVZZ[\]__^^^dbcdeeefecedfeffeeffffgfedhggehghhhhgggfhgiikkkjkjkjkklllikkmmnkkkllmhfehilklllklmkhhhihhigddcimmjljllnlmjnlllmlljiic_dfhgggiddcdeeehggghhj]O@ADUejklkmllnnfhjmnpppppnnmlinlllnmqppoqorsrmlh˜šŸ¡ ¤¡¥¤©©¨¤££¤£¥žœ™˜’“•›¢ ¡œž ¤¢¢¤¥¤©¤¨¢¡¡¡Ÿ¤  Ÿ ¡§¢¢   ¥ Ÿ¢ŸŸ¤£¢Ÿ¢¢¢›œž£¢¢¡¡ŸŸŸŸšœ—–•”•˜‘ŽŽŒ‹‹ˆ‰Ž†Š…„ƒƒƒƒ‚ƒ…ŒˆŠ††ƒƒ„Іˆˆˆƒƒ†‹•“™–•“”’’’”––“‹‹‹†‚ƒ„ƒƒ‚…‰†††‰ƒ„‚ƒƒˆ‚„…‡†Œ‹Š‰‡…ˆ„{zk]NEHPOPOOLKLO[u–¯¸¿›Ìïöûúù÷ôøýú÷îÚ¾¶ÊÕÝßÞ×´Žr[SOONFB><;<AL^o€~ZSxÞõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþû÷ðéÓ¾m9#""""##"######$$$$$$%&%$%&%%&(&(''&&%%%%%%$$$0Qv]j[WbYaicVKW=-,-,(%$$$$%$$$$%&&'''*<I]RdYVSRCA82-)''*,-/3BGPLDDUFB.'!#"!!!!"!""&2CJNORPSSTVYZ[Z]]]\\^cbddeeffedjgfffffffimijffeihhgfhfhmllgigkhhjpkljmnmkomlkmjkjmnnnnmpmlhfgiillrlllpjjefhkkkhgfegppolllmlnmonomooplmjke_blhjklgjeecefifigggmhiVGCFRffjjnmmklnnbbippqrrpsoqoqlnnnnomrpppqoqrroljš››œŸžžž¡¤ ›¥¢£¦¤Ÿ›—•”“‘‹ŒŠ–—¤¡¡Ÿž¡¡¡£¢¢¢££¢ ž›š™š›£ž ŸŸŸ¡ ¡žŸž¡ŸŸ¡Ÿžžžž›———˜™™™™š›ž™˜—˜™”’”ŽŽŽŽŒŒ‹‰ˆ‡…ƒ‚„‡†…†ˆ‹‹‹…††…‚ƒ„…„„‚‡…‰Ž’•’”“’’”ŽŒŒ‰‡†„‚|~€‚ƒ…‡‡…………ƒƒƒ„„„ƒ„…‡ˆ‹ˆ‰ˆ†„…„‚€}xj[PEIOOOPNLJMTh†›®«¢ ­ØóùúûöðöýüüñßÎÈÄûÕÞåݳ†dOLJHDA><;<>HVm{~[RxÞõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúöïçѽh8$"""""##$####$$%&%$%%%%%%%&&&&&'''&&%%%%%%%$%3Ye_bWVo]igq^G:-)%&&%%$#$$$##$&'+-+&(-AMMNSXJ@80,('&(%,149;<HWQU=6760)$!! !! "!!!"(8FIJKMMPSTXWVYZZZ[[\^cbbbcccceefgggghfehkkigefdjihfghgfffhggfkijkkkliiiiionllkkjjmmnlllkkliiiijmlmiiiiefcghiigeeehlkjjhmkllnkmlmlnjjjkifbdffgikjdfedcegfdffghgbZLJHSaefihnlmjih]Sbkoppnrprnnnnlmmnnnmmmmlnopqronnœž¥ž£¡Ÿ›¤¢¥¦¦™“‘Œ’’’ŽŽ˜ª©¨žŸ ¡¡§§§¢££¢Ÿšš˜™›ž£ ¡    Ÿ¡¢££¥ŸŸŸŸ  š”’’’’—•——˜—˜¢œ ™˜—•”““–ŒŒŒŽ’Š‹‡…†€ƒŒŒ‘ˆ‹Œ‹Š„„„‰†…†ƒ„ˆ‘““—’’“”‘–“•”™““’“ŽŽ‹Œ‰‡„……ƒ~}{}‚ˆ‰‰‡‹ˆˆ……„†„„„‡ˆŒ‹Š‰ŠŠŠ†…„…ƒ†ƒ„…†{k^QGIPOQOOLMYczŒž°¥Ž—Ãíöùû÷òóôùýôëäÝÆÃÄÏÛßÜÛ©nOIHGDA=;;:=DRl}}[QyÞôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúöïæÍ»d7%#""#$#"##$$$%%%%'%&%%&'&''&&''&&&&'''%%&'&(&6`seqVUTUiefe?-(&$%$$###$#"#%-75787('.SRSEDA=1($"#$)-17>E?>FPRQ?/+*'%#! "      !!!)<HIKKOMPRUVVUYYXXY[^]cbbbdbbeghggghkhgfkkkigfggjjkhiilghfiffgkkmjjkliiijlonmllkjjonnllkjjllljqlmlnjiiifffihihfefhllkkljmlmmnkmlpknnnimhfekijiihhffedfjgfdggjhh]TNOVbejihglmmii]SXlquutsrrrssssnpopnpnnlklponoroomœžž ˜ž›Ÿ¡¢¡Ÿ›“’’““–—•‘’’™›šžŸžžžžžž£ Ÿžœ››››Ÿ¢š™—˜™¡¡ ¤œ››œœœ˜——–•—™—›˜œ™—š™œœš˜••””“”ŽŒ‹‹‹Œ‹‹‡†‡…‚ƒƒ‡‹‰†ŒŽŠ†…‚……………„‰Ž‘•”“”’’‘’’‘Œ‹ŠŠ‰ˆ†„‚€}}{€†ˆˆˆ†ˆˆˆ„„„„„„…‡ˆ‰‰ˆˆ‡†…„„ƒƒƒ„„ƒƒ…~{wkaTGIMOQONPhpz‹”¡¦Šw™ãð÷ûøõðëõÿøðæÔµ´ÄÕÙÙÚÙÕyQLGEC@=;:;=ENb}tZOwÞôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúöîäʹ`5%$###$%%&$$%&%%%%&&&&&'&''('&&&&&&&&&&%%'&&&(6f`WSECEOhZTB/)%&#$$#!##$$&*29@EIO8+*.;;72.*'%$"&(2BCF=WMC>QB:2+'"!!!      +?IIIILMQPRSRQSTVWZ\]]dbbbcadihihgijlgggjjkhgghhjjiiihhfgfgghhkkkijjjiiilnnnmkkgjjllnokgiimmljollllhiihggfhgfdeejmmmllkilllknjklkkkkmilgggggjjighfffghgggcfffc`ZVRZbdgghhflmkecT]hnsvqrppqrppqsnoopnplllllonnnponm ¢¢¡  Ÿ Ÿ££¤Ÿ›šœžŸžžœ›¢š™›Ÿª¢Ÿ¢ž¤¡¦œœ£››™™——––™™œž¥¤¤›œ›žžž˜›œœœ™˜—˜œ™šœš›Ÿš›—š—˜’”ŽŽŒ‹ŠŒŒŒ‹Š‹‡Š„ƒ„„†‰‰ŽŠ‡‡†‚ƒ‚†„„†‰Œ““—”••˜”–‘“ŽŒŽ‘‹Š‰‡ˆ‰……€€~~€…‡Š‡ˆ‰‰ˆˆ…„†ˆˆ‰‰ŠŒ‹‹ˆˆ‰ŒŠŠŠ‹ƒ„…ˆ„ƒ€~{zpeRFHMNOOTfƒ†˜¢“ks­ãòùùùôîöýúöìϺ©¼ØÕÛÚÚÙ†p]QGD@=;:;?FLXfpVNqØðüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúõíãÉ·]3%%#$$$$%%$%%%&&%&&&&&%&&'(''&'&'&(&''&&&&%%&(6OWGC817LON=/(%$&$$###$&(,1:JIZNMG;2)*60)&#"!"%'-6?IKFALW@?93,$"      " .BIHIJLMQORQOOPRUX_]b`ebddccihmllnommimgnkjjkhijmmnjkiigghklmkkjplpkiijkpnuoqkkjjkolnmkikiqnqmomlllhkjjhighfecfjsnponmnlllllnirkiikklijiogiinllgifefliihmdfff`_ZY]hgigjjjkllje^_nostƒqwvvqrszttsrpppqmnllmommntqun››œ™™˜œžžœšš››Ÿœ›› ›š››œ—š—™š  œžŸžœ››š—”–—˜˜—••–———————–”“””””•–œ™™˜›œœ›š›œš———˜–“ŒŒ‹‹Š‰‡‡‡ˆ‡†……„ƒ€ƒ†…€~‚‚‚„„‰‘‘”••”••—’’ŒŠŒ‹‹‹Š‡‡„…†ƒ~|‚‚‚‚ƒ„†ˆŠ‡‡‡†ƒƒƒ†‡Š‹Œ‘Š‰ˆ‰ŠŠŠŠ†Š„……‡„„‚€€}wl_SGIMNOTe€Œš¥§ˆn\f€¹ëöúý÷ñ÷üüüòÞθ«¸ËÜÚØÙµ£œŒtNF>=<>BHKNPMIHjÓìùüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþùõíâȳZ3&$#$&&%%&&&%%&%&('&&'&&&&('''&&&%&&'&&%&%%%&(1A:0-+**182+(%%%%%%#&(,2:AEGKMLLHC99'%%$#!""*/37<LMWGDDB=9.'%"!  !1CIHIJKKMOMIKMRUVX^]___`bacciimklmmmmhihmkkkjgklnmojjjjhiilmlllkkjjhhgjlooppmijjlmmlniihihklllonkkkgjijggghddchnmnnoppomlkllljlhiiihhgkihfhilmhcdefhhhhhhdedc`\U\dfffejilniggghimortrpvtvrstttsqqponnmnllmolmnommmœ™š˜™šž£žž››£¡§šš›››™˜›››žŸœšœžžœœœœŸžœšœž™•–—˜™™˜–”••——–—””•–“••œ–™–œ Ÿ žœ››œ™˜———𓓐’Œ‰ˆ‡††Š…„……„‚€‚‚‚~}‚„…‡Š’š”—–•–––˜’–ŽŽ‹ŒŒŒ‹Œ‰ˆˆ‰„„€|‚†Žˆ‰‰ŠŠ‹ˆˆ††…‰ˆŽŒ”””‘‹ŠŠŒ’Љ‰‡†‡„…‚ƒƒ…|vneTHHKMU`yŠ«ª©‡hZVj’Ðò÷ûù÷õôùýöîÞ˳§¾ÙÛÜÞßáâáÌŠWG==?DNOIFA?Cd¿ÝñøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýùõìâÄ®W2&%%%&&%(&'&%%&&&''&&&('((((((('&&'''&&''&(&&')**(&&&&''&%%$&.3+()-4>AQR[WUQKIF71,%$$#! #-:BMKGNTNF6-)&$!         #6EJIJJLKKKKHHNTUVX^]``cccbfcijnkpoqnmjllljoonoposmojnkmklioosnolnjkhhimotonmjjllnmmmmjijllllnlpmkjjjjjjiogiddejmoooosrunlkmllkojkllijhligfgjkigcdffhjjkijfhded[Ycchhhgjkpjdflmtrqqrrqpuuvtttvvvrvrqnonnonmplkmolmmš—˜—˜›œ›ššœ››Ÿ ž˜š’–“›•š ¡ ž›žžž ¡Ÿ›ž   Ÿžž›š™™š›žœ›—––˜–”“”—•””–˜••–™šššœ›œ››————“–•“’‹ŠŠ‰ˆˆƒ‚ƒƒƒ„†ƒ‚‚|||||~‚…‡‹ŽŽ‘‘‘‘މЋޑŠˆ…ƒ€€€‚ƒ†‰‹Œˆˆ‡‡†‡…‡‡‡‡Š‹ŒŒŽŒ‘“‹‹ŒŒ‘Œ‹Š‰ˆ††ƒƒ‚ƒƒ|yqgWIIMR[j„¹¢‹s[VWw¯Ýôùûüôìõþû÷êÒ¼´ªÇÚßäèèèëëÝ“WF>@FO]NC?<C_µÒèõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüøôëÛÁ¨U0&%$%$%%&&&&&%&'''&&&&''''''(('''''%'&&&&&&&&'(('&%$$$%&$##$-=969=AF@EQVJ?<:5/*'+*29.*&#*AETINJNGA3('%$"!!%;GGIJJKKKJIHLPRSXYZ[]^`abbbciillnmonkilkkknnoooonmnjjijjjkponlpjjgkiijmonkokkkkklmniklllkilllklmkhhfhhjiigfdghikmllmppomkjlmmkkjjiigjhjhfehkgcc`figeeegfggfbee_]_`cdfgjmmehklmspppqqrnqquuutttwqsrqoooonnkmmmlollk™™™˜˜››¤š™šžŸ›™š›ššœž £¤©¤¤¡¢¢¢ £££¢£¤¥¡¤  žž› ›žœŸ š™˜˜˜˜–•••–•”––œ••–›š™™œžŸšŸ—–••‘Ž‘“Š‹ˆ‰€‚‚‚„‡ƒˆ{|yx{€‚†‹Œ‘ޓސ“‘”““‘Ž‹‰Š‹”Žˆ†ƒ‚€ƒ„†Œ‹‘Œ‰‰ˆ‡†‡‡‰‹ŒŽ‘“ŽŽ”’’‘ŽŽŒ‹‡†…ˆ…ƒƒƒƒ‚ƒƒvjVIIMT]pˆ›œ˜lVT]‰Ìî÷ùüøõùýüûóêäÙËÂÆÊÙåâßáãâÚˆSHEMRZVC=<C]©ÓåóýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýøôêÒÁ¢R/&%%%%&&&&'&&&&'''&&&&(('()')(&''''&'&&&'''&&&'%%%%$$$$###$+5FJJHOSB?FTFA3.*&#"%-7ED::@'1IKLLIG9-($#%'&$"  !)?HHJMJKKJIIKQPRSYZ[[^]`afejiijooompljiklonqosptqpmnnmjjlssqnomqjjijknmrooonnonpkkmoilmqnqlnmnkllkiifjhpjjfeglmopqnqmqpnlklpmmllkmjjjjjlhggmihbdegijegfhgffedhde`cccbfgkkkhonposqwrttsqvtzyxvzuxwwsqpssronmpnpppmll™˜™˜——›››•™žž ŸŸŸŸ¡¡¢¤©¦¤¢ ¡¥ žžŸ¡¥ ŸŸŸž››š™™™š™˜—–•’‘ŽŒ‹Œ”‘‘‘’’’••–—››š––’“”‘ŽŒŒ‰ˆ†|€‚ƒƒƒ‚‚~}{{xz|ƒˆŠŽ‘ŽŽŽ“”Œ‹ŠŠŠŠ‰‡…„†‚}€€ƒ…‡ˆŠ‹‹ˆ‡††ˆˆ‡ˆˆŒŽ‹ŽŽŒŽ‘’’ŽŒ‰ŒŒ‰††…ˆˆ†„†††…ƒ~rfVIJNT\w‘œ¯£}ZTXb–ãñøüüýýüýþûöñêâÊ®·ËàÙÊ¿ËÞàÀˆgb]^aWF>:B[ ÖãñúýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýøóéÐÁ™N.'&&%%&&&&&&&&&'''&&&''&(*(')('''('''&&&&&&%%$$$$%$$#"#$).15C\RRHZL>BE<1+%$"#"&)9KNXJG;+1NA;61,(&!##0F?;-# #-CIIJJKIHHGIKOPSSVXY[\\`bccefhkmllmljjklmoooopprpnjihkklmqspmmlkiiiklmmmmmkllmmqkkkkilmonpoolkijijjifjihgffgimmnmnnrknnnjlllkkklkkkjiihhghhhedbefghiddcbbbbecb`^[[[\^beefhhkmnoqnrqpnrprrrqsrqpooprqnomrponomnmnlmm™šš—–š¢ž£ž¦ ¢ ¡¤¦¦§¤ ¡¢¡   ŸŸ¡¡ ¡  ŸŸš™™šš™——˜—”•‘“ދЋŒ“ŒŽ’•””–Ÿššš›™™“”ŽŽŽ’‘‘ŒŠ‡ƒ~€Š‚†‚‚€}|}~}~„‹‹’”‘’‘’”‹ŠŠŠŒ‹ˆˆ†„…†ƒ‚‚„…ЉŒŒ†„„…‰‰‹“““ސŽŽ‘‘“’’ŽŒ‹‰‰‡‡‰†ˆ‡Š‹ŠŠ‹†…{qfTHINTm“ °ÆŒ`TRWp¯äòúûýú÷øùùúõðëàÀ®¼ØÐÿ»ÛÞ϶²­“}m`N@?CZ—»àîõúþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýü÷òéοK.((&&&(((&%&%&&'''(')&''((((((('(('''(*'&&&&$$$$#$$$###-<@ADIYVQJIF4,+)&!  !$+/8IRUWVH7,131+%$##$#%/:FE?8)" !   %2FHKIIIIGGHKKOPSSUVXZ\\`addggilnmmmononssspqoqrwoljlkoopoqqolmlklljlmsssllllnrprqqjkipnrqtrtlkiijkjmjpjighgjlpmonnornsmooommklkomqjkjmhkijihddclhjiiccaa`_`dcd^ZYYZ]^abcejillopvptrqmqptqprtqnmkklnrrrnrqoosnpnrqqm–—˜—™›š™š›œœš˜•”“•—•Œ‹‰ŒŽŽŽ‹‰ˆ†ˆ‰‰‰Š‹ŽŽ’”’‘’“••”’’’‘ŽŽ‹‹‹ŠŠŠŠŒ”””‘“•”‘ŽŽŽŒŒŠ‡‡ˆ†…‚€€€‚‚‚€~|}}~€†‹Ž‘Ž‘ŽŽŒŠŠ‰‰‰ˆ„„ƒƒƒƒ‚„†‡ˆ‹‹‡†………ˆŠŒ‘ŽŽŽŽ“’‘”ŒŒ‰‰ˆ‰‡ˆ‰‰‡‰ˆ‰ŠŠ‡‡†……~wl`UKMOd–¡¯±žkURRcºì÷úý÷òóôøýøóñ騫 ²ÁÀÁÉØÙÛÚàÙÓ¤ygVJHPZŽ«Þëñ÷üþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýû÷òè˼‰G.('&&&''(&&&&&&&'((''&'((())**++++****))(((('&%%$$*/+&,;AVP]NTQO=2+&$#"!""(-4<BFO[SNKI0$&(&!"#(,/17DISLD5," '7FHIIGFFEGIKKNOQRUUXY\\`adefgjmljjkjhmmqppnonqqrlkhklooonqpplmmjijknoronklomnopolkjjjnoqpspokkhiljjlkjhgfgdjnmlllmonllkolnooijinjigiihhgghgfbcdlggheba_``__cbc]ZWYZ^_aaceffhjklllhenmmnpppimpnlkeeegiijkkklkkpnopon—™š—œœœœ›˜”‘Œ‡‰‹„|upliikmnnnmlheginponlknquz‚‰ŒŽ‘”””‘‘’“ŒŽ“‹‰ˆˆŠ‹‹ŒŽ‘’’‘Œ‘Œ”””Œ‰‰ˆˆ‡ƒ‚ƒ‚ƒ‚‚‚€~~~}~ƒ‡Ž‘ŽŽŽ“ŽŒ‘ŒŒ‹Œ‹‰‰Š†ƒ~€„ƒ…„„„„…ˆ‡‹‹Ž‰†‡‰‹’’“’–‘”Ž”ސ’•’’“—”“’”ŒŠ‰ˆ‹ŒŒŒŽ‹Š‰ˆˆˆˆ„ƒyumfZONZ~¡¦­¡yZRRVk’Îñ÷ûù÷õôøüú÷ôìß­ž˜¨¿ÁÓÔØÜàæêÒÈ€taRW_k‡°ÞåäìóùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûöñèȾ‚E.('(('(''''&&&(((()''''()**.02356531/////.-,+*)+,.3>G*0CGNPPL>50,'"!!  %(-4?TJXWWVQIB6)"!!  !*7?NIHPXYYB5*#!    *?FHHFEFFGJJMNQPQTVVXX[^dbcfghkmljjjjklnvpsnpotuulmnpppprrwppppkhirntptonmnmmowqokklomsoupsonlpjjkkkmiheefggklmlmlmnomkkomnoplmlmiigjhggiijgedefkgfecbdad^^`cab]]ZY]bbdabeifgilhe_[dlnuqupqginqljc\^acdeihlklkqpppnn•›š—–“Š†ytpmjgfeedcbabcdfhgfk[^TZVdcccbab^_behmtz…‡ŠŽŒ‰Šˆ‡††ƒ‚ƒ‚„†ˆ‡†ƒ‚„†‡‰‹Œ‹Š‰ˆ‡…ƒ‚~|||‚‚€~}{}}ˆŽŽŽŠŽŒ‹‹ˆˆˆ‰Š†‚€~‚‚„„„†††‡‡‰‰‰ŠŒŠ‰Š‹‘ŽŽ”Ž‘””’”••–’ŒŒŠ‰‰ŠŒŒŒŒŠ‰‰‰‰‰‡ƒƒ}zvqo\LTh}ˆ“¤{`ROSXw©Úôúûüøôøûûû÷ñäĦ——¬ÅÊÑÕÝãçßЬƒvqrurrˆÀØÎÃÊéõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûöðçÇÀ{B-''''&((('&&&'')(((''')*.2469@=<<<==<998521/3<::=?DK@,.WCIA;4,)$####&*-3;GGHPFKPIB7,)'# !%)/8AKLAIWIA<4+#!  !.DEHGFFGHIJKMNQPRUVWXX]_`adfijkmkhjjkloppppmonmnnmmmmmoprtsoomljjjmmsponpqolmomlljlnmlrooonlmkjiijjihfecfgijklmllknmoomlolnqnmmmniiggffgjf\Xfeefjggcccd`]Waec`_\]\\_bcd`beedc`]VSQ\hlntopmjfikkkic_]^_abedliihlmnpol“‹ƒ|vqkeb_`abaa_bdeeeeimoptvmifeccbaaba``b^^^^aaejpw~ŠŒ““”Œ‹‰‹‹‹‰‡~|z|~€}~€ƒ‡ˆ‰‡……„……}}}~}€~||~ƒ‰Œ”’—”ŒŒŒŒŒŒŒ‹ˆ‰ˆ‡…ƒ~‚‚„ƒ„†Š‰‰‰‰‹Ž’‘’‘‘‘‘‘”””—™˜˜—–‘Ž‹‹‘‘’”–•”””’’ŠŠŽ‰‡„ƒ‚‚‚‚wlZNWcoxxwZROPR^‡Èæöøûúùúüùöö÷îÚ·Ÿœ¢¨¦µÓÛâå͹ ‰€‰”’‹w†·âÀ«ÍéõþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüõïçÇÀw@-''''&)))'(&&''()()''),5@BCA?AB==?D><:><:::9;CHIZYYL:*,;C4)'%"  !%)07;>BLPYTRAC:1+%"!   !*7<@DIJPHOB91+'!  !  ! !!"1EGGHHHHKJLLNNQQRVXZ\\_``bfjpppkjjmmprtuupqrspropnqrrrsqttsoqmlllnrrspqntqsmlkkkmlpllmroqmllpkjhlijhheffijoksmnmommlonnmpnronnxmnoonnijilZQZfhjjjggdhce`[[ceb__]`^__dddcccc_]ZSOMTdgssuoqjhellkjjdc^^^abgflijjmlkoqmqieba``_^^`deeffghkomlnpryu}yzqqqrheeedcdedcbaa`^\abjp‚‡ŒŽ‹‰…„‚~{yvsqrstuuutrrrsvz|„„ƒ„‚…}|z|z|x~z€}€„Š’’’‘‹ŒŒŽŽ‹Š‰‰ˆˆ…„‚„|~~‚…„€€„„‡ˆ‹‹Š‰‹Š‹ŒŽŽ‘ŽŽ’‹Ž‘“”—›™–˜˜–Š‘‘’••””——•’’‘’Œ‰ŠŠ‰‡‡ˆŠŒ†}tl]PUX_d^SPMPPWaÙîöùûýýþ÷ðöüòäÏÀ­¨¤Ÿ®ØÝÝͳ¬Œ‰˜½Ñ”h{ª°³®ßêõýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüõïæÆ¾q=,'''''''(''&&'((((((*-8DJOGCCCB>?@?<;<@@ADFMQVPIMNLL3&'('$$"##%'+0<MI[NMJMD:50+'$!! "$'*+8C[NNDDA>6,'"!  "$8EGFGGHHKKKLONPQTWZ]]]`bdehlmkkijjmnrrsrqooproonnnpppoopqrsmmkmnoqrnpnnoqmmllmlllklkmnonnjmlkghhkijdddfgjlmknmomommmmmnlmmmmmnnmpqmljhijXIWijkjfgffba^_\]adg`\[[[\__``___`^YYWLDQ_adfhkkhdddca_^^_\Z[[\^cehijkkdWPjk[[\]``ddbbbcefoitnrpupxrsstvxurrqmjhjgpomgkfihh_\\^afs}„‡Š‹ˆ€tpliggiijlnnnnmmnnsvy~‚††‡„„|~}~}}||}€„ˆ…†‡ˆˆŒ’Ž“’Š‰Š‰ˆ„…‚„‚ƒ……‡…ŽŒ‹ŒŒ‘ŽŽ’Ž‘’’’‹“˜——™–›˜—’‘•˜—›š›™™™ž™›–˜”““’‹ŠŒ‘’“”–ŽŽ‚€yr_SPPRSOMNOOPVi£Þï÷úüýþ÷ðó÷õòíá³³¦’´ÏÙãàߪ“°×Û¡mf…¥«¨ÌäîöûÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýûôíàÆ¹j9+(''&'))(''&(()()((*.8HQWQKHGDABBA>>>FHJQPOQRV^HMIF:,# !!!!"$(.8BGMNJSVKG:5.'$!! !#',3=+/@GNSE;40,%" !  !! !"'?EHFFGHIKLOOPPRSUX\\^_bdghjknkjknkonystppnnoqoonnotpoooqrrsnooooqrsnrstqwmnkllmmnlllppttvjmkjgihljjehggjmnqppnononqnnnnlmkklmmppuomkhhm]LMblnllhiefa`abZ_bgb]YXY^\d__]]]a`\WZSGI]^bbcdheecda`]YYZYYWUWZZacikoprfEFalXY[^^`aaa_acdegijijjihjljjlmmmkhhgfefgghigjfhhfddeimu€€‚‚‚~zvqkc`_bbddfgijihjhlmprvx€€†‡‡‡ƒ|}}~}~~€ƒ…†Šˆ††‡Š‹Ž‘’’‘ŽŽŽ‰‡„„‚‚ƒƒ‚‚„ƒƒ„ƒ…‰‹ŠŒ‹‹‹‘‘‘ŽŒŒŽŒ’Œ‡ŒŽ’”——••–—›˜—•–ššš™™šš››ž˜˜——–—˜“‘‘’“•”…ƒ€yoaROLMMMPOMNP]t­åôøûüý÷ðñó÷üôêÒÍØÑÁŸ’Ÿ¯ÄÍÝÉÆÈÝÙ®ukoz€’²Ýàï÷ÿÿÿÿÿÿÿÿÿÿÿÿÿþýüúóìÜÆ²c5+)'&&&)((''&&'(((((+/@Ra[TPLKGCCEGFFLZURS^OFJND61-+)%!  $+3<>LNWMTFLE>3(%#"!""&*2=?N4)2[C>;8-$"    #+AEFGGGJLLMPPPQSUXZ\\_`ceghijojklnjmnrqqnpmnnpmmmnrqnmknrqpnmnmnnpqpnqrrrvnlkmmnkngmmponlkiiiighhllhcggikmlllnmmlonmlnnnkjhllmnppqmnihggQSXemlkjhjbcaaa[V]_\UXVXXZ[\\ZYYZ]_[SSONL[[^__`bbcde_SHB=>?EMKKQSY^ekooqdVOioYZ[[[]bafedbbcccdeeedehhhfdfihfcafdccegijjkmosvy~‚†ŠŽ€ƒ}wrolie``baabcbcegiiiknqptvy{€†‡ˆ‚€‚………„„„ŠŠˆ‰Š‹Ž”•–••”•’ŽŒŒ‹‡†‚‚‚ƒƒ†ƒƒƒƒ…ˆ‰Š‰‹ŽŒ‹‘’˜’•ŽŠ‹‘‘Ž–“™•—–”•˜˜›šœ——™£Ÿ¢ž¡œžš™˜™—š–”•––•”™”–•“‘‘Ž‰‡}wcTMJJMMNMMNSb¾ëôùûýú÷õóõ÷ôñîëé⺤‰†œ²¼Üµ±ËÜÙ¼ˆkk‰}£Ûãï÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüúóëÚǪ^3*(*'&')('''(*()('()+/E_abWTPQLGMRSTUUUnUMPTBA81+%#"! !#" !)7?>GPXOE>6/+'$"  !"%/?DFGHN1*5H>/%#!     ! $0AFFGHILLNOTRRV]]\\^`ecgflkmjonnnojrrqppoqosotllmnoqnmklnqnmmpqppqonorrtsvnnmpnskomooonlkjjijmkjhlifefillnkkjmlllolkkpopjjhmnnnpprnojkg_YZdpllmnijedbc_Z\e^ZXZYYX[\`ZXYYX\[ZRSNJPZZ`_^^ccidhVF90+)+.39AOQSYcitpqfeappohfeb``aa`aba``abcddeeefffffghfdgjnqtx|~~~ƒ‡Š‹Š€ƒwojfcaa``__`bbbaccceilmmnqqruxy{~€†‡‰ˆ„ƒ††„ƒ„†Š‰‰ŠŽŽŽ‘“”––“ŽŽŽŠ‰‡†‚‚€ƒ„ƒ‚‚‚‚‚‚‚…†‡ˆˆ‰Œ‹Ž‘’‘‘“Œ‰‡‹ŽŽ‘•—–•••”—–•–˜™™™š–˜™Ÿœ™ž››™™—˜–˜š™˜˜—™””‘”””’‘ŽŠƒ}wdSMHJLKKLMORiÇï÷úüýþøóóóôôöøñã·œŠ‹ŽŽ‘–“£ÌÑ×¾žvatƒ|–Íçï÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúòëØÄ£X2*''''(('((((((((()+,8Kbs_YSQSTUY`iijLAOVAF=40)%""""#)-,*""0KA?ISJC5-)##"""#%0:?EGNKEFJ+$2J0"!     &6DHGGHIKKNPQQUX\\]^adddeeggijjjmjokrppooopoponnnlopqmljllpkmnomlmnmppqqrrpmnnnnnjllopnmmkigjkkkjhgffgikkgjikjnkmlljkkllmjkhjjnmmmmnnjjfb]enmkkhnijfecb]`dc^ZWXXXX\_XSUXWUXWZQRMOSVXYZ]^^^^^ZJ:+*((''(.3AQSV_flnohgfhjŠˆ†ƒ€{vvvqnonnortuwz|zyzz{}€‚‚‚‡Œ’—‰‘‘’‰•“’މzslhd`]\\\]^^_aabbdefhlmplzoppprvvx|…ˆ‹‰‡„††‡„„…‡ŠŽ‘”–••‘‘‘“˜”—””ŒŒ‹†„‚ƒ…‰‰‹ƒ„‚ƒƒ…ˆˆ‰ŠŒ––—”™”–‘’‰†Š‘Ž’•››Ÿ™™•™ššœ™š˜žœœ›ž¡£œ››žœ£™œ›š¡ŸžžŸ™šš˜š˜˜”•ŒˆzeSKHHKJKKLNVt¢×ó÷ûüþûù÷õôòõøñã½›“‘††ƒ‚‹©Ë̽¦ƒus||’½åî÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüùñéÕÀœR0*''''(((())(+(*(),47@Uqr^WTXghhkmc]T?=@8,++-)&"!"#&/6;>*$#7PFIM>1*$"   "%.39FIIKKLXC91%"/*$         !   !);GIIHIIKLNPUUZ[``cdefffijjikkkjmnonrpqosqsttooosstqpmmklmpprpsopnnouttt{rnloppmnjlnvnmnokjinmokliedhkulkkmklkolnmllmllkljkijlroqmnnrkmgghqonjjjnijfhfhhied][[\[[[\[TPQUVUYXXRQRUTVVXY]]^^]]]G0(())((&&+6GVY]dlmnkigli‡‰ƒ„„ƒ†‰ˆˆ‰ˆ‰ˆ‰‹ŒŒ‰‡ˆˆˆˆˆˆ‹ŽŽ‡‹‰‡†ƒ‚€~zvspmid`]\[ZYZ[\\^_`aaaaacefnloolkkopqrvw|…‹‰…‚‚‚‚„„†ˆ””•”””““‘“•”“’‹‹‹ˆ„„ƒƒƒ…†††…ƒ‚‚ƒ„…‡ŠŠŠŠ’“–“’’‘‰‹Œ‹“˜–•š˜šš™•˜––“›™™™Ÿœœ›Ÿœ››œœšš›ž¡¡¡žžŸš››šš›šš˜—•“‘ˆ€weUNFGIKNLLRY}¸àôùûþþþû÷óïôøòçÖµŸ £˜ˆƒ†Ž¬Ïĝz{„‰“ÀãíöÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüùñèÓ”O/*'')(()*))))))))*/:BOaroZSY^inif_[KJ4(((&%,356.+058GMT7,($/R;1-*'""!"$+06DHKJXK]NB:3,$" !"!       !      ",@GHHHIILNORWY[]abcegghhiijikkklnnnnnoonpqqkspponnqponnknoropopoooooooutsmnjpqnmmknookmmlkjhkkjhhifejlpmlkkkkjkkkjmlllljkjjjloonmjnlkjjilnolnhjiiiifgfgfga_[\]\\[Z\\RHTVVTXXXRRRSSRRVWVSSSTTSG8+)&&'&)''5@[\`ehhijieedŠƒ€‡‡‡‰Šˆ‰‡‘Š‘“‘ŽŽŠ’’’’–‘“Šƒ|zwqmmlfcba`^]Z\]ZWXY\^]bbibfdeacegnkooprsuwxz||‚„ŠŠ‡„€‚ƒƒ„„‡—”Ÿ™œ——˜˜™››š””“—ŽŒŒ‹‰‡„††‰„‰‰‰……„„„‹‡‰ŠŽŒ‘”™•—“”Ž‹ŽŒ‘’“ŒŒ–˜˜˜›š™˜›š›™Ÿ—–—œ›œœ  £¢¢¡¢¡¥ŸŸ›™š›ž£¢ª¡Ÿžžž   ¡§›œ™˜˜˜™“’ŒŠyhYKEGLMMMOR^ÐéöùüýþýûøôóñðïêâÝÛǵ›ˆƒ‚‹›¶ÏÂÀ€‚¨Êçí÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûùðçÓčK.*(())())*))*,//-+8DNXgup[X^cujQPUC4-'#!""'2CTB:>HEDOXG61-$(++'#!  ")-3?ABJXNGIMQS9*%!         !!  ! !  #0CFFFGJKNQTW]^^`begilkklnnmnolmnoqsqpowqrqqqttvpnnuoonnntqtqrpsoqprptrxspnnmroomsrsnomrlklmlqjjhhgfinnsnmmqpplmjjlrmmllklinloopnlknkkjjlrssmpjjhkikgghjhg_]\_^]]^_bZRRXVVTYWWTUURPOPWVTQPONOUJB4*%%%%&''4C`cdglgfgjeec~yyz}€€€ƒ‡ytrw}€„~}|‚Œˆ…Š”‰zpmjgea\\\[[\\a^^]_b_\\[\_^]^baaa`acilnpsxyyxwz}}~}}€…‡ˆ‡ƒ‚‚„‚†ˆ‘–––––——™™™˜˜–•’’‹ŠŠ‹‡‡…†…††‡„„„†††…††‡ˆŒŒŒ‘’••’’‹ŒŒŒŒŽŽŽŒ‘•—™™š››ššœ››šœ™š›œžž¡¢¤Ÿ¢¢¡¡¡ŸŸš›š¡¡¡¢žŸ›ŸžŸ ¡¢¡››•˜›šš˜”’ŒŠ†~wfTKEIMMLMMVe•áï÷úüþþþüùòêïôõôìçã϶˜Œ’™šœ¨½µŒ‚ŽÈ׿í÷ÿÿÿÿÿÿÿÿÿÿÿÿÿþþûùðçÓÆ‡I-*)(*)()*+,/39A<4=JW^dstpc]bgeeB.-,)$$"""$+@OMLMMG_PWJ@AB)"#$$!!  !-;?B@<DONM<<CJ:+%!     !  ! "%5FFEFGKMRUY]^_acgiklljlnnnnonmpqqrrrqpqqpmqrsrplmmnlnnoqspqproroonrqtsqnnnmmmknnponknlljlmnkjgfeedjknosnoopqplkjllqijjkklimmqromllmijilmmnlkjihhihhfillg`[^^^^^^_c`YWUVUVVWWWUXZTPOMNNNOMKJIILE>4**))()+;Jadhkiecaeeecrqtutqnptlfb`djggijggnuvx|ƒ„‚rgecb_a[ZYY[\\^`bc`ddeed^^_^][]]`bfjowy{~~}€€~€~|~„††‡„…‚‚ƒ…‹”£˜œ˜–––˜——––‘”‹‹ˆˆˆˆ‰‹†Š††„‡†‹‰‘“””““”••••’“‹’ŽŽ“”› œŸœžœ¡šœ›Ÿž££¤£¤¤¤¡§£¥ ¥¤¤¡¡Ÿ œžŸ¢¨¡¢¡  ¡¡¤¡¢¡ š›ššœœ–—–›‘ˆ…zycSJFHLLNLNWk§áðøúýþþýûøõö÷ùûøõñæÉ¤œž¥¬‘Ž£²†}~Œ®ÖáîøÿÿÿÿÿÿÿÿÿÿÿÿÿþþûøïåÒÈF,*)))))*.258AUQKMRasjkynh]dXQD0'$##"#%'%%/XO_VRJHLNE;0*)&! "#"  !+BFXNLKMB91+/:4*$      !  !     ! #)>EGFGKOT[]_adcggmmplllqprqsoprvssuyyxtsrvtssupolpnnnnnstxpsrrrronorsupmmnnqnomqouqnknllllmokiffcdjupsqtssprqqlllqmplkjkklkpmuqoonnmiklqmlmliihggkjiinmmb[\cccaaaaa_[`XWX\XWWWX^XVRPMLLMLKJJGGHJBC=88965;GTaemigcaaeffeiijkjid`\YUQRSVY``i]ccegvqrppeeeeedceihgdaabbaa_acbbb````a`_`bgmrxwx|€ƒ~~€}|z~|‚…„……„„…†Ž——˜™™™˜—–—˜˜˜—“““‘ŽŽŒ‹Š‹ŠŠŠˆ††††ƒ†…‰‰’”•••”‘““’‘ŽŒŽŽ’”—™š™™šŸœœœ šš›žŸ¤££¡ ¡££¥ŸŸžžž¡ŸŸž¡£¤¤£¢¢¡¡ž£¤£ ¡š˜––—›–‘–—–“Ž‹†|xoaTMFIMLLMP^v°æôøûýþþýþÿýúüÿþýùòã°¯«™‡Š’’€{wƒ‘¯Òîøÿÿÿÿÿÿÿÿÿÿÿÿþþþû÷îåÐÊyB+*))(),6@DEJMW^[Zcusqr|ob`]UJB4.'%$&(.42-*3WMTZNGEC8.)%&''"$'17)!#/CEGK:0//*##$$$"            '/@EHIMQVY]_bcffhjmnmlmnooqqrqsuusuwxxwusrurqomiiipnnnmmrtrosusrsoopsupknpnknlmmporqokllmnmmojjfeairropppprppormlmmlnmjikilknmmmpjiihhlpqkljifiggedckjonc\^aaababbb_\ZZZYXZXX[ZY]WWTRMLKMILPIDDEDBBABIKLNNVadghefccbdbfhgimgj`]WTOLLMQSYacicbeipwqlquusrrnmnppyrsciccacaaaacfhijmkjllmosvy}|€ˆ‚~€€|z{~€Š‰‰‰‰Œ•“žœ›™›šššš¡˜›——“”’‘“”””Œ’‹Šˆ†…††‡†‡Š‘’–––—–š”˜’’‘‘“’•˜˜žš›››œ¡œ ŸŸŸŸŸ£¤¥¥¦£¤¢££¥Ÿ¢ Ÿ ¡¢§§ª¤§£££¦¦©§¨©©žŸš—•——›—’‘•—•‘ŽŽŽzvpeVLEGKLNNScƒÀêóùûýýþþÿþýþÿÿþüúïàÚØ¾™‡‹‰†{w}ŒœÚíøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿû÷íãÎËr>+,**(),GQYGSV]`biorvxwlbPJLLI;4.+**.5=FL2*3YTRNI7-*(%#*8/**.8EC1%$-ZE;4,'%#!       !!        "       ! " !$-8AGJOSX\_bdgijlrrronmuqrpstttyvzxwx{yytrrutunjhgkpooprqqqqrvuttssvttqonsqqqrrxnpospoopmlmqmnijfegrqvwwvvsrqrprnpprnplhhjklkplllpkmhhjpqrknjfeihgcbemjrd\\bbabfbeef^[\b\\YYYYY]\]Y[XXRPMLLQNJFFGEBBBHJQNZTebkjjcfffffgmlmld^YSQNMLOUWYZ[]ehilxtƒutl€~}uwpqmnopsvlda_`bbbcdeghikmpqomnnqvxz}~€€~}~~{|}‚‰‰‹‘”–˜œœšš›šššš™˜—•”“‘‘‘’’“•ŽŽŒ‰ˆˆ‡†…„„‚†ˆ‹Ž’““”•••–———”“‘‘‘’““–˜˜˜š—™š›œœšžžŸž ¡¢££¤¦¤£¢£¢¦ ¢¤£¡¢¤§¦¦¤¤¢¤¥¦¦¨¦§¢¡Ÿš™–˜˜œ•”“—š—ŽŒ…‚{yfVKCGMMMPUkÅîöùüýþÿÿÿÿÿÿÿÿÿÿöìèåÜ»›‘’˜¢‹z}‹žâðùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûöìáËÇl<*)(('),?dQIU]]haxmojeb^N9ALNMD:99>CBTMZP5(1693.*'%$#")39;<INTLX=*&)/4-%#!    !!! $)1<*!   !  ! !%)7DHMSW[_dfgijknpqrqppnurrqtsuvvwxwwvvvtprrrrpmkimsqopqporqrsrortttsrsoonpqpnqrqnqlnopnnmmmmjjhechkrrtssqrrrqqorlnoonnkjiknnloiklkkifjkljjjjkcaijb^chkkdY^bbbccebfib[^^a\\[YYYWYY][[YXXTPONMMLKMPJEDDGHJKOSY__`bccccbgjigjbZTPNLLMPVU[[[XY\`gtspmjkjlnopqqonjihggda^]^``cehjkpruxzwtssttv|~€„ƒ‚€€€€~€‚‚‚ƒˆ†‰”–›¢ ›››œš›šœœœ•’’‘’‘˜“”‘•Œˆ‰†…†‡‡‰Š‹Ž’’˜™˜•–“”•œ—˜”’‘”““”––œœ˜›˜ž˜™›››ž¢¡¢ ¤¦«ªª¥¦¥£¢©¤¦¤£¥ª¬®©¨¦§¤¤¦«ª­¨©§¨¢ŸŸžŸ šœœœ˜™šš˜˜”•ŒŒŽˆ†~ydTICFMLOPWsžÕñöúüþþÿÿÿÿÿÿÿÿÿû÷ôòéÕ§™£´¡–~}† æöûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúöìßËÂg:**(''(+;dKIaZW\`gnaXY[]C7=Q_XNJJDLJJQLPW1'*0+((#"""#'/C]MFLUPHHG,$#%$"      !  ",5$!"+9SE/! !   !! #)3@JPX_acgppoqrrtvyzytvvwuuuuuwx{{{xyxwvsrqrrpononvsspsqxrrswusrrszyyrstuoopuqrpnnqkloqopppnnjjfcfnotqxssrrrsqsoqmnnpnmkljoorlnookljhkplnnnmmd_bid^_fime_]fa_cieeemf`ac_`]^\ZZ\\\Z\\_Z^ZZYZTRPPPQOOJPMKHHJJQRVX\_abcceiijih]WNNNOPRSTUUUUVWX_dffc[ZY\^adeggghfhccbaaa]^`ehjmopruy~|zwttsux|~ƒ}~€‚……ˆ††‡‰Ž‘–˜›››šœš›˜™™š—–•”‘’’‘’Ž‹‰‰…„……†‰Š’””••––••’”•“’’’’’•••—˜š›™š˜™—ž™š›››œœœ    ¤¥¥£££¤¥¤¢£¤§¨§¨ª¬«©©¦§£¦©ª©ª¨¨¦§¢¢£¢Ÿž™œŸš™———˜–•’‘‘Ž‹ˆyqbTLCGMNOSY{³ÜóøûþþÿÿÿÿÿÿÿÿÿÿÿüùîݺºÌÄžŒ„‚‚åúýÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúõìÜʾd8)*)'((*:dJFNTNIPVWURRW^G5Hbbf[RKBG`QYFF;+$#$%,0*$*/24>MUZHNLI;94*#  !"  !  !"""/A0%"&:CCF*  #'4?NY^dfimprrsusrvyxwwtvsuvvvvwwwzvxwspsvtrssrppmnourrpppqqssqmqqrsrqqrpnolmmqqonokkklnonnmnnnhgehjmnrqrrsusrtpoopmnnmmmijjmmmlmjmkjimrnkjgfea\aei_`chid]__`_`debegea``c__^]]]\[Z[[[\_[[[ZYYXWWSRQNNHMKJGJNORSTXY__``cfffihibWUVVUVYYZXWUVY\`eeec`[XXY[\_aeihihgddeffgggjmosntsuy|~}|yvvw{€}~‚„~~„„‡†‡ˆ‹‹’™™ŸœŸ››œ›œ˜™™š–”’‘’–’’”‘–“‹‡‡ˆƒ„†‡Š‘““˜˜œ™™™š–••—”““”•™—œ››˜™›Ÿ™œ››šžœž££¢Ÿ¦§¨ª©££££££¥¥¥¦¤¬­²«­ª©©¬¦¦§«­³ª­©¬§­§¦§§¢¢¡¡ ŸŸŸžœ››™—••‘‹‰ƒ€yqf]MDGONPS^ˆÇåõøüýþÿÿÿÿÿÿÿÿÿÿþüõëäáèìͯ¢œ”œÏðùÿÿÿÿÿÿÿÿÿÿÿÿÿÿþùõëØÉ¹^6(*(&'');@?>>715=TTTIKSYONUbggh^VHDJN?3.*&"""*::547@UOKNUSMA80)('$ ! !!  #))&0EA*$#+[MK7%      "#(3@P`enoqrxyxw{wvw}zy|uvuyyxyz{{zzvysppsuuuztuqpqtttttqvutvwrpppqtsrrrpnnqnmmrpnnokklmnqmnnomohfhonqqxqsruutsvrvrumpnrmmmmmpqqmmjniikronkkkm`Y[ieg`cfpga`abcbabddhedceac_a^`^^^^_^]a\^_`]\\a`_XXTUQMKLB:AJOUTYYXY__^^dffghhyvf_ZWWXXXY\XW[_djkkhec`^]]\^_bejhhiihjmnprtsrrrrosty}}~€}{zy{}~~€€~€‚ƒ„……†ˆŽ•›šœ››šš››œ—˜–˜—˜—”’’’“’’“ŽŒ‰ˆˆ…‚„„ˆŠŒ“”—™™šš›š˜–‘“““”–———œ™™˜™š›™œœœžž¢¡¡Ÿ¤¥¦¥¥¢£¡¡¡¤¤££¤¥­¬­ªª©¨¨¬¦©­¬­®«ª¨§§¬ª©¨¦¤¢ž¡¡Ÿžœš™–•Šˆ†ƒ‚ztgYNDGNOPWa×íöúüýþÿÿÿÿÿÿÿÿÿÿÿûöñïòôìãÙ;¸ÀåôÿÿÿÿÿÿÿÿÿÿÿÿÿþýøôêÖɰW3(''&&&(3@3,*(''9SUVIGVhjllkijccRK::2+(%$#$%,3GXOEEFPZINB?8.($#"!      "(<CB@CC4#%/]QJ5'        !(-:FR_eknrtuwwwwwwx|{yyuwtuuxyyzwttuvsroqquxwvvtpmqrqptsrqwuuuspportuqrnmlnooonmrqpoommklmmnjgjkhchjnnqrrrqpqqrqrpppolpmmiiinqlimljgghklmknhhh`WZ`efgaeghc`^abbba`efgc``baa`___`_^^^^^`\_`a__^_^^WWTSSQOJ;<ALOPQWVXYYY__gghhih…vs^^]]]]XZYY\biokkjnoqmjgedbbdgjlqptuvxzzzrqrrrvwz|~‡~~~~}‚‚‡‚ƒ‡„ƒ…†ˆ‹œž š™˜˜™š›››œ˜š™žžž™š”“”™–—“”ŠŠŒ‡‡†ƒ„†‰—™›šš•—›Ÿ ›ž›œ–”•››››ššœšš™™šš™¢Ÿ¡ž¢¢¢¢££§¦¤¥¨¥¦¤¦¤©¤¦¦¬¨ª©®®®ª¨©­­¬«±°±­®®­ª©©¬ª³«©©©§¦¤£ ŸŸŸ¡¤›—™‘‘Š‹…ƒ}viZKBFPNPVfžÝîöùüþÿÿÿÿÿÿÿÿÿÿÿýûúøùúôîçÜÓËÉÙóÿÿÿÿÿÿÿÿÿÿÿÿÿþýùôêÔʦR1()&)%&&()(%#"!%5Vj\KR[eemnic`]ND6)'&$###',3<C]VcT\GOLI;/*'$!      !    $8aA<KYQJ%'6aZc9(!! !     "   $)/6BTXbgllprxwwwywzzz{{zyvzwvuzz|xutxvxsssuuyy{vvqootrrrvpprxwxvspqpwuuqsomloospsoqrqpunpopllihgkhefnnrrssvrrquqsqtpoopoppojkkplijsljhikpmljnkrd[V\dgghglgfa_`ecebbaehna]bfgfedefff^`___`_ccefgaa]^WZYXUUSH=>FMPRTVVZYXY_ciijijjkhdZ\QQQRTTUY_bpollkpsronlkkifgimoqqtz{{ywxqrrssvyƒ€}~~ƒ‚‚ƒƒƒ‚ƒ……††…†‡‹“—™šš™š•˜—šœ›˜˜—™™™™™˜˜””””•’ˆ‡†…ƒ‡…†‡‹Ž“™™™–˜–™œŸœ›››››™˜—š››š›œœ™™–š›š œž¡¡££¤¤¥¤¤¤¤¤¦£££¤¥§§§§ª««ª«©©©©¨¬®®­­®²³®¬««««³­¬ª©¥§§¥¢¢£¢¡¢ž›—˜“‘Œ‹ˆ‡ˆ€yhWLBHKOQ\m¤àð÷úýÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿû÷êÛãä×ÝóÿÿÿÿÿÿÿÿÿÿÿÿÿþýùôêÓÊšN/&'&&%%$$%$$#""%3W\cbbdpgkfcWTG92'%$$$&)/8<NDCLIJLJF8.+)&""!!!     /DbAH`[]@&+APQJ:%       #%-28?JX]aflllprsrwvvvy|{yzuvvzxvu{yxuuuwttstvwwzyxvqmpqqprsokpswwvvrpqqwtqnonmkoprmrprrqnnmmlmkhdgfjehjmosrtuurropoppqpomnlljkklllijknmjhknonmjjhe\XW`hgiiikcbbaabbdbbdhkh\`bcddddccbb_`b__`aabcbaa_][XXXXXY\PDJQSUUUWXZ[[\cfhijkjjlid`]XUSRVWXZ^bhnlpovwywwwwrrppmrpusv{{|}xxwvuuvyˆƒ‚€€€€ˆ‡‡„…†‰ˆ‡††‡‰ŠŽ™•ž—˜™š™›•˜˜š›™ššš››œ˜˜˜™“”“‘†„ƒƒ„†‡ŠŽ”–žš¡šž™›œž›¢œž››œ¢¡¡žœŸ   ¡¡¡Ÿšš›¡œ Ÿ¢¢¦¦¦¤­£¤¤§¥¦£¢£¥¨««°¯°¬««¬«ªªª«°­­­¯¯·±°¯µ¬¯«´°´¬­¬««¬§ª¤¤¤¥Ÿžš˜˜˜‘”‘‘’ŒŠ€ygZNEGONS^v³ãñøûþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûòèîóòñøÿÿÿÿÿÿÿÿÿÿÿÿÿþýøóéÑɏJ-''&%$%$%$"#"""$1UTWZ_bef]TME?90'$$%&.9;>ABNGDUNIA71'$"!!!! !      !!!  !'7OfANbHF7%0LQF>-" !  "(.7@FLRackllmnnttttwwvx~{|yxtuw{vvv|{xuvuytvuuvyx~ywrposqqrrpmpwu{wwtssvvwsonnnlloprrsstqropmmmpiedkgjipppq|svvtqpnqpppppposmkikmomllljolkkonommjkhbYY^jiikojkbbccemffedeoieegggcddedda`_`a`_aa`bfddb`]ZZ]YYZ_`^\ZX\YYYZZ]]`clghjplniŠŠ…zurnc^^__`ceijmnux|}}}zvuupnpptuxz||~yyyxxy{ƒƒƒ‚~€€€‚†‡‡…†‡‰‰ˆ‡ˆ‰“”—–—”””—•™”˜˜šš˜ššš›——•”’’Šˆ„„„‡ˆŠŒ’—˜™™š››˜š™™˜šš›™›šœ¡œœž Ÿ  ¡œ–™™ ¡¡¢¤£¤£££¢¢¦Ÿ¢£¥¥¨ª­­¯««¨§¨««¬¬­­¯®®­®¯¯¯¯¯¯¬­««¬­ª¬¬««¬¨ª¥¥¤¤¢ œ›šš’“’ŽŽŒŠƒ|uk_PDGKPTe‚·èõùüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùóôöùýþÿÿÿÿÿÿÿÿÿÿÿÿÿþýøòèÎÇ…F-&&&&$$$$$##"###1URRY`^ZWTJ?<93,*)26:@A`PVDO>530,(&%#!" !     !!   #%%" "%# $/DXS?He@>-#,T@6,#   !'+28AKOSX]cgjkmnppqpstusuxwwuttuvwvssttsuuuuvttsvwyvxusprtrpqrqoqtuv{utsuuvtsqpqpmmmoppqqqpnnlonmmohfeeejlooprsssqpoonrsqonnnnmmjhlonnmllkkjllmmmkkiii[T]eggjkjgc^cfeeedcadefffcddeccbeec``_ab`_aa`_edda_^]\\X[\bf`\WWXXYXZ[]]aehijkmlmf“†~|}ttiljiiijkkmr{x„ƒ„}}vvuqruuz|~}}}~€‚|~‚„‡‰…†‚‚ƒƒŠ‹ˆˆˆˆ‰Š‰‰‰’–—˜™˜˜•–”›–˜˜˜˜›š™ œœ›œ—š“’’–Ž‘‹‰ˆ††ˆŠ”” ŸœŸžž™™—–˜œ››œ¡ ŸŸ¡¢¤ žŸ¡ ¡Ÿ£¡¢žœ›ž  ¥¡§¦¨¥¦¥¦¢¡£¦§¨¨¯¯¯ª³±¯«©¨§ª¯­±¯¯®°²¸¯°°°¯¯¯¯¬®­¯¯¯®¯­´®­©«¦¦¥¨§§¡¡–““”Ž‰„}n^PEGNPVjŒÄìôùüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüùúûüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýöðçÌÅ|A,''&&%$$$##""###09;;<@BBDC@:76102<IKLJJTUF851+)&$#"!!!"!!!!!!   !!  "3H1#!)./!(3WZZ:795,"!',+'!   !%-4<GNTW^`hgmnonqnuprpxvuuuuttuttuyuuv|utsuuyuvwwu{z{xysrrvtrqtppruu}v|vutxuvttprrtmoopppqrooonmsnpmoiifehrtuqpqxsrpsosstssollqmmkilsornnnolliposmnklij\TZfejiplkc_^dddefbb`eehgjeddiccclecabcda`_da_^deca__aaca^aieb]XX[[[[[Z]_cegjompllg„„}}y~rqlllkjkmosttwx|ƒ|{wvwvvxyy{{{}}|…‰Š†ˆ„ƒ€‚ƒ„Š‹Šˆ‰Š‹Ž‰‰ŠŒ”˜˜˜—––•–“••›—˜™™—šš›™›šš˜•‘ŽŽŒŠ‡ˆ‡‡ˆŽ‘”——˜ž›œœœœœ›š˜˜™™™›žŸŸ¡¡¢¢¥¡¡¢ ŸžœŸž   ¡ Ÿ ¡¤¢¦¦¨¦¥£¥Ÿ¢¤¥¥¨©©©«««¨«ªªª««­­°¬¯®°±²®¯¯¯¯°ª®«®¯±©¯¬¬­¯¯­©©§¦¦¦§¦¢¡ ž™–•”“’ˆ„ymaRFHMRXp–ÈîöúþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüõïçËÃu=,(*,))%####""""#,<.(.2336988:;97BUJa_`HMA8/*(##"""!!!!!!!      !$'3KH7$"*H)!%4<J9(''$!  "!! !#*/7>EQUY[^dfhjmjlmonomqorrrprssrqosuurvvvuutttsrssttttzxusrrrrrponrtwwxvusuuvuvtsqqpnmpqooqtrlllnmnnpkjffdjnrsutrpqqqonnpoqqpomlomnknqqppnoomkkjpmllnjkg[PZfefkijjb\`_`adbb_aadehggeedeccccbcab\_`_^_`_^dfca`_`aa`aceca]\ZZYYWWV]beehkoklljgz~‚~…}€tqqqonnopttwuxwz€ƒ~}{|€ƒ~€}|}‡€‡‡ŒŠ‰ˆˆƒƒƒƒ…‰ˆŒŠŠŽ‹‹Š‰“—¡ ¡˜––™–œ›š—œœœ›ŸŸ œŸ›˜—••ŽŒŒŒŠ‡††‰Š‘—š£Ÿ›œ  ¡ž£››š›œœ™žžž¡¥¥¥¥¥¥¥§¨¡Ÿ Ÿ¥¢¥££¤¥¤¤¤¦§¬§«¦¤¤¦§§©°¬«ª¬«©¨­«±®¯«¯­±°¸²´²³±±°¯®±©®®µ¯±¬¯­°­°¯±°°¯¯¦­§¥¥¥£ŸžžŸ™™˜—‘Œ†…|l`QFHMPXv¡ÓðöûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûõîçËÂm8+*0-,(&###$##""##"!"%*,--05?LHUOMUMLJJI8-($""!! !!! !!!    ! !!!"*59?QY1%#,5&!"#&(&" $)1;BJNV[_bghnnpkmkllqnoopptttppswrqqrtvwwvwv{vysrrssttut{vursrqrrnorzx}wxustxyyuvvutunmmqpoousslmlnoqnpkjeehrsysvvvqtqqpoourvppnonrooovvuqsrqolkooqmnlnim^UWdhkimhgd]\abeedccafggghhgghehdfdicdcc^a_^^^_``ccdbb`dbdchfeb`^^_^[_WWW^cjiijolllkgqrwxz}zuvvtssutrttvsvw|€€€€ƒ„}}~€€€€‚ƒ‡‰Šˆˆƒƒ€ƒ…‡Š‰ŠŠ‹‹‹Œ‹‹‰“˜š™š™—–””•˜˜˜˜˜™››œšš˜——•’ŒŒ‹Š‰‰ˆ†„…†‹”˜ Ÿ››œŸž œ›››š›››™Ÿ ¢£¥§§ª§§§§¥ŸžžŸ ¡£¤¥§¥¤¥¥¦£¤¥§§§§¨©«¬°¬«©ªª©¨«¬±­­¬¯«¯°±±±±²­±¯¯­²«­­®¯®««¬­­¯¯°¯¯®¯¨©§¦¦¦§¤¡¡ Ÿšš™˜”ˆ†}sjaTIKOSZ{ª×òøûþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûôíçÊÀe4++..)&&$$##"$$$$#  !',,++-<KGGTWUTDF82,'%#"!!   !!!!!!!  !!!#%')/7Ga`aF)%%2?%   ""! #&.4<CIRW[\`cfikkkljkkkjpmoqqrttsqruqpswtstttssssrrosqtttxutttuqtrqnnlquyxwtuuuvwvxrrrrqoknnonpqursklloqqmqigdhkstwssqqqqppppppppppnmmrmooooqpppqnllnmmkkjje]SX`dhhgggfa]\adccccbafjffggfbededddhbccb]a_`a_\`adab`a_baccghea`^^]\[_XXX_cghiikkihigmqtuuuuvxyyyy{zyztvtvy€‚„Љˆ‡……†€ƒƒ…‚ƒƒ…ˆŠŠ†ˆƒ„ƒƒ…‰ŠŽ‹‹‹ŽŽŠŒš™ ™œ——–—˜Ÿ•›››™™˜žžŸ™™–•’‘Ž‹Šˆˆ‡†ˆŠŽ“—¡Ÿ¥ Ÿ ¥Ÿ Ÿ  ¡›Ÿ›ž›ššžŸ¡¡¨©©©ª©ªªª¤£ ¤¡ ¡¡¡¢£§¤¨§ª¥¦¥§¥¥§©«­­¬®³¯°®®®®¯¯¯¯°°®­®°±·°±±±²³¯²°±®´®±±º°®¬±±²¯³±´¯°¯¯¯®««¬®¬ª§¥£¡¡¡¡ •’Šˆˆ~zpdXMKLQ^…¼ßó÷ûýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûôíã˺_4+,/+&%&$$$$$&*-($##&)./**2PN<BdJ:50*&$#"!!"!! !!!!!!!!!! ! %-8LC>ENJJU?'"$<0$  !  #(.6@GRUWZ_abefhooolljnmolpqrqvwwuttuqoqvwwxxsursturqpst|utuuutsvquspmnpwwzyxtvv{xxwxpprtpmnrqppttutskknpqrnriggnpuu}ttstqqppquqrppppnmmrqsoopqqqqqnmnrnolkkl`UT`cghiikjk`__efiekccemgefmfefmchghehabba_a_caa``bdacadfgfedgeea`_`_c^_[[^gglkkkliggmhsstusrsvz|}}~~|wwtttw{€‚…‡‰ˆˆ…„„ƒƒ„…ƒ…†ˆŠ‰†‡………„„„„ˆˆ‰ŠŠ‹‹‰‹‹’•–”“““—•˜™—”–”–”—™žž›—–“‘ŽŒ‹ŠŠˆˆ‡††Œ“–›Ÿžž žŸŸŸžŸžš›™œ›šžž ¡¢Ÿ£¤¤¢¤¤¢Ÿ¢¤£¢¡££¤¤¥¤¥¦¤¢¥¦§¤¦©­¯®®°°³®¯­­­­­®­°±±°¯®±²¶°¯«¬«¯®°¯®¬¯®±²´±¯­°°°¯±±²±±²²²²±²²±°®¬«©§¥£ ž˜–’Œ†‚~uk[MMNV`ˆÅãôùûþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûóìßÍ´^5/-0)&$%%$"%&0:62230,,0)&)6NS=<<9/(&$$##!"!!!! !!!!&+)"""!!#/=ENSRQF?Ci:'""""!&+3:BINVWY\`bdeiijlnkhhimmmlqqqrqpooqppoprssvxussrrpooppsuuutssqtrsqokmnpqwvxrtsustuutqnqrqnqrruqpsrqnnknspppmliijptuvwsssqnppqrrqronnonnnpooopppnmkklmoljomjgbXVVbgggijjjc^`aefdbcdfimeffgeffebddfedbbba___``a`aabaa`cdeeffgdb^``_____]`dfhklmnmggghexuroqty~ˆ††„ƒ|{wxxy~‡‡ŽŽŽ‹‰‰‰„‚‚„†ˆˆŠŠŠŠ‹‰ˆ‰†ˆ‰Šˆ†††‡ŠŠ‘‹Œ‰‘•”””“““”˜– —•–˜—œ–œšŸ™–”ŽŽŠ‹ŠŠ‰‰‰‘–—œŸ¦¡¡¡¢ ¤ ŸžŸžœ››œœ¡œžŸ¡ £ ¢£¤£¢   ¢£¤¥§§§¥¨¤¦¦¦£¢¢¥¥¦§§«¯¯µµ¶±µ¯°¯µ°¯®µµ¶³µ´µ±¶µ¶±³®®¯¶µµ¯°°°²µ³·²±°°³¹²´µµµ¸´½¼¼¼¼»»´¶±±²³¬¬¤§ ŸžŸ˜•”“‹‰xi[OKMSb’ÓèõùüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýúòêÜЭ^7000(&&(('&'3@FKKNJF.,'"#(1NC=>D0$"""####"!!!!!!!#",45,)($"'?][^`bYD<;;6$! !%,4=HKUY[\abcflehjommjighlsnwpsqxpqnroroopsstr{usstuvpoosquuvuursrussqmkmqttxwwttsxsuutqopwsrrxtsssqwqppqnsqoorkiilovu}vwvwqpputtrrqronnooqqtppnsoponjilrnjinjic]QQ[jhhhligd__adjeddedjjmdjhgeifddfcideedbabd_a`babacbfggeehkghca_ccc_`_caghijnnnnmhjjjf{wqqrx|„‡ˆˆˆ…|wxy~‚ˆ‰‰‹ˆˆ…„‚†‰ŒŽŽŒ‹ˆƒ‡†ˆ‰‰ˆ‡††‡ˆ‰ˆˆ‹‹”’‘••••••–––•——™˜š”••“Ž‹‹‰‡††††‹“—šœŸ£¡ŸŸ Ÿ£¡ žžŸ›œ››œœœœŸœžŸ   ž Ÿž¡¢££¦ª©§¦¦¥¢£¡£¢¢¢¥¦§¥«°¯¯±´±®°­°°±±°¯±±°±´³³°²±±°³°²µ³²µ°°¯±³µ±²³²²µ¶´±²³´´´´··¼º»¸»µµ²³¶³¯®¦¥¤¢ Ÿ›—’’“‹‚ui[MKKVf–ÜíöúüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüùñèÚЧ_:0+*(),151.9EQ[XVXY;+%   (*-02=0&#"! !!"""! !"##"$&=e?8=M)"+NJBZMPbA3.*%  ")/6<DORWZ]]^aadigdilljifggkmnnqoppoklmmnqnootssrspqppoqppnrruuvqvssrrsrqnlqwvuutssurtsrpompssqrusooorqqmplnnpnnmkeiknpvuwuusqmqptssrrsolnnoqrstqonoopnmjlmlkiinfc\PHXdcfghhif_``beebeedcghgejjfcjeegfchcbadbaab___bdbacbddeaglhdcc_]^^`_``cbfhklmnllkfieif‚~{zy|€„Љ’ˆ‡‚~~‚‰‰‰ŠŽŠ•ŒŒ‹ˆˆ‰‹””“–ŽŠ‰ˆˆ‰ŠŠ‡‰‰‰‚Š‘‘‘‘’’––š—™—š™šœšž˜š”•ŒŒ‹‹‹‰‡††‡‡‡Œ“—¡£¦¡£¡ žŸ£¢¢¡ žŸž žŸ¥ŸšžŸ    ¥¤¥¢§§§¦«ªª§¨¦¥¤§¤¤¥§¥©ª®°³³µ®®¯±±²°¶²¹²±°°±²²´²¸··±°±´²·³²²¶±±°¶³µ²´´¶³¼µ³±¶¶¸´¶¶º·¼º¿¹¼¸¹¸·¸¹³°¯¸®«§¥ ž™™•‘‰„woYJHKWm£âï÷úüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüøðçÙÑž^8-**+/<KDAGOYgb]VX?+$ "(&&&'&%#""   !!!!! !#+7*(4IgJIKE,%/XOE]B<81)"!   $(/8@KQUX]_c_`^bbgfghpmnihhmnoppoupqppkmnnmrqrotsstuprpqpsrrssrwwwvwtssvvuppryxytvuwvuvxronmntrqrtsronnqprnqmpntmqligkowvvvzvyrrosrttvvutnnropqwwwqoonnqpopqnmhhineeRGQfedeffgfcddbcdfeedfglhggjhefjeffgehabbdcbaaacafcccgdcdeeokfcd`^\``f_`adflhppplkkjgiiig„ƒƒƒƒ„†‰‰ŠŒŒ‡‡„„ƒ…‰‹Œ‹‹Šˆ‡‰ŠŠ‹ŒŒ‘“Ž’ŒŠŠŠŒŠŠŠ‰†…ƒ~{„ŽŽ‘‘’’–—š–––š—™™˜—•“‘Ž‹‹‰‰‡‡‡†…†‡Š‹Ž“™¡¤¢¡ žŸžžŸ¡ ¢›œŸŸ žžžŸœœ›žž   ž¥£§¦§¥§¨«§¦¦¦¥§§§¦§¨«­°²³´¯ª¯¬®­°°±¯³±²®±³´³²²³³·±±±°®®¯²±±®®®·³´°³³´²³°±±·µ¶µ¶·¸···º¹º·¶¶¸µ¸µ¶··±¯¬«§¤Ÿœ—“Œ†}rf[NNP^t¨áñ÷úýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüøïæØÕ”Y5-*4<GSUXZ[]jffZNC/)&$$$$$$#"##!  !""""%2338CTeRfU?,#.^A51,)'$!!   #&-29@FPTZ[`abb__`bbgfhikkjhiimllkonolllqmmnnnspposrrnnnpopnnnstsprsssttsqssqprsuwuttsrovuqmmlnoqpsssppponpppmnmonmmkhijprwtuvvtsoomrrtsvtttqoroqrtsqpppnlljnnmnidghihUGRcbdeefeedb`aaccdbddfhiiiijgghhdecfddbcdddc_abccdbddddeeeeniea^Z^]`a`^`aglihlkkjknifhhii‘’‹Œˆ‰ŠŽ‹ŠŠŠŒŽŽŽŽŠ‰Š‡‡Š‹Ž–‘’“‘˜ŽŽ”ŽŒŒ‰ˆ~zzwƒ’“”“–••—š˜ž™›šš™Ÿ”Ž‹‹ŒŒŒ…ƒ††‡ˆŒ’›œ¢¡¥£¡¡¡Ÿ¡¢£¢¦ ¢žž£¤¥¡¦¦¦ŸŸ  œ¡ ¡¡ Ÿ¢¡¦§§¨¬¨¨©­­­¬²ªª©«ª«®´²¼´³°¯¬°­¯­¯°³¯¸°²²·³´³¸²³²¸²´°°­­¯¶±±®¯²·´´°¶´·²²²´±¸·¹¸¸¸¼½½½½½¾¹»¸¸¸¸¶¶¸¼µ³³¶¯°¦£œœŽƒ{xvbSNP_z´ãñøûýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿû÷îåØ×–V6/6FUhih[\\`fibWNB8+ """""!##)+)#  !"""##'8@GMKdTHVlA,$,20*%#!    "(/6=CNRUY_```dabbcdffghmklhhhmmmnnmpoonokrpsorntqururrnqquopnnptsvpppqrvvvqqpprxrusrszrqswrnllnurttxtqooptnpppppopppliimqzuxuuuytrpqorstsvvwsrrrqtrwrsrsomlklmoqkhhkik[LNaedfjihefedcgghefbceiiijlligjhgehefcccfggdddeeeehikeedkijhnhe`]]daeba`bcmihhokjilljjjikj’”•–“‹‡ˆ‰Ž‰‹Ž‹‰Š‹‰†‰ŠŒ‘‘Ž‘Ž‹ŒŒ…ƒ}v|†‘’’“”““‘••˜—˜˜››™™“Œ‹‹Šˆ†……ƒ‚„‡‰‹”–˜Ÿ¢¡ œ   ž ¢¢¢£¡¡Ÿ ¡¡¢¢ £¤£ ¡¢¢ŸŸŸ¡¡¢¢¡ ¡¢¨¨©©«ªªª¬©ª«ª©©ªª«¯´´²³¯¯®®«¬¬®®²´²¯¯°±²³°±²±±±±²¯¯­®­®¯¶±°­±´µµ³°³²±±±±³±¹·ºº¸¶¹½ºº¾¾½·¸¸¹º¹·¸¸¸··¸´±®§¤œ—‘Š‡ƒ~wcQPPd³æôùüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûöíãØØ—R87CXmkn`VVX\dc_UQOP4"!"####&)07640)-32/-,26:OOPNCcNKKE?(!$(%#"!  !&+17>EJPU[^a`_``_`bbfgijhhhiigggknmklmljnnoknoonqmspqoononqrpnmnppppqqqnqrrppponrsurplrqposztonkotrqssstspqppnooononnmliijpssssstuttrnoosusqqqrqqpqqrsqmppponklmookgijkj^OPUdighighe_[edfcdddbdgjkkkjghhhfgeeddddafcddbaeaefggkffehfhjiee_____bcbacdefhikijfhhjdiikh›› –—Œ‡‡ŠŽŽ””••”‘ŒŠŠ‹Š‰ŠŽŽ‘‘””””–ŽŽ‘„}x€‹›”•–—”“’“–—œ—š˜ ˜•‹‹ŒŒ‹‰‡„ƒ„ƒƒˆ‹“™™ž¦¦§¡žžŸ ¢¢¤¤©§¨¤¤¤¨¥ª£¤¤££¤£ª£¥¢£¥¦§¨¢¢¤¥¨³©®«¬ª¯«¬«¯ª««¬«®¯´µ·µ´¯°±²°¯¯´³¹´±¯²²´²³°®²³°±±±¯±²²¯³°¶²¶±···²²±³³³±±±³´¹¸º¹¹¶·¸¹¹¾½¾¹¹»¿¼½½¼ººº¼·³²´§¨ž—˜š—”Ž‹€vbSOQeƒ¼èóùûýþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúõìäÙ׈M68IgnrnZQOUY]aXRQTJ<"!%(*--/5?CFDAFKLiI;>VLHSXYPMdLTFB0$        #(.6<BFOR]^^afccac`bbbcjhmjhhfikijjjknjllkjnnpknnpnqlssunqopnuqoooospprurqnursqsoorvsysqprqprvtrnmnssrrusrsvqoppospoopoonlilpxuussrvwwtqqrrxutpnpsonptrzrnovrrponssulhhklmcYJS]iikkkfh`[^fegcfggcfinjhijhhhigkegdefhcfcmdccegihhhlgghkfhjkdebb^^^aceghfjgkklijfhfjiihkgœœ™•’Œ‰‹•••””’Œ‹ŒŽŽ‘““Ž‘’’‘•••Ž„z~€†’‘‘˜”••–”•“”——˜˜—•’ŒŠ‰ˆ†„‚‚‚ƒ‚„…Œ‘–™›ž ¤¡¡¡ žŸ ¤¥¤¥§¡§¤¦¦¨¤££¢¡¡¡££££¤£§©¦¥¥£¥§¨©ªª«ª¬ª¬««««ª¬¬¬¬²³´°¯®±°²±±±²³³³²±±°±°°°¯­®°³°°¯¯®¯¯¯­¯®²±²¯²²³°°¯¯­±±²²³µ¶¶¶¶µ´¶¶¹¹¹¸º¹º»¾¼¼º»»¼»¸¶³°­¦¤££¤¡˜”†~ueWSRiнéôøûüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùôìäÙÜJ3;NfllkVINV[]SOMJHE1"!".951028@K[IGSnPMeZNEQmjihjQME741,#"   "&+07@BGKOUX[]acdccac``_ccfhiihfgijhgeghnjiekjlmmjnmmlrmoppnqoonnnpqppqqrtrqqoooonnnruvssstttrtvvrsnoorqsrrrrrvqpoppppppppkgijoutrssrrssrrqprsssqoprpnoqrrsooqsqplnnnnkfijjicXQKYdiiijhfbZ_cffecfhgdgijghiihhijeeegbfedbccddddehhgffhgijfbijfaccb\]^aeeffdihlkkiiddcfgghieŸš˜”’‘“’’–“’’––—”””•••—™““’–“”“““–•”’“‹ˆƒ}‚ˆ‹”‘‘“—˜™–—”–”™˜š•“Œ‹Š‰ˆˆƒ‚‚…†‹Ž–˜Ÿž¢¢¢¢¤¡¡¡¢¥§ ¥¥¤¥¥§¨¨ª§¨££¡ ¢££¤¥¤¤§¨°¨¨§¦¨°«­«««¬¬¬ª°­®¬¬¬®°·³¼³¶±°±´´·´´µµ³¼²°±³³²¬­®­­¯±³³·¯¯¯¯®¯¯µ¸º±µ°³´¶±¯¯±°··¸¶¼¼¼½½µ´¶¹¹¾»»¼¼»¿¾Á½½½ÀÀÁº··¸²®­®±²­ª£¡žš‹ƒ}gWPRkÅëóùûýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùòëäÞ݃H>AUgkmaSKMT^UIHG@:3(&'1@BA848?FVSMHW[VTcbcCHVTUKOYA4+%#"    "(.4;AEKRTVY___bjihcbccba_ddfhlhhfjilgffggmiifjikljjnmmmqoopqqqnpppptqpqtturppqpnmpmmqxuusqt|vxvzvwssoqrtuvsxswtvqppqswwwoplhfinsstrsrrsxruqpqtsyqposqposrvsspprvponnoqmjiopqg]QNVfhlikiifaaccfeddfgggmihgiiiinilgjefefecacdecgfefhfeeggkgddifdchcb^\^bdggkjjjmloiifefhhkhif——˜’’‘’’“•—“‘’‘““–œ›šœš–”‘‘“’”““““”””•‘‘’‡‡ƒ‰’‘‘“”—™˜”•“•“–˜‰‰‹‹Šˆ‡‡‰„ƒ€~‚„‰Š•šžŸ £¢¢¡£ž¡¡£¦£ Ÿ ¤¦¨¨¨ªª¦¡œŸ ¤¥¤¡¢¢¦¥§¨©©ªª©ª¯¬­«««©§©ª¯­®«¬­²³¶²²³´²³´¶··´´³´²²±°¯¯®­©­®®®°²³²²¯°±±°±°²´³°¯­®­®®­©¯°·¶¸µ»º»¹¸´µ·º¹ººº»»¼À¾¿½¾¾¼¹¸···¶µ·º¹¸·²®§¥£ š“Œ„{fUSSn•ÈíõùüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøñêàÝÛ‡H>Lc_\\_UKLOPPFA=3.(''1@N\K>6;CJKNKI_XRVXgCJUST;1/+(#"!     "(,28>CGJNTVY[]`cddghecb`bbb_deggfdedghlgfffghiifhhhhhhkllppooooomlmlopppqrsprpqrqnokmnquuuttttuuuutturrorrtuutusrrqpppqssurnlihfmtrrsrrrssrrqnqrttqnpmooonrsuospqqpknmopqlkjllh_SLXegijijghecbbbfeefghhhihffheihlfhffddfd`cadgecefffgffeggkeddhbdec_c^^``acccbjkljkjjgghiijhig˜—˜——“”“”•”•–’”’“”—¡¥Ÿ—™“””˜•——šš›——••’ŠŠ“™‘‘‘˜’––˜˜—˜™™šŽŒˆƒ‰‹ŠŽ‰‡‡ˆ†Šƒ„ƒƒ„‡‹’“œ› ¡¦¡¨¢££¤£¨¢¥£¢ Ÿ¢¨©¯©¨«­¢žŸ¥§¯¥©«­¨§§©ª«­²±°°°¬¬­®ª¨©ª«®²µ´´´½´·²´³¶´¹¶¹¸¸´¶¶·²²²³°±°°¯±±³³³³³´´²¸¸¸´µ³±°°°°°°®±±±¯·´¸·¸µ¼º¿¹¹º»ºº¹¹ºº¼¿½À¾Â¿Ã¼º¸··¶º¾¼Â¿Æ¿Á»¹µ²¬«¥ ˜’†weVQTsÏîõúüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøðéÝÝ×€GAXVNLM^[KJMNJF?:2(&&,8G^WR>7;FGHGGJfjY@<PpPQ<2,'$#""  %+06=EJPRSSYX[_eeecefhedcbbgbbcjklfdddefglilefghhlfmggfjhkklnpppppmllpmooopsrtuutsqrnnnrswwztstvuuw{vttzrtpwswvwxxstpoprprqqpomjikmvsstwtustsrqqquttrompoooqrytuorqyqplnntpqlolmidULTehlkkkkkleghjiginhjjnjgfegljjikeieddccc_bchhfgljkhihkeigjeffgffcc_b_``aacbbdklpklmnijjmmkihi–”—–•““’’“”“’’’”•˜ œ››˜™˜™“•–—–—˜™™˜—•’Š‹‹Ž•”‘‘’˜’–—˜–˜——‹‚€‡Œ‹‰Š††ƒ„ƒ„„ƒˆŒ”–˜œžŸ¡¡¢¡ž  ¥£¥¢¥¢¢¢£¥©ª«¨¥¡Ÿ¢¦§¨©¦©©¬­ªª«­®¯²±°­®ª­®­««««¬²···¶µ´´³²³´µ´´µ¹°²²²³´±±°±°°¯¯¯°²±°±°²³³³¹··µµ¶°®±±±°¯­¯°°°¶³µ´¶´µ¶¹¸¸¸·´¹¹ºº¼½½¼¼¼¼»¼¸¸µ³±¹½¾½½¾À¿¿¼¼»¶²°­¨¡™ŽwhYWVv£Ñðøúüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ïèÜÜØw@7GQF>O^WKJOHDB>;5+',2@NOQB4348:?BDGjgC+2AEJ7(&$#!! ! #'-2:AGKMORTUVZ\_cfeeehlfbdecbdcddjhfcdcbafegggeeeigkfedddffkjlmqqolkhiillnmpprrtqtrpnnnnorssssqtvrouwvsrqtrrqqrvuuutqpnnnoomlnnljjjnrqprtuuvssqqqsusrtnmmqqppsuvttprppookmmnnmjmlngWLVcfjlmlklme`jkigiiifijjkebfhhhiiheeccccc`_cdefghiijfigkfgfgeeddcbba_`_`_aacddekllkmlljiikmjhhišš›šŸ””‘‘’˜™Ÿœš™˜›˜—˜š—ššš™˜™š›œ›Ÿ˜••’ŒŒŽ”•”““‘–”˜——™œž ›”†|ˆˆ’ŒŒ‹‰…†ƒ„ƒ……†Š““š›   Ÿ¢¤¤£¢Ÿ¤£¥¤¨¤¤¥¥¤¦¥¬©¯¦£  £­¦«¨ª©«ª¯¬­­­¯³²¶²³³³´´°²±µ°¯±º·º¸ºµ¸³´²¸··µ»¶¹¯±±³³¶±³°²±³°³³³°®¯³³¶¶·³¹¸¸¸¸µ°¯¶±¸³±±±°±±¶¶º¹º³µµ¸¹¹¸··º»¿»Æ¼Â½¼»¹»À¸¸³±¹ÃÃÃÄÄÃÁÁÂÃÅ¿¼¼¼µ¶ª£—Ž…~l^VX{­×ñöúüþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþöîçØÙÚm95@??CTTTMHGA@?=<4-07?ILNE90)(*19=?DoQ/%&+/-'#!!"!! "  !%*/5<BJJRSTVZYYZabdilhhhmgedddfghhgfjgddecacgfiffhkjjgkfieeefejjmmqonjhgiklnppvqrstrtqpqstuuuutttqwrqqvvvqopwssrtsvv{ttsropnnmlkonjjlnspooqtuuyssrtswtrssrqrrqrrvwxstqtoonnottvmmlrlq\NScgkkompkngdclkihkjjjmnricelhiikiiedcfb``_`cegejilhiiiijjjgiihddbcaa^^_b`cdkhigpmnmolkjihiggini™˜™™˜•“‘‘“—šŸŸ  š—›’•”–•••™•™œœœ›š—‘ŽŒŽŽ”““’‘‘‘•”——™›™šŠ}|ƒŠŠ‹‰………„‚ƒƒ„ˆ‹Ž’•˜›œœžžžžžžŸž¢£¤¥¦¤¤¤¤¤¤£¬¨¦¢¡ ¤§§¦¦¦©©ª¨««®¯±³²±³±²´´´´±±±±±³µ¶´´µ¶´´³²²³²¸µ¶³²®¯°²³²¯¯°°°°¯±±²¯®¬³µ¶µ·³µ´·²´³±°±±´³²°±°±²¶·¹¶¹³³³´²³³¸¹»½½»º¼À¿½º¹º¹·¶µ»ÀÃÂÂÁÄÅÅÄÃÃÄÀ¿¾¼·µ¯§ž˜’‰€p`[Y|®Øò÷úüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþöíæÛàÒc839;>EQZXOD@638<82/<AMJIE?9.+%&+7;<=@B*$#$$$"!!     #)/5:?CHONNTXYZZY[]cggkkhhggcdedeghiigfjeeeedddffffghhffffceeeffekjlllmjhhhjlnorrsorsrqporusstotrsrqpqoqrqnnnoptsrqtvvsrqrvqmnnnmmmookimopooprtuutttqtsussoqqqooosrrqpntqolonprqoolmmnl\NUbdgjikkjhe`efkjiijijjoolggjlgiiihidcbb_`_beeggehilfikiijihggedadaaa`\^]b_edffhhokkkjjjkjhighjmhœ™›—™”’’’•œŸ§¢£œ›–š›œ—™”“–™—œœŸ›™—“‹ˆŒ’š“””•Ž“’™™šœ£›’t‚…“Š‹‰ˆ…ˆƒ„‚ƒ„…ˆŒ“˜š›œŸ¤ž ž žž ¢¤¦¦«¨©ª«ªª¥¨¦¬¦¤£¤¥¦§ª§®ª°©ª¬±±´¯¹¸···²¼´·µ»´¸²²²¹¸¸´´µ¶µµµ¹··µ¹µµµ´¶¹±±±±³º´µ°°°µ³´´´³´µ¸··³µ´¸´¶²±±±²µµµ²´²²·»ºº¹¹¶¸´µ¶¶·¾½¼½¾»À¾Å¿À¹¼·µºÂÄÆÄÉÃÅÅÊÆÌËËÊÉÉÉÂÀ»¼¶±©£›–‡qaWYºÝòöúüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõìæÖßÈ[637;>FP\dJ:0).654/08D?:;<<:86'%)31025/%"!! !!!!   !!!!%*07?FKPQRV[\\]_afddekhjjnikfdcldehmlpjjhkefhkedeijmikiheeffdfeffhdljpkkihihjlnppvutqwsqonovvussstrvqnnoqwrsponqsysrswvvsupoppqxnomrstnmmrqqpppvtyxwvutztvsrpsruoos{rqommsqnmpqvsronoppr_PP_cginjkkjgabihjjmjlkkjwnhgklmjjhihieebbbabfelhjjlllioklhhhfglddde`bba`a_bbgfhhmjpkkkkkjjoklikkmh˜—š••”“’”–œŸŸžœ—›—––˜——••–––—˜—˜Šˆ‡Œ’“••’‘Ž“’˜š™ ‰~zq{†…†…„„‚‚‚…ƒ†‡Š“™›œœœœžŸšŸš ¤¦¨¦©©§ªª¨¦¤¢¦¥¥¥¥¥¦¥¥¦©¤¨©ªª­¯³µ±®¯°³µ´²²³³³´²¶²³³´°°°±¯¶±µ¶¸·¸µ¶³¶¶¶¶µ±±°±²²²´¯±²´³³²³°´³´±±²µ´³³´²²±²³³³µ±´µ·¾ºµ´²¹·¶¶¶³¶·¾¹¹¸··ººººº¸»´¹¾ÂÂÃÂÅÃÄÆÈÇÇÇÊÊÉÉǾ»»»¹¶¬¤ž˜€o^Z[ƒ¾ÞòøúýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõëåÚݪR56=@BFQ]O<-!%*42.+,.,*-08D9@2)&(()('%%#!!        $(.5<CINRWUUW\^```bedeffggiiigfdecfdhjkkkkhfedgkfcehkkjjjifcfdcbdfikhdljighghjklnoooooppppomopqrrssssrqqolpsurrqportvstvtrsstnmmpuqlomsqnkopstrnpprqqqqqusttssrorqpmqusspnnnoponqtsqponnop`QTZ_dgjkkjkieeghhjkjhhgjkjieejlkjjggfedebbbddggiilmkijiiiiffefgfcbbbab_a]`_aaffghjihhiiihhhijjhihih™˜š›š˜—œŸŸ›œœ››Ÿšœ™™™š–––——•І‡‰Œ”’–••‘‘ŽŽ‘“š¤•~o|w|ŠˆŠ‰ˆƒ„‚‚€…†‰–—š¡¡¢£¢›œž›ž¡£¤«§¦©©ª°§¤¢££«¥¦§«¨ª¨ªªªªª©±®µ°¸³°­­¯´²²±µ°±²µ´¶¶·³·®²±³³·µ»¸··¾µ½¸À¹¼µµ´³³³²·´´³¸··´µ¶·³³³³±²²´µ¶··´´±·³³´´´··¹¹º¶¶µººº¶··¼¼¾½½µ´¶¼¼½¹ººº»ÂÂÇÄÅÂÉÇÍÌÌÉÍËÑËÎÇÆÂ¾ÀÆÄľ·¯¯¡™„o^Y^‰Äáó÷ûüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþôêâÖÜ‹G5<HKMRUL?0#!#*1-+)(&$$%,69:4-'$#$$#""""!     "#*07AFNOVX_[Z[\^cchefekkjihjoijeffghihmlnmnigedehfddgirihimgeeeddbcfmjhhkhgfhfikoputtoqpqqppooursrqs{stsrrrrttzswttttu{vxvtttstpqorqnnnosomnvswtuuutuqqqprutttwrqnxppqvuspnotnmnoqwtspposoqdUQ[adhjlnlljhhijkimljjjinllcbfnmpjjgfeccfdedigkhjippnjlmmikfgdiedbcbbbbbabccddefhhkjihliigghkkjhjhhiššššž™——•˜˜ž˜™™›œšš›š˜™”–’Œˆ‡ŠŽ‘’’ŒŽ‘“•’ ‡|vjv‰†……€ƒƒƒƒˆ‰‘—›š žœ™™–™›Ÿ¢£¥«¦¨«ª©¦¡ ž¢£¬¦§¨©¨©§§¥¥¦ª©°­¯¯¯®®­­®±¯¯­­®¯°´´·µ³±±®²°³´µµ¸º··¶µ¸¶¶´µ±µ·¶´´²µ¶´³·¶·²²°³²²±²°±²µ¶µ²µµ´²±±´¶¶¶¸·¹µº¶¶´·µ¹¶·¸»º¸´³­´´¸¸¹·¾ÀÁÀÂÂÃÃÂÂÈÇÉÉÌÆÉËËÈÆÃÂÂÂÂÅÇż·°¥Ÿ•Œ~ob__‰ËäôùûýþÿÿÿÿÿÿÿÿÿÿÿÿÿþýóéáÓÎq:3CEKQ[M>2&$$%+)('&%#""$(+.,*'""!#""""!!" !!! !#(-4:@FMSTVX[^\]___bbccdekijkjlhdcafeffggllmkifgcegffehghidfedddddbdceghhiikgffggjknpqrpnpqommmoptrsrsuurrrtsssuvvsttusuvuuvwussssqponkmmnpmjnruuvssqploqqprrrqqqroommmrtttsnnnnmnpqrvtqmnllleYST`ijmnqnkjjjjjjjggfgeijkma[dhkkjiiddccdddeehhigjjjjkllklikefddacbbabbbaa``aefedhikmihjihhhhjjighgim¢¡¢ ›š—–—˜šžœ¤ž¡Ÿ›š›œ™™––‹‡ƒ‡’’’‘‘‘‘—šœ›–yixox‡Š†…„…ƒ…€††ˆ‹Ž•—œœœ¡¡œœ™™——¢¥©¦«§®¬¬¥¢¡¡¡§¤¬§¦§«ªª¦¦¤¥§ª«±­¯®­­µ°³¯´¯°¬²³¹¹¹¶·³²±²²²³µ¸»¶¸·¶¶¸µ¾·¹¹¹··¸º·¸¸¸¶´µ¼µ·±²±´´µ¶µ´´µ¶µºº»·¸···½µÂ¶»¸¹ºº¶¸¹»ºº¸»¹¼»º³®°´µ·¹º¾ËÁÃÃÇÂÄÃÁÂÈÇËÊÎÆÉÉÉÉÅÅÊËÍËÈÈÈÁ¿¼º°­¡šŒre]aÐåõøûýþÿÿÿÿÿÿÿÿÿÿÿÿþüòéßÓº\319BGUNC3)%$$%&%%$$##%"#%&''%$!!!""#"!!!!!%*07>GKPT\]\]c`_^ba`_cbecdelkojigfcaafflfggmmoigfghjggeffhhiejfgccdghiiijjikjkhiiikpnrrrqonqonmnlprttutzuvtwtvtxuzvwsuwyuxx}wxxwrqrvrsnmlqnrmjlpsuvzuyrqnoquuussrqquqppqqxvztrqrqqnnpusvrpqrlnidST\jkoppommtjlklkjjkjihmnrbX^mkokjigceedfjjjkmllkjkmkkllklikeheeeedeabcfa`_`bifedhimlihijihjklihgkklj£¤¤¤žš™——˜šœœœœœžœ›šššš—”‘‡Š‘‘‘ŽŒ‘’••”–š‡}tdr{‡†…„€€€~‚€†ˆ‹”—˜šš˜œœœœ˜›šššž¡¤§¦¥¦£¤¤¤ ¡¡¢£¤¥¥¦¦¥¤¤¤¤¥¥¦§««¬¬®©­¬¬¬­¬¬¬®®³µ·¶¶µ³°°®²²´¶·»·´´²µµ·µ´²²°¸¶·¸¸··¶¶¶¶¸µ¯®®²±´³²°³²´µµµ¹¸º¶¶µ··¹µµ¶¸¸¸·¸¶¹º¹···º¸µ²²²±²µµ¸º½ÀÁÂÃÄÁ¾ÆÂÂÃÆÅÉÈÇÁÀ»ÉÉÈÆÉÊËÌÅÁÀÁÁ¿¼¶²«£—teccÓéõùûýþÿÿÿÿÿÿÿÿÿÿÿþüòèÝÕ¦R.-05:>D3'%#$'$$$$#####""####""!! !"!!     !%(/5;BHQRSX]^a``bca_ba``bbcdeflnlihecbccdeedghjjhefffffggefdgfedgfecefihiklkjhkkkihhjmnnqsqpoormmmlmprrrusrpututtturrrrruxyswwvwyztorqpmljmlqllimquvvvussrpoqrssvvutsrrrqqrswvusrqqrqjoputvpqljiifUIXajkmllllkjikimjjhiijinpfZ^dijkijhgccceghfiklklkkllklnlllgfeffeabcbabcca`_abiedbfgnkjihhhhjgkhhhfbji©©¨¡œ›™ž›¤œ›œ¢¡¡¤¦ž¢—•‘‘’”‘’’’ŽŽŽ‘“˜—ŸŸŸzkght‹„„„„‚‚‚†Œ‘•œ›Ÿ™šœ¡¡££¤ Ÿ¤¢ª¤¥¥¦¥§£©£¤¡¦¢¤¤¥¥¥¤¦§¨££¥¦§¨«³«««¯®¬­®¬­¬¬­¯³¼µ·¶µµ´´µ²·¶º¹·····µ¼¶¸´´´´´¸·À·¹¸·¶¼¶¶µ´´´´º´·²±³¹¹¹¹¹·¸¸¹¹¹¹¹¹¹¶¶¶¸¸¼º½¾À½»º¿¸»´°±²²º¹¹¹¼¾ÃÀÆÅÅÁÀÁÇÂÈÈÊÅÎÄÆÁÁÄÉÉÒËÐÉËÅÁÂÂÄÇÃÁ½¾µ°¦ž’‡xkcg˜ÜèõøûýÿÿÿÿÿÿÿÿÿÿÿýúðçÛÔ•J+))*/30'$###$######""###"!"""#!!!!"" #'-3:@FPSWYZ]__`bcbddebbbcbcfifglsnlhhddcdehiigghjgffgflgiijeecgddfleefkkriklnmlllllihikmtnqqqopotllkkmpqvtuqpqvtws}twrssttxxyvvwxxzvsrrpokijmlqllmuuzyyuvvwrpqttttywyxxttsrrvvwxwvvvvrqoprwuvpqkkikWJRgclnqnoosllhojmjjijjnkqjb^gejilijggefffhkjjlnkolmmnoolkklhjfgfea``_`bbdbbbiejddfljomqnlklikkkkmhecig¡žžœ››žœ›››œ£¡¡¢žš”ŒŒ‘‘’Ž“”––‚r^joy‡††ƒƒ‚‚€ƒ„„‡‹‘’—™œŸšœ ¢¢¡¢›  ¢¤¦¤¤¤¤¤§¢¡¡¤Ÿ¦¡¡ ¡Ÿ¤¤¦¢§£¦¨ªª««­©ª««««©««­¬°´´´³¯®®°°²³´±·¸ººµ²²±³³³²¸³³±´µ¹¸·¶µ³´²²³´³µ·¸·¸²³±²³¸»¹¸¹¶··¸¸¸¶¸´····¶·½º¾¾¿¿¿º¹´³¯°±³³¹µ¹»¿ÃÂÀÀ½¿¿ÀÂÂÂÇÇÇÅÁ¼ÃÁÇËÊÉÉÈÆÃÁ¿ÄÅÇÉÇÅÄÀ¾¼¸²ª •Ž|lii—ÔéõùüþÿÿÿÿÿÿÿÿÿÿüùïæÙÕ…C*(''''&%$$##"###$##"!"!""!""!!"!"  #&+/6<BHKPV[\]^_`abdb`edeccccdhmigjponjfc`dcefghhihfeeeigggdcaieecccfgfdgijiiijkkjjjmolhjjlmnmonooommjkjmnoorupmpqqqssstsrrmtuwuvvwyywzrsqpnmjklmmlimpvvxwxuutvqrsuwvtwvusuuutttuvussprqqoomprutspqklfXJS`adnpnnopmgjikjjjifghmihb``gekjlhgffdeeijjjlpmkojjikonjkjmfeeffcaa___babbccdeeaehklmkpomllgjigehhgdee¡¡¢žŸ  ¡¢Ÿ¡¡  ¥¤¥¢£›™’Œ•””’”Ž‘˜˜™›œykf\lƒ‚†‚‚‚‚„‚€€„Љ’”œ˜Ÿ›¡   ¡  ¡£¢¢  ¢¦¤¨¤¥§¬¤§¢¤¤¤¤¦¡¢ ££¤¥¦¦§¨®¬¬¬­«°¨©§§«¬ª­«®°¸¸¸°­­¯­­¯²³µ±¾º¾¶³´¶µµµ¶²¸³µ²¼·¹·¶µ´²¶³·¶¶µ¸¶¶¶·´´¶º¸½¹¸¸¹¶¾»¿¸»·¸·¼¹ºººº½¼¿¿Ã¿Æ¹¸´²³·¶´¶¹ºÀÀÁÁ¿¾¿ÃÁÁÁÆÅÍÂÁ¿¼ÀÃÇÎÌÐÉο¼¿ÀÄÎÈÊÈÈÅÊËÎÅĽ·«¢›}pjn›ÜêõøüýþÿÿÿÿÿÿÿÿüøïåÙÖz=)&%%%&$$$$####$##""""#!"" !!!!!!!  $)/38>EIORTZ````abgcgcbbefffffihmmmnonlkjdbbdchhkjokmhfddfhgfbacjfecbdkgeglkjgghqllikkmmljnownqoqnnnokkklmpppprqmntqrqttwssrqqutxvwu~}{xyrxpnnmlqrrnllssww{wyyytuuvvxw{uxvuswwwvww{vtsuutpoprpwtytsoqmo\OP`abipomnoollmnojkjifgimjeb_cgekllggffgjkmmqmnmmlollijmnkkjoihgjebbd`b`baccfflegffinmqmoopllhiigfggkfgh¡ ŸŸŸœžŸŸ ¢¢¡¢¢Ÿ–‹Ž‘“‘ŽŒ’“”•…‚pZefsˆ†……‚€„ƒ„ƒ‚ƒ…‡‹Œ‘”–™›˜Ÿ››œŸ¡ Ÿž¡  Ÿ¡¤¤¢¤£¥¨¦£¦ £ £¢¢ ¡ž¢¢¥¨¨¨©ª¬¬©¦§§¦£¥¤¦¨«§««¯°¯«ªª¬©¬­­®³²¶°µ¸¶±´´µ¯®®°°´³³³´´²°±¯¯¯²±µ´´´¶´´¯¶µ¸»¹··µ¸·¸·¹¹¸·¼´µ¶ºººº»»½¾¼¼¾¿¼·¶³´µµµ¶¸»½¿¿¿¿¿¼¾¾ÃÂÁÁÆÆ¿·¿»ÂÇÇÌÊÊÇû®½¾ÅÈÉÇÈÄÅÅÊËÌÈǽ´¯§›rlk˜Þìõùûýþÿÿÿÿÿÿÿû÷îåØÓo9(&%%%%$$$$######""#"##!"!!"!!!  !"(,27?EIMOQUX]ecbccddfccaccdcfeggijjkmnojheeadhediigfiiigedeegbf_bgeccadffdgmjffefhiiljkkkjjjonnnnmmjklkijlnpomopqpoppoqqsrpooorsutuuuuz|zzuqqpmhlmpspmmptuvvvsusqpuwvvxxzuxutsttvvwwvttsvusoqrrqqqqqpmki_RU]_ahppjkkllljjjiffefdhkml\Taggglhgggehjklnnolnonlnklhjklklhhihhfccbb``_``bbddeeggjmmmnllllljghhhhgeefgh££¦¡¡ §§¦ ¤¤¤¡¢Ÿ›’Ž•‘‘’—‹Ž”•–˜˜ykeYfxŠˆ…ƒ€€…„„„„‡‹’’˜—™™œ› ›Ÿ ¢¡¡¡¨¡¢¡£¢£¢«¥¥¤¤¤¥¤¤£¤£¢ ¡¡§§§§­ª±ª¬ª¨©¨¦¥¢§§§¨ª¬±²²®¬­­¬­¬¬­®±´²·°¯³··º´´¯°°´±µµºµ·³±¯°¯´¯±²¶´¸´¶µ´µ¶¸¾½»¹¹·¼¸¹¹º¹··½´·¸À¾Ã¿Â½À¼»»º¹¹¹»»º··»¿¿¿¾Æ¾¿¾ÂÁÁÁÂÄÈÇÆ½¸¼ÀÃËÆÆÇÇÄÀ¼¶»ÁÄÌÉËËÑÎÌÍÎÌÎÊÍÇÉÀÀµ©œ}ogkßêöùüýÿÿÿÿÿÿÿúõíäØÏf5('&&%%$%$$$####%""""##!#"!!! !%)06=DKQUYXWX^`ijiegghffffcefheggkkmmoosnoifdddkffgjhffjklfeegghceffdbbbcgfeemkiffefgjimmnkliomqnnmonmihhhlvpqpnosqqqsppqtstpmmmottvvvuyv{ywutuvollqqqnlmpsywyuvtxqoqvwxwzz{vxyysutzyyvtrws|usqusvrtqpppjhaWT]`agropikltlllligefefgklraV[kkoklgffghmlqoroompppnrmmlmmnkqhkihhfdfcc`b__adcddhfgkonqnomlmqmjhjinjihigge¢£££¢¢£¡¡ ¤ Ÿž˜“‘‹Ž‘“ŽŽŽŽ“”‰p\ddp…‚Ї†…€€€‚‚„…‰Š‘’•————š›œžž  ¢ž ¡¡ ¡¡¢¢¢£¦¥¥¡¤£ £  Ÿ Ÿ¢£¤¤¦§§©ª¤££¤   ¡¡£¥§¨­®±­ª§¨©ª¨«¬¬«¯³±°°¬¯±·¸¶³µ°°°°°²±°¯¯¯°­®¯¯¯°°°±°°°±µ¸¹¹º·¸¹¸¶·µ¹·¹³µ´µµ¸º¿½¿½¼¹¹º·³²²ºº¹·¸·¼Á¿¼¾¿¾º¿½¼º¿ÀÄÇ¿º¹µ½ÀÅÊÉÅÄÁ¾¸¸ºÁËËÉÉÉËÌÎÏÑÔÐÌÌÊËÈÈÄÃÀ³¦˜‰}ollšÞíöúüþÿÿÿÿÿÿúôìãØÄ\3('(&%$$%$$$#####!""""!!"#%(.3:AGPTY[^]]]]aceghcfggdfffdgjfegillmmopnjieeeddeegjjhggjjgdeeedcceeeaccdeddeffdffghfgiimmjhljolpmlljfedffjmppqqqqoortrnpsrrrmmloppqvutryuxvtqqpoknpqkjilnrtuuutwrroruvyvttttsxuutttvuurrrstttspvttqpooqlfcZWY`ejoomljllnkkjihgdeeghjlaT]fjiiihefgjjlmmnommlllnmmlljkijjjgigghedfcb___`bcddbieiopnmmononpmkgggnihghfgc¦¥©£¤¤¤£¥ ¥Ÿ –‘‘‘‘“’—”~reWetz‹‡ˆˆˆƒ€€~‚ˆ‹’”““–›˜œ™žš›œ¢ ¤¢¢¥¡  ¤¡¢£¤¥§¦©¡¥  £ Ÿž£¡¤£¦¤¦¦§¨©¥¦¦¦Ÿ¡ ¡¢£¦ª­´¯±ª§¦©ª¬¬²°¯¯µ¯®®¯°²²ºµ´³´´´³·±²²±±²¯±­·°±°´°²²³²±´º·»ºº··¹¾¸¹¹¹¹¹³ºº»¼¾¼¿ÀÁ¼¼º¾·³´·µº¹¹¸¸¼Â¾½½¾¾¿¼»¾ÆÂÉ»µ·¸¼ÈÄÉÉÊÃľ»¿ÆÅÏÉÇÊÍÍÌÍÜÓ×ÒÔÏÐÐÑÌÌÇʾ´¨›‘‚tkn âìõøûýÿÿÿÿÿùóëâÔµS0'''$$$#%$$$$###$"###"  "%*08@GNTX[__dbbbbefeeghikhgfjgfgkifgkmrnpmrnkiiddejfhgjjnhjhkgfgjedeffifffgggdccdeeeffjggglmmjghmlonpkkkjdadeflmorwtvpnowtqnpswqqlmmurxqutrqzvyurpoomntqqkjjpqvvwuvuxrqqvvvwwsrtyxxustwxzwvsvr{ttssrvtxrooplkebWW^ciuppkllqmnkljjhkjiiijocXXhijjjhhhghpqspsoqmnllkonmmmlljrjhgjfgffeeba`a_cdkfeehgkppmmmunnnommjkjmigfgghg¥¥¤¡¤¤££¡Ÿš–”ŽŽ‹Œ‹’–Šsbd\lƒ‚Š…‚}~~€‚„ŠŽ’‘”••–—•š˜——š››œŸŸž¥Ÿ¡¡¤¢¤¦¤¤¦¤£  žœ› Ÿ ¡£¢¤¤¥¢¡¡¡ ŸžŸ›¢¢££¥§­±¯««§¦¦«¯®­±±±®­¬­­°°±³µ²²³²²³´³±°®¯®²¯°¬­­±¯³®±²³³µ¸¸·¶´µµ¸¹º¸¹¸¶µ´³¹¶º»»»»¸···¸µ²´µ¶´µ²¸·¼À¿¿½½»½¾¼º¾¿Á½¹®´·¾ÁÂÂÂÁ¿»¹ºÁÇÈÈÊÉÉÊËËÍÎÓÐÑÎÏÏÐÑÑÎÌÇÇÄÂÀµ«¢•†uqs áìôøûþÿÿÿÿùòêâУL/'''%%$#%$$$###""!""!! "$*/5;CLPXXZ]``aaaaadeffgiiijhggggghhhhhknnlolkiihebdfgehhiiheeeddgkiefihfeeggdbbbccddghgegeghhfffghmknolijjjbdffgkmpssrtnpqqqpmqqqmnlmnnooppprrttttroooonpnlhjkoqrprsttuqrswvvtsrrrtuvsttwxwuwrsssssotsusstqplhhdWQ\bfkoooimlnmkiiiigggjjigcZ[^gjjjigggijqsropnmjjjlihhjjmllkkkjgheeecabbb___edghhghhmoomlkmmnnnnlhjkkkgefeec¦£¢££¢£¡ž—“‘‘‹Œ–—™ueVbktЇ‰…}„~~„‰ˆ‘•–—™š™™•š™˜—™šžž žžŸ¥ ¤¢¥¢©£¡£¨£¢ ¡žœ››¡£©¤¨¤¦¤©¡¥¢¦žžŸ£¥¨©¬§±¯®®®­®­²°±±·´¸­ª­²¯³±±±·±±²¶²´³³®°°±¯²®°ªª®³¯²²¶µ¹³¹¸¸·¶´¹µ¼¼½¸¸¶µ´³µ¹º¿¿¿ºº¹¾µ³±¯³¸·¹¶·¹Á¾ÄÀÁ¾¾¿Ä¼½¼»¿ÇÁüµ¸¾¿ÆÃÌÄż¹¼¿ÂÈÆÍÉÊËÌÎÒÒÑÐÕÔÔÏØÖÕÒÔÐÓÌËÍÐÅÀ¾º©‹|tw£ÝéôøüýÿÿÿøðéâÑ’E.''%$$%%%$%####""   !%*18?GMWZ]aefgghbbaddggjimnojnhjikhhgfhkkllmloigfddcdddgfjhkihfgeffjihfjjlfeemeaaabedhhkjjijjjjjfhfjjmlrljhmklkkknnoptrqqtprrsoporrrqpoonnorppqtstuuuursssttliilosruppr{tvrutwwwsttuuuuztww|wwvxrstvststtzsrrtojiiXNVgglnqnomumolkhmjkfgijilg^\^bgilihhllmmrqrssmkighkkkhiinnplmmmjnffcbbebb_`bedghoikkooqmlklmpnolkkkkkheehege¢ Ÿœ›–“ŽŽŽ‘ŽŒŒŽ‘“ŠudbXhx|‰†ƒ}~~}~~€‚ƒ…‡‰Œ‘•˜š˜˜™—˜”””––™šœžžŸ ¢ £¡¡¡¢ ¡¢£  ¡ œ›ž £¥¤¢¢¢¥¤¤¢¢¡Ÿš ¢¦¨©ª©§ªª««¬­°¯°­°±±¯®ª¬°°®®¬®­°°²²²°´¬««­¯¯®¬ª®¦«¯°¯²³µµµ³¹´´±³´·µµµµµ·´³²µ·º»½½¿¶·¶µ¯¯¬°³¶¶·µº¿¿¿¿¼½º¾À¾·º¹¾ÁÁÀ»½ÃÅÆÆ¾¿¿¼µº¼ÄÊÇÆÉÇÊÌÐÒÑÐÐÐÑÑÑÏÙÖÔÐÐÎÏÌÎÏÎÈÆÅ·®¦’xtÜêõúüþÿÿ÷ïè×Ё>,&&%$$$$$$$####"  !&*/4;CIQTX[^cifeeeha``ddhhiinmnjjggfffgfgikfllmjiggcbbbabcgfgffghcddggifgfiljhgggcccbafeghhhiekijfffeekmmlkhjimmmlmmnloppqpnpoqqsmpppopoononoqqopqsknnoourqoqnlgjkpsrrtpoottsrrqwusqqqrprsstwyyvutxqssrruxvttqrqplkjZMU_dhmonkkknmifhhhggfjkkhhd`^cgghhfgimnnopnnkjjkigfmnkhhgfffgjiihhgdabc`]c_bedddehhkknnnlkklmnnoikggegffeee`\£ ¡ ¡—•’ŽŒŽ‘˜™š…€hYado‡‡†‡†€}|~ƒƒƒƒƒ†‡‹‹Œ‘–˜œ™˜›—™Ž‘–™šš› žŸ £¡£¡¨¡¢ŸŸŸ£¡ŸŸŸžž¡¦¦¥¤£¢§¢©¥¥¤¨ Ÿ¡ §§­«­©§§«¬«­µ³¸²´¯´®­¬¬©³±°­®­±°±°¶µ´±³ª«¬­­­©§©¬¯±°´³¹µ¹´´´¸¶¶³µ´ºµ¶µ¸µ¹º»»¼º¿º»½¿¶º´±¯°±¶µ¶¸»»Â¾Ç¿Á¿Ã¿¾¼Á¿Æ¿¾ÀÃÄÇÂÉÆÈ¿À»·¼ÇÈÊÇÆÉÍÎÎÑÙÔÕÕÕÖ××רÚÖÕÒÒÑÔÔÔÑÏÑÒÑÑÅÅ´§’ttŸØæõøûýþöïçÑËu:+&&$$$$$$$%"####'+19@EKS\^`aafniifgfgfghjinnmkpoojiggefgihhhlkklmhfghbbbcbbdffifhgheddghjiiiijkjihgggcdcffkkmijkljkfhgjkmopkjjlmrpsoqqqopppppqroqpsotttosopppqvsvttrtnnnnouqpowmkippvs|utouqrssssrwtsqqpwpsrttxxyvuswpsqprvwwtsquqpnq^RR\`eksnmlpkmjgfhhgghgokkhib`bhjlihefinotrroplkikjhhnlkjigdefgjjjijebbeb`_b`eejgiijkonnonkjkrnnmpjlhhhhffhld]_ Ÿœ˜”ŒŒŒŒŽŽ’•”’yjdVguz†„‚€}{{z~€~‚ƒ…‡‰‹Œ‘”—˜šœ›–•“‘‰—œ›™š›¡ž  ¡ŸŸžžœš Ÿ £©§¥¤¤¤¢£¡¡¢¢¤£¡  ¡¨©©©©§¨¨©¨¬­´±²²°¬¬©¬ªª¨©ª¬«¬«°°°±¯®®­­©¨¦©§¨¤©«¯±±±³´¶³³°³´¶¶¶³²²´µµ´¶µ¸¹ºººº»··µ¹·º°°°²³µµ¸¹½¿¿¾¿¼À¿¿¼¼¼½¼Â¿¿»¾¿ÂÂÃÂÃÅÀ¹´­¹ÂÄÅÇÇÉÌÍÍÑÓÕÓÓÒÓÓÕÓØÙÙÕÕÓÓÓÔÐÒÒÒÒÒÒÏÇļ²¢‘€vq—ÎæôùûýöîæÎÅi7*%%$$#$$##" #%*/5;AJNQV[^aaafljgieffgeghklmmlkkkkhgfffhhiijhmpmlleehc`bbcdefgffefgffedfehhhhhggeiheegbdcefjkjhijjkhdggjiihjjklnoooonpononnpnnoonnnolnnooomorrssqutrponnmopvpqplfiipsssvttpuqqqrqsrsrrqqqpoprssuvzsuqrppprtwtssrqpnmn`PT[^bjmnnlloklhgehdggghomjfb]ciikiggehknpqqpoomkjjiiijjjnc\^`ffkiikkbcce`````ffffjlllnoomljkllkjjkhiihghehkhc`c ™™’Ž‘“Ž’“•—•š‰„l\``l†„††€}{yz{|ƒ‚ˆˆˆ‹Ž“”˜—œ›š›œ••’’“––¡œ›šž¢¢§£¢žžœœœ¢¡¢¡§§¨¨¨§¦¢¥¡¡  ¡¡¡¤£¥¤©©ª©©©±§ª«±®µ°²²¯©©ª¬«®©­ª¯ª­¬¯®¯«ª¬±­­¨¨ª«ªª®²²¶¶¶´·µ»²µ°·´µ¶¹²³³¶´¸¶¹¸»»¾¹ºº»¸¹µ¾·¹´´³·µº¹ÀÀÁÁÁ¾¾½¿¿ÁÀÀ¿Â¼ÁÀ¿¾ÁÀÈÆÅÂĽº·³¸ÅÂÃÅÊÉÍÎÓÑØØÙÓÒÔÚÖÙÛÛØÜÖÙÙÚÕ××רÙÙÚÕÕÌÊÄÄ´ª‘qn›Õäôøûôíå̶^2)%%$$#$#"   "'+18?HMQTY[abiijlmlkhifffgillpppnnkjjmgfgmgnmmjlkpookkeddaadfihlffggeegkggdfgmiggkgiiifdefcddegjjjijkkigejhohiijloosoonqpuppnmmppuonmpoplnnoooooqustqwsqnopqrssvprlgelnwwwuwvuuvqsstsxxyrpqwqqopr{utu{svqttsswwwsqqrqpppbWVYZbiwpqnllolkkkgggggmlqlib_`iikihgjklmqqrononkkkkiijkiidZSR`eekihhlagfeeeb`bghgionmlqqtmkjpmmlmloijilghhmihaaf•ŽŒ‹ŽŽŽŽŒ’“–’“}oeVdowˆ……„{zy{~}}€ƒ…‡‡‹‘‘‘”––––“••••””–œ™˜˜˜››žŸ¡¡ š™˜š™™™›™›šžŸ¡¢¢¢¥¤¦¡¡Ÿ¦¡ ž¡œŸŸ¡¡¥¥¦¤©¨¦¤©¨«§ª««ª­­­ª©¥ª«««­©ªª®ªª«¯«°§ª«°¬®ª«¬¬¬¯±³´µ²³³³³µ²±±³³³³³²²²µ´··¹¹»º¸´µ³¹¸º´³³¶µµ³´µ»º¾¾½¹»»¾½½½¿¿¿¿¾¼À½¿¿ÁÁÃÀÀÀ½¶µ¶»¾ÂÂÃÄÉÊÎÏÑÑÑÐÐÐÓÔÕÕÙÚÛØÚÖÚÖ×ÓÔÕÙÙÙ×××ÓÌËÇļ°žŽ{vu™ËåõúóìäǧW/(%%$##!!  "&*/4:@HPUYY[]_cdhijkkjiiidghijkklllmlkjihdfhlfikkjklmkjjjfddccgjjhkffggeeeeedcfhgggffeddfdddfbeeghhhiijhgfeejhhhjilnoonnnmoppnnlmnqrpllmmmljmnoppopqsstpppqnoppqrsvqlfffmpuvusvrtssrrssswuuqqqpppnqs{vutssrqrrsttssqppnkjjbXVTY[fonllmmlllmmjfgeghmlmjc]`dfgffghkmmnqnmlkkkhkkkihghhh]J<Taffkihfeabababbdffbhlmklmrnmmlkklmimlniihkfhlmgg\el’Œ‹‹•ސ‘‘“’”™”p_]Xg|Œ‹Š‚€~}{zz}}€€ƒ‡‡‰‹•“˜–›–••˜–—––—š›š™˜ž£ ¥ ¢™š˜™™˜œ £¡¤¤¥¤©¤§¡¢ž¦Ÿž¡¡¢¡¤¦­¦ª¤©§¦§©©°¨««¬¬°¬­©ª¬­««¬¬­®¯®ªª«¯¬°«­­¯®®°±±µ²···´µµµ³¶µ¸¸¸±´³¶´³²¶µµ¶¸¸¾½¾º¸´¹¸¸¸º´·····¶º»Å¹½¼»»¾½Â½À¾ÅÄÿ¾¾À¿ÄÃÂÃÆ½¿½¼¾ÁÃÆÅÅÆÌÉÓÏÔÐÒÓÔÔÔÔÙÙÛ×ÚÚÚØÙØØ×רÛÜÜÜÜ×ÜÕÓÒÓÌÊü¯¤“„xv›ÏâôïëÜæQ.'&&#"   !$).39AGLPW[`beghfkhmnolnkmikkljnmmkkkkmrkiighjjjiikmjloplnijfedgfnlnijghgfdeghccdffeffehhhefdcceefimlklliieefeekhghjirrrommpmsrqnomnouppprmplklrnoqstvsxxzprrqqrrsquswmheiltrtutrwwxtrrrsuswtvvwtrrrput|wxttrxruswutttpqnkjldZUYY[bnnnktoonmllkigggllmlme_^dgkgihnnommnqnokkjjjjkooohgggO=CXbghkkkfhcb`fccdhhfemmnkonqnppqmsmnlmmnmnjkjklmgehmmŒ‰‰‰ŒŒŽŠ‘‘‘“‚xiV`dp…ƒƒ‚€y}~|||}„…†‡‰‹Ž“”˜–˜––––———˜›™šž›š™žžžœœ™™™šš™œ ¡£¡¤¥¤¤¤¢¢ŸŸžžšž›¡ ¡¡¦ª©§ª¥¦¦©«©¨§§¨§­­®©¬««ª«©®°­¬­­«ª©¨«««¬­®¯¯®¯±±²±´´µ²²¯³³¶¶¶µ³±³²¶´´³¶¶·¸¸¸¼»¹¶µµ¸¹¹¸¹µµµ·´¶¶ºº¹¸¼º»»¿½½½À»¼¼»»¾¾ÀÀ¿¼¾½º´³µ¿ÃÃÂÃÃÅÇÇÇËÍÐÏÓÌÌÍÔÖÙÙØÕØ×××ÙØØ×ÙÛÜÜÜÜÜÖÛÔÕÔÒÎÍÈÁº´ª™‡~v–ÈáëèÒ¸¦M.&#" !!&(-08>DJNVXZ_ccdeefffgmkkkkimjjhkkmkkjkjknkiighklmjgjllkmqnkheeeffefiiigfedcdbeheacbeeeeeedcgeeeddgiikiedeeedbbbefhgggkjjkklmlmmmlnlmnopompormoilmrnprrsrrvxsoqonlonsrqqkdfflqqrtttsttussssstqsrttuuqnootsttuutrrptsuuqoopnmkjh\YVZ\dknqomonmjkiiihgggmonke_`bflkfhinmlkmmmmlijjjjkkngihheVEJT^gijjjjggb``dcdfhiffghhioonloomjkllkmmmnkic]dhigfghhŽˆ‰ŠŠ‹ŽŒ‘‘’‘—•“wi_Ucv{Œ„„ƒ‚€~~}~||}~‚†„‰ˆ‰‹Œ’“™•—˜œ–—–›™žš™™ššžœœ¡ŸŸ  œ›š›œŸž£¡¦£¤¤¨££¢§¢¤Ÿ ŸŸžŸ¢¡¦¦­«ªªª§©©¬ª©§§§©§¯­®©´­°¬®ª´®­­±«ª¨¨©¬®²³²²²°´²·³µ´´´¹³´²¸´···´³³¶²·¶µµ¶¶ÁÀÀº¼»¹¸½¸¸¸º¹ºµ¶µ···¸Á»»¸¼»Â¾¿¿¿ÀÀÁÁ¼»¼¾¾ÁÀÀ¾À¶²´µºÂÀÃÄÈÄÉÇÎÎÍÍÑÏÓÎÐÑÖÖÚÚÙ×ÚÚÚÚÚÛÛÜÜÜÜÜÜÜÜÜÛÛÛÕÙØØÏËÉȾ±ž|t•ÄÚå̱F)#" #&+07>DKPUX[^cfigfgghiffgnjjkkjmlonolmlolnmljiihhjkolmmmlooonmfcdfgighgkhifedcchggedacaddddieddhfhhkjijljjdfdjedcddfhjjjjlkkklknnnlkmplmnrnmlppsnnnoosostsrpqvroptommsorrumfdhkqssswtvt{uutwststtvstuvsqmoqttssyvwrsqsrxronrolkjheYYY_fqrropponljlipikiijmopf`^cehjkfhkvmljsnomoimjlkokliihj^QLW^ggokkjmgla`cicffjgfghgfhqnnlonmmmmokrnomhd^`chkffgkgЉ‹ŒŠˆ‚o\a]l‚„†…‚€}||~~{{|}ƒˆ‡…‰‰ŒŽ‘’”–”—˜—”–•›–™šš™™šœ››œŸžœ™™šš˜œ›œœžž¡¡¡¢¤¤£¡ ŸŸŸž›ž¢£££¦¦§¥¥¦¨¦©©«©¨§§§¨¨ª©«ª©©««¬«³­¬«ª¥¥¦©«­¯±±°°²­®¯²²µ°³±³¯±±´³´²±±±²´²³°µµ¶¶¹¹¹¶¹»»····¶·¹ºµ´´¸¸º¹»··¸¼¼¼¼½¼»¹··»º¼½½¼¿¾¿¾¶®³µº¾½½ÃÄÇÄÈÈÈÈÈÉËËÍÊÐÕÔÓÓÒÕר×××ÚÛÜÝÝÜÜÛÛÙÛÛÛÚÚÕØØØÔÓÑÏ˾³‰zo޾¼¶ˆc:%%%)-39@FKQU\\]aegjiiiiihhggghghgkhmmnkllkjjjjjkhjkihjjllmjmlmmkge`ceegggidffifeedccccad`baededdbcceeiikkjlkgfcddcacbdeikkjjjjjjilklkkknnommnnmmmnmmlmnnnonppomponloqnknnonpnmhgeknqutsttttttttutsstsusttuommqtqoprrrqoqqtrqmnnoljhheZSXZemnonnoonnkijihhhimoolg]^_dhiijfilolkkkknlmkljkilkmiig_WSP[cffjkkkjgcZbhhcddfdghhggimkllllmmmmnkkknlgccefghffede’‘–‘~udWakt‰ƒ…„…}||~€~‚ƒŠ‰‰Š‘’’••›•˜—˜™šš›››šžšœŸžŸ›£ššššžšœœŸ£¡¥¢££¦¥¤¡¢ž  žœœž£¤«¬­¬­¦¨§¨¨­©«««¬¬©«§§©¬¬®ª¬¬¯¯¯¯³¬ªª«¨®®­¬´³¸²³²²­¯¯²²¶²´´´µµ²¶³´´´³¹²µµ¶¶¶¶º¹¸¸¸¹¸ºÂ¶¾·¹µµ·ºµ·¸¾¹º¹¾·¶¹À¿¾¾½¶µ¶·º¾½À¿¿¼Æ½¿·±´º»ÁÀ¿¾ÅÄÈÅÎÈÈÈÈÈÈÌÐÎÕÔÕÔÓÑÔÕ××ÖØÛÛÜÜÜÜÛÛÛÛÜÛÛÛÛÜÜÜÝÜÜØØÐʺ«™†tnŽ­‡cK0,-17=BISW[]`cgikllmqmmnnghhkhhiiikjrnpopkkjmjjijllllkkjmkmmnnnlleccieeefgidffhihhgceedddficfegcbbeeefijojjjjhfddcbcfffinmolojojjjlmoqqovornnpqosprmompnnopoponnpnkmrnkmrooqtlhghisrrsusxw{ttsstwsrsutvsuutmmouqpooqupmourxronqotjhhgYSTYbqrrnmnvppljijhiggjppqjc`acjjjiiioooprlmjnlqmoknjrlllnaWVVYfghhkjmlkfa`jiibaeggnjjjjmrllklkulnlrjhjrjgfggjjmhhddcŽŽŽŠ†tgcXgx|ˆ…‚€~~|||~€‚ƒ…†Š‹ŒŒ‘’’“”””““”—˜˜˜˜™™˜˜™œœœš™™š—˜˜˜—›šž£¢¡ £¢£¤¤ Ÿ›œšŸŸ¡¥ª«¬¬¨§¥§¦§§¨§¦§««ª¨§¤§©¬¬­«¬¬¯°®®­ª©§¨¨®­­­±³²¯´²±®®¯²²²²´´³°°±·´³³³³¸²¶¶·¶¶·¶³¸¶·¶¶µ¶¶µ²µ³µµ´µ·º½¹¹¸¹·¸º½¹·´±¯´µº»½½¾¼½½½¶¶²´¹»¼¾¼¾¿ÄÄÅÂÁÂÂÁÈÅÉÌÍÍÑÏÎËÒÐÐÐÒÑØÚÛÜÜÛÛÚÚÙÛÜÜÛÛÛÜÝÝÝÝÝÝÛÙÖ˾´¦–‚zsnhbC=9=AGNSXZ]^`bdghjlmopmkggggggeeehhjjmoojkiiijhhgiklhkjjjmlmlmokhgbdfgeechhhdffffdaa`aaccdef_aaa`cbcefgjkifffjifddbeeedhjnmmllijjjjmponnnmlqnoppnnnmkmlonprpppnpqqnnqnkmoporuqjheikqqsssqttutspsttpqutssrqomloqplqrqqqppqrrqoponmkigeXNTXbllmmmmnnmmkjikfhejlppke`^bdghhiijllomkgijnlpmoijimmlmeWPMW^eiiiiimmkcccffg^beefggfcltohhhkjjkmhhghhkggfgijkiheaba“‘”‚}j[adn†…„„„~~||}‚ƒ‡ˆˆ‰ŽŽ““”’’’”“““–•œ˜™™˜˜˜™›œžž ˜—˜š˜›˜™š£¡ ¤«££¡¨£££¤ŸŸ ¡¥¦ª©®®®§¨§§©­©ª¨§¦°©ª¨§¨©ª¯­³²²®¯®­«ªª©«¶¨®®¯­±°²°¶°¯¯···±´³·³³²···´·³´µ¸µ»º¾¹½¶µµº¶·µµµ¹µ´²µµµµºµ¸¹½º¼¸¹·»º¿µ²±¯µ»»Ä»½½¾¼Å¼¿¶··¸¹½½¿¾ÂÂÈÆËÂÆÂÂÂÉÈËËÖÏÓÎÌËÑÏÏÒÖÕÚÙÛÛÛÙØÙÛÛÛÛÛÛÛÜÜÜÜÜÜÜÛÚÙÑËõ«—ŠyreWNORVY\_cigecddhimlnnqljikjnihefgkikklntilhpkmiijmkkjjjnmqlmllkjfgggfgffchhhhifeccabcgggdfed`````dclmmgmjfedfjhffffjghhnnnnommjllmmnoroonnlrpqqrnpmllpoopssuprqysropnmlnoqsvqojijppqqwwvssuvtrsutsoqrssvqrlkntrpqstrqrpsqyqpqqnmkiggZQQV_mmsoqnqonmnlllkghjtmplg_^afgffhjnlqmolkhhjmmpmoiijlnqkcQIQ_ekinmqknkkeeehgfccddeiggfpominikjiilgigjhpfkghhlihebaeb‘‘“ŒŠxmfZeovƒ}z}}|{{{ƒ€‚„†ŠŒ‹‹Ž‘’’”‘’‘‘’“•–›—˜™™˜šœ››œ›˜—–––š˜™—œ¢ ¥­¨¤£¢¢¡¡ŸŸœžŸ¡¢¥§ªª©¨§§£¨¤©­¬©©¨¨¦§£©¤¦©««®­°±°¬¬«ª©©¨©ª©©®«¬«°®°­¯¬¯¯¶³³±±¯¯°²²²³´´¶³¶¶¶´¹¹¹¸¸µµ´´³´´´²²²³²µµ¶¶¶µµµ¹¸º¸·¶¹·´®¯­µ¼»»ºº¼»¼»»º¹¶·¸ºº½½½¾ÁÃÃÂÁ¼ÅÁÃÃËÉÉÊËËËËËËÌËÐÕÖ֨רØ×ÕØÙÛÛÛÚÚÛÛÜÜÜÜÜÜÛØÖÑÊÊû´«œ’|qmhggiklmmljfffijllmmnkjhkkkkgegiiijhlmmiihhhijkmmkjhjjnnnlljjgfcgefefcecheeccccccacdghgeddca```adfmiigfeedfgggfghhihijlklonnmkkjiglmnmljmlllprrnnklmpnptsponrppoommkllnorspljgkmqsrsvwvssusqsvusrprqrssqnjosqnpptwrpoorrqppopkjiidYPTV^flmmkklnmljlllkihknnnlh^YaggggfjlmmllmkjijjlmokkijllmlgWLQ\dijjmmlkjhgeefc`edeeeeeeefplhfghighggghfihhegegfeefdcbba˜˜–‡…na`]i~‚„ƒ}~|||}}}{{~ƒƒ††‰ˆŒŽ““”’—–•Ž’˜”š’—•›˜š˜š˜žŸžœ œœ—˜—™™™šŸ¥¤£¡©§¦¥££¢¢¢Ÿ žž¡¢¦¦¦¨«¨§¥¦¢©©«¬­¬¬©ª¦¨§§¥¦¨­¬²­°¯¯ªªªª©©¨ªª­ª®¬®¬¯¯²±³³´²·³´±²¯³³³³²´¸·¶¶¾¹»¸¾¸¸¸¹´¶¶¶·¹´´²³²¶µµ·½·»º¹µ»º½»Â¹½³°°±µÂ½¿»Á½½¿¿¾½¸¶¸ºº¼¾ÄÁÇÁÀÂÅÀ¿¿ÅÄÅÄÌÈÈËÍÍÎËÐÐÐÏÔÕÙÙÚ×ÕÕÕÕÚÚÚÚÚÚÛÛÛÛÛÜÜÜÛÖÔÐÌËËÃÈÀÁ±«§¦’‚€€}{„€}ytpnoqpoonnnnnmlkjjgghijjniqlnkjimhjlnmommkonnmmlljkgfefhkffeieidedgbecccdehiihhdbaa`abginiifffedlffffipkkkkknkllklmmnjijrqrlljmlmnvsrnmmpnpnrrspnnrqtnmmllmlnmtplihjmqvssuyxxrsrqquuvtwssruswonpxspnqrxuspnpqrrqropkiij[RRW^jkqnnkllqmlklkjihiqmmkj`Y^ggjijkqoonlmmmmnppooolkjjmonl[NJUaonnmnmmlkgghleabdfhiiehgegpkfefgkgihhghhigeejgjfgfhcbbacŽ‹|qhYcfp€}yzzywxxyz~€ƒ…†‡‰‰Ž‘’“‘’‘‹””’’‘—–˜˜˜——˜™™š™˜˜——––˜™›œ £¤££¢¡¡¢¢ œžžŸžžŸ£¤¥¦¦¦¦¢¤£££¨ª«§©§§¦©£¨¨¨¦§¨­¬®¬­«®§©©©¨©¨ªªª««¬¬«®¯²¯²³³²³±´¯±°³±²°³´µ²µ¶¸¸¹·¸´¶µµ´µ²²°°°³²²²´´¶¹º´¹¸¹µ»ººº¹´±ª°³¶¸Á½¾º¼½º··µ´³¶¸»»¾ÀÂÁÁÁÁÁÁ¾¾¿ÃÂÄÅÆÅÈÃÅÆÆÇÇÉÎÏÒÒÒÒÑÌÎÏÖÔ×ÖÖÔÚÙÛÛÛÛÚÛÜÛÖÍÉÈÈÄÃÃÿ½´®¦¤–‰‡……‚…ˆ‡ƒ}zzyyywusqstronkkjihijlkkimmmmkihhmonmmmmkprokjhhhhgggijhfffeddbbaaacdddefedfedbaaa_abgljhgdebddddffijkkkjighikkjjmplhkmoqollimlooppolmnpnpoqqsnnnnopmmmnnnkmmmlifkppqrqsuyxsnpppqqprrssrrrrmjqwvrpmooqqqoqtrppqnlkiigZOTU]djklllklllkklmigghikkjga[`jeeihknnnpiiinqqpqqqnnlkhlnnp_LJK[fnonmmmmmlgijfacdhihhhec_gkkigefgkffgidgfgeffidfffdcabbaf‰pba\gw|‚ƒ}}~yzxxwvy|……ˆ‰Œ‹‹˜”•‘”’’Ž“““’‘–——˜——žš˜š˜——™™œœ›œ¡ž¦¥§¨¨¢¤Ÿ ŸžœŸ¢¢¢¡¦¤¬¤¥¥§¥¤¥ªª«¨°¬²§­¦§§¨©©©©¨ª«­«°¯¯«®©ª¬°§©¨«ª²²²«®®®°´°µ´´²¶²³¯³°³³µµ·´¶µµµ¸¸¹·¹·¼µ·´¶²³±°°¸³¶³·µ¸·¹·¹¸ººººÀ¶´²°°¸´¼¸À¼½º¹¹»¶¶´²µ¹»Â¿ÄÄÅÂÄÁÆÁÀÁÇÂÄÃÈÆËÊÉÃÆÅÇÈÊÊÍÍÑÑÑÏÎÍÍÏ×ÔÚØØÔÚÚÛÛÚÚÚÚÚÔÐÈÅÇÌÄÅÄýº¶¸©¥™•“‘Œ‰‰ŽŽ„‡…„…†……†„}{}{xwvtrrqqrqpooqrsurpoomspooopssrqpjhimmmihikihhigedecb``bgghhgefffeddfdccddghhhkfefgdfdfiojjkmkihkkmkjjmlkjmmnnnmplmlvomnooqopqstuqrsuonnsnoosrrrrnoigiopwrrqttzspoopppqsrstttrrlinyxvpppopoppqvttponokkkk[PS\]ekrnooplmllkklnhghjlrkjb]_hheehipnnmpiiioovqyuuqqnmmuppgYFCQhlnoqnmnmmmmnjfdihojmmmfddjjjiifmjkkkkjglkkhihjdgfidcdebbdkYabn~~~}|{zyyxuusx|€ƒ†ˆ‰‰‹ŒŒ‹‘’‘‘‘‘‘“”’“““’•–˜š™˜—–——™•––™šœœœœŸž¡¡ ŸŸœ™™™ž›žžŸŸ¢¢£¤¤¤¤¤¤¤¥¦©¨ª¦§§§¦¥¥§¨ª«ª§§§ª¬¬«ª§ªªª¨«¬ª§§¦ª«¯®¯¬¬¬¯±³¯¯¯°°µ³´¯±°³³µµ¶³²¯´´´³¹··¶·´µ³²¯®ª¯°°°°±¶³¸··µµ¶¹¹·¶³®±±³´¶´¶¸»»»º·¶µ²´´µ·º¼Á¾¾½À¿¿½ÁÁÂÃÄÂÂÁÃÃÅÇÅÃÄÅÈÉÊÊËÊËËÊÈÊÍÍÎÏÐÓÒÕÔ×רÙÚÖÔÓÐÉÇ¿ÂÃÄÄľ½¼ºµ¶«¦œ™”’‘Š‡„†ˆ‰‹‰ŠŠ‡„ƒ‚‚}{ywvwwwxrpruvwvtsspnrqqoppppqophjkmlmijjjhijihfceec_bdgiifhegfffefecbbeghhhiihilfdddhjkkjihhhhkkjijjjjjjlmnmljklllonllpoqmrusrqprrromlmnooopromigehkoqrppoussoopppqqpmqssstqmhntyuspqqpmopqrrrsoopmikn\OU[_cjoqnoonllllkkkighiklqkc\afgeedgiomlkjiifjknpuuuqonpqrpqbPBM_iponjflkmjmjihgeghiijlifffghiigfihhgjiighhhhihfdeeeea]cccdXcru…€}}~|zyyz{zyuuy‚‰‡‹ŠŒŒ‘‘“””‘’˜˜˜“•”˜“•””–˜›Ÿšœ—•––˜™–™™Ÿž¢Ÿ¡ ¦ ¤¡žžœ›˜˜šžžŸž¡¡¨¦¬¤££©©ª¤ªª©¨«¬¬¤¥¤¥§«ª¯«­§¯­¬¬±««¨ªª¬¬¬©¨¨ª«±²´³µ®²®²²´®±±²±µ³¶¶¶´¹¹¹¹º²±³»´µ¶»¶¶¸¹¸·²²°­­°¯±±°²¶´ºµ¶µ»¹¿¶´³°±·¶½´·µµ¹½¼Á··µ´´··¼º¾¼À¾¿½ÂÀÀ½ÅÄÅÃÆÃÄÄÅÁÀÁÂÄÊÈËÉÎÎÎÈÉÉÊÇÊÌÎÎÎÏÕÕÕÔÙ××ÖÙÓÏÍÊÉÊÂÂÃÈÃýÀºº´´«§Ÿ•–‘Œ‰†‡ŠŠ‹Œ‘Ž“…‹„ˆƒ„‚€‚„ƒƒwtv|€~}|}tsrrtuuyusssoonnnqnnnommnpqpigfihhfeglknhijkjmmmjigffkknjjlponigfghlknmnmmmmkjjhikkllllppqqqjlnrqpmlnqqrrsuyrqsxwvollonqopprmjfceilsqursqwrqnoprrvqpopruttnlmwuytsruptopqrsxrtppnmno^QR\`gkuprrsnmmpoplmjgfhlqosf_`fhmhfellnlkkjhhfkkkntuvqpqvuvpqXIHWdpopkhflknmmiihhhhiliiigggjmopjhhjhhiijkikiiimhfghhmd``bcidj||}~~|zyyyxxwwuxv{€ƒ…†‡‰‰ŒŒ‘ŽŽ’’‘”””‘•’“’’’•—šž›–•’“””““”š™›žž¡¡  ¡›——•™˜šœœœœ ¡§§¥¢¢¡¢£¦¤¤¥¦£¥¢ ž¤¢§©«ªªªª§¬«¬¬«¨¬©ªª©§§§¨©­¯²²±°°­¯¯³­¬ª««¯¯´±±±µµ¸¶¶³³°³µ¶´µ¸¶²²±°¯¯¯±²¯®±¯±­±²¶´µ±¶µ·¸¶±±°±²¶´´³³³·»º¹·±³³´µ¹¹º¹¾¼¾¾¾ºº»¾½½½ÀÁÀ¿À¼½½½¼ÄÅËÈÇÆÆÃÂÂÄÄÇÇÇÈÏËÎÏÐÑÑÐÑÑÒÑÐÍÈÃÿÃÁÂÂļºµ´¯®©¨œ™‘Ž‹‹ˆ‰‰‹†‹‰Œ‹††‚ƒƒ‚‚ƒ„ƒƒ|xz€€||uvwy|{zyyxxtqqrpoooonnmoqponjhfihhfhjjkjijjiiihjjjjhgijklmnonmhhikkkjnnlhjjllkijkllmmmlppppmjmooonlnorsrrsssptwwxsnliomqopnlhfefhknrpqqqqqnrnnnoooqpnqruokioruuttsruqsqrtsssopppmmn^QSY_ekoppponllkmmpkjigfkopng^bhhihgffmonlkiihhefejlpspoqrttup]KJM_lonliigllllleddefggggijihkmmlljjjjhklljkihgiikeggghgccfdced…|{||zyyzxzvtwy}†‡‡‰ŒŒŒ’ŒŽ’“—“•“”‘–’•—™šš˜›™”•’”””•–”œ™š¡ž¢žœ¡›—––˜žžŸ¢¡¡¡§£¦¤£¢¨¡¢¤¬¤¥§ª¥§¡Ÿ ¦§¯ª­¬®«ª«±¬­¬¬«¬­¬«ª§¦ª°®³³´²²±±¯³²´®­®²³´²´µ·¸¹¸¹¶¶³³³¹¶¸µ·µ´®­®®®³³³²´°±°²³µ²ºµ¶³¸¶´´´°±³·¶µµµ¶º»»¹¸¶µµµ¶¹¸¿¹º»¿½ÂÂÁ¼¿½Á¿ÂÂÂÀ¿¿Ä¼¾¾¾¿ÅÅËÇÅÅÅÃÅÅÄÅÈÇÇÈÏÍÏÎÎÏÓÑÖÕÕÏÏÈÃÀ¿¿ÆÁÃÂÇÁÁ¼¹¶¶¯®©©š‘”ŽŽŽ’Œ‹‹Œ‰‘‹Š†ˆ„…„„…‰……}y|‚„ŠŠŠ†…~|~„ƒ€…ƒ€€wuuysstursssszusrrljkokikqmklklojmjijllpmjikkkmrqrpmllnponnmmlkjknmllnnprrqqqprxommoornmorsvtutwssu||{urmlmnorpumjedhnooosssqpprnrnnproppsssswlgkvvzvwtssvrsrtsvuupqpppraUPT\dlrprnlonmnkmmqlkijjnpujb_diljhggioookjjjjlfggjkomlovvwwucRKMZpqtmllkhlmoljffefghgfhoklmqqqmnoolkhppokpighkjkfhhigfdhhijjf~}|zzzyxxwyxzwy|€„…‡‰‹ŒŒŽŽŽŽŽ‘‘’’“‘”“–™™™™˜—”“‘’’’••••›˜š››››››œš–˜˜™œžœŸ ¡¡¡¥£££¡££¨ ¢£¤ ¥©¦£¦¡£¥§©¯¨¬«¬ª¬®®¬®ª«ª«¨§¦§§«®°°±±±¯²­±¯²¬¯­¯²³±±²µ·¸¹¸¶¶´¶°²³µ´´±°­«©¬¬­­³±³³³¯°±²²´²²²²®®¯±²´°³µµµµ¶¶·¶²¯«±±¶µ¶¸¹¶¸¸¼½»ºº¹¹¹¾¼¾½½»½º¿½¾º½¾¿ÀÅÆÆÆÃ¿ÁÂÃÁÅÆÅÄÈÄÑÌÏÌÌÊÍÎÑÎÍÈÈÿ»½¾ÂÂÁ¿À¼¾¼¹¶³¬ª¦£š‘“‹ŒŒŽŽ‘ŒŒ‹‹ŠŒˆ†……ƒ„‚††‚{x„†ˆ‰ˆ‰‡„€ƒ††……„……„‚|wwxxuvxwtuuuuzwvtsnnoooopppooonojjjkklloomjklmnqsqoonppppomnnnmmlnkmmopppqppopooopqqrqlorstsstuusvxvsrqoknqqqrpokhchmmmoptssqpoompoqsrmnmsqpnmhlpttvuwrssursttqqnnmnnmj`SRPW_lurpnkloopmkmmnkkgklnplebafmliffikkkkiigjkkgggijiflpsww|iWPL[inpmjiihilnqkhfffgehhhiiinrpoqkhfnnjhonkjjhhkhfffibcdeceeighe{||yzzzyxx{z{|€ƒŠˆŒŽŽ‘ŽŒ‹Œ‘““““”“–•š˜˜š™ž—•”“”ššš™™—›š›šž™™ššœœ˜——œ› œž §¡¡¡¢¡¡£§¢§¥©¤¥¦¦¦§¤££¥¦¬«µ©¯©¬¬¬ª±¯¯®¯°¯¬«§§§¨ª²°´³±±°±²­°¯²±²²²²·¶¶¶·¶¹¹¹µµ´¸´¶¶¹µ¸«¨§§«°®®­´²¶²²¯´µµ³´µµ±±±²¯³³´µ¼¶¸µ¹¸½¶¶¬¨¬³±·¶»»»»º»À»¹º¼»¿»½¼Á½¾¼Á¿¿¾¾¿ÄÂÂÀÅÅÆÃÂÁÃÂÇÃÇÃÂÄÈÄÒÐÐÌËÊÏÎØÌËÇÈÀ½ºÁ¾ÄÀÀÀÀÁÁ»»´²­®¦¤œ˜“’‹ŒŽ’ŽŽŽ“ŽŒ…ƒ„†…ˆ‡Ž‚}{z‹‰ŠŠŠŠ†……‡‰ŠŠ‰ˆŠ||‚||~}{{{zzxzz~vuuvwxwvwxtutzopnmloooosqpqqpooqonnmnrrusspqqtqspoopptuuptqqqsquwxusrppqrutyxxwzz|wurrooprqpqrpoigiomqorq{sssvrrnuttstorrsqslimqswvyvvvvttuvuxqqopnmmocWNQT[hwvvpokmoonnnnlmkkkpormiefeijmgdfnmmkkiljkljgghmhghmnruyl`ROWnrtolkokpppprjihihljomnjkisrqqrhcdmoiiokihhfkihedek``ehdififleyyywz{zvxx{|~€„…†‡Š‹ŒŒŒŒ‹‹‹’“”•–—™™˜•˜™˜“••—š˜˜–•——™™ššš————–—–——œ›Ÿœ¡£¥¡¡¡¡ ¢£§ ¦¥¨¥¤¤¤££¡£¥¨©©©©©ª©¬¯¬«­¯­ª©§¦¥«¦§¦ª­®­­­¯°®«¬©¯¬®­²°²²µ´µ¶¸³µ´´³³²´´¶·µ³©Ÿ©¥«°°¯®­®¯¯®®¯®®´²±¯°°±¯°°´¶···²´³¸¶µ²³§«®²±µ´¼º¹·º¼»·¹¸»»»»½¹ºººº½¾¿»¾ÀÂÂýÁ¿¾¾¿ÀÃÃÃÂÃÀÃÄÄÅÉÇÈÊÊÉÉÈÆÂÂÂÀ»½º¾½½½½¾¿º¹¸¶±±ª§¢¡™–““‹Œ’’‘‘“‹‹ƒ„„………†€y{{‚‰ˆ‰‹ŠŠ‡ˆ………‰‰ˆˆ‰ˆˆ„„‚ƒ‚}€†„‚‚‚~{yw{{~wwvwzwuuvxtttsoooomnopqrrqpooppnlnknnrsvvrqrssqqqqsrrtssqqprrrruvvwrqqprrstzxywyzztuqqmptsqrrtomhlqqnnmrqtssssqpnrrsprppqsnmimvuuvuwuuvsptvvtspoooonpdXRMU[gssttpnkopnmmklklkmmoopiheffhildfgmonkjhjjklkgikgeghmloncWPJXgntrklmkjpooolhijjhijopnkjjssoliccdomkjnhhhgcjhhffe\Vbedbcdeffd{{zzzzyz}}~€††‹‹ŒŒŽŒŒŽ‹ŒŽ‘‘Ž•••—››š™—œ˜˜˜˜–›š™—•—›š›œœœ›—™—˜•——š™ž Ÿ¬¤¥¡  ¢ ¥£¨£¦¦©©ª¤£¤¤¤¦©®ªª©®ª¬¬¬¬¬¬­®±ª§§¨©ª©©©®®¯®±­¯®««¯¯°¯¯¯³±·µ¹´¶µ¹²¶³³²²²¶´·°®ª£¤ªª³³³¯±¬­¯µ­°¨¨®´¯­®±°±°³°º¶¼·¶³¶·¹²±±±³µµµ²¹·¼º¾·»º»¸¹¹À¼¼»¾¸»ºÀº¼½¿¿ÃÁÁÂÃÀÿ¾¾À¿ÅÂÃÃÃÃÇÅÈÆÊÇÈÉËËÌÆÃÁÁÀÀ¼¾½Ä¾¿½½½¿º¸¶·°¯¬§¢žš–•”––œ’””˜’•”ŠŒ‡††‡‡‰€{}‚„‹Œ‹‹‡…„‡‹‹‹‹†…††…‹ƒ‚‚‡‰‹ŠŠ„‚~}|„|}}|{{zwuvxw{utqrqtpprzvtuyturypnlmoutuuwsqtyvtstsutyyxssqrruvwwwvvtrqrsvuxw|yzx}yyuurrsuuwv|sunlnttwrtprrttvvvqsrxtspwtystmllsvwwzuxtrrqqsvxtttuptrrh\SOR[fvvuttomnuqnntklknoppqnnijjlikkkjjjtopkiiklkjlilhfemjmlsdREALclvtolplkjqnumhfkimiijpnnonpspmidabgppnnnmnljikhiij^SUefecbcdeedxwxyzzz|~ƒ…‡Š‹ŽŽŽŒ‹‰‰Š‘Ž‘”•˜™™™™˜———•–––—˜–˜˜˜˜š™š——–—•™–•’–—™™ŸŸ  Ÿžž Ÿ¢  ¡££¥¦¥¤¤¡££¦¦¨©©¦¨¨®ª«ª¬¬¬ª¬­®«©§ª¬«©©©®¨¯¬¬«¬«ªª¬¬­­®¬±²¶µ¶´µ³³²°®®­±²³³®¥ªª«­¬¬¯®¯¬°©«®©¥£ž©®´¬«¬²±±¯±±±±±²²±°­«©­­°¯´²²²¶µ»¹¾·····¹¹¹¹¹¸¾·¹¶¾º»»¿ÁÁÁÁ¿¾¾¾¾¾¼Á¾ÁÁÁ¿ÄÃÃÄÇÆÆÅÅÅÆÆÅÂÁÀ½»»º¿½¾¾½»¾½»·¸´³®­­ª¥¡œš—•”””˜˜›’““’ŽŽŒŠŠ‡ˆŠˆ†‚}‚‡‰Œ‹‹ŠŠ„‡†ˆŠ‹Š†ƒ…†‡‡Š„„…ˆŠˆˆ†ƒ~}{|z~||||xwuwxytsrrstqsuyyxwxttqqqokoqtttsrpsvwwvttuttwxussqstuvvvwtuqqqstvwxxxyzyyvvvuqtttuvvvqnjnsvwtrrqrruvvvuqrsvvsputsonjnpvywtttsssssrtuspqppoomh^TMTYeqqssqoknqsronnjijoqrrqnlfmnljjhkjklnnliijlihhjihfffjjlkh\C2DUgorslimmkjqmlhgfiijhijollimupmmge^dkljlnmlmlliheilgXSXfefgddefecvvwz{{‚ƒ„†‰Š“ŽŽŽŒŒ‹‘Ž–‘“ŽŽ’•™˜Ÿœ ˜›—–—˜——–˜™˜™ššœš™˜›–˜˜˜•••š™™œ  ¢¡ Ÿ¢ž  ¢Ÿ¡¡¦¤ª¨¨£¢¢¤¨¯ª­©§¥¨¨®©­«¯¯¯¯¯¬®®®ª°±²­±­¯¬±«¬«¬©ª«¬®²®³°¹³º¸·´¶±®¬ª¬®°µµ¶°¬­±±²°²²³¯²¬°©«£¡£¢¤«­²²²²³²µ®¬®²°¶µ´³±®«©¯­µ´´³»²¶·¹¸¾·¸·¹¹¼º½¸º¸¾¹½¼½º¿»ÁÁÂÁÁ¾¾¾ÀÀÁÁÁÁÁÁÈÂÆÄÃÄÌÅÆÆÇÇÆÆÆÀ¿¼ºº½»À¾½½¼»¾¼»·¸³³®¯¯¯¦£Ÿ¡œ›˜˜š¢™›–—“‘ސŠŒ‰‰…„†‹Œ‰‘Ž“‰Š‰Š‹‘ސ…ƒ„‹ŠŠˆ‹Š‹‹ŒŠ‰ŠŽ‡†~~‰€‚~~~‚y{uvwxxywwv{yzz|€{{vyyzuttuvwxwsqrvw|yyz||}x|xuuwv|ywwzxxuuuvwxyz|‚|}}}zzxwvuuzz{wzvwokjusyvsrsvzv|{|xxtvuyuttytunlntv~||vwv{stv|xwurrrpomnjdVNR[ftuytuomntqrrpnnnmmpqwuunkioooknjklrlpmkhjlmhhimheeiinlmkjL55I]knsnkkrommqkigffhjkghjnlllnnlkkgfffknjkkklolsjgfijcUS\ghhgfeihjfvvy|}~~‚„‡ˆŠŒŽŽŽŽŽŽ‹‹‘‘ސ‘’”—˜—˜˜—–•”•”—™—–••™™šœœš™˜—••”•–—”––™›œžŸž›ŸŸœžžŸŸŸ ¢    Ÿ¢£¨ª¬ª«¦¥¥¨©ª¨ª¨¨©¬«ªª¬­­©©©ªª°­­¬­ª¬ªª¨«¬­®±®°°³³µ±°°°¬«¨«¬¯±±¯°®¯¯°°¯®­¬®®±«ª¤ š¢¦ª®®­±®²²±°¯««ª°°­ª§¦¥£­©­­³±´³¹±µ¸¹µ¸··¶¹º¹··¸¹¸¸·¸¹»»»»¼º»¼¼½¾¾¿½À¿À½ÃÁÁÀÀ¾ÁÄÃÂÅÅÿ¾¾¾¾¿·¸·º¸¸¸º¸¸¸¹·¼µµ±²®­ª©¥¤Ÿžœ™šš™™˜––‘’ŒŒ‹‰‹Œ‡‡…Š‹‹‰‹‹‘ˆˆ‰‘І„…†„ЇŒŒ‰‡†‡‡†‚€|}|€ƒƒ€€€}yzwwwvvxwwx{{|}}{|zxvxvvvuuvwy|xtttvw|z{||}{wwwwwyy{{yxyyxvvvwyyz|}}}}{xwxxvwxz{|utrpkkkvttutsvwxv{xxxxtvuvtuwuqqlotwyz{{uuuvuwxzzxwtrsoojiiXNUZesrtusokortqrqqmnknpqrttrkkkosnkmjlmqlmklilmlfiihcbakmmlmkR97;Tjlnmjmlmnnnmhfeffijhehjkkjjkklmlhffhjljlfjjlkjhgfhi`T\geaghfdhhiixy|„‚‚‚†ˆŒ‹ŒŽŽŽŽŒŽ•‘‘’”“˜™˜—™™—––”““™”›˜˜–—•š™œ›™ž–””””••——›š™›Ÿž¢œš›Ÿ¡œŸžŸž  ¥ž ¡¡£©©°¯¯ªªªª§¨©­¬¬¬¬¨±«ª«³¬¬©¯ª¬ª¯­µ¬­«¬«ª¬±¯®¯±±µ´³³¸±³®¬«««²¯³±³²³®²³´°¯­¬«¯®³§¥¢Ÿ£®®¸±¯°±²·µº¯²­®°°¥ ¤§§¨¨¯­±²³³´µ¹´µ¸¹·»»½¶¿¸¶·¹º»º¹¸¸º¾½Á»¾¹º»½½ÂÀļÀ¿ÀÀÄÃÂÀÀ¾ÀÁÂÂÊý»¼¿¼½·»·À¿¿»À¸º¸º·¼¼¼µ¸®±««¦§ £¢¢¡¢›™™™–•’Œ‹Š‰‰’‹ŒŒ‹Ž˜‘Ž“‹Œ‰ˆ•“”’І††…‰‡‹ŠŠ…†††ƒ€€~‚ƒ„‡‰„‚~}}~}{{|||~ƒ‚ƒ‚{wxyxyyyy€‚|}xwxy{}{~€|zxwxz}}}}{zz||wyxzy}|‚ƒ~‚|zyx{z{}{}trrrmnqxxxvvv}||y|yyyztwvxwxvurqqvxƒ{|z|wz{}|||zwvrspnjk\QS\eqtzuupnnsruutsrmnnosxrtrpoqoonmmnlopqpqkllpmlmojfcaemmlmp\E27Jgnsnlknmloqnmfefjjnjhgikqkkjkjlllgghmknlkjiimjhgjhmh`_jgeenhddghkk|~‚‚„…‡‰‹‹‹Œ‘Ž‘‘’“’“•••””’‘‘’““’““–•˜––”š˜œššš™“‘‘“”–“–—š›››œ›œ™›œœœœ›žžžž Ÿ¤§«¬°°±««¨©¦¦§¨¦¨©©©ª§«®¬©«¦©ªªª¬­®««¬¬¬­®¯¯°°°°±¯±°±±¯¬¬«¬¬­¬¯¯²²²¬¬­°°®«¬«®®ª¡££§¯®¯²²²²´´´´³®­®ž–Ž¡¡¨¨ª«­­±²´´´´µ³¶¸·µ»º¸µ´³¶¶¶´¶µº¹º»¼¼º·º¹¹¹»º½½½¼À¿ÀÀľ¾¾¾¼¿¿ÂÂÁ½¼¹¹¹»º¼·····¸¸¸¸¸¸¸·¼··´´¯®¬«¦£ ¡¡¡  ›™•—••Œ‹Š‰‰‰‹‡Š‹‘˜”Œ‹ˆ‹ŠŒŽ•–“ŽŠ‰‡†…ˆ‡‹‹Š‹‰‰ˆ‡…„‚‚ƒ‡ˆ‡†„ƒ€€€~|‚„………ƒ{{{{{||||~~}|z{{|}{z}zzz{||}}}}}}{}}{xxwz{~~€~~~zzz{yzz{y|zwrqmqqrsvvwwvv{||yyxxuuuwvvvxttrsuy|~€|{zxwz{|xywxwvopqpk[PV]dmsuurtmpqrssspmmmnorturpnqlqoolmmnlmjjklkmnokllljdZejmnno`M;0Gbjqolkjiimoolf_ehiiihiikkljihiikjldfhlkmmlkkjhghhhglgghd`ffggddhike€„††‹‹ŠŠŒŒŒŒŽŽ–‘’’‘–”˜˜—–™”˜”’‘‘”˜”””˜—˜•œ››™››œš™“’‘—–—•œšžž œœžœž›š›£œž¢¤¤¬©²¯´°²««ªª«¬¦©§ª©¨©«­­¬¬««¨¨©¯­¬¬¯¯°®°²µ±´°·³¶°±°µ²¶¯®®¯­±®®¬¯¯¸³²±±°¯­­®°­±¬§§¨ª°±³³²²µ´·´´´µ­¯’ˆƒ‚“¤©´­°°°°±³¶¶¶µ······¾¸¶´³´½µ·¶º¸»ºÁ»º¹·¸¿»¼¼¿¾¾¾¾¼À¿¿ÀÄ¿Á½¾¾¿ÀÅ¿¿½»¸¹¸»»½º¼¼»¸º··¹½¹»¹¼·ºµµ®®­¬¤££¤¢¨£¦šœœ“”ŽŒŠŠŒŽŽ’™–“”Ž“Šˆ‡‹Ž‘Ž•““‹ˆ‰…ˆ‰‹‹‹Ž‰‰ˆ…„„Š„……‡„‹‹Šˆˆ‡…‚„ƒˆ†…‚‚‚‡Ž‡Œ…‡€€…ƒƒ‡Œ‡„ƒƒ~‚Š€~‚||}~~€€}}}€‚ƒ„{}|zzzz~~„~~}{{z}|}||}xtrqqru{zyyxyyy{||y~zz{|{|||wytttwy‚‚ƒ‡zxy}||yyy}vuoprv`QS]blr{vwstryv}wxrpmnotsxvxpnnrrsomlnnqpqmmlnowonmpljfcdpooothX@2>[htpnnoihiqqqlbafgkhjhokpllihhijojkddflkpornmigfihjjllkjcbgghfbegilh‚‚…‡ˆ‰ŠŠ‹ŒŒŒŽ‘ŽŽŽŽ’’‘‘’’““•––––”“‘’‘‘“•—•”“—”••š™š˜š™˜–””“‘”“••œšžžžžœœšš››œŸŸŸž£«§¦«©ª«¯±®«©§§¦¦£©¦ª¨©©©©ª¨¬«©©¨¨©¦¬©¯¬®¯²·³±±°°°°°°¯°°±®¬ª««®¦®­¯¯°°¯®¯°®«­­¯­®«­±²±°°²­²²²±±±¯ª§¡‹yƒ’¢©®¯¯¯°±±³µµ¶¶µ´´´µ¸³·¶¶³´µµµ´µ¹¸»º»»»¶¸¸¹º¼½½½½º¾½À¿¿½À½½º¾¾¿Á¾¹¹µ·¶¶¶¼¼»¹»ººµµµ¸º¹¶·¸·´¶µµ­ª¦¦¡¡œŸŸŸŸž™™—–“’ŒŽ”˜˜”‘‘Ž‹‡‰ˆŠŒŽŽŽŽŒˆˆƒ…†‰Š‹‹‹Š‹‰Š††………„ƒ„‡„††ŠŠ‰ˆ„€‚ƒ‡ˆ„ƒ‚‚†‰‰†…‚€ƒ†…А–˜™Œ„€}†…€|~‚€ƒ‚}~‚‰…‚ƒ|{{{{|}~~ƒ€~|}||{||~€|y}vsmqrvy{{zy{|{{}~|z}|{zzy{zyxxtuuy{~€‚ƒ}wyz}}|zyz|uuopscTU[agpvvvxrsttuvuwqqmpquvwsojmopnnlmnnnpppmmmoqqnnmmkfdimnoopj`D2@Ucmplheiijkqvrkccfeeeghgghhgffgjkifi`dehilmoqmigghijkllkiechihfgkiiii‰‹ŽŽŽŽŽ‘•‘•“”’’•“”“––˜––’“—•••›–™•––—–š™ššžžž˜—•“““”˜’š˜š¡žžžŸœœžœžœ¨ Ÿ¡¦§©¨¨§«««ª¯­¬«ª¨¨©©¨¨§ª©®«°¨ª©¬«¨¨©¨ª©­­°­¯°µ´²±±±±°³²²¯¯°³­¬«ªª­®°®±°µ°±°°¯®®®¯²²²±¸³·±´°²²³²²±±³³–‹‚u}„‘­­´³²±µ´µ±¸µµµº¶¹µ½·¸µ·¶·µ¸¶¶·ººº¸¾½½¼½¹º¹ºº¾¿Á¾¾¼¿½ÅÀÁÀ޽¾Ä¾¾½½¸¸¶¶¶µ·¾»ºº½¸¸¹ºº¹º»·Á¹º¶¸´µª¨¨©§¦¡¢¡¤›››——˜™••“““š™š—š“‘‘ŒŒŒŒŽŽŽŽ‘ŒŽŽˆŠ††ˆŽŠŒ‹ŠŠ…‡……ƒ‚‚ƒ‡‡ˆ†‹‹‹…„„…†‹…„ƒŠˆˆˆ„ƒ‚ˆ‡†‹œ—§—“„€†…†€‚€ƒ‚‚ˆ…†‚‚‚‚†‰ˆƒ‚€€€…†…ƒƒˆ€}}~€€~‚}}urstx~~{{{€€€€€~}}}}‚|}{ywvvy{€}ƒ…~z{}}}~€|{|utstfZWY_iozvxwywvv{vvuwqrqtu~}}rkkqqtnnnrnnntqqpqrqqroomlfbhtttuvohJ49P`orwkffijmmqrsjdcffffhgffigcdghmjifhfeekimmnpsggilhomrlmihinmnnmlmlppŠ‹‹ŒŒŒ‹‹Ž‘‘’’‘“”“““”–˜’‘Ž““”••“•”–•–––—šš—•”“““’”•—“™˜š›œœœœš›™œœžœž¡¤¨§§§¦¥¦¥ª¦©©ªª§¤¨£¨¥§§§§©¨¨¨¨¨««¨§§§ªª­®°®¯°±±³¯°­¯¯³³²®°±²¬¬­«ª­¬­­¯®°¯°¬¬¬®ª¯¯±²³´²°°­³¯³¯¯­««©¦}yr‚˜¥«¯²±±±´´µ±±±±²µµ¶´´³²³·¶¶³¶µ¸¸¹¹¹·¸¸¹¹½¹¹¸¸¸¹·º¼¼»½½À½Á¿Á¾¾¿Á½»µµ´µ´¶²µ·½»¹·¶µ¸·¸··¶¸·¶µµ´²¯¬§ª©¨¦¦£¢¢¥››››•–—˜—–•“’”š––—“Ž‘Ž‹Š‹Œˆˆ‰Š‹‹ŠŒ‹‹Š‰†…„‡……„ƒ€ƒƒ………ƒƒ„ƒ‚„„…†‰‚……‹‰ˆ„ƒ‚‚‚ƒƒ€…Š’••”„„„…ƒƒ€€ƒ…††††‚€€‚„‡‰…ƒ†‡‚~€…ˆ†‚„‡€€€€€}|{wrtu{€}y{||}€~}~~}||{zywvw}€|~~|{z||}{}|{yyy{uvwiYXX^fpvwvwwxywvxwvuvprsvx|}{nmmqrsnooonnnumnlnprqqoolf`gmrrssvmN4=I]nqtoihglmnornkffdeca`dhff]TVXfiihieedccgionnmjehjihkmmlljjkljlmnnnlno‘ŒŒ‹Œ’Ž”˜‘‘’‘’’‘”˜“—““”™‘‘ސ‘””™•––—•š—™™››š•“’”“’““–™–˜–š—››žœŸ›šš›œ œžœ¢ª©°©«¨®¥§¤ª§©©©§§§¨¥¨¨©©ª««§©©©¨«ª¨©­¯±­­®³³²³´³³¯±¯´³³³¶­±±²¬¯­­­­¯³³²²²®°«¯¬­®°°´³µ²°±²²³±³¯±¬­š•rww„œŸª«±¯µ²²²´´´´´³³³·····´´µ¸¹º³½¶»¹¹¸¼··¸ºº½¹»¼½»º¹¹»½»À¿Ä½Á¿Ã¿¿ÀÀ¼ºµµ´··¸µµ¸½¸¸µ´¶··¹···º¶´´¶±¯¬¬¯±°¯§¦¦¦¥§Ÿ¤››˜™˜ š™™˜—–•œ–’Ž‘‘˜”•“˜–ŒŠ‹ŒŽŽ““Š‹’Š‹†…„ˆ††…†‡‰…Š…‡‚„ƒƒ‚‰ˆ‡†ˆˆŠˆŠŠƒ‚‚‚ƒ†‚„€…‡Ž•ŒŒ„ˆˆ‰ˆˆ‡††‡‰ŽŠŽ…‚‚‚…„‡‡††‡……„„†‡‰‡†‡‡€…†ˆ‡‡†Š}}xvwy{ˆ‚}}~~ƒƒƒ~|}ƒ‚†}|zyxy|…€‚€}}†ƒ}{yz{{w{obUZ\dn{|{z{y{xwwzxzvvruw|}}zyooprtsrrtuolptmpnnpwqrrsideprwvxwx\>8GZqtwsommmsrrpsmhc_ae`\_bdcfUQNYdikgjefeddfipooliijjihlmnmokllllnmwvvprnŽŒŒŒŽŽŽ‘‘’’“––”“’’‘Ž’”’’“–––”––˜—–“’’‘’’“”–™™——•––›™œš›šš˜›šœŸžœž¢§¨©ª¦§¥¥¦¦¥©¦¥¢¤¤¥¢¢£¨©©¨©©ª§§§¨¨ª¦ª¬®°¯­­¬®¯®¬®®¯®®¯´±±°®­®®®««ªª©¬®¯­­«²®­¬¬¬¯¯°¯³³²±°°³´³¯®ª§¦Œ{qdu€Ž¡£¦¨ª­¬³²²¯¶³³²´´³±³²³°¶µµµ´³³³¶¶»½ºµµ¶·¸ººº·¶·¹¶»»»»»º½¿¿½Â¿À¾¼º¹¹¸¶³±²¯¸µ·¸·´¸³µ¸¸·¶µ··º´µ³²­««­¯®«®¦§£¦£¢œ›š˜˜™™™›œ™––––”’Œ””•’Ž‹ŽŒ‹ŠŒ‰Š‹ŒŠŒŒ‹ŠŠ‡†…†††‡‡‡ˆ„…„„ƒ…†„‚…„††ˆ‡‡‡‡‡†ƒ€‚ƒ…~~~„‡ˆˆˆŠˆ‡…††‰‰ˆ‡††‰‹Š‰…€‚‚€…„…†‡‡‰†…ƒ„„‡ˆˆ„ƒ€€…„„„‡‡Š€|ytwxz|€€~~{}~ƒƒ…}{{}}zyzƒ€ƒ}|}€ƒ‚€}}}{yyuwuncZT\amwy{zz{wyxyzzwxuwrvxyz}vsnruvutrtvtqtwploknpwqrshcdhpstuxzqRC>WoqtvrpnpquwrpnhaX_^a``adfec^Y]`gjkggeeeeefiomokjjigiillmnolmoooolqsvool”’ŽŽŽ•Ž’‘’Ž‘““—˜˜••”•“’””••™—˜–›––˜‘”‘’“•””–œ›š˜–—™›˜œšœ›š™¡ ŸŸž ¤¥§§¨¨¬¦§§§¦«§©¥¤¥¤¤¥¤¤§®©ª¬¬¨©§­ª®©ª¬³²´®®¬´¬­¬­®°°³²²±´±´®¯°°¯¯©«ªª©±­°®¯«´®¬¬¬®¶±±°³²°²µ¶¶¶·¯° ž}jf_q‰”¨©®¯°­³²²²¶¶·µ¸µ»´¸±´³µ°µ´¶´´³¸¸¹¸¼º»µ·¶½¸ºº»··¶»¹¾¼¿»»º¼¾¿½Â¿Ä½º¸¸·µ³±²µ²·´»¹·µ¹´···¶µµ··¹´¶²²®­¬¯®®®®§©©¨¢£œœŸ¡š›› ›››œ––“˜””Œ–––––’Ž‹“ŒŠŠŒ‹Œ“ŽŒŒŽŽ‰Œ†…†‡‰‰‰…‡„…†‹…„„ˆ‰Œˆ‹ˆˆ‡‡…ƒ‚„„…€€ƒ…‡Š‡ˆ‡‡‡ˆŒŒŠ‰‰‰‹‰‡‚‚ƒ…‡†………†‰‡Œ††ƒˆ„ˆˆŽƒ„~†………Œ‹‹‚„{xxˆ‚ƒ‡ˆˆˆ‰ˆˆ~~‚ƒ„„}‚~~|‚‚€ˆƒ€€€ƒ|}~…„„}€zxvyof\VYbnz|~~{|z€zzz{wuxy{z{z}vttwv{uttzvuwvolnnopvstj^_gmvtzy€uiPEOnsvvvvxsuv|xsomf_^`_dfjjiijjjjkksmlhghiffggipoqlnkmgnjoooopmnoroppqrxpplŽ’”””“’’‘’ސ’•————™˜™——–”‘Ž“‘”–•”•–˜—š˜™–˜™™˜˜˜›˜ššž  ¢¤¤¥¥¥¤¤£££¢¤£¥¥¥¤£¡££¥¦¦§§¦§¦§¦§¦ª©«ª¬­±°®«­­¬¬­ª­®¯°°°°¯±±²§¨©§££¥¬©ª¨±¬­®¯­¬¬ª§­®¯¯°°±±°µ´³²°­©”…p[acy’™¡§«¬­®®²±±²µµµµ¸µµ´´²³²±°µ³³´´³··¸¸·¶µµ¶µ¸¸·¶µµ·¶º¸º»ºººº¼·¹¹º»¼»¸´µ²²°°±²²´³µ²²²²²³³·¶¶´¶µ¶³²±±®®®¬ªª§¦¤¦¦¦Ÿž›žŸŸŸ¡›œ ››™—“–“•”’‹Ž‘–“”‘“’‘ŽŒŒ‹Š‡ŒŽŒ“ŽŽ‹‹ŠŠˆˆ‡‰ˆŒ„†ˆ‰Šˆ†„„†……‡‡„„„ˆ‰Š††‡‰ˆŠ‰…„ƒƒ„ƒƒ€ƒ†‡‡‡ˆ…ˆˆˆˆ‹ŒŒ‹‹ˆ†‡Š‰Œˆ……ƒ…†ˆ‡‡‡…‚†…ˆˆˆ‚ƒ}ƒ„„…………Ё}x{|„ˆ‡„„„ˆ‰ˆ„……„‚ƒƒ€€ƒ}~}~ƒ€€‚{~€„„ƒ€€zyy{{yurh]U\am}}~~|{z{{}zxwxwwuyyyyzz{xvtututuvzwv|unkoqrrtrqf`]ksttyywndQVbotuvwwwtuvwwsolba```dkhfhhifilmnpnmfecghhhhgijkhjihffgjjllljmnmmnopqsqqlŽ“’“”ŒŒŒŽ’‘‘‘””›““‘—‘’‘‘‘““”””–œœ›˜™™œ˜™“”’———•››››œ››˜œ™™”“–œœ¢žŸ¥¥ª«ª§§¤©¥§¤¤¢§£¥¤¤¢¢£¤£­«ª¨¨¨©©¨¦©§¯«®¬´°µ¯®¬±­¯­­¯²°¯°¶°¯¯²±°¦¦¦¥¤¦§«©¯¬²­µ­¯®¬©¨©¯¯´±°°º²²²²³¶±©‡q`Q^j|›Ÿ¨¨­®³¯²²²°¯³º¶¸¸¸¸·´³²µ²±°µ´¸´¹·»º»¶¶µ·¶··¹¹¹µµµ¸·»¸¸¸»º½¼½¶¶¶·¹¼º¸´¶±±°³³³²¶¶·²µ³¶³´³¸¶º´¼µ´³¯±±±¶®¬««¨§¦¦¦¦Ÿž›£ Ÿ ¢¢¤Ÿ œž˜•”–”•“•”—“———”•‘‘ŒŒ‰ŠŒ’“ŽŽ‹ŒŠ‰ˆ‹‹Šˆ‡†‰ˆ†ƒ‚ƒ‡‡††‡„…†Œ‰Š‡‡‡ˆˆŒ‡††‡……‡†…††‡‹ˆ‡ˆˆŒ‰ŒŒ“‘‹Š‰ˆˆŒŒ‹‹Œ…††‰‡‹‡‰ˆ„‰ˆŒ‰‡ƒ‚‚‰ˆˆ‡Œ…‡†Š€|}‚„މ‹ŠŒ‹Œ‡ˆƒ„…‰†ˆ„€‚ƒ‚‚€€‚‰‚€………‚€‚‡…†€}{z}z{uqaXZemwƒ~{zy}~~ywvxvvx~}}|z~yzvutwv|x|xx}umkssvuwqpcbhyzzx~yxj`^cktuxvzyzvywwxmjafa``ffffjjihipzovoogdekhhiogghjjkfddfflloklkrmlllntrwwxn’”Ž‰‹Œ‹’’”““’’“‘’““““”•–”——™˜–“‘ŽŽ‘’’’—•–•–””•——˜——•”‘“• ŸžŸ¥¦¨¥¨§§¤¤¢¡¡¡ £¢£¢¤¡¢¢££££¥¥¨¤¦§§¦¨§¯«¬­¯®¯¬­ª®®­®¯±¯«®¬­­®®­ª©£¢¡¥¥§¨©ªª«¬­«§¦¤¤¤¨ª®¯±²²¯®­­®¬­œ“zc[McwŠž¢¦ª«­®®®±±²°²´´´³³³°²±³°³²±°µµµµ·¶¸¶¶²µµ····¶µ¹µµ´´µ¸··³¶¸¹¸·±³³µµµ±±°°­­®°³´³¶±±¯¯¯´²²²´´´´´´³²²²²±¯««¨ª©¥¢£¡ œ¡£ Ÿ¡¡ ž ˜›”””•“’’‘‘““““‘••”’‹Œ‰Š‰Š‹Œ‹Š‰‰‰ˆˆŠ†‡ˆŠ‡ˆ‰ˆ‡…‚~‚…„ƒ††Š†‰‡‡‡ˆ…‡„††††‡ˆˆ‡††ˆˆ‰‰ˆ„‡‡‡ˆŠ‰‰‡‡‡‡ˆ‹‰ŠŒŽ‰Š‚……‡‡‰‰‰‰ƒ‰ˆŒ‹ˆ‚††‡‡……„…†„}~€†‰ŠˆŠ†‹ŽŒ‡‡€…ˆˆ†…„ƒ„……ƒƒ……ƒ‚‚‚‚„ƒ„ˆƒ„‚~|y{y{qaU\dkwz€ƒ~~z{z{zyvvuxswy||~|x}yzvvtvwyvvv|…‚vnkstusqka[ivz{zz}xpfddjptuvwyy{uwxvqnjg`a`_`edfchgfelsrmkhkhgfhhjkiefiijkdb^ggllljkhiimmmlrqrrsp’’–’ŒŒ‹Ž’’–•–’““”““‘–‘“’•”˜““”•”•–•‘ŽŽ’•–—”——š–˜˜™•˜—›——•””™˜žŸ¤£­§¬«ª©ª£¥¡¢ ¡£¤¥§¢¤¢£¢«£¦£¦¥¨¥¥§©©­«°¬µ­±¯±¬³³³°´´³®®¬¯¯°­°­¬¨§¤£¤©¦ªªª«­««¨¤¡Ÿ¢£¨±­´´µ³¶±µ­®®­Ž~iV[Vgƒ”«««®³²´¯¯°³³´¶·¶¹´µ²³²´³³²·²³³¹µ·µ½¸»¶·µº¶·¸¹¶¶¶º¶¸µµ¶º·····»·¸³µµµ´³´´°°®¯¯¯²¶´¶°±¯´´´³¶µµ¶·µ¸·ºµ³´¸°­«®®®§¤¤¦ ¡ŸŸ  ¡¡ §¢¢¡¡˜š•š“–”–“•“—–”““š•”‹ŒŽŽŒ‹Š‰ŠˆŠ†ˆ‰ŽŠ‰‡‰„‡‚ƒ†Š‰‰ŠŒˆ‹ˆ‰†ˆ…‰ˆˆ†Š‰‹ˆ‡ˆŒŠŠŠ‹…‡‡‡ˆŒ‰‰ˆŒ†‡‡‹‹’‘‘‰‰ˆˆˆŠŠŠŠ‰Šˆ‘ŠŠƒ…Œ‹‹…„ƒƒ„„€†…Ž‰ŠˆŠŒŽ’ˆ‡„ŠˆŒ‡…‚„…‰‰Œ…ˆ†Ž‡‡„……‹„ƒ„‹Š‰…ˆ„‡ƒ‚€~~|zgWX`ipy|€ƒ~€€||{z|~xyzz{ƒ„}{|yywzyyyzyu†ŒuomstxrraXbuz{|{~umgimstxvyy}z{x‚xulhgf[Y[]_effblfffrqoheenljimmnjgeefghkfbbiikllklhggmlqppqrrsp’ŽŒŽ‹‹ŒŽ’“”’‘‘•‘’’’’’’“‘”’••’ŽŒ”••–””–••”•••“—––––•••™˜ž›  ¡£§§¦¦¦¥¦¢¢ŸŸŸ¢¦§§¥¢¢¡¡¡¢¢¢£££¨¦§©©©««­¬¬­­««¬®®®®°¯­¨­«««¬¬¬ª©¦¦¦§§¤£¢¡¡¡ žœš™˜ž ¦ª­­´²³²°¯¯¬—}h\LYauŽšª¬­¯°±°°¯±±³´··¶¶¸²²°²±²±²²²²³³³²µµµµ´´µ¶·´µ´µ³·µ¶´³³¶¶¶´¶·µ³¶··³°®­¬®­µ°±­­¬°°¶²²®¯¯³²³³µ´µ±¶´¶µµ´´´·¯­ª®¬­¤¤¡¡šŸ¡¢¢¡žž¡›™”“’’””•“”’”•—”“”•‘މŒŒŒŒŒŒŒŠŠŠˆˆ†Š„ˆŠŠŠ‹‹ŠŠ‰……€€‚‡ŠŠŠ‰‰‰‡†††‡†‚‚ƒ†‡‰‰‰†‰ŠŠˆˆˆ‹‚†††‡ˆˆˆˆˆ…‡‡‹Œ‹ŠŠˆˆ†‡ˆ‹Œ‘ŒˆŠˆ‰‡Š‰‰ƒƒ„‹‹…‚€}}„†Šˆ‰ˆŒŽŒ‹’‰‡…‰ˆ‡‡…‚†ˆˆˆˆ†‰ˆŠˆ‡„‡‡ˆ………‡ˆˆ…„…‚‚|~~€‚u__`hox|~€}~~}{zz}zyx{|€€{zyz{xvyyzzz{xv„‡€trpqrqmbVcrx|{|{wpkgntrsuuyyyyywwvshc_[SZZ^`_]`acefgijhcccefijkkkhgfgfhihggfkkkkkkkhgbkknnnlsqso“““ŽŽ‹”“———’’‘‘’”’•”–””’’’’‘”“•’ŽŽ•–•””””™”––––œ–˜•––šš›•™šŸ §¦ª«ª§ª¨©¦§¢£¡¤¥¥¥¬¥£¢¢£¤¢¥¤ª¦¬¦©©¬¬°®²¬°««¬±¬¬«¯¯·¯±­¬­­ª²¬®­«©¨¦¦§§¢Ÿ ¡¡¡œ–“‘•šž¤¬¬¯°´²º²¯±³•†kWRIWg{œ¢±«³²·±µ±²±´´·´¾·µ¶·²´´´´µ²²´·¶º¶¶µµ¶·µ¸´µµ½µ·µ·³¸µ·´¶µ¹¶·µ¶µ¶³·¶¶¯®««­²°·°°°±°µ²¶²µ¯³°·´µµ¶µ¶µ¶´··¶µ³´¶¯±­®­­¦¨¢ ŸžŸ¥£¦¡¡ £Ÿ ™˜“’“‘˜–˜”—––—•˜˜˜’Ž”‹Š‹Š‰‰‹ŠŠ‡Œ‹‘’ŽŽŒ…………‚„‰‘‹Œ‡ˆ………†…„„‹‹‹‹Œ‰ŠŒŽŽˆŠ„…†ŒŒ“ŒˆŽ‡ŠŠ”Œ‰Š‹Œ††ˆŒ’Œ‹‰Šˆ‡‹‰ˆ††‡Œƒ€…}|~ƒ‹Š‘ŒŒŽŽ“ŒŽŒ‘ˆŒ‰‰ˆ‡ˆ‰‰ŠŒŽˆ‰ŠŠ‹Š‹‹Œˆˆˆ‰†ˆˆˆ‡„„…‚ƒ‚‚€„|qkgjsz†‚‚€ƒƒƒ€‚{}|}~€€…€{zzzxw}{{z{yxv‰‚}twvzqnf]asx~€€xtmjjsrrtvuyyy{€xxurf_[WWZ\`__]^`bbghjgdbcchfijijlgjjjhljjgiiqppmpmmihcjlmnnovrtn“ˆ‹ŒŒŒ’“’Ž‘’“’’’•“’’““‘“’’‘“–—˜””“•”“’—–———–•“–˜™•––™› ££¤¤¤¤¤¥¦§¢£Ÿ¢¡¤¤¥¤¤¤¢ ¡ŸŸ ££¥¥¥¥¨©¬¬¯¬«¨¨¨¨©¬«««¯¯®«±«¬ªªª«§¥¤¤£££¤¤ œœœ™•†…„†‰–ž¤¨­¯±²²²³¬©¨Šq^HPQdt‚” §©«°²²²²°°¯´µµ´·¸µ²±²²²´³µ°´¶····´³³±´³¸²µ±µ²¶´µ³µ´µ´¶µµµµ³´²´²±¯­¨¨©®®°®±¯±²°°°±²°±¯°°·´µ³³²µ´´³±®¯¯´µµ°°®®¨§¦¥¢¡ ¢£¤£¤   Ÿž–•“’‘‘“”””—––˜–ŽŽ‹Ž’Œ’‘‘ŠŠŠŽŽŠŠ‰‰…‡‡‰ˆŒ‹Œ‹‡†ƒ…ˆ†‚‡ŒŒ‹‡ƒƒƒ…„„ƒ„…‡‡Š‰‹†ˆˆŠ‰‰‰ˆ‰„†‡ŽŽ‹ˆˆ†‰Œ‘’Œ‡„‰‡††‡ˆ‰ŠŒˆˆˆˆˆ‡ƒƒ…‡‡‡Š‚z‚}|{}~ƒ†ŠŠŽŽŽŽŠŠ‰ˆˆŠ‰Šˆˆˆˆ‡†„‡†ŠŒŒŽŠŒ†ˆ‡‰‹‰†ˆˆ‰‰‡„ƒƒƒ‚‚wsnpt{„…ƒƒ€‚„„€€|||~€€€~xzz{yxw{{zy{xwwz{wrwwyqocinw}~~~ttjmoqqtuuuwv{|€xwtoc^WZ^^^_``\^^_^cfgeeabbdefegjifghhhiihghipnmklmnia_jnmmoooopm“ŽŽŒŠ‹Ž‘”‘’’“‘‘’‘•“’“““—–—‘‘”‘’•—›˜š——˜–“’”˜˜˜™••—œ˜™–˜˜ž¢  ¢¤£¤¤£¤§£ª¢¢¢¥¤§£¥¢ ¡¦¨¨©©§¨¨©¨®­¯®®««§¨§®¨«¬®¬´¬«¬±­¯¯°ªª¦££¤¤¤£¢ Ÿ›—‘Šƒ|xwƒ’¢¦®®µ¶¸²±³¸§¦~eVFOZk‡ž¤®¬±®¯°¼±´°°³»¸½µ·µ³²´²·´¸´µ¶¶µ¸·ºµ³²±³µ´¹²´´»µ¶µ¸¶¶´¸¶º¶¶µ´´¶´º±®­«¬°°º®°®µ±²±¯¯¯¯´´´´´³·´¸²²²·³´±°¯³²µµµ°µ­¯¦¥¥¥¢££¥¦ª¤¤¢£Ÿ¢žœœž“’•”“’’“—˜˜–•‘’Ž“Ž’’—’’‹ŽŠŽŠ‹ˆ‰ˆˆŽŒ‘ŽŽŠ‹††……‰‹‹‹‹’ˆ…„‚„†„…ƒ‡†‹‹‹ŠŠ‡ˆŠ‹‹‹‹ˆˆ‰ŠŽ‹‰ˆ‡ˆŽ™‹ˆ…‡‡‡ˆ‹‹Š‹ŽŽŠ‰ˆ‚……ˆˆ„~}ƒ}}}~‚‹Š‘’•ŽŽŽŠŒ‰‰‹Š‹ˆ†‡Š‰Ž‘•Ž‰Š‡Šˆˆˆ‹‰Š‘‰Œ„ˆƒ‡ƒvwsz}…†Š„Šƒ‚‚„„…{~€ƒ‡‡ˆƒ~}{}{|xx{‚{zz{wvw{phq|vytprwy€„€€~tssvwwuzz{x{}ƒz{qmb^\_cgghb``a`cbbekfeabccchfdfigdefgkhhhlipmmlkmodY]kmnnqotpqk‹ŠŠ‹ŠŠŽ‘’‘‘ŽŽ’‘‘‘‘’’’’’•—–“‘ŽŽŽŽ’’•——–—–””““”•˜˜—••–™š™˜š•˜šž¡œ œ¥¢¢¢¢¢¢¢¤¢££¢   ¢¢¡¢¦¦¨©©¨¨¦©©«¬­«©§¦¦¤£¦§©¨¨§¦§ª¬®¬­­¯¨©¤£Ÿ›š˜–—‡xsnmmzƒ’¢§©®±´´´±®¯ŽsXTJ[iz“š£ª­­°¯¯¯¯¯°°²¶¶¶¶±³³³²´°µ³´´µµ·²´´²²²±²´µ²²²´µ¸¶µ³¸¶¶´·¶¹¶¶µ³³³´°¬­¨¬­®¯¯­°®¯®®¬¯ª¬¬¯¯²±±²·´´±±±²²±¯±±±²µ³²­­­§ ¢¡£¡¤¤¥¦¤¡ ŸŸŸž›™—–’’”–”‘’“”“”“ŠŽŽŽŽ‘‘ŽŠŽ‹‹‰ˆ‡ˆˆ‹ŠŠ‰ŠŒŽˆ†„†‡ˆŒŠ‰‰Šˆ‡†‚~‚…„„„ƒ„†‰‰‰‡Š‡ŠŠŠˆ‰‰‹‡‰Š‰‰ˆ„……ˆ‰ŒŠŠ„‡ˆˆˆŠ‹‡„‡ˆ‰Š‰‡‡†‡‚…†…„†€€~z|~ƒ†‹‹ŽŒŒ‰ˆˆŒˆˆˆ‹ŒŒŒŒ‰‰ˆ‹Œ“‘ŽŠŠ‡‰ˆˆ‡‹ŠŠŠŒˆ…€€€…„}ttu}‚ƒƒ„ƒƒ‚ƒ„…€{~„…‡„„€}y|z{zxvz{{{{zzwvwmcer{vwwvtz}€}}|ytsrvxxvyyyw{‚ƒ…~yupkcegffghgcbaaacceghgdabccb`\_`__aafeeefekiijlglona]]lmnoqmnmke‹ŠŠŠ‘’‘‘’’’’•“““—“™••‘’Œ“Ž••–•™˜™•—’‘’“”™–˜““”–—Ÿ›™˜œœœ£  Ÿ¡§¦§¢¥¦¥¢¨¥§£¤  ¡¢¢¦¦­­®ª¯«««®©««°«ª£¡¡¢£§¦­¥¥¦¦§®¬²­±­¯¨ª£¤š›––“ˆumfbbew‡“¦¨¯­±±¹µ¶¬¬|gSUUay†˜§§®¬¯®´±³³³²¶µµµº¶·³´´¶³µ³¶µ¶´´´¸±µ²±³¸´µ´µ²´³·¶º¶µ³ºµ¶´·¶¹·¼³±²µ­ª«­¯²±±®¬­°¯´­®«°¯°°¯²¸±²²¸³´³·±µ±±±µ²·³µ±²­®©¤¤££§¥«ª©¤£¡¢Ÿ¡Ÿžš™–•’’’›››””––“”Ž‹ŒŽŽ“’‘ŽŒŒ‹ŠŠŠ†ˆŠ‘‰‰ŠŽ‡…†ˆŠŠ‰ˆˆˆ‡…„ƒ‚‚……„ƒ‚‡Š‰ˆ‡‹Š‰ˆˆ‰ŒˆŽ‘‰‰‰‰…„†ˆŠ‘Œ‹‹Š‰Šˆ‹‘‰…„††Š‰ˆˆˆ‡†…‹‰‡†…‚}|}„ŒŠ‹Œ’Ž“ŒˆŒ‰ˆˆ‡•Ž“‘‘’ˆ‹Š”ˆ‡€ƒ‚…zstzˆƒŠ‚‡ƒ‚ƒ‰ˆ‰„‡}‚„ˆ‡„†}yw{{{yz€~{|‚|xwodbat{|‚zzz~€€‡zyxxw}}|}~{~~~ƒ‡{vvojikorqqmkgeefedcjhigdbbdhc_\]^bbbaeefdiiihhilinmmfbdlnxrqmnljcŠŠ‹‹‘ŽŽŽŽŽ‘‘“’’‘’’’‘ŒŒŒŽŽŽŽŽ•’••–••”’Ž‘’“””“’“–——ž›š™ž ŸŸŸ £¢¢¢¡¡¡¢¢¤¤£¢¢ ¡££¤§¨¬©ª«¬©©ªª§¦¤¤¥¢¡   ££¡ ¤¦©¨¨©©ª©¨¨£Ÿš•…vmf_\Z`cw‰™¤¨«¬­±°¯°£›k_O\fs‹›ž¢¨«¬¬­¬°°²´´´µµ²±±±³³´·²°²²³³³³´±±°²±²³µ³³´´²²²´³³³´³µ²´³³´¹µ»²¯®¬¦©©¯³®«ª¥¬«°¬­©®«°®¯±±´´°¯®°°±±±°±±±²²²·±°¬¬¬­¨¥¢¤¤¤¤¦¦¤¢¡¡¢žœ™›™š””’”•š™š—–’‘“Љˆ‹Œ““ŽŠŒ‹ŒŠ‹Š‹Š‰‡ŠŒŽŒ‹‡ˆ†‰‰ˆ„‡ˆ‰‡Š‰ˆ„~~~‚‚ƒ‚…‡ˆ†…„‹‰‰†ˆ‰‰‡†„‰‰„‰†‡‰‰‹‰‡‡ˆ‰‰‰ˆŠŠ‰„ƒ‚‡…†‡†……ƒ†ˆˆ‰†€…{}~…Š‹ˆŠŒ‘‰‹ŠŠŠŠˆˆ†Žˆ‡‡ŽŠŽŒ‹‘ŽŒŒˆ‡‡‹Žˆ‰ŠŽŽ‰„ƒ‚‚€zuqzƒƒ‚‚‚ƒƒ…ƒ„‚€~ƒ†ˆ„ƒƒ}vyy|y|{||}}{{xvhWJ]w{~€z}~~~€€}wwvxz~~€~{|~„Œ„|vpmimnrvxzupnkiggfedigiifdefffb]]]]^babaccjiiiiihhhhihhhlnpqqkmlhbŒŒ“ŽŽŽŽ”ސŒŽŽ–“”’‘‘•Œ‘Ž‘Ž””˜–š””“’‘—–œ”’’‘“š˜šœœžžž¡  ž¡¡¢¡  ¤¢¢ ¡£¬¦©¥¤¡¢¤¥¨®­­ª´±²¨¨¨©¦¨¢£Ÿž ¡£ª¢¢££¤©¥®©©«¬«©©«›ŽŠˆƒ|vlb\VTV^fz”Ÿ¯®¯®³°²³´›r^[T`q€•šœ¢ª«¬«²¬®«°°·´µ³¸²±°´³¶³²±±±·´¸´·²³²³±³±·µ¸³³µµ³¹µ¶³´³µµ¶³µ³¶µºº¼¯¬ª©ª­­µ¯¬«¬«¬ª°«­ª­­°®®°²³µ¯°®®¯³¯®­­±¹±²±·²³­«¬­©¦¥¥¦©¥¨¤¢¢¥¡¢›šœ›™™™–œš¡šœ™˜•“‘Œ‹Œ™’’‘Ž‹’‘‹ŽŠŽŽŽ’‹‰‡ˆ‡Š‰‰‡Žˆˆ‡Š‰{{|€„ƒƒƒ‚ƒƒ‚†…Œ†…ƒŒŠˆˆŽˆ‰……‡Žˆ‰…‰‰‰ˆ‡†……ˆ‡‰‰ŒŠŠ‹†‡†‡…†‡‹„„„ŒŠˆ†……€~~€„‹’‰‰ŠŽ‹Œˆ‰‰ˆŠ‡Œ˜‰‘’’ŽŒ‡„‡‘ŒŒ‰„ƒƒ„†„€xtw„ƒ„…†„……ˆ…‰„…€„ˆ‡‰‰Š€zxzz}zz{€„€}…~}yv^KGYw|}~†~ƒ~zvuu{{ƒ†€€€‚„‡ztoihrx„†€}wssuttmiiiiiijglhthgee\Z^ccdbedkjjjkiiiijkjpmmmnorqslgbŒŒŒŠ‘ŽŒŒŽŽ‹ŽŽ‘‹‹ŽŽ‹‰•”—“”‘”’““–˜•‘‘•—˜˜˜šžžž¡œ ž¡¢¢žžž¥¢¢ ¡£¥£¥¥££¥§©ª«««ª¬««§¨¦¥£¡ž› ¤¤¤¥££¤¦©§¦¥¦¥£¢¡ž™“Œ„|wrlfbZWQUVcn€”¡­¬­­¯¯¬¬¬ziV]_oƒŠ—› ¢¤ª©ª««©««°°±²³°°¬­­±²¶±°°±²´²³±°¯³²²°±²·´¹±³µµ³³´³³³³µ²³±´´¶²±²®¦¥¥ª«­°¯«ª¨¨§©ª©¨©©­¯¯¬®¬­­¬«®®­­­­®«®²´°°°²±²®¬ª¬«ª§§¦©£££££¡Ÿ¡››šœœš˜˜˜œ›ž›™—™™•‘Œ’”‘‘ŒŒ‹‹Œ‹ŽŒ‹‡†‡ŽŒŠ…†„†‡†‡‡†…„„„ˆˆ‡|x„……ƒƒ„„ƒ…†Œ‹‹„…ƒ„‚‡ˆ…„„‚…‡Š‹Ž‡‡†‰ˆˆ‚‚‚‚‚ˆ‡‰‰‰‰ˆ‡Š††‚„…†ˆ‹„……ˆ‰‰†…€~~†Š‹ŠŒŽŽ††‡‡ˆ‡‡‰ˆˆˆ‡‡ŽŽŒŠˆŒŽŽŒ‹ŠŠ‰†‚…ˆŽŒ‹‹Š…‚~……„„~w{|„„„……„…†‡……ƒ‚{€„€„‡ˆ†ƒ~|z{||yzx€€~}}}zrRC;Yw{|~€€~|~}~{ztvvz{€|}‡Œ…zvqmkvˆŠˆ…ƒ‚|zywrrqomjfhgihggfea[Z]^_abddloomlgjkjjkhkmmqnnonmjhcŒŒŠ‘ŒŽ‘‘’Ž‘‘‘‘‘‘‘‘“ŠŠˆ‹‘–•˜’•‘““›››“‘’”™™Ÿž¡¢¢¢¢Ÿ  ¡Ÿ¢ ¤¢§¢¤¡¦¥¥¡¡¢§¦¦§««¬ª®¬°¯°«¬ª©§¨¨§Ÿœž¡¡¨§«¥¨¨ª©¨§¦¦¦¦¦£¤ŸšŠƒ}toid_ZUQOQXgv‰¡¦³¯±®®°²¡œlaT\gwŽ— ¢«©©¨«ª©¬««¯¯¶°³³´°²¬°°·³¶±°±²²µ²²²²¯´³´°·²·´¸±´´·³´´¹´³³´´¸¸¸´·¶¶¬¨§ª«²±±®®©©©©¨¨©«ª««¯¯¯¬®¬«­¯®¯­²­¬­®®³±µ°°¯µ±±®¯±±¬­¬¬§ª£§¦¦¢ Ÿ¡Ÿ ¡¡››™››œœ š˜— ˜—‘Ž““—’’‹Œ‰ˆ‹‘Œ’Œ‹†ˆ‡ŽŠ‡†‰„‡†‡†‰‰Š„‚ƒˆˆˆ~‡†‰……ƒ‰‰‰……‡ŒŒ„…„††„‚‚„„‰‡ŒŒŽˆŠŠ‘ˆˆƒƒ„‰ŠŒ‰‰‡…†Š‡†„ƒ„‡ˆ‰†‡†‡ˆ‰ˆ…~~€…ސ’Ž’ˆŠ†ˆˆ‡ˆ‰ˆŠ‰Š‹ŒŠ‰‹’ސŒŒ‹†„„‰Š–ŽŠŠ‰†€†‡‰‚~~†……†‹†ˆ‡†ˆ‰†‡‚€„ƒ„‡Š…‚~~}ƒ|yy{€‚ƒ„~}}ymM76[t‚{~€„€}|zyxxy~|€~}|~ƒ‡Œ„~{xuv~ˆ˜“’‘“’††„€}{rnnnlkigeeb_[[[_^bcdbnoxmlkkklkkhiknnmnqpnijdŒ‹ŒŠŠŠŒŒŽŽ’‘ŽŒŒŒ‘‘ŽŽŒ‰ˆ†‹Ž‘’•”’“““’‘Ž‘“”•˜šŸžžž¡¡ Ÿžœ¡ž¢ ¢¡¢¡  ¢¡¤¢¢¢¨¨§§©©ªªª©¨§§§¥¤¥¥£Ÿžšž ¥¥¨§§¦¨©©¨¥£¤¤¢žŸ’Š}tnfc`]XURPNTXl~§©®®­¬¬©¨•ˆt`^Vdq•œ¦¦¦©¨¨¨«¦ª¬¬¬®¯¯¯¯­­««¬°°°°µ­±³²²±¯²®¯¯°°³±±±³³²±´²±±³´¶´³³³³¸¶µ³¶¬©¢¨§­­­­¬ª¦£¤£©©¨¨ªª«¬®®¬ª««¬­®¨ª«¬ª­­­­­®°®®¬®°±®®¯­¬®¦«¦©¤¦¦¦ Ÿž     ›š˜ššž ™˜˜—’‘ŽŽŽŽ““•’Ї„†ˆŠ‹‹‹Š„†ˆŽŒŠ‡‡‡‰„„„…†‡‡‡‚„„„„…ƒ„…‡ˆ‰………ˆ‡‡††‡‹ŒŠ„„„…ƒ€‚€„…†„‡†ˆ…ŠŠŒ‡„ƒ…ŠŽ†„‚…†Šˆˆ…„„…І‡€€€~~„‹‘ŒŽŒŒ‡Š†‡…‰‰‰ˆ‰‰ŒŽŒˆ‹ŽŒ‹ˆˆ‰Š‹…€„†ŠŒ‹ŠŠŠŠŽˆ„€†‡‰‚ƒ„…†ˆ‰‡‰ˆ‰ŠŠ‡‡‚}€……„„ƒ€~|}|zv{|€‚‚ƒ‚}}wqM:4Tov{}€}||€|{zzz|{~}~x|†‡…ƒ…†‚~~…’•”””’‘‹‰†…ƒ‚{tssvxqjieca`ZZXZZZZ_agkkkkjjklmkiijmnoorujfhdŽ‹ŽŠŠ‹ŒŽ‘—’’’•””Ž•“Ž‘Šˆˆ‡ˆ’‘•“•‘‘–’‘‘˜–™š›ž¨žŸ£¢¡ŸŸž¡¡¡¡¤¢¥¡¡¢¥¤¤¦§¨¨§¨¦ª«­®®¨©§®§§¥¥¢¡žžŸ¦¦­§§¦¨§­§¦¥¥¤¤¡¢š‹oeb_^]WTQOLLU`rŠ—ªª¯¯³µ¶£Ÿ„uiZ\^h{Š¡©©ª«®©ª«¬©°­¯±³²³®¯­­ª¯°°¯¯°´´´´µ²²±²­­®¯±´³³±³±°°´³²²¶¶¹¶¸´¹¸¸µ¶³µ¬§§©¬µ®°¬ª¥¡¡§¢¨¨¨¨¯®³­±¬ª«««¯­®¨«©«¬­­³­®°´°±¬­¯³®®¯¹­¯©¬§§¦ª¦§¢£Ÿ ¡¥ŸŸ›œ›š¡ ¡˜˜˜˜‘“ŽŽŽ“—“•’ˆ„ƒ„‡‹Š‹Šˆ‰ŠŠŽŠˆ†Žˆ‰†………‡‰†ˆŠ„…„‡…Šˆ‹‹Š‡ŒŒŽˆ‹‡‡‡‹‰„†……‡‰ƒƒƒŠ‡‡†‰‰‹ŠŠŒŽ…ƒ…„ƒ†ŠŒ†„…Œ‹‹‰…„ƒƒ„‰†‡ƒ‚€ŠŒ•’—”ސŒ‰‰ˆ‹‘Š‹‹‹ŽŽŽŒŽŽŠŠ‡‰ˆ‹…€€…ˆ’Ž‹’Š‹Šˆ……†‡ˆ‰‰‰Š‹Œ‹‹ŠŽŠˆ‚†„Œ……‚{{{‚|yz‚…ƒ†ƒƒ‚‚}ytX><Pisy|}€€€€‚~€|€~ƒ}{€ˆ„‡ˆ…†‹’ ›››˜œ“ŽŽ†„wtu„{rplkaa]ZXZZ[Y^`dipkljjkqmnijjpqqotogemeŠ‹‹Š‹ŽŽ‘“’‘‘‘‘’ŽŽ†††‰‰Ž“‘’‘‹‰‘”–•™šžžŸž¡¤£¢¢¡¢¡¢£££¥¦¨¨¨¨©¦§§§§©§¨££££ ¤ ¡ ¢¤¥§¨¦¦£¤£¢¡ œŸžœœ“Œ€qeWVWYWVQPMQNYcyŽœ§©ª¬°¬ªšŒwb_Uaju€Ž›¡§¨©«««©«¥¬©¯¬¯±±®±«®­­«¬­¬«¯¯°¯±°°¯®­­©®­°±³³³±³°°­¯®±²¶µ·´´´¶¶¸µ³°¬§©©«®¯­¬ª«£¢ ¢¢¥§©ª¬¬­¬­ªª¨¬ªªª¨¥§¨¬«­®°­°°´³¯¬¯®®®®¯¯¨§§¨¦§¥¥££¡£ŸŸž››šœ›š™””’‘ŽŽ‘‘—“Œ‹†„ƒ‡‹ŠŠ‹Š‰‹‹ŒŠˆ‡‰ˆˆ††„‡ˆŠˆ„„…„†††††ƒ…†Š‹Žˆ‡„‡ˆˆˆ…‡‰‡††…ƒƒ††……†‰‹‹ˆ…„„ƒ‚„„„ˆ‰Š‰‡†…ˆˆ‰ˆ‡„‚|‚……‡†„}€‚ƒƒ‰Œ‘‘ŽŽŽ‹Š‰‰‰Œ‹ŒŒŒ‹Œ‹ŒŠŒ‹‰††††††‚€€‰ŒŒŒŒ‰ŒŠŠ‰‹†‰…‡ˆ†„ˆ‰‹ŒŒ‹Œ‹‹‹‹‹ˆˆƒ„ƒ†‰Š…„yu{}~|‚{{|€‚‚‡ƒ‚€~{wfREUcltwz}}}||||~~€}~~{‚‚ƒƒ…‰‘“’Ž‹•œžž™˜—’Ž‰†zxw…„}wtsi`_^\YZ[[[^_beefhhjjkkmikkmlllnjfaa`‹ŒŒŒŒŒŽ‘‘•“’“‘Ž“”ŽŒ‹ŒŒ“‘“’ŽŒ‹‰Œ”“˜˜™œŸ ¢ŸŸŸŸ¤ ¢ ££¤£¦£¤£¥¦§¤ªª¬ª®®­¥©¨ª¨­¦§¥¦¡¢¡¤£¤¤¨¤¥¦§¦¦£¤¤£œ ™‰‚th]QPQSZSQONOS`ož£²¨®®­¬ª~kZZXan|‘–¢£¨¬°¬®ªªª¬¬­©°¯²²±°°®¯¯±«­­­¬¯°³®µ°±¯µ¬­­®­·¶¶´¶²³°°°°°µ³¼µ¼´µ´¸·¹²®¬ªª²ª°¯®®®ª«¥¦¢£¤¦ª±°±­®¬¬«®§««­ª¨¥§¨¬­²­´­´±´°®¬´¯±±°°±©ª§©¥§¥¨¢¤£¤ ¡ž›œœ  ¡žž˜™”•‘”‘––—”˜‘ŒŒ†…‚†‹‰‰‰Ž‘Š‰ˆˆˆ‰‡†ˆ‹ŽŒŒ„ƒƒ…„‰ˆ†‡‡‡†…‰‹‡‡„‰ˆŠ‡„„‡‡Š‡†…ƒ‡…„„†‹“Ї…††ˆˆ‡„„ˆ‰‰‰Œ…‡‡‹‡ˆ‚|~†„‹‡†~€„‡Š‰Œ‘‘•ŽŽŽ’ŽŽŽŽŽ•ŒŒ‹‹Ž’‘Š††ˆˆ‹†ˆ‡†‡”ŒŽŽŒŒŒŒ…ˆ‹ˆŠ‰™ŽŽŒŒ‹Š‹‹“ŒŠ†‡†Ž‰Š…„ysw‚}}}}…‚‡‡‡„††‡€‚{zob]\agpuy‚€|~|€‚„„…†€€ƒƒƒ„…ƒ‡›šš”‘‘˜›¤¤¦£¤¢™–”•Ž‰ˆ€€~‡…zwqjda_a\\\\]^`accchhnkjjmllmpmomqieccc‹ŠŠ‹Œ’‘’’‘ŽŽ‹ŒŽŒŒ‹‹ŠŽ“’‘‘ŒŒŠŒŽ“”™™›œž  šœšžŸŸ  Ÿ¡ ¡¡¤£¤¤¦¢¤¥©ª©¨ª¬¨¥¥¦ª§§¦¦£¥ ¡¡¥¤£¤¤¤¥¢¥¨£¡ œ˜™›‘Š~qg[WOOOSSQNNNTWgv‰ž¤¨¨¨­¨£„pdT^cnx€Š—¡£¥©®®ª©©¨¨««¬ª°°®­«¨¯­¯«¬ªªª­­­­®®¯¬®«ªª­®®®¯¯²³³²±°°®°±µ³·µ´´´³´²°¬«§«­±ª¬«ª©©§¨¥¥¢£¨©¬¬¬­«¬«­ªª§ªª«©§¥§¨¬¬¯­°­¯®®­­¬³®±¯¯®°©©§ª¢¦¤¢  žŸœžœœšœ¡¡¢šž—•‘“‘“’“”“•”˜ŽŒ†…‚……†‡‹ˆ‰‰‹ŽŽ‹‹‹‡†……‡‹‰ˆ†…„„ƒƒƒ„‚„‡‡ƒ……Љ‡ƒƒ„Ї†††……„††‡‡†‚‡ƒƒƒˆ‹‰ˆ…ƒ†‡‡††ƒ†‰Š‰‹ŒŒ…„ƒ†ˆ…|~€‡„„ƒ€}€‡Œ‹‹ŒŽŽŽ‘‘‹ŒŒŒ‰ŒŽ’‘‡††ˆ‡…‚ˆ…ˆ‹ŽŒ‹‰ŽŠ‡‡††…††ˆˆ‹Œ’Œ‹Œ‹‹‹‹ŽŒŒŠ‰ˆ‡ˆŽŠ‰ˆzpw}z}~~„‚‡…†…„ƒ‚~}{wphecinwy~}{|{€ƒƒ„…†€€€‚ƒ‡‰„‚—œ ™—•š¢¢£¢¡›™–”•’Žˆˆƒƒ‚†‡„}yqmhea`]^___`ab_`_bcilkimmmnpjkjjheccaމˆ‹““™’‘‘’ŒŒŒŒŽŒŽŽŽ“Ž‘••”’’‘‘“”›ššœŸœžžœžžžŸ¡ ¡¡¢¡££¨¨©¦§¤¦¥©©©©§§§¥¦¥ª§§¦¥¦¥¥¥¦¬¤¢£¦£«¢¦£¡Ÿœž–™‰qf]RONNPPXRPLNV^m¨¨¬ª¬©°—xe_X`lx‹”™¥£¦¥«­®¬ª©¨¨¯ª¬ª°­¬«ª©°¯¯­°¬­ª¬­®®®®¯¬°«­¬±±±¯±¯³²³²±±²²²³µ³¸´´µº´·°®««ª®®±ª¬¬«ªª««¨©¢¥§¬¬¬¬®­±«®ª«««ªª¨§¨ª¨¬«²­µ­¯­«¬²³³±±±²®°ª­©«£¦ ŸŸ¡Ÿ¡Ÿ›œ›¡Ÿ¨¢£˜ž–”“™“”“˜—˜“–——ŽŠ†…„‰ŠŠ‰‹‹‹‹‹Ž‰††‡…‰Š’‰††‡…‡†………‚„‰„‰‡Š…„І…†Š†…………ˆ‡‡„ˆƒ„„‹ˆ‡†…ƒ‰‰Š†……‰ŠŽŒ’Œ…ƒ‚……ƒ~‚ˆ„‡€~~‚†”••“‘‘’ŽŽŽ‘‘‘‘“˜‘Š‹Œ‹’‘ˆ†…†ƒƒ‡ˆ‘ŒŠ‰‹‰ˆˆ‡‰†…‡‰ˆ‹•‘”ŽŒ‹•‹‹ŒŽŒŒŽŠ‹€tt„~||‚‡…„„‡‡ˆ‰Šƒƒ~€~tmjkpxz}}|{||†…„„…†‡‚‚€ˆ†Žˆ„‰—™¢ ¡›š¢Ÿ§¤¥¢  ¢ ž•š“•‰ˆ‡‰…yzoifgfgddddacaa^bbhjommmropljhhhhehc‡‰ŒŽ’’’’Ž‘‰Œ‰ŠŠŠ‹ŽŽŽŽ‘“•‘‘‘‘‘‘’”•—™™œœœžž››œžžžž  ¡¡¢£¤£¥¥¥££¢¢¤¤££¢¤¤¤¤¦¥§¢¥¦§©¦§¦££¢¤£¡œ›››˜˜™‘Š~qdWSNPNQURPONNNYduˆ”£¨©ª§¤¢|n\_]kxƒ’–›Ÿ££¥¤¥¥§£¦¥¨©ªª©©«¬­¦«ª¯¯®«­­­ªª©©©ª«««««­®²­®­°¯°¯³­°°²²´¶µ³²³´µ´®­¬®ªªª®¬«ªª¨©©ªª¨¥¤£¥¥­¨««­­­¬®¦¦¤¤¤§¦©®¨¦¬©­­«©©¥««®­­©¬««ªª©¨¤¡žžžžžœœ™›œ¡¡£Ÿœ˜—“““•“““”•–“–’‘Œ†††ˆˆ‰Š‹ŒŒŒŒ‹ŽŒŠ†………†‰‰‰„ƒ……†ƒ‚„……€ƒ‡……†‡†…………‚ˆ†„ƒˆ‚…„„„‡‚‚‡……„……‰Š‹ŒŒ‹€……ƒ€‚ƒƒƒ€{}‡Œ’‘’‘‘ŽŒ‹Œ‘‘“”˜‘‹‹ŠŠ‰‹‹Ž“Šˆ…†‚ƒƒˆ‹ŠŠ‡ˆ†‰‹‰‡‡††‡ˆ‡Œ‘”‹‹Ž‹ŠŠŽ‹‰Š‹Ž‰yxz€}}}ƒ†‡…„…„…ƒ„ƒ€€~}ztqrt{|}~~{}}…Ї…„ƒ„ƒˆ†‰ˆŠ”œžŸ¡žœžŸ¡¢££¢¡¢£Ÿ—𓓐‹ŒŽŽŠ…{smhklgedddaa`a\\]ffommnmmmmledddcedŽ‘ŽŽŽ‘•Ž‰Œ‰Ž‹‘Ž“•”–‘‘’—”•’“”š’“’˜–œœ¢Ÿ ›œœ››œ¡¡¡¡¢¢¥¢¤¥©£¥¡  £¢¡¢¦¡¢¢¤¤¨¤§¤§¨©ª©§§¦¥£§¦¥šš›™ ˜™Š†th\PMJLOPWSRMLLN]j}”›¦¥­®¯š’}nfZ^cp†‹›ŸŸ¨¨©£¥¥¥¤§¥­««¬¬«°ª¬«¬¨ªªµ¯®­®¯¯¯¯§©©©ª±¯´®°°³²±±±°²±´³µµ¶¶º¶¸³¶³¹³³®¯«®¯²ª®ª«ª©©¬ª¯©¦¤¤¦¨¨­¨«­±­¶®¯¨¨£¦¤¬¬­ª¦¦¬«¯«ª©¨¨¬«°«¬©°ªª«¬¦¢ œ¡ž   ¡¢žœŸ ¥¢¤š˜˜”—”™•——Ÿ–—–—“•†‰‰Œ‹—’ŒŽŽ‰ˆˆ‹‹‹‰Ž‹‹…ƒ„‹†…‚‚‡ƒƒ‚„ƒ……†‚‚†…„…‰†„………„ƒ‡…ƒƒˆ‡‡‡„††‡††…„ƒ‡‡‰ŠŽŒŠ‹ƒƒ‚‹„ƒƒ‚ƒ……†€}}ƒ““““—‘‘‹Š’‘‘—˜š‘ŠŠ‹‹‹Œ’“•‹…†ƒƒ†ŽŽŽŠŠ‡‰‡ŠŠ‰Œ‡ˆ‰‹Œ’‘“””‹Œ‹”ŽŒ‰‘Œ‹‹ŠŒ•‘…|xz~†€††ŠˆŠ‡ˆ…‹†‰ƒ‚ˆ‰Œ€~}}{yz|~€…‰ˆ‹……„„…‰ŠŒŒ‘‘’–Ÿ¡¢¤£¬Ÿ¡¡¨¨©¥¨¢ š™”””™’’𔓋ކ†ypospjhieiba`_]X]dfpntpmntmnfgbcbedŒŠŒŽŽŽŽŽŽŒŠ‰‰ŠŠŠŒŒŽŽŽ““—””’”˜•“““——›Ÿœ››œ™š™›  ¡¡£££¢£¥¢ŸœžžŸ ¡¡ ž¢¡¢¢¥£¤¥¥££¤ª¦§¤££ ›–˜”–•’ŽqfXRMLKNPQSQPMJNQar†›Ÿ£¤¤¢žq`^^hox…•™œŸ ¢£¢ ¢¤££¤¤¨¦¨¨©¨¨¥«©©§©©ª«¬¬®¬«©¨§¨©ªª¯®²®°°±±²²±¯±±²²´µ¶¹·´µ³³³²­¬ª°¬­­±«©¦§¥§©©§§§¦£¥¦¨©©©¬­­­®ª¨§¨¤¥¤­«¬¦¥¥©«©§¦¦©¨¨©¨¨¨¦©§¨§§£ ž™Ÿ¡ ŸŸŸŸžž¡¥£ ž™—””’”“”“—––’‘’‘‘‡‰Š‹ŒŒŽŒ‹‹ŒŒ†‰ˆˆ‡ˆ‰Š‹‡‡††ƒƒ~ƒƒ‚‚ƒ‚‚‚‚„„ƒ„……„ƒ„††„„†€„ƒ‡‰Œˆˆ„…€ƒ‚†ˆˆ‡ŠŒŠ…„ƒƒ‚†ƒ‚‚……€}}}ƒ‡Ž’’““•ŽŽŒŠŽŽ‘–𖑐‰ˆˆ‹‹ŒŒŒŒ‹Š†„ƒ‡‰Ž‹‡Š†††‰ˆˆˆŒ†‰ŽŽŽ’ŽŠŠ‹ŽŽ‹‰‰ˆ‰‡‹‹ŒŒˆ}y~‚€‚…†Š†ˆˆˆ…‡††ƒ„…ˆ‡†z||}€‚‚ƒ…‡ˆ‰Š‡†††ƒ†ˆ‹ŒŒ‘„ˆŽœ¡¥¦£§™¢ŸŸ¡¥£¤¡ ›š••”••””—•“Œ‹‹‡~wtuvqkiefa^\_aaadglntuonoljfg```bcŠŒŒ‘Œ‹Œ‘ŠŠ‰ŒŒŒŒ•”Ž‘Ž‘™”—˜—––””•——žžžŸŸŸž›œœœ› Ÿ¤¡¡£¦¥¨¢£Ÿœœœž¢¢¤¡¢¡¡¢¢¢¡¡¥¢¥¤¤¢¨¤¬§§¢¥ œœ›–™™š‰‚sf[PMKMPRTUUQOKIPVh}§¦­ª±ŸŸ„shZ^al}„‹’œ›ž ¥¡¢ ŸŸ¡¤©ª«©¯§ª¨«¦¨¦ª¨©©­¬±ª­¬®«¬ª®«°©®¬°±²²²±µ±²±±°´³¶´¹¹¸·¶´ºµ·±°«««±¯²­±ªªªª¦¦©«ª«¨«¦©¦­ª¯¬±¯³¬®©ª§©¦¨¨®««¨«§¨¦¥¥¥¦©§¨©­««¨¬§©¦¨¢ žŸŸŸž¢  ¡¡ž§¦¥¤£›—•••“—•–”—––’”““’‘ŽŽ‹‘‹Š‹Œ‹‹‘ŠŠ‹‹ˆ‡†‡‰‰‹‰ˆ‡‡„‚†…‰‚€…‚†‚‚ƒ‡ƒ†††…‰ˆŽ„‚‚…„„‡‹‹‰ˆ………‡ƒƒƒƒ…ˆŠ‡‰‰Š„„‚‹‚†„ƒƒƒ…†|}ƒ‹Ž–—˜—–“”””ŽŽ’’’’‘’••”ސˆ‡ˆ‹‹ŽŒ‹Œ‡ƒƒ‰‰ŒŽ‘Š†Š‰Š†‹‰Šˆ‡Š‹™’’‘ˆ‡ŒŽŒŠ‰ŽŠŒ‰Ž‹ŒŒ†‡„„‚†………†‹ˆŠ‰‹…‰††„‰ˆ‡‡}ƒƒ‡‡…„…‡Œ‰‹‹Š‡‡‡Œ‹‹Š–‘‘‘‘ƒ‡œœ¡¦«¤££¤ŸžŸ©¤¨ ¡ ¢–‘“™š–š–•‘Ž„{zqkik`[Z`cjjhhkoxsqqqkgegbaaabŒŠŒŒŒŠ‰ˆˆˆ‰‰‰‰ŒŒŽŽ’ŠŠ‹Ž‘“’’”•–‘–“–———œšœžž™œœœœŸŸ£¡¢¤¥¤Ÿœ›˜™–œŸ¡¢£¡£¡ £¡¢¢£¢¦¢¢¢¥¤¤¤¢¡ œ™•””‰~qfYTKMLPUTSQQPNNMV_q†“¤¦¦¥¦—‰yhaYcjw‡‹’˜œ £¤¡ŸžžŸ¡¤©¨¨¨¨§¨§§¦¦¦ª¨¨©­­­«ª©ª¨«©¬«¬ª¯­¬«®¯²±±±²°°°²±±²²³³³·µµµ±¬ª¨«¬®®®®ª¤¤£ª¨¨§¨¨ª¦ª¦§§§§­¬®¬¬«¨¦¦¦§¦©©©©ª§ª§¨¢£¤¦§§§§¦­«ª¨§§¨¥§¡  Ÿ›žžœœ¢ž¦¢¡™™–•”–•–••”—’‘‘‘Ž’ŒŒ‘‘ŠŠ†ŠŠŒ‹‹‹Š‡‰ŠŠˆ‡†‰ŠŽˆŠ‰‰‡†…„‚ƒƒ…ƒ‚‚ƒ„‚‚‚ƒ‚„…†‚€……ˆ‰‡‡†‡‡†…„ƒ‚ƒ…‡Šˆ‡†‡ˆˆ€‚„‚„ƒƒƒƒ‚€zz{„ސ’“”––•••““ŽŽŽ’‘“““ŽŠ‰„‡ˆŒŒŒŒŽŠŠŠˆƒ‚„Š‹‹ŠŽ‘ŠŠ‡‡†††Œ‹Š‰‹‡Š‰ŽŽŒ‰„ˆŒŒŒ‹Š‰‰Ž‰‰‰Š‰Œ‹„~ƒ………„‚€†…††‡‡‰ˆŠ„„„…„†‡Œ…„~~ƒ…„…††ˆ‰Šˆˆ‡‡„ˆ‡‰‰‹Œ‘‘•–ƒ}z˜ž¢§¦¥¤¤¢ŸŸ£¡  ¡ž¡˜•“›™™••–”ŽŽˆ‚z}|yutrn^[Zadfghhlowqqplgfddddcb`ŽŒŒ‰Š‰ˆˆŠ‡ˆŠ‘‘’Ž’“ŒŠŠŽ‘““’”““”•–˜•›˜™™›š Ÿ¡žžŸœ›¡Ÿ££«¤§ž˜˜ššž¡¤¥¥¤¤££¢£££¡£¢¤£¦¨©¥©£¨¢¢ Ÿ™–––Š…ui\PLJJNQYWXROMLMP]j{”š¨¦«©©m^YXbr}‘””š™ŸŸ¥¥¥ žžž £¦«¨¬¨¦§¬­­©ªª«©­©­­­ª¨¨©¨«©°¬®¬°¬«­°²¸±±±²±´°µ²²²³³´²·³³±¯««ª±®¯®´¬§¤¤¥«¨§¦¨¨©§«§«§¨¦®¬°ª­¦£¦¤¦©¨®©©ªª©¯¨§¤ªª«©­¨©ª¯«¬¨¯ª¨¤¦ ¨¡¡›£žœœž£¡¦ ¢žž–›“–—š™™”–“”‘‘Ž’’Œ“’‰‰‡‹‰‹‹‰‰ˆ‹‹Š‰‰Œ‹‹‹‡……‡‡ˆ‰‰„†€ƒ‚‡ƒ‰…„…Š‚ƒ…ƒ‚ƒ‡…ŠŠ‡‡‡…Ї‡„ƒ…‹Š‹ŒŒ‰ˆ†ˆ†„„„ˆ……„‰†ˆ€~|‚А˜•˜–•””––“‘‘‘“’—““ŽŒˆˆˆˆŠŒŒ‰ˆ†‚‡’ސ‘‘’‹“‘‡…‡ŒŒ‹ˆŽŽŽŽ‘ˆ……Œ‹“Œˆ‡‡‰ŽŠŠŠŒŒ‹ƒ‚‰‹’†„…††‡†††‰ŠŠ‰…„…†…‡†Œ†…ƒ†„„†‰…†‰‹Ž‡‰††„ˆ‡Š‰Œ“–Ÿ˜yfw’œ¦¥¤¤³ª¨¡¢¢¦¢¢¡¡¡¢››š›œž–••˜–•Š‰ƒ‚€~~}xra]afffghioowwyojfefigedfb‹ŒŠ‰†…„ˆ‡‡…ˆ‰‹ŒŽŽŒŠŠŽ“’”“““•———˜˜™šœ›žžœžžžž›œ  £¤£Ÿž™—–›¡¤¤¥¥¤¥£¢   ¡¡¡ ¥¢¤¤¥£¢¢ ›››š•Ž‹vi\VKKJNQSWWUSNMKQVgu†™ž¦¥¤¡œ†seUZ[hvŒ‘–••ššžŸŸŸŸœžž¡¢¥¦¨¨©§§¨¬««¨ª¤¤¥¨§¨ªª§¥¤¨¨©ª­¬¬¬«ª¬®°±²¯±­°±°°µ²²±³°²²³¯®ª«©«ª°®¬©§¦¥¤¤¤¦§§¦§§©¨©¦¦¥¦¦§¦¦¥¤ ¢¥¥¤©«ª¨§§¨¨¨¤¤£¦¦ª¥¥¥©°®¬¬©«¬¥¢¢ ¡ž››››œž ¢¡ œ›˜˜˜——›“””™—–”–“”Ž‘Ž‹Œ‹‰Š†‰‰‹‹‹ˆˆ†‹‹‹‹Œ‹ŒŒŒ‹ŒŒŠ……„†…†‡ˆ„„‚‚‚‚‚‚ƒƒ„†‡‡†‰‚€…ƒ„„…ƒˆ‰†‚„…Ї…„…‡†…„„ƒ‚‰†‡ˆ†„…‡ˆ„…†‰„|~}„‹’“”˜”–’”–“’’‘““”’“ŽŒ†‰ˆ‹Œ‰‰‡‰ˆˆ‚€~…ŠŽŒŒ‹ŒŒ‹‘ˆˆˆ‹ˆŽ‹ŒŽŒŠˆ‚„…ŒŠ‹‡†„‡‡ŽŠŠŠŽ‰‡†‰Š‹ˆ‡‡‡ˆ‰‰ˆ‡‡‰ŒŠ†‡††„„ƒ‡†ƒ‚…‚‚‚„…††ˆŒŠ‡†‚‚‚…„††‡ˆŒŒ”˜™™‘qtz•› ž£¢ª©§¤¤¢¥£¢œœœš™˜›——–”“–™–“‘Šˆˆ‡†…ƒreiolgghjkoovwyngbefgggedbŽŽŽ‰‡†„…‰ˆˆ‰‰‰ŒŽŽŒŒŽ’’“‘“““”˜—š›››¢›žžžŸŸŸ¥¥¤ž£žŸ¡¦ ¢¡¡žœš™›£Ÿ§¦¦§ª¦©£¢¡¢¡¢¢¬¤§£¥¤©£¤  ™›››Š„sg^TPKIIMVXXXYTRMKT\n†’¤¤¬§§•zjaUY`k{…‘“˜šš››šŸŸžžž¢Ÿ¨¤©¥§¨ª§§¨®¬«¨©¤§¦¨©¨¨¨¦¥¤¦¨««³®¯ª¬¬±°°±³°±°·±º±µ²´²´²¶±²­­«®­®«±®®§¦¦§¥£¤¦§¨¨¨§ª¨­§¦¤ª©§¥ª¡žž¡¤©§««ª§¦¦©¨¨§¦¤§§ª¥¨¥¨­­­­¬¬¦¤¤¤££Ÿ¢¡ ž¢¡§§§ ž›››››››œ””•˜˜–––“•Ž‘ސŒ‘‹Š‰Š‹Œ‰Ž‘‹‹‹‹‹ŒŽŒ’Œ‹ŽŠ‰…‡‡†‡‡‰Œ„‡†††‡†…†‹‹ŠˆŒ‡ˆ‚€€†ƒ……ˆ‡ˆ„„„…‹…„„ˆ‰†…ƒƒ‚Љ‰‡ŽŠˆ‡†Š€~€…‘˜••”™––’”“‘‘˜’“’’’””˜’“ŽŒŠ‰‹Ž‰‰‰Š‰‰€~‚‹‰“‹‰‰Œ‘‰‹ŠŽŽŒŒ‹ŠŽ‘‰…‚„ˆŠ‹‡‡‡ˆŠŽ’ˆ‡‡Š‹‰‹ˆŠŠ‹‹Š‹Œ†ƒ†‰…ƒ‚ˆ„ƒƒ……‹ˆ‡†‹‹ŒŠˆ‡†‚„‚‡…‹‹ŒŒ’’¢›’Œ†‰˜š¤£¤¢ª©¬ªªª«¥£ žœœ ››˜™–•“–—™––‘‘’Ž‹‹‚vtxwvljlooorxxzldaehnjmhee‰ˆ‡‡ˆˆˆˆ†ˆ‰Š‹ŒŒŠ‹‹‹Œ‘‘‘‘”•——šš››››žžž  ¡ ¢ž Ÿ ¡¡  Ÿ šžŸŸ¢Ÿ¡¡¤¦¥££¡£¢ž¡£¥¢¢¡¡¡ ŸŸœš™‘ށtgZTKPLMMOQTVWWTRRPZdw‰—¥¤¤¢¡~qab[bis€ˆ”˜œœšœ˜›œœŸŸ¢¢¤¤§§ª§§¨¨¨¨¨§¤§§¨¥¦¥¨¥¥¦¨©««­¬«¨¬¬°¯®¬³¯°°±²±±²³µ±²±±°­¨¬«®­«¨¨¨§¥¥¦§§¤¢¦¤¥¥§§§¨§§§¢£¢¡  ››œ¢¤§¦¦¦§¦¦¦¤¢¢ž¡¡¦¦ª£¥¥¨«¬§¨§¦¢£¡ ŸžŸ  Ÿ£¤¤£¤›š˜™˜™˜™™›”––˜˜•”““ŽŽŽŠ‘‹‹ˆ‰‰‹Š‹‰ŒŠˆ‹‹‹‹Š‰‘‹ˆ‡††„‡‡‡‰Š‹ˆƒ†„……ˆˆ‰‰ˆ‡‡‡Œ†‡ƒ„…†‡‡‡……„……„ƒƒ„‡†ˆ†…‚‚‚„ƒ…‡Š‹Š‰ˆ†……z|…А“—••”™—•’‘‘“’‘’’”‘ŽŽŽŒ‰ŒŽŽŒŒ‰‹Œ‰„~‚‡ŠŠ‰‰‡…‰Œ’’Œ‹‰Š‹Š‹Œ‹‹‰ŠŠ‡‡†…‚†‹‹ˆ‡„ˆˆŠŽ‹Œ‘Š†‡†ˆˆŠ‰Šˆ‹‹‹‹ŠŠ…………†‰…„‚‚‚‚…„Љ‡†Š‹Œ‰ˆˆ†ƒ‚ƒ„‰‰‹Œ’”Ÿ  ›—––˜šŸŸŸ¢¥©ª©©©¥¥¤¡žžœ››œ˜––•’““•—•”’‘‘‹…z{~xonnooquvvqid`ciiijjigˆ‰‡ŒŠŠŠ‹Œ’ŽŽŒŽ‘–Ž‘’”™–›™ž›œž›¤Ÿ  ¥¤¤ ¢¢£¤¤¢£ Ÿž ¢¥Ÿ¨£¢¢¢¢£¦¦¢££¤ ¢ ¥¥¥¤ª¡¢¡¡  š™Œ‡vk]PJFJNPQSSSTUUSQRUam™œ©¦­ Ÿ„sk`fkox…Ž˜™œœ£Ÿ¡œœœœ ž£Ÿ¢¢§¦­­®§¦§¨¨¨©¬««§©¤¥¤§¦¨¨®«««¬¬¬«²¯µ¯­¯´¯°°³±µ±²³»°´°°®¬¬­¬®«ªªª§§§¨§­¨¨¤§¤ª¨«§ª¨°§¨¢ª¢£Ÿž¡£¬¨«©«§ªª«¤¢£¤££¤§¦«¦¦¥¨¨«¦©¨§¢¤ žœ¡ ©¤¤£«¬¬¢£š›—ž™™™œ™š›œ˜œ—•–—‘“’—ŽŽŽ‹ŽŽŽŒ‘Œ‹Š‹ŒŠŠ‹‘ŒŠ‡‡‡††‰‡ŠˆŽ‰†ƒ‹‡ˆ†ŒŒˆˆ‡‹…†‚ƒ„Š‰ŠŠŠ††‡‡‡‹…„‚ƒ…Іˆ‡‡„††‡ƒ……†ˆ‹‰Š„‚~zx|ƒŽ•”˜——•˜˜›”•’–’‘‘˜’•ŽŽ‘‘“““‹‰ƒƒŠˆŠ‡……†‰‹’šŒŽŽ‹Ž‹‹‰ˆˆˆ………‡‰Šˆ‡‡‹ŠŒ”Œ‘Œ‰‡ˆ‡‹ˆ‹Š‘“ŽŒ‘‘‘‹‰ˆ‡†…†Š……ƒ„„„„‰‡‹‹‹‹ŠŠŒ‰‰†‡†ˆ‚‚ƒ‰‰Œ“•žŸª¢¦¤£¤¤Ÿžžžž¡¤ªª««¯¨©¨¨¡¡žœœšŸ˜š”•”“”““——˜˜™‘‹‰†…~~ttttqsx„unii`bflhhimgˆ‡‡†ˆ‰‹Š‹‹ŽŽŒ‹ŠŒŒŒŽŽ‘’“”—˜™šœœœœœ›žŸŸ£¡¢   ¡¡¡¡¢Ÿžž  ¡Ÿ¢¤£¢¢¢£§£¡ ŸŸ¡¡£¢£££ Ÿœ™˜”ƒxj]UIGEJRRSQPRSSSRRVZiwˆš £¤˜|ifamx‚ŒŽ’–š›››žžžœ›šœžŸŸž¢¢¥¦¬ª­¦§¨¨¨¨§ª«§£¤¡¥¥¦¦§¨«ª«©©§¬ª«««¬­­­­®®³±±±³³²®¬«¬¬¬¬¬¬®ª©¨©¥¥¤¤¤¤£¢¢¥¤§§«§©©©¨¨¢¢žžœŸ ¤¥¦¦¦§¨¥¥¥¥¡¢ž Ÿ¤§¨§«¥¥¥¦¥¥¢¢¢£¡¡ž  ©¤¥¥ª£¢ ˜™˜œ™˜—™™˜——˜–”“‘—ŽŽ’’’‹‹‹‘ŽŒŒŒŒŒ‹‹ˆˆˆ‰‹‹‹ˆ…ƒ††ˆ‡‰ˆ‡…„ƒ††‡‡Œ‹ŒŒˆˆ‡ˆ†…ƒƒ…ˆˆŠ†„ƒ„…‡†…‚‚ƒ…‡„ƒƒƒƒ„~€„„„„„„„|wxx‡Ž‘””’˜”–˜˜•”‘’’““’‘‘ŽŽŽ‹ŒŽŽŽŽŽ‹‰‡€„†‰ˆ††„†ˆŠ‹’“Œ‡ŠŒ‹ŠŽŒ‹‡‡…„„ˆ‹Š‰‰ˆˆˆ‹‹‹ŒŒŒŒ‹‰‰ˆˆ†††‹ŠŒŒŠŒŒˆˆˆˆˆ‡…‡…„ƒ„‚…†‡††‡ˆ…‡ˆ‰‡…………†‚ƒ†‡‹Œ“–ŸŸ£¢¥££  ¡ Ÿ¡£¦¥¥¥¦§§§§¢¢ Ÿ›šš ˜˜••–•“”““““‘ŽŠ‰‡~~utsrruyzsmfiaddddfhhhЇ‡‡Š‹‹‹‘ŽŒŒ’ŒŽŽ’’“”““—˜˜˜œ›ŸŸŸœŸŸŸŸŸ¡¤£§¡Ÿ £¢¢¢¢¡¨¡¡¡¢ ¢£¤¢§£¤¢ ¡¡¡¡Ÿ£¢¥¥¥¤£ž ™˜ŽŒyo`RLEEFIQV[TQRVVWQQYap„’¨¨©£¦‘„teedožŸŸ  ¡¢¡§› œ›››¡ ¡Ÿ£žœŸ¡¤ª¨­¬®©¬«°©¨§ª§¦¤§¥«««¦¯¨¬ª°ª©¨«¬®ª±²³¯²­±®³²²²³°¯«©ª­®¯®°®¯°°¨ª¥¥¥¦¥¨¤££¤¥«ª¬­­¬­«ª¢£Ÿ £¤­¦§¨¨§«¨«¥§¡£¢¢¡¨ª­¨«§«§¨¦§££¤ª¢¢¡¡£¥£ª§«ª«¢§žœš—¡™˜–›¡—”“”‘—Ž‘˜’””“‘‘‘“““‘ŽŒ‘‹Š‹Œ’‹Šˆ„‚‡†‹ˆ‰…„„„„‡‡ŒŒŒŒŒŒ‹Š‹Š‰‰‹…„€‚Œ†„ƒƒƒ††‰„†„ƒƒƒ€‚‰………ˆƒ„}ywy~‡Œ•‘“’˜”•–˜–—“•’›–—‘Ž’Ž”‹Œ”Šˆ††Œ‰‰‰…‰‰ˆ‰‘”Ž‰Š–“Œˆ‰…„†ŽŽŽ‰‰ˆŒŠŽŒŒŒ“ŒŠ‰ˆˆŠ…‡‡Œ‹‘ŒŽŽŒˆŠŠ‘ŒŒ†‹†„„…ƒŠ‡ˆˆˆ‡‹‰‰ŠŒ†……ˆ‡‡‡†‡ˆ†‹™™  ¦¢¦¥§¨©¥§¥¥¥¤¢¨¥¦¤©¨¨©©¥ª¢£ž››¡›œ›š••“““‘‘““”‰‰w|zyuxxxqliiiiffeeglh‹ˆˆˆŠ‹ŒŒŽŽ‹ŽŽ‹Ž’Œ‹ŠŒ‘‘’“””–•˜™œœŸ›œœœœŸŸ ¡¤¤£¢Ÿžžœž£¢£     £££££¡ Ÿ     Ÿ ¡¢  š—”’†~n`VJGEHIMQUZXSRRQPQS^fx—¤¥¦ œŒ{qehl{Œ“Ÿ£¥§¨¦¤¤¡¡œœšŸŸŸ¡¡¡Ÿžž ¢¥¦¨¨¨¥¨¨«¬¬ª¨§§£¤£¦¦§§§¦§¨¨¦ª§©«¬¬­©°±±®®­¯®³±±±¯­¯¦ªª­­­¬¬¬¬­«¥¥¢£¤£¢¢¡£¤¥¦¬¤¤¥¤£££¢Ÿž£¥§¨­¦§¨¨¦¨§¨¦§¢¢¡¢£ªª©§§¦©¨©¦¦££¦¦¢¡¡£¤¥£¦¦¨¥¤ ž™˜——˜˜˜—˜˜š›™•’‘‘‘’“’’’‘‘“”’‘’ŒŒŽ‰ŒŒŽ‹ŠŒŒ‹‹Žˆ‰ƒ‚‚†„……ƒ~‚„……ŽŒŒŒŠŠ‰ŠŠŒ‹‰‹ˆ‡‡†„„‚‚~ƒ…†…„„„ƒ‚‚‚‚‚……ƒ‚‚ƒ€}xxx†‘‘‘’’”“””—–—““’–”‘ŒŒŽ‹ŠŠˆŠ‹ŒŒ‹ˆˆ‰‰‰‰‡‰†‡‡‰‹‘Ž‹Š‰Œ’‘’Љ†„‚…‡‰†…„†…ˆŠŒ‹‰‹ŒŒ‹‰ˆˆ†‡†‡‡Œ‹ŒŽ‹Œˆˆ‡‹Š†‰ˆ†‚ƒƒ†…ˆ‰ˆ„‰ˆŠ„‹†…„„„…„‡Š‡‚Œ—™œœ¡¢£¢¥ž§¢¦£¤ ¢  ¡¡ ŸŸ¢££¢£££¡ž›ššœš™–˜˜—”‘‹xƒˆˆˆ…€~w{yxvyxqklljhhieacefg‹‹‹‹‹Ž’ŒŽŠ‘ŽŒŽ’‹‰‰‹“”™™˜——˜œ¢žŸ¡œŸ¢Ÿ£¢§£¥¢¡¡ Ÿ ›£¡¦¢¢¡¡ ¤¢¤¤¨££ ¡¡¦¦§§¨¢¥¤¤Ÿ šš•~seWNDEGIMQUX\YWSVONRWdr€•Ÿ­¨«œ–†yqhlt˜›¤§¬¬±©«§ª¡£žœ££¥¥¥¦¥¥¥¦¨§ª¦¨©©§¬¨²¬¬«ª§§¥¤¥¦§ª©©§¬©«§¯©«­¯¬­©®±¶µµ­±°³±´®­­®®°«²¯¯®°«ªª«¥¥¤ª££¡¥¤£¤¦§¬¤¦¤¤£©¡£ ¡¤««¬ª®¦ª©ªª¬©ª¦¦¥££¥§¬ªª§ª©®¨©¦§¥¤¥§¡¡¡©¥¦¥©¨®¤¢žœ˜žœœš›š›¡˜›™—’’•“˜—–––’“’’’™–—’“ސŒ‘Œ‹ŒŒ‹ˆ‰ƒ‚ƒ‡††ƒ€€‡‡ŠŠ‘Œ‰Šˆ‘ŽŽ‹†‡„……„…†‡‡‚€€ˆ†Š…‡ƒƒƒ‚ƒ„„†„„ƒ‚ƒ~{{{ˆŽ—‘“’’–’™˜˜”œ˜—–š•˜“Ž”’‘Ž‘‹‹ŠŒ‹‹‘“’“ŠŒ‰Ž‡‡ˆŒŒ’ŽŒ‹‘”””‘Œ‹…„…‹Œ…†…ˆ†‰‹ŒŒŒŒŒŒŒŒˆˆˆŽŽŒŽŽŒ‹‹ˆŠŠˆ†ŒŒ†‰ˆˆ‡Š‰Ž‡‰ˆ‹‹‹…†„„„†‡ˆ‡†”œœ›¢¢£¤¥¦§¥¥¤¥¤¦¢  ¤ŸœŸ¡¦¢£¤¨¢¤Ÿ›Ÿž¡œžœ¥žž——Žrq|Šˆˆ„~|{{||€upillomslfdcchi‰‰Š‹’‹Š‰‹Š‹ŒŽŒŒŠŠŠ“•™—˜˜ššœœžžžŸ  Ÿ¡¡¡Ÿžžžœ ›¡ ¡Ÿ££¤¡¢¡¡¡£¡£ž¡¡¥¢¡Ÿžž›™•ˆrf\OKEHJORUY[][YTQPMU[k{Œ £¦¤¥—‹€tspy‰•›¡¥ª­¯¯¨§¤£ ŸžžŸ£¦©­©¦¥¤§¨©¨¨¨¨¥¨¨©§¨§¦££¤¥¥¦¨¨¨¦£¥¥«©©§ªª­¯¯««ª®®²²´­°°±®­©©©¬«¬¬¯°¯­­ª«¦¤£££¤¢¢¡£¢¤¦§§§¤¥¥¥¢¡ž¢Ÿ¦¬«©ª«¯§ª©ª©©¦¦¤¦¦¦¥¨ª«¦¦¦©©©¨§¦§©¥¥¤¢¢£¨¦¥£¨¦¦¢ ˜šœ›››š™—–”“’””””’‘ŽŽŽ’’“”𖔐Š‹ŠŒŽ‹Œ‰‹‹Š‹ˆ‰ƒ„…ˆ†€|‚‡ˆ‰ŒŒŽŠŒ‰‰‰ŒŒŠŠ‰Š…ƒ„…„‚ƒ~€„†„‚ƒƒƒ€ƒ…††…ƒ„‚}zz{€…Œ‘‘’’‘‘”’”––•›˜˜˜™••‘‹”•“ŒŒŠ‹‹Œ‘’‘ŠŒ‰‰ˆˆ‰Šˆ‰Œ‹ŽŽŒŒ…†‡‹‹„……†„Š‹‹‹‹‡ŒŠ‹ŒŒ‡ˆ‡ˆ‰‰‰Œ‹ŒŒ†‰‰‰‰‹†ˆˆˆ†Ž‹‹‡ˆˆ‰‡‰Š‰†‰‡‹Š‹„ƒ‚‚‚‡‰‹…‡‡—œœ››¡¡£ ¡¡  ¥££¢££¡ž ŸžŸœž¤¡¢¢¡ Ÿœœ›œšŸžžž—˜{k‚Љ‰†‚z||}€~qpiikkknmkhfaab‰‰ŽŽŽŠˆ‰Œ‹Œ’‹‹Œ“”™™š˜š››œŸž¡§¤¤¢¡Ÿ¡  žž žžŸ Ÿ£¡¤¤ª¢¦¢¨¤¤¤£¤¦¢¤¢£   Ÿœœ‘~wh[TKGEIOSYZ[]_][SPOPYbsˆ“¦¢¬¥¦’†~usv~”œ¢¢¨©¯¯¯§¥£¡ŸŸŸ¥¢¨¨®ªª¨©ª¯­³«©ªª«­¬¬¬­¦££§¤§¥©¨ª¦¥¤§§ª©­«ªª±°µ«®¯®¯²²´µ¸°²­¬¬¬¬±­³­°±²¯­©¬¦¤¢¥¦¦¥¥¢¥¥¦¨ª©©©ª¨¦Ÿž £¦±«®¬¬«²¨ª©­©©¥¦¨¬¨«§¬ª¯¤§§¯©ª§¦¥¥¤¥¥¥¥¦§¯§ª©¨¦§¡ Ÿžžž¢¡››™—’•”””œ——‘ŽŽ•–Ÿ”š•”ŒŒŽ‘𐒐‹ŽŽŽŒ‹‹‹Š‡Ž†‰€†€ˆŠ“‘Œ‹ŒŒŠŠŒ‰Š„‡†‡„„€}}‚„„ƒˆ‚‚‚…„‡‡‰†ˆ‚||{{€‡ˆ’‘“™‘–’˜••–™™š˜™šŸ™œ’“““’‘“™——’•ŒŽ‹›•™‘’Œˆˆ‘Ž’Ž•‘‘’ŒŽ‰ˆŠ’ŒŠƒ†‡ŒŽ‘Œ‹Œ‹Œ‹‹‹Œ‰Šˆ‰‹ŒŒ‹ŽŒŒŒ‡‡‡‰‰Œˆ‡‡Œ‰“ŒŽŽŽˆˆ‡Š‡ŒŠŒ…ƒ‚†„ˆˆŠˆŒ’˜¡œœ› ¡¤¡£££¢¥¤¦¦¦¦¦¡¡¡¢ž›¤¤¤¡©¤«£¢œ›œ¡ž¤žŸš™’‡†ˆŒ††|~~|ophfhjlomronc`_‰Š‹‹‹‹Žˆ‰Š‹‡‰‹ŒŒŽ‘”––™™™—››››œœžœ¤ ¡¢ŸŸœšš›Ÿœ›žŸŸ£ ¤¡¢ž Ÿ¢¤¤¤¤¤§ ¡¢¡Ÿ˜——‹sf]QNKJHLPTZZZ[]\ZTNQS`k|˜¢¡¢ {ry}†“˜œœœŸ ¢£§¨©¥¤¢¡   ££¥¦§§©ª«­¯®¯­­­­­­©«©¨££¢¢¢§¤¦§ª¢¤¤§§©¥§©ª§¬­¬¬­­°±²²²²²°­«¬ª­®±««ªª«ª§¨§§££¡¤¥¥¥¤¢¥¦©«ªª§¦£žž›Ÿ¡¨«««««ªª±¨ªªª§§¥¨«¬§¨§¬©¨¤§¨¨©¨¦¥£¤¤¤¢¥¥§¨°§§¦¥¢¡  ŸžœžžŸ › —–’’“‘””—•’ŠŽ“”••“’Ž‹Ž‘“”‹‡‡ˆŠˆ‰‡Œˆ‰…†…އ„€ƒƒ„†‰‹ŽŽŽ‹Œ‹‹‹‹‰‰‹‡‰ˆ‡ƒ‚†‡†…‚~~|}~ƒ……„„‚‚‚†„„…„……‚}xxv~…ˆŠŽ‘‘’—•–—˜”–—————–“’‘’’“”•–˜ŒŒŒŒ“”“ŽŒŒ‡ŒŽŠ‘ŒŽŽŽ‘ŒŒŒ‰‡„ˆ‰ŒŒ‹ŒˆŠ‹Œ‹‰ƒ‹‰‰ˆ‹ŒŒŒŠ‹Œˆ‰ˆ‡‡ŠŠ‰†‰‰ŽŽŒ‰Ž‰ˆ„‡‡ˆ†ˆˆ‡„ƒ€…„‰‡‡ˆ––™›šœœ›œž™¡¢¢§§¨©¦£¢¡¡žŸŸšœ  £¡¢£¢žœœ›žžž›š•ŠŒŽ‘Œˆˆ‚€‚}uljee`klmmqsqfb^‹‹ŠŽŠŒŒ‰‰Œ’‘‘‘”˜˜žšŸ™š™œœ   ¡¢¢¢£ ¢žœš™šœŸ¡ž£¢£££¤¥¥¦¢Ÿ£¤¨¨¨¦¨¡¡ žžž””„yj]TKKJJMPWV[[\\\YURPTYgu†™ž«¤¨›™Œ‚~w{‡—›¤  ¡¡¢¨¨«¥§¢¡¡¥¢¨¨¦¥¥¨¯°·±µ°²¯µ´µ®µ­°©©¤§¨©©¨¦©§«¥§¨¯¨¨¦¦§ª©®®®¯´°·±µ´´±°¯­­¬¬³±³¯³ª¬¨©¦«§¨¢¦¤¤¥©¥©¨©ª±­°©¨¢ ¡¢¤§³²²ªªª««°«®¬¬©«ª¬¬¬©¬©­§¦§¨¨­­¬¦¦¥¨§§¦¦¥«¨²§¨¤¤£¢ ¤¡   Ÿ¢œ›ž–—‘““—•˜™š•’’˜–š•’‘ŒŽ™˜˜‰††ˆˆŒ‡ŽŒŽŽ‰‰‡ˆ…„‰ŠŒ‹‘‘’ŽŽŒŒ‹ŒŒŒŠˆ‡‹‡Žˆ‡‚†„……„‚‚}}„…‰†ˆ…Š…†…‡†…„…{wx}†„Œ‘”’“”˜—™˜™•————–•‘’’”“›—˜™™’’ŒŽ’Ž‘‘’‘““–Ž’‹‹‘‘‘”““’’•ސŒ‹‰‡†Œ‰ŽŽŠŒ‡Œ–Šˆ…ЉŒ’Ž’‰ŽŒŠŒˆˆŠŽŽŒŽ‘ŽŠŽ‰ˆ‡Œ‰‹†‡‡‡‡‡ƒ†„‰‰‡‹“•™šž¡Ÿœ ˜›Ÿ¤¡©¦£§ª¤¥£§¡¢¢¢¡ œ Ÿ£¢¦¤©¢£œŸ››™•••“™‘ŒŒ‘ˆ‡ƒ…xpjhedekklnvssjfe‹‹‹Œ‰‰‰ŒŒŠ‹’“—˜˜™˜——˜—›œ ™›š›œ¡žžžšššššœžžŸžŸ ¢¡£Ÿ žžžž¢Ÿ ¡£¢£££¡Ÿ›˜–†{nbVQIKLORUWVWYYXXUSRPZaqŽ¡  ž˜Š…Š‘˜›œœœ›š™Ÿ¢£¤¤¦¤£¡ ŸŸžžŸ§ª°²´¯°°±°³²´®­¬­¦¤¡§©©§§¥¥¥¥¥§¨©¦¨¦¦¦¨©¯¯¯¯°®¶±µ´±®®¬¬­®®¯¯¯¬ª©¨¥¥¦¦¤£¢¤£¥¥¥¦¦¦©¬¬ª©£¢žž¢¤¨«¯±±ªª¦¨©«¨ª©©§ª©«¨¨¨«©¨¤§¨¨¦¦§¨§¦¤¨¦¦¥¥¦©¨©¤¢ ž ž¤¢¢¡¡ ¡šš™ž–•’“”••™™š”’“˜–˜’“ŒŽŽŒŽŽŒ‹ƒ}€ƒ‡‰‹ˆŒŒŽŒŠ‰‡‡‡…„ŠŒŒŒ‘ŒŒ‹Šˆ‡†‰‹Œ‰Œ‰ˆ‡ˆ‡Šˆˆ‚‚€…ƒ‚‚‚‚€ƒ„††„…„‡„……………ƒyzv|†…†ˆ‘’“‘••˜™™˜˜”•——“”•”‘’”•˜––“’’’ŽŽ‘ŽŒ‘’’”Ž‹‹‹ŽŒ‘‘“‰‹‡‡‡ŠŠ‘Š‰ˆ‹‹ŽŠˆ…ˆˆŒŒŽŽ‹‰‹Š‹ˆˆ‰Š‹Ž‹Œ‹‹ŽˆŽ†ˆˆ‰‰‹†‡ƒƒ‚‚‚ƒ‚‚‚‡Œ“•™˜žžŸ›žœœšš—œž¡ –¢¤¤¤¢¢ ¢¢¡Ÿ ›››ŸŸ ¢¡¢ ž™››ž˜’”“”‘‘ˆ†„{pmgfdgjlmmpppmjhg
\ No newline at end of file
diff --git a/tutorial/tracking/model-based/hybrid/teabox.ppm b/tutorial/tracking/model-based/hybrid/teabox.ppm
new file mode 100644
index 0000000000000000000000000000000000000000..b20630a2d581c73b63e358e21c3892c4dbc9897f
--- /dev/null
+++ b/tutorial/tracking/model-based/hybrid/teabox.ppm
@@ -0,0 +1,5 @@
+P6
+# CREATOR: GIMP PNM Filter Version 1.1
+320 240
+255
+GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGNNNGGGNNNNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^^^^VVV^^^^^^^^^^^^^^^NNNNNNNNNNNNNNNNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVVVVVVVNNNVVVNNNNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEEEEEEEEEEEEEEEEGGGGGGGGGNNNGGGNNNGGGNNNGGGNNNGGGNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVVVVNNNVVVNNNVVVVVVNNNVVVVVVVVV^^^VVV^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^VVVNNNNNNNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVVVVVVVVVV^^^VVVVVV^^^VVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVV^^^^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^^^^^^^^^^fff^^^fffffffff^^^ffffff^^^fff^^^^^^fff^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^ffffff^^^fff^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^^^^^^^VVV^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVVVVNNNVVVNNNVVVNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGNNNNNNGGGNNNNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEGGGEEEGGGEEEEEEEEEEEEGGGNNNNNNNNNNNNGGGNNNNNNNNNGGGNNNNNNNNNGGGNNNGGGGGGGGGNNNGGGVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^VVVNNNNNNNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^ffffff^^^fff^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^ffffff^^^ffffff^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^^^^fff^^^^^^fff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVVVVVVVVVVV^^^VVVVVVVVVVVV^^^VVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVV^^^VVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNNNNNNNNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGGGGGGGGGGNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEENNNNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNEEE============EEEEEEEEEEEEGGGGGGNNNNNNNNNVVVVVVVVVVVVNNNVVVVVVVVVVVVVVV^^^VVV^^^^^^^^^^^^^^^fff^^^^^^^^^ffffff^^^VVVNNNNNNNNNVVVNNNVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^fff^^^ffffff^^^^^^^^^fff^^^^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^ffffff^^^ffffff^^^fff^^^fff^^^ffffff^^^ffffff^^^^^^^^^fff^^^^^^fff^^^^^^^^^^^^^^^fff^^^^^^^^^^^^fff^^^fff^^^fff^^^^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVV^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVNNNVVVNNNVVVNNNNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGEEEGGGGGGGGGEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNEEE===333333333333333333333333333333333333===EEEGGGVVVVVVNNNEEEEEEGGGGGGNNNVVVNNNNNNVVV^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^NNNNNNVVVNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVV^^^VVV^^^VVVVVVVVVVVV^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^fff^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^fff^^^^^^ffffff^^^^^^fff^^^ffffff^^^fff^^^fff^^^^^^^^^^^^fff^^^ffffff^^^ffffffffffff^^^fff^^^fff^^^fff^^^^^^fff^^^fff^^^ffffff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGGGGNNNGGGNNNGGGNNNGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGGGGGGGGGGEEENNNNNNNNNVVVVVVNNNVVVNNNGGG333===EEEGGGGGGEEE===333---""""""---===GGGVVVNNN333333===333EEEVVVNNNEEEVVV^^^^^^^^^fff^^^^^^fff^^^fff^^^^^^VVVNNNNNNVVVNNNVVVVVVNNNVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVV^^^VVV^^^VVVVVVVVVVVV^^^VVV^^^VVV^^^^^^VVV^^^VVV^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ffffff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^fff^^^fff^^^^^^fff^^^ffffff^^^fff^^^fff^^^^^^^^^^^^^^^fff^^^fffffffff^^^fff^^^ffffff^^^fff^^^fff^^^ffffffffffffffffff^^^ffffff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVVVV^^^VVVVVVVVVVVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVNNNVVVVVVVVVNNNNNNVVVNNNVVVVVVNNNVVVNNNNNNNNNNNNNNNVVVNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGGGGGGGEEEEEEEEEEEEGGGEEENNNVVVNNNNNNVVVVVVNNNNNNEEEEEEGGGNNNNNNNNNNNNNNNEEE333"""---EEENNNGGG333------333===VVVVVVGGGGGGVVVfff^^^fff^^^fffffffffffffff^^^NNNVVVNNNVVVVVVNNNVVVNNNVVVVVVNNNVVVVVVVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^fff^^^^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^^^^^^^fff^^^^^^fff^^^^^^ffffff^^^^^^^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^fff^^^fff^^^fffffffffffffff^^^fff^^^fff^^^fff^^^ffffffffffff^^^fff^^^fff^^^fff^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^ffffff^^^fff^^^fff^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVVVVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVNNNVVVNNNNNNVVVVVVVVVNNNNNNVVVNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGGGGEEEGGGGGGGGGEEEEEEEEEEEEGGGEEENNNVVVVVVVVVNNNVVVVVVNNNGGGVVVVVVVVVVVVVVVVVVVVVGGG333""""""333EEE333"""---"""---===VVV^^^VVVGGGVVVffffff^^^fffffffffffffffffffffNNNVVVVVVNNNVVVVVVNNNVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^fff^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^^^^^^^fff^^^^^^fff^^^^^^^^^fff^^^^^^fff^^^fff^^^fffffffff^^^^^^^^^^^^fff^^^fff^^^fff^^^^^^fff^^^fffffffffffffffffffff^^^fff^^^fffffffff^^^ffffffffffff^^^fffffffff^^^fff^^^fff^^^ffffff^^^fff^^^fffffffff^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^^^^VVV^^^VVV^^^VVVVVVVVV^^^VVVVVVVVV^^^VVV^^^^^^^^^VVV^^^VVVVVVVVVVVVVVVNNNVVVVVVVVVNNNVVVNNNVVVVVVVVVNNNVVVNNNNNNNNNVVVNNNNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEVVVNNNVVVVVVVVVNNNNNNNNNVVVVVVVVVVVVVVVVVVNNNGGG===---"""""""""""""""---EEEVVVNNNGGGEEE^^^^^^ffffffffffffffffffffffff^^^NNNVVVNNNVVVVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVV^^^VVVVVV^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fffffffff^^^fff^^^fff^^^^^^fff^^^^^^^^^fff^^^fff^^^ffffff^^^fff^^^fff^^^^^^fff^^^fff^^^^^^fff^^^^^^ffffff^^^fff^^^ffffff^^^fff^^^fff^^^fffffffffffffff^^^fff^^^fff^^^ffffff^^^^^^ffffff^^^fff^^^fff^^^fff^^^fff^^^ffffff^^^fff^^^^^^fff^^^fff^^^ffffff^^^fff^^^fff^^^fff^^^fff^^^^^^fff^^^fff^^^^^^^^^fff^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^VVVVVVNNNVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNNNNVVVNNNVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGNNNNNNGGGNNNGGGGGGGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGEEEGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEVVVVVVVVVNNNVVVVVVNNNNNNGGGNNNVVVVVVNNNNNN===---""""""""""""---===EEE======NNN^^^ffffffffffffffffffffffffppp^^^NNNVVVNNNVVVVVVNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^VVV^^^^^^VVVVVV^^^VVVVVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^fff^^^fff^^^^^^ffffff^^^fff^^^^^^fff^^^fff^^^fff^^^ffffff^^^fffffffff^^^fff^^^fff^^^ffffffffffff^^^^^^fff^^^ffffffffffffffffff^^^fff^^^ffffff^^^ffffffffffffffffff^^^fff^^^^^^fff^^^fff^^^^^^fffffffffffffff^^^ffffff^^^fff^^^ffffff^^^fffffffff^^^fff^^^fff^^^^^^fff^^^ffffff^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^fff^^^^^^VVV^^^^^^^^^VVV^^^VVV^^^VVV^^^VVVVVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVVVVNNNVVVVVVNNNVVVVVVVVVNNNNNNVVVNNNNNNNNNVVVNNNVVVNNNNNNNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGGGGNNNGGGGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEVVVVVVVVVVVVVVVVVVNNNEEEEEEEEEGGGGGGEEE---""""""333---""""""333---""""""---333EEEGGGNNNfffffffffffffffffffffffffffpppffffffNNNNNNVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^^^^VVV^^^^^^^^^^^^VVV^^^VVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^fff^^^^^^^^^^^^fff^^^ffffff^^^fff^^^ffffff^^^ffffff^^^fff^^^^^^^^^^^^^^^fff^^^fff^^^fffffffffffffff^^^fffffffff^^^fff^^^fffffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^fff^^^ffffff^^^fffffffff^^^fff^^^fff^^^ffffff^^^ffffff^^^ffffff^^^ffffff^^^fff^^^fffffffffffffff^^^fff^^^ffffff^^^fff^^^ffffff^^^fff^^^fff^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^VVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVNNNVVVVVVNNNVVVNNNVVVNNNVVVVVVNNNVVVVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGGGGNNNGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGGGGEEEGGGEEEEEEEEEVVVVVV^^^VVV^^^VVVNNNEEE===333===333""""""---333---===333===---"""------""""""333EEEGGGVVV^^^fffffffffffffffffffffpppfffpppfffppp^^^NNNNNNVVVNNNVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVV^^^VVV^^^VVVVVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^ffffff^^^fff^^^ffffff^^^ffffff^^^fffffffff^^^fffffffffffffffffffffffffffffffff^^^fff^^^ffffff^^^ffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^ffffffffffffffffffffffff^^^^^^ffffff^^^fffffffffffffff^^^ffffff^^^ffffff^^^ffffffffffff^^^ffffff^^^ffffff^^^fff^^^fff^^^ffffff^^^^^^^^^fff^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVVVVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVNNNVVVVVVNNNVVVNNNVVVNNNVVVNNNNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEE^^^VVVVVV^^^VVV^^^VVVEEE333------"""""""""""""""""""""---EEEEEE======GGGVVV^^^ffffffffffffpppfffpppfffpppffffffGGGNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^ffffff^^^fff^^^ffffff^^^ffffff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^fff^^^fff^^^fff^^^ffffffffffffffffff^^^ffffffffffffffffff^^^ffffffffffffffffffffffff^^^ffffff^^^ffffff^^^fff^^^fff^^^fffffffffffffff^^^fff^^^ffffffffffffffffff^^^fff^^^ffffff^^^ffffffffffff^^^ffffffffffffffffff^^^ffffff^^^fffffffff^^^^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEVVV^^^^^^^^^VVVVVVVVVEEE333---"""""""""""""""333333---""""""333NNN^^^ffffffpppfffpppfffppppppppp^^^NNNNNNNNNVVVNNNVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^VVV^^^^^^^^^^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^fff^^^fff^^^fff^^^ffffff^^^fffffffff^^^fff^^^ffffff^^^fff^^^fffffffffffffffffffffffffffffffff^^^fffffffffffffffffffffffffffffffffffffffffffffffffff^^^fff^^^fffffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^fffffffffffffffffffffffffff^^^ffffff^^^ffffff^^^fff^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^VVV^^^VVV^^^VVVVVVVVVVVV^^^VVV^^^VVV^^^VVVVVVVVVVVV^^^VVVVVV^^^VVVVVVVVVVVVNNNVVVVVVVVVVVVVVVNNNNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEVVV^^^VVV^^^^^^VVVVVVGGG===---"""""""""---""""""333EEE333"""---VVVpppfffpppfffppppppfffpppffffffGGGNNNVVVNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^VVVVVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^fff^^^fff^^^fff^^^ffffffffffff^^^fff^^^^^^fff^^^fff^^^ffffff^^^fff^^^fff^^^^^^fff^^^ffffffffffffffffffffffffffffffffffff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffffffffffffffffffffffffff^^^fffffffffffffffffffffffffff^^^fffffffff^^^fffffffffffffffffffff^^^fff^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^VVV^^^^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNGGGNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEGGGGGGGGGGGGGGGGGGGGGEEEEEEEEE^^^VVV^^^^^^^^^^^^VVVVVVGGG===""""""""""""EEEEEE---"""333EEEGGG---"""333^^^fffpppfffppppppppppppfffppp^^^GGGNNNNNNVVVNNNVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVVVVV^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fffffffff^^^ffffff^^^ffffffffffff^^^ffffff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff^^^fffffffffffffffffffffffffffffffffffffffffffffffffffpppfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff^^^fff^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^VVV^^^^^^VVV^^^^^^^^^VVVVVVVVV^^^VVVVVVVVVVVV^^^VVVVVVVVVNNNNNNVVVNNNVVVNNNVVVNNNVVVNNNNNNVVVNNNNNNNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGGGGNNNNNNGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG^^^^^^^^^^^^^^^^^^^^^^^^VVVNNN===------======"""""""""---===VVVGGG------======"""GGGfffpppfffpppfffpppppppppppppppfffGGGNNNVVVNNNVVVNNNVVVNNNVVVVVVNNNVVVNNNVVVVVVVVVVVV^^^VVVVVV^^^VVVVVV^^^^^^VVV^^^^^^VVV^^^VVV^^^VVVVVVVVVVVV^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fffffffff^^^ffffffffffffffffffffffffffffff^^^fffffffffffffff^^^fff^^^fffffffffffffffffffffffffff^^^ffffffffffffffffffffffffpppfffffffffffffffffffffffffffpppffffffffffff^^^ffffffffffffpppffffffpppfffffffffffffffffffffffffffpppfffffffffffffff^^^fff^^^ffffff^^^ffffffffffff^^^fff^^^ffffff^^^fff^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVVVVV^^^VVV^^^^^^VVV^^^^^^VVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNVVVNNNVVVNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGNNNGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG^^^^^^^^^^^^^^^^^^fff^^^^^^VVVVVV==="""333GGGGGG===333333EEEVVV^^^GGG---333---^^^pppfffpppppppppfffpppppppppffffffGGGGGGVVVNNNVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^VVV^^^^^^^^^VVV^^^^^^^^^VVV^^^VVV^^^^^^VVV^^^VVV^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^fff^^^^^^^^^^^^fff^^^fffffffff^^^ffffffffffffffffff^^^ffffffffffffffffffffffffffffff^^^fff^^^ffffffffffffffffffffffffffffffffffffffffffffffffpppfffffffffpppfffffffffppppppfffpppfffpppffffffffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffpppffffffffffffffffffffffff^^^fffffffffffffff^^^^^^ffffff^^^fff^^^fff^^^fff^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVVVVV^^^VVV^^^VVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNVVVVVVVVVNNNNNNNNNNNNVVVNNNNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGEEEEEEEEEGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEGGGGGGGGGGGGGGGGGGGGGEEEGGG^^^^^^^^^^^^fff^^^^^^^^^fff^^^^^^NNN---"""======EEE======EEENNN^^^^^^===GGGfffppppppfffppppppppppppppppppppp^^^GGGGGGNNNVVVVVVVVVNNNVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^^^^^^^VVV^^^VVVVVV^^^VVV^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^^^^fff^^^^^^fff^^^ffffffffffffffffff^^^fff^^^ffffff^^^ffffff^^^fffffffffffffff^^^ffffff^^^ffffffffffff^^^fffffffffffffffffffffffffffpppffffffffffffpppfffpppffffffffffffpppfffffffffffffffffffffffffffffffffpppfffffffffffffffffffffffffffffffffffffffffffffffffffpppffffffffffff^^^ffffff^^^fff^^^fffffffff^^^^^^^^^fff^^^^^^^^^fff^^^^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNGGGNNNNNNGGGNNNGGGNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEGGGGGGGGGGGGGGGGGGEEEEEEEEEGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG^^^^^^fff^^^^^^^^^^^^fff^^^fff^^^VVVEEE333333======EEEEEEGGGVVV^^^^^^333333^^^pppppppppppppppppppppppppppppppppfffEEEGGGNNNVVVNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^^^^^^^VVV^^^^^^^^^VVV^^^^^^VVV^^^^^^^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^^^^fff^^^ffffffffffff^^^fffffffffffffff^^^fff^^^fffffffffffffffffffffffffffffffffffffff^^^ffffffffffffpppfffffffffffffffpppfffffffffpppffffffffffffpppfffpppfffppppppfffpppfffpppffffffffffffffffffffffffffffff^^^ffffffpppffffffpppffffffffffffffffffffffffpppffffffffffff^^^fff^^^fffffffff^^^fffffffff^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVVVVVVVV^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNGGGNNNNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEEEEGGGEEEGGGGGGGGGGGGGGG^^^fff^^^ffffffffffff^^^fff^^^fff^^^VVVGGGEEE======EEEEEEGGGVVVVVV^^^NNNEEE"""===---"""NNNppppppfffpppppppppppppppppppppppppppfffEEEGGGNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^VVV^^^^^^VVV^^^^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^fffffffff^^^ffffff^^^fff^^^ffffff^^^fffffffffffffffffffff^^^fff^^^fff^^^ffffff^^^ffffffffffff^^^fffffffff^^^^^^ffffffffffff^^^fffffffffffffffpppfffpppfffpppfffffffffffffffffffffpppfffpppffffffpppfffffffffpppfffpppfffffffffffffffpppfffpppffffffffffffffffffffffffpppffffffpppfffffffffffffff^^^^^^ffffffffffff^^^fffffffff^^^^^^^^^^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNGGGNNNNNNGGGGGGNNNNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEGGGfffffffff^^^fff^^^fffffffffffffffffffff^^^VVVNNNGGGGGGNNNVVV^^^^^^fff^^^^^^GGG---333VVVNNNEEE===EEENNNpppfffppppppppppppppppppppppppppppppwwwfffEEEEEENNNNNNNNNVVVNNNVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^^^^^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^fff^^^fff^^^ffffff^^^fffffffffffffffffffffffffff^^^fffffffff^^^fff^^^fffffffffffffffffffffffffffffffff^^^ffffffffffffffffff^^^fffffffffffffffpppfffpppffffffpppffffffffffffpppfffpppfffpppffffffpppffffffffffffffffffpppfffpppffffffffffffpppfffpppfffffffffffffffffffffpppffffffffffffffffffffffff^^^ffffff^^^ffffff^^^fff^^^fff^^^fff^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNNNNNNNGGGNNNNNNGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGG^^^fffffffffffffffffffff^^^fffffffffffffff^^^fff^^^^^^fff^^^fffffffffffffff^^^NNNGGGVVVffffff^^^^^^ffffffppppppppppppppppppppppppppppppwwwwwwwwwfffEEEEEEGGGNNNVVVNNNVVVNNNVVVVVVVVVVVVNNNVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^^^^fff^^^fff^^^^^^fff^^^^^^fffffffff^^^ffffffffffff^^^ffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^ffffffffffffffffffffffffffffff^^^ffffffffffff^^^ffffff^^^fffffffffffffffpppfffpppffffffpppfffffffffpppfffpppfffpppfffffffffpppfffffffffpppfffpppfffpppfffpppffffffffffffffffffffffffpppfffffffffffffffffffffffffffffffff^^^fff^^^fffffffffffffff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^VVV^^^VVV^^^VVVVVV^^^^^^^^^VVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVNNNVVVVVVNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGGGGNNNGGGGGGNNNGGGNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGEEEEEEGGGGGGGGGEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEffffffffffffffffff^^^ffffffffffffffffffffffffffffffffffffffffffpppffffffffffff^^^ffffffppppppppppppppppppppppppppppppppppppppppppwwwpppwwwpppwwwfffEEEEEENNNNNNNNNNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^fff^^^fffffffff^^^ffffffffffffffffffffffffffffff^^^ffffff^^^fffffffffffffffffffffffffffffffffffffffffffff^^^ffffffffffffffffffffffffffffffffffffpppfffpppfffpppffffffpppffffffpppfffpppfffpppfffpppffffffpppffffffpppfffpppffffffffffffffffffffffffpppfffpppfffffffffffffffpppffffffffffff^^^ffffff^^^fff^^^fff^^^ffffffffffff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^VVV^^^VVV^^^VVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGNNNGGGNNNGGGGGGGGGNNNGGGGGGGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEfffffffffVVV^^^ffffffffffffffffffpppfffpppffffffpppfffffffffpppfffpppfffpppfffpppfffpppfffpppffffffpppppppppppppppppppppppppppwwwwwwwwwpppwwwwwwppp======GGGNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^^^^VVV^^^VVV^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^^^^ffffff^^^ffffff^^^ffffffffffffffffffffffffffffffffffff^^^ffffffffffffffffffffffffffffffffffffpppfffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffffffffffffffffffffpppfffpppfffpppfffpppffffffpppfffffffffffffffppppppfffpppffffffffffffffffffpppfffffffffffffffffffffffffffffffffffffffffffff^^^ffffff^^^fffffffffffffff^^^ffffff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^^^^VVV^^^VVVVVVVVVVVV^^^VVV^^^VVV^^^VVVVVVNNNVVVNNNVVVNNNNNNNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNNNNGGGNNNGGGNNNNNNGGGNNNGGGGGGGGGNNNGGGNNNGGGGGGGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffffffffGGGNNNffffffffffffpppffffffpppfffffffffffffffpppfffpppfffpppfffpppfffpppfffpppfffVVVVVVfffpppppppppwwwppppppwwwpppwwwwwwpppwwwwwwwwwpppfff======GGGNNNNNNNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVVVVV^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^fff^^^ffffff^^^ffffff^^^fff^^^^^^ffffff^^^ffffffffffff^^^ffffffffffffffffffffffffpppffffffffffffffffffffffffffffffffffffpppffffffpppffffffpppfffppppppfffpppfffpppfffpppfffpppffffffpppfffpppfffpppfffpppffffffpppfffpppfffffffffpppffffffffffffpppfffffffffffffffpppfffpppfffffffffffffffffffff^^^ffffff^^^ffffffffffffffffffffffffffffff^^^ffffff^^^^^^fff^^^fff^^^^^^^^^fff^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^^^^VVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNNNNNNNGGGNNNNNNGGGGGGNNNGGGGGGGGGGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGEEEEEEGGGEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffppp^^^===VVVfff^^^^^^^^^^^^fffffffff^^^^^^^^^fff^^^ffffff^^^^^^fffffffffpppffffffffffffGGGGGGpppppppppwwwppppppppppppffffffwwwwwwwwwwwwwwwwwwfff======GGGGGGNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^ffffff^^^fffffffff^^^ffffff^^^ffffff^^^ffffff^^^fff^^^fff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppfffpppfffpppfffpppffffffffffffpppfffppppppfffpppfffpppfffpppfffffffffpppfffpppfffpppfffffffffpppfffffffffffffffpppffffffffffffffffffffffffffffffffffffffffffffffffffffff^^^fffffffffffffff^^^fff^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVVVVVVVVVVVVVV^^^VVVVVV^^^VVVVVVVVVNNNVVVVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNGGGNNNGGGGGGNNNGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGEEEEEEEEEEEEEEEEEEffffff^^^===VVVVVVNNNVVVVVVNNNNNNfffVVVNNNVVVNNNGGGVVVfffNNNVVVVVVVVVNNN^^^fffVVVNNN^^^VVV===GGG^^^VVVppppppVVV^^^^^^^^^VVVpppwwwwwwwwwwwwwwwwwwfff======GGGNNNNNNNNNNNNNNNVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^ffffff^^^fffffffff^^^ffffff^^^^^^^^^^^^^^^fff^^^ffffff^^^ffffffffffff^^^fff^^^ffffffffffffffffffffffffpppfffffffffpppfffpppffffffffffffpppfffppppppfffpppfffpppfffppppppfffpppfffpppfffppppppfffppppppfffpppfffpppffffffpppfffpppfffpppfffpppffffffpppffffffpppfffffffffpppffffffffffffffffffpppffffffffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVVVVV^^^VVV^^^VVVVVVVVV^^^VVVVVVVVVNNNVVVVVVVVVVVVVVVVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNNNNNNNNNNGGGNNNGGGNNNGGGGGGNNNGGGGGGGGGNNNGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEGGGEEEEEEEEEEEEEEEGGGGGGEEEEEEGGGEEEEEEEEEGGGGGGppppppVVV===NNNEEEVVVfff^^^GGGNNNVVVEEEVVVfff^^^EEEGGGNNNGGG^^^fffVVVEEE^^^NNNEEE^^^ffffffEEENNNVVVGGGfffVVVGGGfffpppfffpppwwwwwwwwwwwwwwwwwwwwwppp333===EEEGGGNNNNNNNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^ffffff^^^fff^^^ffffffffffff^^^fffffffff^^^fff^^^^^^fff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffpppffffffffffffpppffffffffffffpppfffppppppfffffffffpppffffffpppfffpppfffffffffpppfffpppfffpppfffpppfffpppffffffpppfffpppfffpppfffpppfffffffffffffffpppfffpppffffffpppffffffffffffffffffpppfffpppffffffffffffffffffffffffffffff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVNNNNNNVVVNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNGGGNNNGGGGGGGGGNNNGGGNNNGGGNNNGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEGGGEEEEEEEEEGGGEEEpppfffVVV===GGG===fffpppfffGGG^^^NNNGGGfffpppfffEEEGGGEEENNNppppppVVVEEE^^^EEEGGGpppppppppEEEGGGVVVEEE^^^EEEVVVwwwwwwwwwwwwwwwwwwwwwfff333333EEEGGGNNNNNNNNNNNNVVVVVVVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fffffffff^^^fffffffff^^^ffffff^^^^^^fff^^^^^^fff^^^ffffff^^^fffffffff^^^ffffffffffffffffffffffffpppfffffffffffffffpppfffffffffffffffffffffffffffpppfffpppffffffpppfffpppfffpppfffpppfffpppfffpppfffppppppfffpppfffpppfffpppfffpppfffffffffpppfffpppfffpppfffffffffpppfffpppffffffpppfffpppfffpppfffffffffpppffffffffffffffffff^^^fff^^^fff^^^ffffff^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVNNNVVVNNNNNNVVVNNNNNNNNNNNNVVVNNNNNNGGGNNNNNNGGGNNNNNNNNNGGGNNNNNNNNNGGGNNNGGGNNNGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGEEEEEEEEEGGGppppppNNNEEENNNGGGfffwwwNNNfffVVVVVVppppppfff===NNNEEENNNfffpppGGGGGG^^^===VVVppppppfffEEENNNNNNEEEVVVEEE^^^wwwwwwwwwwwwwwwwwwwwwppp333333GGGGGGNNNNNNNNNNNNVVVNNNVVVNNNVVVVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ffffff^^^ffffffffffffffffff^^^ffffff^^^ffffff^^^ffffff^^^fff^^^fffffffffffffffffffffffffffffffffffffffffffffffffffpppfffffffffffffffffffffpppfffffffffpppfffpppffffffffffffpppfffpppfffpppffffffpppfffpppfffpppppppppfffpppfffpppfffpppfffppppppffffffpppfffpppfffffffffffffffpppffffffpppffffffpppfffpppfffpppfffffffffffffffffffffffffffffffffffffff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^VVVVVV^^^VVV^^^VVVVVVVVVVVVVVVNNNVVVNNNVVVVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNNNNNNNGGGNNNNNNGGGNNNGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGppppppNNNNNNfffVVVfffpppNNNwwwwww^^^pppfffVVV===VVVVVVNNNfffpppEEENNNfffGGGNNNfffppp^^^===NNNNNNGGG^^^GGG^^^pppwwwppp^^^wwwfff333333EEEGGGGGGNNNNNNNNNNNNVVVNNNVVVNNNVVVNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fffffffff^^^fff^^^fff^^^ffffff^^^fff^^^fff^^^fff^^^fff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffpppffffffffffffffffffpppfffffffffffffffffffffpppffffffffffffpppfffpppfffpppfffpppfffpppffffffpppfffppppppfffpppfffppppppfffpppffffffpppffffffpppfffffffffffffffpppfffpppffffffpppffffffpppfffpppfffpppfffpppffffffffffffffffffffffffffffffffffff^^^^^^fff^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNVVVNNNNNNNNNGGGNNNGGGNNNNNNGGGNNNNNNNNNGGGNNNGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEGGGGGGGGGGGGGGGEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEpppppp^^^fffppppppppppppffffffwwwwwwffffffNNN===^^^fffffffff^^^NNN^^^ppp^^^^^^^^^^^^NNNEEE^^^VVVVVVpppVVVVVVffffffVVV^^^wwwwwwfff---333EEEEEEGGGNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^ffffffffffff^^^fff^^^ffffff^^^ffffffffffff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppffffffpppfffpppfffpppfffffffffpppfffpppfffpppfffpppfffpppppppppfffpppfffpppfffpppfffpppffffffffffffffffffffffffpppfffpppffffffpppfffpppfffpppfffffffffffffffffffffffffffffffffffffffffffffffffff^^^^^^^^^fff^^^^^^^^^^^^VVV^^^^^^^^^^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVVVVVVVVNNNVVVNNNNNNVVVVVVVVVNNNNNNNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNNNNNNNGGGNNNGGGNNNGGGGGGNNNGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGNNNGGGGGGEEEGGGEEEEEEGGGEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGpppppppppppppppppppppwwwfffpppwwwwwwpppfff^^^VVVGGGpppwwwppppppwwwpppwwwwwwppppppfffffffffppppppppppppwwwppppppppppppfffwwwwww^^^------===EEEGGGGGGGGGGGGNNNGGGNNNNNNNNNNNNNNNNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^fff^^^ffffff^^^^^^fff^^^^^^ffffff^^^ffffff^^^^^^fff^^^fff^^^fffffffff^^^fff^^^fff^^^ffffffffffffffffff^^^fffffffffffffffffffffffffffffffffffffffffffffffffffpppffffffffffffpppfffpppffffffpppfffpppfffpppfffpppfffppppppffffffppppppfffpppfffpppfffpppfffffffffffffffffffffffffffpppfffpppfffpppfffpppfffpppfffffffffpppffffffffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGNNNNNNGGGNNNGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEGGGEEEEEEEEEEEEGGGEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGGGGGGGppppppwwwpppwwwwwwppppppppppppwwwwwwpppfffppp^^^fffwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww^^^------======EEEEEEGGGGGGGGGGGGGGGGGGNNNGGGNNNNNNNNNNNNNNNVVVNNNNNNNNNVVVNNNNNNVVVNNNVVVNNNNNNNNNVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVVVVV^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^^^^ffffffffffffffffff^^^^^^^^^^^^^^^^^^ffffff^^^fff^^^fffffffffffffffffffffffffffffffffffffffffffffpppffffffffffffffffffffffffpppffffffpppfffpppfffpppfffffffffffffffpppfffpppfffpppfffpppfffppppppfffpppfffpppffffffffffffppppppffffffffffffffffffffffffpppfffpppfffpppfffpppfffpppfffffffffffffffpppffffffffffffffffffffffffffffff^^^fff^^^^^^fff^^^fff^^^^^^^^^^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^VVVVVVVVVNNNVVVNNNVVVNNNVVVNNNVVVVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGNNNGGGNNNGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGGGGGGGpppppppppppppppppppppppppppwwwpppppppppwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww’jj¼@@äú��ú��ú��ú��†††^^^""""""333======EEEEEEEEEEEEGGGGGGGGGEEEGGGGGGGGGGGGNNNGGGNNNNNNNNNNNNNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^fff^^^fff^^^fff^^^^^^fff^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^ffffffffffffffffffffffff^^^fffffffffffffffffffffpppffffffpppfffpppfffpppfffpppffffffpppffffffpppfffpppfffpppfffpppffffffpppfffffffffpppfffpppfffffffffpppfffpppffffffffffffpppfffpppfffpppfffpppfffpppfffpppffffffffffffffffffffffffffffffffffffffffff^^^fff^^^fff^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^VVVVVVVVVVVVVVV^^^VVVVVVVVVVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNGGGNNNGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEE^^^fffffffffffffffffffffffffffppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwú��ú��ú��ú��ú��ú��ú��††††††VVV"""---===============EEE===EEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^^^^^^^^^^^^^^^^^^^fff^^^ffffffpppwww‘‘‘––––––†††www^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^ffffff^^^fff^^^ffffffffffffffffff^^^fff^^^ffffffffffff^^^fff^^^fffpppfffpppfffpppfffpppffffffffffffpppfffpppffffffffffffpppfffffffffppppppffffffpppffffffpppfffpppffffffpppffffffpppfffpppffffffpppfffpppfffpppfffpppfffffffffpppfffpppffffffpppffffffffffffffffff^^^ffffff^^^fff^^^ffffff^^^^^^^^^^^^^^^VVV^^^VVVVVV^^^^^^VVV^^^VVVVVVVVVVVVVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGNNNGGGGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGNNNGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEGGGEEEEEEEEEEEEEEEEEEGGGEEEGGGEEEGGGEEEEEEEEE^^^^^^fff^^^ffffffffffffffffff^^^ffffff^^^fffffffffffffffpppfffppppppppppppppppppppppppppppppwwwã´88Œccú��ú��ú��ú��wwwwwwwwwwwwwwwVVVEEEGGGGGGNNNNNNNNNGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEGGGGGGGGGGGGGGGNNNGGGNNNNNNNNNNNNNNNVVVVVVVVVVVV^^^^^^fffpppwww†††‘‘‘‘‘‘–––ªªª°°°¶¶¶¶¶¶ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇǰ°°‘‘‘ppp^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^ffffff^^^fffffffff^^^fff^^^ffffff^^^ffffff^^^fff^^^fffffffffpppfffpppfffffffffffffffpppffffffffffffpppffffffpppfffpppfffpppfffpppfffpppffffffppppppfffpppfffpppfffpppfffffffffpppfffpppfffffffffpppfffpppfffffffffffffffpppfffpppfffffffffffffffffffff^^^ffffff^^^fff^^^ffffff^^^^^^^^^VVV^^^VVV^^^VVV^^^VVVVVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEffffff^^^fff^^^^^^fff^^^fff^^^ffffffffffffffffffffffffffffffpppffffffffffffpppffffffpppppppppfffpppppppppú��ú��ú��ú��pppppppppfffppppppfffpppfffVVVVVVú��ú��^^^^^^fff^^^fff^^^^^^^^^^^^VVVVVVVVVVVVVVVNNNNNNNNNGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGGGGGGGNNNNNNVVV^^^fffwww‘‘‘   ªªª°°°¶¶¶ÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÇÇÇÇÇǰ°°†††ppp^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^^^^^^^^^^^^^fff^^^fff^^^fffffffffffffffffffffffffffffffffpppfffffffffpppffffffffffffffffffffffffpppfffpppfffpppfffpppffffffpppffffffpppffffffpppfffpppfffpppfffpppfffpppffffffpppfffpppffffffffffffffffffpppfffpppffffffffffffffffff^^^ffffffffffff^^^fff^^^^^^^^^VVVVVV^^^VVVVVV^^^VVVVVVVVV^^^VVVVVVVVVVVVVVVVVVNNNNNNNNNVVVNNNVVVNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^ffffff^^^fff^^^ffffff^^^ffffffffffff^^^ffffffffffffffffffffffffffffffffffffpppfffpppfffpppppppppppppppú��ú��ú��ú��wwwppppppwwwpppppppppppppppffffffú��ú��pppfffpppfffppppppfffpppfffpppppppppfffpppfffffffffffffff^^^^^^VVV^^^VVV^^^^^^^^^fffppp†††   ªªª°°°ÁÁÁÇÇÇÎÎÎÎÎÎ×××ÎÎÎ×××ÎÎÎ××××××ÎÎÎ×××ÎÎÎ××××××××××××ÎÎÎ×××ÎÎÎÎÎÎÎÎÎÎÎÎ××××××ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÇÇǰ°°†††fff^^^^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fffffffffffffffpppffffffffffffffffffffffffffffffpppffffffpppfffpppfffppppppfffpppfffffffffpppffffffpppfffpppfffpppfffpppfffpppfffpppfffpppfffpppffffffffffffpppfffffffffffffffpppffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^^^^^^^^^^VVV^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEGGGEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfff^^^fff^^^fff^^^fffffffff^^^ffffff^^^ffffff^^^ffffffffffffpppfffffffffffffffpppfffppppppfffppppppppppppú��ú��ú��ú��pppwwwpppwwwwwwwwwpppwwwppppppfffú��ú��fffpppppppppppppppppppppppppppppppppwwwpppwwwwwwpppwwwwww†††–––   ªªª°°°¶¶¶ÇÇÇÎÎÎ×××ßßß×××ßßß×××ßßß×××××××××××××××××××××ßßß××××××××××××××××××××××××××××××ÎÎÎ××××××ÎÎÎ×××ÎÎÎÎÎÎ××××××××××××××××××ÎÎÎÎÎÎÁÁÁªªª^^^VVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fffffffffffffffffffffffffffffffffffffffpppfffffffffffffffffffffffffffpppffffffpppffffffffffffpppfffpppfffffffffpppfffpppfffpppfffppppppfffpppfffpppfffffffffpppfffffffffffffffpppfffffffffffffffffffffffffffffffff^^^ffffff^^^^^^^^^^^^^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGGGGNNNNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEGGGEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^fffffffffffffff^^^fff^^^fff^^^fffffffffffffffffffffffffffffffffpppfffpppffffffppppppfffpppfffpppppppppú��ú��ú��ú��pppwwwwwwwwwwwwwwwwwwwwwpppppppppú��ú��pppppppppppppppppppppwwwpppwwwwww‘‘‘–––ªªª°°°ÁÁÁÁÁÁÎÎÎ×××ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß×××ßßßßßßßßß××××××××××××××××××ÎÎÎÎÎÎÁÁÁ¶¶¶–––   ÁÁÁÇÇÇÎÎÎ×××××××××××××××××××××ÎÎÎÇÇǶ¶¶   pppVVVNNNNNNNNNVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^ffffffffffffffffff^^^^^^^^^^^^ffffffffffffffffffpppffffffffffffffffffpppffffffpppffffffffffffffffffpppfffpppfffpppfffpppfffpppfffppppppfffffffffpppfffpppffffffpppfffpppffffffffffffffffffffffffpppffffff^^^fff^^^fff^^^fff^^^^^^^^^^^^VVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGGGGEEEGGGEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEGGGEEEEEEEEEEEEEEEGGGEEEGGGEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfff^^^fff^^^fff^^^fffffffffffffffffffffffffffffffffffffffffffffpppffffffpppfffppppppfffppppppppppppppppppú��ú��ú��ú��wwwwwwwwwwwwwwwwwwwwwwwwwwwpppfffú��ú��pppppppppwwwwww†††‘‘‘   ªªª¶¶¶ÇÇÇÎÎÎ×××ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß×××ßßßßßßßßß×××ßßßßßßßßßßßß×××××תªª†††fffVVVNNNfffppp   ¶¶¶ÎÎÎÎÎÎ××××××××××××××××××ÎÎÎÁÁÁªªªwwwVVVGGGGGGNNNNNNGGGNNNNNNNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppfffpppfffpppfffpppffffffpppfffpppfffffffffpppffffffpppfffffffffpppffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEffffffffffff^^^ffffff^^^fffffffffffffffffffffpppffffffffffffpppfffpppfffpppfffpppppppppppppppppppppppppppú��ú��ú��ú��wwwwwwwwwwwwwwwpppú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ÇÇÇ×××ßßß×××ÁÁÁÁÁÁÇÇÇÇÇÇÎÎÎßßßßßßßßßßßßÎÎÎ×××ßßßßßßßßßßßßçççßßßçççßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß××××××ÇÇǶ¶¶–––pppVVVGGG===EEE^^^pppffffffppp†††°°°ÎÎÎ××××××ßßßÎÎÎÇÇÇÎÎÎÎÎÎÇÇǰ°°†††NNNEEEEEEGGGNNNGGGGGGNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^fff^^^ffffffffffffffffffffffffffffffpppfffpppfffpppfffpppfffffffffffffffpppffffffpppfffpppfffpppffffffffffffffffffpppffffff^^^fff^^^fffffffff^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVVVVVVVVVVVVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^fff^^^ffffff^^^fffffffffffffff^^^fffffffffffffffffffffffffffpppfffpppfffpppfffpppfffpppfffppppppppppppú��ú��ú��ú��wwwpppwwwpppwwwwwwú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ßßßßßßçççßßß¶¶¶†††–––www‘‘‘ÎÎÎßßßßßßÇÇÇ   ÁÁÁ×××çççßßßßßßçççßßßçççßßßçççßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßÎÎζ¶¶   fffNNNEEE===333=========------333===NNNwww‘‘‘wwwwww†††ªªªÎÎÎ×××ßßß×××ÎÎÎÇÇÇÇÇÇÁÁÁ°°°–––NNN======GGGVVVVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNNNNNNNVVVNNNVVVVVVNNNVVVVVVNNNVVVVVVVVVVVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ffffff^^^ffffff^^^fffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppfffpppfffffffffffffffffffffffffffffffffffffff^^^^^^^^^^^^fff^^^^^^^^^^^^VVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGEEEEEEEEEEEEEEEEEEGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffpppffffffpppfffpppfffpppfffpppfffpppppppppú��ú��ú��ú��wwwpppwwwpppwwwpppwwwwwwpppwwwpppú��ú��ÇÇÇççççççççççççççççççßßßßßßçççÇÇÇppppppfff‘‘‘×××çççßßßÎÎΪªª–––ÎÎÎßßßßßßßßßçççßßßçççßßßßßßçççßßßçççßßßçççßßßßßßßßßÁÁÁ   wwwNNN===333333---333333333333333333==================GGG^^^www†††††††††¶¶¶××××××ßßß××××××ÎÎÎÁÁÁ°°°–––NNN===333GGG^^^ppppppfffffffff^^^^^^^^^VVVVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVVVVVVVVVVNNNVVVVVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^ffffffffffff^^^ffffffffffffffffffffffffffffffffffffpppfffpppffffffffffffffffffffffffffffff^^^fff^^^^^^fff^^^^^^^^^^^^^^^VVV^^^VVVVVVVVVVVVVVVVVVNNNVVVNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNGGGGGGNNNGGGNNNGGGNNNGGGGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEE^^^fff^^^fff^^^fff^^^ffffffffffffffffffffffffffffffffffffpppffffffpppffffffpppfffpppfffpppfffpppfffppppppú��ú��ú��ú��pppwwwpppwwwpppwwwpppwwwwwwppppppú��ú��VVVÁÁÁçççççççççßßßçççççççççßßßßßß‘‘‘VVV^^^ffffffÁÁÁßßßçççßßßÎÎΪªª†††ÇÇÇßßßßßßßßßççç×××ÎÎÎÇÇÇÎÎÎ××××××ßßßßßßßßß¶¶¶wwwGGG333---------------===GGGNNNNNNVVVNNN^^^pppppppppfff^^^^^^^^^VVVVVVppp‘‘‘‘‘‘†††ªªªÎÎÎßßßßßßßßß×××ÎÎΰ°°ªªª–––VVV===333===NNNpppwwwwwwwwwwwwwwwpppwwwpppfffpppffffff^^^^^^VVVVVVVVVVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^fff^^^fffffffffffffffffffffffffffffffffffffffffffffffffff^^^fff^^^^^^fff^^^^^^^^^^^^^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^fff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppffffffpppfffpppfffppppppppppppfffú��ú��ú��ú��pppwwwpppwwwwwwpppwwwwwwpppwwwpppú��ú��===NNN–––×××ççççççççççççççççççßßß°°°^^^wwwwww†††ÎÎÎßßßçççßßßßßßÎÎÎÎÎÎÁÁÁ×××çççßßß×××ÇÇÇÇÇÇÇÇÇÇÇÇÎÎÎ×××××ב‘‘NNN===333333333===333333333===GGGfff††††††‘‘‘–––ªªª   ‘‘‘wwwpppfff^^^fffVVVVVVfffpppppp†††°°°×××ßßßßßßßßßßßß×××°°°ªªª–––GGG333333===EEE^^^wwwwwwwwwwwwwwwpppppppppfffffffff^^^^^^VVVVVVVVVVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ffffffffffff^^^fff^^^^^^^^^fff^^^fff^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^VVV^^^^^^VVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGNNNGGGGGGNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^fff^^^fff^^^fffffffff^^^fffffffffffffffffffffpppffffffpppfffffffffffffffpppfffpppfffpppfffpppú��ú��ú��ú��ú��ú��ú��ú��ú��ú��pppwwwwwwwwwpppwwwwwwwwwú��ú��===EEEGGGwwwÎÎÎïïïçççççççççççççççÇÇÇ‘‘‘^^^pppppp–––ÇÇÇççççççßßßçççßßßÎÎΪªª°°°ßßßçççßßßßßßçççßßßçççßßßÇÇÇfffVVVGGGEEEGGGVVV^^^^^^VVV^^^NNNGGGGGGNNN^^^fff^^^fffppppppppppppfffNNNGGGNNNfffpppfffppp‘‘‘°°°×××ßßßßßßßßßßßß×××ÎÎΰ°°†††GGGGGGVVVNNNGGGNNNfff††††††††††††††††††wwwwwwwwwwwwppppppffffffffffff^^^VVVVVVVVVNNNVVVVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNVVVNNNVVVVVVVVVVVV^^^VVV^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGGGGGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGEEEGGGEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEGGGEEEGGGEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEffffff^^^fffffffffffffffffffffffffffffffffffffffffffffpppffffffpppfffpppffffffpppfffpppfffppppppú��ú��ú��ú��ú��ú��ú��ú��ú��ú��wwwpppwwwwwwwwwwwwwwwwwwú��ú��===EEEGGGNNNfff   ßßßçççççççççççççççßßßÎÎÎpppffffffNNNwwwÎÎÎßßßçççççççççßßßßßß×××ÇÇÇÎÎÎßßßçççßßßçççßßßßßßÇÇÇ‘‘‘ppp^^^VVVppp–––‘‘‘–––pppGGGNNNNNNVVVNNNVVVEEEVVVwww–––ªªª°°°   www^^^GGGEEEGGG^^^^^^^^^pppppp¶¶¶××××××ÎÎÎÎÎÎÎÎÎÇÇǰ°°–––ffffffffffff^^^VVVGGGGGG^^^ppp†††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwppppppffffffffffff^^^^^^VVVVVVVVVVVVVVVVVVNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVV^^^VVV^^^^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^VVV^^^VVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^ffffffffffff^^^ffffffffffffffffffffffffffffffpppfffffffffffffffffffffpppfffppppppfffpppfffppppppfffpppppppppwwwpppwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwfff===EEEGGGVVVNNNVVVÎÎÎçççççççççççççççßßß×××–––VVVVVVVVVpppÁÁÁßßßßßßçççççççççßßßÎÎΪªª¶¶¶ßßßßßßçççÎÎÎ××××××ÎÎΖ––‘‘‘††††††–––°°°ÁÁÁÁÁÁfffNNNGGGEEEGGG^^^^^^GGG†††¶¶¶ÇÇÇÎÎÎÎÎΠ  ppp^^^===GGGppp^^^fff‘‘‘†††wwwwww‘‘‘¶¶¶×××ÁÁÁªªª––––––‘‘‘†††pppfffNNNGGGEEE333333333EEE^^^www††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwwwwpppfffffffffffffff^^^VVVVVVVVVVVVVVVNNNVVVNNNNNNVVVNNNVVVNNNVVVNNNNNNVVVNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGNNNGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEfff^^^fff^^^ffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppfffpppfffpppfffppppppfffppppppppppppppppppppppppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwfff===EEEGGG^^^NNNGGGVVVpppªªªßßßçççççççççççççççÇÇÇfffGGG^^^fffwwwÇÇÇççççççççççççççççççßßßÎÎΰ°°ÇÇÇßßßßßßçççççç××××××××××××ßßßßßß×××ßßß°°°†††wwwfffVVVNNNwww–––   –––‘‘‘pppNNNEEE===EEENNNfffwww‘‘‘fffpppfff–––   ‘‘‘pppwwwfffVVV^^^fffVVVGGG------------333333EEE^^^††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwppppppffffffffffff^^^VVVVVVVVVVVVNNNVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGNNNGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEfff^^^fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppfffpppfffpppfffpppfffppppppppppppwwwpppwwwwwwpppwwwwwwwwwwwwwwwwwwppp===EEENNN^^^^^^VVVVVVfff^^^†††ÎÎÎçççßßßçççççççççÎÎΖ––fff‘‘‘–––   –––ÎÎÎçççßßßççççççççç×××ÎÎΪªªªªªÎÎÎççççççßßßçççßßßçççßßßçççÎÎΪªªªªª¶¶¶ÎÎΪªªwwwwwwpppVVVVVVVVVNNNGGG===EEE   ªªª   ªªª‘‘‘‘‘‘‘‘‘wwwpppppppppffffffpppppppppwwwffffffVVVNNNVVV^^^VVVGGGEEE===---------333333333EEE^^^www†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwpppppppppffffff^^^^^^^^^VVVVVVVVVVVVVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEE^^^fffffffffffffffffffffffffffffffffpppfffffffffffffffffffffpppfffpppfffpppfffpppfffpppfffppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwwwwwwwwwwppp===EEENNNfffpppffffffVVVNNNVVVppp¶¶¶ßßßççççççççççççßßß¶¶¶–––fffVVVVVVfff°°°ßßßççççççççççççççç×××¶¶¶ªªª°°°ßßßççççççççççççççççççÎÎΖ––‘‘‘–––‘‘‘‘‘‘–––‘‘‘‘‘‘wwwpppwwwwwwwww   ÎÎÎçççßßßçççßßßßßß×××ÁÁÁªªªªªª¶¶¶ªªª   ‘‘‘††††††wwwppp^^^VVV^^^fffVVVNNNGGG===------------333333333333EEE^^^www†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwppppppfffffffffffffff^^^^^^VVVVVVVVVNNNNNNNNNGGGGGGNNNGGGNNNGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEffffffffffffffffffffffffffffffffffffffffffffffffffffffpppffffffpppfffpppfffpppfffpppfffppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwwwwwwwppp===EEENNNfffpppfffffffffNNNNNNNNNfff‘‘‘ÎÎÎççççççççççççççç××׆††^^^ppp   ßßßçççççççççççççççççç×××¶¶¶ªªªÎÎÎçççßßßççççççßßß××××××¶¶¶°°°°°°ÇÇÇ××××××ßßßßßßßßßßßßßßßßßßçççççççççççççççççççççççççççßßßßßßßßßçççÎÎÎ×××××××××ÎÎΠ  pppfff^^^ffffffffffff^^^VVVGGG===333333333=========333333333333EEE^^^††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwwwwwwwwwwppppppffffff^^^NNNNNNNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffffffff^^^fffffffffffffffffffffpppffffffffffffffffffffffffpppfffpppfffpppfffpppfffppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwwwwwwwpppEEEEEENNNfffpppffffffffffffVVVNNNNNN^^^www¶¶¶ßßßççççççççç××ב‘‘VVV===EEENNNwww¶¶¶°°°×××çççççççççççççççßßßÎÎζ¶¶ÎÎÎ×××çççççççççÎÎÎÇÇÇÎÎÎÁÁÁ   –––   °°°ÁÁÁ×××ßßßçççççççççççççççççççççßßßççççççßßßççççççççççççççççççßßßçççßßßßßß–––wwwwwwwwwppppppffffffVVVNNNGGGGGGGGGGGGVVVVVV^^^VVV===---333333333===GGGfff†††‘‘‘†††‘‘‘†††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwwwwpppppp^^^NNNGGGEEEGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^fffffffffffffffffffffpppffffffffffffffffffpppffffffpppfffpppfffppppppfffppppppppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwwwwpppEEEEEEGGGNNNffffffpppppppppffffffVVV^^^NNNfffªªªßßßççççççßßßÎÎΪªªGGG===NNNwww‘‘‘ªªªÇÇÇÇÇÇ×××ççççççççççççççççççßßßÁÁÁÇÇÇßßßçççßßßßßßßßß¶¶¶‘‘‘fffNNNGGGVVV†††ßßßççççççççççççççççççççççççççççççççççççççççççççççççßßßçççßßßÇÇÇ   pppVVVVVVppppppfff^^^VVVVVVGGGEEE333333GGGffffffpppNNN333---===333EEEGGGNNNNNNfffppp†††‘‘‘†††‘‘‘†††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††‘‘‘††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwwwwwwwfffGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEffffffffffffffffffffffffffffffffffffffffffffffffpppfffppppppfffpppfffppppppppppppppppppppppppppppppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppGGGGGGNNNNNNNNN^^^pppppppppwwwppp^^^VVVNNNNNN^^^‘‘‘ÎÎÎßßßççççççßßß¶¶¶¶¶¶ÇÇǰ°°°°°°°°°°°VVV–––ßßßçççççççççççççççÎÎΠ  ªªª×××ççççççßßßÇÇǰ°°ªªª°°°¶¶¶°°°¶¶¶ßßßçççççççççççççççççççççççççççççççççßßßçççççççççççççççßßßßßß   fff^^^^^^^^^fffppp^^^GGGEEEGGGGGG333---"""333333=========EEEppp^^^VVVfffppp^^^fff^^^fffppp‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††‘‘‘††††††‘‘‘†††††††††††††††‘‘‘†††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwpppVVV======EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^ffffff^^^fffffffffffffffffffffpppffffffpppfffpppfffpppfffpppppppppfffpppppppppppppppppppppwwwppppppwwwwwwwwwwwwwwwGGGGGGGGGNNNNNNNNNVVVfffpppppppppfffppp^^^VVVNNNVVVppp   ×××çççïïïççççççßßßwww^^^–––¶¶¶ÁÁÁ¶¶¶ÁÁÁ×××ßßßßßßßßßççççççßßß¶¶¶      ßßßççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççßßßßßßßßßÎÎÎÁÁÁªªª†††ppppppwwwwwwpppwwwppp^^^NNNGGG===---"""""""""""""""333NNN^^^‘‘‘ppp^^^VVVVVV^^^VVVNNN^^^fffpppwww††††††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††‘‘‘†††‘‘‘††††††††††††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwfffEEE333333======EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffffffffffffffffffffffffffpppfffffffffffffffpppfffpppppppppppppppppppppppppppppppppwwwwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwGGGGGGNNNNNNNNNNNNNNNVVVwwwppppppwwwwwwwww^^^VVVVVVNNN^^^wwwÇÇÇçççïïïçççççççççÎÎÎÎÎÎçççççççççÎÎΰ°°fff†††‘‘‘ÎÎÎßßßçççßßß×××ÎÎÎßßßßßßßßßççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççßßßßßßÇÇÇ–––†††††††††wwwNNN===VVVppp^^^pppwwwwwwwwwfff^^^NNN===---""""""""""""---333EEENNNpppfffVVVEEE=========EEEEEENNNVVVffffffwww‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††‘‘‘†††‘‘‘††††††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwGGG333333===============EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEffffffffffffffffffffffffffffffffffffpppfffpppfffppppppfffppppppppppppppppppppppppwwwpppwwwwwwwwwpppwwwwwwwwwwwwwwwGGGNNNNNNNNNNNNNNNNNNNNNVVV^^^wwwwwwwwwwwwwwwfffNNNVVVNNNfff–––×××ïïïïïïçççïïïçççççççççççç×××¶¶¶   ‘‘‘‘‘‘pppªªª×××ççççççççç×××¶¶¶ÁÁÁßßßççççççççççççïïïçççççççççççççççççççççççççççççççççßßßÁÁÁ   ‘‘‘†††pppNNN333333^^^†††^^^pppwwwpppfffpppVVVEEE===333333333---"""------333===333333GGGEEE333333======EEEGGGNNN^^^fffppp†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††www^^^------333333===============EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEE===EEEEEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEffffffffffffffffffpppfffpppfffpppfffppppppfffppppppppppppppppppppppppppppppwwwwwwwwwwwwpppwwwwwwwwwwwwwwwwww††††††GGGNNNVVVNNNNNNNNNVVV^^^NNNVVV^^^pppwwwpppwwwpppVVVVVVVVVVVV^^^www¶¶¶ïïïïïïçççïïïçççïïïçççççççççßßß¶¶¶   –––   ¶¶¶   ppp°°°çççççç×××ÎÎÎßßßççççççïïïçççççççççïïïççççççççççççççççççççççççßßßÁÁÁpppfff†††††††††††††††–––   ‘‘‘^^^www‘‘‘†††pppVVV†††pppppppppVVVNNNGGGNNNNNNEEE333""""""""""""""""""===NNNEEE=========333333======EEENNN^^^ppp‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††fff==="""---333=====================EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffffffffffffffffffffffffffpppfffpppppppppppppppppppppppppppppppppwwwwwwwwwpppwwwwwwwwwwwwwwwwwwwwwwww††††††NNNNNNNNNVVVVVVVVVppp^^^NNNNNNVVVVVVfffwwwpppVVVVVVNNNVVVVVV^^^fff‘‘‘×××ïïïïïïïïïçççïïïçççïïïçççççççççßßßÇÇÇ   ¶¶¶çççççççççççççççççççççççççççïïïçççççççççççççççççççççßßß××××××ÇÇÇÎÎÎÎÎÎÎÎÎçççßßßÎÎÎÁÁÁÁÁÁ××××××ßßßÇÇÇ‘‘‘††††††wwwNNNpppwwwfffwwwwww^^^^^^VVVVVVGGGEEE======---------------GGG^^^^^^NNNEEE333333333333333===EEEGGGVVVfffppp†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††wwwEEE""""""333===333==================EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffffffffpppfffppppppfffpppfffpppfffppppppppppppppppppppppppwwwppppppwwwwwwwwwwwwwwwwwwwwwwwwwww††††††NNNNNNVVVNNNVVV^^^wwwfffVVVNNNNNNNNNVVVppppppwwwwwwVVVVVVVVVVVVVVVVVVVVV^^^wwwÁÁÁçççïïïïïïçççïïïçççïïïçççççççççÎÎÎÇÇÇ      ßßßççççççççççççççççççççççççççççççßßßßßß×××ßßß×××ÎÎÎÎÎÎÇÇÇÁÁÁ°°°°°°ÎÎÎ××××××ßßßççççççßßßßßßççççççççççççßßßÇÇÇ‘‘‘fffVVV–––^^^ffffff^^^fffffffffVVVGGGGGGGGG===GGGGGGGGGGGG^^^†††^^^NNNNNNEEE333===333333======EEENNNVVVfff†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††††††††††††††‘‘‘†††††††††††††††††††††VVV---"""---=================================EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE=========EEEEEE===EEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEffffffffffffpppffffffpppfffppppppppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww††††††††††††††††††VVVNNNVVVVVVVVVfffppppppfffVVVVVVfff^^^VVVVVVpppwwwVVVVVVVVVVVVVVVVVVVVV^^^VVVfff‘‘‘×××ïïïïïïïïïçççççççççççççççççççççßßß×××ßßßßßßßßß××××××ÎÎÎÇÇÇÁÁÁ¶¶¶°°°°°°¶¶¶ÎÎÎßßßßßßßßß×××ßßßÇÇǪªª–––      ––––––   ×××çççççççççÎÎÎÇÇÇßßßççççççççç×××¶¶¶‘‘‘––––––wwwpppfffpppfff^^^VVVVVVNNNVVVGGG^^^^^^VVVGGGGGGNNNfffwwwpppfffGGG===333333===333333======GGGVVVfffwww‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘†††‘‘‘†††††††††††††††‘‘‘††††††††††††††††††ppp333"""---333===333===333========================EEE=========EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEE===EEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffpppfffpppfffpppfffpppppppppfffppppppppppppppppppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww†††††††††††††††††††††VVVVVVVVVVVVVVVfffwwwpppwwwppp^^^ppppppNNNVVVVVVfffVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^^^^¶¶¶çççïïïçççßßß×××ÎÎÎÇÇǶ¶¶°°°ªªª   –––‘‘‘†††pppppppppfffpppwww‘‘‘°°°ÎÎÎßßßÎÎΠ  ††††††   ¶¶¶×××ßßßÎÎζ¶¶ªªªÇÇÇ×××ßßß¶¶¶‘‘‘–––ßßßçççççççççßßß   www–––ÁÁÁÁÁÁ   –––‘‘‘^^^ffffffwwwppp^^^NNNGGGEEE===GGG^^^^^^pppNNNEEE333===333333===333======NNNfffpppwwwwww††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††wwwEEE""""""333333======333===333===========================EEE===EEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEE===EEEEEE===EEE===EEEEEE======EEE===EEEEEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEpppfffpppppppppppppppppppppppppppppppppwwwpppwwwwwwwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwww†††††††††††††††††††††fff^^^VVVVVVVVV^^^pppppp^^^ppp^^^pppwwwfffwwwVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^fff‘‘‘ÇÇǪªª†††pppfffffffff^^^^^^VVV^^^^^^VVVVVV^^^VVVVVV^^^VVVffffff–––¶¶¶ÎÎÎÎÎΠ  –––   ªªªªªªÇÇÇÎÎζ¶¶°°°ÇÇÇßßßçççÁÁÁ°°°ÇÇÇççççççççççççÇÇÇfffppp–––¶¶¶ÎÎÎÎÎÎÎÎÎÁÁÁªªª–––      –––†††ppppppVVVGGGEEENNN^^^www†††pppppp^^^NNNEEE===333===333333333===GGG^^^wwwwww‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘††††††‘‘‘†††‘‘‘††††††††††††VVV---"""---333===333===333===333===========================EEE===EEE===EEEEEEEEEEEEEEE===EEE===EEEEEE===EEE===EEE===EEE===EEEEEE===EEEEEEEEEEEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEppppppwwwpppwwwppppppwwwpppwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww††††††††††††††††††††††††‘‘‘www^^^VVVVVVVVVVVVfffwwwppp^^^wwwppp†††VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^pppwwwfff^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^ppp   ¶¶¶××××××¶¶¶   –––ÁÁÁßßßßßß××××××ßßßççççççßßßçççççç×××ÎÎÎ×××ÎÎÎwww†††–––ÁÁÁ×××ççççççßßß×××°°°ªªªªªªªªªªªª   pppNNNEEE===VVV‘‘‘ªªªªªª‘‘‘‘‘‘††††††ffffffGGG===333=========EEEVVVwww†††‘‘‘‘‘‘–––‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††fff333""""""===333===333===333===333=================================EEEEEE===EEE======EEE===EEE===EEE======EEE===EEEEEEEEE======EEEEEEEEEEEE===EEEEEE===EEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww††††††††††††††††††††††††††††††††††††–––      †††VVVNNNVVVVVVVVV^^^www^^^www†††VVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVV^^^^^^^^^fff¶¶¶¶¶¶www^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVVVVVVVVVVVVVV^^^^^^^^^pppwww‘‘‘   °°°°°°¶¶¶×××ßßßççççççççççççççççççççççççççççççÇÇÇÁÁÁÎÎΰ°°–––‘‘‘ÁÁÁßßßçççççççççÎÎΆ††www‘‘‘–––‘‘‘wwwppp^^^^^^VVVGGGNNNVVVppp‘‘‘ªªªªªª‘‘‘pppffffffNNN===333333333333---EEE^^^www‘‘‘°°°ÁÁÁ¶¶¶¶¶¶–––‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘††††††EEE""""""333333333===333333===333===333=================================EEE===EEE===============EEE=========EEEEEE===EEE======EEE===EEE===EEEEEE===EEE===EEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwpppwwwwwwwwwwwwwwwwww†††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘   ¶¶¶ÁÁÁ–––wwwNNNNNNVVVVVVVVV^^^^^^ppppppfff^^^VVVVVV^^^VVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^^^^fff†††°°°‘‘‘fff^^^VVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVV^^^^^^fffppp–––ªªªÁÁÁÎÎÎßßßßßß××××××çççççççççççççççßßß×××ÎÎÎ×××××××××ççççççççççççÇÇdž†††††   ÁÁÁÁÁÁ†††VVVGGGVVVfffVVVNNNVVVGGGVVVfffpppfffNNNEEE======333===333333333---333EEENNNppp–––   ªªª‘‘‘‘‘‘ªªªªªª–––‘‘‘‘‘‘–––––––––‘‘‘–––‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††VVV---"""---333===333===333333===333===333===333==============================EEE======EEE============EEE======EEE=========EEE===EEE===EEE======EEE===EEE===EEEEEE===EEEEEEEEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwwwwwwwwwwwwwwwwwwwwwwww††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††   –––‘‘‘†††–––fffNNNGGGVVVVVVVVV^^^wwwwww†††wwwfff^^^VVVVVV^^^VVV^^^^^^VVVVVV^^^VVV^^^VVV^^^^^^^^^^^^ppp‘‘‘ªªª^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNNNNNNNVVVNNNVVVVVV^^^^^^^^^^^^^^^ppp†††°°°ÇÇÇÎÎΰ°°   ÁÁÁÎÎÎ×××ÇÇÇÎÎÎßßßççççççßßßççççççßßßßßßßßßççççççßßß×××ÎÎÎ×××ßßßÎÎΪªªppp–––ÇÇǶ¶¶–––pppVVVVVVVVVNNNGGGEEE======333===333333===333333=========GGGfffwwwwww   °°°ÁÁÁ°°°   –––‘‘‘‘‘‘––––––‘‘‘––––––‘‘‘––––––‘‘‘‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††ppp333""""""333333===333===333333===333===333===333============================================================EEE======EEE=========EEE===EEEEEE=========EEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEpppwwwwwwwwwwwwwwwwwwwwwwww†††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘   †††^^^GGGGGGNNNVVV^^^pppwww^^^wwwfffVVVVVV^^^VVV^^^^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^fffwww   –––pppVVVVVVVVVNNNNNNNNNNNNNNNVVVVVVVVVVVVVVVVVVVVV^^^ffffff^^^†††‘‘‘www^^^fffwww–––ªªª–––   ªªª¶¶¶ÇÇǶ¶¶°°°ªªª°°°¶¶¶ÇÇÇÎÎÎßßß×××ÎÎÎÁÁÁÇÇÇßßßççççççßßß×××ÎÎÎßßß××××××ßßßçççßßß×××ÇÇǪªª   †††pppVVVGGGEEE===333333===333333======333=========GGGfff†††ªªª¶¶¶°°°ÇÇǪªª–––‘‘‘‘‘‘––––––––––––‘‘‘–––––––––‘‘‘–––‘‘‘‘‘‘–––‘‘‘––––––‘‘‘––––––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††wwwEEE""""""333===333333333===333===333===333333===333================================================EEE=========EEE===EEE======EEE===EEE===EEE======EEE===EEE===EEE======EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwwwwwwwwwwwwwww†††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘ªªªªªªwwwppp–––°°°pppVVVNNNGGGNNNVVVVVV^^^www†††‘‘‘www‘‘‘wwwfff^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^VVV^^^^^^^^^^^^^^^fffppp‘‘‘ªªªwww^^^VVVVVVVVVVVV^^^VVVVVVVVV^^^VVV^^^^^^VVV^^^fff‘‘‘www‘‘‘†††fff†††ppp^^^^^^fffwww‘‘‘   ªªªÁÁÁ×××ßßß×××ÇÇÇÇÇÇÎÎÎÇÇÇÁÁÁªªª°°°¶¶¶¶¶¶¶¶¶¶¶¶°°°ÇÇÇÇÇÇÎÎÎßßßßßß×××ççççççßßßçççÇÇǰ°°ªªªªªª°°°°°°ªªª   †††wwwVVVGGG===333===333333===333333===EEEGGGfff†††††††††‘‘‘¶¶¶ÇÇÇÁÁÁ¶¶¶°°°–––‘‘‘––––––   –––––––––––––––‘‘‘–––––––––‘‘‘––––––‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††VVV---"""---333333===333333===333===333333===333===333===============================================================EEE===EEE=========EEE===EEE======EEE===EEE===EEE===EEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwwwwwwwwwwww†††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘   ªªªffffff   ¶¶¶–––fffVVVNNNGGGNNNVVV^^^fffppp†††www^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^ppp      fff^^^^^^VVVVVV^^^VVV^^^VVVVVVVVVVVVVVV^^^^^^fffpppwwwwwwwwwppp††††††fff^^^^^^ppp‘‘‘ªªªÁÁÁ×××ççççççßßßççççççßßßçççßßß×××ÎÎζ¶¶   ªªªªªª–––   ÎÎÎççççççßßßççç×××ÁÁÁªªª–––   ªªª   –––         °°°ªªª‘‘‘www^^^GGGEEE333333===333======GGG^^^‘‘‘††††††‘‘‘   ÁÁÁ¶¶¶ÎÎζ¶¶ªªª      ¶¶¶°°°   ––––––––––––––––––––––––––––––––––––––––––‘‘‘––––––‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††ppp333""""""333===333===333333333333===333333===333333333===333===========================================================================EEE============EEE===EEE===EEE===EEE===EEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwwwwwwwwwwww††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘––––––ffffff¶¶¶¶¶¶ÁÁÁ†††pppVVVNNNNNNGGGVVVVVVfff†††www†††fff‘‘‘††††††fff^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^fff‘‘‘ªªªfff^^^VVV^^^VVV^^^VVV^^^VVV^^^VVVVVV^^^VVV^^^fff‘‘‘‘‘‘‘‘‘ppp^^^fffVVVVVVVVVfff–––ÁÁÁÎÎÎ×××ßßßçççÎÎΪªªÁÁÁÎÎÎ××××××ÁÁÁ   –––‘‘‘   ßßßççççççßßß×××ÁÁÁªªªªªª      ªªª   –––‘‘‘‘‘‘‘‘‘–––      ªªª      †††ppp^^^GGGEEE=========EEEGGGfff†††‘‘‘††††††‘‘‘¶¶¶°°°¶¶¶ÎÎΪªª   ÇÇÇÇÇǶ¶¶   ––––––––––––––––––––––––––––––––––––––––––‘‘‘––––––‘‘‘–––‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘EEE""""""333333333333===333===333===333333===333===333333======333==================================================================EEE===EEE======EEE===EEE===EEE===EEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwwwwwwwwwwww†††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘‘‘‘–––ppp^^^fff¶¶¶ÇÇÇ×××°°°‘‘‘ppp^^^NNNNNNGGGNNN^^^^^^†††www†††fff‘‘‘‘‘‘^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^fffVVV^^^^^^fffwww   ªªª^^^^^^VVVVVV^^^VVVVVVVVV^^^VVVVVVVVVVVV^^^^^^pppwwwwww††††††VVV^^^NNNNNNVVV^^^www–––ÁÁÁßßßßßß×××ÁÁÁÎÎÎßßßÎÎÎÁÁÁÁÁÁªªª–––¶¶¶×××çççççççççÎÎÎÁÁÁ°°°ªªª      ––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††‘‘‘‘‘‘†††www^^^NNNEEE===EEENNNfff†††‘‘‘††††††°°°ÁÁÁÁÁÁ°°°ªªª¶¶¶×××ÎÎζ¶¶   ––––––––––––––––––––––––––––––––––––––––––––––––‘‘‘–––‘‘‘‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††VVV---"""---333333===333333333===333333333333333333333===333======333======333=============================================EEE==================EEE===EEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwwwwww††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††‘‘‘wwwffffff‘‘‘ÁÁÁÇÇÇ×××¶¶¶–––ppp^^^NNNNNNGGGNNN^^^^^^pppwwwppp‘‘‘‘‘‘www†††fffffffff^^^^^^fff^^^^^^fff^^^fff^^^fff^^^^^^fffffffffppp‘‘‘ÁÁÁfff^^^VVV^^^VVV^^^VVV^^^^^^^^^VVV^^^VVV^^^fff‘‘‘‘‘‘wwwpppwwwpppfffVVVNNNNNNVVVfffªªªÎÎÎßßßÁÁÁÇÇÇÇÇÇÎÎÎÁÁÁªªªªªª¶¶¶ççççççïïïççç×××ÁÁÁ°°°ªªª   –––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††wwwwwwwwwwwwwww‘‘‘ªªª¶¶¶°°°www===333===EEENNNfff†††‘‘‘††††††–––¶¶¶ÁÁÁ¶¶¶ªªª   ÎÎÎßßß×××ÁÁÁªªª–––––––––––––––––––––––––––––––––––––––––––––‘‘‘––––––‘‘‘–––––––––––––––‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘ppp333""""""333333333===333===333333333333===333333333333===333333======333=======================================EEE===EEE===EEE==================EEE===EEEEEE======EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwww†††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘†††‘‘‘†††††††††wwwwww††††††‘‘‘‘‘‘¶¶¶–––ÁÁÁÎÎÎÁÁÁ–––www^^^VVVNNNGGGNNNVVV^^^ffffff‘‘‘–––†††‘‘‘^^^fff^^^fff^^^fff^^^fff^^^fffVVV^^^^^^fffffffffpppwww   ‘‘‘pppfffVVV^^^^^^VVVVVV^^^VVV^^^VVVVVV^^^^^^fffpppwww††††††††††††††††††ppp^^^^^^NNNNNNNNN^^^ppp–––¶¶¶ÇÇÇÎÎÎÁÁÁ–––ªªª‘‘‘¶¶¶çççççççççççç×××ÁÁÁªªª         –––––––––‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††††††††wwwwwwpppppppppppp–––°°°¶¶¶   VVV333333333333===EEENNNppp†††‘‘‘††††††‘‘‘°°°   ªªª°°°¶¶¶ßßßççç×××ÁÁÁªªª–––   –––   ––––––––––––––––––––––––––––––––––––––––––‘‘‘––––––‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘EEE""""""---333===333===333333333===333333333333===333333======333======333=============================================EEE===EEE======EEE===EEEEEEEEEEEEEEEEEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwww†††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††††††††wwwwwwffffff^^^^^^^^^^^^www°°°¶¶¶   ªªª‘‘‘   °°°ÎÎζ¶¶–––www^^^VVVVVVNNNNNNVVV^^^fffwww†††‘‘‘†††‘‘‘‘‘‘www^^^^^^fff^^^ffffffffffffVVV^^^fffffffffffffffpppwwwªªªÁÁÁ‘‘‘ppp^^^^^^^^^VVV^^^^^^VVV^^^VVVVVVVVV^^^^^^pppwwwpppwww‘‘‘††††††www^^^NNNNNNVVVfffªªªÇÇÇ×××××××××ÎÎÎççççççççççççßßßÇÇǶ¶¶°°°ªªª––––––‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘†††††††††wwwwwwwwwpppwww–––ªªª°°°‘‘‘NNN333333333333===333======EEEVVVppp†††–––††††††‘‘‘°°°ÁÁÁ¶¶¶ÁÁÁÇÇÇßßßççç×××ÁÁÁªªª––––––––––––––––––––––––––––––––––––––––––‘‘‘––––––––––––––––––‘‘‘–––––––––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘VVV------333333333333===333333333333333===333333===333===333===333===333===333==========================================EEE======EEE===EEE===EEE===EEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEwww††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwpppffffff^^^^^^^^^^^^VVV^^^VVV^^^^^^ppp^^^‘‘‘ÁÁÁ   –––   °°°¶¶¶¶¶¶ÎÎÎÁÁÁ–––fff^^^VVVNNNNNNNNN^^^fffpppwww–––†††–––†††‘‘‘††††††fff^^^ffffff^^^fffffffff^^^^^^ffffffffffffffffffwwwÁÁÁïïïçççÇÇdž††^^^^^^^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^–––www†††–––‘‘‘^^^^^^VVVNNNNNN^^^ppp†††°°°ÇÇÇ×××çççççççççççççççßßßßßß×××ÎÎÎÁÁÁªªª      ––––––‘‘‘‘‘‘‘‘‘††††††††††††wwwwwwwww–––ªªª°°°‘‘‘VVV333---333333===333======333======GGGVVVwww†††‘‘‘††††††‘‘‘–––ÁÁÁÁÁÁ¶¶¶ÁÁÁßßßßßß×××¶¶¶ªªª–––   –––   –––   –––   –––––––––––––––––––––––––––––––––––––––––––––‘‘‘–––‘‘‘––––––‘‘‘ppp333""""""333333333===333333333333333===333===333333===333===333333===333=========333=======================================EEE======EEE===EEE===EEEEEEEEEEEE===EEEEEEEEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE††††††††††††††††††††††††††††††††††††††††††wwwpppfff^^^^^^VVVVVVVVVVVV^^^^^^VVVVVVVVV^^^VVV^^^^^^pppNNN^^^–––   ‘‘‘–––°°°×××   °°°×××ÇÇÇ   pppfff^^^VVVNNNNNN^^^^^^ppp††††††–––††††††††††††ffffff^^^fffffffffffffff^^^^^^ffffffffffffpppfff†††ßßßïïïýýýýýýßßß   www^^^^^^^^^VVV^^^VVV^^^VVV^^^VVVVVV^^^VVV^^^^^^wwwwww††††††††††††pppVVVVVVNNNNNNVVVppp†††   ¶¶¶×××ßßßßßßçççßßßßßßßßßßßßßßß×××ÎÎÎÎÎÎÁÁÁ°°°   –––‘‘‘‘‘‘††††††–––°°°°°°–––VVVEEE===EEE============EEEEEEGGGGGG======EEEGGG^^^www‘‘‘††††††   °°°ÁÁÁ¶¶¶°°°°°°ÎÎÎßßßÎÎζ¶¶ªªª––––––   –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––‘‘‘†††EEE""""""---333333333333333333333333333===333333===333===333===333333===333333======333=======================================EEE======EEE===EEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE††††††††††††††††††††††††††††††††††††††††††††††††wwwpppfff^^^VVVVVVVVVVVVVVVVVVNNNVVV^^^VVV^^^VVV^^^VVVVVV^^^NNNVVVfffVVVGGGfff   †††   ªªªÎÎΰ°°ÁÁÁ¶¶¶×××ÎÎΪªª–––†††wwwfffVVVNNNNNN^^^^^^fffwww–––   †††††††††††††††ppp^^^ffffffffffff^^^ffffffpppfffffffffppp   ïïïýýýýýýýýýýýýïïïÎÎΆ††fff^^^^^^^^^^^^^^^VVV^^^^^^VVVVVV^^^VVV^^^VVV^^^ppp†††–––†††wwwwwwwwwVVVVVVGGGNNNVVV^^^www‘‘‘°°°ÎÎÎßßßßßß×××ßßßßßßßßßçççßßßßßßßßßßßßÎÎÎÁÁÁ¶¶¶   –––‘‘‘†††www†††‘‘‘°°°¶¶¶ªªªfffNNNNNN^^^^^^VVVGGGGGGGGGNNNVVV^^^VVVGGGEEE=========GGG^^^www†††‘‘‘††††††–––ÁÁÁ°°°ªªª°°°¶¶¶¶¶¶××××××ÁÁÁªªª–––   –––   –––   –––   –––   –––––––––   –––   –––   –––––––––––––––––––––‘‘‘VVV---"""---333333333333333333333333333333333333333===333===333===333333======333333======333====================================EEE======EEE===EEEEEEEEEEEE===EEEEEEEEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE††††††††††††††††††††††††††††††††††††††††††wwwpppfff^^^^^^VVVVVV^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^VVVVVVVVVNNNVVVNNNfffVVVGGG†††ppp‘‘‘¶¶¶¶¶¶°°°ÇÇÇßßß¶¶¶°°°ÎÎÎßßßÁÁÁ°°°–––†††ppp^^^NNNNNNVVVffffff†††††††††‘‘‘‘‘‘†††fffffffffffffff^^^^^^fffffffffppppppwwwÁÁÁïïïýýýýýýýýýýýýýýýýýýçç窪ªwww^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^VVV^^^www†††–––††††††wwwffffffVVVNNNGGGGGGVVV^^^www‘‘‘¶¶¶××××××¶¶¶ÎÎÎ××××××ßßßççççççßßßçççßßßßßß×××ÇÇÇÁÁÁªªª–––†††††††††ªªª¶¶¶ÁÁÁªªª^^^^^^fffpppppppppppp^^^^^^www‘‘‘†††wwwfffNNNEEE============GGG^^^†††–––††††††°°°¶¶¶   –––°°°ÁÁÁ°°°ÁÁÁ×××ÎÎΠ     –––   –––   –––   –––––––––   ––––––   –––   –––   ––––––   ––––––––––––ppp333""""""333333333333333333333333333333333===333333===333===333333===333333===333===333===333=============================================EEE===EEEEEE===EEEEEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE††††††††††††††††††††††††††††††††††††wwwffffff^^^VVVVVVVVV^^^VVV^^^^^^VVV^^^^^^VVV^^^^^^VVV^^^^^^VVV^^^VVVNNNNNNGGGVVVNNNVVVVVVfffNNNNNNfff^^^   °°°   ÎÎÎ×××ÁÁÁªªªªªªÎÎÎçççßßßÎÎΰ°°†††ppp^^^^^^VVVVVV^^^fffppp†††‘‘‘–––‘‘‘‘‘‘†††‘‘‘pppffffff^^^fffppppppfffpppfff×××ýýýýýýýýýýýýýýýýýýýýýýýýïïï××ב‘‘fff^^^^^^^^^^^^^^^VVV^^^^^^^^^VVV^^^^^^^^^^^^fff‘‘‘†††††††††‘‘‘†††www^^^VVVVVVNNNGGGGGGVVVfff   ÁÁÁÇÇÇÎÎÎ×××ßßßßßß×××ßßßßßßßßßßßßßßßßßßçççßßß×××ÎÎÎÇÇǰ°°      –––fff^^^^^^VVVNNNNNNNNNNNN^^^fffppp‘‘‘ªªª   †††ppp^^^VVVGGG============EEENNNfffwww‘‘‘‘‘‘††††††††††††ªªªÁÁÁ¶¶¶°°°   ªªª   –––   –––   –––   –––         ––––––   –––   –––   ––––––   –––––––––––––––†††EEE""""""---333333333333333333333333333333333333===333===333333===333333===333=========333======333=================================EEE=========EEE===EEEEEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE†††††††††††††††††††††††††††wwwpppfff^^^VVVVVVVVVVVV^^^^^^^^^^^^^^^VVV^^^^^^VVVVVV^^^VVV^^^VVVVVVVVVNNNGGGGGGGGGGGGNNNNNNVVVVVVVVVfffNNNGGGppppppVVV^^^‘‘‘   ÁÁÁ¶¶¶ÇÇÇÁÁÁ°°°   çççïïïßßß×××¶¶¶†††wwwppp^^^^^^VVV^^^fffppp†††‘‘‘†††‘‘‘†††ffffff^^^ffffffpppfffpppppp–––ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçç窪ªwww^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^ppp††††††pppfffffffffppppppVVVNNNGGGGGGNNN^^^ppp‘‘‘°°°××××××ÁÁÁ×××ßßßßßßÎÎÎ×××ççç×××××××××ßßßßßß×××¶¶¶–––pppfffVVVNNNVVV^^^fffVVVGGGEEEGGGGGGNNNVVVfff‘‘‘ffffffpppVVVGGGGGGEEE===333===EEENNN^^^www†††‘‘‘††††††°°°¶¶¶¶¶¶ÇÇǶ¶¶   ‘‘‘–––   –––   –––   –––   –––         –––   –––      –––      –––   –––‘‘‘VVV------333333333333333333333333333333333===333333333===333333333333333333333===333======333=============================================EEE===EEE======EEEEEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE†††††††††††††††††††††pppppp^^^VVVVVVVVVVVV^^^VVV^^^^^^VVVVVV^^^VVVVVV^^^^^^VVV^^^^^^VVVVVVVVVNNNNNNGGGGGGNNNNNNNNNNNNVVVVVVVVVVVVNNNfffNNNEEEwww‘‘‘^^^fff–––¶¶¶ÇÇÇÎÎζ¶¶¶¶¶ªªªççççççÎÎÎ×××ßßßÁÁÁ–––‘‘‘ppp^^^VVV^^^ffffffwww†††‘‘‘ppp††††††pppfffffffffpppfffppppppwww¶¶¶ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï××ב‘‘fff^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^fffppp‘‘‘www‘‘‘††††††fff^^^^^^NNNGGGGGGVVV^^^www–––°°°ÁÁÁ×××ßßßßßß×××ßßßçççßßßÎÎζ¶¶ªªª–––pppffffff^^^VVVVVVNNNNNNNNN^^^^^^VVVGGGGGGEEEEEEGGGNNNNNN^^^pppwwwwwwwwwppp^^^VVVGGGEEE======333===EEEGGG^^^ppp‘‘‘††††††   ¶¶¶ÁÁÁ¶¶¶ªªª   ––––––      –––      –––   –––   –––   –––   –––      ––––––   –––   –––ppp---""""""---333333333333333333333333333333333333===333333===333===333333===333333===333333===================================================EEE======EEE======EEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE††††††††††††††††††wwwpppfff^^^VVVVVVVVVVVVVVV^^^VVV^^^^^^^^^VVV^^^^^^VVVVVV^^^VVV^^^^^^VVVVVVVVVNNNNNNNNNGGGNNNVVVVVVVVVVVVVVVVVVVVVNNNVVVVVV^^^GGG333VVV†††††††††ffffffªªª×××ßßß°°°°°°ªªªçççççç×××çççÎÎÎßßßÇÇǶ¶¶°°°–––wwwfffVVVVVVffffffppp   †††–––ppppppfff^^^fffppppppfffpppÎÎÎïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçç窪ªwwwfff^^^^^^^^^^^^VVV^^^^^^^^^^^^VVV^^^^^^^^^^^^pppwww†††‘‘‘‘‘‘fffVVVNNNGGGNNNVVVfffwww‘‘‘°°°ÎÎÎßßßçççççççççÎÎΪªªwwwffffff^^^fffffffff^^^^^^^^^^^^^^^VVVNNNNNNNNNVVVVVVNNNGGGGGGEEEEEEGGGNNNVVVfffwwwwwwwww^^^NNNGGG======333======EEEGGGNNNVVV^^^www††††††‘‘‘‘‘‘††††††–––ªªª¶¶¶ÁÁÁ   –––            –––               –––      –––   –––      –––   †††EEE""""""---333333333333333333333333333333333333333333===333333333333333333333===333333======333333=============================================EEE======EEEEEEEEEEEE===EEE===EEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE†††††††††††††††wwwpppfff^^^VVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^^^^VVV^^^VVVVVVVVV^^^VVVVVVVVVVVVNNNNNNNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVNNN^^^GGG333GGGfff–––   ‘‘‘ffffff   ßßß¶¶¶ªªªªªªÇÇÇçççççççççÎÎÎ×××ïïïïïïßßßÇÇǪªªpppVVVVVV^^^pppppp‘‘‘††††††‘‘‘fffffffffpppfffppppppppp†††çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý×××–––fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff–––‘‘‘†††††††††‘‘‘‘‘‘^^^VVVVVVGGGGGGNNNVVV^^^www†††ªªªÇÇÇßßßßßß   fff^^^^^^VVVNNNVVVVVV^^^fff^^^^^^fff^^^^^^VVVVVVVVVVVV^^^VVV^^^VVVNNNEEEEEEGGGNNNNNNVVV^^^ppppppfffVVVGGG===EEEEEEGGG^^^fffppp^^^NNNVVV^^^ppp†††www‘‘‘°°°ÎÎÎÎÎΰ°°‘‘‘–––––––––         –––      –––         –––   –––   ––––––‘‘‘VVV"""""""""333333333333333333333333333333333333333===333333===333===333===333333333===333333================================================EEE===EEE======EEE===EEEEEE===EEEEEE===EEE===EEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE††††††wwwpppfff^^^VVVVVVNNNVVVVVVVVVVVVVVV^^^^^^VVV^^^VVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVV^^^NNN333333GGG   –––‘‘‘VVV^^^°°°¶¶¶ÇÇÇ   ×××ßßß××××××ïïïïïïïïïïïïïïï×××°°°†††ppp^^^VVV^^^ffffffwww‘‘‘–––†††pppfffffffffpppppppppppp   ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇfff^^^^^^^^^^^^^^^^^^^^^^^^fffpppfff^^^^^^^^^fff†††wwwwww††††††fffVVVNNNGGGGGGNNNVVV^^^ppp†††ªªªÇÇÇ   ppp^^^^^^VVVVVVNNNNNNVVV^^^^^^^^^^^^VVVNNNVVVVVV^^^ffffffNNNGGGVVVVVVNNNNNNNNNGGGEEEGGGNNNNNNVVV^^^^^^fff^^^NNNGGGVVVwwwwwwwwwffffffNNNNNNVVVpppwwwpppwwwwww   °°°°°°ÁÁÁÁÁÁªªª–––‘‘‘––––––   –––      ––––––   –––            ––––––ppp---""""""---333333333333333333333333333333333333333333===333333333333333===333===333333===333===333=============================================EEE===EEE===EEEEEE===EEEEEE===EEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwppp^^^VVVVVVNNNVVVNNNVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV333---333NNN‘‘‘ªªª^^^NNNNNNfff   ÎÎΠ  ÇÇÇÇÇǶ¶¶çççïïïïïïýýýïïïïïïïïïßßß°°°†††pppfffffffffpppfffwww–––pppffffffppppppppppppwwwÁÁÁïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý×××   ppp^^^^^^^^^^^^fffwww††††††‘‘‘ffffff^^^^^^fffwww†††–––   –––‘‘‘pppfff^^^VVVGGGGGGGGGNNNVVV^^^ppp‘‘‘ªªª‘‘‘ppp^^^^^^^^^VVVNNNGGGNNNVVVfff^^^^^^NNNGGGVVV^^^^^^^^^NNNGGGNNNNNNNNNVVVNNNNNNVVVNNNGGGGGGGGGNNNVVVVVVfff^^^NNNNNNNNNVVVffffffVVVGGGGGGVVVfffwwwffffffwwwwwwwww†††ªªªÇÇÇ××תªª‘‘‘–––‘‘‘‘‘‘–––––––––      –––   –––   –––   ––––––===""""""---333333333333333333333333333333333333333333333333333333===333333333333333===333===333==========================================EEE===EEE============EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^VVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVV^^^VVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVV^^^^^^VVV===------===NNNfff†††VVV^^^GGG^^^   ‘‘‘ÎÎÎ×××   ßßßïïïýýýççççççïïïßßßçççßßß¶¶¶–––†††wwwppppppfffppppppppppppppppppppppppÎÎÎýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÎÎÎffffff^^^fff‘‘‘‘‘‘†††††††††‘‘‘fff^^^fff–––   –––‘‘‘†††‘‘‘––––––fff^^^VVVNNNGGGEEEGGGNNNVVVfffwww–––ªªªªªª‘‘‘wwwfff^^^VVVGGGNNNNNNVVVfff^^^^^^VVVNNNNNNNNNVVV^^^VVV^^^VVVNNNGGGNNN^^^^^^^^^VVVGGGEEEGGGGGGNNNNNNVVV^^^^^^VVVNNNNNNGGGNNNNNN^^^ffffffpppppppppfffVVV^^^fffwwwwww–––°°°ªªªÁÁÁÇÇǪªª‘‘‘‘‘‘‘‘‘––––––   –––         –––   –––‘‘‘NNN"""""""""333333333333333333333333333333333333333333333333333333333333333333333333333===333333============333=============================================EEE===EEEEEEEEEEEEEEE===EEEEEE===EEEEEE===EEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVVVVVVVVNNNVVVVVVVVV^^^VVVVVV^^^VVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV======333---EEEVVVpppVVV†††‘‘‘VVVNNNVVV‘‘‘×××ççç°°°ßßßïïïïïïïïïÇÇÇÎÎΪªªÁÁÁßßßçççÁÁÁ°°°ªªª°°°ªªª†††wwwppppppfffpppwwwwwwwwwpppwww†††ßßßýýýýýýýýýýýýïïïïïïïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßß   pppffffffppp††††††‘‘‘‘‘‘†††wwwpppppppppfffpppppp†††      ‘‘‘wwwVVVVVVNNNGGGGGGGGGNNN^^^ppp   ¶¶¶¶¶¶   wwwffffff^^^^^^^^^^^^NNNVVV^^^fff^^^VVVNNNNNNNNNVVV^^^^^^NNNNNNVVV^^^^^^^^^VVVNNNNNNGGGEEEGGGNNNNNNVVV^^^www‘‘‘ppp^^^ppppppfff^^^wwwwwwwwwwwwpppppp^^^VVV^^^fffwww†††   ÁÁÁÇÇÇ   pppwww†††‘‘‘–––––––––      –––   –––ppp---""""""---333333333333333333333333333333333333333333333333333333333333333333333333333===333===333=========================================================EEE===EEEEEE===EEEEEE===EEE===EEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEENNNVVVVVVVVVVVVVVV^^^^^^VVV^^^VVVVVV^^^VVV^^^VVVVVVVVVVVVNNNNNNNNNNNNVVVVVVVVVVVVVVVVVVNNNVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV======333333333GGGGGGEEE‘‘‘–––†††^^^GGG^^^ªªªßßß×××ïïïýýýïïïççç   ªªª‘‘‘¶¶¶ßßßïïïççççççßßßÎÎÎÇÇÇÁÁÁ–––pppppp††††††www   ïïïýýýýýýýýýýýýÇÇǪªª   ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÇÇdž††fff^^^ffffffppp‘‘‘–––†††‘‘‘–––fff^^^^^^ppp†††   ªªª–––wwwpppppp^^^^^^^^^VVVVVVGGGGGGGGGGGGVVV^^^www‘‘‘°°°ÎÎÎÎÎΪªªpppffffff^^^VVVVVVNNNVVV^^^^^^VVV^^^VVVNNNNNNVVV^^^^^^ffffffNNNVVVVVV^^^fff^^^VVVNNNGGGNNNNNNVVV^^^   †††wwwwwwfffNNNNNNGGGNNNNNNVVVNNNNNNGGGEEEEEEGGGVVVfffwww‘‘‘‘‘‘wwwwwwwwwwwwwww†††–––––––––   –––   ===""""""---333333333333333333333333333333333333333===333333333333333333333333333333===333===333======333================================================EEE===EEE===EEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVV^^^VVV^^^VVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVV===EEEGGG===333333GGGGGGppp––––––‘‘‘EEEVVVppp   ÎÎÎïïïýýýïïïïïï‘‘‘‘‘‘×××ïïïïïïïïïïïïçççÎÎÎ××××××ÎÎΪªª††††††‘‘‘ªªªªªª–––††††††°°°ïïïýýýýýýýýýýýýÎÎζ¶¶wwwßßßýýýçççïïïýýýýýýýýýýýýçççÁÁÁçççýýýýýýýýýýýýýýýýýýýýýýýýßßߪªªppp^^^^^^fff†††‘‘‘–––‘‘‘ffffffwwwwwwfffffffffffffffpppwwwpppfff^^^VVVNNNGGGGGGGGGNNNVVVpppªªªÇÇÇ×××ÇÇǰ°°‘‘‘pppfff^^^ffffffVVVVVVGGGVVV^^^^^^^^^VVVVVVNNNVVVfffffffff^^^VVVGGGVVVVVV^^^^^^^^^VVVVVVVVVVVV‘‘‘fff^^^fff^^^NNNGGG===========================EEEGGGfff†††wwwwwwppp^^^fffppp‘‘‘‘‘‘––––––‘‘‘GGG------333333333333333333333333333333333333333333333333333===333333333===333333333333======333================================================EEE===EEEEEEEEE===EEEEEEEEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVNNNNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNNNNVVVVVV^^^===NNNfffNNN===---333NNN^^^ppp      VVV‘‘‘ffffff†††×××ïïïýýýççç   fff†††ÎÎÎïïï×××çççïïïïïïïïïïïïÎÎÎ××××××ÁÁÁ¶¶¶ÇÇÇ×××ÎÎÎÁÁÁ   –––ÎÎÎïïïýýýýýýýýýýýýýýýççç‘‘‘ççççççwww¶¶¶ÎÎÎßßßýýýýýý°°°GGG‘‘‘ïïïýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΆ††ppp^^^fffwww†††–––‘‘‘††††††wwwffffff^^^^^^^^^^^^wwwwww††††††www^^^^^^^^^VVVNNNGGGGGGGGGVVVfffwww–––¶¶¶ÎÎÎßßßßßß°°°†††wwwpppppp^^^VVVNNNNNNGGGNNN^^^^^^^^^^^^VVVfffffffffffffff^^^VVVNNNVVVffffffffffffwww†††^^^GGGEEEEEEGGGGGGEEE===333333333333333333333333======VVV†††ppp^^^^^^VVVVVVGGGGGGVVVVVVffffffwww†††‘‘‘‘‘‘fff---""""""333333333333333333333333333333333333333333333333333333333333333333333===333===333333===333===333===333====================================EEE===EEE===EEE===EEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVV^^^VVVVVV^^^VVV^^^VVVVVVVVVVVVVVVNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVNNNNNNVVVNNNVVVNNNVVV^^^EEE^^^ppp^^^EEE333333===NNNfffppp‘‘‘fff‘‘‘–––pppVVVpppÇÇÇïïïïïïÎÎÎpppÎÎÎçççÁÁÁ×××çççýýýýýýççç°°°×××ççççççççççççïïïïïïçççÇÇǶ¶¶ßßßýýýýýýýýýýýýýýýýýýïïï   ïïïÎÎÎ^^^–––wwwïïïýýý×××   fffýýýïïïÎÎÎïïïýýýýýýýýýýýýýýýýýýýýýßßߪªªwwwfffwwwwwwppp††††††   †††ppp^^^^^^^^^^^^pppppp†††wwwwwwwwwwwwppp^^^^^^VVVGGGGGGGGGNNNVVVpppªªªÁÁÁßßß×××¶¶¶°°°   pppppp^^^VVVNNNNNNNNNNNNVVVVVVfff^^^fffffffffpppfffffffff^^^fffwww–––¶¶¶ÇÇÇÎÎΪªªpppNNNEEE=========333===333333333333333===---======EEEGGGNNNfffpppfffEEE===333333------NNN^^^^^^^^^^^^fffpppwwwppp333""""""---333333333333333333333333333333===333333===333333333333333===333===333333333===333333===333===333==========================================EEE===EEEEEE===EEE===EEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^VVV^^^VVV^^^VVVVVVVVVNNNVVVNNNVVVVVVVVV^^^VVV^^^^^^VVVVVVVVVNNNVVVNNNVVVVVVNNNNNNVVVNNNVVVNNNVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVNNNVVVVVVVVVNNNVVVVVVVVVVVV^^^GGG^^^ppppppGGGEEE333333===GGGpppfff^^^–––ªªªªªª^^^NNN^^^ÇÇÇïïïÎÎÎwwwÁÁÁÇÇǰ°°ÎÎÎýýýïïïïïïÁÁÁ–––ßßßïïïïïïïïïçççßßßýýýïïïïïïßßßçççýýýýýýýýýýýýýýýýýýýýý°°°ÎÎÎÎÎÎVVV   °°°–––ïïïýýýýýýßßßpppïïïßßßVVVÁÁÁïïïýýýýýýýýýýýýýýýýýýýýýïïïÎÎΆ††pppfff^^^fff†††‘‘‘   www†††wwwpppfff^^^^^^ffffff††††††‘‘‘^^^^^^^^^VVVNNNGGGGGGGGGVVV^^^ppp†††°°°ÇÇÇßßßßßßßßß°°°   †††fff^^^^^^^^^fffNNNGGGNNNNNN^^^^^^ffffffffffffpppppp†††ªªªÇÇÇßßßßßßßßßßßßßßß×××   fffNNN======333333333===333=========333333===EEE======NNNNNNGGG333"""------"""333VVV^^^^^^^^^^^^^^^^^^^^^^^^NNN===333---333333333333333333333333333333333333===333333333333333===333333333333===333333======333===333===333==========================================EEE===EEE===EEEEEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^^^^VVVVVVNNNNNNNNNNNNNNNNNNVVVVVVVVV^^^VVVVVVVVVVVVVVVNNNVVVVVVNNNVVVNNNNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^EEEVVVwww^^^EEE======333===NNNpppppp   °°°ÁÁÁ–––^^^NNNfff¶¶¶×××ÇÇÇ      ¶¶¶ÎÎÎïïïýýýïïï°°°ªªªÇÇÇ×××çççýýýïïïçççÎÎÎÎÎÎßßßïïïïïïïïïýýýýýýýýýýýýýýýýýýýýýªªªwww   wwwÎÎÎÇÇÇïïïýýýïïï   pppïïïÇÇÇEEEwww––––––ýýýýýýýýýýýýýýýýýýýýýýýýßßߪªªwwwfff^^^fffwww†††‘‘‘‘‘‘‘‘‘†††††††††fff^^^^^^^^^ppp†††††††††‘‘‘†††ppp^^^^^^VVVNNNGGGGGGGGGVVVfffwww   ÁÁÁßßßççç××××××   ‘‘‘†††pppfff^^^VVVNNNNNNVVVfff^^^fffwww–––°°°ÁÁÁÎÎÎ×××çççßßßçççççççççßßßçççÎÎΠ  fffEEE============333333333======333------""""""------""""""333------===VVV^^^^^^^^^^^^^^^VVV^^^VVVVVVNNNGGGGGG======333333333333333333333333333333333333333333===333333===333===333===333===333===333333=========333==========================================EEE===EEE===EEE======EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVVNNNNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVNNNVVVNNNVVVNNNNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVV^^^VVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^^^^EEEGGGVVVwwwfffEEE=========333===GGGppp‘‘‘°°°   ‘‘‘VVVfffªªªßßßçççÁÁÁÎÎÎïïïýýýïïïÇÇǶ¶¶ÁÁÁßßßýýýïïïýýýýýýïïï¶¶¶°°°–––ªªªïïïïïïýýýýýýýýýýýýýýýýýýýýý××׆††   www‘‘‘ppp×××ýýýÇÇÇfffªªªýýý¶¶¶=========NNNïïïýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇdž††pppfff^^^fff††††††‘‘‘––––––pppffffff^^^pppwwwwww†††††††††††††††fff^^^^^^^^^VVVNNNGGGGGGNNN^^^www‘‘‘¶¶¶ßßßßßßßßß¶¶¶¶¶¶ÎÎÎ××תªª†††pppfffffffffppppppwww†††ªªªÎÎÎßßßßßß×××ßßßßßßççççççççççççßßßßßßßßß×××°°°‘‘‘GGG===333------"""333EEEEEE333"""""""""------"""---===VVV^^^VVV^^^VVVVVV^^^VVVVVV^^^VVVVVVVVVNNNNNNEEE======333333333333333333333333333333333333333===333333333===333===333===333======333===333================================================EEEEEE===EEE===EEE===EEEEEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNVVVVVVVVVVVVVVVVVV^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNVVVNNNVVVVVVVVVVVVVVVVVV^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^VVVVVV^^^^^^^^^EEEEEEGGGfff^^^EEEEEEEEE======333333EEEppp–––°°°   ªªª†††VVV^^^   ÎÎΪªªªªªÇÇÇßßßÇÇÇ‘‘‘ªªªÁÁÁçççïïïýýýýýýýýýýýý×××ÎÎΖ–––––çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïßßßÎÎÎÇÇÇppp×××ýýý   wwwçççýýý¶¶¶NNN===333NNNïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßß   wwwfffffffffppp‘‘‘‘‘‘†††‘‘‘††††††wwwfff^^^fffffffffppppppppppppppp^^^VVV^^^^^^VVVVVVVVVGGGNNNNNNVVVppp‘‘‘¶¶¶ßßß×××¶¶¶ÎÎÎßßßßßß×××ÇÇÇ   †††   ªªª°°°¶¶¶ÁÁÁÇÇÇßßßççççççßßßßßßççççççßßßççççççßßßÎÎΰ°°   pppNNN===333------------"""""""""---"""""""""""""""""""""===VVV^^^VVVVVV^^^VVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVNNNGGGEEE===333333===333333333333333333333===333333======333===333===333===333===333===================================================EEE===EEE===EEE===EEE===EEE===EEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVVVVVVVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVV^^^VVV^^^^^^^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^fff^^^ffffffEEEGGGNNNpppNNNEEEEEEGGGEEE======333333EEEwww°°°ªªª‘‘‘wwwNNNwww‘‘‘ªªª   °°°ÇÇǰ°°°°°ÎÎÎïïïýýýýýýýýýýýýýýýïïïççç×××ÇÇǰ°°ïïïïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççýýýýýý†††NNN–––ïïï°°°^^^NNNVVV^^^çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý××׆††ppppppwww‘‘‘––––––‘‘‘†††††††††www^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^VVV^^^NNNNNNNNN^^^ppp‘‘‘¶¶¶×××ÁÁÁÁÁÁÁÁÁ×××ßßßÇÇǪªªppppppwwwªªª¶¶¶×××ßßßßßßßßßçççççç×××çççßßß¶¶¶ªªª‘‘‘fffGGG===333------333333---""""""""""""EEEVVV^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVVVVVVVVVVVNNNGGGEEE===333333333333333333===333333===333333333===333======333===333======333===================================================EEE===EEE===EEE===EEEEEEEEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVV^^^^^^^^^VVV^^^VVVVVVNNNVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVVVVVVVVVVVVV^^^^^^^^^VVV^^^VVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ffffffffffffpppffffffGGGVVVfffpppVVVEEE===GGGEEEEEE============GGGppp††††††–––‘‘‘wwwVVV   †††www   ¶¶¶ÇÇÇÇÇÇßßßýýýýýýýýýýýýïïïýýýýýýççççççïïïçççßßßïïïýýýýýýýýýýýýýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýý×××wwwïï着ªwwwwww†††fffÇÇÇ–––ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýèÇÇËccÔ''êõ÷îÕ%%§TT––––––‘‘‘†††ppppppfff^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^VVVVVVNNNNNNVVVppp‘‘‘¶¶¶ÎÎΰ°°‘‘‘–––†††ppp^^^VVV^^^^^^www   ªªª   ¶¶¶ßßßÎÎΰ°°‘‘‘pppGGG333---"""333GGGGGG333"""---------EEEVVVVVV^^^^^^^^^VVVVVVVVVVVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^VVVNNNNNNEEE===333333333333333333===333333===333===333===333============333=========================================================EEE===EEE===EEEEEEEEE===EEE===EEE======EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^^^^^^^VVV^^^VVVNNNGGGNNNVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVV^^^^^^^^^^^^^^^^^^VVV^^^VVVVVV^^^VVV^^^^^^VVV^^^^^^^^^^^^fff^^^fff^^^fffffffffffffffpppfffffffffffffffppp‘‘‘^^^EEEGGGNNNNNNEEE=========EEEEEEEEEVVVwwwwww†††–––wwwÁÁÁ†††fffppp–––ÁÁÁÇÇÇçççýýýýýýýýýïïïýýýýýýýýýççççççïïïïïïççççççýýýýýýýýýýýýýýýýýýýýýýýý×××çççýýýýýýýýýýýýýýýýýýýýýýýýïïïïïïýýý°°°–––ÎÎΪªªppp×××   °°°ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýú��ú��ú��ú��ú��ú��ú��ú��ú��Ù--“ŽŽ†††‘‘‘‘‘‘‘‘‘pppffffff^^^^^^^^^^^^VVV^^^^^^^^^VVV^^^^^^VVV^^^^^^VVVVVV^^^ppp‘‘‘°°°°°°pppwwwppppppfff^^^^^^VVV^^^VVV^^^ppp^^^GGG333---------===GGGVVVVVVVVVNNN333""""""EEEVVV^^^VVV^^^VVVVVVVVV^^^VVV^^^VVVVVVVVV^^^VVVVVVVVV^^^VVV^^^VVVVVVNNNEEE333======333333===333333===333===333===333======333===333===============================================================EEE===EEEEEEEEE===EEEEEEEEE===EEEEEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVVVVVVVVNNNNNNGGGNNNNNNVVVVVVVVVVVVVVVVVVVVV^^^^^^^^^^^^^^^^^^^^^^^^VVVVVV^^^VVV^^^^^^^^^^^^^^^fff^^^fffffffffffffffffffffpppfffppppppfffpppfffpppfffpppwww‘‘‘   –––^^^VVVwwwNNNEEEEEE===EEEGGGVVVGGGEEEVVVwwwwwwwww   °°°‘‘‘^^^^^^†††ÁÁÁßßßçççïïïïïïýýýïïïýýýïïïýýýççççççýýý×××çççýýýýýýýýýýýýýýýýýýýýýýýýßßßÎÎÎçççýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýßßßÎÎÎïïï   ¶¶¶www°°°   ßßßýýýýýýýýýýýýýýýýýýýýýýýýú��ùû‰‰á³¨¨šVVéú��ú��ú��ºBB‘‘‘‘‘‘‘‘‘‘‘‘––––––†††^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVVVVV^^^ppp†††ªªª–––‘‘‘¶¶¶ÎÎΠ  ‘‘‘†††fffNNNGGG===333------------333===EEEEEEGGGVVVNNNGGGEEE333""""""""""""""""""NNNVVV^^^^^^VVVVVVVVVVVVVVV^^^VVV^^^^^^VVV^^^^^^VVV^^^VVV^^^VVVVVVVVVNNN======GGGGGGEEE===333===333333===333===333===333======333=========333=========================================================EEEEEE===EEE===EEE===EEEEEE===EEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVVVVVNNNVVVVVVVVVVVV^^^VVV^^^^^^VVVVVV^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^fff^^^^^^fffffffffffffffffffffpppfffppppppppppppffffffppppppfffpppfffpppfffªªªwww‘‘‘‘‘‘wwwppp†††‘‘‘NNNEEEEEEEEEEEENNN^^^VVVEEEEEEVVVppp^^^fff°°°ÇÇǰ°°fffpppwww†††ÇÇÇ×××ïïïççç×××ßßßýýýïïïýýýççç×××ïïïÁÁÁçççýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïçççýýýßßßßßßïïïýýýýýýýýýýýýýýýýýýýýýýýýýýý––––––‘‘‘GGGwww‘‘‘VVV°°°çççýýýýýýýýýýýýýýýýýýýýýúZZüïïýýýýýýïïï××ײllú��ú��ú��æ‘‘‘–––   –––‘‘‘wwwfffú��ú��^^^^^^^^^VVV^^^^^^^^^^^^VVVVVVVVVVVVVVVNNNNNNVVV^^^ppp‘‘‘ªªª¶¶¶¶¶¶NNNEEE===---------333======EEEEEE======EEE333---333333333333------""""""""""""""""""---VVV^^^VVVVVVVVVVVVVVV^^^VVV^^^^^^VVV^^^VVVVVV^^^VVV^^^VVV^^^VVVVVVGGG======GGGNNNVVVNNNGGGEEE===333===333333333===333===333======333===333=========================================================EEE===EEEEEE===EEE======EEE===EEEEEE======EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVVVVV^^^VVV^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^VVV^^^ffffffffffffffffffffffffffffffpppppppppppppppppppppfffpppppppppppppppfffpppffffffpppwww†††www‘‘‘www‘‘‘†††VVVEEEEEE===EEEGGGVVVNNNEEE===EEENNNfff^^^†††ªªª†††ppp¶¶¶–––‘‘‘wwwÇÇÇçççïïïççççççïïïýýýçççïïïçççÎÎΪªªçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßß°°°×××ýýýýýýýýýýýýýýýýýýýýýýýýýýýççç××תªªVVV†††–––ÇÇÇ‘‘‘ÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçÝÝú��ú��ú��ö‘‘‘‘‘‘wwwwwwffffff^^^^^^ú��ú��^^^^^^^^^^^^^^^VVVVVVVVVVVVNNNNNNGGGGGGGGGNNNNNNNNNVVVVVVVVVVVVNNNGGGEEE333===EEEEEEEEEEEEEEE===333333------"""""""""---"""------""""""""""""---""""""---VVV^^^^^^VVVVVVNNNVVVVVV^^^^^^^^^^^^VVV^^^VVVVVV^^^VVV^^^^^^VVVNNN======GGGNNNVVVVVVVVVVVVNNNGGGEEE======333===333===333============333===============================================================EEEEEEEEE=========EEE===EEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVV^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^fffffffffffffffffffffpppfffffffffppppppppppppppppppppppppfffppppppppppppppppppffffffffffff^^^www†††‘‘‘††††††   †††^^^EEEEEEEEEEEEEEEGGGGGGEEEEEEEEE===GGG^^^VVVfff–––www¶¶¶°°°^^^fff   ×××ÎÎÎçççïïïïïï×××ßßßïï着ª¶¶¶ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç×××ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý×××www–––†††ÁÁÁçççfffVVVªªªçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýûÞÞú��ú��ú��ôwwwpppffffff^^^fff^^^^^^ú��ú��^^^^^^^^^VVVVVVNNNNNNGGGGGGGGGGGGNNNGGGNNNGGGEEEEEE=========EEEEEEGGGGGGGGGGGGEEE===333333------""""""""""""""""""""""""""""""---------333"""""""""------""""""===VVV^^^^^^^^^NNNEEEGGGVVV^^^^^^^^^^^^VVVVVV^^^VVV^^^^^^^^^VVVVVVGGGGGGGGGVVV^^^^^^VVV^^^VVV^^^VVVNNNGGGEEE===333===333======333===333======333=========333==============================EEE=========EEE===EEE===EEE=========EEE===EEE===EEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^^^^fff^^^fffffffffffffffffffffpppfffpppfffppppppppppppppppppppppppwwwppppppwwwpppwwwpppppppppfffffffffffffffpppppppppfffppp‘‘‘†††ppp–––   fffGGGEEEEEEEEEEEEEEEEEENNNNNNNNNEEE===GGG^^^VVVVVVfffÁÁÁÇÇǰ°°†††VVV^^^ªªªÁÁÁïïïïïïßßßÎÎÎïïïÁÁÁÁÁÁïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßßÎÎΆ††×××çççpppfffNNN–––ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýúwwú��ú��ú��ò†††pppffffff^^^^^^fff^^^ú��ú��VVVVVVNNNGGGNNNGGGNNNGGGNNNGGGGGGGGGEEE======EEEEEEEEEGGGNNNGGGGGGEEE======333------"""""""""""""""""""""""""""""""""""""""NNNEEEGGGNNN"""---333""""""""""""EEEGGG333"""EEE^^^^^^^^^^^^NNNEEEEEEVVV^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^VVVNNNVVVVVV^^^VVV^^^^^^^^^VVV^^^VVVVVVVVVNNNNNNEEE======333======333=====================================================================EEE===EEE===EEE===EEE===EEE===EEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffffffffffffff^^^fff^^^^^^^^^fff^^^fff^^^fff^^^fffffffffffffffpppfffpppppppppfffpppppppppppppppppppppppppppwwwwwwpppwwwpppppppppfffffffffffffffpppppppppppppppVVV^^^fffpppppp°°°–––NNNEEEEEE===EEEEEEEEE^^^ppp^^^NNNGGG===EEEVVV^^^pppÎÎÎÇÇǪªª¶¶¶   ^^^fffwwwªªªçççýýýïïïÁÁÁïïïïïïçççïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΰ°°çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßßçççÎÎÎwww†††ppppppïïïýýýýýýýýýýýýýýýýýýýýýýýýü´´ùú��ú��ú��ùIIßßß   wwwfffffffff^^^^^^ú��ú��GGGNNNGGGNNNNNNVVVNNNNNNGGGEEEEEEEEEEEEGGGGGGGGGEEEEEEEEE===333333---------""""""---"""""""""""""""---""""""""""""""""""""""""---===GGG---GGG^^^NNNfffGGGEEEVVVVVV333GGGNNN===GGGGGG---"""GGG^^^^^^^^^^^^VVVGGGNNNVVVVVVVVVVVV^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVVVV^^^VVV^^^^^^VVVVVVVVVNNNGGGEEE======333======333===333=========333================================================EEE===EEE===EEE===EEE===EEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEE^^^fffffffff^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^ffffffffffffppppppppppppfffpppppppppfffpppppppppppppppwwwwwwwwwwwwwwwwwwpppppppppfffffffffpppppppppfffpppfffffffffGGG^^^ffffff      wwwªªªVVVEEEEEE===EEEEEE^^^^^^fffVVVEEE===EEENNNwww–––ÁÁÁ×××ÎÎΪªª†††GGGNNNªªªçççïïïÇÇÇïïïýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý×××çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýÎÎÎwwwpppßßß¶¶¶×××ýýýýýýýýýýýýýýýû°°ùú��ú��ú��ú��û¯¯ýýýçççÇÇÇú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��GGGNNNGGGGGGGGGGGGGGGEEE======333333------------"""---""""""---"""""""""---"""---===GGGEEE"""""""""""""""---333333===GGGVVVVVV^^^333EEEVVV^^^EEEGGGNNN333^^^EEENNNVVVNNNGGG^^^GGG===EEE333""""""NNN^^^^^^VVVVVVVVVVVVVVV^^^VVV^^^^^^VVVVVVVVV^^^^^^^^^^^^fff^^^^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVNNNNNNGGGEEE======333===333=========333======================================================EEE===EEE===EEE===EEE===EEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEfff^^^^^^fff^^^fff^^^fffffffffffffffffffffppppppfffppppppfffpppfffppppppfffpppppppppppppppppppppwwwwwwwwwwwwwwwppppppppppppfffpppppppppppppppfffpppfffppppppfffGGGVVVwwwfff‘‘‘°°°–––‘‘‘°°°‘‘‘VVVGGGEEEEEEEEEVVVfffpppwww^^^GGGEEE======GGGffffff†††ÇÇÇÁÁÁÇÇǰ°°VVV===NNNªªªççççççïïïýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï¶¶¶°°°ýýýýýýýýýýýýýýýýýýçççÇÇÇçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç¶¶¶fffppp   ^^^pppçççýýýýýýýýýû¦¦ùú��ú��ú��ú��úttýýýýýýýýýýýýú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��GGGEEEEEE=========333------------"""---""""""---""""""---"""""""""---===GGGEEE===VVVpppNNN---333===---===VVVVVVGGGVVVffffff^^^fffGGGVVVEEEVVVEEENNN======NNNGGGfffNNN===GGG^^^333---------VVV^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^VVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVNNNEEE==============================================================================EEE===EEE===EEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEE===EEEEEE===EEEEEE^^^fff^^^fff^^^ffffffffffffffffffffffffpppfffppppppfffppppppppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwppppppppppppfffppppppfffffffffpppfffpppfffppppppppppppEEEGGGppp†††www–––––––––ªªª¶¶¶–––^^^GGGEEEEEENNN^^^wwwpppfffVVVGGGGGGEEEEEEEEENNN^^^www   ¶¶¶ÁÁÁ°°°^^^GGGNNN–––ßßßïïïýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý×××pppýýýýýýýýýýýýýýýýýýßßß×××ÎÎÎçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï¶¶¶‘‘‘ppp–––‘‘‘ÁÁÁÁÁÁªªªûœœùú��ú��ú��ùû‰‰ýýýýýýýýýýýýýýýýýýççç¶¶¶   ú��ú��GGGGGGGGGEEE333333333------------"""---""""""---""""""---""""""---"""---------"""333VVVpppfffVVVpppwwwGGGEEEVVVfffGGGGGGfffEEEEEE^^^NNN^^^NNN^^^GGG^^^GGGVVVEEE^^^333NNNGGGVVVNNN===333EEE^^^===---"""---VVV^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVVVVVVVV^^^^^^fff^^^^^^GGGEEE===========================================================================EEE===EEE===EEE===EEE===EEE===EEEEEE===EEE===EEEEEE===EEEEEE===EEEffffffffffffffffffffffffpppfffpppppppppppppppfffppppppppppppppppppwwwwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwpppppppppfffpppfffffffffppppppfffpppppppppwwwpppppppppfffGGGGGGVVVwww‘‘‘wwwwwwªªªªªªªªª°°°¶¶¶–––VVVGGGGGGGGGVVVppppppwwwpppVVVNNNGGGEEE======EEENNNfff   ¶¶¶ÁÁÁ°°°‘‘‘NNNNNNªªªïïïýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýÇÇÇfffwwwýýýýýýïïïýýýýýýýýýýýýýýýçççÇÇÇ×××ïïïïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýÎÎζ¶¶   ªªª‘‘‘ªªª¥::ùú��ú��ú��ùû››ýýýýýýýýýýýýýýýýýýýýýýýýïïïçç窪ªú��ú��===333333------"""---""""""""""""---""""""---""""""---""""""------===GGGGGG333---333fffwwwppppppppppppNNN===NNNfffNNNVVV^^^---===^^^NNN^^^VVV^^^NNNfff^^^NNN===VVV333VVVEEENNNfffGGGGGG^^^NNN333"""===^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^VVVVVV^^^VVV^^^^^^^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^^^^VVVVVVVVV^^^^^^ffffffpppfffffffffVVVGGGEEE==============================================================================EEEEEE===EEE===EEE===EEEEEEEEE===EEEEEE===EEEEEE===EEEEEEfffpppfffpppfffpppfffpppfffppppppfffpppfffppppppppppppwwwwwwpppppppppwwwpppwwwwwwwwwwwwwwwwwwwwwpppwwwpppfffppppppppppppfffppppppppppppppppppppppppwwwpppppppppNNNGGGNNN^^^‘‘‘www†††¶¶¶ÁÁÁ°°°°°°¶¶¶   fffNNNGGGVVVpppwwwªªªfffVVVNNNGGGEEE=========VVVfff   °°°°°°ÎÎÎfffEEEVVV×××ïïïýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýÇÇÇ^^^wwwïïïýýýïïïýýýýýýýýýýýýýýýýýýïïïÇÇǰ°°ÎÎÎýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï¶¶¶pppfff°°°ÃLLú��ú��ú��ú��ùû§§ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç°°°ú��ú��---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""---===VVVppppppGGG---===fffppppppfff^^^pppGGGEEEVVVpppNNN^^^VVV---EEE^^^VVVVVVVVVGGG===VVVNNN------==="""333"""333EEE---===GGG333GGG^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^ffffff^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^fffpppfffpppppppppfffffffffVVVGGGEEE======================================================EEE===EEE======EEE===EEE===EEE======EEE===EEE===EEE===EEEEEEEEE===EEE===EEEfffpppppppppppppppppppppffffffpppppppppppppppppppppppppppppppppwwwwwwwwwwwwwwwwwwppppppwwwppppppppppppfffpppfffpppfffpppppppppwwwwwwwwwwwwwwwwwwwwwppppppwwwppp^^^VVVNNNVVVfffwww††††††ªªªÁÁÁÁÁÁ°°°°°°ÁÁÁÁÁÁfffNNNNNN^^^ppp°°°VVVNNNGGGGGGEEEEEE======NNNNNN   ÇÇÇççç–––EEEEEE   ïïïïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýßßß‘‘‘fffïïïýýýýýýïïïýýýýýýýýýýýýýýýýýýýýý×××ÎÎÎßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßßpppVVVÇÇÇú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ýýýýýýýýýýýýýýýýýý×××   ú��ú��"""""""""""""""""""""""""""""""""""""""---""""""""""""""""""---VVV^^^^^^pppGGG---EEEfff^^^ppp^^^VVVpppGGGVVVfffpppNNN^^^NNN---EEENNNGGG===333------""""""GGG^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^VVV^^^^^^^^^fffpppfffpppfffppppppppppppffffff^^^NNNGGG======================================================EEE======EEE===EEE===EEE======EEE===EEE===EEEEEE===EEEEEE===EEEEEE===EEEpppppppppwwwwwwpppppppppfffpppfffpppppppppppppppppppppwwwwwwwwwwwwwwwwwwwwwppppppppppppppppppfffpppfffpppfffppppppwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppwwwppp^^^^^^VVVVVV^^^VVV–––‘‘‘–––¶¶¶ÇÇǰ°°°°°×××°°°pppNNNVVVVVVwww–––‘‘‘VVVNNNGGGGGGGGGGGGEEE=========GGG†††ßßßÁÁÁpppEEE†††ýýýïïïïïïýýýýýýýýýýýýýýýýýýýýýýýýÎÎÎ^^^VVV‘‘‘ïïïïïïïïïýýýïïïýýýýýýýýýýýýýýýýýýýýýçççÇÇÇÎÎÎßßßïïïýýýýýýýýýýýýýýýýýýýýýýýý×××ÁÁÁßßßú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ýýýýýýýýýýýýýýýýýýÎÎΖ––ú��ú��""""""""""""""""""""""""""""""""""""""""""""""""---"""""""""---NNNEEENNNfffEEE---===pppVVVVVVNNN^^^pppGGGfffffffffEEEGGG===""""""---""""""""""""NNN^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^ffffffffffffpppfffpppfffpppfffppppppfffffffffVVVGGGEEE===========================================================================EEE===EEE===EEEEEEEEEEEE===EEEEEEEEE===EEEEEEppppppppppppppppppfffppppppppppppppppppppppppwwwwwwwwwwwwwwwwwwwwwwwwpppppppppffffffpppfffpppfffpppfffppppppwwwwwwwwwwwwwwwwwwwwwwwwwwwpppwwwpppwwwppppppppp^^^www†††VVV^^^NNNVVV†††ªªª‘‘‘–––ÁÁÁÁÁÁ°°°°°°ÁÁÁ¶¶¶NNNVVVfff‘‘‘†††VVVNNNNNNGGGNNNGGGGGGGGG===333===NNN‘‘‘–––‘‘‘fff–––ïïïççç×××ýýýýýýýýýýýýýýýýýýýýýýýýßßßfffVVVppp      ×××ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÎÎÎÁÁÁßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççwwwßßß‘‘‘–––çççïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΖ––fff333"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---===^^^VVV---"""EEEpppVVVEEEEEE^^^^^^===EEEGGG===------""""""""""""""""""333"""---VVV^^^^^^^^^ffffff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^ffffffpppfffffffffpppfffpppfffpppffffffpppffffff^^^^^^VVVGGGEEE==========================================EEE============EEE======EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEppppppfffpppfffpppfffpppppppppppppppppppppppppppwwwpppwwwpppppppppppppppfffppppppfffpppffffffpppppppppwwwwwwwwwwwwwwwwwwppppppppppppwwwpppppppppppp^^^pppªªªfffNNNNNNppp‘‘‘–––––––––¶¶¶ÇÇǰ°°°°°ÎÎÎÎÎÎwwwVVVNNNpppwww^^^GGGGGGNNNGGGNNNGGGNNNGGGGGG===EEEfff†††www^^^–––ïïïßß߆††çççýýýýýýýýýýýýýýýýýýýýýïïï–––^^^NNNNNN^^^ÁÁÁïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßßçççýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýïïïÁÁÁßßßwwwÁÁÁªªªpppÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýÇÇÇ–––fff---"""""""""""""""""""""""""""""""""""""""""""""---------"""""""""---NNN^^^EEE333---EEEpppNNN333333GGGEEE---------"""""""""""""""""""""""""""""""""""""""------------333---333^^^^^^^^^^^^^^^fff^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fffffffffpppfffpppffffffffffffpppffffffffffffpppfffpppfff^^^^^^NNNEEE=========================================================EEE===EEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffpppppppppwwwpppwwwppppppppppppwwwpppppppppppppppppppppppppppffffffpppfffpppfffpppppppppppppppwwwwwwwwwwwwwwwppppppppppppwwwwwwpppwwwwwwpppffffff¶¶¶¶¶¶wwwVVVGGG^^^www–––ªªª–––   ¶¶¶¶¶¶¶¶¶°°°ÇÇÇÇÇdž††VVVVVVffffffNNNGGGNNNNNNGGGNNNNNN^^^†††^^^GGGVVVwww†††VVVpppßßßÇÇÇwwwÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýçççNNN^^^‘‘‘çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÁÁÁÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýýýýçççpppÇÇÇfff^^^ïïïýýýýýýýýýýýýýýýýýýýýýýýýïïïÁÁÁ‘‘‘VVV---""""""""""""""""""""""""""""""""""""""""""---GGGVVV==="""""""""EEEfffVVVNNNGGG---===VVVEEE---------"""---""""""---"""""""""""""""""""""""""""333"""---333333333======""""""333333---===VVVfff^^^^^^^^^^^^fffVVVVVV^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^ffffffffffffpppfffffffffffffffffffffffffffffffffpppfffpppffffffffffff^^^VVVGGGEEE======================================================EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEwwwwwwwwwwwwwwwppppppppppppppppppppppppfffpppfffpppfffffffffpppfffpppfffpppfffppppppwwwwwwwwwwwwwwwwwwpppppppppwwwwwwwwwwwwwwwwwwfffppp¶¶¶¶¶¶–––^^^VVVVVVppp   °°°      ªªªÎÎΪªª   ÁÁÁÁÁÁppp^^^fffNNNGGGGGGNNNNNNNNNNNNwww¶¶¶   ^^^EEENNNppp^^^ppp‘‘‘††††††¶¶¶ýýýýýýýýýýýýýýýýýýýýýýýýïïï–––ªªª×××ïïïýýýýýýïïïïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎÎÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýýýýïïï°°°ÁÁÁVVVNNN^^^ïïïýýýýýýýýýýýýýýýýýýýýýýýýçççÁÁÁ†††NNN---"""""""""""""""""""""""""""""""""---------EEE^^^NNN===""""""---VVVwwwpppfffEEE------------""""""---"""---"""---""""""""""""""""""""""""""""""""""""===EEE======EEE===------""""""333333---"""GGG^^^^^^^^^fff^^^^^^NNNVVV^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^ffffff^^^ffffffffffffffffffffffffpppfffffffffffffffffffffffffffffffffffffffffffffffffff^^^VVVGGGEEE==========================================EEE======EEE===EEEEEEEEEEEEEEEEEEEEE===EEE===EEEEEEEEEEEEwwwwwwwwwpppwwwppppppwwwpppfffpppppppppppppppfffpppppppppfffpppfffpppppppppwwwwwwwwwwwwwwwppppppwwwwwwwwwwwwwww†††^^^^^^ªªª¶¶¶ªªªfffVVVfffppp–––   ––––––¶¶¶°°°ªªª–––ªªª¶¶¶ªªª^^^^^^NNNGGGGGGNNNVVVNNN^^^ªªª×××¶¶¶†††NNNEEEGGGNNNfff‘‘‘°°°ýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïïïïýýýýýýýýýýýýÁÁÁ‘‘‘ÁÁÁçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççßßßýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýßßßfff–––¶¶¶ßßß°°°×××ýýýýýýýýýýýýýýýýýýççç¶¶¶†††GGG---""""""""""""""""""""""""""""""333GGGVVVEEEGGGppp^^^GGG---"""333^^^fffVVVEEE---""""""""""""---"""------"""---""""""""""""""""""""""""""""""------"""""""""---===EEE===333---"""---======333---NNN^^^^^^^^^^^^VVVVVVVVV^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^fff^^^ffffff^^^fff^^^^^^fff^^^^^^fff^^^ffffffffffffpppffffffffffffffffffffffffffffffffffffpppfffpppfffffffffffffffpppffffff^^^NNNEEE=============================================EEE===EEEEEEEEEEEEEEE===EEE===EEE===EEE===EEEEEEEEEwwwwwwwwwwwwpppppppppfffppppppfffpppffffffpppppppppfffpppppppppwwwwwwwwwwwwwwwwwwpppppppppwwwwwwpppwwwwww††††††www^^^^^^†††   –––fff^^^fffpppwww‘‘‘ªªª   –––   ÁÁÁ   ‘‘‘ªªªÎÎΆ††wwwNNNNNN^^^fffppp^^^fffÇÇÇÎÎÎÁÁÁ–––pppGGGGGGGGGfff†††‘‘‘ªªªïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïýýýïïï°°°†††ªªªçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý×××çççýýýýýýýýýýýýýýýýýýýýýïïï‘‘‘¶¶¶çççÎÎÎVVV†††ýýýïïïýýýýýýýýýýýýççç¶¶¶‘‘‘EEE""""""""""""""""""---===333"""---GGG^^^pppGGG===NNNppp^^^---"""---EEE===---""""""""""""---""""""---""""""---""""""---""""""---------""""""---===EEE===---333---"""---""""""=========333VVV^^^^^^^^^VVVNNNVVV^^^^^^^^^^^^^^^^^^fffVVV^^^^^^^^^fff^^^fff^^^fff^^^^^^ffffff^^^ffffffffffff^^^fffffffffffffffpppffffffffffffffffffffffffffffffffffffffffffpppfffpppfffppppppffffff^^^VVVGGGEEE====================================EEE===EEE===EEEEEEEEEEEEEEE===EEE=========EEE===EEEEEEwwwwwwwwwwwwpppppppppppppppppppppppppppppppppfffpppppppppwwwwww†††wwwwwwppppppwwwwwwwwwppppppwwwwww†††††††††††††††ppp^^^^^^––––––†††fffffffffpppwww‘‘‘      ‘‘‘ªªª°°°ªªª–––ªªª°°°¶¶¶fffVVVpppwwwwwwpppfff¶¶¶ÎÎÎÎÎΠ  †††fffVVVfffppp‘‘‘   ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï¶¶¶‘‘‘   °°°×××ýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýßßß¶¶¶×××ýýýýýýýýýýýýýýýýýýýýý××׆††ÁÁÁÁÁÁppp†††çççÇÇÇçççýýýýýýýýýççç¶¶¶†††===""""""""""""------EEE^^^==="""333^^^fffVVV===EEENNNfffNNN---""""""---""""""---"""""""""""""""---""""""---"""------------"""---=========---333EEEEEE333"""---""""""333======333^^^^^^^^^NNNNNNVVV^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^fff^^^fff^^^fff^^^ffffff^^^fffffffff^^^^^^fffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppffffffpppffffffffffffpppfffffffff^^^NNNEEE========================EEE==================EEE===EEE===EEE=========EEE======EEE===EEEwwwwwwwwwwwwpppwwwpppwwwpppppppppppppppfffppppppppppppwwwwwwwwwwwwpppwwwwwwwwwwwwwww††††††††††††wwwppp^^^VVV†††ªªªªªª‘‘‘†††^^^ppppppwww‘‘‘ªªª–––†††   ¶¶¶°°°–––°°°ÎÎΰ°°ppppppfffpppwwwfff   °°°ÁÁÁªªª†††www‘‘‘fffppp‘‘‘–––ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï×××   ÁÁÁ¶¶¶×××ýýýýýýýýýýýýýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýßßßßßßýýýïïïýýýïïïýýýýýýýýýýýýïïï××תªªppp¶¶¶ççç      ïïïýýýýýýççç°°°===---"""---333======NNNppp333"""===pppfffGGGGGGGGGfffNNN==="""""""""""""""---"""""""""""""""---""""""---"""------333===------===GGGEEE333---333333---""""""""""""---======EEEVVVVVVNNNNNN^^^^^^VVV^^^VVV^^^^^^fff^^^VVV^^^^^^^^^^^^^^^fff^^^fff^^^ffffff^^^ffffffffffff^^^ffffffffffffpppfff^^^fffffffffffffffffffffpppfffpppffffffpppffffffpppfffffffffffffffpppffffffffffff^^^VVVGGG==================EEE===============EEE=========EEEEEE===EEE=========EEE===EEE===EEEwwwwwwwwwwwwwwwwwwppppppwwwppppppfffpppppppppwww††††††wwwwwwwwwwwwwwwwwwwwwwwwwww†††††††††††††††ppp^^^^^^‘‘‘¶¶¶°°°ªªªppp^^^ppppppwww‘‘‘ªªª‘‘‘†††–––ÁÁÁ¶¶¶–––   ÎÎÎÇÇÇwww^^^VVVfffwwwfffwww–––†††www–––VVVppp––––––çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççççç–––×××ççç×××ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïïïïßßßÁÁÁïïïýýýýýýýýýýýýïïïVVV°°°çççÁÁÁ‘‘‘çççýýýýýýçç窪ªEEE333---333NNNNNNGGGVVVppp333"""333fffppp^^^GGG===333333""""""""""""""""""""""""""""""""""""""""""---333333---333EEEGGG===333GGGEEE===---"""""""""""""""""""""""""""---"""===333GGGVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^^^^VVVVVV^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^^^^fff^^^ffffffffffffffffffffffffffffff^^^fff^^^fffffffffffffffpppffffffpppfffffffffffffffpppfffffffffpppfffffffff^^^fff^^^^^^GGGEEEEEE===EEE==============================EEE======EEE===EEE=========EEE===EEEEEEwwwwwwwwwwwwwwwppppppfffwwwwwwwwwwwwwwwwwwwwwwwwpppwwwwwwwww††††††††††††††††††www^^^fff–––   ¶¶¶†††ffffffpppwww‘‘‘‘‘‘   †††–––ÁÁÁ¶¶¶‘‘‘‘‘‘¶¶¶¶¶¶wwwffffffwww^^^ppp   ppp^^^ffffff‘‘‘–––^^^VVV––––––×××ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççßß߆††×××ýýý×××çççýýýýýýýýýýýýïïïýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýïïïççç°°°çççýýýýýýýýýýýýýýý¶¶¶^^^°°°ÎÎÎÎÎÎ×××ýýýýýýýýýßßߪªªwwwGGGEEE======^^^GGGEEENNNpppEEE333EEENNN^^^NNN---""""""""""""""""""""""""""""""""""""""""""---"""---===EEEEEEGGGGGGGGGEEE333---333---"""""""""""""""""""""""""""---333=========---------NNN^^^VVVVVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^ffffffffffffffffffpppfffpppfffffffff^^^ffffffffffff^^^fffffffffffffffffffffffffffffffffffffffffffffffffff^^^^^^^^^^^^fffffffff^^^VVVEEEEEE===EEE===EEE========================EEE======EEE======EEE======EEE===EEE†††wwwwwwpppppppppwww††††††wwwwwwwwwwwwwwwpppwwwwwwwwwwwwwwwwwwwwwwww††††††‘‘‘‘‘‘††††††www^^^^^^–––°°°°°°–––wwwfffpppppp†††°°°‘‘‘†††   ÁÁÁ°°°‘‘‘†††°°°ªªªpppffffffpppwwwfff^^^^^^   wwwGGG–––ÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßßßßß¶¶¶ßßßïïïÎÎÎçççýýýýýýýýýïïïÇÇǰ°°ßßßïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýÇÇǶ¶¶çççßßßýýýýýýýýýïïïßßßçççßßßßßßýýýýýýýýýýýýßßß   pppEEEEEE======NNNEEE333GGGppp^^^VVVNNN333---"""""""""""""""""""""""""""---""""""---"""---333333EEEEEEGGGGGGGGGEEE===333------""""""---"""""""""""""""""""""""""""333======EEEEEE===333"""---VVV^^^VVVVVVVVV^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^ffffffffffffffffffffffffffffffffffff^^^fff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffff^^^^^^^^^VVV^^^ffffffpppfffpppffffff^^^GGGEEE=======================================EEE===EEE======EEE===EEE===EEE†††††††††wwwwwwwwwwww††††††††††††††††††††††††wwwwwwwwwwwwpppwwwpppwwwwwwwww†††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘††††††www^^^fff†††¶¶¶ÁÁÁ°°°pppfffpppwwwwww†††‘‘‘–––†††ªªª¶¶¶ªªªwwwwww‘‘‘pppwww^^^www†††††††††fffpppppp‘‘‘‘‘‘GGGppp–––¶¶¶ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï¶¶¶°°°°°°çççççç×××ßßßýýýýýýýýýÎÎΆ†††††   ÁÁÁïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï×××ÇÇÇÇÇÇïïïýýýýýýýýýýýýýýýïïïïïïýýýýýýýýýýýý××תªªpppEEE333======EEE===333EEEpppfffNNN===""""""------"""------"""""""""---""""""---333EEEEEEGGGGGGGGGGGGEEE333333---""""""---"""""""""""""""""""""""""""""""""""""""""""""""""""333======EEEEEE===333""""""333VVVVVVVVVVVVVVV^^^^^^^^^VVV^^^^^^^^^^^^ffffff^^^^^^^^^fff^^^^^^fff^^^ffffffffffff^^^ffffffffffffffffff^^^ffffff^^^fffffffffffffffffffffffffffffffff^^^fff^^^ffffff^^^fff^^^^^^^^^VVV^^^fffpppfffppppppfffpppppppppfff^^^NNNEEE=======================================EEE===EEEEEE===EEE===EEE===†††www†††‘‘‘‘‘‘†††‘‘‘††††††††††††wwwwwwwwwpppppppppppppppwwwwww††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘††††††www^^^^^^†††ªªª°°°–––pppfffpppwwwpppªªª   ‘‘‘‘‘‘ªªª†††wwwppppppwwwwwwppp††††††www‘‘‘†††‘‘‘–––^^^VVV   °°°ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçç熆†¶¶¶ªªªçççßßßïïïïïïýýýççç°°°‘‘‘¶¶¶ÇÇǪªªÎÎÎïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÁÁÁÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï××תªªpppEEE333=========333---333GGGEEE---"""---===EEE======333EEE------333333333"""333GGGEEEEEE===333------"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""------333333333"""""""""===VVVVVV^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fffffffff^^^fffffffff^^^^^^^^^ffffffffffff^^^fffffffffpppffffffffffff^^^ffffff^^^fffffffff^^^^^^VVV^^^^^^fffffffffppppppfffppppppfffppppppppppppfffNNNGGG=========EEE===========================EEE===EEE===EEE======EEE††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††wwwwwwwwwpppfffppppppwwwwwwwwwwwwwww††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††wwwfff^^^‘‘‘¶¶¶¶¶¶fffppppppppp–––°°°†††††††††°°°†††††††††fffwwwpppwww––––––‘‘‘–––†††NNN–––¶¶¶ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýÁÁÁ^^^†††wwwfffÁÁÁïïïçççßßßýýýÎÎÎÁÁÁ¶¶¶ÇÇǪªªÁÁÁ   ßßßýýýýýýýýýýýýýýýýýýïïïýýýýýýýýýýýýïïï×××ßßßÎÎÎýýýýýýýýýýýýýýýýýýýýýýýýïïï×××   pppEEE333333===------"""""""""""""""333EEENNNNNNGGGGGGEEEEEEEEENNNNNNEEE333EEE===------"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---EEEVVV^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fffffffff^^^fffffffffVVV^^^^^^ffffffffffffffffff^^^fffffffffffffff^^^fff^^^fffffffffffffff^^^^^^VVV^^^^^^ffffffpppfffpppfffpppppppppppppppppppppppppppfff^^^GGGEEE======EEE=====================EEE===EEE===EEE============††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††wwwwwwwwwfffppppppwwwwwwwwwwwwwwwwwwwwwwww††††††††††††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘†††wwwfff^^^†††°°°†††–––wwwfffppppppppp°°°ªªª††††††°°°°°°–––ªªª‘‘‘ppppppfff^^^www†††‘‘‘–––‘‘‘–––pppÁÁÁýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï–––NNNfff–––ÁÁÁßßßÎÎΠ  ïïïççççççÁÁÁ°°°°°°ßßßÁÁÁ¶¶¶ïïïýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýïïïÎÎÎ×××çççýýýýýýýýýýýýýýýýýýïïï×××   pppEEE333""""""""""""---333333======GGGVVVVVVNNNGGGGGGEEEEEE===---333===---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---GGG^^^^^^ffffff^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^fff^^^^^^ffffff^^^fff^^^ffffffffffffffffffffffff^^^ffffff^^^fffffffffffffffffffffpppfffffffff^^^fffffffffffffff^^^^^^VVVVVVfff^^^ffffffpppfffffffffpppfffpppfffpppppppppppppppppppppfff^^^GGGEEEEEE===EEE===EEE======EEE======EEE===EEE===EEE=========‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††wwwwwwpppfffpppwwwwwwwwwwwwwwwwwwwwwwwwwww††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††pppfff‘‘‘‘‘‘ªªªªªª‘‘‘pppppppppppp†††°°°ªªª†††‘‘‘ªªª‘‘‘   †††wwwppppppVVVpppwww‘‘‘‘‘‘‘‘‘wwwfffÁÁÁýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïppp^^^‘‘‘°°°ÁÁÁ×××ßßß   çççïïïïï着ª‘‘‘‘‘‘¶¶¶ßßßÎÎÎ×××ýýýýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýïïï×××çççýýýýýýýýýýýýýýýýýýïïï×××   ^^^===333---"""---333GGGGGGNNNEEE===EEEGGGGGGGGG===333------"""""""""---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---""""""""""""""""""""""""""""""""""""---VVV^^^^^^^^^^^^^^^ffffffffffff^^^^^^^^^fff^^^^^^fff^^^^^^^^^fff^^^fff^^^fffffffffffffffffffffffffff^^^fffffffffffffffffffffpppfffpppffffff^^^^^^ffffffffffff^^^VVV^^^^^^ffffffffffffffffffpppffffffpppfffpppppppppfffppppppppppppppppppfffNNNEEEEEE===EEE===EEE======EEE=========EEE============EEE‘‘‘–––‘‘‘–––‘‘‘†††‘‘‘†††††††††††††††††††††wwwwwwpppfffpppwwwwwwwwwwwwwwwwwwwwwwww†††††††††††††††††††††††††††‘‘‘‘‘‘–––––––––‘‘‘fff^^^wwwªªª¶¶¶°°°†††fffffffffppp†††ªªª–––wwwwww†††pppfffwwwpppwww^^^pppfffpppwww†††‘‘‘pppwwwÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýÎÎÎppp‘‘‘°°°–––¶¶¶×××^^^¶¶¶ïïïççç¶¶¶†††ppp‘‘‘      ïïïýýýýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΖ––NNN======333333---""""""EEENNNVVVVVVGGG===EEEEEE===333---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---""""""""""""---"""""""""---""""""""""""---333VVVfff^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^^^^fff^^^fff^^^^^^^^^^^^^^^ffffffpppfffpppfffpppfffffffffffffff^^^fffffffffffffffffffffffffff^^^ffffffffffff^^^^^^VVV^^^^^^ffffffpppfffffffffffffffppppppfffpppfffpppfffpppppppppppppppwwwppppppfffVVVEEEEEE===EEE===EEE=========EEE======EEE============‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††wwwwwwwwwwww†††wwwwwwwwwwwwwwwwwwwwwwwwwwwwww††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘––––––   ––––––†††ppp^^^°°°¶¶¶ªªªpppffffffpppwww–––wwwwwwwwwpppfffwwwpppwww†††ppp^^^pppwww†††‘‘‘‘‘‘‘‘‘°°°çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýÁÁÁffffffppp–––ÁÁÁ‘‘‘VVV°°°ßßßçççßßß¶¶¶wwwppp^^^wwwÎÎÎýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÇÇÇ–––NNN=========333333""""""===NNNVVVGGGGGGEEE======333333333"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---"""""""""""""""---"""""""""""""""---""""""""""""""""""EEE^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^VVV^^^^^^fffffffffffffffffffffffffffffffff^^^fffffffffffffffpppfffffffffffffffffffff^^^fffffffff^^^^^^fffffffffffffffffffffffffffppppppfffpppfffppppppppppppppppppwwwwwwwwwwwwpppppppppVVVGGGEEE===EEE===EEE===EEE======EEE===============‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘wwwwwwpppwww†††††††††wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––   –––‘‘‘ffffff°°°¶¶¶   wwwffffffpppwwwwwwwwwpppwwwwwwpppwww†††www–––wwwfffpppwww†††‘‘‘–––‘‘‘ªªªÁÁÁÎÎÎïïïýýýýýýýýýýýýýýýýýýýýýýýýÇÇÇNNN^^^VVVNNN^^^¶¶¶–––^^^†††   ßßßïïïßßß‘‘‘^^^^^^fff^^^†††ïïïýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÇÇÇ   NNN333======333333---"""---333======333============333---""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---""""""""""""---"""""""""""""""---""""""""""""""""""---"""EEEVVV^^^^^^fffffffff^^^^^^fff^^^ffffff^^^fff^^^fff^^^fffVVVVVV^^^^^^fff^^^fffffffffpppfffffffffffffff^^^fff^^^ffffffffffffpppfff^^^ffffff^^^fffffffffffffffffffffffffffffffffpppfffpppfffpppfffppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwwwwpppfff^^^GGGEEE===EEE===EEE===EEE======EEE======EEE===‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††wwwwww†††††††††††††††††††††wwwwwwwwwwwwwwwwwwwwwwwwwwwwww†††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––   –––   –––‘‘‘fff^^^ªªª°°°°°°wwwffffffpppwwwwwwwwwppppppwwwpppwww†††fff‘‘‘‘‘‘wwwfffppp‘‘‘†††––––––         çççýýýýýýýýýýýýýýýýýýýýýýýý×××NNNGGGGGGVVV^^^www°°°†††VVVfffpppÇÇÇßßß×××   fff^^^^^^VVV^^^×××ýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇ   NNN======333333------===333333333333333333---""""""""""""""""""""""""""""""""""""---"""""""""""""""""""""""""""""""""""""""---"""""""""""""""---"""""""""""""""---""""""""""""""""""---"""---GGGffffffffffff^^^ffffff^^^fffffffff^^^fff^^^fffffffffVVVNNN^^^^^^fff^^^ffffffffffffffffffffffffffffff^^^ffffffffffffpppfffffffff^^^fffffffffffffffffffffffffffffffffpppfffffffffppppppfffppppppfffpppfffpppppppppwwwpppwwwpppwwwpppwwwwwwwwwpppppppppfff^^^NNNEEEEEE============EEE===EEE=========EEE   –––††††††††††††††††††††††††‘‘‘†††††††††††††††††††††wwwwwwwwwwwwwwwwwwwwwwww†††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––   –––      ––––––‘‘‘ppp^^^°°°ÁÁÁ–––wwwffffffpppwwwwwwppppppwwwpppfffppp^^^††††††‘‘‘wwwppp†††–––‘‘‘‘‘‘‘‘‘‘‘‘ÁÁÁïïïýýýýýýýýýýýýýýýýýýýýýïïïfffEEEGGGfff†††www   NNNVVVppp¶¶¶ïïïÁÁÁªªª–––www^^^NNNNNN   ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÁÁÁ   NNN===333------""""""---333333333---""""""""""""""""""""""""""""""""""""""""""---"""---""""""---"""""""""---""""""""""""""""""---"""""""""---""""""---""""""""""""---""""""""""""---"""---"""""""""---VVV^^^ffffffffffff^^^fffffffff^^^ffffff^^^fff^^^ffffffNNNNNN^^^fff^^^ffffffffffffffffffpppffffff^^^^^^fffffffffffffffpppffffffffffff^^^fffffffffffffffffffffffffffpppfffpppfffffffffppppppfffpppfffppppppppppppppppppwwwpppwwwwwwwwwwwwpppwwwppppppwwwppppppfffNNNEEE======EEE===EEEEEE======EEEEEE===‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘‘‘‘††††††‘‘‘†††††††††††††††wwwwwwwwwwww††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘––––––   –––         –––‘‘‘fff^^^†††ªªª¶¶¶¶¶¶wwwffffffppppppppppppppppppffffffVVVppp‘‘‘‘‘‘‘‘‘pppwww‘‘‘‘‘‘–––wwwªªªïïïýýýýýýýýýýýýýýýýýýýýýýýýÁÁÁNNNNNNppp¶¶¶–––pppGGGNNNppp‘‘‘×××   °°°†††^^^NNNNNNpppßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÁÁÁ   VVV===---"""---------"""---------""""""""""""""""""""""""""""""""""""---"""---"""------------"""""""""""""""""""""---""""""""""""---""""""---""""""---""""""""""""""""""---333===---"""""""""333^^^ffffff^^^fff^^^fffffffffffffff^^^ffffff^^^ffffff^^^GGG^^^^^^fffffffffffffffpppffffffffffffffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppfffpppfffppppppppppppppppppppppppwwwpppppppppwwwwwwpppfffpppppppppppppppfffNNNEEE======EEE===EEE===EEE===EEE===‘‘‘††††††††††††††††††‘‘‘††††††‘‘‘†††‘‘‘‘‘‘†††††††††††††††wwwwww††††††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––   –––            –––†††wwwfff^^^www¶¶¶ÁÁÁªªªwwwffffffppppppppppppppppppfffNNNVVV‘‘‘†††‘‘‘fffVVVwww†††–––†††ppp‘‘‘çççýýýýýýýýýýýýýýýýýýýýýýýýçççfffGGG××׆††‘‘‘wwwNNNGGGpppfff‘‘‘†††   www^^^VVVVVVNNNÁÁÁýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç¶¶¶   NNN===---"""---333---""""""------""""""""""""""""""---""""""---"""------"""---"""------333======---""""""---""""""---""""""---"""---""""""---""""""---"""------"""---333333333===333---""""""---===^^^^^^ffffff^^^ffffff^^^fff^^^ffffff^^^ffffffffffffNNNGGG^^^^^^ffffff^^^fffffffffffffffffffff^^^^^^^^^fffffffffffffffffffff^^^fff^^^fffffffffffffffffffffpppffffffffffffpppffffffpppfffpppfffppppppppppppppppppppppppwwwpppwwwpppwwwppppppfffpppfffpppfffpppppppppfffNNNEEEEEE=========EEE===EEE======†††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘††††††††††††www†††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––   ––––––   –––––––––‘‘‘†††fff^^^wwwªªª¶¶¶ªªªffffffpppppppppppppppfffVVVNNNVVV†††wwwpppGGGNNNfffwwwwww^^^†††ßßßýýýýýýýýýýýýýýýýýýýýýýýýïïïpppNNN   ×××¶¶¶fff†††wwwNNN^^^VVVVVV†††ªªª–––wwwVVVNNNNNNGGG‘‘‘ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç¶¶¶‘‘‘GGG333"""------333---"""""""""---"""---"""------""""""---"""------333------333===---======EEEEEE""""""---""""""---""""""---""""""""""""---""""""---------333===---333EEEEEE===EEE===---"""---"""EEE^^^^^^^^^^^^ffffffffffff^^^ffffff^^^ffffff^^^fffVVVNNNVVVffffff^^^ffffffffffffpppffffffffffff^^^fff^^^^^^ffffff^^^ffffff^^^ffffffffffffffffff^^^ffffffffffffpppffffffpppfffpppffffffpppfffpppppppppppppppfffpppppppppwwwwwwpppwwwwwwpppfffffffffpppfffpppfffpppfffpppfffNNNEEE===EEE===EEE============††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††††††††††††††www††††††††††††††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘––––––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††fffVVV†††°°°ÁÁÁ¶¶¶ffffffpppfffpppwwwppp^^^NNNNNNfffpppEEEEEEGGGVVVppp^^^pppÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýçççfff^^^¶¶¶ßßßÎÎÎwwwpppVVVVVVªªª°°°†††wwwVVVEEEEEEEEE^^^çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç°°°†††EEE------333---------"""---"""------"""---------------"""------"""---------333333======EEE===EEE======EEE---"""""""""---"""---""""""---""""""---""""""---333EEE333EEE===333======333333EEEEEE---""""""---GGG^^^fffffffff^^^fffffffffffffff^^^fff^^^^^^fffVVVNNN^^^^^^fffffffffffffffpppffffffffffffffffff^^^^^^fff^^^fffffffff^^^ffffffffffffffffffffffffffffffffffffpppfffffffffpppfff^^^ffffffppppppfffpppffffffpppppppppppppppwwwwwwwwwwwwpppfffffffffffffffpppfffpppfffpppfffpppfffNNNEEE===EEE===EEE=========†††‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††††††††www†††††††††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘fffVVVwwwÁÁÁ¶¶¶°°°www^^^ppppppfffwwwwwwfff^^^NNNGGG^^^pppVVV======GGGNNNfff†††–––ïïïýýýýýýýýýïïïïïïýýýýýý×××VVV^^^ÁÁÁßßßçççÇÇÇppp†††www––––––°°°   wwwfffNNNEEE======GGGÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßß°°°www===------333------------"""---------------333===333---------------===333333EEE===EEE333GGGEEEEEE=========""""""---"""---""""""---"""---"""---"""---------===EEE333GGG333======333333========="""---"""---NNN^^^^^^^^^ffffff^^^fff^^^^^^fff^^^^^^^^^fff^^^^^^^^^^^^fff^^^ffffffpppffffffffffffffffff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffffffffffffff^^^ffffffppppppffffffppppppfffpppfffpppwwwwwwwwwwwwpppffffffffffffffffffffffffffffffpppfffppppppfffNNNEEE===EEE============–––‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††wwwwww††††††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘–––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘–––‘‘‘‘‘‘www^^^VVVwwwªªªªªª–––ffffffpppfffpppwwwfff^^^pppGGGNNN^^^GGG===EEENNN^^^ppp†††‘‘‘†††ßßßïïïýýýïïïÎÎÎ×××çççïïï   GGG^^^ÁÁÁçççßßßßßß°°°†††pppppp‘‘‘ªªª–––fffVVVGGGEEEEEE===EEE   ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßߪªªfff333---------------"""---------------"""---======333333333===333EEE===333===GGG===EEE===EEE===EEE---333333---""""""---"""---"""---""""""---"""333======---EEE===---GGG333EEEEEE===333===333---"""""""""333VVV^^^^^^fff^^^fff^^^^^^^^^^^^^^^fff^^^^^^ffffff^^^^^^fff^^^ffffffffffffffffffpppfffffffff^^^ffffffffffffffffff^^^fff^^^fffffffffffffffffffffffffffpppfffffffffffffffppp^^^^^^ffffffpppfffpppfffpppfffpppfffpppppppppwwwwwwwwwwwwfffffffff^^^^^^^^^fff^^^fffpppfffffffffpppfffppp^^^NNNEEE===============‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††††††††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††fffVVVfff‘‘‘ªªª^^^pppfffpppfffppppppppppppNNNVVVVVVNNNEEEEEENNNpppwww†††wwwÇÇÇïïïççççç窪ª   ßßßÇÇÇpppEEEVVVÁÁÁççççççççç××ב‘‘www^^^VVVfffpppfffVVVGGGEEEEEEEEE======pppïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïßßß   ^^^333---"""------"""333------------------333GGGEEE=========EEE333EEEEEE===EEEEEE===GGG======---333---"""---"""---"""---""""""---"""333===333333======GGG===EEE333333EEE---EEEEEE==="""---"""---"""""""""333^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^fffffffff^^^fff^^^fff^^^fffffffffpppffffffffffff^^^fffffffffffffffffffff^^^fff^^^fff^^^fffffffff^^^ffffffffffffffffffffffffffffff^^^fffffffffpppfffpppffffffpppfffpppfffpppppppppwwwppppppfffffffff^^^^^^ffffffffffff^^^ffffffffffffpppfffffffff^^^NNNEEE============†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘–––‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘wwwfffVVVppp°°°ffffffpppfffffffffpppppp^^^^^^^^^NNNNNNGGG===GGGfffwwwfffÇÇÇïïïççççççÁÁÁ°°°ÎÎΠ  ^^^EEEGGG¶¶¶çççïïïïïïßßß‘‘‘^^^fffNNNNNNNNNVVVGGGEEE======EEEEEE===NNNçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý××תªªNNN------------"""---333EEE333333===EEE===333GGG===EEEEEE===GGG333===EEEEEE===EEE---333333---"""---"""---"""---"""---"""---333=========GGGEEE333EEE333GGG333GGG333333GGG333---------""""""""""""""""""===^^^^^^fff^^^^^^^^^VVVVVV^^^fffffffffffffff^^^^^^fff^^^ffffffffffffffffffpppfff^^^^^^fffffffffffffff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^fffpppfffpppffffff^^^ffffffffffff^^^ffffffpppffffffffffffpppfffpppfffppppppppppppppppppfffffffffffffffffffffffffffffffffpppfffpppfffpppfffffffffffffffNNNEEE=========‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††††††††††††††‘‘‘††††††‘‘‘†††‘‘‘†††††††††‘‘‘†††‘‘‘††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††‘‘‘‘‘‘†††wwwfffVVVfff^^^fffpppfffffffffpppfff^^^VVVVVVVVVGGGEEE===EEENNN‘‘‘–––   –––×××ïïïßßßçççÇÇǶ¶¶      ^^^EEEGGGwwwÎÎÎïïïïïïççç–––VVV^^^^^^NNNGGGGGGEEE==================EEEÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï××תªªGGG------"""---------EEEGGG===EEEEEEEEEEEE===GGG===GGGEEEEEEEEE===EEE===333333------------"""---"""---"""---"""---333333333EEE===GGG===EEE===EEEEEE===EEE333GGG===---------"""""""""""""""""""""GGG^^^^^^^^^fff^^^^^^^^^fffffffffffffffffffff^^^fff^^^fffffffffffffffpppffffffffffffffffffffffffffffff^^^fff^^^^^^fff^^^^^^^^^fff^^^fffffffffffffffffffffffffffpppfff^^^pppfffpppfffffffffpppffffffpppfffpppfffppppppppppppfffffffffpppfffffffffffffffpppppppppppppppppppppppppppffffffppppppfffNNNEEE======‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘†††††††††‘‘‘††††††‘‘‘†††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘††††††††††††‘‘‘†††‘‘‘‘‘‘†††††††††‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††‘‘‘‘‘‘††††††wwwfffVVV^^^fffpppfffpppffffffppp^^^NNNNNNGGGEEEEEE======EEEfff°°°¶¶¶¶¶¶çççïïïßßßÎÎΰ°°‘‘‘   ÎÎÎpppNNNGGGfff   ßßßçççççç°°°VVVGGGffffffNNNEEE===333333333333333333EEE°°°ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï××תªªGGG---"""------------EEEGGG===GGG===EEEEEE===GGG333GGGGGGEEE===---333------------"""------===------------------=========EEEEEE333GGG333EEE===EEEGGGEEE333---------"""---""""""""""""""""""""""""NNN^^^fff^^^^^^^^^fff^^^fff^^^^^^ffffff^^^fff^^^fffffffffffffffffffffffffff^^^fff^^^ffffffpppffffff^^^fff^^^ffffff^^^^^^fff^^^^^^fffffffffffffffffffffffffffpppffffffffffffpppfffpppfffpppfffpppfffppppppfffpppppppppfffffffffffffffffffffpppfffffffffffffffpppppppppwwwpppppppppppppppppppppffffffNNNEEE===‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††‘‘‘††††††‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘††††††††††††††††††††††††‘‘‘‘‘‘††††††fffVVVVVVfffppppppfff^^^fffpppVVVNNNGGG===============NNN   ªªª°°°ÎÎÎçççÁÁÁ–––––––––ªªª×××–––^^^GGG^^^–––ÁÁÁççççççÁÁÁfffEEEVVVwwwVVVGGG===333333333333===–––ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï×××–––EEE------------------EEEGGG===GGG===GGGEEE===EEE333333===333---------------333333------EEEGGG333333===EEE===333GGG---333EEEEEE===GGG333GGG333333===333---"""---""""""""""""""""""""""""""""""---VVV^^^^^^^^^^^^fffffffff^^^fff^^^^^^^^^^^^ffffff^^^ffffffffffffpppffffffffffffffffffffffffpppfff^^^fffffffff^^^fff^^^fff^^^fffffffffffffffffffff^^^ffffffffffffffffffpppffffffffffffffffffffffffpppfffppppppfffpppffffffffffffffffffffffffffffffffffffpppfffpppppppppwwwwwwwwwwwwppppppwwwppppppffffffGGGEEE‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘††††††††††††‘‘‘†††‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††‘‘‘‘‘‘††††††fffNNN^^^ppppppfffffffffpppfffpppVVVEEEEEE333===EEEVVV†††‘‘‘ªªªÎÎζ¶¶†††‘‘‘      °°°‘‘‘pppVVVVVV†††ªªª×××çççÇÇdž††GGGGGGppp¶¶¶ÇÇÇ   pppNNNEEE333333333===wwwïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΑ‘‘===------------------GGGGGGEEEGGG333EEE===333333------------------"""---333GGGEEE---333GGGNNN333======GGG======EEE------GGG======EEE---===---"""------"""---"""""""""""""""""""""""""""""""""333VVV^^^^^^^^^fff^^^fffffffff^^^^^^^^^VVV^^^fff^^^fffffffffffffffffffffffffff^^^fffffffffffffffffffff^^^ffffffffffff^^^fff^^^ffffffffffffffffff^^^ffffffffffffffffffppppppffffffpppfffpppfffpppfffppppppfffppppppffffffffffffffffffffffffffffffffffffpppfffpppppppppppppppwwwppppppwwwwwwppppppfffpppfff^^^GGG†††‘‘‘‘‘‘††††††‘‘‘†††‘‘‘‘‘‘†††‘‘‘††††††††††††‘‘‘††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘†††††††††††††††‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘†††fffNNNVVVpppppppppfffpppppp†††ªªªwwwGGGEEE===EEEfff†††††††††°°°××××××   †††††††††–––†††^^^VVVpppªªªÎÎÎßßßÎÎΖ––NNNVVV°°°ßßß×××°°°–––wwwGGG===333===333^^^ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΆ††===------------------GGGEEE333===333---------------------------"""------===NNNGGG333===NNNGGG333======GGG===EEEEEE------EEE333333333------"""---"""""""""""""""""""""""""""""""""""""""""""""EEE^^^^^^^^^^^^^^^ffffffffffff^^^fffVVVVVV^^^^^^ffffffffffffpppffffffffffffffffffffffffpppfffffffff^^^ffffffffffffffffff^^^ffffff^^^ffffffffffff^^^fffffffffffffffpppfffpppfffffffffffffffffffffpppppppppffffffpppffffffpppfffpppffffffffffffffffffffffffpppppppppppppppwwwpppppppppppppppfffppppppfffpppfff^^^†††††††††‘‘‘††††††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘†††‘‘‘†††fffVVVVVVppppppffffffppp‘‘‘¶¶¶   ^^^GGGEEEEEE^^^‘‘‘°°°–––ªªªÁÁÁ×××°°°‘‘‘‘‘‘†††–––°°°‘‘‘ppp–––ppp–––ÁÁÁßßßÎÎΖ––^^^www×××ßßß×××°°°°°°wwwNNNEEE=========VVVïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎÎ333---------"""------333333---------------------------------------------===NNNNNN===EEEGGGGGG333======GGG===EEEEEE------333------"""---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""EEEVVV^^^^^^ffffff^^^fff^^^^^^ffffffVVV^^^^^^fff^^^ffffffffffffffffff^^^ffffffffffffppp^^^ffffffffffffffffffffffff^^^fffffffffffffffffffff^^^ffffffffffffffffffpppfffpppffffffpppffffffffffffppppppfffpppfffpppfffffffffpppfffffffffffffffffffffffffffffffffppppppppppppppppppppppppppppppfffpppppppppppppppppp‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘†††pppVVVVVVpppffffffppp†††ªªª   VVV^^^wwwVVVfff      †††   ÎÎζ¶¶   –––   ‘‘‘¶¶¶ÁÁÁ‘‘‘ÇÇÇpppwww–––×××¶¶¶–––°°°ßßßçççÎÎΰ°°°°°VVVEEE=========NNNçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÇÇÇ333---------------------------------------333===------------======------EEEGGGNNNGGGEEEGGGEEE===GGGEEEEEE---===333"""---"""---"""---""""""""""""""""""""""""""""""""""""""""""""""""""""""---GGG^^^^^^^^^^^^fff^^^^^^^^^fff^^^^^^^^^^^^fff^^^fff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffff^^^fffffffff^^^fffffffffffffffffffffpppfffffffffpppffffffpppfff^^^ffffffpppfffppppppfffpppfffffffffpppfffpppppppppfffffffffffffffffffffffffffffffffppppppppppppwwwpppfffpppppppppppppppwwwpppppp†††‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘††††††‘‘‘†††††††††††††††‘‘‘‘‘‘†††‘‘‘†††††††††††††††‘‘‘‘‘‘†††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘††††††††††††pppVVVVVVpppffffffwww†††‘‘‘^^^wwwªªªwwwppppppwwwªªªÁÁÁ¶¶¶ªªª–––†††   ÁÁÁ×××   °°°^^^°°°ªªª°°°   ÇÇÇçççßßßÇÇÇ   ªªªwww^^^GGGEEE======GGG×××ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÇÇÇwww333---------------------------------------======333===============------EEEEEEGGGNNN===GGGEEE===EEE===333---"""------"""---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---NNN^^^^^^ffffff^^^^^^^^^fff^^^^^^^^^^^^fff^^^fffffffffffffffffffff^^^ffffffffffffffffff^^^fffffffffffffff^^^fffffffffffffffffffff^^^ffffffffffffffffffffffffpppffffffpppffffffffffffpppfffpppfffpppfffpppffffffpppffffffppppppfffpppfffpppffffffffffff^^^fffffffffppppppfffpppffffffppppppppppppwwwppppppfffppp‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘–––––––––––––––––––––‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘†††††††††††††††wwwwww††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘‘‘‘†††‘‘‘††††††††††††pppVVVVVVffffffwww†††ppp–––†††pppppp‘‘‘pppªªª¶¶¶ªªª‘‘‘‘‘‘‘‘‘–––ÎÎζ¶¶‘‘‘wwwNNNfff   ÁÁÁ–––×××çççßßßÁÁÁ   –––www^^^GGGGGGEEE===GGGÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÁÁÁfff333---------------------------------333333EEEEEE===EEE======GGG===------EEE===EEEEEE333EEE333------------"""---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---VVV^^^fff^^^fff^^^^^^ffffff^^^^^^^^^fff^^^ffffff^^^fffffffffffffffffffffffffffffffffffffffffffffffffff^^^fffffffffppp^^^fffffffffffffffffffffpppffffffpppfffffffffpppfffffffffpppfffpppfffpppffffffffffffffffffppppppfffppppppfffpppfffpppfffffffff^^^^^^^^^fffpppfffpppffffffffffffpppppppppwwwppppppfffffffff‘‘‘†††‘‘‘‘‘‘†††‘‘‘––––––   ‘‘‘‘‘‘–––‘‘‘––––––‘‘‘‘‘‘–––––––––––––––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††††††††††††††††††††www†††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘†††‘‘‘††††††‘‘‘†††††††††pppVVVNNNfffwww‘‘‘^^^www‘‘‘fffppp†††ªªª†††ªªª°°°ªªª‘‘‘‘‘‘   ‘‘‘–––×××ÇÇÇpppVVVVVVppp   °°°×××çççßßß¶¶¶   ‘‘‘www^^^VVVGGGEEE===EEE¶¶¶ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç¶¶¶^^^------------------------------------===EEEGGGEEEEEE=========EEE333------GGG333---333------------"""---""""""""""""""""""""""""""""""""""""""""""""""""""""""---""""""""""""""""""""""""""""""333^^^fffffffff^^^fffffffff^^^^^^^^^ffffff^^^fff^^^fffpppffffffffffffffffffffffff^^^^^^^^^ffffffffffffffffffffffffffffff^^^ffffffffffffpppfffpppffffffpppffffffpppfffpppfffffffffpppffffffffffff^^^^^^fffffffffpppffffffpppppppppfffpppfffpppfffffffff^^^fffffffffffffffffffffffffffffffffpppwwwpppfffffffffffffff†††‘‘‘†††‘‘‘‘‘‘––––––––––––––––––––––––‘‘‘––––––‘‘‘‘‘‘–––––––––––––––––––––––––––‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††††††††‘‘‘‘‘‘†††‘‘‘†††††††††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘†††††††††fffNNNNNN^^^www‘‘‘fffGGGVVVªªªwwwfffwww‘‘‘   –––––––––ÁÁÁÁÁÁ   –––ÁÁÁªªª†††pppVVVpppªªª   wwwÇÇÇçççÎÎΪªªªªª‘‘‘pppVVVNNNGGGEEE===EEEªªªýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç¶¶¶NNN---------------------------------333EEE===EEEEEEGGG===333===333---------333---------"""------"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---"""""""""""""""""""""""""""EEE^^^ffffff^^^fffffffff^^^fffffffff^^^fff^^^^^^ffffffffffff^^^ffffffffffffffffff^^^fffffffffffffffffffffffffffffffff^^^ffffffpppffffffpppfffffffffpppfffpppffffffpppfffffffffpppfffpppfffffffff^^^fff^^^pppfffppppppfffpppppppppppppppfffpppffffff^^^ffffffpppfffffffffffffff^^^ffffffpppppppppppppppfff^^^fffppp†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––   –––––––––––––––––––––‘‘‘––––––––––––––––––––––––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††††††††††††††‘‘‘††††††‘‘‘††††††††††††wwwfffNNNNNNwww†††GGGNNN–––†††ppp^^^fff‘‘‘wwwppp–––ßßßçççÎÎΰ°°°°°ªªª‘‘‘‘‘‘‘‘‘VVVppp      ppp°°°ÁÁÁÁÁÁ°°°¶¶¶‘‘‘^^^NNNGGGEEE======EEE   ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç¶¶¶NNN---------------------------------===EEEEEE===333EEE333------------------------"""---""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---""""""""""""""""""""""""""""""""""""GGGfff^^^^^^ffffff^^^ffffff^^^fff^^^^^^^^^ffffffffffff^^^ffffffffffffffffffffffff^^^^^^fffffffffffffff^^^fffffffffffffffffffffpppfffpppfffpppfffppppppffffffpppfffpppfffpppffffffffffffffffff^^^fff^^^ffffffpppfffpppppppppppppppppppppffffffffffffffffffppppppfff^^^ffffffffffff^^^ffffffppppppppppppffffffpppfff‘‘‘†††‘‘‘‘‘‘‘‘‘–––––––––   ––––––––––––––––––‘‘‘‘‘‘–––––––––––––––   –––   ––––––‘‘‘‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††www††††††††††††††††††‘‘‘†††††††††††††††††††††††††††††††††‘‘‘†††††††††‘‘‘†††‘‘‘‘‘‘††††††††††††‘‘‘†††††††††††††††††††††www^^^VVVpppwwwVVVVVVppp†††pppVVVNNNpppwwwfffVVV‘‘‘ßßßýýýïïïÎÎζ¶¶–––‘‘‘–––†††VVVfff†††–––ppp†††ÁÁÁ××××××¶¶¶^^^NNNGGGEEE======EEE   ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïçç窪ªGGG---------------------------------333EEE===333------------------------------""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---""""""""""""""""""""""""""""""""""""---NNN^^^ffffff^^^fff^^^^^^^^^fff^^^^^^fff^^^fff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffff^^^fffffffffffffffffffffpppfffpppfffpppfffpppffffffpppffffffffffffpppfffpppfffffffff^^^^^^^^^ffffffpppfffppppppfffpppfffpppfffpppfffpppfffffffffffffffpppfff^^^^^^ffffffffffffffffff^^^ffffffpppppppppppppppppp‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––   –––––––––‘‘‘–––‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††‘‘‘††††††††††††††††††‘‘‘†††‘‘‘††††††††††††††††††††††††‘‘‘††††††‘‘‘††††††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘†††††††††††††††‘‘‘‘‘‘†††wwwVVVNNNfff^^^NNNNNN^^^^^^NNNEEENNNfff^^^^^^×××ýýýýýýççç××תªª¶¶¶   wwwffffffppp‘‘‘fff   ßßß×××ÇÇǶ¶¶^^^GGGGGGGGGEEE======‘‘‘ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïçç窪ªEEE------------------------------------------------------------------""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---------"""""""""------"""""""""""""""""""""""""""""""""---VVVfff^^^fff^^^ffffff^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^fffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppffffffpppfffpppfffpppfffpppfffpppffffffpppffffffpppfffpppffffff^^^ffffff^^^ffffffffffffpppfffppppppfffpppfffpppfffpppfffffffffpppppppppffffff^^^^^^ffffffppppppffffff^^^ffffffpppfffpppfffpppfff‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘––––––   ––––––––––––––––––‘‘‘–––   ––––––‘‘‘†††††††††‘‘‘‘‘‘‘‘‘†††††††††‘‘‘†††††††††††††††‘‘‘†††‘‘‘†††††††††††††††‘‘‘††††††††††††††††††‘‘‘††††††‘‘‘‘‘‘††††††††††††††††††††††††‘‘‘††††††††††††pppVVVNNN^^^^^^NNNNNN^^^GGGEEEGGG^^^†††www‘‘‘¶¶¶çççïïïýýýçççÇÇÇÁÁÁ†††wwwppp^^^wwwfff°°°ÇÇÇÁÁÁ°°°ªªª‘‘‘^^^GGGGGGGGG======EEE‘‘‘ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïßßß–––EEE---------------------------------------------------------""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---------===333---"""------------"""""""""""""""""""""---"""""""""333^^^^^^ffffff^^^^^^^^^fff^^^^^^^^^^^^fff^^^^^^^^^^^^fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppffffffpppfffffffffpppffffffpppfffpppffffffpppfffpppffffffffffff^^^^^^fff^^^fffpppffffffffffffpppfffpppfffpppfffffffffpppffffffpppffffffVVVNNNVVVfffpppfffpppfffffffff^^^fffffffffpppfffffffff––––––‘‘‘–––‘‘‘‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––   –––––––––––––––   –––   –––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘†††††††††††††††††††††††††††††††††‘‘‘†††††††††††††††‘‘‘‘‘‘†††††††††††††††††††††††††††††††††††††††††††††ppp^^^VVV^^^NNNNNNVVVNNNEEEGGGwww‘‘‘www‘‘‘¶¶¶ÎÎÎçççýýýýýýçççÁÁÁ†††ªªªÁÁÁwwwpppppp°°°ÇÇǰ°°––––––†††fffGGGEEE=========EEE†††ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïßßß‘‘‘===------------------------------------------------""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""333EEEEEEEEE---EEE===333333333333---"""""""""""""""---333===333"""""""""===^^^fff^^^ffffff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^ffffff^^^ffffffffffff^^^fff^^^ffffffffffffpppffffffpppfffpppffffffffffffpppfffffffffppppppfffpppfffpppfffpppffffffpppfffpppfffffffff^^^^^^fffffffffffffffpppfffpppffffffpppfffffffffpppfffffffffppppppffffff^^^GGG===NNNfffpppfffpppffffff^^^^^^^^^fff^^^fffpppffffff‘‘‘–––––––––––––––‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘–––‘‘‘––––––––––––––––––––––––   –––   ––––––   ––––––‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††wwwVVVVVVVVVNNNGGGGGGGGGEEEfff††††††ÇÇÇßßßßßßïïïýýýýýýÎÎΖ––‘‘‘   ¶¶¶–––°°°¶¶¶ªªª¶¶¶ªªª–––†††pppGGG============EEE‘‘‘ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï××׆††===---------------------------------------"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""------"""---333EEENNN^^^^^^NNN333GGG===EEENNNNNNEEE---""""""------333EEEEEEGGG==="""""""""EEEVVV^^^fff^^^^^^fff^^^fff^^^ffffff^^^^^^ffffffffffffffffffffffff^^^ffffffffffffffffffpppfffffffffffffffffffffpppfffffffffffffffffffffppppppfffffffffffffffppppppfffffffffffffffffffff^^^ffffffffffffpppffffffpppfffffffffffffffffffffffffffpppfffpppfff^^^GGG===EEEffffffppppppffffffffffffffffffffffffpppfffffffff‘‘‘–––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘–––‘‘‘–––––––––––––––                        –––   –––   ––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘†††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘†††††††††††††††‘‘‘††††††††††††wwwVVVNNNGGGGGGGGGGGGEEEGGG^^^www‘‘‘°°°ÎÎÎ×××ïïïýýýýýýççç××תªª   ¶¶¶‘‘‘ªªª¶¶¶   ªªª–––‘‘‘pppfffGGG============EEE‘‘‘ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï××׆††===------------------------------""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---GGGGGGEEEGGGNNN^^^fff^^^^^^GGG333333333GGG^^^VVVEEE------333===GGGGGGEEEEEE333---"""""""""GGGVVV^^^^^^^^^^^^^^^^^^fffffffff^^^^^^fff^^^ffffffffffffffffffffffffffffffpppffffffpppfffffffffpppffffffpppfffpppfffffffffffffffpppfffffffffpppffffffpppfffppppppfffffffffffffff^^^ffffffffffffpppffffffffffffffffffffffffffffffffffffffffffppppppffffffGGG333===^^^pppfffpppfffpppffffffffffffpppfffffffffpppffffff–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘––––––                     –––            –––   ––––––––––––––––––‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††††††††††††††††††††‘‘‘†††‘‘‘††††††‘‘‘†††pppVVVGGGEEEGGGGGGGGGEEEEEENNN   ÁÁÁÁÁÁïïïýýýýýýýýý×××°°°      ‘‘‘††††††   –––wwwwwwfffVVVGGGEEE=========EEE–––ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΆ††333---------------------""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""333333EEE^^^VVVVVVVVV^^^^^^^^^VVVEEE===333---333EEENNNGGG======GGGGGGNNNGGG===---"""---"""""""""---GGGVVVVVVVVVVVV^^^^^^fff^^^fffffffff^^^ffffffffffffffffff^^^ffffffffffffffffffffffffffffffffffffffffffpppffffffffffffffffffppppppfffpppfffpppffffffpppfffpppffffffpppfffpppfffffffffffffffpppfffpppfffpppfffpppffffffffffffffffffffffffffffffpppffffffNNN===EEEVVVppppppppppppffffffffffffffffffpppffffffpppfffffffff‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––‘‘‘‘‘‘‘‘‘–––––––––‘‘‘–––‘‘‘––––––   ªªª                     –––            –––      –––   ––––––‘‘‘–––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘†††††††††‘‘‘‘‘‘†††wwwpppVVVEEEGGGGGGGGGGGGGGGGGGfff°°°¶¶¶¶¶¶ßßßýýýýýýýýýïïïßßßÇÇÇ–––‘‘‘www^^^fff††††††pppVVVNNNGGG===EEEEEEEEEEEE–––ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎÎwww333------------"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---333===NNNNNNVVVfff^^^fffNNNGGGGGGEEE======333333333===EEENNNNNNEEEGGGNNNGGG333---"""""""""""""""""""""---NNNNNNVVVVVV^^^^^^^^^ffffffffffff^^^fffffffffpppffffff^^^fffffffffffffff^^^fff^^^ffffffffffffffffffpppfffpppfffffffffpppfffpppfffpppfffpppfffpppfffppppppffffffffffffffffff^^^ffffffpppffffffpppfffpppfffpppfffffffffffffffffffff^^^ffffffffffffpppVVV===EEE^^^pppppppppppppppffffffpppfffpppffffffpppfffppppppfffppp‘‘‘‘‘‘–––––––––––––––––––––––––––   ––––––––––––                              –––      –––   ––––––   ––––––   –––––––––––––––––––––   ––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††††††††wwwpppVVVGGGGGGNNNNNNGGGGGG^^^–––°°°ÇÇǶ¶¶ïïïýýýýýýïïïïïïçççÎÎΪªªpppfff†††ppp^^^NNNGGGGGG===NNNVVVVVVGGGªªªïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÇÇÇppp---""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---""""""333===GGGGGGVVVVVV^^^^^^VVVGGG===333333333333333333======EEEGGGVVV^^^NNNEEEGGG===---"""""""""""""""""""""""""""---NNNNNNVVVVVVVVV^^^^^^^^^^^^^^^fff^^^ffffffffffffffffffffffff^^^ffffff^^^fff^^^ffffffffffffffffffffffffpppffffffpppffffffpppfffpppfffffffffffffffpppfffpppfffpppffffffffffff^^^fffpppfffpppfffpppfffpppffffffffffffffffff^^^fff^^^ffffffffffffpppVVV======VVVpppfffpppppppppppppppfffpppfffpppfffffffffppppppfffpppfff––––––      –––                     –––   –––               –––            ––––––                              ––––––   –––   –––      ––––––––––––‘‘‘‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††wwwpppVVVGGGNNNGGGNNNGGGNNNppp–––ÁÁÁªªª×××ýýýýýýïïïýýýïïïïïïßßߪªªÎÎζ¶¶wwwfffVVVNNNGGGEEE===NNNwwwwwwNNNªªªýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇ^^^"""""""""""""""""""""""""""""""""""""""""""""""""""---""""""---""""""EEE======EEENNNVVVVVVNNN^^^VVVEEEEEE------"""------------333======GGGNNNVVVNNNGGGEEE333333---333======"""""""""""""""""""""333GGGNNNNNNVVVVVV^^^^^^^^^^^^^^^^^^ffffffffffff^^^fff^^^^^^fffffffff^^^fffffffffffffff^^^ffffffpppfffffffffpppfffpppfffpppfffpppfffffffffffffffpppfffpppffffffffffffffffff^^^fffpppfffpppfffpppfffpppfffpppffffffffffffffffff^^^ffffffffffffffffffGGG===VVVfffpppfffpppfffpppfffppppppfffpppfffpppfffpppppppppppppppfff––––––            ªªª         –––   –––––––––      ––––––                           –––                  –––         –––         –––   ––––––‘‘‘‘‘‘‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††††††††††††††††††††wwwwwwVVVGGGNNNNNNNNNGGGNNNpppªªª¶¶¶   ßßßýýýýýýïïïýýýïïïßßß¶¶¶×××ßßß¶¶¶‘‘‘fffNNNNNNGGG======GGGfffNNNªªªýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇNNN"""""""""""""""""""""""""""""""""""""""""""""---""""""""""""""""""---VVVVVVVVV^^^^^^^^^NNN===333333""""""""""""""""""---"""333GGGNNNNNNNNNGGGEEE333---------333EEEEEEEEEEEE---""""""""""""""""""===GGGNNNNNNVVVVVVVVVVVV^^^^^^^^^^^^fff^^^ffffff^^^°22ú��ú��ú��ú��fffffffff^^^fffffffffffffffffffffpppfffpppffffffpppffffffpppfffpppffffffffffffpppfffpppfffffffffffffffffffffpppffffffpppfffpppfffpppfffffffff^^^ffffffffffff^^^fffffffffffffffNNNEEENNNffffffpppfffppp^^^pppppppppppppppfffpppfffpppfffppppppppppppppp––––––   –––   –––      ªªª–––‘‘‘‘‘‘‘‘‘†††‘‘‘                        –––––––––                     –––      ––––––‘‘‘––––––––––––   ––––––––––––‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††www††††††††††††††††††††††††††††††wwwVVVGGGGGGNNNNNNGGG^^^†††ªªª–––¶¶¶ïïïýýýïïïýýýýýýçççÎÎÎÁÁÁÇÇÇßßßÎÎÎNNNGGGEEE======EEE^^^wwwVVVªªªýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇNNN""""""""""""""""""""""""""""""""""""""""""---""""""---""""""""""""---^^^fffVVV^^^fff^^^===---""""""""""""""""""------333"""===NNNGGGGGG===""""""------======EEENNNEEE------"""""""""""""""""""""EEEGGGGGGNNNNNNVVVVVVVVVVVV^^^^^^^^^^^^^^^ffffffRR÷ú��ú��ú��ú��fffffffffffffffffffffffffffpppffffffffffffpppfffffffffpppfffpppfffpppfffpppfffpppffffffffffffffffffffffffffffffpppfffpppfffpppfffpppfffffffffffffffffffff^^^ffffff^^^ffffffVVVNNNNNNfffffffffpppfff^^^^^^ppppppppppppppppppfffppppppffffffpppfffpppfff            –––         ––––––––––––––––––––––––––––––               –––   ––––––––––––––––––      ––––––   ––––––––––––––––––––––––   ––––––‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘††††††††††††www††††††††††††††††††††††††††††††††††††††††††ppp^^^GGGNNNNNNNNNppp–––‘‘‘www×××ýýýïïïïïïýýýïïïßßß°°°ÇÇÇ×××××תªªVVVGGGEEE======EEENNNpppNNNªªªïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïçççÁÁÁGGG"""""""""""""""""""""""""""---""""""---""""""---"""""""""---""""""333VVVNNN===EEEVVVEEE---"""""""""""""""---333GGGGGGEEE---333333---""""""---333EEEEEEGGGEEE===333"""""""""""""""""""""EEEGGGGGGNNNNNNNNNNNNVVVVVV^^^^^^^^^fff^^^fffhddÞú��ú��ú��ú��ú��fffffffffffffffffffffffffffpppfffpppfffpppppppppffffffpppfffpppffffffpppfffpppfffffffffffffff^^^ffffffppppppffffffpppfffpppfffffffffpppfffffffffffffffffffffffffff^^^fff^^^VVVVVVfffffffffffffff^^^^^^fffwwwppppppppppppppppppppppppfffpppfffppppppppp––––––––––––   ––––––      ––––––   ––––––   –––   –––   –––   –––   –––   ––––––––––––‘‘‘–––‘‘‘–––––––––‘‘‘‘‘‘–––––––––   –––   ––––––––––––‘‘‘‘‘‘††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††††††††www^^^GGGGGGNNNppp–––ªªªwwwVVV‘‘‘çççýýýïïïýýýýýýçççÎÎΰ°°ÎÎÎ×××ÎÎÎÁÁÁªªªVVVEEE===EEEGGGGGGGGG–––çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßß¶¶¶GGG""""""""""""---"""""""""---""""""---"""---""""""---"""---"""""""""---333---"""------""""""---"""---333===GGGNNNGGGGGG===---"""""""""---===EEEGGGGGG===333---""""""""""""""""""---EEEú��ú��GGGGGGGGGNNNNNNVVV^^^^^^^^^^^^ffffffµ77ú��çú��ú��ú��ú��fffppppppfffffffffppppppfffpppfffffffffpppfffpppfffpppfffpppfffffffffpppfffpppffffffffffffffffff^^^pppfffpppppppppfffpppffffffpppffffffffffffffffff^^^fffffffffffffff^^^^^^VVVffffffffffffffffffpppppppppppppppppppppppppppppppppfffpppfffpppfffpppfff––––––––––––   ––––––   –––––––––––––––                                 ––––––––––––   –––––––––‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––––––––   –––––––––‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††wwwwww†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††††††††‘‘‘†††††††††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘††††††††††††fffGGGNNNVVV†††   †††^^^VVV¶¶¶ïïïýýýïïïýýýýýýßßßÇÇÇÁÁÁÎÎÎßßßßßßçççÇÇÇ^^^EEEGGGVVVEEE===ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïßßß¶¶¶EEE"""""""""""""""---"""---""""""---""""""---"""---"""""""""---"""---"""""""""""""""""""""---EEEEEEEEEEEEGGGGGG===333"""---333===333---EEEGGGGGGEEE333""""""""""""""""""""""""333EEEú��ú��GGGGGGNNNNNNVVVVVVVVV^^^^^^ffffffSS÷ø��‰MMú��ú��ú��ú��pppfffpppffffffpppfffppppppfffffffffpppfffpppfffpppfffpppffffffpppfffpppffffffffffffpppffffffffffffpppfffppppppffffffpppfffpppfffffffffffffffffffff^^^fff^^^ffffff^^^fff^^^^^^^^^^^^fffpppfffppppppppppppppppppwwwwwwwwwwwwpppppppppppppppfffppppppfff––––––––––––   –––            –––         ªªª         –––      –––   –––   ––––––––––––‘‘‘‘‘‘††††††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘–––––––––   –––‘‘‘‘‘‘†††‘‘‘‘‘‘†††††††††www†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††††††††††††††††††††‘‘‘†††††††††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††wwwfffGGGNNN^^^–––°°°pppNNNppp×××ýýýýýýýýýýýýýýýïïï×××¶¶¶ÎÎÎÎÎÎÁÁÁ×××°°°†††www^^^EEEEEEwwwÎÎÎïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý××תªª===""""""---"""---"""""""""---""""""------"""---"""---"""---""""""""""""""""""""""""---======NNNGGGNNN333333---""""""---333NNNNNNEEE---===333---""""""---EEE333"""""""""""""""""""""===GGGú��ú��GGGGGGGGGNNNVVVVVVVVV^^^^^^fffhddÞú��¾00fffú��ú��ú��ú��ppppppfffpppfffppppppffffffffffffppppppffffffppppppffffffppppppppppppffffffpppffffffffffffffffffpppfffppppppfffpppffffffpppffffffffffffffffff^^^fffffffff^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^ffffffppppppppppppfffppppppppppppfffpppppppppfffppppppfffpppppp‘‘‘––––––   ––––––––––––‘‘‘‘‘‘††††††wwwwwwwwwwwwwwwwwwwwwwwwwww††††††‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘††††††††††††www††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††††††††††††††‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††††††††††††††www^^^NNNVVV–––ªªª†††NNNVVV‘‘‘çççýýýïïïïïïýýýýýýçççÁÁÁ   ¶¶¶ÇÇÇ××××××ßßßÁÁÁwwwNNNNNNwwwÇÇÇçççïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï×××   ==="""---"""---""""""---"""---"""---"""---------333------------------"""------333---EEEGGGNNNGGG===---"""""""""---===EEENNNNNNGGG==="""""""""---======GGGNNNEEE"""""""""""""""""""""EEEEEEú��ú��GGGGGGNNNNNNNNNVVVVVV^^^^^^fff°22ú��ækbbfffú��ú��ú��ú��pppfffpppfffppppppppppppfffpppppppppfffpppfffppppppfffpppfffpppppppppfffffffffpppffffffffffffpppfffpppfffpppfffppppppfffpppffffffffffffffffff^^^fffffffff^^^^^^^^^^^^^^^^^^VVVVVV^^^^^^ffffffffffff^^^fffpppppppppfffpppfff^^^^^^ffffffffffffpppfffppp‘‘‘‘‘‘†††wwwpppffffff^^^^^^fff^^^ffffffpppfff^^^VVV^^^^^^^^^^^^^^^^^^fffpppwww†††‘‘‘‘‘‘†††††††††††††††††††††††††††wwwwwwwww†††‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††††††††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††wwwfffNNNfffVVVNNN^^^°°°ïïïýýýýýýýýýýýýïïï××תªª   °°°ÎÎÎßßßßßß°°°wwwÇÇÇÁÁÁ×××ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï×××–––==="""---"""---"""---"""---"""---"""333=====================333333333EEEEEEGGGEEE---EEE===333"""""""""---333===GGGNNNEEEEEE333"""""""""---333EEEGGGGGGGGG==="""""""""""""""""""""---EEEEEEú��ú��GGGGGGNNNNNNVVVVVV^^^^^^^^^SSöø��ŠMMppppppú��ú��ú��ú��pppppppppppppppppppppfffpppfffppppppppppppffffffpppfffpppppppppfffpppfffffffffffffff^^^ffffffpppfffpppfffppppppfffppppppfffpppfffffffff^^^^^^fffffffff^^^fff^^^^^^^^^^^^VVV^^^^^^fff^^^fff^^^VVVNNNVVVfffppppppfffffffffppp^^^^^^^^^^^^fffffffffpppffffff^^^^^^^^^^^^^^^^^^ffffffppppppppppppwwwwwwpppppppppfffffffffffffff^^^^^^VVVfffwww‘‘‘†††wwwppppppfffpppppppppppppppppp†††wwwwwwwww†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘–––––––––‘‘‘‘‘‘‘‘‘–––‘‘‘––––––‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††pppNNNVVVVVVNNNNNNNNNfffÎÎÎýýýýýýýýýïïïýýýïïïÎÎΰ°°ªªª–––ÎÎÎ×××ÇÇÇ‘‘‘¶¶¶¶¶¶ppp   ªªªßßßïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΖ––333---"""---"""---"""---"""------===GGGGGGEEEEEE=========EEEEEEGGGNNNNNNGGGGGG==="""""""""""""""333EEEGGGNNNGGGEEE333---"""""""""------===NNNEEE===333"""""""""""""""""""""ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��^^^^^^^^^fffàú��»++pppppppppú��ú��ú��ú��fffppppppfffppppppfffppppppppppppppppppfffpppfffpppfffpppppppppffffffffffffffffffffffffppppppfffppppppfffpppfffpppfffppppppfffpppfffVVVNNNffffffffffff^^^^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^VVVVVVNNNNNN^^^ffffff^^^^^^^^^^^^VVV^^^VVVVVV^^^fffppppppVVVVVVVVVVVV^^^^^^^^^^^^fff^^^fffffffff^^^fffffffffffffff^^^fffffffffffffffpppppppppwwwpppfff^^^^^^^^^fff^^^fffffffffpppppp†††††††††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††‘‘‘†††‘‘‘‘‘‘††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––––––––   –––   ––––––––––––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††pppVVVGGGNNNGGGNNNNNNßßßïïïýýýïïïïïïýýýïïïßßß×××°°°‘‘‘°°°ÎÎζ¶¶ÎÎÎÇÇÇpppwwwÁÁÁçççýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΆ††---"""---""""""---"""---"""------GGG^^^NNNNNNGGGGGGGGGNNNVVVNNNNNNGGGEEE------""""""""""""333EEEGGGNNNEEE===333"""""""""---===EEE===---GGG333---""""""""""""""""""ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��^^^^^^ffffffú��èlbbfffppppppú��ú��ú��ú��ppppppfffppppppppppppfffppppppppppppppppppfffpppfffpppfffpppffffffpppfffffffffffffffffffffpppfffpppfffpppfffffffffpppfffppppppffffffVVV^^^pppffffff^^^^^^^^^^^^^^^VVVVVVVVVVVVVVVVVVVVV^^^NNNNNNNNN^^^VVV^^^ffffffNNNEEE333333EEEGGGNNN^^^fffppp^^^^^^wwwwwwpppfffpppfffffffffffffffpppppppppppppppppppppwww††††††‘‘‘†††wwwppp^^^^^^^^^VVV^^^^^^^^^fff^^^pppppppppppppppwwwwww††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––––––––––––––   –––   –––   –––––––––––––––––––––––––––‘‘‘‘‘‘wwwVVVGGGGGGGGGNNNVVV–––ïïïýýýýýýýýýïïïïïïýýýçç窪ª††††††‘‘‘‘‘‘ÁÁÁÇÇÇ‘‘‘fffªªªçççýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇwww------"""---"""---"""---"""---333VVVfffVVVVVVVVVfff^^^NNNGGGEEE333---"""""""""---333"""---GGGEEEEEE333"""""""""---333EEEEEEGGGEEE333---333""""""""""""""""""""""""""""""EEEEEEGGGú��ú��NNNVVVVVV^^^^^^ffffffffffffú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ffffffpppfffppppppfffppppppppppppfffppppppfffppppppfffffffffpppffffffffffffpppffffffpppfffpppffffffpppffffffppppppfffpppfff^^^fffpppfffpppfffffffff^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVNNNNNNVVVVVVVVV^^^VVV^^^EEE"""---"""---333NNNVVVfffpppffffff††††††††††††††††††‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘††††††wwwwwwfffffffffVVV^^^VVVVVVVVV^^^^^^^^^^^^^^^ffffffpppfffppppppwwwwww††††††††††††‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘––––––––––––––––––––––––               –––––––––               –––   ––––––––––––‘‘‘wwwVVVGGGGGGNNNGGG^^^ÁÁÁïïïýýýýýýýýýïïïïïïïïïÎÎÎÁÁÁªªª†††–––ÇÇǶ¶¶†††°°°çççýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÎÎÎfff---"""---"""---------------===GGGppp^^^VVVfff^^^VVVGGG===""""""---======333===GGGEEE---"""===---"""""""""333===GGGGGGGGGNNN===---""""""""""""""""""""""""""""""""""""---EEEEEEGGGú��ú��VVV^^^^^^ffffffffffffpppfffú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ppppppppppppppppppppppppppppppfffppppppfffpppfffpppfffpppfffffffffffffffpppfffppppppffffffpppfffpppffffffpppfffpppfffffffffppppppfffffffffffffffffffff^^^^^^^^^^^^^^^VVVNNNNNNVVVVVVNNNNNNNNNNNNVVVNNNNNNNNNEEE---""""""------NNN^^^ffffffffffffwwwpppwwwwwwwwwwwwfffppppppppppppwww†††wwwfff^^^^^^VVVVVV^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^ffffffpppwwwwwwwwwwww††††††††††††‘‘‘–––––––––––––––––––––‘‘‘†††‘‘‘†††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘–––––––––   –––   –––                           –––            –––         ––––––––––––‘‘‘‘‘‘pppVVVGGGGGGNNNNNNpppÎÎÎýýýýýýýýýýýýïïïïïïýýýïïïßßß°°°–––   –––°°°†††ÇÇÇçççýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇfff------"""------333===EEEEEEVVVfffwwwfff^^^^^^GGG---""""""""""""===NNNNNNGGGNNNGGG===---""""""""""""---EEEEEEEEEEEE========="""""""""""""""""""""""""""""""""""""""---EEEEEEGGGú��ú��^^^^^^fffffffffppppppppppppppppppppppppppppppú��ú��ú��ú��pppfffpppppppppppppppfffpppppppppfffpppfffpppppppppfffpppfffpppffffffffffffpppppppppppppppfffpppfffffffffpppfffppppppfffpppfffpppffffffffffffffffffffffff^^^^^^^^^^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVNNNNNNGGGNNNGGGGGGGGG===333333---===VVVffffff^^^^^^ffffffffffff^^^VVVNNNNNNNNN^^^^^^^^^fffpppppppppfffpppffffffpppfff^^^^^^^^^^^^^^^^^^^^^ffffffffffffpppwwwwwwwww†††††††††‘‘‘–––––––––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––   –––   –––                        –––                     ªªª      ––––––––––––‘‘‘–––‘‘‘†††fffVVVGGGGGGGGGNNN†††ßßßïïïýýýýýýýýýýýýýýýýýýýýý×××ÁÁÁªªª††††††www–––ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇVVV------"""333GGGGGGNNN^^^^^^wwwppppppVVVNNNEEE333---"""333===---EEENNNNNN===333------"""---333333"""===EEE===---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""===EEEGGGVVVú��ú��ffffffppppppppppppppppppppppppwwwwwwwwwppppppú��ú��ú��ú��fffpppppppppppppppppppppppppppppppppppppppfffppppppfffppppppffffffffffffppppppppppppppppppfffppppppfffffffffpppfffpppfffffffffppppppfffffffffffffffppp^^^^^^^^^^^^^^^fffVVV^^^VVVVVVVVVVVVVVVVVVVVVNNNGGGNNNGGGGGGEEEEEEEEEGGGNNNVVV^^^ffffff^^^fffffffff^^^VVVNNNNNNNNNVVVVVVVVVffffffppppppfffwwwpppppppppfffpppfff^^^^^^^^^fffffffffpppppppppppppppwwwwwwwww†††‘‘‘‘‘‘––––––   –––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––   –––            ªªª               ªªª   ªªªªªª   ªªªªªªªªªªªª   –––   –––––––––––––––‘‘‘‘‘‘†††wwwNNNGGGGGGNNNVVV–––çççýýýýýýýýýýýýýýýýýýýýýïïïïïïÎÎΖ––   –––‘‘‘çççýýýýýýýýýýýýýýýýýýýýýýýýïïïçççÇÇÇNNN---"""---333VVVNNNVVV^^^ppp^^^^^^NNN===NNNGGGEEEEEEEEEGGGNNN333---333""""""""""""EEEEEEGGGNNNGGG---"""---"""""""""""""""---""""""===333"""""""""""""""""""""333GGGNNN^^^fffú��ú��ppppppppppppppppppppppppwwwwwwwwwppppppppppppú��ú��ú��ú��pppppppppppppppppppppwwwppppppfffppppppppppppfffppppppfffpppfffffffffpppppppppppppppppppppfffpppfffpppfffpppfffpppfffffffffpppffffffffffff^^^^^^ffffff^^^^^^fff^^^fff^^^^^^^^^VVVVVVVVVVVV^^^VVVVVVVVVVVVNNNNNNGGGNNNGGGGGGGGGGGGNNNVVV^^^^^^fff^^^ffffffVVVNNNNNNVVVVVVVVVVVVVVV^^^fff^^^VVVVVV^^^^^^fffffffff^^^fff^^^^^^ffffffppppppwwwwwwwwwpppwwwwwwwww†††††††††‘‘‘––––––   –––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††‘‘‘‘‘‘–––‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––––––––   –––                        ªªª   ªªªªªªªªªªªªªªª   ªªªªªªªªªªªªªªª   ªªª   –––   ––––––––––––‘‘‘‘‘‘†††pppVVVGGGGGGNNN^^^¶¶¶ïïïýýýýýýýýýýýýýýýýýýýýýýýýçççÎÎÎ××תªª‘‘‘‘‘‘çççýýýýýýýýýýýýýýýýýýýýýýýýýýýßßßÁÁÁGGG------"""333GGGGGGEEEEEENNNNNNNNNNNNGGG^^^fffNNNEEENNNGGG===""""""---333---===EEENNNNNNEEE333333""""""""""""""""""""""""333333"""===EEE333""""""""""""""""""333GGG^^^fffppppppwwwpppwwwwwwwwwwwwpppwwwwwwwwwwwwwwwppppppwwwppppppppppppppppppppppppppppppppppppppppppppppppfffppppppffffffpppfffppppppffffffffffffpppppppppwwwppppppppppppfffpppfffppppppfffffffffppppppffffff^^^^^^fff^^^ffffff^^^^^^^^^^^^ffffff^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^VVVVVVVVVVVVNNNNNNGGGEEEEEENNNVVVVVVVVV^^^^^^ffffffppp^^^VVVVVVVVVVVVVVVfffffffffpppfff^^^^^^^^^ffffffpppppppppwwwppppppppppppwwwwww††††††‘‘‘–––––––––––––––   ––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘–––   ––––––‘‘‘‘‘‘––––––––––––––––––      –––               ªªª   ªªª      ªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª   ªªª            –––‘‘‘‘‘‘††††††pppVVVGGGGGGNNNfffÎÎÎïïïýýýýýýýýýýýýýýýýýýýýýýýýïïïýýýççç×××ÁÁÁÎÎÎýýýýýýýýýýýýýýýýýýýýýýýýïïïßßß¶¶¶EEE---""""""---333""""""333VVVNNNVVVfffffffff^^^NNN===---"""""""""333EEEVVVGGGGGGNNN===333"""""""""""""""""""""EEE===GGGEEE"""GGGNNN333"""""""""""""""""""""---===NNNfffppppppwwwwwwpppwwwwwwwwwwwwpppwwwwwwwwwpppwwwpppppppppwwwwwwppppppppppppppppppwwwpppppppppppppppfffpppppppppfffpppppppppfffpppffffffffffffppppppppppppppppppppppppfffppppppfffffffffpppffffffpppffffffppp^^^VVV^^^fff^^^fff^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^VVV^^^fff^^^^^^VVVVVVNNNNNN===GGGNNNNNNVVVVVV^^^^^^ffffffffffffVVVVVVNNNVVVVVV^^^pppfffpppppppppppppppfffpppppppppwwwwwwwwwppppppwwwwww†††††††††‘‘‘‘‘‘–––––––––––––––––––––––––––   ––––––‘‘‘‘‘‘†††††††††††††††‘‘‘‘‘‘––––––––––––   –––   ––––––   –––   –––   –––   –––   –––         ªªª      ªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°ªªªªªª°°°°°°ªªªªªªªªª            –––‘‘‘‘‘‘‘‘‘††††††wwwVVVGGGNNNNNNwww×××ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççççççßßßýýýýýýýýýýýýýýýýýýýýýýýýïïïßßß°°°==="""""""""""""""""""""---VVV^^^^^^fff^^^VVVEEE333""""""---333===GGGGGGGGGGGG333---"""""""""""""""""""""""""""---NNNGGGVVVEEE---GGGGGG---""""""""""""333===GGG^^^ffffffpppppppppwwwwwwwwwwwwwwwwwwwwwwwwwwwpppwwwppppppwwwwwwwwwpppppppppppppppppppppwwwpppppppppppppppfffppppppppppppppppppfffpppfff^^^ffffffppppppppppppppppppfffpppppppppffffffpppffffffpppfffpppfffpppffffffVVV^^^fffffffff^^^^^^fff^^^fffffffff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^VVVVVVVVVVVVVVVNNNVVVVVVVVVVVV^^^^^^fffpppfff††††††wwwwwwppp^^^fff^^^ffffffwwwwwwwwwwwwpppppppppwwwwwwwwwwww†††††††††††††††††††††‘‘‘‘‘‘––––––‘‘‘––––––––––––––––––   ––––––‘‘‘‘‘‘‘‘‘†††††††††††††††‘‘‘––––––   –––––––––––––––   –––         –––         ––––––                     ªªª   ªªªªªªªªª°°°ªªª   ªªªªªªªªªªªª°°°°°°°°°ªªª°°°ªªªªªªªªªªªªªªªªªªªªª   ªªª      –––‘‘‘‘‘‘‘‘‘†††www^^^GGGGGGVVV‘‘‘ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï×××   ==="""---"""""""""""""""---EEEGGGNNNGGGGGG===333---======EEENNNGGG===------""""""""""""""""""""""""""""""333""""""---"""EEENNNEEEEEE---"""===---"""""""""---===EEENNNVVVffffffppppppppppppwwwpppwwwwwwpppwwwpppwwwppppppwwwpppwwwwwwwwwwwwpppppppppppppppppppppwwwpppwwwpppppppppppppppfffpppppppppfffppppppffffffffffffpppppppppppppppppppppppppppfffpppffffffppppppffffffpppfffpppffffffVVV^^^^^^fffppp^^^^^^ffffff^^^^^^ffffff^^^fff^^^ffffff^^^^^^^^^^^^^^^^^^fff^^^^^^^^^VVVfff^^^VVVVVVVVVVVV^^^^^^ffffffpppfffwwwppppppfffpppppppppwwwwwwwwwwwwwwwwwwwww††††††††††††‘‘‘†††††††††‘‘‘––––––––––––‘‘‘––––––––––––   –––   ––––––†††‘‘‘††††††††††††‘‘‘––––––         –––   –––––––––                        –––                  ªªªªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°ªªª°°°°°°ªªªªªª°°°ªªªªªª°°°°°°ªªªªªª   ªªª      –––––––––‘‘‘‘‘‘www^^^GGGNNNVVV   çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï×××–––333------""""""""""""""""""---"""333333333EEEEEEEEEGGGVVVGGGEEE---"""""""""""""""""""""""""""""""""---333GGG333"""333"""---333"""""""""""""""""""""---===GGGNNN^^^ffffffpppfffpppfffppppppppppppppppppppppppwwwpppwwwpppppppppppppppwwwppppppppppppppppppwwwwwwpppwwwwwwpppwwwpppfffppppppppppppfffpppfffpppfffffffffwwwppppppppppppppppppppppppfffpppppppppppppppppppppfffpppfffpppfff^^^VVVfffffffff^^^^^^^^^^^^^^^^^^fff^^^ffffff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^VVV^^^VVVVVV^^^fffpppfffffffffpppwwwwwwwwwwwwwwwpppwwwppppppwww††††††††††††††††††††††††‘‘‘†††‘‘‘–––––––––––––––––––––––––––   ––––––‘‘‘‘‘‘††††††††††††††††††–––         –––      ––––––   –––         ªªªªªªªªª                     ªªª   ªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªª°°°°°°°°°°°°°°°ªªª°°°ªªª°°°ªªªªªª°°°ªªª°°°°°°ªªªªªªªªªªªªªªª      –––   ‘‘‘†††www^^^NNNNNN^^^°°°çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï××ב‘‘---------""""""""""""""""""""""""------===EEENNNGGGEEE333---"""""""""""""""""""""""""""""""""333333EEENNNNNN"""------""""""""""""""""""333EEEGGGVVV^^^^^^fffpppffffffpppfffpppppppppppppppppppppwwwpppwwwppppppppppppwwwpppwwwppppppppppppfffpppwwwwwwpppwwwwwwwwwppppppppppppfffpppppppppfffpppppppppffffffpppwwwppppppppppppppppppppppppfffppppppfffpppppppppfffpppfffpppfff^^^VVV^^^fffffffff^^^^^^ffffff^^^ffffffffffffffffff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^ffffff^^^^^^^^^VVVVVV^^^fffffffffffffffwwwwwwppppppwwwwwwwwwwww†††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘––––––––––––––––––‘‘‘††††††‘‘‘††††††‘‘‘‘‘‘               –––   –––   –––   –––                                 ªªª      ªªª   ªªªªªª°°°°°°°°°°°°°°°ªªª°°°°°°°°°°°°°°°°°°°°°ªªªªªª°°°°°°ªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°°°°°°°ªªªªªª   ––––––‘‘‘†††fffNNNNNNfffÁÁÁïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç×××333---""""""---"""333EEE======------"""===EEE===333"""""""""""""""""""""""""""333"""""""""EEENNNVVVGGGEEEEEE"""""""""""""""""""""---===EEENNNVVV^^^^^^ffffffpppffffffpppppppppppppppppppppppppppppppppwwwppppppppppppppppppwwwppppppppppppfffpppwwwppppppwwwppppppppppppppppppppppppppppppppppppppppppffffffppppppwwwppppppppppppppppppfffppppppppppppppppppffffffpppfffpppfff^^^NNN^^^ffffffffffff^^^fff^^^fffffffffffffff^^^fff^^^ffffff^^^^^^^^^^^^^^^^^^^^^fff^^^fffffffff^^^^^^^^^^^^^^^^^^ffffffppppppffffffwwwpppwww†††††††††www††††††‘‘‘††††††††††††‘‘‘‘‘‘‘‘‘††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘––––––‘‘‘––––––––––––‘‘‘‘‘‘‘‘‘††††††††††††††††††–––         –––            –––   –––   –––   –––                     ªªªªªª   ªªª   ªªª   ªªªªªª°°°ªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶°°°ªªªªªª   ––––––‘‘‘fffNNNGGGpppÎÎÎýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç×××333------=========NNNVVVVVVEEE""""""---------"""""""""""""""""""""---"""===NNNEEE==="""NNNNNNGGGEEE---"""""""""""""""---===GGGNNNVVV^^^^^^^^^ffffffpppfffffffffpppppppppffffffpppfffppppppppppppppppppppppppppppppwwwpppppppppwwwppppppwwwpppwwwppppppppppppfffppppppppppppppppppfffppppppfffffffffppppppwwwppppppppppppppppppppppppfffpppppppppfffppppppfffpppfffffffffNNNVVV^^^fffffffff^^^^^^fff^^^^^^fffffffffffffff^^^ffffff^^^^^^fff^^^^^^^^^fff^^^^^^fffffffff^^^^^^^^^^^^^^^^^^ffffffpppffffffffffff†††††††††††††††††††††††††††††††††‘‘‘†††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††www†††‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––––––––‘‘‘†††††††††††††††††††††‘‘‘–––                     –––                  –––   –––            ªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°ªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°ªªª°°°°°°ªªª°°°°°°°°°¶¶¶°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶°°°¶¶¶°°°°°°ªªª   –––†††wwwfffVVVNNN×××ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç×××ppp333333NNNVVVVVV^^^fff^^^GGG---""""""""""""""""""""""""""""""""""""333EEEGGGVVVVVV==="""EEE---""""""""""""""""""333===GGGVVVVVV^^^^^^^^^^^^fffffffffffffffpppfffpppfffppppppppppppppppppppppppppppppfffppppppppppppppppppppppppppppppppppppwwwpppppppppfffppppppppppppppppppfffppppppfffpppffffffpppwwwpppwwwpppppppppppppppwwwpppppppppppppppppppppffffffpppfffffffffVVVNNN^^^fffffffff^^^^^^fff^^^ffffffffffffffffffffffff^^^^^^fff^^^^^^^^^fff^^^fffffffff^^^ffffff^^^^^^^^^^^^^^^ffffffffffffpppfffffffff‘‘‘––––––††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––‘‘‘††††††††††††††††††‘‘‘–––                                                               ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª¶¶¶°°°°°°ªªª°°°°°°°°°°°°°°°°°°°°°ªªª°°°°°°°°°ªªª°°°ªªª°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°   ––––––‘‘‘†††pppVVVNNN†††ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßß×××ppp333NNNpppfffNNNVVV^^^VVVNNNEEE"""---"""333=========EEE======EEENNNNNNVVVGGGGGG---""""""""""""""""""---333EEEGGGVVV^^^^^^^^^^^^^^^fffffffffffffffffffffpppfffpppfffpppfffpppfffppppppfffpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppffffffppppppppppppwwwppppppppppppppppppfffppppppppppppppppppppppppfffffffff^^^NNN^^^fffffffff^^^^^^fff^^^fff^^^ffffffffffffffffff^^^ffffff^^^ffffff^^^ffffffffffffffffffffffff^^^VVV^^^^^^fffffffffffffffffffffffffff––––––‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘––––––‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘†††††††††††††††––––––                     ªªª   ªªªªªª                  ªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°ªªªªªª°°°°°°°°°ªªª°°°ªªª°°°°°°°°°°°°°°°°°°ªªª°°°°°°¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶¶¶¶°°°ªªªªªª      ‘‘‘†††wwwVVVVVV‘‘‘ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïççç×××fff===VVVfff^^^GGGVVVNNNGGGEEE333"""333===333===GGGNNNGGGVVVVVVVVVGGG^^^VVVVVVEEE333---""""""""""""333===EEEGGGVVV^^^^^^fff^^^fff^^^^^^fffffffffffffffffffffffffffffffffpppfffppppppfffpppppppppfffppppppppppppppppppfffpppfffpppwwwppppppwwwpppwwwppppppppppppppppppppppppppppppppppppffffffppppppwwwpppppppppppppppppppppppppppppppppppppppppppppfffpppffffffppp^^^VVVVVVfffffffff^^^^^^^^^fff^^^fffffffffffffffffffffffffff^^^fff^^^^^^fff^^^ffffff^^^ffffffffffff^^^^^^^^^^^^fff^^^ffffffpppfffffffffffffff––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘   –––   ‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––‘‘‘††††††‘‘‘††††††††††††‘‘‘–––                           ªªªªªªªªª            ªªª   ªªªªªªªªª°°°ªªªªªªªªªªªªªªªªªª°°°ªªª°°°¶¶¶°°°°°°°°°¶¶¶¶¶¶°°°¶¶¶°°°°°°°°°ªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°ªªª°°°ªªª°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶ªªªªªª–––‘‘‘wwwVVVVVV–––çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïççç×××^^^GGGVVVVVVVVVGGGNNNGGGEEE---"""333GGGNNN======GGGGGGVVVfffGGG^^^GGGGGG===---"""""""""""""""---===EEEGGGNNNVVV^^^^^^^^^ffffff^^^^^^^^^fffffffff^^^fffffffffffffffffffffffffffffffffpppppppppfffpppfffpppppppppppppppppppppfffpppwwwppppppwwwpppwwwpppppppppppppppwwwppppppppppppppppppffffffpppppppppppppppppppppppppppppppppfffppppppppppppppppppfffppppppfffpppfffNNNVVVffffffpppfffffffffffffffffffffffffffffffffpppfff^^^^^^fff^^^ffffff^^^fffffffffffffff^^^fff^^^fff^^^VVV^^^^^^^^^fffpppffffffffffffffffff–––––––––‘‘‘‘‘‘‘‘‘––––––‘‘‘––––––––––––––––––––––––––––––‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––††††††‘‘‘†††††††††––––––                              ªªªªªª         ªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°ªªª°°°ªªªªªª°°°¶¶¶¶¶¶°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°°°°°°°°°°°°°ªªª°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶ÁÁÁ¶¶¶°°°¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶°°°   †††www^^^^^^   çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïßßß×××VVVEEEEEEGGGVVVGGGGGGEEE===333---===GGGGGG333---======VVVGGG---===333"""""""""""""""""""""333===GGGGGGNNNVVVVVV^^^ffffffffffff^^^ffffff^^^ffffff^^^^^^fffffffffffffffffffff^^^fffffffffpppffffffffffffppppppppppppppppppppppppppppppppppppppppppwwwpppppppppppppppwwwpppppppppfffpppfffpppfffppppppppppppwwwpppppppppppppppppppppppppppppppppppppppfffppppppfffpppfffVVVVVVffffffpppfffffffffffffffffffffpppfffffffffffffff^^^fff^^^^^^^^^^^^ffffffffffffffffffffffff^^^^^^^^^^^^^^^^^^ffffffffffffpppfffffffffffffff–––––––––‘‘‘‘‘‘‘‘‘      ––––––––––––––––––––––––––––––†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––†††††††††††††††††††††‘‘‘––––––   –––   –––      ªªªªªªªªªªªª   ªªª         ªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÁÁÁÇÇÇÁÁÁÁÁÁ¶¶¶°°°   ‘‘‘^^^^^^°°°ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïßßßÎÎÎGGG333===GGGVVVGGG333333333333===EEEEEE===333"""---333===333""""""""""""""""""""""""---===EEEGGGNNNVVVVVV^^^^^^^^^ffffffffffff^^^fffffffffffffffffffff^^^ffffffffffffffffff^^^fffffffffpppfffffffffpppppppppppppppppppppppppppppppppwwwpppppppppppppppfffwwwppppppwwwpppppppppppppppfffppppppfffpppppppppwwwwwwpppwwwppppppppppppppppppppppppppppppfffppppppppppppppp^^^NNNfffffffffffffff^^^ffffffffffffpppfffffffffffffffffffff^^^^^^^^^fffffffffpppfffffffffffffff^^^fff^^^^^^^^^^^^^^^fffffffffpppffffffpppffffffppp––––––––––––‘‘‘–––   –––   ––––––––––––‘‘‘––––––‘‘‘††††††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘––––––†††wwwwww††††††††††††––––––      –––   –––      ªªªªªªªªª      ªªª   ªªªªªªªªªªªªªªªªªªªªª°°°°°°ªªª°°°¶¶¶°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÁÁÁ¶¶¶ÁÁÁ°°°ªªª–––^^^fff¶¶¶çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççßßß¶¶¶EEE===EEENNNNNN---"""------------"""333===333"""""""""""""""""""""""""""""""""333EEEGGGNNNVVVVVV^^^^^^^^^ffffffffffffffffff^^^fffffffffpppffffff^^^ffffffffffffffffff^^^^^^^^^fffffffffffffffffffffppppppfffppppppfffppppppppppppppppppppppppppppppppppppwwwpppwwwpppppppppfffpppfffppppppppppppppppppppppppppppppppppppppppppppppppppppppfffppppppppppppppppppfff^^^VVV^^^ffffffpppffffffffffffpppfffffffffffffffpppfffffffff^^^fff^^^fffffffffpppfffffffffffffff^^^^^^^^^^^^^^^^^^^^^fff^^^fffffffffffffffffffffffffff–––   –––––––––––––––   –––   ––––––––––––†††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––wwwwww†††††††††‘‘‘––––––   –––   ––––––      ªªªªªªªªª         ªªª   ªªªªªª      ªªªªªª°°°ªªª°°°°°°°°°ªªª°°°°°°¶¶¶¶¶¶°°°°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶°°°¶¶¶¶¶¶°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÁÁÁÇÇÇÇÇÇÁÁÁÁÁÁ°°°ªªª–––^^^fffÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýççç×××–––333EEEGGGNNN333"""""""""---""""""""""""---""""""""""""""""""""""""""""""---===EEENNNVVVVVV^^^^^^^^^^^^^^^fffffffffffffff^^^ffffffffffffpppffffff^^^ffffff^^^fffffffff^^^fffffffffffffffffffffffffffppppppppppppfffpppppppppppppppwwwpppppppppwwwwwwpppwwwpppwwwwwwpppppppppppppppfffpppfffppppppwwwppppppfffppppppppppppppppppfffpppwwwpppppppppfffppppppppppppffffffVVVVVVfffppppppfffffffffffffffffffffppp^^^^^^ffffffffffff^^^fffffffffffffffpppffffffpppffffff^^^fff^^^^^^fff^^^^^^fff^^^ffffffpppfffffffffffffffffffffªªª      ––––––   ––––––            –––‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘––––––pppppp†††††††††‘‘‘‘‘‘––––––         –––         ªªª                  ªªª   ªªª   ªªª   ªªªªªªªªªªªªªªªªªªªªªªªª°°°¶¶¶°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÇÇÇÇÇÇÁÁÁÁÁÁÁÁÁ¶¶¶ªªª–––†††fffpppÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýýýýççç×××ppp------333333"""""""""""""""""""""""""""""""""""""""""""""""""""---333EEEGGGNNNVVV^^^^^^^^^^^^^^^^^^^^^fff^^^ppppppffffff^^^fff^^^fffffffff^^^fffffffffffffff^^^ffffff^^^fffffffffffffffpppffffffpppppppppfffppppppfffpppppppppppppppwwwwwwppppppppppppwwwpppwwwwwwpppppppppffffffpppfffppppppwwwpppppppppppppppwwwpppwwwpppppppppwwwppppppppppppppppppwwwpppffffffVVVVVVfffpppfffpppfffpppfffpppffffffpppfff^^^ffffffffffff^^^fffffffffpppfffpppfffpppfffffffffffffff^^^^^^^^^^^^^^^^^^ffffffffffffffffffffffffpppfffffffff      –––      –––            –––‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––fffpppwww†††††††††‘‘‘–––      –––         –––      ªªª   ªªª                  ªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°¶¶¶°°°ªªª°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶°°°°°°°°°¶¶¶¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÎÎÎÇÇÇÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÁÁÁÁÁÁÁÁÁ°°°   †††pppwwwÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýççç×××^^^---"""---""""""""""""""""""""""""""""""""""""""""""""""""333===EEEGGGVVV^^^^^^^^^^^^^^^fffffffff^^^fffpppfffpppfff^^^^^^fffffffffffffff^^^ffffff^^^fff^^^^^^fffffffffffffffpppfffpppfffpppfffpppfffpppfffpppffffffpppfffpppppppppppppppppppppppppppwwwwwwwwwwwwwwwppppppfffppppppfffppppppwwwwwwwwwppppppwwwwwwpppwwwpppwwwpppwwwpppwwwpppppppppppppppppppppfff^^^NNN^^^fffppppppffffffpppfffffffffffffff^^^^^^fffpppfffffffffffffffpppfffpppffffffpppfffpppfff^^^^^^^^^^^^^^^^^^ffffff^^^^^^fffpppppppppffffffffffffffffff                        ––––––†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘ffffffwww†††††††††‘‘‘‘‘‘––––––––––––                     ªªª   ªªª                     ªªªªªªªªªªªª   ªªª      ªªªªªªªªª°°°ªªªªªªªªªªªª°°°°°°°°°¶¶¶°°°¶¶¶°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁÇÇÇÇÇÇÁÁÁ¶¶¶¶¶¶ÁÁÁÇÇÇÏ££àbbí11õø÷óæ))¾DD}eewwwÎÎÎïïïýýýýýýýýýýýýýýýýýýçççÎÎÎNNN---""""""""""""""""""""""""""""""""""""""""""""""""---333EEEGGGNNNVVV^^^fff^^^ffffff^^^fff^^^fffffffffpppfffpppfff^^^fffffffffffffffffffffffffff^^^^^^fff^^^fff^^^ffffffffffffffffffpppffffffpppfffpppfffffffffppppppppppppppppppppppppppppppfffpppppppppwwwwwwwwwwwwppppppfffppppppfffpppwwwpppwwwppppppwwwwwwwwwwwwppppppwwwwwwpppwwwpppppppppppppppppppppfff^^^VVV^^^fffpppfffpppfffpppffffff^^^fffppp^^^^^^ffffffffffffffffffppppppfffppppppffffffpppfffffffffffffff^^^^^^^^^^^^^^^fffffffffpppffffffpppfffffffffffffff^^^                     –––‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘ppp^^^www†††††††††‘‘‘‘‘‘‘‘‘––––––                              ªªª                     ªªª   ªªª               ªªªªªª°°°ªªª   ªªªªªªªªª°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°ªªª°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶¶¶¶ÁÁÁÁÁÁÇÇÇÁÁÁÁÁÁ¶¶¶ÇÇÇÇÇÇÇÇÇÇÇÇú��ú��ú��ú��ú��ú��ú��ú��ú��ñ		“]]wwwÎÎÎïïïýýýýýýýýýýýýïïïçççÇÇÇEEE"""""""""""""""""""""""""""""""""""""""---333EEEGGGVVVVVV^^^^^^^^^ffffffffffffffffffffffffffffffpppfffpppfff^^^ffffffffffffffffffffffff^^^ffffff^^^fff^^^fff^^^fff^^^fffffffffpppffffffpppfffpppfffffffffffffffpppppppppppppppfffppppppfffpppppppppwwwpppwwwppppppfffppppppffffffpppwwwpppwwwpppppppppwwwppppppwwwpppwwwpppwwwppppppwwwppppppwwwpppfffppp^^^VVV^^^fffpppffffffpppffffffffffffffffff^^^VVVfffffffffffffffppppppfffpppfffpppfffpppffffffffffffffffff^^^fff^^^^^^fff^^^ffffffpppfffppppppfffpppfffpppfffffffff               –––‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††ppp^^^ppp†††www†††‘‘‘‘‘‘––––––––––––––––––   –––               ªªª      ––––––            ªªª         –––      ªªªªªªªªªªªªªªªªªª°°°°°°°°°ªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°ªªª°°°ªªªªªª°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶ÁÁÁÇÇÇÇÇÇÇÇÇÎÎÎÎÎÎð++àxxÕªªÏÇÇØÏÏ×¢¢í00ú��ú��ú��åwwwÎÎÎïïïýýýýýýýýýïïïççç°°°===---"""""""""""""""""""""""""""""""""---===EEENNNVVV^^^^^^^^^^^^ffffffffffffffffffffffff^^^ffffffpppfffffffff^^^fff^^^ffffffffffff^^^ffffffffffff^^^fff^^^^^^^^^fffffffffffffffffffffffffffpppffffffffffffffffffpppppppppppppppppppppppppppfffppppppppppppppppppppppppppppppffffffpppppppppwwwpppppppppwwwppppppwwwpppwwwwwwwwwppppppwwwppppppwwwpppppppppfffVVVVVVfffpppfffppppppfffffffffffffffffffffVVVfffffffffffffffpppppppppffffffffffffffffffpppfffpppfff^^^^^^^^^^^^^^^^^^ffffffffffffpppffffffppppppffffffffffff^^^fff         –––‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘†††ppp^^^ppp†††††††††‘‘‘––––––––––––‘‘‘‘‘‘––––––                                             ªªª         –––   ªªªªªªªªªªªªªªªªªª°°°°°°°°°ªªª°°°ªªª°°°ªªªªªª°°°°°°°°°°°°ªªªªªª°°°ªªªªªªªªª°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶°°°°°°°°°¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁÇÇÇÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎ×××ÎÎÎ××××××ÎÎÎÎÎÎÒ··ú��ú��ú��÷ªªªÎÎÎïïïýýýýýýïïï×××ú��ú��"""""""""""""""""""""""""""---333===GGGVVV^^^^^^ffffffffffff^^^ffffffppppppffffff^^^ffffffffffffpppffffff^^^^^^^^^ffffffffffff^^^ffffffffffffffffffffffff^^^fffffffffffffffffffffffffffpppffffffppppppfffppppppppppppppppppppppppppppppppppppppppppppppppfffppppppppppppffffffpppwwwpppppppppppppppwwwppppppppppppppppppwwwpppwwwpppppppppwwwpppppppppfff^^^NNN^^^fffpppfffffffffffffffffffffffffff^^^^^^fffffffffpppppppppffffffpppffffffpppffffff^^^ffffffffffff^^^^^^^^^^^^ffffffffffffpppfffpppfffpppffffffffffffffffff^^^   –––‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††www^^^fffwwwwwwwww†††‘‘‘‘‘‘––––––––––––‘‘‘†††–––––––––         –––   –––––––––   –––   ªªª   ªªª                  ªªªªªªªªªªªªªªªªªª°°°°°°°°°ªªªªªªªªªªªªªªªªªªªªª°°°ªªª°°°ªªªªªªªªªªªªªªª°°°°°°°°°¶¶¶°°°°°°°°°¶¶¶°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°°°°¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁ°°°¶¶¶ÁÁÁÇÇÇÇÇÇÎÎÎÎÎÎ×××ÎÎÎ×××ÎÎÎ×××××××××ÎÎÎÎÎÎÚÂÂú��ú��ú��ð%%¶¶¶ªªªwwwÇÇÇïïïýýýïïï×××ú��ú��"""""""""""""""""""""---===EEENNNVVV^^^ffffffffffffffffffffffffppppppfffffffffffffffffffffppppppfff^^^fff^^^fffffffff^^^fffffffff^^^fffffffffffffffffffff^^^^^^fffffffffffffffffffffffffffppppppfffpppppppppfffppppppfffpppfffpppfffpppfffpppppppppppppppppppppppppppffffffppppppwwwpppppppppppppppppppppppppppppppppwwwwwwppppppppppppppppppppppppfff^^^VVV^^^fffpppfffpppfffffffffffffffpppffffff^^^ffffffffffffppppppppppppfffffffffffffff^^^VVV^^^fffffffff^^^fff^^^^^^fff^^^fffpppfffpppffffffpppfffpppfffffffffffffff^^^‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘www^^^fffwww†††wwwwww†††‘‘‘‘‘‘‘‘‘–––‘‘‘–––‘‘‘‘‘‘–––––––––            ––––––––––––            ªªª            –––         ªªª   ªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎ×××××××××××××××××××ÔÔÛ··ïBBú��ú��÷		Ù™™ÇÇǶ¶¶   ÁÁÁïïïïïïÎÎÎú��ú��"""""""""""""""---333EEEGGGVVVVVV^^^fffffffffpppfffffffffffffffpppfffpppfffffffffffffffpppfffpppfffffffff^^^fffffffffffffff^^^fff^^^ffffff^^^fffffffff^^^^^^fffffffffpppfffffffff^^^fffffffffpppppppppfffppppppfffpppppppppfffpppfffppppppppppppwwwppppppppppppppppppffffffppppppwwwpppwwwpppppppppwwwpppppppppppppppwwwpppppppppppppppwwwppppppfffffffffVVVVVV^^^pppppppppfffpppffffffffffffffffff^^^fffffffffpppfffpppffffffffffffpppfffffffffNNNGGGffffffffffff^^^^^^fff^^^ffffffpppfffpppppppppfffpppfffpppfffffffffpppfff^^^†††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘www^^^^^^www†††wwwwww††††††‘‘‘‘‘‘‘‘‘––––––––––––––––––   ––––––   –––––––––   –––                        –––            ªªªªªª   ªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶°°°ÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎÎÎÎ×××××××××××××××ú��ú��ú��ú��ùëYYÚ¼¼×××ÎÎÎÇÇÇÁÁÁªªª†††ÁÁÁßßßÁÁÁú��ú��"""---333===GGGNNNVVV^^^^^^ffffff^^^fffffffffpppfffpppfffpppfffffffffffffffpppffffffpppfffpppfffffffffffffffffffff^^^fff^^^fff^^^^^^fff^^^fff^^^fffffffffffffffffffff^^^^^^fffffffffffffffffffffpppfffpppfffpppfffpppppppppfffpppppppppppppppppppppfffpppppppppfffffffffpppppppppwwwpppppppppppppppwwwpppppppppppppppwwwpppwwwppppppppppppfffpppfffVVVVVVfffpppfffpppffffffffffffffffffpppfff^^^^^^pppfffpppfffpppfffpppfffpppfffpppffffffVVVNNNVVVfffpppffffff^^^fff^^^fffffffffffffffpppfffpppfffpppfffpppffffff^^^fffffffff†††‘‘‘†††‘‘‘‘‘‘†††fff^^^ppp†††wwwwww††††††‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––––––––   –––   ––––––   ––––––                        –––      ªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªªªªªªªªªªªªªª°°°°°°°°°ªªª°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶°°°¶¶¶ÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ×××ÎÎÎ×××ú��ú��ú��ú��ú��øèhh×ÖÖ××××××ÎÎÎÇÇǰ°°†††ppp°°°†††ú��ú��333333EEENNNVVV^^^^^^fffpppfffffffffffffffffffffppppppfffpppffffffpppffffffffffffpppfffpppffffff^^^^^^ffffffffffffffffff^^^fff^^^fff^^^fff^^^^^^ffffffffffffffffff^^^^^^fff^^^ffffffpppfffpppfffpppfffppppppfffppppppfffpppfffppppppfffpppfffpppfffppppppfffpppfffffffffpppwwwpppwwwppppppwwwppppppwwwpppwwwfffppppppppppppppppppppppppfffpppffffffVVVVVV^^^pppfffppppppffffffffffffppppppfff^^^^^^fffffffffppppppfffpppfffpppfffpppffffff^^^VVVVVVfffffffffppp^^^^^^fff^^^ffffffffffffpppffffffpppfffpppfffpppfff^^^fffffffff^^^‘‘‘‘‘‘‘‘‘††††††ppp^^^ppp†††www††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––   –––   –––––––––––––––                     –––         ªªªªªªªªª   ªªªªªª   ªªªªªª   ªªªªªªªªªªªª°°°ªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶°°°¶¶¶ÁÁÁ¶¶¶ÁÁÁÇÇÇÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ××××××××××ÑÑÞ©©ó((ú��ú��ú��æxxßßß××××××ÎÎÎú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ffffffppppppffffffffffffffffffffffffpppfffffffffffffffpppfffpppfffpppfffffffff^^^ffffff^^^ffffff^^^fff^^^^^^fff^^^fff^^^^^^^^^fffffffffffffffffffffffffff^^^fffpppfffpppffffffpppppppppfffpppppppppfffpppfffppppppppppppppppppppppppfffpppppppppffffffppppppppppppwwwpppppppppppppppppppppfffppppppppppppppppppppppppppppppffffffVVVNNN^^^pppppppppfffpppfffpppffffffpppfff^^^^^^fffffffffpppffffffffffffppppppffffffpppfffNNNVVV^^^fffpppfffffffffffffff^^^^^^fffffffffpppfffffffffpppffffffffffffffffffffffff^^^‘‘‘‘‘‘†††www^^^fffwwwwwwwwwwww†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––   –––   ‘‘‘–––––––––         ªªª            –––         ªªªªªª   ªªªªªªªªªªªªªªª   ªªª   ªªªªªª°°°°°°ªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶°°°°°°°°°ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÇÇÇÎÎÎÇÇÇÎÎÎÎÎÎ××××××××××××××××××ݬ¬ú��ú��ú��ö!!××××××ÎÎÎÇÇÇú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��fffpppfffpppfffpppffffffffffffpppfffpppfffffffffpppfffffffffpppfffpppffffffffffff^^^ffffff^^^fff^^^^^^^^^fffffffff^^^^^^^^^^^^ffffffffffffffffff^^^fffffffffpppfffpppfffpppffffffpppfffpppfffpppppppppfffppppppppppppppppppffffffpppfffppppppffffffppppppwwwwwwpppppppppwwwppppppppppppppppppppppppppppppppppppppppppfffffffffVVVVVV^^^fffpppfffpppffffffpppffffffpppfff^^^^^^fffffffffpppfffpppfffpppfffpppffffffpppfffVVVNNN^^^pppfffpppfffffffff^^^^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffff^^^^^^†††www^^^fffwwwwwwwwwwwwwwwwww††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––––––––––––––––––––                     –––               ªªª   ªªªªªªªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ°°°°°°°°°¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÁÁÁÇÇÇÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎÇÇÇÎÎÎ×××××רÏÏú��ú��ú��ø×××ÇÇÇÇÇÇÁÁÁÁÁÁ¶¶¶¶¶¶ªªª‘‘‘ú��ú��††††††wwwwwwwwwpppppppppfffpppfffpppppppppfffppppppppppppppppppfffffffffffffffffffff^^^fff^^^^^^fffffffff^^^fff^^^^^^^^^^^^ffffffffffff^^^^^^ffffffpppfffffffffffffffpppffffffppppppffffffpppfffpppfffpppppppppppppppfffpppppppppppppppfffffffffpppppppppwwwppppppppppppppppppppppppppppppppppppfffppppppppppppppppppfffpppVVVVVVVVVfffpppfffpppfffpppfffffffffffffff^^^^^^fff^^^ppppppfffffffffppppppppppppfffpppppp^^^GGGVVVfffppppppfffpppfffffffffffffffffffff^^^ffffffffffffffffffffffffffffff^^^fff^^^fff^^^^^^^^^pppwwwwwwwwwwwwwwwwww†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––––––––               –––   ––––––   –––      ªªª   ªªª   ªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°ªªª°°°°°°ªªª°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶°°°¶¶¶¶¶¶°°°°°°ªªª°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎÎÎÎÞ¥¥ú��ú��ú��ôÇÇÇÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶°°°ªªª–––ú��ú��†††††††††††††††††††††††††††wwwwwwpppwwwwwwwwwwwwppppppppppppppppppfffpppfffpppfffpppfffpppfff^^^fff^^^fffffffffffffffffffffffffffffffffpppfffffffffffffffpppfffpppffffffffffffpppfffpppfffpppppppppfffppppppppppppppppppppppppfffpppfffpppfffffffffpppppppppppppppfffpppppppppfffwwwppppppfffwwwppppppppppppppppppppppppfffpppVVVVVV^^^fffpppppppppfffpppfffffffffpppppp^^^^^^ffffffffffffpppffffffffffffpppwwwppppppppppppNNNGGGfffpppffffffpppfffffffffffffffffffffffffffpppfffffffffffffffffffffffffffffffff^^^^^^^^^wwwwwwwwwwwwwwwwwwwwwwww††††††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––   ‘‘‘‘‘‘‘‘‘–––––––––   –––   –––––––––––––––   –––   ªªª         ªªª   ªªª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª   ªªªªªª°°°°°°°°°°°°°°°ªªªªªª°°°°°°°°°¶¶¶¶¶¶°°°¶¶¶°°°°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶ÁÁÁÇÇÇÁÁÁÇÇÇÁÁÁÁÁÁî++ÛvvΨ¨ÈÁÁÐÂÂÚ““ôú��ú��ú��Ý__ÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶°°°ªªª–––ú��ú��†††‘‘‘††††††‘‘‘‘‘‘‘‘‘†††††††††www†††wwwwwwwwwwwwwwwwwwppppppppppppppppppppppppfffffffffffffffffffffffffffpppfffffffffppppppppppppffffffpppfffpppffffffpppfffppppppppppppppppppfffpppfffppppppppppppppppppwwwwwwfffpppppppppffffffffffffppppppppppppppppppfffppppppppppppfffppppppwwwppppppppppppppppppppppppppp^^^NNN^^^fffppppppfffpppfffpppfffffffffpppfff^^^ffffffffffffpppfffffffffffffffpppfffppppppwww^^^GGG^^^pppfffffffffpppffffff^^^ffffffffffffppppppffffffffffffpppfffffffffffffff^^^ffffffffffffwwwwwwwwwwwwwwwwwwwwwwww††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––‘‘‘‘‘‘––––––‘‘‘––––––––––––––––––––––––                     ªªª         ªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªª   ªªªªªª°°°°°°°°°°°°ªªª°°°ªªª°°°°°°°°°°°°¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶°°°°°°ªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶ªªª°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁú��ú��ú��ú��ú��ú��ú��ú��ú��è<<·±±ÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶°°°ªªª   –––ú��ú��‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††††††††www†††††††††††††††††††††††††††wwwwwwwwwwwwwwwpppwwwwwwppppppwwwpppwwwpppwwwpppfffpppfffpppppppppfffppppppfffpppppppppppppppppppppfffppppppppppppppppppppppppppppppppppppwwwwwwwwwwwwppppppppppppppppppffffffppppppppppppppppppppppppppppppppppppfffppppppwwwpppwwwppppppwwwppppppfffppp^^^NNNVVVfffwwwpppfffppppppfffpppfffppppppffffffffffffffffffffffffffffffpppffffffffffffpppwwwfffNNN^^^pppfffpppfffppppppffffffffffffffffffpppppppppffffffpppfffffffffffffffffffff^^^fff^^^ffffffwwwwwwwwwwwwwwwwww†††††††††‘‘‘†††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘––––––––––––––––––––––––‘‘‘–––––––––   –––––––––––––––                  ªªª   ªªª   ªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªªªªªªªª°°°°°°°°°°°°¶¶¶¶¶¶°°°°°°°°°°°°¶¶¶°°°ªªª   ªªª°°°°°°ªªª°°°ªªªªªª°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁË››ßXXï))öù÷		òåEEщ‰¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶¶¶¶°°°ªªª   –––ú��ú��‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††www†††‘‘‘†††††††††††††††††††††††††††wwwwwwwwwwwwwwwpppwwwwwwpppppppppfffppppppwwwpppppppppfffpppppppppppppppppppppppppppwwwpppppppppppppppwwwppppppppppppwwwwwwwwwwwwppppppppppppppppppfffpppppppppppppppppppppppppppppppppppppppfffppppppwwwwwwpppppppppwwwpppppppppppp^^^NNNNNNfffppppppppppppfffpppfffpppfffpppffffffffffffffffffppppppffffffpppfffffffffffffffppp^^^GGGVVVfffppppppfffppppppffffffffffffppppppfffppppppfff^^^fffppppppfffffffffffffffVVV^^^^^^^^^fff^^^wwwwwwwww†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘––––––––––––––––––‘‘‘––––––––––––––––––––––––‘‘‘––––––            –––            ªªª      ªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°¶¶¶°°°°°°°°°ªªª°°°°°°°°°ªªªªªª°°°°°°ªªª°°°ªªª         °°°ªªª°°°°°°ªªª°°°°°°°°°°°°°°°ªªª°°°°°°°°°°°°¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÁÁÁÁÁÁ¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶°°°ªªªªªª   –––––––––––––––‘‘‘‘‘‘†††‘‘‘††††††††††††‘‘‘†††‘‘‘†††††††††‘‘‘‘‘‘††††††††††††††††††††††††wwwwwwpppwwwwwwpppwwwwwwwwwwwwwwwpppwwwpppppppppwwwppppppwwwwwwwwwwwwwwwpppwwwpppwwwwwwwwwpppppppppwwwwwwwwwwwwwwwpppwwwpppwwwwwwppppppppppppwwwppppppwwwwwwwwwpppppppppwwwppppppppppppwwwwwwppppppwwwppppppppppppffffffVVVNNNfffwwwppppppfffpppppppppfffppppppppppppfffpppffffffpppfffpppfffffffffffffffffffffffffffGGGEEE^^^ppppppfffpppfffffffffffffffffffffpppfffpppffffff^^^pppffffffppppppfffffffffVVV^^^ffffff^^^fffpppwww††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––‘‘‘–––––––––––––––   –––––––––‘‘‘––––––––––––   ––––––   –––   –––            ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°ªªªªªª°°°°°°°°°°°°°°°°°°ªªªªªª°°°ªªª      °°°°°°ªªª°°°°°°°°°ªªªªªªªªªªªª   ªªªªªª°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°ªªª         ––––––––––––‘‘‘††††††‘‘‘††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘†††††††††www†††wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwppppppfffpppwwwpppwwwwwwwwwwwwwwwpppwwwwwwpppppppppwwwwwwwwwwwwwwwwwwwwwwwwppppppfffVVVVVVfffpppppppppppppppppppppfffpppppppppppppppfffppppppfffppppppfffpppfffffffff^^^fffppppppVVV===GGGfffpppfffpppppppppfff^^^fffffffffpppfffffffffpppfffffffffffffffffffffffffff^^^^^^^^^ffffffffffff††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––––––––‘‘‘‘‘‘‘‘‘–––––––––   –––   ––––––   –––   –––      ªªª°°°°°°ªªªªªªªªª   ªªªªªªªªªªªªªªªªªª   ªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°ªªªªªªªªªªªª°°°°°°ªªª°°°ªªªªªªªªªªªª   ªªª°°°°°°°°°°°°¶¶¶°°°ªªª–––†††–––ªªªªªªªªª°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ªªªªªªªªª            –––‘‘‘†††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘‘‘‘†††††††††††††††‘‘‘††††††††††††††††††††††††††††††wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppppppppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwppppppwwwwwwwwwwwwwwwwwwwwwpppppp^^^VVV^^^pppwwwpppppppppwwwpppppppppppppppppppppppppppfffppppppffffffpppppppppffffffffffffppp^^^EEEEEEfffpppfffffffffpppfff^^^ffffffpppffffffffffffpppfff^^^fffppppppfffffffffffffffffffff^^^fff^^^ffffff††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘––––––––––––––––––‘‘‘‘‘‘–––––––––   –––   –––   –––            ªªªªªªªªªªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°ªªª°°°ªªªªªªªªªªªª°°°°°°°°°°°°ªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°–––†††‘‘‘ªªª°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶°°°¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁ¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°ªªªªªª         ––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘††††††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††‘‘‘–––‘‘‘†††www††††††wwwwwwwwwwwwwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppppp^^^VVV^^^ppppppwwwpppwwwwwwppppppppppppwwwpppfffpppfffpppfffpppppppppppppppfffpppffffffppppppfffGGG===^^^pppfffffffffppppppfff^^^ffffffffffffffffffffffffffffffffffffppppppfffffffffpppfffffffffffffffffffff†††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘–––‘‘‘–––‘‘‘–––––––––‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––   –––––––––   ––––––   ªªªªªªªªª   ªªª   ªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°ªªª°°°°°°°°°°°°ªªªªªªªªªªªª°°°°°°ªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°ªªªªªª   †††www†††–––ªªª°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°°°°¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°ªªªªªªªªª      ªªª   ––––––––––––‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††–––‘‘‘†††††††††††††††††††††††††††wwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppVVVVVVpppwwwwwwwwwwwwpppwwwppppppwwwwwwwwwpppppppppppppppppppppfffpppppppppppp^^^fffppppppwwwVVV===VVVppppppfffpppppppppfff^^^fff^^^^^^^^^^^^NNN^^^fffffffff^^^^^^pppfffffffffffffffppppppffffffpppppppppppp‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘–––––––––‘‘‘–––––––––   –––   –––      ªªªªªª   ªªªªªªªªª            ªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°ªªªªªªªªªªªªªªªªªªªªª°°°ªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°   †††fffwww‘‘‘   °°°ªªª°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°¶¶¶°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶¶¶¶°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶°°°¶¶¶°°°°°°ªªªªªªªªª°°°ªªªªªª   –––   ––––––   –––––––––‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwww†††www†††wwwwwwwwwwwwwwwwwwpppVVVVVVpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwppppppwwwppppppwwwppppppfffppppppfff^^^ppppppwwwpppGGGNNNpppwwwppppppwwwpppppp^^^^^^^^^^^^fffffffff^^^fffffffffffffffffffffppppppffffffpppfffpppppppppfffppppppppp†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––––––––––––––   –––      ªªªªªª                  ªªª   ªªªªªª   ªªª   ªªªªªªªªªªªª°°°ªªªªªª°°°ªªª°°°°°°°°°ªªª°°°°°°   ªªª   ªªªªªªªªª°°°ªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°†††fff^^^–––ªªª°°°ªªª°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ°°°¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°°°°°°°¶¶¶°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°°°°ªªªªªª   ªªª      –––         –––   –––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††www††††††††††††††††††††††††wwwwwwwwwppp^^^VVVpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppwwwpppwwwwwwwwwppppppppppppppp^^^fffwwwwwwwwwfffVVVppppppwwwwwwpppwwwwwwfff^^^^^^^^^ffffffffffffppppppppp^^^fffffffffffffffffffffffffffffffffpppfffpppppppppppp‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘–––‘‘‘–––––––––––––––‘‘‘–––         ªªªªªªªªª            ªªª               ªªª   ªªªªªªªªªªªªªªª°°°ªªª°°°ªªª°°°°°°ªªªªªª°°°ªªªªªª      ªªªªªªªªªªªªªªª      ªªªªªª°°°°°°°°°ªªªªªª‘‘‘ppp^^^fff‘‘‘   ªªª°°°ªªª°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶°°°°°°°°°ªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°ªªªªªªªªª      –––               –––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘††††††‘‘‘††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘††††††††††††‘‘‘††††††‘‘‘††††††††††††††††††††††††‘‘‘‘‘‘††††††††††††††††††††††††wwwwwwfffVVVfffwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww†††pppppppppppp^^^fffwwwwwwwwwpppffffffwwwpppwwwwwwwwwwwwffffff^^^^^^^^^ffffff^^^fffpppfffffffffffffffffffffffffff^^^^^^fffpppfffffffffpppfffpppppp‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––‘‘‘–––––––––‘‘‘––––––      ªªª   ªªª            ªªª            ªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°ªªªªªªªªªªªªªªªªªª   ªªª         ––––––‘‘‘–––ªªªªªª°°°°°°°°°°°°–––wwwVVVVVVwww   ªªª°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°°°°°°°°°°°°°¶¶¶°°°°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°°°°¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶°°°ªªª°°°°°°°°°ªªª°°°°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°ªªªªªª      –––            ––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††‘‘‘†††‘‘‘††††††††††††‘‘‘†††††††††‘‘‘†††††††††††††††‘‘‘†††††††††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††www^^^fffwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppppppppfff^^^wwwwwwfffpppppppppwwwwwwwwwwwwpppfffVVVVVV^^^^^^VVV^^^fffffffff^^^fffffffffpppfffffffffffffffpppfffpppffffffffffffppppppppp‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘‘‘‘–––––––––‘‘‘––––––––––––            ªªª   ªªª      ªªª            ªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªªªªªªªª               –––‘‘‘†††–––   °°°°°°°°°°°°ªªªVVVNNNfff†††   ªªªªªª°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°¶¶¶¶¶¶°°°°°°¶¶¶°°°°°°ªªªªªª°°°ªªª°°°°°°°°°ªªª°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°°°°ªªªªªª         ªªª            –––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††††††††‘‘‘††††††††††††‘‘‘‘‘‘††††††††††††††††††‘‘‘††††††††††††‘‘‘††††††††††††‘‘‘†††††††††††††††††††††‘‘‘†††††††††††††††wwwwww†††‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††††††††‘‘‘‘‘‘††††††††††††††††††††††††wwwppp†††wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppwwwwwwpppfffwwwwwwpppppppppwwwwwwwwwwwwwwwppp^^^VVV^^^^^^^^^^^^^^^^^^ffffff^^^^^^fffffffff^^^ffffffffffffpppffffffppp^^^ffffffppppppppp††††††‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘––––––––––––   –––                                 ªªªªªªªªªªªªªªªªªªªªªªªª         ªªª   ªªªªªªªªªªªªªªªªªª   –––––––––†††wwwffffffwww‘‘‘ªªªªªª°°°°°°ªªª–––fffVVV^^^–––   ªªª°°°°°°°°°°°°°°°¶¶¶°°°°°°¶¶¶°°°°°°¶¶¶°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶¶¶¶°°°°°°°°°ªªªªªª°°°ªªª°°°°°°ªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°ªªªªªª      ªªªªªª         –––––––––‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††‘‘‘††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††††††††††††††‘‘‘††††††††††††††††††††††††††††††††††††www†††‘‘‘†††‘‘‘††††††††††††‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘†††††††††pppwww†††††††††wwwwwwwwwwwwwwwwwwfff^^^wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwffffffpppfffffffff^^^fff^^^ffffff^^^fff^^^VVV^^^^^^^^^ffffffffffffffffffppp^^^fffppppppffffff†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––   –––                        ªªªªªª         ªªªªªªªªªªªªªªªªªª                        ªªªªªªªªªªªªªªª–––‘‘‘†††ppp^^^VVV^^^www   ªªªªªª°°°°°°   www^^^^^^www‘‘‘   ªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶°°°°°°°°°¶¶¶°°°°°°¶¶¶¶¶¶°°°ªªªªªªªªª°°°ªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°ªªª°°°°°°°°°°°°°°°°°°°°°ªªªªªªªªª   ªªª            –––   –––‘‘‘––––––––––––‘‘‘‘‘‘††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††††††††††††††††††††‘‘‘†††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘‘‘‘†††‘‘‘†††wwwwww†††††††††††††††wwwwwwwwwwwwwwwVVVNNNwwwwwwwwwwwwwwwwww†††wwwfffppppppwwwpppppppppfffffffffffffffffffff^^^^^^^^^^^^^^^ffffffffffffffffffffffffpppppppppfff††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘––––––            –––                        ªªª   ªªªªªªªªªªªªªªª   ªªª   –––      ªªª   ªªªªªª            †††pppfff^^^NNNVVVfff†††   °°°ªªª°°°   †††fffVVVppp‘‘‘      ªªªªªªªªªªªª°°°°°°°°°°°°ªªª°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°°°°°°°¶¶¶°°°¶¶¶ªªªªªªªªªªªª°°°ªªªªªªªªªªªªªªªªªª°°°ªªªªªªªªªªªª°°°ªªªªªªªªª°°°°°°°°°°°°ªªª°°°ªªªªªªªªª               –––   ––––––   –––––––––‘‘‘†††‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††www††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††www†††‘‘‘†††‘‘‘††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††††††††www†††††††††††††††wwwwwwwwwwwwwwwwwwGGGGGGwwwwwwwwwwwwwwwwwwwwwwww†††wwwpppwww†††‘‘‘††††††wwwwwwwwwffffffffffff^^^^^^VVV^^^^^^^^^fffppppppfffpppffffffpppfffpppffffff‘‘‘††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––      –––   –––                        ªªªªªªªªªªªªªªªªªªªªª               ªªªªªªªªªªªªªªª            †††wwwfff^^^VVVVVVNNNNNNppp‘‘‘ªªª°°°°°°   †††ppp^^^fff†††   ªªªªªªªªªªªªªªªªªª°°°°°°ªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°ªªª°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶°°°¶¶¶ªªª   °°°ªªªªªª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°ªªª°°°ªªª°°°ªªªªªªªªªªªªªªª   –––      ––––––   –––––––––‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘††††††††††††††††††‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††‘‘‘‘‘‘††††††‘‘‘††††††††††††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††wwwwwwpppGGGEEEpppwwwwwwwwwwwwwwwwww†††††††††††††††‘‘‘–––––––––‘‘‘††††††wwwwwwwwwpppfff^^^VVVVVVVVV^^^^^^fffffffffpppffffffppppppppppppfff†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘––––––   –––                           ªªªªªªªªªªªª   ªªªªªª   ªªª               ªªª            –––   †††www^^^NNNVVVVVVNNNNNNVVV   ªªªªªªªªª‘‘‘ppp^^^^^^www‘‘‘   ªªªªªªªªªªªªªªªªªªªªª°°°°°°ªªª°°°ªªªªªªªªª°°°°°°°°°°°°ªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶°°°ªªªªªªªªªªªª°°°ªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªª   ªªªªªª°°°ªªª°°°°°°ªªª°°°°°°ªªªªªª   ªªª            ––––––      –––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘‘‘‘†††††††††††††††‘‘‘†††‘‘‘††††††††††††††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘††††††††††††wwwwwwwww†††www^^^NNNfffpppwww‘‘‘–––‘‘‘‘‘‘–––      ––––––‘‘‘††††††wwwwwwfff^^^^^^VVV^^^VVV^^^ffffffffffffpppfffpppfffppp^^^^^^††††††‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘––––––      –––   –––            ªªª      ªªªªªªªªªªªª   ªªªªªª         ªªª      ªªª         ––––––‘‘‘www^^^VVVNNNNNNNNNNNNNNNfff‘‘‘   ªªªªªª–––^^^^^^ppp†††–––   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªª°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°°°°ªªªªªªªªªªªªªªªªªªªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªª°°°ªªª°°°°°°°°°°°°ªªªªªª            –––   –––      ––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––††††††††††††††††††‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††††††††www††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘‘‘‘†††††††††‘‘‘††††††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††††††††wwwwww††††††wwwffffffpppwwwwww††††††††††††–––   ––––––            ––––––‘‘‘††††††††††††wwwfff^^^^^^^^^^^^^^^^^^^^^ffffffpppppppppffffffffffff‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––   ––––––   –––                                       ªªª   ªªªªªªªªªªªª   ªªª      –––––––––‘‘‘www^^^NNNNNNNNNNNNNNNNNNVVV–––ªªªªªª–––†††fff^^^ppp†††–––               ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªª°°°ªªª°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°ªªªªªªªªªªªªªªªªªªªªªªªª   ªªªªªªªªªªªª°°°ªªªªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª      –––   –––   ––––––         –––‘‘‘–––‘‘‘–––‘‘‘–––‘‘‘††††††††††††‘‘‘‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††www††††††‘‘‘‘‘‘‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘††††††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘‘‘‘‘‘‘www††††††††††††wwwwwwwwwwww†††††††††††††††‘‘‘–––               ªªª      –––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††ppppppfffffffff^^^^^^VVV^^^fffpppfffpppppp^^^^^^^^^††††††‘‘‘†††‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘––––––   –––   ––––––                                                      ªªª         –––––––––‘‘‘www^^^NNNGGGNNNNNNNNNNNNNNN^^^‘‘‘   ªªª   †††ppp^^^fff‘‘‘–––            ªªªªªªªªª   ªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°°°°ªªªªªªªªª°°°ªªªªªª   ªªªªªªªªª   ªªªªªªªªªªªªªªªªªª   ªªªªªªªªª   ªªª   ªªª   ªªªªªªªªªªªª   ªªª   –––                        ‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††www††††††–––‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘–––‘‘‘††††††‘‘‘††††††‘‘‘†††††††††‘‘‘†††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††www††††††‘‘‘††††††††††††‘‘‘‘‘‘––––––ªªª                  –––––––––‘‘‘–––‘‘‘††††††wwwwwwffffff^^^^^^^^^ffffffpppppppppffffff^^^^^^‘‘‘†††‘‘‘†††††††††††††††‘‘‘†††‘‘‘‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––   –––   –––   –––               ––––––                           ªªª      ªªª   ––––––†††www^^^NNNGGGNNNVVVNNNNNNNNNVVVwww–––   ªªª‘‘‘ppp^^^^^^www‘‘‘‘‘‘–––         –––   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°ªªªªªªªªª°°°ªªª   ªªªªªª   ªªªªªªªªª   ªªªªªªªªªªªª   ªªªªªªªªªªªªªªªªªª   ªªªªªª   ªªªªªªªªªªªª         –––   –––         ––––––––––––––––––‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††††††††††††††††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††www‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘‘‘‘†††††††††‘‘‘†††‘‘‘††††††††††††‘‘‘†††††††††‘‘‘†††††††††‘‘‘††††††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††‘‘‘††††††††††††‘‘‘‘‘‘‘‘‘www†††      ªªª                  ––––––––––––‘‘‘‘‘‘‘‘‘wwwwwwppp^^^^^^fffffffffwwwpppffffffffffff^^^†††‘‘‘†††††††††††††††‘‘‘‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––               –––         –––––––––      ªªª                     ªªª      ––––––†††wwwfffNNNGGGNNNVVVVVVNNNNNNNNNfff‘‘‘      –––^^^VVVfff†††‘‘‘–––––––––   –––         ªªªªªª   ªªªªªªªªª      ªªªªªª      ªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°ªªªªªªªªªªªªªªª      ªªªªªªªªªªªªªªª   ªªª   ªªª         ªªªªªª   ªªªªªª   ªªªªªª   ªªªªªªªªªªªª            –––            ––––––––––––‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘†††‘‘‘††††††††††††‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘††††††††††††††††††‘‘‘†††‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††‘‘‘†††‘‘‘††††††††††††††††††††††††‘‘‘††††††††††††††††††††††††††††††‘‘‘‘‘‘––––––www†††      ªªªªªª   ªªª   –––––––––––––––‘‘‘––––––‘‘‘‘‘‘†††‘‘‘†††wwwppppppffffffppppppwwwfff^^^fffffffff†††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘–––––––––      –––                                       ªªª               ªªª         –––‘‘‘wwwfffNNNGGGNNNNNNNNNVVVNNNNNN^^^www–––ªªª   †††ppp^^^fffwww‘‘‘‘‘‘–––   ––––––   –––         ªªªªªªªªª   ªªªªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªª°°°ªªª°°°ªªª°°°°°°°°°°°°°°°°°°ªªªªªªªªªªªªªªªªªª   ªªªªªª      ªªª   ªªªªªª         –––   ªªªªªªªªªªªª            ªªª   ªªªªªªªªªªªª      –––         ªªª   ––––––––––––––––––––––––‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘††††††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††www‘‘‘‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††††††††††††††††††††††††††‘‘‘†††‘‘‘††††††††††††‘‘‘‘‘‘‘‘‘†††‘‘‘††††††††††††††††††††††††‘‘‘††††††††††††‘‘‘–––         –––   –––   ªªªªªªªªª   ªªª   –––   ––––––‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘wwwpppppppppwwwpppfff^^^fffffffff††††††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––   –––   –––                                                                  –––‘‘‘wwwfffNNNGGGGGGNNNNNNNNNVVVNNNVVVppp‘‘‘      ‘‘‘wwwfffppp†††–––––––––      –––   –––      –––      ªªªªªªªªªªªªªªªªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªª°°°°°°°°°°°°°°°ªªªªªªªªªªªªªªªªªªªªª   ªªª         ªªªªªªªªªªªªªªª         ªªªªªª   ªªª   ªªª         ªªªªªªªªª                     ªªªªªªªªª      –––   ––––––   ––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††‘‘‘††††††††††††††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††www†††‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘††††††††††††‘‘‘††††††‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘††††††‘‘‘††††††††††††‘‘‘‘‘‘††††††††††††††††††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘–––         ªªª               ªªªªªªªªª      –––   –––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††wwwpppwwwwwwpppfffffffffffffff†††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘‘‘‘‘‘‘–––––––––   –––   –––               –––                                             –––‘‘‘fffNNNGGGGGGNNNVVVVVVVVVNNNNNN^^^–––ªªª   †††pppfff–––   ªªªªªªªªª   –––                  ªªªªªªªªªªªªªªªªªªªªªªªª   ªªª   ªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°ªªª°°°°°°ªªªªªªªªªªªª°°°ªªªªªªªªª               ªªªªªª                  ªªªªªªªªªªªªªªªªªª         ªªªªªª   ªªªªªªªªª   ªªª            ªªª   ––––––––––––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††††††††‘‘‘††††††‘‘‘†††‘‘‘†††††††††††††††††††††wwwwww‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††††††††‘‘‘†††‘‘‘††††††††††††‘‘‘†††‘‘‘††††††‘‘‘‘‘‘‘‘‘†††††††††††††††‘‘‘††††††‘‘‘††††††††††††‘‘‘†††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††––––––            ªªª            –––               –––   ––––––––––––‘‘‘www††††††wwwwwwwwwwwwpppfffpppffffff^^^^^^††††††‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘––––––––––––   –––               –––   –––   –––                                 ––––––‘‘‘pppVVVGGGGGGNNNVVVVVVVVVVVVNNNVVVppp‘‘‘   ªªª‘‘‘ppp‘‘‘–––   °°°°°°               ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª      ªªªªªªªªªªªª   ªªªªªªªªªªªª°°°ªªªªªª°°°°°°°°°°°°ªªªªªªªªªªªªªªª°°°ªªªªªª      ªªª         ªªªªªªªªªªªª         °°°ªªªªªªªªªªªªªªª   ªªªªªªªªªªªª   ªªªªªª   ªªª         ªªªªªªªªª         –––   –––   –––––––––‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘–––‘‘‘‘‘‘††††††‘‘‘‘‘‘‘‘‘†††‘‘‘††††††††††††††††††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††††††††www†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘†††‘‘‘†††‘‘‘–––‘‘‘†††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††‘‘‘†††††††††‘‘‘††††††‘‘‘††††††††††††‘‘‘†††‘‘‘†††††††††††††††‘‘‘††††††‘‘‘††††††††††††††††††††††††‘‘‘––––––                  ªªª         ––––––      ªªª      –––         –––††††††††††††wwwpppffffffpppffffff^^^†††‘‘‘†††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘––––––––––––   –––            –––––––––   –––   –––                  ªªªªªª         ––––––†††pppVVVGGGGGGNNNVVVVVVVVVVVVVVVNNN^^^–––      †††www†††–––            ªªª                  ªªªªªª°°°ªªª°°°°°°ªªªªªªªªª   ªªª   ªªªªªª   ªªªªªª   ªªªªªªªªª°°°°°°°°°°°°°°°ªªªªªªªªª°°°ªªªªªªªªªªªªªªª      ªªª   ªªªªªªªªªªªª   –––   ªªª°°°ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª   ªªªªªª   ªªª   ªªªªªªªªª   ªªª               –––   –––‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘†††‘‘‘–––‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††††††††††††††‘‘‘†††††††††††††††‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††www††††††††††††wwwwww††††††‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘–––––––––‘‘‘‘‘‘‘‘‘––––––‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††‘‘‘††††††‘‘‘†††††††††‘‘‘‘‘‘†††‘‘‘†††††††††††††††‘‘‘††††††‘‘‘‘‘‘††††††††††††††††††††††††††††††––––––   ––––––   –––   ªªª   ªªª                              ––––––   –––‘‘‘‘‘‘‘‘‘‘‘‘†††wwwffffffffffffppppppfff
\ No newline at end of file
diff --git a/tutorial/tracking/model-based/hybrid/tutorial-mb-hybrid-tracker.cpp b/tutorial/tracking/model-based/hybrid/tutorial-mb-hybrid-tracker.cpp
index 630546e52065c1a7111590c4fa1f00ef65228047..3bdd6ed0c1bbbdc38ce6b40c1c65ca1fc8f5255e 100644
--- a/tutorial/tracking/model-based/hybrid/tutorial-mb-hybrid-tracker.cpp
+++ b/tutorial/tracking/model-based/hybrid/tutorial-mb-hybrid-tracker.cpp
@@ -1,87 +1,131 @@
 /*! \example tutorial-mb-hybrid-tracker.cpp */
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpDisplayX.h>
 #include <visp/vpImageIo.h>
+#include <visp/vpIoTools.h>
 #include <visp/vpMbEdgeKltTracker.h>
+#include <visp/vpVideoReader.h>
 
-int main()
+int main(int argc, char** argv)
 {
-#ifdef VISP_HAVE_OPENCV
+#if defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020100)
+
   try {
+    std::string videoname = "teabox.mpg";
+
+    for (int i=0; i<argc; i++) {
+      if (std::string(argv[i]) == "--name")
+        videoname = std::string(argv[i+1]);
+      else if (std::string(argv[i]) == "--help") {
+        std::cout << "\nUsage: " << argv[0] << " [--name <video name>] [--help]\n" << std::endl;
+        return 0;
+      }
+    }
+    std::string parentname = vpIoTools::getParent(videoname);
+    std::string objectname = vpIoTools::getNameWE(videoname);
+
+    if(! parentname.empty())
+       objectname = parentname + "/" + objectname;
+
+    std::cout << "Video name: " << videoname << std::endl;
+    std::cout << "Tracker requested config files: " << objectname
+              << ".[init,"
+#ifdef VISP_HAVE_XML2
+              << "xml,"
+#endif
+              << "cao or wrl]" << std::endl;
+    std::cout << "Tracker optional config files: " << objectname << ".[ppm]" << std::endl;
+
     vpImage<unsigned char> I;
     vpCameraParameters cam;
     vpHomogeneousMatrix cMo;
 
-    vpImageIo::read(I, "teabox.pgm");
+    vpVideoReader g;
+    g.setFileName(videoname);
+    g.open(I);
 
 #if defined(VISP_HAVE_X11)
     vpDisplayX display(I,100,100,"Model-based hybrid tracker");;
 #elif defined(VISP_HAVE_GDI)
     vpDisplayGDI display(I,100,100,"Model-based hybrid tracker");;
+#elif defined(VISP_HAVE_OPENCV)
+    vpDisplayOpenCV display(I,100,100,"Model-based hybrid tracker");;
 #else
     std::cout << "No image viewer is available..." << std::endl;
 #endif
 
     vpMbEdgeKltTracker tracker;
+    bool usexml = false;
 #ifdef VISP_HAVE_XML2
-    tracker.loadConfigFile("teabox.xml");
-#else
-    vpMe me;
-    me.setMaskSize(5);
-    me.setMaskNumber(180);
-    me.setRange(8);
-    me.setThreshold(10000);
-    me.setMu1(0.5);
-    me.setMu2(0.5);
-    me.setSampleStep(4);
-    me.setNbTotalSample(250);
-    tracker.setMovingEdge(me);
-    tracker.setMaskBorder(5);
-    vpKltOpencv klt_settings;
-    klt_settings.setMaxFeatures(300);
-    klt_settings.setWindowSize(5);
-    klt_settings.setQuality(0.015);
-    klt_settings.setMinDistance(8);
-    klt_settings.setHarrisFreeParameter(0.01);
-    klt_settings.setBlockSize(3);
-    klt_settings.setPyramidLevels(3);
-    tracker.setKltOpencv(klt_settings);
-    cam.initPersProjWithoutDistortion(839, 839, 325, 243);
-    tracker.setCameraParameters(cam);
-    tracker.setAngleAppear( vpMath::rad(70) );
-    tracker.setAngleDisappear( vpMath::rad(80) );
-    tracker.setNearClippingDistance(0.1);
-    tracker.setFarClippingDistance(100.0);
-    tracker.setClipping(tracker.getClipping() | vpMbtPolygon::FOV_CLIPPING);
+    if(vpIoTools::checkFilename(objectname + ".xml")) {
+      tracker.loadConfigFile(objectname + ".xml");
+      usexml = true;
+    }
 #endif
+    if (! usexml) {
+      vpMe me;
+      me.setMaskSize(5);
+      me.setMaskNumber(180);
+      me.setRange(8);
+      me.setThreshold(10000);
+      me.setMu1(0.5);
+      me.setMu2(0.5);
+      me.setSampleStep(4);
+      me.setNbTotalSample(250);
+      tracker.setMovingEdge(me);
+      tracker.setMaskBorder(5);
+      vpKltOpencv klt_settings;
+      klt_settings.setMaxFeatures(300);
+      klt_settings.setWindowSize(5);
+      klt_settings.setQuality(0.015);
+      klt_settings.setMinDistance(8);
+      klt_settings.setHarrisFreeParameter(0.01);
+      klt_settings.setBlockSize(3);
+      klt_settings.setPyramidLevels(3);
+      tracker.setKltOpencv(klt_settings);
+      cam.initPersProjWithoutDistortion(839, 839, 325, 243);
+      tracker.setCameraParameters(cam);
+      tracker.setAngleAppear( vpMath::rad(70) );
+      tracker.setAngleDisappear( vpMath::rad(80) );
+      tracker.setNearClippingDistance(0.1);
+      tracker.setFarClippingDistance(100.0);
+      tracker.setClipping(tracker.getClipping() | vpMbtPolygon::FOV_CLIPPING);
+    }
     tracker.setOgreVisibilityTest(true);
-    tracker.loadModel("teabox.cao");
+    tracker.loadModel(objectname + ".cao");
     tracker.setDisplayFeatures(true);
-    tracker.initClick(I, "teabox.init");
+    tracker.initClick(I, objectname + ".init", true);
 
-    while(1){
+    while(! g.end()){
+      g.acquire(I);
       vpDisplay::display(I);
       tracker.track(I);
       tracker.getPose(cMo);
       tracker.getCameraParameters(cam);
       tracker.display(I, cMo, cam, vpColor::red, 2, true);
       vpDisplay::displayFrame(I, cMo, cam, 0.025, vpColor::none, 3);
+      vpDisplay::displayText(I, 10, 10, "A click to exit...", vpColor::red);
       vpDisplay::flush(I);
 
       if (vpDisplay::getClick(I, false))
         break;
-      vpTime::wait(40);
     }
+    vpDisplay::getClick(I);
 
 #ifdef VISP_HAVE_XML2
     vpXmlParser::cleanup();
 #endif
-#ifdef VISP_HAVE_COIN
+#if defined(VISP_HAVE_COIN) && (COIN_MAJOR_VERSION == 3)
     SoDB::finish();
 #endif
   }
   catch(vpException e) {
     std::cout << "Catch an exception: " << e << std::endl;
   }
+#else
+  (void)argc;
+  (void)argv;
+  std::cout << "Install OpenCV and rebuild ViSP to use this example." << std::endl;
 #endif
 }
diff --git a/tutorial/tracking/model-based/keypoint/CMakeLists.txt b/tutorial/tracking/model-based/keypoint/CMakeLists.txt
index 52732209648f5305ac762275f703889792f14850..9723f386ed876edc88c1a571cc34053e649c25ff 100644
--- a/tutorial/tracking/model-based/keypoint/CMakeLists.txt
+++ b/tutorial/tracking/model-based/keypoint/CMakeLists.txt
@@ -8,14 +8,18 @@ find_package(VISP REQUIRED)
 set(tutorial_cpp
   tutorial-mb-klt-tracker.cpp)
 
-list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.pgm" )
+list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.mpg" )
 list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.xml" )
 list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.cao" )
 list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox-triangle.cao" )
 list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.init" )
+list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/teabox.ppm" )
 
 foreach(cpp ${tutorial_cpp})
   visp_add_target(${cpp})
+  if(COMMAND visp_add_dependency)
+    visp_add_dependency(${cpp} "tutorials")
+  endif()
 endforeach()
 
 # Copy the data files to the same location than the target
diff --git a/tutorial/tracking/model-based/keypoint/teabox-triangle.cao b/tutorial/tracking/model-based/keypoint/teabox-triangle.cao
index a63b13eefa1ff322e7a2bed58e11167234073b1b..e8053825aa74ded63dfec8a4fd1ad56c5f11ab03 100644
--- a/tutorial/tracking/model-based/keypoint/teabox-triangle.cao
+++ b/tutorial/tracking/model-based/keypoint/teabox-triangle.cao
@@ -1,17 +1,21 @@
 V1
-8
-0     0      0
+# 3D Points
+8                  # Number of points
+0     0      0     # Point 0: X Y Z
 0     0     -0.08
 0.165 0     -0.08
 0.165 0      0
 0.165 0.068  0
 0.165 0.068 -0.08
 0     0.068 -0.08
-0     0.068  0
-0 
-0 
-12
-3 0 1 2
+0     0.068  0     # Point 7
+# 3D Lines
+0                  # Number of lines 
+# Faces from 3D lines
+0                  # Number of faces
+# Faces from 3D points
+12                 # Number of faces
+3 0 1 2            # Face 0: [number of points] [index of the 3D points]...
 3 0 2 3
 3 0 3 7
 3 3 4 7
@@ -22,5 +26,8 @@ V1
 3 5 3 2
 3 5 4 3
 3 7 6 1
-3 7 1 0
-0
+3 7 1 0            # Face 11
+# 3D cylinders
+0                  # Number of cylinders
+# 3D circles
+0                  # Number of circles
diff --git a/tutorial/tracking/model-based/keypoint/teabox.cao b/tutorial/tracking/model-based/keypoint/teabox.cao
index 4e6dd5c45d46f8971d2800f333a116dacd0e7078..83c1fdf783e68e78dfa381d4c326f07d88fa8d3f 100644
--- a/tutorial/tracking/model-based/keypoint/teabox.cao
+++ b/tutorial/tracking/model-based/keypoint/teabox.cao
@@ -1,20 +1,27 @@
 V1
-8
-0     0      0
+# 3D Points
+8                  # Number of points
+0     0      0     # Point 0: X Y Z
 0     0     -0.08
 0.165 0     -0.08
 0.165 0      0
 0.165 0.068  0
 0.165 0.068 -0.08
 0     0.068 -0.08
-0     0.068  0
-0 
-0 
-6
-4 0 1 2 3
+0     0.068  0     # Point 7
+# 3D Lines
+0                  # Number of lines
+# Faces from 3D lines
+0                  # Number of faces
+# Faces from 3D points
+6                  # Number of faces
+4 0 1 2 3          # Face 0: [number of points] [index of the 3D points]...
 4 1 6 5 2
 4 4 5 6 7
 4 0 3 4 7
 4 5 4 3 2
-4 0 7 6 1
-0
+4 0 7 6 1          # Face 5
+# 3D cylinders
+0                  # Number of cylinders
+# 3D circles
+0                  # Number of circles
diff --git a/tutorial/tracking/model-based/keypoint/teabox.init b/tutorial/tracking/model-based/keypoint/teabox.init
index f326e929605734e745c9e9dff9c19939d67d9f75..f109800a0eab96b97050f4872839f09b0a0c2bd3 100644
--- a/tutorial/tracking/model-based/keypoint/teabox.init
+++ b/tutorial/tracking/model-based/keypoint/teabox.init
@@ -1,6 +1,5 @@
-4 
-0.000 0      0
-0.165 0      0
-0.165 0     -0.08
-0.165 0.068 -0.08
-
+4                  # Number of points
+0     0      0     # Point 0
+0.165 0      0     # Point 3
+0.165 0     -0.08  # Point 2
+0.165 0.068 -0.08  # Point 5
diff --git a/tutorial/tracking/model-based/keypoint/teabox.mpg b/tutorial/tracking/model-based/keypoint/teabox.mpg
new file mode 100644
index 0000000000000000000000000000000000000000..50fb8ad2d9e245e2bcc06b94d22763a07d9b6191
Binary files /dev/null and b/tutorial/tracking/model-based/keypoint/teabox.mpg differ
diff --git a/tutorial/tracking/model-based/keypoint/teabox.pgm b/tutorial/tracking/model-based/keypoint/teabox.pgm
deleted file mode 100644
index 41833d705da80194d014d5e4a442d1a060ddd435..0000000000000000000000000000000000000000
--- a/tutorial/tracking/model-based/keypoint/teabox.pgm
+++ /dev/null
@@ -1,73 +0,0 @@
-P5
-640 480
-255
-IKJKKJJJLKJKKJJKKKKKKLLMMMNNOOQONNOPPQPQQQQQTSSSTSUTWUTTWVWWXXYZYYZZ[\[\]]]\`^^_```^^`aababa`__ZUQPPQQSRQRUUVVUUWVWWXVUUVWWUVVVVXVVVYWVVVVWWUUVUUWWWVXWX[YXZ\[[\\[[[[[[XXYXWYXXXXYYWXWWXZZZZ\[]\\]_]]^_^_`c__bcacbaa``a`_`^^b`__aaaaa`b```a```____aababacc`ababaabbaaaabc```a___`bcbbbdddcccfbc``___^_aacbb``^]^^_d```b_`baaeee``acbcccbaeffeddeda`aa`abfdbbbcdddcdddfheffggfddefdcbb`abbbe`_`a`ccaaaaba``_accddeddcccgbc`aa`abbcca`bb````bbbaa__ac`_``^_^`]_`_^^_^\\\\\\YZXZ[[Z]Z[XYZYXXYYXZXXYZ[]\[[[\`\[[\[[[\YXYYW\WUUWVWWYVUVYXXXZWVVVUUUSTWTRRVTVUTSSSURRRSSTSVSSSRRQRTSSSRSUTVSTRQQQPPPQPOOPMNLKMOMNMLLLLKLMLLKJLKKKJLKKJKKMLKJIIIIIHHGGGHHIGGGFEGGGFEEFEKMKKLKKJKLKLLLKKLLLMLLMMMMNNOOPOPRPQQOPQQQQQRSSSSSUTUUUUWVVWXXYZZZZZ[\]]]_^]^__a`a`__`aaaababa_]VQQPQQRSRSTUUVUTWVWWXVVWWVWWWWXWXUVWVUVUWVWXWWVUVXVUVWVW[ZZZ[Z[YZZ[\ZZYXYZXWWVWZWXWVWWWVXXZY\\\\\]^\]_^a^^^__bbabcaaadba``_^___^`aaaa``_`aaa`_``__``abbabbbbaaa```baa`abba`_`___`ab`abccbbccbbca`_`a`abaccb``^^a^`aa`__^_aaabbb```abc_aabddceedbbaaa`_`bddcbccegecddeigfeefddccdddedc`bbbdd`````acb_bbbbcccbcddddedcccbbaabbbcccd`baaaaa`cb_aa```a```__^^]^^_b___\^_][\]\YYXXXXXYYXWYWXWY[ZYXWXYZ\\_^^]\]\\\\[[ZZZZYYXXWWVWWWWYVUTW[XXXWVVUUVUUUVUTSVTUVWWSTSRRRSSSSSSSSRQQRTQRTQTTUTRSRQQRPPPQOOONMLKLMMLMKKKLLLNNMLKLMLLKJKJJJKIJKKJJJHHIHGGGFGGIGHHGEFFFGEEEELLLLOMNMNNNNPLLLNMLMMMNNNNOOPOOOSQPPQPSSSSSRSTVVWUUUUVVVWWWWXXZZ[[[[]\]]]^_^___``acbbaaabccbaa`_VRRQRQQQTTWVVVUTVWXWXVVWXWVYXWXW\WVWVVWVXWWWVVVVUUUUUVUW[[\[[[ZYZ[[[[ZZXXXXV[WWWWWWXYWXXXY\[\\\[^^]^^^^^]]``_^_accbabbaaabd_`_`__`baa```abbaa`__``bcccfba`caaa````bac``bbbb^_``_bbb``bdcabdbbbca``cbb`aafffad`__^_aac_^^`bbabba`aaabd``abciceefcaab`__`acbacdddeedfeefdejegeeddccefdddfbbbc__````bbcccecdccbdefdddfcdbbbdbcdgccdeddc`ac```aaaabaa```b`__``a^_`___\^^^\[\\ZYXYXYY[YXXYWXX[\\XWXYZZZ\^^__\^]\\\[\YYZ[ZYZYXWVWXXXYWWVVWWXYYXXWWXWXUXWXTUTTUUTSSRRSRUSSSTRSSSQRRTRQQPPRSSSURQQRQQQQOONMNOONLLLMLNMLLLLNLLLMMMMKJJJJJKIHIKIJIIGGHHHHGGHIHHIIGGGFEEFHELLLMNMNONMNNNMMMMMNNNNNPNNNNOPPOOOOONNPQTTSSTVUVVWWWWVWXWWXYXXZZZ[[\\\]]^^^^^^`aaabbaaaaacddcca`YSSPRQRPRUUVUUUUVVWWWVVWWXXXYWVVWVWWWWWVWXWVVVVWUUUVVWWWY[\\[[ZY[[[][YZXXWWVZWWWWVWYYWWXZ[ZY[\[[]_]\^^^^^^_`__`ba`aaa`aaba`_`____`aaa`acbbbbaa`aaabbcccba``_``aaaab```aaaeb_`a```___`abbbababccaaacebaabbbbbbc`a`_`ab___aca_cbbbbcbadcadccecddedbbb```_`cabdddeeecfeeedddefededcchedccb`baa`abaaaca`abdbbbbab`bbdccceaaaecccccdgdddecba`````aa`_````aa``_^a^___]]\^^]\\[ZZYYXXYZ[YXXWWXYZ[[WXXYYZZ\^]]\\]]\[\ZZYZZZZYYYWWVWWXWWWVUWXXXXYYYYYWVWUVUUTVUUTTSSRRSRQSUUVSRSSRQQRSRQQQPQSRTSQQRPOPPPOPNNONMMKLLMKKJLJKKLLLNMLLMKKJIJKJIHIIIJGHFGGGFHGGIIHHHGFGEFEFFHENNONOPOOOPPOONONPOQOPNMNOMJKLKJIHIJKLLPQVTTSVVUVVWWWXWWXWWXY\Y[Z[Z\\^^]^^^`___caaacbaacbbbacddb`[VSQRQQQRVUUTTWWXVXXYYYWXXZYYX_WVVWWXWWWVXVWWVWXUVXXXWZYY[_\\[[[\[[[][ZYYXZX[YZZYWVYYXXY][ZZ\ZZ[]]\[^]]^a____````__aaaaacbaa`_`__`abbbbcfdfdgfeccbdcfdbacab```aaebca`_caabba_`abbaaaaaabebcacbdcbadcabcdecccbaabb`cbbccbaa`adbbbbbcadcbdccfgheddccedd```bbdccefefffedffffdddddccddddhcc`eabbbbbabbaa`adbcbddccccdcdeeedddcccccedccddeaa``a``aa__``caaa_a`_`___^]^^^]]]^[Z[_YXXYZ[Z[XXX[Z^Z[[[\]Z]Z\\\\[[\^`[\ZZZZZZYXXXXWWXXZZZWVVVX[XXY\[]YWXYVWWXVWVWTSSTRRSSQRSTTRRTSURRRTRQQRPQQQQQQQPOOSPPQQNNNNNMLLLMLKKLKKJKLMMNMMLLJKJIIKJHGGHJIIGGGJGGGFGIIJHHGIIIFGFHGNNNMNQPPOOOPPPPOONOPPPHHA==>@CBABCCDFGJMOPPPQRSWWXXXYXXYWWWWXXXYYYZ[\]\\\]^```a``aacb`bdccccdgee]VSRQQQQSVUWUSWVWWXXYYYWWWWWWXXXWWVVWWWXVXXXXWWXWVWWWWXYZZ\\[[\Z[[[[ZZZXYYYWYYYZYXXYYYZZZZZZ\YZ\\^\[^]]___`aaaaa`a_`aa`_bbaa```___`cbcbbccdddeedcbbbdecbc```bcaabbbb`_`abbbaaabbaaaabbbddbbabadeaababeccceddcbcca`d_aaaba``aabbdabbbdeedbbfffeeedcefd`aabcccdeeeeefheeeedcddeccdddddcbcaeabbbfabbbbbbaaaaacecbcddcefebccccdedddbccdddaaaaaa`ba`_``abaeaa`a`___^]^_^][Z^Z[[[[YXYYYZYXXXXYZZ[[[\[XYY[[\\\^]`^\[ZZ[YXXXXYYZWXXXYXXWWWWWWXXXZZXWWXXWWUWVVUVTSRSSRRRRSSTRRRTRQQRSRRRQPOPPPQQQQPOOPPPQQONOOONMLJLKKJJIKKKLLNMLLKJJJIIIIIHGGHHIIJHFIHHGGGHGHIHHHHIFEFIGOOQONQQQRPOPPQRQQOPOLD@;53257889;?A?=?GDBDHKLMOQRTXWYYYYXVSSUWZXVVZ[\\][Z\^_a`bacaabdbbdccccdfge_VURQRTSSTUUUVVVVWYXZZ[XWVVWWXXWWWVWZXXWVVVXYXXWWWWXYXXY[Z\\[[\[Z[\[ZZZZZ[]Y]ZYXWY\Z[[\[[ZZZ\Z[\[[]]^]]_a`aafddb`_``bac`cbaac`_`a````bdbddddcccdebbbdddccadddcbaaacaa``bbabbdcdb``abbbcbcdccdaecaaaaddccbdeecdedaaddda```````abaabcdfeebbcgggffffdgeeeeeefefeddegeefeegggdddddabcdbbbbccfabbbbabddddeaaabbceffgddcifecccfeeddddbfcddccdccccbbba`_`abbbaaba`_b_`^^^_][\^[\\\\ZZ[XXZYYZYYZZZ[\[Z[Y[[^[\\\]]^_^_[ZZXXYXXXWWWWXWYWXWWWVVWWWX[YWVXWXXYUWWUUWWWSSTTQRTWTTRQRTRRQQQQRUQPPOOPQRQQQPPQPPOPPOONNQOONMLKJKJLKKKLLMNNLOJLJIIIJHHJHIHHHIIIIKGGHIHGHHHHHIGFGHFONQQPPRSRSQQQRRRONFC=8644010333368887666789:<>CHLORUW\Z[PEDELSNIMRV\\WTRW\]aa``_caabddccbbccdeff^VSQQSTTTTUUUUVVWXWXY\ZYWVWXXXWVXWXYXWWVVUVYWVWWWWXXXZYXY[[Z[\[ZZ][Z[\ZZ[\ZXZZZXYYZZ\]\^\\\^[Y[[[[]]^^__^^``ceca`__^_```c`aca_```c````abcddedddccbbbcdcbc`accebaa````_`bbaaabcbb``acabcbcecbcabbcdb`bbcecceggfddbbdebcbaac``a`abbbceeeeabcefghgffddddddcddddecccdddeeefdefeheecbddccccccccbaaaaabccdcbb`bcdedcdedceeecccddecddccedcccecccedcb_`aaccea`aab`````____^]^^][\^\\[[YXXZXXY[[Z[\\\[ZYXZZYY\]\_^]\Z[[[^YZYXX[XXWWVVWWWWWWWWWWXXZWWVXWVUUUWWUUUUWSTUTQRTSRSSRQRTRQQQQQRQQQPOQQSTQQQRQQPOOPPPNMQPONMLKJJIJKKLKKLONKKJJKKJIJIIIHHHHGIJIHHHGGHJHJHHHIIHHGFEQPPQRRSSRRRRSSTQOD:415578633320334422.*)()*+-04:@FNRUYY[J;6=GII>>ITZ\TKLUY]`bbbccacbecccccbcdefe^VRQQRSTVTRSTUUUTVXVVYZYWWZYYXWXXWWYWVVVVUVWWVYXYYYYXXZXXYYZ[]][Z[[[[[Z[[\YYY[ZX\[[Z`^\]^]a^[Z[\^\]]]]]_caaacda```a_^`a`c`aa``aaaa``__abeeeeedccccbbcccbd``cbba``````_`bda`_abbccba`bddcbcecedddfeebbcabeffffffcccecacddcc_`cccdddddefecbdefghggghhdddfehefdeddccdefgefeedceeeddgddceeecdda``aaabccbbccbeeddccdeccddedccccecebbdhcccdbbcccdca``aaabb```aa`_`aab``^]]]^]\\\[\[ZYYYXXXW[Z[]Z[[\ZYYYXXX\\]]]\[[[[Z^YYXYXXXWVUUVVWWVXXXXWXZYYWWVXUTTUUWVUUVWXUUTTRRSSRRRSQQRQRSQSSRQSQPQVSTRQPQRQQQQQPPPQQQQRONMKJJKNLKKKKKMOMNJJJIIIJKIIHGGHFJHHIIIJGHGGGGHHHHHIGGFRRRRRSTSSRSSSTSPD:506:@FEDCA=86432.)%" #(,5?ENRWX[G656:>:7:?OYXRJ@JUZ^`cbaaabbbbcddcccegfd^URQQTSSSSSSTUUUUUUSUWWXVVVUWXWYXVWYWVUUUVVWVVXWXYZVXXXYXXYY[^][ZYYYYZZZ[\\[[[ZXZZ[Z[\\[\[]\\[]_^[]]^^]_bbabcdbaaa`__`a^`_`_`___bc`___aabdeeecccbgbbcdaa`^`bba`__`a```a````^abbabca`bdcbbbcbcddeedeccccbcefhfdecccdccbcccb__`bbdecegehfeeefefgfeeegcdffdddfdefedeffihegfedcfeeeddbbcedecdecaa`bcbbcbbbbbeedbcddfeedceefeeddbcabddbcdbbbabbcbaa`aa_bb`aabbda`aaa_^]\[]]]\]][\ZZZXXXXXWYZ[ZYZZZYYZZXXXZ[\\][]^[Z[][YYZXVVUVSVUVWWWWWWXXWWVWXWVVUUTTTUUTWUYWWUTSSSSRQQRRRQQRTSRSRRQRQQRRRRQQQQQRRPPQQPOOONNNNNNKJJLLKKKLLKLLKKJKKHHIGIIIJIHHFGGHKJIIHIFFFGHGFGGIGFFSSTSSSVVUUVTSTSI=64:@GNONOOMKHD;42+%#+4;EQWXYE60122257<IWZUI@@LY]_bdbacecccfefdddfgfe^USRRSSSSTWWVVWVUUTTYWVVVVVVVVUVUWXXWVZUWUVVZXXX[ZZY\XWXXXYYZ\][[YZYZ[]\\]\[[\]YZZ\[[\]\^^]\\\^^]]]^_^^`aabcabdbabe`a````_a``__`c``___a`acfegbbbbcabca``abbbca__bcc`dbbaaaa`abeabbbbcccceedcbdeegdededcbcegffffeccfedbdbb````abdeehgfgggifgffgeeiehedfhddcegffeefgghhgjfgdcdfefeedhdedddddddcbdbabddfcfciedcbeeeeeccefffgedddbccddecbccacccba``baaaaaabbaab_aa`]\\\[_]]\[\[[YZ[\\YXWVWZZ[YZZ\ZZ[[YXYZ[^\][^]\\\\]]^ZXVUTVTVUVWYXVWXXZVWWWWWVVVWUVUUTSTUWXVUUTSSSRRRRRSTRSSTRUSRRRRURSRSSSSSRRQQPRPPOPPOOOOPMLKJJLKKKJKLKIJKJKIHHHHIHIIJHIHGGJJKIIIIGEEHGGGHGIGIESSTUTTTVUSVTTTLC>9@IMRSTTSSTOMIC<4-%$,4=IVTUB60/.-.36<FU[XPGDDO[_bccddfdcbgeeeeefgff^RSSSRTWVUUUUUUTUVTUUUWVVVVVVVUVVWYXWWWUVUVVXYXXYZYYYWXWXZYXYZZ[ZXYYZ[\ZZZYYZZYY[[\\\[\\\\]\]]]]]]]]__````bccbdbaba_``_``___`__`c]^]]_a``afefbb`bccbdaada`aaccaabbb`dbbbaaaaaabaaabdcbcddccfdheddbfdedcccdedefeedccecbbbc_``aabcddfffgfffffgggfeedefedddccccefedghiihggfffddeeeeddfdcbcdecdedddabbdddcdcfeeeffeedddbeeegfeedcbccdddbb_`ab`bba_`aaaaaac`a`_]]^^]\\\\\\[\\]\\\[ZZ[[ZYVVUZZ[YYYYZ[][ZZZ[[\\\[^\[[\ZZ[ZYXVUSSSUUVWWWWWWVWVWVWXXWWWWUUTTSSTTTTTVYVUSRSQQQRUSRRRRRSSSSRRRRRQQPPPQRQPQNOOONNMNMMOMLLKJILKKKKKKJIIIJKHHIIHHFGGHHHIGFHIIIIHHIEEHFFFHGIFFFTUUUUUUUUUVTWUJC?FMRVWWVUVVUTSRLG:3( &-6BMVK<101.)).49CU\\[RGBH[`ceeddfegggghghgfhgg]TVTTTUVWVUUUVUTTUUUUUWUVVWWXUVWXWXXWWXWWVWXXXXXXYYX[XXW[YXXXXXYYYYZ\\]\\[[[]YZ[\\\]\\\]]]]^^]`]\\_^^^`__`baaadcab``__ccc`_^````b_^]\]ba`beefffbbbdbdabcbaabcccddcbbdbdbbaaabceedbbcddgddbacddcccdffeccddddeeddddddccdgdccbaaabdedhffeefifkhihggggffhdccccddegefkikihgggeddeffeeedfdcccdddcefedddceeddefgeeeddeecdfedddefefdedgfffhcb_^acbbbc```cba`ac_^^]\]^\[\_]^]\\\]_^`]\\`]\ZZXXXY[Z[[XXZ\][\[[\\_]\[^\[[^ZZZXXWVYUTUUUUWWXZXXVYVXWVWVWZXXVTTVSTSSSSSVUUUVSSSRRTSRRSRTSSSSSSRRQRQPPQPQQOPPOOOPNNMNMLLLLMLLJMLNJJJKJJIIIJGIIIILHFFIIHIIGHIIHIJJIEFGGGGHIIFGFUVUTUWVUUUVUUUMHLPSXWVWXWWWXYZRQD=1*" '/:EBB2(+2*&')05DV_`^\OEIYadeeedeefgfigfhiihhh_TTTUUVUUVVVVUUVUTUUVVWUVVWVYVWXXWY[[ZYXYXXYYYXXXXXXXWWWWXWXWXYYYYZZ[[[[\[[ZZYZ[\\\]]\]]]^]^^]]]]]]]^]^^^_b_aabeaa``_^`aaba_`a``b`_^^^``acbbbbbbbabbbbbbbbbcbbcccccceabaabbbccdccccbcccbbbbbbbdadgfedcdgffdedcccb`acdddccbbabbddddeeefffhggghdhggfeeeedcddefffffggghggfifddeghgeeedbccceddegfeeedbegdcegffdddceheedddddcdeeccddddeedb`aadecbca`_a_`dab`_^]]`^[[\]\]`_^]]__`\]]]\[[ZYXYZ\ZZ[XYYZ][\[Z\]]^\[]\[[[[Z[YXWVVUUUUUUWVXZVVUUUWXWWVWXXVUTSTTTRRRSRTTTSTTSSRRTSRRRQRRRTRRRRRQQQPPOOOPOOOQNPOLNMMMMLLLLLKJKKKJJKKIIJIHIHHIIIIHGGHJJJIHHIILIHIHHGGFFFGFEEFFWVVUVWWWVVVVVRQQQUZYYWZYYWWWXWSJB80)$")3<@0'('&$!"(-6EZaac\WHJZaffehggffhgghhjiiijh`TRTUVZWZXVVXUUVUUVVWVWUVWWWXWYYYXZZYYYY[\\[[ZXXWWYWWWYVVWVXWY[Y\[[YXYZ[^\]ZZ[\\_[\]]\^\\]\\^\\]\]a__^^``_a`baabb`^`^``aaad`aa__caa`_`aa`bcbaaaabbccbccddeffhdecbccceccaacdcedddfddbbccbeddabcddeegdceeeffdcbbdbaabddddccdddcdhdcddeeeefiihghiiihgieffgggfgffffgffhihfeegdcehgheeedccccdfegfdggfeddeedgfgfddddfeeeddfeecddddhdcccdddf`abdedccbaaa```aaa`^^]`^[\[^\\^b^]]c_`]_]\\[[[YYYZZYZ[ZZXXZZ\[Z\]]^^]_\\[[[ZYZXWVWWVUVUUUVWZVXWVUWWWWZXXWUTWSRTTRUTTTUUWTUUUSTRRRSRQQSQQQRRRQQQRQQQOOOOONNNNOPMNMQMNMLLLLNJKJLLLKKJIJHIJHIJLIKIHHGHIJIHHHHHIIHHIGHFFFGGEEEFVVVYYYWWUVVUSQRTTXXWWWYYZWVVUSJA92)# (1*$$*%#!%).9I]^aVSNHH[dfffgfggghgghijjjiig`SSTUVVVWXVVVTUUUVUUUWWVWXXYYXYYXXYYYZZZZ\\\ZYYYYWWXWVWVWXWWWYZYYWYXYZZ[\]]Z[[[ZYY[]\\\[\]\[[[\_]]]^______`^`aaa`__`_babaab``a`_a`aca`aabbccbaaaabdedcdeddeeedebbacccdcbccccddeeebccdddcddcbcddedcdcegfffedcbaaaaaceeedcddeeedddefdddeeegjgfghikhggffeffedgffceefffffeeeeedegffeffdcccddecdfggfeeeedecddegfccdfddieddcddeeddeccccgddeabbcedccdacb`__adbaa```^[[[]]]]^^^]_^`\_^\[[]ZZYZZZ[[ZZZWXYZ[[[[^]]\\\[[[[[ZYZWVUUUVUUVVUVVVVWVWSWYWWXXWVUUUSSSSRRSSSTSWTUUTTTSSQSQQPQPPORRQQPPPPQQPOOMNNMMNNNMNMNMNPNLLKJJJJKKKJJJJIIKJHJJJJIHHHHGHIIIHGHHIIHGGGGEFGGFFEEEWWWWXVUVVWXTSQSTVW[VYWYYZWVPLG@6/("
    ##"(*/;OW\PG@<?G_eeegighiiihhhiijllkh`SRTWUVVWWWWWXWTSTUTTUVXZX\[]YZXXZ^ZZZ\ZZ[[ZYY]ZZYXWWXXWXXYWXYZZ[[[\]ZY[[\]\\\[[\ZZ[]\][\\\[[\\]\\]^`___bbb_abb```___`aaaaa``aa``aaaabcbgdcdddddeedfeedddegeddebbbfcdccbbcdddeeffdddgffeeeedcddeicddhgggheebbbdaabefigeeffefggfffedddddefggfghiiigfghffgcdheecdfifgefdeeefhfffffffddfddeeddefedegeiddedddfiecdfccefffcedeedddegccddddddcbcccbbbbca^_bcccdba`_^b\^^``_^`^b^`_`]ZZ[]YYYZ\[[\^ZZYYX[[][[\]]`\\[\[[ZZYZWUTTUXUUVXVWUUVVVWVWWWWYXXWWUUSTSTRSSSSSTWUTUTUWUTSSSSQRPRRQRQQPOPQOPSPONNMLMMLLMPMKKMOOLNLKJIJNKIJNLLJJIJIJJJJIJIIJHHHIIGHIIJIHGGGGFFGGFIFGGWXWVVVVWWWVSPNOORSTUWWWWUTMG?:0)#


 !#$$#'*-=CLD><5?AQbdefiihhiihhjihijkkkiaSRRVTUUVUVUUVUTSSSTTUVYYXZZZYZWY[[ZZZZZZZZZYZZ[[[[ZYYYXXXWWXXZZZY\][Z[[[[[[[Z]_\\Z[[[[[\Z[[ZY]^]Z^^_^_`_]__a_`````_^^_`aaabbba`abbabcccedeeedddeeefefddefhdddcbcdcaeccabcddefeeeeeffdegffeecfefebdehggggceabcbbccefhifefiffhifdeedddgfgggfeghighjggghfhddecdcdeddeeddfdeeffgigifedddeeeefeeeadefeecegfceeeeeeeaceegdcdddfeeeedddfdcefcbbbcecaaabaaabccddbaa_^^\]^``_]^^_]^^]\[^\]ZWZYYY[\[ZYYXWXYZZZZZ[[Z[XYYZZZYYWUSTUWTUUWWVUUVVVVXWVVWXYXWWUVSSSSSSTSSTUUUTTTTTSRQRRRRQPQSRQQPPPPPONSQONOMMNMKLLLKKKKKLMMMLJJJLKJIKLKJIHHHIKJJJJIIIHHHHJIIIIIIHGGIGFFGGGHFFFYXXWWWYXXXVSMIGKPQSSXWUSPJD90)"

-
-
 $%&$ "&',596556<DRadihhhhhkkkiiiiikkklnhaRQRVTVVWWXUTTUTTTTUVVVXYZ[YYYZYYZZYYZZZ\YZZZZ[ZZYYYZ[ZYYXXXXYYZ[Z\[[[\[[]^]]___^][ZZ\Y[][\[\[^]^\^^aaaa``_`a_aab`b^]^^`dbbb``bbedfabccdfeeegddddefddedejfgdfdcbdebaeeebbcddefieeehhjfefgffeceeffedeifgghedbcddeheffkgffehfgihfedffdcdceeeeehhkjkiggefffdeddfddebcedbcfddegghiggfeifdegfefeddcdehdffgfmdgfefeeeccdddcccddeffhgkceedcfdcbbbcccacadaaafddddb``^]^^_]^`_^^]_\]\\[Z[[\[YZYZZ[[[\^YWWWZZYYY[[YY[XZZ^ZZY]WVVWVXUTUVVTUVVUUXXWVYVWWXVWVUTTRSTTRRSUUTTTTTSRRQQQQUUTSTSSQQPPOMMMNQQRNONNNMLNLLKJKKKLLKLLKLKNKJIIKLIIJLIJJJJHHHIHGHHIIHHIIJHHHJIGGGGJILGIFYWXYXXYYY[WSLEEGFGIKORLHB=2(" """ 
-
-#.,,'!""$%,189>AEJR_dggghhhgjjjiijjjkkllkhbQQSTTVVWWVUUTUUTWWWVVVWWWXXY[[YYZYYYZZYYYZ[[ZZ[ZYXXYYZYYYXXYYZZZY[ZZ\\^^]^^]]^]]]\[[[[\[[[[[Z^\\[^^a`ab`_``a_`_``_^^^^^ccba`_aacbbbccdeffecccddddeddeecfegbedccddbbdccbbbdeedeeffhhhhhggdfgegfgffdceeeffeedegggggfgkhhghhgggfggeeeedeedeeeegfffhhhffghiffddedeebcdddbfdeegghigfeefgedefffedddddeeeeggfeghfffeebcdefdbcdeeeffffcdddbccccbdb`a_``aaa`dfffcbab^\]^_]_ca__]_Z\[[ZZ[ZYZYYY[][\\\]ZYWXYYXXZZZYYYXYY[\ZXWVWWXVVTTUWUUUVUUTTUWUVVWWWVVVUUURSTSRSTTUSSTTTRSUQPRQTTSRRRQQPOOONMNNOOONNMMNMKLKJJJKJJKKKLKKJJLMKIIKJIIIIIJJJKIHHIHHHHHHHGHIKIIJIHHIHGGGGFFFYYYYYY[ZZZYUKDDB@?@CFED<4* #(+4:>843/&
-
-%07+(#!"%*.7>ELQWZbejgggjhhgiiijkjjkklnlkhdPPRUTXXWVUUUVVUTWWXYWWWWWWXXZ\YXXYYY[\YXY\[]ZYYYZ[YYZZYYYZYYY[[\[ZZZ[[]`]^___^]]]^\[[_\[ZYZZ\]]__^^a`aabbb`aba_a``_a___cbbaabb`cbebeeeeggfccdgdddhdedefgfheeefefdddccbcddhdegfefhhhhhgfffhffggfieddfddfeeifhgfgggghkihgghihgfifeehfiehefddeheeehhiffhjigfddefecacffgffffffhgffeddeeeeeeeekghggfeflfjhgfiggeeeeddfgedbdefedfifgffdgcdbfcbbbbba`````accdcccc`]]]^``bab`_^_]\[[ZZ[ZY[YZZ[][\\[][[YXY[WYXXXWWXYZYZ\[YXXZXWVVUUVVWXVXUVUUVVTTUWXXVVUTUVUVSSSSTTSSTTSTSVSQPSRUSSRRSURQPQOPPOMNNONMMLLMLOLMLKKLJJKKKKJJJLMMKJJIIJJJIJJJJJIHHHIJHIHIGGHKJJIIHGHIHGFGGGFZ[ZYZZ[ZZZZVNDA<:9:<<<6/%&*5.00B?=>>:8( 
-
&*0+)%$$&.5@GMX[]^ceghfhhghhhijjkklmnnnmlkhdOOQSTUTVUUVVVVWVVVWWWWVXYYXYYZZXXXXY\ZXXYZ[[ZZZZYZZZ][YYYZZZZZZYY[\[[\]]]]]]^^^^^]]\[[ZZ]\[\^^]]]^__``ab``a````_^^_a_``abbbbbaaaabbegefgffddegcddeeddeffffeeeeddcccdfeedddcffffgihihhhhhhgbfjgffdeefccgeefddehiiiiiijhhhiiihfieedhgfefdddedeeeegfhhgiihhgfdfeebcdegfdfigghjgeeeeffceffffeefffffffffihgffffeedeefhfeecddeedefffefbcdcbddbabbbbaa`_aaccbabca___^^_`bbbb_]^]\[[[[[[\\YZZ[\\\\]][ZZYYXXXXXVVTXWXXY[[XXXYXWVVUVVXYWVUUVVVVUTTUUUVVUTTUUSSRRSTUTUSRSSSRRRQOPQRSRQRSTRRQPNNLOMNMNNNNLKLLKKKMKJJJIJKKKKJKLJMKJKIHIKIHHHHHIIHGIIJIHHHHHHIIJJIIHHHJGFGGHF[[\\]]][][ZXQF?9544563,!'*31--.370/6>/)(&
%0.)" %)/9FWLXY[\cdhgjjjhhiijjkkkllmmnmmnnicNNPRUUVYXYVWVVWYUVWWWYZ[XXX[ZYYYYYYYYYXXY[[ZZZZYYYZ[\]Z\ZZ[]Z[ZYY\[[\_^_^^]]]^]^_]]]\[[Z\\\]^^]]]____^`c`a`__\`_\\^aabbbbccccabbbbcedefgfgeefgggeffgdgfifgddeedeccdhhhhhfedfffeiihhhiiilhhghhiffdhfedcffffeefhhhhihjiihjkkhgghffehfgffedeedfeefjghgghhhjihffeeeeeefgefgghiigggfffgghfgfgfeeffgffghgigggfffffdefhgffhfgfgedefffefbdcbceffcdbbbcbb`abcccbaa``_`^^_`fbbb^]`^\\\[[[[\][YY[[[\]]]^][ZXXYXXXXZVWXXXXZZZYXYXXVVVVWZXWUTUWWVVUTTUVTUVUTUVVTTRSRVUUTRQSRSQSQQPPQRQPPTTSRTQPPOOONRNNNNOMLLLQKJMKIHIIJKLLLKLMMMKJJJIHHHHHHIIKIHHIIKHHIIIKHIILIHIKHIHGGIHHF\Z[[[[[[^\[ZSG?84001/,# #&($ #(%"%*#! '*&!#%,<DSIEGGOW[^bffgiiikkkklllllmkmmllmjbMMOQTUVVVVVVVVXWVWYXWXZXXXXYZYYXYYYXXXWYZYYZYZ\ZYYZ[[[Z[Z[[[Z[\ZZ[[[\_]__]^]\]]^^]\]]]^]\]]]]]]]]^___^__`a____`_\]^``aa`_baccccbbccfddffffeeefffeefedgffddcdefdcbbcdefffeeegggffehhhmiikghegfffeeffgiiigeefggghggiijhhgjkkhgffffdeeedgfffededeefgghhggghkgffbeeeeeeeeefhiihgffffdffgefgffedefggghggggghffghgeeeeeeggfeeeeeggfecdbbccecccbbbcdc_aaabbbbbaa`a`_^`_ab_`a_^_`\[\]\[\\\[ZYZ\\\[\[[][ZYYZYWWXWWXYYYYZYYYXYVWWWWWXXVWTUUWVVVUTTUUTTUTTTTTTTSSSSSTRRQSRRQSPPPQPPPQNPQQRQPPOONONNNNNMNNOLKKKKMKIIHJJJIIHIJJJJJJIIGHGHHHHIIIIIHHHHHIGIHHGHHIIHGHGGFFFFEFF`_^\]\\\^\[[UG?82.-,*#!'")!&%#&((/;NE:*$*4@MU[^eelihikjklmkklpppmommibLJOPTUTTUVVVVVXXWWXXXXWWWWXXXXXXXWWXYXXXYYZ\Z[[ZZ\[]]]Z[\][_\^\[\^]^__^_^\\__^]_^]\\\\^a^^^_]]^aa`^^^^_`aa_]^`____`aacab`ccgffddbcdfddeffeejeggheeefeffheeegeecccbccdgeeeeejhigffhhgiiikkmhhfeefgihhgghjgfffggijhiiighgjkjhgffejefeedgddddeefgdefgijhggghffffffeedfhhhhhiggjfffffgfffffhfedefggigfddgggggkhhggggddfhedefefgkfedhdgcdeaccbbccdd`aacb``ea```aa^^^_ac`^`a`^]\[^^]]^]\[]ZZ[[[[]Z[^[Z[\ZZWXXXWXXYY[ZYY][ZZZWWWXWXVVUUVWWWVVUXVTTSTTSTTTSTUSSRSSRTRSSRQSQPQTQOPQQRQQPPPROPOONNNOMMORPMMOLKKJKLJJKMIKIIIKIJJKJHHGGGHHHIJJIJHHHJJIHHIIIKJJJIIIGHGFEFFHH]\]]]^^^^\[\SI@92.+*$ 

-
 #'" $',..021/&%09DSY_eiiijjkmllllpmmnpnniaKJPQTTSSTUUVWWXWWWWXWXUWWXVXXXXXXXXXYXXXYYZ\ZZZ[ZZ[\[[[\]^[[\]]]]\\]`^]]]]\]^^]]]]]\\\_^]^__^^^^^____^^`ca`_^`__a`ca`c`aaccefecccddddeeeeeeeeffeeddedfggfedeeecccccceeeejefeefhhfghhhhijehihgfeghhhhgfggggggfgjihijiggghiiihggceefdedgcedfgfffdeehiiiijhggffffgfeffhhhhgjgfgggffgggfcddfffdddffffedefggggihhghhfeeeedeffffghfedddfcccbfcabbbceaaabba`b```aba^_^_`ceaa`_^\\\\[[[^[[[]ZZZZZ[\[Z\[[\][ZWXYXXXXXYZYZYZ[ZXXWWWXVVVVUVWWVVWVVXUTTSSSRSUSRSRSSRQRRRRQPQQRRQPRRQQOMOPPPPOOOONOPOOOONNOPOONLLLKIJJKKJIJJIIIIJKJJIHGGGHHHHHJHIHGGGHIHHKJIIIJKIHHHGFFFFGGG]^^]]^^]^\^ZRKB:2-*& 
-
-
-			
!&*$"%*3::4'#"#-;NYcimjnlllmlmmpnppponlaJJOSTVSSTTUVVVVWWWWXYYWWWYYYXXWWXYYYYYY[Y[Z[ZZ[]]^\\[\]`]^[[[\\\]]\\\\\\]^]]]^^]\]]]]]]^]_`a_a]]]^_^^^_`a`````____```cafccddeebhcgdhefeeeeeeefehecdffffeeeeeffghdcccddeeeeeeeehggggjhihjghgfgkehijihhggggjhgffhiijjiiighiiiighhhhhgeeggifjihgiggfhinkkjkgjhgghgggihjiihghfehhihiiiilccegffeeeefeeefgfkghiiiihhhigfeefgfeegfiffdddgccbabcbbadceaabbcb`dababab``__`bba`_^^\`\][[\^\[[]\[ZYZ\\[Z]\_\^\^WZYXXYX\[[Y[ZZ[\YXYYXXXXVVVXWYWXWXXYUUTSSURTRQRUSSSRQQPPQQQQPUQRRRRRPNOOPQPPOOOPNOPQOMMNNMPOPPMMLLMNLLKKKJJIJKJIIIIJIHHHIIHHHIIIHFFHHIGIJJIIIKJJIHGFFGGGGGG]]^]]^_]][ZXTNF<5-*$	

 #$)'!#*2<<?0%!
-
-$<Sfikjmlllllmnnmnooonn`JJNTUURSTTUUWUUXVVUUVWXWYXWWVVVWWXXZZZYYXZZ[\\[]]]\\[\]]\\[[Z]]]\\]]\\\\\]^]\]]]]]]]]]^^^__```]]^^a_^^``a`````__^`a`_`abbddeeebccdcddeefhgfffgeeddddcgeeeegfkgfgccddeefedddddfhghgfhhhhhggfghiefihihihgghhhgfffgghghhghijjiigggghiiffgghfgihfihgfhjjjjkkhijhggghijhijjjhgfeghhhijihjeefggfhedffgfffgegghjikjjhffffefgfeeddcheedddcabbaab`a`dbb`acbaaaaab`baa_````aaa`_]]\]\\\\\\]\\\]\[Z[\^[Z[\\\\[ZXXYXWYX[Z[XYYZZZ[YXXWXXWYVVWWVVVVXVVTTUTVTQQRRRSTRRQQQPPQRRQPOORQRSSOOOPPQOPPPOONOPNMMONNOONMNNMLMMMLKKKJJLJJJIIIIIIJJGGGIHHHHHHIFIGHHHHHIKIIIIIJHFGGGFGEGH]^^^]^^^`\ZYYTLB80*$	
-



#1-)'(&!$)2:EJ<.*(		
-0Wgikjmlommmooonnnmnnl_JIOUUUSRSSUUTTTWVVVZVXWXXWVWWWWWXXYZZZYYYYZZ\^\`]]\]\__^\\[[\]]`\]]^^^\\]]^^]\\]]^]]]__]_``a``aa^^``_^_```abaa___ab```adbgedeeciefdbegefggggggfgdddcdheeeedeghhhccdeeeeddeefdggfhgfihhhlhghjihgffhihhhgghfgggggghihggkkjjmmnjjggikighkjjhfgjhiggghklkjkkkkjkjjghiiiikhhigffiiijkjjiiiijigfgeehgghihjihgiiijjjiihffghgffifddifeeeecbabcaaaccdccaabbaaa`bebccdae`a``ac`_^^]^^^\\\\]]]`^][[[\\[[Z\^^^\[Y\Y[WXY[[\ZZY[[[[ZXYXWWVVVVWWVUXVYVVSVSSTTSSRRRTSRRSQRSRQQRRPPQRRRRSNQQQQQPSSSOONNNNLMNNNQNLLPOQNOOPLJJLIJJJIJJJIIIIJJJJJIHHHHHIHGHGGGHIHGIIHIIIIIHJGGGIIJI^`^^^``_`]\\[[SNB6.& 

-
 $2@J8,&!%/4=ESI6*.$
-	
-8Zjjjjjjonnnnooponnook_KMORTTTUUTUUXTTUVWYXVVWWWWVWXXYYZZZZZYXYYYYZ\\\\\\\\]__]\\Z[]]]`[][[Y[\\\]_^^\[\\]a^^___``aa``__^_`_a`_`_aaaa`_``aa`a`adbdfddddedecceeffgghhigeecdgfffeedfeefgigddcehfcdeeeedgggkhfghhhihgghhhigegfgggfhjgjighihhihgfghjijjjiighijjijigjjhgghgefihiihjkkkiijjkfhiihikgghggfijjljhjkjijjihggggggghhghhgfgfiijiiigggiigghhiffffeeehdbbbbaaabccbaaaabba`aaa`aaaaaaaa``ba`_``^]][\\\]]^_`^\\_]]\\\[\\]\[ZZXZWY[[YYZYXYYZYZZYXWYVUTTUXUTWVUTUSSSTUTSRRSSSRQOPQRRSQRRRPPTSSRQQOOOPOPSSSQOPNNNMMNNNMMLLJLMNNMLLKJKJHJKJJIHIIIHIIIIIIHIIHHIIHHHHJHHIIIIHHILIIIHHHHHHHHG^^^^^```a_^^^]ZUN@5-%(.)!!%$-DXPE0$)-=BQRJ-') 		'C]ljjlllnnooqpqpoonook^JFNQUTUXTRUTTTTUVXWWVVWWVVWXX[[\YZY[YXXXY[YZ[\\\\^[\]^][[\[[]^^`[][[[[[^____\[\]\]^^_^_^`_`aa`ab`___`c_aacaaaa``aaa```bccbdeegggeicdefgghegjigfeefegeeeffffjhggfeffefhcdeeeedfghihgfhihhhjgghiikhliggjjjifgiihhijihhgghjjjjiihijijmmjhiijlhfffedgghiijjkjiimkmhjijhhihhhhifiiijjkkkiimmlhhgigfghgfgljkfhfjiiiiifgihhggffgfffeeeeedbbbcbaaacbbabbbba``````a``bdbaaa`bcc_a__\`[[[\]_^a``^]]^]\]]]`]^]^[]XZZYYZYWYXWXXY[\[ZXWWVUUTTTUTXUTSUSUSTTTRSRTTTSQPORRSSRRRQPPQQSSQRRQQQNOPOOQPPNLMMNNNPLLLLKKLMMMLLKJJIIIJJJIHHHJHHHIIIIHIJHHIJIJHJIHHJIIIHIKJIIKLKIJJIHHI__`__b```aaa``]\TLC:2)*67:-#""" #,**=WUVC3  )4BFQ:&##		
-5Qkkkllllnoooopppopoook`IHLQUUUVTTTTTUVVVWVWUUXWVVWXXZ\[WZY[XXXYX[YZ\\^]]\\]^]]\[[[]]]a^[[[[[[ZZZ\[[[\\\\]^^_^^_bacb``cb`aa``a_aabaaaabbbba``adcccbdeffeedddefhghffhigigeefgfffeffgihhhghfffeecceddeefjhjhghhifgghggfiiihijhghjijhfjlijjjijihhhihiiiiijiiknmjhkkkkhgddfeefghhijjijjjjmhgghhiiihghighiijkmmmjijjighhhfgggggfghgeffgjiihhhgghgffefgfeeeeeeedbbcccaabcccbaabb``````caaaaaaa``````^___\\\[[]\^^^_^^]]_^^]]^^]]]\YZYYXXXZYYYXWXXZZ[VYXWTTTTSSSSTTTTSTSSSTUSRRRRSSSRRRRSSSTRSQQQRRSSQQQQPONNNNNOQQMMMMMMMMLLMMMMLLLLLKKJHIJIIJJHHGHGGHHIIIJJIJHHIIHHGHHHIHHIIIIJJJKJJJHIJHGHF``b`_aaaba``cba][VSIA4'#,9CLD9.))((*-1<N\aSC/*28;0%#
-
-
%HeknnoonoonooopqoopqoolaIFLRUUTUUWTUUUUVVZWWUUUVWWWWYZZZYYZ\YZXZY\YY[[]^]^]___]^[\\a]]^\\[[]\\[[\][\\]]]\\]__a`_`aaa``accbbbcdbaabbbbbbccdbaabbbcgbceghlgffffgggggggggfiikghhggfffglihhhhjghfdccddcdefihhhhhhihghihhfiiihgghhhiiijjjjijljiijjjiiikjjjjlnkklmjhilmlghecdeeegiiijniliijmhggijjkkhhghggijjkjjjjijjhijhhgggggffhhgfffegihhgffegffdegghegdeefdedccbbbbedgdea``a_`a```ababab`a`b`b``____\\[[[]]^]^^^^]]___]]^_]\\]YZZZYZY[YYYXXZY\ZZXYVWTSTUTSRRSTTSTTSSSSSSRSSUTVTTRVRSSRRRRSRTRRRTTURSOPOOONNNOQNONNMPNMMLLKLMMLLLLJJKIHHHHJHGGJHGGHHJJKIIJJHIHJHGGHIGGIHKIJIJJKKJJJJMHGHJF``aaaaaabbbacba_^[YWKA0#19LLOC<61.-28@LYgbQA)
-
-
-)2<2#
-	
-4[ilnonnnppnnmpoooooponlaHFJQSUTTUVTUVUTVVVVVTUUUVWWXYYYZYYXYXXXXXYXZ\\^]\]]]]]\\[\]^^]][Z[]]\]]]^^Z]\]\\[\]^^^\__`ab_``dgcacdcdbabcbbbbbbcaaabcddccdehjigfddeffhhgigghdhfgghjhigfggjjhjihhffgeddddedefihhhgghjkihhhhgijhgggiiiihhjljijjkkiijjkmjhhhijkllkklmjjikjigiffdeeefhiiikiihiiighhiijmkhhgihhiijiijiihijjjjjighhhggighgeffffggggfffffgeeeefefdddeeddcccbccddddcabab`aca``_c``_``a`aa`____^^]\[ZZ\_]\^_^[\\^]]\\]]]\\ZXY[YYYYYXYYXWYYYYYVVUTSTUTSRQRSUVVVUTTSRRRRSSSTTTTRQQRQQQRRRQRRQSRRRQRNNNOMMLMMNNNMMMNNNNMLLLKJLMLLLLJJIHIIHGGGHHGGGGKIIIIIIHHGGGGHHHFFHHHIIJJLKKJIIJIFGHHGa`aa`abcbaabcbaab``\WK<'$1:GMKJDE;79<DQYdedQ@ 		)27%
-	%@^mlpnmnlpponnoprpqpqonkaGCJPSUUVVVUUUUTVVWVVVWWXXWWXY[YZZ[YXXXY[XZZZ\\\\\\]\]]\\\]^_^]][[[\^\a^^^`\\]^^_\\]]]]^`_bbcbbbdeeccccegccbbbbbgbcaaaabdedcgfihggifeeffhgggfghhhfhgggfghhhhjhgikigfffffeccfefgihhhhhhjjkhgghhijgfgilkkjiikjjkojjkijklkllhihjjmmrllmmjkkljiijjjfedhgjiijmjijihihihjjiijjiiihiiijjjlihhgikijjliijkhggffffggdeeghgfegffefeddgefdedeffdbdfdhdeeddcceccadcb```d`a`_aa```_____^_^_[^Y[[[]]]][[\]]\\\\\[[\YXYYYYXX[Z[[ZX\ZZZYVVUVVVSSRTQQSTTTVUUVSRQQRSRRRRSTSSSSRRRQRSRWQQPQRPQQNNOPNNNMLMNONOOPONNOOOLKLLMMMLKJJKIIHHHHHHHGGIIKIJJIIHHIGGGFFFFFFGHIIIJJIIJKHIJIGFIHHaaaaabbccaaabbcdba``[UC.%&2=ABBBA@>:;BLVace`L2#&-		 1OllmmmnomppppopppppppoojcGHJOQTXWYVVVUUTVVWWVVWWWWWYXXYYZ[ZZYXXYYXYYZ\[Y\\]^]_]_]\]^_^]]\\\\]]a_]\]]]\\\\]]]]]]__]`bbbbdcccccbcedccbccccdcbaaaaaddddgeiggggffeffggggfffeheffgegghhhhhgghkkffeeeeedeffggkiggghhjjjiihighigghikjkkjijjjkjijkkklnklkfihjklmmllkjjjkkjjjiiigfehgjiilkiiihihgghhfjjjkihhhifghijiihhhiiiijjiiiiihgfegfgeddfgggffgfeefddddcdddbcdddddddgbbcdeddeccaaaaaaaa`abaa`_`aaa_]^^^]\[ZZ[[[]\\[Z[\]^^^\\[[Z[YYXYXWWWXXXVWXXXXWVVUUUTSQQQTQRRRSTVTTTTSQQSSRQQRQRRRRRSQRPPPORQQPQTRQQOOONNNNMKMOOPNNOPONPONLLLLNNNLKJIIJHGHHGHHJIGHHJIIJIIHHHHHGFFFEGKHHIIIIJIIIKHIIIIIIIHbbbbbcecdbbaacfcccfc_YK8*&)4@==?=@?=;@FN[adf]C(	
		
&FdmnmmnpompoproqqqqqqqpplcGBIMPRUWWVWXUVUVVWWXVWWVVVWXXYYZZYYZXXYYZYYZZZZ\\\^]^^^]]^^__\[]\]^_^`^^^^^]\a]^^^]\]]^___baadcccddeeddddcddeedddbbcbedcchegejijhgfiiiffgigffiehfeegfjghhjhhhhhkjffeeeeeeefifgijfgfgijjmkoiihhiihjijjiknlokkkkjkllkmnkjiiijmkkmmmlkkjmkjjmlkihijghhkiijjiihhgggghiijkmjkjiijhghhiiiiiliiikkjjkjjiigffgghdeeffggggggjgeddddcdccbbcdcdccdgdccgfhdddccbaaafaa`___aa`_`db`^^^^^\\[[\[\]\\[\^\\]\^][[ZZ[[YXXXVWVVYWVWXZXVVVUVVVSRQURTRRQQQTTSSVSTRQRRSPQSRRQQPPPQQOOPQSSVQRQQQQONMMNOOMMMMMMNNMNOOPOMLLLLLLLKJKIHJIHHHHGHIJGHIJIHIIIIIHHHGGGGGGHIHJHHIJHIIKKJILIJIJIccccdccccbbbbefccdeea\QB6,.4:;=?@ECADHLS[bcgZ<&	
-
-
7_gnopoooporpppoqpppqsppqmcHAGLPRTUUVWVTTTVVWWXWWWVWVUYZYZYYYYZXYZZZZZZ[ZZ[]]^^^^]^^^]__]\\]^a_]^^^]^`][[[\]]]\]]]___aabbbbeccdfdddedddcddddddcbcdcbdeeeihhggfgiiffghhgeeefffdddfefhggggggijghfffffgffgfffeefefhijjjjihghigghiijjjlkjiiijjiijkkmjijljkkjjmnnmnkjjjkkklkjijjghhhhjjjhihhggfgihijlljjjjijihhhhhhhgggiijklkkkkiiggfgdeddefdfhghggggfefgeddccbbccccgdbdedddddddfcdbbaba``__^^^_a`````_^c``^\\[[[[]]]]]^[[\\^][[YZZZYYXXWWWWYWVWWWVUVVVUTTRSQRTSRQQRRRRRRQQRSQQRRRRRRQPPOPPPPPPQRQQSQQPQQQONMNPNNNMMMMMNLNMNNONMLLKLKLLKJJIIJIHGHHGHIHHIJIJHHIIJJIIHGGFFFGFJGHHHHHHHIHFGGHGHHIJddecdddcccdccefddegffa]NA8478:==BDIHMMSV^_b`V>(!
-
-
-
-*HbnnqooopoopqqpqrqpqqqqqpmdG@GKPSSTUUUUSTTVWXYYWVWVVWWZYZYYYYYYY[\[[\[ZZ[[[\_^_^^^`^^^a_^^a^^__]_^[^__]]\[[\_]]]^^a__`bbbbbbbbccddddeeeffeedddebbeeccdieihhghffhhgggiiihgfffheedddegggjhgfhhhhghigghiiigjffefgggijiikhgghhghiiilmkljijjkllpihjjjjklljkhhjmonlmkjkkkkjkkkjjmghhhillkjjighhgghhjkmmkllklkjkhfhihlhiiiijjklmmmjijifhggecdfeefjhhhfgfffffeeddbacdccdfbbcedfffdddcbaabb``a`_^]^_`a`c_``_`a_`]]\[[[^^^]^^[[[\^`\[YYZZZYXYXXWXWVVYXXXXVXVUTTSSRQSTSSPTSRQPQQQRRQQRRTRSRQQPPPQQQRQRQPPSQQPPPPNNMNNMNQNNNMNOMNMMNOORLLLMLMMMJIIJIJHIHIIJIHHMJIHJHIJLJJJJHIGFGHHJFIGGHIGGHHHHGGGLGIIdddcddddddeeeeedeefeed_YPGB>=9:;?BEHIKOVY[\]\JD?0"
0*%

$=WpnnonnnpppnqsssrqqrroqqqndH@GJPQQRRTTTSTSUVWYYWVWVUWWXXYYYYYZZYZ[\\\]\[[]\[\\^^^_^]____^^^]]]^]^``___]\]]\\\\]]^_`a```abcbbbbccccddddddfgfdeeecdddddddeiggeffghijgigfghffeeffdcddfdgegigfhgghhhifggggiggfeeddddgiiihhgfggfeggimmjklkjkmlllkjjjjkjkkkkhfjlmnmolklnklkjkkjjihilijkljjjiiiihhgimlnmkkkkjkiihhhhhihhhilkjknlkljjjhghifeddefddghikggfefeeeddddcdcacbbbccfcdeedcccaa`ac`aaa__^_^```c^_^____`]\\[[\^]`^^]\[[\\\\\ZYZZZYYXWWWWWWXWVXYWUVVVSSSTURRRRRPRRQOOOQSRRQQRRRQQPQRPPQQQPPPPOOOPSPQPPPNNNNNOOONNMMMMMMMNONNMMMLLLMKKJJGHGHHIIIHIMHHIHHHHHIIIIJJIHHHFGGGGGGGGGIFGGGGGGGGGHIIfddefddefeffjefegegfgdfa_VTKE?<<>@BFFKMTW\^_`YXTM3 #AS>,! 4ToonnnooorrspqrpsrrqrrruttqeF?EJORQRTWVVUSTUVWXZWVWXXXXXXYYYYYYZYZ[]\\\][[\][\]]]]_^]a_^^^^^^]]^]___`^_\]]^]\]\^\^`bbba`accaaabgdddededddfffdefgggggffefghggffggijhhhgffgggifefddfefegdegihifhhhhhgigfgiihfdebdeefgiiiggfgeeeihhjmjimmjmmmlnlmlkjkjlkjiihjklmmmnmmljjjjljmjihljijiijigghjjijjjknmmjjkkjljfhmjkhjhiiilkjkllknjhiihhhffedddcehgjggggghfgfgdedcccbccbcdcfdfdddbcdaa`______```]]^``b___`ab`_^`\\[_]]]\\]^^^^]^\\[\Z[XWWWWXXXWYWWVWZVVWVZUTTTTSRSTSRSRPOOPRRQQRRSRRRRPQQQQQPPOMNOONOOPOPOPPOPNMMPPOONNOMMMONNNLMMMMMNLMLKKJJLHLKKIIHIJHHIHGGHHJIKKKIJHGGGFFGGGFHHGIHHGGGFGGFFHKIgeeeeddefeefgffffeffheedb^[XQKHFEFIKMOTX]`becba`VJ6%6VTVC6/*+-3:NlnnnmnqqpporpqqrtrqrssstuuseE>DJNPPRUVVWWTVWVVVWWXXVUXXYVXXXWZYYYYZ[[[\\Y[\\Z\_^\]`^]_`^_^]^a^]^\_^```a`^^^^[\[[\^aabbbbbbcbaaacddddcdeedeefdeffeffggecffgghgffhhjghgggffhghgfeddddedddfggggghhhihghfggiihfeeffffgghkigfeedfefiggjijllkmmmlmlkkkkljjjihiijkmmmmmmllkjjjkjjkjiigikjhjihhjkjjkkkkkkjiijkjjkiijjigjhhkikjjjllkjhhiiggggggjgedeeeeefffegffffddccbbcdeeedbbcdedfbba_`__^^]_ca_^\\\_`````_aab`^]]\\_]]\\\]^]\\\\\\[ZYXXXXXXVUXWYUVVWZVVVUUUVWUUTSSTSQRRQQQRRRQPQSSQPOROPPPPRPPOOOOOOOOQPSPOOOONNNOOOONNNNNLNONNLLMOMNMKLLLKJIKGHHIJIHIIIIIJFFGGJGHHHHGGFEFFGHGGFGGFHHGFGGGGFFGHIIgfhggffgjedefghghhgghgffged_^[XURRSUW\`agehhhhiebVQ<+3N^f_ZTOMKQVZimsorooqrpsrqrrsustsstvvwvxteE=CINOPUUUUTTTVUVWVVWYWVUYYZWXXXYYYZZ_Z[Z]\[[[[\Z\]_\]]^]__^^_]]]]]^^__`__``_^__]^]]\`abbbbbcbbdccccdeccddeeegffffefedeeeffffihihgghijiiggghgggjgeffffeeddegijghhhhiinhkhijjhjfeeefighhhiifeeeeffeefgiilkllmmnmnmkjkllkjjihljjlmmppqmolmkmkmkkkmjjiijmhkkikpmnllkmlljiijjnkjjliiihhihgiiijihjmjkiijlgggjhhhgfeeeeeeifgfhfhffedcdcccfdddeccddcccaaa_`___````a_^^`_^__`b`__``a^]]^\`]\]]]^]]\[\]\[[YYXXZYXVVVXXYVUUZWVVVUUUVVUTUTUTSQTRSQQQPPQPPSRQPPRQQQQRRPPPQOPPPPPPPPPNMMMMLLLLLNOOONPLLMONLLLLKMNLLLMLLJJHHHIIIIKIJHHJFFFGIIIIJHHFFFHIIHHGFFFGGFGFHGGHIGIIHHffgigfghhffhhighhgghhiihhgebab_\]^__`abdffhiihggc]XSB4=J[khgc`_\`chknprnooppposqqtsusrsstuuvvvvveF=AIMOQSRUTTTTVUUUUWWVVVVUUUVXWY[[[ZYZZZZ\^[[ZZ[Z[[\[\\]^^]]\\]^__]^\_`______``^\]^]\``bbcbbccddccdcccbcddfegffffeefffjgeeeeeghihhjhiiihffffffggefgefffefeehihghhiiijjfhiiiihjfeeefffhjiiheeffffffefhhijkkllmmnnnllkkkjjlkhjiklmmonmklllkkjkkkmlljjiiiiklmnlllllkllkiiiihijjhkiiihhjkkkiihghiihijjljgghgfihgfedegfefeefffgfffffdcdcfdccccb`bbcba____`^__^__a^^____^_bb_^^`__^]_\Z[[]\\[\[[Z\_^]\\YYXXYYXWWWWVWWUVWUUUTTUVUUUTTSSSSQRRTPPOOOQPQRQQQPPPPOONPPPOOOONPOQOONONLKKKLMLLLNMMMNMMMMMKLLLKKLLLLLLKKJJHHIIIIJHGHHHIGIFFHIHIJHGFGGFFGGHHFFGIGFFFGGHGGFGGGHhgggfgfihfggggfgeghhhhhhjhhgfffeeghgghjjiimmljniidc]ZVT^kkljijjjjllnsssoppsqqqrqqttsssuuvuzwyyxsgF=AHNOQTSUTTUUTUUXXYWVWXVVVVUYXYZ\\ZY[Z\Z[\\ZZ[^\\[^\[\^__^\\\]``_^____^_``_^_^]]]^^^a`cccceceddcdddbabcbcdceffffefifggghhhhglllhiiiikihhigfeeghffeeeeffeefhhhhjiiijjkihikihhjhfeddgfjiiihgffgffgfghgihijjjklmmmnlkkjnjjkpjjimlmlnmmlklmmmjkkllkjjkljijnlomllommkijjjiilhghkhjijjljjkhikihghhijnkkjihhhhfihgeeeeefffeigfgjfhgffffgegcddedebbceabbc_a^^___`_a^_`b_`__`b^_]`_^^]]\\\\][[[_Z\Z\]^]][ZY[[ZZZXXXWVVVUUWUUUTTTUUUWTTRRRSRRSSPRPQQRQQRQQPPOPRPNNQPROONNNPPQPOOPMKJJLNLLLKLKLMMMMMMMMMMLLKKLLKLMKJJJKKKKIHHGGGHKIHIGGHIHJLHJGIFEEIIJGFFFGHFEEFGIGIHHHHHhhhhhhgggegfgghhhgihiiiijiilhhhhhhgfghiijkllliiiijfd_]akklmnopllmpporqqopqqqrsrqrstrtuuuuvvvxwxphE<@EMPQRRRRTUUSUUWZXYWWWVWYWUXYYZ][ZZZZZZ[[ZY[[\\\[^\\\\\]]]\\\\]]\]^^^^\`__^_]^^_____```ccccbacbcccbbdcdceddfgffffffffggggggiikfgfiihiijiggfffffeedeffffgghhhijkjijjiljihhhhijgfddfffgikihgffeeeghhhhjjjjjkmmmmrkijjjjkjjjjijmlllllmoomlljjjlkjijkkijkjjkkkjollkjjjiihhhggihhijjllllighhhgghiklkjiiihhgeggfeedeeeggefffggffgfffedcfaddeecbcbbaa_`__^_`_^_`b__`a`___`___\^^_`^\\\\]\[[[\ZYYZ[\^]\[YZ^ZWWWWXWVVUUTUUTTUTTTUUWTTRRSRRRRQPQPPQRPQSPPQRPPOPONNMOPNMOOOONMONNLLLLLLKKKKJJLLLMLLLKIKKLNKKKLKMLJIJJKKJKIIHHGGHHIIIIIIIIJIHHGFEEEEEEEEEFFFFEDFGHGIJHHHHiilijhligeigihhhkiiijjjjkjjihimikiggkihjkkklmjkjjijhfjmllnpomnppoqsrrruuurrstssstssstuxxyvvvxwwshD;>CKPPRQSQSTTTUVWZXXXXZXXXXXXYYZ\[ZZ]YZ[[[[Y][[[\\^]\\\\\]^\\\b]^]]^^^__a___^^`^^____`aacbbbabdcecbbccccbecehggfggfgkffffgiiihjgigjihhjiigdfeeeeeedehgffgikhhiijmikihjjkjijhghgfdefgghkkkiihfghhghiiijjijikmkmnnkjmlomlkkjjjijkmmlllmnmlllmmmkjiimmkllkjnkjjolmkkkihhgghghkjijkkkkijjiiihhhikkjjiihhhgfeggffeeeddfgedefggffgkhhfddefgeeebbdbcb`_b`ba``a__`bab`cab__]]_^^_^_`a``]\\\[[[]YYYYZ[]_\[ZZZYXZXXVVVVUWTVVVSRSUTUUXTUSSQQQRQPPRPPQRQSRPQRRPONNONNMNNMMPONMMNOOOMLMPNLLKLKJJKLKLLMKKKLKLKJKKJJKKJIIJJKKKKLJJHHHHIIILJGHHIJJKGHEEEFFFFEFFFFGHEFGHGGHGHGGiijigeb_begghhhijiijjkjkllljkkjijjihiiijjjkjkjkkkjjkkkklmoooljklpqrprstusqsttssttttsuvxvvuvvvvwvfC:=CIMOPPPRUUUTVYXZXXXXXXXXXXXZYX\ZZZZYYZZ[ZYZ[[[[\\\\[\\][]]\\]]]^^]]^^______^^]^a```_`abgcbbcccdbccbbccdeeeheffgfghggfeffggihgfffggihhhigffeeggfgggghhgghhghjiiihijijjjiijhhhggfgghhiiijiiiiijjihijiiiiijkllmmmljjjlkkkjjjjjjkmmkkkmnnmlmmmmjiiknmjjikjnijkmlllllihhhghhhjkjllkkkjjjiiiiihjiiihijhgheeegjhifeegdffeeeeghhhggggfeeeffeeecbddba`_a`baabba``a```aa`_`]^_^`^]___^^]\[\[[[]ZYYZ\[[^\Z[Z[ZXXWWUVWUTTTTRSRRRSTTTTTTSQPPQQOOOPQPPPPPPPPQQPNNNONOPNMNNNMNMNOMLNMMMNNMNNNLKKKKKKKKLKMKKLLKLJIIIJJIHJJKKKJJJIHHHIIJIJJHHHHHHHGGEEEFFFGGGFFGGFEFGGGGGHFFHjikifZVZ_hjimiiilkmjllnkomnkjjijlkkjjjjknlllnklkllmkkklmmmmnnjdjoqrrssttsrsttsstvuwuywywxwyvwwyveC9<BJMPPOPSUVVWXWWXXW[YXWWWXXZYZY\ZYY[ZXYYZ\ZZ[\\[[\]\[\]^[^^\\^^^^^]_^_`a___b_````c``````cdbcbbcdbfcbcdcefeehffffgghhgiehfefihggggggjiiiiffddehfgiijjhhhhhhhjjjiihijiinjjiihhiihjffhjiijmiiihilllikkijjjjkjklllmniijkkjjjjjijklmooollnpmlmpnnkjknnmjijjjnijknnnlmlhhghhiihhkkkkklmljjjkijihiiikijjjhiefegggghfffefffeedgkknghgjhhfehfffedddbaa``bbbbdceb``a`d```a_d^^]]^]]_`_^^]\\_[]Z\\[Z[\[Z][ZZZZZXXWWUUUUTTTUSTRRQRSTTTTTRQRSRROOOPPPPRPQQRPPPQMMMOOQPMMOONNONPOMLNMLMMLLMPNMKKJJKJKJJKKKLLKJJHIIIIJKILKJKLKKJIHIHJHGHJIGGIHGHGGJGGEFFFGGHFFIGFFFGGGHFGFFFkjjhcNKKaijijjiikkkjkkkkmkkkjjjkjjjkjlllmmllmllllmllmmnonmle[T]ipsrusrsrsstsssttuutuwvwwxwwvwwvteB8<CILSOOPSUWVYWWWWWW[ZXWWVWXYYZZZZYXZ_YYYZZZ[Z[Y[]]]]\\[[[\^]\]]^\]]_^^_____`_````a``bbbaaabbaaacbcddccdeffefhfhfhffgfeeffdefegihdegffggffgddehggjighihhhhihjkkhhhiiiiihihihhhhhhghhjiijjijkjjkjjjkkkkkkkklmlkkikjjikjjjjijhjjllmmmlllmlmnnnmkjmlmkkkmljjjjjklkkklihhiijjiikigkiklkjjijijihhiiihhhihgffefffffefjhgggfdefhiihgdijggggfddeeddbbdb`aabbcdcbbdbaa_`````^^]^_______^]\\\[[Y[^]\\\[ZZZZZYYYXXWXTUVUTTTTRRQQQRSSSSTTQQSSSRNNMOOOOROPPPPPPPLMMOOOONMONNMNNOONLMMMMMLLLLLLJJJKKJJIILMLLKKKJJJIHIJKIJKKKKJJIIIJHIHGGHHGGGFGIHGHGFFFFGHGGGGHHHHFGGFFEFFFFnkmj_F=JclnjkkiijinmmmlmpjkkjjiiijkkjkmklllmonnmnllnooopolkaJJUjpsqrssuvuttsttuvvvvu{wxwzy|xzxvudA7;DGKONOOSUWVVWWWXXX[ZZXXXXXYZ[ZZZ\[[ZZXW[ZZZZ[[[^^^^\\[Z[[^^\\^]]^]`^a^^^aa`a````b``aaa`abbbbaafbbeecbdgfffefffefgggeddeeddfehghddeefghgfhdffjhhhjhfgiihhkijlkhjhjjkjjiiiiijiihhilijjijkjjjjkmknnlkllllnmpnnlnkplkkkjjjkkkkkkmmnnnlooompnmmllkkjjjkjlnjlkkkkmpkjkkjiilkmkjihhliikjjkkkjlihhjjigghhhggffhfefjggiighhgfffghiigfigggjfdeddfddccdgcccbbbcaabccab_c`aaaab__^_^`^^]]]\]][ZZ\\]\_[\[[ZZYYZYYYXYUUUWUVUTSTQQRRSURRRSQQRSRQNQMOOQPROOPQQPPPNNNNNOOPMMMLMPPPPPNMMMMMLNLMLLLNKKJLKJILLMLLKLJKJIJIJJJKKMKJJIIKIKHHHGGGHIGGFFHGHGGFGHGHHHHHHHFFHGGGGJGFFHFlkjl]@>Jfollf`bdccgjhgmnmkgcdeddefhlkkkkhdfgghjnmllolkjijjc\D<UjqtsrrtvvuuusqqomllqsvwvwyyzxzzwucA7:DGJONNPTUWVVVUVXXXXXYYXXXWXZZ[[YZZZYYXX[ZZZY[]]]]\]\\\\\\]]\\]]\]]^^_]]^^_a`aba```aaaaacbbcdbabbcdccdfgfeefgfeeefgfeefegefeddefeddeffffeedefgggghhggiihghhhhhhhikiihiiiiiijijjiiihjkjlkiiijllikllllkmmnmmmljjjlllkkjjjklklkjmmnnnklmmmnpmmmllkjkkjjmljkllllnmkjlkjjjlikkjihhjkjjjhigkijihihfgggjhijjihhefeiiiihghhgghghkijhfghggifffdddccccdgdcbbbbdaaaaa``_`^aa```^__^]]^^_^\\\\\[Y\Z[Z\\\[ZZYYYZYXVVXTUUUUVXTSURSTRSSSRQQQQQQQONOMONONNOONQRQRONOONNONNMNONMMMMMONMMMMLLLKMLLKKLJIKKJILKLLKHIIJJJJJKJHIIJLJHIIIIIHHKHGGIHGGGGHGGGHGGGFGHHIHHHFGHGGGFGHGFEEmkolZ<8LigiYSWXZ`ce`^enll^YYZ]`bcdeimgd_\^behggfemnkkfbehebK9<Vjsokmquyssokmonnjfipuwwyyyyyxyyyua@68CFJNNNQSUTSTUUUWZX\XYYXXXWWYY[\[[ZXYYYZZZZ\YZ]_]\\^]Z[\\^]]\\]a\_]]]_^a_^_babbabb_ababccddcdbbbbedcdeegeeefggggfffeeefeeeeedfeiefddgfeffeddejhhhhijgkhighihggghilihiiihikjjikkjihhijikhikhhjkkkkilnmpppnnllmqmmlmllkjjjkklkkmmqnomlmollnnmommkkkmkkmljjllllllkjlmjjklmmlnighkkjjnjjillmjiggghghhjjijkihgghiihhhhigggggihghkhhhgfhfefddccccedfddbcccdaabac`aaa_aabab``a`^]^^^_]_]_\[Z\Y[[]\][ZYYY]YXVUVVUUVZWWVTUVRWSRSUSRPQPPQQPOONNPOPNOOOPOPQPOOPOOOONNMNNOMNMMNPMMMMLKLMKNLMLKJJJJJKKKKMKKIJIKKKKIIJJJHILJJKIJHHHHHHGGHHGIGGGHGGGGGIHIIHHHIIGHGGGGGGHFFFFkkllW98QfdTIRVXSVTQNXdijWLMPWRQPRU]gd^TN^TXWY_[ZfoifXTZ]][SB8>Vidafjrvqmb_dhec]X^evyyxyyyxyyyxytb?58BFKMNOPRSSSSUUVWWWWXXYXYXWXYYZ[[[YYZY[ZYZZYYZ\\\\\\][[\[\\]_\\\[\]]]^^_`````a_____`aabb`a`cdcccccddfeeeeeefffffffiegeeeeeccdcdedddcgfefhedeeghijiihfghggghhggghhhhhljjiijjjiihikihkkjjihkiiikkkllmmmoopnnklmlklllllnnmkmmllkllmmnonmmjlmnmmomkllnjllklkmllllmmmlkjkjjjjjjghhkljkkjjijkkkifgggeifggjijjjjjjiiilihgggggggfghiiggggffefeddcccdccccdbaddbca`a`aab_`baaabcc`a^]^^]\\\[YZ[ZY[[[[[ZZYZVXXXWVWWXWVWWWVVUVRSSSRRRSPQPQNPPPQNNNOONOMNNONOPONPPPPOOOONNMLMLMNNMMLMMMMLKLLLOKJJMKJJKJJJJKIIHHIKJJIKIIIILJIIIIHHIHGGGHFHGIGGFFFGHGGGGHHHHGEGGGGGFGFGHHGGGlkjkU78TeOBJ]_d\WQDHTijRCHQ[gZPHAJXa`LER^\YVNJHWihdODQV__\QE9@VjZSRhurnYP[^ea_TVZl{yzyzz{yzz|z{tb>36AEJMQQPQSSSSVUWVXYYX\XYXYWWXY[[ZZYYYXYZY\[ZZZ[\\]^^\[\_[[[^^\]]\[\a_^^_``a``a__`a_a`aacbdbecdceegefdcehgfeeehgggggedeffddcbdccfcddccceffffhfegkijihfggffgiihhhjiihhhhikijikijiiiijkkklllkilijjikmmooopponmmmlkmlmmnmmllmonnkklmmmmpnlllnsmlmolmlnlplllklnmnmmmlkkjnlljjkkkmjkljkklmkjkojiiiikgjhhhjjlkjjiiiijljihhlhjfhfghhggffgjfdeefeeechcdccebbdebaaabbaab``baa`_^```_^^^]\[\ZY[\ZZ]Z[[[Z\Y[XWWXWWXXXYYYWYXWWVUUSSRRRSQRQQPQQRQNNMOPOONNOPPPONMPPOPOONOOMMLNNMMOMNNMLLLLLLLLLLJJJJJNKKJJKKIJHHIKJJJKIHILJIIJIJHHHGGIGHHHGIGHGGGFGHHHHLHHIGGJIIGGFHGIHJKJHnmkiQ5:VPA?N_ife\OBC^lU@AI[igdVD=?ZeM<I_diebP@DVkfO<FS`mhgZM;AZmTAMflmWFQ\gqmlb_hy{zzzzzzyz{{{wsc=25@EJMORPPQQRTUSUVWYXXXXXWXWWWX[ZYYZYYYYYXXWYYZZ[]^\\\[[[Z[\]]][]^\\__^^`a`bbc`__```````a`aaaabcdeedddddgeddfeihhihgffeeeddfddcbcacbccccefffggeehiihffghggiiiiihhhhigghjkiihiiijiiijjjjkkkkiiiiijjkkmnnqponlkkjjkkllkjkklkkjllllkkklnolkmoollmmklllklkklllomnnnnmklikkkjkkkjjhkmjkllmmmkkijjjhggiiijjklkjnljjkklkkihhfgfhgghggghggffffeeeddcccccdecbdccba`bbbba``bbb`__```ab_^]^]\\Z\_[YZZZ[[Z[XZXXXXWVWXXYYXVVTUWUTSSSQQQRRRQPNQRQQOOOPOLPOQQOPOMNNNNOOOMOPNLKKNMMKLLNKLKLLLMLMMKLKJIKLNJKKJIIIJHIJKJJJIHIIIHIIJHGGGFGFFFGHHHGFHGGIFGGFGGHFHIHFHIHFFFEEIHHGHIonoiM4;VO=>VnkkieI:Jj]J<?WokjfcE7@[O?=RbnllcT@B`nR>;J_nmokhP>A]\OCIiqVCEUhzwvqovzz~{{{|||||{{|vsc;14?DIMNPOPRQRUUTUVWXXXYWWWZXWVVVWXYY\Z[YXXYX[[^ZZ\^\\\[[[[\\^]_\]]]]]]^_`aabbbaabaaab```c_aaaaddddeefehefeeeffihhhjeefedggfeccdcbbeccceceehhgeeefghffffhhgigggghhhhggghijiiijikkljlhijjlmjkjhhkilkmkkklmpppljjijkkllkkllmmmkllmljkpnnmlmonmmmmmllljklkkklmommmnmmmljjlonnkiikjljhjmkklnllkllmigiliijllljjmqklkkljkkggghiiiihjhgggfgggdcdhffdbbdddcccccebaaccbc`_`ac`a`b_``ca`^^^_]_]\\\ZZZYZ]Z[XZXXXYWXVWXYXWVUUUTSSRRSRQQQRRQQQRSRQPOROOLPPQONNPNPNONOOROOONMLLNMLJKLNMNOOMLLLLMKLJIILMMKJJJIIILIIJJHHHHHIIIHIIKHGGGFIFEFGGGFFFHGGGFGIFFGGHGGIHGIIGFFEFIHHHHIomoiJ4=VC4DcnmorfFDR`\D5JhnomicE6B[J>>[lnooeK7Eh]G;=VqpqppkS>@\`L;Ii]HAG`xuuvvvwz|}|}|}|||}~||ytd:02=CHMNOOORRRTTVVVWXXXWVVVXYWVUUXXWWYYXXXXYY[[[ZZ[[Z[[\[\[\^\\]]\\]_]]^_```bbca`bc```__``^bb```acccefeedeeeeffifghgeffeegffeeedbcccccedcddeffeeffegeffghgfghgiijhghegghijkkmjijjjiihijjlkijiihhhkkjjihmklllkkjjmkllllllnmllklmlkklllmlmpommpmonmlllllkllmmmmmmlkmmljkmlkkkjijjjiiijjkkmlkjkllliilijjkijikmmkklkmkjiggghgigffghgfffggfdddefeebabbcccdcba`aba`aba__`b_a_^^`aa`_^___]]]\[\[[ZZZZZ[XXXWWWVVUVXXXWYVVTSSQRRRRQPQPQRQQRRRQQORNMMPNONNNNNNNNMNNNONNMLMMMMLJKLMLLLMMMMLLKJJJJIJKKMJKIHIILJJKHGHIHGIHHHHIIHHHGFFFFGGGGFFFGFFFFGGGGGGHGGHHHHHHGGFFIGHJIKsoohG4>BA=JbmprqeIEZqY=DYgurtldC6E\F8CdjrpqcE>Ig`>4GiptrspoQ=@[aJ@Ii]B9Qrwyxz{|||{|}€}€€€}€~~}{vc:/1:DGKLMOOQRSRSVWVVVVVVVZVWWVVUVWVVWYYYWXY[YZZZY\[\\\[^]^\\[[\\]\[\]]]`_b`_aabaaea_acba`__ba`_^_fccefeecgedfggigggihhfefhgffhfddfdcccccdcccdeffghgghiijhgffgghiijghglhhjkkkjijkkkimmkjjkkjlhoiihkkjiijmkmnmmmkljilkllkkmollmpljjjjjkllnnmlkmmoqnonnmmlooommnnmlllllllmmlllmknnmjjiijokmkkklllkjjlmmjnjlmmmnjjlklmjjhjjjhhhigggifdeefhfeeeedcbadddccbbcbaaaa``ac___c_a_a^___`b^a___`][[\[\[\]]ZZYYZYWVVUUTUUUUWVUTUURRRSRUPRPPPRRRRSRSSRNMNONOOOOPNNNPNONNOMONLLMMLLLLLMLKLKLLLKKJIHIJJKJJIHIHHKLLJHHHGGGHGIIHHHIMJIHGFFGGGGGHFFGFFEFFHHGGGGGHHHHIIIHIGFGIGFGHHqppgE4E[G;Kapv{„oNQiiYLJ\hsqrsaA;GPEEF_hqqq`B:Nh^9=QgpqqqqmQ9?^dH:IfW9=]pwwwz}{{|}}}}}|}}}}zxa9/1:EHJLLOOPRQQRVVUUVVVWWVUVUUUUWVVVWXXYWWZZXYZ[X[YYXYZ\[[]\[[[\^\[\\]\^^_``aaaaa`__a`^____`a`___bdegfdddeefggggggeghheeghifeeeedddcedccddedeefhhggghiggghggghjiijfffhhilkkkiiijikijkklkjjihhhhihlkjhiijkkkkkkiigilkkkjklmmkqnkkkkjklllnnmmmmoppnnnnllllmnnmlmllmlllkkllllmmkkljhjkigjkkkklkkkjkjkkjjlkkkllkkkkkjljihhghhhghhhhhfgiggggfeededcbedcccbcdbbbbba`^```_`^^^^]__^`_^__`__\\\[Z\Y[\\ZYYWUXXVXVUUUUVVWUTTRRRRSSQQPQPPORSSSRRQPOMNOONNONNNNNLONNNNOONNLLQLKKJKLLKLLKMLLKKIIIIIIIIJHHJIHIIJJIHHGFGGGHIIIIIJIJHGFFGGIHHGHFGGFFFGIGGGGGFGGGGIHHHHGGHHFGHHHqqs`C>JXQLL`tz…†yPSlzhSTajopsp_:5L`L?D[honqX?:Ui[>=OemoprqlH5@`bF9IeRABZns{y~|{yuwy~~‚€€~|y_8.1;DIIKMNOOPQRRSTUUVUUXVVUVTSSSUVVVVXXYVVYZXXY[Z[XXWWY[ZYZZ[]]]^\\^]]]]_^``abbaab`__``__^```a```acgfffggffhhhghhifkhgeeeeedefegegecegffdefgeffkhggggkknijgghiiljkggfgghjjjjjkikkjjjjijlijiiiihmmljjjjggjmlnlljiiiijknmmmmlllkkklnljlnmooomnorpponnplnllmnnolnnnoolslnlklonmkkkihjiihjjklmmkklknkjjjkommlmmkklkkkljiiihgijihhihhhiigggggeeegdcceccccdddbbbafa`^`````_a_]]__^_`^b`a`_]`\[[[YZ[[YXXWW[XVVVVWTVVZWUUURSRRQRPQQQPPQRRSRRRQONMOONNNNNNMNPOONNNNNNNOKLLMKJKKKLMMLKKKKJIIIKIHHHGIIIIJJJIIJLHHGIHKJIIIIIILIJIIGFGIHJHHHFFIGFFGGGGGGFGGGFFHHFGHHHHJIJJIIrqqYC=Sk\RV_o€ƒgMVozƒgWasponmS57P\]METiomnQ<:[icCCMailmorY?9Be_E:LdUACWkpyz{|ohmq|€€€€}|y^7-09AFIJONQOOPSQRTUTSTTTUUUTTSSTUVWVVWWVVVYXXXXYXXXXXXY[ZZYZZZY[^\]^]]__^____`a`aa``^`a`````aaaaabcefffhkfgfffgfffeeffeeheeedededeffffccdefeeefhiihggjjjihghhhhkikhgggghiiijmjijkkkjiiiiijhjkjijljhhhiegikklmlljjiijkkknolllllnlllmlomkmlllnllmoponmllllmnmnmlklllllllmkklllkklhfgghhijlnmqlklllkjjjjllllmmkjllkjkljljjjijiiggghiiihghhgfffgccccccbbdcbbcc_`a`]__`_a___^]^_^^`^___^]]\\[ZZZZ[YWXXWWXWVUTTTTUTVVUTSRRQRQPOOPQPQRQRRQRSQOOMLMMMNPONNNNONNNONMNNOLLKKKKMKJKKKJKKLJIIIJJGHHHFIIIIJHIGHHHHHFGFGEIKIIHGGHIHHGGFGGHIHIGFGHGFGGGFFEFGGGFEFGGGHHHHGHHFIJsrp\ENdjkfaelxr\VYsƒƒzjcholk\H4;Vib[TQ_olmM:GahiSFK]dnml`N94IjaDCQbfPFRinwvvl`Z[o€€€€‚€y\5+.7BDGJNNNONPPPQUTTRSSSSSTSTTSUUUXXWYVVVUVUVVWYWXXYY[[ZZYY[ZYZZ[[]^]\\^^a``^_``__`aaa```cbbaaabcgeefffhgffgfffffgeefifeeeefdeeeeeedeeehffeeeffghhghhliiihhhhlkjijihhighijijjjiiikjiiihhhjkkkkljjihkgiilkjlklkkjjijilkknmllnnnnnlkmmmmkoklmnllmrppnnmllmlmmrmklmlmmmmlllllklkkkgghgghijnmmmlknllllkjkklnlplkjlkkjijikiihhjijhjhhikijhihiffffbfdeccbcccaabc`]_`_b```a`a_`]]^`^`^^^^^]][[\\[[ZZYXXXWXYWXTTSUUVUVVUTSRQRSQONOPRQSQPRTPRSQOOMLMONNOPNNNMMNOONMMNNOMMLMMMLJKLKJJJKLJJJLIJGIIIIIIIIIJKIHHHHJGHIIGHIIHGGHIIHHGGGGGIIIIIGGGHHGGGGIEGGIFGEEFHHHHJHHHGGIIssra_\iqnkmnpssi`Wex€†~ynegfjWG5>Zgjfc_^negKKOcskaWM]^cd_VM8BRbcJEYqi]TN]knsh`YQap~€€€€€€wZ3*-7CDFHNMMMMNOOPRRRQQRSRRRSSSSTUUWVUVVVXVYWWVWXWXYXXYYYZZXXXXZYY\[]][[\]]]^^^_^^___`a__aaaaa``acedegffgfeegfghgffeeffefeedeeegfffhgfffffefeegghhghhhhgijhjiijiikjhhgggggggjiiiihjjigghhhiikijkjjiggfhjklkklllkjijkklllllklljjjkkkllllkljlonmnnnnnnnoonnomllkllmknnoplllljgijjjjjhghihjmnllmllllmkkkkkkllmmljkjkhiiijjiihiiihhhihihihhihghhfcfbcaabceca`aaa_^^^__`_____`^]^^]^^]]]\\][[[Z[^ZYYZYYWXWVUTSSTSSTVUUUSSRRRQPMNPQQQPPPPOPRPOOLLLMMNONNMMMNNOONMMMMMNMLLLLLLKLLKIJKKJIIIGGGHHHHHIIIJJJIIHHGGGHHGGHIIGGGGFGGGHGGHGIGHHGGGFFEFGGGGFFEFFFHFEGHGFHHIJHHIIsssigjutsrrrxxylimqv€‚~~khgh\G;AdupoljjkiaZWbsqtlld^^_eXUMLO`rgQXgpsjc]Zlff]^Ubqx‚€€€€€€€€€wX2(,9?DEGHIKLMONMOQQQPPOPRQRSSTTTTUUVVVUUVTVYWWW[XXWWYYXXY]WVWVWYY\[\[[[]\\]___^]^`^^_a^^__`bacaaceegfefgfeegffghfeeeeefifeeefffffffeefeeeegggggkggggghgihghhiihhiighggffgiihihijhmjihhhkhiikihhhihfffgjkkklllmjjjjkklmnnlkkpjkjlkkllllmmkklklnnnmroonlmonmlllnlmlonmmlknjhiijihihhhiihikmnmmmolkkjkllooomnmnjkjkjjiikkjkikilihhkiiijgghhilggggddefcccca`ac`_`_^_`c`e___`^^]^^^]_^^\[\Z[\ZZZ[[\[[YXXXVTTSRVTSTVVUVTSQRTQQNNPQQQPPPQPOPRPONPLLMMNNMMMQPQPPMLLOLMMMLKKJKKLNKLJJKLJIHHHIIIHGGHHGHKKKIJHHHHGJGHGHIKHHHGFFGHGHIIIIHHGGGGGGGFFGGGGGFFFFGGGGGFGJKKIHHGJssqlnrtssrrrtvummoruyz{|sjgie`J;Mlrsrpqrtvkhouvwupnmkhgfc_`bjqmkkiqzvsqomlkie`eqy€~€€€€€€wU1'*6=CCFGHJKLLMLMNOPQONOQQRRSRRSUTTSSTWUVUUUUTTTUVWWYWVWVWWVXVVWYZ[[[[[]\\\\Z\\\]]\]]^]^^_`a```abdddfdegfeddefefgddcbgefffffhfeeeeeeeeeeediffffgggffffeffghiihghhhggggfffjghiijjgmjijhgghjjhggggggggjiijkkkljkkjiknkkmomlkikkjjkjknmkknmklnmlmpolnmmmllmnnlmnlkllmmmmljkjiiihgggfghigiijkmmmkollklmllopmnnlkjiijkiijkjjihhijihgiiiihhgghhieeefedcccbccbaab``__^_`_^a``__^]]]\\\]]]^\\[[[[ZYYXWWXXWWWWVWSSUUTUWWWVTSSRRRPNOOOPPPPPPQPOPQONPKNNNNNKMMMMNNNMMMMLLLLKKKKLKKKKKIJJLJIHHKIIHHGGHHHHHHJJIHHIIFHGHFGHHIHGFFFFGGHJHFIHHIGGGHGGFFFHHGGGGGGFGGGIGGKIIHHIIIstwvttvsvvvtsssooqutwy}xkebhb^NPWqzvuuuvwtsvxw{z{wusrrrqopqsuv|ttu~{xwwvvxzvsuwz€€€ƒ‚…xS.%(3<ABEFGHIJKLLLKKKMNNNOPOOONPSTTUURSUUUTUVUTTUTTTTUVUWXYWVVUUUWYXXY[[\[\\][[ZZ^_\\]]]_^^`a`a`cceccbbdgggdddfedcabbcgehgggggfffeddeegfeddeeeeffefgfddeeeegkjjhighgjhggigjhiiiijgliiiiiiijhgfighgigghhijkklnjilijjkjkonmmnkjkpjlkkmnljnlllklllnpnpnrmlklmplmlllmkllmmnjlkljlghhkhjikjkjjkmmmlnmmlomlmonmmnlmiijijkkkjjihhhihhmhhhkihhhgihifeegfcdbbeeebbbd`b``_____aab`a_]]]\]]\]\\\\ZZZZYYZYWWWWVVUWUWSTVTTUWWXUUSRSUQOOPPQQRQQPPPPPPPOOOMNMMMMMNNMMONNMONNLPKLLKKMKLKLKIHHJKJJHIIGHHHHIIIKHJIJJIIJHIFGGHGGFGIKGEFFGFGIIGFJIHHGGFFFFGFFFHGGGGGGGIGHHHHKIIIJIHIstutttutvuututspqruuvxyunbfgf_]]gvwwvuxyxuwxxxxxz{xvuuutuvvvwyywx|}}|{zz{{yyz}}‚€€€€€ƒ‚‚ƒ‚ƒ€xP+%&1:=@BEEFGHHIJKJIJJJKLMMMNNNNPSRQQRRSTSSRSTTTSSSUTSUWWWVVVWVUUUVUVWY[[[ZZZZ[ZZ]\Z\\\]]]^a````bcddbbcedbcdddedcabcbceegfghhhgfeeddedcddccdcbfggdefeddgeeefffgggggghgfffeffieiihgiiiijjjghggfffghhhgghhjnmlmijllkkjkkonnnmjijjjkjklmllnnnllllmnnmmmomnnkjplmllijjjkllnjmlljighhihiiihkjjkkklkmlmmmlmmmmmmllmijhjjlkjgjiihhhhgihhhiihhgfgihgffffeebbddcccccaba`__^_a_^^^`a][\Z]^[Z\]]\[\\\YXY[WYWWWWUVUWTSSSTUUVVUUURSRPPPPRQPPPOOOOORPQQPNMNMMMMONNMLMMMLMONJKKLHJJMKJIIJIIIIIIIGHGGIIIIKIHHHHHIJIGGGHGGFHHHGGGGFGGFGGJHIHGGGGGHIGFGEGFFFHGGGHHGFGGGIIHHHHKIIHGtuutwtutwvvtussrvvuuvxxurrrrrolruwzxz{|z|{{{{yxz~{|{{{{||}}||{{|}}}}ƒ€‚‚€€‚ƒ€€‚ƒ‚‚‚ƒ‚wM)"$-7:>ABCDFGHHKHGIIJIIKLMMMMPNOPQPOQSSSRRRRRRSSQQSSRTTTUUUVSRTTTTTUWYYYXXXXY\ZZZ\[]]]\\]^__`__bbbbbacddaacfffccbbbbbedjggggghffegcccccccbceagggdeeeddefgfefeeeggkkkfhefffeihhhihjjjiijjgigffggggffggkhhihlmljklklmlkoopmmklkljkjlmmmmmlkklolononnmpmnlkkommlljjjikllmklmojjjiikiiijjjjjljjllmmnmlmmmnmmlqmmkkkjklkjhjkliihhhkjjjihgggggghgfggfeeccfcbdfccccab`a``_^^a_`^\[\[_[YZ]\_]\[ZZYXXWWWXVTUUUTWUSTVWUUVVVSRRSSQPPPQSQPOONNOOPOPOONMLKMMNMMMLLKLOLMMMKNLKIJKMKIILJKIIHHHIHHGGHHHGIIIJHHHHIIGGGHHHFHHIGJGHGGFEEEGHIJHHGGHHIJGGGGFGFHHGHHHHGJGGHJIGGIHFGHHrrrssrsstvtsrrrssstwwxvtqrsuroqwwyywzyyz|{{{{yz||{{{|}{z|~~}}|}~}~~‚€€€‚‚‚‚‚„‚ƒƒ‚‚ƒ…uJ'!#+48<>?@ACDDDDDEIGFGIHGHJIJKKLNLLLLMMOQQPONNOOONNPRRRRRSVSRRTSTTTUWWWWWWWWWY[[Z[[[[[[\]^^^^^__````_abb`abbbbaacbabbdeedddfggefcfccdbccccdcaddcbcddgdddddcdddceefggeedffeehjhghhihiigfiggeffhjhhgehggeghimmnlkklllkklmlkjjlkjijjlmmlmmkkklklmmoomlnmmjkkllljjjjljnllkkkkkkkliijjjjijjjjkkjkllklllnnllmllqmlmkkkkkkjgkkkiighhhfffggghgfggffgigeeedccccddccbaaa^^_`]]]^]^]\[ZZ[XYY[Z[][[ZZZZXVVVVUUTVUTVTTTXVUUVUUSQRPQPPPQQRQPRPPOONMNNNNNKLKLLMLMMLKKKKKLLLJKKJJJKKJIHIIJIHIHGHHHIIIHGGHHHHGGGHHHGGFHHHGHFGGGGFDEEFEFGGJJHIFGIHFFGGIGFFFHHHHHHIGGGGHHJGFGFFFHEqqqqrssrqqrqoprrtsrssstsqrvvxwwvwwywzz{{|}|~{}}€~~~|}}~~€}€€~€‚‚‚„ƒƒƒƒ‚‚ƒ‚‚…ƒ†††„ƒƒ…„rG%"*67<;>=>?BBABBCEGGFEFEEEHHKIIJJJMLLKMMLMNNOOOLKLMOPQRQPQPPPQRSTUUVWUUVXVVVWXXY[\[ZZ[[\`]]^_^aaa`__cba_bcdcd`abaacddddddfghhgggfeccb``abbbbdcbbcdddddhcededcegeeffffefehhhiigghgghhffhfffggkhhhigihieghjmplnkjmlmnmmnlkjjlkjjjjlmomlkjkkklmpmonlknmlkklmmlkjjijjkllrmqkjjmjjkllojlijkkkgjmklkmllmolllnnqmmljkkkmlmllllllgjihihhhhhhjghgihghideegcacgdedcaaab^]^`^[^__^]\]_[]]\[[ZZ]YZ][[ZXWZVVUWWVVTTTTTTUUTTTTTTURRQPPPPRPPQOOMMMMMMONNLKLNNPKMMOKJJLLMLKKJJJJLKKIIIJJLJIHIGIHHHIIIGFGGIHFHGIGFGGFHHHIIFFFGFEEEEFEHGGHIIIFGGGGIIHGFFGFGGGHJJIGGGGGHGGGIGFFHFijjjklllllmnmmooooqqpoprsrsvrqrttuvwwwx|{zzzyyyzzz{}{z{||}}}~~~~~€„‚…ƒƒƒ„ƒƒ‚‚ƒƒ‚ƒ„†……€pD$"#-69==>>>??@@AAAABBCBCCBBCCDDEFGHIJJJJIIIIIJJIHIIKMMMMMNPOOOOQQQRRRSTTTTTTUWWWVY[YYYXYYZ[[\\\^^][]]^^__`a```abedbffhhknswxz{|{zslhcb```````aabccdcccddbeddbcfedfcddfeefhghhhhggfeheegfegffgjfghgefgffggkkljlkknmmmllpljjkkjjjjklllmlkkjkjklllmlkklklklooolkkjjjkkllllmlkjmijklkkkkjjkkljjjikknnmllkllmmmmmljiijkmljjklnkghjihijhgggfgggggggebdefbcddddecaa`b^^\`__^]]]^]\\[[[[ZZZ[\ZYZ[[YXVVUUUVVVWUVTSSSTSTTTTSUTRRQQQPORPPQPONMMPLKNPMLKKNMMKKKKKKJKKLLLKJJJJJJKIIIJLKKIHHGHGGGGGHGGHGHGGGGGFFGGFHHGGGFFFFEEFEDEEHFGGHHIEFHHIHGGFFEFFFFGGHGJGGGGHHHHFGHGEEEabceeeeeeeffffffghjklllkknppoopqvuuuuuvvwxxyyyyyzyxxyxz{{{~~‚~~€~€‚„€€€ƒ‚………„…‚kB'#+19<=>@A@@?@BBBBBABBCBBBBAABCCDEEFGHFEFHHGGGHGGGHIJKKLMMNNOPOOPPRRQPQSSRRSSVVWWVWXXWXZXXYZZY[_]\\]_````accdeefiklpv{‚ˆ’ ¤§®µµ´¨™†rjccbab`c_aaadecbbbbbbeddcddffgdeegeefkghgghgefdhddeddgfffkggggdcddfghkknklllnnnnllllkjkljijjkpkklnnmjjkjjlmolkjllnllnnmklijnjklpmlmooollkjknklllknkklkklkklnmmlmkmlnmmmnljilijjjkllkkjggkkkjjgghijjjggfggeefeeeeecdfgfca`b_^]a^\\\]\\]\[[^^^[ZZ][ZZ[[ZXVWWUVVUUVUTUUUTSTUUTUTSSSSRRQPPPRQSRROQNMOLLNNLLLLMLLKKJKLLJJKLLNJKKKIIIKILJJJIIIIIJHGEFHHHGHHGGGGHHHGGGFGHGGFGGFFFEEFFDFEGGJFHHJGFGHIGFFFGFFGHFGFIHJHGGKGHHIHGHHEEFbedgdcdgecfefffffdeffffghghhhgjjjijklnnoppqrrrrrstttvwwwxwy{xwwxwwy||{|}{{||}}~~}~~}}}}~{eE06=AEFGGHHHFEFGGFFFEEEEEFEDCBCCDCDDEEEEEDDDDCCDDDEEFGHHIHIJKLKJKLLMMLLMOOOOOPQRQQSTUUVVWXYYYY\_acdfhknqstvxyz„‰”™ ¨±ºÀÇÇÇÈÉÉÈÈȼ²–€tjf`__`__^acbaacaabbbcbbddfacdefefeeggggfffeedccdgddehedfhgdecddefghjkkjljlnlkmmkjkkjjiijkkkllllkjiiikjjlnnmkjkllkmnnmlljiljkkonnmnlmnlkkklkkkklmkkmlklllllkkjklllmmmmlkjiiiikjlkjkkkiilkjkihfgghhiefffgffecedeeeffdddb```]]^]]\\]\\[ZZ[\^\[ZZZZZZZ[YXXWVUWWUTTTTTTSTUTTTRSPTSRRRQQPOOPQQRQOONNNNOONMLLJMKKJJJJJJJJJKKJJJIJIIHIIIHIJIHIIIIHHFFGGGGHFGGGGGGGGHIHGHFGIGGFEFFFGGDEEHGGFGGHHHHHHGGGGGHGGGEFFFGGHHGGGGGHHGGFEEGcdfededfgfgfgffffeiflihfigegighijhiiijklllmnmlkkkkmllmnmmnppppqqqrtuwuuuxwvxzz{||||||}|}}}||||y^HIMTYZ[ZZXVWWVTRQOMMMKIIJIHGFFFEEEEFGGFEEEDCCBEDDDDDDEFFFFGHIHHIIIKJJJJKLLMMNOOPSQRTUUVXY\^`cglrx~ƒ‰•š¢ª­¯®®¸ÂÇËÎÐÐÐÏÎÎÏÐÒÍÍËÐÌËÉÊÇŪ›„nea``__^abb`a``acccbaadefabceefdddgfefgffehcddcdeddefeefhfgghefgiikjkjlkklmknjiiijmjiilkhkklkjkkjihiijmmmllkklolmnqnmljjmjmkpprmnlllmlmllkmjjkljjnpmmlnlklmjklonmmlllkkijhhijjklmkkkkkkjjjkfffgihfffhhhfeefegfgffcdab`^]\]\\^\[[_\[YY\[[[[ZZ\ZZZZZXXZX[UXWVVWTTTTTUUTTUSSQTRQQRRQQOOQPPPQPONPNNOOMLLKJMKKJJIHIKKMJKKJJIIJJJIIIHHIHHGGGGGFGHGFFFFHGHHIGHGGHKIIHHGGGGGHEGFGFGEHGGGHGIGHGIIHFGHIIHHHHKFGEDFEGGGGGGGHGFGGFEFededebdeecddfefeeeefghgfghgfgfhfhhhhikkkkmmmkjkjjlmkllllmmoppooopotqrrsqsprooppoonmlmmmmmmmmmmgZRQV\]^`abccbbb`_^^^_^^[XWVUSRRPONNNMLLKKJHGFEDEEFEEEEEFGFEEEFFHFIHHHIHJJNMNOQSUXY[_chlqw|‚‡“𥰹ÁÂÄÇÊÌÎÐÐÏÎÏÍÏÑÎÍÍÎÎÎÍÍÍÎÎÏÎÍÍÍÍËÊÉÆÅ»¯“}tfd_^^_^```_`aabbaabaaaabbbbaabcdddeedddcacbbbcccdfgeddeeeeefiihiiiikkjijjihhhijkkijkjjkkmjjknljiijjjjkkkklomlllmnnmkkljmkmpqllllklllkkjljjklhkoommllmmmmjkkljkikjkjihiiihiikkkklmllkjjihggghhggfdddfefffeeeeeeaa_`_^]\\[[\\[[\\[ZY\[Y[][ZZYYYZZXXZVVTTTTSSSTSSSSUTQRRQQRQRSRURQOOPPQQPQOONNNMNMMLLJJJKIJIIIIIJIKJJJIIJKJIJKIIJIHHGGGFGGGFEEFFFFGHGGGGGGHGIJHGGGGGHEFFGFGEGHGFGGHFGIHGFEGIHGGFGGGFFEFHGGGGGFGFGHGFGGFGifhdebddedfdgfffeedfgidgfghhhghhhhihljjkkkkkjkkjjlonnmmmsmppopqptrvrssvvuuuvvuuusssqpomnqmjjika\W]cbacdeefgghihikkkihggghgedcddcb`]][XVTSRPNKJIHHIHHIHHIIHGHHHHHIIIJKMNORVZ_djpx‰‘™£¯»ÃÊÏÓÔÕÖÖÕÔÖרØÖÔÒ×ÒÑÓÔÒÐÒÔÓÒÒÓÒÒÎÓÑÖÕÔÔÔÑÑÑÑÐÏÏÏÅ©•mg`_a_a_`a`_^_^_`___`bcaaaa`bbddedddeca`faabedededdeddhefefjiiiiljljjjjijhghljkihikiiiiijiikmjmkljjjjklllmmmmknnplmmljmllmqlllkklllkmmmmnllmmlnnnlmlmmlklllmmlmmmkjimiiiiilkkjomllmkjihghhhgfgfeeejeghhffeeddba``^_]\[Z\][Y[\]^[Z\[[\\\YYZZY\YXXYVUTUSSSUTTUUSSSTSSQQQSRRRRRRQPPOPRQPPOOPONNOOPNOKJJKJIGHHIIKKJIIIIIJJJKKJHIJIIHGHGGIHIGGGIGFFGIFGFGHGHIHHHHIIIGHFGFEEGFGFDGHHHGIHFFFFGHHGGGFHGFFFHHHFFGHGGFFGHHHGIGfeeedcdcecddeeeffffhgifggfgigggggghhiijjkjiiihhgkkklnmnmmmooooqpqrrqsstssssruutttttsstuusqrsnlhefgedfghklljjkkkjklkkkkkkkkkkjiikjijihgecb``_][YWUTTUTRSRSTTTTUWY[^adhlt|„Œ” ©´»ÂÉÐÒÔÓÒÓÔÔÔÔÔÓÓÓÔÖØÖÓÖÓÔÓÓÔÔÔÔÒÒÓÓÓÓÒÑÑÑÎÎÏÕÓÔÕÔÑÒÒÑÑÏÍÍÍÌ͸¬’|rca^]]]\\[]`^]^^]\]^^^aa`_```abaacba```a`bbbccdccddcdeffgjihighiijjiijhfghjiihggijihjkiijkjiljkjkkjkllmnnqmlnomjjjjjknlkkkllkkmmkjkiklnnnnmmmmmkllmmllkllkkjkklijjjiiijhijjjnmlkkkihhhhhhjkligffgehigffefgdcba_]]]\]\^][\[\Z\\\[[[[ZYYYXXYYXXXXVVTSSSRSSSRRRRRSRQPQQRRRTSSQPPPOOONPPNOOOONOLLLKKKIJJIFHIHIJJIIIKIIIIJHIJHHIHIHHIHGGGGGGFFGFFGIGGGFGGHHHHHHHHHFHFFEEEFFFFFHIGGGIHGIFGGIHGGGHHGEEGFEFGFFFFEEFFFGFEHHeeeefdddedeeefhgggggggggheefgghgghhgjikjljihhikhkklmolllnoqopoqprrsrsssrrsstuuuvvuuuuuuuutssrrrqoihijklmonooonnnqqpnnprrqqrstsqpoopnmnomlmlmoliiijljihhijkmorx€ˆ™¦¯¸ÃÎÑÓ×ÚÚÚÛÜÙÖÙÛÚÙÛÜ×ÕØÝØÚØÝØØØÚÖ×ÖÜרØÙÖÖÔÓÕÚÕÔÔÕÓØ××ÖÖÖ×××ÖÕÔÔÓÓÕÖÔÒÐÓÅÄ¥|ic^\[\\\\\]]]\\]]^^^a_^^_^_`d`_`a`____``aabbbcddgcefgfggghhghijjlknhgfiijhhglghhijjjhiliiimjljijmkmmmnoonnnllkjjlkjknllkkklkqmkklllmonnmmlronllmmmmlkkikjjkllkkkjijijiiijlnmnkljihiijhiikkjgjgjfggffffffedca^_b^\\\]\\\[\[\[ZZ[\\Z[YYXWYZXYY\WWUTTTRRRSRSRQQTQRRRRRRRRRQPORPONNOPONNMMOMNLLKKKLJJJKIHIIHIJLHIKJHHHJHHHJIIIJIJHHHHGHHHGFGFFFFFGJGGGHGGGIGJHGFGHGEEFHGFFGHIHHGIGGGHHGGGGHGGFFDDEEFFGHFGFHFFFFFFFGFfhfeedeeedeefghgfefffgggfefgffghhffgghiilhiiijjhjjkllkklnopoonnnsqsqrqsssutvuwvvvuuwvvwxvuuttusqojiijjlnnnonoooopqppprrqqqqrrrrrrrrqrssssssttvwxz|ƒ‡Œ‘–œ¤®·ÁËÔרØÙÛÜÜÜÜÜÛÛÙÙÙÙÙÙÙÙÙרØÙÙÙÙØØÚÙÙר××Ö×ÖØØØ×ÖÕÕÖ×ÕÕÕÕÒÔÔÓÑÒÐ×Ô××××רÖÔÔÕÔÑÐÑËۦ‹ul_]YYYZ[ZYYYXXYX\^]\\\\[]^^__^_`^^^^^_`___`bbbbcdfeeefeeggikjihijhfefhgggggghmikjjihkgiikkigijjjknllmmmlkjkkkjjjijklljllkkkjjijklmonmlllnnnomqolnnkjlkkjiilkkkjijiiiijklkjkjlihhhghhhhikjhgfgeggeeffeeeecaaa`_`a]^]Z\[\Y\\\]ZYYXXXYXYYXWYXXUVWUTTRRRTRQQQOQPQRPPQPRQQPNNOONNNOOMMLLMNNLLKJLLJIIIJJIIIGIIIHIJHHHIJIHHIIIJIIIIGGGGGGGFGGFFFEEFGHGGGGGGHGGGGFGEEEFFFGGGGHIGHFIFFFFEGGGGGGGGGDDDEDEEFEFFFGFFFFFFFFgfffeffedefefgigffefgghgffjgihfgihliiiijlkkkjjijkkkkmlpmmosopnopsrrrrqssrstttuuuuuvvvwxxzuwvvvwqpkjklmnmopposqrqpqrrtrrrrsuuvvvvwwwxyyyz{}‚‡Œ‘—ž§±¸¿ÇÏÕÜÛÜÞÞÞßßßààààßßÞÞÞÞÞàÜÞÝÜÚßÛÛÝÞÞÞÜàÜàÛÛÜÞÚÚÛÝÜÛÙÝÚÛØÚÙÙ××ÖÙÕÖÖÕÕÔÒÕÒØÕØ×ÚØØ×ÚÚÙØÛÕÕÔÓÍȼ·š„sb\YXYXYXWWXXXWZZY[]][Z_]]Z[]_][[[\\^__^^^^_`bbeeeddfeegfkkjgghjieegggfefffhiijjihhkikkljiiihiijkllnnmllkmkkihghiklljnmljjkkjnmpmnmmlopomnpmnomnmjjjkkjijlkllmiklljijkklkkjkijiiimihghijihgggggeeefgfheecba_^^`]\^Z\[[Z\\`\YXWXXXYYYXWWVVWVXVUUTSTRSQQQQQRQPPOOQRRRRRRNPONNNNOMMKMMOMLLKJKKJIJKKLKIJJIIIIJHHGLKKJKIHHIIIJJHGFGGIGGGGGIFGFGGHGFGIGGHHGHHHGGFFEGFHGGGIHHHHGJGGFFFFFJIIGGGGFGDDEFFJFHFJHHGHGGGFFfffhfffffgfefggfefeefffgggggilhgghiiihijkijijijjkkjkmmnonooooooprrrrrqsrrrsuuuuuuuvvwwwvwvwzxvvrqlllmnnnoppprqrrsutstttttuuuvxyz|~€‚…ˆŒ‘—œ¢©³¾ÊÕÛÞßàáââáâáàÞÞÝÝÝßÞßàßÞßÞßáßÞßÝÞÞÝÚßÛÜÝÝÝÝÛÜÛàÛÝÞÞÛÛÛÜØÛÚÝÚÛØÚÛÔÔÓÑÑÑǽ½ºÅÏÍËÐÓÒÓÖÙØØØØÙØÚ×Ö×ÕÓÍÇÁ½¦—~g_WVTTUUUTSUXVTUVWVXYZZYWY[[XXYZ[[\^__```^^_`accccfddefhihffghieedeecddegfegjjffglijljihghhiiijklllkjkkkjkgggihhihhkokjkkkjmmlllllkokmlmommommkjhjmkllkkkkijikkkkjhjijijiijjiihjihhhikmiggfggefegfefdddcb_]__^\\Z\][Z[[[YXWXXXXXXWWWVVUVVUUUUUSRRSPRRQQSOPSPOPQQPPPPNMLNONMMMLKLLKKLJJIKJJHHHIIIIHHGGHIHGGGHHHHIHGGGGIGFFGGGGIFFGFFFFFFFGGGGGHGHIGGHJHFFFFGFFFFGHHHHHHGGFGFFGGFHJIHHGFFEDEEFFFEFGHGHHGFGGFFefhgfffghfffhgfffeeegfghjjkhiiihhiijlhiikjjjnjjknkklmnqptnnooonpqsttttvrsrsuuvwuzyyy|yyxxyyyxvvsrnmmooqopqutttstuuuvvvvvvxz}€ƒˆŽ”š¡ª²¾ËÓÚÞÜÝÞÞÞßààáááââââââââââááááááááááááááßáàßßÞßáàßÞáÞàßßßàÞàÝÜÜÜÛÛÛÝÜߨÛÎÍÈø®§ž‚s~”£¯¼ÈÎ×××ÖÕÕÞØÛÙàÚÛÛÛÔÖÐÉÄı§†k^TSRPPPQQQSTTTUVTVTUWYWXZZYXYXY[Z[]^\\\]]^]^_`aa`abddhgggfdcdebbccdddddddfhjffhkhghjimhkkkighkihjjjlljijhjjmhhimhjkkknmmmmlllonnnolmlmmmnnoollmmjklljiknklkkkklkkokljjknjiijhkilihjkihghgffeecgeffdbceb_^_`b\]]]]]\[Z[[[YXXZWXWWVVWWUVUTTUUUSRSSRQRPQTOORPPTPPPOOPOMMONNMLLNKKLKKKIIJKJJIJHHIKIHGEGGGGFFFGGKKKGFGGGIHFFIGIHHFFFEEEEFGGFFGGHJHHGFGIHGGFEFFEEFGGIIHGHIGGGHGHHHFGIIIIGEEEEGGGFFFGGIGIHGGIFGGffhfgffhfefffgffffffghhhhihhihiihjjjihihikkjkkkklllmoqpnnooooopssrsqrtssstuvvwvuxwxxyyyyxxxwwvvsqnnnooppqqrsstvwyz{{}€ƒ…ˆ’˜¡©³ÁËÖÝßßßàááâââáââââââââââââââãããââáàáâââááááââáßâáááááááàÝßÞáàßÞßÝÞÜÞàßÞÜÛÝÜÜÙ×¹ª›‘zuqdVVXr|ƒš¿ÄÈÏÖÓÓØØÙÚÚÚÚÚÚÖØØÒÌǾ´«ŽvdPMKKKMNOPQQQRRRQQRTSSUVUTUUUWVVXZYXZZZYZ\\\^a__`aa`bccbbbaa```a``aaaabcdffefjgfghiggffffgffghhhjghgjihfiiighhhhhilklmkiklllmknmmkmlmmlnmjkjjkmikkkiijklkjkkklkjlkjijmkjiiihhhjkkjiggfghgdefegfffedcdba`_^a]\[[[[\[Z[ZZYXXYVWUWVVWVTTTTTSRSSSSSVRQQQQPPQPPPPPRPOOPMMONNMMLLLLLKIIIJIJHHHHHHHHHGGGIHGGGFFFGHIHGHJGGHIGGGGHGGHHHGGFEFGFEFFFFGGGFGIHGHIGFFFFEGHIIGGGHGFFHGEFFFFFIHHGFEGFEFFFEFFFGGGGGGFFFFGgehghggffefgggeffffgggjhhihhiijhgiljjiihikllllmlmmonpqpooppooprsstvsrtxwwwwxxxxx|yxxz{zxwwyxwvurqoonoqrrrrswyz|~†‹‘—¡«³¾ÇÏÚÛÜÝÝÞßàáâãããââââââââââââââââãããããããâââââââââáâââáââââááááááàßàááááàààààààßßßßÜÝØÖ©’ƒrcXOGHN]nrlio}Œ´¾ÔÖØ×ÞÛßÜÝÜÛÛÛÛÝÔÕÊÆºµ˜cJFHJLKLLLLMLLNNOPONQTTTTTSSSTTWVVVYYYYY[]]\]]^_ab`_`abaa```^]]^^____aabceefddeihjfhegddgjefgggififjhggihkkkhgghikkjkkjkllmnlnnmmnlmmlmljmmmlnmljjjjkkljknlkkkkkljjjjjiiijjjhjjjjhhjfhhifefffgfffecdba`_^`^\[ZZZ\Z[[ZYXXXZZZVWVUUVTSTTTQQQRURRRRQQQRPQQQPPQPPPQOONNQOOOPKMLMKLJKJMJLHHHHHGHHHHGGHIGFFEFFHGHIGKHFFHHGGGHHGGHJGHGFFGGEEFFIFFFFGGHJHJHHGGFGGGGGGFGGHGGGGGFGFEEGGFFGGFGEEFEEEHGGGFFFHGFFEFGgegfgefdfeehghgffhhhgghhiiiiihhhhhiiihillklmlnnmllmlnnpoonpqooqprtttstuuvwwxxxxxyzxxyzyxwuuuwvurqoooqsuwz}€„Š–¥®ºÇÖÜÝÝÚרÙÜßßÞÝÝßâããäãââàÞÞßáââããããââãããããããããããâãããââââââââáââââââáááâááàáááßáàßÞÞÞÜÛÚÙØÒ®¥|w_RJ@>=IqnŠhefhlr…”§ÀÆÑÔÖÛÛÜÞÞËÏÍÏÒÐÑÍĽ³œ…gIC>AGILLNMKKKNMMMMMOOOOPOOOPQRSSSSSTTUUVWXYYYYYYY\_^]\\][[\\\\[[\^^_``^`acdcceieccccccgfeedegffgeeefgihhhhffgghhhjkjjkmlnllnnmmlmlnmmjiigijjjjkkikiklkmmlkklllkkjjjijiiiiihijjjihhgggfgehgffeeecbcba``a`^\[ZZZ[[Z[ZYXWWWWXVVUUTTTTTTSRRQQQQQQQQQPPPQQQPPOOOQMOPNMLLLLMKKLKJJIIIIHHGHHHGGHHHHGHHGHFFFFFHGGIGGGFEFGGGHFFFHHHFGFFGGGFFFFFEFGGGGGHHHGGFGFGHHHGFFJHGHIGFFEEFEDGEFEEDFGEEFDDDGGGHFFGGGFGGGIgfghhggeedceggggghihihghkkjikllhghjhmjjjjkmlklmlmmlmnnspqqpppoqppqrsstvuwvwxxxxyyywxzyxwxx|uwvvssppouy‡›¦³ÃÑÜßÝÞßàáâãâѱœŸ©¸½´®¹ÊÓàáããããÖÉÀÊÙÛââããããâãäãããããããããââãããããââââââââââââáááâááàáàßßÞÞÝÝÜ×̾±£“€o^PLFC5007DQ\cijnlihhr|”³ÁÍÐÚÙÜÝà×ÒÐÅÇËÑÜÏË¿¶¢–jI=8<CGMNNMLLMMKKKLMNNONONMMNOOOOOOPQVSSTUVWXXXWWYZ[[Z[\YYYZ[ZYXZ^^^_`^]^`aabaaaaaacccccdcbbcbdfffecgkiggfeffighiijkiiiiiklnkklkkkklljjjiiijhiklkjkkmkkilklpmmkjkljihhiijiijjmiihigfffgdfgghfecaaccdaca`^\[\[[[_Z[ZYXWWVVYVUUUUUSSSSSSQRQQQQQSQQPPOOPPQQOOORONNNMNLKKNKPLKJNIIHIJIIJHLGGGGFGHIHGFGGGHHGGGIGGGIGGGIHHGFFJHHHHGGFFFFFFFEEGHIFHGIHGGGGHGHHIGGGFHIIIHGFEEEFECFEEEEEEEEEGDIDFGGFFGHGGGHGHHgfffgggdedeeghggggihgfhgiiiihghggjjhijjjkklklllmnolmnmnnoponooppooqrrsttuxvvwxvvwxvuwwwvvwvuvttrrqqov…§ÆÕßßàâäååååääåååãßœ–y«¤™†’²ÊÝàãäã߿”­ÊÕáãääãâãääããããããããâââãããããââââããâââââáááááßÞÛØØÕɽ«˜†wi\QHA::;?EBD3--.37;@Ojh}Ž|ptt†“¥ºÃÒ×ÜÝààßÒÈÆÇÊÏÉȾ´§˜pM@59=CMPQRQQQQPONOPPPQPOLNOOOOMONNOOOPPQQQQRSRRTUVWWWWWVVVVVVUUWXZ\[[[\\]`c_^___a``aa`aada`abcccdefeeffeeeffffggggghiiikkjjjjjjiijljhjhhghgikkkjkkmlkilklmmnjjiihhlijiiijihliihhfhkggdeeddfdba`a``_b`_^]\\[\ZZZYYYXVTUUUUTSTTTSTRRSQQQPQSQQRQPPPNNMMMMMNNPONMMLLKKKLKMLKKLJIIIIIHHHHHHGHJHHGFGGGIHHGFGGHHHGHGGGGIGGFFFFGGGEFFFGFEFGFFFGGFFGHHHGGFGGGGGGGGGGGGGHFFFFEDEDEEDCEEEFEEEDDDFFGGFHGGGFGGHHgeefjggdeegfggghkhihggihjiiighjgghghkiiillmknlllklllnmommnnmnorooopqrstttuuuwwvvvvvvwwwuuwxuvtsrrrqqv†ÕàææææææææææååååæäãÝΣˆƒ|mnb\f¦ÛâääãÖȬ›¨½ÇÞáääääääãääãããäãããããããããââââãâââââáááàßÞÛ×È®”{hWI@:511/-,,-138>;3-*,+,,/4=J`ž„|sm|‚¢¸×ØÙÜßßßÙ×ÌÅÆÆÈ̾¸« sR>359DUT][YVTTSRSTSQQQPQSSTQOOOOONNNNNOPOOOOOPQRRSTTVTSTUUUTSSTVWYYXXY[[^^\\]^^]\\a^^_accaabbccccccceeeeeddeeegghgdfghjiiijighhhjklikghfggjjjjkjknnliknllmnmmjjghhiikjiiihlinhgghfddcdecccbbbbe`a`b`_^^]_\\Y[YYYXVUTVUXUUSTUTSTRQPPQQQRQQQQQPOPNMMMMNORNPPPMNLKKJKKKNLJKJJKKJIIILIJIJHHIHHGGGFFFFHGGHIJHHHIHJGGGEEGFHHGGFFFEEEDDFFFFGGGGGHHHIIJGGGJHHHHGJGHGHFEFFEDDFDDDECFEGFGEFEEEFGGGFFFGGGJHHHfeefffedddffgghhhhiggghhiiiihhiggghijgiijjmkkkllllllllmlllmmnnnnoqqqrrrqsttsuuututuuvuwuvwxvwtturrqprz¦Øçìêéèçççççææååæåååâמ]j_jwtgg‚¹àåååäáܵœž”´ÛáäåäääääääãäääãääãããããããâããâââââßÛ򯃵”wbNB9520.//00110///22897566533235=@]zƒ‚w…‘¦¸ÊÙÜÜÞàÜÙØÕÐËÉÀº¹©œvSA357APUijlifca__][[[YWWXWVUTSRRRRQQPPPPOOOOOPPPNTPPPQPPOOPOMPRSTTSUVXYYYXXXWXYYZYY[`_]\\]^_c`_`aaaaabbbbbbcedcdeddeffffeggfefggggggffgghgggijjknmmjjlnllkjjjihhghgilihiglihhgffdeedccbbebaabaa`_`_^^]]\[ZYYXXZYVUUUUUUUSSSSTSRQQPPQRRQQQRTPOONNOMMMPNMMMMLLLKJKLLKKLKKKKKIIKJIJHHHHHHHHIGGHFFGFHGGHJIHHIIHGGHGFEFFGGGHFFFEEEEDEFFFGGGFGIIIIFGGGFGHHGGGGFGFFEEGEDDCDDDDDBDEFFFEEDDDEEEEFEGHHGGGHHffhggeeffefeigiihiiijjjiiikihhjghihijjjillmllkllnlolmmnlllnmonmnppqrqrsqrtuuutstuuvwwuxvvvxxwuwutssqnlk™ÙçìëééèççççææææææååâÖ‹yw}€¨rgj•Èääåääãȸ£•Œ©ÐÖãääääääääääããããããããããããããââááÞÖ·­‚eP>5/-,--./0269766777657=EIJJHEB???>>?AGPbt¥—ty½ÍßÝÜÝßàààßÖËźµ³©¡yU?3329AQjnzwtvwutstrolhgea^\[YWVVUTTUTSSRQQRTQQRTSSQRQONOOONOPPQQRRSWXVVUVWVUUUWZWXXWY\]]\\]]^^`a^^^_acaaccccbbcddddfeheffeddehggfiggggffffgljkjikkjkllmlllihglhjhhgghigkgghlhfeddfcdaabea`_``b_`_^]^\[ZYYYXWXYWVVWUTUUTUSRSSRRQPPQQSQQQSPOOONMLNMLMMMMMOLPMMJNLMJKKLKMKLJIJLIHHHGGHHHFGGFHFGFFFGGGGHIIHIHHGEFFGHFGGGFFGFFFFFFFFIHHGHHGHFGJHGGIFHGHHGFFGGFEEFEDDECDEGFHDDEFEEDEEDDEFEEEFGGJHGFGGfgededeeeefeffgghgiihhhhhhihhhjghiiiijjikkkkljjkllljllollllmnnnnopooprqqrttuttttuuuvvuvvvwwxwtuuuusrpi\T‡ÔâìëêéèçççççççççæååàŸuNQUmvfJ­ãäåååäÚÛÂ²Ž¸ÔãååääåååäÛÒÒÓÕØÚÜààáâããâáÞÛÅÁŽjQ<4.,))(*+,-149>BDFGGGGHHHTbdgdb]XVTRQQPNMOSdz‚œ™œƒyˆ›±Ã×ÝÛàààáááÚØÅ´®®ŸŸyTA5206;K_gxy{yxxyxwxxwwurrrqomifdb`^][ZYYXWWWWVUUSRSSSTRPOOPPPQPPQQRSSRRRQPQSSTSSTUVVVWXXYZZZZZZ[\\\\\\]^]^^^^__`abbbbbbccddccbccfgggfdedeeghhhhkjiijiiihigfhgfiggggghgfeedgheedceadaaabaa`___]^\]]][ZYXWYXXWWWVVVXTTTSSSSSRQRPQPOOPPPOOOOONMLKNNLMMONNMLLMLKKKKJJJKKKKKJKJIGHHHGGHGHFHGFHFFFFFFGGGHJIHHHGGFFFIHGGGGGGFFEEEFGFFGGGGHGGHGFGHGGIFHHGGGFFGGEEDDCDDCDEEEDEEEFFEDCEBEEEEFHFFFFGGGEFGeeedhdddhghefgghhiiighjihhhhhhjhhhiijjjikjpkljokkklkmmnmmlmmooqmopqooppqssrsstuutuxvuuxuvwvvwxxuvtutqoRBGÌÚêëìêéèççççççççæåÞ¹eb][ea_v›ÛáååååäàÖ½™‹‹¶Ò×àâåååååäÓÈÄÄÆÉÌÎÏÐÒÙÞáàßÚ¯g?5...00,*)**+-47EMX\_dgebfilqx~…ŒŠ…|twxsmppke\YVZu ‘Ž„…~¥ÀÝÙàààààááÝØÃ®¥Ÿ¢¤yS=41135AL_€~‡…~~|~€~{|~{xyzxwxyxxxwsomjedb_]][XWWVTUUTSRQQQRSTUTRSRQQPPPOPOPQPQPPPQSWVTVXWUVYZ\[[\\[Z[]^^]^___a___^^aabcfa`abbfcbdfeeefefghghggggghihhjfeeeeigfggffeeedceeedebcbdaaaa_]`_`_^_\\\^YZYXWYYYVVVYVTUUTTSTUVSRQRQRPOOQPTOOONMMMMMMLLMLNMMMMNMLLLKLKKKJJIIIIJIIGGHGGIHGGFGGGHFGFFGHHHGIIJKKHGGGGFFHHHHHGIIIIIGHFFGHGGHIHHHGGGGGGHHGGFGIGGGGFEDDCCCCDFEEEEEEFHEEDDEEFFEFFGEEFHHHEFFefedeccdhffegihhhhihgfijiijjighhhhihiijijjkkkjnikkkklllnnnnmnnnnoqpnoopqrrrstttwuuvvuvxuvxwvwvuuutttosU;?N{ŸÄçìíêéèèèèèèçççæÞÑ…rb€xrnkq{¨ÜäåæææåàßÒļ½¾¾ÌÝãåååæãÐÀ¿¾ÉÃÎÈÉÈÑÔÝÞÑÀ›qW86211244321/-.048@QOso}}|zw|€†‰‘–›—’Œr‚s‚mieb]QUZepv‚sjwƒš«ÅÙáàààààááÝÝ륣  uM<22245:AWptƒƒƒ‚€€‚‚€~~}|zyxxyzxuvwsonnjfecba_^]\[ZYYXWWWVUUUSQRRRQQPPPROOOOOPPRTTUSRTTTTUUUUWWXXYYYYZ\\[\]\[[[^^__`_`````ababaceeffgffeeeefhffeddddceffeeffccabcdeddcbbaa`a`_^^__^__^\[ZZWWWWXWVVUUVVTSRSRSURQRRRSQQRNOOPPOOOMMNMLLKKKKKLNMNMMMMLLLJKJJIJJIKIIJHHHGGGFGGGGGFGEEEEEFGHHHHJIJHHHGGGHFFFFGHHGGGGFHGHGGHIEFGHHGGGJGGGHHGGFFFGGGFFGEEDCDEEDFEEEEEFFHEEEEGEEDDEEFEEEHFHEFFeeededgggghhihhhhhhhiihijhhijhhhhhhhijkjikmkjkmjklmmllllmnpoonnnopqoooopprvuutuwwwwuuvxxxxwxxvvvxwwvwsV;6AOh‰»ãëîìêéèèèèèèèçßÕ„nO_z€’w‰¶ÝâææææåäãâááßʾÍàâãäååÐÌÉÊÌÍÏÍÌÔÚÞäâÌ•fN9:;;;889;>@>;876567@HYsv’ˆžŽ§ˆ±¸·¶³°•”ymgcb_dUanXqYSe_mgiu€•¡¹Ïßàáááááááßàĵµ¶« oI9445567:JWi‡‡„‚………„„‚‚ƒƒ„†ƒ„„„……ƒ‚ƒƒ‚€€~}}|{z{||xutsqolieba`][ZXWVVVVVTSSSSRQRQRPQPQSRRPQSRQRUTUUTSTVXWVWXXVUVX\ZYY^\\]]\]^^^``_`aaabcdeggfedddffeedcbceeddeedefcd``bdddddabab`a_^^a^_]`__[ZZXXVW[XXVXUUTTUVTTRRSSSSSPOOQSSROPPPOPMMNMLNKLKLKMMLLLLNLLLLJKIIILJJJKKKGIHHGGGGGGGGGIFDEEEEFHHJJIILIJHIHIHGFGFFGHGGGIHIHHHIHIFFGHHGGGGGGGHHHHEEFFGGEEFEEDDDEFEFEEEFFFFHFGFDGEEHGGGGFFFHGHEGGfeecdeeefhhggeighjihilihihhhjghkihhiikkmmmlkkkjjkmlolkkkllmnnnnopnononppqrwtutuvvuutuwxvxxwwwwwwwwvvvtW;:<GLcw¨ÛêïìêèèèèèèèçãଛiQh}{qrh}´×áæææææææææäÞ½¡¢¬Ëãååãââââáâãããäååâ·taEC@AA@?ELQWUTSQNLIFCBCESYdqz‚ƒ€‰Ž‰…~klbdfdcbbVHT`Uff{nnnq’¡¼ÍÝàáâááßááßÛ×Ñô¦˜gC>=DKJFCAILb{~‚„…„ƒƒ‚ƒƒ…„…„ƒ„…ƒ‚ƒƒƒƒ„„‚‚ƒ„„ƒ~}}~~{xyyxuvxtpnjgecb`_\Z[[ZXWWVVTRQPSTTSRRRRRQRQTSTQSSSRRRUUSSSTSSSTWXXXYZYXY[\]]]]]^_`aaba`aabbaabcbcabaaa``acdcaa^_aa``___a^`__]]]]^]]\[[ZZYXXXXYWXUUVTTTTTSRPPPQQQRPOOOOOOONNPONMMQMKKJKKJJJKLNLKLKLKKJKJIIIIIHHGHHIGGGGGFEGHGHFEEEEFEFGGIJIHHGHGGHHHHHFFFGGFGGGGIHHIHGGGFIHHHGGFGHHIHGHEEEFGGEEFFEDDDDDDDEFFFFFEHGGGGHFEHGGFFFFFHGFEEEeeeegeeeehihggighhjhhhiikhjhjiiikjmkjjlkklklmkjjjklmmlmmmlmnrnnoonnnqppqrsxuuuvvzuxvxwxx}xxxyw{www{xvvX;5<FGJWkßëíìëêééèèéèçåȯƒti~|vqoz‚Œ¯ÐáææççççççæãÁ°¥ª¸Öãääåæååååååååååà¢sjfaUKIFHU^sssehmqrs[cRRLFJCHOQKB@CHR^tu{|}€„}whiXMFDDJ[kmpidfmz…˜¯ÈÜàââáááááÛßÓÑ¿°š‹ZEJVg}c[RKHHV`l„‡‰„„…‡ƒƒ…†…†…†„ƒƒ††…††…ˆ…„„…„†‡ˆ†…„…ƒƒ…€~|{zz{zxxwutrqnjgeb_][ZXWVWVVUUTTSSTSTTTTTSSQPRSSRRRQPQRSSSUUTUWWVX[ZYZ\\\\]]^^^]]_ba_``aa___````cddccbb^````a_a_a^`_^\[\`_^\[[\YXXXVTVZWWVUTTTVTRRQPPPPQPQPONNNNMNMNROMMMMMKKJKKJIJJKLKKMLMLLJLJJJJJIHIIJHIGFFGFFEIHFGFDFEDEFFIGHKIIHHJGGHIHGGEFHGFFFFGGIHGGGGIGEIGGHIIHIIIIHGHEEEEEGEGGIFFDDDDEIFGGFFGFGHHGGGFHGGGFFEFFHHFFGFfeeffdffgkhhggggihihiiijighghiiijjkkkkkjkklmmkkjjjjjmlllllmnooonmmnoqqrqrssstuutvuwvvvxwwvwwxxyyxwxzvxY<;=HGJNYc‹­ÍêììêéèéééèèãÞÜØ¦~eXpnjWPQ—ØäççèèççççåáÞÝÖÐÎÛÝáæççææææååäääÞªyt…}aTOLVaz˜†px„|eSPONYVSKDKOM<?=Q[q}‡’—œš–‘†ub\NF???NWm`acd]kmw—«ÊÞââàÝÝÞÛÜÕÔÉÅ«›‘j[YbromljYWOKJN_uy}„…„……………„†‡……‡‡†…††††‡‡…„†…††„„„„„ƒƒƒ„ƒ„„„ƒ‚€~}}|{zyyywuuuspmkhfddba_]\[[ZXVYXWVVTSRSUUTSRRRQQRRRRTSRQRSSSUWWWWXWWYZ[\\[[Z\^\[\_]\]^]]]]]]]]^_]\]^^^_^^]^^^]\Z[\\]\ZZZYXVUVTTTTUUVUSSRVTSTRSPOPQPOONNNNOMMMNNMMNLNMJIIKJIIJIJKJJKKKJJIJHHHHHHIIHHGGFFFGFFFGHFFFEEEEEFFFGGKHHHIIFHGGHGFFFFFFFFEFGGGGGGGGFGJFGHHHHIHIIIGGFEDEEEEEEEFEDDDDEEFGJHFFGHGGGGGGGGFGGFEFFFGGFFFifeeffjggghhiihihhhikjihhhhhhjiiijkjlkkjllmlkklkjjkkmnommmonpppmnnnprqqrsstttuxwwwvwywzwwx{xxy||{yxzvy[=6>IHJLKQZv˜ÃåëíëééééèèèççåÖ–VippiXM]ްØáæçèççççæåääßÝÁ¯¶ÈÒãåææææåÜÖÙâם~ˆ¥}tqn^]nƒ³ª¤±¹w_OEMONONeUNTkLEYq†™¤»ÃËÈÈ®©€ukeJ><@PT`o\[_eo‚sq|‡žÃÔàÜÐÇÃÆÏÎÌĽ²ª›—}pnifaafa[\[F:9<AK\v}‡ƒ‰†‡†…„‡†ˆ‡ˆ‡‡‡‡††‡ˆ‡††††‰††…ˆ‡‡…†„„ƒˆ†‰††‡‰ˆ……‡…„ƒ‚€~~~}{zzzxwvvtpljgeca^\ZYYXVWXWVUUUTSTSRRSRQQQQRRRQQQSSSUXYZWVVWXXXWVXZ[[\\[\\]^[[[ZZZ[[\\]^_^^_``\[Y^__ZWX[XWVVUUTUSSUTTTSRRVTSRQRROOOPONNMNONMLMLKLNLKMNKLIKJIJLIJKJJKJKIHHJIFFGHIHIHJGGFIGHFEFEEEFGFGFFEFFFFFGHHIGHGKHHGFFFEFGGGGEEFHGIHIGFEGHGGHGGHIIHIJGHHGGGEEEHEEEGDEDDFEGGGIFEGHGIGGGFGHFGGGFGFFGGGGFhhfgfgggggfeiiikhhhhijihhhijijijiijjjkjjjjmkkkkllllmlmmmnnnnnmnnmmopqqrssststuwtwvvwvvxxyzzyyz||{}yzvy\=9?JINZNNTWmƒ®Ýêîêêéééééééèá×¹œ€m]^Ygiq—ÓÛæçççççèèççåâÁ´˜©¯ËãææææåÒÐÌ×ÕÑϨ‡ƒ€€}sx’¢ª¬¹Ê¶uaPNNF>>?TjYXVRDx¹µÈÉÖÔÒȲ–yuuYD>@S}riaXiw{€€twz‘¦ÀÍÛÔµ·­«¨§¦¡››„{}nh`TNJLRKB50349@Tksƒ„…†Š†…ˆˆ‡…‡†††‡‡†††„…„††‡……„†…†…………ƒ‡„………††…„ƒƒƒƒƒƒ„…†ƒ‚€€}|zzz|yvvuusqpmjgeca`_^\\\ZYWVWXVTTTTTTSRRRRRRRSSSRRSSUVTSTTUXWWWWWXXWVVXYXXXZYXZ][ZZZZYYXYYZZZWWVWXVTSRSTSRRUSSTURRRRRRRQQNNNNOMLNKLLLLLKKKKKKLKKJIIIIIIIJLJJJIIIHHJKGEFGGGHGGFGEEEEEEEEDFIGEEDFEEEFHFFFFFEFFFFFGFFEEFGGFFEEEEFIGHFFFFFGGGGGGIHHGHGFFFFFFEDEEEEEDDCDFFFGEFGGGGGGGGHGGGGGFFFFFFGGIGEgeefffhgggffhhhhghjhghijiiiihiijkjjiiiiijkmjkkkljlllllrmnnnmmmponnrotsstxstsutwwwv{wwxzz{{z{}z|{zzy{y{^=8?JHR`iQMNQ^q¢ÝëíìêêééééééèåܽˆZFNVSSY`ŒÂÓåæçèèèèèçæåâÞÁ´²¹ÒáãååæÝÕÚáäåáݺ¬Ÿ•”—œ §«±»ËàαteSJJCFHLTd`i€JCo¦°¾ÂÎÑÖÔÖ«ŒteYK?:>Ydk`^c}”°šz€ut|‰œ¶ÉÝÄÅ«£•‹‘šˆ‚}{xvrogVGE>;95/.///49HWhƒ†ˆ‰ˆˆ‰††Š†‰‡†‡†…‡†‰‡ˆˆ‰ˆˆ†‹†ˆ…ŠŠŠ†ˆ„†…‰††††„„„‡‡ˆ…І…„†‡ˆ„†‡ˆ‡†††††€€~~~}{zxxxz|zxvuromigda^][YXYXWVVWUUTTUVTUSRSTTSSRQSTQSSUTTTTTTRSUTTUUVVWXZYXYZ[XXXXYYYZWVVUVUSSRSRRQQRRRQQQQRONMLNOMMMMMLLMJMMMLMKKLJJKKLJJHGHHHHIIIKJIIKHJHKJHFFGHGIGFGGGGFFEGFEEGGGFEFGEEEGGGFFEEEGGFFGGFFEEHGGFEEFEDFIGGGGFEFHGGHHGIGFGHGFFFFIFEEEEFDDDCCFEEFGGGGGGGFGGGHGGIIIIIFGFFFFFFFeeefffgggfgggghhhhhihhiijhhghkjjjkjiiiiikkkjkjllmmlmmllmopommmopppqoqrstvrtsuuvvxuwwxyyyyyz{}yyy{z{|x|]>:?JIR`\RMKNR`l“¾ÕìëêéééééééèåÛ¡REBLYZ\aa³ãåçèéééèçèèçåãâ๺Ä×áåææææçççåÛÔ×ÙÕÑØßßßÔËÒààÔ¥ytaZUdyvtvzeb]HQl—¨¯µ´³´¶¬£ydQC?69:GMWZfl}žŸ€pqqolt€–³»Â¹®˜Žw|‰}og`adjyf^QQ=1.,--.//135@HYnuƒƒ…†ˆ‡†‡†‡††‡†…†††…‡‡‡†‡„„…†„‡‡‡……„„…††‡‡†„„„„……†‹††„„…‡„††‡†††…„„„„‚„„„„‚€€~{|{zyxyxvusrrmhhgda_^^^]\[ZYXWWUUWXUSSRSTSSSTTTSRTSRQQQRRSSTWVYVVWWVUUUUUUWWWUUTTSQQQQPPPPQQPONOOONNNLOMLMMMNLMKJJJKKKKKLJIJKIHIHHHHGHIIIIIIJIIHGGHHFFFGHGFFEFFGEFFFGFEEEFFFFFEEDDEEEFEEEGFFFHGFFFEEFFFFFEFFFFGGGGFFFFFGHHFFFFGHHHHGFFFFEFEFEEFDCEEFFFEEFFGFFGHGGHGHJHGFFFFFEFFFGkfgffgfgjfhglggiihgiiiijjhhhhikkjjiigihilknkkkmlklmmmnomoppmmnoopppoqsstuttuvvzyyyyy|||z}|}{}~|~{|{v|]?8?IHSahRLILQU_`}¢ËåçèèçèèééèèäÕ™`ND\ilpx†½Ýãâåèèéèçèèèèçå㺴¬ºÎáäæçèèçäÔÙÙÚÛàâãããâááàß¹Ÿœ Ÿœ•”ŒŠ‰p`TKJVf‘Ї†…}ulaUaB?><=@DMRdt}„ƒzpiemtkbo|‚ˆ‡……ƒ|thdoudZUQW]ge]TP<1,,,-../01116<K^l‚†‡ˆ‰ˆˆ‡‡†ˆ‡Š†ˆˆ‰‡‹‡ˆ†Š†‰‰Š†ˆ‡‹‹‹‡‰†…‡‰ˆ…„…„…†‡†‹†‰ˆ‰…ˆ†ŠˆŠ‰‰‡ˆ„ˆ‡†ƒ‰……„‹†ˆ‡††‡†„„…„ƒ€~~|{||{zzyxxwutrpmigc`^[[[ZXXWWWVTTWVTSSTTSRQQRSRSRQSSRTUWSSSRRRRSSRRRRRQPPOPRRROOOOPNNOOPMMNLLLLONMLKKIIIJKKKKJJJIJIHIJHIIIGIILIHHJIHHIFGHKFEEFGFFFFFFHDEFFFHFHFFFFGGFEEGEEDEEEFGFEFHFEGEEFFFFFFFECEEFHGHEEFGGGHHFFFFGGGFHIGHFEEEEGEEEDEFEGFFFDEEFFFGFGGHHHHHGFGEFFFIGGGfffggigggggggghiijjiiiihjhhiihiihiihhihhjjjkkmmkllmmmnmlonnlmnoopnoortsstxtuuvvvwvxyz{|z||{|||{z}z|{x}^?;?JHTaXYXORS`r^Zw¶ÜãçæçèèéèèèâÚ«~i^e››¿¦É¾­½Ýäèéèèèèèèçæãξ¶¢Ÿ¥¾ÝäçèèèåãääääååæçææäÔÆ³¦¨­µÍÊÅ•€„ŠxlcROMW\YUQLIFEEKSansvvvvwrmt~ˆ–‹‹zookklnfcanstmutvnva`ce[WPNNYf`\VQD8420-.-./011136?JYjt‡ˆŠ‰ˆ‡…‡‡Š†ˆˆˆ‡‡‡‡†Š„‡††…‡‡‡‡ˆ†††‡ˆˆˆ‡……………†††…††‡…‡…††…„………„†ˆ…ƒ„……………‡„………„…„„„…†‡‡†…€€~}||{|}|zywwvspnligeccb`]\[[[YWWWVVUUTSSSSRSTTSTTSQSSRSQPPPOOPRPPPPNNOOOONNOPPPONNLMNLLKKJJJJJJKKJJIHIKJIIIIHHHHHHFHGHIIIHHHHGFGFGHGEEDEFEHFFFFFEEEEFFEFGFFGIHHFGHDDCEEFFFEEEEDEFEIFEEEEEEDDEDEFEFEFFFGGFFEFFFGGFFGGGGFFGDDEEEEEEDDFFFFEEFFFFFFGGHIHHGFFGFEFFGGHEgfegghhhjhjgghiiiiihhhijjihijihhgiliiiiihiiillmmnmqnmmoonmmnnosoppqqttsrrsstvuwwxwwy{{}{|€|}}{{||~|{}_?:@KJTbsfh]TUineTWg¯ÝåçççèèèèèéæãȰ|c|šŒ‚xov‰±×áæçèèéèèèçæäãáǪ˜·ÜãæçèçççæççææçççæÞ¸¢”žÄ¼ÉÇÙ­~^lkszZecb\URHD:95?KÃÕÜÛÚÛÛÝÙȶ© ˜ortxyvsoiijrnqsuwvxrmppcWRMRXYWVXQQQOC;.,++,./0001149HWg}‚‹ˆ‡ˆ‰Š‰‰ŠŠŒŒ‰‹‹ŠŠŒˆ‰††‡‡‡Šˆˆ†Šˆˆ‰‰‡‡‡‰†ˆˆ‰‡‡‡Š†††‡‡†…‡‡Œ…†‡†…Œ†‡†††‡ˆ‡†††ˆˆ‰†ˆ‡‡‡ˆ‡†††‡‰‰ˆ‡†…„‚‚}~~}{zzyxz{ywvtsrpmjfc`_][XWWWWVTTTUWWXURSSSRSQQMNMNNMKLMNMMNMMMMMLLLMPOKLMMMKJIIIJIIJJKKIHHHIIIKIHHIHGGHGHHHHGGIIHHGFGGFFFEFDEEEEFFFEFEEDDEFFFFGGGGHGFFGEFFGFGFFDCEFEGEDFFEDEHEFEDDDDEEFFFFFFIFEEGEIGGFIGGGFEHFDDDDDEFDDEFFFEFGGFGGGGHHIIIGGFEFGFFGGGHHeffggiiihghhijiijjihhiiiiiiiijhhgiiiihjlllkjkjlmnmnomlmnnlnpooppqtqqqqsrssssuuvvwzzyzz{{|||~~}}}z{|y~`?<ALKUbpeiwbZbfXMRTdtÑ×äåèèèééééèæÏ«smieeejpŒ¶ÑæééééèèèèèèçãȬ¤•¬¾ÐåèèéèèèéèèèçççÒ¿‹‹Šº·¯ž‰‘„yŒc^\addc]VPLT_ˆµÓäææåæææãßÞÜÀ¬¤Š††’›š™“Œ…vvxxx||u{”s‚poXZZ[^`^VVOOSQN6-++,,-.03100135<FWms†…‰‰‰‰‰‰ŠŠŠ‰ˆˆ‰Šˆ‹‰‰ˆˆˆˆ‡‰ˆ‡††‡ˆ‰ˆˆ‡‡‡†‡†‰‡‡ˆˆ†ˆŠˆ‰‡†‡‡††ˆŠ‡††‡‡ˆ‡†‡ˆˆ‡‡‡‡‡ˆ†ˆ‡‡‡ˆˆ†…†††††‡……†‡††ƒ‚‚€~}}||{zyxwuvwuspoonjgdcb`_^]]^^[YXWWVUUUWQONNNKKKKLMKMMLKLLKJKJMOLLKJJJJHHIIJJHIIHHHFGGGGIHIHHHGGHFEEEEFGIIHGFFGEEDEDCDDEEDEFEDDDDEEEEEFEEEGGGFFFGEEDFDFEEDDEEDDCDEEEEGFCEFECDFDEFEEEEEEEEEEFGFHFGFFGFEHFEDDEEDDCDFEEEDGCFHGGGGHIIIHGFFFEDDEEHGGGefiggikihgghjjlijjjjjiijojjhhhhhhhhikjkljkmlnlqnnnnmnmmnnonopooqrqqqsrssstvutuxwwyyz{||||}~~}~ƒ{|}z~b@;@LKVcqprqoojaOLNOPYf޹ÍáæéééééééèèäݬaYdPMM_Hƒ·ÕäæèèèèéèèèèæäÔʲ›¢¯ÍâåèèèèéèèèèççÜÓµ–‹„ƒ‚‚‚’š®À¯¤¦£’†‰’—š›š™¢¯ÌÝáåææææææææåäãââÞÏ¿ÂÇÔÝÁ¼¹¶¯¦ š’ˆy€}phcaWXd`qombaQDA83/,+.0.-/03322111138GUg‚ˆ‹ŠŒŠŠ‹‹Š‰‰Š‰Šˆ‹‰‰ŠŒ‡ˆ‰‹‰ˆ‡ˆ‡ˆ‰Œ‡‡ˆ‰ˆŠŠ‰ˆˆˆˆ‰‹‰Š‹Š‡†‡‰†Œ‰‰‡‰ˆˆ‡‡ˆ‰ˆ‹‡ˆ‡Šˆ‰‡ˆˆ‹ˆ‹ˆˆ†ˆ†…†‡†††ˆ…„†‡‡‰……ƒ„„„„„ƒƒƒ„‚€‚‚}|zxusqsvuutsqnnlkieb`][YXVUTRQONMLKKKMMMLKJKLJIMIKKKKJIMIJIHHIIJIIIGGGFGEHHHIGHMHGGHFEEEEFFIHHGEEGDDDEFFDDDDDEFHEEDDEGEFEEEFFGGIFEFGEDDFFGDCDEEDDFDEEHEEEFDDDFDDDEFGEDEHFGEEEHFGGGGGFHFFFGFEDDCCDDDEFFEEEGFEFGHHGHIKIHGFGIFFEEFIGGGgggegihhhgghhhhgijkjhiikjghhhhhhhgijkhjmkjmllmmmmmnjnommmnnooopssqqpsrssstvuuuwxxxy}}|}}|~}~~}}}|}{~bA;@LKVepirdmijh\PPOOQZb€™»ÝåééééêêêêéåÞÎd\ep|nbgmÄ×àåèèéééèèèèççäÝÁ¥©©¿Þåèèèèèèèèçæäâßűž‹”¤¸ÅÐÏÐÖÝÜÜßÜÜÜÞßßßßàãæççççççççççççççççåãááäåäÍÉËÌË×ÖÙÊÁ»‰sqndYcd`]`dl|ifaWOC=83/001123567765420.24?FXlt‡‡ŒŠ‰‹‹Š‰‰ŠŠˆ‹‰‰Š‹‡‰‰Š‹‰ˆˆˆ‰Š‰‡ˆ‰ˆˆ‰ŠŠ‹ˆˆ‰‰‰‰‰†Š‡‡ˆ‰‡‰‡ˆ‡ˆˆˆ‡ˆˆˆˆ‡‡‡†ˆˆˆ‡‡‡‰‡‡ˆˆ†……†††††††††ˆ†…†……„„…„ƒ‚€‚ƒƒ‚ƒ†€}}|{zzyyxyzwuttttrppplhfda^[XVSQPNJKIIIKLKHJKJIIIIJJKIIIIIIGFFGGGHHFFFEEDFGHHGGIHGGHEEEEEEEIHGFEDDCDFEBDECDDDDDFEEDDEEEEEEEEFFFFEEHEDDDDDDCCDEEDCDDEEEEEEFBCDDDDCEEFFDDEEFDDDEEFGGGHEFEFFFFEEEBCEFGEDFEEEEGEEGHGGGGHHHFFFFFEGFFHGGGigggjgfhihhhhggiiiihghhkkiihihjihhijljjlmmmmmmmnnnnooomlmpsttpqstrrrrsttstxvux{z{xx{}|~}|}}~~}}}~~aC;@LJUdpkraonpo`VPNNPRSYpŒ´áçèèéêêêêééåÚ¡š˜˜–eb`bmÛáåçèéèèèéèèèèæåÑÀ¨š½ÞãåæççèèèèåÙÓÚâÉÑÌ̹ÜÑÞßààààáâãääåæææçççççççççèçççèçççççççææåæçæåãàááââââÜÙ²‹yonedeepp€nfg\[`ZgQKIF;68;<=>?>?@?=:4000235:JXi‡ŒŠŒŠŠŠ‰Š‹ŒŒ‰‰Š‹‰Œ‹‹ŠŠ‰Š‰‹ŠŠŠ‹‰‰ˆ‰‰Šˆ‡ˆ‹‰‰‰‰‰ŠˆˆŠŠˆ‡Š‰ŠŠ‹‹Š‰ŒˆŒ‡‹‹‹‰ŠˆŠˆŠ‡‰ˆˆˆ‹Š‰††‡ˆ‡‹ˆ‹ˆ†‡Š††…„„‡…………ƒƒ…„ƒ…„„…†‚~|}}{}~~}{zz{wttusrolhd^YTPLKHGHJKKIIIHGGHHHJIIIMHGHHEFGGFFFFFFEEEGGIHHHKGGHHEFDEFEDHGHFGDECBDFCCCCCEDCDGDEEEEEEDEFEDDDEGDDECCFDCCEDDDGEEDEFFEEEDEECDCEFFDEEEEEDEDGGFEEEEFHHHFGGHFGFGDDCCFFGEEEEFEEEEEFFFGHGHGHFGEEFEEGFHGFGhfghgggiiijjhghlhgiiijkkjjihhkiihghjjjjlmmlklmnpnmmmmmmmnoppqqqtrrrsrrttttuvvzzyzyz|}||z||||~€~~~~}„cE>@JJTcojpboiooij\VRPRSXZm{ŸÌÖçèéêêêêéçϳ‚lZJECOY\q‚ËÍ×ÜâæèèééééééééèÙô¦¿Ë×ãåçèééèåÐÊÇÇÇÈǽª­´¿ÉÍÏÓ×ÛÝáææçèèèèèèèèèèèèèèçèèèççççççççççèèççççæççææäÙ¯‰…r}spljrtvwjmaVVXVRJKCEJMOQPOPQQTMA7401244479DJ\my†‡‰ŠŠŠ‹‹ŠŠ‡ŠŠŠŠŠ‰‹‰‰‰‰‰‰‰‰‹Š‰‰‰ˆˆ‰ˆ‰ˆ‰ˆ‰ˆˆ‡ˆ‡‰‰ŠˆˆˆŠ‰Šˆ‰ˆˆˆˆˆ‡‡ŠŠŠ‰‰ˆˆ‡Šˆˆˆˆˆ‰ˆˆ‡‡†ˆ†ˆ‡‡‡†ˆ‰†††‡‡††„‚„„„„„‚‚‚‚‚‚‚€€|}}~~~~~}}}||yxxwusrqonf_YQMGFEFGHIIIHGGGGGJHHHHGHGFFFFFGEEFEEEEEGEGHIJIGHHHDDCDDDDFGFEEDDCCDEECCCCCCCCDEEFECDDDHEDDGDDDCDFCBDFCBDDDDDDEEFCEEEFDEECCCCDFDFEEEEDEEEFFGEFEDFFGFFGFFGEDDDEDFFGEDFFFFFFEEFFFFFGFFGFFFEDDDEEFFGHhiihgghhhihhkkkihgiiiikjhiihhiiihghkkjmmmmmllnonnnomnnoppppqrrrsrrrrutwvvuuvxwwz||}||||}…|~€€€€‚eE?AIJT_rqqgphnllld^SOSVVWW^k¸ÔçéëêêêéèŹ]_<:-5GMVfœ¥»ÞåèèééééééééèäÞÊÃÇËÔÓßçèéèæØÇÉÍÔÚѸ¦Œˆqpt…›§³ÊàáççèèèèèèèèèèèèèèèèèèçççççççççèèèèççææææäãÛÜ£wpw~‚|vqda`gkTRNKLKIGHJLV[`csqkb^;0--043768:;=ASht††Ž‹‹‹‹‹‹‹‹ŠŒŒ‹ŠŠ‹Š‰‡ˆ‰‰‰‰Š‰ŠŠ‹ŠŒ‡‹‹ŠŠŠ‰‹‰‹‰‰ŠŠ‹Š‹‰‰ˆ‡ˆ‡ŠŠŒŠˆˆ‹ŠŠˆˆˆŠ‰Œ‰‹ˆŠˆˆ‡‰‡‡‡‡ˆ‰‡Šˆ‡‡‡………‰…„ƒ‡„ƒ„„„…‚‚ƒ„ƒƒ„…€€~~~€}}~}yyyztunj]OFEEFGGGGGFGIHIHKGIHGHJGGFGFFEEEFFFFDFGFFHHIHGJHGEDDECCDGGFEGEDCCCDDCCEDCCGDEFDEEDDDDDDDCDDEDDEEECCDDDEFFDCDGEFEEEGEDDFDEDGGFEFEFEHDEEEFGHEEEEGGIFFFFFFDDDDEEEHFEFGGGGIFGFGGIFFFFFHFFEEDDDDEGFIGggijhghggihhihighhhfiiijihjkijjjjjkmkknnmkmnmnpmnnnmnopqppqrrrsustsrttvuvvvwwwyz{|||||}~~~|€~~~€€~‚gF@BKMPT\dcejilkortwd]\W[kWR\d…ªËåêëêêééÙɰ rL1,7:[axs†n–¤ØÜááåéééêêêêêéèæåã×ÌÓÝåçèèçäâââãßÚ¹¼ŠŠbRNNT[j|ªÖæçèèéèèèèèèèèèèèèèèèççççççèèèèèèèçæææåäãÏË«‰nYVVf‡ˆˆyseYX\][QHEC=766<MTrijn€kiO5.'.11278?EECDHYbox}†‡ˆ‹‹Œ‹ŠŠŠŠ‰‹ŒŒ‹‹‰Š‰‰‰ŠŠŠ‰‹‡‹‹Š‰‰ˆŠŠŠŠŠˆˆˆ‰‰ŠŒŒ‰‰‰Š‹Š‹Š‰Šˆ‰‰‰‰ˆ‡‰ˆ‰ˆ‰‰ˆˆ‰ˆˆ‡ˆˆ‡†ˆ‡ˆ‰ˆ‡ˆ†‰‰‡‡ˆ………ˆ„ƒƒ…………†‡†ƒ…†…€€‚‚‚€€}~}|{{zzzzwwxpiYJFBBBCEEEEFEEGFFFGGGHJGFEGEFEEDEDEGFFEEFHGIIGGGFEEEECDDDEEEFFDCDCCBCCEDCBCDDEEEDDEEDDDECCDCCBDEDCBCCBCBCCCEFDEDDEDDCCDCDCDDEEEEEEEDEDEFFGFEEFFGFEFFFEECDEEEEDDEFGGFFEEEFEFGFEEDEEEEEEEEDDDDEFFFfghhhgjgghiikillmihgjiiikijiijjikjkkkmoommpmlnpnrpopppqqrsusrrtusuttwvyvywxzzz{{€~}}}€€~€‚€€‚‚hG@CMLLKQ]mhsstkqsqrrqg_bcYQRV]|¥ÈãèééêééæãѸm::ARdw‰›³ÏÚÜØ¾¹ÍÚáåçééêêééééèçàϘª½ÓäæèèçççæÝ¹’„jgVSJLKIMpˆÙåèèèéèèèèèèèééééèééèèèèèçèèèèèèèèççççäÓ¿£•„vd[SNPX`enjiaZ\_[UPKI99*),:Q_ke_ejYH2,-5=A?=AHVbZTRT_agnv„†‹Œ‹‹ŒŒŠŠŠŠŠ‹Œ‹ŒŒŒ‰‹ŠŠ‰Š‹ŠŠŠŒ‰Š‰ˆˆŠ‹‹‹‹‰ˆ‰‰ŠŒŠŒŒ‹‰ŠŠ‹‰Œ‹ŒŒŠ‰‰‹‰Œ‰ˆˆŠŠ‹‹‹ˆ‰ˆ‹ˆ‰ˆ‡ˆ‰‡‡‡‡†‡‡Š‡‹†††‡†ˆ††††‚„„‚‚‚‚€€€~~~}{||z|zuniVGA?@ABBCDDDEHGFEHGGHJGFEGEGDDDEEEGEEEEEEFHKGGGFEFFEDFEEDEEEDDDEDDBBBEDDDECCDDDDEFEECCCBCDCCCCCCCBBCDDDCCCFFDFCCCCDCCGCFCCDFEDDDEFEEDDEFFEFFFFEEDGFIEHEEFEEFEDEGGGFHEGGGFEFFEGDEEEDFEDDDDEEEFGFgfhgggggggiijiiiiihhijihjhjhijjijjmnnnnonlonnmonqppppppprtttsrtuttuuvvuuzwz~{||{}}~}~~~~~€€€~ƒiHABMPMNRSX]ejlkqsq€q€e_d]XPRSW\x•»ÞäèéêêêëèÌŸ‡˜«ÁϽÐÕÚÜÙ¹{[|š½ãçéêêééééééåÚ´“¡°Èáçééééçᮣ‚{uuw†™Š|~…­ÖæèééèéééèéééééééééééèèèèçèèèèèèèèèèççãÜ£“ƒ{ebZVRTV[Vb`gdYMKKMOML?<,%%&-69:<AEI@522DhfbTMRalxjabfecdfpx}††‰Š‹ŒŒ‹Œ‹ŒŒŒ‹‹‰‰ŠŠ‰‰‰ŠŠŠ‰‰ŒŠŠ‹Š‰ˆ‰‰‰ˆŠ‰‹‹‹‹‡‰ŠŠŠŠ‰Œ‡ŒŠŠŠŠ‰‹Š‹‰ŠŠŠ‰‰ˆŠˆˆˆŠ‰Š‰‹‡ˆˆˆ‰‰‡ˆ‰‡ˆˆ‡…‡ˆˆ‡‡‡‡…‡‡‡‡†……ƒ„…ƒƒƒƒ„„ƒ‚€€~}~{|}{}~yum`M=<<>AAABDEDDBDDFGGGGFFEFFFDEFEGEFEDDGEEFGHGGHFFEFEDFFFEEFEDDDDCCCBBCECCEACFEDEEFDECCCBDDDCBCCCBBBBBBCCEEEEDDCBEEFCDECEBCCCCDEDDDDEDDDEEDDEEEDDEEEEEEEEDEFFGEEHFFEFEFFFFFFEDEDEGDDEDEEDDDEFGFFgfiggfhgggiimiiiijjhhjkkjjjjkjjjkknnonnnooonomqqqpppqqsrrsvttsssssvvwwwwzw||z|}}ƒ€€€€ƒ~€‚„jIBEMPNNNLPXhjtrsrqvrpmic_VQQRRUYp‹¬ÏØåèëëëéèãÞßàß׫ ‹’—˜’…dXF‰ÛãçééééééêééäÙ®œœ¦ÂÞäèèéèçäàâßÞÜâßààáââáåèéééééééééééééééééèèèèéèèèèèèèèèçççæåãâ´’Œ|qkhgk~mjmptwkZJ>:>EMKC7.+*$!#%&')-5>BBFQrŽyj]Z^tx{eggka_^ahoz‰ŒŽŽŽŒ‹ŒŒŒŒŽ‹‹‹Ž‹Œ‹ŽŠŠ‹Š‰‹Š‰Š‰‰Œ‹‹‹‹Š‰ŒŠŠ‹ŒŒŠŒŒ‹Œ‹‹‰‰ŠŒ‰‰‰‰‹‰ŠŠŠŠŒ‰‰ŠŠŠˆ†ˆ‰ˆŒ‰ˆˆ‹‰‰ˆˆˆŠŠŠ‡‡ˆ‰‰ˆ…†……†ˆ…„„…„„‚€~~€||yxhT=99=????@ABBBDEFEEEFEEEIIIGGEEFFFFDDDEEFFHGGHGFGGGEEFFFFFGEFDDCDCCBBDBCEDCDEDEEFEECECBCCCCBEDDDCBEBDCCCCDCCEBBBCCCDFDDCCCDCCCCDEDGFFEEEGEEFGEGEGFEEEEEEEFIGFFHGFFDEEFEFHFFFFEDDDDFEEFDDDEGFEFffhhgfgggghhjiihghhhhkjjjljjkikkkkmnnnooonnnnnppqqqprssssssstutstsuuwwwxxy|||~~}~}€€€€€€€€€‚€„kJCFOONNNNRQVZ`fmrsywxlhkwf^WQSTVZft¬ÃßçëêêëëëëêçÛyiKl‡—££¡—‹–¬Æáäæåçéééêêêèá´©žœº×áèêêééééèçèéééêéééêêêêêééééééééééééééèèèèèéééèèèèèèçæåäâáàÑᣇwzxy{zytuswyqfVNIGEDB8-*(''"!"%$$)/:db\f‰xjg``aacffc[XX]bgjrx|€„ˆ‰Š‹ŒŽŒ‹ŽŽŒŒŒŒŒ‹‹‹Œ‹‹Š‰‹‹ŠŒŒ‹Š‹Š‹‹ŒŒ‹ŠŒ‹ŒŠŠ‹Œ‰ŠŠŒ‹ŠŠ‰‹ˆŠŠ‰‰Š‡‹‰Š‰ŠŠŠˆŠŠ‰Š‹ŠŠˆ‰‰ˆ‰‰‡ˆˆ‰‡‰‰ˆ‡ˆˆˆ‰‰Šˆ‡ˆ…†ˆ‡‡‡††…„„„„„„€€€}|{xp[B:479;>??@@ACCBCCDEEDEFFEFEEFFEFFFDDDEHEFGGGHHEGFGFFFFDFGEDFDDBBBBBBECCDCCCDDEEEDDDDCCCCBBACCDDCBBBBBBCCCCBCCCDCBCEDDDDCDCBCBCDEDEEEEEDEFFGFEEEFFEDEEFEFGHGFFGGGFFEEFFEEDFHGGEDDDEHEEFEDDGFEEgfghgfhhgggijjihihhhhijjiiikjknmnmqnonoooonnoorqssrruuusttvtxuuuxuwx{wyz|}|||€€€€€„‚ƒ„……€€~‡mKDFOOOOOPPMNRZbpvqtjoieruongVSSTTV[cz‘¶ÞéìíîíìëëéÞ£mflޤÉàààßÞßßáâßÛÚàààäéééèåÏ»±ž›¡ÛÝãçèééêêêêêêêêêêéêêêêêêééêêêêééééééééééééééééèèèèæåáÝßÕÅ·²ª¢™‰ˆgnooruz|trty|~mgfbQC</)&#$$$   $)06CKUr|œŠˆx{b^QHMU\cRNQUZ^^ahmry†ŠŽŽŽŽŽŽŽ‘Ž‹ŠŒŽŒŒŒ‹‹‹Œ‹‹Ž‹‹ŽŒŒŒŒŠŠ‹ŒŽ‹Ž‹Œ‹ŠŠ‹ŽŠŠ‹‹‹‰Œˆ‰ŠŠ‹Š‰‰ŠŠŠ‹‹‹ŠŠŠ‰Š‡ˆ‰‡ˆˆˆ‰†‡‡‡ˆ‡‰‰†‡ˆ†…†ˆ…‡„†…‚‚ƒ€€‚‚ƒ~~}ujO;3469:<>??@@@ABBDDDDDEEEEFGFKGHFFECDEEEFGGHHIEHGGEFEFEEFDCFDCCCCCBBCCDDDDCDDDEDDDDCDDCCBCCCBFDCBCBCBCCEDCBCCDDBBCCCDDDCCCCDEEDFDDEFFFDDEEFEEDEEEFEEEEFFFFGGGGGIFGFIFGFFGFGFFFDECEDDDDCDEGFEDgfhihghjhkiiihggilihhhklijjjkklmmnqoomooprqqppppsrrstttstttstuvvvuyz{wzz||{z||~€€€€ƒ€‚ƒ‚‚€ˆoLEFQQPOOOOOPPSTe}twrskhw}}hb]WWUUUY]mz¤ßéïñïíìëëåÝÝʺ°ÃâêêëêèåáÜ¿€{Š«ÜåæèéèäâÙȺÂÝÝÞàåèéêêêêêêêêêêêêêêêêéêêêëëêêééééééèéêééééèèèèèæãÏ»§˜‘Œ‰†ƒsgVAHRejiijjrt~…{uokf_TE>70+(%&!! !#(+/2;BR]l~~~oiXI?:;<>??ADHNUZ`chnpuy}ƒ‡ŽŽŒŒŒŒŒ‹‹ŠŒŒ‹ŒŒŠŒ‰Œ‹ŒŒŒŒŒ‹ŒŠŒ‹Œ‹ŠŠŠŒ‹‹ŒŒŒ‹‹ŒŠ‹‹‹‹ŠŒˆŠŒŽŽŒ‹ŠˆˆˆŠ‹ŒŠŠŠ‰ˆˆ‰ˆ‡ˆˆˆˆ‰†‰‰‡‡‡ˆˆ‡ˆ‰‡†‡†ˆˆˆ……„†…„ƒƒ‚‚ƒ~€~zmX?00158:<==>>?@ABBBCGDDDFFGHFFFEEEGDDFEEEFFGFFEGEFEFEFEEFECDDCCBAB@BBCEDEDCDDDDEFDEDDCBBBBBAAABCBBBAACBCBBBBBBCBBBCCDEGDBDDDDEDEDDCDEDDDDDFFEDDEDEFEEFFFFFFGHHGGGGEHFHGFFFGFDEEDDDDDDDDDEFFEFjiijjhgjhiiiihghiijjkhlkjjkkmmmnmnpooorrqqrrrrqqsrutttttuvztuwxvyxyz|z|}~~||}€‚ƒ‚‚ƒƒ„‚‚ƒ‚€‡qMFGSQQPPPOOPOON]tŒvptsvz|~}uka[WUSSUVV_k“ÁÛïñòðîìëéçåãããçêêëëçफ़”dC„ž†{²ÝÝÛáåææåäãâåçáÛâàäçéêêêêêêêêêêêêêêêêêêêêêêééééééééééééèçæåãàÞ¿¥Žz…‡‰ŠŒ‹zqM7+/Iuvqg^dqsˆ}zvvpnol_TNF:1*(%$##$'*--2;@DHWdb[ULB85142669;>@GMQX\_cfjov‰”“”ŽŒŒŒŒŒŽŒ‘Œ‹ŒŒŒŒŽŽ‰ŠŽŽŒŒŒŒ‹ŒŠŒ‹ŒŒŒŒŒŒ‹‹Œ‹Œ‹‹‰ŠŠ‰ˆˆˆ‰ŠˆŽˆ‰‰ˆ‡ˆ‰‹‡ˆˆˆˆ‡†ŠŠ‰‡‡‡‡‡†„„ƒ‚‚…‚‚~{zbB0,-269:<<<<>>>@ABBCCCBEFFIFGFFDEEDDFFGDEFHFGFGGHHIFFDDEFDDCCBAACBEBCDCEGEGDEEEFDEEDCBAABA@@ABBB@AAADBBBCCCCCCDCCDEEEEEDDDDDDDDDDDCEDCECCFIDEDCCDFHFGFFFFFGGHHGHHHHIHGEFFFHEFFEEEDEEEDDDDEEFhghkhghkijiihhgjjjjjkhjjkklllmnmnooooppppppqrrrrssttuttuuvvuw{xvxxyz{{{|}~|}}~‚‚‚„ƒ‚‚‚‚„€€€ƒ…pOGHSSRRRSPOPPPPXZ[ajxvxz|xxxxwsgc]SUWVV]f†¤ÄçòôñîëëêëìììëêëëëéÛ´‹hu𣧢¡„ Ãâçééêêêêäת¾ÔâçêêêêêêêêéêêêêêêêêêêêéééééééééééééèãÞßܶ§šŽ‡vz~…ƒ‚}p`N4.%4KxŠ€{l^flrvvvtromouf[OC90121/.0//*')-0136?JA;74:??=:67688:;?CIOTX^cgjqxŒŒŒŒŽ‹‹ŒŒŽ‹ŽŒŒŒŽŒŒŒŽŒŒŽŠŒŒŒŒŽŒ‹ŒŒŠŒ‹ŒŒŒ‹‹‹ŒŒ‹‹‹‹‹‹‹‰‹Š‹ˆŒŠ‰ˆˆ‰Š‡‰‡ˆŠ‰ˆ‰Š‹‡‡‡‡ˆˆ‡‡†‡†‡†‡†………„„‚…‚…ƒ‚€}zjI0*(-269:;;:<=>@@@AABCCEEEFFEEEDEFEDFEDCDGFFEEFGEDDDGDDCEDDBBBBBBAAACCDEEEDDEFEEDCCCCCBABCAABCBCAAAAAABECCCADDDECCDGDCEGCCDEEFDEDDDEDCCCDFFDDDDDDDDDEEFHFEFEFFFHGFIHHGFFFFFEGHFFFDEEEDDGEEEFhhhhhhiihjihhggjkkkkkkmllllmmnqpporopqsstrtrvsttvttuxxxxwvvwyyxxxz|{|}}~~}}~€€ƒ‚‚„ƒƒƒ‚‚‚ƒ‚„„…„ƒ‚ƒ‡qOGISSTRRQPPPPPPQNOWiz†‚€|uqpxz~–vdVUUUUUZ_l„²áðóòñîììììììëëëëëæáâàÒÁyzzrj]J”£ÆßáàäèéêæÚ½®°¹ÕæèêêêêêêêêêêêêêêêêêêêêêêêêêêêéééèåÚ®”uz|€†€‡…„ycYC710;W}Œˆh`dt~‚„ˆumjmsw_YKA<?AA?:850'"!"""'+-*'(/EV_MB;9888789;>AFKQV[^cjt€ŒŒŒŽŒŽŽŽ‘ŒŽŽ‹‹‹ŽŽŒŒ‘ŒŽŒŒ‹‹‹ŒŒŽŽŒ‘‹‹ŠŠŠŠŠ‹ŒŒ‡ˆ‰ŒŠŠŠŒ‹‹‡†ˆ‰‰‰ˆŒ‡‡ˆŒˆŠ‰ˆ†‰…„„ƒƒ…‚ƒ€|nQ4)'(-6889;:;=>>>@@@CBFEEDGEEEEEFEEEGDDDDEDDEDEEEEEDGEDDEDDCBBBBBAAAEDEEFEFDDDDEDDCCECECABBBBBCBBABCDBBCCDCCEDDECCDDCDFDCCDDEDCDDDFDDDCCDDEEEDEEEEFEFEFFFEGGHEFFFFIHHFFHGFFFGFFFEEFEEEEFFFFFhlhhhhhhhjilknhikkkklmmnnpnnnmoppopopqrrsrssusttuuuuvtxwwwwxxwyzzz{y|}}~~|~~~€€‚ƒ‚‚‚ƒ„ƒ‚ƒ‚„ƒ‚‚ƒ†sOHITSSSRRQPRSX^UQSSaqknw{vqs…}vseVXUVYXX[]kwŸÒàôöòíìëììììììëëëëëêæÍœ‹nlgfi~˜¨­ž…šÌÜèëèàÖÊÀÁÉáæëëëëëëëëëêêêêêéêêêêêêêêêêêêééèæß³qhPiux|}}|zzzz{xvtn]KUb‚’‹†r`Wiƒƒ‰wogool^TKHEFINSIB>8-#! ! !!"$"!&.BdVKB><<;:867788;>CHOX^bkp|Š’ŽŽŽŽŽ‹ŒŽŒŽŒŽ’ŽŽŽŒ‹Œ‹‹‹ŽŒŽŽŽŒŽŒŒŒ‹‹ŒŽŠ‹‹ŠŠŠŠŠŠŠ‰Šˆ‰ˆˆˆˆˆ‰ˆ‰ˆˆˆˆ†ˆ‰ˆ‡ˆˆŠ…Šˆˆ„………‰ƒƒ†€‚‚€pY;,$&*1688::;<===??>?@ABCDDDDDDBDDDDDDDBDFDDCCDDDDDDCCDEDCCBBBBBBAAABCCDDDFCDDDDDDBCEBCDBBBBBAAABBCCCGDBCEBCCBCECCCCCDDCCCCCDCDCDDDDDCCCCCDDEDFEFGEEEEEEFEFEEFFFFFGGFEFEFFGGFEFFEDEFFEEEFFFEiiiijjjiiiijjiijkkmklnonnnooonnqssspqqrtusrsuuwvuvyw{wxwywwy|y||{{||||}~€‚‚€†‚„„ƒ‚ƒƒƒƒ„ƒ†‚ƒ‡uQIITSTTRRRQTXbeXPQQUW\fz{ytt†z~tsw\ZUVWWWXZ^dl°ÕîñóñïíììììììììëëìëéåÜÒÉÈÆØ×ÚÔŸˆ_O„žäêéèçæäâäæèëëêëëëëëëêêêêêêêêêêêéééééèèççæãЦ…lu„’™—•˜™Š”´¹½ÄÎǺƒhr‰™‹‰|aR`v‰‡ŠyxtrsmbUN\TOQZUUGIA3($"#$$"!  !%1@OKG?@?>>;:6556789<?CJQW]cmx†’ޒސŽŽ‘’‘“ސŽŽŽŽŽŒ’ŽŽŽŽ‘ŽŒ‹Š•‹‹‹‹ŒŠ‰‰ˆ‹‰ˆˆŒ‰‰‰‹ˆ‰‰ˆ‡‹‰‡‡‰ˆŠ‰Šˆˆ††………„„†‚„ƒƒvlE/%$'0488:::<==<=>>???@BCCCCDGDEEGEDDDEDDDDGEECCDFCCCDCDDDDCBBBBBB@CCCCDDEDGEHCBBBCECCCCCEBAABACCCCBCDCBCBCCCCCCDEDEEDDDCBCDDDDDDDDCCDDDDDEEEFEGFEEGEEEGFGEEFGGGFGGFFIDEFHFFFFEEDEEHFFFHFEEiijjjjjjiiijjjjjjkkjlppnnoooppprqoqqrqsttvssuuwvvvvvwwwvwwx{{yzz{|~~}|}~~€€€ƒ‚‚ƒ‚ƒ€ƒ…ƒƒ„ƒ†‚‚‡wRKJUXTVTSTU\agrWPRRTVYX_gp~†|upl^ZUUVVVXY[\bh‚˜¼åóõòïíìììííììììììììêçæäáÞÕǨ€Zmˆ´àéêëëëëêêëëëëêëëëëëêëëëëêêêêêéééèçæåäããàØÒÍÁ´¹½ÎáàÞÕÌÉŸ®¾ÖÑÐØàÔÆ›|†Š‰ˆ‰„gLYi€woorvzri]U\YUQOLF@??:6/(((((&&'(-7HQRQMIE@>86544766689<>ELT]dgq{Ž“‘ŽŽ‘‘‘ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘ŽŽŽŽŽŒ‹‹‹Œ‹‹‹Œ‹Š‰ˆˆˆ‰‰‰ˆŠ‰‰‰ˆ†‰Š‰‡‰‰ˆ‡ˆ‡ˆ†ˆ‡‡‡‡†………„„ƒ„ƒƒyrP5%#$+1979::<;;=;<@?>??@AABBDCCDDDEDDDDDBCBEFDBCCDCCCCCCCDCBAA@CBBAABCDDEEDDCDCCCCCDCDCCBBBBBBABBCCCCCCCCCCCECCCDDDDFDDDCCCDEDDDCDECCDCDCCDEEDDGFEEEDDEFFEEEGGGFEEEFEFDEFEEEEEDEDEEFFFFFFEDhjkkjjjjihjkjkljjlllmnpprpqqqqpqpqurusutsttuvvvv{vvwxxwwxxyz}}}||}~~}€~€€…‚ƒƒ„‚‚‚‡„„ƒƒ„‚†„…ŠwSLKWVTVVTUWetsnXQRRSSRQS[j€‰{‚ur}]ZVUWVWXZX[[_cq„²áðóòòïíííííììììììììëëéÜא—xŒ|ˆÂÅßäêëëëëëêêêëëêêêêêêêêêêéééèèèçççææäâÜÕÐËÆÅÈÔãäããäåæåäÝ×ÏÆÄÈÚææåæçäᲝ’ŠŠ‹ƒrNRjzxhcgqˆvgdd_[\^`J<=DACHC3/-,,,.015Hbkusoa\IA<76666766789;>CHOWYbio|Œ–Ž‘‘‘ŽŽ’‘‘’‘‘‘‘ŽŽ‘‘ŽŽŽ“ŽŽŽ“ŽŽŽ’ŽŽŽ“Ž–‹‘ŽŒ‹‹ŽŠŒŠŽ‰‰†‰ŠŒŒŒ‰Š‰Œ‰Š‰‹ˆ‰ˆ‰†ˆ…†……ƒ‡„„~w^<'#$(-98:;::;;>;;;<>?>???@@BBBDDDCCCCDDBCBCDCAFFFCCCDDFDDCCBAACCECDBCCCDFCDBECCDDCDBBBCCCBBBBAABCDCCCEECDCCCCCBCECCDDEDCGDDDFDCCDCCCDCDCDDEEHGGFFEDDFEEEEEEFFGHFEDFEFEEEDEHEFEEEFFFFEEGFEDijjljjjjjikmmllklmmmmmpopoqrrsqrqrurttutttuuvvvvvvwwxyxxxxz{||}|}~~€~|„‚‚ƒƒ‚‚‚ƒ‚‚ƒ‚ƒƒ„„…‹zTMMWVUVVTXZj‰nm^TTSSTSSUVdysz„utz\YVVWVZZ[\[[[^bny Ðßôöòîííííììììíííìììêáѽ°¤–““®ÙåéìëëêêëëëêêëêêêéééééèçææåååàÝÙÖÔÓÓÉÅÁÄȸ´ÀßââããåèééèçæáááåæçççèééæáÎÀ¤‰ƒwaD[†‰‹q_alpxg]adefekd[KLIHLRA79A@@?>>>F[j‘ŽŒ{qWKIGB=:88777777::;?DKRZZ^gu‚Š‘’Ž‘‘ŽŽ‘‘ŽŽŽŽŽŽŒŽŽŽŽŽŒ‘ŽŒŒŽ‰‹‹‹‰‰‰Œ‹Š‰‡ŠŠŠŒŠ‰‰‰Š‰‰‰Šˆˆ‡ˆ‡†…†…„ƒƒƒ‚ƒzjD*$!&+38;:::;9;:;<====>>>@@@AAABBABBBBBBBBCCCBCDCCCDDDGBCDCBAACCCDDBCCCCCCCBDCDDDCEABBAAAAAAABBABACBCDCCCBBBCDCCCCCCDFDBDCDBCCCCCCCDCCCCCCEDDDEEFFEEEEEEEEEDEEFFEEEFFFEEEEFDDDEEEFFHFDEEFEiiijjjkjmlonmlllmmnoqnppsssroppqqrutyuvuyvuuvwzwxw|xyyyy{y}}}}~}€~}}~…€€†ƒƒ€ƒ‚…‚ƒƒ‚‚‚ƒƒƒƒ„‚‰†‡……‹{UNNWVUVUTZ]ruoo`YVQSTUSQQYdjkq{tuw[YVXWWXWXXXXZZ\^em°ÕïòôñïîíììììììììëëêéæãâßÃ¥™›ÚäèêêéééééèèèèèççææææåäÞÙ×ÕÒÒÔØÎÔÀÏÒÍÆ¿Ã®¡¥²¸¾ÈÓÐÐáãæèèèçæçèçæææèéééçåÚ׬ˆ}_]j”¶’{e[cco\[_hsuqnl^SPRKOL@<BQ^[VRNOSUnwˆ„€qURUY^J?96777666899:=AHOPXbft|€‹‹“‘”‘’‘’’’•‘’’‘‘Ž‘‘“Ž’‘“’‘ŽŽ“ŽŽŽŽ‘‘ŽŒŒŽŽŒŒŠŒ‹‹Š‹‰Š‰‰‹Œ‹‰Š‹ˆ‰ˆ‹ˆ‰‰‰‡†‡ˆ…†ƒ}qN/&!#(28;:::;:;::::;=<<==>>??AAABBBAAABBBCDDDCBCBCDCCDGCCDCCBBECBCDCEDDDEDCCCCDDDDEBAA@@?@AAABBADBBBBCBCCBCCCDDDEDDCDDDCEDFBDCEDCCCCBCBCDDEEEDFFFFFEEEGEEFEDEEEEEEEFEEEEFGHGGDEEFEEFGFFFFEjjjjiikkkkllmmllmnnopnoqqqrrqpqsssssttstvvwvwxwwwwxxy{zyzy|||}}}~}~€€€€‚‚‚ƒƒ‚€‚ƒ‚‚ƒƒ„„„†ƒƒ†……„…Š}WQOVVVUUU[^qtrqqr^RTSY_\\\ZZZi…tvw\YVXWXXYYXYZZZ[\^cj‚™¼çôõñïììììëëëëëëëêêêêêèäÝÉÑÝáåæåääãâàßàÞÛÖÖÔÏËÈÄÂÂÆÊÒÓØÛÞäÜØØÝßßµ¬››Šœ™šœš–›¤»ÜæééèèééæâÙâçééééèèçà½©š‰•Ÿ›Œvlgjlgachovi^[YTPVLPNI@IU_k^ZWQNKPX`gpqidipbQ><887777687789;?CHSY_ips}…‹•’‘‘‘‘‘‘‘‘ŽŽŽŽ’‘’ŽŽŽŽŽ’ŽŽŽŽŽŽŽŒŒŒŠŠŠŠ‹Œ‹‰ŒŠŠŠ‰‰‰‰Š‰‰‰‰ŠŠˆŠ†ˆŠˆ………†‡ˆ„†ƒ€xX7*!"'/789:::::9:89:::;;=>>>>@A@@?AA@@ABAEDBDCDCBECBCECBCDEEBBCBCBCBBABBCDDDBAAABBBBA@@??@AABBAACBBCBCCCCBCDBBCCDEEDDEDBCCCBCDDFDACCCCDDDDDCDDEDFFFFEDFEEEDDECEGEEEFFFDDEFGDEDEDEDEEEEFFEEjjpiikolollllnnmnoppooopqqrsurssstutwvyvvxuvwxyw{yyx{{||||{|||~~~}}~‚€€‚€„ƒƒ‚ƒƒƒ„†………„ƒƒ‚„ˆ†………Œ[SRVWWVWX\`qsxsrueZUT]ewjZSSU]elxz[ZWWXYYYYXYYYYZZZ[`cqƒ³ãðòòñïíìêêêééééèèèèççæãáàâãââߨÔÏÌÉÄ¿¸±®¨£žž ¤¬¸ÆãßåææåäãáÞÞ;¬¤Ÿž¥««©¡›—’—Êâçççèçäл°¸âçèéééééæàÌÅ–œ’”¡¦˜ˆ‚€€wpopnc\[^d_\[[^_[Y\ac^WbMJEADJUmp”yulQ=;8887766666788:;?IPZgpux}„‘Ž•—“–‘••••”‘‘‘‘‘‘“““‘‘“’“‘“‘’’’’’‘‘’’’•‘ŽŽŒ‹Œ‘ŒŒ‹Œ‹‹‹‹‰ŠŠŠŠ‹ŠŠŒ‰‰ˆ‰ˆ‡†…‰‰‰„‡†ƒ{lB.#"%,668:;;:<9:9<::9=;>=====>?@?AABA@A?BDCDCBBBBBBBDCCEEBAACCCDCDBCBCB@ABCBBBAABBAA@A@B@AAEBCBCCCCBCDEECBBBBDDEEHEDDCBBCCCCCCCDBCCCCCDCDEDDEFEGFFGGGFFHEFFFFFFEEEEDCCEFFGEFEGEFEEEEEFEEEkkkikllknnmlnpoppppooqqprrsutrstuuuuuvwwwxvvxyyw{yxy{}|{{{|}}|}~~~}|€€€ƒ€ƒ‚ƒƒƒ„„…ˆ††…ƒƒ„†††††Ž‚^XUV\YYWXZ`pvvrqrmjbYbfp}_TXZ[YdudYYWWXYYXYY[[\ZZYYZ__`mz¡ÎÞòôñíëèæäãáàßÞÝØÓÎÌÉþ¼ºµ¯«¨£ž™–Š‡ƒ|ywwx|Œ–£µÅßåææÜ˶§™šœ £©³¾ßááÞÐÉĬ¬¦¹àäåæãÕ»¤–ƒ­ÚååééêêééáÕœ|‡ž³¾Ì«—•–‡{zyn]ZYacfiq|{wslgd[SNKFD>:=CWmpqu{mUF>;98876686677779:CJXdkqyvyx‰’’’‘’‘’”‘‘’‘“‘‘‘‘‘’Ž‘Ž‘’Ž‘“‘‘‘ŒŒŒŒŒŒŒŒŒŒŒ‹‹‹‹‹Š‰‰ˆ‰ŠŠˆˆ‰Š‰‹‰ŠŠŠŠˆ††††„‡‡ƒ}rN4$""(258889999888888::;<=<<===>>>>??@B@AAABABCCBBDDEDDDGBABCCBBBBBBBCD@@AAAAAAA@B@@@@@BAABECBABACCBBDDDBBCCCCDDDECDDCCCBBCDCCCDBBCCDCCDEECDEDDFGFGFEFEGDEEEGEDEFEDDCDEFFFEEDGFFEEEDDEDEEolmllmmmrnnmnoopqpqppqqqssuuvvuvxuywzxwwyxwx|y{{{z~|{|}~~~~~}€~~~€‚ƒ€‚‚ƒƒƒƒƒƒ„„„„„„„†‡††…†„…†‰‰‡Žƒa[XUWXXWWY^q}t{z{z}`bh€…eTYYVTXb_YYXXXXXZZXYWZYY[ZZ\[]^enޱÔíïðëãâàÖÌ·±¬¥Ÿš–’Œˆ„~zwtqnjigdba__`abdgovŠ™§ºÎÙâܺ«ˆ‰lq}”¯°ÈÎßàåÒᾯ¨¨³×ØÙæßÐŒ„ªäçèêêêêêçØ¡tlq‰¼±ÓÐ˳¨§§œ‰‡‰‰qbhoqtz‰ˆ†…ˆzyk[NJIBA;94CNaZTQck]OGC;8897679677879:@FVbhqz|~|{€„†““”š”––—’“’’’‘’“““‘•”•‘“’‘’’’”‘‘’‘‘‘’‘•‘‘‘’‘‘”““’‘Ž‘ŽŽŽŒŽ‹Š‹Ž‹ˆ‹ŠŠŠˆŠ‹‰‹Šˆ‰‰‡ˆ‰‹†Š††~z[9&"!%,4798:9;9879889::;<=<<=<<;<>>>?@@?ABAEBCCEABDECBBBBABCCEBDBBBAAFB@ABBBCBBDABA@@@ABABCEEDAABECABCCDBBCCCCCEEFGGDCCCCBDDDDCDCBCDDCCDDEDEDDEFFHFEFFEGDFEFEDDFEEEFCDEGGGDDDFFEFFEDDDEFDmmllmnnnroomosqqqqqqqrssssuuuuuvuuyvwyxwyyxzzy{zzz~|}~}~~}~}€~~~~~}€€ƒ‚ƒƒ‚ƒ„„……†…†…………………ƒ……†…‡…eb]YVVWXXYZh|rovbmulafiŠiWf{gVZ[YYY[XYXWXZ[\YYYX\[[^[\\^dj„™»ßçâ¶¥›”…€|yvrnlihfdba``_^^^]]]]]\[[\]^`ekpxƒ›¬»ËÚÕа“‡x†Œª¬®°¼ÓÑÐν³¨ª¯ÕßàåãÀ©˜¡«Ååêêêêêëêä´wkcu‹¤®ÍÕÏÈÆÄ¾·«ž™”‘’™—‹‡…„{wx|zzVLKKEIIHKUm}p^^ehe[OE><:976676678778?CR_hq{~|zyyz‚…‹“““’’—’’‘‘’“”’’’’’•““’’’’“‘’‘‘‘’’‘‘‘ŽŽŽ‘‘‘‘ŽŒ‹Ž‹ŒŽ‰‹ŠˆˆˆŒ‹ŠˆŠ‰ŒŠŠŠŠ‹‰ˆ‰‰Š…‡…„€~kB*#!$(268788998888889:;=;;<?<;;<=??>>>?@@@@ACCBABCCCBDBCBBBABBBABBAA@@AABBBCBBBAAAA@AABABCBABABBCCBBBBBBCEEDCBBBDEDCCCDEDDDDCCCCCCCDCBDCDCDDEEFFHEFGFFFDEDEDDDDEDCCCEEDDDDEEFFEDDDDDDFDDqqqssrrssqqrrsrssstqruwuuvvuwwxx{wyxwxxy{yyyzy{{|~|}|}~~€‚‚€‚|„„„„„„„‚……‡†††…†…„„…‰†……‡‡ˆ‰ˆŒ†pjgaZTUXXYW^gjoreenh]ck‚nhrwWXWWXXXXWXXXYXYXYXY\[[[ZZZ]]`es¢³ž‚|jfcbb_]]]]\]YZZZZZZ[[ZYYZ[Z[ZZZ[\\Z^`ehqy…‘¡³ÂÛÐßĵ«¡¡£¢Ÿ›ž¶ËËÌɼº½ÀÐÞåæçÚËÆÆÖáæèèçççççä¢sip~’Ÿ¯ÉÒÙÛâäãØÇ½·©£¥­²´£œ•‡…urpt_TJB=?CO}xs‚Ÿš˜€uy}sh\JEB@=97666678777=AQ^hq}€‚‚ƒ‚~}‚ƒ‰“”–“˜’“”˜’–“’’’’”••““’““•’’““’’’˜‘‘‘’‘’’‘“‘•‘’‘–‘‘‘“’’“ŽŽŽŽ‘Ž‹‹ŒŽŽŒŒŒŒ‹‹ŠŒŠ‹‹ŒŒŒŒŒ‰‰Š‹‡‰„sK/%""&158899987878:989:;::;<<;<;<<<=>>?@@?@@CCBBBCCCCDAA@@AACBCBDA@@@@CB@@AAAABBBCBBDCCBDBBCBBBCCBBBAABCCCDDCCCBCCCCFDFEDDDCCCCDDCCCDDDDDDFEGEHGHGFGGFFDFEFEEEDDCCCDEDDCEEGFFEEEDDDDDCCDrrssssttsssstuttuwtrtvvuvvwvwwxxyxzyz{yy{zzzz{}|||||~~}||~~~‚~~ƒ‚~‚‚ƒƒƒ…„‡ƒ…‡…ƒƒ„„…ˆˆ†…‡†‡†‰‘ˆwxwobYSUYYX\^del~qpf^elƒ’s^yvWYXYYYXY[[[XYXZYYZZZZ[\[ZZ_\\`cmvyy}wne`[[[[[[][\\[ZZZZ[[[[YZ[\\\[[ZY[\\\^`bels~‰—¤¶ÈÔÞàÜ˼±¢›Š«Ò×ÞãÑÉËÍ×ÞåçèçåàååæççåÚÐØáàâ®yr{‹¥ ¯ÍÑÛáåçèçÝÕÇ·»¹¦¥§±³°¨¡|qbLL==;ARnŸ”¬®°¢“Œˆ‰†}umfa[QG>876778887<>KYfq}‚ƒ„„ƒ‚ƒ†‹‰Ž””’“–•’’’““”•””“““‘““’’“•’““’“‘’‘’‘’’’’“‘‘‘‘‘’‘‘’‘‘‘ŽŽŽ’ŽŽŽŽŽŽ‹ŒŒŒ‹Œ‹‰‹ˆŠŠŠ‰‰‰Š‰Šˆ‡†‚{W5(!!%,38788878888:9899:::;:;;;;<><;=>>=>??@@ACCCCBBBC@@@@@@@@BAAAAA@@AB@@@CCCBABBBAABBBCBBBCBBCBBBBAAACCBCDCBBBCDBBFCDCCBBBCCCBBBBCCECCDDFCGFFEFFFHFEECEEFEEFEDCCDDCDDCDDEEEEEGDCDEDCCDwuuvwxyyyxxxwvvvyyxwvxyyyyyy||}||{~}}|{|~}~~‚~|}€€~~~ƒƒ‚‚‚‚ƒ‚ƒ‚‚ƒƒƒƒ„„„†…‡†…††…†‡Š…‡ˆ‡ˆ‡†‡ˆ‰“—†‡†‚scYSUYXXZ\`ltwxpcel„†yx’yW[YYY[YZYXYXXXYYZ]\[[Z[ZZZ\[[\]_flqƒ‘—€e_\[ZZYZZ[[Z[[Z[\ZYZY[[[ZZZ[ZZ[[Z[]]]`chmv~Š•¤´ÁÛäÞéšžªÀÖàææåæççççèéêéèèèééééçÔÉÈÑÛÛÎ’t|“©Ò×ãåçèèééäᳫ§¤¥£¢¤«´¡«…–v|]RJB>@Lbx–¶­¬•”“’“™žp‡‚€_F987888899=>DSgq€‚‡«œ•› ¦¯¡“ˆ‹‘Ž•““”–““”••™•—””’””—“““‘“”“’’’“““””””•”“‘’–’’‘’’’‘‘‘‘‘Ž”‘‘’ŽŽŒŽŽŽŽ‹‹‹ŒŠŽ‰‹ŠŒ‹‹‹‹ŠŽ‡Š~f?,"!$*38888879888::88;::;<:::<;;;;;<===>>@?A@CCAAAABB@@AAB@@@C@EACAAA@@@@ABCBEADABA@BBBDCEBCBABBBCBCAABDCDEEBDCCAABFCDCDBBBCCCBBBDCCCCDGEEEGFFFGGFGEDEEHFFEFFDDCDECCDEEDDEEFEEDDDDDCDDDvuvyxwyzxwwxxyyyy{xwxzzyz{{{||||}|}{}~~~~}}~€~~€€€ƒ‚€‚ƒ‚‚‚ƒƒƒƒ„„„…†…„†…‡Š†††††‡†…‡‹ˆ‡‡‡‡‡Œ—•Ž•˜‘Šs_UQTZY[[\_am|pgdk‚ƒzk‚›yW[ZZZZYZXYZXXXZZZ[]\\[\YZZ][[\]^`dhx»À¼‘mc\[\[ZZZZZZ[Z][YZ[[[[[[[[\[\ZYZZZZ\^_`dhmt}†™¤°¹Å·³µµÀàÜåçççéëëëëëëëêêêêëëëëéÝÊÁ¹ÈŲ̀”†‚“›ÕÞãèêéééêçÇ™Šˆ––”’Œ…ƒ„€wkb_ZMCFHSWep‰¤¨©§ª¡†|lo€rmE:776677884/8CTgoz}ˆ ¹¼ÃÆÈ»¼©œ’…”‹Ž’“—–””””“•••””’“•–“““““”“”•’’“‘’“’•’“““““‘‘‘‘’““‘‘‘‘‘ŽŽŒŽŠŽ‹‹‹ŒŠŒŠ‰‰ŒŠ‹‹ŒŠ†Š‚pK2#""(1467987887777979:989:99::;;;;;<=>=<??@@ACAB@@A@@@A?A????@@AA@@??@@BAAB@AAA@C?@BAABBBBCAABAAAAAABBCDCBBBDCD?@AABBBDBBDCEBBBBBDDDDDDDDEFFFFGDFGFGFFECEEEEFFEDDDEEEEEFFDFEEDDEEFFFFFwvxyzw|yyy{zzz|yyywz~}}{€€€€€~~€€„€‚€€ƒ‚‚‚ƒƒ‚ƒƒ‚‚„„„„ƒ‚ƒ„…„„…‡‡‡†††Š†ˆˆ‡†ˆˆˆ†…†‡‰‰ˆ‡‡ˆ‰Ž˜¢§¯±²™„lYRMRZYYZXXevael~€€{–xXYYYYZYZY[YYXXYZZZZX\[[YZ[[[\]]^_`cm’À»Ï{l]]\[[ZZZZZZZZZ[[ZZZYX[\ZZZZZYYXYZZZ[\^`cglrx‡š¤©¯®ËÔÞâãååæèèééêéééééêêêêêééÛÆÀ¿ÕÉÅÀ·« œ³×âèéêêêé騶‰oowŽœžž™‚ƒ_ZYXZ`jbXSSRSTQZew–ž»µ®‘ƒtcZTWZO@968666678.+-5AP_ny‚”¦ªµÇÁº¼¾¡§˜›”‡Š‘‘œ•—•—–•–—•—““–˜”ž—•••“—”“’“”š“’’•’–“””“’““—“”“‘’“‘’’‘‘”‘””•‘’‘‘‘‘Ž”ŽŒŽŽ‹ŒŽŽŒŒ‹‹‹Œ‰‹…zZ9%""%,4677798797779878989999:::;=;;;==>???@???@@??A@BA@AB?A?>?@AAA@??@@AAAD@DAA@C@@@@ACBAABAAAAABABACBACBBCCCCDBAABBDCCBBABBBBDCBCFFEEDDEFGFFFGEFFFFGFEEGFFFFFEDDDFEEEFEEFGFFEFEGFEEEEwwwwwwyxzzz{{{{yz{||}|}}~}~€€€€ƒ‚„‚€‚…„‚ƒ„ƒƒƒƒ„……†„‚ƒƒƒ„„„„ƒ…††…††‡ˆ‡†††††ˆˆ‡†ˆŠ‰‡‡Œ‰‰‰‰ˆ‡ˆ‰Žš§°¾È´¡zfUMKPXZ[ZX`e\Zdm|||…Šyafga[[YYYZ[ZZYYZ[ZZY]\[Z[[Z[__^^^_`fl‘¨Ä¢wd_\]\[[ZZZZZ][\\[[YY[[ZZ[[[YXYXWWWWXZYYZ\`cgkosy„‰–¦±»ÂÊÒÛßåæççæãâåéêééééêëéæäÜÔÒËÎÛÖÏÏÍÜçêëëëëéèη„{pƒ¢¥®´¾¥‹mQLIMQac]OPQTZQJRThy†€unhSFCA>;97777866660+/3=DOYdr†«­³¾Ç¬¡•Œ”š¨£•ˆ‹“•–—————–—“•–••˜—–“”””““’“–•’’‘”“”““”“‘’’”““’“““‘“““’”‘‘‘‘‘’ŒŽŒ‰‹‹‹‹‰‰‰€kB)$"$(367789888776667788889899::;<;:=<<=====?>?>>?@@BA@A@?@??>@@@?@AA@@@ACD@@???@?@@@?BCA@BBA@AAA@@@ABABCBBBBCCCCCBBDBBDB@BCCCBCCBCBEEEDCCDDFGEDFFFGFIGGFFFFFCEDEEFFEDEEFFFFFDEEGEEGFFyyzxwxzx~|{{}}}}}}|}~€‚~€€ƒ€ƒ‡ƒƒ…‚………„ˆ„„„…†‹……„…†…†‹‰ˆ…††‡‡Š‡ˆ‡ˆ‰ˆ‰Œ‹Š‰ˆˆ‰‹‰‰Š‹Šˆ‹‹ŠŠŠŠŠ‰ŠŽš¯±ÖÈ» –Šr_QLIPYY\YYYWYdn€‚…‡†‰|{‚yh\\ZYYZZ[\[Z\\ZZY[ZZZ[[[[\\^^_^`_acky–º¥¤…g_\[[[[ZYZZ[ZZ[[[Y[YYYXYWYYVUUUTSSRSSTTTUYZ\]^`bdgmy†•¤°ÁÉÑÛåáÛÕÇÃÈÝèèéèèèéèèèççæßÚØÙÜßäæçééêêëêéÙ½§–’“¥®¿ÖÕÓ¯mOHDM]lo`SQRUUJOPSZaa_\YQC?<:87777787678633258:>EO^pŒ‘’‘ŽŠ…‘›£»³²¥¬˜†‹–˜š˜˜—————˜–—•˜———˜––”““”••––”˜”—“”””••––””““““”—’’’“‘‘’“’’”•’’Ž“‘”“”‘‘‘’ŽŒŽŽŒŒ‘ŒŒŒŒŠ…tL.&#"&15778897777776:888889999:99:;<<<<<====?>>>>??ABA@???B????@A@@B>@@@ABD@B???AAA@B?ABA@AA@@BAA@A@@BABDBBABBABBCAADBBCBABCCCBBBBDDDDECCCDDGFEDEEEEFHIGFFFFFFEEGEIGFEEFGFHEFEFEFFFFGFzzyyyyyx{{{|}}{{|z~|}}€~€€…ƒ‚ƒ„ƒ‚………ƒƒ„…‡…†‡……††‡ˆˆ‰ˆˆ†‡‡‡ˆˆ‡‰‡ˆŽŒŠŠ‰‹ŒŠŠ‹ŽŽ‹ŠŠ‹‹Œ‹‰‹‹‹‹‹‹™¥©¢—”‘’§‡j[NJINVYZYY[[douƒ‘…ˆyiz•sa`\[Z[Z[\ZZ[]\\\\[[[[\^\\\__^_``abbin† ¥½’rg]\\[YY[ZZZZZYYWWXWVUTTTSSRQQPQQRRTUVXWXZ[\]a`caeens‚ ²½ËÕÙÐË·«²ÔááåæáÞàãæèéêêéèæåæçççççæçéëêêèäßÛÍÈÁÉÏØÙ×̸›}ZX]Œ¾°Ÿ‡sia]LQRS[YYYYNF@>;:987787777876777798;?FO^jqvy}~€ƒœ©ªºÕ¶­®©‘ˆ’‘––š™——–––˜”™––——•–—••””–˜••–”–’’“””””•–”’“”””•’’’“‘’”“’”“”“’‘“‘‘ŽŽŒŽŽŒŽŠ…{W4)#$%,47878:677777677889688889::9:;<;;<<<<<>???>=>@@@@@?>>=?>????@B??@@AA@@?>?AA?A???@@ABA@AAB@@@@@@AAABBAAAAA@BCAABBCCBCCCCCCBBBBBCECBCCCCDEEDFEEEFGGFFGFFFFEEEDFHFFFFFFFDFEEEEDFEEEyyyy}yy{z}||{z{{|~}}~~€€ƒƒ‚ƒƒ‚…ƒƒƒ…†‡…††Š……†ˆ‡ˆˆ‰ˆˆˆ‰ˆŒŒ‹‡ˆ‰‰ˆŠˆˆ‹‹ŠŠ‹‹ŒŽŽŒ’ŽŽŽ˜£šŽŒŽ‰‡š |cVNJHNTW[ZYZcqƒx†ˆˆynƒ‡‚od^\[[[[ZYZ[\\\\\[[[\]\]\\]\]``aa```ej|Œ¤¿šp_\[\[YXXWWWWWVUUUSRRPTQRQRRSTTTVXX\\[ZYZ\^adeda_]ahw…—©¹ÑË•œ§¹ÍÑÍ·°ÂÐÕâååååææçèèèçÛ×ÖÜæçèèèçææåÛÖÛãäåäâÑÓ|œÚàáàßδ—€oa\VVKMJGC?<<<9:998877789778788889;>CKWjp}‚ƒ”´§¼º¼¸µ«¢¨±Ÿ‰Œ’œ—–––—™–š—˜˜—–™–˜•”•–•”•—”–“—•™””””•—“–––”™”““”’“••“”•””““”’’‘’“‘‘’’ŽŽ““‘‘‘‘‘ŽŽ‘Ž‹Œ}h>-##$*27888:778:798779898;98899889;<;;<=<=>=====<<=?>=?>>>=??@@@??@??A??@@@@??@@@@@??A@@@AABBB@@?@AA@@@ABAA@AA@BBBBBBECBCDCECECBBCCEDCDDCFCDEFFFDDEFGHGFFGGFFGGGEEFFFFFGGGGGEDDGDGEEExyyzzyz{{{||{{{{|}~~~~~}€‚‚„ƒƒƒ„†„ƒ‡††…†…†‡‡††…‡…‡ˆŠ‡‡‡ˆ†‰ŠˆŠŠŠŠŒŒŒ‹‹‹ŒŽŒŽŽŒ‹‹ŽŽŽ‘˜š‡xˆ…™–Œr]TMJHKTW\ZYbqkn{Š‹‹x`js„}vvkda[[ZZ\\^]\]^^^\^]]]^\`]]```bbbadegs~–¹Ÿ–{d^XXXXWWUTUTSSRRPRQRSSTUVXXYZ[[[Z]^cgc^gq~Š‚{ywnadfq|Œ ªµ©•›—š“™Ì¼Ï«­­¬°µ¾ÉÕßáâäååä×ÉËÇÌÓÚåèêêééåàÜÙØÝåæåÙÓÕÙâççæäáÑÕ®¥™~pdXPID@><>89888777778888:999999;=DM\nw†}~ƒ‰œºÔ²­³Åƹ–‰‰Š’™—›˜–—•———˜––—–––•••”””•””“•”–••–•“”“••–””••““’“’’““’”•“‘’”’‘’“’‘”“‘‘Ž‘“Ž‘‹‹sJ3#"#(0677577777788778888888888889;::;<<;<=====<<<<==>?>=>>?=??@>?A@?B??C@B@A@BBA@??AA@A@AAABA@@?@AA?@@AAACA@@??@BBBBCBCCCCDCCDCCCBECCCCDEDDDFGFEEEEGGGEDEGFEEDDDEFFGFEHEEEFFEDDDEEEHvyz{|{{{{|}|€{}||~‚~}~~~€€ƒƒ‚„ƒ†ƒ„…„„ˆ‡‡†ˆˆˆ‡‡†††‹‡‰‰Š‡‰‡ŠŠŠŒŽŽŒŽ‹ŒŽŒŽŽ’ŒŽŽ‘ŒŒ“’‘‘“›¦¡…x†{y“ºŸ‚jZRMJGLOU[Zamzyyx{Žwaew…€Žsd[\[Z\\^]\_^\\\\]]]]\`^^_```_`aabcdksª¥­‡h_UUUUSSQUQSSTTUWWXYZZ\[YZ][Z[[[^dnvv_lƒ¡œ’y…‹m\Zairƒ˜¡œ«­°¶¼ÄËÊËÉÅÀ¬©¨¦´§¦¬¼ÅÐßÜÛÖÔÁ»»ÃÓãåææçææßÑÎÏÙÖ×ÛÞâåçççæäÞÔɲ¹»¾³§•‚tgZOHB=:998889667988998887:9;>ELWku‡……‡…††”´±²®Æ¿Þ¸¨§¨—Ž’”—š™˜—™˜—––——˜˜˜˜™™˜˜””•™™š•˜•™–˜•——™˜—•”–™”•”•“™–˜•””“’’““’’““’‘‘”‘–‘““’’’Ž’ŽŒ„}Z9%""%+5786878787:888999887778988899:;:;;:;;<<;;;>=>>>=>>????A?@?@A@@B?>@???@@BB@@???@@A@BA@CA@?@@@BBBAAABA??A@@@ECCDDDECBBEBBDCCCBEDDCCCFEGEFFFEGEEEFGFEEFEEEEEDGFFFGFJGFEFFEDEEEFFFzyyzz|{z{{{{||}|}~~€€€€‚€ƒ‚„ƒ…ˆ…‚ˆ„„„‡‚‡‡‡†††††‰‰ˆ†‡‡‡ˆŠˆ‰‰Š‹‹ŠŒŒŒŒŒ‹‹ŒŒŒŽŽŽ’‘‘”ž§«•yvstŒ±¹•vfYRMJHJNU[^`_alvy’{n|‰…˜ƒ~nbb^]\\`]\]^]]]`]^^^]`_]___`__aabccejn‚›¡º’reXVTTTTUUVWY[[[[\\[]\\\[\^]][^_dp–ydx¥|_w˜‚x^Xccilw‹ŸŸ®°²¸×ÐâÜäãá˶¯®ºÄ¼¤¦©ÆŸ¢§º¹»¼´¥Âº¿ÄÊÑÛâáàÚäáߨÆÞäèèçççåã×ɺ²ª­±³¶®´²¯£•„th]RIC=;99768887877777:89<>CIVgyŽŠ†€€…œ®Ë¾É»¾Ö¯Ÿ™“Œ“›™šš˜–˜˜˜˜˜—˜˜˜––––––•••˜–™•–”–——•˜–••”””””““”””””“‘‘’“’•’‘‘‘‘‘‘Ž‘‘‘‘‘ŽŽŽ‰ƒiB)#!#(356677777776888987887777899:9:99:::::;;;;;><<<<<>=>A??@?@@@@@@??@@@???@BA@@?@@@@??AA@BA@?>??@@C?BAA@@?@@@ABCCCCCCCBBCBCDDDCACDDDCCDEEEFFFFFFFDFGFFEGFDEEEEGFFFFEFFFFEDDDEEEFFF|zzyy|~{z|{z}~}|}€€€~~€€ƒ‚†……„„„†‡ˆ„ˆ„„…ˆƒ††ˆ‡‰‡ˆˆ‰‡‡‡ˆˆˆˆŠ‡‰‰‰‹ŒŒŒ‹‹‘’ŽŽ•“Ž“‘•žµ²²x}mp‰¬»«ˆqbXRMKHJMS[Z\^hlv”€››•~˜„~yqid^\\_]]]^_^]]]]^^]^`___``_`abaabccdhw„½›‚p\YXY[[[\]]][Z[[\[]Z[[\[[[[[\_dy‹“{„Œ¨p`k}†zhfhd`_cjs‹’šŸ¥°»ÉÒÛåååãâãäää忨ÊÀ¶¶»¾»º°µÃ¶­§¦´¸¶³¾ÔâàãáãäæèçççæäâÒ³©¨¨«¬¬¬«««¶¶µ°«Ÿ“}k\PG@;77677778;778899<?CHUbt‹‰”Šˆ‡„ŠŒ¤Ì¾Ø¾¿Â¶½×­’”—›«£žœ™›™š˜™™˜———š—••—•˜—™™™–›———™••––•˜––”””•”—”““•’’“““‘‘“’“–––’•’””•’‘–’”““Ž“ЉtK.%!"&16677778686788889788899888988999;9;:::;;<;><<<;<><<=>???A@?>@?????@???AAAAAAB@@???@A@AABB@D??@CBCA@@AAA@?BABCCCCBBBAEEDDEDDBBCCDDCBEEEFFFEFFGGFFEEEFGFEEFEHGGGFGGGHFEDDDFEFFHF|zzyz||z{{}||}}}}}€€€~€€‚‚ƒ†………„„„ƒ„ƒ……††…‚††‡‡ˆ‡‡‡†„‡‡ˆˆˆ‡‡‡ˆˆ‰ŒŠ‹Œ‹ŠŒŒŒŒŽŽŽ‘•ª·­vjcq‹¬¹°™‚l`YSQLIJLRZ__`bp”‚{€}€šqu‚xxl``_^_``_^^]]^_`^^_``aaaadbcbbbccdedjs¸¢~e_\\]\\\\[[[\\]\^Z[[][\[[[\]]jtux}€ylqsvvs}~€vgd^ehnt~‰‘—¢¯¸ÂÒáäççèèçèéééèåãáâãÙÔËÆÆ»¯ ¡¨°­¢–¥²ÀÞåèèèçæææãØÊ½¯¦ £¦¦¥¤£ ¢¥¥¥¥®­¬¤›Š{m`ULE?<:9778797689<?CHS`q†–’‡†Œ–¢ºÄÅǽÐ׺¨ž™•“˜¨¸°£Ÿ››š™—˜–˜—˜——––•••—–––˜•—˜˜—˜”–—••–˜–“••”’—””“”’’’’’‘‘’’“‘””•‘‘‘’’““’‘‘‘“‘“‘Œ~X4(!"%,67778777889777777889677777677899:;:::::;:;<<=;<<<==>>>@?@???>>>???????>??@@?>@A????@@@@@@???@AA@?@@A?@@@AAAAABBBBAACCCCEDCCCCCCDEDFDDDEEEEEEFFFFEEEGHFEFEGHGGFFFFFEEDDCCDEEFE~|zz||}}~}~|}~~~‚~€€€€…‚ƒ‚„‡‡‡„ƒƒ…„††……„……„‡‡‡ˆ‰†††‡…ŠˆŠ‡ˆ‡†ˆ‰ˆŠŠ‰‰Š‹Ž‹‹ŒŽŽŽŽŽ‹ŒŽŽŽ“’’•›§§ªqabr–°·½«’zi`XTOMKJKR[Z\^lw{€†{ˆ|€Œwit’¨„wg_^]]^_`^^^````__``_`bbabbccbcbadea\blŠª§µ‹md^]\]^][[\[\\\\ZZZ[Z\[ZZ\^]^^`cfjt†ŽŒ‡vsrvšŸœ|bY[\]`cks}‹”¨¬¾ËÙÞååäááåèèèæåäãäåäãåàÍ´©£³¨ž’”ÇßçéèèçæåäÙÌÁµ¬¤ £¤¨£Ÿœ˜™š›Ÿ§¼¾¿¸°¥™„pbTJB<76668688;<=BGPZj~…”Ž”‹‰†•¨²¿²¨ÏÖ¾¾¿½¶´¡°ÐÀº­¡œ˜˜˜–œ™œ——–šš›œš—™—˜——™Ÿ—˜—š–”•–—š–˜–˜˜—–™“•”””š•”’˜’““””•“’‘–“–•–“–”“’“”–‘’ŽŽƒk>+"!$)18998778887666677999778978777889;;:=:;<<;<<=<:;<<?==>=>>?A@A>@>??>???@?@?????@??????@@@@@@?BAA@@?BAA?@ABAAADCCBBBCBCBCCECDCBBCCDDDDDCDEEEEEEEHGFFGEHFEFHGFFHGFFHFEEEDDDGFFEGE{}{{|{||||}|}€}}~~€€€€€ƒ„‡ƒ„ƒƒƒ†‚…††‡…………††ˆŠ‡…†††…‡‡Š†‡ˆ‰‰‰ˆ‰Š‰ˆŠ‹Œ‹ŒŽ‹ŒŒŒŽŽŽŽŽŽŽ”™¦Ÿ o_aq¢º¸½É¨Šxjb[VQNKJIPY\^cfox†~ƒ|€œwav—€vie^]^^__`___^__`a`_`cbbcddbbbcdeb[]cj€–£¹’wlb_^^^^]\[\]]]]][\[\[Z[[\\]]^^abs•Œ|wxz~€•¨Š\Sbeb\[Y\ajt€Œš§¶ÊÒáÙÑßáææåãȰ¹ÅÎÖàãäáÌÆ¯  ¡›”ŒŠ©ÛãèéèçæåãÚËÁ¶®§¤žŸ £££¢ ›˜•“’‘‘—œ¦««ª®´¶¸˜}k]SJC<;:9899:=?BJRat‘›‘Œ†€„„‡œÑų®«ÉØÀž—Ÿ´ÓÏÔ½©¢œš˜˜—˜—˜–—˜˜———˜—˜˜˜™š———––—––•–•—–˜––––“”••“““”’“’““”“•“’’’–““‘”•“‘“Ž’’’‡vK2#""'-3588888886667998967778887777789<:::::9;;::;<;:;;====>>>@>>?>?>>@???@@??=>=??@?????@@@A@??@@@A@@?BAA?@BABABCCBBBBBBCCCCCBBBCCCBDDDDDDDFEFEFDDEFFFFFFFFFFFFFFGFEEEEGEEEEEFEDEF{||}}{~||||||}}~~~€ƒ„‚†ƒˆ‡ˆ„ˆƒ„„††…†‰†††‡‡Šˆ‹ˆ†…††‰…‡‡ŠŠ‰ˆŒ‰Œ‰’ŒŽŒ‹ŠŒŒ‹ŒŒŒ‘Ž‘‘‘’˜¦••h_`q¦ÜÃÂà‡yme]WTOLKJOWY_]ds‹•z€›w_s˜‡€”›—{h^^_a_^__```bbba```aacccdccccde`Z[^bgx‡¹™†xe_\]]]\\][[\\[Z[Z\[[]\\\\[\[]^o‚”ˆ~}•А†–„r`comd[WUSTUZajtƒ¢¶ÄØÓáäççåᱤ’ÂÀØ»ÍÓÑÑÄǤ¦—–‰¢ÀåéééèçåãÙÏø°¨¤¦¡£¢«©¨§¦›—“‘’•—›œœ™—›Ÿ¡¢¥¥¢ž–n_SKD>:9888;=CKXdr‚‡‘‘”Їˆ„†ˆ¡°°±¦ÙÓÆÀ·¨±ÉËÝп²¡š˜˜˜˜—˜™•›™›™›™šš›œœšš™—˜——————––––””•—–˜•••”“““–”•”“”•”–”““””•’“““’•‘“‰€\9(#!%+45778778878678889666779777777779999999::::::;::;<=>>@@?==>@>@>>?@@??>>>>????AA@?A@A?@@??@??@CABABAAA@@@@ABCCCBBCBBDCCCEBCCECEDDDDDFDEFFFFEDDEFHGIEGGGFEEFFGGEEEEFEEEFEEEFDEF{z|||}|||}|||~}}~€~}€€€‚‚‚ƒ‚‚‚ƒ‡„…………††……†ƒ…††‡‡‡†‡‡‡‰…††ŠˆˆˆŒˆ‰‰ŠŠ‹‹‹‹‹‹‹‹ŒŒŽŒŒŒ‹ŒŠŒŒŽŽ‘’˜”t`_^p¨×ÃÇÚͶžŒ~qg^XSOMKHMSZ`bev”‚vw`t™‡u—Žr^ccb`_^`ca`baaaaabdcecddgdecfc`ZZ]beis{‘²®¥Žwk^^]]\\[[[[[\\[[\\\\\\[[[\]]elqxy{~„zz{‰rwx„s^ZYXTROQU_gt€‘ ²ÄÑãæççÜÆ­µÆÒÙÌÇÍÀ½¾Â¨¤™™ ¯Â×èëêéèçãÕÈ¿·±«¦¡¡¡Ÿš˜˜˜˜™“’’“”’Œ‹ŠŠŒŠ£Œ”ˆ{maWMF@=;<9=BLVev—Š…~…Š•¡ÃÓÆÆ¼²¦š¨³ÏäÞϼ«£›™œ™™—˜–˜———›–š˜š˜˜—™™˜—––—˜˜—————––•––•–••––”””””””””””•”“’’““’““’’’‘‘…lA*$!#(05667778767788787665677667666678899999:<:;;:::::<<===<<<>?>>>>>????@>>?@?>??A@@?@?A@?????>?@A@B@AAABA?@AADBBBDCCCCCCCCCBBCCBCCCCCCCDDFEEEDDDEGFHGEFEEFFFFFFFEFEEEDEEEFEEEEEF|{||}||~€|}}}}}~€~€‚ƒ„‚ƒƒ…„‡‡ˆ‡‡ˆ‰…†††„…††‡ˆ††‡‰ˆŠŠŠ‰‰‡ˆŠˆ‰ŠŒ‹‹‹ŒŠ‰‹ŽŽŽŒŽŒŒ‘‹ŒŒŒŽ‘ŽŽ‘•—wfa^^pœÒÆËÕã˳¡€qg^XRPLJHMPV]]ey|}Žvauš†uˆƒ“}adda```aaaaaa`acabbcdcccdddcdb`Y\^bdghls‰¥¡É­Šn]\]]\[]]\]Z[[[[\^]\\\[Z\\\[[]dhxzuuy}ƒˆƒ¨“‹bZ`_YTPLNOV]ht‚‘¤¸ÍäæçæâÇÏÍæåäØáÎÀ¾¾²¢—ÁàæèéêééæäØÆ½´¯¬¨§¡¤Ÿž› ˜”’’“–•“’’Žˆˆ€€‚…‰Œ“¤¤¤Ÿ˜„ti^PC;57;CKYfq…’‹‘Ї†„††˜Á½»½À¾À«§«¬ÄÜßâÓÅ·¤žœ››™™™›œœœœ˜™™š™™—™——ž–™˜™˜Ÿ˜˜—•••–™••–˜˜——š–••———••”–”’“—”•“™“—“’‘“‘‰vJ.%#"&-676777777779777667566966665568899;99:::::99:;<<<<>=<<<=???>>=>>>@@@??A@???@A@??@@A@??A?@?DBBABAAA@ADAAAABABBCFCDCCCDDDBBCCCCDFDECCCDEEDCDFDEFFEEFGDEFGGHFFEEEEEEEEEGFFEEEFE{||{||||~€}}}}€~~~€‚~‚ƒƒ€‚‚‚ƒ…‰††‡„ƒƒ„†††‡‰‰ˆ†…†‡†‡ˆˆˆ‡ˆ†‰‹‹ˆ‰ŠŠŠ‹Š‹‰ŠŠ‹Š‹Œ‹‹‹‹‹ŒŒŽŒŒ‘•tnda`mŒªÇÅÆÒáϸ¥’ƒti_YUPMKIKPW`dgffu›sbw›†v‘…ˆ”jyƒugfdegecabbaaaabdddfeedddgc`\]`ffhghkp‚”±Ó°‚l_^]]\\_\]\^\\\\^_]^^]]\\]\]^blz„ŒŠˆˆ|}{{ufozph_WSMLKQVakyˆš«ÂØÝå䯯È×áØÓ×ݽ²´Ã¥˜¹âèêëëêéèåØÈ½µ°¨©¦§œš™šš™”’‘Ž‘‘”‘“’‘ˆƒ€xwxz|zyzzƒˆ—£¦´³±—„a@4047>CNWds~Œ™Š„}}‹—¨ÎÎȾ²­¤¢¡µ×åêêßÀ®§¢Ÿ››š—˜™™˜˜›š˜™˜˜———™–™™™•™˜˜––—–—˜–•––•–—™–––—“—”–“”””’’’““““–“““‘ŒV3(#"$+5666787777876666766656655766679978899:;:99;::;<<<=>=<<===?>>=>??@@??AA@@@@?A@@@@>???@@???@AA@BBBBA@A@AABCDCCFECCBBCCDDACCCCCDCCCCCDCBDDCCDDEFFFEEEDDEEDDDFFFEFFFFFFFEFEEEED€}€||}€~~ƒ~~€€€€€ƒ‚‡€…ƒ‚‚ƒƒƒ…†††‚ƒ†……ˆ‡††††ŠŠ‰‡‰ˆ‡‡ˆˆ‹‹‹‰‰‰‰ŠŠŒ‰Œ‹‹‹ŠŽŒŒŽ‹ŒŒ‰‡‰‹‘“€|pegm~’ÃÃÁÄÚãÏÀ©•„sh`ZUQOLJLOU^^aarwrbxœ†w‘‚€˜‰…—‘skhmoiabcdeecbccddddeedfgc`\]bdggfihilz‰¬É „ufb_^[^]]]]\]]][_]\[\[][\[\^aqw˜›˜˜˜…xqorlrqw†‘—yaV[SNMJNR\dq£¹ÏÙáɲÀ¿¿»Áͺª¦¥¤¨ÀßçëëêêéçåÜξ´°®­­¥¥œ–—š˜—“‘”‘”“š‘‘ŽŒŠ…€}wywvutsuuw}‚Œ”£®¸ÐÂdž€<0/148;?FMYeq€…“‰‡‡ƒ‹Ž£¹¼¾½Á«³ž—³ÅÐáãäÕɽ¦Ÿœœ™˜ ™™™™šœ˜™š™˜š™›˜˜™›—š˜—˜—–——›–•——–—™šš˜——˜”—–••™”•”““’’–“˜“”’ƒi;+#"#(06667877777866666666676767666689888::<:9999:::::;===<<<=>B??>>>?????@@??@@@@@A@@???@??@@@@@ABBBBBCBAAAADCBBCDEDECDCCCDDDCDCCCDCBCEDCCCDEEEEHFGFHFFDDEDEFEFFFFGGFFHFEFFEEFIF||}{{{}~~~~ƒ€€€€‚‚€€„ƒƒƒ„„„„†„„‚ƒ†……ˆ…†…†††‡†‡†‡‡‡ˆ‰‰‰Š‰‰ˆ‰Š‰ˆ‰ˆŽ‹Š‹‹‹‹ŠŒŽ‹Š‰‰‡‡ˆ‰…‚‚„†„†ŠŠƒ~~|“¾¿šªÅÎÖÎÄ­—ƒsi`[WSRMJKMT`baejecx†x‚›‹w‹¤ƒyp{naeeeeeebbcdefeeedefdb[\adhiiihhknw–´ž˜}mga^^^]]^^^]]\_]\[\\][\\\]_gmrwz}{x‚†ŠŽ‚˜„|bW`^[WPKNQX`kv‰›°ÈÍÓÂÂÃÀ·›Ÿ¢¨”œ¾ßçëíëééèåÛÑÁ³­©«­§¥¡–—š–˜”•‘Ž‘‘Œ‹ˆ…„|zwxwtsrmoqvz…™¤²¼»º¡W4/.2456:<?DOXet€‘”—‰„~~Š•¦ÅµŸššœŸ¼¯Ææðîëáï§¡žššš™šš™š˜˜–––˜˜˜˜™™˜–›˜™š˜———˜–––————————––—’—˜–•””•—”’’’•”•““’†vG1$""&,26677777778575676766767665766688888898889:99:::9==<><<=?>=>@>>??????????@AA@A@@???@??@@AAABCCBBBBBBAAAAABCCBDCDBCDCCCCCBCECCBBACCCDGCDEEEEEEFFFDFDDDEEEEEEFGFFFFGFFGFDFGFF‚~}~~~~~ƒ~€‚‚ƒ‚„„ƒ…ƒ…ˆƒ„„‡…„„‡…Š„„…‡‡ˆ…ˆ†‰††‡††ŠˆŒˆ‹Š‹‰Š‰ˆ‰‰ŠˆŠ‰ŽŒŠ‹‹ŠŒŠ‡‡‡‡…‚€{tpmjjw„„ŽŽ‘›«œ—¬¼”©½ÂãÕǬ“‚sjb]WTPMKLLTZ\_cdeyŽ…y€ƒœ†›’‡‡}vededcccbccdfecedddee_Z^aeggghhijjjmtŽª—•ˆvmca^^]]\^]\[\]][[[[[\[[\\^]^cht†˜šž•‘Œ‡ƒ‚|jgie`[WQOONU[eq’§½ÄÎÖáÔ¹¥œ¤¦•»ßçêëëêèæäÙÌÁ·°¨¤ Ÿžž™–—œ˜˜—•‘ސŒŒ“ˆ†‡ƒƒzyyyusrqonty‹–£®¿·µ›~V70/13457889=AGO]jw„ˆ“‘“‹†…„‰ž±›»­Á¿À·±ÊâåçæäÕͼ¦ šœœœ™œžŸš˜™˜™›™™™œ™š™™—™˜—•–—˜˜›–˜˜˜–––——˜˜—–––••——•”™•—•˜’•ŠƒZ8&""$)259898:8778876666666788687777778:898::988889;:98=<;::<=====>>>>?@?@@@??>?ACCCBA???@@BBA@BBDDDBDBBBDBBAAABCCCDDDCFEEBEDDBBCCCBBBDCCEDCDFEEEEEGFEFEEEDFFFFFDGFGFFFIFEFGHHFEE~}~|~~~}~~€~~€‚€‚ƒ‚ƒ„ƒ‚ƒƒ„…„…„‡…„ƒ……„„ƒƒ†††††………‡‡‡‡‡‡ˆ‡ˆ‰Šˆˆ‡ˆŠ‰Š‰ˆ‰ˆ‹ŽŠŠ‡……ƒƒ…„ƒ€}vpkgedbaabek‚z‡±²±®¬š£½–‘ŸŸ ÁãËé“„ume^YURPNMMRY^ffdp’~yƒ~ƒ›Ž‚Š„ˆ’„zŽot~laccdheeddehhheeg^[_aeeehghkiiiknt‡˜«¶¢…xkd`^^^_^\\\]_\[[[\[[\\\\\^`fnzŒ†„ƒ‚urƒ…‡…………‚}vri]XROMRV`ky‡š­½ÕÝâоËà˽ÂÞçêêêêéçãØÊʺ·°«¤¡šš—–•–——˜˜‘‘’”•’Ž‹Š‹Œ†„ƒƒzyyyutttsvz‰•¢ª³°®•zV60.1456678889:;BHS_l}ƒ’𑉅– ©ÃÅÂĵµÇÌÕèïìèàžœœ—™˜˜˜™š™™™››šš™™˜™—˜–™™—•–—˜•———————–—•———–––––––••˜”•”““•ŠgA)#!#&0556667877776665686777777677788888889;998888;;98;;;;;<<==?====>@?>>=>>???@A?@????@@@BC@@BAABCCBABBDABAACBBBCCBBBBCDCBBCBBACCCDDCCCCCDDDEEEEFFEEEDBCCDEEEEDEEGEFFHEFHGFGDEF~}~…„‚‚€‚€‚ƒ„…ƒ‚ƒŠƒ‡„…„‰…‡„ƒƒ…„ƒ„‰…‡……††……†Š‰‰ˆ‰‡‹‡ˆ‰Œˆ‡‡ˆˆ‡‰ŒŒŽ‡Šˆ‡†ƒ„…€|tnifdaaa`^]]^``bjƒ{¤ÃÂıŒ˜¼šŸ£¤´ÇÏÊÁª•…xne`[XUSPONRV[dbiotz—~ƒžŒ…œ}˜Š• ‰‰Žˆrbcddeeeddfiefffh_[_befghhhiiihjkoxšÅÖä¹–„oha_]^_]]^]^\\\]\\[\\\[\]_bgoqrrpkcq‘œŒ–†Š†‡‡’ށfXUVROQQYbp}Ž¡´ÊÖåäãããääçêêêêéèçäÙÓËž¹²¬§š—””‘”•–™”–••–—ŒŠ‰ˆˆ†„ƒ‚‚‚}zywvuxz~‚‰•¡«³±¯”vS7/-0357677988978;>AKTany‡Š—”“‹……‚„‡œÅÀ¿¸°³ÐȽÎÜãæåå×ѽ¦Ÿœ››š™™™™˜œ›››šššš™š˜˜˜——œ—˜––—››œ™š——˜š—™—™–›˜™––——•™––––’vJ.%!"%-4765567977655676666779876779888998888889888::99<;<;><<==<====<=>>>==>??>?A@C@@@>@@AB@@ABABBCBAABBCBBBBBBBBBFBCBBBFCDBCBDCCCECCCCCDCGDDDEFGFFEGEDDDCGEFEFDDEGEFFHHGHIGHFEE~}€€~ƒ‚€€€€€€ƒ„„ƒƒƒƒ„„„„„ƒ„ƒ„ƒƒƒ„„…„ˆ††…………‡‰ˆ‰‡‡†‹†‡‡‹‡†ŠŠŠ‡‡…‚€~{yrmieddb`_]][[Z[[]]__birbn”°ÈŵŒ¢žš°®¯°±½ÑÌ«˜Š{qhb^\XUSPMNS[afhpts|¢‹…‰|žw‘¡†€‹—uceedffhdefigfgjga^`cihhhhijjiijlp~¢ÔëîêÏ·›xmc``_]]^]^\\\\\][[]^]`_`__bedddcfx„¥’|zŠz‡Š–¢€lVW\]VPONV^it‚‘¤¹ÇÙßãâçêêêêééèçæåßÝ×ÒÌÇÀ¸±¥ œ›š˜–••”“‘Ž’–“‹ˆŠ………„‚‚~~{{{zzyw|„Š•¡¬¶²­“wU61-/24577778:999999<=CJVamz†“”š‡‚}}‚•ž¢¢¥±Ñýº¹ÀÔêñîìäÁ¬£žœšš››š™™œ››˜ššššš™™š™˜˜˜š˜˜™™˜˜•–—˜—˜›š———™•˜—–•••—”–—––•““‚X5(!!#*35666667666556766666688787578899;8987888778:9:8889:;;;==;=<<<<<=<===>?A>>@@@@@AA@@AB?@AAAABBBBBBDCBBCBBBBCAAACBBACCBBBACCCBCBBBCCCCCDCCFGFFFEEEDCCCEDFEECEFEEFFGGGGGGFFEE…€€€€€ƒ€‚€€€ƒ†ƒ„ƒ…ƒ„„ƒƒ†ƒ„„†„†……„ˆ‡‡‡†……‡‰‡ŠŠŠ„…ˆŠŠˆ‡‡‹…‡†Š…ƒ„„„„‚|zqkgcaababb`_^]]^[YZZ[]^``bi€^Wu›´È±Ž’¥¡«½ÄÉ®´ÄÜÓÁ¯œŒsieb_[YTPMOSYbafntx¡‹‚•}ƒ “ƒ…¡vcedceeeddegggiif`]adgjjjiijjijkls…´çñöøù÷鬁sgd`_]]]]]]\\\\\\^^]]]]\\\\\\[]et’–‘}~†Š“Œ§—‹lZ^`_ZTSQOSW^fuƒ”§µÊÏÔßççççèçççæåäãâââÝØÍüµ°«©ª£žš—”‘‘‘ŽŽ‡Š†‡‡ˆƒ„~}{zz{{|~…Œ—¥®º´²•zU91.0145799:889:;:::;<;9>BMTbr|Š‹•ŒŽ‰††…Š’™¬Ô¿Â¼¶¾¾ÊÔßââáÒÁ³¢››œœ™œ›ššœ›œš›™˜˜œš™šš——š™™—˜˜˜™šš—™˜›š›™—––•—–—˜™••••‡i>,#!"(/567686768886777656668767877899888887788878:::9;889;;;;<;>==<<=>>==?>??>>@?A@@@@AAABBB@AAFCDCBCADCDCCCDDBCACCEBBBCCDDDCCCCCCCBBCCCCDDCDFEFEEEFEECBCFFFFEDFEDDEGFEGGGGFEEE‚‚€€€‚‚…„‚„„„ƒ„„ƒƒ…‚„……ƒ……†„……†ˆ†…†ˆˆˆˆ‡‡…†ˆ‰Š‰ˆ‡ˆ‡…†„ƒ„}|{slhc`^\YXVY[]_`_^\[[ZZ[[[\]^^^`i|ZTXu ¯±š“•¥§©ÀåÔ¢§¯ÂáÙʲž€wokgda[VRNNPW`ehggw…}„Ž£’z•ƒ™¢xeihgefffggfghijd`]ddfgijjiiijjkov’Ìëóöûÿþøè»”€mfa__^^\\\\\]]]]^]]]^]]\]\[[\bgv}}{††‰ˆ‰‡†‹quvw{gZZYTONOW_itƒ­¸ÎÓáâäåæææææååääããßÞÙÔÌÆÀ»¸¶¯¨¢™–’““‘Ž‹ˆˆ†‡‡ˆ‚€~}}||}~€Œ—¤®·³±—yZ>:89::::9889:;<?@BCB@?=;9<?ELXcp‡Ž—ˆƒ~…~Ž®­¯ÆÅ¼½·®¬²ÅßëçÜÒºª£Ÿšš˜™™ššœ™œ™™˜—–™˜™—››™–›™™–—˜˜—šœ›˜˜—›–›™˜––•——˜˜—–••“ŒxK3$""&+15555555666555555666877777779:9889887876778998:899:9::;;;;=;<<==>=@>?>>>>???@@@AA@@@B@AABBDECCCDCCCBCBBAAABCCBBCDCCCCCCEEEDDBADCCBDEEEDDFEFDEEDCCCDEEEEEEDDGFFFEGHGFGGED…„„€‚‚‚„‰„†ƒƒ„„‚†„ƒƒƒƒƒ„…„………„„…ˆ…†…†††‡‡‡‡ˆˆ‡‡ˆˆˆ‰‰‰‰ˆ‡‡€~~{tmhc`^]]]\ZWUSVSYZ]a^][[ZZZ[\^\\\]]_hz[JMY{¡§œƒ‘–¡Ä×Þ¤›£­ÎâÚ̶¢’…}wrnic^YTOOOV_`bcoy~}‘‡‹›–ƒ’Ž€|““~jkkgfedeeeghiikd_]eegghhjjjjjjkq|ŸÙìõøûþÿÿúï̧Œrjb`_^\]^]\]\]\\\]_]\]\\]\\\\^`hkptw|ƒƒ†‡ˆˆ˜™™}o^ZYZTPNKQU]ep{‡“£³ÁÒÙäåæææåääääääãããââââàÝÔÉÁ¸¯¦ œš•‘ŒŠ‹ˆ†‡‰…}~„•§°¸µ­—~\C?@EFGFDA><;<>@BEJPSUPJE@<9:;@DNWcox…ˆ’‘’‰†„‚Š’¡ÉÁºº¸µ´¬ª¶ÁÎßßÞÍ÷¥Ÿœ›œ› œœ™™¡›œšŸ›œœœ›ž™™™›™˜˜œœ›œœš™™š›š˜™™š—œ™—–œ—™†^:&""$(/354455555666545567687667788898898:8887788:898;9:9:9::<:::=:;<<=>>@?@@@>=>>?@@@@@@@@BAAABBEEECCCBCBBCBBAA@BBBBBCDDFDCBCDDDDDBADCCCEBBDDEGFFDHHHDDDDEFEEEDDEEFFGGHGFFHGED‚ƒƒ‚„ƒƒƒƒƒ…‰ƒ…ƒ„„„‚„ƒƒƒƒ††…„†…„„„……††‡………‡‹ˆˆ‰‰ˆ†ˆ‰†„„„ƒ‚|zwnhd`^]\[[YZYZXWRTWWX[\\\\Z[\\ZZZZZ[YXW[az`KCQ_}«¡Œ“˜™´Óä­§«³¹ÇäÖλ§šˆ|tmh`ZUPOOT]aejmoo–š©‘|’Š~–‹~s‚Œzliheefghiije_^dfjjnjjiijkjlsƒ°çðöùûþþÿÿüôÚÁ }peb__`_`^^^^]^]_^]]]\[\`]`^`^`bdgiy‡–’‘…‡ƒ|uilnh\XSOJLNUZdks~œ¬¾ÊØÞåæáÝØÝäååäääåååääããáÝÔÊÁ¸°ª£œ–‘Ž‹‰†„€{}~ƒ…’¢²º¸±¤dFEGPXYZVSMGDACEHJOUZ`[WONGB>:::<>FMXbo}…‘’—އƒ}~‚•¨»»¹°¤¡¢´³´»ËãçÞÁ°¨¡ž››š™š™›››š›››™š˜˜™™˜™›š™™™ššœœ››šššš™—™œš˜œ›˜–™—–’‹oB)$!#&-444455555555744566667667789998888788877888888889:99:::9::::;<=====>======>>>>AA@@??AAAABBCBDDCCCCBBBBBCBAABBBBBDCDECCCDEDDDBBEDCCCBBDDEEEFDDDEEDDEEEDEDDDDDFFFFGFFEFFEF‚ƒƒ‚…‚‚„†„‡…‰……„…†ˆ‡‡‡†…„…ˆ…„†‡††…‡‡‡†‡†‰†‡Š‰……‡‰…ƒ…‡„}xslgca_^]\[[ZZZZ[[^YWVWXY[^^_\\\\\_YZZZZ]XVUW_{fLBKdpˆ¥Œ‡Ÿ±¦ªÀ࿺Ðݼ­ÆÛÜÙÁ±¥š“Œ„yrha[UQPOUZ^dehj€™ª¥~“Š~˜‰|}£›“vjffgjhiijjg`^dhiijjihjkkjmv‘Æìòøúüþÿÿÿÿýû÷鲇wie``_a__^_`^]^^]]]\\\]\\\\\\]\^ar…¤ž”‡~|{{}€ƒŠw[YXYQKLINSW]go}‡™ª»ÔÙäãÝ×Ñ×ãäåäääååååååäääãâÜÒɾ·°§Ÿ˜’Œ„‚€}|}~…Œ’™£´ÆÁ¾«™qYST\djnomibZQMKKOTZbhgc^WTOIC>:98:;AFOXes|‰‹”’”‹ˆ‡„Š‘¶Öî§¢¡Ç¹É¸¯ÂÝÝÝÕϼ¥ ¡œŸœ›ŸŸžœ›œ›žš™™™šœš œœš›››š›››š›™™ž˜•”{J-%!"%+3355555755544555566666667889888:8978777888888887:99::9::::::;==>===>>>>=====>ABAA@>@@@ACCDDDBABCBBCDBBBDCEBAABCDDCCCCEDFDDDBBFEECCCCCDDFEGCDDDEHDEDGDEDDDEDHFGFGFFEFFFE‚ƒƒ‚ƒ‚ƒ„„„„ƒ……†„…………‡ƒˆˆ„„…‡„†‡‡†ƒ……‡†‡†ˆ…†Š†ƒ„…ƒ‚{wqlgda^\\\\Z\[[ZZ[[\[[[ZZYZ[[\^^]]]`]\[XWWWWUTTRV]jiLEMˆ{q{’š·º½¬¡½ÂÊèåÇ­¶¿ÔÜÛ˼±¨ ˜‚wld[WTRPSX_hhgwŽŽœ‰•‰€™‹…–…„vjlmkhhiikea`cgijkjiikllmo|žØîôùûýÿÿÿÿÿÿÿÿùê¿™†qhb`a`_`a`^_`_^^a]]]]^_]]]\\\]^jz†™‡‡Š‹‘†€p^bda\TMJGJLRX_fq|‰–ª¼ÎäßÛÐÀÉÜÛÙÛàâååæççççæååäÞÝÖÎǺ²©œ•މƒ‚ƒŽ˜£¯¸ÅÂÁ­¡gdbgkjxpywuuuf\WT]gr}}yokd[PIC?<98::>AHO[htˆ’˜ˆƒ}†³ÊÙ¬ª¤Ÿ£¬³·²¢²¼Ôäãâ¹¥¡žœ›››œ ›œœœ œ™™™šššš››œšœœžš›œ›™š™™™œšš˜˜˜˜˜’…Y3(!!#)12655554345534555566666667777789776777877899889999999999999:;==>===>>><><==>>?@???>@?@AA@ABBAAACBBCCBBBBABABDCCCGDCDCCCFDCCCCCBCCCCDEDBDEDCCCCCEDEDDDDDDDDDFFFFFEEEFGFD†‚ƒ‚…ƒ„ƒƒ…ˆ……†††††Š†ˆ†‹†„………„†ˆ‡†…‰…†‡Š‰‰„ƒ„†ƒ{xojgdb`_^^\[\\\\__]\\\\\\[[\^^^]^\_^d]^__ZZXUVWTSTTSU\pcKJPx­uj|Ÿ¯Ûȳ˜´ÇÐàåÕ››¥Àâèæ×ÍÄ»°¢•‡zne^ZUTRUW_eckyz{˜†‚š‡Ž“†…Š{onmjhhhhkcaadlloljjklmmnq‚°éòöùûýþÿÿÿÿÿÿÿÿûñѱ”vlcbaaaa`````__`^^_^^^`^]]]]^^biqyƒžŸŒ‹„€~ztttrla[SQMHFGLQX_hp}Œž¯ÅßØÔ¼­¾ÈÐÎØÜÝÜàåæçææåäääãââáßÚÓÊ¿³«£™‘ŽŒ‘™¦µ¼Îºº “}j_ZZ]_efgijnsq~orkk|’ž§š‰ƒsnYOIE@;:989:<CIS^k|Œ“‘‰‡±­©¦¡”±¡¶Ú¾ª¶ÀËÙÒ̪¤ ŸŸŸŸž›œœœœ› œ›œœ›ž›Ÿš™šœœžž š›š™™Ÿšššš˜›™–Šm:,"!"&,245554444463444466676667786788899777667788777889::::;889:9=<==>===@>>=====?>@?>>??B@@@@@AAABDBCCBBCBBBABCCBCCBCCEDEDDCECCCECCCDCCDDDDDDEECDCDDDDGEFDDDDDFDDEGEFECEHFEE‚‚‚‚†ƒ„†††††„‡††„„„†……„…†‡‰„†ˆˆ‡…†…‡‡„€€€€upjda_]\\\\\]]]`]]]]^_]]]]]]]^^_]\^]][\]^_YVSQPNQSTRTUUUW\f^IJQl‹|c_x¨»Ò¯˜«ÙÏÑâÝ¡—§­»Îéèâà×μ«œ‰{nga\YWTUX]eimmoy}…Šˆ…šƒƒ˜‘…ƒxŒ{llnjiebagjknmmmlmmlptŒÆêô÷ùûýþþÿÿÿÿÿÿÿÿüöâÖ¨sfdba`aa`____`^__`_^^^^__^]_abfiu~Œ£‘€…ƒ„…‡ŒŠŒi_YYYXPJGEILSYajw„”¥ºÎËû¹ÍÖØÚÜÝÝ×ÝáåææäãäååäääããáÝØÐÉ¿µ«£ ž¤°­º©š‰wmdbZZUXVUVUUWX[_fonxz–§§¨›—vj`YTOHC><999:;?CKTany„‰“—˜Š††ˆ‹ˆ…Œ¶²µÙجµ´¢ Ÿœœž Ÿ››žœ››››šœœœ™›šš›œœ›››œž›œšššš™š™š›š˜˜™–ŽzF2#""%)0234534444443844556866777888888977786566777777889::;9899:9;<<<<<<<=>>==?====>>?=??B>?@@@@CBBBAAABAAABCCBBBBBCCBBCDECEDDDCBCDCCCCDEEDDFEGEBBBDEEDEDDDCBDEDDDCEEEDDDDEDD‚„…„†††„…††‡Š„‡‡‹‹Œ†ˆˆ‰‡††††…†Šˆ‡†‰ƒƒ|xslfb_]\\\`\\[\]^^^`__`^^^]]^]^\__^]\\^^^]\[ZWSOLHEGIUVVWWZZ\^waIGOi•o[X[zš¡§›§ÓÆÈÝÜ©žÄ¯ ¸äíîîëâÚųž‹|qjd`\ZWWV\ddffpwŽ…„š…œ­–¤ ‰¤›‘vnknkhbahilmnnllnnnrz˜Õëõøûýþþÿÿÿÿÿÿÿÿÿÿþü÷渍zlgb``a`_____^___`^^^^^^^]_`___eo€‹‘‡‰Ž“–˜—–’ta[Z][[SMIEHJOT]fq|‹œ°ÆÆÒÕãäääääåßÜßâÛÒ×ääääããããããââáââÛÓ¾ÀžªŸ”‰€wha]]abc_[UPNLMLOQRU\`gzƒ£¸¨©“€ogfgc\QJD@<:9888<=DKWcmyšŒ‰ƒ„ˆš­¬Ï¿µ³²ª¥°À®‘œž¢œ¢¡ ›£œžžžžž¢œœœœ›Ÿœ››œžœœœžœ š›œ›šš™†[8%"!"'/233555443443445745666866798788887777677779787::999999::99;;<<<;><>=><<=====>>?=@?C>??@@?@AAAABAAAABDBAAAABCCCBCECDCEDDDFBBCCCDEEEFCDDDEEBBCDEFCEEECCDEEDDGDFEGDDDEDDD„‡…„„ƒ…††ˆ†……ƒ‡††‡ˆ………†ˆ††††……†‡ƒƒ€}zwlfc`][[[[Z\[\Z\\]]^^^`^^^]_^][\]]\_`]]\[ZYXUSRNKIDGFIKNUVXXXYY[_saGDKgnhbVVYt™›•ªÍíÊܲ¥ÎÇ›š¾ÜîðîéÝßË´ Œsnjhe`[XVZafjmn|–~ˆ„šŒˆ‘Ÿ††œ’ˆ€vkllgbbgimmnlllmnot€§æï÷úüþþÿÿÿÿÿÿÿÿþÿÿÿÿÿùëÄžˆpibac`__`_____^___^^`_^^__^^^adqy~ˆƒŠ‹†|wroljdddgidaYSLGIIMRYakw…“¦¹ÈãääØÊÐ×ßåßàâÑÌÉääãØØÙÝâããããâàÛÝÿ¤•‡{smhd\UWX]edf`YTHFAEKMOPRUWbk{š¢•Š}igdiqeXQKGDB?<8999:>BLU`nw„‹’šŠ„~~…Š‘ »Õ±°³ÀËʝ‡ “˜œž žœœœžŸœžœžœœœœ››œœœ›œ šœœœœ›š™›“‹k@'#!"$-22233334344444444566677687778878879767767777789988999:999:;<;;<<<==<<<<====>>?<>=>>>??@@AB@@@ABAAABBBBBA@AACCADDBCCDCCCBABCBBDBEDCCDEEEECCDDEDCDEDDDDDDDDECCCEDDEECDDˆ†…„‹†‰†…„…………‡…††‰…„…†‡‡‰‹„„‚€~wpid`\\[[ZZZ[\\]]`_^_`]`_^\]^a^`__\\]]\^^]]\[ZVSPKGAACGJLNPRUWY[WWX[^qaEEId›€{kWW]z™œ®¹Ã¶Æà»¶ÕÆ›“¬çíïí騨æÎµ¡ƒyurnjd]ZV[_djipy€€—†‚’‘~{~…‰ ŽŠ‰zlmmecbfikkomllnoovЏìòøûüþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûóÕ²”vlcca____________^^_b___`^]___agjr|ƒ‰‹ƒn_a`beimt{}yf]SWPKJHKMT[en|‹›°ÄÜÕÍÁ¶ÐÙåÛßáÔËÓäæçÞÑÏÑ×ÝááàÝÔɰŽwokecaZQNLQZ^ffjbXOFB?CDGKNPRTX^lsz„~rkkmotgYTMMOGB=:9899;=DJT]iv}‰”Œ’ˆ†…„…—¸³²±ÂËÞÇ®«§™’•šœžžŸŸŸœ žŸžž  ŸŸ ¡¢ ›ž›¡¡ Ÿ œœ ››™–yI,$""$+/3355554334546666665676666688777877777767666777888899:9<9:;<<<<<<<=;<???=??>>?>>>>??>A@ABC@C@@@@AAAAAABCAAACBABDDECDCCCCCBBBBDCDDFDDEEFFDEEBCCDEDDCEDDDFEEDECDDEFFCDD…„„„…„†„…„…‡‡‡……††††††…„ƒ‚~{{{qlf`][ZYXV[ZZ[\\\Z]]]\]_]]][[\]_^^^^]]]]]Z[\YVUTOLLIGFIPQPPPRUVYZYYTUVY\nbC<Fb˜†•j^_c| ¦®¸´Íá°Åפ“¯çîîëåÐÊèåл§–†|vpia[WY^dkmpvw€‰Œ‡{~s~„‹ˆ†wlmlgdcfjmmonnmqpqz•Éíôùüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý÷áѧ€rfc`__a`______^^^_^^_a__```aabdfop€—‹nopx|€†‰Œsj_X^^VNKGIKRXaiu ²ÂÀ½ÃËÛãââáÛÕØæéëèÛÌÈÁÂÆÃÁ®žŽ€wplhgec_[VRMLKQUZbcm_[PGEDDADEJQPWXY^cmwz}{wttuseZTPRQHA>;97889:=@HOZeozŽŠƒ}}Ž•±±ÂÊÉʼǩœ—•““š£ žžœ››ž Ÿžœœœ  Ÿšœœœ œ Ÿžœœ›››œœœ’ƒV1&!"#(.2342434234455555566566656687768977886:6756687777778:98:9::;:;=<======<?>>?>=>>><=<>=>?@?@@A@@@@@AA@@AACCABCBAABCEBCCCCCCCCDCCBDEDDDEEGFDEEEDCDEECBCDDCFDDCDDDCDDDCDD„„††‡‡Š†ˆ………††„†‰ˆˆ‡†††‚€}ylida^[ZZYXXXY\Z^\]^``_]\]]_\\\\]]^_^^]]_]\]]Z[XUPLIFKKNOPQTWUTUYVVWXXXUUUW\m^@9A^˜‡ž‘of`_j‚™²ÈÆÕãɰ·ÈªŸ´éðíâÓ¿ÒèêäÑ¿®£›”އvkb]XZ[`gfkq|…‰Œž…wnt~”Žzvmnlgeehjmnnpolqpr¤Ùñöúýþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþü÷縌xie```ab```__]^^__^aa__`__``__`chwˆ™…‹’™Ÿ•‰ˆ…{rgefb]VRMIJJNTZaktƒž¯µÍÐâåæçèâÛáçèéçå×ɯ¥˜†|sliggggedb]VVXYWQNRQSW\a]_QPKEDBDFGHIJMSUY_dlyy€~xojeb^RODC>;988888:<?CNT^hr„‹‡Œ…††…“µ±Ä¿½³¨¤šž´¥™˜—™žŸ¢ ž Ÿ¡ žž Ÿ¡Ÿ¤Ÿœ Ÿ¡ŸžŸ  ŸžœŠf9)"!"&+246663433434555556965676668766:98766776556677777777888:99:;:;;==;;=<<=?===>?>>A=><A>>?@@B@C?@@AAA@@@AABAABDBAABCEBBBBCECDDDEFBCCCCDDDDFGHEDDCCCCBBDDDDFEDDDCDCDDDEED……………ˆ‡††„„…‡‡ˆ‰ˆˆ„~ytmhe\[ZYXWUWXYYZ[\[^\^__^^]][]^\ZZZ][^_]]][[Z\\XTROMIKHKMPSSUUVVWWWXVVVVVVVVTX\`V83=Us‡•t`af»ÁÎßçÕ³²Î¢œ´ëóíÞÐÓåçåáãÙź°ª¥›‘†xof`ZXX^jlkrz{|œ’ˆt…£ˆvtmmmhdfkkonnnpppps†²æó÷úýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúì܇rjdbba```__^^__`^```a`_^a````bcmuz‚‘‰…„‚‡„„ƒ‚„xunhaYRKIHLPU[emv€Žœª»Êàåæèéèèèçåäá׬“ƒtmhfdedffgjgdb\ZY^g_ZXWRIOOSXVTUXTPLGGBBCBAFKPUZ]biu„…†zvmd]SLEC?<:98878:;<ABILU[clw†Š‹‹‡Š™£˜‰„Ž’›ž´²³²«–™™¢¡  ¢ ŸžžŸ žžžžŸŸŸžŸžžžžœœœžŸ›œ’uD/#"!$(133332543433445565555666556776888777766667777667777888::9899:;<=:9;;<==;=<==>>>==;=>>>??@@@@@@ABAABDBABABABAABBBBBBDCBCBBBAABBCDDBCCCCDDDDCCCBCCBBDDDFDCDECCCCDDDEED†††„„†…†ˆ„„†ˆ‰Š‡‡„‚usjd`^\[ZZYXXWXXYZ[__`]^^a_`^]]^]]]]ZZ[][]]\]]Z\WUUTPLKJNSSUVWWWY[WXWXWYUXVVUVVZZZ[gW32:N\w”†w`_e‡®Èæé㹯°œž³ÝïîàÝáêçÕ¸ÖèÞÔʽµ¨šŒshaYWV^edghmw’¦³”ˆ|˜™xqmomjdgjkonoooppqvÄéõùûýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûóÔ·›ymcbaaa``_^__`__``___^]_^`a`_`achpwzyx{„„‡ŒŽ¡žš…ŠŠŠ}i^]RNKGJKQW[biq~‰™©·ÆÓäççèéèäϲ›„wida`ddccjeefgdc_`^cejgf`[RONKKNTWZ[ZXSNJCB<==DINTUW[`jpuƒ|obZMHD@=:999878<DIKKMPQQW_hr{…„މŒ‘‡„‚…Œ­ µ¶ØÙÖ¶¨£š™žžŸŸ    ¡£ž¡ž¢ŸŸž¢¡ Ÿ¢Ÿž£œœœŸœœœ”…X6%"!#&033333543333444595445666556788777766766677776667778788:88999:;;;::;;==<;==>>>=>?><=>?>??@@CABAAAABBCCCDBCBAAAACBBBBBCBEABBBBCCBCDCDCBCCDDDDBBBCCCBDDEDCCCCCCDCFDDEHD††††††††ˆ…†‡„‚€}ytkb^ZYYYXYXXXXXY[[[[^\[\\__^]]]][ZZZZZZZ[[ZZYYYXWURPMOOORSSTUVWX[YYYWWWWWWUUVUTVVVVWZfZ5,5MRf}—–™Ÿ©zbca}¦Íèå½µ´¤¡¯ÐßîîèèíéÏÊÏêììéçÞÒǵ¡‘‚vjaZXV[dhpnm€ ”–ˆƒˆ„ƒvmnnhdgllonqpqpqty–Öìöúüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý÷ñ⮈xgdbaa``_cab``aa`__^]`^b`__```beilrsƒ—“‘Œ‘“‰‰Š•yb]\XRMHHILPUZ`frz‰”¡¯ÂØÛæèè⸒tmgcd_\XSW]_baadfca`_adcdfg\ZXUQLRW_g_\Za]ZQKF@AAIJOVUTW\_clw|€pjZOLD@<=====?JT\bdfb[TIQW_dn}ƒ‘‹Œ„~|{€„‡£ÀÏÔÒÌÎÅŠ’”ššœœžŸ  ž¢Ÿž›œž¡ Ÿžžœœœœœ››—Œe>'"!"$+245435444453545444564666666777776666778787876777667787899::::;:;;;;<<;=<;<<=>>>===>>>??@@C@@@BCAAB@BCDBBBAABBBBBCBABBCBAABCDDBBCBDCBEDDDEDBCCCCCCDDCBCCDBCCCCFCDEDD†‡‹†††‡‰‰…ˆ„urjc_\ZYXWXXY[Y\YYZ\\\\\]\[]]``_[\\^[\ZZYYZ^ZZ[[ZZWVTQPMMPQSSVV[ZZYYYYZ\WXWYWWUWVVVWWWWW[e^7-0@NWk‘ª¦±¡†sp_`| ÇÞ··²¨«®µÈâîìêìèÑÈÕèðòòòðìá×¼¦”„vib\XU\bfjhq„‡€„”Š¡‘{lonfeglmmnpoprru¡äï÷ûüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûõ隃icaabaaaaa`aba`__^]^^`____`_^]^agn˜ª‡Š…‚Ž¨›–iZ\`[WPJJGIKOSY`fmyƒ‘ž¯ÄÒåçß·leb_^^XQNLRYYY^edcbaaace]UX`Zd\[\[`hg`XVY]ZdXTLHHHJKJIMPSZZ\`eluhpc_SGDDEFGGM`iorru€o_TP\YYZbmu}‚‡x‚€ƒ‚ˆš¢¸×ÊÚµ¤ ›žŸ›™˜š›œœ Ÿ§¡Ÿ£¢£žŸŸŸž¡  žžžžŸ›¡™“wF+#!"#)0346456545433445445777656666678868667976677777766678878;;;:;:>:;<<;;::;=<<=====<<=>?>?@BACA@AA@?ABBBCDCBACCCDCCCBAABCDBABCCDCCCCCDCBDFDCEDCCDDCBCDCBBCCDBDDEDEFFEFE„„†††‡…ƒ€yrkc_\ZXWUVWXWYZZXYYZ\]^]]]^\[[[[ZZY\]\[ZZZYYZZYXWWTTTSQSVRORRSTVWZYYXYYY[[WYXWUVVWWXWWWWY[]ga;..1<I]…’©¦™z_[]u’£³º¼¹¸· ±ÓæèæâÞÔÚæêîòóõôñïåÚ«—ƒwld\YV[`fkpspqŽŠŽ—™|lmngehlnropoorrw†¯èòøûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý÷íβ“qiccbbaaa`aaa```__abdegikgcba__di{‡…„‰†~{ƒ‹ŒŽ„qonmjb[TOJEFGLOUZ`fpx„ŽŸ¬¿×Ô½…nhb`[]UUONMNOS]_eedcccceYSMT[[[Ydciij`RPNQ[^bUXQPNLLDCBHLPVVVXX\dfsghZUQNLIJVc‰ƒ~~€qcaa\TPNT\elrx}{yxz}ŒŸºÒÀ­®²Àʲ–’”––—˜™š›œžžžœŸŸœž œžžŸŸžžœš›•…Q0&!!"&-23545344454344554456555567677665556566657777766767667778999:99<<<:;;;9<==>=<===<>>>=@@@@ACA@@?@@ABAABCAABBAABACBABBCCBBCCEDBCBBCCBBCDBCDDBCCDDCCCCCCDCCBDDDEEEEEDDƒ†…ƒ€}voh`^\ZXXVUUVVWYY[[\YXY[\__^\\\_\[[\ZZZ\]\\[XWWYZ[XWWXSQTSSVUUVWVUVYWYYZY[YYZZXYXVVVWZXWW[YXYZ]id>2-+/=Jat–«˜™ ¥fNQXkz”¼º¼ÍÜŸ¡ËàÜÑÓÚØéïñòôôõôóòðîèÈ®˜†ynf`]\`afjkgjv‰¤¤®—€mmnhgilnppppqtsxÀìôùüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýùõðà§}nfcaaaa`aaa``_`bdgjmtywob_^__`bhpw„‚€xhxz‹…‡…ˆ’”rf[]WTMGFGILOSY_emwŽ·Ó¼}oha_\]`]ZVROMTVX[^aafed[RNNTWXY^efgj_WNIFLOSWWVSVQMICBBGHNRQPPQSW\cconn`UPFNao‹tos€„srkfSIFIT[ekrqptopw}€ƒ˜Ÿ§°·µØÅÔº°ª•‘‘“™™šœ£žžžŸ œŸžŸžŸŸ¢¢¢žœ¡š™‰_8("!!$)23856344554464554445556666658665556666666777976566678788=:;;:;<<<<<;<;;<==?=>>?<B??>@@>>?CA@@@AA@AAAAAABCAAABACBABDCCABBDDDCCBECCBBBEBEDDDDDFDDCDDEDDDDCCCEFFEEEED‚‚€}woi`\YXWVUUVVTVWXYYZZZZYZZZZ\[[ZZZ[\[\[[[[\\\\YWWVYWVUUSSQSUTUWXUWXXWWYWXYYWWWWVWWXXXYYXXYWWXXYY[^hgA50+,.>Pf–˜˜¦ªqNGRO]h‚š·åÕ ¤ÅÌØÄ·ÈÛìòõöööõôóóòñìæÉ°›ˆ|qkfdbcfiokkswˆ§–{nnnhgjlopqqqrtt}™Óïöúýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûòⶐ}hebbbbdccabhnsy~„‹‘odcadca`cgpt}‚}ƒŽ“”˜—–ŒŽui\ca^WPJGFGGLOTX^eow…•©ºž‚ungeccdcdZTRQNIOTX[aie_\YVSPINUZadkcbUIHHIJPRRQTZSVQKKJMNNNLJKPPQSV\aepb[SGOPVYZ_j}xukjZQEALU]dn~smljptzzxx{€‚‡ ¾ÇÊÐÖÕ˘„“‹“’”———™šœŸŸžŸŸžœžžŸžž›ššš›‹kC.#!!#&02344344544444445546555456656655556666787776666666777789:9:;:<;;;;;;;;;;<<<<=<====?>?@?>?CB??>>>@@AAAAACBAABAABBBBBABABBCCCCCABCCBBBCBDCCCDDCCDBCCDCCBBBCCCDFEEEEDysg`][ZXVVWWVWVWW[[[Y^[[[ZXXZZZ[Z[ZZY]ZYZZ[\ZZYYYXXYZZUTSTRRSTVVW[WVWZYYYZXXXXXXWWWWVUVWYZYYXXYZZZ[]^fhD73.++2FT_l›¢¯lQRVSPS\|°É΢¥ÊÃÅ·²¸ÚíòõõõóññññòñïëæÊ±‹~uqnljjimkknowŒ’vopoijlnpqqqqsuu¦çó÷ûþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûöìÊ¥‰leabaccbbcp™Ÿ‰—‘Œ„xqiijc`^`bhry…А– ¨¦¤š™“‰{qoohbUYPLJFFEHKOSY_hn|Š™§ ¥˜Šojgfdc`ZXSIGGIJRZ_jjldaYPKGMPU\af``VPRUQPTGLTTSTY[[[ZWTOFDCFMNOPSW[`jer[TPFIBIPVYXZULG?DP[djqvvmghqn{wssuy}ƒŒ’—±ÙÕØ·žžžœ“ŒŽ•””•™™™›Ÿž£ŸžžžŸŸžž žŸ›œƒQ3%!!"%023343745444446575555574456555657556788797755566788777:9;99:::9:<;:;=;=;<<<<<<>===>=>?B>@AB@B@??@@AACBBBABCBEDDBCCCCCCDBBCDDCAACEBCDDCDDDDFDEDDCCCDDCCBCCCDDFGGEFDja]ZYWWUVUVWWWWUWXYYYYYXYYYXYZZY[[[[[YYXYZ[XYWXZZZZ]YWVTSSUSUVWXWWWWWVWWXWWWXWWWWXWVVVVVXXYYYYYYYYZ\\]dhE952.+/6FS[bœŠaO…u\QLPV¿«Ž¡ÏÎм™®ØìñôôõñëíïðïìíîìèÍ´ Ž†€}yxxwurmoosvqtsopqmmotrqqrqsvw†²êôøûÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûñÕÀ™ukeddcdbboˆŽ†‰…‰ƒ„…††sfb_bbjƒ—“™¦œŸ‘ŒŒŽŽŽrn^W][WQLFDDGHMQW\bitŽž¢³­¦€vnjfc_\[PHIJKKRV^cfhedWOONNNSTUX]e[\[ZWUPKLLMQUa[ea`ZSNFC>DIJLNPQRW\bmadWOJCFIKBHJKKKMYediknromkmlh```fipuy~‡™²Æ¸«ª¼ÍÛ¶—’…Œ‹““”•–™›œœšžŸ šž žœœš™”Š`;&" "#+13333335542354444555664565555555555667676655567657777788899:<::;;:;;;;;<<<<<<?====<==>>?????>>@@?@AA@@AAABABBBABBAADCBBBABBBABCCCBDCBBBDDDCDDDBDCCDCDDDDCDCDDFEED[ZYXWWWVVUUWWXXY[Z\\\ZYY[Z[ZZYZY\[[Z\ZYYYZ\ZZVVX\]\[ZVVSTTUW\[[XXXXY[XXYYWWWWXYWWWWWWVUW[WZZZYYYYXXY[\biF;741.,/<MVYjˆfMx•s[MHLY|‘ˆžÏâãä ¤ÒìòõôóòïëêíëÚÔàìîè禛”‹‰‰‰…~xqnmkinpooooqrrrssrqsvx‹¿éõùûþÿÿÿþþýýýþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþû÷óç­ƒsedcbacpœ˜Š‰Œ’–˜‰€na_ccm{“›žŸš–‡„†Œ’œª©¥Œ{maaed_XXOKHDEGKOSW\bmw„‘Ÿ±¯½¦›‹xoha^ZWVTQMMNVZcdefaa\XY[URRHQ]]\[abb`]YVMGJMT\fihg_\ODA>CBEJKMMPSV]cbqcc][XQJFO]adffgeceovx{vomc^]]`ekosv~‰‘˜Ÿ¦«³×ÐÎżªƒ|€“–––˜›šŸ›Ÿž£ŸžžŸž œž—‘oC*#!!"'/443243444344333455456445667665556666867666555665999777789:;::;<;:;;;@;>==<<<>==<<<??>>>??@?>>?@AAAA@BCDEDCCBBAABDBDBBBDA@BDABCBCBBDCDBCCEDDDDDDDCCCCBCDDDEFFFEEDXWWWWWVVWWWXY[\]Z[[Z\[ZZZZYYZ[ZZZZZYZZZZXXWTTTUVXXXYZVVTUUWXYY\YY\YY[Z[[YXYYZYXWXXXXXXWWZXYYYXYYXWWWY[ajF<9853/,5CPY]m~}MmŒsOGEMVk† Íêîë­¦Ííóöôòóï×ÞåÚ½¿ÇÕêíéÓ¾²§¢žŸŸžœ’ˆ~uronopoppqux{xvvuuux{”Ñì÷úüýþÿÿÿýúúûýþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûñ井kgccdkqˆ‡Š†‘ˆŠŒŽ’‹…zvqolppuzz{yxxx}€”œ¨ž˜Œ~{rvy|‚f\[YTNIBDEILPTY_ho|‡–¦°¿½ºŸ€keaagda[WZ^_aZUVY\fgicc[SPNOOSUVW\b_[WPLHMP\feghha\QIHGDAFFHKMPPRTW^ib|„Šwf`]_mrypoedhqwyyƒw{tlnlkkf^^aiqv|€‡™³º¿ÌàÅЏ|xsvzƒ‹’”•–˜™š›œœœŸŸš–„N/&!""%-443223344333375556446445566665666677657655666555677788899999:;;<;;;:;;<<<<<<==<;;;=??>>????>>???@@A@AABCCBBAAABBBABABCBABBBBBBBCBABBCCCCCDDEDDDDEFCBBBCDDEEEEEEEWXYWVVVXZ[Z[[\\\[\]]\\[[[YXZZ[\[\[[[[WVVWUUSSTVWYXXXZXVVXXXYZZ\[ZZZZa[[[ZYZYXXXXYYYY_XZY[Z\Y[WWWXXXXY[`lF;99:53-.9KUUa}VK~´ž•ogUJNUtÁåîê­×ñôöôòòêÄ·Ãʤ’©µÔìðëÙÊ¿¹¹º¾Ã»¯ …xrmnnoprv{~~}|{ywvzžáï÷ûüþþÿÿÿõêíîíêóüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýû÷îٍogccdfkt{€Œ‡…Œ—ž–‡‰†|okdcddccgov†”¡¨¦œ’…‚…‘†‘€q][[^XSKGFEFIMPV\bit~Žœ¬ÃÀÐÁ³™tkiiiifddkdQNMPSZacfbj\VSQPOOORZ\g]^XTQOW]ab\Y]g\_]ZXSMHG@HKIJOORT[_k‚•¤‡yjdpwxqfd_mn|xwuwrznpd]OJNYcms|ˆŽ“ªÐÈç‹€zwvvvy~Œ”–˜˜™šŸžŸœ¢Ÿ š›‰\5("""$)3334633455433455556464456666756645666576556665865687997889<:<;;::;==<<<<<<<<?=<<<<=???=>?>>>@?@@BBBBABDBBBBAABCCCBBBBCBBCCGCCBBCDDCCCCCCCDDDCCCCECCCBBCDDEEEFFFEWWWWWYYYYYZ[\]\\\]]][ZZY[ZZ][ZZYZZXVUTTSTSSRSTVWXXXXY[XWWWWZ\\\[Z[ZZYYZ\YXXXXUXVYXYYYXZYYYYXXVWWXXXXY\_lG<::96420/;NRQK6G‘¡§—ƒ{eSKN[{¦Îìí×åíôööõóò楡¿¯’–©»ÉëññìâßÜÙÚÞÆÎüª™‰{topqst}ƒ…†„‚|zw{ƒªêòøûýþÿÿÿý鶝½¿ÀÓöûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüó×Ýxoeddgimppq€Œ–Ÿ“‹‡„…Ž–€me`ddddq}‰œ ª¤¥”‹€…}ytqod[]a__ZYQKGCDFJMSX^dny†“¤´ÃÜÙÖ´œ‰upljggfigZRQOSSRRbbaaZZ[]YSPMQRW]^`aacdccbRSTW^]gbma^XRMINCJNPRSUWZo›”~stuvveWRNTZ\_[Zblgba`]XNFDDINU\epuzƒ™œ”‚}|{zvysrr{{ƒ‹Ž’”•—›› ž›Ÿš—Œg=-#"!$'.135443355333344545355566566656555555566656455666587899888999::::9:;;;<<<;<<<<<<=>>???>>>>>?@>@@AAACBAAABBBCBBCABBBDCCCBCACCCBCCCCCCCBBBCDDCDFDDDBCCCCCDDEEEFFGBWWXYZY]\\[\[_]^[\\[Z[Z[[^\Z[[\]YYWUUSSSTTTSSUVYX]XWWX[ZXYVVY_]aZZZZXXYYXXXXYXXXWYYYXXXZXWWXX[VWYZYZYY[_nH<::99873.0?QOD>Euœ›šz^JDSe…¥ÎçÖÛðöööõôóã †˜ª”š¶ÉÝïòóòñðïíéÙÉÇÒÍŲž~xsru|‡‘Ž‹…}{‹µìóùüýÿÿÿÿûæ“’¾‘mËôûþþýþÿÿÿÿÿÿÿÿÿýûúøüÿÿÿÿÿÿÿÿÿÿÿÿþû÷òä°‡vfdbbbaafw‹¨Œ…†’¥§¤sa_a`bdz€›°¬©—Žˆ‚|tpkhda^]^___]\]TNJDDDHKPTY_itŒ°ÄÛÖÜ̸›‰qldejg``aZVTRV]_ea]\bai]TQOQMSUWc_lkkfaZSRMSU[bgleka]VPMMRSSSTVV^…Äœƒv}wwq_WLGDBBBBCDEFFEFFDA??>>ADIQ]ir{…‰‡„~€}…~€|{{{ywst{Ž‘”•›™› žŸ ¡‚J1%"!$&/034445553345444545396566577677678856555566476678889899888999::;=;::=<==<;;<==??>>>>====>>>?@?@@AAABBABBAABCCCBBAABCEDEDDBBCCBDDDCDCDDECCCGDFFFDDCDDDDGDEDEEEEFDY[ZZZXYY\Z[[\]\ZZ\ZYZYZZ[\YZYYWSRPQQRQSUWYVUXYYYZXXZXZXWWUWXXXYVXYXXXXXYX[Z[XXXWXVYVXXWVWVWWXWXZZXVTTV\nG=<<?A@=7112<MHDIh‹¨œŽ•xFBN_i ÂÔåñ÷öõööô䢄†ŠœÍÞîòòòóôóòñëÕÊÁÓàÑÒ»¤“†|ƒ”¡¤§Ÿ—‹„‡“Åíõùüþÿÿÿÿý꫈ÁŒhÃôúüøùýÿÿÿÿÿÿÿÿÿûñèéõþÿÿÿÿÿÿÿÿÿÿÿÿÿÿûñå½™ƒkgcbbbdqƒŠ“„€†‹Žš™œwsnnlgdp{ƒ’‰†€{tnkhhhjeggknnlhec`_^XVMHEEGJMPW^go{ˆ˜©¼ÔÝáÕÀ® tkiga`dfca][[[TMRY^`cfc_ZSRRVMU]`hjlji`YVTVKOTZ^bjcf`\[XWUUTUT]x¢£yqrpljccXSLB@<;:98889::;<;;:<@@AGLWar{}€€~~}||{y}€|„ogefrvސ’“”˜™šœš”ŠZ9'" "$+/354445433346443333666565667765666565555444767778767;:9889:989;:;::;;;;;;;;>=>==>>===>>?@??@?ABAAAABABBA@CBBBBCAAAABCCBDDCCBBCEDCDBCCDDCCDDDCDCCCCDDDDDDEEEEDGDZZ]]\Z\\^[[[\ZYYYZYZ\\[[\[YWUTROMOOQRRSWYZZX_XWXYYYXWWWWXYYY[W[XYXXXXWWXYY[ZXWXXZWYWXXWVXWWWYX[ZZWUTUTZpG==AIT`J<62/1=JNP]u„š–—™žE?X`gl™¹áíõõôõöô娃||…žËèðòðïòõóñðêÙÐÛèçÒØßÀªœ’Ž™ª¯³²®¦›”Œ‡‹ŸÔðöúüþÿÿÿÿÿôÉÇ͘iÓöøóæÔê÷øúûüþÿÿÿó¤›ÃïùÿÿÿÿÿÿÿÿÿÿÿÿÿýûöïÒ°qhdbacirzƒ‚‘‘‘—••Š‰‘wgaflqsrokgdb`_cfhffm{‚vvnf_^^^ZVQLHDFGJOU[civŸ´ÎÛâ×ÕÓѵˆtlcfjlqom`XXKJJMPT_`j`o`_ZWQNUV`jknlrfc]WOIRPUY]`dgca_\[WVWZ`y¨kc_]\`ddcV]LH?:765956677:889::<<=@GU|ˆ”…„‚~€}‚~yˆyrnn`\_eegrz‚–––—™š›•”l@*#!!$)/3334444443444554446667767666765565856666677666666687789889::9::;9:<<<;;;;<>=@==>?>@=????@AAAAAABDCDABBDBCBBBBAAADBABCCDCEEHBCEFDDDCCDDDDDCDDFCBCCDFDDDDEEEFEGEZZ\[ZY[[ZYYWXXYZZZZZZZZ[YXUSRQPOOPRSTVX[[\YXXWWWYYXWXUVVYYZZYWWWWWVUXVWXXXXXXXXWWVWVYWWWYYXWXWWVUTSRST[qH<>ETecVB95110=Z\Zac…¹¨»˜KX‡vhjhu†´æóôóõöô範ksÈèðïäëðôñïðîéíïîåÐÛÙ×Å´¬§«±¿ÉÉÇÀ¸­¢™˜¬âò÷úýþÿÿÿÿÿûòì×¥qàøõé‹„¡èíííõüÿÿýç’H\{¾òÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûóÛÌ¡|rgeeghqw}~‚†‘–”•’ŠŽˆ}shllnnifedecbafsoqry‰™}sy…o`aa``]\UOJDFFJNSZ_gr}‹˜­ÁÍØÖããßɲ’~upppommb]VSLKKLHOUZ_`b]e]WVUZ^ihijkllmaXVTTPQS\effeeeecciqx€[HHIIILQRSQNGB:6655556757884689:;<CRn™•–‰‚{vsolgedfe^QRSSUZ\aeimx}„Ž‘••–‘€K-&!!#'/43345554444453544465776666666865556556556666667766877887788799:;999:;:;=<<<;<<=>?>>>>@??@AA@@AABBAAAAAAACEBBBBAABBBBBACCDDCCCEDCECCBDDEEDCDFECCCDFFCEFDEEEEDEFZ[\[ZY[YXYZZZZ\[]Z\\ZXWVVUTQPQQRSSUWYZ[[[WWXYX[WVVVWWWVWZXWWWWWWWVUWXV[XXXXXXXVVWWXXXWWX\ZYUTVUTSRRRSV\rI=@O`jp^H=631.3EZ[lfo‰˜¡‘ch”¬mg_i~±àêñôöõ꿉kj{™¿ÞïìÙÇßîêçóõõõõîÑ·ÍçæãÏÃÄÈÔáæëæßϾ²§Ÿ¡ºéôøûýþÿÿÿÿÿýúøë·xäúòØtVƒÒγÀÚòþÿûãuSC`œíÿþüûùüÿÿÿÿÿÿÿÿÿÿþû÷òâ´‹xecdchtwzz€”–žŽŒ‰‰‹Œˆƒ}tkha`aaaa`ahs‰~{ƒ§—€†…ia__^^]^XSNHFEHLPT[cmwƒ’£³ÄÜâçæãϯ˜•‹‚|qnndcdeYTRQHGNPUY]^affdb_aggfggimmoda^[VPVZeefgikqyˆ˜›š‡raHB?>>>???@AA@>:765555576678225789;>HSet€‘|xpg[RPTSTTTC=;@QY\]`behmrx†•’ƒU2'"!"$,44346585444565444555677556655665555586856666777667878888::9888:99989;;;;<;;;<;?>???>@?>????@@@BBBAAA@ACBCBBBCBAAACDBBCBCCDCDDEDDDCBBEDCEFDFEDCCDFEFEHEEEEEFEED[\\[YXYYZ[ZZZZ[[YXYXWVUTTSRRRRTVWXZ\\\ZVWVVVVVVVVUWVWXVXWUVVWUXWWWWWWVZWWUVVWWWVWXXWWYXWXVUSTVTSRRRSTW\rJ>E[dmqoTB:63134BT`klj~¨–_m©—Žl^S\k›ßîòööðç¤oiu”¸áíëÓÂÍééìôùúú÷쾺Ãèììéåàçéëîïîíê×Ǻ®´ÇìõøûþÿÿÿÿÿÿÿÿýñÇzèûðÂhaešÂ…Y™çýþýè¥}iTèÿüôìîùÿÿÿÿÿÿÿÿÿÿÿÿÿüôçÀž„kgdixz†sq}ˆ„…ƒ{’ ”ƒ„|sg^bca```dmu}x…Œ„s€{morolg`^^\ZQJFEGJNSX^go|Š™¨ºÐØåæâĨ¥¢œ”…xsijlhcb_VKKMPQURT\^`bhgdfffdgijimlkkdadfffhkqx…•£»Åܹ–‚cXGC@>;<;<8:999866755557568821489=>EHKOZfq|sleMD<>@>=92,(8MY]^^_`bcehms|…„†`:.%$"$)0344555556555543555578657765655555667666677876666688878889888898999::9<;;<;;;;>===>=???A?>@??@AAAABDAAAAAAAABBBCCCCCCBCCDEEDDGEDCCCCCDDEDCEDDCCEEEEEDDDDDEFEED]\[YXZZ[\[_[[ZZXWWXVTTTSTUTTTUVY\]a\[YXVXWWWVWWUUVWWZUTUWVVVVWWWWVYWYWZVVUXWYYYXXZ[WWWXWVTSSTTTTVVUUUW[rK?Jalmwq\G=964204CUbmik˜aq‡‚™ÇjWISb•ÌãóôôîÁzjr¼çìçʰÁçïôöøøøô䮟ÈëññðïïïïïðòôöôíÝÏÅÃÖíõùûþÿÿÿÿÿÿÿÿþóÌ}àùï°\d`’¼ff…ëýþÿôÙÜÌeoçþøè·¬ÙúýÿÿÿÿÿÿÿÿÿÿÿþüøñÖµ“rikt~qopsy„‚rx—§¬…œƒk_b`_aa``eimqu~Љ|zy{€†‰|i^^^`][TQKFEFKOTZais}Œ›­¾Ñåá×ÏÅ¿º¹¹—†{spocb\^TPRSUXSHMRV_bfeiefghhklmkiijihghlr…’¦½ÇÏÌÝÞà¶—zfPHA=<;<987777776565566687315=;EAUJKNU_mplkeF:31.,,+(#$/MY^b___aaadihilpnkD3*'&%(0375556766655555456576667766756666677688878766679788:88787788999;::::;<;;<?;<;?<==?>>?A?>>?>>@A@CCBBAA@AAAAABCABEBCCDBFFEDEDDFGCCDECDDGDDDEEFDDDDEGEDDEDDDDDFD]\\YZ[[\\[ZXXWVTTTUTTSSTVWWWXX[]]_][YXVUUVVTUUUTVVVVVSTUWUUTVVVWWWYVVVVVUUVWXXXXX[YWWUURWUTRTUUUUUUUWX[sM@LffiwseOC>985246AO]pokd^m˜Ÿµ­‘dMKS[ŠÖéóô칃rpˆÁ×åÑÁ±´çóùøöõòèÁ’›ÑíóôóòòòðäÝïõùøóîâ×ÜâïöùüþþþÿÿÿÿÿÿþõÔ•Òôí²PTg¤Æ„xªïýþÿûõðßulçüóÜls®ïúÿÿÿÿÿÿÿÿÿÿÿÿÿÿýõÞÑ£|torwkehiu…‘}}š² y|ŠŒugklifdbacegiiw‡…Œz|}‡•’l\cbb_][XSMGFFINRV\blv„‘¢²ÅÚÙæåáââʱ¦›Œted^^`][^`]VLFLMQUZ_bfebefjklkknjlor{†˜°ÂÚßàÙÑßåäâàݳ”x\PFB=<:9767777665779:::855<=>BEB@=<HSZ`_^M:0''&)))$$$4M\_a``_a]__``accb]NB62,**/4755655645555554445556886645566676554767666666776778888968899999899:<;;;:;;<:<<==>>>??>>>@>>?@@@@BBAAAAABAABBBBBACCDBBCDDDDDCCCDEDCCDDCDDEEFDDFEEEEDDDDEEDCDD__`]]^]]\XWUTUVSSSSTTVYXX[__^\a]\\\ZXWUUWWWUVUWUZWUVVVVUXVUVVWWVVWYVVVVUUVWYYXYYXWWWYWVVWVXWWUUVWWZZZY\rNEN_fmyws]I@=985324?Ndyqpag £¬®È‚WOKP^“Öáîè¶‘wx¤»¶­¬§Ìíõù÷óïçÅ©šÐêðñòóóòðÚÖêòõõõôñèæêñ÷úüþþÿÿÿÿÿÿÿþõÞu¨åß²W]¥ÝâxÆíþÿÿýûñÚflæýòÁX@ˆÞíïñôúÿÿÿÿÿÿÿÿÿÿÿûøò㶍{jecbcdkv‡‹‹…¡Ÿ™yp‚ˆ…‡‡{slc`ababaclx‰‹‡„‡ŠŒ“˜‘ukigc`^]_YUPIHDGIMQV^fn{‡—§»ÐÚæçèåßÅ»·³š‰wkhgfeddegZQNLKILPVYeeefgilmlkkmx€‘¦¸ÉÌßäååååäæçæåãßǯ”wfMD><:89877689:;:@@A;;974349>?811=DGFC@90'!!(.*)**-9R]`aaa`b___^^^`ba`VUIB91.04677645556665644434756776865556666656766676668777887889978899:999999:<<;::;;;<=?>??=>>>??@>>?A@@ACAAACBCBCBDBDBAACCDCBBCDEDEDEDFEDDDDEDDDDEFEEEEEEDDDDEFEEDDD__^\]]YUUSRQRSSQQRTUWZZXY^^]\[[\ZXXYWWUUUUUTTTUUUTSSSQUTWVVVWXXWVVYWVWYYXXY[[[YXWWWWXXWVVVWWWWWYXXWWWY]rOAJ[csz|zoRC=;:;7455AScomjn¤¨ºª­Íš|]RLU`‹ÈÜæË­ž‘”š¨®³¹Êéôøùöîdz¡¨«¾ÑÞàìñôóòðßÊ×çéêïôõòðñôøûýþÿÿÿÿÿÿÿÿþ÷Þr{¥Î£`uÖèâªtëÿÿÿÿøâ˜Vyæýð°L?^²Ð°©ÉôÿÿÿÿÿÿÿÿÿÿÿÿÿüôèÁ„mhddehkv‚„А…‡š‘ƒ‡~tgfbbbabho{‰‚‡ˆ‹Œ‹~wyzsoic`_^]TNIFGGJLSY`gs~ŽŸ±ÂÕæééåÏÎÙʯ‘‘‚|vsnjijf^XUQMKBTSZefgfjimprv{…’¡´ÂÛÎÏäææçèèçèéèçæåãá׳˜xZOB?:;;;<=>9::8879<:6432-02.*&#).///.-)&%0/,('-5BW^aa_______`\\\[[[XVQNJA<;;::9765665544445555555565676555666667777677777788997888878988999::::::;;=;;;;;<===>?>>>>>???@@??AAAACCAAABAA@@@AAABBBBABBDEDCDDDDDDDEDCDDDFGFEEEEEDDDEGFEDFEDb_^YYWUTTRPQRSRSSTUWY\^ZZ\\\\[]ZZXVVUUVUUUUUVTUTSRRSTTTUWVWWXYYZZYYW\\^]\Z]YYYYY[YZXXYZZZYYXXXYYXXWVV[_uP@DP`jzzˆz[E=<<::7736DRc{zx’±©¥¶Î¨¯u\UPWc¼Ðçëç´ÆÝîò÷÷øò浕£´ÍççâãíôøöõóêÉÂÄÄÍàîîòóôõøûýÿÿÿÿÿÿÿÿÿþùãs_a„™ƒ²ÛÑǃ{áûýÿúè¦ccëþïžE0I”u`p—íÿÿÿÿÿÿÿÿÿÿÿÿÿþüøñÓ¬Žrjeddegmpu~ˆ“˜™˜—“Š‰š˜sebea`adir~‡‡‘Š›”“‰„„„…„se`]^]]WVOIHFHKPT\dmx‡—ªÂÖåèèßÜáß¹–”–œ¢–‹qnm`\ZYSOQWY\dfffgis|‹š©½ÂÄÃÒÝËÏâååçèééééçâååæçäݸŒiRD>@AB@?;70*()07DB@<<=/*% "#$'('%#)36+')/7EW`ab`c_``_^a\\\][\\\WYSRRPGB?<:8766554464555654456545756556666778:7889998:8:8789998788889::99<<;<;<=<;<;;<===>>>>=>?>@?>??@@AABBA?@AAA@@ACAAAABCCCBDCCCDEDDCCCDDCEDDEGFFEEFFEFCFFGEEEFE\YXUTRRQRRRSTUUUWXXXZ]ZYYZZYZZZXXWVUUUVTUUUTSSRRRRSSTSUVVVWX[\[[ZZYX[][[ZYYXX]YYYYZXYZZYYYYZXWYZYYXXY[_wO@AFPZiw~„^G><<<<:8566AM`vx‚€„¤É²–˜ƒxe[TZe¤Íìïé×ÈÅÁÙñö÷ø÷òëʰ°´Çßñôïìñ÷ûúø÷í¹±µ¯¢­Ëíôõõøûýÿÿÿÿÿÿÿÿÿÿüé¤`\kyvou’œ’‡Åõûÿô»q\m³ðÿî“@59EKA;{çÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüôØÂœzqigfggjlu|„‰ˆ‹Š‰“˜¨‰xd`gebadhp€}„„‚ŠŽˆ†„‚…‡‹˜wf_[^_^^]ZRMIDGJNSZ`kv…“©½Óåèçåå弩 ±¼Éظ ~whea_^^_befhjknqz†£ÃÊÙßÝÕÎÖÙÕÐäåæçèêëêéæãÓäæèçÝ̹ºs^GA?;840-' *.9GGH>@4' !&&'$$)4/(',07EW___^]]]\\\\\]Z[Z[\ZXXVTSQQNJGB?;976455545566667765435554566888887776888877:8889<99899888:999:;;<<<;;;;;=>>=<=>>>>===>????@AAA?CA@@AA@AAAAABABBBBBBBBCCBCDCCDDDCDDDEEFEEFFDFEECFDDDEDFDVVVTSSTTSTUUVWWXZ\]Y[XWXYYYYYZ\YZXVUWVZTTTTQQQQRUUXUUUXXWWWY^^^\[[\\[YXYXYZWXYYYZZYZZ[ZY[[ZZXXY[]ZYZ[\_vOA?BHP[kwu^G>>@@@<:8546>I[q~„¤¬°ª«˜¥žšlTY`¤ÎëìæÄÁÄâíóôöóèÆ·±Í·ÑÚïôöõõøüûúùî˪²ªšˆ’ªêòõöùüýÿÿÿÿÿÿÿÿÿÿÿö輯Ïݧju†~a[»òûÿî—gf¬é÷ÿí‹C7550-4kæþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþû÷êß®†wkhfeddhq|~~ƒˆ“—››™‘{hhlid`dhtxxutx‡Š‰‰‹‹ŒŠ“ˆi`]a_^_`\YTPLGHIMRYajt‚”§¼Ôåæåáܺ¿ÊרäâÜİ –„wrruxwvutuv|ƒ ³ÛãååäåæåäåãææçèééêëêéæãÚââáÔÓª¤’}R?71.-,++&!!,/:ACC@;0!

"$$'&)+,%&*15EX]_^^^\]\]\\\][\[Z\]Z\[\\ZVUVWNHB>;:766656666766666756565776667987799888877:888997778:::99::99:;=>;;::<;<>>>=<?@@@>>>>>>?@@BAABCAAABA@AAACACBCA@AABBBBCCCDEFDCCCDFEFFGEEFFFFGGFGDDEEDFDURTUTSUUUVWZ[[ZZ[]]XXVWVXWYXYYYYZXVUUUUTUSUOQRSSUUUUUVW[XVXZ^^]]\[[[ZXYZYYWUXYYYYZZZYYZYYZ\\\\\\^ZZ[[\auPA@@DFWckv]F?@ABA><;8654:AWt|‚Œ“¥¸«š ¥¢ƒjWW]zžÈåÜ»­ªÁáêëî鯛ž®±µÏÎíò÷ööúýýýúóèËÉ»¢„¦èñôöùýþÿÿÿÿÿÿÿÿÿÿÿÿüõñðî㵞·Õ—Og¹ôûúßvU“åúþÿë†H>7/+/5kåýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüóæ¼–…rliefginty~ˆ•‘‘ŒŽ‹”}|~mcegjlkkjjrwwxyzzzyyqd`^^^^a^]]]ZWOIIIMRX^hr‚’¦»ÐåãÜÒ¶»ÛÔÜææã×ÉĶ¥‹„‡ ŸŸ¡  Ÿ ¤²ÄÌÒáéëèåæçäæçèèéêêêëëëêèãÒÍÖÙÄ­‡k]PB5.)''*+--("%%'*,-...#
$"$')+%"(,3FZ]^^]\Z][]]\[ZYZZZ[[[[Z[[ZYYXXTROIC@=;9855567766654555576667867777798888877:888::8:8889999<;:9:;>=;<=<=<;>=>@>>?>>>>>??????AA@BAAAAAAAAAAAABAAAAABCBCBCCDDEDCCCCEEDDEEDEFEEEFEDDDDDEDEDVTTUUVWXZZYYZ]`\\]]Z]WWXZXYY]ZZYZXWUVVVTTTUUTTTUUVXWWWWZYYZ[]]\[\ZYYYYZZ\YXYZZYYXYWXXZ[\^_``___^^[\^_bdwRBABDESba^ZE@AGFF@><;86437B[wƒ…‰œ¥­­²³¸˜qTT]{œ¿Ñ°•™Ÿµ¹ÌÚݐ‡¬ ÀÓåôöùøøúýýýúöïÚØÙ¶–¦æïõ÷úýþÿÿÿÿÿÿÿÿÿÿÿÿÿýûûûöòñðíÓ˜…ÏúüôÓ]M²Øï÷ýèZmE.28;måýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüøïа–wogfcdgkmw‹”‘‡Š‰Œ’•˜š€uieca`_``adgilnmkkjhc`^]]^^^]^^]_ZXSNLILOU\fr‘¦¼Ðåà˵µÈÕÛååæáÝÛÖ³’‹ˆ”®­¯­ÚÙ×ÝÜÕÖßæèëéççæßÛçéèèæäåæäâáàȯ˜„wjWE:3201-,+*.-1.+#!%!
-%""%*(!%1I[^^_\\[]]`]][YXXY\\`__[]\\[]\]YYXXUPGA=:88877778654658676668767778798;8:788:9989888:988889:<::;<<<;=<<<<<>=?===?===???????@AA@@BBBAAAB@CAAABBDAABCBBCABBCCCDBBBCDCCEDGFGFEEEEEDDDEDEDFDUTVWXZ[\\][[[]\[ZYYXWUWZZYYXYWXWXWVUTTUTUTTSTTVWXXYYYYYZ[\\_[Z[[ZYYZZZZZ\\\\[ZZYZZZY[\^a_^___^^^^_acdegxSBBDEFTtfXNC@AEGFB?>==9654:A[€€‚ƒvލ¯²ª|£›\LUc—¡¯ š¥®²ºÊÀª“¤µÈåð÷úûúúúûüýýùôïâ×ÕÑ®˜´æïõ÷úýþÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿüóäáóþýó´UBr­Áðûå}UVQLMHCqäüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýøåÖ¦ujhhouvx…ˆ‘‘“—™”‹‹‰ƒ~uuvkcbaaacdeeefeeeeb`_]]^^_^`_^][\aXSNJLNT[fq’¥¹ÎäÖ¸¹ÀÉÍÓâäåßå˼—}|†•·ÀÇÍÜÞÞååãæêëêèæ×ÝæêèåÞÆ¼ÉÒ©‘~k\NE<60,)224630,'&$$# 
-
 %'#"0M[]_\Z[\^\_[\ZYXXY\\]]]Z[[\[\\\ZYXXYVRMHD?<:9876655555656776777777767777888::998:788999:9::::9:<;<<;<<====><<<=====>>=???>?@AB@@BBBABBA@AAAABBBBBBCABBA@BBBACBBACEDDDEFFFFFFEEFFECDEDDEEWXY\^``^_\\[Z\]YWWWWVW[YYZZXZVVVUTTUTUWUWWWVYYYZZ[\Z^\`_^[[[ZZZ[ZYY[\\^^^__^]\_]]___``cbb__aabbchhhiiijyTBCN\NUrkZHB?AEHNE@??=<98557C`‚„Ёƒ£Ò©¥‡ª“_JQhŒŽ‰™¬­¯«±Æáë³Ôâñõøúûûûúùúüüü÷ðîëãáÕÁ¿ÅéðõøûýþÿÿÿÿÿÿÿÿÿÿÿüúüþÿÿÿÿÿÿþüøóùÿþôÕWFAc‡ëúãyX‘`KZlXuÝðïíöÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþùê¶‹{nozƒ‹…„‡˜¤œ¡‹‰‹‰Œ’•ƒsba_`bbb`__`___`___^\]]]]^^^]\\^][YRNMNTZdq’¦¼ÎàÈÀÀʼ³ÁÜâãÈ»§£whddirˆ›¦ÀÍãßãÙÕßäèéçåÛââãߨ·•Œ…s`M<40///.-*)54@770*"

-
-
!(% 1P[]\ZZ`^^^^]^[\Z]^_\\\][[\\\^^`_`\^^^ZYSRLE@=;97755566656687677877877788:899;::99888:99::99:;:<<;<>??<>>>=?=>=?=>==>>=????CAAA@@BBBA@@@@BCCCCBDCCBBAAA@@BBBBDCDDDDGDEEEEFFGEEFFEFDCCDDGF[\^aab][[YZZZ[ZXUTWVWXYYZZWVVTVUUTUVVUVUWYYWYZZ[\\\[\[]]\ZZYYW[Z[Z[[\]^]___`_]__`bbaabaab_acdffefghijkjzUCGTVUapmgG?>?BGLMD@?==;:876>C\‚ƒ„…‹” ŸqŸ[K^u™~Œ¤ª°ÁÐÍÉËÎäõûûûûüûûùøùûüûóåâìíéã×ÑÝîñõøûþþÿÿÿÿÿÿÿÿÿÿÿúöùüþÿÿÿÿÿÿÿÿÿÿÿÿûãfYEƒæùáw[‚qp vTzÖÇ¡±çûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿú랊x|…€†~ƒˆŒ’…|‡’•˜Ž‘†ƒwgkliedba`___``____```^]]_^_]\]^]][[VRPPTYer’¥ºÊÔÉ«–¤³¨œŽƒwkaY[]djr{”±¿Î÷±°Íãæã×ÏÍɽ±oWC;4-''(16@H@6.(+.01-'!
-					
-
-

''(!3Q[[\[Z^^`a_]\[\Y^[\\\[[[[[\\^^`]_[]^^ZYWWVNJGC?;855876656567787776798789977788999:97:::::99:::;<<<<<<<<<><<<==>==<====>?>>???>@@A@@@@@@ABDCBBBCBBBA@BA@?ACBBBABBDDDCDDEEFFEDFFEEEDCCDDFD_cjcd^[Z[Z^\^XWSRUWVZZZYXVUTTTVUXVUVVWWXZ[\[[\_^c_^_^^_\[[ZXYZ\\]^]\^]abc````accdbfaaa`abcbdeghinmljkkjxUIJYioxysjHA??AGKKGA@??=<;;::;BZn{Ž…|ˆ™š›]Rp Ênow‹¥ªÚÆÂÇÍãòöúûûûûúúúùúûûùîÙäîñòñîëìðòõùûþÿÿÿÿÿÿÿÿÿÿÿþõåôüþÿÿÿÿÿÿÿÿÿÿÿÿÿöç»šŽ˜íúáu\¦€ƒ|c€Õ²šv·îùþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûñÒ°–ƒ~{{yyxwƒ•§š˜‹ˆƒƒ~}ztec`a`b`_```___^^^^^]_]^^]^]]]\\]XUTRWZeo€¥¿É×Äšs|~„†pjea[YWZY\_fo~Љ†‰ŸÅÙÙÖÀ”~ocSA3'" !#'-5>I`^X</$! #$"




					
-
-


%)%!4SZ[\_[__cab^\[\Z^[]\_[ZZ^[\]]^`\^_``b[_[YXTTTNG@9668775555688886777887999:;899;:9:;9:9=:::>;;;>=?<=<<==>=<<<==@==<<=?>?>>>?????@B@@AE@CBBCDBCBDBCBABBAA?@BDCFAECDCEDDDEEFEEDFFEEEDDCCDEE`gc_]ZZZZZZZUOMLPVXWZYXWVTUTTTTUWWVVXYZ\^a__]]^^`_`a^]^\[Y[YZ[]^^^^^^]_abbcdddcccbabcdddeefhijkkllkjjkjw`TY`sˆƒxoM?BEHJPYJB@@?>==>?ACCBQar†}ytyž¯pZŽÑĝqfio€³¾ÅÒÐìó÷úûüûúùùúûûûûùëèëïòóôôîëîðöùüþÿÿÿÿÿÿÿÿÿÿþüíáîûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿýôíèçõüã{_·ÅÈÊyR‹ÛΩ‡ŒãóýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýöÞŦ‡…wtqpnmnqq~™‘•ކŒ‡‰‹”Ž‹viiffdb``c`a_^^]_b^___^]^]]]]\\\]]\ZXWX\fq€£¶¼ÆŸyutqnywsmibaa`_]\]]`deegiu’€r^L>1,(&$**3:@ELQTU\dL:+!!
-
-
-	
-
$#""6TZ[[[[^^^[[ZZYZY][[Z_[ZY[[\^]^]]\\]]]\\[ZZWUTSNH=76:9888667877767877777789879899988998:::::99:<<>;=<<?==<<<==<===;<<>===?>>@?????@@AAACBBBBABBBABAAAAAA@AAAAABBBCCDEDGEEEEEDEDEGECCCCCDD``_[YX\\\YYSMECLNY[YZYXVVVVVWXZW[YWZ^^^_a___aaa__`_^\]^\]\\\]]_``____^_dhffedeffedcfhijijkkknnolqlnjjkjnfkxy’¯“}rQFLQY[XULC@@C?=>AFPMH@@N]n{znužµ\­°¶Ÿys_`ez«Ï¿¿Ûîô÷øúùøøùúûûûúøôðíìðóö÷ñÜéðöúüÿÿÿÿÿÿÿÿÿÿÿþùáÎÚíõûýÿþýþÿÿÿÿÿÿÿÿÿüú÷õúýꉂÃÜåØuS™à䮘Îèîòõúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûï䳍~omfgddhm{Ÿ•ŒŒ”˜œ›š“’€yrpmfb_`a`a^^^^a`^]]_]]^^]]^\\]]\\[YXX[^hs€¢¶·­Šxsmy‹“…uv{wqla\[YWUSPOUZVRH<2)#!( &,19>OXk`e\a^[O@3'!!
			
-
-
-
-
			$$!$<V[^[]^]]_Z\YZZZX\\]^_[[[]\\]^^_]]\^^^]]]]\]YZUTKC649;;:9977777;7777787879887989999:9;;;:99<;=;<;>;==<==<<<>>==>=@=<=?<?@?>=>?@>???A@@ACBCBDAABBBCAAAAABBBBBABBCCBCCDCCCFIGHEFDDEFCDCECCD[[ZYWUVVUSMFNBJOTZYYYYXUWWX[ZYXX\^_a__`aa__`bb`_^\]]\Y]\^__^_`abbbbbbcfiihhhffffghiiiijllllllmmlpjlkjll{wˆ‚€‹•§ ‡pUKYdqƒjWLCA@A@@?CHS^SHC?JWj}wr‰¯q]¨š¤¤¢Ÿv__\oˆ¤¹ÆÕêîôö÷÷ö÷øùûûûúø÷÷ðéæðöøîÜçðöúüÿÿÿÿÿÿÿÿÿÿÿýúáϼÑë÷ûÿýûýþÿÿÿÿÿÿÿÿÿÿÿÿÿþðºÔîóÝlS£Û̳zg¯Õ»°Êðýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿú띊unhgefgs|‚‰‡Ž“‘ŠŒxga]`a``________]^]]]]^^]\\[]]]^^^^]]`hqŸ²©•Ї•¬Ä¶©–žw~_]ZWJGC>8420*&)!#&)+2;>CFGLca_WROLE;4+" ! 						
-			!## (EX\][]]^ZZZZXXVZY][\\][[\]]^]]\[[][[Z^\]Z[[[YXXLB:1;CDDA>;888887777888778888798999999999999::;;;::;;<<=<;<<<<<==<====<<>>>=>>>?????@?@ACCBABAA@ABAAABAAAAA@BABBBABDDDBCDFFFFEEEDDECBBFDDCYYZXUTTSPNFJMRWW[YXZZ[\\[Z[Z[[^`abcdcadcd_bahb`]\ZY\[\^_b``accfbcdfhkinhlijgghiiklnllllnpnsnpnompppkkmnu{™®„s’¹£•v[\n}‰Žz[LCBBBA@@DIZ``RF=<J`qƒwth^Yž™®¸Òªde_^s†¤ÕÛçéíòõóðòóôöùüùöøúóÙÙëôõßËãðöúüÿÿÿÿÿÿÿÿÿÿÿþýöëØÏáí÷ÿ÷íòöúýþÿÿÿÿÿÿÿÿÿÿÿøñîíõôÒcV­¶‘nNW“°†‚’¿íøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûòÖ¸š|rjgfegnsz‰‘’Ž’“–› ¢¢¡“Œlb_a`_``_]_____]]^]]]\[[]]\\^_^]\\ZY[^gp}Š˜¦Ÿ¢¨¯¾áãÝ®”…zf\JD=73+)''&&'),06:@AGPWFDFIOTPKIE@71+(  ##

-		
-

-		
-
-"!&$&!!,M[]]^_]_Z\ZZXVWZ[][_]`\\\\]^]`\]]][\[^\\[`[^XVOE:5:GMSROG@=<<;977878777;8888799:9;:99:9::99:9;<;:<<<<<<<<>==<<<<<>=?<==?=?>>>??@??@@ACACCCBAA@@@@AAAADAABBBBBAACACCEDBCFDDDFEEEEEECBBEDDDXYWVVTUSSPSXZ[YZ[[[\\\[ZZZZZ]^_`cdcba`aab_`a_^]ZZZ]_`abbbbcccdedffhihihhihhhjlllnonnnnnnljmlmmmmmmmjkoo}© ˆqž¥Ž~idu•‹­„^KCBFABAADHWd`\M@>>KZkzvh[U}œ³½Ð·›jeomj„§âÚÐçîòçââßÞî÷üøôøüõÛÊéòðÍÄáð÷úüþÿÿÿÿÿÿÿÿÿÿÿÿýúòäÜåòÿðßåíôúýÿÿÿÿÿÿÿÿÿÿÿÿÿýûý÷¼i]º±rEDN˜ÂwKf„ÙðýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýøæØ¬ˆ{mighjos…Š”–˜™š£”›•’‡ƒwic_``aa`^_a`a__`b``^]]_Z]]]\`[YXWUSTUY_fny„›Ÿ¯ªÏÑÚǯ‚k`WMD=1-)+'()-04;=@BDEEBFIMF>50258:85672-+)$#)#
-		

-		


!#&%&" 1T\\^^\\[YZZXWXX[[[[]\\\\[\]\[[Z]\][\\]]\[[[YSJA:4=HMRRSRRKFD?=:9877777787888788889999999899:9;::;<<<;;<<<<<=<=?=<<==<====>>>=>>??@AAAAABCCBA@@@@@@@BAA?BAAAAAAABABBCCBDCDDCDDDCDDCCCBCCEEWWVWYYXY[^`\[ZZ\]^_`a]^[Z[\^``abfdd``abbf__ZYZZ\^`deffjihccddfhhjjjhliiijkmnnpsttrsoqmkkkknopmnmnnnkmnoz‡ ´ˆrŒ…€spzˆ‹ŽŒ`JCBAABEBBGTah_TE?<?JXitka]q˜ÒÒÖ²³ihvz„~¤ËÌéðóëçáÑÕéõú÷ó÷úôÜÛëðè¼®ãð÷ûýþÿÿÿÿÿÿÿÿÿÿÿÿþýú÷òíõýñÚØÚèñùÿÿÿÿÿÿÿÿÿÿÿÿÿþýþùǑʷ^TZW—k`fÂÖéóûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýøê½–ƒrlhhkp€ŸŸ§¤¤Ÿ˜„|vrlfb`aaba``a`^^^^aaa_]]]\YYXXYWUROMKMNQUY^djt‰’§«­¤™vXJ;620.-,.037<ACEDCCCA><;77870'$$&+--.//.,3*)'((#		

-	
-
-	!$%&&&"! 6V]__]\ZYZYXWWZY`]]^__^]]]`\\[^]]\]\_]^^^\[XXM@529GOTSVXZXXRPHB=;:8877978788;7888999<::99999;:;:>;><;;;;==<<>>==><==<<?>=>>>>>>???AABA@@ACCBBBC???@@BBBBBAFAA@@@BABBBBBBCCEEEDCDFDDDDCDCEDXYZ[\\\\]_^]\[\^_a^]\\\\\\_aaaabbaa`aabb`\_V[\_bcfghhggghbefghhhjjjiijklmnooqqrrrpnlpkllmnoopmmmmmljkjnwƒˆ„|{}}€•„t}ŒŽ‡eJDAAAACCBEO[[_PHB?>>IT_pf]i¥¯®’fs¼€«tv•ÍãòöóñíÞÒêóùöòô÷óçåìè˨°äðøüýÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿúôøûòÖ¹¶ÀçôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüîØÀÃÅka\`¡¯kg–¬®©¹ÜíûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúíÊ©‘yqjlp}˜”œ‰„|xtnligdcbbabbab````^]]]^_]\\[XURONLJHIIIKMNRUX]aiklnmjgb]PC?333579<@DGJKLCEB>;8631/-,+*(# ()*'*++++*'$'#


-
-


-
-!#%&'(%"!!:W\^_]]YZUTSTTVY]\]^___]]]_[\Z[Y\\]\]]][\[YWMA8/9EKRSTWYZZXVUTLFB?=:9897767788899:9::;::9::<:9:;;;<;::;:::==<;<<<<<<=<>===>>>>>>??A@A@@@BCDAAA@>??@@BCBAAAAABBAAAAAABCCADCDDDDCCCCCBDCCCCCYZ\\\]^\__`^^^a`_^^]]^bccagddacaabcbabdaa``acdegllkkkggghiijkjjjnllnnopprrwwwrtpnmkloqrqvswponnmlmllljju}…–„ƒ…‚zw”™ƒ„“’bJFFBCBBBBDIPTQLGEA><>EL[mc^lz‹³{o}ʱ§ªlho—ÌÙíðòîêíñóõôòîíîðñêÏ´®µêòøüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúúùï̸²Íéöÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùôõòå€_R^¨©l‚ÚèÜ’cŒÑãøüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûôÜÁŸ€upsŒ–ƒ|uolheccbaabb_bbbba___^^__\[ZYTRPMLKKHKHIJIIKMMOQSRQOMKHEB@>><;;;=AFILJIHHEA?<9642/,*(&%##" &&'%'(+**)%$&"
-
-&')*((%"!$?[]__^\ZYRQRSTUY]^caaaa_`__Z\]]Y`]_^_^`_`[ZQE:25CMRTUX[[[[\[ZXVURJC?<:98777778;999:::;<::::::99:::<;::;<<;=<;;;<=<;===A=?>??>>?>>?@@B@EDDDDB@@?>@@C@AAAACAAACAAAAAEBBCGCDDFECCCCEDDCDCBCGCZ[]_^^^]_```^^_Z_^____aabbcdcaaabcefcbbabbcegjjhjijijhjkkkkljjijmnoppqrtsttrunnmmknoqsrrrprpnnlmlkheddhty|†€†Š‰‚Œ‹Š¦šŒ€cQGDBCCCBBCFILMIFECA@?>@DUmd\W[ÃŠp‚Æ®®©¡i]bh†¦ÈçìæäìôóñòñÝ×ßñò踧¡¿îóùüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüøíÔÅÍäíøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþí­hX_µl›èòä†QLzµÙ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþùçÚ°‚v{~zyunljigedecbab``caaa`_``b]_\YTQOLKJIHIIKLKKLOLNMMJFB?<987<9;=BGHJMOONILIFB=:7410/-)(&%$#"!   "#$"$$$$$% 
	 ,$%)!"'!&)**)(%!!'H^]aab_[ZPMGHKRY\^abb_a_^[ZZ[ZZZ\]^[_^^\\[SIG<?BMUVWY[ZY[]][ZYYXTTMHD?=<978888999999989:9:::::9:;;:::9::;;<<<=<<<<<<====?>>????>>??AA@AAABBB@@@>@@@@@@AAAABBC@BBBBCBBBDDDDDFGHCCDDCBBCBCCC\^b`___`ccc`^^^^__abdccbhbbbbabbddedccbceffimjkhkhhjnnnnolkkilqqprtuutwvvtvttonoqtxsusrrutuoojjheefeeghrtx“”™ƒ‡ŒŒ‹‹ ¨”‚jVGDDCCDBBBDEGGFGHFCCB>;<DYqdXSq‡›u†ÄŸ³¹£ma[\b|•¸Ü¾µÔîððóñåÈÖìñ麟¥ÌîôøüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüõïéÞáæïöúþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøç©t‹Ãm©íòá}HENu§ÏòùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüøëÄ£Žzynlgeeeedccdccbb`abaa```_^ZWTROLKKJHIIHJKLOTINKIEA?<;:::<>@AEIKMMLMMKHFDA<952/,*)(('%#"!!!!   !  "#   !

-
-,F:**6=C%-%'.00.*(%!!+O]_agcd_\TLBCFPW\^bbf`a^]]_Z]ZZ[]\^^_^b^`ZPKILRRZ[_`aa`\\]_\ZZ\[XXZSQHB>;:9889<;;999989:99;9999:;<;::;;<=<==<<>=?======>@?AAB??????@@@AABBBB@@A@@@?@BACAAACCDBBBBBDCBCEDEDCEEDBCDCCCBABCDD`aaaa`bcbcba`_`bcefgcbbcbbbabcccdefdddeefihjjihgmikklkmmmmmmopqrsvvuussstrrourttvvursqqpomljhffdeehhjno{pjop•™‚‡Š|l|š£ Œp[HDCCBBBCEDDEGFNOPNLIC?<?CSl`R\e^ZÆ±ÓÁ©ŽlUZ_p€š¦±»ØíïôöîÏÆÜñíÄ­ªÒîôøüþÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüñâ¿ÂÌßòüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúê¿´­›qµðòævf…^HfŒÄóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûñÕº‚xnkifeefcddgddc`bc`]]]WTRPOKKJJJKLLMNNKOOOLGC==8;9<>@BGJOQRSRRJIFCA@;8530.,*)'&&%$##"""!! !! !   


*GHJ51Jf@'2-# %/=A;4+&$!/S\`aabcc^WM<=>IT[\aab``__`_[\[\\\[\]^^b^\WSPRRUWZ[]]^_____]]\\\\ZXYUTPKGD?<::99999::989::99;::::::::::;<<:;<;;<===<<==>????>?????@@@@@@AABBB@?@??@@@@ABABBBBDDBBBBCCCDDCDDDFEBBDCBCCBBBCDEccccfccddccdeegeedhecbfcccdeefgeeefffffghigghigjnmqlllmmnnspqswutuvuurqsvssuwu}utttuvpqqpjhgfedegkqrturzmhhhv…œŠtfjб®£eODCCAABCCCCCDGQ^]\WRKE@=<BUjXRUNT|ϯÖЭ¾ hYZ\jz“¶¶ÉîòöùôÕÎÑïð׺À×ðõøüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþøï×ÁÅËâêõýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùóóè¯x¾òïÛspriKImŸíÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü÷æÕ«Š{nkhgffcdcdddbad^\VSQONLLJKKMOONOOLMIGGFEA@??@ABEIJKIQHQNLIECA?;8641/,+)('&&%$$#$##!"""!!!    "$:WjP<Hfh@%"/A?5(#).-)'*=WWY6+&#!4X]dababaaYOB:=CUY\bce`a`b__^^]__^]a^^_b^[YZWVX[[\\^]]^^^^^]^]^_\\ZZ[\WYVSIB>;;:9899:98<<;9:::;;::::::::;<;:;:;><;<??>>??????B@@??>>??@@A@ADBAAA@?@BAA@DACCBBCCCBCBCCFDECCCEEDBACCBBBDBCDCEfgededdedcdedbbbbbbbccdccccbdddeeeghhhjkkljiknnonnnmmlnppoqqrstusrsrrrrsvuvwvvwstttvsomkiffeeeikmqppqqrzkWZ^djkl|ydkzš¿«˜{XICBAAABBCCCCHUeuj`YRMFA>?@KWY_YS|××ØÂ¬§®¢k[[ajv“ºÅíôøûöã­ÉíóîçØâñõùüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýôéסÀëûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþøßÆËôíÄo~¶nVWZ‰èþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþû÷꺕…tnjhfffcbdd`^[WSOMLNLMMOPQRR`POLJFCF?CBBCDEHLNONMKJIGEC@=:8531/-+*)('&&&%%$$$$$$$$$$$#!!!     " &2?5%$1Oo`SNaek>-;SYjD*0<FPA/7LSWI5("#:Y^_____]\ZRKIGMWXYZZ[[^___`^^^___^__`ab]\[ZZ[[[[[[[Y[[[ZZ[^]^^]\\\[[\XWUSOLID@>;:9::989999989999:<;;::::<<;<;;;<<<>@>@>>?>@??????=>???@A@@A@@@@@@??@AAAABBBBBBBBBBCCDDDCCCDCCBBBAABBBBCDCFkggghhhfgcefhbbbbbccecgdcccdeddddfijkjmklnpqrnonnnppppqqtqstwsrrqqtssuvwvwvuvwtxtrqpljgeefjlorttqtoqonokSRZlh]eu‰yvxˆŸ°§ŸmQIBBBAABCCBBHWpzwc]\[NE@=;>J^bph€ÑÑź°­ÁËȾ^cgjrˆ­ÓîõûøìÅÄîø÷öôòôöùýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿû÷é˰¨×õûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþôèóûî¬lŽ–msšp{åúöóøüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþùíɧ‘zrkiffd`][XVTSPNMNOPRSTSSTTSPNHKFFGIJJJJKHMKKHEB?><;97630.,,+*)(''''&'%%&%%$#$$%'*,*&#!!  "   !##%(,18=(.D_`a=)7gd[SMdnR;?ZSgjT8=Qf]a7>KTPB0& %AZ^```__\[ZVVTUXYXYXYYZ\\\]a_cacbebcbebb]^]a\]\[[][ZY_\[YZ[^]_^\\]\^\[ZZXVTTQOHA=;;;::99999:9999:;;::::::<;:;;;>;=<==<>>>?>@?>>@>?>>???BA@@@@@@AA@@CCCBBAABBBCCDBBBCDEDCDDCECCBBBABBCDCBDCDfffffgfedccba```bcddccgdddddddfghiknlkmmnppnoooooqoooopqsqrtrnnnqquwxz{zzvttuxtrqpnkjhkfiknrrrpppooonmlpkIMWgg_[o¡ž v|‚’±§ƒiRIDCBBBBCBBJYo†veca]WLD@=>>HQ_q†Äšx™ÂÌçáᾤžoQMQw´ÔòûúòÍÃðúûüùö÷÷úýþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúèÑÅÌñøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýþÿïªkœdpxovÞîäÜæõüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûñ× ƒwmhfa]ZVURRRRRTXZ[VTQNNMNQMLLKIOKLKMKHECA@><;963210/.,+()))(('''&&&&&&&'&%%$'+7?@C0$"!!!!!  "#$%),**8A@CGJVcQ9)(Dadh_P,:cbB,GfW?=NQTakJ8Mg_]L9=HIK4&")H\^_]^\_ZZZXWWXYZZYYZ[[[Z[[]\^``bbaabdcd^]]`\]]]Z[\[Y\[ZYZ\[[[[ZZ[[\\\^YYWVTRQPJFC@?<;:::9999:;:9:::::9:<;;;;;;;<====>>??>=>???>>>=>>>>@@@A@?@AAA@@@AAABAA@A@@@CCBBCDDECCCBDCCCCDBBBCCCBECCgedfjghdccb```^aceeedehggfefhikmmkknopqqppqnopqpqooooppqsqsqpnnqtv}|€z{||{{tvtqpomjjhjklrrxsuqoomlkkkkinjHKUvoeckœ£¨­Šzwx—®›‰jRJEDBBACBBKYqzxjilvaQIDAA<<DNg„xq‰§ÜÖÕݽµ®«zJ7:Ix§ÒðôñØÅðúûüùöö÷úýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþùóôöûÿÿÿÿÿýúôîòöøúöòøþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿ󳋍sZx®msÚܨ€¦ßôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü÷çÔ®‹yie_]ZXVUUVWWWYdYWUPOOONNMKJJIJJIHD@>;:86420.--,+*))('''''()&&&&&%&''(*+)'&+;OZgQ7&"!"""!!#*05:C<6=X]aholijlB/=aSJZpO/=`[.%BgV:CWb`^S?:ahJA:3355/'!.N^_c_^\_\\ZZ[\[``````_]][[\^\]^_acaabdde^a_`\^]]\\\\[[[ZZZYYZZZ[ZZZ\]]ZYYYWWVVUUTRJC?=<::9999;;::::::<::;::;:::<<>=@=@??@>>>?>>>==<<=>>@??@@?@@A@?@A@?AABBBC@BACBBBCCDCCCFCDCCBADDBBBACABCDgeeeeedddbc`a`bcfigeffgggghjkllmmnoonqooolrnopooonoprsrnsppopqsxyyyyzzzxwwutsqqnollllooppsrqpnnommlllkmqiGIQgsmi— ¸°£Šxz‰ž¶¦nRKFDCCECBIUcpnmnpvfVKGEB?>=CKd|kds¬ÕÓÜ»ÎÈÔŠPA3>Kq¡Ðíñéæñùûüùõööúýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ÷翵ÔöÿÿÿÿÿÿÿþýüûøéÑÕðüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷РfWŠisϨi]]¡êÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúò式}mgba`^\\ZYWUYXXTTONLJIHHJFCA@=;:964210/-,+*))(('''''''''&&&&&&&'&)-4;==3+:Q`sjd:'()-1-('':NQTX\FK]jkkjdfikG@RXIDT^L;DVP(#OgH7Oma_QG69]jP4.*40+# 2T^_`_^\^]\[\`\[_]]]^^^^][[\\\]]___`aaa`d^`__]]]]_][[Z[[[ZYYZ\[ZZXZZ\ZZXXXYWXXWVWXVUPKG@?=;999;;::;<;:<::;;;;:;;;<<;==>=?B>>>>>>>==<=>>>>>?>??A?@@@@@@@BAABBA@AABBBCCCDBBBBBBBBBBCCBBABCBABAhfedccddecddcdgihijgghihhhklopqnonsmkmnnnnsooonoopqsvssrqqqrxz{xxywx{{{wxtsrqppoomrooosrqqrnlmmmkmpqqpsqhFGL^trk„’œ¶¡›Š‰–°Å©‘pWNGEDDCDGQWansvvwh\QJHGCA>=@GR\dou¬Æ½¨ÈÂÛ•z`G7?Mx²Òêêèò÷úýùöö÷úýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûì²|Ž·òÿÿÿþýþÿÿþþýóÕÁ¾äíõýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûõÛЃYy†lu£„^Wb{Ç÷÷öôñøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýøëœ‰vqnjfb][ZWRTZTQNKFCBBA?><;975430.--,**)(''''''''&&&''''&&&&&'''',<LWbSA>F^rtuc=./;HJI9,3O^mWdNFWnaZdr\SgjHCVe@7YhE7LhB#*Yd@CbebM?3(3Xb]:,,4-(7X^_b`^_b^___^][^]^_c_a_]\\\\\a_c^^_ccbcd``_`^^]]_`\^]^\\Z[Y[\_\]]][\YYZ^XYW[Y[Z^^^`c[TKEA?;;::::;;<=;<;<;;<<;<<><<<==@=??>>>>@>A=>=?>@??>?@AAA@@@@@BBBABAAAA@@BAACCCCCBDBBAABCBBBCBDABBBBCCfdfbccccddddffhiklkhhhggiilnpqpnnmmjlnpspoqpqrqppqruurrrttuvxz{yyyxwytutspppooonolnmmmnlnnnkkknmnpqrrrrveDEHWny‡~„…}š •™§´¾®•w\OGEEDEGNSZlyvsqkbUPLJIFC@>BAKU\er~•ÃÈÊÀÚ­¾”cF=GPu¥Àêðóöúþúö÷÷úþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÌ†om¥îþÿÿýûýÿÿÿÿÿîϹÉÒÙìùýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþøß©•œy]¶x]ƒš„¬éêÒÄÖñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùì˲ŸŽ…{smdYVVNMLKIGB=;9985320//.-,+*))('''''''''''('&&'')'())(''&''3O^nlnUFWoruv_?3BUZk\R<8VodQG>CabY\_`PPeeFNfa;D__>A\d:65a`=BeeN:;,.1LhcB/-/+#;[]`a__`b_^^_[[Z\\]^^^__^^^^^]^^_]]]]]]]__`]]]]]^]]\]\\\[Z[[[[\[\[]\[XYZZXXXYYZZ^_ceee^[SKF>=;;:;<<<;<<;;;<>;:;<>==?=<=>>>>=>>>====<===>>>?A??@@@@@@@?@@CBAAAA@BA@BFCABBBBBCAABBBABBCABABCCBeefedegeddiejjjjllkihhgjlnsopnmmlllmpprqqqtvvwxwusssuuzzzvxxx{z~}}xxssrronnqnpoppolkkmkmmlklmooprusvrrubDCGO_m~…Љuw†“¤¤ ž¦®ºÐ²y[OGFEEHKOWjuyqnnmaURQNKFB@><>EKU\]dƒ‘­´½¬ÁņWKFHNl‰Àèð÷úüùõö÷úþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõ¾tdjšîþþÿûøûÿÿÿÿÿõãìíä½Õëòöûÿþüþÿÿÿÿÿÿÿÿÿÿÿÿÿüúàͯwe¶rmŦx“ÛšŒ“ìÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùïÜ̾µ–„}r^PJFDCA?=:5210.-,*)((((('''&&&&'&&&('&&''('&'''(+./-*(&'):Zrtwqeehnyuw_@8[Sdhr]A>`o^C13BeiQHbfLP_^JR`]JLbW=@bb6*AjV:GhgE=::ICHhi?2.1' #B]acc_`aabb`_]]]`]_]]^_`aacab```aa`^_``\]^`]_^_^_]]]a]\\]]]\^]]\^^]][[[Z[ZYYZ[]^adiilhhedZSID@><;<=<;<<<<<<<<<<<>>>??===@>>=@>>========>??@??@@@@@@@@@AABBBACA@ABBBBBBAABBBAABDCCABCCABBBCCBgggghihgfdffijjkklkjkklpqspnolllnnopqrrrssvxuvwytsssvxyvzwz{{z{yyxvutponnmnmmmmkkjnmmllkllllopsuttutsrswaGFGNUc„•Šqss‰µ©£¥¨¬²¼À°£yXNIGFHJOVepspprtucWUTNJFDA>><>BLY\ez¶´Õ½Ý¼·¢hKHGišÍíøúûøõööúþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿòªhcj“îÿþþùôúÿÿÿÿÿüøûýðÔÊÎÛæöÿüùüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüöâ¢w¢»u{ÕËvÔžqM„çþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýøóíåЬ¡£†cMB>:7542/-+)))(&&%&&&&&&'(&%&&'&&&&'&%%%&'''*,6=AD;1+'(+>dqvvvmhkmqtu^?;IOXbieDDdpT4,,FhfHPg_JWmT@Sm_TYeD0Eh\3.TZLLIdiVS?BNPVgQ7-*'"'K_abc_aaa``______]]]^_acabaaa`aaaa_]][\\]]_]__^^^]]]^^]]\[[[\]]\^^^^\[[Z[[\]\]`behiijhhggb]YQHD@>;;;<<<<<;;;;;<;========?>>==?><<<<==<=>????????@@@@@AACCCAAAA@@BAAABABAAABAABBBBBBDCBBBBBBBikohjjllkiiinkklpppprsrrrponopqotsstux{vxvxwuttsstvwxz}v{{{{{z{zywvuupnnpnnpqmnjjjmnonommnprvsxttstssrty`IIFMRZjy¢ƒ{oœ­§Ã°¨«°·½²Ÿr[RJIIINS`lvqqu‡„pb^YRMJGFB>;9:>JS[_}‘±´³µ¯Ë²˜cFBQÀàöøú÷õö÷úþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿþñ gahíþýüøôøüþÿÿÿþüýÿøïÛ¾ÉÒàðððøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüóÞäßÒyyЪo€Ö­^F}ç÷õóùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüùöðç䡝eI:520.,*('%%&&%%$$$$$%%&&&'%&&''&&&&&%%%%'').;IUb_[B/((-Bfquxvxvsqpqr[>9AORirdGHgnJ/',MicGRiZ[^jNOSinomQ6,NXX.2Oa?.@dgiN@CeijWA-$""-S`ebcabbbab`ecb__^^^a_cbbbbceeeba_^^\\]^`^``a`b^^^]]^_^^`[`]]]]]^_`]]]][_]^^`bgijknmoomkqjkd`WNGB?>>=<<<=>=<><=>===<<=?@>>A===>;<<<<=>>>????>@A?A@?@AAAAA@@BAAA@BBAACBCBDCCAABBAEBBCCBAAABBCjmojkjkjkllkkkklooosrrnnmnnnooqqrqstw{wvtsttssssuxvwy{yvxyyxxuuuvuuqpmnnpooromlhjkmnnnnortuvurtssssqrrtxeRLGLPW`m€‹ƒq{›§Ç»²ª­®µÅ­ŠzaTKJILQ\ivvwwŒ­lc_TNLJIHC@<8:;G]_cyµ½¼«šÁÞ±vL<GZŠÝñöù÷õö÷úýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿýï¦hagŽíýüùöóöùüÿÿÿÿÿÿÿÿýòÚÌ÷¶¸äóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüöñî݆r„‘m…×ÄcJ{ÛëááñýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüúóéÉ¢§˜eB1,)(&&%$$####$%##$$$%&&&&&&&(''&&%%%$$$%&*.>O\knseT6))/Fhqstttth\lqrX=3DR^oqbHMjlG,)/Tk`JXlVM]iD1FfglS<,&=R:&*H<,(1H\K;52JbSH0!3Wbcbbaabbbc`bbb`aa_^_^aabdcccddab`_`^]_``______]^[]]_\\\\\``^]]]__^]]Z[[_\^_chijjkkklmlkkkjigg[TOEB?>===<=<<<<<<=>=>>>??>=<<==><<;<=<=>????>?@A>??@BAAAAA@@A@?AA@?AAABBABBA@BDAAABBBBBBAABBBlmomklnnooopoorooopnmljmonqqvqrsvrxwwurrqrsttszwwxwxzz{vvw|wvwwvystpoopponoommonoooqstwxyvvtttttussssru{j\RIMPU\brŽŠ™~x£ÍÃ͝«­·»¶²‰fVMJJOXfy}{“®²vg_VOMKKIFC@;97<L_\`|“§®µ¾ßÚŠT=;F]¤äòú÷óõ÷úýþÿÿÿÿÿÿÿÿÿÿÿÿÿüöß³k_fíýûøõôö÷ûÿÿÿÿÿÿÿÿÿúõä̼¦¿ãñúüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüûúìšjq\T•Ö®cgƒ©¥“ãúýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûøð彟™–Z;,&$$#""""#""#####%$%%'&%%%%%%%%%%$%%$$%%',<TbpkvuxZ<+*0Iksmipur`ZirpS<>T\fks]HQmkC*&2\d]Sg]NMaO516IYN>,!0+$!!$% $/1.(&798. #7\adcbaebbbccbbfbccccddfffcdccceada^_abbaca`_a`a]_]`__``_b`___`a^_]]^]\\\^^ccgjnkpmqorrssqqqmjhddaTJDA?==<<;;<<===>==?????????=>==<<<==>?AAABAA@???@ABA@ACAAAC@BA@@@A@@AABBAABBAABBEBBBCAAAABmmmnonpqppppqrpokikkllnponpprrrrrqrrssrrsstttt{zzxy|yxvtvvwvwxtsqooonmnmnoonnnnooprtvxwwxvvuuvuttssstsv}l_XQPPTY^cr„‰ƒ€‹œ¶ÂÄÆ¸­®¯²´ÂÇ“hVKKLUbirz}º±‚m`WOMKKKHEC@=;;;HWWYn¡·áÌáç£oE<<PuÛíûöñôöúýþÿÿÿÿÿÿÿÿÿÿÿÿÿùßÄ‘l_f•ìýú÷ööõõúÿÿÿÿÿÿÿÿÿÿÿùéÞÌÈÛîôøüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿò¶jR@]­Ù˜dª®~QsÌöüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþû÷îÔ±™‹xM4&$#""!!!!!""#####$$$%&&%'%%%%%%%%$$$$$%&'0L^sb^itu]<+*1LllfjnmqZQhroPFJ[ffiqXMTljA('3UjSINU@=<;)'/10( " %=\_aca`a`abbbbbdcbbbabcdcdcccccb`aa_^aaa`dca_^\]]^^`b_^^^_^_``__]^]]\\\\]^_bdilmkmlmmoopppppolljgdbWOJEA>=<;;<<<==>==>?>>===>>=>==<<<==??A@@@B>?>??AAA@@AB?@@@@@@@A@CAAAABBA@BDBBBABABAC@ACBBmmnnoqstvwzuxrplfhjkomrqqpsqtqqpppoqqtyuuvzyxx|{wxxvtrsxxytrqponoooomnmmoooqooqwwxy{x~xxxwuzzyyxuutxuyymb`[TLRX\`bkw…‘‰ˆ•±µÆÄ¸°®®³áØÐ“fVLKPZbkrz¦¶ŒtbWNMMNLJHFCB><9<FMJLu·ÁÄâéÊ[>9AeÈìû÷òõ÷úýþÿÿÿÿÿÿÿÿÿÿÿÿÿöŏkc`kîüúø÷öõõùüþÿÿÿÿÿÿÿÿÿüùê×ÔÉ×åïòöùûüþÿÿÿÿÿÿÿÿÿÿÿÿÿøåžVYr¾ÝŒe¥ÞÂtHdÔöüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþú÷į̀’‡vF/$##!!!!!!!!"######$$%'%$$$%%%%%%%%%$%$$&'5Tk`OQ`tuU<**2OnudVbsiOQgsmLFWnj^lnRESnc?('/OIB@?6*('"'C\_a```bcccecechdcbfceeeeddfcdcccc`_`caaadba^_\^_bcca`_e^`___b``_c`_^_`aa`bfeponkmllmnoqptpqonormkgf^[OFA=<;<==========>??=<<=>>===><==B?@?A@C@>>??AAB@AABAA@A@??AA@AABBABBDCBBCCBBDBBBCAABCCnoopruvvwwutpllklkklmmosppqqqqqopqstvwwwwwyyyz{{zvuusppopponnnnnnmmlmmnmoqqpqprsx|zzzxxxxxwuyzywwuututyunaa^[TTUZb]YfyŽž”™ž«ÂÂÌ¿³¬«ÃßÖʍgXKNV[\esƒ”Ÿ˜zbVNMLMKKJHFDB@=<9<?BFg­åëÞ§vT:B\Äëû÷óöøûýþÿÿþÿÿÿÿÿÿÿÿÿþó·h\Zap¨îüúùøöõõ÷øüÿÿÿÿÿÿÿÿÿÿÿü÷ìÒ¾Éßåìòöùüÿÿÿÿÿÿÿÿÿÿÿÿÿÿøà¢…­âß‚iÏìÜxJiÙ÷üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþúöêÄ¢‘ƒk?-$##"""!!!"$""""###$$$$$$$$%$'%%%&%'%%$$%'2XQNECdseM6)*2PpteV[]`PSltkHGejkkmfLOPSZ5&&)/3.)'$"!)H]`````bababaabdddbccdeeeedcba^d__```baaab`a\]]`abbb``_a__^_^_^___`__`abaddefojjjmklooonnnnpoonomljgb_ZRIE?><;:<<===<===??>=<=>>=======>>@??@@@???>??@@@?@A@?????AAABACBBBCCBBBBBBBCBBBBAABCApquvxv}xytpnmnplnmqpponoppqrpqqrvy{zy{xxz{|{{zytrqonnnnnpnnnnoolmlmmnpstuw|zzzzyy{x}xxxzyyyywwvzttuyum`caeaYSY`\UWk”Ÿ˜“‘–ª¼ËÕ»«ª³ÉâѧŒn[OR[WZnyŒªž‚bUOOOOMLKJIIFFA?96869DcŽÆãÍÁ”pOD\¿ëûöñóôùýþÿþþÿÿÿÿÿÿÿÿÿÿô­gWXap»ãóòðòõö÷÷øûþÿÿÿÿÿÿÿÿÿÿýüöìÓÀ¾ÄÕÙë÷ûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿöííîíÞ{oâðãviwéöûþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþúö꿟’€a;*$$#""""!!""""""#####$#$$$##$%%%%%%%$%%$$%.AO?9JfffD0(*3RpteKObQHWpuiDF[rqnb`C6;B<,$""##!  #,,,M]_aab`ebcbfcbcdegefdjfedeedaa^d_`adaca`ac``\_`hbeeebc`b_``a_aaa```a_ccefkkkinjmknlkmmmonmmqppppnollfgbaVMFB><<=<>=><<==>>>@@?><===>=?>@@@?A@@@@?A?>?A@@?@@A???CBCABABBCCCDDBCCDDECDBBBCACCDAqsuvvtsrqpokmpokmmqpponmprrsssuvwzyyyyzyy|yxwwvtroonmllmmlmmmllllklmoprsvvwx}zz}{xyvxxywxxyvwxwvuttttuuup`cc{–rV[a\WVXl„™°’–ªÇÈ˸¯±³Â׿țv`ORTWer‡œ|cVOOLMNLLMMKIHFB?;753>Jp¤¨©¤¡ƒk[aÆëúôçáë÷ýýþþÿÿÿÿÿÿÿÿÿÿÿõÀmXX^k”ÐʾËÙðö÷÷÷úýþÿÿÿÿÿÿÿÿÿÿÿÿüïÕ·ÃÂÅãôûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõâvußîÑle¥èõøûþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþúö黝“Y7)%$#"#"#!!""""""#####$##$$##$$%&$$$$$$%$$$)024ATjkP7-'*3SpsfH?AAE^ouY>@OV_VOC3.,+*'""""!!  (2-$3R]^aaaabbbageeeddcagdffecdca__^``abdaa____]]]_aaa``bbc__^a_`^aa`^`aa`cdgjjkkjkijjkkllmkljmlmkllmmollgfca_XSMEB?><>=======>>>=>=====><?>?=>?@AA>@?????@?@@@@@@?>@@@@AAAABDCDECCCDDDCBABBBBCCCAxuyrppopsoolnnnoqpqqsqqqrsxxyvzzyyzyyyzyzzyxwsqpollmllompmnmlkkmmnqqrtwy|z~~}{{~{}yxx|wzy~vuuuvsuwtssuuqade•‘’d^^`VPPZt¡§•—«¾ÆÈ»±®°·¾ÉÉ£}`OPTZgžŒ{dVNNLLLMMMMNLLJHD@;66:DWx‰ŒŽ‘•pkmÍëùóãÒÈïüýÿÿÿÿÿÿÿÿÿÿÿÿÿ÷Öy[Z\^dvyxªçóøøùûüþÿÿÿÿÿÿÿÿÿÿÿÿÿúõðåɶÑíøÿÿÿþýþÿÿÿÿÿÿÿÿÿÿÿÿÿöã€{àé¥cÙççäåñûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúõ距”R5($$#""""!"""""""$#$#$#"##$$#&$%%$$$%$%%$$$%'+6I_nW@2)&)4SqrhF858C]qbP:28>>:5/*&%%$$"!!!! !!#-44*"<X]_aacbbafdieggfcebgeffgcea`]^^bbcccaa__]]^abbadbbaddd`__`aa`aadafaabffjjmnmkmjljonnmnkmkollmmknmnlliihgdd_^RJDA?>=<==>==@=====>>>=B>@?@>>>>?A?@??>B?@@A@@??@A??@A@AAAABCDDGEDDEDDCBABCCBCDFAtqplkknpnkmlmlnopqqqrrrrrtttttuvwwxyxwwztpqrrpokllnpmlmlmkkjkkmoootvwy|~}|~}}|}~~||}{{ywuutrrowvwwvrtpuurbcd~ ›rgb[WOLUf~šš™•“—¨¿ÇÒ¿³³²ºÐÒß©x_PQS_px}{eXNMMLLMPNNMMLMKIGC@9;>Oeyƒ„zjotÂëùòÙ‡ èüýÿÿÿÿÿÿÿÿÿÿÿÿÿùêr_YPRWWWi‰áñøùúûüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûôÛÍÊêöÿÿÿýúýÿÿÿÿÿÿÿÿÿÿÿÿÿ÷í–§áåb˜àÝ©€—Èóûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùô綝N2'$#""""""$"$#%"""""######$$$$$%&'((('%%$$&%&1?VoZH<0,'*6VptkF2//=ZTS>/-+,-+)(&%%$$$#""!!    !!##&,' '.54."%B\]_aabaaaedhedbc```bdfec`a^]]]^bccdcaa^_\^_``aaccba``a^ada___a`aafbbdffjjkklkkijijihgjjkkkjjhhimklmkjjgggfca[UMIDA>><=====<==>><<<<====>>>>>>??@>>>???@A??=?AA@@AAAAAABBCCDDEDEDCBABBBCCCCCDBonmnnnmnmnpppqqpqtwr|vutqsssrrsuwvwwwustqpppponknmronmmmmlllmnooptz|~{€}~~~|~~‚~~{{{{yvolsqsxwuuvsssuuqccdr¦Çœ›x]SLKQ_q†›—°œ’’˜«ÂÊж®®²¿ÓÜÚ¢zcPPVcot{gZOJJKLMNNNNMNOOOPRQF<=H]xƒ‰uaTf¶èøïÎxtÉøûþÿÿÿÿÿÿÿÿÿÿÿÿüñÄ™wWNLOQTe§çõøúûüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûõïïñô÷ôñððøÿÿÿÿÿÿÿÿÿÿÿÿÿûöîØëâ„c°Ý¯l_]—áóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþøò嵚zK1&$##""#"""""""""##""######%$$$&*.461*&%$$$&+8Oh_MC:72)*5YnwdE0++6;<9.*(((''&&%$%%$$#"!!!!!    !!'&5*##%0;8600#,376/%&H\baddd`aaedidbad^]]aekeccc`b]_`cdddca`^^^c`fbdddbbaaaddddcaa`a`cceejjjhkkmmokmjnklkigkillljiihhmklmjjnnmmmhihf[SLFAA>>=>==<?>;<<<>?>==>B==>>>>>@?@>???AAABAA@C@@ABBBBABDCECCCCDDBBBBBDCEEECBBmnmkmmoprtssrqrrsvtruvvtrsqortsrrrssqopqomnmmnnlllnmmmmonmnnopstvw{}z}}}~~}}~}~}ywvvroqlquuvwxvwvuustvzfcdq«¹«¨‡bVOIO\mx†¢« –—™«¿½º³µ´¯¼ØÓЫƒfPTZblmj]RMJKMLONNNNNOPU`xl]L?ERf|…“~_SU˜ãóé»xq½ñùýþÿÿÿÿÿÿÿÿÿÿÿþúðÌ \NORX_ÜòøùúüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûøöòäÒźãóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûøóà|fÅɍ\P_l¥ìÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþý÷ïÚ²˜‰uH/&%##""#$""""!!""##""""####$$%&-5CMKJ0'%$$$(0Gee[PFJU8+*2Pka[<.*)+.-,*(''('''&&%%%$$##"#"!!   (5*%$ %/11000C9A3/%%/1441&(L\bacba`abcbcca`ZVZ]ceddbaa__^`bbbcba``^^`aaccc`bacbbbcdb`aaa``accefgfhhkimlnijjjjjjigkijiihfdigllllkjkkjiigfed`\XPHE@?>>==<<==<<=>>>>>??==>>>>>>=@>@??@@@@@A@@@@ACDCBBBBCCCCCBBBBBCCBBCCBCCBBlnnoquz|{wuvuttsussruuvrqsrprrqqqrronnnmmmomllnnmmonmmnoppqtwyyyzx‚~~ƒ~}‚€~~xvtpnkrzyyxzwwvwxxvzvvwkddr¯ÉÈΝh]QIMXkq{ˆ «²¥š–°Á·´º»®©¸ÈÐÝ­†eS[[cjj`TOLJKLNNNNNOOQ[i°…cODJVk…„cT^ƒÅåʦ„t¥êöýþþÿÿÿÿÿÿÿÿÿÿÿþúê bY[eršÇéûúùúûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýüûôÛϨ»ãòûýÿÿÿÿÿÿÿÿÿÿÿÿÿþüöá‚kÉÓwFM†hêüþÿÿÿÿÿÿÿÿÿÿÿÿÿþýöíÕ®˜„pE.%%$#####""#"!!""#"""""####$$&+6KcdfJ6(%%%$*<YjpcY_iY<+)/HJKA3+)(((((''('''&&&&%%$$$###""!!  "!75/,**,6<=;23::93''19762' ,O\abfbabgbdbbbbXRTY`defcbaa``abbcbd`]^__`chggcbaebddcbdcaaabc`abeehgihjjjjlkniniiijjlllijjjhfehillnnmlmlkhggffieea]UMGB@?>====>>==?>?>====>>B>>>=>@>@?>???@AAAA@@BDDCCCBBCECDCBBDBBBAABCCCGCBBqrw|}~}zyvuurspussquqppprpnooqlnnnlkkljlmlmllmnmmonmmnppquxz|zxxy||~~~}~€€}{xtqpmqqu|{{{yyyz|{zxxwwxzjcev²»¶½¶rbXPPTcpw|ާ¬¾©˜›¡«´±ÙƵ§¤±ÊËÊ¥{op]^ckcWOLJJMPONORPPTb~Ÿ¨¦€cOCKUhvi]a}œ¢œ“މ”åôýþþþÿÿÿÿÿÿÿÿÿÿþýð©xk°Ìéóúÿüúúùüÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿ÷åÐÆÆÝñöûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøè’•ÑÈgINUUtçùüÿÿÿÿÿÿÿÿÿÿÿÿþýüõëÏ­—„jB,&%$$##$""""""""""""#""$%&(''+0Ga]\RG2'%%%&0F`xrlmmeZ7*(*494/,(((((('''''('((&&%%$#$$$$#""!!  ")=J:5426???9//72.%*39754("2Uc`aaabccaba`_VNV\^dd``a`_``bbbaba`^^^_`bcdcccbadbcabbbbbabbcbbceghgihhiijijiiiiijjiihiihhhhhhhiijiijjjhgfffgggffecaYUNEC?>=====>=>>>>=>=>>>>>>=>?>=?>??@A@?@AAABDDDDCDFCCCCCCBABAAAAABDCCCDCB}|„„…}|zyxwttswqtttuuqnnoqonoormmlllllnkkkklpllllmpmnoqtxz}~~}|}~~}~}|}€€ƒƒ‚{{okmpt|~}‚€|zy|z}hceyªË·Â¼}ld[RR_lsw~œ°¾£œœ£­ÆÑ³¥Ÿœ¬»ÃË™‡ƒc]^gkUMLJJPQRPOPSSYu˜¼Ü¶—y]JBHRcma\cx|‡‚……áòýþþÿÿÿÿÿþÿÿÿÿÿÿýóÂŒ«åîðõúüÿüúòéêêïôúÿÿÿÿÿÿÿÿÿþüþÿÿÿÿÿÿÿû÷åËÅÆÞï÷ÿþüüüþÿÿÿÿÿÿÿÿÿûõÑÀÁ»g?FQ]qåóóò÷ýþÿÿÿÿÿÿÿÿÿýüôê̬”…`?*%%####$"""$"!!$#"####$'+0561.7Zgi[JD.'%%%'6Toxzn{ieG1(''())(''&'''*((('()(''%%%%'%$%$%#"""#!!!!! #*4NKACECCDD98)%"  -5:775*%:[```bbedcad^ZSNS`acdc_aaa^`bfdeed_a^`adffdgddcddededdb`bedeefeeeggjhjiijkiihhiiimjjiihkhggjjjhhijjlihjjhggihlimlmklgfc^QGBA>====@>>>>==>>>??>>>>?>>>A@@@C@@??@AADDDDECDEEBCDDCAABADAAADCCCCCCB~ƒ€||xxvurssspstsqrqmlounooprmmnlnmlmmljjkplmnnlmmrtvx{|}~}}}}||}~}yvsqks{}~zzyz{|€€ƒ„ƒ€€€~~~~ia^m¥º¸»ÂˆqhbYU^kptw{‹£¥¦™—¦Á¿²¨¨ ™ž¦²«·ÂZ\eaRMKJIKQTUSPQSf‡³ÛÙÅ©pSGBEJNSWcu|†x…’‡‰äðýþÿÿÿÿþþþÿÿÿÿÿÿþùëâèóùúüýþÿüù繟¯ÙêôÿÿÿÿÿÿÿÿÿýúüÿÿÿÿÿÿÿÿÿúóçÓÑèôÿüøùùüÿÿÿÿÿÿÿÿÿÿþ÷òì×l\wxz§âæØáè÷ýÿÿÿÿÿÿÿÿÿþüóèȪ“Y;(%$$####"""""""#"#$##$'1;HULE;=Zsl]TF8)&%%):`mwrn`VE5,&%%&('&'''''(((((((((''&%%%%&%%$$##"!"!"$')&"  #%)+5HJEG<763/+&"/67788-!*F]_``ccba``\WTPW^`dbbb^^]_^acdbba^]__abddfcgddceccbdecbccdadcccdefgkhjijkjiihijjjjhihgfffgfgfighhjjlijjjihghijhlikkkihgdaUKGA?=<<?>>===>>>=?A?@?>>?????@>??@>?@AAABCCCCCBBABABCCCAABAAABBCECCCB€ƒ~||}wxxxxwtutytsnmmmloomorqsnommnppppqmnmpppppqsvy|}‚‚}~~}~}zmhsqw†}ƒywut{z‡‚ƒ‚‰…‡‚…†‡†‚l`[bй¼½Ã•™xc][`onqt|Œ£¡Ÿ™™œ«½¯ª­ªš‘¸²ÎÇ r[dcRNKJIGQY\]UPTp¡ÏÕÕ¿·˜†eK?>@@GOcq|†ˆ‘ˆÞîýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúõøúúùúûýÿü÷àŽ†…—ªËî÷ÿÿÿÿÿÿþûùûýþÿÿÿÿþÿÿýúôïðñøÿöíóùüÿÿÿÿÿÿÿÿÿÿÿýúôà}g¡ÚáæèÕœ°æöÿÿÿÿÿÿÿÿÿýüòæÆ©•}T7'%%%$##""%###"%&%####%/=OchlS?<]hsplYE.'%&*>[ne[PF=0+'%$$%&&&(''''''((((('&&&'&&%%%&%%%$#""!"%-=2.,+$$&(*,3FFG=3/+'"#19?;;:6(1P^``aca``e[TORXaaccbab^__bbcchca^\]ccddfegehghdecedddcbgcdeedhcjfhhjjkilkkjjkkkkjjhjihhhhhghiihkjjillmjjjkimmmllkonpnrmmhgZPGB@>=?>>>>>??>>???@?>@@A@@??>>?A?DBCAABCBFDBBBBBAAA@@@@CAAABBBCCCBB}|{}wxxxwvvsrrqpmmmmlnnnopqolllnoppqnnmnnpqrrwyz{~‚}~€~~~}}||}}}|yxqknhpvw~|{vrwqw|ƒ‚‚ƒ‚………‚†‡ˆ…‡ƒ‚uj]_dn{¡Ä”’‚m`]_gnpsuy†š®¤¢œš¢¦§Íº§™’—žÂݾ‡qifRNKOSUXami`UUwÇÒÐË»½¡}ZCDHEAN_nЇ}‡‘‰Ììþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüú÷ùúüÿüöˍ€}Ž›Ãîÿÿÿÿÿþüúøùúýÿÿÿþþþÿÿÿþýûùüýíàìøüÿÿÿÿÿÿÿÿÿÿÿÿÿùè’m»Ùð÷íºb`s³ïÿÿÿÿÿÿÿÿþýüòåĪ™€Q5'&&$$$##"##$%)-/0($##,:Odcqk`=8K^bqnoL2'%%)6VMI@72,)&&%%%%%&%&'&&'('''((''(&&&&%&%%&&*/*%$##$+3:9;@0&-=1***-1/-' #/:>:;>8'7W^`aba__[WPRQYa`aa``_a^``aac__^]\]^cddcfdgcededcbdfffdcgddeededfdfgiihgigghjjkjjihgiefefegfghiihfjijikjjkjikklllmmmnllljhgbZRMGC@?==<<=?>>???>?>>???>@A?>??A>@@BAABBBDDDCBCBAA@@???@@@AAAACCBBB‚}~|||}~xwrppqpporpoprnoopomkknqoqprnmnpqswz|†„‚ƒ„‚ƒ‚~„}|{{{{{zxtmgnw{~z{vqmjqvy€ˆƒƒ€‚†„„ƒˆˆ‰‰Š„„|ye][`t—“‘•»‘zpcc`bmlnsy‚£ª¢–•š¤¾Ê¯¢˜“—·ÏÝ™‹‰‰[OMS`klmt|k[Vy¼ÝÕËÄæ“‚iVURKJP^n|‡ˆˆ‘“Ž»ëýþþÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿþýúøùúüþùñË’††Žœ«Ö÷ûÿÿÿýûúùùúüÿÿÿýüüüþÿÿþýüýúáÉÖéñ÷ûÿÿÿÿÿÿÿÿÿÿÿüñ·wŠºÑïè¤aQn’ìúöò÷ýþÿþýüûñäĬ—‚N4&&%$$%#$###%,5DM<,$#%0Ide^inQ96>HOitnT2($%(.584,)(&$%&%'%%%%%'&&&''''''''(('&&&&'%%&).10+(%#(0:AEKC6'/88($##"!".7==<=</>X]ada___TMNVZbafa`_baa`ecdce^\]]]cchefcfffffggcdddeeeidgejhlefelddehhggkjojnklllgggiiifgfhgjikjjfkjkinkkkliolmlklmloopmjjlig^ZRHC@>>=>??>>>>>>>>??>>>B@?>A@B@C?BBAAABBBCBAABAB@B???@@@ABAABBBDB}|||}}~||wrqppoqppoqqqsqnopplkknooooopopqsv{ƒƒ‚‚‚€€€€€}~}{{|zytoqorzy|wusnols{|‚‚€€†‚ƒƒˆ‡‰‡ˆ„…~{ne[\[|¨†~´˜—–rbadhkmqtx† ¡¢Ÿ›–’¸··¯¥“¡¯¯§±ÁœgTNXpv~uxz|fYr°ÊàÑËĪ—•wZcfTX]py|xˆ“‘’²éüýþþþþÿÿÿÿþÿÿÿÿÿÿÿÿþýûùùùûýöíʤ‰‰—ž­Åî÷ÿÿÿüùúúùùüÿÿÿüúúùüÿÿÿÿÿýúÞ̸ÀÑë÷ÿÿÿÿÿÿÿÿÿÿÿÿúä¥n‡¢àܬifyŽÜòéâíøýÿþýûùðãÄ«–€K2&%%%%%#$$$%+6JbWI/%%'8\deeiXD86=BQ`jmJ0'$%%),+)('&%%%%%%%%%%&&%&&'&'(()('())())'&&&*-:F81.*+,9AEPFC0&+8-%!'3;;==9+BZ^c`_^]SJPU[_`a`^^]]^badbba_\\^^^abccfbfdccddddddeeecccedigfeeddcdcighgjiihhiihgeeeffhggffgihkjjgihjjmkjjkijjkkkkjjiiklkkjigda`VMGA@>>?>>>@>>>>??@>>?@?>>>????@??@@AAAACAAAB@??????AA@@ABAAAABA€}|€{xusqsqqruqrrrssrpnnopnrsspoppqtwyzƒ„„„‚†„‰€€ƒ€€ƒƒ‰}~}}|yworz|}zxwtsnqv|€~„‚ƒ‚…ƒ‚†„†…ˆˆ‰‰Œ„†~xrcZY`ily¯£¡–tjjdakmptx„Œ¶¨œ“›£¬¾·°•Ÿ­ªÆÅÀ†_V\q€|yz|~pfl¦¿ÏÒÔÙ³‘‚ms‹„h[[lkvxˆ”•“­èüýþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿþþüùúúüýõìÕ²š“¤ºººÈìöÿÿÿýúúúúúüþþÿýúùùüÿÿÿÿÿþýöèÆªÂæöÿýûýÿüúýÿÿÿÿÿõ⯎²Ê½ºn†˜çëÅ£ÉëöþþýûùðãÁ«”|G1'&%%%%%&*-+/@bgjF1%%)?dpliYJ>:AYWYemW=,&%%$%&&&&&&%%%%%%$&%&&(&&&%&&((((((*+/3.)''*.9IC=>@-+1KJIFE6)$#$$!!-:=?>7-I^da^^^RKNZ]caf``^^]_`bbgbc_^[\_aafcdcedgdccedeeefjfededghihfggbacghiikilihghhifgeeglfigjjkjoijiijkjonnmmlnkmkojkijjkijlmlkijkkgh[QHB?>>>>@???????@@A@B>====?>A@A??@CCD@CCDBB@??@>??AAA@AAAADBBB~}}|}{vurrrrrtttqrrrprqqqnnooooppqqrtx{~€‚‚‚‚‚€€€€€~€€€|~~|{wwwwwvvvwvvvvx{||€‚€€‚…„„…††ˆˆŒ…„€}voe[\\cs¥«¥¥™„„¡magnqrvxŽ¢·©›‘Œ’𮯵©£™™›ÉÝÆ®ˆeelooqru€vjk›´Îý¾»¥„qt–‹o`gpuv‰”–“©èüýýýþþþÿÿÿÿÿÿÿÿÿÿÿþÿÿüúûûüýóéÛÅ ž±¶»ÂÊêõÿÿÿýúúúûûüüþÿýúùøûÿÿÿÿÿÿÿýøèǺçôþúöûÿúôúÿÿÿÿÿþøëãß˦º~m¬Ãç覓¥Åïüýþüúð㿨’vF2))(%$')/5649HfugC/%&+AjptePF?ADRllnXE4'%%%$%&%%%%&%%$%&$$%&%%%&&&&''''(((-57;93+'-4<JJDA?7/*667660+%!"!  '7=??51N`^^\ZRKQV[]]^]\]^^]_abbbb_\[Z]_``cbccdcgccbcaeceffgfbdehhikfbbbddefijjjlhgfffheffgjhfihihiikijjkkkjlkmgiinkmijhkjjjiijmnjiiiihhgc\TMEB>???????>>>???>>=>@>===??@@????@@ABBAAA@@?=>>??A@BAA@AAAC~~}yxyxvtw||{zyyyqrtuuutwpmmposqqqqvx{€†‚ƒ‚‚ƒ„„ƒ†……‚„€‚€‚}~wvvvuy{~}}{{}|†ƒ…~ƒ†ƒ†„Ї‰†‰‰Ž„ƒ‚ƒ}xuf\W[l˜¢º°º¢™œ}hcdqputvƒ”©µ¡•Œƒ ®»¼¼©œ›ÐÏÏɽ“|refcelz‡okƒ¥Ÿž­Ñ²©‡zwŒ•‰nabqr‹”—“¥æûüýþþÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿýûüýýþóéåç§¡¸âɲÑçóÿÿÿýûûüüüüüþÿýûùøúüþÿÿÿÿÿþýöïñóöùöôôôðíóùüÿÿÿÿþùõïÓ¨³uj•Þìé¶ˆŠ›æùûþüúðâ¾§’oH40/'#%,4:EVB;Kjvg@-$$+CjxuaRGIOOQZbSC5*%$%%%%%%%%&$$%$$$$$%%%%%%&&&)+)''),18<CE7-,3?JKKHF:1*(.5.*(&%!!"    !5>A;35T^_]XPLP[]^^]\[[]]]^ccccb_\[\]a__`dbbbebhcccffedefggfchfkhhhffghhgjimmmmmhffeehfihhgffhhljlinmqmqkkjmkmikjnklillljiihijnokmllllllhkb\OFA@@??@@A@@@@@B??>B@@?>>??C@???@@ABBBAA@@@>?@@??AABBBAABAA{zzxyzzy{||yxxwuursutttrqlmlnopnsuy€~€‚€ƒ€€ƒƒ†ƒ‚€€}~~~{zwvvvuy|}~~||{}|‚„€€ƒ„ƒ„………††ˆ…†ƒ‚‚‚€~zth\[^x¥°¼¼½¾‘kbbjsttvx†™ž¦ š†‡—¨¾ÂĨ™ §µÞÍ̧€g[]_afproox…’§œ—“‰Œy}Šš€l\fj}••“¡åúüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿýûýÿþþóèé쨟Áéäá×ßñÿÿÿþüüýýüüüýÿþüúøùùüÿÿÿÿÿÿÿþýüû÷óòñíÖ¸Ýíóùÿÿÿÿÿÿÿöå’xir…ãïëÍ¥~Ñöùýüúðã¼£‘qL=50)'(7JLPPPDLjvf?-$&+AjutfY\cF8<C?;2)'$$&%%%%%&%%%%$$$$$$$$$%%%&&,31.+).06<CNG;0.;JJOKH;1+&&&&%%%$#! "   """ +=?62:V\[[WNRV[^]Z^[[[\\^_a`^]]ZZZ\^a````ab```bbceedddeedbcbgggggggfhhhhjjjjjihgfdedededefgghfhhhijklkjjjjjjjhigijlhiijjhghijnljjihffggffg`]SIFBBA@@@@??@@A@>>???A>?>??@???BAA@@AA@@AB@?@@??@@AAAABBB@|zzzz{}~}|€zyvuuvvvv{uuonllmnruw}€‚€ƒƒƒ„‚‚‡‡‡„ƒ€€}}~‚„~{yyxwuvxz€…„€‚ƒ…†‡‚„„‰„„„„…†‡ˆ„†‚…†‡„„„„~zf\Za{Œ©Ê²¡ª…ghderqww{…Ž¡¹šˆˆˆ‹˜²ÑƲ¢—”™·Õ×Öšq`X[[]gxiddi¤ˆnryuxƒ•¤•x]]`s’Ô÷ûþþÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿþýþÿÿþòæèꙌÂîíìâÛîûýÿþþþþþþýýþÿÿþûùùùüÿÿÿÿÿÿÿÿþþýùöòîìηÏìöúÿÿÿÿÿÿÿúé¨cNFwàæèÏН—çúûýûúï亡ŽsN@;90+2CSYSeL@Ikvf@-&'/=[utrfhM:0,--)&$$$$&%$%&&%%&&%$$$$$#$$$$%%&*1;<50259=AILT>3/JIJ@830+&$$$##$##"! !   #(,.1/+%%;?21?Y\\ZWXZ[^\\Y^[^]accbe`^\[Z\[\`cceabaa`caddeefddeecbccdggfgighhllljlkljjhgfeehegefceglhieighhijokkimmmiiiihijlhlinighmjjkmhiijdd_\_aggdbVLGCA@@CA@@?@A@>?A???>>>???A>?@@@?@A@@@BBA@@@@@@@D@@ADCEA}|}~~~~{|zzxvuxzvusrplllqrux{€€€€‚€€€‚‚‚‚‚~}|}}~€|xwuvuyy{}}|~€€€}€ƒƒ„……ƒ„„ƒƒ„ƒ~€€„…‡…‡‰ˆƒ}si^__w¥¯±«²´œpfcaipvyy|‡™›œ—³–‚‹³È¾²¢’—©Áƹ—ogkaYi}ubchv”«e_fkiex‘›¥†dZQk”›Ïôúÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñäæãˆ‰Åóõöêßë÷ûÿÿÿÿÿÿÿþþÿÿÿÿýúúùüÿÿÿÿÿÿÿÿÿÿÿüùòêëिèöûÿÿÿÿÿÿÿýöÓ€EPpÚØÕÏ˺ÈðþýýûùïḞ‹jNBA>766Ee\RMHAEgvhC3+37?PashhN9.&'(&$$$$$%&%$%&&$%$$$$$$%$$%%%%'(,1<KB>@BFJJIGEB?//4952.+)&%$$%$#%!!!!   "',/26===6.$ 90)2G[]][ZY[\[ZZY^[]]`aa`_]\[[[]]_aabb`b```a`dcddddddbacceffggfihijjikikmljiggffegcfegefhhfgfffhhiihgggiihhhffegjihhhighihhhgfedca\^[_behgeccYQLECAB?@A@@@@@@@?>>>>>>?>?>?>@B?@@@@@@@@?@@@@@@@@@@BBBA€…†‡ƒ†€~|}{zw|xurqonprv{~€‚ƒ„ˆƒ‚‚‚ƒ‡ƒƒ€€ƒƒƒ|wss}{{ƒ}{zxwutuy||}}~€‚€‚ƒ„ƒƒ„‡„…‚‚‚†‚‚|{~}}€„‡‹‹‘‘‘‹Š|j`\b–œµÈ¤vlkdfuswy~ˆ““–§¢‹ŽµÐÀ¸œˆ¤Æ»Ê”uogju{vdfs«zb^]\\]m‰™ž tYO^…ž™™¾ìõþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýðâæß•vÈóòñæÎâóùþÿÿÿÿýûôíîðõúúúúúüþÿÿÿÿÿÿÿÿÿÿþüøôòéÀ´Îéôüùöûÿÿÿþýä±€cœáÙÆÌßëïöþýýûùîÜ´›ˆdMDEI>99GZaOI?:BcmiM:;DDCEMRWG6*"$(&$$$$%%%%%%%%%$%$$$$$#$$%&'(*,/4?NHEGHJRIFFG?>3,+-,*(&&%%$$$$$#$!!!! +6;=@@@IDD9.!))%4O^`a\[Z][ZZ[Z^^aagac_^\]]]`baeaaababafbcbecbdccidbdfdihhgijiimkjimijknhhhighfhdfglfiggfhhlhjilhffjikhigkghffijjihihjfggfefd_]]^ceghnmlljiiaYOIDB@@@A@@@A@AAA?@>>>C?@???BA?@A@A@BAC?@@@@A@A@@@BACAƒ„„„…‚‚}}|||wtuvspqqsuz~€‚ƒƒ…ƒƒ‚‚ƒ‚‚|}}~}‚~|yuvmt{zyyyyxy{xwy|~}}}~€‚ƒ‚‚‚€‚ƒƒƒ‚€€€}~€~{€…‰ŠŒŽ‘Š…€vlaacs¢º¸·Ÿ–‚sjdjpvyz}„†’¬«—ŒŠž²Æ¾«ŒŠˆš¹»¿soonoi`o~„Š‚zpib\[Zhz£ƒ`DXw˜˜š§æñþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüîàæä­µÌôðìâÉÚïöýþÿÿÿû÷èÙÉÞêõøûûûüýþÿÿÿÿÿÿÿÿÿÿÿÿþùñѺ²Çê÷òíöÿÿÿÿÿùßÈÌÚìçÐÊßòûüþýýûøí×°›„cJCHCA;:CYSG@78=`sk[RLWgE7551,'!#%&$#$#$%%$%%%%&$$$%&%%&&),,,37:>BLJFHNJJHGB>83/)('('''&%%%$$$"""!!!   46===?ADFD?6.%"#$7V]`^\ZWWWYZZ[^_````_]^[\]`bbbe```a`aaccccdbcfdcdefhfdhfhhhkjijjjiiiihhggfgeddddfikefggfghkgkjlhgghghgidjggggggffggfecdcbb]Y]\afgghhnlkiklkjc\SIFBA@?????>@@@A?=>>???@>>??????@@@@@?@?@@@@@AA@AAA@‹ŒŒ„†‚‚ƒƒƒ{xwutrrsw{ƒƒ„ƒ‰‡†‡Š…‡„„‚„€€|}|||||zvsuuwzywxxx{zyz{zz|€‚~€‚…„ƒ‚„ˆ„††‡‚€…††~‚†ŒŒŽ‘‰‰€{kb[_~§¦»¹º©ž”|pffstxz|ˆ£Á˜‘†¸Õ¿¸œ‰‚•¯±¢vtpifab„‡…€~}wm`]Z_m‡˜¨‘hAIi“™Ÿ¡ãïþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúàÎ×Þµ¾ÞöðêáÆÖîöþÿÿÿÿöêÀ“”œ¿æìò÷ýþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúæÈ»«áëßÙôÿÿÿÿÿüùôïóøïßæêóüýþýýúøíÓ°›‡bIA=;=;;?JOE=639\r{nfjmZJ/%! !#$&%$%##%%%%%%%&%%$%&'*.19869?BMMKMMMNKH?;5.-,*('(''&%&'%$%$$%"""!!!!! +8=A@AACDE@@:6+$ !$:X]^]ZXXXX[\``dcb`_^^^^]cbhdfcda````abddedibddfffhmjkihhmhhijiiijkkhggifdfgdcdffgikfiijiijkglllikijghfiijiihhgggggkeddeda\X[acjijkkkpmmkonppohcTJDB@????@???@@>????@????@???@?C@@@@@B@?@B@ABBAAAA@І‡„…~}{{yysvuxz}ƒ„…†††…ˆ‹‡†‡……ƒƒƒƒ~}}}||{zywuvyzzwvwxxy{|{|}||€}€ƒ€ƒƒ‚ƒ„‚‚€‚€~~‚‚…„„„†ˆˆ‰ŒŒŒŒŠ…wl`_av…­¿¾¿Â”ngcktxyzz“•’¤…“¦·Â¹´˜|xˆ­™yr}labd€ˆ‹Ž‡ƒ‚zjgigg|›¦xEIZ‹››×îþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûôƼÁ¹´Æí÷ðèÚÇÒíöÿÿÿÿÿðÇ–ƒ{’®ÅÜôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøäÓËÐʼ×ñþÿÿÿÿÿÿÿÿÿÿöíêëôüýþýýú÷ìаœ‰aI=47=<;>DDD;556UptzceTJ8($!#&(%"%&&&%%$%%%%%%%%%$$).389;DMLJJIKPQSA8894/,*)''''''&%%%%%%%%###"!!           !+48;<=ACE@??;9,  $&=ZZ\\XXWXY[]abaa_]\]][]_abdddccaaba`bcebccdbddfdghhfghgfffghkiihihgfedeffhecddfgghkfhiihikhgijiihfgfeeefhhhfghedeec`_^]Za[_bfhijlnlkmlmlnnooolgbWMHBA@???>???????@??????????@@@@@?@@BAAAAAAB@@@@@AŠŠŠ„…€~{z|yyy{„…†‰ŽŒ‹ŒŠˆ‡‰‡‰ƒ„„ƒ€}}~}€xywvv{trqruwy~{{~}}}€€ƒƒ„‚†‚‚……„ƒ€€‚‚ƒ„†Š‰Š‹ŠŽŒ’“””–‘Šˆ€yja\avŠ Ä¼Ãµ°…omfiwuywx†‹‘¡š‹Š—¦­¹³«„yroƒ‹spuvkfm€ƒ…Š‘†‚ˆ‡qqrspz‹ž£ˆTBO‚š¤žËíþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøìº¬±¬£¨ÐïîíàÏÞïöýþÿüøÜ¯‰{‰œŸ£³ÁÞöúÿÿÿÿÿÿÿÿÿÿÿþýýþþÿûøëÞÑ··Ýëôøýþÿÿÿÿÿÿÿúôôóøýþþýýú÷ëͯž‰`H;56==>>@B>:5/2OduiaN?6+'$%(/82+)((*.1*%$%&&&&&&%%'.:CFJFUKMIDGJD?93/-+)('&&&&&%%%$$$$$$$$$"#""       !"##"$"##*05::?BFBEDC95#"!')BYZ[[ZZZ\\^_caa_^\[\````bbfdjeeabaabfdecbbcbddfdkhgghhjfefhhlhfgjhfdbcffggfffdgghglhhikhhhhfjkkhffgfeefghghgkgdceca__\Z[_bghjmrmpoqpqnoororpronjh[OGB@???@??A@??>????????>>>@@A@B@@@DBBAAAB@@@@@BA……ƒ€€|z{|~€…ŽŽŽŒŒ‹Ž‹‰‰ˆˆŒˆ†…ƒƒ‚„€}{{yxwruvvvqnmmsxz{}~€~~~}}~€‚„€€€‚ƒƒ‚‚‚‚€ƒ„†‡‡‡‰Š‹‰Œ‹‘ŽŽ‹Š…wmc`^p‡£·®®·€kffmvxxvvx|‹´¢’“ ²­ˆ|uoigqvx{ooy‚†ƒ‚€€…uxІ~†‰“¢‘ePFn™žžÈìþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõ琛ͷ‡ˆ£ÏíòêâéðöûýÿøéËŸƒŒ¸Ïµ£«Èæöÿÿÿÿÿÿÿÿÿÿÿýúûüþÿÿÿüöé;ÀÊÛòúýÿÿÿÿÿÿÿýüûûýþþþþýùöëÈ®Ÿ‡^F;77<?C>?<974--A^VQD60(((.39A><73326>:/)&(*-001,&'*9OMMCBBACF9433/,*''&&%%%%%%$$$$#######"!!         !####%$####""!"#(,-.4<;:993.)"##',HYXYZZZ[[\_````]\\]]^]_```baaba`babcdccccccbdcdeghgggggeefhhgedcbafbcdfgfffeedgfgfffijjggefffggeeeefeefggghffccbba\X`\^`dhijkmomoopoooonpmroppomjg]TLDA>????@@@@@@??@@?=?>>??>?>?@A@AABAA@A?@@@@@@‡‚€€€€~|‚†‘’““‘‘Œˆ‹‡††‡„ƒ‚‚„~|{wuvuswsrmknorx{~~~ƒ‚…~„€‚„‚€€€€‚‡…ˆ„ƒƒƒƒŠŠŠŠ‡ˆŠ‹‹‹Ž‘ŽŽŽ•ŠŠ‚}nbZ^u…›¢³¾§°ymojjurtssu}™°­ª—ŒŒ‘ °‰‰†smos{{qoxƒ†…‚}ƒ}€¡‘—’‘šœyWGa—ª ÆìþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÓ|€§ÂŠk}©ÓìêéìðñóùÿòÞ»œš¶ÞÓͯŸ´ÛëúýÿÿÿÿÿÿÿÿÿüùùúüÿÿÿýüöðÚ½ÆÄëóôôúÿÿþÿÿþýýýþÿÿþþýùõêÆ­Ÿˆ]F=88;C@><8860*(09<8.*%$&+8?NLKHC@<=?BM7.-/7@A@?2'(2EJKA9<@620,*))'&$%$$$%$%$$$$##%######!   !!""%$$$$$$$$$$###"!"%&'*/220,(&""#$'0MXXZ__``ecc`aa`]`\]^a^gbdcc`ba``cafdedgccccdhcfdffgggggcdfmhfcb`^`ebdfkhifgfifgfggggjjogmegffghdegjefefgjglfea``a]XZ_`fgijoknnrmooqpuopooprprtwrqmmcYMEA@????@A@?@??A@??@?@?A????@CAAACABBB@@??@@@~€€€~€€ƒ†‹‘““‘“‘ŒŒˆ†‚ƒƒ‚‚ƒ~~}{|vwysqonriotuwy|}~~}~~€€€ƒ€€€€‚€~€€‚ƒƒ„…„„„…†‡ŠŠŒˆˆŒŠŠ‹‹ŒŠŒŒŽŽŽŽ‹‡‚|na_^p’£¹¾¯«„w‹vgkuvsrsy…˜¥«ž‹Œ‰°—~}€„ˆ…‡xhksƒƒtuy€~ƒ’›••“”–iC[’¬ŸÎìýþÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿþí©ioŒ˜fW·åëïïïãæõÿìIJ±±¯Èȱ¶Ãª™±åõúÿÿÿÿÿÿÿÿþú÷÷øûÿÿÿÿÿÿþõÛÊÉÝê×Ýôÿÿþÿÿÿÿÿÿÿÿÿþþýøó鯬Ÿˆ^F>8559>:82.+)$ %)))'$#!'.8ELTQQMIHHECB==<?KPUST4)/9FE=41.,*(''&&&%%$%$$$$$###"""#"""""!!!   !""$##$$$$%&%%$$$$$%%$$$%$%%&'&%%$$#$$)5OWYZ``aaa`a``^^\\]_`a^^^____`baacafcdddcccddccddgfhhheb_effgfa]X_bbcfghggfggggffhgijigohgehbcdgcehiegfggjgfbaa^\_[]^acgjjkkkllllomnnnnpopqqqstvrqnnic[RHD@@>??AA@>????>>???>?>??@@AAAAAAAAA@?>>@?A€…‚‚ƒ†‰—‘‘‘•”˜‘‘‘‹‹Œ‡„‚€€ƒ}|||z}}|tqkhoqu{y~z{|€~€}~}}~€€€‚‚‚€€€ƒ„…ƒƒƒ„…Š……†ˆ‹‹Œˆˆ‰‹‹ŒŒŒŒ‘ŒŒ‘Ž‘‘‘„|lbZ^}¢¤Â¾ÄŠt‹‰ogiuqrsqw~¢³½‰†…†”±¶™‘’‘‰…jbn~„„jkq…’£™›˜”“¡™†VV„¯ ×îýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýê\Yrc^j¦ÔçïêææÜðÿí·Êá˵¿Î¨§ÆÇª›Äèóÿÿÿÿÿÿþþýú÷÷÷ûþÿÿÿÿÿÿúöçÞæéÌÉíöøûýÿÿÿÿÿÿÿÿþþýøóèÆ«ž†^G?910036/+&" !$##$%*29AKOUWVUTKMEBDEGKM]PME635@G90,(&&%%$$$$%##$$$$##"""!!!"!!!!!!        !!"$#%%%%%%%%&&$%&%%$%%$$$%%##""""##$$%%$+:QZ\\aceefcd`_``]_`cbb`a^^_a``bcccbfffeeefffccccehhjjjdaaggghi_Z\`deejiihhghhjgfehimjigohffhbbbfdegiffgihjfe`^][\_adceglkoopkjkqpppppqpoprqwtttwsuqsonhfUJB@?B?ABA?>?@@A>A??@@??@CABAAABAAB@@?>>>?@€…†ˆŒŽ‘‘ŽŠŠ‰‰†ƒ~‚€~}}~€|{{zxurokrjqzz{z{{z{||{{{|yyz|}}}~}€ƒ…„ƒ‚‚‰…†††‡Š‡ˆ‡ˆ†‹…††††ˆ‰‹‹‹‹‘‘ŽŽˆ€xnaabn~™ÃމŒˆqhflpturrv}“¹¹²˜†ƒ²¯«£˜˜›žž‡qihrunadi„ŠŽ’˜¡˜Œ’Ÿ‰hpw”¡æðýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý÷ãwRT\oxsoŠ ÊãîåÄœ¹ëÿîÞæêÛ±´¼¨¼áÜ»«ªÈìÿÿÿÿÿþýýüùö÷÷úýþÿÿÿÿÿÿÿûöòì¸Èâêò÷ûÿÿÿÿÿÿÿÿþþþøóèŪ…]H?90'(*('$$)**+,379<BIRbYZSMLEHLLLMLGA=:1-7L9.*'&%%$$#$&$$##$$$###!!          !!"###%%#%%$$%'%%%%$$%&%$$%%&%%%$$$$$$$$&$%%$-AU\\]beffeba```__`````__^^_a``bbbcbcdeeeafffbbcdehhijhdccgihif\`dcddegfjggfihjggdgimkigojgfdbbbgfedihggigfcc[YW\^abcdgjjklkkhjillljmmmlnrqrrstsrqrprrnkhaVJFAC?@@@@AA@@A>@@@@@?@@@@A?@@BAAA@@?>>??@‡ŠŽ‘‘“‘‘•ŽŽŽ‹‹‹‰‡„‚‚ƒ€~}~|}xwsnmemsy~„~||y{{}||{{xwy{}€~€‚‚‚‚€„†…†ƒ‚ƒ…‚‰…†‡‡†‰ŠŠ‡‰†…‡„„†Š‰‹Š“•–’–Žˆ„€pf_cv—•œy”ªŽwpllqprqotƒ Á³¤–†„£Çº½›œ¬¼Ÿ‹wknunc^cj|††“”—ž‹‹”¢}gnšžáòýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúï¯dQN[h…”¡¿ÅËäéÔ¾“¢èýòâèë˪ªÄ¥ÆÖäÓÄ¿Þ÷ûÿÿÿþüüüù÷÷÷ùüýÿÿÿÿÿÿÿýûøôéÕÍÅßòùÿÿÿÿÿÿÿÿÿþþøóèé~[G=7.&!!"$" +2877:>;78;AHOTVQMVFVGEED@<5/,)+=8-($$%%$$%$$$$$$$$###"!      !""#$$$$$%%%%%%%%%%%$%$$$%%$%%%&%%$%$$#$$$$&$$&$/GY^baffgedbbcfcdccceaa`___`bbabhbcccdgfdbefgggeienikiggkkliigcahijfhfhfjgfghijkljjjmmmlnkhfddcdgfefkihimgcccXVY^bgghfmlqlmklijkoookmnrmmorrrrspoqrsrqqnojhYLEBA@@@@@AB@A@C@?@@@A@?@@?BAAAAAA@??A@?@”’’’’’’’‘’“’‰‰ˆ†„†ƒ††…ƒƒƒ|{zyxsomjnosxz|~€ƒ~}||y{{|}|{{yz{||}}}{{|€~€€‚‚‚€€‚‚†…ƒ‚ƒ‚…„……„„‰‰‰‡†„„……„††ˆ‰Šˆ‹‹““•“’‘ŽŠ…~tifauŠ«¹}¦§upplqrpnny†œµ³¶›ˆ‚‘¦¸¨™¾«¢Šqmroe[`kw~†w”Ž“‡ˆ‘ke|œäóþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþøè`T]gˆ­µÌÅàÞàæ½‡åûöòðìÀ¡”—®¼ÕãçäÃÒðøÿÿÿýûûüú÷÷÷ùúýÿÿÿÿÿÿÿÿÿþüöäÈÅÏìöÿÿÿÿÿÿÿÿÿÿþøòèç›wT?:60(%"%'%!%6FEDFGEC;5<<CGSVNMIE@:751-+('&'(*,($$$$$$#$%#""""!""""""  !"#$$#%$$$&%%%$%$%%%%%%%%%%%&%$%$%%%%&%%%$$$#%&%$%%4N]`abgedccbbccddcdddccba``aaaabebcddbbbdbeedcddeefgkihhhhiiigedhiideefeffgjhkkiihjjllkjkiggfeedefgghihhgc_[ZW[^acfghflillkijijkmmljlmmmmnqqqnomopqqpoooonkgZOICB@ABABA@??@@??@@@A????@AA@@@@@???AA@™™¡˜˜“••˜’”‘‘‰†ƒ…‰ˆˆ†‰„ƒ|ywtokjgpz{ƒ„†€‚ƒ~||||}{{~}|~}|}|{{|}…„ƒ‚†€…‚………„„‚†„…„‡„Šˆ‰‡…„„…ˆˆ‰‡‰‹ˆŽ‹’“˜–™•—’‰…wnad|ž“}“Ѽ³³°kholnmpx†ž¸¶¯˜‚…Žš§›”Œ„}}rnptlY]mvzƒuy‰Ž––›ƒyspcm£æõþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôà~_cp“Á®Ä»²Äßß⬁w}Äòóóðê¾—’}ƒ¡¼ÌáÊÉÈäòÿÿÿýûûûùøøøùùûýþÿÿÿÿÿÿÿÿþûøòìïòùÿÿÿÿÿÿÿÿÿÿþøòéÀ¥™oM>9870**-,+#.HINRYYZL@@?@CGOLGFB;5/+)'&$##$$$%$#"$$$$$###"""!!!!!!  !!!"""$$##$$$$$%%%%%%%&$$%%%&%'$%%%&&%%%%%&%%%%%&&%&%%%&9Taccbgcbbbbdefefehffffcc`bbdbeciccdfaaadcfedccdeeihjijjlkkjmjjijhgehiieeejhgimigimlllqjkhggjedcffhigghhi`ZXZ\cdfeijkilhkklkllllollkonnmonqqunplrqsqqqqswsrmj^RIDBA@??@@@?CAB?@@AA??@??@BA@@@@??>?@@•–––—“””“ŽŽŒŒ‰ˆ††‡‰Š‰‡…€|wspnhotx}}~€€~€|}}z|}}}}||{~||z{{~~~~€~„…„…ƒƒƒ†………†…†‡‰‰‰ˆˆˆˆ‡‰‰‘’”–•––—–”ˆ‚wkfbtƒŒÏÑ®©¤Ÿnehqqnoq|Šµ«±†|}‚‚„…r`r†sfs€t^]tlhlrs{‚ˆ’—‡}lge{¯ëöþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð»qkw”ƹ¯š–ªÖàã˜sYo¡æïôðêÀ¢–hxˆ• ¢¡¢¡½ìÿÿÿýúúúùøøøøøùúýÿÿÿÿÿÿÿÿÿÿþú÷÷÷ûÿÿÿÿÿÿÿÿÿÿÿøñä¾£“gG8;@<86310,'):KLRXXXXTA<?PHKB>>?90,''$$#####$%#"""#%#"##"""!!!!  !  "#$$$#"%&$#$$%%%%$$%&%%%%%&&%&%%$%%%&&%%%%%%%%&%%&%%%%%&(?[bccba^aaaaeeeefchffcdccabccbcaccddeaa`aaa`abdeeeihkgjkkkkjkihghgfefffdefigghlghiiiijiihffffcedfghihfeb_ZZZ^adfffjmkgkhkhhhjklmnllknlmmmlnoonnlqptrrrtuvutpmh_TMDB?@?@@@@@@@@A?B???A@??AA@@@@????@?“•—–—–—‘ŽŽŒŠˆˆ‰ˆ‰‹Š‰‡†„~{yplkls}€†††~}}}€ƒ€€}||}~~€|}{z{~|{{}|„‡€}€€‚}€€‚ƒ‚„ƒ…„‡€‚„„…†Šˆ‹ˆŠ‰ˆŠ‡‡ˆŠŒ‘‘•”™™›œœœœ“‰‚sj_bjm„ʾ¬¸Îªvpfflgjns|‡— ¬ˆ|xxz€Švccl…tqwk`zkelgjsx‚†¦Œ€wtz‹®èòüýþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþî¨kuƒ««­‘|zÍÎÛ˜jUVàêðíéѳŸ‚pr|}‰—®–Õúýÿýüúùùøøøøøúûýÿÿÿÿÿÿÿÿÿÿÿýûûûýÿÿÿÿÿÿÿÿÿþþ÷ðâ½¢aA:>@A994522*##5FPVYVTVYLA=?EF=56882+'$$#!###$###"!!"""""#""""    !!  !""#"$#"#%#$%$$$%%%%$$$%%&&%%%&&&%%%%&%%%%%%%&&'&&&$%&%$%&%&+H]eeeb``ddgffefefchggffdddgdeeeddddedacaa_]_abgghfpjlimmljkjnilhkgghgfffffjhhhkhijkiijlihgeffdeefgljkhea\Z^`feffhinmlllikgkjijklsnpoopqmqnoonnnorptsvt{wwuxtsqpeWLEA@@B@AA@@A@A@B?@A@@??AAA@B??>?@@?“••–“ŽŽŽ‹‹Š‰ˆˆ‡†‡‰‡„ƒƒ~|{vuylsx~‚„†………€}}€~|{||~}~}}|{xyz|{|y}|}~}|}|~}‚€€€ƒ€€€€„„…†ˆ‡‡‡‡†ˆˆˆ‡Š‹Ž’’’“™™š››šœ–“†{sie_gz¥¿­Ç½´qgcflmmpu}„’¨Œyvx}rhcn„slt‚ƒwu…}ofaiqu|€…Š‹ŠŒ‹¨ÐîùûýþþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿþìždoŒ“†sliwŒ°Ç»¢yY[‡àæëéçåÑ´‘qq|mct‹|‹Çòúÿþýúøøùøøøøúûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýöîß¼¢Ž]A7<A=964340+#!+BTQaUPMJKD?9<>>72175.(&$$""#"""#""""!"!""""""!!    !!  !!"###$##$$$$#$&%$%&&&%%%%%%&&&&%%%&&%&&&$$%%%%%%%%%%&%%%%%%%%'.N_^_``abcdddddddfcdddcddeeeeecdeeeefeba_\[^`abgffgggjfliiikhjihhkfffgddceejdihihjjjjiihggjgfgeddghljiif^][addefgijmiiggggghfjjkjsnmkomnmonoonnprrqrsvuzwwvvuvurrdYPEC@A?A@AAA@@?A>A@???@@AA@@@?>?@@?““”’’’’””Žˆ…‚…ˆ‰ˆ‰ˆ†…‚}|zxqntx|‚‡††………„„…„ƒ~}}}}{{{|}€~~zywwy||}}}||~}}~~€€†‚‚„€€ƒƒ‡„„…ŠŒ†………†‡ˆŠŒŽ”••–™™›œœœ›œ˜™”ˆ†vn`ap‹ž¬··¹¤ˆvpffhfnrw|†”€ywwxwsnqtsqot~…~Ž—zi^gqux}„Œ”—’ »Úîñôùþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþí™`kx~ypbZeo|¥Å¶¢Š`a‚ÕÖáæëêèÓ´Œrka^arwpo¤äôÿÿþûøøùùøùùúûüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýõìÚº¢]A6:::97544/*#!%0XVRQMIDDF@=;;>?82361*%$$$##"""!""!!!!!!!!!       !!!""#"$$$$$$&%&$$$$$$%&%%&'&&%%%&&&&%%%%%&'''&&$$%%%%%'%%%%%&%%%%%%%'2S_a___adhhhhieecfcedecdehgfefdgedeifeb`ZV[dcedgfjgjjjkljjjlhkkkijehghgfeigjjkjnmmjqkigfefhhfghgfmkmjjggaabhfggghkjmjihhhhihijkmnunnmpnpmsqrrqptturst{zzwywywtturqh`OFBA@@ABAAAB@AAA??>?@AA@??@????@?“Ž‘‘‘“”•ŽŠ‚ƒƒƒƒ‚€€{wurwnv|€„„……„………„ƒ‚€}}z}|z{{{zyyzxxvxz||{z{|}~~}~|}~€}€‚„‚„ƒ…………†‡ˆ……†ˆ‰Š‹ŒŽ‘“”••—–—•˜˜œ››™˜—•‰€vjeaqƒ˜º¹À­’‡rjfegnptw‡„ywxuvytsturu~‹v}’™‡o]kwtr}„‘Œ‘Ÿ™’˜³ÈÉÍàõþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþíž[[edc]SXgcb¢Â±Ÿc`z¥µ¿ãîîìêÓ¦zf^X`ffdgzµîÿÿÿüøùùùùùùúúûüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýôêÖº¢—^@5;:;98774/)%"%37<>AA@=79><<<>@=885-'"#$$##"""""!           !!"###%%%$$$&%%$$$$$$$$$$$$%%&%%%%%%%&%&%%%%%&&&&%$$%%%%%%%%%&&%%%$%%&&&&)6S____aceghfdgcfccadedddefgecdcddddffdaYQX``accgffghhhhhiiihfimjggeedeeefffeekjmjjjkgffeefdfeghgghhhhhffbdfggghhihikkjihilojjlmnqpnnnpnnntqrsrqtttstuxxxwwvzxvuusqle]SIDAABAAA@A@@@@@@@??@@A>?@?@A@@?“’“–”–“ƒ‡‚‚~~€}|{wtqtw|ˆŠŒŒŒ‡……†…†ƒƒ‚€}||}€}}z|{yyzyzz{{{}{zz{|}~}€~~~€€€‚ƒ……Š„„ƒ†‡††……‰†…ˆ’“””•’“•”˜•——˜˜™š›Ÿ  ŸŸ—‘‹…vi_bs~š°¸Á©´{rgejituy~~|zxwttxxwvrpwˆ‹}t{•›umqolm~‰“‘“—–•ž­¹ÀÊÎïüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿï¦YOSUSOOVfX[ŸÂ¯’e`p’ŒÅîëèæá­e\]dgl_[l”éúüþûùùùùùùùúúûûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýüóêØº£^@5::;;:::2.(("#&)+.9<;6127;==>B?=74*$""####!      ! ! !""#$%&&%$%%%%%$%%%$$$$$$%##$%%%&'%$%&&'''&%%$%%%&&&%%%$$&%%%&%%%%%%%$$%%%%%%*:U^_adeffgfeegeebbceddehffeedhdedffgdd[SS_``bhdgeegjijgnmmhhhijihhehdddffhgiikkmjlkmgjegfhghiiihgjhjhihljiikioiikqhkkllllrnklnopprnpoporqustuvtxxysvuzy}x{xzx}xysqoogbTHB@@@AABB@A?@@@@?@C@B@@@??ABAA“ŽŽŒ‘——“’ŽŠ„‡€€}||}xxy~………ˆ‰ŠŠ‰‡‡‡‡…„ƒƒ€}}}}}|zyyyyyyxxzyzz|}~z{z{{~~~}~~~€‚€‚„†††„„„††…ƒƒ„Šˆˆ‰‘“”““••“•––•—™™™›œœ›œœ—’Š€tid_nƒ˜º³­°›’vkddhquw|{{zyussvw}xqovƒŸmu—••pnkfazŽ”’Ž™˜š¡¨±¨›¸éùüþþÿÿÿÿÿÿÿÿÿÿÿÿÿð¾ZJIIIMQ]g\ZšÃª—d\_qr~«êèãÝÖµ‹h`^egaYVVxÚòùýûúúùùúùùúúúúýÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýûóêÙ·¤Ÿ_@5:<:7662,)'$! .7<;4/1368::8754-&#""#"!!" !    !"###$%&&(&'&&%%%%%%%%$$$$$$$#$%%%%&&%%&&&&&&&%%%%%%%%%&%%%$%%%%%%%&%%%%%%%$%%%&,?Y^bdeggfgdgeeffadeeeeggdfeeddddeghhaZQRW`bbceeffggghjhjjigiijjighegacfffffijjjnjjjhdfeeehffddegfhggfggkjjiifmjkllhiilhlmqmmnmlnnnnponorquttuutxwwttuvvvv{wzyxwwtrppkfaVKFBBBAAA@@?@@@@@@@@A@@@??A@A@˜“’’’•›‘‘‰†…ˆ‡†‚‚~||~†‹Ž’ŒŽ‹ŠŠ‡ˆ‰‰„‚‚‚‚‚‚}{zzyxxxyyyyzyz|~‚{{{}}‚€€…ƒƒ€‚„†††…‰†…††††…„†ˆ‡ŒŒ’‘‘”•˜˜—”””•–•–šš››œ›¤ž  Ÿœœ–”ˆƒuj_ar|–§«ÍÊË“tpeejirvz{yxtsstvy|soq{ƒgnˆ•’ށ|ofgw‰™Ž‹©˜›žœš™¤Îï÷þþþÿÿÿÿÿÿÿÿÿÿÿÿóÕcCABELUifb[–«¥“w^QVngd äêêâÖ´˜|fdea\VRSc¨èõûûûúúúúúúúûûûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýüóéÖ´¤¢aB9<;9653.($!"08=74121221221.+(#!!!"!!         "#$$%&'''&&&&&&&'&%%%%%%$$$$$$$$%%%&&%%%%&&&(&%%%%%%&&%%%%%%%%&%&%%%%%%%'&%%&&&%%%/E]bhhghighhhfffgagekegggeieecfghhigi_TPR\bafffeghjglijikjjiojmhffidgbchjffgiijknjjhffffgfhglgfglkkgfefglkljhillmlmililhqmqmpnnnsmporonossuvvtutyw|twvwvvu|y|yyxxsuuunomjZMEBAAA@@C?@@A@AAABB@A@>@BAA@š™”ŽŽ‹ˆ‰…†…†„„‚€„ŠŠŽ‹‰ˆˆ‡‡†††…‚ƒ‚‚€}zzzyxxxxyyyzz{|~~||}~~~~€€‚ƒƒ‚‚‚„†…„……†……ƒ…†‡…†ˆ‰ŠŒ’•••””‘““•––—™—š™š›žŸŸ —”Œˆwkf`m}ªÈ¶ÌŸ„vlddgqswxyxutsrtwwvshm}x_h‚Œ‹Š‡ztlvƒ†Š‘ŸŸ“’•˜•Š›¶ÖòþþþþÿÿÿÿþÿÿÿÿÿÿöçrI@BFOZm“t]‰«›ŒuVOPjgsçëðç»°¢’qj`[ROMY…ÞðúûüûúúúúûûûüüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüóèÒ²£žcE;;9410/,&$ %2:62232/*%$$&(%$#"!"!!!!     !""#$&&&&('('''(&&&%&&%%%%%$%$$%$%$&%%&&&$$$&'''&&&&%%%%&&&%%%%%%%%%%%%%%%&&''&%%%%%%&2L_ehkieiggffcffhbeegegeddecdddefgihg\NGU_bafddehjhgkiihhgiikijfecdbcbfiifghihjknijgfefegggggghiihhffefggehijmmmmklhjiiimmnlllnnmllmqooorssrrqtqttttuuwwwvxwwuvvtqstroqsmf[NHAA@@????@@BAAA@@?@@@@BBA@¤œšŽŠŠ‰‰‹‡ˆ‡†ƒƒ„ˆ‰Š‹ŒŽ‘‹‰‡ˆ‡ˆ‰†††„…ˆ‚„‚€€~{{z||}z~|{z{|~}€…€‚ƒ„€€ƒ‚‚…ƒ†…‡……„‡‰†……ŠŠŠ‹“’’•’š•–•––—“”•˜™™™šš   ž¢Ÿ¦œœœ™–ˆzqaanxœÌ¸Ä¦Ž†|qfekkvwzwwtspquyvuicfnYax‘“œ„†wwy{ƒŽ›‘‹’‘‘†«ÇïüýþþþÿÿÿþþÿÿÿÿþùéœSDCJU\s•r©™†sMGLfks—Üãîß™­©¦ˆxbZQMLPoÀëùûýûúúûûüüüüýþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüòçβ¢šeG=;4/,-,*('#$3200133.% ""!!" !!!!! """"#$$$%(&&''''(&''''&&&&&&%&%%%&$$%&%$&&&&&&%'%'&&&%&&&&%&'(&'%&&%%%%%%%%$%%&'))(&%%%%%%'6UafgijfiggejhigiiigifgffggfgddefgihfRGLZ`bchfgehgggjijghiokpileeefeeeihhhmhihnnnijhgghfhgfhljkijjjhhenhgfgillmnnlmmmjlknnqpsomkklmnqqtqqrtrsquvvsxuvv{zyyzwyuwrrsstqquttrp^OEBAA?@?CA?AAAE@@@?ACAABB@—•‘ŒŠŠ†‡†„‚‚‚…†ˆŠŒŒ‹‹Š‰ˆˆˆˆˆˆ……†……„‚ƒ€€}}{{{|}{y}||}||}}€„€ƒ„‚‚€€„‚†„„ƒ„„‹†‰ˆ††‹‹‹ŒŒ’““‘‘’•‘“”•““””’“”š›œžž¥›Ÿ ›˜“Œ„ykc[j…¥¬³±»ÅvjbchruvwtrsoptvvtkcdjU\l‚’˜’ˆ‰†}kq{…‹‹‹Ž˜¤”†œ¼ìúüþþþÿÿÿþþþÿÿÿþýöØ€MJMS[|ÀŸu‚¨—lGFH\trŒ°ãèÔƒo¢È§•zdZROMN[šäöûþüùúûüýýüýþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüòæÊ³£šeI>:0,(()+-+*%')((-/.-%!!! ! !!"""##$$$$$$%%&&&'''(((()(()))))(&%%%%%%$%%&&%&&'&%&%&%%%&&&(&&&&&('&'%&%%%$%%%%%%&),171.)&%%%%&'<]begggffeeefefegggeiffcfbffedfffgiiXEIW]`bdefgchfhhjiighijiiihedddafgghhhhhihhiiihhhhheggiiiiigggghgfnihghkkhmjjjjiijklmmnnnnmklmnoppqqqqqqrqrrstyuuttuwwwuusqnorqsqrsrtspj]PIBA@??@B@AAAAA@@@BBBB@AA˜ŒŒˆŠ„ƒƒ„ƒ‰Š‹’Ž‹Œ‘ŒŠŠ‹Š††…„†ƒ„„ƒƒ€~}}~}}{}|}~~}„ƒƒƒ„…†€~‚‚‚„‚†…‡‡‰ŠŠˆ‹‰‰‰ŒŒ’ސ“–’’’’‘‘‘•‘‘“˜“•”•’“•œ›œœžž ž¥¤¤¡¡ ¡—“Œ†rgZ\rŒ—³·¹Áº”xqeejiortqsqoruttndefTTaŒ›•‘Š–Ž…ojpv}ŠŒ—˜ š—xz“¦çøûÿþþþÿÿþþÿÿÿÿþýüå½rQMOZ‡»ÈŽ€‘–}dNDDVwq}ºÝ¼qf˜­¨~dZYWRMSyÅñùþüûûüýþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûñåǶ§šdI=8/)&&(+030/&!&+./-&#"""   "#"#$$$%&''&&%%&'''''''(((()(*+-/.+)'%$%&%%%%&&&&&&&&%%&&'(&&&&&&&'&%&%&'&&&%%$%%%%%&'-4<@E3,&'%%&')A^ceifhghejefeheifffifffgffeeejghij`SAL[c`edofgehhjikjlkkkkjpiiegdd`hhhgmhhhihjiiihhiihdiinjjjjfefijmfnijijjjgmiiilijkonmmmmnmmnnoppwqspppurrqqrwxyvvtutwwyuwqqlmoqqqqtrwttpo`QGB@??@@@ABBBAAAAAAAB@BAŽŒ‹ˆ‡†‰‚„ƒ„„‰‹ŒŒ‹‰‰‰ŒŒ‹Š‰‰ˆ‡†††††„ƒ‚‚~~~~|z~}~~~~|~„†ƒ‚‚€‚‚‚ƒ„„‚†…††‰††‡‡ˆ‰ŠŒŒ’ސ“’’’’‘‘‘’’“—’“’’“”•–˜š›œœžž  ¢¡¡ž ˜”‡xoe_Zdr˜É½Ùº©’uibchosrqrrpqrssqiggVSVi}Œ•Š—‡pe^dm„Š’Ÿž“ƒry‰ŸÕ÷ûÿÿþþþÿÿÿÿÿÿÿÿþý÷ЁPGO^˜ØÏ˜ƒ‹‘~jVKBQwqjuŒ±¦og¢¯˜ƒzc[YZ[QKe¬éöýýýýüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýúñ䯳­“aH<7.'$'),024.+!%(+-/(%$#""""#$%%&(&'''''&&())('%''(((()*-05;:=3*(%%&%%%%&'&'''&(&%&(&&'&&'&&&&&&&&&%&&*,(&&&*-,-,)4@=<84*%%%%&'+F`ccfffffeeceefeedffgeffedfefegfhid[QCP^``cdeeedgghhjjlhjkigjifdcdc`degghfffihhggfffgfhehhjjjffeefiihgjiiijghghhiijjkkljmkllmlnpoppqvqpoopqppqsswwvtttttuutsplkkmmmmnoprrrssol^QJBA>@C?@@@@@AA@@AAA@@?“Ž‰‡„‚†ŠŠŠ…‡Š‹Š‹’’’‘“ŽŠŠŒŠ‹ˆˆ†………ƒ„€€„~€€€†ƒ‚ƒ„…†…‡„…„„…††ŠŠ‰‡‰‡Œ’‘‘’’’’’’‘•“•—’““–“•–———•–—››¡›Ÿž¢¡¦¡¢¡¡™•Š|qg[[h€ ¹µµ¸½zrefhgmnopoopsvrkieXQP]n}ŠˆrbTWe|‚…‘¢ŒxitŠÙ÷ûÿþþþþÿÿÿÿÿÿÿþþþùèŠMEMmªÚÖ¨{}¥‰qeUHLhd^u§ˆp§¤•ƒub[Y`[XIV”àóüýþþýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúð䯱«‹^F;8+%#'+-131,)#!%()*('&%&%$%''''((&')'&&&&+12,)((())((*.4;?>IE:+(%%%%&'&&&&&'&&'''&&&&'&''(&%&%&&&&&&)-0,''*/6;81/=A742-(&&%%%'.K`ddfeddheefjjifeeffkghgfejgffhfhfeWNKV_ecffhiifggkillljjiifngfcbbcbedffijjfhhhhhggghfhgghljkfgeiiiiihmjmjihkhjilllkpkmmlkonqmoprrrrvqqnvrrrvu{w|vvstvwvwtuqplnkqmmmmmnoqssrqlpaSGCAA@???A??BA?@BAA?@@‰ˆ……„‡‰‹‹Šˆ‹Ž‘ŒŒ‰ŒŽŽŽ‘ŠŒŒŽ‡‹Œ‹‰ˆˆ‡ˆ†‚…ƒƒ€€€€€€€~~„…………ƒ†‚„†††…†‡‡‰‡‘‘‘‘‘–’’’””•––––”—˜™› ›œ››œœ››˜œš–‹‡ƒ{tjc\k|‘¯µ¤²œ‘ymcbfnqqrpoprvrnjf[RMRZn‚ƒ„‡€zweNOTclrz†ƒo^l‰—Þ÷ûÿþþþÿÿÿÿÿþþþþþÿûë‘LB[~¶ÚÔɐg|•~xfNM_a`WWov…Ÿ£’†vaWQTYPGOr½ïúýÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüúðãÆ¯ªƒYA9/&%%+//11/+&"$$((''(((&')))(((('''&'''',;3/+*-013/,05;C<;GM;,(%%%&&&)'''&''&''&&&&&&&''''%&&&),*().7@4)-06?@F60BL@74+'&&&&&)2Q`bbcdccdfeiiighfefffgfcfeghffhfeaWMOQZbddffghhegghglkjjiiifeefbb`bbabdfggjeedhfgfgeffghhfhhgefdighghhhiljjihfiiklljkjjjkjklmkqproqtqoonnpqrtttuvrwuvzxwvtpkkjlkllnnllmmnlnnmklj]RKCA?@A@@@@BB@@@@@?@?‡…ƒ†ˆ‹“Ž‘ŽŽ‘’“‘Ž‹‹‹ŽŒŒ‹‹ŒŠ‰Š‡ˆ‡††…ƒƒƒ‡‚†€‚‚ƒ…‚€€‚~€€‚ƒ…‚‰‡‡…‡ƒ†††††‡‡…‹‰‰ˆŽ‘–‘•’‘–•—–——›••—š—šŸŸ¡šœœ˜–—˜š‘‡…xn][fq•»¶Ñ±½ž…vefjgrqqooqutsngaTKKPcx…ƒŽzygIDIRZ_l}zg]fzŠËõùþþÿþþþÿþþþÿþþþÿúéKHeŽÃÛÝΩmi}‡ˆ„`OZt`LKYz ¯¸€w`PLKLLFH_§ëúýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüúðâŬ¨zS=1*&&*20/01-*%#! !"#%&())))**))))(('(('''('''.79/--38??;23<IC98FM>+(&%&&&&'('''''&&*''&&&&&'&'&%%&'+13,,6HE=/28=?JI;1IKIB:+'&'&&&*6WagcddhdddeghgggffffgfeegedfffhedYOMS[ccdeiiiikghhjgmkjijiiihdfbeccbaacfiijffehgjgggijihmhjihgidifjjjikillojhhljnmmlniijmlllnnrprqqpoosnppsrvssuyxywyy|wuqljkjokklplllmmnlomkjlki`SHB@@@@@BAB@@@A@??A?††ˆ‹Ž“‘’ŽŽŽŽŽŽŠ‹‰Œ‹‰‹‹Šˆˆ††‡††…ƒƒ‚‚€‚‚‚€€€€€€€€€€‚„ƒ…††„‡‚‚‚‡„„„……ˆ‰‰‰ŒŽŽŽŽ‘””–”–—–“–˜˜™™™™™™••––’“”•—”’’’‘‘‹†€vh`XfŸ¼»¬¾Æ¦€mcbempoonorxxvmkYNMLXgs€†‡~tfI@?GNRVj~gWfmz´ðøþþÿþþþÿþýþÿþýþþùç‹LMm™ÎÝàÜ·|ns‚€xwf\h`LD_…­¾°—‡zv^NDDDCADN‡åúüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüùïãé¦qM8,)'+/00//-*(%%%$"#&'''()*))*++,+***))'(''())((&/6:/238<<G?7:BH@97GK<)(&&&&''&''''''&&'''('&&('&&&%&'*5D:15=DE8.6?<9>E5,8FFO<,)&&&&%,;YbaacdedeeffhegjfdfeeeeedccdffhdYNQS\bbcefiiighhhhihjjihiiidgde`eea`cceghhhfeefgggggihiijhjdgjidighiigihmkmihhlklkkeeeghjjjknoonnklmnlmmpqrrsuuuvvvvxwxtpljhhikjkkkjlklmllmmlkllkh^RKBA@@AA@@???A@??@?‰Š–‘”“’’“‘‘“—“”ŽŽŽŒŒŠŒ‹‹ˆˆ‡†‡‡ˆ‡…„ƒ‚ƒƒ}}~~‚†€ƒ„…„…‡‡‡‚‚„‡‡ˆ„…†‡ˆ‰ˆ’‘ŽŽŽŽ‘’’‘’˜——•–•”–˜š  ™ššš”–“““”“’’‘’•“˜“˜‡ƒugYZo„›¼¹ÙÂÈ™€vdfhmponnovzwrm]UUNOWas„…‡pcF<:@EHL]oifilqŸàòýþÿÿþþýüúûûüýýþ÷âMQs¢ÙßãàÚ£ro‡zz„||eNSkŸÍµ©€xu]LBAAB??EnÞ÷ûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúïã¾§ hF3,*,2471//,*((+*+*()**,+*)**,041-+*)))'''')+,+**09925<C:;JM><FI=78GJ9)'&&''&&'('''''(''(('&&%&&&'&&&)0@FE49EM@60?A;7=7/,09EJ@,*&&&'%-@\addcdgfiggfifjhfggelghdfbcceei^ROW^jeeehfliihljkklkkkkllihhidddfc`bgflkkggefefggghhkiiimhkghijfihkjjhijnlmllillmikedcijmlqpoommmllmompnrrsrrtwwwy}{xzrljkhhilihhkjmkklomnnnmqoooocUICAA@A@@@B@A???@@Š‹‘Š‰ˆ‰Š”‘“–”““‹‰ŽŒŽ’ŽŒ‹‹Œ‡ˆ†‡…†Š‡…††„…‚€€€€||z}}~|‚~{€€€€‚€‚‚„ƒ„…†‰ˆ„†‡‡ˆ‰‡ˆˆ‰‰ŽŽ‘Ž‘’’’“””‘—”•“–˜˜š›™˜——•”“•’’’“‘’“’‘’’–‘–‘Š†~tfa[dq“µÍù£–‚hacjppnlotz}um`ZXXNKT`o{s`SC;9BFIJWpnr}†~´ëýþÿÿþýüùö÷øúüýþõÇqKRt¨ÞáåäàÜ™ix’z’ŒymhÁ¸¨˜…zsi\J????<<>\ÀðúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýúïṤ™a?3-./062/--+))(**))****+**)+.4;78.+*)**)'*+05692-7D;3:FA59IL@@GH;::GI7('&&''('&''''''(('''&&&&''((((',8BM>16IJ:74=C94413444CI8*(%&&'%0G\`a_bdeeiffdeeecdcccfefba_cbfeaYXW^ccdddefggjhkjkiiiihihhgfedbddebcdffkigdfffffgghhhhhjghhgfgggefghhhgjlmjjjigmkifdacdjiklnnplkjjhkmmnplqoooqswvxy{{{wslhfgfhihgfdggiijlljklnmnopppn`SLDB@@@??@????@@?‘Žƒ€ˆ‰Ž•”—“‘’’‹‰ŽŽ“‘“‘Ž‹Œˆ‰‡Š‡†††……„„ƒƒƒ…~~||}‚‚‚‚ƒ‚ƒ€€€‚„…Іˆ…‡‰‰‰‰ˆˆˆ‰‡Š‡ˆ‰“ŽŽŒ“—”••™”––——˜–œ—˜šœ••–—“‘‘”“˜’”’’“”‘“’–••“”‘‘‰…vnZXfz£×¼³«Ò pgbkponnnszz|oc^\\OEMWdqkWK?:;BHTQUbp}—’Ž‚œëûúúûüûúóíïòô÷ùüî¸_IRt¨àâæåäÜËŒq€ƒ{~­˜–¦µ²²¢‘}rkdVH?>?><9:N›ç÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüùîÛ¶¢[>5--.0//-,+**)))))***++++*)-4>?@60,***,,+.29<B>:4AEC?AD@26IL@>IG77;IB4(''('''''''('''&''''&&&&'(,..,*/;KL:/4IH639GB51115>EA?=2)'&(&&%3N]`cbbcgfieideeeeeddcgfea``cdgfb\^`idedhdffjjkjljkiihmhiggggdccggfcdfjjlhgeihjfggiiihhhkgihgehgggfggilkkllijjifnkhcbbcfkkllonplljlkpornqpqopqttvw}zz{}vqifeeehfeeddeghhijmjkjnnnowqtnl`TICAB@A@@?@???@>“•Žƒ†ŠŽ’”•”““Ž’ŒŽ““ŽŒ‹Šˆˆ†ˆ‰ˆ‡‡††ƒ„€€€~|{z||~€€€|‚€€€€‚‚„……†‡ƒ†ˆŠ‹Š‹‰‰‰†‡†ˆ‰Š‹ŠŠŠŠ‹‹‘’••˜””•˜˜˜–™——““’’”“‘ŽŽŽ’”‘‘Ž””•“‘Š€s`[Ug|¤¶“°¶xi`kqkmnnot{}pf_aj\FIPZd\QG<=@DKVY\aqŽ™‡’àøöô÷úùõéÝàèïòööáLFPo¥áãçççãÒ¯‚ƒsqu‰¦“¹©¨—ƒqh`YPF@AEA=;9I|åóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüøí×´ †U;2,,*,+++++*())*+)**++-++**08<=842/.-295/5=;;;=73CNB9DN@2;JC9<JC4497;0(''((&'(('&'&'('''''''')+28:>6,/:II8*4JH22>>B=6424C?>74-&&%&&&&7T^`cbbcgffeddda``abbaabbaaaceefc_aceddcedeeghihmjiiiilhieffedcehifdfgjjhggdeffeffgfgghhhggfgfihhghjjiigkkifhghgjid_bdfhkllkomljkkkjonnnnnmnpqtvvv|zzzupkgfgeabbbacefhghigmiihjjlmnoomkc\TLCB?@@@?@>@>>=š“‘Ž’’“’•••”•‘“‘—‘‘Ž’ŽŽŽ‡‡‡ˆˆ‹‡‰‡‡ƒ„~}||z|€€„€€‚€‚‚‚‚ƒ‡…‹ˆ‡‡‰ŠŠ‰‰‹ŒŒ‹‹‹‹‹‰ˆˆˆˆŠŒŠŽ‘–˜™™™—œ›ž—š™˜‘‘‘’‘—‘ŒŽ““”’’Ž‘‘‘’”•›šœ‘”„{lbXZhu‘µ·µº~j^jqmmnklqw|sjefqtJGMTZXNE??BKRX_dkv…ŠŒ‘ŒˆÀôóóòñòîÒ½¿ËèîïéµgGENj¤àäèèèæãЯ“•xdgo‘™ž“‰‚xg^WPJDCDEC>=;DhÒðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿû÷ìÓ²žP70+*+****+*))))**)****++*++2?D?5455418AB5;DH>8744EOC:GOA:=ED7:A@0-131+(('''&&(''''&(((&&'((('+2==GIF20<GE5)5LF/1AMHCB@0.6;70*&%%%&&&%:Y^acbdcgeecbceaa_^`baccbbcdeflfecgefdgdfdiefgijmkjinnmgidfedcdhkgffhikhffiddegggfhfiiighgjijhjhllmlljigkiggkkklkeb`eghhknqmollknjqmoonmmnppsrwvxw{{ysqlhghgf_ccbbfffghhnmmjkillkmnmllkcd_UHCAB@??@?@>?>’‘Ž‘‘‘‘•‘“’’‘ŠŒŒŽŽŽ‹Ž‡ˆ†‰ŽŠˆ‹„ˆ…„‚~}€€‚ƒƒƒƒƒƒ„‚‚‚‚‚ƒƒ…†……†…‹‰ˆ‡Š†ˆ‡ˆ‹‹†…„„…ˆŠˆ‡ˆˆŠ‰ŠŠŽ‘“‘’•”—™—’‘‘ŽŽŽ‘‹ŽŽ‹‘Œ‘’“”””“†€wof_Wbov}¬½‹k]iqmmnkknuvvlimrrRJUWWTPKDACIQ[how‡ˆ‡ƒv|¬ïñóíçêæ¶£˜µßçäÆ[DDKh£ÞäêêêèæãÇ›…„l]^`jsttqngZVPJDB@DIE?=;AVŸìÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúöëÒ°ŸvL3.+*)*****)*,-.--,+*++,++--7HED<8;A81<LC39FFDA<:7GO@8DPF<>E9/194,++++)('''''&('''''''().211-)2=::@PH78?B?3)7ME//?FOAD6**++,*'&%%&%%$%>\_ccceacccaa``_\Z]_bbbbdefffeeedccccbfceddeggjjkkjjjjjhebfeeegjkggghihffdddccddfeeeeefffehiihhhkiliigfegghijigdb`ccgjiimpojniljjknlmklkmnprsqwtxxwurnmjhefcf`cfeefggdccgfhhiijilmmllmkbcg\RJBB@?>@>?>>>ŽŽ‘‘“–“•“˜““‘“ŒŒŽŽ‹ŽŠ‹‹ŽŒ‹ŒŒ‡ˆ„‚‚…€‚€€€‡„‹Š‰‡ˆƒ†ƒƒƒ…„Š‹Œˆˆˆ‰†‹‰ˆˆ‹ˆ‰‰Š‡‡‡††‡‰ŠŠŽ‹ŒŽ“’‘’••‘—•––—•”ŽŽŽŒ‘ŒŠ“‘’”’œ”˜’’ŒŒƒpeXVbov§¯¥o\fqmmkjjjnqpnowooWN[jVUSTIB@FO]jvˆ‰‡„~or¦íîïìêì㺔”«ÛàЧzUECIf£ÞæìíîëéåÛ£ut}dVVZ_cddc`UOIC@?@DHHA>;>L„èýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþýùõëÒ° qH0+)()))****+-1450-++,-.../1;LKB>>IF=4DKG48AMJNC=:JO>7CJO@C:2+*,,)'''''(''''''(''''((),07?A;2-8CD7:NM87CK<1)<IC2.6GID9/'%$$'&&%$#"!!!&Cacdidedfbc```a\Z\abfdcbfgjhjgidcdecdbfdfgkjjijjmmnkkhgedcfehgkllghgkhgfeegdcbcdfeeegghfeegjlhoklimmlffehfkklheb`bjimlnkonmmnkljonqnpnolpnrstqwuxvsqnnnjlhjfgcefhimihgeefgjhljmkkklkjkidddd^THC@??@>A>>>ŽŒŽŽŽ”’‘‘‘”’’ŒŽŽŽŒŒŒŒ‹‹‹‹‹ŒŒŒŒŠ†…ƒƒƒƒ‚‚‚‚…„†…‰††„…ƒ„„„„‡ˆ‰‰‡‡ˆ…‡ˆˆ‡ŠŠŠ‰Š‡‰††ˆˆˆ‰‰‹ŒŽ‹ŒŽŽ’’’’’‘“”“ŒŒŒŽŠŠˆŠŠŒŽŠŒ‘“””–‘ŽŒ‹ŽŒ”Œ†€xpe_X^hŽÃµt\crkmjihinnoqstjc\W]aXTROKB<BMWhny|||{wcm ëëêìííèѧ“¶ÙÔÆ‘lUDCG_¢áèîðñïìèÞ¬oehk[RSUWYYXVPMDA=>?BECB>;=DsäûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþýýùõëЯ mE.+))))**+**,09D;31.147:9963<OJ>@?IL=5EOD489@EKJ=<GN:/5>;;61-())(''''''(''((''(()*/3468::JFF7/;IA0:KK68FJ:2)=QD6-+061-*'&%&&%%#"! !(Ldceecdccaa__\ZX\_bcddddhhifeedbbbecdcddfgiiihjjjkkkjedaccefghihhffddddddegeeddeffeffceddehjjhkjjjiihdddggkjifb]cfiijkmjlnkikkjhnlmlmlojmnqssqwtsqokigjjjiigfcefhhkjjhhghhhhijkjkkkkkkhcfhgf\RJA@??>?>>=ŽŽ‘‘—‘’‘Ž‹‹Œ‹ŠŠŠ‘ŒŽŠˆ‡†ˆ‰†ˆƒ„ƒ…†‡Š‰‰‰‰‰……„‰††‡ˆ‡ˆ‰‰Š‡‡ˆˆˆˆˆˆŠŠŒ‹ŠˆŠ††ˆŒ‹‹‹ŽŠŠ“‘“ŽŽŽŒ‹Š‹‡‡‰ŽŽ‘•™ž–—Ž‹‹“–’‰†ƒ€skYW^r—²n\_slmkiihhjmsqpg`a[_eYUVRI?:<CN[f|Ž„v€tl©ìîïëçêêÚ¹½ÆÉÈ©„mTD@DXŠÎÞìïòðîêß´ldfjaXQOOPQTUMKA?<<>@BCB?::?fÉùüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþýùôêЯ fB-*)))**+*)*-2DHF5349<CDMD;4>OJ:9ALJ=6FOB777:BLE>=EB6,,/00.+)''''''&('&'((((&'()-17=EGH>@FPH<7EK<-9NK39JJ<2)@GG4-'')''&'''(#"!  ".Tcbdebgccbc`a\X[adheffihliiffddbddeeheefiilkmjjkllmjjecbedhiojkjkfidcceccdgddddcbcddecfcdejjkgmlpjiifddejjljieabkjmjplmllkjimlijmkomnloloptstrwtsnlhgfklokmjieeglikkmknnnnnlllnmmkolmjheknrlg_QEA?>>?>>=Ž‹’‘ŒŽŒŒŒŒŒŒŠŠ‰‰‰ˆ‰Š‡‡‡‡‡‡ˆ†„„‚„„…„†‡‡†…‚„„„„†‡‰ŠŠŠŠŠŠŠ‡‚ˆ†ˆ‰‰ˆ‰ŠŒ‰‡ˆ…‡‡Š‹‹ŠŠŠˆŠ‹Œ“ŒŽŽŽŒŒŠŒŒŒŒŽ‹‹‰‰„‡†‘‘”•”’‘Ž‰ŒŒŽŽŽŽ‹Šˆƒ{pd^Vcomh]^uonkklihikopog^`WYZYQLIF?9;?HQ`‡™—ŽŽ•š²îñóêáæêâ¿Î»³©¡ŒoSEBCSlÚêïóòðëâ¾vTXgdaUNLJIJIHC><:;;==?A=99:Z¼óûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþùóêί¡`=,*)))+**)**.5FRF6:>?CDDLL>4>OK89CMG?9HOA7<ECA>=74471+***++*))('((''')''((,-/20.6?==AMG:>?NF=:HL<.<O@07LHB3(093.*&'''''&$#! $5Wbbccbbaccb``^``dgedfghhhhiefdcaeefehffgijjijkknhehifcddeehjojjhkeecccfbcccddb`\badccbbcdfjhggijjgihgeffjiiiebeijimkmllljhjjomjjmknmlllkopqoppsuojifggkllkliigghiiiikkmmnonmnnnmmlmmljhcjpqnli]PH@@?>>??•‘Ž”’‘‘’”Ž“ŽŽŒŽŽŒ‹ŠŠ‰‹‹Œ‰ˆ†„„……ŠŠ‰ˆ‡ˆ‡††‡ˆ‹†‡ˆŒŠŽŠ‹‰ˆ‰ˆˆˆ‰ŽŒŒŒ‹‰‰‡‹†‡ˆ‰ŠŠ‹ŠŒŒ‹ŒŒ’ŽŽŽ‘ŽŽŠŠ‰Ž’Ž’‹‹ˆˆ‡‡‰’’–––”””˜’‘ŽŽŽŒŠ‹‘“‡ˆ~ypj[Y_fl^]umolklihgjnnmh^XQUeYMHFC?;:=DGPsª£¦´ ÎóóóéßàâØ»­¡ž¡¥¨wQICBNb€·ßèðððëäÇ€XOVg`ZUMIFFGB=;9:;:;;<<:988PŸìùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýøòé˯¡\8,)))*******/8IRG7=GPA>CNOB8>MK69HLI@@KJ@9BCH@<3/-,-+)(((()***)))(((('''),16=<86ADC@BPJ63?LC=?LK;5AG=/5CK@5)(**('%%&'%$"  ';Zadedccaddeabcdbjgeeiimmnghffcccffhghhhhkjkikklheekheehfkgjjojkhjeddddgdedeeib__abdeechdghkhjghhgfjghgkjjhoidcikommlokiiijkkoljjlkomrlnmsptprouqlijhjgmmnkkkklmhrkjjkltqwxxussropqvpoopnlptnrmm_QEA?>>?>‘’‘ŽŽ‹ŒŠŽ‹‹ŒŒŠŒŒ‹Œ†…†ŠŠ‹Œˆ…„‚†ˆ‰ˆ‡‡ˆˆˆ‡ˆ‰‰ˆˆ‰‰ˆˆ‰ŒŠŒŒ‹‰‰‰‰‰‰‹Š‰ŠŒ‹ˆ‡„…†‡†‡‡‰ˆŠ‰Š‰Œ‹ŒŒŒŒŽŒŽ‹Šˆ‰‰ŽŠŠ†ˆˆ‰Š’’””•—“‘‘Ž‘ŠŽŽŠ…‡‰‹Œ“Ž‡†‚}xrhaX[_Z]vmmmlkjhgikonj`RMOUVIBAA?::;=@Ib„§´¸´±ºìùöòèÝÛÑͧ””‘¯Ö½ƒYSHAL[w—¾áíîðëåЋ`NIR\`bZNIA?<:87677668:9876IŠå÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþý÷ðèɰ Z6+)))*******0;IRF7?OL=??NPA4AMH58MMLFCBE9/4;752.-+-**)(()*162/+(((++++**079<:H99CM>2@OI34DE?=ALLD;BC6(-6460)((''&%&'#!   *C]`bcbab`a`dccccceedcdeeegfedddccefhehgghjjjhiiifffgfeeffgfkjkjiggddeedccdefeb_acccdcddedgikfffgffffghhljjhjhhfijmqnkljjijkkjnjjjmkomolmmpppoqnnlifgghgghjijjkllhhhkjjkoorstuuwurrsvqpppmopsnnmke[OG@?=>>‘””“““Œ‹Š‹‹’‹ŒŠ‹‡‡‰Œ‡„„…‰Ž•Ž‹Š‰‹‹‹ŠŠ‹ŽŽŽ‹‹Œ‹‹ŒŒŒŒ‰ŠŒŠ‰ŠŒ‰‡†…‡‹‡Š‰ŒŒŽ“ŽŠŠŠ‰ˆ‡‡‡ŠŽŒŽŽŽŠ‰‰‹Œ‘Ž“•••—–’’“•Š‡„…‰ŽŠŒ‡ˆtm[W[V]ulromlnhffglok`TKMOMD>>@A<99;>CTlœÏ¸¶µ¹ÛòòñçÝ×Ç®’ŠŠ”ÃÝÒ“eZLEIXq‘©ËæêîêçÖ–kOEEV‰|n^SK?;86665543344675DzÞôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýöðèɰžU5+*))*)*****1<IRE7APJ:9?LN@5CKF48CPLLDC:2,+-.-+**)+*))((*/;AA2,()+.01/++6BH==<<>NK;/>PG04HN<6=NNKDF9/&&))))((%%%&#"!!   !!!".I_aedeac`abeeedgggehcfefdieccefgdefhghhmmlklknijhiggehfhhihljmijfgceegfhdfhkcabfefdeddefelllkmglfffjkmimlljlhhhijmoqlkjojmmpknikkmmnnsoqpppsrrlmjgfhhlhigljmlklljmkkjqjnnpqttvw{zzuvsrqvvuttpppqjk^NB@=>=•’‘’‘‘ŽŒ‹ŒŒ‹‹‹‹Œ‰‹‹‹‹Œ‰‰‰ˆˆ‰ŠŠ‰Œ„ˆ‹Œ‘‹ŒŒ‹Š‹‹ŒŒ‹‹ŒŒ‹Š‹ŠŒ‹‹ˆŒ‹‹Š‹ˆˆŒŠˆ‰‰ŠŒˆ‡‡ˆ‡‡‰‰ŒŒŒŽŽŽŒ‹†‹ˆ‰‡ˆ…†‰ŒŽ‹‹ŠŒ‹ˆŒŒŽŽŽ‹ŽŽŽ‹†‡…‡†ˆ‹ŠŠŠ‰ŠŠŠ‹Š‰„€zsg`WSWflrpomnigeejmme_TLJIC<=>><9:;>CIb޳¸´ÊÈÇéíëß¿¥žœ”ŠŽ™½ÝÕ£€sSHLUm¤¶ÓåëéçܝvVCBP{šqpmh\RH?<97542244555AlÝòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüöïèʱ“Q3+********++2?KSD7BQJ99ANL?5CPB138;A=951/++,+++*,-.0-)))/5ALD4.+159@;<3-;LE3108@MI:0BPC/5LM943>LA?7/,''((''('&%$"  !!!"#2O]aaab_a``afddeeefddbddcaabbbeffddehfhhjgijjjjjhfecgeeeghhhkjmhgddcdeeeecgje_bdeeedddffffhgggifhfffiiihliihhgikkklkiikjjjllkijijkmnnnnnnlnnnkjffchgiikfffhhhhiijijiiijjmmqqrsuuwxyvvttrsssrrppkpkkkZKE>><–“—‘’’’ŽŒ‹‹ŒŒŒ“‹ŒŒ‘ŽŽŽ‰‹‰ŽŒ‘ЉЋސ‘‘’ސŒŽŽŽ–ŒŒ‹‹Œ’‹ŒŒŒŒ‹‹‡†ˆŠŠŠ‹Š‰‡‡‡†‰ŒŒ‘‹Š‰‹‹‹ˆ‡††ˆŒŒ‹‹Š‹‘‘‘’”’™Œ‹ŠŠ‹Œ•ŽŽ‰††ˆŠ‰Š‡†‡ŠˆŠ“’“Œ‰†…ƒwr]QQ\crqponkjgeilmmd`VLJB=<><:8;<?DM]„¶¤œž¢³ßéâÃ¡Ž„šœ¢©£·ÛÖ¤’wZQNUj‡Ÿ®Êâêèæà¥‚_FAGljo‡¨Ÿ–}hUFA:752222555?aÌïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüöïçÊ­‰N2+,++++*++**3CKSC7CQJ79DOM=7EE?/-02420-+*)))))*+/5861+**2?OQH5017=CIPA71EKB/))1DLG81EP@.7ML6.,2862-*)'(&'%$##"     !!!"#$6U[_ccdabbebgehhhejegcdcc^]_fehfffgfhhlkphhjqlmjgeefhfjgkklkkknihdcdhefggfihedfffffdefkhhhjghglfifehlhjhlhhghjmmpmpjiikkpjkjjjlilmmornooonsmmjheefiijkkfhehhkiiioikiljmkplqqsttuwx|xzyyvvtwvvrqopnomlZLA==’‘‘‘Ž‹ŒŠŒŒŒŒ‹ŒŒŒŒŠŠ‰‰‰‰Š‹ŠŒŠŽ‘ŽŠ‘‘‘ŽŒŠˆ‰Š‹ŒŒ‹‡ˆ‡ˆ‡Œˆ‰„†‡ˆŠŠ‰‰ˆ‡‡ˆ‰ŠŠŠ‹ŠŠ‹ŒŒŒŒ‹‹Š‡‰ˆ‰‹‹‰‰‡‡‡‰ˆ‡ˆŒŽ’”•˜’ŽŠŠˆŠ‹Œ‹‹Šˆ‡ˆ†††ˆŠˆ……†…ˆ‰‹Ž‹Œ‹ˆ†„vj\OQZiqqsomkjhhlpojkm_TK@?>=99:<CHQay‘’“–‘•ÌàÓ¹¤ˆ†›˜¨ ©Õ¹›‹}eWTUe~š¤ºÞéçåÞ²ŽmLB?OZzŸ·Æ¶¨…j\PHA;5433556=X®íÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûõïæÄ¨€K2+++++**+-+*4FJRB7FRI67FFK8/5<5-,+-.--,***))))+,5BAF9--+7JOVF56;<@@JNC83EOA/,(1HLB82HQ>-2J=2,'*-,*)((''%%&"     !""""$$&<Y]^^^a_bbebfeghgegeea`^^[\^ecgedcfghhiiiiikihhhffgggfhgigjijjjigcddfdfghhhgedeedcedfgihhijdddfffdfikfgeggggknnnpljiijkkkkkiiikjmlmpomonppommjhfghjjjihfffhhhhihjhjjjilkplpopqsvwvwtssuvvtutsqpmnmnmkdWIC=”“”‘‘ŽŽŒŽŽŽŽŽŒŠ‹‰Ž‰‹Ž‹”“•’Ž’‘–‘“’˜Œ‹Š‰‹’ŒŠ‹Ž‹‹ŠŠˆ‹‰‡‡‡‡‡‡‡‰‰‡‡‡‰‹ŠŽ’Š‹ŠŠŒ‹Šˆˆ‡‡ˆ‰Š“‹ŽŽŽŠŠŠŠ‹‘’”™™˜’‹ŠŠŒ‘ŒŽ‰ˆ‡†‡ˆŠŽŽŽ†„„…††‡Š‹ŒŒ’Ž‘‹‹†‚vm[MR[erqponkhimoronuzocSCCD<:<>ALYjyƒ†„„“¾ÒÊò™‰Ž’˜¨šœ¤¤’†|k\TW_v•¤­Íæåäß¿›UB=Fh½Ù×ܶšƒth_ND:534685;Q“êÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüõîæÀ§vH1++****++,,,5IOQA8JLH45<C=4../.+))********+))),.=KTM>/..;OUTF25>G<:LOB96GO?.+'1JL>74KI<./45.*&%((''&''&#" !  !!!""#"$$##%)D^^_`^d_abdcffiiihjde`_^`Z\^ecgfeefhljniljjigedffhggiiljmmnjliihjfgegdjjjkkfeeedddggghkhjjjffeheeejikhiiigikoopnqkjijjkmmlkjjjnlnlmppmonsrpopjjimkkjniifllkhjjjgmilmmlppqmtqrrttyvxttstuvuztsrpnonpmmifWI?ŽŽŠ‹‹ŽŽŽŒŒŒŠŠˆˆ‡‰ˆ‹Œ‹ŽŒŒ“‘‘‘‘‘Š„‹ŠŠŒŽŠ‹‹‰‰‰ˆ†‡‡Œˆ‰Š‡†‡„†…ˆ‰‰ŠŠŠŒŒŠŠŠ‹ŒŒŠ‰‰‰‡‰Š‹‹‹‹‰ˆŒ‹ŒŽŽ–‘Ž‹ŠˆŠ‹ŒŒ‹ˆ…ˆ…†ˆŒ‡ƒ‚‚‚…‡ˆˆ‰ŠŠŠŽŽ‹‹‹Šˆ„|shZMQZirrtpnjiklomo|Žªr[GD><=@AJavˆ…„ˆˆ„—ÉâÔâË©“‹‰‹ŒŽ—š‹‡Œu`XM_h…§«ÃãããßĦ‰]F?Zƒ´ÜÛÜÛÁž˜dTE<866875;J†èÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýüôí忦pE1+*****-+,,,4KKN=5=I>133220,,-+******-++**+))*,/?RRRB232?PNQC/3;;;AMM?8:IN=-+(3LD:53:A4(+-+))''''('&#"!    !!"""""""#$#%&-Ja^^^^`_aacdeggggffcd^__XT]^acdceegjlhiilkjggceggehgijihlkjihfffggffgekihefeffedeeghgfgghjifffheefggjihfggjmonmlljjijkknjhhehjoknmorqlllmlljjhjjjkkkkihflhgdffgfihkkkkonnnqqqqrrxuuutsttsrqpolmnnnmlljgaTEŽ“‹Š‹’ސŒŒŽˆŒˆ‹ŠŽ‘ŽŽŽ’’‘“•‘Š…‡‰‹ŒŠŠ‹‰ŠŒ‰ˆˆ†…„‡ŽŠŠŠ‡†‡„ŠˆŒŒˆ‡ˆŠŠŠ‰Š“‹ŒŠŠŠŠŒŒŒŠˆŠ‹Œ—”ŠŠ‰ˆ†Š‹ŒŒ‰‡…ƒ…††‡ˆŠŠŠ…ƒƒ†‰ŒŠŽ‰‰ˆ‰‹ŽŽ”ŒŠ‹ŽŽ‰„xnZMR\gtsqnjihkooq™°¹–…aKB=?DAH\€‡’ˆ…ÏÖÔÜà±”Œˆ‰‰ˆ‡’”’f\^chxž¬¼àáãßɧ’aJMj§ÝÞßÝÙ»£¡¦ƒlVH>:99877;G|çþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýõíå¿¢jA0+++**+***+,4EME:7886/,,+,,+**+******++*)**)**,0BSWUG54:GMRQ@..:==DNL;8=KO;,,(7EH6//10,('((')'(&%$"!    !""!""""##"$####$'2O`b^abbbdcgefgigkfhbbdh^UU\^acgcefkjlhlknkihgehhhhhgiiijlkkgffihigffjhmihhhfjffdeehhhfhgffhhighfghkhjjkfihnmrnlllllkjlmiggighjontpqpqlkkkkmiijmlpknkkhiklhgchggejhlkplqnuuvsqrwwxsrsustrqpqpplnnpnnnolkhfSŒŒŽŒŒ‹ŒŒŽ‘ŒŠŒŒ‰ˆˆŒŒŽŽŽŽ‘’’’’ŽŒŠ‡ŽŠ‹ŒŒ‹Š‹ŒŠ‰ŒŠ‰ˆ‡ˆˆˆ‡‡ˆ‰†…†…ˆ‡ˆˆˆ†…„……‡‡ˆ‰ŠŠŠ‰‰‰‰‹Š‹ŒŒŒ‹ˆ‹Œ‹ˆ‡‡‡ˆ‰‹‡…ƒ€‚€‚ƒ†‰†„…ƒ„ƒƒ„†‰Œ‡‡ˆ…‰‡Š‹ŒŒŒˆŒ‰ŒŽˆ€vi[OS\ittrnkijmrsƒ£Áº®}QFBA@@EWm„–¥’”ž½×ÙÙÕ»™ŽŒ‰…šž¡Ÿ™€mqˆykt•«´ÐßâÞÃ¥’gVS‡ÏàáâÝÙ¶­À¨†oWJA=::988;Duæþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýõíå¼ f>/*++******,+/=9;4..0/,,,,++,,++**+*,,,+*+,+**,.1ESSUK:<CEIQP?.5;<;AOK87?NM:++'/<6.,)*+**((('''%#"!   !!!!!!"$#"""##$#$$$#(6S`^^abbbcddeffhfdbc`eie\ZW^_abbbefijjhhhhhebhfgghihffgijkifdffggheffjhlffeggffeceeijgegdeehhgfgfhhihhfffiimmnkmijjklifhfgghgijpopponpikkkkigilkkmklkkhjkhdddikhfhhiijilnrttsrrvtsqrssrsrqmmkmlmnnoqspmmli^Ž‹ŠŠŒŒŒ‹ŒŒ‘‘ŽŒŒ’”“›•˜’‘‘”•™•–‰‹ˆ‹‘Ž’‘‹ŒŒŠŽŽŽŽŠ‰ˆ‡‡†‡ˆˆˆ‰‰‰†ƒƒŠŠ‹‰Š‹ˆˆˆ‰‡‡ˆŽŒŒ–—˜‹‰ˆˆŠ‹‹‘Œ“Љ†ƒ€~„…†‡‡†„ƒ„ƒˆˆˆ‰Ž†ƒ†‡ˆ‰‰ŽŽŒ‹‹Œ‹ŽŽŽŽ…um^SU\fqpoliikot…­µ¼°”qWHILLGCXi˜¬Ê© ¬¯¶ÍÞÈŸ˜—”†Š˜«Î§„v}¥¾vf€ª®ÂÛàܽ ’r]n¢ÜãããÝÚ³«©©‹s]MC@=;::9<Bnçüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüôíå¹¢c<.+****-+*+,+,210.,-,,+++++++,--+*+*++++,--++)),3IOPRPBABDHPN>8;CD:?QJ56ARF8**(*-,*(((())(&%$$"!      !##""$"""#$%$$$#"%$&$$$)9W]^_dbcdefheffibaaeelhe^___addheeffhjijggccdiggfjjkklmlmmgddihkhifggjjlfgfjgffeehfligelgffkgffhhjjjgffjiikqnolnijkojihhghilkppppqnllpomlmjigmkklonmlkkojfdiijiihigghlllmqrututwsttsststrqnolpmnorsttvvuuvjŽŠŠŠ‹ŒŒŒ‹ŒŽŽŽŽ‘‘‘‘’”””““““”••“”‹‹‘‘’‘Ž‹‹ŒŒŒŒŽŒŠ‰†‰‰‰ˆ††…„ƒ‚‚ƒ„‹ˆ‰‰‰‰‰ˆ‡ƒ‰…†‡Œ‘ŽŒŒŠ‰ˆ‰Š‹Š‰ˆ†„ƒ‚„„€€‚ƒˆ†ˆŠ‰‰‡ƒ„…ˆŠ‰ˆ‡„„…‰ˆ‹‹ŒŽŽ‹Žˆ„}vqaSU[irqlihjmt„—ª²²gSL]whQOZj{²²²Ÿ’”¬Áäצ–›¡¦©“…–±·¶ž“ÈÉ‚blŠ›°ÕßÖ²›”}w|¹âæåäÞа¯¶«wcPEA><;:9;@gåúýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýûôìä¹£`;.+**++++++++,.-,-+,,,+,+++,-283,++,,,,036;4-,*-6KMPRQGEEGGOL>4@MD6APA24A;=3*)&()*)))((((%#!  """"!######$$##$##$#"$###$#*<X\_`aacedffccb`]acefecb___abeeeeeeeegggfdaefgfhghiiiiiihgeeeihjhgfggijgdgfgfggghhffggfffggffffhjjijgedhikkllkiiikljfffggikllmmoonllkllmljjiimjklonnolklifeijjggggggehhjkklnppqqpsutssspmmkmmnnprtuutvssrqnŽ‹’ŽŒŒ’”Ž‘’•‘˜’’‘’“™—œ—š™™—›–”“““”–—‘™’•’ŽŽŒŒ•‘‘‹‹Ž‹’“’Œ†„‚‚‚„‡†Œ‡‰‰‰ˆˆˆˆˆ‡ˆˆ‘“‘ŽŽŽŒŒŒŒŽŠ‰ƒ‚‚‚‚‚„‚…€~~€‚…‹‰ˆ‡‰‰‰‡†‡ˆ‹Œ‹……‚„ˆ‹Œš‘•ŽŒŽŠŒƒ~zvcUU]fqmjhgls}†—­¤’cLZv‰‘lYblzŠ”žœ›Š˜¥½åΫ¥¨Ÿ–¥–—¸×ÖÑ›™ÁÏŠ_fƒžÄÜ£˜Žƒ¢ÞäèæãÝǰ¯±­{bSGD>===9:?aÚøüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýûôí帟]9.*,+,+++,+,--+*+,,-,,,,,++-.8>>.,----.3;AA?/,*/9LJCMTPOA=HNI=8LMEDHH@.,230-)(''')('((%$#"    !!""####$$$%$$$%#$###%#%#$#$#,AX]ccbadedefcd^[^ehjeedccb`eeeefeeehegffdcdjjiekhhikkkijhfegeihmijhjiiheegfghjhniihgfggjgigihjjjjmkjgdfkkpknlkimlljiefgjjmlroompopkmlmmpjhjjkmjllpponnmmighlkkhlgghhhiiihiilmqrrpttuvvpolmlqnpqrsvtssxwvqooŽŒŒŽŽŽŽ’ŽŽ‘‘“”•‘‘‘““’’“™—œ—˜˜˜–•““’‘’’•‘”’•‘“ŽŽ‹Œ”‰†ƒƒ„…†‡‡ˆˆŠˆ‰Š‰‰‰‰‡†‡‡ˆˆˆˆ‹‰ŒŒ’Œ‡„ƒƒ‚€ƒƒ…†‚€€|€‚ƒ…ˆˆ‰‰††††‡ˆ‰ˆ††……ƒ…„…‰ŒŒ‘ŽŒŽŒ‹ŠŒ†ƒ€ztbRTZgrlihkry†“ “bSb‰¥›‡mlozz{‚‰‡ƒ”­ºÉÇ²Â§š†–¢¼ÔÝÚ§š¼³–eYo„•·´ª£¤¥§©¯âçêæâݽ ¨¸©‡t`UJF@??>;<@]ÇõüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüúôíÞµšY6-)+++++*++,---++-,,,,,,,+,.0:H:1476752:C>?7.-*0;LGIHRTK;<KJE<8DSC?>?5****+*)))'(()%&#"!!  !!!""#####$&%$$$$$$####""#####$#/I\^`_aaefedb_\X_ehkc^]]baabdeedffedffgggcfghgfeffijkjjjifedeeiglikghgffeegfhiihiegggfgehggehjkijjkkjghikkmkmgkillkhjfhijjmmmmnmmklkkilkjfhjkklkkjqpqkmnmijkkkmghgfehcefiegfllmmqnnnomlkllllooruuuussponponmŒ‹Œ‘Ž“““Ž‘—”˜˜™”•””•–——““•™™™˜—š•–•š’“’—”•”—••‘’—’“Š‰ŠŒŠ‰‰‰…‡†‰††ˆ‰Œ“’‘‘ŠŒ…†……†Š‹‘”—‰†ƒ‚€€‚„Žƒ‚€‚„‰ˆ‰ŠŠ‰‰…‹‰ŽŠŒ‡……†ƒƒ„…‡Š‹Š‹Œ‘ŽŽ‹‹‹Œ‰Š…}ubUTZdnhhjpz|‚ˆoVf §«vrqqprs|zxz–ɽ»³¬¨œ–‹Ž—¦¯ÏÖÓ³œ¦»•lVct†¢º £³Ã£¹äçéæâÜ´Ÿ¢¤¦‚paWNJEB@><??YºòûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúóìÚ³‘V5-+*+++*++,,++,+,,,,--,,,+,/6DH;8:?HB;9EF>>3..*0?LE;BRRI8:LQA74@FG=73,(''(()))('&%#! !!!!""#$$#$%%%$%%%%$$$##$$#%###$#$#2R_aaaffefhdc_Z\ehle]Z[^abffggffgfjgfhlihfniiedehfmlnjihieefkfihlkkhkffeffkhmijhiefhgglgghjfhlqkjimjjijlmmnjmijiolkhjkllkkmnmlqmmnoonnpkjfjkppqlmkqpqmmmmmmnqkoklgfghcfeigkkkmpqropppkkknnqrttuw|vzstoompnnlŽ‹‹ŒŽŽ’‹“””—••”–••””••”–š™˜˜™——˜•––˜’’“–••“”’‘“’‘ŠŒŽ‘Œ‹Šˆ†††‡‰ˆ…†‡‰ˆˆ‰Œ‘”’ˆ…ƒ‚…†ŒŒŠ‰‰‰…„„„ƒ„†……„„||yy{††‡‰ˆˆ…‡††…Šˆˆ‡‡………………†‰‹‹‰‰ŠŽŒ‘ŽŽŒ‹ŒŒŠ‰ˆ‡‡}rcSSYdjihm‚€}|{Šnf†¬¢”slkpt~„€ns–ÇÆµª®™›•|…ˆ“”°ÑÍÅ¥ŒlSYdw‹«É¾ŸžÂæçèåâÖ¯“§¨–}rbZOLHEB@=>>V¬ïúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýúóëÔ²‡R3-**,+,+,++,,,+,,,-,.,,--028=BG=9<>BH;8AND>4,-*2C@B89LO@16KB;2+/421/,+)('('('&%#!     !!!""""####$$%%%%%%%$$$#"""""#######$7X`bbccbededb_`bfif_]\_abcdefffggegghijihghfeeefhgjjifgfhbefgfhhiffgheedfghfiikeeegihgkfgiifilkkjilkjikllikjjiiiiihgiilomnnqlkmjgeimkjigffjkonojkkqoollmnmnpnkljkhgcbbccefhilpmkmllkjfhhlpqrssuwwuurolkkjiig‘‹Ž“““”•—œ••”˜•–““”•—ššš—–––—ž˜˜˜˜˜™•••››œšš‘‘‘“”•’“‘ŒŒŽŽŽ‰ˆ‡‡…„…‡‡Š‰‹ŠŽŽ““—–”‘Œ‰„‚ƒ„†‹‰ŠŠ†„……†ŠŒŒŒˆ‰…„‚}||tr|ƒ‡Š‡Š‰‡‡†‡ˆ‰ˆ‡…†††‡ŠŠŽ‡ŒŒ‹ŒŽŽ‘ŽŽ‹‹ŒŠŠ€xcUTW_ifjzŠ}{‰“muŽ™‘…rjluŽ—Ÿ{q“Å»±¬ª›†ˆŽ‰„ˆ—’¤ÑÕÍ®‰˜oTNZjz€·É»”ŠÉçèèåáÒ¬ž­¢‘{ub\TOKHEC???RœëøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüùòêÒ²M2,+*+,,++++,,-+-,,,,,,,.049?FKB=@E@B@;8@INA5,.,3IJ?55HD8.2;;3-)()))((*))&'%$$#!    !!!"""""###%%%%&&%%'&%%$%$#$##"$"#######&<\bcdeedffffffgfjhd^^`cdfdieefghieihqjjiiggfghlhkgihhfgggfggggjikefggfiiigifkilegfgikgkhghlkkkjjkilkkjnjklmkkkojmiihlkmllnomlkqiddiihgffiinnnnnmllpopmlmqnpnllmkjgicbbbbeflkmmllljijieggjoqswvvwvvwqniihhiigŽ‹Œ‹‘‘’’•——˜™––”””–’•–—™˜š—•••–—š˜˜”˜–——–”˜–›—–“’’‘‘‘ŽŒ‹‹‰ˆ…ˆ…‡ˆ‡†ˆˆ‰‰ŠŠŽ’””’’‰‰Š‰‰‰ƒ„†‡‡†„ƒ‚‚‚‚„‡‡‰ŒŠ‰ˆ…„€{xyvz„…‡†‡‡ˆ†……‡ƒƒƒ‚ƒ„…‡ˆ‰Œ‡Š‹ŽŽŽŽŽŒŒ‰Š‹‰ŠŠ‹Š‰ƒ|ubSPS^fis|~„‘”}eg}А‰rhht’¨ ‡†¿¼¯²¬œŽ…ž–‡”‘©ÏÒÐ¸Š‚spXOQfsy‹ºË¬€…ÑçèèäáΪ˜ŸœŒzuc]VROHFB???Pç÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûøñéÏ«wH0,+++,,,+++,,,+,--,,-,,04;CBLJ@AHA<<;;8AB?@3,+*3LJ;2,5<3),0/.,***)))('&%$#!  !!""!!##$###$$$$$%%%%&'&&%%$#$##$"!""######$(A`acdefeededfffffed`adcefefedcddfehijgjhhfhggghghggfheedcbcdfgiilfgggfgggggghge`gggghgiiiikjkkkjjhlkljlijmllllojjiihljlkmkkiihhdccdefffejloonmkgmnpppklmommmlklljedccdddfhlkjhhihhgeeeffjnopssvrqmmmhcddjjji“Œ‹‹Œ•’”˜—žŸ –—”””–™›™š——•••””–—žœŸ˜˜—œ›š¤———–•’‘‘“‘”Ž‘Ž‹‰‡……ˆ‡ŒŽŽŽŽ•””’Œ‰‰‹ŒŒŠˆƒŠŠŒƒ€‚ƒ…ŠŒ‰‰‰‰‡†ƒ‚‚€{}ƒ…‡††„ˆˆ‡ˆˆ†‹‡‡ƒ‚‚ƒ…ЇŠ‰‹ŒŽ“’”ŽŽŽŒŒ‰‰ŠŠŠ‹ŠŒˆ‡‡†}s`RPS[glvy‹‘“‚u]Ucyxhiq‘ž³‰Šœ¼¹©ª¬—‘’™¨µ”“¥ÕÞÌÆŒ€vqaQPblq½´yÉæèéãÞ¦¦©Ÿ‰zwb^VXOID@>??M‡ãöÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûøñèË¥pD/+++,,,,,,,+,,++,------2<F?@NK@EF?;99;>@BD:1++*4HL70).0.)(**)*)*()('%#"   !  !#"!"""!##$$##$&$%%'&&%%&&%%%%%%#$#$##""###""%*HbedhfhfhfiflllfedeffdcehefddeechekkkkkghhhhliiikhhgheccdcdehjkjmgigkfmllkmgifddhflkjkljliokoonklgllllpiklolnnnjlkkhkkpmnklihgfccdeeegjjlmqonkklnpspomnnpmmmlkkjjdedhhihllmjifghhfeeeeihkooottwrqlljecbdkknmŽŠ‹‹ŒŽ”•˜™›œ››˜•””––˜˜›•••˜“••”“••˜šœ›™—˜–™š›——”––•‘‘ŽŽŽŒŠ††…ˆ‡ŒŒ’ŽŽŠˆˆˆŠ‹ŠŠŒ†‚€€€~~ƒ†ˆ‰Š‰ˆˆˆ†‡‚†‚‚ƒƒƒ„„„…„ƒ„ƒˆ‡‡Œ‡…†‡‡‚‚€‚†ˆ‰ŒŽ‹‹ŽŽ’ŒŽŒ‹‹‹‰‹‹ŠŠ‹ˆ‰ˆ‡‰†wk^QMO[gjn†¢’u`NJLk¨›€khnw‰‹Š’¢­¹ž  –˜¨»Ã²—‘ŽœÚͳ¥Œ€xxw^Q^lqÂ±šu~ÂäèêãѶž•¤¡‰|n_XSQNH@?<=>JàõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûøñæÈ¨jA.+,,,,,,,..,-,,++,.-./.8GE<@MD<GME>:59DAA92/++)/@72.)+,+)*+*)*)((&%"!  !"!!#""##$$$$$$$$$$$$$&%%$%&&%%%%#""$#"""#""$$##%-Mcdbhffffefehhgdccdbdeddfdfba`dddejjihgefegiiijjjiidcccadbegjkkiifgfeefgkhhffdegigkijjjijjkkoiiijilmkkliklmkllljhgiilkmlmihfgfgaccccfjkmlmqplimmoqqqpmmnpkkkmjigfdechghimnkgfefggefcefhhkpoovqrpommjd^belkmnŒŽŽ‘••™šš›˜•˜žžšž˜š”•–™–›•–•˜•˜ššš–ž–ššœ™š˜ž™œ”““•ŽŽŒŒ‹‹Œ’’˜Œ‹‰‰…†ˆ‡ˆ‹”ŽŒ‰„€}{~ƒ‰‹ŒŠŠ‹ˆ‡‡ˆ………†ˆ‹ŠŠˆˆŠ…‡…‡‡ˆ‡†††……‡ˆ„ƒ‚‡‹Œ‹‹”‘ŽŒŽ‹ŠŠŠ‹‘ŒŠ‰‰Šˆˆˆˆ„um]NJLV`n…‘Œ{[KAFb¤³Šploonw‘›™™“‹˜”Ÿ½àÛɯªš—³·®«“{¢‰iZ]lrÅ­•u{µáããÒË©•¥Ã¢‰whZROMJF>?;<=H{ÞôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþûøðåÇ©f?.+,.,+,,,-,,,,,,,,,,,-/<JE;@GC=KOLC@44:;62.+*+*,01/,)))))((*('&$##!   !!""""#$##$%%%%$$&$$$$$&&%%%%(''%%###$#""##%#$###&1Scgeiiiffeiejggdccfghegdidfaaajglfjgffgfhefjmlplmjkefcdddehkmllkjfhggeikliiffefhigkiljjkkktmnjjjlmoljjllklnlnloighjlqknkmhiglfgcdddegjmmonqmjltstrtrqqqnpkmmnihfddeeijnlrlkffehgjfhceekghkpowvusqrske`chlllmŽŽŽ’’‘˜–™š™˜šœ›šš™™–—•–™—”•”––—”™šš˜˜•—–š™™˜™—š™š–”’•‘‘ŒŽ”ˆˆˆ‰‰ˆ‡‡……†Šˆ‚€~~|€…‡Š‡†‡‡†…††‡ƒ†…‡ˆŠŽŠˆˆˆ‡‡†……„………„„„„ƒ…†ˆ††…†‡‹Š‹‰ŒŽŒŠŠ‰‹ŠŠˆŠ‹‹ŠŠŠŠŠ‰ˆˆ‡ˆ…†‰€yri[MJLZn„‰†iLDE^ž›•vmom^^}—•‹‡zo|¦ÐìêÙǾ§¦®³®° ƒ~°vZ]ku¬©•uu§ÍÞɺާ¸Ã£ƒoaTNIHGB=<;;<GtÜóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþûøðäÆªc=-,,-.,-,,,,,,,,,,,+,-00?LG<AJ>4>LC@8/011/.,,,+)+--,+))+))''&%#!   !  !""$#$$$$$$$%$%%$#&$$$$$&%&&%$$#$%$#####""""#"####(6WcgdhcccfefeddeedcehgedccbcbbbifhffeedffffgjkkjjiggdedcbdfiklggeffffgdjiiggffdghigjjlkkmlllmljkkmmojiikklmlknjjiijkkkkkjigggecgcdafkjjlmnmnlllspqqqooopmpkkkmgfedceeikmnrifbdfffgeddedgghilnooquwxsngbhmmllkŽŽ‘’’‘˜˜˜œ¢¢£œš™™˜˜™˜š———™šš—™—šš›˜›–œœ™™˜œ ™Ÿ——•–••••’‘‘”‘‘‘‰†‰™†‰ƒƒƒ‚„„ƒ‚„…ˆ…‰‡†……„„„„ˆ‹‹‰‹‰ˆ‰‰‰‰ˆ†…††……„„„„…‡Šˆ‰‡‡‰Œ‹‘•Œ‹Š‰‰‰‹ŒŒ‹ŒŽ‹Ž‰‰‰‰ˆ‰ˆˆ„„ƒ‚{xtpbUOPbƒ‚[GL[„¬œ}syhOUpƒƒxspjj„ªÚïððìàÄ·°±¨­”…‰œžƒYXkx‰¸©–toµ²³ÂÁ¾¾½À™}j\QLJJHB=<;;=FoÙòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþýúöïãê^;-,,,,,,++,,-----,-,,.00CKGFFB945:;61,,,,,-++++***+****)(%$#"      """   ""!"#$%%%%%$%%'$%%$$%$%$&%'''&%$%$$$$#####""######$$*<\dhehdefeeffgdeehdeghdcbcbeeeejhkffeedjggfiillmihgggggfffgjjlgieffjfggljijighfjiiilmmlmmololqonooppkjjoksmlknllkkjmkjjiiihhecbhdeeikjjlnrnnmpmtqurrowrtppmnkllldefjhnmxosgcbcglhllkihghgkillllpszutljmqppnmkŽŽŽ‘““””“™œšœ›››™™—šžš—–”—‘˜—––™šš—™“™š—™š›˜–“—••’––——”’’‘‘”Œ‹‹ŒŽ‹„€}}y€‚‡‡‰Š†…‡…„„„„ƒ‚…†ˆ‰Š‹Œ‹Š‰‰ˆ‡†ˆˆˆˆ†…„‚‚ƒ…………ˆ‰‰ŠŠ‰‰‡‡ˆ‹ŒŽ‹ŽŽŒŠ‰‡ˆ‰‰ŠŒ‹ŒŒ‰Šˆ‰‰Šˆ†ƒ‚‚‚‚ƒ~„~yiXTUhzz~~bRPXl‡¢„rjcLN`w{}rkfX_{¨áîõúôêÜõ­œ˜‹”›Ÿ}WUjt€œ¥–sm|™©ÃÝßÝÎÄ´xfZPMKJHC?=<<=FjÞñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýùõíâÀ¢Y9-,+,,-+++,,--,,-+,,-...=OEB<:4,/11/-+,,,+-++,,,*,*)**'&$"!    !"!""" !!""##$$$$%%%$%%%$%%%%%$$$%%')(&%$$#$$$###"!""#######$,C\cdceeedddfedccccbfdcba`bbegffgghefdedgfffjihfffheggfdfeghjiigfcfffghhhhijighdggjkklljmnnkklpmmnokkkkkljjjjijkjjjjmmhfghhdedbbcbegjkjjmnonmmnnnnooooonoonmmjjhheffghnnqokda_dimghhjjhghceeeehlmlnoolmppoppol‘‘•”›–—“œ›™›œ›š˜˜˜šœš™˜˜˜˜’”•–•••š››™š˜ŸŸžœ››žš˜•””—“•“˜—š˜—“–’’’“‘‘•‘Ž‹ˆ…ƒ€{z{€ˆŠ’ˆ††…‡„ƒƒ‚ƒ„†‹ŠŠ‰‰ˆˆ‰‡‡ˆŽŽ‡…ƒƒ††‹‹’‹ŒŒ‹Šˆ‡‡Š‹ŽŒŽŽ•‘ŠŒ†‡‰ŠŠŽ‹ŒŽ‹‰‰ŠŠ†„‚…ƒ„†Œ†ƒn\UWbjryeUSU]j~ngaIISerrlgcUSr¨ÚîöûøôåÍÅÅ¥’”Ÿž‰w_Shoyžž–tk{ŸÄßßßÕØÀ©ŽraYPNLMFD@><==FhÖðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþùôí὚V7-.-,--,,+++,----,,,--..9?A;62/+++,,,+++++,+++,**)(&%#""      !!!!##"#"#%%%$%&%$%%%%%%%&'''%%$$$$'++)&&$%%%$%#""""$$$#$###$#/J\cgffffcdehdccddbbfdd`_affffiggfieffeekhhhkiffjfhgghkfggjknijgfdgghhljkjijkiiiklmnpllkmnllnopntmoijknkkikjjijjmkqnnjffffiffcaaeelinjiksqpnqrroqoqoooonppnnojliiklklnonrlga_`ghmiikmljhhbedbcginnomrnqqrqqqql‘‘‘”””“’’’’“•–————˜–—˜˜——–”‘‘’’“–”••˜˜ššš™œœ›š›››—™””“”’‘”“–•—’–““””““‹ˆ†‡„„„ƒ‚‚…‹ŠŠŠ‡…€ƒƒ…„„„…†ˆŠ‹ŠŒ‹ˆˆ‡‡†††‡‡†…ƒ€}ƒ„‡ˆ‹‹‹‹Œ‡ˆ‰‹Š‰†Š‰ŽŒ‹ŒŠŠ‡‰ŒŠŠŽŒ‹‡‰‰ŒŠˆ‡†ƒƒ‚ƒƒ„‡‰ŠŒŒ‰…‚l[TS]gih[USPXcjjc`H?IVdqlebW]j•Õí÷üüûîßØÊ¯› ½Ã•€{dfhfe‚¡‘sk³àãàÚÔ˾¬v^XPMKIFCA?<<<EdÏðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþùóìá¼–S5------,,+++,.---,,-----/3220.-++,,,+++,++++++*)&$#"!     !!!!!!!!###"##$#$$%$$$$$%%%&()('&%%$$$&(,.*%%$%#$####""#$$$"###"$#3P^cgdffgccfeddcbba`aa_^`bb`ecefdcccehgejhhhhgffeehhhggghhjjjghgfcghihhiigjkkfijklmomkmmmmllmopklljejjlkjhihhijjkjmomhecdceegaaadekilkklooplmlonnmnmmlmnnlnkjjjkjkkknpolkgc^_begjijnormiibdccdggonnlkkmnmlmklk•”“‘’—’’’”•˜––—™˜™—›•’“’‘’•—”–•––œ–™šš™›¥œžœœ˜š”“”𔕕–—˜™™˜—“™”•Š‡„ƒƒ†ˆŠ’’’“’‹ŠˆŠ‡…ƒƒ„Љ‰ˆŒŽŽ”ŽŒŒˆˆŠŠ‡‰‡†ƒ‚€€„…ŒŽŠŠ‹Œˆˆ‰ŽŠ‹ŠŽŒ’’’‹‹‹ŠŠŠŽ‹Š‰ŠˆŒ‰‡†„‚ƒ…‰Ž’‘‰‰}hWOOZic]XRPNXfb`ZG>AKUbkgdgtyŠºçòöùûõïéÛµ ·Ô®z~k`ab`uŒnkŠÅÓàÜ×ÉÅ·¯˜}fWNKIIIIA@=>=DaÄïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþùôì⺐O3,+.----,--,--.-,,,-,++++-,,+++++,,,++++++++*'%$"!        !!!""###"####$$$##$%%$$$$%&'')-./*'&&%$&')0-)$%$%$%#$##"$$%$%###$##$8V_dgfhggcdefefbaa``c_]_`bbbedecbbbcfiigjjlhgfhfgghhkhjhmhkjjhiihgghlhnjnkqkljnmpmnlkkpkjklloppjmkiijkkjiikilmmjklmllgedhdeeibccjhljokmmmnplmnqnnnommlpmnmnkkjjjjllmrqqmkdb]``bdnjkoqqpjkffccejjpnsljiwnomnjpj‘“’““”“‘‘’’”•–•––™’”“’‘’”’Ž”–”“••––––šš›™™™˜—™™˜”™’”••–—˜›Ÿœœš›“‹‡ƒ‚~ƒ„‰–“Œ‹Š‰‡ˆ‰ˆ………‰‰ˆ‡ŒŠ†‡Š‰‡…‚‚ƒ‚‚€€„…‰‹Žˆˆ‡Š‰ˆˆŠŒ‹ŠŠŒ‹‹‰Œ‹ŽŽŠŠ‡‰‰‰‰Š„……‡ˆ…„…‚„ˆ‹ŽŽŽŒˆŠ‰‰ˆˆ€}pbSPQ[ca\TPNOYb[TE?ABKXl}vu~Œ‘§ÑëðöúúûòãÀºÃÁž}z{sqoh^lˆyhm•ÆÌÊž¹³¬§¡‡lYLJGILF@>===E^ÂîÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþýøôìจL3,,.------,,-.--,,-.,+,.,-,++++++-,-+,*+*)'%$#!      !!!!!#"$"$#######$$$$%$$%%$$&)((*,150+)'''''(*+,)$%###$#$"""$$$%%#####$&<\adfffegcebfdcba``_^\`aaaccdba_a`cdfhigjiiggeffgiifhfhhhhgfhgffhghhihkiiijgkjmmmkljjjjgkjllljjiijjjkllmjhijlmlklmlihdeedddcbacchhhhkkljlkkkmnmmllplkkmmlknhjiiiklmmoomje_ZVYY\`nkloolpkjgfccbeikmmliikmkijjihšššš›”———‘“–™———ššš”’Ž‘•™˜–•”“––™™˜š¡š ˜——˜—›˜——˜˜˜˜™œ¢£¢›˜’‡‚‚~‚†Œ•‘”’ŽŽŒŒ‹ŒŒ‘Ž‰ŠˆŽ‰Œ‰Ž’ŽŽ’Š‡ˆ…ƒƒ‚‚†‚……†‡‡…††ŠŠ‰‰‹’Š‰ˆ‹Ž‹Š‹‹ŒŒŒ‘‘ŠŠ‡‰‡‡ˆŠ…†„†„‚ƒ…†Š‹ŽŽŽŒ‹‹‹Š‡…€}wpdWQPZnaYROQV[YSDDECF[q†’€‚Šœ¬ÃÜêñöùüõêØÐϽ™{zƒƒ‡xkalneo™ÉÊÎÆ²¬§¨¨œ“o[KGFIGD?=<=>D`ÁîÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþýøóëÚ±~I4.----.-,-..-..--,--,,,,,,++,++,+,+**)('%$#"!!      "!!"""##"###"$##$###$$%$$$%%&()((+,+,8RB4+*)**))+***)$%$&$%###$%)(((&###%#%(A`ceffgfgcecfdccdbb_``fdecfgga``dceefgigoijjkgihkjjglikijhggkkkfkiokkimikkjgljqnnkllljiiklpnmjkippppqnpljhllqmnnrmkhhgheeefdecghhhjhmklllijkomnlmlpkrkmmlknjjjljmmqpqnohc\WLJKPamkonnnpkkhiefceceglhgjrkjijjji—˜˜˜–”””“““˜––———•”•‘‘“••”••”““”›š›œ›ž˜—–˜”›˜šššššš š–—˜–‘’Œ„„†‰‘‘ŒŒŒ‹ŒŠŠŠŽŒŠŠ‰ŠŠŠ‰Žˆ†„ˆ‚‚€‚‚ƒƒ‚„…†„††‡†ˆˆˆˆŠŠŠ‰ŠŠ‰ˆ‰‰‹ŒŒ‹Œ‰‰ˆŠ†……‡‡†‚…„†€€…†Š‹‹‹Š‰‡…ˆˆˆ‡…‚€}xufXSS_l`TPPRZYRGFHHGa”…Ÿ¸ÄÎÚëð÷þøðêàÖ¬„|‰–«¼Ÿofk]q›ÇÉÈÇ­ž›“…r^KE@ACA><<=>Ea½îÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýýøòêÖªwE30.-----------..-,--.--,,,,,+++,,,*)&%$"!        !!!""##"##############$$%$$%%&&/:63<K9./=IF4,./01/-,*)(&$$#$$$#$$')-04;+$###"%*Gabffdgggceafcdedbb```dccba``]`acdfefdggihgddeggiegghhihhhhijihgjjnkjimijiigjjlkkiihjijklmoplijjnlllllliigmlnlnnmjihgcieebcccdffgehhmjmijikkkkllllmjjjjijhijjjljmnqpmjhd]VH;AEVenkllmlmkkfedebaacbdafijhiiiiih–—š–”–˜˜™•’“••œ›˜“’‘’š™˜••••–•”••œ¢œŸœž™œ——–››Ÿœž ›š˜••“—–—›˜–—––•ŽŒ‹‹Š‹Œ‹‹•“’–‘ŽŒ‹‹’ŽŒŽ•‘Š‡‡…‰‚‚ƒ„„…‰„„†‹‡ˆ‡Š‰‰‹ŠŒŽ‰‹‰‹Šˆˆ‰‰‰‹“Ž’ˆŒ‰ŠŠŽ‰ˆˆˆƒ‰„„……„Œ‹Š‰ˆˆ‰‰‰ˆˆ‰‹ˆ…ƒ‰ƒ€~{i\TS\hYRPMR[QIGGEHcœ“‹u‚µÇÌÒàëôúù÷ôìÙ£‹t‘ÕÐË‹}tns|›ÄÅÆ¸ªš™˜˜‹tcMD==?><;=AAF`¸îÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþý÷òéÒªqC1.----.-,-/-,-...--,,-.,,,,,,*(('&&%$""!  !!!!""!!!#!"##"##"#$$$$$$$$$$%%$$$%&&(.:NOSYQ@13CSA438:=??70,+''%##$$$$%(-8FHJ>0&$#$$&-M_cdefjghdeageidebc`achcb``aabdcffjgedkhlhgdifkghfgilikjkilmmjjhkjnjlknikjlinjmjiiihnmmknmrolkonoknmllmkmlmnqmplkihglgjeebbchhhgggllmknilkmkskmkjkqkkkkklghjmmllqrrnlhf]XJ;6;Ncgolmmllnjkgfdeaccddfefjkklikihi—•™”—™˜˜™—”‘‘’’“””••’••˜–”•–›žœ™š›—””•——šœ›š—ž˜˜—˜—𡡣𛕓’’‘‹‰ˆŠŠŒ”””ŒŽ‰‹Œ“““ŽŒŒŒŒŒ‹‰†…ƒ‚‚ƒƒ†ˆ†††„„„‹‡‡ˆŠŠ‰‡‹„‹‰‰…‡Š‡ƒˆ…‡‡‰ŠŠŠ‰‰‰ˆŠ‰‰‰ˆˆˆ†ˆƒ„„†‡‡†Œ‰‰Šˆ‡†„‰†‡‰‰ˆ†„„„„„yj[TQZ^UPLLMPKGFCF_˜ˆ€”±ÔèÝÜãñ÷úýùôß±Œ‡‡¹Îº”“³°®¦ž±Å»¬¢™”Ž‹ƒ|udNE<<<;:;=>?E_¾îÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþý÷ñè̪nB1/---------,,,,---.,--,,,,+*))%%"!!!! !!! !#!!!!!!!!! "##"#$###$$$$$%&''&&%$&'.28=OpR\[]A27HP><:CKOQIC6-+'&&$#(+)(16=HFOI?6(%###'0Q[^`ggecbad`fdebcaaacfga_]acdeddfgjhgdjffefdeekggghhhgggiikkkljhhhihhiihjijijiihhhhhhgijnmmmmlllkkkikmlilmoomkkjihhgiffccadehhhhhgkkkjiikkllmjjhhhhgijjljehhiilmnnnljg]RH=63Lfeilkopmkjijgfccbegggffhiijihjghi––™˜ž›œ—™••‘Ž“’—•™““”—“•–——™•–—œ›š™˜–”•—˜œš™››œœœŸ ¡Ÿ§ž£¢¢™—•”’‘‘“ŽŽ•–––—’ŒŽŽ’Ž••˜’“ŒŠŠ‰‹ŽŠ‰†…„„…ˆ‰‹‡‡†‰‰ˆ‡Œ‰‰Œ‘Š‹‰Œ‡ŠŠ‹……††…ˆˆ‰ˆŒŒŒŠ‰ˆŠ‰‹ŠŽ‰‡‡ˆ†‡††‡ŒŒ‹ŒŒŠ‰ˆ‡†‡‡Š‡†‰‰‰‰‰Ž‰‹‡†€}jZROSZQKKJNLKIDCTqu{€‘Œ­áäæÝàñöùýûùè͹§š‘™°¶°–“¯¿¿×­«¶½¨–’Ї€|seOE>=;:::<>?EaÅîÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýü÷ñèǬk@1------,/-.,--.---.--,-++*)%#"!    !"$""""""""!""""!"##$#$$###$%%%%&,124,()+2?I^`bnV\naC69BN:8>RX_WWJ;.+('&%(/117GCOKHLM@B(%$$#(4TZ^_idccbadbeegccdeefffb_`ggggggkilijekfgdjfggklllkhghhimkokmklmmhkhhiihnnnjlikhjhhgghijnmllrllkijlgokkkpounmjkiihohlfgbedihiijjkjlkkkjioooklkkgihgfhiiijfihjkqqqnpklaVF>51Bfkiiompookihjhggffkknkihkirmoijhjk–—˜˜˜˜—””‘‘’’’’•••“““““•”–—–••˜˜—–•™•˜›››žžŸŸ¡£¢¢ŸžŸŸšœœœ™˜—––——˜š–“’’‘’ŽŽ‘‘“’’’’“‡‰ŠŠŠŠˆˆ…†ˆˆ‡ˆ‰ˆ††‡‡ˆ‰ŠŠŠ‹Žˆˆˆˆ‡‰‰‰‚…„……†‡‡‡††‡‡‡‡Šˆ‡‡†…„„…„ˆ‰‰ˆ‹Š‰ˆŒŠ‰‡‡‡‡ˆˆˆˆŠŠŠŠŠ‹Š‰‡‡ƒ~xgXQKQTJFHOMQIDABVjs|ˆ’‘¦ÈáÜØàñôùþüûñäßÎ³š“®´¶˜Ž©´º¿¦¢®°£˜‹…yuobPE?=;;;;;=?FbÇïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýü÷ñèÅ®i>0-----.,---,,,-,,,--++*'%$"!     !"""""#"##""""##$$#"#"$%$$$%&'%%/CAA=48@?ANV_dfk[ZbdC458868AU^]WSO<.,)))+/;FEEG@GNCG=51'$###)8UY[]^^_]__`aedcaddeefdfbbbedfgghkgihgefffejffhiiihkiiijkmiiiihlmifhihhiinnmiighgjghhikkkkkllkkkjihhhjhjloonoljiiiihhhedbefiiijjjkjlkkgkijhjiijhehggeihhigefgkmmnnlkjdXF63.@^goljnlnoniihiigeghjknlifjfkklijhih——™–––˜”•’’“”•–š——–•“““•”˜˜––••––•–™™Ÿ¢£¤ ª ¨§¥¡žŸ›œ¦¥£¢¢¡›œ—𓑐‘•”•––™œ››“—“‘‘’”“‡‰‹‹Š‹‰‘ŠŠ‰ŽˆŠ†††‡Š–’‹ŒŒŒŽ‰‰‰‰‡†‡ˆˆ‰………„………ˆ‰ˆŠ…„„„„…‡ˆ‰ŠŒ‹‹ˆŒŠŠˆŒŠ‹‹ŒŠŠ‰ŽŠ‰ˆ‹…}ygYOIHJDEIKJIE@BHMQeˆ‘»ÃÊÌÓïôùýýýöðçÔ«¡ž­²¹Ÿ‹’²¶¼œ™¦²¢”ŒŠxtsh`PF?=;<<;;=>FbÉïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýûöðçįf<0--.-..----++--++**)('%#!!  !#"$$#######""""###$#$$$$%$$$%&('&'5P]QNKLS_bggjfpjZYaRA6/.048CZ_`XUJ<0.-/4@GNNYNT>B>61.+(&###$+<WY][\]a]_^_adcbdiijgjeecdchefglkkhkiifhfkjjgfgkjllmnnjkknilkjilkhgjjrkmjonmjjjjjjjkjkmqkljqlkjkjjgjknjnlsoqljjjjjjighfdeiglklkmmmlpkjiljkklihhghhgjghhigeefhonrrrllhdK92/6Lipponmmnmnkplmiggjkolmlijigllpkjiih–––”–•’‘‘““•™—š™˜“Ž–““’•”—›—•”“–——š›œž ¢¢¡ ¡  ŸŸŸžœŸ ŸŸžžžžžŸš›˜˜–•–•““””’•›™›™—•’‘Ž‘‘’ŒŒˆŒŒ‹‰‰‰‰Š‡……………ˆŒŒŒŒ‹‡†………„„†…†‡‰Œ‰†††…†…„‡‰ˆ†…‚‚‚ƒ‡Š‹‹‹‹Š‰Š‰‰ˆŠ‰‰†ˆˆŒŠ‹ŠŒŒŠˆ‡ˆ‰‰‰ˆ†‚~ysgYNDDDDFKJJHDBGFHQh‚Œ–¨¶Ê½ÉïõùýþþûøçÁ§§£¢¤¤­‰{”­“„•¤¡¡’…~xsmh`XOF?=;=@?>=>GcÍïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüûõðç¯b:/--.-,---,-+,/+)('%#"!    !    !"""#$$%$$##########$$$&%%%$$$&*-/,-Fk[XTRU^]\eVgegiSOHC<70,/47BLSQNHB;29?@BGRNKJA:///,'&%$$#"$$,BVXYYZ[[\]]_`bbdggfggfddbddheggkjiggfhdfeggiggejjjihfgghihghfjhhhhgijlijikiiiiiiijjkkmmlikkmkkjkjjhijjjnklllijljjjkifeegijgihkklmmllkjjkiihhhgfhjhfffhfgeddhklmmllljeN;98=E[oopoonmnnlikklhhhjkjjmlkiiilkkjiiihš”––•’“•™™˜——–”“‘“˜”““”•————š“––—œ¢¢¢¢¢   £¢¥     ¤¡   ž§¢£œžššš™š¡¢¢™›˜œ•–—˜™™”’‘‘’‘’”Ž‰Š‰ˆ†…†ˆ‰ŒŒ”“ŒŒŒ‹‡‰„ƒƒ‚ƒ‡…‰‡ŒŒ†‡‡‡††‡†ˆˆ†‡ƒ‚„ˆˆŽŽ‘Ž’Š‰ˆ‡Šˆˆˆ‰ŠŒ‹‹’Œˆˆˆ‰„ƒ€zwhXKBBDEIJLJJHFEBJXnƒ˜¦¶É¹ÁíõùüýþüúïÍÁ»­¡˜•‡w~yry”–˜–’ƒwtqhe\VMF@=<>?>==?HdÐðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûõðæÀ¨^9/-,-----.+,)(''$""!! !    !!"!!"""###$$$$#"####$$%%%&&%(&%%$%(4A73@Z\]ac`[VQ]hYf\WPD?=:761./36<ETRHA?9;LQUOMQRCE5-)%%%$%$###$'%.FVXZYYZ[[]]aaabegigngfefdhghhhjpjmggefghfgglgihkhgfeefeijjjjjiiijjjjjmknmmijihinikknntnnjmlonnkklnmnoonnnnmkjkkllmihghfjjommiqknnrlnmpmokkhmhfggggghhighfgdmnnmnkmkkS>7:BM[qqrqvqrmplkilllkkjlkijqmmjklpklihilg“‘Ž‘‘”–——˜—–••““”•—˜••˜–––”––—”—˜œž£©¥¢¢  Ÿ¡¢¥¡  ŸŸ  Ÿšžž¢¢£œœœ›žžžž›™™–š’–”™•˜“””’‘’’Ž†‡……„†‡ŠŠ‹ŠŒŽŒ‡‡‡‡‡ƒ…„ƒ‚ƒƒ†„†‡ˆ‡‡‡†‡‡…†‚‚ƒ…†‡……‡ŠŒŽŽŽŽŠŒˆ‡…ˆ†‰‹ŒŽŠ‰‰Š’’‹‡††„ƒƒ€€|yvfWLACEKKLJJJHGFFO\|ª³¹¿¸½êóùüýþýüøïâÍ¿³ —Œ‹sziefy‹Œ‹ƒ{sp`[UQKE@?@BEA??@HfÒðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûõð໡[8/--.-,,-+*'%#"          !!!""#"""###$$$%$$$##$$$$$$$$%%$&&()*+6BEDHUWpnnno_UZ\SLLKE@>:977531347:JUUGGGECQ\ZZH?9/+''#$#####$##$$%2LUVVVYX[Z\]^_abffhfggfcdeefhjjjkjhdheffffgffgihgefceeedigiijgjiijiikkmjkijijhhgmjllooolkikkooliklnmmnnmmkjgkkjdhggffeggjkkkmilkmlmllllllkjijiijggghgghfffffjiigmjmjS>:8DP_moqqovqqmojkhhhjjjjljjjlkjjlmomnhijmf‘’––—™ššŸ——–—•”•˜—›˜˜˜š™—–˜–•–˜šž¤¡¤¦©¢¥¡££¥¢¥¡§ žžŸžžž¤¤¥¤¥Ÿ¥Ÿ£££œ›š™˜™˜™”–“˜˜˜™™——”’“—–™‘ŽŠ‰ˆ‡†‡‹ŽŠ‹ŽŽ‡Ž…‡†††‡†„‚‡ƒŠƒ‡†‹‹‹Š‰ˆ†††‚ƒ…‡‰‹’‘‘‘‘ŽŠ‹‡‡ˆ‹‘ŒŽŠˆˆˆˆ–‘’ˆ†ƒƒ€€€|xxgXKCELKNNOLJIGFIWy¦ÄÂÀ¸¯ËêõûüþþýøôîäØÎ°˜Œ}wcZ_j~ŒŒ‚qn\UQOIC>?GMHDDBAHjÕðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûõîß·šW6.---,)('%$"!      "!!!""#"""""##$$$$%$#%&$$$$$%$$%%$$%%&&*-7?AFTie`WXa_^\aiNB@BBA?;::7777789::<F][USSD<J_QGA<1*'%%&"$###$$%$%$#%6MSTTUZY][____eegfjhiihceegfiillligghfhghiighilfddeeeegghhiijhjjkkllmlmkmmliiijjmmnmpnolljkkqlkkqmnmnoppqkkilljfjgeddegjqmllnlnmrnmklmrmlmmjkjjhffghffjfffnilikhmkpYB44@Qbvnvttrvqupoljiijoopkmlliokjjqqsnohjkog‘‘’•™š™™™™˜˜˜–––—˜˜˜š›ššš™˜”––—™œžŸŸ¡¡¤££¡¢¢£¥£¢¢ Ÿžžœ žŸŸŸŸŸžšœš™™œ™›š›™™˜š””•””ššššœœœ››˜—••’‘ŽŽŽŠŠ‰‰Œ‹‰‹ŠŒŽŒ‹†………†††‡…„‚‚ƒŠ…††‡††‚„‡ƒ€€€‚ƒ‡ŠŽŽŽŒŒŽŽ‡Š‰‰ŠŒŠŠ‰ˆ††„…„ˆŠ‰‰ˆƒ€€‚‚€|~xwsfYODGLNPONLJIFHSq£©¯¸Èº²ÑñúüþþþùôóïçØÈ²•…zfc^gu‡ƒ{tkaUQMJFD=APPQRTNDJmÝñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýúôíݹ’S4-+)'&$#!         !!!!!""#""""##$$$%%%%&%&$$&%%%%&%&%&(+.14@OLSX][[\Z]fedLEA;7568656865569@<=>BJQ]d][P@;XOA70+''$%##"#####$$#%%%&8NMOSSVWYZ\\_`bdedeeebgdfgggiiiihfffgfffhigfhifddbeeddffhfgghhjgljkgmjjjkjiijkjjlmnkllnjjkkkkhjjjjllnoollkjgggggggddeeilllmnnklnmmlkkkkkmnjgihhgfdfhhhdbfggghhiimhZF;2?L^nmnooqqqqrpomlkklmllkjjkjihkjqpqmlilnng“”—›¡›ŸŸž™š™™¤œ¢œššŸ£››Ÿ™š™žž¥ ŸŸ ¢££¡¡£¤¤£¤££Ÿžž›© ¢Ÿžžž››œžŸœ¢œžž š˜™›››žœ›››¡ž¦ž˜˜••––“‘‘•’”Œ‹‰Š‹‹ŠŽ‹’Ž‹‰†ˆ…ˆŠˆ‡„ƒ„…†‹ŒŒ‡‰†‡‚…‚€‚‚ƒ‡Ž‘™’’Ž’ŽŒŠŠ‹Ž‹‰‰‡‡…„ƒ†…‰ˆ†……„ƒ‚‚‚ƒ…‚ƒ|~zywtj_NFGPORONMMIHNf‰ £®ÂÔ´¼ã÷úýþþ÷ðóõðêæßŶ”ydr‹ˆ€vldZSOJHFF=CMddghbLLpÜòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúóìÛ¼‰M.(&$#""      !"!!"####"#$#%""#$%%%'&%%%%'$$%%'))('''(0:FTW[TMTo\UXs[dPE<40.--021/./23477<>=ERQ]\]^aZQ<:HF5*)%&'''$$$%$&$$###%$$'9MPNRSUVYY]\badbfeeeddfehiliihiheeigiffejgfgheddedhdcdhhhhiglkjimjkjnlrkkiijkmpjmlokkkljollkjjojjjpmqppklllgghlkpecefhnmmlommkklnlllokjjmjgflhhhhefhjeabmikhiiijq`O;6;I\nosnqoqpssspooppopplmlpmmihiomqqppqqrnmi—˜š›œžš˜›œŸ£¡›¡ žŸ¢™™™ŸœœœŸ¡ ¡££££ŸŸ¢ Ÿ¥  ¢—™•œš›œ¢ Ÿž¡¢£ŸŸŸžžžœššœœŸœœšššŸŸ œ—–••–—–’‘‘ŒŒŠŠ‹ˆ†‰ŠŠŠ‰ˆ‰†‡ƒ‚‚‚ƒ‚„…„…‡‰Šˆˆ„„€~…‡‰Œ’’’’ŒŽ’Ž‰‰‡Š††„„‡†………„…„ƒ€‚‚ƒ|||||zyj\PDHLOPNNMJHIZy†‘§½Â¯®ÕðøüýþõìóúöòðìåΤ¡Çƺsz‡~qg\XROIGDA<BJ`lt{gQNrÜóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüùóìÙ¼E(#!! !!"!! !"!!!""#########$#$$%'&&&&&%%%%%%%'.6=3/49:>N_WQYVSQm\PHOYH92-*''',0.,+*.2479:?BFLTUZOOPQSB45G6*,-,-5A0&$##""""""###$)=JPNSSTWXY[\```_aba_cdddihhiigfeeefeddefggghhceeeefdefihiefgggkijjkiiikkkhjmmmlijkokkkkjllifhikjjjlkljkhgghghhkihcehiklmmmmllkkklkkklkjhhdeflhheheeddbcdihjggfkmcRD8>FXmklnllmnnooomoqpponmlllmmmeikmnqqqpqmqnlh šœŸŸžž™œ¤¥¦£¡¡¡¡¡žŸž£¢¢œ ¤¡§¦¦§§¡¡¡¢žœ ¥ŸŸ £¡ œ£¢£¡ ¡¡¢¥¢¢¢¢£¤¦¦Ÿ£œœ¡žžžžžžžž¤ ¡›œ–—–š–™”“‘’ŽŒ‘Šˆ†ˆŠŠŠŠŠŠ‰‰€}ƒ„ˆˆ‰„†…†‡‹ˆ„…}ƒˆŒ‘•’“’’Ž‘‘’’“’““ŒŽˆˆ‡‹‡‰„…„‡††……††„„ƒˆƒ„…‚ƒ„€}{vj[NDGONOONLJKN`m€ ºÉ·Ÿ¹âñùûýøòõùøøôñìݪ´ÒâØÎr‚|mbXVQOJHB?;>H]m‡€vVQuÝôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüùòë׺w?%! !!"!!!!!"!#######$&%$#$$$$$%&&&&'&&&&%%%&%)>`L?DTQMSe^_WmQ<IpYM;861,&%$$%'++*)((-38=BCFMRP]\]KD@<72//.+,05;=HD6+%#%"#"!"##$#$+@JQNSSSUXX[[c_^_a``_dcceiiiiiffeeegecdhghgjgfdihlehhjjjjjfffiglkkjnjkkkkkkllrmkkpmnkqkjkljfegilllmmklmnhggjhjilgdbfimllmomnlqlnkkkrlmkmhjbcglijihfkdfeeelijgghlf^H=>HWlmnkqlkmonmmmnsssppnmlmmnmlmpnppsqrqsrrnkh—˜Ÿ ŸžžŸ¢¤¥¥£¥£¡¢œœœœ›˜š™›ž¢  œœ›žœžžŸ¡¡ ¡¡ žŸŸ   Ÿ ¡¢££¤¢   ¡¡ œœ›¢œœœ›œŸžžžžžžžž›œ••””•˜’ŒŒ‹ŠŠˆ†‡‡‡Š†„ƒƒ‚~‚ƒ†††……ƒ„„„…‡‡‡„„„А’“’‘”‘’’”—“ŽŒŒŒˆ„„……‡…ƒƒ„……†‡†ƒ…ƒ‚‚‚„„ƒ‚‚‚ƒƒ„|yvi[PDHOOQQPLJLPZf‰´»Â«š¼éöúüú÷øøûý÷òéà®´ÛÞãÕª’„|i_WSONID?=;=DThwyYRxÞõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûøòëÕ¼q<#!!!!"""$"!""#&%%%$$$%$$#$$$%%&&'&&&%%%%%$$$$-F]X[]Tt[__]TLML97?F7*)('%%$$$%'((('()2<GQNLMSQNLID>60-+*)+*26>HFEEE;1&"""""""#!"#%.BIMNPPSTUVZZ[\]__^^^dbcdeeefecedfeffeeffffgfedhggehghhhhgggfhgiikkkjkjkjkklllikkmmnkkkllmhfehilklllklmkhhhihhigddcimmjljllnlmjnlllmlljiic_dfhgggiddcdeeehggghhj]O@ADUejklkmllnnfhjmnpppppnnmlinlllnmqppoqorsrmlh˜šŸ¡ ¤¡¥¤©©¨¤££¤£¥žœ™˜’“•›¢ ¡œž ¤¢¢¤¥¤©¤¨¢¡¡¡Ÿ¤  Ÿ ¡§¢¢   ¥ Ÿ¢ŸŸ¤£¢Ÿ¢¢¢›œž£¢¢¡¡ŸŸŸŸšœ—–•”•˜‘ŽŽŒ‹‹ˆ‰Ž†Š…„ƒƒƒƒ‚ƒ…ŒˆŠ††ƒƒ„Іˆˆˆƒƒ†‹•“™–•“”’’’”––“‹‹‹†‚ƒ„ƒƒ‚…‰†††‰ƒ„‚ƒƒˆ‚„…‡†Œ‹Š‰‡…ˆ„{zk]NEHPOPOOLKLO[u–¯¸¿›Ìïöûúù÷ôøýú÷îÚ¾¶ÊÕÝßÞ×´Žr[SOONFB><;<AL^o€~ZSxÞõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþû÷ðéÓ¾m9#""""##"######$$$$$$%&%$%&%%&(&(''&&%%%%%%$$$0Qv]j[WbYaicVKW=-,-,(%$$$$%$$$$%&&'''*<I]RdYVSRCA82-)''*,-/3BGPLDDUFB.'!#"!!!!"!""&2CJNORPSSTVYZ[Z]]]\\^cbddeeffedjgfffffffimijffeihhgfhfhmllgigkhhjpkljmnmkomlkmjkjmnnnnmpmlhfgiillrlllpjjefhkkkhgfegppolllmlnmonomooplmjke_blhjklgjeecefifigggmhiVGCFRffjjnmmklnnbbippqrrpsoqoqlnnnnomrpppqoqrroljš››œŸžžž¡¤ ›¥¢£¦¤Ÿ›—•”“‘‹ŒŠ–—¤¡¡Ÿž¡¡¡£¢¢¢££¢ ž›š™š›£ž ŸŸŸ¡ ¡žŸž¡ŸŸ¡Ÿžžžž›———˜™™™™š›ž™˜—˜™”’”ŽŽŽŽŒŒ‹‰ˆ‡…ƒ‚„‡†…†ˆ‹‹‹…††…‚ƒ„…„„‚‡…‰Ž’•’”“’’”ŽŒŒ‰‡†„‚|~€‚ƒ…‡‡…………ƒƒƒ„„„ƒ„…‡ˆ‹ˆ‰ˆ†„…„‚€}xj[PEIOOOPNLJMTh†›®«¢ ­ØóùúûöðöýüüñßÎÈÄûÕÞåݳ†dOLJHDA><;<>HVm{~[RxÞõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúöïçѽh8$"""""##$####$$%&%$%%%%%%%&&&&&'''&&%%%%%%%$%3Ye_bWVo]igq^G:-)%&&%%$#$$$##$&'+-+&(-AMMNSXJ@80,('&(%,149;<HWQU=6760)$!! !! "!!!"(8FIJKMMPSTXWVYZZZ[[\^cbbbcccceefgggghfehkkigefdjihfghgfffhggfkijkkkliiiiionllkkjjmmnlllkkliiiijmlmiiiiefcghiigeeehlkjjhmkllnkmlmlnjjjkifbdffgikjdfedcegfdffghgbZLJHSaefihnlmjih]Sbkoppnrprnnnnlmmnnnmmmmlnopqronnœž¥ž£¡Ÿ›¤¢¥¦¦™“‘Œ’’’ŽŽ˜ª©¨žŸ ¡¡§§§¢££¢Ÿšš˜™›ž£ ¡    Ÿ¡¢££¥ŸŸŸŸ  š”’’’’—•——˜—˜¢œ ™˜—•”““–ŒŒŒŽ’Š‹‡…†€ƒŒŒ‘ˆ‹Œ‹Š„„„‰†…†ƒ„ˆ‘““—’’“”‘–“•”™““’“ŽŽ‹Œ‰‡„……ƒ~}{}‚ˆ‰‰‡‹ˆˆ……„†„„„‡ˆŒ‹Š‰ŠŠŠ†…„…ƒ†ƒ„…†{k^QGIPOQOOLMYczŒž°¥Ž—Ãíöùû÷òóôùýôëäÝÆÃÄÏÛßÜÛ©nOIHGDA=;;:=DRl}}[QyÞôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúöïæÍ»d7%#""#$#"##$$$%%%%'%&%%&'&''&&''&&&&'''%%&'&(&6`seqVUTUiefe?-(&$%$$###$#"#%-75787('.SRSEDA=1($"#$)-17>E?>FPRQ?/+*'%#! "      !!!)<HIKKOMPRUVVUYYXXY[^]cbbbdbbeghggghkhgfkkkigfggjjkhiilghfiffgkkmjjkliiijlonmllkjjonnllkjjllljqlmlnjiiifffihihfefhllkkljmlmmnkmlpknnnimhfekijiihhffedfjgfdggjhh]TNOVbejihglmmii]SXlquutsrrrssssnpopnpnnlklponoroomœžž ˜ž›Ÿ¡¢¡Ÿ›“’’““–—•‘’’™›šžŸžžžžžž£ Ÿžœ››››Ÿ¢š™—˜™¡¡ ¤œ››œœœ˜——–•—™—›˜œ™—š™œœš˜••””“”ŽŒ‹‹‹Œ‹‹‡†‡…‚ƒƒ‡‹‰†ŒŽŠ†…‚……………„‰Ž‘•”“”’’‘’’‘Œ‹ŠŠ‰ˆ†„‚€}}{€†ˆˆˆ†ˆˆˆ„„„„„„…‡ˆ‰‰ˆˆ‡†…„„ƒƒƒ„„ƒƒ…~{wkaTGIMOQONPhpz‹”¡¦Šw™ãð÷ûøõðëõÿøðæÔµ´ÄÕÙÙÚÙÕyQLGEC@=;:;=ENb}tZOwÞôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúöîäʹ`5%$###$%%&$$%&%%%%&&&&&'&''('&&&&&&&&&&%%'&&&(6f`WSECEOhZTB/)%&#$$#!##$$&*29@EIO8+*.;;72.*'%$"&(2BCF=WMC>QB:2+'"!!!      +?IIIILMQPRSRQSTVWZ\]]dbbbcadihihgijlgggjjkhgghhjjiiihhfgfgghhkkkijjjiiilnnnmkkgjjllnokgiimmljollllhiihggfhgfdeejmmmllkilllknjklkkkkmilgggggjjighfffghgggcfffc`ZVRZbdgghhflmkecT]hnsvqrppqrppqsnoopnplllllonnnponm ¢¢¡  Ÿ Ÿ££¤Ÿ›šœžŸžžœ›¢š™›Ÿª¢Ÿ¢ž¤¡¦œœ£››™™——––™™œž¥¤¤›œ›žžž˜›œœœ™˜—˜œ™šœš›Ÿš›—š—˜’”ŽŽŒ‹ŠŒŒŒ‹Š‹‡Š„ƒ„„†‰‰ŽŠ‡‡†‚ƒ‚†„„†‰Œ““—”••˜”–‘“ŽŒŽ‘‹Š‰‡ˆ‰……€€~~€…‡Š‡ˆ‰‰ˆˆ…„†ˆˆ‰‰ŠŒ‹‹ˆˆ‰ŒŠŠŠ‹ƒ„…ˆ„ƒ€~{zpeRFHMNOOTfƒ†˜¢“ks­ãòùùùôîöýúöìϺ©¼ØÕÛÚÚÙ†p]QGD@=;:;?FLXfpVNqØðüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúõíãÉ·]3%%#$$$$%%$%%%&&%&&&&&%&&'(''&'&'&(&''&&&&%%&(6OWGC817LON=/(%$&$$###$&(,1:JIZNMG;2)*60)&#"!"%'-6?IKFALW@?93,$"      " .BIHIJLMQORQOOPRUX_]b`ebddccihmllnommimgnkjjkhijmmnjkiigghklmkkjplpkiijkpnuoqkkjjkolnmkikiqnqmomlllhkjjhighfecfjsnponmnlllllnirkiikklijiogiinllgifefliihmdfff`_ZY]hgigjjjkllje^_nostƒqwvvqrszttsrpppqmnllmommntqun››œ™™˜œžžœšš››Ÿœ›› ›š››œ—š—™š  œžŸžœ››š—”–—˜˜—••–———————–”“””””•–œ™™˜›œœ›š›œš———˜–“ŒŒ‹‹Š‰‡‡‡ˆ‡†……„ƒ€ƒ†…€~‚‚‚„„‰‘‘”••”••—’’ŒŠŒ‹‹‹Š‡‡„…†ƒ~|‚‚‚‚ƒ„†ˆŠ‡‡‡†ƒƒƒ†‡Š‹Œ‘Š‰ˆ‰ŠŠŠŠ†Š„……‡„„‚€€}wl_SGIMNOTe€Œš¥§ˆn\f€¹ëöúý÷ñ÷üüüòÞθ«¸ËÜÚØÙµ£œŒtNF>=<>BHKNPMIHjÓìùüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþùõíâȳZ3&$#$&&%%&&&%%&%&('&&'&&&&('''&&&%&&'&&%&%%%&(1A:0-+**182+(%%%%%%#&(,2:AEGKMLLHC99'%%$#!""*/37<LMWGDDB=9.'%"!  !1CIHIJKKMOMIKMRUVX^]___`bacciimklmmmmhihmkkkjgklnmojjjjhiilmlllkkjjhhgjlooppmijjlmmlniihihklllonkkkgjijggghddchnmnnoppomlkllljlhiiihhgkihfhilmhcdefhhhhhhdedc`\U\dfffejilniggghimortrpvtvrstttsqqponnmnllmolmnommmœ™š˜™šž£žž››£¡§šš›››™˜›››žŸœšœžžœœœœŸžœšœž™•–—˜™™˜–”••——–—””•–“••œ–™–œ Ÿ žœ››œ™˜———𓓐’Œ‰ˆ‡††Š…„……„‚€‚‚‚~}‚„…‡Š’š”—–•–––˜’–ŽŽ‹ŒŒŒ‹Œ‰ˆˆ‰„„€|‚†Žˆ‰‰ŠŠ‹ˆˆ††…‰ˆŽŒ”””‘‹ŠŠŒ’Љ‰‡†‡„…‚ƒƒ…|vneTHHKMU`yŠ«ª©‡hZVj’Ðò÷ûù÷õôùýöîÞ˳§¾ÙÛÜÞßáâáÌŠWG==?DNOIFA?Cd¿ÝñøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýùõìâÄ®W2&%%%&&%(&'&%%&&&''&&&('((((((('&&'''&&''&(&&')**(&&&&''&%%$&.3+()-4>AQR[WUQKIF71,%$$#! #-:BMKGNTNF6-)&$!         #6EJIJJLKKKKHHNTUVX^]``cccbfcijnkpoqnmjllljoonoposmojnkmklioosnolnjkhhimotonmjjllnmmmmjijllllnlpmkjjjjjjiogiddejmoooosrunlkmllkojkllijhligfgjkigcdffhjjkijfhded[Ycchhhgjkpjdflmtrqqrrqpuuvtttvvvrvrqnonnonmplkmolmmš—˜—˜›œ›ššœ››Ÿ ž˜š’–“›•š ¡ ž›žžž ¡Ÿ›ž   Ÿžž›š™™š›žœ›—––˜–”“”—•””–˜••–™šššœ›œ››————“–•“’‹ŠŠ‰ˆˆƒ‚ƒƒƒ„†ƒ‚‚|||||~‚…‡‹ŽŽ‘‘‘‘މЋޑŠˆ…ƒ€€€‚ƒ†‰‹Œˆˆ‡‡†‡…‡‡‡‡Š‹ŒŒŽŒ‘“‹‹ŒŒ‘Œ‹Š‰ˆ††ƒƒ‚ƒƒ|yqgWIIMR[j„¹¢‹s[VWw¯Ýôùûüôìõþû÷êÒ¼´ªÇÚßäèèèëëÝ“WF>@FO]NC?<C_µÒèõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüøôëÛÁ¨U0&%$%$%%&&&&&%&'''&&&&''''''(('''''%'&&&&&&&&'(('&%$$$%&$##$-=969=AF@EQVJ?<:5/*'+*29.*&#*AETINJNGA3('%$"!!%;GGIJJKKKJIHLPRSXYZ[]^`abbbciillnmonkilkkknnoooonmnjjijjjkponlpjjgkiijmonkokkkkklmniklllkilllklmkhhfhhjiigfdghikmllmppomkjlmmkkjjiigjhjhfehkgcc`figeeegfggfbee_]_`cdfgjmmehklmspppqqrnqquuutttwqsrqoooonnkmmmlollk™™™˜˜››¤š™šžŸ›™š›ššœž £¤©¤¤¡¢¢¢ £££¢£¤¥¡¤  žž› ›žœŸ š™˜˜˜˜–•••–•”––œ••–›š™™œžŸšŸ—–••‘Ž‘“Š‹ˆ‰€‚‚‚„‡ƒˆ{|yx{€‚†‹Œ‘ޓސ“‘”““‘Ž‹‰Š‹”Žˆ†ƒ‚€ƒ„†Œ‹‘Œ‰‰ˆ‡†‡‡‰‹ŒŽ‘“ŽŽ”’’‘ŽŽŒ‹‡†…ˆ…ƒƒƒƒ‚ƒƒvjVIIMT]pˆ›œ˜lVT]‰Ìî÷ùüøõùýüûóêäÙËÂÆÊÙåâßáãâÚˆSHEMRZVC=<C]©ÓåóýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýøôêÒÁ¢R/&%%%%&&&&'&&&&'''&&&&(('()')(&''''&'&&&'''&&&'%%%%$$$$###$+5FJJHOSB?FTFA3.*&#"%-7ED::@'1IKLLIG9-($#%'&$"  !)?HHJMJKKJIIKQPRSYZ[[^]`afejiijooompljiklonqosptqpmnnmjjlssqnomqjjijknmrooonnonpkkmoilmqnqlnmnkllkiifjhpjjfeglmopqnqmqpnlklpmmllkmjjjjjlhggmihbdegijegfhgffedhde`cccbfgkkkhonposqwrttsqvtzyxvzuxwwsqpssronmpnpppmll™˜™˜——›››•™žž ŸŸŸŸ¡¡¢¤©¦¤¢ ¡¥ žžŸ¡¥ ŸŸŸž››š™™™š™˜—–•’‘ŽŒ‹Œ”‘‘‘’’’••–—››š––’“”‘ŽŒŒ‰ˆ†|€‚ƒƒƒ‚‚~}{{xz|ƒˆŠŽ‘ŽŽŽ“”Œ‹ŠŠŠŠ‰‡…„†‚}€€ƒ…‡ˆŠ‹‹ˆ‡††ˆˆ‡ˆˆŒŽ‹ŽŽŒŽ‘’’ŽŒ‰ŒŒ‰††…ˆˆ†„†††…ƒ~rfVIJNT\w‘œ¯£}ZTXb–ãñøüüýýüýþûöñêâÊ®·ËàÙÊ¿ËÞàÀˆgb]^aWF>:B[ ÖãñúýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýøóéÐÁ™N.'&&%%&&&&&&&&&'''&&&''&(*(')('''('''&&&&&&%%$$$$%$$#"#$).15C\RRHZL>BE<1+%$"#"&)9KNXJG;+1NA;61,(&!##0F?;-# #-CIIJJKIHHGIKOPSSVXY[\\`bccefhkmllmljjklmoooopprpnjihkklmqspmmlkiiiklmmmmmkllmmqkkkkilmonpoolkijijjifjihgffgimmnmnnrknnnjlllkkklkkkjiihhghhhedbefghiddcbbbbecb`^[[[\^beefhhkmnoqnrqpnrprrrqsrqpooprqnomrponomnmnlmm™šš—–š¢ž£ž¦ ¢ ¡¤¦¦§¤ ¡¢¡   ŸŸ¡¡ ¡  ŸŸš™™šš™——˜—”•‘“ދЋŒ“ŒŽ’•””–Ÿššš›™™“”ŽŽŽ’‘‘ŒŠ‡ƒ~€Š‚†‚‚€}|}~}~„‹‹’”‘’‘’”‹ŠŠŠŒ‹ˆˆ†„…†ƒ‚‚„…ЉŒŒ†„„…‰‰‹“““ސŽŽ‘‘“’’ŽŒ‹‰‰‡‡‰†ˆ‡Š‹ŠŠ‹†…{qfTHINTm“ °ÆŒ`TRWp¯äòúûýú÷øùùúõðëàÀ®¼ØÐÿ»ÛÞ϶²­“}m`N@?CZ—»àîõúþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýü÷òéοK.((&&&(((&%&%&&'''(')&''((((((('(('''(*'&&&&$$$$#$$$###-<@ADIYVQJIF4,+)&!  !$+/8IRUWVH7,131+%$##$#%/:FE?8)" !   %2FHKIIIIGGHKKOPSSUVXZ\\`addggilnmmmononssspqoqrwoljlkoopoqqolmlklljlmsssllllnrprqqjkipnrqtrtlkiijkjmjpjighgjlpmonnornsmooommklkomqjkjmhkijihddclhjiiccaa`_`dcd^ZYYZ]^abcejillopvptrqmqptqprtqnmkklnrrrnrqoosnpnrqqm–—˜—™›š™š›œœš˜•”“•—•Œ‹‰ŒŽŽŽ‹‰ˆ†ˆ‰‰‰Š‹ŽŽ’”’‘’“••”’’’‘ŽŽ‹‹‹ŠŠŠŠŒ”””‘“•”‘ŽŽŽŒŒŠ‡‡ˆ†…‚€€€‚‚‚€~|}}~€†‹Ž‘Ž‘ŽŽŒŠŠ‰‰‰ˆ„„ƒƒƒƒ‚„†‡ˆ‹‹‡†………ˆŠŒ‘ŽŽŽŽ“’‘”ŒŒ‰‰ˆ‰‡ˆ‰‰‡‰ˆ‰ŠŠ‡‡†……~wl`UKMOd–¡¯±žkURRcºì÷úý÷òóôøýøóñ騫 ²ÁÀÁÉØÙÛÚàÙÓ¤ygVJHPZŽ«Þëñ÷üþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýû÷òè˼‰G.('&&&''(&&&&&&&'((''&'((())**++++****))(((('&%%$$*/+&,;AVP]NTQO=2+&$#"!""(-4<BFO[SNKI0$&(&!"#(,/17DISLD5," '7FHIIGFFEGIKKNOQRUUXY\\`adefgjmljjkjhmmqppnonqqrlkhklooonqpplmmjijknoronklomnopolkjjjnoqpspokkhiljjlkjhgfgdjnmlllmonllkolnooijinjigiihhgghgfbcdlggheba_``__cbc]ZWYZ^_aaceffhjklllhenmmnpppimpnlkeeegiijkkklkkpnopon—™š—œœœœ›˜”‘Œ‡‰‹„|upliikmnnnmlheginponlknquz‚‰ŒŽ‘”””‘‘’“ŒŽ“‹‰ˆˆŠ‹‹ŒŽ‘’’‘Œ‘Œ”””Œ‰‰ˆˆ‡ƒ‚ƒ‚ƒ‚‚‚€~~~}~ƒ‡Ž‘ŽŽŽ“ŽŒ‘ŒŒ‹Œ‹‰‰Š†ƒ~€„ƒ…„„„„…ˆ‡‹‹Ž‰†‡‰‹’’“’–‘”Ž”ސ’•’’“—”“’”ŒŠ‰ˆ‹ŒŒŒŽ‹Š‰ˆˆˆˆ„ƒyumfZONZ~¡¦­¡yZRRVk’Îñ÷ûù÷õôøüú÷ôìß­ž˜¨¿ÁÓÔØÜàæêÒÈ€taRW_k‡°ÞåäìóùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûöñèȾ‚E.('(('(''''&&&(((()''''()**.02356531/////.-,+*)+,.3>G*0CGNPPL>50,'"!!  %(-4?TJXWWVQIB6)"!!  !*7?NIHPXYYB5*#!    *?FHHFEFFGJJMNQPQTVVXX[^dbcfghkmljjjjklnvpsnpotuulmnpppprrwppppkhirntptonmnmmowqokklomsoupsonlpjjkkkmiheefggklmlmlmnomkkomnoplmlmiigjhggiijgedefkgfecbdad^^`cab]]ZY]bbdabeifgilhe_[dlnuqupqginqljc\^acdeihlklkqpppnn•›š—–“Š†ytpmjgfeedcbabcdfhgfk[^TZVdcccbab^_behmtz…‡ŠŽŒ‰Šˆ‡††ƒ‚ƒ‚„†ˆ‡†ƒ‚„†‡‰‹Œ‹Š‰ˆ‡…ƒ‚~|||‚‚€~}{}}ˆŽŽŽŠŽŒ‹‹ˆˆˆ‰Š†‚€~‚‚„„„†††‡‡‰‰‰ŠŒŠ‰Š‹‘ŽŽ”Ž‘””’”••–’ŒŒŠ‰‰ŠŒŒŒŒŠ‰‰‰‰‰‡ƒƒ}zvqo\LTh}ˆ“¤{`ROSXw©Úôúûüøôøûûû÷ñäĦ——¬ÅÊÑÕÝãçßЬƒvqrurrˆÀØÎÃÊéõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûöðçÇÀ{B-''''&((('&&&'')(((''')*.2469@=<<<==<998521/3<::=?DK@,.WCIA;4,)$####&*-3;GGHPFKPIB7,)'# !%)/8AKLAIWIA<4+#!  !.DEHGFFGHIJKMNQPRUVWXX]_`adfijkmkhjjkloppppmonmnnmmmmmoprtsoomljjjmmsponpqolmomlljlnmlrooonlmkjiijjihfecfgijklmllknmoomlolnqnmmmniiggffgjf\Xfeefjggcccd`]Waec`_\]\\_bcd`beedc`]VSQ\hlntopmjfikkkic_]^_abedliihlmnpol“‹ƒ|vqkeb_`abaa_bdeeeeimoptvmifeccbaaba``b^^^^aaejpw~ŠŒ““”Œ‹‰‹‹‹‰‡~|z|~€}~€ƒ‡ˆ‰‡……„……}}}~}€~||~ƒ‰Œ”’—”ŒŒŒŒŒŒŒ‹ˆ‰ˆ‡…ƒ~‚‚„ƒ„†Š‰‰‰‰‹Ž’‘’‘‘‘‘‘”””—™˜˜—–‘Ž‹‹‘‘’”–•”””’’ŠŠŽ‰‡„ƒ‚‚‚‚wlZNWcoxxwZROPR^‡Èæöøûúùúüùöö÷îÚ·Ÿœ¢¨¦µÓÛâå͹ ‰€‰”’‹w†·âÀ«ÍéõþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüõïçÇÀw@-''''&)))'(&&''()()''),5@BCA?AB==?D><:><:::9;CHIZYYL:*,;C4)'%"  !%)07;>BLPYTRAC:1+%"!   !*7<@DIJPHOB91+'!  !  ! !!"1EGGHHHHKJLLNNQQRVXZ\\_``bfjpppkjjmmprtuupqrspropnqrrrsqttsoqmlllnrrspqntqsmlkkkmlpllmroqmllpkjhlijhheffijoksmnmommlonnmpnronnxmnoonnijilZQZfhjjjggdhce`[[ceb__]`^__dddcccc_]ZSOMTdgssuoqjhellkjjdc^^^abgflijjmlkoqmqieba``_^^`deeffghkomlnpryu}yzqqqrheeedcdedcbaa`^\abjp‚‡ŒŽ‹‰…„‚~{yvsqrstuuutrrrsvz|„„ƒ„‚…}|z|z|x~z€}€„Š’’’‘‹ŒŒŽŽ‹Š‰‰ˆˆ…„‚„|~~‚…„€€„„‡ˆ‹‹Š‰‹Š‹ŒŽŽ‘ŽŽ’‹Ž‘“”—›™–˜˜–Š‘‘’••””——•’’‘’Œ‰ŠŠ‰‡‡ˆŠŒ†}tl]PUX_d^SPMPPWaÙîöùûýýþ÷ðöüòäÏÀ­¨¤Ÿ®ØÝÝͳ¬Œ‰˜½Ñ”h{ª°³®ßêõýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüõïæÆ¾q=,'''''''(''&&'((((((*-8DJOGCCCB>?@?<;<@@ADFMQVPIMNLL3&'('$$"##%'+0<MI[NMJMD:50+'$!! "$'*+8C[NNDDA>6,'"!  "$8EGFGGHHKKKLONPQTWZ]]]`bdehlmkkijjmnrrsrqooproonnnpppoopqrsmmkmnoqrnpnnoqmmllmlllklkmnonnjmlkghhkijdddfgjlmknmomommmmmnlmmmmmnnmpqmljhijXIWijkjfgffba^_\]adg`\[[[\__``___`^YYWLDQ_adfhkkhdddca_^^_\Z[[\^cehijkkdWPjk[[\]``ddbbbcefoitnrpupxrsstvxurrqmjhjgpomgkfihh_\\^afs}„‡Š‹ˆ€tpliggiijlnnnnmmnnsvy~‚††‡„„|~}~}}||}€„ˆ…†‡ˆˆŒ’Ž“’Š‰Š‰ˆ„…‚„‚ƒ……‡…ŽŒ‹ŒŒ‘ŽŽ’Ž‘’’’‹“˜——™–›˜—’‘•˜—›š›™™™ž™›–˜”““’‹ŠŒ‘’“”–ŽŽ‚€yr_SPPRSOMNOOPVi£Þï÷úüýþ÷ðó÷õòíá³³¦’´ÏÙãàߪ“°×Û¡mf…¥«¨ÌäîöûÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýûôíàÆ¹j9+(''&'))(''&(()()((*.8HQWQKHGDABBA>>>FHJQPOQRV^HMIF:,# !!!!"$(.8BGMNJSVKG:5.'$!! !#',3=+/@GNSE;40,%" !  !! !"'?EHFFGHIKLOOPPRSUX\\^_bdghjknkjknkonystppnnoqoonnotpoooqrrsnooooqrsnrstqwmnkllmmnlllppttvjmkjgihljjehggjmnqppnononqnnnnlmkklmmppuomkhhm]LMblnllhiefa`abZ_bgb]YXY^\d__]]]a`\WZSGI]^bbcdheecda`]YYZYYWUWZZacikoprfEFalXY[^^`aaa_acdegijijjihjljjlmmmkhhgfefgghigjfhhfddeimu€€‚‚‚~zvqkc`_bbddfgijihjhlmprvx€€†‡‡‡ƒ|}}~}~~€ƒ…†Šˆ††‡Š‹Ž‘’’‘ŽŽŽ‰‡„„‚‚ƒƒ‚‚„ƒƒ„ƒ…‰‹ŠŒ‹‹‹‘‘‘ŽŒŒŽŒ’Œ‡ŒŽ’”——••–—›˜—•–ššš™™šš››ž˜˜——–—˜“‘‘’“•”…ƒ€yoaROLMMMPOMNP]t­åôøûüý÷ðñó÷üôêÒÍØÑÁŸ’Ÿ¯ÄÍÝÉÆÈÝÙ®ukoz€’²Ýàï÷ÿÿÿÿÿÿÿÿÿÿÿÿÿþýüúóìÜÆ²c5+)'&&&)((''&&'(((((+/@Ra[TPLKGCCEGFFLZURS^OFJND61-+)%!  $+3<>LNWMTFLE>3(%#"!""&*2=?N4)2[C>;8-$"    #+AEFGGGJLLMPPPQSUXZ\\_`ceghijojklnjmnrqqnpmnnpmmmnrqnmknrqpnmnmnnpqpnqrrrvnlkmmnkngmmponlkiiiighhllhcggikmlllnmmlonmlnnnkjhllmnppqmnihggQSXemlkjhjbcaaa[V]_\UXVXXZ[\\ZYYZ]_[SSONL[[^__`bbcde_SHB=>?EMKKQSY^ekooqdVOioYZ[[[]bafedbbcccdeeedehhhfdfihfcafdccegijjkmosvy~‚†ŠŽ€ƒ}wrolie``baabcbcegiiiknqptvy{€†‡ˆ‚€‚………„„„ŠŠˆ‰Š‹Ž”•–••”•’ŽŒŒ‹‡†‚‚‚ƒƒ†ƒƒƒƒ…ˆ‰Š‰‹ŽŒ‹‘’˜’•ŽŠ‹‘‘Ž–“™•—–”•˜˜›šœ——™£Ÿ¢ž¡œžš™˜™—š–”•––•”™”–•“‘‘Ž‰‡}wcTMJJMMNMMNSb¾ëôùûýú÷õóõ÷ôñîëé⺤‰†œ²¼Üµ±ËÜÙ¼ˆkk‰}£Ûãï÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüúóëÚǪ^3*(*'&')('''(*()('()+/E_abWTPQLGMRSTUUUnUMPTBA81+%#"! !#" !)7?>GPXOE>6/+'$"  !"%/?DFGHN1*5H>/%#!     ! $0AFFGHILLNOTRRV]]\\^`ecgflkmjonnnojrrqppoqosotllmnoqnmklnqnmmpqppqonorrtsvnnmpnskomooonlkjjijmkjhlifefillnkkjmlllolkkpopjjhmnnnpprnojkg_YZdpllmnijedbc_Z\e^ZXZYYX[\`ZXYYX\[ZRSNJPZZ`_^^ccidhVF90+)+.39AOQSYcitpqfeappohfeb``aa`aba``abcddeeefffffghfdgjnqtx|~~~ƒ‡Š‹Š€ƒwojfcaa``__`bbbaccceilmmnqqruxy{~€†‡‰ˆ„ƒ††„ƒ„†Š‰‰ŠŽŽŽ‘“”––“ŽŽŽŠ‰‡†‚‚€ƒ„ƒ‚‚‚‚‚‚‚…†‡ˆˆ‰Œ‹Ž‘’‘‘“Œ‰‡‹ŽŽ‘•—–•••”—–•–˜™™™š–˜™Ÿœ™ž››™™—˜–˜š™˜˜—™””‘”””’‘ŽŠƒ}wdSMHJLKKLMORiÇï÷úüýþøóóóôôöøñã·œŠ‹ŽŽ‘–“£ÌÑ×¾žvatƒ|–Íçï÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúòëØÄ£X2*''''(('((((((((()+,8Kbs_YSQSTUY`iijLAOVAF=40)%""""#)-,*""0KA?ISJC5-)##"""#%0:?EGNKEFJ+$2J0"!     &6DHGGHIKKNPQQUX\\]^adddeeggijjjmjokrppooopoponnnlopqmljllpkmnomlmnmppqqrrpmnnnnnjllopnmmkigjkkkjhgffgikkgjikjnkmlljkkllmjkhjjnmmmmnnjjfb]enmkkhnijfecb]`dc^ZWXXXX\_XSUXWUXWZQRMOSVXYZ]^^^^^ZJ:+*((''(.3AQSV_flnohgfhjŠˆ†ƒ€{vvvqnonnortuwz|zyzz{}€‚‚‚‡Œ’—‰‘‘’‰•“’މzslhd`]\\\]^^_aabbdefhlmplzoppprvvx|…ˆ‹‰‡„††‡„„…‡ŠŽ‘”–••‘‘‘“˜”—””ŒŒ‹†„‚ƒ…‰‰‹ƒ„‚ƒƒ…ˆˆ‰ŠŒ––—”™”–‘’‰†Š‘Ž’•››Ÿ™™•™ššœ™š˜žœœ›ž¡£œ››žœ£™œ›š¡ŸžžŸ™šš˜š˜˜”•ŒˆzeSKHHKJKKLNVt¢×ó÷ûüþûù÷õôòõøñã½›“‘††ƒ‚‹©Ë̽¦ƒus||’½åî÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüùñéÕÀœR0*''''(((())(+(*(),47@Uqr^WTXghhkmc]T?=@8,++-)&"!"#&/6;>*$#7PFIM>1*$"   "%.39FIIKKLXC91%"/*$         !   !);GIIHIIKLNPUUZ[``cdefffijjikkkjmnonrpqosqsttooosstqpmmklmpprpsopnnouttt{rnloppmnjlnvnmnokjinmokliedhkulkkmklkolnmllmllkljkijlroqmnnrkmgghqonjjjnijfhfhhied][[\[[[\[TPQUVUYXXRQRUTVVXY]]^^]]]G0(())((&&+6GVY]dlmnkigli‡‰ƒ„„ƒ†‰ˆˆ‰ˆ‰ˆ‰‹ŒŒ‰‡ˆˆˆˆˆˆ‹ŽŽ‡‹‰‡†ƒ‚€~zvspmid`]\[ZYZ[\\^_`aaaaacefnloolkkopqrvw|…‹‰…‚‚‚‚„„†ˆ””•”””““‘“•”“’‹‹‹ˆ„„ƒƒƒ…†††…ƒ‚‚ƒ„…‡ŠŠŠŠ’“–“’’‘‰‹Œ‹“˜–•š˜šš™•˜––“›™™™Ÿœœ›Ÿœ››œœšš›ž¡¡¡žžŸš››šš›šš˜—•“‘ˆ€weUNFGIKNLLRY}¸àôùûþþþû÷óïôøòçÖµŸ £˜ˆƒ†Ž¬Ïĝz{„‰“ÀãíöÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüùñèÓ”O/*'')(()*))))))))*/:BOaroZSY^inif_[KJ4(((&%,356.+058GMT7,($/R;1-*'""!"$+06DHKJXK]NB:3,$" !"!       !      ",@GHHHIILNORWY[]abcegghhiijikkklnnnnnoonpqqkspponnqponnknoropopoooooooutsmnjpqnmmknookmmlkjhkkjhhifejlpmlkkkkjkkkjmlllljkjjjloonmjnlkjjilnolnhjiiiifgfgfga_[\]\\[Z\\RHTVVTXXXRRRSSRRVWVSSSTTSG8+)&&'&)''5@[\`ehhijieedŠƒ€‡‡‡‰Šˆ‰‡‘Š‘“‘ŽŽŠ’’’’–‘“Šƒ|zwqmmlfcba`^]Z\]ZWXY\^]bbibfdeacegnkooprsuwxz||‚„ŠŠ‡„€‚ƒƒ„„‡—”Ÿ™œ——˜˜™››š””“—ŽŒŒ‹‰‡„††‰„‰‰‰……„„„‹‡‰ŠŽŒ‘”™•—“”Ž‹ŽŒ‘’“ŒŒ–˜˜˜›š™˜›š›™Ÿ—–—œ›œœ  £¢¢¡¢¡¥ŸŸ›™š›ž£¢ª¡Ÿžžž   ¡§›œ™˜˜˜™“’ŒŠyhYKEGLMMMOR^ÐéöùüýþýûøôóñðïêâÝÛǵ›ˆƒ‚‹›¶ÏÂÀ€‚¨Êçí÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿþûùðçÓčK.*(())())*))*,//-+8DNXgup[X^cujQPUC4-'#!""'2CTB:>HEDOXG61-$(++'#!  ")-3?ABJXNGIMQS9*%!         !!  ! !  #0CFFFGJKNQTW]^^`begilkklnnmnolmnoqsqpowqrqqqttvpnnuoonnntqtqrpsoqprptrxspnnmroomsrsnomrlklmlqjjhhgfinnsnmmqpplmjjlrmmllklinloopnlknkkjjlrssmpjjhkikgghjhg_]\_^]]^_bZRRXVVTYWWTUURPOPWVTQPONOUJB4*%%%%&''4C`cdglgfgjeec~yyz}€€€ƒ‡ytrw}€„~}|‚Œˆ…Š”‰zpmjgea\\\[[\\a^^]_b_\\[\_^]^baaa`acilnpsxyyxwz}}~}}€…‡ˆ‡ƒ‚‚„‚†ˆ‘–––––——™™™˜˜–•’’‹ŠŠ‹‡‡…†…††‡„„„†††…††‡ˆŒŒŒ‘’••’’‹ŒŒŒŒŽŽŽŒ‘•—™™š››ššœ››šœ™š›œžž¡¢¤Ÿ¢¢¡¡¡ŸŸš›š¡¡¡¢žŸ›ŸžŸ ¡¢¡››•˜›šš˜”’ŒŠ†~wfTKEIMMLMMVe•áï÷úüþþþüùòêïôõôìçã϶˜Œ’™šœ¨½µŒ‚ŽÈ׿í÷ÿÿÿÿÿÿÿÿÿÿÿÿÿþþûùðçÓÆ‡I-*)(*)()*+,/39A<4=JW^dstpc]bgeeB.-,)$$"""$+@OMLMMG_PWJ@AB)"#$$!!  !-;?B@<DONM<<CJ:+%!     !  ! "%5FFEFGKMRUY]^_acgiklljlnnnnonmpqqrrrqpqqpmqrsrplmmnlnnoqspqproroonrqtsqnnnmmmknnponknlljlmnkjgfeedjknosnoopqplkjllqijjkklimmqromllmijilmmnlkjihhihhfillg`[^^^^^^_c`YWUVUVVWWWUXZTPOMNNNOMKJIILE>4**))()+;Jadhkiecaeeecrqtutqnptlfb`djggijggnuvx|ƒ„‚rgecb_a[ZYY[\\^`bc`ddeed^^_^][]]`bfjowy{~~}€€~€~|~„††‡„…‚‚ƒ…‹”£˜œ˜–––˜——––‘”‹‹ˆˆˆˆ‰‹†Š††„‡†‹‰‘“””““”••••’“‹’ŽŽ“”› œŸœžœ¡šœ›Ÿž££¤£¤¤¤¡§£¥ ¥¤¤¡¡Ÿ œžŸ¢¨¡¢¡  ¡¡¤¡¢¡ š›ššœœ–—–›‘ˆ…zycSJFHLLNLNWk§áðøúýþþýûøõö÷ùûøõñæÉ¤œž¥¬‘Ž£²†}~Œ®ÖáîøÿÿÿÿÿÿÿÿÿÿÿÿÿþþûøïåÒÈF,*)))))*.258AUQKMRasjkynh]dXQD0'$##"#%'%%/XO_VRJHLNE;0*)&! "#"  !+BFXNLKMB91+/:4*$      !  !     ! #)>EGFGKOT[]_adcggmmplllqprqsoprvssuyyxtsrvtssupolpnnnnnstxpsrrrronorsupmmnnqnomqouqnknllllmokiffcdjupsqtssprqqlllqmplkjkklkpmuqoonnmiklqmlmliihggkjiinmmb[\cccaaaaa_[`XWX\XWWWX^XVRPMLLMLKJJGGHJBC=88965;GTaemigcaaeffeiijkjid`\YUQRSVY``i]ccegvqrppeeeeedceihgdaabbaa_acbbb````a`_`bgmrxwx|€ƒ~~€}|z~|‚…„……„„…†Ž——˜™™™˜—–—˜˜˜—“““‘ŽŽŒ‹Š‹ŠŠŠˆ††††ƒ†…‰‰’”•••”‘““’‘ŽŒŽŽ’”—™š™™šŸœœœ šš›žŸ¤££¡ ¡££¥ŸŸžžž¡ŸŸž¡£¤¤£¢¢¡¡ž£¤£ ¡š˜––—›–‘–—–“Ž‹†|xoaTMFIMLLMP^v°æôøûýþþýþÿýúüÿþýùòã°¯«™‡Š’’€{wƒ‘¯Òîøÿÿÿÿÿÿÿÿÿÿÿÿþþþû÷îåÐÊyB+*))(),6@DEJMW^[Zcusqr|ob`]UJB4.'%$&(.42-*3WMTZNGEC8.)%&''"$'17)!#/CEGK:0//*##$$$"            '/@EHIMQVY]_bcffhjmnmlmnooqqrqsuusuwxxwusrurqomiiipnnnmmrtrosusrsoopsupknpnknlmmporqokllmnmmojjfeairropppprppormlmmlnmjikilknmmmpjiihhlpqkljifiggedckjonc\^aaababbb_\ZZZYXZXX[ZY]WWTRMLKMILPIDDEDBBABIKLNNVadghefccbdbfhgimgj`]WTOLLMQSYacicbeipwqlquusrrnmnppyrsciccacaaaacfhijmkjllmosvy}|€ˆ‚~€€|z{~€Š‰‰‰‰Œ•“žœ›™›šššš¡˜›——“”’‘“”””Œ’‹Šˆ†…††‡†‡Š‘’–––—–š”˜’’‘‘“’•˜˜žš›››œ¡œ ŸŸŸŸŸ£¤¥¥¦£¤¢££¥Ÿ¢ Ÿ ¡¢§§ª¤§£££¦¦©§¨©©žŸš—•——›—’‘•—•‘ŽŽŽzvpeVLEGKLNNScƒÀêóùûýýþþÿþýþÿÿþüúïàÚØ¾™‡‹‰†{w}ŒœÚíøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿû÷íãÎËr>+,**(),GQYGSV]`biorvxwlbPJLLI;4.+**.5=FL2*3YTRNI7-*(%#*8/**.8EC1%$-ZE;4,'%#!       !!        "       ! " !$-8AGJOSX\_bdgijlrrronmuqrpstttyvzxwx{yytrrutunjhgkpooprqqqqrvuttssvttqonsqqqrrxnpospoopmlmqmnijfegrqvwwvvsrqrprnpprnplhhjklkplllpkmhhjpqrknjfeihgcbemjrd\\bbabfbeef^[\b\\YYYYY]\]Y[XXRPMLLQNJFFGEBBBHJQNZTebkjjcfffffgmlmld^YSQNMLOUWYZ[]ehilxtƒutl€~}uwpqmnopsvlda_`bbbcdeghikmpqomnnqvxz}~€€~}~~{|}‚‰‰‹‘”–˜œœšš›šššš™˜—•”“‘‘‘’’“•ŽŽŒ‰ˆˆ‡†…„„‚†ˆ‹Ž’““”•••–———”“‘‘‘’““–˜˜˜š—™š›œœšžžŸž ¡¢££¤¦¤£¢£¢¦ ¢¤£¡¢¤§¦¦¤¤¢¤¥¦¦¨¦§¢¡Ÿš™–˜˜œ•”“—š—ŽŒ…‚{yfVKCGMMMPUkÅîöùüýþÿÿÿÿÿÿÿÿÿÿöìèåÜ»›‘’˜¢‹z}‹žâðùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûöìáËÇl<*)(('),?dQIU]]haxmojeb^N9ALNMD:99>CBTMZP5(1693.*'%$#")39;<INTLX=*&)/4-%#!    !!! $)1<*!   !  ! !%)7DHMSW[_dfgijknpqrqppnurrqtsuvvwxwwvvvtprrrrpmkimsqopqporqrsrortttsrsoonpqpnqrqnqlnopnnmmmmjjhechkrrtssqrrrqqorlnoonnkjiknnloiklkkifjkljjjjkcaijb^chkkdY^bbbccebfib[^^a\\[YYYWYY][[YXXTPONMMLKMPJEDDGHJKOSY__`bccccbgjigjbZTPNLLMPVU[[[XY\`gtspmjkjlnopqqonjihggda^]^``cehjkpruxzwtssttv|~€„ƒ‚€€€€~€‚‚‚ƒˆ†‰”–›¢ ›››œš›šœœœ•’’‘’‘˜“”‘•Œˆ‰†…†‡‡‰Š‹Ž’’˜™˜•–“”•œ—˜”’‘”““”––œœ˜›˜ž˜™›››ž¢¡¢ ¤¦«ªª¥¦¥£¢©¤¦¤£¥ª¬®©¨¦§¤¤¦«ª­¨©§¨¢ŸŸžŸ šœœœ˜™šš˜˜”•ŒŒŽˆ†~ydTICFMLOPWsžÕñöúüþþÿÿÿÿÿÿÿÿÿû÷ôòéÕ§™£´¡–~}† æöûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúöìßËÂg:**(''(+;dKIaZW\`gnaXY[]C7=Q_XNJJDLJJQLPW1'*0+((#"""#'/C]MFLUPHHG,$#%$"      !  ",5$!"+9SE/! !   !! #)3@JPX_acgppoqrrtvyzytvvwuuuuuwx{{{xyxwvsrqrrpononvsspsqxrrswusrrszyyrstuoopuqrpnnqkloqopppnnjjfcfnotqxssrrrsqsoqmnnpnmkljoorlnookljhkplnnnmmd_bid^_fime_]fa_cieeemf`ac_`]^\ZZ\\\Z\\_Z^ZZYZTRPPPQOOJPMKHHJJQRVX\_abcceiijih]WNNNOPRSTUUUUVWX_dffc[ZY\^adeggghfhccbaaa]^`ehjmopruy~|zwttsux|~ƒ}~€‚……ˆ††‡‰Ž‘–˜›››šœš›˜™™š—–•”‘’’‘’Ž‹‰‰…„……†‰Š’””••––••’”•“’’’’’•••—˜š›™š˜™—ž™š›››œœœ    ¤¥¥£££¤¥¤¢£¤§¨§¨ª¬«©©¦§£¦©ª©ª¨¨¦§¢¢£¢Ÿž™œŸš™———˜–•’‘‘Ž‹ˆyqbTLCGMNOSY{³ÜóøûþþÿÿÿÿÿÿÿÿÿÿÿüùîݺºÌÄžŒ„‚‚åúýÿÿÿÿÿÿÿÿÿÿÿÿÿÿþúõìÜʾd8)*)'((*:dJFNTNIPVWURRW^G5Hbbf[RKBG`QYFF;+$#$%,0*$*/24>MUZHNLI;94*#  !"  !  !"""/A0%"&:CCF*  #'4?NY^dfimprrsusrvyxwwtvsuvvvvwwwzvxwspsvtrssrppmnourrpppqqssqmqqrsrqqrpnolmmqqonokkklnonnmnnnhgehjmnrqrrsusrtpoopmnnmmmijjmmmlmjmkjimrnkjgfea\aei_`chid]__`_`debegea``c__^]]]\[Z[[[\_[[[ZYYXWWSRQNNHMKJGJNORSTXY__``cfffihibWUVVUVYYZXWUVY\`eeec`[XXY[\_aeihihgddeffgggjmosntsuy|~}|yvvw{€}~‚„~~„„‡†‡ˆ‹‹’™™ŸœŸ››œ›œ˜™™š–”’‘’–’’”‘–“‹‡‡ˆƒ„†‡Š‘““˜˜œ™™™š–••—”““”•™—œ››˜™›Ÿ™œ››šžœž££¢Ÿ¦§¨ª©££££££¥¥¥¦¤¬­²«­ª©©¬¦¦§«­³ª­©¬§­§¦§§¢¢¡¡ ŸŸŸžœ››™—••‘‹‰ƒ€yqf]MDGONPS^ˆÇåõøüýþÿÿÿÿÿÿÿÿÿÿþüõëäáèìͯ¢œ”œÏðùÿÿÿÿÿÿÿÿÿÿÿÿÿÿþùõëØÉ¹^6(*(&'');@?>>715=TTTIKSYONUbggh^VHDJN?3.*&"""*::547@UOKNUSMA80)('$ ! !!  #))&0EA*$#+[MK7%      "#(3@P`enoqrxyxw{wvw}zy|uvuyyxyz{{zzvysppsuuuztuqpqtttttqvutvwrpppqtsrrrpnnqnmmrpnnokklmnqmnnomohfhonqqxqsruutsvrvrumpnrmmmmmpqqmmjniikronkkkm`Y[ieg`cfpga`abcbabddhedceac_a^`^^^^_^]a\^_`]\\a`_XXTUQMKLB:AJOUTYYXY__^^dffghhyvf_ZWWXXXY\XW[_djkkhec`^]]\^_bejhhiihjmnprtsrrrrosty}}~€}{zy{}~~€€~€‚ƒ„……†ˆŽ•›šœ››šš››œ—˜–˜—˜—”’’’“’’“ŽŒ‰ˆˆ…‚„„ˆŠŒ“”—™™šš›š˜–‘“““”–———œ™™˜™š›™œœœžž¢¡¡Ÿ¤¥¦¥¥¢£¡¡¡¤¤££¤¥­¬­ªª©¨¨¬¦©­¬­®«ª¨§§¬ª©¨¦¤¢ž¡¡Ÿžœš™–•Šˆ†ƒ‚ztgYNDGNOPWa×íöúüýþÿÿÿÿÿÿÿÿÿÿÿûöñïòôìãÙ;¸ÀåôÿÿÿÿÿÿÿÿÿÿÿÿÿþýøôêÖɰW3(''&&&(3@3,*(''9SUVIGVhjllkijccRK::2+(%$#$%,3GXOEEFPZINB?8.($#"!      "(<CB@CC4#%/]QJ5'        !(-:FR_eknrtuwwwwwwx|{yyuwtuuxyyzwttuvsroqquxwvvtpmqrqptsrqwuuuspportuqrnmlnooonmrqpoommklmmnjgjkhchjnnqrrrqpqqrqrpppolpmmiiinqlimljgghklmknhhh`WZ`efgaeghc`^abbba`efgc``baa`___`_^^^^^`\_`a__^_^^WWTSSQOJ;<ALOPQWVXYYY__gghhih…vs^^]]]]XZYY\biokkjnoqmjgedbbdgjlqptuvxzzzrqrrrvwz|~‡~~~~}‚‚‡‚ƒ‡„ƒ…†ˆ‹œž š™˜˜™š›››œ˜š™žžž™š”“”™–—“”ŠŠŒ‡‡†ƒ„†‰—™›šš•—›Ÿ ›ž›œ–”•››››ššœšš™™šš™¢Ÿ¡ž¢¢¢¢££§¦¤¥¨¥¦¤¦¤©¤¦¦¬¨ª©®®®ª¨©­­¬«±°±­®®­ª©©¬ª³«©©©§¦¤£ ŸŸŸ¡¤›—™‘‘Š‹…ƒ}viZKBFPNPVfžÝîöùüþÿÿÿÿÿÿÿÿÿÿÿýûúøùúôîçÜÓËÉÙóÿÿÿÿÿÿÿÿÿÿÿÿÿþýùôêÔʦR1()&)%&&()(%#"!%5Vj\KR[eemnic`]ND6)'&$###',3<C]VcT\GOLI;/*'$!      !    $8aA<KYQJ%'6aZc9(!! !     "   $)/6BTXbgllprxwwwywzzz{{zyvzwvuzz|xutxvxsssuuyy{vvqootrrrvpprxwxvspqpwuuqsomloospsoqrqpunpopllihgkhefnnrrssvrrquqsqtpoopoppojkkplijsljhikpmljnkrd[V\dgghglgfa_`ecebbaehna]bfgfedefff^`___`_ccefgaa]^WZYXUUSH=>FMPRTVVZYXY_ciijijjkhdZ\QQQRTTUY_bpollkpsronlkkifgimoqqtz{{ywxqrrssvyƒ€}~~ƒ‚‚ƒƒƒ‚ƒ……††…†‡‹“—™šš™š•˜—šœ›˜˜—™™™™™˜˜””””•’ˆ‡†…ƒ‡…†‡‹Ž“™™™–˜–™œŸœ›››››™˜—š››š›œœ™™–š›š œž¡¡££¤¤¥¤¤¤¤¤¦£££¤¥§§§§ª««ª«©©©©¨¬®®­­®²³®¬««««³­¬ª©¥§§¥¢¢£¢¡¢ž›—˜“‘Œ‹ˆ‡ˆ€yhWLBHKOQ\m¤àð÷úýÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿû÷êÛãä×ÝóÿÿÿÿÿÿÿÿÿÿÿÿÿþýùôêÓÊšN/&'&&%%$$%$$#""%3W\cbbdpgkfcWTG92'%$$$&)/8<NDCLIJLJF8.+)&""!!!     /DbAH`[]@&+APQJ:%       #%-28?JX]aflllprsrwvvvy|{yzuvvzxvu{yxuuuwttstvwwzyxvqmpqqprsokpswwvvrpqqwtqnonmkoprmrprrqnnmmlmkhdgfjehjmosrtuurropoppqpomnlljkklllijknmjhknonmjjhe\XW`hgiiikcbbaabbdbbdhkh\`bcddddccbb_`b__`aabcbaa_][XXXXXY\PDJQSUUUWXZ[[\cfhijkjjlid`]XUSRVWXZ^bhnlpovwywwwwrrppmrpusv{{|}xxwvuuvyˆƒ‚€€€€ˆ‡‡„…†‰ˆ‡††‡‰ŠŽ™•ž—˜™š™›•˜˜š›™ššš››œ˜˜˜™“”“‘†„ƒƒ„†‡ŠŽ”–žš¡šž™›œž›¢œž››œ¢¡¡žœŸ   ¡¡¡Ÿšš›¡œ Ÿ¢¢¦¦¦¤­£¤¤§¥¦£¢£¥¨««°¯°¬««¬«ªªª«°­­­¯¯·±°¯µ¬¯«´°´¬­¬««¬§ª¤¤¤¥Ÿžš˜˜˜‘”‘‘’ŒŠ€ygZNEGONS^v³ãñøûþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûòèîóòñøÿÿÿÿÿÿÿÿÿÿÿÿÿþýøóéÑɏJ-''&%$%$%$"#"""$1UTWZ_bef]TME?90'$$%&.9;>ABNGDUNIA71'$"!!!! !      !!!  !'7OfANbHF7%0LQF>-" !  "(.7@FLRackllmnnttttwwvx~{|yxtuw{vvv|{xuvuytvuuvyx~ywrposqqrrpmpwu{wwtssvvwsonnnlloprrsstqropmmmpiedkgjipppq|svvtqpnqpppppposmkikmomllljolkkonommjkhbYY^jiikojkbbccemffedeoieegggcddedda`_`a`_aa`bfddb`]ZZ]YYZ_`^\ZX\YYYZZ]]`clghjplniŠŠ…zurnc^^__`ceijmnux|}}}zvuupnpptuxz||~yyyxxy{ƒƒƒ‚~€€€‚†‡‡…†‡‰‰ˆ‡ˆ‰“”—–—”””—•™”˜˜šš˜ššš›——•”’’Šˆ„„„‡ˆŠŒ’—˜™™š››˜š™™˜šš›™›šœ¡œœž Ÿ  ¡œ–™™ ¡¡¢¤£¤£££¢¢¦Ÿ¢£¥¥¨ª­­¯««¨§¨««¬¬­­¯®®­®¯¯¯¯¯¯¬­««¬­ª¬¬««¬¨ª¥¥¤¤¢ œ›šš’“’ŽŽŒŠƒ|uk_PDGKPTe‚·èõùüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùóôöùýþÿÿÿÿÿÿÿÿÿÿÿÿÿþýøòèÎÇ…F-&&&&$$$$$##"###1URRY`^ZWTJ?<93,*)26:@A`PVDO>530,(&%#!" !     !!   #%%" "%# $/DXS?He@>-#,T@6,#   !'+28AKOSX]cgjkmnppqpstusuxwwuttuvwvssttsuuuuvttsvwyvxusprtrpqrqoqtuv{utsuuvtsqpqpmmmoppqqqpnnlonmmohfeeejlooprsssqpoonrsqonnnnmmjhlonnmllkkjllmmmkkiii[T]eggjkjgc^cfeeedcadefffcddeccbeec``_ab`_aa`_edda_^]\\X[\bf`\WWXXYXZ[]]aehijkmlmf“†~|}ttiljiiijkkmr{x„ƒ„}}vvuqruuz|~}}}~€‚|~‚„‡‰…†‚‚ƒƒŠ‹ˆˆˆˆ‰Š‰‰‰’–—˜™˜˜•–”›–˜˜˜˜›š™ œœ›œ—š“’’–Ž‘‹‰ˆ††ˆŠ”” ŸœŸžž™™—–˜œ››œ¡ ŸŸ¡¢¤ žŸ¡ ¡Ÿ£¡¢žœ›ž  ¥¡§¦¨¥¦¥¦¢¡£¦§¨¨¯¯¯ª³±¯«©¨§ª¯­±¯¯®°²¸¯°°°¯¯¯¯¬®­¯¯¯®¯­´®­©«¦¦¥¨§§¡¡–““”Ž‰„}n^PEGNPVjŒÄìôùüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüùúûüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýöðçÌÅ|A,''&&%$$$##""###09;;<@BBDC@:76102<IKLJJTUF851+)&$#"!!!"!!!!!!   !!  "3H1#!)./!(3WZZ:795,"!',+'!   !%-4<GNTW^`hgmnonqnuprpxvuuuuttuttuyuuv|utsuuyuvwwu{z{xysrrvtrqtppruu}v|vutxuvttprrtmoopppqrooonmsnpmoiifehrtuqpqxsrpsosstssollqmmkilsornnnolliposmnklij\TZfejiplkc_^dddefbb`eehgjeddiccclecabcda`_da_^deca__aaca^aieb]XX[[[[[Z]_cegjompllg„„}}y~rqlllkjkmosttwx|ƒ|{wvwvvxyy{{{}}|…‰Š†ˆ„ƒ€‚ƒ„Š‹Šˆ‰Š‹Ž‰‰ŠŒ”˜˜˜—––•–“••›—˜™™—šš›™›šš˜•‘ŽŽŒŠ‡ˆ‡‡ˆŽ‘”——˜ž›œœœœœ›š˜˜™™™›žŸŸ¡¡¢¢¥¡¡¢ ŸžœŸž   ¡ Ÿ ¡¤¢¦¦¨¦¥£¥Ÿ¢¤¥¥¨©©©«««¨«ªªª««­­°¬¯®°±²®¯¯¯¯°ª®«®¯±©¯¬¬­¯¯­©©§¦¦¦§¦¢¡ ž™–•”“’ˆ„ymaRFHMRXp–ÈîöúþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüõïçËÃu=,(*,))%####""""#,<.(.2336988:;97BUJa_`HMA8/*(##"""!!!!!!!      !$'3KH7$"*H)!%4<J9(''$!  "!! !#*/7>EQUY[^dfhjmjlmonomqorrrprssrqosuurvvvuutttsrssttttzxusrrrrrponrtwwxvusuuvuvtsqqpnmpqooqtrlllnmnnpkjffdjnrsutrpqqqonnpoqqpomlomnknqqppnoomkkjpmllnjkg[PZfefkijjb\`_`adbb_aadehggeedeccccbcab\_`_^_`_^dfca`_`aa`aceca]\ZZYYWWV]beehkoklljgz~‚~…}€tqqqonnopttwuxwz€ƒ~}{|€ƒ~€}|}‡€‡‡ŒŠ‰ˆˆƒƒƒƒ…‰ˆŒŠŠŽ‹‹Š‰“—¡ ¡˜––™–œ›š—œœœ›ŸŸ œŸ›˜—••ŽŒŒŒŠ‡††‰Š‘—š£Ÿ›œ  ¡ž£››š›œœ™žžž¡¥¥¥¥¥¥¥§¨¡Ÿ Ÿ¥¢¥££¤¥¤¤¤¦§¬§«¦¤¤¦§§©°¬«ª¬«©¨­«±®¯«¯­±°¸²´²³±±°¯®±©®®µ¯±¬¯­°­°¯±°°¯¯¦­§¥¥¥£ŸžžŸ™™˜—‘Œ†…|l`QFHMPXv¡ÓðöûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûõîçËÂm8+*0-,(&###$##""##"!"%*,--05?LHUOMUMLJJI8-($""!! !!! !!!    ! !!!"*59?QY1%#,5&!"#&(&" $)1;BJNV[_bghnnpkmkllqnoopptttppswrqqrtvwwvwv{vysrrssttut{vursrqrrnorzx}wxustxyyuvvutunmmqpoousslmlnoqnpkjeehrsysvvvqtqqpoourvppnonrooovvuqsrqolkooqmnlnim^UWdhkimhgd]\abeedccafggghhgghehdfdicdcc^a_^^^_``ccdbb`dbdchfeb`^^_^[_WWW^cjiijolllkgqrwxz}zuvvtssutrttvsvw|€€€€ƒ„}}~€€€€‚ƒ‡‰Šˆˆƒƒ€ƒ…‡Š‰ŠŠ‹‹‹Œ‹‹‰“˜š™š™—–””•˜˜˜˜˜™››œšš˜——•’ŒŒ‹Š‰‰ˆ†„…†‹”˜ Ÿ››œŸž œ›››š›››™Ÿ ¢£¥§§ª§§§§¥ŸžžŸ ¡£¤¥§¥¤¥¥¦£¤¥§§§§¨©«¬°¬«©ªª©¨«¬±­­¬¯«¯°±±±±²­±¯¯­²«­­®¯®««¬­­¯¯°¯¯®¯¨©§¦¦¦§¤¡¡ Ÿšš™˜”ˆ†}sjaTIKOSZ{ª×òøûþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûôíçÊÀe4++..)&&$$##"$$$$#  !',,++-<KGGTWUTDF82,'%#"!!   !!!!!!!  !!!#%')/7Ga`aF)%%2?%   ""! #&.4<CIRW[\`cfikkkljkkkjpmoqqrttsqruqpswtstttssssrrosqtttxutttuqtrqnnlquyxwtuuuvwvxrrrrqoknnonpqursklloqqmqigdhkstwssqqqqppppppppppnmmrmooooqpppqnllnmmkkjje]SX`dhhgggfa]\adccccbafjffggfbededddhbccb]a_`a_\`adab`a_baccghea`^^]\[_XXX_cghiikkihigmqtuuuuvxyyyy{zyztvtvy€‚„Љˆ‡……†€ƒƒ…‚ƒƒ…ˆŠŠ†ˆƒ„ƒƒ…‰ŠŽ‹‹‹ŽŽŠŒš™ ™œ——–—˜Ÿ•›››™™˜žžŸ™™–•’‘Ž‹Šˆˆ‡†ˆŠŽ“—¡Ÿ¥ Ÿ ¥Ÿ Ÿ  ¡›Ÿ›ž›ššžŸ¡¡¨©©©ª©ªªª¤£ ¤¡ ¡¡¡¢£§¤¨§ª¥¦¥§¥¥§©«­­¬®³¯°®®®®¯¯¯¯°°®­®°±·°±±±²³¯²°±®´®±±º°®¬±±²¯³±´¯°¯¯¯®««¬®¬ª§¥£¡¡¡¡ •’Šˆˆ~zpdXMKLQ^…¼ßó÷ûýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûôíã˺_4+,/+&%&$$$$$&*-($##&)./**2PN<BdJ:50*&$#"!!"!! !!!!!!!!!! ! %-8LC>ENJJU?'"$<0$  !  #(.6@GRUWZ_abefhooolljnmolpqrqvwwuttuqoqvwwxxsursturqpst|utuuutsvquspmnpwwzyxtvv{xxwxpprtpmnrqppttutskknpqrnriggnpuu}ttstqqppquqrppppnmmrqsoopqqqqqnmnrnolkkl`UT`cghiikjk`__efiekccemgefmfefmchghehabba_a_caa``bdacadfgfedgeea`_`_c^_[[^gglkkkliggmhsstusrsvz|}}~~|wwtttw{€‚…‡‰ˆˆ…„„ƒƒ„…ƒ…†ˆŠ‰†‡………„„„„ˆˆ‰ŠŠ‹‹‰‹‹’•–”“““—•˜™—”–”–”—™žž›—–“‘ŽŒ‹ŠŠˆˆ‡††Œ“–›Ÿžž žŸŸŸžŸžš›™œ›šžž ¡¢Ÿ£¤¤¢¤¤¢Ÿ¢¤£¢¡££¤¤¥¤¥¦¤¢¥¦§¤¦©­¯®®°°³®¯­­­­­®­°±±°¯®±²¶°¯«¬«¯®°¯®¬¯®±²´±¯­°°°¯±±²±±²²²²±²²±°®¬«©§¥£ ž˜–’Œ†‚~uk[MMNV`ˆÅãôùûþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýûóìßÍ´^5/-0)&$%%$"%&0:62230,,0)&)6NS=<<9/(&$$##!"!!!! !!!!&+)"""!!#/=ENSRQF?Ci:'""""!&+3:BINVWY\`bdeiijlnkhhimmmlqqqrqpooqppoprssvxussrrpooppsuuutssqtrsqokmnpqwvxrtsustuutqnqrqnqrruqpsrqnnknspppmliijptuvwsssqnppqrrqronnonnnpooopppnmkklmoljomjgbXVVbgggijjjc^`aefdbcdfimeffgeffebddfedbbba___``a`aabaa`cdeeffgdb^``_____]`dfhklmnmggghexuroqty~ˆ††„ƒ|{wxxy~‡‡ŽŽŽ‹‰‰‰„‚‚„†ˆˆŠŠŠŠ‹‰ˆ‰†ˆ‰Šˆ†††‡ŠŠ‘‹Œ‰‘•”””“““”˜– —•–˜—œ–œšŸ™–”ŽŽŠ‹ŠŠ‰‰‰‘–—œŸ¦¡¡¡¢ ¤ ŸžŸžœ››œœ¡œžŸ¡ £ ¢£¤£¢   ¢£¤¥§§§¥¨¤¦¦¦£¢¢¥¥¦§§«¯¯µµ¶±µ¯°¯µ°¯®µµ¶³µ´µ±¶µ¶±³®®¯¶µµ¯°°°²µ³·²±°°³¹²´µµµ¸´½¼¼¼¼»»´¶±±²³¬¬¤§ ŸžŸ˜•”“‹‰xi[OKMSb’ÓèõùüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýúòêÜЭ^7000(&&(('&'3@FKKNJF.,'"#(1NC=>D0$"""####"!!!!!!!#",45,)($"'?][^`bYD<;;6$! !%,4=HKUY[\abcflehjommjighlsnwpsqxpqnroroopsstr{usstuvpoosquuvuursrussqmkmqttxwwttsxsuutqopwsrrxtsssqwqppqnsqoorkiilovu}vwvwqpputtrrqronnooqqtppnsoponjilrnjinjic]QQ[jhhhligd__adjeddedjjmdjhgeifddfcideedbabd_a`babacbfggeehkghca_ccc_`_caghijnnnnmhjjjf{wqqrx|„‡ˆˆˆ…|wxy~‚ˆ‰‰‹ˆˆ…„‚†‰ŒŽŽŒ‹ˆƒ‡†ˆ‰‰ˆ‡††‡ˆ‰ˆˆ‹‹”’‘••••••–––•——™˜š”••“Ž‹‹‰‡††††‹“—šœŸ£¡ŸŸ Ÿ£¡ žžŸ›œ››œœœœŸœžŸ   ž Ÿž¡¢££¦ª©§¦¦¥¢£¡£¢¢¢¥¦§¥«°¯¯±´±®°­°°±±°¯±±°±´³³°²±±°³°²µ³²µ°°¯±³µ±²³²²µ¶´±²³´´´´··¼º»¸»µµ²³¶³¯®¦¥¤¢ Ÿ›—’’“‹‚ui[MKKVf–ÜíöúüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüùñèÚЧ_:0+*(),151.9EQ[XVXY;+%   (*-02=0&#"! !!"""! !"##"$&=e?8=M)"+NJBZMPbA3.*%  ")/6<DORWZ]]^aadigdilljifggkmnnqoppoklmmnqnootssrspqppoqppnrruuvqvssrrsrqnlqwvuutssurtsrpompssqrusooorqqmplnnpnnmkeiknpvuwuusqmqptssrrsolnnoqrstqonoopnmjlmlkiinfc\PHXdcfghhif_``beebeedcghgejjfcjeegfchcbadbaab___bdbacbddeaglhdcc_]^^`_``cbfhklmnllkfieif‚~{zy|€„Љ’ˆ‡‚~~‚‰‰‰ŠŽŠ•ŒŒ‹ˆˆ‰‹””“–ŽŠ‰ˆˆ‰ŠŠ‡‰‰‰‚Š‘‘‘‘’’––š—™—š™šœšž˜š”•ŒŒ‹‹‹‰‡††‡‡‡Œ“—¡£¦¡£¡ žŸ£¢¢¡ žŸž žŸ¥ŸšžŸ    ¥¤¥¢§§§¦«ªª§¨¦¥¤§¤¤¥§¥©ª®°³³µ®®¯±±²°¶²¹²±°°±²²´²¸··±°±´²·³²²¶±±°¶³µ²´´¶³¼µ³±¶¶¸´¶¶º·¼º¿¹¼¸¹¸·¸¹³°¯¸®«§¥ ž™™•‘‰„woYJHKWm£âï÷úüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüøðçÙÑž^8-**+/<KDAGOYgb]VX?+$ "(&&&'&%#""   !!!!! !#+7*(4IgJIKE,%/XOE]B<81)"!   $(/8@KQUX]_c_`^bbgfghpmnihhmnoppoupqppkmnnmrqrotsstuprpqpsrrssrwwwvwtssvvuppryxytvuwvuvxronmntrqrtsronnqprnqmpntmqligkowvvvzvyrrosrttvvutnnropqwwwqoonnqpopqnmhhineeRGQfedeffgfcddbcdfeedfglhggjhefjeffgehabbdcbaaacafcccgdcdeeokfcd`^\``f_`adflhppplkkjgiiig„ƒƒƒƒ„†‰‰ŠŒŒ‡‡„„ƒ…‰‹Œ‹‹Šˆ‡‰ŠŠ‹ŒŒ‘“Ž’ŒŠŠŠŒŠŠŠ‰†…ƒ~{„ŽŽ‘‘’’–—š–––š—™™˜—•“‘Ž‹‹‰‰‡‡‡†…†‡Š‹Ž“™¡¤¢¡ žŸžžŸ¡ ¢›œŸŸ žžžŸœœ›žž   ž¥£§¦§¥§¨«§¦¦¦¥§§§¦§¨«­°²³´¯ª¯¬®­°°±¯³±²®±³´³²²³³·±±±°®®¯²±±®®®·³´°³³´²³°±±·µ¶µ¶·¸···º¹º·¶¶¸µ¸µ¶··±¯¬«§¤Ÿœ—“Œ†}rf[NNP^t¨áñ÷úýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüøïæØÕ”Y5-*4<GSUXZ[]jffZNC/)&$$$$$$#"##!  !""""%2338CTeRfU?,#.^A51,)'$!!   #&-29@FPTZ[`abb__`bbgfhikkjhiimllkonolllqmmnnnspposrrnnnpopnnnstsprsssttsqssqprsuwuttsrovuqmmlnoqpsssppponpppmnmonmmkhijprwtuvvtsoomrrtsvtttqoroqrtsqpppnlljnnmnidghihUGRcbdeefeedb`aaccdbddfhiiiijgghhdecfddbcdddc_abccdbddddeeeeniea^Z^]`a`^`aglihlkkjknifhhii‘’‹Œˆ‰ŠŽ‹ŠŠŠŒŽŽŽŽŠ‰Š‡‡Š‹Ž–‘’“‘˜ŽŽ”ŽŒŒ‰ˆ~zzwƒ’“”“–••—š˜ž™›šš™Ÿ”Ž‹‹ŒŒŒ…ƒ††‡ˆŒ’›œ¢¡¥£¡¡¡Ÿ¡¢£¢¦ ¢žž£¤¥¡¦¦¦ŸŸ  œ¡ ¡¡ Ÿ¢¡¦§§¨¬¨¨©­­­¬²ªª©«ª«®´²¼´³°¯¬°­¯­¯°³¯¸°²²·³´³¸²³²¸²´°°­­¯¶±±®¯²·´´°¶´·²²²´±¸·¹¸¸¸¼½½½½½¾¹»¸¸¸¸¶¶¸¼µ³³¶¯°¦£œœŽƒ{xvbSNP_z´ãñøûýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿû÷îåØ×–V6/6FUhih[\\`fibWNB8+ """""!##)+)#  !"""##'8@GMKdTHVlA,$,20*%#!    "(/6=CNRUY_```dabbcdffghmklhhhmmmnnmpoonokrpsorntqururrnqquopnnptsvpppqrvvvqqpprxrusrszrqswrnllnurttxtqooptnpppppopppliimqzuxuuuytrpqorstsvvwsrrrqtrwrsrsomlklmoqkhhkik[LNaedfjihefedcgghefbceiiijlligjhgehefcccfggdddeeeehikeedkijhnhe`]]daeba`bcmihhokjilljjjikj’”•–“‹‡ˆ‰Ž‰‹Ž‹‰Š‹‰†‰ŠŒ‘‘Ž‘Ž‹ŒŒ…ƒ}v|†‘’’“”““‘••˜—˜˜››™™“Œ‹‹Šˆ†……ƒ‚„‡‰‹”–˜Ÿ¢¡ œ   ž ¢¢¢£¡¡Ÿ ¡¡¢¢ £¤£ ¡¢¢ŸŸŸ¡¡¢¢¡ ¡¢¨¨©©«ªªª¬©ª«ª©©ªª«¯´´²³¯¯®®«¬¬®®²´²¯¯°±²³°±²±±±±²¯¯­®­®¯¶±°­±´µµ³°³²±±±±³±¹·ºº¸¶¹½ºº¾¾½·¸¸¹º¹·¸¸¸··¸´±®§¤œ—‘Š‡ƒ~wcQPPd³æôùüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûöíãØØ—R87CXmkn`VVX\dc_UQOP4"!"####&)07640)-32/-,26:OOPNCcNKKE?(!$(%#"!  !&+17>EJPU[^a`_``_`bbfgijhhhiigggknmklmljnnoknoonqmspqoononqrpnmnppppqqqnqrrppponrsurplrqposztonkotrqssstspqppnooononnmliijpssssstuttrnoosusqqqrqqpqqrsqmppponklmookgijkj^OPUdighighe_[edfcdddbdgjkkkjghhhfgeeddddafcddbaeaefggkffehfhjiee_____bcbacdefhikijfhhjdiikh›› –—Œ‡‡ŠŽŽ””••”‘ŒŠŠ‹Š‰ŠŽŽ‘‘””””–ŽŽ‘„}x€‹›”•–—”“’“–—œ—š˜ ˜•‹‹ŒŒ‹‰‡„ƒ„ƒƒˆ‹“™™ž¦¦§¡žžŸ ¢¢¤¤©§¨¤¤¤¨¥ª£¤¤££¤£ª£¥¢£¥¦§¨¢¢¤¥¨³©®«¬ª¯«¬«¯ª««¬«®¯´µ·µ´¯°±²°¯¯´³¹´±¯²²´²³°®²³°±±±¯±²²¯³°¶²¶±···²²±³³³±±±³´¹¸º¹¹¶·¸¹¹¾½¾¹¹»¿¼½½¼ººº¼·³²´§¨ž—˜š—”Ž‹€vbSOQeƒ¼èóùûýþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúõìäÙ׈M68IgnrnZQOUY]aXRQTJ<"!%(*--/5?CFDAFKLiI;>VLHSXYPMdLTFB0$        #(.6<BFOR]^^afccac`bbbcjhmjhhfikijjjknjllkjnnpknnpnqlssunqopnuqoooospprurqnursqsoorvsysqprqprvtrnmnssrrusrsvqoppospoopoonlilpxuussrvwwtqqrrxutpnpsonptrzrnovrrponssulhhklmcYJS]iikkkfh`[^fegcfggcfinjhijhhhigkegdefhcfcmdccegihhhlgghkfhjkdebb^^^aceghfjgkklijfhfjiihkgœœ™•’Œ‰‹•••””’Œ‹ŒŽŽ‘““Ž‘’’‘•••Ž„z~€†’‘‘˜”••–”•“”——˜˜—•’ŒŠ‰ˆ†„‚‚‚ƒ‚„…Œ‘–™›ž ¤¡¡¡ žŸ ¤¥¤¥§¡§¤¦¦¨¤££¢¡¡¡££££¤£§©¦¥¥£¥§¨©ªª«ª¬ª¬««««ª¬¬¬¬²³´°¯®±°²±±±²³³³²±±°±°°°¯­®°³°°¯¯®¯¯¯­¯®²±²¯²²³°°¯¯­±±²²³µ¶¶¶¶µ´¶¶¹¹¹¸º¹º»¾¼¼º»»¼»¸¶³°­¦¤££¤¡˜”†~ueWSRiнéôøûüýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùôìäÙÜJ3;NfllkVINV[]SOMJHE1"!".951028@K[IGSnPMeZNEQmjihjQME741,#"   "&+07@BGKOUX[]acdccac``_ccfhiihfgijhgeghnjiekjlmmjnmmlrmoppnqoonnnpqppqqrtrqqoooonnnruvssstttrtvvrsnoorqsrrrrrvqpoppppppppkgijoutrssrrssrrqprsssqoprpnoqrrsooqsqplnnnnkfijjicXQKYdiiijhfbZ_cffecfhgdgijghiihhijeeegbfedbccddddehhgffhgijfbijfaccb\]^aeeffdihlkkiiddcfgghieŸš˜”’‘“’’–“’’––—”””•••—™““’–“”“““–•”’“‹ˆƒ}‚ˆ‹”‘‘“—˜™–—”–”™˜š•“Œ‹Š‰ˆˆƒ‚‚…†‹Ž–˜Ÿž¢¢¢¢¤¡¡¡¢¥§ ¥¥¤¥¥§¨¨ª§¨££¡ ¢££¤¥¤¤§¨°¨¨§¦¨°«­«««¬¬¬ª°­®¬¬¬®°·³¼³¶±°±´´·´´µµ³¼²°±³³²¬­®­­¯±³³·¯¯¯¯®¯¯µ¸º±µ°³´¶±¯¯±°··¸¶¼¼¼½½µ´¶¹¹¾»»¼¼»¿¾Á½½½ÀÀÁº··¸²®­®±²­ª£¡žš‹ƒ}gWPRkÅëóùûýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùòëäÞ݃H>AUgkmaSKMT^UIHG@:3(&'1@BA848?FVSMHW[VTcbcCHVTUKOYA4+%#"    "(.4;AEKRTVY___bjihcbccba_ddfhlhhfjilgffggmiifjikljjnmmmqoopqqqnpppptqpqtturppqpnmpmmqxuusqt|vxvzvwssoqrtuvsxswtvqppqswwwoplhfinsstrsrrsxruqpqtsyqposqposrvsspprvponnoqmjiopqg]QNVfhlikiifaaccfeddfgggmihgiiiinilgjefefecacdecgfefhfeeggkgddifdchcb^\^bdggkjjjmloiifefhhkhif——˜’’‘’’“•—“‘’‘““–œ›šœš–”‘‘“’”““““”””•‘‘’‡‡ƒ‰’‘‘“”—™˜”•“•“–˜‰‰‹‹Šˆ‡‡‰„ƒ€~‚„‰Š•šžŸ £¢¢¡£ž¡¡£¦£ Ÿ ¤¦¨¨¨ªª¦¡œŸ ¤¥¤¡¢¢¦¥§¨©©ªª©ª¯¬­«««©§©ª¯­®«¬­²³¶²²³´²³´¶··´´³´²²±°¯¯®­©­®®®°²³²²¯°±±°±°²´³°¯­®­®®­©¯°·¶¸µ»º»¹¸´µ·º¹ººº»»¼À¾¿½¾¾¼¹¸···¶µ·º¹¸·²®§¥£ š“Œ„{fUSSn•ÈíõùüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøñêàÝÛ‡H>Lc_\\_UKLOPPFA=3.(''1@N\K>6;CJKNKI_XRVXgCJUST;1/+(#"!     "(,28>CGJNTVY[]`cddghecb`bbb_deggfdedghlgfffghiifhhhhhhkllppooooomlmlopppqrsprpqrqnokmnquuuttttuuuutturrorrtuutusrrqpppqssurnlihfmtrrsrrrssrrqnqrttqnpmooonrsuospqqpknmopqlkjllh_SLXegijijghecbbbfeefghhhihffheihlfhffddfd`cadgecefffgffeggkeddhbdec_c^^``acccbjkljkjjgghiijhig˜—˜——“”“”•”•–’”’“”—¡¥Ÿ—™“””˜•——šš›——••’ŠŠ“™‘‘‘˜’––˜˜—˜™™šŽŒˆƒ‰‹ŠŽ‰‡‡ˆ†Šƒ„ƒƒ„‡‹’“œ› ¡¦¡¨¢££¤£¨¢¥£¢ Ÿ¢¨©¯©¨«­¢žŸ¥§¯¥©«­¨§§©ª«­²±°°°¬¬­®ª¨©ª«®²µ´´´½´·²´³¶´¹¶¹¸¸´¶¶·²²²³°±°°¯±±³³³³³´´²¸¸¸´µ³±°°°°°°®±±±¯·´¸·¸µ¼º¿¹¹º»ºº¹¹ºº¼¿½À¾Â¿Ã¼º¸··¶º¾¼Â¿Æ¿Á»¹µ²¬«¥ ˜’†weVQTsÏîõúüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøðéÝÝ×€GAXVNLM^[KJMNJF?:2(&&,8G^WR>7;FGHGGJfjY@<PpPQ<2,'$#""  %+06=EJPRSSYX[_eeecefhedcbbgbbcjklfdddefglilefghhlfmggfjhkklnpppppmllpmooopsrtuutsqrnnnrswwztstvuuw{vttzrtpwswvwxxstpoprprqqpomjikmvsstwtustsrqqquttrompoooqrytuorqyqplnntpqlolmidULTehlkkkkkleghjiginhjjnjgfegljjikeieddccc_bchhfgljkhihkeigjeffgffcc_b_``aacbbdklpklmnijjmmkihi–”—–•““’’“”“’’’”•˜ œ››˜™˜™“•–—–—˜™™˜—•’Š‹‹Ž•”‘‘’˜’–—˜–˜——‹‚€‡Œ‹‰Š††ƒ„ƒ„„ƒˆŒ”–˜œžŸ¡¡¢¡ž  ¥£¥¢¥¢¢¢£¥©ª«¨¥¡Ÿ¢¦§¨©¦©©¬­ªª«­®¯²±°­®ª­®­««««¬²···¶µ´´³²³´µ´´µ¹°²²²³´±±°±°°¯¯¯°²±°±°²³³³¹··µµ¶°®±±±°¯­¯°°°¶³µ´¶´µ¶¹¸¸¸·´¹¹ºº¼½½¼¼¼¼»¼¸¸µ³±¹½¾½½¾À¿¿¼¼»¶²°­¨¡™ŽwhYWVv£Ñðøúüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ïèÜÜØw@7GQF>O^WKJOHDB>;5+',2@NOQB4348:?BDGjgC+2AEJ7(&$#!! ! #'-2:AGKMORTUVZ\_cfeeehlfbdecbdcddjhfcdcbafegggeeeigkfedddffkjlmqqolkhiillnmpprrtqtrpnnnnorssssqtvrouwvsrqtrrqqrvuuutqpnnnoomlnnljjjnrqprtuuvssqqqsusrtnmmqqppsuvttprppookmmnnmjmlngWLVcfjlmlklme`jkigiiifijjkebfhhhiiheeccccc`_cdefghiijfigkfgfgeeddcbba_`_`_aacddekllkmlljiikmjhhišš›šŸ””‘‘’˜™Ÿœš™˜›˜—˜š—ššš™˜™š›œ›Ÿ˜••’ŒŒŽ”•”““‘–”˜——™œž ›”†|ˆˆ’ŒŒ‹‰…†ƒ„ƒ……†Š““š›   Ÿ¢¤¤£¢Ÿ¤£¥¤¨¤¤¥¥¤¦¥¬©¯¦£  £­¦«¨ª©«ª¯¬­­­¯³²¶²³³³´´°²±µ°¯±º·º¸ºµ¸³´²¸··µ»¶¹¯±±³³¶±³°²±³°³³³°®¯³³¶¶·³¹¸¸¸¸µ°¯¶±¸³±±±°±±¶¶º¹º³µµ¸¹¹¸··º»¿»Æ¼Â½¼»¹»À¸¸³±¹ÃÃÃÄÄÃÁÁÂÃÅ¿¼¼¼µ¶ª£—Ž…~l^VX{­×ñöúüþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþöîçØÙÚm95@??CTTTMHGA@?=<4-07?ILNE90)(*19=?DoQ/%&+/-'#!!"!! "  !%*/5<BJJRSTVZYYZabdilhhhmgedddfghhgfjgddecacgfiffhkjjgkfieeefejjmmqonjhgiklnppvqrstrtqpqstuuuutttqwrqqvvvqopwssrtsvv{ttsropnnmlkonjjlnspooqtuuyssrtswtrssrqrrqrrvwxstqtoonnottvmmlrlq\NScgkkompkngdclkihkjjjmnricelhiikiiedcfb``_`cegejilhiiiijjjgiihddbcaa^^_b`cdkhigpmnmolkjihiggini™˜™™˜•“‘‘“—šŸŸ  š—›’•”–•••™•™œœœ›š—‘ŽŒŽŽ”““’‘‘‘•”——™›™šŠ}|ƒŠŠ‹‰………„‚ƒƒ„ˆ‹Ž’•˜›œœžžžžžžŸž¢£¤¥¦¤¤¤¤¤¤£¬¨¦¢¡ ¤§§¦¦¦©©ª¨««®¯±³²±³±²´´´´±±±±±³µ¶´´µ¶´´³²²³²¸µ¶³²®¯°²³²¯¯°°°°¯±±²¯®¬³µ¶µ·³µ´·²´³±°±±´³²°±°±²¶·¹¶¹³³³´²³³¸¹»½½»º¼À¿½º¹º¹·¶µ»ÀÃÂÂÁÄÅÅÄÃÃÄÀ¿¾¼·µ¯§ž˜’‰€p`[Y|®Øò÷úüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþöíæÛàÒc839;>EQZXOD@638<82/<AMJIE?9.+%&+7;<=@B*$#$$$"!!     #)/5:?CHONNTXYZZY[]cggkkhhggcdedeghiigfjeeeedddffffghhffffceeeffekjlllmjhhhjlnorrsorsrqporusstotrsrqpqoqrqnnnoptsrqtvvsrqrvqmnnnmmmookimopooprtuutttqtsussoqqqooosrrqpntqolonprqoolmmnl\NUbdgjikkjhe`efkjiijijjoolggjlgiiihidcbb_`_beeggehilfikiijihggedadaaa`\^]b_edffhhokkkjjjkjhighjmhœ™›—™”’’’•œŸ§¢£œ›–š›œ—™”“–™—œœŸ›™—“‹ˆŒ’š“””•Ž“’™™šœ£›’t‚…“Š‹‰ˆ…ˆƒ„‚ƒ„…ˆŒ“˜š›œŸ¤ž ž žž ¢¤¦¦«¨©ª«ªª¥¨¦¬¦¤£¤¥¦§ª§®ª°©ª¬±±´¯¹¸···²¼´·µ»´¸²²²¹¸¸´´µ¶µµµ¹··µ¹µµµ´¶¹±±±±³º´µ°°°µ³´´´³´µ¸··³µ´¸´¶²±±±²µµµ²´²²·»ºº¹¹¶¸´µ¶¶·¾½¼½¾»À¾Å¿À¹¼·µºÂÄÆÄÉÃÅÅÊÆÌËËÊÉÉÉÂÀ»¼¶±©£›–‡qaWYºÝòöúüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõìæÖßÈ[637;>FP\dJ:0).654/08D?:;<<:86'%)31025/%"!! !!!!   !!!!%*07?FKPQRV[\\]_afddekhjjnikfdcldehmlpjjhkefhkedeijmikiheeffdfeffhdljpkkihihjlnppvutqwsqonovvussstrvqnnoqwrsponqsysrswvvsupoppqxnomrstnmmrqqpppvtyxwvutztvsrpsruoos{rqommsqnmpqvsronoppr_PP_cginjkkjgabihjjmjlkkjwnhgklmjjhihieebbbabfelhjjlllioklhhhfglddde`bba`a_bbgfhhmjpkkkkkjjoklikkmh˜—š••”“’”–œŸŸžœ—›—––˜——••–––—˜—˜Šˆ‡Œ’“••’‘Ž“’˜š™ ‰~zq{†…†…„„‚‚‚…ƒ†‡Š“™›œœœœžŸšŸš ¤¦¨¦©©§ªª¨¦¤¢¦¥¥¥¥¥¦¥¥¦©¤¨©ªª­¯³µ±®¯°³µ´²²³³³´²¶²³³´°°°±¯¶±µ¶¸·¸µ¶³¶¶¶¶µ±±°±²²²´¯±²´³³²³°´³´±±²µ´³³´²²±²³³³µ±´µ·¾ºµ´²¹·¶¶¶³¶·¾¹¹¸··ººººº¸»´¹¾ÂÂÃÂÅÃÄÆÈÇÇÇÊÊÉÉǾ»»»¹¶¬¤ž˜€o^Z[ƒ¾ÞòøúýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõëåÚݪR56=@BFQ]O<-!%*42.+,.,*-08D9@2)&(()('%%#!!        $(.5<CINRWUUW\^```bedeffggiiigfdecfdhjkkkkhfedgkfcehkkjjjifcfdcbdfikhdljighghjklnoooooppppomopqrrssssrqqolpsurrqportvstvtrsstnmmpuqlomsqnkopstrnpprqqqqqusttssrorqpmqusspnnnoponqtsqponnop`QTZ_dgjkkjkieeghhjkjhhgjkjieejlkjjggfedebbbddggiilmkijiiiiffefgfcbbbab_a]`_aaffghjihhiiihhhijjhihih™˜š›š˜—œŸŸ›œœ››Ÿšœ™™™š–––——•І‡‰Œ”’–••‘‘ŽŽ‘“š¤•~o|w|ŠˆŠ‰ˆƒ„‚‚€…†‰–—š¡¡¢£¢›œž›ž¡£¤«§¦©©ª°§¤¢££«¥¦§«¨ª¨ªªªªª©±®µ°¸³°­­¯´²²±µ°±²µ´¶¶·³·®²±³³·µ»¸··¾µ½¸À¹¼µµ´³³³²·´´³¸··´µ¶·³³³³±²²´µ¶··´´±·³³´´´··¹¹º¶¶µººº¶··¼¼¾½½µ´¶¼¼½¹ººº»ÂÂÇÄÅÂÉÇÍÌÌÉÍËÑËÎÇÆÂ¾ÀÆÄľ·¯¯¡™„o^Y^‰Äáó÷ûüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþôêâÖÜ‹G5<HKMRUL?0#!#*1-+)(&$$%,69:4-'$#$$#""""!     "#*07AFNOVX_[Z[\^cchefekkjihjoijeffghihmlnmnigedehfddgirihimgeeeddbcfmjhhkhgfhfikoputtoqpqqppooursrqs{stsrrrrttzswttttu{vxvtttstpqorqnnnosomnvswtuuutuqqqprutttwrqnxppqvuspnotnmnoqwtspposoqdUQ[adhjlnlljhhijkimljjjinllcbfnmpjjgfeccfdedigkhjippnjlmmikfgdiedbcbbbbbabccddefhhkjihliigghkkjhjhhiššššž™——•˜˜ž˜™™›œšš›š˜™”–’Œˆ‡ŠŽ‘’’ŒŽ‘“•’ ‡|vjv‰†……€ƒƒƒƒˆ‰‘—›š žœ™™–™›Ÿ¢£¥«¦¨«ª©¦¡ ž¢£¬¦§¨©¨©§§¥¥¦ª©°­¯¯¯®®­­®±¯¯­­®¯°´´·µ³±±®²°³´µµ¸º··¶µ¸¶¶´µ±µ·¶´´²µ¶´³·¶·²²°³²²±²°±²µ¶µ²µµ´²±±´¶¶¶¸·¹µº¶¶´·µ¹¶·¸»º¸´³­´´¸¸¹·¾ÀÁÀÂÂÃÃÂÂÈÇÉÉÌÆÉËËÈÆÃÂÂÂÂÅÇż·°¥Ÿ•Œ~ob__‰ËäôùûýþÿÿÿÿÿÿÿÿÿÿÿÿÿþýóéáÓÎq:3CEKQ[M>2&$$%+)('&%#""$(+.,*'""!#""""!!" !!! !#(-4:@FMSTVX[^\]___bbccdekijkjlhdcafeffggllmkifgcegffehghidfedddddbdceghhiikgffggjknpqrpnpqommmoptrsrsuurrrtsssuvvsttusuvuuvwussssqponkmmnpmjnruuvssqploqqprrrqqqroommmrtttsnnnnmnpqrvtqmnllleYST`ijmnqnkjjjjjjjggfgeijkma[dhkkjiiddccdddeehhigjjjjkllklikefddacbbabbbaa``aefedhikmihjihhhhjjighgim¢¡¢ ›š—–—˜šžœ¤ž¡Ÿ›š›œ™™––‹‡ƒ‡’’’‘‘‘‘—šœ›–yixox‡Š†…„…ƒ…€††ˆ‹Ž•—œœœ¡¡œœ™™——¢¥©¦«§®¬¬¥¢¡¡¡§¤¬§¦§«ªª¦¦¤¥§ª«±­¯®­­µ°³¯´¯°¬²³¹¹¹¶·³²±²²²³µ¸»¶¸·¶¶¸µ¾·¹¹¹··¸º·¸¸¸¶´µ¼µ·±²±´´µ¶µ´´µ¶µºº»·¸···½µÂ¶»¸¹ºº¶¸¹»ºº¸»¹¼»º³®°´µ·¹º¾ËÁÃÃÇÂÄÃÁÂÈÇËÊÎÆÉÉÉÉÅÅÊËÍËÈÈÈÁ¿¼º°­¡šŒre]aÐåõøûýþÿÿÿÿÿÿÿÿÿÿÿÿþüòéßÓº\319BGUNC3)%$$%&%%$$##%"#%&''%$!!!""#"!!!!!%*07>GKPT\]\]c`_^ba`_cbecdelkojigfcaafflfggmmoigfghjggeffhhiejfgccdghiiijjikjkhiiikpnrrrqonqonmnlprttutzuvtwtvtxuzvwsuwyuxx}wxxwrqrvrsnmlqnrmjlpsuvzuyrqnoquuussrqquqppqqxvztrqrqqnnpusvrpqrlnidST\jkoppommtjlklkjjkjihmnrbX^mkokjigceedfjjjkmllkjkmkkllklikeheeeedeabcfa`_`bifedhimlihijihjklihgkklj£¤¤¤žš™——˜šœœœœœžœ›šššš—”‘‡Š‘‘‘ŽŒ‘’••”–š‡}tdr{‡†…„€€€~‚€†ˆ‹”—˜šš˜œœœœ˜›šššž¡¤§¦¥¦£¤¤¤ ¡¡¢£¤¥¥¦¦¥¤¤¤¤¥¥¦§««¬¬®©­¬¬¬­¬¬¬®®³µ·¶¶µ³°°®²²´¶·»·´´²µµ·µ´²²°¸¶·¸¸··¶¶¶¶¸µ¯®®²±´³²°³²´µµµ¹¸º¶¶µ··¹µµ¶¸¸¸·¸¶¹º¹···º¸µ²²²±²µµ¸º½ÀÁÂÃÄÁ¾ÆÂÂÃÆÅÉÈÇÁÀ»ÉÉÈÆÉÊËÌÅÁÀÁÁ¿¼¶²«£—teccÓéõùûýþÿÿÿÿÿÿÿÿÿÿÿþüòèÝÕ¦R.-05:>D3'%#$'$$$$#####""####""!! !"!!     !%(/5;BHQRSX]^a``bca_ba``bbcdeflnlihecbccdeedghjjhefffffggefdgfedgfecefihiklkjhkkkihhjmnnqsqpoormmmlmprrrusrpututtturrrrruxyswwvwyztorqpmljmlqllimquvvvussrpoqrssvvutsrrrqqrswvusrqqrqjoputvpqljiifUIXajkmllllkjikimjjhiijinpfZ^dijkijhgccceghfiklklkkllklnlllgfeffeabcbabcca`_abiedbfgnkjihhhhjgkhhhfbji©©¨¡œ›™ž›¤œ›œ¢¡¡¤¦ž¢—•‘‘’”‘’’’ŽŽŽ‘“˜—ŸŸŸzkght‹„„„„‚‚‚†Œ‘•œ›Ÿ™šœ¡¡££¤ Ÿ¤¢ª¤¥¥¦¥§£©£¤¡¦¢¤¤¥¥¥¤¦§¨££¥¦§¨«³«««¯®¬­®¬­¬¬­¯³¼µ·¶µµ´´µ²·¶º¹·····µ¼¶¸´´´´´¸·À·¹¸·¶¼¶¶µ´´´´º´·²±³¹¹¹¹¹·¸¸¹¹¹¹¹¹¹¶¶¶¸¸¼º½¾À½»º¿¸»´°±²²º¹¹¹¼¾ÃÀÆÅÅÁÀÁÇÂÈÈÊÅÎÄÆÁÁÄÉÉÒËÐÉËÅÁÂÂÄÇÃÁ½¾µ°¦ž’‡xkcg˜ÜèõøûýÿÿÿÿÿÿÿÿÿÿÿýúðçÛÔ•J+))*/30'$###$######""###"!"""#!!!!"" #'-3:@FPSWYZ]__`bcbddebbbcbcfifglsnlhhddcdehiigghjgffgflgiijeecgddfleefkkriklnmlllllihikmtnqqqopotllkkmpqvtuqpqvtws}twrssttxxyvvwxxzvsrrpokijmlqllmuuzyyuvvwrpqttttywyxxttsrrvvwxwvvvvrqoprwuvpqkkikWJRgclnqnoosllhojmjjijjnkqjb^gejilijggefffhkjjlnkolmmnoolkklhjfgfea``_`bbdbbbiejddfljomqnlklikkkkmhecig¡žžœ››žœ›››œ£¡¡¢žš”ŒŒ‘‘’Ž“”––‚r^joy‡††ƒƒ‚‚€ƒ„„‡‹‘’—™œŸšœ ¢¢¡¢›  ¢¤¦¤¤¤¤¤§¢¡¡¤Ÿ¦¡¡ ¡Ÿ¤¤¦¢§£¦¨ªª««­©ª««««©««­¬°´´´³¯®®°°²³´±·¸ººµ²²±³³³²¸³³±´µ¹¸·¶µ³´²²³´³µ·¸·¸²³±²³¸»¹¸¹¶··¸¸¸¶¸´····¶·½º¾¾¿¿¿º¹´³¯°±³³¹µ¹»¿ÃÂÀÀ½¿¿ÀÂÂÂÇÇÇÅÁ¼ÃÁÇËÊÉÉÈÆÃÁ¿ÄÅÇÉÇÅÄÀ¾¼¸²ª •Ž|lii—ÔéõùüþÿÿÿÿÿÿÿÿÿÿüùïæÙÕ…C*(''''&%$$##"###$##"!"!""!""!!"!"  #&+/6<BHKPV[\]^_`abdb`edeccccdhmigjponjfc`dcefghhihfeeeigggdcaieecccfgfdgijiiijkkjjjmolhjjlmnmonooommjkjmnoorupmpqqqssstsrrmtuwuvvwyywzrsqpnmjklmmlimpvvxwxuutvqrsuwvtwvusuuutttuvussprqqoomprutspqklfXJS`adnpnnopmgjikjjjifghmihb``gekjlhgffdeeijjjlpmkojjikonjkjmfeeffcaa___babbccdeeaehklmkpomllgjigehhgdee¡¡¢žŸ  ¡¢Ÿ¡¡  ¥¤¥¢£›™’Œ•””’”Ž‘˜˜™›œykf\lƒ‚†‚‚‚‚„‚€€„Љ’”œ˜Ÿ›¡   ¡  ¡£¢¢  ¢¦¤¨¤¥§¬¤§¢¤¤¤¤¦¡¢ ££¤¥¦¦§¨®¬¬¬­«°¨©§§«¬ª­«®°¸¸¸°­­¯­­¯²³µ±¾º¾¶³´¶µµµ¶²¸³µ²¼·¹·¶µ´²¶³·¶¶µ¸¶¶¶·´´¶º¸½¹¸¸¹¶¾»¿¸»·¸·¼¹ºººº½¼¿¿Ã¿Æ¹¸´²³·¶´¶¹ºÀÀÁÁ¿¾¿ÃÁÁÁÆÅÍÂÁ¿¼ÀÃÇÎÌÐÉο¼¿ÀÄÎÈÊÈÈÅÊËÎÅĽ·«¢›}pjn›ÜêõøüýþÿÿÿÿÿÿÿÿüøïåÙÖz=)&%%%&$$$$####$##""""#!"" !!!!!!!  $)/38>EIORTZ````abgcgcbbefffffihmmmnonlkjdbbdchhkjokmhfddfhgfbacjfecbdkgeglkjgghqllikkmmljnownqoqnnnokkklmpppprqmntqrqttwssrqqutxvwu~}{xyrxpnnmlqrrnllssww{wyyytuuvvxw{uxvuswwwvww{vtsuutpoprpwtytsoqmo\OP`abipomnoollmnojkjifgimjeb_cgekllggffgjkmmqmnmmlollijmnkkjoihgjebbd`b`baccfflegffinmqmoopllhiigfggkfgh¡ ŸŸŸœžŸŸ ¢¢¡¢¢Ÿ–‹Ž‘“‘ŽŒ’“”•…‚pZefsˆ†……‚€„ƒ„ƒ‚ƒ…‡‹Œ‘”–™›˜Ÿ››œŸ¡ Ÿž¡  Ÿ¡¤¤¢¤£¥¨¦£¦ £ £¢¢ ¡ž¢¢¥¨¨¨©ª¬¬©¦§§¦£¥¤¦¨«§««¯°¯«ªª¬©¬­­®³²¶°µ¸¶±´´µ¯®®°°´³³³´´²°±¯¯¯²±µ´´´¶´´¯¶µ¸»¹··µ¸·¸·¹¹¸·¼´µ¶ºººº»»½¾¼¼¾¿¼·¶³´µµµ¶¸»½¿¿¿¿¿¼¾¾ÃÂÁÁÆÆ¿·¿»ÂÇÇÌÊÊÇû®½¾ÅÈÉÇÈÄÅÅÊËÌÈǽ´¯§›rlk˜Þìõùûýþÿÿÿÿÿÿÿû÷îåØÓo9(&%%%%$$$$######""#"##!"!!"!!!  !"(,27?EIMOQUX]ecbccddfccaccdcfeggijjkmnojheeadhediigfiiigedeegbf_bgeccadffdgmjffefhiiljkkkjjjonnnnmmjklkijlnpomopqpoppoqqsrpooorsutuuuuz|zzuqqpmhlmpspmmptuvvvsusqpuwvvxxzuxutsttvvwwvttsvusoqrrqqqqqpmki_RU]_ahppjkkllljjjiffefdhkml\Taggglhgggehjklnnolnonlnklhjklklhhihhfccbb``_``bbddeeggjmmmnllllljghhhhgeefgh££¦¡¡ §§¦ ¤¤¤¡¢Ÿ›’Ž•‘‘’—‹Ž”•–˜˜ykeYfxŠˆ…ƒ€€…„„„„‡‹’’˜—™™œ› ›Ÿ ¢¡¡¡¨¡¢¡£¢£¢«¥¥¤¤¤¥¤¤£¤£¢ ¡¡§§§§­ª±ª¬ª¨©¨¦¥¢§§§¨ª¬±²²®¬­­¬­¬¬­®±´²·°¯³··º´´¯°°´±µµºµ·³±¯°¯´¯±²¶´¸´¶µ´µ¶¸¾½»¹¹·¼¸¹¹º¹··½´·¸À¾Ã¿Â½À¼»»º¹¹¹»»º··»¿¿¿¾Æ¾¿¾ÂÁÁÁÂÄÈÇÆ½¸¼ÀÃËÆÆÇÇÄÀ¼¶»ÁÄÌÉËËÑÎÌÍÎÌÎÊÍÇÉÀÀµ©œ}ogkßêöùüýÿÿÿÿÿÿÿúõíäØÏf5('&&%%$%$$$####%""""##!#"!!! !%)06=DKQUYXWX^`ijiegghffffcefheggkkmmoosnoifdddkffgjhffjklfeegghceffdbbbcgfeemkiffefgjimmnkliomqnnmonmihhhlvpqpnosqqqsppqtstpmmmottvvvuyv{ywutuvollqqqnlmpsywyuvtxqoqvwxwzz{vxyysutzyyvtrws|usqusvrtqpppjhaWT]`agropikltlllligefefgklraV[kkoklgffghmlqoroompppnrmmlmmnkqhkihhfdfcc`b__adcddhfgkonqnomlmqmjhjinjihigge¢£££¢¢£¡¡ ¤ Ÿž˜“‘‹Ž‘“ŽŽŽŽ“”‰p\ddp…‚Ї†…€€€‚‚„…‰Š‘’•————š›œžž  ¢ž ¡¡ ¡¡¢¢¢£¦¥¥¡¤£ £  Ÿ Ÿ¢£¤¤¦§§©ª¤££¤   ¡¡£¥§¨­®±­ª§¨©ª¨«¬¬«¯³±°°¬¯±·¸¶³µ°°°°°²±°¯¯¯°­®¯¯¯°°°±°°°±µ¸¹¹º·¸¹¸¶·µ¹·¹³µ´µµ¸º¿½¿½¼¹¹º·³²²ºº¹·¸·¼Á¿¼¾¿¾º¿½¼º¿ÀÄÇ¿º¹µ½ÀÅÊÉÅÄÁ¾¸¸ºÁËËÉÉÉËÌÎÏÑÔÐÌÌÊËÈÈÄÃÀ³¦˜‰}ollšÞíöúüþÿÿÿÿÿÿúôìãØÄ\3('(&%$$%$$$#####!""""!!"#%(.3:AGPTY[^]]]]aceghcfggdfffdgjfegillmmopnjieeeddeegjjhggjjgdeeedcceeeaccdeddeffdffghfgiimmjhljolpmlljfedffjmppqqqqoortrnpsrrrmmloppqvutryuxvtqqpoknpqkjilnrtuuutwrroruvyvttttsxuutttvuurrrstttspvttqpooqlfcZWY`ejoomljllnkkjihgdeeghjlaT]fjiiihefgjjlmmnommlllnmmlljkijjjgigghedfcb___`bcddbieiopnmmononpmkgggnihghfgc¦¥©£¤¤¤£¥ ¥Ÿ –‘‘‘‘“’—”~reWetz‹‡ˆˆˆƒ€€~‚ˆ‹’”““–›˜œ™žš›œ¢ ¤¢¢¥¡  ¤¡¢£¤¥§¦©¡¥  £ Ÿž£¡¤£¦¤¦¦§¨©¥¦¦¦Ÿ¡ ¡¢£¦ª­´¯±ª§¦©ª¬¬²°¯¯µ¯®®¯°²²ºµ´³´´´³·±²²±±²¯±­·°±°´°²²³²±´º·»ºº··¹¾¸¹¹¹¹¹³ºº»¼¾¼¿ÀÁ¼¼º¾·³´·µº¹¹¸¸¼Â¾½½¾¾¿¼»¾ÆÂÉ»µ·¸¼ÈÄÉÉÊÃľ»¿ÆÅÏÉÇÊÍÍÌÍÜÓ×ÒÔÏÐÐÑÌÌÇʾ´¨›‘‚tkn âìõøûýÿÿÿÿÿùóëâÔµS0'''$$$#%$$$$###$"###"  "%*08@GNTX[__dbbbbefeeghikhgfjgfgkifgkmrnpmrnkiiddejfhgjjnhjhkgfgjedeffifffgggdccdeeeffjggglmmjghmlonpkkkjdadeflmorwtvpnowtqnpswqqlmmurxqutrqzvyurpoomntqqkjjpqvvwuvuxrqqvvvwwsrtyxxustwxzwvsvr{ttssrvtxrooplkebWW^ciuppkllqmnkljjhkjiiijocXXhijjjhhhghpqspsoqmnllkonmmmlljrjhgjfgffeeba`a_cdkfeehgkppmmmunnnommjkjmigfgghg¥¥¤¡¤¤££¡Ÿš–”ŽŽ‹Œ‹’–Šsbd\lƒ‚Š…‚}~~€‚„ŠŽ’‘”••–—•š˜——š››œŸŸž¥Ÿ¡¡¤¢¤¦¤¤¦¤£  žœ› Ÿ ¡£¢¤¤¥¢¡¡¡ ŸžŸ›¢¢££¥§­±¯««§¦¦«¯®­±±±®­¬­­°°±³µ²²³²²³´³±°®¯®²¯°¬­­±¯³®±²³³µ¸¸·¶´µµ¸¹º¸¹¸¶µ´³¹¶º»»»»¸···¸µ²´µ¶´µ²¸·¼À¿¿½½»½¾¼º¾¿Á½¹®´·¾ÁÂÂÂÁ¿»¹ºÁÇÈÈÊÉÉÊËËÍÎÓÐÑÎÏÏÐÑÑÎÌÇÇÄÂÀµ«¢•†uqs áìôøûþÿÿÿÿùòêâУL/'''%%$#%$$$###""!""!! "$*/5;CLPXXZ]``aaaaadeffgiiijhggggghhhhhknnlolkiihebdfgehhiiheeeddgkiefihfeeggdbbbccddghgegeghhfffghmknolijjjbdffgkmpssrtnpqqqpmqqqmnlmnnooppprrttttroooonpnlhjkoqrprsttuqrswvvtsrrrtuvsttwxwuwrsssssotsusstqplhhdWQ\bfkoooimlnmkiiiigggjjigcZ[^gjjjigggijqsropnmjjjlihhjjmllkkkjgheeecabbb___edghhghhmoomlkmmnnnnlhjkkkgefeec¦£¢££¢£¡ž—“‘‘‹Œ–—™ueVbktЇ‰…}„~~„‰ˆ‘•–—™š™™•š™˜—™šžž žžŸ¥ ¤¢¥¢©£¡£¨£¢ ¡žœ››¡£©¤¨¤¦¤©¡¥¢¦žžŸ£¥¨©¬§±¯®®®­®­²°±±·´¸­ª­²¯³±±±·±±²¶²´³³®°°±¯²®°ªª®³¯²²¶µ¹³¹¸¸·¶´¹µ¼¼½¸¸¶µ´³µ¹º¿¿¿ºº¹¾µ³±¯³¸·¹¶·¹Á¾ÄÀÁ¾¾¿Ä¼½¼»¿ÇÁüµ¸¾¿ÆÃÌÄż¹¼¿ÂÈÆÍÉÊËÌÎÒÒÑÐÕÔÔÏØÖÕÒÔÐÓÌËÍÐÅÀ¾º©‹|tw£ÝéôøüýÿÿÿøðéâÑ’E.''%$$%%%$%####""   !%*18?GMWZ]aefgghbbaddggjimnojnhjikhhgfhkkllmloigfddcdddgfjhkihfgeffjihfjjlfeemeaaabedhhkjjijjjjjfhfjjmlrljhmklkkknnoptrqqtprrsoporrrqpoonnorppqtstuuuursssttliilosruppr{tvrutwwwsttuuuuztww|wwvxrstvststtzsrrtojiiXNVgglnqnomumolkhmjkfgijilg^\^bgilihhllmmrqrssmkighkkkhiinnplmmmjnffcbbebb_`bedghoikkooqmlklmpnolkkkkkheehege¢ Ÿœ›–“ŽŽŽ‘ŽŒŒŽ‘“ŠudbXhx|‰†ƒ}~~}~~€‚ƒ…‡‰Œ‘•˜š˜˜™—˜”””––™šœžžŸ ¢ £¡¡¡¢ ¡¢£  ¡ œ›ž £¥¤¢¢¢¥¤¤¢¢¡Ÿš ¢¦¨©ª©§ªª««¬­°¯°­°±±¯®ª¬°°®®¬®­°°²²²°´¬««­¯¯®¬ª®¦«¯°¯²³µµµ³¹´´±³´·µµµµµ·´³²µ·º»½½¿¶·¶µ¯¯¬°³¶¶·µº¿¿¿¿¼½º¾À¾·º¹¾ÁÁÀ»½ÃÅÆÆ¾¿¿¼µº¼ÄÊÇÆÉÇÊÌÐÒÑÐÐÐÑÑÑÏÙÖÔÐÐÎÏÌÎÏÎÈÆÅ·®¦’xtÜêõúüþÿÿ÷ïè×Ё>,&&%$$$$$$$####"  !&*/4;CIQTX[^cifeeeha``ddhhiinmnjjggfffgfgikfllmjiggcbbbabcgfgffghcddggifgfiljhgggcccbafeghhhiekijfffeekmmlkhjimmmlmmnloppqpnpoqqsmpppopoononoqqopqsknnoourqoqnlgjkpsrrtpoottsrrqwusqqqrprsstwyyvutxqssrruxvttqrqplkjZMU_dhmonkkknmifhhhggfjkkhhd`^cgghhfgimnnopnnkjjkigfmnkhhgfffgjiihhgdabc`]c_bedddehhkknnnlkklmnnoikggegffeee`\£ ¡ ¡—•’ŽŒŽ‘˜™š…€hYado‡‡†‡†€}|~ƒƒƒƒƒ†‡‹‹Œ‘–˜œ™˜›—™Ž‘–™šš› žŸ £¡£¡¨¡¢ŸŸŸ£¡ŸŸŸžž¡¦¦¥¤£¢§¢©¥¥¤¨ Ÿ¡ §§­«­©§§«¬«­µ³¸²´¯´®­¬¬©³±°­®­±°±°¶µ´±³ª«¬­­­©§©¬¯±°´³¹µ¹´´´¸¶¶³µ´ºµ¶µ¸µ¹º»»¼º¿º»½¿¶º´±¯°±¶µ¶¸»»Â¾Ç¿Á¿Ã¿¾¼Á¿Æ¿¾ÀÃÄÇÂÉÆÈ¿À»·¼ÇÈÊÇÆÉÍÎÎÑÙÔÕÕÕÖ××רÚÖÕÒÒÑÔÔÔÑÏÑÒÑÑÅÅ´§’ttŸØæõøûýþöïçÑËu:+&&$$$$$$$%"####'+19@EKS\^`aafniifgfgfghjinnmkpoojiggefgihhhlkklmhfghbbbcbbdffifhgheddghjiiiijkjihgggcdcffkkmijkljkfhgjkmopkjjlmrpsoqqqopppppqroqpsotttosopppqvsvttrtnnnnouqpowmkippvs|utouqrssssrwtsqqpwpsrttxxyvuswpsqprvwwtsquqpnq^RR\`eksnmlpkmjgfhhgghgokkhib`bhjlihefinotrroplkikjhhnlkjigdefgjjjijebbeb`_b`eejgiijkonnonkjkrnnmpjlhhhhffhld]_ Ÿœ˜”ŒŒŒŒŽŽ’•”’yjdVguz†„‚€}{{z~€~‚ƒ…‡‰‹Œ‘”—˜šœ›–•“‘‰—œ›™š›¡ž  ¡ŸŸžžœš Ÿ £©§¥¤¤¤¢£¡¡¢¢¤£¡  ¡¨©©©©§¨¨©¨¬­´±²²°¬¬©¬ªª¨©ª¬«¬«°°°±¯®®­­©¨¦©§¨¤©«¯±±±³´¶³³°³´¶¶¶³²²´µµ´¶µ¸¹ºººº»··µ¹·º°°°²³µµ¸¹½¿¿¾¿¼À¿¿¼¼¼½¼Â¿¿»¾¿ÂÂÃÂÃÅÀ¹´­¹ÂÄÅÇÇÉÌÍÍÑÓÕÓÓÒÓÓÕÓØÙÙÕÕÓÓÓÔÐÒÒÒÒÒÒÏÇļ²¢‘€vq—ÎæôùûýöîæÎÅi7*%%$$#$$##" #%*/5;AJNQV[^aaafljgieffgeghklmmlkkkkhgfffhhiijhmpmlleehc`bbcdefgffefgffedfehhhhhggeiheegbdcefjkjhijjkhdggjiihjjklnoooonpononnpnnoonnnolnnooomorrssqutrponnmopvpqplfiipsssvttpuqqqrqsrsrrqqqpoprssuvzsuqrppprtwtssrqpnmn`PT[^bjmnnlloklhgehdggghomjfb]ciikiggehknpqqpoomkjjiiijjjnc\^`ffkiikkbcce`````ffffjlllnoomljkllkjjkhiihghehkhc`c ™™’Ž‘“Ž’“•—•š‰„l\``l†„††€}{yz{|ƒ‚ˆˆˆ‹Ž“”˜—œ›š›œ••’’“––¡œ›šž¢¢§£¢žžœœœ¢¡¢¡§§¨¨¨§¦¢¥¡¡  ¡¡¡¤£¥¤©©ª©©©±§ª«±®µ°²²¯©©ª¬«®©­ª¯ª­¬¯®¯«ª¬±­­¨¨ª«ªª®²²¶¶¶´·µ»²µ°·´µ¶¹²³³¶´¸¶¹¸»»¾¹ºº»¸¹µ¾·¹´´³·µº¹ÀÀÁÁÁ¾¾½¿¿ÁÀÀ¿Â¼ÁÀ¿¾ÁÀÈÆÅÂĽº·³¸ÅÂÃÅÊÉÍÎÓÑØØÙÓÒÔÚÖÙÛÛØÜÖÙÙÚÕ××רÙÙÚÕÕÌÊÄÄ´ª‘qn›Õäôøûôíå̶^2)%%$$#$#"   "'+18?HMQTY[abiijlmlkhifffgillpppnnkjjmgfgmgnmmjlkpookkeddaadfihlffggeegkggdfgmiggkgiiifdefcddegjjjijkkigejhohiijloosoonqpuppnmmppuonmpoplnnoooooqustqwsqnopqrssvprlgelnwwwuwvuuvqsstsxxyrpqwqqopr{utu{svqttsswwwsqqrqpppbWVYZbiwpqnllolkkkgggggmlqlib_`iikihgjklmqqrononkkkkiijkiidZSR`eekihhlagfeeeb`bghgionmlqqtmkjpmmlmloijilghhmihaaf•ŽŒ‹ŽŽŽŽŒ’“–’“}oeVdowˆ……„{zy{~}}€ƒ…‡‡‹‘‘‘”––––“••••””–œ™˜˜˜››žŸ¡¡ š™˜š™™™›™›šžŸ¡¢¢¢¥¤¦¡¡Ÿ¦¡ ž¡œŸŸ¡¡¥¥¦¤©¨¦¤©¨«§ª««ª­­­ª©¥ª«««­©ªª®ªª«¯«°§ª«°¬®ª«¬¬¬¯±³´µ²³³³³µ²±±³³³³³²²²µ´··¹¹»º¸´µ³¹¸º´³³¶µµ³´µ»º¾¾½¹»»¾½½½¿¿¿¿¾¼À½¿¿ÁÁÃÀÀÀ½¶µ¶»¾ÂÂÃÄÉÊÎÏÑÑÑÐÐÐÓÔÕÕÙÚÛØÚÖÚÖ×ÓÔÕÙÙÙ×××ÓÌËÇļ°žŽ{vu™ËåõúóìäǧW/(%%$##!!  "&*/4:@HPUYY[]_cdhijkkjiiidghijkklllmlkjihdfhlfikkjklmkjjjfddccgjjhkffggeeeeedcfhgggffeddfdddfbeeghhhiijhgfeejhhhjilnoonnnmoppnnlmnqrpllmmmljmnoppopqsstpppqnoppqrsvqlfffmpuvusvrtssrrssswuuqqqpppnqs{vutssrqrrsttssqppnkjjbXVTY[fonllmmlllmmjfgeghmlmjc]`dfgffghkmmnqnmlkkkhkkkihghhh]J<Taffkihfeabababbdffbhlmklmrnmmlkklmimlniihkfhlmgg\el’Œ‹‹•ސ‘‘“’”™”p_]Xg|Œ‹Š‚€~}{zz}}€€ƒ‡‡‰‹•“˜–›–••˜–—––—š›š™˜ž£ ¥ ¢™š˜™™˜œ £¡¤¤¥¤©¤§¡¢ž¦Ÿž¡¡¢¡¤¦­¦ª¤©§¦§©©°¨««¬¬°¬­©ª¬­««¬¬­®¯®ªª«¯¬°«­­¯®®°±±µ²···´µµµ³¶µ¸¸¸±´³¶´³²¶µµ¶¸¸¾½¾º¸´¹¸¸¸º´·····¶º»Å¹½¼»»¾½Â½À¾ÅÄÿ¾¾À¿ÄÃÂÃÆ½¿½¼¾ÁÃÆÅÅÆÌÉÓÏÔÐÒÓÔÔÔÔÙÙÛ×ÚÚÚØÙØØ×רÛÜÜÜÜ×ÜÕÓÒÓÌÊü¯¤“„xv›ÏâôïëÜæQ.'&&#"   !$).39AGLPW[`beghfkhmnolnkmikkljnmmkkkkmrkiighjjjiikmjloplnijfedgfnlnijghgfdeghccdffeffehhhefdcceefimlklliieefeekhghjirrrommpmsrqnomnouppprmplklrnoqstvsxxzprrqqrrsquswmheiltrtutrwwxtrrrsuswtvvwtrrrput|wxttrxruswutttpqnkjldZUYY[bnnnktoonmllkigggllmlme_^dgkgihnnommnqnokkjjjjkooohgggO=CXbghkkkfhcb`fccdhhfemmnkonqnppqmsmnlmmnmnjkjklmgehmmŒ‰‰‰ŒŒŽŠ‘‘‘“‚xiV`dp…ƒƒ‚€y}~|||}„…†‡‰‹Ž“”˜–˜––––———˜›™šž›š™žžžœœ™™™šš™œ ¡£¡¤¥¤¤¤¢¢ŸŸžžšž›¡ ¡¡¦ª©§ª¥¦¦©«©¨§§¨§­­®©¬««ª«©®°­¬­­«ª©¨«««¬­®¯¯®¯±±²±´´µ²²¯³³¶¶¶µ³±³²¶´´³¶¶·¸¸¸¼»¹¶µµ¸¹¹¸¹µµµ·´¶¶ºº¹¸¼º»»¿½½½À»¼¼»»¾¾ÀÀ¿¼¾½º´³µ¿ÃÃÂÃÃÅÇÇÇËÍÐÏÓÌÌÍÔÖÙÙØÕØ×××ÙØØ×ÙÛÜÜÜÜÜÖÛÔÕÔÒÎÍÈÁº´ª™‡~v–ÈáëèÒ¸¦M.&#" !!&(-08>DJNVXZ_ccdeefffgmkkkkimjjhkkmkkjkjknkiighklmjgjllkmqnkheeeffefiiigfedcdbeheacbeeeeeedcgeeeddgiikiedeeedbbbefhgggkjjkklmlmmmlnlmnopompormoilmrnprrsrrvxsoqonlonsrqqkdfflqqrtttsttussssstqsrttuuqnootsttuutrrptsuuqoopnmkjh\YVZ\dknqomonmjkiiihgggmonke_`bflkfhinmlkmmmmlijjjjkkngihheVEJT^gijjjjggb``dcdfhiffghhioonloomjkllkmmmnkic]dhigfghhŽˆ‰ŠŠ‹ŽŒ‘‘’‘—•“wi_Ucv{Œ„„ƒ‚€~~}~||}~‚†„‰ˆ‰‹Œ’“™•—˜œ–—–›™žš™™ššžœœ¡ŸŸ  œ›š›œŸž£¡¦£¤¤¨££¢§¢¤Ÿ ŸŸžŸ¢¡¦¦­«ªªª§©©¬ª©§§§©§¯­®©´­°¬®ª´®­­±«ª¨¨©¬®²³²²²°´²·³µ´´´¹³´²¸´···´³³¶²·¶µµ¶¶ÁÀÀº¼»¹¸½¸¸¸º¹ºµ¶µ···¸Á»»¸¼»Â¾¿¿¿ÀÀÁÁ¼»¼¾¾ÁÀÀ¾À¶²´µºÂÀÃÄÈÄÉÇÎÎÍÍÑÏÓÎÐÑÖÖÚÚÙ×ÚÚÚÚÚÛÛÜÜÜÜÜÜÜÜÜÛÛÛÕÙØØÏËÉȾ±ž|t•ÄÚå̱F)#" #&+07>DKPUX[^cfigfgghiffgnjjkkjmlonolmlolnmljiihhjkolmmmlooonmfcdfgighgkhifedcchggedacaddddieddhfhhkjijljjdfdjedcddfhjjjjlkkklknnnlkmplmnrnmlppsnnnoosostsrpqvroptommsorrumfdhkqssswtvt{uutwststtvstuvsqmoqttssyvwrsqsrxronrolkjheYYY_fqrropponljlipikiijmopf`^cehjkfhkvmljsnomoimjlkokliihj^QLW^ggokkjmgla`cicffjgfghgfhqnnlonmmmmokrnomhd^`chkffgkgЉ‹ŒŠˆ‚o\a]l‚„†…‚€}||~~{{|}ƒˆ‡…‰‰ŒŽ‘’”–”—˜—”–•›–™šš™™šœ››œŸžœ™™šš˜œ›œœžž¡¡¡¢¤¤£¡ ŸŸŸž›ž¢£££¦¦§¥¥¦¨¦©©«©¨§§§¨¨ª©«ª©©««¬«³­¬«ª¥¥¦©«­¯±±°°²­®¯²²µ°³±³¯±±´³´²±±±²´²³°µµ¶¶¹¹¹¶¹»»····¶·¹ºµ´´¸¸º¹»··¸¼¼¼¼½¼»¹··»º¼½½¼¿¾¿¾¶®³µº¾½½ÃÄÇÄÈÈÈÈÈÉËËÍÊÐÕÔÓÓÒÕר×××ÚÛÜÝÝÜÜÛÛÙÛÛÛÚÚÕØØØÔÓÑÏ˾³‰zo޾¼¶ˆc:%%%)-39@FKQU\\]aegjiiiiihhggghghgkhmmnkllkjjjjjkhjkihjjllmjmlmmkge`ceegggidffifeedccccad`baededdbcceeiikkjlkgfcddcacbdeikkjjjjjjilklkkknnommnnmmmnmmlmnnnonppomponloqnknnonpnmhgeknqutsttttttttutsstsusttuommqtqoprrrqoqqtrqmnnoljhheZSXZemnonnoonnkijihhhimoolg]^_dhiijfilolkkkknlmkljkilkmiig_WSP[cffjkkkjgcZbhhcddfdghhggimkllllmmmmnkkknlgccefghffede’‘–‘~udWakt‰ƒ…„…}||~€~‚ƒŠ‰‰Š‘’’••›•˜—˜™šš›››šžšœŸžŸ›£ššššžšœœŸ£¡¥¢££¦¥¤¡¢ž  žœœž£¤«¬­¬­¦¨§¨¨­©«««¬¬©«§§©¬¬®ª¬¬¯¯¯¯³¬ªª«¨®®­¬´³¸²³²²­¯¯²²¶²´´´µµ²¶³´´´³¹²µµ¶¶¶¶º¹¸¸¸¹¸ºÂ¶¾·¹µµ·ºµ·¸¾¹º¹¾·¶¹À¿¾¾½¶µ¶·º¾½À¿¿¼Æ½¿·±´º»ÁÀ¿¾ÅÄÈÅÎÈÈÈÈÈÈÌÐÎÕÔÕÔÓÑÔÕ××ÖØÛÛÜÜÜÜÛÛÛÛÜÛÛÛÛÜÜÜÝÜÜØØÐʺ«™†tnŽ­‡cK0,-17=BISW[]`cgikllmqmmnnghhkhhiiikjrnpopkkjmjjijllllkkjmkmmnnnlleccieeefgidffhihhgceedddficfegcbbeeefijojjjjhfddcbcfffinmolojojjjlmoqqovornnpqosprmompnnopoponnpnkmrnkmrooqtlhghisrrsusxw{ttsstwsrsutvsuutmmouqpooqupmourxronqotjhhgYSTYbqrrnmnvppljijhiggjppqjc`acjjjiiioooprlmjnlqmoknjrlllnaWVVYfghhkjmlkfa`jiibaeggnjjjjmrllklkulnlrjhjrjgfggjjmhhddcŽŽŽŠ†tgcXgx|ˆ…‚€~~|||~€‚ƒ…†Š‹ŒŒ‘’’“”””““”—˜˜˜˜™™˜˜™œœœš™™š—˜˜˜—›šž£¢¡ £¢£¤¤ Ÿ›œšŸŸ¡¥ª«¬¬¨§¥§¦§§¨§¦§««ª¨§¤§©¬¬­«¬¬¯°®®­ª©§¨¨®­­­±³²¯´²±®®¯²²²²´´³°°±·´³³³³¸²¶¶·¶¶·¶³¸¶·¶¶µ¶¶µ²µ³µµ´µ·º½¹¹¸¹·¸º½¹·´±¯´µº»½½¾¼½½½¶¶²´¹»¼¾¼¾¿ÄÄÅÂÁÂÂÁÈÅÉÌÍÍÑÏÎËÒÐÐÐÒÑØÚÛÜÜÛÛÚÚÙÛÜÜÛÛÛÜÝÝÝÝÝÝÛÙÖ˾´¦–‚zsnhbC=9=AGNSXZ]^`bdghjlmopmkggggggeeehhjjmoojkiiijhhgiklhkjjjmlmlmokhgbdfgeechhhdffffdaa`aaccdef_aaa`cbcefgjkifffjifddbeeedhjnmmllijjjjmponnnmlqnoppnnnmkmlonprpppnpqqnnqnkmoporuqjheikqqsssqttutspsttpqutssrqomloqplqrqqqppqrrqoponmkigeXNTXbllmmmmnnmmkjikfhejlppke`^bdghhiijllomkgijnlpmoijimmlmeWPMW^eiiiiimmkcccffg^beefggfcltohhhkjjkmhhghhkggfgijkiheaba“‘”‚}j[adn†…„„„~~||}‚ƒ‡ˆˆ‰ŽŽ““”’’’”“““–•œ˜™™˜˜˜™›œžž ˜—˜š˜›˜™š£¡ ¤«££¡¨£££¤ŸŸ ¡¥¦ª©®®®§¨§§©­©ª¨§¦°©ª¨§¨©ª¯­³²²®¯®­«ªª©«¶¨®®¯­±°²°¶°¯¯···±´³·³³²···´·³´µ¸µ»º¾¹½¶µµº¶·µµµ¹µ´²µµµµºµ¸¹½º¼¸¹·»º¿µ²±¯µ»»Ä»½½¾¼Å¼¿¶··¸¹½½¿¾ÂÂÈÆËÂÆÂÂÂÉÈËËÖÏÓÎÌËÑÏÏÒÖÕÚÙÛÛÛÙØÙÛÛÛÛÛÛÛÜÜÜÜÜÜÜÛÚÙÑËõ«—ŠyreWNORVY\_cigecddhimlnnqljikjnihefgkikklntilhpkmiijmkkjjjnmqlmllkjfgggfgffchhhhifeccabcgggdfed`````dclmmgmjfedfjhffffjghhnnnnommjllmmnoroonnlrpqqrnpmllpoopssuprqysropnmlnoqsvqojijppqqwwvssuvtrsutsoqrssvqrlkntrpqstrqrpsqyqpqqnmkiggZQQV_mmsoqnqonmnlllkghjtmplg_^afgffhjnlqmolkhhjmmpmoiijlnqkcQIQ_ekinmqknkkeeehgfccddeiggfpominikjiilgigjhpfkghhlihebaeb‘‘“ŒŠxmfZeovƒ}z}}|{{{ƒ€‚„†ŠŒ‹‹Ž‘’’”‘’‘‘’“•–›—˜™™˜šœ››œ›˜—–––š˜™—œ¢ ¥­¨¤£¢¢¡¡ŸŸœžŸ¡¢¥§ªª©¨§§£¨¤©­¬©©¨¨¦§£©¤¦©««®­°±°¬¬«ª©©¨©ª©©®«¬«°®°­¯¬¯¯¶³³±±¯¯°²²²³´´¶³¶¶¶´¹¹¹¸¸µµ´´³´´´²²²³²µµ¶¶¶µµµ¹¸º¸·¶¹·´®¯­µ¼»»ºº¼»¼»»º¹¶·¸ºº½½½¾ÁÃÃÂÁ¼ÅÁÃÃËÉÉÊËËËËËËÌËÐÕÖ֨רØ×ÕØÙÛÛÛÚÚÛÛÜÜÜÜÜÜÛØÖÑÊÊû´«œ’|qmhggiklmmljfffijllmmnkjhkkkkgegiiijhlmmiihhhijkmmkjhjjnnnlljjgfcgefefcecheeccccccacdghgeddca```adfmiigfeedfgggfghhihijlklonnmkkjiglmnmljmlllprrnnklmpnptsponrppoommkllnorspljgkmqsrsvwvssusqsvusrprqrssqnjosqnpptwrpoorrqppopkjiidYPTV^flmmkklnmljlllkihknnnlh^YaggggfjlmmllmkjijjlmokkijllmlgWLQ\dijjmmlkjhgeefc`edeeeeeeefplhfghighggghfihhegegfeefdcbba˜˜–‡…na`]i~‚„ƒ}~|||}}}{{~ƒƒ††‰ˆŒŽ““”’—–•Ž’˜”š’—•›˜š˜š˜žŸžœ œœ—˜—™™™šŸ¥¤£¡©§¦¥££¢¢¢Ÿ žž¡¢¦¦¦¨«¨§¥¦¢©©«¬­¬¬©ª¦¨§§¥¦¨­¬²­°¯¯ªªªª©©¨ªª­ª®¬®¬¯¯²±³³´²·³´±²¯³³³³²´¸·¶¶¾¹»¸¾¸¸¸¹´¶¶¶·¹´´²³²¶µµ·½·»º¹µ»º½»Â¹½³°°±µÂ½¿»Á½½¿¿¾½¸¶¸ºº¼¾ÄÁÇÁÀÂÅÀ¿¿ÅÄÅÄÌÈÈËÍÍÎËÐÐÐÏÔÕÙÙÚ×ÕÕÕÕÚÚÚÚÚÚÛÛÛÛÛÜÜÜÛÖÔÐÌËËÃÈÀÁ±«§¦’‚€€}{„€}ytpnoqpoonnnnnmlkjjgghijjniqlnkjimhjlnmommkonnmmlljkgfefhkffeieidedgbecccdehiihhdbaa`abginiifffedlffffipkkkkknkllklmmnjijrqrlljmlmnvsrnmmpnpnrrspnnrqtnmmllmlnmtplihjmqvssuyxxrsrqquuvtwssruswonpxspnqrxuspnpqrrqropkiij[RRW^jkqnnkllqmlklkjihiqmmkj`Y^ggjijkqoonlmmmmnppooolkjjmonl[NJUaonnmnmmlkgghleabdfhiiehgegpkfefgkgihhghhigeejgjfgfhcbbacŽ‹|qhYcfp€}yzzywxxyz~€ƒ…†‡‰‰Ž‘’“‘’‘‹””’’‘—–˜˜˜——˜™™š™˜˜——––˜™›œ £¤££¢¡¡¢¢ œžžŸžžŸ£¤¥¦¦¦¦¢¤£££¨ª«§©§§¦©£¨¨¨¦§¨­¬®¬­«®§©©©¨©¨ªªª««¬¬«®¯²¯²³³²³±´¯±°³±²°³´µ²µ¶¸¸¹·¸´¶µµ´µ²²°°°³²²²´´¶¹º´¹¸¹µ»ººº¹´±ª°³¶¸Á½¾º¼½º··µ´³¶¸»»¾ÀÂÁÁÁÁÁÁ¾¾¿ÃÂÄÅÆÅÈÃÅÆÆÇÇÉÎÏÒÒÒÒÑÌÎÏÖÔ×ÖÖÔÚÙÛÛÛÛÚÛÜÛÖÍÉÈÈÄÃÃÿ½´®¦¤–‰‡……‚…ˆ‡ƒ}zzyyywusqstronkkjihijlkkimmmmkihhmonmmmmkprokjhhhhgggijhfffeddbbaaacdddefedfedbaaa_abgljhgdebddddffijkkkjighikkjjmplhkmoqollimlooppolmnpnpoqqsnnnnopmmmnnnkmmmlifkppqrqsuyxsnpppqqprrssrrrrmjqwvrpmooqqqoqtrppqnlkiigZOTU]djklllklllkklmigghikkjga[`jeeihknnnpiiinqqpqqqnnlkhlnnp_LJK[fnonmmmmmlgijfacdhihhhec_gkkigefgkffgidgfgeffidfffdcabbaf‰pba\gw|‚ƒ}}~yzxxwvy|……ˆ‰Œ‹‹˜”•‘”’’Ž“““’‘–——˜——žš˜š˜——™™œœ›œ¡ž¦¥§¨¨¢¤Ÿ ŸžœŸ¢¢¢¡¦¤¬¤¥¥§¥¤¥ªª«¨°¬²§­¦§§¨©©©©¨ª«­«°¯¯«®©ª¬°§©¨«ª²²²«®®®°´°µ´´²¶²³¯³°³³µµ·´¶µµµ¸¸¹·¹·¼µ·´¶²³±°°¸³¶³·µ¸·¹·¹¸ººººÀ¶´²°°¸´¼¸À¼½º¹¹»¶¶´²µ¹»Â¿ÄÄÅÂÄÁÆÁÀÁÇÂÄÃÈÆËÊÉÃÆÅÇÈÊÊÍÍÑÑÑÏÎÍÍÏ×ÔÚØØÔÚÚÛÛÚÚÚÚÚÔÐÈÅÇÌÄÅÄýº¶¸©¥™•“‘Œ‰‰ŽŽ„‡…„…†……†„}{}{xwvtrrqqrqpooqrsurpoomspooopssrqpjhimmmihikihhigedecb``bgghhgefffeddfdccddghhhkfefgdfdfiojjkmkihkkmkjjmlkjmmnnnmplmlvomnooqopqstuqrsuonnsnoosrrrrnoigiopwrrqttzspoopppqsrstttrrlinyxvpppopoppqvttponokkkk[PS\]ekrnooplmllkklnhghjlrkjb]_hheehipnnmpiiioovqyuuqqnmmuppgYFCQhlnoqnmnmmmmnjfdihojmmmfddjjjiifmjkkkkjglkkhihjdgfidcdebbdkYabn~~~}|{zyyxuusx|€ƒ†ˆ‰‰‹ŒŒ‹‘’‘‘‘‘‘“”’“““’•–˜š™˜—–——™•––™šœœœœŸž¡¡ ŸŸœ™™™ž›žžŸŸ¢¢£¤¤¤¤¤¤¤¥¦©¨ª¦§§§¦¥¥§¨ª«ª§§§ª¬¬«ª§ªªª¨«¬ª§§¦ª«¯®¯¬¬¬¯±³¯¯¯°°µ³´¯±°³³µµ¶³²¯´´´³¹··¶·´µ³²¯®ª¯°°°°±¶³¸··µµ¶¹¹·¶³®±±³´¶´¶¸»»»º·¶µ²´´µ·º¼Á¾¾½À¿¿½ÁÁÂÃÄÂÂÁÃÃÅÇÅÃÄÅÈÉÊÊËÊËËÊÈÊÍÍÎÏÐÓÒÕÔ×רÙÚÖÔÓÐÉÇ¿ÂÃÄÄľ½¼ºµ¶«¦œ™”’‘Š‡„†ˆ‰‹‰ŠŠ‡„ƒ‚‚}{ywvwwwxrpruvwvtsspnrqqoppppqophjkmlmijjjhijihfceec_bdgiifhegfffefecbbeghhhiihilfdddhjkkjihhhhkkjijjjjjjlmnmljklllonllpoqmrusrqprrromlmnooopromigehkoqrppoussoopppqqpmqssstqmhntyuspqqpmopqrrrsoopmikn\OU[_cjoqnoonllllkkkighiklqkc\afgeedgiomlkjiifjknpuuuqonpqrpqbPBM_iponjflkmjmjihgeghiijlifffghiigfihhgjiighhhhihfdeeeea]cccdXcru…€}}~|zyyz{zyuuy‚‰‡‹ŠŒŒ‘‘“””‘’˜˜˜“•”˜“•””–˜›Ÿšœ—•––˜™–™™Ÿž¢Ÿ¡ ¦ ¤¡žžœ›˜˜šžžŸž¡¡¨¦¬¤££©©ª¤ªª©¨«¬¬¤¥¤¥§«ª¯«­§¯­¬¬±««¨ªª¬¬¬©¨¨ª«±²´³µ®²®²²´®±±²±µ³¶¶¶´¹¹¹¹º²±³»´µ¶»¶¶¸¹¸·²²°­­°¯±±°²¶´ºµ¶µ»¹¿¶´³°±·¶½´·µµ¹½¼Á··µ´´··¼º¾¼À¾¿½ÂÀÀ½ÅÄÅÃÆÃÄÄÅÁÀÁÂÄÊÈËÉÎÎÎÈÉÉÊÇÊÌÎÎÎÏÕÕÕÔÙ××ÖÙÓÏÍÊÉÊÂÂÃÈÃýÀºº´´«§Ÿ•–‘Œ‰†‡ŠŠ‹Œ‘Ž“…‹„ˆƒ„‚€‚„ƒƒwtv|€~}|}tsrrtuuyusssoonnnqnnnommnpqpigfihhfeglknhijkjmmmjigffkknjjlponigfghlknmnmmmmkjjhikkllllppqqqjlnrqpmlnqqrrsuyrqsxwvollonqopprmjfceilsqursqwrqnoprrvqpopruttnlmwuytsruptopqrsxrtppnmno^QR\`gkuprrsnmmpoplmjgfhlqosf_`fhmhfellnlkkjhhfkkkntuvqpqvuvpqXIHWdpopkhflknmmiihhhhiliiigggjmopjhhjhhiijkikiiimhfghhmd``bcidj||}~~|zyyyxxwwuxv{€ƒ…†‡‰‰ŒŒ‘ŽŽ’’‘”””‘•’“’’’•—šž›–•’“””““”š™›žž¡¡  ¡›——•™˜šœœœœ ¡§§¥¢¢¡¢£¦¤¤¥¦£¥¢ ž¤¢§©«ªªªª§¬«¬¬«¨¬©ªª©§§§¨©­¯²²±°°­¯¯³­¬ª««¯¯´±±±µµ¸¶¶³³°³µ¶´µ¸¶²²±°¯¯¯±²¯®±¯±­±²¶´µ±¶µ·¸¶±±°±²¶´´³³³·»º¹·±³³´µ¹¹º¹¾¼¾¾¾ºº»¾½½½ÀÁÀ¿À¼½½½¼ÄÅËÈÇÆÆÃÂÂÄÄÇÇÇÈÏËÎÏÐÑÑÐÑÑÒÑÐÍÈÃÿÃÁÂÂļºµ´¯®©¨œ™‘Ž‹‹ˆ‰‰‹†‹‰Œ‹††‚ƒƒ‚‚ƒ„ƒƒ|xz€€||uvwy|{zyyxxtqqrpoooonnmoqponjhfihhfhjjkjijjiiihjjjjhgijklmnonmhhikkkjnnlhjjllkijkllmmmlppppmjmooonlnorsrrsssptwwxsnliomqopnlhfefhknrpqqqqqnrnnnoooqpnqruokioruuttsruqsqrtsssopppmmn^QSY_ekoppponllkmmpkjigfkopng^bhhihgffmonlkiihhefejlpspoqrttup]KJM_lonliigllllleddefggggijihkmmlljjjjhklljkihgiikeggghgccfdced…|{||zyyzxzvtwy}†‡‡‰ŒŒŒ’ŒŽ’“—“•“”‘–’•—™šš˜›™”•’”””•–”œ™š¡ž¢žœ¡›—––˜žžŸ¢¡¡¡§£¦¤£¢¨¡¢¤¬¤¥§ª¥§¡Ÿ ¦§¯ª­¬®«ª«±¬­¬¬«¬­¬«ª§¦ª°®³³´²²±±¯³²´®­®²³´²´µ·¸¹¸¹¶¶³³³¹¶¸µ·µ´®­®®®³³³²´°±°²³µ²ºµ¶³¸¶´´´°±³·¶µµµ¶º»»¹¸¶µµµ¶¹¸¿¹º»¿½ÂÂÁ¼¿½Á¿ÂÂÂÀ¿¿Ä¼¾¾¾¿ÅÅËÇÅÅÅÃÅÅÄÅÈÇÇÈÏÍÏÎÎÏÓÑÖÕÕÏÏÈÃÀ¿¿ÆÁÃÂÇÁÁ¼¹¶¶¯®©©š‘”ŽŽŽ’Œ‹‹Œ‰‘‹Š†ˆ„…„„…‰……}y|‚„ŠŠŠ†…~|~„ƒ€…ƒ€€wuuysstursssszusrrljkokikqmklklojmjijllpmjikkkmrqrpmllnponnmmlkjknmllnnprrqqqprxommoornmorsvtutwssu||{urmlmnorpumjedhnooosssqpprnrnnproppsssswlgkvvzvwtssvrsrtsvuupqpppraUPT\dlrprnlonmnkmmqlkijjnpujb_diljhggioookjjjjlfggjkomlovvwwucRKMZpqtmllkhlmoljffefghgfhoklmqqqmnoolkhppokpighkjkfhhigfdhhijjf~}|zzzyxxwyxzwy|€„…‡‰‹ŒŒŽŽŽŽŽ‘‘’’“‘”“–™™™™˜—”“‘’’’••••›˜š››››››œš–˜˜™œžœŸ ¡¡¡¥£££¡££¨ ¢£¤ ¥©¦£¦¡£¥§©¯¨¬«¬ª¬®®¬®ª«ª«¨§¦§§«®°°±±±¯²­±¯²¬¯­¯²³±±²µ·¸¹¸¶¶´¶°²³µ´´±°­«©¬¬­­³±³³³¯°±²²´²²²²®®¯±²´°³µµµµ¶¶·¶²¯«±±¶µ¶¸¹¶¸¸¼½»ºº¹¹¹¾¼¾½½»½º¿½¾º½¾¿ÀÅÆÆÆÃ¿ÁÂÃÁÅÆÅÄÈÄÑÌÏÌÌÊÍÎÑÎÍÈÈÿ»½¾ÂÂÁ¿À¼¾¼¹¶³¬ª¦£š‘“‹ŒŒŽŽ‘ŒŒ‹‹ŠŒˆ†……ƒ„‚††‚{x„†ˆ‰ˆ‰‡„€ƒ††……„……„‚|wwxxuvxwtuuuuzwvtsnnoooopppooonojjjkklloomjklmnqsqoonppppomnnnmmlnkmmopppqppopooopqqrqlorstsstuusvxvsrqoknqqqrpokhchmmmoptssqpoompoqsrmnmsqpnmhlpttvuwrssursttqqnnmnnmj`SRPW_lurpnkloopmkmmnkkgklnplebafmliffikkkkiigjkkgggijiflpsww|iWPL[inpmjiihilnqkhfffgehhhiiinrpoqkhfnnjhonkjjhhkhfffibcdeceeighe{||yzzzyxx{z{|€ƒŠˆŒŽŽ‘ŽŒ‹Œ‘““““”“–•š˜˜š™ž—•”“”ššš™™—›š›šž™™ššœœ˜——œ› œž §¡¡¡¢¡¡£§¢§¥©¤¥¦¦¦§¤££¥¦¬«µ©¯©¬¬¬ª±¯¯®¯°¯¬«§§§¨ª²°´³±±°±²­°¯²±²²²²·¶¶¶·¶¹¹¹µµ´¸´¶¶¹µ¸«¨§§«°®®­´²¶²²¯´µµ³´µµ±±±²¯³³´µ¼¶¸µ¹¸½¶¶¬¨¬³±·¶»»»»º»À»¹º¼»¿»½¼Á½¾¼Á¿¿¾¾¿ÄÂÂÀÅÅÆÃÂÁÃÂÇÃÇÃÂÄÈÄÒÐÐÌËÊÏÎØÌËÇÈÀ½ºÁ¾ÄÀÀÀÀÁÁ»»´²­®¦¤œ˜“’‹ŒŽ’ŽŽŽ“ŽŒ…ƒ„†…ˆ‡Ž‚}{z‹‰ŠŠŠŠ†……‡‰ŠŠ‰ˆŠ||‚||~}{{{zzxzz~vuuvwxwvwxtutzopnmloooosqpqqpooqonnmnrrusspqqtqspoopptuuptqqqsquwxusrppqrutyxxwzz|wurrooprqpqrpoigiomqorq{sssvrrnuttstorrsqslimqswvyvvvvttuvuxqqopnmmocWNQT[hwvvpokmoonnnnlmkkkpormiefeijmgdfnmmkkiljkljgghmhghmnruyl`ROWnrtolkokpppprjihihljomnjkisrqqrhcdmoiiokihhfkihedek``ehdififleyyywz{zvxx{|~€„…†‡Š‹ŒŒŒŒ‹‹‹’“”•–—™™˜•˜™˜“••—š˜˜–•——™™ššš————–—–——œ›Ÿœ¡£¥¡¡¡¡ ¢£§ ¦¥¨¥¤¤¤££¡£¥¨©©©©©ª©¬¯¬«­¯­ª©§¦¥«¦§¦ª­®­­­¯°®«¬©¯¬®­²°²²µ´µ¶¸³µ´´³³²´´¶·µ³©Ÿ©¥«°°¯®­®¯¯®®¯®®´²±¯°°±¯°°´¶···²´³¸¶µ²³§«®²±µ´¼º¹·º¼»·¹¸»»»»½¹ºººº½¾¿»¾ÀÂÂýÁ¿¾¾¿ÀÃÃÃÂÃÀÃÄÄÅÉÇÈÊÊÉÉÈÆÂÂÂÀ»½º¾½½½½¾¿º¹¸¶±±ª§¢¡™–““‹Œ’’‘‘“‹‹ƒ„„………†€y{{‚‰ˆ‰‹ŠŠ‡ˆ………‰‰ˆˆ‰ˆˆ„„‚ƒ‚}€†„‚‚‚~{yw{{~wwvwzwuuvxtttsoooomnopqrrqpooppnlnknnrsvvrqrssqqqqsrrtssqqprrrruvvwrqqprrstzxywyzztuqqmptsqrrtomhlqqnnmrqtssssqpnrrsprppqsnmimvuuvuwuuvsptvvtspoooonpdXRMU[gssttpnkopnmmklklkmmoopiheffhildfgmonkjhjjklkgikgeghmloncWPJXgntrklmkjpooolhijjhijopnkjjssoliccdomkjnhhhgcjhhffe\Vbedbcdeffd{{zzzzyz}}~€††‹‹ŒŒŽŒŒŽ‹ŒŽ‘‘Ž•••—››š™—œ˜˜˜˜–›š™—•—›š›œœœ›—™—˜•——š™ž Ÿ¬¤¥¡  ¢ ¥£¨£¦¦©©ª¤£¤¤¤¦©®ªª©®ª¬¬¬¬¬¬­®±ª§§¨©ª©©©®®¯®±­¯®««¯¯°¯¯¯³±·µ¹´¶µ¹²¶³³²²²¶´·°®ª£¤ªª³³³¯±¬­¯µ­°¨¨®´¯­®±°±°³°º¶¼·¶³¶·¹²±±±³µµµ²¹·¼º¾·»º»¸¹¹À¼¼»¾¸»ºÀº¼½¿¿ÃÁÁÂÃÀÿ¾¾À¿ÅÂÃÃÃÃÇÅÈÆÊÇÈÉËËÌÆÃÁÁÀÀ¼¾½Ä¾¿½½½¿º¸¶·°¯¬§¢žš–•”––œ’””˜’•”ŠŒ‡††‡‡‰€{}‚„‹Œ‹‹‡…„‡‹‹‹‹†…††…‹ƒ‚‚‡‰‹ŠŠ„‚~}|„|}}|{{zwuvxw{utqrqtpprzvtuyturypnlmoutuuwsqtyvtstsutyyxssqrruvwwwvvtrqrsvuxw|yzx}yyuurrsuuwv|sunlnttwrtprrttvvvqsrxtspwtystmllsvwwzuxtrrqqsvxtttuptrrh\SOR[fvvuttomnuqnntklknoppqnnijjlikkkjjjtopkiiklkjlilhfemjmlsdREALclvtolplkjqnumhfkimiijpnnonpspmidabgppnnnmnljikhiij^SUefecbcdeedxwxyzzz|~ƒ…‡Š‹ŽŽŽŒ‹‰‰Š‘Ž‘”•˜™™™™˜———•–––—˜–˜˜˜˜š™š——–—•™–•’–—™™ŸŸ  Ÿžž Ÿ¢  ¡££¥¦¥¤¤¡££¦¦¨©©¦¨¨®ª«ª¬¬¬ª¬­®«©§ª¬«©©©®¨¯¬¬«¬«ªª¬¬­­®¬±²¶µ¶´µ³³²°®®­±²³³®¥ªª«­¬¬¯®¯¬°©«®©¥£ž©®´¬«¬²±±¯±±±±±²²±°­«©­­°¯´²²²¶µ»¹¾·····¹¹¹¹¹¸¾·¹¶¾º»»¿ÁÁÁÁ¿¾¾¾¾¾¼Á¾ÁÁÁ¿ÄÃÃÄÇÆÆÅÅÅÆÆÅÂÁÀ½»»º¿½¾¾½»¾½»·¸´³®­­ª¥¡œš—•”””˜˜›’““’ŽŽŒŠŠ‡ˆŠˆ†‚}‚‡‰Œ‹‹ŠŠ„‡†ˆŠ‹Š†ƒ…†‡‡Š„„…ˆŠˆˆ†ƒ~}{|z~||||xwuwxytsrrstqsuyyxwxttqqqokoqtttsrpsvwwvttuttwxussqstuvvvwtuqqqstvwxxxyzyyvvvuqtttuvvvqnjnsvwtrrqrruvvvuqrsvvsputsonjnpvywtttsssssrtuspqppoomh^TMTYeqqssqoknqsronnjijoqrrqnlfmnljjhkjklnnliijlihhjihfffjjlkh\C2DUgorslimmkjqmlhgfiijhijollimupmmge^dkljlnmlmlliheilgXSXfefgddefecvvwz{{‚ƒ„†‰Š“ŽŽŽŒŒ‹‘Ž–‘“ŽŽ’•™˜Ÿœ ˜›—–—˜——–˜™˜™ššœš™˜›–˜˜˜•••š™™œ  ¢¡ Ÿ¢ž  ¢Ÿ¡¡¦¤ª¨¨£¢¢¤¨¯ª­©§¥¨¨®©­«¯¯¯¯¯¬®®®ª°±²­±­¯¬±«¬«¬©ª«¬®²®³°¹³º¸·´¶±®¬ª¬®°µµ¶°¬­±±²°²²³¯²¬°©«£¡£¢¤«­²²²²³²µ®¬®²°¶µ´³±®«©¯­µ´´³»²¶·¹¸¾·¸·¹¹¼º½¸º¸¾¹½¼½º¿»ÁÁÂÁÁ¾¾¾ÀÀÁÁÁÁÁÁÈÂÆÄÃÄÌÅÆÆÇÇÆÆÆÀ¿¼ºº½»À¾½½¼»¾¼»·¸³³®¯¯¯¦£Ÿ¡œ›˜˜š¢™›–—“‘ސŠŒ‰‰…„†‹Œ‰‘Ž“‰Š‰Š‹‘ސ…ƒ„‹ŠŠˆ‹Š‹‹ŒŠ‰ŠŽ‡†~~‰€‚~~~‚y{uvwxxywwv{yzz|€{{vyyzuttuvwxwsqrvw|yyz||}x|xuuwv|ywwzxxuuuvwxyz|‚|}}}zzxwvuuzz{wzvwokjusyvsrsvzv|{|xxtvuyuttytunlntv~||vwv{stv|xwurrrpomnjdVNR[ftuytuomntqrrpnnnmmpqwuunkioooknjklrlpmkhjlmhhimheeiinlmkjL55I]knsnkkrommqkigffhjkghjnlllnnlkkgfffknjkkklolsjgfijcUS\ghhgfeihjfvvy|}~~‚„‡ˆŠŒŽŽŽŽŽŽ‹‹‘‘ސ‘’”—˜—˜˜—–•”•”—™—–••™™šœœš™˜—••”•–—”––™›œžŸž›ŸŸœžžŸŸŸ ¢    Ÿ¢£¨ª¬ª«¦¥¥¨©ª¨ª¨¨©¬«ªª¬­­©©©ªª°­­¬­ª¬ªª¨«¬­®±®°°³³µ±°°°¬«¨«¬¯±±¯°®¯¯°°¯®­¬®®±«ª¤ š¢¦ª®®­±®²²±°¯««ª°°­ª§¦¥£­©­­³±´³¹±µ¸¹µ¸··¶¹º¹··¸¹¸¸·¸¹»»»»¼º»¼¼½¾¾¿½À¿À½ÃÁÁÀÀ¾ÁÄÃÂÅÅÿ¾¾¾¾¿·¸·º¸¸¸º¸¸¸¹·¼µµ±²®­ª©¥¤Ÿžœ™šš™™˜––‘’ŒŒ‹‰‹Œ‡‡…Š‹‹‰‹‹‘ˆˆ‰‘І„…†„ЇŒŒ‰‡†‡‡†‚€|}|€ƒƒ€€€}yzwwwvvxwwx{{|}}{|zxvxvvvuuvwy|xtttvw|z{||}{wwwwwyy{{yxyyxvvvwyyz|}}}}{xwxxvwxz{|utrpkkkvttutsvwxv{xxxxtvuvtuwuqqlotwyz{{uuuvuwxzzxwtrsoojiiXNUZesrtusokortqrqqmnknpqrttrkkkosnkmjlmqlmklilmlfiihcbakmmlmkR97;Tjlnmjmlmnnnmhfeffijhehjkkjjkklmlhffhjljlfjjlkjhgfhi`T\geaghfdhhiixy|„‚‚‚†ˆŒ‹ŒŽŽŽŽŒŽ•‘‘’”“˜™˜—™™—––”““™”›˜˜–—•š™œ›™ž–””””••——›š™›Ÿž¢œš›Ÿ¡œŸžŸž  ¥ž ¡¡£©©°¯¯ªªªª§¨©­¬¬¬¬¨±«ª«³¬¬©¯ª¬ª¯­µ¬­«¬«ª¬±¯®¯±±µ´³³¸±³®¬«««²¯³±³²³®²³´°¯­¬«¯®³§¥¢Ÿ£®®¸±¯°±²·µº¯²­®°°¥ ¤§§¨¨¯­±²³³´µ¹´µ¸¹·»»½¶¿¸¶·¹º»º¹¸¸º¾½Á»¾¹º»½½ÂÀļÀ¿ÀÀÄÃÂÀÀ¾ÀÁÂÂÊý»¼¿¼½·»·À¿¿»À¸º¸º·¼¼¼µ¸®±««¦§ £¢¢¡¢›™™™–•’Œ‹Š‰‰’‹ŒŒ‹Ž˜‘Ž“‹Œ‰ˆ•“”’І††…‰‡‹ŠŠ…†††ƒ€€~‚ƒ„‡‰„‚~}}~}{{|||~ƒ‚ƒ‚{wxyxyyyy€‚|}xwxy{}{~€|zxwxz}}}}{zz||wyxzy}|‚ƒ~‚|zyx{z{}{}trrrmnqxxxvvv}||y|yyyztwvxwxvurqqvxƒ{|z|wz{}|||zwvrspnjk\QS\eqtzuupnnsruutsrmnnosxrtrpoqoonmmnlopqpqkllpmlmojfcaemmlmp\E27Jgnsnlknmloqnmfefjjnjhgikqkkjkjlllgghmknlkjiimjhgjhmh`_jgeenhddghkk|~‚‚„…‡‰‹‹‹Œ‘Ž‘‘’“’“•••””’‘‘’““’““–•˜––”š˜œššš™“‘‘“”–“–—š›››œ›œ™›œœœœ›žžžž Ÿ¤§«¬°°±««¨©¦¦§¨¦¨©©©ª§«®¬©«¦©ªªª¬­®««¬¬¬­®¯¯°°°°±¯±°±±¯¬¬«¬¬­¬¯¯²²²¬¬­°°®«¬«®®ª¡££§¯®¯²²²²´´´´³®­®ž–Ž¡¡¨¨ª«­­±²´´´´µ³¶¸·µ»º¸µ´³¶¶¶´¶µº¹º»¼¼º·º¹¹¹»º½½½¼À¿ÀÀľ¾¾¾¼¿¿ÂÂÁ½¼¹¹¹»º¼·····¸¸¸¸¸¸¸·¼··´´¯®¬«¦£ ¡¡¡  ›™•—••Œ‹Š‰‰‰‹‡Š‹‘˜”Œ‹ˆ‹ŠŒŽ•–“ŽŠ‰‡†…ˆ‡‹‹Š‹‰‰ˆ‡…„‚‚ƒ‡ˆ‡†„ƒ€€€~|‚„………ƒ{{{{{||||~~}|z{{|}{z}zzz{||}}}}}}{}}{xxwz{~~€~~~zzz{yzz{y|zwrqmqqrsvvwwvv{||yyxxuuuwvvvxttrsuy|~€|{zxwz{|xywxwvopqpk[PV]dmsuurtmpqrssspmmmnorturpnqlqoolmmnlmjjklkmnokllljdZejmnno`M;0Gbjqolkjiimoolf_ehiiihiikkljihiikjldfhlkmmlkkjhghhhglgghd`ffggddhike€„††‹‹ŠŠŒŒŒŒŽŽ–‘’’‘–”˜˜—–™”˜”’‘‘”˜”””˜—˜•œ››™››œš™“’‘—–—•œšžž œœžœž›š›£œž¢¤¤¬©²¯´°²««ªª«¬¦©§ª©¨©«­­¬¬««¨¨©¯­¬¬¯¯°®°²µ±´°·³¶°±°µ²¶¯®®¯­±®®¬¯¯¸³²±±°¯­­®°­±¬§§¨ª°±³³²²µ´·´´´µ­¯’ˆƒ‚“¤©´­°°°°±³¶¶¶µ······¾¸¶´³´½µ·¶º¸»ºÁ»º¹·¸¿»¼¼¿¾¾¾¾¼À¿¿ÀÄ¿Á½¾¾¿ÀÅ¿¿½»¸¹¸»»½º¼¼»¸º··¹½¹»¹¼·ºµµ®®­¬¤££¤¢¨£¦šœœ“”ŽŒŠŠŒŽŽ’™–“”Ž“Šˆ‡‹Ž‘Ž•““‹ˆ‰…ˆ‰‹‹‹Ž‰‰ˆ…„„Š„……‡„‹‹Šˆˆ‡…‚„ƒˆ†…‚‚‚‡Ž‡Œ…‡€€…ƒƒ‡Œ‡„ƒƒ~‚Š€~‚||}~~€€}}}€‚ƒ„{}|zzzz~~„~~}{{z}|}||}xtrqqru{zyyxyyy{||y~zz{|{|||wytttwy‚‚ƒ‡zxy}||yyy}vuoprv`QS]blr{vwstryv}wxrpmnotsxvxpnnrrsomlnnqpqmmlnowonmpljfcdpooothX@2>[htpnnoihiqqqlbafgkhjhokpllihhijojkddflkpornmigfihjjllkjcbgghfbegilh‚‚…‡ˆ‰ŠŠ‹ŒŒŒŽ‘ŽŽŽŽ’’‘‘’’““•––––”“‘’‘‘“•—•”“—”••š™š˜š™˜–””“‘”“••œšžžžžœœšš››œŸŸŸž£«§¦«©ª«¯±®«©§§¦¦£©¦ª¨©©©©ª¨¬«©©¨¨©¦¬©¯¬®¯²·³±±°°°°°°¯°°±®¬ª««®¦®­¯¯°°¯®¯°®«­­¯­®«­±²±°°²­²²²±±±¯ª§¡‹yƒ’¢©®¯¯¯°±±³µµ¶¶µ´´´µ¸³·¶¶³´µµµ´µ¹¸»º»»»¶¸¸¹º¼½½½½º¾½À¿¿½À½½º¾¾¿Á¾¹¹µ·¶¶¶¼¼»¹»ººµµµ¸º¹¶·¸·´¶µµ­ª¦¦¡¡œŸŸŸŸž™™—–“’ŒŽ”˜˜”‘‘Ž‹‡‰ˆŠŒŽŽŽŽŒˆˆƒ…†‰Š‹‹‹Š‹‰Š††………„ƒ„‡„††ŠŠ‰ˆ„€‚ƒ‡ˆ„ƒ‚‚†‰‰†…‚€ƒ†…А–˜™Œ„€}†…€|~‚€ƒ‚}~‚‰…‚ƒ|{{{{|}~~ƒ€~|}||{||~€|y}vsmqrvy{{zy{|{{}~|z}|{zzy{zyxxtuuy{~€‚ƒ}wyz}}|zyz|uuopscTU[agpvvvxrsttuvuwqqmpquvwsojmopnnlmnnnpppmmmoqqnnmmkfdimnoopj`D2@Ucmplheiijkqvrkccfeeeghgghhgffgjkifi`dehilmoqmigghijkllkiechihfgkiiii‰‹ŽŽŽŽŽ‘•‘•“”’’•“”“––˜––’“—•••›–™•––—–š™ššžžž˜—•“““”˜’š˜š¡žžžŸœœžœžœ¨ Ÿ¡¦§©¨¨§«««ª¯­¬«ª¨¨©©¨¨§ª©®«°¨ª©¬«¨¨©¨ª©­­°­¯°µ´²±±±±°³²²¯¯°³­¬«ªª­®°®±°µ°±°°¯®®®¯²²²±¸³·±´°²²³²²±±³³–‹‚u}„‘­­´³²±µ´µ±¸µµµº¶¹µ½·¸µ·¶·µ¸¶¶·ººº¸¾½½¼½¹º¹ºº¾¿Á¾¾¼¿½ÅÀÁÀ޽¾Ä¾¾½½¸¸¶¶¶µ·¾»ºº½¸¸¹ºº¹º»·Á¹º¶¸´µª¨¨©§¦¡¢¡¤›››——˜™••“““š™š—š“‘‘ŒŒŒŒŽŽŽŽ‘ŒŽŽˆŠ††ˆŽŠŒ‹ŠŠ…‡……ƒ‚‚ƒ‡‡ˆ†‹‹‹…„„…†‹…„ƒŠˆˆˆ„ƒ‚ˆ‡†‹œ—§—“„€†…†€‚€ƒ‚‚ˆ…†‚‚‚‚†‰ˆƒ‚€€€…†…ƒƒˆ€}}~€€~‚}}urstx~~{{{€€€€€~}}}}‚|}{ywvvy{€}ƒ…~z{}}}~€|{|utstfZWY_iozvxwywvv{vvuwqrqtu~}}rkkqqtnnnrnnntqqpqrqqroomlfbhtttuvohJ49P`orwkffijmmqrsjdcffffhgffigcdghmjifhfeekimmnpsggilhomrlmihinmnnmlmlppŠ‹‹ŒŒŒ‹‹Ž‘‘’’‘“”“““”–˜’‘Ž““”••“•”–•–––—šš—•”“““’”•—“™˜š›œœœœš›™œœžœž¡¤¨§§§¦¥¦¥ª¦©©ªª§¤¨£¨¥§§§§©¨¨¨¨¨««¨§§§ªª­®°®¯°±±³¯°­¯¯³³²®°±²¬¬­«ª­¬­­¯®°¯°¬¬¬®ª¯¯±²³´²°°­³¯³¯¯­««©¦}yr‚˜¥«¯²±±±´´µ±±±±²µµ¶´´³²³·¶¶³¶µ¸¸¹¹¹·¸¸¹¹½¹¹¸¸¸¹·º¼¼»½½À½Á¿Á¾¾¿Á½»µµ´µ´¶²µ·½»¹·¶µ¸·¸··¶¸·¶µµ´²¯¬§ª©¨¦¦£¢¢¥››››•–—˜—–•“’”š––—“Ž‘Ž‹Š‹Œˆˆ‰Š‹‹ŠŒ‹‹Š‰†…„‡……„ƒ€ƒƒ………ƒƒ„ƒ‚„„…†‰‚……‹‰ˆ„ƒ‚‚‚ƒƒ€…Š’••”„„„…ƒƒ€€ƒ…††††‚€€‚„‡‰…ƒ†‡‚~€…ˆ†‚„‡€€€€€}|{wrtu{€}y{||}€~}~~}||{zywvw}€|~~|{z||}{}|{yyy{uvwiYXX^fpvwvwwxywvxwvuvprsvx|}{nmmqrsnooonnnumnlnprqqoolf`gmrrssvmN4=I]nqtoihglmnornkffdeca`dhff]TVXfiihieedccgionnmjehjihkmmlljjkljlmnnnlno‘ŒŒ‹Œ’Ž”˜‘‘’‘’’‘”˜“—““”™‘‘ސ‘””™•––—•š—™™››š•“’”“’““–™–˜–š—››žœŸ›šš›œ œžœ¢ª©°©«¨®¥§¤ª§©©©§§§¨¥¨¨©©ª««§©©©¨«ª¨©­¯±­­®³³²³´³³¯±¯´³³³¶­±±²¬¯­­­­¯³³²²²®°«¯¬­®°°´³µ²°±²²³±³¯±¬­š•rww„œŸª«±¯µ²²²´´´´´³³³·····´´µ¸¹º³½¶»¹¹¸¼··¸ºº½¹»¼½»º¹¹»½»À¿Ä½Á¿Ã¿¿ÀÀ¼ºµµ´··¸µµ¸½¸¸µ´¶··¹···º¶´´¶±¯¬¬¯±°¯§¦¦¦¥§Ÿ¤››˜™˜ š™™˜—–•œ–’Ž‘‘˜”•“˜–ŒŠ‹ŒŽŽ““Š‹’Š‹†…„ˆ††…†‡‰…Š…‡‚„ƒƒ‚‰ˆ‡†ˆˆŠˆŠŠƒ‚‚‚ƒ†‚„€…‡Ž•ŒŒ„ˆˆ‰ˆˆ‡††‡‰ŽŠŽ…‚‚‚…„‡‡††‡……„„†‡‰‡†‡‡€…†ˆ‡‡†Š}}xvwy{ˆ‚}}~~ƒƒƒ~|}ƒ‚†}|zyxy|…€‚€}}†ƒ}{yz{{w{obUZ\dn{|{z{y{xwwzxzvvruw|}}zyooprtsrrtuolptmpnnpwqrrsideprwvxwx\>8GZqtwsommmsrrpsmhc_ae`\_bdcfUQNYdikgjefeddfipooliijjihlmnmokllllnmwvvprnŽŒŒŒŽŽŽ‘‘’’“––”“’’‘Ž’”’’“–––”––˜—–“’’‘’’“”–™™——•––›™œš›šš˜›šœŸžœž¢§¨©ª¦§¥¥¦¦¥©¦¥¢¤¤¥¢¢£¨©©¨©©ª§§§¨¨ª¦ª¬®°¯­­¬®¯®¬®®¯®®¯´±±°®­®®®««ªª©¬®¯­­«²®­¬¬¬¯¯°¯³³²±°°³´³¯®ª§¦Œ{qdu€Ž¡£¦¨ª­¬³²²¯¶³³²´´³±³²³°¶µµµ´³³³¶¶»½ºµµ¶·¸ººº·¶·¹¶»»»»»º½¿¿½Â¿À¾¼º¹¹¸¶³±²¯¸µ·¸·´¸³µ¸¸·¶µ··º´µ³²­««­¯®«®¦§£¦£¢œ›š˜˜™™™›œ™––––”’Œ””•’Ž‹ŽŒ‹ŠŒ‰Š‹ŒŠŒŒ‹ŠŠ‡†…†††‡‡‡ˆ„…„„ƒ…†„‚…„††ˆ‡‡‡‡‡†ƒ€‚ƒ…~~~„‡ˆˆˆŠˆ‡…††‰‰ˆ‡††‰‹Š‰…€‚‚€…„…†‡‡‰†…ƒ„„‡ˆˆ„ƒ€€…„„„‡‡Š€|ytwxz|€€~~{}~ƒƒ…}{{}}zyzƒ€ƒ}|}€ƒ‚€}}}{yyuwuncZT\amwy{zz{wyxyzzwxuwrvxyz}vsnruvutrtvtqtwploknpwqrshcdhpstuxzqRC>WoqtvrpnpquwrpnhaX_^a``adfec^Y]`gjkggeeeeefiomokjjigiillmnolmoooolqsvool”’ŽŽŽ•Ž’‘’Ž‘““—˜˜••”•“’””••™—˜–›––˜‘”‘’“•””–œ›š˜–—™›˜œšœ›š™¡ ŸŸž ¤¥§§¨¨¬¦§§§¦«§©¥¤¥¤¤¥¤¤§®©ª¬¬¨©§­ª®©ª¬³²´®®¬´¬­¬­®°°³²²±´±´®¯°°¯¯©«ªª©±­°®¯«´®¬¬¬®¶±±°³²°²µ¶¶¶·¯° ž}jf_q‰”¨©®¯°­³²²²¶¶·µ¸µ»´¸±´³µ°µ´¶´´³¸¸¹¸¼º»µ·¶½¸ºº»··¶»¹¾¼¿»»º¼¾¿½Â¿Ä½º¸¸·µ³±²µ²·´»¹·µ¹´···¶µµ··¹´¶²²®­¬¯®®®®§©©¨¢£œœŸ¡š›› ›››œ––“˜””Œ–––––’Ž‹“ŒŠŠŒ‹Œ“ŽŒŒŽŽ‰Œ†…†‡‰‰‰…‡„…†‹…„„ˆ‰Œˆ‹ˆˆ‡‡…ƒ‚„„…€€ƒ…‡Š‡ˆ‡‡‡ˆŒŒŠ‰‰‰‹‰‡‚‚ƒ…‡†………†‰‡Œ††ƒˆ„ˆˆŽƒ„~†………Œ‹‹‚„{xxˆ‚ƒ‡ˆˆˆ‰ˆˆ~~‚ƒ„„}‚~~|‚‚€ˆƒ€€€ƒ|}~…„„}€zxvyof\VYbnz|~~{|z€zzz{wuxy{z{z}vttwv{uttzvuwvolnnopvstj^_gmvtzy€uiPEOnsvvvvxsuv|xsomf_^`_dfjjiijjjjkksmlhghiffggipoqlnkmgnjoooopmnoroppqrxpplŽ’”””“’’‘’ސ’•————™˜™——–”‘Ž“‘”–•”•–˜—š˜™–˜™™˜˜˜›˜ššž  ¢¤¤¥¥¥¤¤£££¢¤£¥¥¥¤£¡££¥¦¦§§¦§¦§¦§¦ª©«ª¬­±°®«­­¬¬­ª­®¯°°°°¯±±²§¨©§££¥¬©ª¨±¬­®¯­¬¬ª§­®¯¯°°±±°µ´³²°­©”…p[acy’™¡§«¬­®®²±±²µµµµ¸µµ´´²³²±°µ³³´´³··¸¸·¶µµ¶µ¸¸·¶µµ·¶º¸º»ºººº¼·¹¹º»¼»¸´µ²²°°±²²´³µ²²²²²³³·¶¶´¶µ¶³²±±®®®¬ªª§¦¤¦¦¦Ÿž›žŸŸŸ¡›œ ››™—“–“•”’‹Ž‘–“”‘“’‘ŽŒŒ‹Š‡ŒŽŒ“ŽŽ‹‹ŠŠˆˆ‡‰ˆŒ„†ˆ‰Šˆ†„„†……‡‡„„„ˆ‰Š††‡‰ˆŠ‰…„ƒƒ„ƒƒ€ƒ†‡‡‡ˆ…ˆˆˆˆ‹ŒŒ‹‹ˆ†‡Š‰Œˆ……ƒ…†ˆ‡‡‡…‚†…ˆˆˆ‚ƒ}ƒ„„…………Ё}x{|„ˆ‡„„„ˆ‰ˆ„……„‚ƒƒ€€ƒ}~}~ƒ€€‚{~€„„ƒ€€zyy{{yurh]U\am}}~~|{z{{}zxwxwwuyyyyzz{xvtututuvzwv|unkoqrrtrqf`]ksttyywndQVbotuvwwwtuvwwsolba```dkhfhhifilmnpnmfecghhhhgijkhjihffgjjllljmnmmnopqsqqlŽ“’“”ŒŒŒŽ’‘‘‘””›““‘—‘’‘‘‘““”””–œœ›˜™™œ˜™“”’———•››››œ››˜œ™™”“–œœ¢žŸ¥¥ª«ª§§¤©¥§¤¤¢§£¥¤¤¢¢£¤£­«ª¨¨¨©©¨¦©§¯«®¬´°µ¯®¬±­¯­­¯²°¯°¶°¯¯²±°¦¦¦¥¤¦§«©¯¬²­µ­¯®¬©¨©¯¯´±°°º²²²²³¶±©‡q`Q^j|›Ÿ¨¨­®³¯²²²°¯³º¶¸¸¸¸·´³²µ²±°µ´¸´¹·»º»¶¶µ·¶··¹¹¹µµµ¸·»¸¸¸»º½¼½¶¶¶·¹¼º¸´¶±±°³³³²¶¶·²µ³¶³´³¸¶º´¼µ´³¯±±±¶®¬««¨§¦¦¦¦Ÿž›£ Ÿ ¢¢¤Ÿ œž˜•”–”•“•”—“———”•‘‘ŒŒ‰ŠŒ’“ŽŽ‹ŒŠ‰ˆ‹‹Šˆ‡†‰ˆ†ƒ‚ƒ‡‡††‡„…†Œ‰Š‡‡‡ˆˆŒ‡††‡……‡†…††‡‹ˆ‡ˆˆŒ‰ŒŒ“‘‹Š‰ˆˆŒŒ‹‹Œ…††‰‡‹‡‰ˆ„‰ˆŒ‰‡ƒ‚‚‰ˆˆ‡Œ…‡†Š€|}‚„މ‹ŠŒ‹Œ‡ˆƒ„…‰†ˆ„€‚ƒ‚‚€€‚‰‚€………‚€‚‡…†€}{z}z{uqaXZemwƒ~{zy}~~ywvxvvx~}}|z~yzvutwv|x|xx}umkssvuwqpcbhyzzx~yxj`^cktuxvzyzvywwxmjafa``ffffjjihipzovoogdekhhiogghjjkfddfflloklkrmlllntrwwxn’”Ž‰‹Œ‹’’”““’’“‘’““““”•–”——™˜–“‘ŽŽ‘’’’—•–•–””•——˜——•”‘“• ŸžŸ¥¦¨¥¨§§¤¤¢¡¡¡ £¢£¢¤¡¢¢££££¥¥¨¤¦§§¦¨§¯«¬­¯®¯¬­ª®®­®¯±¯«®¬­­®®­ª©£¢¡¥¥§¨©ªª«¬­«§¦¤¤¤¨ª®¯±²²¯®­­®¬­œ“zc[McwŠž¢¦ª«­®®®±±²°²´´´³³³°²±³°³²±°µµµµ·¶¸¶¶²µµ····¶µ¹µµ´´µ¸··³¶¸¹¸·±³³µµµ±±°°­­®°³´³¶±±¯¯¯´²²²´´´´´´³²²²²±¯««¨ª©¥¢£¡ œ¡£ Ÿ¡¡ ž ˜›”””•“’’‘‘““““‘••”’‹Œ‰Š‰Š‹Œ‹Š‰‰‰ˆˆŠ†‡ˆŠ‡ˆ‰ˆ‡…‚~‚…„ƒ††Š†‰‡‡‡ˆ…‡„††††‡ˆˆ‡††ˆˆ‰‰ˆ„‡‡‡ˆŠ‰‰‡‡‡‡ˆ‹‰ŠŒŽ‰Š‚……‡‡‰‰‰‰ƒ‰ˆŒ‹ˆ‚††‡‡……„…†„}~€†‰ŠˆŠ†‹ŽŒ‡‡€…ˆˆ†…„ƒ„……ƒƒ……ƒ‚‚‚‚„ƒ„ˆƒ„‚~|y{y{qaU\dkwz€ƒ~~z{z{zyvvuxswy||~|x}yzvvtvwyvvv|…‚vnkstusqka[ivz{zz}xpfddjptuvwyy{uwxvqnjg`a`_`edfchgfelsrmkhkhgfhhjkiefiijkdb^ggllljkhiimmmlrqrrsp’’–’ŒŒ‹Ž’’–•–’““”““‘–‘“’•”˜““”•”•–•‘ŽŽ’•–—”——š–˜˜™•˜—›——•””™˜žŸ¤£­§¬«ª©ª£¥¡¢ ¡£¤¥§¢¤¢£¢«£¦£¦¥¨¥¥§©©­«°¬µ­±¯±¬³³³°´´³®®¬¯¯°­°­¬¨§¤£¤©¦ªªª«­««¨¤¡Ÿ¢£¨±­´´µ³¶±µ­®®­Ž~iV[Vgƒ”«««®³²´¯¯°³³´¶·¶¹´µ²³²´³³²·²³³¹µ·µ½¸»¶·µº¶·¸¹¶¶¶º¶¸µµ¶º·····»·¸³µµµ´³´´°°®¯¯¯²¶´¶°±¯´´´³¶µµ¶·µ¸·ºµ³´¸°­«®®®§¤¤¦ ¡ŸŸ  ¡¡ §¢¢¡¡˜š•š“–”–“•“—–”““š•”‹ŒŽŽŒ‹Š‰ŠˆŠ†ˆ‰ŽŠ‰‡‰„‡‚ƒ†Š‰‰ŠŒˆ‹ˆ‰†ˆ…‰ˆˆ†Š‰‹ˆ‡ˆŒŠŠŠ‹…‡‡‡ˆŒ‰‰ˆŒ†‡‡‹‹’‘‘‰‰ˆˆˆŠŠŠŠ‰Šˆ‘ŠŠƒ…Œ‹‹…„ƒƒ„„€†…Ž‰ŠˆŠŒŽ’ˆ‡„ŠˆŒ‡…‚„…‰‰Œ…ˆ†Ž‡‡„……‹„ƒ„‹Š‰…ˆ„‡ƒ‚€~~|zgWX`ipy|€ƒ~€€||{z|~xyzz{ƒ„}{|yywzyyyzyu†ŒuomstxrraXbuz{|{~umgimstxvyy}z{x‚xulhgf[Y[]_effblfffrqoheenljimmnjgeefghkfbbiikllklhggmlqppqrrsp’ŽŒŽ‹‹ŒŽ’“”’‘‘•‘’’’’’’“‘”’••’ŽŒ”••–””–••”•••“—––––•••™˜ž›  ¡£§§¦¦¦¥¦¢¢ŸŸŸ¢¦§§¥¢¢¡¡¡¢¢¢£££¨¦§©©©««­¬¬­­««¬®®®®°¯­¨­«««¬¬¬ª©¦¦¦§§¤£¢¡¡¡ žœš™˜ž ¦ª­­´²³²°¯¯¬—}h\LYauŽšª¬­¯°±°°¯±±³´··¶¶¸²²°²±²±²²²²³³³²µµµµ´´µ¶·´µ´µ³·µ¶´³³¶¶¶´¶·µ³¶··³°®­¬®­µ°±­­¬°°¶²²®¯¯³²³³µ´µ±¶´¶µµ´´´·¯­ª®¬­¤¤¡¡šŸ¡¢¢¡žž¡›™”“’’””•“”’”•—”“”•‘މŒŒŒŒŒŒŒŠŠŠˆˆ†Š„ˆŠŠŠ‹‹ŠŠ‰……€€‚‡ŠŠŠ‰‰‰‡†††‡†‚‚ƒ†‡‰‰‰†‰ŠŠˆˆˆ‹‚†††‡ˆˆˆˆˆ…‡‡‹Œ‹ŠŠˆˆ†‡ˆ‹Œ‘ŒˆŠˆ‰‡Š‰‰ƒƒ„‹‹…‚€}}„†Šˆ‰ˆŒŽŒ‹’‰‡…‰ˆ‡‡…‚†ˆˆˆˆ†‰ˆŠˆ‡„‡‡ˆ………‡ˆˆ…„…‚‚|~~€‚u__`hox|~€}~~}{zz}zyx{|€€{zyz{xvyyzzz{xv„‡€trpqrqmbVcrx|{|{wpkgntrsuuyyyyywwvshc_[SZZ^`_]`acefgijhcccefijkkkhgfgfhihggfkkkkkkkhgbkknnnlsqso“““ŽŽ‹”“———’’‘‘’”’•”–””’’’’‘”“•’ŽŽ•–•””””™”––––œ–˜•––šš›•™šŸ §¦ª«ª§ª¨©¦§¢£¡¤¥¥¥¬¥£¢¢£¤¢¥¤ª¦¬¦©©¬¬°®²¬°««¬±¬¬«¯¯·¯±­¬­­ª²¬®­«©¨¦¦§§¢Ÿ ¡¡¡œ–“‘•šž¤¬¬¯°´²º²¯±³•†kWRIWg{œ¢±«³²·±µ±²±´´·´¾·µ¶·²´´´´µ²²´·¶º¶¶µµ¶·µ¸´µµ½µ·µ·³¸µ·´¶µ¹¶·µ¶µ¶³·¶¶¯®««­²°·°°°±°µ²¶²µ¯³°·´µµ¶µ¶µ¶´··¶µ³´¶¯±­®­­¦¨¢ ŸžŸ¥£¦¡¡ £Ÿ ™˜“’“‘˜–˜”—––—•˜˜˜’Ž”‹Š‹Š‰‰‹ŠŠ‡Œ‹‘’ŽŽŒ…………‚„‰‘‹Œ‡ˆ………†…„„‹‹‹‹Œ‰ŠŒŽŽˆŠ„…†ŒŒ“ŒˆŽ‡ŠŠ”Œ‰Š‹Œ††ˆŒ’Œ‹‰Šˆ‡‹‰ˆ††‡Œƒ€…}|~ƒ‹Š‘ŒŒŽŽ“ŒŽŒ‘ˆŒ‰‰ˆ‡ˆ‰‰ŠŒŽˆ‰ŠŠ‹Š‹‹Œˆˆˆ‰†ˆˆˆ‡„„…‚ƒ‚‚€„|qkgjsz†‚‚€ƒƒƒ€‚{}|}~€€…€{zzzxw}{{z{yxv‰‚}twvzqnf]asx~€€xtmjjsrrtvuyyy{€xxurf_[WWZ\`__]^`bbghjgdbcchfijijlgjjjhljjgiiqppmpmmihcjlmnnovrtn“ˆ‹ŒŒŒ’“’Ž‘’“’’’•“’’““‘“’’‘“–—˜””“•”“’—–———–•“–˜™•––™› ££¤¤¤¤¤¥¦§¢£Ÿ¢¡¤¤¥¤¤¤¢ ¡ŸŸ ££¥¥¥¥¨©¬¬¯¬«¨¨¨¨©¬«««¯¯®«±«¬ªªª«§¥¤¤£££¤¤ œœœ™•†…„†‰–ž¤¨­¯±²²²³¬©¨Šq^HPQdt‚” §©«°²²²²°°¯´µµ´·¸µ²±²²²´³µ°´¶····´³³±´³¸²µ±µ²¶´µ³µ´µ´¶µµµµ³´²´²±¯­¨¨©®®°®±¯±²°°°±²°±¯°°·´µ³³²µ´´³±®¯¯´µµ°°®®¨§¦¥¢¡ ¢£¤£¤   Ÿž–•“’‘‘“”””—––˜–ŽŽ‹Ž’Œ’‘‘ŠŠŠŽŽŠŠ‰‰…‡‡‰ˆŒ‹Œ‹‡†ƒ…ˆ†‚‡ŒŒ‹‡ƒƒƒ…„„ƒ„…‡‡Š‰‹†ˆˆŠ‰‰‰ˆ‰„†‡ŽŽ‹ˆˆ†‰Œ‘’Œ‡„‰‡††‡ˆ‰ŠŒˆˆˆˆˆ‡ƒƒ…‡‡‡Š‚z‚}|{}~ƒ†ŠŠŽŽŽŽŠŠ‰ˆˆŠ‰Šˆˆˆˆ‡†„‡†ŠŒŒŽŠŒ†ˆ‡‰‹‰†ˆˆ‰‰‡„ƒƒƒ‚‚wsnpt{„…ƒƒ€‚„„€€|||~€€€~xzz{yxw{{zy{xwwz{wrwwyqocinw}~~~ttjmoqqtuuuwv{|€xwtoc^WZ^^^_``\^^_^cfgeeabbdefegjifghhhiihghipnmklmnia_jnmmoooopm“ŽŽŒŠ‹Ž‘”‘’’“‘‘’‘•“’“““—–—‘‘”‘’•—›˜š——˜–“’”˜˜˜™••—œ˜™–˜˜ž¢  ¢¤£¤¤£¤§£ª¢¢¢¥¤§£¥¢ ¡¦¨¨©©§¨¨©¨®­¯®®««§¨§®¨«¬®¬´¬«¬±­¯¯°ªª¦££¤¤¤£¢ Ÿ›—‘Šƒ|xwƒ’¢¦®®µ¶¸²±³¸§¦~eVFOZk‡ž¤®¬±®¯°¼±´°°³»¸½µ·µ³²´²·´¸´µ¶¶µ¸·ºµ³²±³µ´¹²´´»µ¶µ¸¶¶´¸¶º¶¶µ´´¶´º±®­«¬°°º®°®µ±²±¯¯¯¯´´´´´³·´¸²²²·³´±°¯³²µµµ°µ­¯¦¥¥¥¢££¥¦ª¤¤¢£Ÿ¢žœœž“’•”“’’“—˜˜–•‘’Ž“Ž’’—’’‹ŽŠŽŠ‹ˆ‰ˆˆŽŒ‘ŽŽŠ‹††……‰‹‹‹‹’ˆ…„‚„†„…ƒ‡†‹‹‹ŠŠ‡ˆŠ‹‹‹‹ˆˆ‰ŠŽ‹‰ˆ‡ˆŽ™‹ˆ…‡‡‡ˆ‹‹Š‹ŽŽŠ‰ˆ‚……ˆˆ„~}ƒ}}}~‚‹Š‘’•ŽŽŽŠŒ‰‰‹Š‹ˆ†‡Š‰Ž‘•Ž‰Š‡Šˆˆˆ‹‰Š‘‰Œ„ˆƒ‡ƒvwsz}…†Š„Šƒ‚‚„„…{~€ƒ‡‡ˆƒ~}{}{|xx{‚{zz{wvw{phq|vytprwy€„€€~tssvwwuzz{x{}ƒz{qmb^\_cgghb``a`cbbekfeabccchfdfigdefgkhhhlipmmlkmodY]kmnnqotpqk‹ŠŠ‹ŠŠŽ‘’‘‘ŽŽ’‘‘‘‘’’’’’•—–“‘ŽŽŽŽ’’•——–—–””““”•˜˜—••–™š™˜š•˜šž¡œ œ¥¢¢¢¢¢¢¢¤¢££¢   ¢¢¡¢¦¦¨©©¨¨¦©©«¬­«©§¦¦¤£¦§©¨¨§¦§ª¬®¬­­¯¨©¤£Ÿ›š˜–—‡xsnmmzƒ’¢§©®±´´´±®¯ŽsXTJ[iz“š£ª­­°¯¯¯¯¯°°²¶¶¶¶±³³³²´°µ³´´µµ·²´´²²²±²´µ²²²´µ¸¶µ³¸¶¶´·¶¹¶¶µ³³³´°¬­¨¬­®¯¯­°®¯®®¬¯ª¬¬¯¯²±±²·´´±±±²²±¯±±±²µ³²­­­§ ¢¡£¡¤¤¥¦¤¡ ŸŸŸž›™—–’’”–”‘’“”“”“ŠŽŽŽŽ‘‘ŽŠŽ‹‹‰ˆ‡ˆˆ‹ŠŠ‰ŠŒŽˆ†„†‡ˆŒŠ‰‰Šˆ‡†‚~‚…„„„ƒ„†‰‰‰‡Š‡ŠŠŠˆ‰‰‹‡‰Š‰‰ˆ„……ˆ‰ŒŠŠ„‡ˆˆˆŠ‹‡„‡ˆ‰Š‰‡‡†‡‚…†…„†€€~z|~ƒ†‹‹ŽŒŒ‰ˆˆŒˆˆˆ‹ŒŒŒŒ‰‰ˆ‹Œ“‘ŽŠŠ‡‰ˆˆ‡‹ŠŠŠŒˆ…€€€…„}ttu}‚ƒƒ„ƒƒ‚ƒ„…€{~„…‡„„€}y|z{zxvz{{{{zzwvwmcer{vwwvtz}€}}|ytsrvxxvyyyw{‚ƒ…~yupkcegffghgcbaaacceghgdabccb`\_`__aafeeefekiijlglona]]lmnoqmnmke‹ŠŠŠ‘’‘‘’’’’•“““—“™••‘’Œ“Ž••–•™˜™•—’‘’“”™–˜““”–—Ÿ›™˜œœœ£  Ÿ¡§¦§¢¥¦¥¢¨¥§£¤  ¡¢¢¦¦­­®ª¯«««®©««°«ª£¡¡¢£§¦­¥¥¦¦§®¬²­±­¯¨ª£¤š›––“ˆumfbbew‡“¦¨¯­±±¹µ¶¬¬|gSUUay†˜§§®¬¯®´±³³³²¶µµµº¶·³´´¶³µ³¶µ¶´´´¸±µ²±³¸´µ´µ²´³·¶º¶µ³ºµ¶´·¶¹·¼³±²µ­ª«­¯²±±®¬­°¯´­®«°¯°°¯²¸±²²¸³´³·±µ±±±µ²·³µ±²­®©¤¤££§¥«ª©¤£¡¢Ÿ¡Ÿžš™–•’’’›››””––“”Ž‹ŒŽŽ“’‘ŽŒŒ‹ŠŠŠ†ˆŠ‘‰‰ŠŽ‡…†ˆŠŠ‰ˆˆˆ‡…„ƒ‚‚……„ƒ‚‡Š‰ˆ‡‹Š‰ˆˆ‰ŒˆŽ‘‰‰‰‰…„†ˆŠ‘Œ‹‹Š‰Šˆ‹‘‰…„††Š‰ˆˆˆ‡†…‹‰‡†…‚}|}„ŒŠ‹Œ’Ž“ŒˆŒ‰ˆˆ‡•Ž“‘‘’ˆ‹Š”ˆ‡€ƒ‚…zstzˆƒŠ‚‡ƒ‚ƒ‰ˆ‰„‡}‚„ˆ‡„†}yw{{{yz€~{|‚|xwodbat{|‚zzz~€€‡zyxxw}}|}~{~~~ƒ‡{vvojikorqqmkgeefedcjhigdbbdhc_\]^bbbaeefdiiihhilinmmfbdlnxrqmnljcŠŠ‹‹‘ŽŽŽŽŽ‘‘“’’‘’’’‘ŒŒŒŽŽŽŽŽ•’••–••”’Ž‘’“””“’“–——ž›š™ž ŸŸŸ £¢¢¢¡¡¡¢¢¤¤£¢¢ ¡££¤§¨¬©ª«¬©©ªª§¦¤¤¥¢¡   ££¡ ¤¦©¨¨©©ª©¨¨£Ÿš•…vmf_\Z`cw‰™¤¨«¬­±°¯°£›k_O\fs‹›ž¢¨«¬¬­¬°°²´´´µµ²±±±³³´·²°²²³³³³´±±°²±²³µ³³´´²²²´³³³´³µ²´³³´¹µ»²¯®¬¦©©¯³®«ª¥¬«°¬­©®«°®¯±±´´°¯®°°±±±°±±±²²²·±°¬¬¬­¨¥¢¤¤¤¤¦¦¤¢¡¡¢žœ™›™š””’”•š™š—–’‘“Љˆ‹Œ““ŽŠŒ‹ŒŠ‹Š‹Š‰‡ŠŒŽŒ‹‡ˆ†‰‰ˆ„‡ˆ‰‡Š‰ˆ„~~~‚‚ƒ‚…‡ˆ†…„‹‰‰†ˆ‰‰‡†„‰‰„‰†‡‰‰‹‰‡‡ˆ‰‰‰ˆŠŠ‰„ƒ‚‡…†‡†……ƒ†ˆˆ‰†€…{}~…Š‹ˆŠŒ‘‰‹ŠŠŠŠˆˆ†Žˆ‡‡ŽŠŽŒ‹‘ŽŒŒˆ‡‡‹Žˆ‰ŠŽŽ‰„ƒ‚‚€zuqzƒƒ‚‚‚ƒƒ…ƒ„‚€~ƒ†ˆ„ƒƒ}vyy|y|{||}}{{xvhWJ]w{~€z}~~~€€}wwvxz~~€~{|~„Œ„|vpmimnrvxzupnkiggfedigiifdefffb]]]]^babaccjiiiiihhhhihhhlnpqqkmlhbŒŒ“ŽŽŽŽ”ސŒŽŽ–“”’‘‘•Œ‘Ž‘Ž””˜–š””“’‘—–œ”’’‘“š˜šœœžžž¡  ž¡¡¢¡  ¤¢¢ ¡£¬¦©¥¤¡¢¤¥¨®­­ª´±²¨¨¨©¦¨¢£Ÿž ¡£ª¢¢££¤©¥®©©«¬«©©«›ŽŠˆƒ|vlb\VTV^fz”Ÿ¯®¯®³°²³´›r^[T`q€•šœ¢ª«¬«²¬®«°°·´µ³¸²±°´³¶³²±±±·´¸´·²³²³±³±·µ¸³³µµ³¹µ¶³´³µµ¶³µ³¶µºº¼¯¬ª©ª­­µ¯¬«¬«¬ª°«­ª­­°®®°²³µ¯°®®¯³¯®­­±¹±²±·²³­«¬­©¦¥¥¦©¥¨¤¢¢¥¡¢›šœ›™™™–œš¡šœ™˜•“‘Œ‹Œ™’’‘Ž‹’‘‹ŽŠŽŽŽ’‹‰‡ˆ‡Š‰‰‡Žˆˆ‡Š‰{{|€„ƒƒƒ‚ƒƒ‚†…Œ†…ƒŒŠˆˆŽˆ‰……‡Žˆ‰…‰‰‰ˆ‡†……ˆ‡‰‰ŒŠŠ‹†‡†‡…†‡‹„„„ŒŠˆ†……€~~€„‹’‰‰ŠŽ‹Œˆ‰‰ˆŠ‡Œ˜‰‘’’ŽŒ‡„‡‘ŒŒ‰„ƒƒ„†„€xtw„ƒ„…†„……ˆ…‰„…€„ˆ‡‰‰Š€zxzz}zz{€„€}…~}yv^KGYw|}~†~ƒ~zvuu{{ƒ†€€€‚„‡ztoihrx„†€}wssuttmiiiiiijglhthgee\Z^ccdbedkjjjkiiiijkjpmmmnorqslgbŒŒŒŠ‘ŽŒŒŽŽ‹ŽŽ‘‹‹ŽŽ‹‰•”—“”‘”’““–˜•‘‘•—˜˜˜šžžž¡œ ž¡¢¢žžž¥¢¢ ¡£¥£¥¥££¥§©ª«««ª¬««§¨¦¥£¡ž› ¤¤¤¥££¤¦©§¦¥¦¥£¢¡ž™“Œ„|wrlfbZWQUVcn€”¡­¬­­¯¯¬¬¬ziV]_oƒŠ—› ¢¤ª©ª««©««°°±²³°°¬­­±²¶±°°±²´²³±°¯³²²°±²·´¹±³µµ³³´³³³³µ²³±´´¶²±²®¦¥¥ª«­°¯«ª¨¨§©ª©¨©©­¯¯¬®¬­­¬«®®­­­­®«®²´°°°²±²®¬ª¬«ª§§¦©£££££¡Ÿ¡››šœœš˜˜˜œ›ž›™—™™•‘Œ’”‘‘ŒŒ‹‹Œ‹ŽŒ‹‡†‡ŽŒŠ…†„†‡†‡‡†…„„„ˆˆ‡|x„……ƒƒ„„ƒ…†Œ‹‹„…ƒ„‚‡ˆ…„„‚…‡Š‹Ž‡‡†‰ˆˆ‚‚‚‚‚ˆ‡‰‰‰‰ˆ‡Š††‚„…†ˆ‹„……ˆ‰‰†…€~~†Š‹ŠŒŽŽ††‡‡ˆ‡‡‰ˆˆˆ‡‡ŽŽŒŠˆŒŽŽŒ‹ŠŠ‰†‚…ˆŽŒ‹‹Š…‚~……„„~w{|„„„……„…†‡……ƒ‚{€„€„‡ˆ†ƒ~|z{||yzx€€~}}}zrRC;Yw{|~€€~|~}~{ztvvz{€|}‡Œ…zvqmkvˆŠˆ…ƒ‚|zywrrqomjfhgihggfea[Z]^_abddloomlgjkjjkhkmmqnnonmjhcŒŒŠ‘ŒŽ‘‘’Ž‘‘‘‘‘‘‘‘“ŠŠˆ‹‘–•˜’•‘““›››“‘’”™™Ÿž¡¢¢¢¢Ÿ  ¡Ÿ¢ ¤¢§¢¤¡¦¥¥¡¡¢§¦¦§««¬ª®¬°¯°«¬ª©§¨¨§Ÿœž¡¡¨§«¥¨¨ª©¨§¦¦¦¦¦£¤ŸšŠƒ}toid_ZUQOQXgv‰¡¦³¯±®®°²¡œlaT\gwŽ— ¢«©©¨«ª©¬««¯¯¶°³³´°²¬°°·³¶±°±²²µ²²²²¯´³´°·²·´¸±´´·³´´¹´³³´´¸¸¸´·¶¶¬¨§ª«²±±®®©©©©¨¨©«ª««¯¯¯¬®¬«­¯®¯­²­¬­®®³±µ°°¯µ±±®¯±±¬­¬¬§ª£§¦¦¢ Ÿ¡Ÿ ¡¡››™››œœ š˜— ˜—‘Ž““—’’‹Œ‰ˆ‹‘Œ’Œ‹†ˆ‡ŽŠ‡†‰„‡†‡†‰‰Š„‚ƒˆˆˆ~‡†‰……ƒ‰‰‰……‡ŒŒ„…„††„‚‚„„‰‡ŒŒŽˆŠŠ‘ˆˆƒƒ„‰ŠŒ‰‰‡…†Š‡†„ƒ„‡ˆ‰†‡†‡ˆ‰ˆ…~~€…ސ’Ž’ˆŠ†ˆˆ‡ˆ‰ˆŠ‰Š‹ŒŠ‰‹’ސŒŒ‹†„„‰Š–ŽŠŠ‰†€†‡‰‚~~†……†‹†ˆ‡†ˆ‰†‡‚€„ƒ„‡Š…‚~~}ƒ|yy{€‚ƒ„~}}ymM76[t‚{~€„€}|zyxxy~|€~}|~ƒ‡Œ„~{xuv~ˆ˜“’‘“’††„€}{rnnnlkigeeb_[[[_^bcdbnoxmlkkklkkhiknnmnqpnijdŒ‹ŒŠŠŠŒŒŽŽ’‘ŽŒŒŒ‘‘ŽŽŒ‰ˆ†‹Ž‘’•”’“““’‘Ž‘“”•˜šŸžžž¡¡ Ÿžœ¡ž¢ ¢¡¢¡  ¢¡¤¢¢¢¨¨§§©©ªªª©¨§§§¥¤¥¥£Ÿžšž ¥¥¨§§¦¨©©¨¥£¤¤¢žŸ’Š}tnfc`]XURPNTXl~§©®®­¬¬©¨•ˆt`^Vdq•œ¦¦¦©¨¨¨«¦ª¬¬¬®¯¯¯¯­­««¬°°°°µ­±³²²±¯²®¯¯°°³±±±³³²±´²±±³´¶´³³³³¸¶µ³¶¬©¢¨§­­­­¬ª¦£¤£©©¨¨ªª«¬®®¬ª««¬­®¨ª«¬ª­­­­­®°®®¬®°±®®¯­¬®¦«¦©¤¦¦¦ Ÿž     ›š˜ššž ™˜˜—’‘ŽŽŽŽ““•’Ї„†ˆŠ‹‹‹Š„†ˆŽŒŠ‡‡‡‰„„„…†‡‡‡‚„„„„…ƒ„…‡ˆ‰………ˆ‡‡††‡‹ŒŠ„„„…ƒ€‚€„…†„‡†ˆ…ŠŠŒ‡„ƒ…ŠŽ†„‚…†Šˆˆ…„„…І‡€€€~~„‹‘ŒŽŒŒ‡Š†‡…‰‰‰ˆ‰‰ŒŽŒˆ‹ŽŒ‹ˆˆ‰Š‹…€„†ŠŒ‹ŠŠŠŠŽˆ„€†‡‰‚ƒ„…†ˆ‰‡‰ˆ‰ŠŠ‡‡‚}€……„„ƒ€~|}|zv{|€‚‚ƒ‚}}wqM:4Tov{}€}||€|{zzz|{~}~x|†‡…ƒ…†‚~~…’•”””’‘‹‰†…ƒ‚{tssvxqjieca`ZZXZZZZ_agkkkkjjklmkiijmnoorujfhdŽ‹ŽŠŠ‹ŒŽ‘—’’’•””Ž•“Ž‘Šˆˆ‡ˆ’‘•“•‘‘–’‘‘˜–™š›ž¨žŸ£¢¡ŸŸž¡¡¡¡¤¢¥¡¡¢¥¤¤¦§¨¨§¨¦ª«­®®¨©§®§§¥¥¢¡žžŸ¦¦­§§¦¨§­§¦¥¥¤¤¡¢š‹oeb_^]WTQOLLU`rŠ—ªª¯¯³µ¶£Ÿ„uiZ\^h{Š¡©©ª«®©ª«¬©°­¯±³²³®¯­­ª¯°°¯¯°´´´´µ²²±²­­®¯±´³³±³±°°´³²²¶¶¹¶¸´¹¸¸µ¶³µ¬§§©¬µ®°¬ª¥¡¡§¢¨¨¨¨¯®³­±¬ª«««¯­®¨«©«¬­­³­®°´°±¬­¯³®®¯¹­¯©¬§§¦ª¦§¢£Ÿ ¡¥ŸŸ›œ›š¡ ¡˜˜˜˜‘“ŽŽŽ“—“•’ˆ„ƒ„‡‹Š‹Šˆ‰ŠŠŽŠˆ†Žˆ‰†………‡‰†ˆŠ„…„‡…Šˆ‹‹Š‡ŒŒŽˆ‹‡‡‡‹‰„†……‡‰ƒƒƒŠ‡‡†‰‰‹ŠŠŒŽ…ƒ…„ƒ†ŠŒ†„…Œ‹‹‰…„ƒƒ„‰†‡ƒ‚€ŠŒ•’—”ސŒ‰‰ˆ‹‘Š‹‹‹ŽŽŽŒŽŽŠŠ‡‰ˆ‹…€€…ˆ’Ž‹’Š‹Šˆ……†‡ˆ‰‰‰Š‹Œ‹‹ŠŽŠˆ‚†„Œ……‚{{{‚|yz‚…ƒ†ƒƒ‚‚}ytX><Pisy|}€€€€‚~€|€~ƒ}{€ˆ„‡ˆ…†‹’ ›››˜œ“ŽŽ†„wtu„{rplkaa]ZXZZ[Y^`dipkljjkqmnijjpqqotogemeŠ‹‹Š‹ŽŽ‘“’‘‘‘‘’ŽŽ†††‰‰Ž“‘’‘‹‰‘”–•™šžžŸž¡¤£¢¢¡¢¡¢£££¥¦¨¨¨¨©¦§§§§©§¨££££ ¤ ¡ ¢¤¥§¨¦¦£¤£¢¡ œŸžœœ“Œ€qeWVWYWVQPMQNYcyŽœ§©ª¬°¬ªšŒwb_Uaju€Ž›¡§¨©«««©«¥¬©¯¬¯±±®±«®­­«¬­¬«¯¯°¯±°°¯®­­©®­°±³³³±³°°­¯®±²¶µ·´´´¶¶¸µ³°¬§©©«®¯­¬ª«£¢ ¢¢¥§©ª¬¬­¬­ªª¨¬ªªª¨¥§¨¬«­®°­°°´³¯¬¯®®®®¯¯¨§§¨¦§¥¥££¡£ŸŸž››šœ›š™””’‘ŽŽ‘‘—“Œ‹†„ƒ‡‹ŠŠ‹Š‰‹‹ŒŠˆ‡‰ˆˆ††„‡ˆŠˆ„„…„†††††ƒ…†Š‹Žˆ‡„‡ˆˆˆ…‡‰‡††…ƒƒ††……†‰‹‹ˆ…„„ƒ‚„„„ˆ‰Š‰‡†…ˆˆ‰ˆ‡„‚|‚……‡†„}€‚ƒƒ‰Œ‘‘ŽŽŽ‹Š‰‰‰Œ‹ŒŒŒ‹Œ‹ŒŠŒ‹‰††††††‚€€‰ŒŒŒŒ‰ŒŠŠ‰‹†‰…‡ˆ†„ˆ‰‹ŒŒ‹Œ‹‹‹‹‹ˆˆƒ„ƒ†‰Š…„yu{}~|‚{{|€‚‚‡ƒ‚€~{wfREUcltwz}}}||||~~€}~~{‚‚ƒƒ…‰‘“’Ž‹•œžž™˜—’Ž‰†zxw…„}wtsi`_^\YZ[[[^_beefhhjjkkmikkmlllnjfaa`‹ŒŒŒŒŒŽ‘‘•“’“‘Ž“”ŽŒ‹ŒŒ“‘“’ŽŒ‹‰Œ”“˜˜™œŸ ¢ŸŸŸŸ¤ ¢ ££¤£¦£¤£¥¦§¤ªª¬ª®®­¥©¨ª¨­¦§¥¦¡¢¡¤£¤¤¨¤¥¦§¦¦£¤¤£œ ™‰‚th]QPQSZSQONOS`ož£²¨®®­¬ª~kZZXan|‘–¢£¨¬°¬®ªªª¬¬­©°¯²²±°°®¯¯±«­­­¬¯°³®µ°±¯µ¬­­®­·¶¶´¶²³°°°°°µ³¼µ¼´µ´¸·¹²®¬ªª²ª°¯®®®ª«¥¦¢£¤¦ª±°±­®¬¬«®§««­ª¨¥§¨¬­²­´­´±´°®¬´¯±±°°±©ª§©¥§¥¨¢¤£¤ ¡ž›œœ  ¡žž˜™”•‘”‘––—”˜‘ŒŒ†…‚†‹‰‰‰Ž‘Š‰ˆˆˆ‰‡†ˆ‹ŽŒŒ„ƒƒ…„‰ˆ†‡‡‡†…‰‹‡‡„‰ˆŠ‡„„‡‡Š‡†…ƒ‡…„„†‹“Ї…††ˆˆ‡„„ˆ‰‰‰Œ…‡‡‹‡ˆ‚|~†„‹‡†~€„‡Š‰Œ‘‘•ŽŽŽ’ŽŽŽŽŽ•ŒŒ‹‹Ž’‘Š††ˆˆ‹†ˆ‡†‡”ŒŽŽŒŒŒŒ…ˆ‹ˆŠ‰™ŽŽŒŒ‹Š‹‹“ŒŠ†‡†Ž‰Š…„ysw‚}}}}…‚‡‡‡„††‡€‚{zob]\agpuy‚€|~|€‚„„…†€€ƒƒƒ„…ƒ‡›šš”‘‘˜›¤¤¦£¤¢™–”•Ž‰ˆ€€~‡…zwqjda_a\\\\]^`accchhnkjjmllmpmomqieccc‹ŠŠ‹Œ’‘’’‘ŽŽ‹ŒŽŒŒ‹‹ŠŽ“’‘‘ŒŒŠŒŽ“”™™›œž  šœšžŸŸ  Ÿ¡ ¡¡¤£¤¤¦¢¤¥©ª©¨ª¬¨¥¥¦ª§§¦¦£¥ ¡¡¥¤£¤¤¤¥¢¥¨£¡ œ˜™›‘Š~qg[WOOOSSQNNNTWgv‰ž¤¨¨¨­¨£„pdT^cnx€Š—¡£¥©®®ª©©¨¨««¬ª°°®­«¨¯­¯«¬ªªª­­­­®®¯¬®«ªª­®®®¯¯²³³²±°°®°±µ³·µ´´´³´²°¬«§«­±ª¬«ª©©§¨¥¥¢£¨©¬¬¬­«¬«­ªª§ªª«©§¥§¨¬¬¯­°­¯®®­­¬³®±¯¯®°©©§ª¢¦¤¢  žŸœžœœšœ¡¡¢šž—•‘“‘“’“”“•”˜ŽŒ†…‚……†‡‹ˆ‰‰‹ŽŽ‹‹‹‡†……‡‹‰ˆ†…„„ƒƒƒ„‚„‡‡ƒ……Љ‡ƒƒ„Ї†††……„††‡‡†‚‡ƒƒƒˆ‹‰ˆ…ƒ†‡‡††ƒ†‰Š‰‹ŒŒ…„ƒ†ˆ…|~€‡„„ƒ€}€‡Œ‹‹ŒŽŽŽ‘‘‹ŒŒŒ‰ŒŽ’‘‡††ˆ‡…‚ˆ…ˆ‹ŽŒ‹‰ŽŠ‡‡††…††ˆˆ‹Œ’Œ‹Œ‹‹‹‹ŽŒŒŠ‰ˆ‡ˆŽŠ‰ˆzpw}z}~~„‚‡…†…„ƒ‚~}{wphecinwy~}{|{€ƒƒ„…†€€€‚ƒ‡‰„‚—œ ™—•š¢¢£¢¡›™–”•’Žˆˆƒƒ‚†‡„}yqmhea`]^___`ab_`_bcilkimmmnpjkjjheccaމˆ‹““™’‘‘’ŒŒŒŒŽŒŽŽŽ“Ž‘••”’’‘‘“”›ššœŸœžžœžžžŸ¡ ¡¡¢¡££¨¨©¦§¤¦¥©©©©§§§¥¦¥ª§§¦¥¦¥¥¥¦¬¤¢£¦£«¢¦£¡Ÿœž–™‰qf]RONNPPXRPLNV^m¨¨¬ª¬©°—xe_X`lx‹”™¥£¦¥«­®¬ª©¨¨¯ª¬ª°­¬«ª©°¯¯­°¬­ª¬­®®®®¯¬°«­¬±±±¯±¯³²³²±±²²²³µ³¸´´µº´·°®««ª®®±ª¬¬«ªª««¨©¢¥§¬¬¬¬®­±«®ª«««ªª¨§¨ª¨¬«²­µ­¯­«¬²³³±±±²®°ª­©«£¦ ŸŸ¡Ÿ¡Ÿ›œ›¡Ÿ¨¢£˜ž–”“™“”“˜—˜“–——ŽŠ†…„‰ŠŠ‰‹‹‹‹‹Ž‰††‡…‰Š’‰††‡…‡†………‚„‰„‰‡Š…„І…†Š†…………ˆ‡‡„ˆƒ„„‹ˆ‡†…ƒ‰‰Š†……‰ŠŽŒ’Œ…ƒ‚……ƒ~‚ˆ„‡€~~‚†”••“‘‘’ŽŽŽ‘‘‘‘“˜‘Š‹Œ‹’‘ˆ†…†ƒƒ‡ˆ‘ŒŠ‰‹‰ˆˆ‡‰†…‡‰ˆ‹•‘”ŽŒ‹•‹‹ŒŽŒŒŽŠ‹€tt„~||‚‡…„„‡‡ˆ‰Šƒƒ~€~tmjkpxz}}|{||†…„„…†‡‚‚€ˆ†Žˆ„‰—™¢ ¡›š¢Ÿ§¤¥¢  ¢ ž•š“•‰ˆ‡‰…yzoifgfgddddacaa^bbhjommmropljhhhhehc‡‰ŒŽ’’’’Ž‘‰Œ‰ŠŠŠ‹ŽŽŽŽ‘“•‘‘‘‘‘‘’”•—™™œœœžž››œžžžž  ¡¡¢£¤£¥¥¥££¢¢¤¤££¢¤¤¤¤¦¥§¢¥¦§©¦§¦££¢¤£¡œ›››˜˜™‘Š~qdWSNPNQURPONNNYduˆ”£¨©ª§¤¢|n\_]kxƒ’–›Ÿ££¥¤¥¥§£¦¥¨©ªª©©«¬­¦«ª¯¯®«­­­ªª©©©ª«««««­®²­®­°¯°¯³­°°²²´¶µ³²³´µ´®­¬®ªªª®¬«ªª¨©©ªª¨¥¤£¥¥­¨««­­­¬®¦¦¤¤¤§¦©®¨¦¬©­­«©©¥««®­­©¬««ªª©¨¤¡žžžžžœœ™›œ¡¡£Ÿœ˜—“““•“““”•–“–’‘Œ†††ˆˆ‰Š‹ŒŒŒŒ‹ŽŒŠ†………†‰‰‰„ƒ……†ƒ‚„……€ƒ‡……†‡†…………‚ˆ†„ƒˆ‚…„„„‡‚‚‡……„……‰Š‹ŒŒ‹€……ƒ€‚ƒƒƒ€{}‡Œ’‘’‘‘ŽŒ‹Œ‘‘“”˜‘‹‹ŠŠ‰‹‹Ž“Šˆ…†‚ƒƒˆ‹ŠŠ‡ˆ†‰‹‰‡‡††‡ˆ‡Œ‘”‹‹Ž‹ŠŠŽ‹‰Š‹Ž‰yxz€}}}ƒ†‡…„…„…ƒ„ƒ€€~}ztqrt{|}~~{}}…Ї…„ƒ„ƒˆ†‰ˆŠ”œžŸ¡žœžŸ¡¢££¢¡¢£Ÿ—𓓐‹ŒŽŽŠ…{smhklgedddaa`a\\]ffommnmmmmledddcedŽ‘ŽŽŽ‘•Ž‰Œ‰Ž‹‘Ž“•”–‘‘’—”•’“”š’“’˜–œœ¢Ÿ ›œœ››œ¡¡¡¡¢¢¥¢¤¥©£¥¡  £¢¡¢¦¡¢¢¤¤¨¤§¤§¨©ª©§§¦¥£§¦¥šš›™ ˜™Š†th\PMJLOPWSRMLLN]j}”›¦¥­®¯š’}nfZ^cp†‹›ŸŸ¨¨©£¥¥¥¤§¥­««¬¬«°ª¬«¬¨ªªµ¯®­®¯¯¯¯§©©©ª±¯´®°°³²±±±°²±´³µµ¶¶º¶¸³¶³¹³³®¯«®¯²ª®ª«ª©©¬ª¯©¦¤¤¦¨¨­¨«­±­¶®¯¨¨£¦¤¬¬­ª¦¦¬«¯«ª©¨¨¬«°«¬©°ªª«¬¦¢ œ¡ž   ¡¢žœŸ ¥¢¤š˜˜”—”™•——Ÿ–—–—“•†‰‰Œ‹—’ŒŽŽ‰ˆˆ‹‹‹‰Ž‹‹…ƒ„‹†…‚‚‡ƒƒ‚„ƒ……†‚‚†…„…‰†„………„ƒ‡…ƒƒˆ‡‡‡„††‡††…„ƒ‡‡‰ŠŽŒŠ‹ƒƒ‚‹„ƒƒ‚ƒ……†€}}ƒ““““—‘‘‹Š’‘‘—˜š‘ŠŠ‹‹‹Œ’“•‹…†ƒƒ†ŽŽŽŠŠ‡‰‡ŠŠ‰Œ‡ˆ‰‹Œ’‘“””‹Œ‹”ŽŒ‰‘Œ‹‹ŠŒ•‘…|xz~†€††ŠˆŠ‡ˆ…‹†‰ƒ‚ˆ‰Œ€~}}{yz|~€…‰ˆ‹……„„…‰ŠŒŒ‘‘’–Ÿ¡¢¤£¬Ÿ¡¡¨¨©¥¨¢ š™”””™’’𔓋ކ†ypospjhieiba`_]X]dfpntpmntmnfgbcbedŒŠŒŽŽŽŽŽŽŒŠ‰‰ŠŠŠŒŒŽŽŽ““—””’”˜•“““——›Ÿœ››œ™š™›  ¡¡£££¢£¥¢ŸœžžŸ ¡¡ ž¢¡¢¢¥£¤¥¥££¤ª¦§¤££ ›–˜”–•’ŽqfXRMLKNPQSQPMJNQar†›Ÿ£¤¤¢žq`^^hox…•™œŸ ¢£¢ ¢¤££¤¤¨¦¨¨©¨¨¥«©©§©©ª«¬¬®¬«©¨§¨©ªª¯®²®°°±±²²±¯±±²²´µ¶¹·´µ³³³²­¬ª°¬­­±«©¦§¥§©©§§§¦£¥¦¨©©©¬­­­®ª¨§¨¤¥¤­«¬¦¥¥©«©§¦¦©¨¨©¨¨¨¦©§¨§§£ ž™Ÿ¡ ŸŸŸŸžž¡¥£ ž™—””’”“”“—––’‘’‘‘‡‰Š‹ŒŒŽŒ‹‹ŒŒ†‰ˆˆ‡ˆ‰Š‹‡‡††ƒƒ~ƒƒ‚‚ƒ‚‚‚‚„„ƒ„……„ƒ„††„„†€„ƒ‡‰Œˆˆ„…€ƒ‚†ˆˆ‡ŠŒŠ…„ƒƒ‚†ƒ‚‚……€}}}ƒ‡Ž’’““•ŽŽŒŠŽŽ‘–𖑐‰ˆˆ‹‹ŒŒŒŒ‹Š†„ƒ‡‰Ž‹‡Š†††‰ˆˆˆŒ†‰ŽŽŽ’ŽŠŠ‹ŽŽ‹‰‰ˆ‰‡‹‹ŒŒˆ}y~‚€‚…†Š†ˆˆˆ…‡††ƒ„…ˆ‡†z||}€‚‚ƒ…‡ˆ‰Š‡†††ƒ†ˆ‹ŒŒ‘„ˆŽœ¡¥¦£§™¢ŸŸ¡¥£¤¡ ›š••”••””—•“Œ‹‹‡~wtuvqkiefa^\_aaadglntuonoljfg```bcŠŒŒ‘Œ‹Œ‘ŠŠ‰ŒŒŒŒ•”Ž‘Ž‘™”—˜—––””•——žžžŸŸŸž›œœœ› Ÿ¤¡¡£¦¥¨¢£Ÿœœœž¢¢¤¡¢¡¡¢¢¢¡¡¥¢¥¤¤¢¨¤¬§§¢¥ œœ›–™™š‰‚sf[PMKMPRTUUQOKIPVh}§¦­ª±ŸŸ„shZ^al}„‹’œ›ž ¥¡¢ ŸŸ¡¤©ª«©¯§ª¨«¦¨¦ª¨©©­¬±ª­¬®«¬ª®«°©®¬°±²²²±µ±²±±°´³¶´¹¹¸·¶´ºµ·±°«««±¯²­±ªªªª¦¦©«ª«¨«¦©¦­ª¯¬±¯³¬®©ª§©¦¨¨®««¨«§¨¦¥¥¥¦©§¨©­««¨¬§©¦¨¢ žŸŸŸž¢  ¡¡ž§¦¥¤£›—•••“—•–”—––’”““’‘ŽŽ‹‘‹Š‹Œ‹‹‘ŠŠ‹‹ˆ‡†‡‰‰‹‰ˆ‡‡„‚†…‰‚€…‚†‚‚ƒ‡ƒ†††…‰ˆŽ„‚‚…„„‡‹‹‰ˆ………‡ƒƒƒƒ…ˆŠ‡‰‰Š„„‚‹‚†„ƒƒƒ…†|}ƒ‹Ž–—˜—–“”””ŽŽ’’’’‘’••”ސˆ‡ˆ‹‹ŽŒ‹Œ‡ƒƒ‰‰ŒŽ‘Š†Š‰Š†‹‰Šˆ‡Š‹™’’‘ˆ‡ŒŽŒŠ‰ŽŠŒ‰Ž‹ŒŒ†‡„„‚†………†‹ˆŠ‰‹…‰††„‰ˆ‡‡}ƒƒ‡‡…„…‡Œ‰‹‹Š‡‡‡Œ‹‹Š–‘‘‘‘ƒ‡œœ¡¦«¤££¤ŸžŸ©¤¨ ¡ ¢–‘“™š–š–•‘Ž„{zqkik`[Z`cjjhhkoxsqqqkgegbaaabŒŠŒŒŒŠ‰ˆˆˆ‰‰‰‰ŒŒŽŽ’ŠŠ‹Ž‘“’’”•–‘–“–———œšœžž™œœœœŸŸ£¡¢¤¥¤Ÿœ›˜™–œŸ¡¢£¡£¡ £¡¢¢£¢¦¢¢¢¥¤¤¤¢¡ œ™•””‰~qfYTKMLPUTSQQPNNMV_q†“¤¦¦¥¦—‰yhaYcjw‡‹’˜œ £¤¡ŸžžŸ¡¤©¨¨¨¨§¨§§¦¦¦ª¨¨©­­­«ª©ª¨«©¬«¬ª¯­¬«®¯²±±±²°°°²±±²²³³³·µµµ±¬ª¨«¬®®®®ª¤¤£ª¨¨§¨¨ª¦ª¦§§§§­¬®¬¬«¨¦¦¦§¦©©©©ª§ª§¨¢£¤¦§§§§¦­«ª¨§§¨¥§¡  Ÿ›žžœœ¢ž¦¢¡™™–•”–•–••”—’‘‘‘Ž’ŒŒ‘‘ŠŠ†ŠŠŒ‹‹‹Š‡‰ŠŠˆ‡†‰ŠŽˆŠ‰‰‡†…„‚ƒƒ…ƒ‚‚ƒ„‚‚‚ƒ‚„…†‚€……ˆ‰‡‡†‡‡†…„ƒ‚ƒ…‡Šˆ‡†‡ˆˆ€‚„‚„ƒƒƒƒ‚€zz{„ސ’“”––•••““ŽŽŽ’‘“““ŽŠ‰„‡ˆŒŒŒŒŽŠŠŠˆƒ‚„Š‹‹ŠŽ‘ŠŠ‡‡†††Œ‹Š‰‹‡Š‰ŽŽŒ‰„ˆŒŒŒ‹Š‰‰Ž‰‰‰Š‰Œ‹„~ƒ………„‚€†…††‡‡‰ˆŠ„„„…„†‡Œ…„~~ƒ…„…††ˆ‰Šˆˆ‡‡„ˆ‡‰‰‹Œ‘‘•–ƒ}z˜ž¢§¦¥¤¤¢ŸŸ£¡  ¡ž¡˜•“›™™••–”ŽŽˆ‚z}|yutrn^[Zadfghhlowqqplgfddddcb`ŽŒŒ‰Š‰ˆˆŠ‡ˆŠ‘‘’Ž’“ŒŠŠŽ‘““’”““”•–˜•›˜™™›š Ÿ¡žžŸœ›¡Ÿ££«¤§ž˜˜ššž¡¤¥¥¤¤££¢£££¡£¢¤£¦¨©¥©£¨¢¢ Ÿ™–––Š…ui\PLJJNQYWXROMLMP]j{”š¨¦«©©m^YXbr}‘””š™ŸŸ¥¥¥ žžž £¦«¨¬¨¦§¬­­©ªª«©­©­­­ª¨¨©¨«©°¬®¬°¬«­°²¸±±±²±´°µ²²²³³´²·³³±¯««ª±®¯®´¬§¤¤¥«¨§¦¨¨©§«§«§¨¦®¬°ª­¦£¦¤¦©¨®©©ªª©¯¨§¤ªª«©­¨©ª¯«¬¨¯ª¨¤¦ ¨¡¡›£žœœž£¡¦ ¢žž–›“–—š™™”–“”‘‘Ž’’Œ“’‰‰‡‹‰‹‹‰‰ˆ‹‹Š‰‰Œ‹‹‹‡……‡‡ˆ‰‰„†€ƒ‚‡ƒ‰…„…Š‚ƒ…ƒ‚ƒ‡…ŠŠ‡‡‡…Ї‡„ƒ…‹Š‹ŒŒ‰ˆ†ˆ†„„„ˆ……„‰†ˆ€~|‚А˜•˜–•””––“‘‘‘“’—““ŽŒˆˆˆˆŠŒŒ‰ˆ†‚‡’ސ‘‘’‹“‘‡…‡ŒŒ‹ˆŽŽŽŽ‘ˆ……Œ‹“Œˆ‡‡‰ŽŠŠŠŒŒ‹ƒ‚‰‹’†„…††‡†††‰ŠŠ‰…„…†…‡†Œ†…ƒ†„„†‰…†‰‹Ž‡‰††„ˆ‡Š‰Œ“–Ÿ˜yfw’œ¦¥¤¤³ª¨¡¢¢¦¢¢¡¡¡¢››š›œž–••˜–•Š‰ƒ‚€~~}xra]afffghioowwyojfefigedfb‹ŒŠ‰†…„ˆ‡‡…ˆ‰‹ŒŽŽŒŠŠŽ“’”“““•———˜˜™šœ›žžœžžžž›œ  £¤£Ÿž™—–›¡¤¤¥¥¤¥£¢   ¡¡¡ ¥¢¤¤¥£¢¢ ›››š•Ž‹vi\VKKJNQSWWUSNMKQVgu†™ž¦¥¤¡œ†seUZ[hvŒ‘–••ššžŸŸŸŸœžž¡¢¥¦¨¨©§§¨¬««¨ª¤¤¥¨§¨ªª§¥¤¨¨©ª­¬¬¬«ª¬®°±²¯±­°±°°µ²²±³°²²³¯®ª«©«ª°®¬©§¦¥¤¤¤¦§§¦§§©¨©¦¦¥¦¦§¦¦¥¤ ¢¥¥¤©«ª¨§§¨¨¨¤¤£¦¦ª¥¥¥©°®¬¬©«¬¥¢¢ ¡ž››››œž ¢¡ œ›˜˜˜——›“””™—–”–“”Ž‘Ž‹Œ‹‰Š†‰‰‹‹‹ˆˆ†‹‹‹‹Œ‹ŒŒŒ‹ŒŒŠ……„†…†‡ˆ„„‚‚‚‚‚‚ƒƒ„†‡‡†‰‚€…ƒ„„…ƒˆ‰†‚„…Ї…„…‡†…„„ƒ‚‰†‡ˆ†„…‡ˆ„…†‰„|~}„‹’“”˜”–’”–“’’‘““”’“ŽŒ†‰ˆ‹Œ‰‰‡‰ˆˆ‚€~…ŠŽŒŒ‹ŒŒ‹‘ˆˆˆ‹ˆŽ‹ŒŽŒŠˆ‚„…ŒŠ‹‡†„‡‡ŽŠŠŠŽ‰‡†‰Š‹ˆ‡‡‡ˆ‰‰ˆ‡‡‰ŒŠ†‡††„„ƒ‡†ƒ‚…‚‚‚„…††ˆŒŠ‡†‚‚‚…„††‡ˆŒŒ”˜™™‘qtz•› ž£¢ª©§¤¤¢¥£¢œœœš™˜›——–”“–™–“‘Šˆˆ‡†…ƒreiolgghjkoovwyngbefgggedbŽŽŽ‰‡†„…‰ˆˆ‰‰‰ŒŽŽŒŒŽ’’“‘“““”˜—š›››¢›žžžŸŸŸ¥¥¤ž£žŸ¡¦ ¢¡¡žœš™›£Ÿ§¦¦§ª¦©£¢¡¢¡¢¢¬¤§£¥¤©£¤  ™›››Š„sg^TPKIIMVXXXYTRMKT\n†’¤¤¬§§•zjaUY`k{…‘“˜šš››šŸŸžžž¢Ÿ¨¤©¥§¨ª§§¨®¬«¨©¤§¦¨©¨¨¨¦¥¤¦¨««³®¯ª¬¬±°°±³°±°·±º±µ²´²´²¶±²­­«®­®«±®®§¦¦§¥£¤¦§¨¨¨§ª¨­§¦¤ª©§¥ª¡žž¡¤©§««ª§¦¦©¨¨§¦¤§§ª¥¨¥¨­­­­¬¬¦¤¤¤££Ÿ¢¡ ž¢¡§§§ ž›››››››œ””•˜˜–––“•Ž‘ސŒ‘‹Š‰Š‹Œ‰Ž‘‹‹‹‹‹ŒŽŒ’Œ‹ŽŠ‰…‡‡†‡‡‰Œ„‡†††‡†…†‹‹ŠˆŒ‡ˆ‚€€†ƒ……ˆ‡ˆ„„„…‹…„„ˆ‰†…ƒƒ‚Љ‰‡ŽŠˆ‡†Š€~€…‘˜••”™––’”“‘‘˜’“’’’””˜’“ŽŒŠ‰‹Ž‰‰‰Š‰‰€~‚‹‰“‹‰‰Œ‘‰‹ŠŽŽŒŒ‹ŠŽ‘‰…‚„ˆŠ‹‡‡‡ˆŠŽ’ˆ‡‡Š‹‰‹ˆŠŠ‹‹Š‹Œ†ƒ†‰…ƒ‚ˆ„ƒƒ……‹ˆ‡†‹‹ŒŠˆ‡†‚„‚‡…‹‹ŒŒ’’¢›’Œ†‰˜š¤£¤¢ª©¬ªªª«¥£ žœœ ››˜™–•“–—™––‘‘’Ž‹‹‚vtxwvljlooorxxzldaehnjmhee‰ˆ‡‡ˆˆˆˆ†ˆ‰Š‹ŒŒŠ‹‹‹Œ‘‘‘‘”•——šš››››žžž  ¡ ¢ž Ÿ ¡¡  Ÿ šžŸŸ¢Ÿ¡¡¤¦¥££¡£¢ž¡£¥¢¢¡¡¡ ŸŸœš™‘ށtgZTKPLMMOQTVWWTRRPZdw‰—¥¤¤¢¡~qab[bis€ˆ”˜œœšœ˜›œœŸŸ¢¢¤¤§§ª§§¨¨¨¨¨§¤§§¨¥¦¥¨¥¥¦¨©««­¬«¨¬¬°¯®¬³¯°°±²±±²³µ±²±±°­¨¬«®­«¨¨¨§¥¥¦§§¤¢¦¤¥¥§§§¨§§§¢£¢¡  ››œ¢¤§¦¦¦§¦¦¦¤¢¢ž¡¡¦¦ª£¥¥¨«¬§¨§¦¢£¡ ŸžŸ  Ÿ£¤¤£¤›š˜™˜™˜™™›”––˜˜•”““ŽŽŽŠ‘‹‹ˆ‰‰‹Š‹‰ŒŠˆ‹‹‹‹Š‰‘‹ˆ‡††„‡‡‡‰Š‹ˆƒ†„……ˆˆ‰‰ˆ‡‡‡Œ†‡ƒ„…†‡‡‡……„……„ƒƒ„‡†ˆ†…‚‚‚„ƒ…‡Š‹Š‰ˆ†……z|…А“—••”™—•’‘‘“’‘’’”‘ŽŽŽŒ‰ŒŽŽŒŒ‰‹Œ‰„~‚‡ŠŠ‰‰‡…‰Œ’’Œ‹‰Š‹Š‹Œ‹‹‰ŠŠ‡‡†…‚†‹‹ˆ‡„ˆˆŠŽ‹Œ‘Š†‡†ˆˆŠ‰Šˆ‹‹‹‹ŠŠ…………†‰…„‚‚‚‚…„Љ‡†Š‹Œ‰ˆˆ†ƒ‚ƒ„‰‰‹Œ’”Ÿ  ›—––˜šŸŸŸ¢¥©ª©©©¥¥¤¡žžœ››œ˜––•’““•—•”’‘‘‹…z{~xonnooquvvqid`ciiijjigˆ‰‡ŒŠŠŠ‹Œ’ŽŽŒŽ‘–Ž‘’”™–›™ž›œž›¤Ÿ  ¥¤¤ ¢¢£¤¤¢£ Ÿž ¢¥Ÿ¨£¢¢¢¢£¦¦¢££¤ ¢ ¥¥¥¤ª¡¢¡¡  š™Œ‡vk]PJFJNPQSSSTUUSQRUam™œ©¦­ Ÿ„sk`fkox…Ž˜™œœ£Ÿ¡œœœœ ž£Ÿ¢¢§¦­­®§¦§¨¨¨©¬««§©¤¥¤§¦¨¨®«««¬¬¬«²¯µ¯­¯´¯°°³±µ±²³»°´°°®¬¬­¬®«ªªª§§§¨§­¨¨¤§¤ª¨«§ª¨°§¨¢ª¢£Ÿž¡£¬¨«©«§ªª«¤¢£¤££¤§¦«¦¦¥¨¨«¦©¨§¢¤ žœ¡ ©¤¤£«¬¬¢£š›—ž™™™œ™š›œ˜œ—•–—‘“’—ŽŽŽ‹ŽŽŽŒ‘Œ‹Š‹ŒŠŠ‹‘ŒŠ‡‡‡††‰‡ŠˆŽ‰†ƒ‹‡ˆ†ŒŒˆˆ‡‹…†‚ƒ„Š‰ŠŠŠ††‡‡‡‹…„‚ƒ…Іˆ‡‡„††‡ƒ……†ˆ‹‰Š„‚~zx|ƒŽ•”˜——•˜˜›”•’–’‘‘˜’•ŽŽ‘‘“““‹‰ƒƒŠˆŠ‡……†‰‹’šŒŽŽ‹Ž‹‹‰ˆˆˆ………‡‰Šˆ‡‡‹ŠŒ”Œ‘Œ‰‡ˆ‡‹ˆ‹Š‘“ŽŒ‘‘‘‹‰ˆ‡†…†Š……ƒ„„„„‰‡‹‹‹‹ŠŠŒ‰‰†‡†ˆ‚‚ƒ‰‰Œ“•žŸª¢¦¤£¤¤Ÿžžžž¡¤ªª««¯¨©¨¨¡¡žœœšŸ˜š”•”“”““——˜˜™‘‹‰†…~~ttttqsx„unii`bflhhimgˆ‡‡†ˆ‰‹Š‹‹ŽŽŒ‹ŠŒŒŒŽŽ‘’“”—˜™šœœœœœ›žŸŸ£¡¢   ¡¡¡¡¢Ÿžž  ¡Ÿ¢¤£¢¢¢£§£¡ ŸŸ¡¡£¢£££ Ÿœ™˜”ƒxj]UIGEJRRSQPRSSSRRVZiwˆš £¤˜|ifamx‚ŒŽ’–š›››žžžœ›šœžŸŸž¢¢¥¦¬ª­¦§¨¨¨¨§ª«§£¤¡¥¥¦¦§¨«ª«©©§¬ª«««¬­­­­®®³±±±³³²®¬«¬¬¬¬¬¬®ª©¨©¥¥¤¤¤¤£¢¢¥¤§§«§©©©¨¨¢¢žžœŸ ¤¥¦¦¦§¨¥¥¥¥¡¢ž Ÿ¤§¨§«¥¥¥¦¥¥¢¢¢£¡¡ž  ©¤¥¥ª£¢ ˜™˜œ™˜—™™˜——˜–”“‘—ŽŽ’’’‹‹‹‘ŽŒŒŒŒŒ‹‹ˆˆˆ‰‹‹‹ˆ…ƒ††ˆ‡‰ˆ‡…„ƒ††‡‡Œ‹ŒŒˆˆ‡ˆ†…ƒƒ…ˆˆŠ†„ƒ„…‡†…‚‚ƒ…‡„ƒƒƒƒ„~€„„„„„„„|wxx‡Ž‘””’˜”–˜˜•”‘’’““’‘‘ŽŽŽ‹ŒŽŽŽŽŽ‹‰‡€„†‰ˆ††„†ˆŠ‹’“Œ‡ŠŒ‹ŠŽŒ‹‡‡…„„ˆ‹Š‰‰ˆˆˆ‹‹‹ŒŒŒŒ‹‰‰ˆˆ†††‹ŠŒŒŠŒŒˆˆˆˆˆ‡…‡…„ƒ„‚…†‡††‡ˆ…‡ˆ‰‡…………†‚ƒ†‡‹Œ“–ŸŸ£¢¥££  ¡ Ÿ¡£¦¥¥¥¦§§§§¢¢ Ÿ›šš ˜˜••–•“”““““‘ŽŠ‰‡~~utsrruyzsmfiaddddfhhhЇ‡‡Š‹‹‹‘ŽŒŒ’ŒŽŽ’’“”““—˜˜˜œ›ŸŸŸœŸŸŸŸŸ¡¤£§¡Ÿ £¢¢¢¢¡¨¡¡¡¢ ¢£¤¢§£¤¢ ¡¡¡¡Ÿ£¢¥¥¥¤£ž ™˜ŽŒyo`RLEEFIQV[TQRVVWQQYap„’¨¨©£¦‘„teedožŸŸ  ¡¢¡§› œ›››¡ ¡Ÿ£žœŸ¡¤ª¨­¬®©¬«°©¨§ª§¦¤§¥«««¦¯¨¬ª°ª©¨«¬®ª±²³¯²­±®³²²²³°¯«©ª­®¯®°®¯°°¨ª¥¥¥¦¥¨¤££¤¥«ª¬­­¬­«ª¢£Ÿ £¤­¦§¨¨§«¨«¥§¡£¢¢¡¨ª­¨«§«§¨¦§££¤ª¢¢¡¡£¥£ª§«ª«¢§žœš—¡™˜–›¡—”“”‘—Ž‘˜’””“‘‘‘“““‘ŽŒ‘‹Š‹Œ’‹Šˆ„‚‡†‹ˆ‰…„„„„‡‡ŒŒŒŒŒŒ‹Š‹Š‰‰‹…„€‚Œ†„ƒƒƒ††‰„†„ƒƒƒ€‚‰………ˆƒ„}ywy~‡Œ•‘“’˜”•–˜–—“•’›–—‘Ž’Ž”‹Œ”Šˆ††Œ‰‰‰…‰‰ˆ‰‘”Ž‰Š–“Œˆ‰…„†ŽŽŽ‰‰ˆŒŠŽŒŒŒ“ŒŠ‰ˆˆŠ…‡‡Œ‹‘ŒŽŽŒˆŠŠ‘ŒŒ†‹†„„…ƒŠ‡ˆˆˆ‡‹‰‰ŠŒ†……ˆ‡‡‡†‡ˆ†‹™™  ¦¢¦¥§¨©¥§¥¥¥¤¢¨¥¦¤©¨¨©©¥ª¢£ž››¡›œ›š••“““‘‘““”‰‰w|zyuxxxqliiiiffeeglh‹ˆˆˆŠ‹ŒŒŽŽ‹ŽŽ‹Ž’Œ‹ŠŒ‘‘’“””–•˜™œœŸ›œœœœŸŸ ¡¤¤£¢Ÿžžœž£¢£     £££££¡ Ÿ     Ÿ ¡¢  š—”’†~n`VJGEHIMQUZXSRRQPQS^fx—¤¥¦ œŒ{qehl{Œ“Ÿ£¥§¨¦¤¤¡¡œœšŸŸŸ¡¡¡Ÿžž ¢¥¦¨¨¨¥¨¨«¬¬ª¨§§£¤£¦¦§§§¦§¨¨¦ª§©«¬¬­©°±±®®­¯®³±±±¯­¯¦ªª­­­¬¬¬¬­«¥¥¢£¤£¢¢¡£¤¥¦¬¤¤¥¤£££¢Ÿž£¥§¨­¦§¨¨¦¨§¨¦§¢¢¡¢£ªª©§§¦©¨©¦¦££¦¦¢¡¡£¤¥£¦¦¨¥¤ ž™˜——˜˜˜—˜˜š›™•’‘‘‘’“’’’‘‘“”’‘’ŒŒŽ‰ŒŒŽ‹ŠŒŒ‹‹Žˆ‰ƒ‚‚†„……ƒ~‚„……ŽŒŒŒŠŠ‰ŠŠŒ‹‰‹ˆ‡‡†„„‚‚~ƒ…†…„„„ƒ‚‚‚‚‚……ƒ‚‚ƒ€}xxx†‘‘‘’’”“””—–—““’–”‘ŒŒŽ‹ŠŠˆŠ‹ŒŒ‹ˆˆ‰‰‰‰‡‰†‡‡‰‹‘Ž‹Š‰Œ’‘’Љ†„‚…‡‰†…„†…ˆŠŒ‹‰‹ŒŒ‹‰ˆˆ†‡†‡‡Œ‹ŒŽ‹Œˆˆ‡‹Š†‰ˆ†‚ƒƒ†…ˆ‰ˆ„‰ˆŠ„‹†…„„„…„‡Š‡‚Œ—™œœ¡¢£¢¥ž§¢¦£¤ ¢  ¡¡ ŸŸ¢££¢£££¡ž›ššœš™–˜˜—”‘‹xƒˆˆˆ…€~w{yxvyxqklljhhieacefg‹‹‹‹‹Ž’ŒŽŠ‘ŽŒŽ’‹‰‰‹“”™™˜——˜œ¢žŸ¡œŸ¢Ÿ£¢§£¥¢¡¡ Ÿ ›£¡¦¢¢¡¡ ¤¢¤¤¨££ ¡¡¦¦§§¨¢¥¤¤Ÿ šš•~seWNDEGIMQUX\YWSVONRWdr€•Ÿ­¨«œ–†yqhlt˜›¤§¬¬±©«§ª¡£žœ££¥¥¥¦¥¥¥¦¨§ª¦¨©©§¬¨²¬¬«ª§§¥¤¥¦§ª©©§¬©«§¯©«­¯¬­©®±¶µµ­±°³±´®­­®®°«²¯¯®°«ªª«¥¥¤ª££¡¥¤£¤¦§¬¤¦¤¤£©¡£ ¡¤««¬ª®¦ª©ªª¬©ª¦¦¥££¥§¬ªª§ª©®¨©¦§¥¤¥§¡¡¡©¥¦¥©¨®¤¢žœ˜žœœš›š›¡˜›™—’’•“˜—–––’“’’’™–—’“ސŒ‘Œ‹ŒŒ‹ˆ‰ƒ‚ƒ‡††ƒ€€‡‡ŠŠ‘Œ‰Šˆ‘ŽŽ‹†‡„……„…†‡‡‚€€ˆ†Š…‡ƒƒƒ‚ƒ„„†„„ƒ‚ƒ~{{{ˆŽ—‘“’’–’™˜˜”œ˜—–š•˜“Ž”’‘Ž‘‹‹ŠŒ‹‹‘“’“ŠŒ‰Ž‡‡ˆŒŒ’ŽŒ‹‘”””‘Œ‹…„…‹Œ…†…ˆ†‰‹ŒŒŒŒŒŒŒŒˆˆˆŽŽŒŽŽŒ‹‹ˆŠŠˆ†ŒŒ†‰ˆˆ‡Š‰Ž‡‰ˆ‹‹‹…†„„„†‡ˆ‡†”œœ›¢¢£¤¥¦§¥¥¤¥¤¦¢  ¤ŸœŸ¡¦¢£¤¨¢¤Ÿ›Ÿž¡œžœ¥žž——Žrq|Šˆˆ„~|{{||€upillomslfdcchi‰‰Š‹’‹Š‰‹Š‹ŒŽŒŒŠŠŠ“•™—˜˜ššœœžžžŸ  Ÿ¡¡¡Ÿžžžœ ›¡ ¡Ÿ££¤¡¢¡¡¡£¡£ž¡¡¥¢¡Ÿžž›™•ˆrf\OKEHJORUY[][YTQPMU[k{Œ £¦¤¥—‹€tspy‰•›¡¥ª­¯¯¨§¤£ ŸžžŸ£¦©­©¦¥¤§¨©¨¨¨¨¥¨¨©§¨§¦££¤¥¥¦¨¨¨¦£¥¥«©©§ªª­¯¯««ª®®²²´­°°±®­©©©¬«¬¬¯°¯­­ª«¦¤£££¤¢¢¡£¢¤¦§§§¤¥¥¥¢¡ž¢Ÿ¦¬«©ª«¯§ª©ª©©¦¦¤¦¦¦¥¨ª«¦¦¦©©©¨§¦§©¥¥¤¢¢£¨¦¥£¨¦¦¢ ˜šœ›››š™—–”“’””””’‘ŽŽŽ’’“”𖔐Š‹ŠŒŽ‹Œ‰‹‹Š‹ˆ‰ƒ„…ˆ†€|‚‡ˆ‰ŒŒŽŠŒ‰‰‰ŒŒŠŠ‰Š…ƒ„…„‚ƒ~€„†„‚ƒƒƒ€ƒ…††…ƒ„‚}zz{€…Œ‘‘’’‘‘”’”––•›˜˜˜™••‘‹”•“ŒŒŠ‹‹Œ‘’‘ŠŒ‰‰ˆˆ‰Šˆ‰Œ‹ŽŽŒŒ…†‡‹‹„……†„Š‹‹‹‹‡ŒŠ‹ŒŒ‡ˆ‡ˆ‰‰‰Œ‹ŒŒ†‰‰‰‰‹†ˆˆˆ†Ž‹‹‡ˆˆ‰‡‰Š‰†‰‡‹Š‹„ƒ‚‚‚‡‰‹…‡‡—œœ››¡¡£ ¡¡  ¥££¢££¡ž ŸžŸœž¤¡¢¢¡ Ÿœœ›œšŸžžž—˜{k‚Љ‰†‚z||}€~qpiikkknmkhfaab‰‰ŽŽŽŠˆ‰Œ‹Œ’‹‹Œ“”™™š˜š››œŸž¡§¤¤¢¡Ÿ¡  žž žžŸ Ÿ£¡¤¤ª¢¦¢¨¤¤¤£¤¦¢¤¢£   Ÿœœ‘~wh[TKGEIOSYZ[]_][SPOPYbsˆ“¦¢¬¥¦’†~usv~”œ¢¢¨©¯¯¯§¥£¡ŸŸŸ¥¢¨¨®ªª¨©ª¯­³«©ªª«­¬¬¬­¦££§¤§¥©¨ª¦¥¤§§ª©­«ªª±°µ«®¯®¯²²´µ¸°²­¬¬¬¬±­³­°±²¯­©¬¦¤¢¥¦¦¥¥¢¥¥¦¨ª©©©ª¨¦Ÿž £¦±«®¬¬«²¨ª©­©©¥¦¨¬¨«§¬ª¯¤§§¯©ª§¦¥¥¤¥¥¥¥¦§¯§ª©¨¦§¡ Ÿžžž¢¡››™—’•”””œ——‘ŽŽ•–Ÿ”š•”ŒŒŽ‘𐒐‹ŽŽŽŒ‹‹‹Š‡Ž†‰€†€ˆŠ“‘Œ‹ŒŒŠŠŒ‰Š„‡†‡„„€}}‚„„ƒˆ‚‚‚…„‡‡‰†ˆ‚||{{€‡ˆ’‘“™‘–’˜••–™™š˜™šŸ™œ’“““’‘“™——’•ŒŽ‹›•™‘’Œˆˆ‘Ž’Ž•‘‘’ŒŽ‰ˆŠ’ŒŠƒ†‡ŒŽ‘Œ‹Œ‹Œ‹‹‹Œ‰Šˆ‰‹ŒŒ‹ŽŒŒŒ‡‡‡‰‰Œˆ‡‡Œ‰“ŒŽŽŽˆˆ‡Š‡ŒŠŒ…ƒ‚†„ˆˆŠˆŒ’˜¡œœ› ¡¤¡£££¢¥¤¦¦¦¦¦¡¡¡¢ž›¤¤¤¡©¤«£¢œ›œ¡ž¤žŸš™’‡†ˆŒ††|~~|ophfhjlomronc`_‰Š‹‹‹‹Žˆ‰Š‹‡‰‹ŒŒŽ‘”––™™™—››››œœžœ¤ ¡¢ŸŸœšš›Ÿœ›žŸŸ£ ¤¡¢ž Ÿ¢¤¤¤¤¤§ ¡¢¡Ÿ˜——‹sf]QNKJHLPTZZZ[]\ZTNQS`k|˜¢¡¢ {ry}†“˜œœœŸ ¢£§¨©¥¤¢¡   ££¥¦§§©ª«­¯®¯­­­­­­©«©¨££¢¢¢§¤¦§ª¢¤¤§§©¥§©ª§¬­¬¬­­°±²²²²²°­«¬ª­®±««ªª«ª§¨§§££¡¤¥¥¥¤¢¥¦©«ªª§¦£žž›Ÿ¡¨«««««ªª±¨ªªª§§¥¨«¬§¨§¬©¨¤§¨¨©¨¦¥£¤¤¤¢¥¥§¨°§§¦¥¢¡  ŸžœžžŸ › —–’’“‘””—•’ŠŽ“”••“’Ž‹Ž‘“”‹‡‡ˆŠˆ‰‡Œˆ‰…†…އ„€ƒƒ„†‰‹ŽŽŽ‹Œ‹‹‹‹‰‰‹‡‰ˆ‡ƒ‚†‡†…‚~~|}~ƒ……„„‚‚‚†„„…„……‚}xxv~…ˆŠŽ‘‘’—•–—˜”–—————–“’‘’’“”•–˜ŒŒŒŒ“”“ŽŒŒ‡ŒŽŠ‘ŒŽŽŽ‘ŒŒŒ‰‡„ˆ‰ŒŒ‹ŒˆŠ‹Œ‹‰ƒ‹‰‰ˆ‹ŒŒŒŠ‹Œˆ‰ˆ‡‡ŠŠ‰†‰‰ŽŽŒ‰Ž‰ˆ„‡‡ˆ†ˆˆ‡„ƒ€…„‰‡‡ˆ––™›šœœ›œž™¡¢¢§§¨©¦£¢¡¡žŸŸšœ  £¡¢£¢žœœ›žžž›š•ŠŒŽ‘Œˆˆ‚€‚}uljee`klmmqsqfb^‹‹ŠŽŠŒŒ‰‰Œ’‘‘‘”˜˜žšŸ™š™œœ   ¡¢¢¢£ ¢žœš™šœŸ¡ž£¢£££¤¥¥¦¢Ÿ£¤¨¨¨¦¨¡¡ žžž””„yj]TKKJJMPWV[[\\\YURPTYgu†™ž«¤¨›™Œ‚~w{‡—›¤  ¡¡¢¨¨«¥§¢¡¡¥¢¨¨¦¥¥¨¯°·±µ°²¯µ´µ®µ­°©©¤§¨©©¨¦©§«¥§¨¯¨¨¦¦§ª©®®®¯´°·±µ´´±°¯­­¬¬³±³¯³ª¬¨©¦«§¨¢¦¤¤¥©¥©¨©ª±­°©¨¢ ¡¢¤§³²²ªªª««°«®¬¬©«ª¬¬¬©¬©­§¦§¨¨­­¬¦¦¥¨§§¦¦¥«¨²§¨¤¤£¢ ¤¡   Ÿ¢œ›ž–—‘““—•˜™š•’’˜–š•’‘ŒŽ™˜˜‰††ˆˆŒ‡ŽŒŽŽ‰‰‡ˆ…„‰ŠŒ‹‘‘’ŽŽŒŒ‹ŒŒŒŠˆ‡‹‡Žˆ‡‚†„……„‚‚}}„…‰†ˆ…Š…†…‡†…„…{wx}†„Œ‘”’“”˜—™˜™•————–•‘’’”“›—˜™™’’ŒŽ’Ž‘‘’‘““–Ž’‹‹‘‘‘”““’’•ސŒ‹‰‡†Œ‰ŽŽŠŒ‡Œ–Šˆ…ЉŒ’Ž’‰ŽŒŠŒˆˆŠŽŽŒŽ‘ŽŠŽ‰ˆ‡Œ‰‹†‡‡‡‡‡ƒ†„‰‰‡‹“•™šž¡Ÿœ ˜›Ÿ¤¡©¦£§ª¤¥£§¡¢¢¢¡ œ Ÿ£¢¦¤©¢£œŸ››™•••“™‘ŒŒ‘ˆ‡ƒ…xpjhedekklnvssjfe‹‹‹Œ‰‰‰ŒŒŠ‹’“—˜˜™˜——˜—›œ ™›š›œ¡žžžšššššœžžŸžŸ ¢¡£Ÿ žžžž¢Ÿ ¡£¢£££¡Ÿ›˜–†{nbVQIKLORUWVWYYXXUSRPZaqŽ¡  ž˜Š…Š‘˜›œœœ›š™Ÿ¢£¤¤¦¤£¡ ŸŸžžŸ§ª°²´¯°°±°³²´®­¬­¦¤¡§©©§§¥¥¥¥¥§¨©¦¨¦¦¦¨©¯¯¯¯°®¶±µ´±®®¬¬­®®¯¯¯¬ª©¨¥¥¦¦¤£¢¤£¥¥¥¦¦¦©¬¬ª©£¢žž¢¤¨«¯±±ªª¦¨©«¨ª©©§ª©«¨¨¨«©¨¤§¨¨¦¦§¨§¦¤¨¦¦¥¥¦©¨©¤¢ ž ž¤¢¢¡¡ ¡šš™ž–•’“”••™™š”’“˜–˜’“ŒŽŽŒŽŽŒ‹ƒ}€ƒ‡‰‹ˆŒŒŽŒŠ‰‡‡‡…„ŠŒŒŒ‘ŒŒ‹Šˆ‡†‰‹Œ‰Œ‰ˆ‡ˆ‡Šˆˆ‚‚€…ƒ‚‚‚‚€ƒ„††„…„‡„……………ƒyzv|†…†ˆ‘’“‘••˜™™˜˜”•——“”•”‘’”•˜––“’’’ŽŽ‘ŽŒ‘’’”Ž‹‹‹ŽŒ‘‘“‰‹‡‡‡ŠŠ‘Š‰ˆ‹‹ŽŠˆ…ˆˆŒŒŽŽ‹‰‹Š‹ˆˆ‰Š‹Ž‹Œ‹‹ŽˆŽ†ˆˆ‰‰‹†‡ƒƒ‚‚‚ƒ‚‚‚‡Œ“•™˜žžŸ›žœœšš—œž¡ –¢¤¤¤¢¢ ¢¢¡Ÿ ›››ŸŸ ¢¡¢ ž™››ž˜’”“”‘‘ˆ†„{pmgfdgjlmmpppmjhg
\ No newline at end of file
diff --git a/tutorial/tracking/model-based/keypoint/teabox.ppm b/tutorial/tracking/model-based/keypoint/teabox.ppm
new file mode 100644
index 0000000000000000000000000000000000000000..b20630a2d581c73b63e358e21c3892c4dbc9897f
--- /dev/null
+++ b/tutorial/tracking/model-based/keypoint/teabox.ppm
@@ -0,0 +1,5 @@
+P6
+# CREATOR: GIMP PNM Filter Version 1.1
+320 240
+255
+GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGNNNGGGNNNNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^^^^VVV^^^^^^^^^^^^^^^NNNNNNNNNNNNNNNNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVVVVVVVNNNVVVNNNNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEEEEEEEEEEEEEEEEGGGGGGGGGNNNGGGNNNGGGNNNGGGNNNGGGNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVVVVNNNVVVNNNVVVVVVNNNVVVVVVVVV^^^VVV^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^VVVNNNNNNNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVVVVVVVVVV^^^VVVVVV^^^VVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVV^^^^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^^^^^^^^^^fff^^^fffffffff^^^ffffff^^^fff^^^^^^fff^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^ffffff^^^fff^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^^^^^^^VVV^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVVVVNNNVVVNNNVVVNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGNNNNNNGGGNNNNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEGGGEEEGGGEEEEEEEEEEEEGGGNNNNNNNNNNNNGGGNNNNNNNNNGGGNNNNNNNNNGGGNNNGGGGGGGGGNNNGGGVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^VVVNNNNNNNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^ffffff^^^fff^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^ffffff^^^ffffff^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^^^^fff^^^^^^fff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVVVVVVVVVVV^^^VVVVVVVVVVVV^^^VVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVV^^^VVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNNNNNNNNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGGGGGGGGGGNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEENNNNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNEEE============EEEEEEEEEEEEGGGGGGNNNNNNNNNVVVVVVVVVVVVNNNVVVVVVVVVVVVVVV^^^VVV^^^^^^^^^^^^^^^fff^^^^^^^^^ffffff^^^VVVNNNNNNNNNVVVNNNVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^fff^^^ffffff^^^^^^^^^fff^^^^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^ffffff^^^ffffff^^^fff^^^fff^^^ffffff^^^ffffff^^^^^^^^^fff^^^^^^fff^^^^^^^^^^^^^^^fff^^^^^^^^^^^^fff^^^fff^^^fff^^^^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVV^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVNNNVVVNNNVVVNNNNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGEEEGGGGGGGGGEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNEEE===333333333333333333333333333333333333===EEEGGGVVVVVVNNNEEEEEEGGGGGGNNNVVVNNNNNNVVV^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^NNNNNNVVVNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVV^^^VVV^^^VVVVVVVVVVVV^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^fff^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^fff^^^^^^ffffff^^^^^^fff^^^ffffff^^^fff^^^fff^^^^^^^^^^^^fff^^^ffffff^^^ffffffffffff^^^fff^^^fff^^^fff^^^^^^fff^^^fff^^^ffffff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGGGGNNNGGGNNNGGGNNNGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGGGGGGGGGGEEENNNNNNNNNVVVVVVNNNVVVNNNGGG333===EEEGGGGGGEEE===333---""""""---===GGGVVVNNN333333===333EEEVVVNNNEEEVVV^^^^^^^^^fff^^^^^^fff^^^fff^^^^^^VVVNNNNNNVVVNNNVVVVVVNNNVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVV^^^VVV^^^VVVVVVVVVVVV^^^VVV^^^VVV^^^^^^VVV^^^VVV^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ffffff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^fff^^^fff^^^^^^fff^^^ffffff^^^fff^^^fff^^^^^^^^^^^^^^^fff^^^fffffffff^^^fff^^^ffffff^^^fff^^^fff^^^ffffffffffffffffff^^^ffffff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVVVV^^^VVVVVVVVVVVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVNNNVVVVVVVVVNNNNNNVVVNNNVVVVVVNNNVVVNNNNNNNNNNNNNNNVVVNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGGGGGGGEEEEEEEEEEEEGGGEEENNNVVVNNNNNNVVVVVVNNNNNNEEEEEEGGGNNNNNNNNNNNNNNNEEE333"""---EEENNNGGG333------333===VVVVVVGGGGGGVVVfff^^^fff^^^fffffffffffffff^^^NNNVVVNNNVVVVVVNNNVVVNNNVVVVVVNNNVVVVVVVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^fff^^^^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^^^^^^^fff^^^^^^fff^^^^^^ffffff^^^^^^^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^fff^^^fff^^^fffffffffffffff^^^fff^^^fff^^^fff^^^ffffffffffff^^^fff^^^fff^^^fff^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^ffffff^^^fff^^^fff^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVVVVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVNNNVVVNNNNNNVVVVVVVVVNNNNNNVVVNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGGGGEEEGGGGGGGGGEEEEEEEEEEEEGGGEEENNNVVVVVVVVVNNNVVVVVVNNNGGGVVVVVVVVVVVVVVVVVVVVVGGG333""""""333EEE333"""---"""---===VVV^^^VVVGGGVVVffffff^^^fffffffffffffffffffffNNNVVVVVVNNNVVVVVVNNNVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^fff^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^^^^^^^fff^^^^^^fff^^^^^^^^^fff^^^^^^fff^^^fff^^^fffffffff^^^^^^^^^^^^fff^^^fff^^^fff^^^^^^fff^^^fffffffffffffffffffff^^^fff^^^fffffffff^^^ffffffffffff^^^fffffffff^^^fff^^^fff^^^ffffff^^^fff^^^fffffffff^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^^^^VVV^^^VVV^^^VVVVVVVVV^^^VVVVVVVVV^^^VVV^^^^^^^^^VVV^^^VVVVVVVVVVVVVVVNNNVVVVVVVVVNNNVVVNNNVVVVVVVVVNNNVVVNNNNNNNNNVVVNNNNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEVVVNNNVVVVVVVVVNNNNNNNNNVVVVVVVVVVVVVVVVVVNNNGGG===---"""""""""""""""---EEEVVVNNNGGGEEE^^^^^^ffffffffffffffffffffffff^^^NNNVVVNNNVVVVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVV^^^VVVVVV^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fffffffff^^^fff^^^fff^^^^^^fff^^^^^^^^^fff^^^fff^^^ffffff^^^fff^^^fff^^^^^^fff^^^fff^^^^^^fff^^^^^^ffffff^^^fff^^^ffffff^^^fff^^^fff^^^fffffffffffffff^^^fff^^^fff^^^ffffff^^^^^^ffffff^^^fff^^^fff^^^fff^^^fff^^^ffffff^^^fff^^^^^^fff^^^fff^^^ffffff^^^fff^^^fff^^^fff^^^fff^^^^^^fff^^^fff^^^^^^^^^fff^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^VVVVVVNNNVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNNNNVVVNNNVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGNNNNNNGGGNNNGGGGGGGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGEEEGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEVVVVVVVVVNNNVVVVVVNNNNNNGGGNNNVVVVVVNNNNNN===---""""""""""""---===EEE======NNN^^^ffffffffffffffffffffffffppp^^^NNNVVVNNNVVVVVVNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^VVV^^^^^^VVVVVV^^^VVVVVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^fff^^^fff^^^^^^ffffff^^^fff^^^^^^fff^^^fff^^^fff^^^ffffff^^^fffffffff^^^fff^^^fff^^^ffffffffffff^^^^^^fff^^^ffffffffffffffffff^^^fff^^^ffffff^^^ffffffffffffffffff^^^fff^^^^^^fff^^^fff^^^^^^fffffffffffffff^^^ffffff^^^fff^^^ffffff^^^fffffffff^^^fff^^^fff^^^^^^fff^^^ffffff^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^fff^^^^^^VVV^^^^^^^^^VVV^^^VVV^^^VVV^^^VVVVVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVVVVNNNVVVVVVNNNVVVVVVVVVNNNNNNVVVNNNNNNNNNVVVNNNVVVNNNNNNNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGGGGNNNGGGGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEVVVVVVVVVVVVVVVVVVNNNEEEEEEEEEGGGGGGEEE---""""""333---""""""333---""""""---333EEEGGGNNNfffffffffffffffffffffffffffpppffffffNNNNNNVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^^^^VVV^^^^^^^^^^^^VVV^^^VVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^fff^^^^^^^^^^^^fff^^^ffffff^^^fff^^^ffffff^^^ffffff^^^fff^^^^^^^^^^^^^^^fff^^^fff^^^fffffffffffffff^^^fffffffff^^^fff^^^fffffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^fff^^^ffffff^^^fffffffff^^^fff^^^fff^^^ffffff^^^ffffff^^^ffffff^^^ffffff^^^fff^^^fffffffffffffff^^^fff^^^ffffff^^^fff^^^ffffff^^^fff^^^fff^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^VVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVNNNVVVVVVNNNVVVNNNVVVNNNVVVVVVNNNVVVVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGGGGNNNGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGGGGEEEGGGEEEEEEEEEVVVVVV^^^VVV^^^VVVNNNEEE===333===333""""""---333---===333===---"""------""""""333EEEGGGVVV^^^fffffffffffffffffffffpppfffpppfffppp^^^NNNNNNVVVNNNVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVV^^^VVV^^^VVVVVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^ffffff^^^fff^^^ffffff^^^ffffff^^^fffffffff^^^fffffffffffffffffffffffffffffffff^^^fff^^^ffffff^^^ffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^ffffffffffffffffffffffff^^^^^^ffffff^^^fffffffffffffff^^^ffffff^^^ffffff^^^ffffffffffff^^^ffffff^^^ffffff^^^fff^^^fff^^^ffffff^^^^^^^^^fff^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVVVVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVNNNVVVVVVNNNVVVNNNVVVNNNVVVNNNNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEE^^^VVVVVV^^^VVV^^^VVVEEE333------"""""""""""""""""""""---EEEEEE======GGGVVV^^^ffffffffffffpppfffpppfffpppffffffGGGNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^ffffff^^^fff^^^ffffff^^^ffffff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^fff^^^fff^^^fff^^^ffffffffffffffffff^^^ffffffffffffffffff^^^ffffffffffffffffffffffff^^^ffffff^^^ffffff^^^fff^^^fff^^^fffffffffffffff^^^fff^^^ffffffffffffffffff^^^fff^^^ffffff^^^ffffffffffff^^^ffffffffffffffffff^^^ffffff^^^fffffffff^^^^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEVVV^^^^^^^^^VVVVVVVVVEEE333---"""""""""""""""333333---""""""333NNN^^^ffffffpppfffpppfffppppppppp^^^NNNNNNNNNVVVNNNVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^VVV^^^^^^^^^^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^fff^^^fff^^^fff^^^ffffff^^^fffffffff^^^fff^^^ffffff^^^fff^^^fffffffffffffffffffffffffffffffff^^^fffffffffffffffffffffffffffffffffffffffffffffffffff^^^fff^^^fffffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^fffffffffffffffffffffffffff^^^ffffff^^^ffffff^^^fff^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^VVV^^^VVV^^^VVVVVVVVVVVV^^^VVV^^^VVV^^^VVVVVVVVVVVV^^^VVVVVV^^^VVVVVVVVVVVVNNNVVVVVVVVVVVVVVVNNNNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEVVV^^^VVV^^^^^^VVVVVVGGG===---"""""""""---""""""333EEE333"""---VVVpppfffpppfffppppppfffpppffffffGGGNNNVVVNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^VVVVVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^fff^^^fff^^^fff^^^ffffffffffff^^^fff^^^^^^fff^^^fff^^^ffffff^^^fff^^^fff^^^^^^fff^^^ffffffffffffffffffffffffffffffffffff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffffffffffffffffffffffffff^^^fffffffffffffffffffffffffff^^^fffffffff^^^fffffffffffffffffffff^^^fff^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^VVV^^^^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNGGGNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEGGGGGGGGGGGGGGGGGGGGGEEEEEEEEE^^^VVV^^^^^^^^^^^^VVVVVVGGG===""""""""""""EEEEEE---"""333EEEGGG---"""333^^^fffpppfffppppppppppppfffppp^^^GGGNNNNNNVVVNNNVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVVVVV^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fffffffff^^^ffffff^^^ffffffffffff^^^ffffff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff^^^fffffffffffffffffffffffffffffffffffffffffffffffffffpppfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff^^^fff^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^VVV^^^^^^VVV^^^^^^^^^VVVVVVVVV^^^VVVVVVVVVVVV^^^VVVVVVVVVNNNNNNVVVNNNVVVNNNVVVNNNVVVNNNNNNVVVNNNNNNNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGGGGNNNNNNGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG^^^^^^^^^^^^^^^^^^^^^^^^VVVNNN===------======"""""""""---===VVVGGG------======"""GGGfffpppfffpppfffpppppppppppppppfffGGGNNNVVVNNNVVVNNNVVVNNNVVVVVVNNNVVVNNNVVVVVVVVVVVV^^^VVVVVV^^^VVVVVV^^^^^^VVV^^^^^^VVV^^^VVV^^^VVVVVVVVVVVV^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fffffffff^^^ffffffffffffffffffffffffffffff^^^fffffffffffffff^^^fff^^^fffffffffffffffffffffffffff^^^ffffffffffffffffffffffffpppfffffffffffffffffffffffffffpppffffffffffff^^^ffffffffffffpppffffffpppfffffffffffffffffffffffffffpppfffffffffffffff^^^fff^^^ffffff^^^ffffffffffff^^^fff^^^ffffff^^^fff^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVVVVV^^^VVV^^^^^^VVV^^^^^^VVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNVVVNNNVVVNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGNNNGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG^^^^^^^^^^^^^^^^^^fff^^^^^^VVVVVV==="""333GGGGGG===333333EEEVVV^^^GGG---333---^^^pppfffpppppppppfffpppppppppffffffGGGGGGVVVNNNVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^VVV^^^^^^^^^VVV^^^^^^^^^VVV^^^VVV^^^^^^VVV^^^VVV^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^fff^^^^^^^^^^^^fff^^^fffffffff^^^ffffffffffffffffff^^^ffffffffffffffffffffffffffffff^^^fff^^^ffffffffffffffffffffffffffffffffffffffffffffffffpppfffffffffpppfffffffffppppppfffpppfffpppffffffffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffpppffffffffffffffffffffffff^^^fffffffffffffff^^^^^^ffffff^^^fff^^^fff^^^fff^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVVVVV^^^VVV^^^VVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNVVVVVVVVVNNNNNNNNNNNNVVVNNNNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGEEEEEEEEEGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEGGGGGGGGGGGGGGGGGGGGGEEEGGG^^^^^^^^^^^^fff^^^^^^^^^fff^^^^^^NNN---"""======EEE======EEENNN^^^^^^===GGGfffppppppfffppppppppppppppppppppp^^^GGGGGGNNNVVVVVVVVVNNNVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^^^^^^^VVV^^^VVVVVV^^^VVV^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^^^^fff^^^^^^fff^^^ffffffffffffffffff^^^fff^^^ffffff^^^ffffff^^^fffffffffffffff^^^ffffff^^^ffffffffffff^^^fffffffffffffffffffffffffffpppffffffffffffpppfffpppffffffffffffpppfffffffffffffffffffffffffffffffffpppfffffffffffffffffffffffffffffffffffffffffffffffffffpppffffffffffff^^^ffffff^^^fff^^^fffffffff^^^^^^^^^fff^^^^^^^^^fff^^^^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNGGGNNNNNNGGGNNNGGGNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEGGGGGGGGGGGGGGGGGGEEEEEEEEEGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG^^^^^^fff^^^^^^^^^^^^fff^^^fff^^^VVVEEE333333======EEEEEEGGGVVV^^^^^^333333^^^pppppppppppppppppppppppppppppppppfffEEEGGGNNNVVVNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^^^^^^^VVV^^^^^^^^^VVV^^^^^^VVV^^^^^^^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^^^^fff^^^ffffffffffff^^^fffffffffffffff^^^fff^^^fffffffffffffffffffffffffffffffffffffff^^^ffffffffffffpppfffffffffffffffpppfffffffffpppffffffffffffpppfffpppfffppppppfffpppfffpppffffffffffffffffffffffffffffff^^^ffffffpppffffffpppffffffffffffffffffffffffpppffffffffffff^^^fff^^^fffffffff^^^fffffffff^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVVVVVVVV^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNGGGNNNNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEEEEGGGEEEGGGGGGGGGGGGGGG^^^fff^^^ffffffffffff^^^fff^^^fff^^^VVVGGGEEE======EEEEEEGGGVVVVVV^^^NNNEEE"""===---"""NNNppppppfffpppppppppppppppppppppppppppfffEEEGGGNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^VVV^^^^^^VVV^^^^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^fffffffff^^^ffffff^^^fff^^^ffffff^^^fffffffffffffffffffff^^^fff^^^fff^^^ffffff^^^ffffffffffff^^^fffffffff^^^^^^ffffffffffff^^^fffffffffffffffpppfffpppfffpppfffffffffffffffffffffpppfffpppffffffpppfffffffffpppfffpppfffffffffffffffpppfffpppffffffffffffffffffffffffpppffffffpppfffffffffffffff^^^^^^ffffffffffff^^^fffffffff^^^^^^^^^^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNGGGNNNNNNGGGGGGNNNNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEGGGfffffffff^^^fff^^^fffffffffffffffffffff^^^VVVNNNGGGGGGNNNVVV^^^^^^fff^^^^^^GGG---333VVVNNNEEE===EEENNNpppfffppppppppppppppppppppppppppppppwwwfffEEEEEENNNNNNNNNVVVNNNVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^^^^^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^fff^^^fff^^^ffffff^^^fffffffffffffffffffffffffff^^^fffffffff^^^fff^^^fffffffffffffffffffffffffffffffff^^^ffffffffffffffffff^^^fffffffffffffffpppfffpppffffffpppffffffffffffpppfffpppfffpppffffffpppffffffffffffffffffpppfffpppffffffffffffpppfffpppfffffffffffffffffffffpppffffffffffffffffffffffff^^^ffffff^^^ffffff^^^fff^^^fff^^^fff^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNNNNNNNGGGNNNNNNGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGG^^^fffffffffffffffffffff^^^fffffffffffffff^^^fff^^^^^^fff^^^fffffffffffffff^^^NNNGGGVVVffffff^^^^^^ffffffppppppppppppppppppppppppppppppwwwwwwwwwfffEEEEEEGGGNNNVVVNNNVVVNNNVVVVVVVVVVVVNNNVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^^^^fff^^^fff^^^^^^fff^^^^^^fffffffff^^^ffffffffffff^^^ffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^ffffffffffffffffffffffffffffff^^^ffffffffffff^^^ffffff^^^fffffffffffffffpppfffpppffffffpppfffffffffpppfffpppfffpppfffffffffpppfffffffffpppfffpppfffpppfffpppffffffffffffffffffffffffpppfffffffffffffffffffffffffffffffff^^^fff^^^fffffffffffffff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^VVV^^^VVV^^^VVVVVV^^^^^^^^^VVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVNNNVVVVVVNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGGGGNNNGGGGGGNNNGGGNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGEEEEEEGGGGGGGGGEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEffffffffffffffffff^^^ffffffffffffffffffffffffffffffffffffffffffpppffffffffffff^^^ffffffppppppppppppppppppppppppppppppppppppppppppwwwpppwwwpppwwwfffEEEEEENNNNNNNNNNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^fff^^^fffffffff^^^ffffffffffffffffffffffffffffff^^^ffffff^^^fffffffffffffffffffffffffffffffffffffffffffff^^^ffffffffffffffffffffffffffffffffffffpppfffpppfffpppffffffpppffffffpppfffpppfffpppfffpppffffffpppffffffpppfffpppffffffffffffffffffffffffpppfffpppfffffffffffffffpppffffffffffff^^^ffffff^^^fff^^^fff^^^ffffffffffff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^VVV^^^VVV^^^VVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGNNNGGGNNNGGGGGGGGGNNNGGGGGGGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEfffffffffVVV^^^ffffffffffffffffffpppfffpppffffffpppfffffffffpppfffpppfffpppfffpppfffpppfffpppffffffpppppppppppppppppppppppppppwwwwwwwwwpppwwwwwwppp======GGGNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^^^^VVV^^^VVV^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^^^^ffffff^^^ffffff^^^ffffffffffffffffffffffffffffffffffff^^^ffffffffffffffffffffffffffffffffffffpppfffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffffffffffffffffffffpppfffpppfffpppfffpppffffffpppfffffffffffffffppppppfffpppffffffffffffffffffpppfffffffffffffffffffffffffffffffffffffffffffff^^^ffffff^^^fffffffffffffff^^^ffffff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^^^^VVV^^^VVVVVVVVVVVV^^^VVV^^^VVV^^^VVVVVVNNNVVVNNNVVVNNNNNNNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNNNNGGGNNNGGGNNNNNNGGGNNNGGGGGGGGGNNNGGGNNNGGGGGGGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffffffffGGGNNNffffffffffffpppffffffpppfffffffffffffffpppfffpppfffpppfffpppfffpppfffpppfffVVVVVVfffpppppppppwwwppppppwwwpppwwwwwwpppwwwwwwwwwpppfff======GGGNNNNNNNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVVVVV^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^fff^^^ffffff^^^ffffff^^^fff^^^^^^ffffff^^^ffffffffffff^^^ffffffffffffffffffffffffpppffffffffffffffffffffffffffffffffffffpppffffffpppffffffpppfffppppppfffpppfffpppfffpppfffpppffffffpppfffpppfffpppfffpppffffffpppfffpppfffffffffpppffffffffffffpppfffffffffffffffpppfffpppfffffffffffffffffffff^^^ffffff^^^ffffffffffffffffffffffffffffff^^^ffffff^^^^^^fff^^^fff^^^^^^^^^fff^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^^^^VVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNNNNNNNGGGNNNNNNGGGGGGNNNGGGGGGGGGGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGEEEEEEGGGEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffppp^^^===VVVfff^^^^^^^^^^^^fffffffff^^^^^^^^^fff^^^ffffff^^^^^^fffffffffpppffffffffffffGGGGGGpppppppppwwwppppppppppppffffffwwwwwwwwwwwwwwwwwwfff======GGGGGGNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^ffffff^^^fffffffff^^^ffffff^^^ffffff^^^ffffff^^^fff^^^fff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppfffpppfffpppfffpppffffffffffffpppfffppppppfffpppfffpppfffpppfffffffffpppfffpppfffpppfffffffffpppfffffffffffffffpppffffffffffffffffffffffffffffffffffffffffffffffffffffff^^^fffffffffffffff^^^fff^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVVVVVVVVVVVVVV^^^VVVVVV^^^VVVVVVVVVNNNVVVVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNGGGNNNGGGGGGNNNGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGEEEEEEEEEEEEEEEEEEffffff^^^===VVVVVVNNNVVVVVVNNNNNNfffVVVNNNVVVNNNGGGVVVfffNNNVVVVVVVVVNNN^^^fffVVVNNN^^^VVV===GGG^^^VVVppppppVVV^^^^^^^^^VVVpppwwwwwwwwwwwwwwwwwwfff======GGGNNNNNNNNNNNNNNNVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^ffffff^^^fffffffff^^^ffffff^^^^^^^^^^^^^^^fff^^^ffffff^^^ffffffffffff^^^fff^^^ffffffffffffffffffffffffpppfffffffffpppfffpppffffffffffffpppfffppppppfffpppfffpppfffppppppfffpppfffpppfffppppppfffppppppfffpppfffpppffffffpppfffpppfffpppfffpppffffffpppffffffpppfffffffffpppffffffffffffffffffpppffffffffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^fff^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVVVVV^^^VVV^^^VVVVVVVVV^^^VVVVVVVVVNNNVVVVVVVVVVVVVVVVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNNNNNNNNNNGGGNNNGGGNNNGGGGGGNNNGGGGGGGGGNNNGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEGGGEEEEEEEEEEEEEEEGGGGGGEEEEEEGGGEEEEEEEEEGGGGGGppppppVVV===NNNEEEVVVfff^^^GGGNNNVVVEEEVVVfff^^^EEEGGGNNNGGG^^^fffVVVEEE^^^NNNEEE^^^ffffffEEENNNVVVGGGfffVVVGGGfffpppfffpppwwwwwwwwwwwwwwwwwwwwwppp333===EEEGGGNNNNNNNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^ffffff^^^fff^^^ffffffffffff^^^fffffffff^^^fff^^^^^^fff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffpppffffffffffffpppffffffffffffpppfffppppppfffffffffpppffffffpppfffpppfffffffffpppfffpppfffpppfffpppfffpppffffffpppfffpppfffpppfffpppfffffffffffffffpppfffpppffffffpppffffffffffffffffffpppfffpppffffffffffffffffffffffffffffff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVNNNNNNVVVNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNGGGNNNGGGGGGGGGNNNGGGNNNGGGNNNGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEGGGEEEEEEEEEGGGEEEpppfffVVV===GGG===fffpppfffGGG^^^NNNGGGfffpppfffEEEGGGEEENNNppppppVVVEEE^^^EEEGGGpppppppppEEEGGGVVVEEE^^^EEEVVVwwwwwwwwwwwwwwwwwwwwwfff333333EEEGGGNNNNNNNNNNNNVVVVVVVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^VVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fffffffff^^^fffffffff^^^ffffff^^^^^^fff^^^^^^fff^^^ffffff^^^fffffffff^^^ffffffffffffffffffffffffpppfffffffffffffffpppfffffffffffffffffffffffffffpppfffpppffffffpppfffpppfffpppfffpppfffpppfffpppfffppppppfffpppfffpppfffpppfffpppfffffffffpppfffpppfffpppfffffffffpppfffpppffffffpppfffpppfffpppfffffffffpppffffffffffffffffff^^^fff^^^fff^^^ffffff^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVNNNVVVNNNNNNVVVNNNNNNNNNNNNVVVNNNNNNGGGNNNNNNGGGNNNNNNNNNGGGNNNNNNNNNGGGNNNGGGNNNGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGEEEEEEEEEGGGppppppNNNEEENNNGGGfffwwwNNNfffVVVVVVppppppfff===NNNEEENNNfffpppGGGGGG^^^===VVVppppppfffEEENNNNNNEEEVVVEEE^^^wwwwwwwwwwwwwwwwwwwwwppp333333GGGGGGNNNNNNNNNNNNVVVNNNVVVNNNVVVVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ffffff^^^ffffffffffffffffff^^^ffffff^^^ffffff^^^ffffff^^^fff^^^fffffffffffffffffffffffffffffffffffffffffffffffffffpppfffffffffffffffffffffpppfffffffffpppfffpppffffffffffffpppfffpppfffpppffffffpppfffpppfffpppppppppfffpppfffpppfffpppfffppppppffffffpppfffpppfffffffffffffffpppffffffpppffffffpppfffpppfffpppfffffffffffffffffffffffffffffffffffffff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^VVVVVV^^^VVV^^^VVVVVVVVVVVVVVVNNNVVVNNNVVVVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNNNNNNNGGGNNNNNNGGGNNNGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGppppppNNNNNNfffVVVfffpppNNNwwwwww^^^pppfffVVV===VVVVVVNNNfffpppEEENNNfffGGGNNNfffppp^^^===NNNNNNGGG^^^GGG^^^pppwwwppp^^^wwwfff333333EEEGGGGGGNNNNNNNNNNNNVVVNNNVVVNNNVVVNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fffffffff^^^fff^^^fff^^^ffffff^^^fff^^^fff^^^fff^^^fff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffpppffffffffffffffffffpppfffffffffffffffffffffpppffffffffffffpppfffpppfffpppfffpppfffpppffffffpppfffppppppfffpppfffppppppfffpppffffffpppffffffpppfffffffffffffffpppfffpppffffffpppffffffpppfffpppfffpppfffpppffffffffffffffffffffffffffffffffffff^^^^^^fff^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNVVVNNNNNNNNNGGGNNNGGGNNNNNNGGGNNNNNNNNNGGGNNNGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEGGGGGGGGGGGGGGGEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEpppppp^^^fffppppppppppppffffffwwwwwwffffffNNN===^^^fffffffff^^^NNN^^^ppp^^^^^^^^^^^^NNNEEE^^^VVVVVVpppVVVVVVffffffVVV^^^wwwwwwfff---333EEEEEEGGGNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^ffffffffffff^^^fff^^^ffffff^^^ffffffffffff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppffffffpppfffpppfffpppfffffffffpppfffpppfffpppfffpppfffpppppppppfffpppfffpppfffpppfffpppffffffffffffffffffffffffpppfffpppffffffpppfffpppfffpppfffffffffffffffffffffffffffffffffffffffffffffffffff^^^^^^^^^fff^^^^^^^^^^^^VVV^^^^^^^^^^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVVVVVVVVNNNVVVNNNNNNVVVVVVVVVNNNNNNNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNNNNNNNGGGNNNGGGNNNGGGGGGNNNGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGNNNGGGGGGEEEGGGEEEEEEGGGEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGpppppppppppppppppppppwwwfffpppwwwwwwpppfff^^^VVVGGGpppwwwppppppwwwpppwwwwwwppppppfffffffffppppppppppppwwwppppppppppppfffwwwwww^^^------===EEEGGGGGGGGGGGGNNNGGGNNNNNNNNNNNNNNNNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^fff^^^ffffff^^^^^^fff^^^^^^ffffff^^^ffffff^^^^^^fff^^^fff^^^fffffffff^^^fff^^^fff^^^ffffffffffffffffff^^^fffffffffffffffffffffffffffffffffffffffffffffffffffpppffffffffffffpppfffpppffffffpppfffpppfffpppfffpppfffppppppffffffppppppfffpppfffpppfffpppfffffffffffffffffffffffffffpppfffpppfffpppfffpppfffpppfffffffffpppffffffffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGNNNNNNGGGNNNGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEGGGEEEEEEEEEEEEGGGEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGGGGGGGppppppwwwpppwwwwwwppppppppppppwwwwwwpppfffppp^^^fffwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww^^^------======EEEEEEGGGGGGGGGGGGGGGGGGNNNGGGNNNNNNNNNNNNNNNVVVNNNNNNNNNVVVNNNNNNVVVNNNVVVNNNNNNNNNVVVVVVVVVVVVVVVVVV^^^VVVVVV^^^VVVVVV^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^^^^ffffffffffffffffff^^^^^^^^^^^^^^^^^^ffffff^^^fff^^^fffffffffffffffffffffffffffffffffffffffffffffpppffffffffffffffffffffffffpppffffffpppfffpppfffpppfffffffffffffffpppfffpppfffpppfffpppfffppppppfffpppfffpppffffffffffffppppppffffffffffffffffffffffffpppfffpppfffpppfffpppfffpppfffffffffffffffpppffffffffffffffffffffffffffffff^^^fff^^^^^^fff^^^fff^^^^^^^^^^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^VVVVVVVVVNNNVVVNNNVVVNNNVVVNNNVVVVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGNNNGGGNNNGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGGGGGGGpppppppppppppppppppppppppppwwwpppppppppwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww’jj¼@@äú��ú��ú��ú��†††^^^""""""333======EEEEEEEEEEEEGGGGGGGGGEEEGGGGGGGGGGGGNNNGGGNNNNNNNNNNNNNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^fff^^^fff^^^fff^^^^^^fff^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^ffffffffffffffffffffffff^^^fffffffffffffffffffffpppffffffpppfffpppfffpppfffpppffffffpppffffffpppfffpppfffpppfffpppffffffpppfffffffffpppfffpppfffffffffpppfffpppffffffffffffpppfffpppfffpppfffpppfffpppfffpppffffffffffffffffffffffffffffffffffffffffff^^^fff^^^fff^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^VVVVVVVVVVVVVVV^^^VVVVVVVVVVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNGGGNNNGGGNNNGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEE^^^fffffffffffffffffffffffffffppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwú��ú��ú��ú��ú��ú��ú��††††††VVV"""---===============EEE===EEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^^^^^^^^^^^^^^^^^^^fff^^^ffffffpppwww‘‘‘––––––†††www^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^ffffff^^^fff^^^ffffffffffffffffff^^^fff^^^ffffffffffff^^^fff^^^fffpppfffpppfffpppfffpppffffffffffffpppfffpppffffffffffffpppfffffffffppppppffffffpppffffffpppfffpppffffffpppffffffpppfffpppffffffpppfffpppfffpppfffpppfffffffffpppfffpppffffffpppffffffffffffffffff^^^ffffff^^^fff^^^ffffff^^^^^^^^^^^^^^^VVV^^^VVVVVV^^^^^^VVV^^^VVVVVVVVVVVVVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGNNNGGGGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGNNNGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEGGGEEEEEEEEEEEEEEEEEEGGGEEEGGGEEEGGGEEEEEEEEE^^^^^^fff^^^ffffffffffffffffff^^^ffffff^^^fffffffffffffffpppfffppppppppppppppppppppppppppppppwwwã´88Œccú��ú��ú��ú��wwwwwwwwwwwwwwwVVVEEEGGGGGGNNNNNNNNNGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEGGGGGGGGGGGGGGGNNNGGGNNNNNNNNNNNNNNNVVVVVVVVVVVV^^^^^^fffpppwww†††‘‘‘‘‘‘–––ªªª°°°¶¶¶¶¶¶ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇǰ°°‘‘‘ppp^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^ffffff^^^fffffffff^^^fff^^^ffffff^^^ffffff^^^fff^^^fffffffffpppfffpppfffffffffffffffpppffffffffffffpppffffffpppfffpppfffpppfffpppfffpppffffffppppppfffpppfffpppfffpppfffffffffpppfffpppfffffffffpppfffpppfffffffffffffffpppfffpppfffffffffffffffffffff^^^ffffff^^^fff^^^ffffff^^^^^^^^^VVV^^^VVV^^^VVV^^^VVVVVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEffffff^^^fff^^^^^^fff^^^fff^^^ffffffffffffffffffffffffffffffpppffffffffffffpppffffffpppppppppfffpppppppppú��ú��ú��ú��pppppppppfffppppppfffpppfffVVVVVVú��ú��^^^^^^fff^^^fff^^^^^^^^^^^^VVVVVVVVVVVVVVVNNNNNNNNNGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGGGGGGGNNNNNNVVV^^^fffwww‘‘‘   ªªª°°°¶¶¶ÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÇÇÇÇÇǰ°°†††ppp^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^^^^^^^^^^^^^fff^^^fff^^^fffffffffffffffffffffffffffffffffpppfffffffffpppffffffffffffffffffffffffpppfffpppfffpppfffpppffffffpppffffffpppffffffpppfffpppfffpppfffpppfffpppffffffpppfffpppffffffffffffffffffpppfffpppffffffffffffffffff^^^ffffffffffff^^^fff^^^^^^^^^VVVVVV^^^VVVVVV^^^VVVVVVVVV^^^VVVVVVVVVVVVVVVVVVNNNNNNNNNVVVNNNVVVNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^ffffff^^^fff^^^ffffff^^^ffffffffffff^^^ffffffffffffffffffffffffffffffffffffpppfffpppfffpppppppppppppppú��ú��ú��ú��wwwppppppwwwpppppppppppppppffffffú��ú��pppfffpppfffppppppfffpppfffpppppppppfffpppfffffffffffffff^^^^^^VVV^^^VVV^^^^^^^^^fffppp†††   ªªª°°°ÁÁÁÇÇÇÎÎÎÎÎÎ×××ÎÎÎ×××ÎÎÎ××××××ÎÎÎ×××ÎÎÎ××××××××××××ÎÎÎ×××ÎÎÎÎÎÎÎÎÎÎÎÎ××××××ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÇÇǰ°°†††fff^^^^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fffffffffffffffpppffffffffffffffffffffffffffffffpppffffffpppfffpppfffppppppfffpppfffffffffpppffffffpppfffpppfffpppfffpppfffpppfffpppfffpppfffpppffffffffffffpppfffffffffffffffpppffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^^^^^^^^^^VVV^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEGGGEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfff^^^fff^^^fff^^^fffffffff^^^ffffff^^^ffffff^^^ffffffffffffpppfffffffffffffffpppfffppppppfffppppppppppppú��ú��ú��ú��pppwwwpppwwwwwwwwwpppwwwppppppfffú��ú��fffpppppppppppppppppppppppppppppppppwwwpppwwwwwwpppwwwwww†††–––   ªªª°°°¶¶¶ÇÇÇÎÎÎ×××ßßß×××ßßß×××ßßß×××××××××××××××××××××ßßß××××××××××××××××××××××××××××××ÎÎÎ××××××ÎÎÎ×××ÎÎÎÎÎÎ××××××××××××××××××ÎÎÎÎÎÎÁÁÁªªª^^^VVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fffffffffffffffffffffffffffffffffffffffpppfffffffffffffffffffffffffffpppffffffpppffffffffffffpppfffpppfffffffffpppfffpppfffpppfffppppppfffpppfffpppfffffffffpppfffffffffffffffpppfffffffffffffffffffffffffffffffff^^^ffffff^^^^^^^^^^^^^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGGGGNNNNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEGGGEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^fffffffffffffff^^^fff^^^fff^^^fffffffffffffffffffffffffffffffffpppfffpppffffffppppppfffpppfffpppppppppú��ú��ú��ú��pppwwwwwwwwwwwwwwwwwwwwwpppppppppú��ú��pppppppppppppppppppppwwwpppwwwwww‘‘‘–––ªªª°°°ÁÁÁÁÁÁÎÎÎ×××ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß×××ßßßßßßßßß××××××××××××××××××ÎÎÎÎÎÎÁÁÁ¶¶¶–––   ÁÁÁÇÇÇÎÎÎ×××××××××××××××××××××ÎÎÎÇÇǶ¶¶   pppVVVNNNNNNNNNVVVNNNVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^ffffffffffffffffff^^^^^^^^^^^^ffffffffffffffffffpppffffffffffffffffffpppffffffpppffffffffffffffffffpppfffpppfffpppfffpppfffpppfffppppppfffffffffpppfffpppffffffpppfffpppffffffffffffffffffffffffpppffffff^^^fff^^^fff^^^fff^^^^^^^^^^^^VVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGGGGEEEGGGEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEGGGEEEEEEEEEEEEEEEGGGEEEGGGEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfff^^^fff^^^fff^^^fffffffffffffffffffffffffffffffffffffffffffffpppffffffpppfffppppppfffppppppppppppppppppú��ú��ú��ú��wwwwwwwwwwwwwwwwwwwwwwwwwwwpppfffú��ú��pppppppppwwwwww†††‘‘‘   ªªª¶¶¶ÇÇÇÎÎÎ×××ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß×××ßßßßßßßßß×××ßßßßßßßßßßßß×××××תªª†††fffVVVNNNfffppp   ¶¶¶ÎÎÎÎÎÎ××××××××××××××××××ÎÎÎÁÁÁªªªwwwVVVGGGGGGNNNNNNGGGNNNNNNNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppfffpppfffpppfffpppffffffpppfffpppfffffffffpppffffffpppfffffffffpppffffffffffffffffffffffffffffff^^^ffffff^^^fff^^^^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNNNNVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEffffffffffff^^^ffffff^^^fffffffffffffffffffffpppffffffffffffpppfffpppfffpppfffpppppppppppppppppppppppppppú��ú��ú��ú��wwwwwwwwwwwwwwwpppú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ÇÇÇ×××ßßß×××ÁÁÁÁÁÁÇÇÇÇÇÇÎÎÎßßßßßßßßßßßßÎÎÎ×××ßßßßßßßßßßßßçççßßßçççßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß××××××ÇÇǶ¶¶–––pppVVVGGG===EEE^^^pppffffffppp†††°°°ÎÎÎ××××××ßßßÎÎÎÇÇÇÎÎÎÎÎÎÇÇǰ°°†††NNNEEEEEEGGGNNNGGGGGGNNNGGGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^fff^^^ffffffffffffffffffffffffffffffpppfffpppfffpppfffpppfffffffffffffffpppffffffpppfffpppfffpppffffffffffffffffffpppffffff^^^fff^^^fffffffff^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVVVVVVVVVVVVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGEEEEEEGGGEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^fff^^^ffffff^^^fffffffffffffff^^^fffffffffffffffffffffffffffpppfffpppfffpppfffpppfffpppfffppppppppppppú��ú��ú��ú��wwwpppwwwpppwwwwwwú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ßßßßßßçççßßß¶¶¶†††–––www‘‘‘ÎÎÎßßßßßßÇÇÇ   ÁÁÁ×××çççßßßßßßçççßßßçççßßßçççßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßÎÎζ¶¶   fffNNNEEE===333=========------333===NNNwww‘‘‘wwwwww†††ªªªÎÎÎ×××ßßß×××ÎÎÎÇÇÇÇÇÇÁÁÁ°°°–––NNN======GGGVVVVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNNNNNNNVVVNNNVVVVVVNNNVVVVVVNNNVVVVVVVVVVVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ffffff^^^ffffff^^^fffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppfffpppfffffffffffffffffffffffffffffffffffffff^^^^^^^^^^^^fff^^^^^^^^^^^^VVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGEEEEEEEEEEEEEEEEEEGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffpppffffffpppfffpppfffpppfffpppfffpppppppppú��ú��ú��ú��wwwpppwwwpppwwwpppwwwwwwpppwwwpppú��ú��ÇÇÇççççççççççççççççççßßßßßßçççÇÇÇppppppfff‘‘‘×××çççßßßÎÎΪªª–––ÎÎÎßßßßßßßßßçççßßßçççßßßßßßçççßßßçççßßßçççßßßßßßßßßÁÁÁ   wwwNNN===333333---333333333333333333==================GGG^^^www†††††††††¶¶¶××××××ßßß××××××ÎÎÎÁÁÁ°°°–––NNN===333GGG^^^ppppppfffffffff^^^^^^^^^VVVVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVVVVVVVVVVNNNVVVVVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^ffffffffffff^^^ffffffffffffffffffffffffffffffffffffpppfffpppffffffffffffffffffffffffffffff^^^fff^^^^^^fff^^^^^^^^^^^^^^^VVV^^^VVVVVVVVVVVVVVVVVVNNNVVVNNNNNNNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNGGGGGGNNNGGGNNNGGGNNNGGGGGGGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEE^^^fff^^^fff^^^fff^^^ffffffffffffffffffffffffffffffffffffpppffffffpppffffffpppfffpppfffpppfffpppfffppppppú��ú��ú��ú��pppwwwpppwwwpppwwwpppwwwwwwppppppú��ú��VVVÁÁÁçççççççççßßßçççççççççßßßßßß‘‘‘VVV^^^ffffffÁÁÁßßßçççßßßÎÎΪªª†††ÇÇÇßßßßßßßßßççç×××ÎÎÎÇÇÇÎÎÎ××××××ßßßßßßßßß¶¶¶wwwGGG333---------------===GGGNNNNNNVVVNNN^^^pppppppppfff^^^^^^^^^VVVVVVppp‘‘‘‘‘‘†††ªªªÎÎÎßßßßßßßßß×××ÎÎΰ°°ªªª–––VVV===333===NNNpppwwwwwwwwwwwwwwwpppwwwpppfffpppffffff^^^^^^VVVVVVVVVVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^fff^^^fffffffffffffffffffffffffffffffffffffffffffffffffff^^^fff^^^^^^fff^^^^^^^^^^^^^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^fff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppffffffpppfffpppfffppppppppppppfffú��ú��ú��ú��pppwwwpppwwwwwwpppwwwwwwpppwwwpppú��ú��===NNN–––×××ççççççççççççççççççßßß°°°^^^wwwwww†††ÎÎÎßßßçççßßßßßßÎÎÎÎÎÎÁÁÁ×××çççßßß×××ÇÇÇÇÇÇÇÇÇÇÇÇÎÎÎ×××××ב‘‘NNN===333333333===333333333===GGGfff††††††‘‘‘–––ªªª   ‘‘‘wwwpppfff^^^fffVVVVVVfffpppppp†††°°°×××ßßßßßßßßßßßß×××°°°ªªª–––GGG333333===EEE^^^wwwwwwwwwwwwwwwpppppppppfffffffff^^^^^^VVVVVVVVVVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ffffffffffff^^^fff^^^^^^^^^fff^^^fff^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^VVV^^^^^^VVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGNNNGGGGGGNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^fff^^^fff^^^fffffffff^^^fffffffffffffffffffffpppffffffpppfffffffffffffffpppfffpppfffpppfffpppú��ú��ú��ú��ú��ú��ú��ú��ú��ú��pppwwwwwwwwwpppwwwwwwwwwú��ú��===EEEGGGwwwÎÎÎïïïçççççççççççççççÇÇÇ‘‘‘^^^pppppp–––ÇÇÇççççççßßßçççßßßÎÎΪªª°°°ßßßçççßßßßßßçççßßßçççßßßÇÇÇfffVVVGGGEEEGGGVVV^^^^^^VVV^^^NNNGGGGGGNNN^^^fff^^^fffppppppppppppfffNNNGGGNNNfffpppfffppp‘‘‘°°°×××ßßßßßßßßßßßß×××ÎÎΰ°°†††GGGGGGVVVNNNGGGNNNfff††††††††††††††††††wwwwwwwwwwwwppppppffffffffffff^^^VVVVVVVVVNNNVVVVVVNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNVVVNNNNNNVVVNNNVVVVVVVVVVVV^^^VVV^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGGGGGGGGGGNNNGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGEEEGGGEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEGGGEEEGGGEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEffffff^^^fffffffffffffffffffffffffffffffffffffffffffffpppffffffpppfffpppffffffpppfffpppfffppppppú��ú��ú��ú��ú��ú��ú��ú��ú��ú��wwwpppwwwwwwwwwwwwwwwwwwú��ú��===EEEGGGNNNfff   ßßßçççççççççççççççßßßÎÎÎpppffffffNNNwwwÎÎÎßßßçççççççççßßßßßß×××ÇÇÇÎÎÎßßßçççßßßçççßßßßßßÇÇÇ‘‘‘ppp^^^VVVppp–––‘‘‘–––pppGGGNNNNNNVVVNNNVVVEEEVVVwww–––ªªª°°°   www^^^GGGEEEGGG^^^^^^^^^pppppp¶¶¶××××××ÎÎÎÎÎÎÎÎÎÇÇǰ°°–––ffffffffffff^^^VVVGGGGGG^^^ppp†††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwppppppffffffffffff^^^^^^VVVVVVVVVVVVVVVVVVNNNNNNNNNNNNNNNNNNNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVV^^^VVV^^^^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^^^^^^^^^^VVV^^^VVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNVVVNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^ffffffffffff^^^ffffffffffffffffffffffffffffffpppfffffffffffffffffffffpppfffppppppfffpppfffppppppfffpppppppppwwwpppwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwfff===EEEGGGVVVNNNVVVÎÎÎçççççççççççççççßßß×××–––VVVVVVVVVpppÁÁÁßßßßßßçççççççççßßßÎÎΪªª¶¶¶ßßßßßßçççÎÎÎ××××××ÎÎΖ––‘‘‘††††††–––°°°ÁÁÁÁÁÁfffNNNGGGEEEGGG^^^^^^GGG†††¶¶¶ÇÇÇÎÎÎÎÎΠ  ppp^^^===GGGppp^^^fff‘‘‘†††wwwwww‘‘‘¶¶¶×××ÁÁÁªªª––––––‘‘‘†††pppfffNNNGGGEEE333333333EEE^^^www††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwwwwpppfffffffffffffff^^^VVVVVVVVVVVVVVVNNNVVVNNNNNNVVVNNNVVVNNNVVVNNNNNNVVVNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNNNNNNNNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGGGGNNNGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEfff^^^fff^^^ffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppfffpppfffpppfffppppppfffppppppppppppppppppppppppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwfff===EEEGGG^^^NNNGGGVVVpppªªªßßßçççççççççççççççÇÇÇfffGGG^^^fffwwwÇÇÇççççççççççççççççççßßßÎÎΰ°°ÇÇÇßßßßßßçççççç××××××××××××ßßßßßß×××ßßß°°°†††wwwfffVVVNNNwww–––   –––‘‘‘pppNNNEEE===EEENNNfffwww‘‘‘fffpppfff–––   ‘‘‘pppwwwfffVVV^^^fffVVVGGG------------333333EEE^^^††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwppppppffffffffffff^^^VVVVVVVVVVVVNNNVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNVVVVVVVVVVVVNNNVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNGGGNNNGGGNNNGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEfff^^^fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppfffpppfffpppfffpppfffppppppppppppwwwpppwwwwwwpppwwwwwwwwwwwwwwwwwwppp===EEENNN^^^^^^VVVVVVfff^^^†††ÎÎÎçççßßßçççççççççÎÎΖ––fff‘‘‘–––   –––ÎÎÎçççßßßççççççççç×××ÎÎΪªªªªªÎÎÎççççççßßßçççßßßçççßßßçççÎÎΪªªªªª¶¶¶ÎÎΪªªwwwwwwpppVVVVVVVVVNNNGGG===EEE   ªªª   ªªª‘‘‘‘‘‘‘‘‘wwwpppppppppffffffpppppppppwwwffffffVVVNNNVVV^^^VVVGGGEEE===---------333333333EEE^^^www†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwpppppppppffffff^^^^^^^^^VVVVVVVVVVVVVVVNNNVVVNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNNNNNNNNNGGGNNNGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEE^^^fffffffffffffffffffffffffffffffffpppfffffffffffffffffffffpppfffpppfffpppfffpppfffpppfffppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwwwwwwwwwwppp===EEENNNfffpppffffffVVVNNNVVVppp¶¶¶ßßßççççççççççççßßß¶¶¶–––fffVVVVVVfff°°°ßßßççççççççççççççç×××¶¶¶ªªª°°°ßßßççççççççççççççççççÎÎΖ––‘‘‘–––‘‘‘‘‘‘–––‘‘‘‘‘‘wwwpppwwwwwwwww   ÎÎÎçççßßßçççßßßßßß×××ÁÁÁªªªªªª¶¶¶ªªª   ‘‘‘††††††wwwppp^^^VVV^^^fffVVVNNNGGG===------------333333333333EEE^^^www†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwppppppfffffffffffffff^^^^^^VVVVVVVVVNNNNNNNNNGGGGGGNNNGGGNNNGGGGGGGGGGGGNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGEEEEEEEEEEEEEEEEEEffffffffffffffffffffffffffffffffffffffffffffffffffffffpppffffffpppfffpppfffpppfffpppfffppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwwwwwwwppp===EEENNNfffpppfffffffffNNNNNNNNNfff‘‘‘ÎÎÎççççççççççççççç××׆††^^^ppp   ßßßçççççççççççççççççç×××¶¶¶ªªªÎÎÎçççßßßççççççßßß××××××¶¶¶°°°°°°ÇÇÇ××××××ßßßßßßßßßßßßßßßßßßçççççççççççççççççççççççççççßßßßßßßßßçççÎÎÎ×××××××××ÎÎΠ  pppfff^^^ffffffffffff^^^VVVGGG===333333333=========333333333333EEE^^^††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwwwwwwwwwwppppppffffff^^^NNNNNNNNNGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEGGGGGGEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffffffff^^^fffffffffffffffffffffpppffffffffffffffffffffffffpppfffpppfffpppfffpppfffppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwwwwwwwpppEEEEEENNNfffpppffffffffffffVVVNNNNNN^^^www¶¶¶ßßßççççççççç××ב‘‘VVV===EEENNNwww¶¶¶°°°×××çççççççççççççççßßßÎÎζ¶¶ÎÎÎ×××çççççççççÎÎÎÇÇÇÎÎÎÁÁÁ   –––   °°°ÁÁÁ×××ßßßçççççççççççççççççççççßßßççççççßßßççççççççççççççççççßßßçççßßßßßß–––wwwwwwwwwppppppffffffVVVNNNGGGGGGGGGGGGVVVVVV^^^VVV===---333333333===GGGfff†††‘‘‘†††‘‘‘†††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwwwwpppppp^^^NNNGGGEEEGGGGGGGGGGGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^fffffffffffffffffffffpppffffffffffffffffffpppffffffpppfffpppfffppppppfffppppppppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwwwwpppEEEEEEGGGNNNffffffpppppppppffffffVVV^^^NNNfffªªªßßßççççççßßßÎÎΪªªGGG===NNNwww‘‘‘ªªªÇÇÇÇÇÇ×××ççççççççççççççççççßßßÁÁÁÇÇÇßßßçççßßßßßßßßß¶¶¶‘‘‘fffNNNGGGVVV†††ßßßççççççççççççççççççççççççççççççççççççççççççççççççßßßçççßßßÇÇÇ   pppVVVVVVppppppfff^^^VVVVVVGGGEEE333333GGGffffffpppNNN333---===333EEEGGGNNNNNNfffppp†††‘‘‘†††‘‘‘†††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††‘‘‘††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwwwwwwwwwwwwwfffGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEffffffffffffffffffffffffffffffffffffffffffffffffpppfffppppppfffpppfffppppppppppppppppppppppppppppppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppGGGGGGNNNNNNNNN^^^pppppppppwwwppp^^^VVVNNNNNN^^^‘‘‘ÎÎÎßßßççççççßßß¶¶¶¶¶¶ÇÇǰ°°°°°°°°°°°VVV–––ßßßçççççççççççççççÎÎΠ  ªªª×××ççççççßßßÇÇǰ°°ªªª°°°¶¶¶°°°¶¶¶ßßßçççççççççççççççççççççççççççççççççßßßçççççççççççççççßßßßßß   fff^^^^^^^^^fffppp^^^GGGEEEGGGGGG333---"""333333=========EEEppp^^^VVVfffppp^^^fff^^^fffppp‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††‘‘‘††††††‘‘‘†††††††††††††††‘‘‘†††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwwwpppVVV======EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^ffffff^^^fffffffffffffffffffffpppffffffpppfffpppfffpppfffpppppppppfffpppppppppppppppppppppwwwppppppwwwwwwwwwwwwwwwGGGGGGGGGNNNNNNNNNVVVfffpppppppppfffppp^^^VVVNNNVVVppp   ×××çççïïïççççççßßßwww^^^–––¶¶¶ÁÁÁ¶¶¶ÁÁÁ×××ßßßßßßßßßççççççßßß¶¶¶      ßßßççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççßßßßßßßßßÎÎÎÁÁÁªªª†††ppppppwwwwwwpppwwwppp^^^NNNGGG===---"""""""""""""""333NNN^^^‘‘‘ppp^^^VVVVVV^^^VVVNNN^^^fffpppwww††††††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††‘‘‘†††‘‘‘††††††††††††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwfffEEE333333======EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffffffffffffffffffffffffffpppfffffffffffffffpppfffpppppppppppppppppppppppppppppppppwwwwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwGGGGGGNNNNNNNNNNNNNNNVVVwwwppppppwwwwwwwww^^^VVVVVVNNN^^^wwwÇÇÇçççïïïçççççççççÎÎÎÎÎÎçççççççççÎÎΰ°°fff†††‘‘‘ÎÎÎßßßçççßßß×××ÎÎÎßßßßßßßßßççççççççççççççççççççççççççççççççççççççççççççççççççççççççççççßßßßßßÇÇÇ–––†††††††††wwwNNN===VVVppp^^^pppwwwwwwwwwfff^^^NNN===---""""""""""""---333EEENNNpppfffVVVEEE=========EEEEEENNNVVVffffffwww‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††‘‘‘†††‘‘‘††††††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwGGG333333===============EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEffffffffffffffffffffffffffffffffffffpppfffpppfffppppppfffppppppppppppppppppppppppwwwpppwwwwwwwwwpppwwwwwwwwwwwwwwwGGGNNNNNNNNNNNNNNNNNNNNNVVV^^^wwwwwwwwwwwwwwwfffNNNVVVNNNfff–––×××ïïïïïïçççïïïçççççççççççç×××¶¶¶   ‘‘‘‘‘‘pppªªª×××ççççççççç×××¶¶¶ÁÁÁßßßççççççççççççïïïçççççççççççççççççççççççççççççççççßßßÁÁÁ   ‘‘‘†††pppNNN333333^^^†††^^^pppwwwpppfffpppVVVEEE===333333333---"""------333===333333GGGEEE333333======EEEGGGNNN^^^fffppp†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††www^^^------333333===============EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEE===EEEEEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEffffffffffffffffffpppfffpppfffpppfffppppppfffppppppppppppppppppppppppppppppwwwwwwwwwwwwpppwwwwwwwwwwwwwwwwww††††††GGGNNNVVVNNNNNNNNNVVV^^^NNNVVV^^^pppwwwpppwwwpppVVVVVVVVVVVV^^^www¶¶¶ïïïïïïçççïïïçççïïïçççççççççßßß¶¶¶   –––   ¶¶¶   ppp°°°çççççç×××ÎÎÎßßßççççççïïïçççççççççïïïççççççççççççççççççççççççßßßÁÁÁpppfff†††††††††††††††–––   ‘‘‘^^^www‘‘‘†††pppVVV†††pppppppppVVVNNNGGGNNNNNNEEE333""""""""""""""""""===NNNEEE=========333333======EEENNN^^^ppp‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††fff==="""---333=====================EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffffffffffffffffffffffffffpppfffpppppppppppppppppppppppppppppppppwwwwwwwwwpppwwwwwwwwwwwwwwwwwwwwwwww††††††NNNNNNNNNVVVVVVVVVppp^^^NNNNNNVVVVVVfffwwwpppVVVVVVNNNVVVVVV^^^fff‘‘‘×××ïïïïïïïïïçççïïïçççïïïçççççççççßßßÇÇÇ   ¶¶¶çççççççççççççççççççççççççççïïïçççççççççççççççççççççßßß××××××ÇÇÇÎÎÎÎÎÎÎÎÎçççßßßÎÎÎÁÁÁÁÁÁ××××××ßßßÇÇÇ‘‘‘††††††wwwNNNpppwwwfffwwwwww^^^^^^VVVVVVGGGEEE======---------------GGG^^^^^^NNNEEE333333333333333===EEEGGGVVVfffppp†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††wwwEEE""""""333===333==================EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffffffffpppfffppppppfffpppfffpppfffppppppppppppppppppppppppwwwppppppwwwwwwwwwwwwwwwwwwwwwwwwwww††††††NNNNNNVVVNNNVVV^^^wwwfffVVVNNNNNNNNNVVVppppppwwwwwwVVVVVVVVVVVVVVVVVVVVV^^^wwwÁÁÁçççïïïïïïçççïïïçççïïïçççççççççÎÎÎÇÇÇ      ßßßççççççççççççççççççççççççççççççßßßßßß×××ßßß×××ÎÎÎÎÎÎÇÇÇÁÁÁ°°°°°°ÎÎÎ××××××ßßßççççççßßßßßßççççççççççççßßßÇÇÇ‘‘‘fffVVV–––^^^ffffff^^^fffffffffVVVGGGGGGGGG===GGGGGGGGGGGG^^^†††^^^NNNNNNEEE333===333333======EEENNNVVVfff†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††††††††††††††‘‘‘†††††††††††††††††††††VVV---"""---=================================EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE=========EEEEEE===EEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEffffffffffffpppffffffpppfffppppppppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww††††††††††††††††††VVVNNNVVVVVVVVVfffppppppfffVVVVVVfff^^^VVVVVVpppwwwVVVVVVVVVVVVVVVVVVVVV^^^VVVfff‘‘‘×××ïïïïïïïïïçççççççççççççççççççççßßß×××ßßßßßßßßß××××××ÎÎÎÇÇÇÁÁÁ¶¶¶°°°°°°¶¶¶ÎÎÎßßßßßßßßß×××ßßßÇÇǪªª–––      ––––––   ×××çççççççççÎÎÎÇÇÇßßßççççççççç×××¶¶¶‘‘‘––––––wwwpppfffpppfff^^^VVVVVVNNNVVVGGG^^^^^^VVVGGGGGGNNNfffwwwpppfffGGG===333333===333333======GGGVVVfffwww‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘†††‘‘‘†††††††††††††††‘‘‘††††††††††††††††††ppp333"""---333===333===333========================EEE=========EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEE===EEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffpppfffpppfffpppfffpppppppppfffppppppppppppppppppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww†††††††††††††††††††††VVVVVVVVVVVVVVVfffwwwpppwwwppp^^^ppppppNNNVVVVVVfffVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^^^^¶¶¶çççïïïçççßßß×××ÎÎÎÇÇǶ¶¶°°°ªªª   –––‘‘‘†††pppppppppfffpppwww‘‘‘°°°ÎÎÎßßßÎÎΠ  ††††††   ¶¶¶×××ßßßÎÎζ¶¶ªªªÇÇÇ×××ßßß¶¶¶‘‘‘–––ßßßçççççççççßßß   www–––ÁÁÁÁÁÁ   –––‘‘‘^^^ffffffwwwppp^^^NNNGGGEEE===GGG^^^^^^pppNNNEEE333===333333===333======NNNfffpppwwwwww††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††wwwEEE""""""333333======333===333===========================EEE===EEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEE===EEEEEE===EEE===EEEEEE======EEE===EEEEEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEpppfffpppppppppppppppppppppppppppppppppwwwpppwwwwwwwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwww†††††††††††††††††††††fff^^^VVVVVVVVV^^^pppppp^^^ppp^^^pppwwwfffwwwVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^fff‘‘‘ÇÇǪªª†††pppfffffffff^^^^^^VVV^^^^^^VVVVVV^^^VVVVVV^^^VVVffffff–––¶¶¶ÎÎÎÎÎΠ  –––   ªªªªªªÇÇÇÎÎζ¶¶°°°ÇÇÇßßßçççÁÁÁ°°°ÇÇÇççççççççççççÇÇÇfffppp–––¶¶¶ÎÎÎÎÎÎÎÎÎÁÁÁªªª–––      –––†††ppppppVVVGGGEEENNN^^^www†††pppppp^^^NNNEEE===333===333333333===GGG^^^wwwwww‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘††††††‘‘‘†††‘‘‘††††††††††††VVV---"""---333===333===333===333===========================EEE===EEE===EEEEEEEEEEEEEEE===EEE===EEEEEE===EEE===EEE===EEE===EEEEEE===EEEEEEEEEEEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEppppppwwwpppwwwppppppwwwpppwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww††††††††††††††††††††††††‘‘‘www^^^VVVVVVVVVVVVfffwwwppp^^^wwwppp†††VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^pppwwwfff^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^ppp   ¶¶¶××××××¶¶¶   –––ÁÁÁßßßßßß××××××ßßßççççççßßßçççççç×××ÎÎÎ×××ÎÎÎwww†††–––ÁÁÁ×××ççççççßßß×××°°°ªªªªªªªªªªªª   pppNNNEEE===VVV‘‘‘ªªªªªª‘‘‘‘‘‘††††††ffffffGGG===333=========EEEVVVwww†††‘‘‘‘‘‘–––‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††fff333""""""===333===333===333===333=================================EEEEEE===EEE======EEE===EEE===EEE======EEE===EEEEEEEEE======EEEEEEEEEEEE===EEEEEE===EEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww††††††††††††††††††††††††††††††††††††–––      †††VVVNNNVVVVVVVVV^^^www^^^www†††VVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVV^^^^^^^^^fff¶¶¶¶¶¶www^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVVVVVVVVVVVVVV^^^^^^^^^pppwww‘‘‘   °°°°°°¶¶¶×××ßßßççççççççççççççççççççççççççççççÇÇÇÁÁÁÎÎΰ°°–––‘‘‘ÁÁÁßßßçççççççççÎÎΆ††www‘‘‘–––‘‘‘wwwppp^^^^^^VVVGGGNNNVVVppp‘‘‘ªªªªªª‘‘‘pppffffffNNN===333333333333---EEE^^^www‘‘‘°°°ÁÁÁ¶¶¶¶¶¶–––‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘††††††EEE""""""333333333===333333===333===333=================================EEE===EEE===============EEE=========EEEEEE===EEE======EEE===EEE===EEEEEE===EEE===EEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwpppwwwwwwwwwwwwwwwwww†††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘   ¶¶¶ÁÁÁ–––wwwNNNNNNVVVVVVVVV^^^^^^ppppppfff^^^VVVVVV^^^VVVVVVVVVVVVVVV^^^VVVVVV^^^VVV^^^^^^fff†††°°°‘‘‘fff^^^VVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVV^^^^^^fffppp–––ªªªÁÁÁÎÎÎßßßßßß××××××çççççççççççççççßßß×××ÎÎÎ×××××××××ççççççççççççÇÇdž†††††   ÁÁÁÁÁÁ†††VVVGGGVVVfffVVVNNNVVVGGGVVVfffpppfffNNNEEE======333===333333333---333EEENNNppp–––   ªªª‘‘‘‘‘‘ªªªªªª–––‘‘‘‘‘‘–––––––––‘‘‘–––‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††VVV---"""---333===333===333333===333===333===333==============================EEE======EEE============EEE======EEE=========EEE===EEE===EEE======EEE===EEE===EEEEEE===EEEEEEEEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwwwwwwwwwwwwwwwwwwwwwwww††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††   –––‘‘‘†††–––fffNNNGGGVVVVVVVVV^^^wwwwww†††wwwfff^^^VVVVVV^^^VVV^^^^^^VVVVVV^^^VVV^^^VVV^^^^^^^^^^^^ppp‘‘‘ªªª^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNNNNNNNVVVNNNVVVVVV^^^^^^^^^^^^^^^ppp†††°°°ÇÇÇÎÎΰ°°   ÁÁÁÎÎÎ×××ÇÇÇÎÎÎßßßççççççßßßççççççßßßßßßßßßççççççßßß×××ÎÎÎ×××ßßßÎÎΪªªppp–––ÇÇǶ¶¶–––pppVVVVVVVVVNNNGGGEEE======333===333333===333333=========GGGfffwwwwww   °°°ÁÁÁ°°°   –––‘‘‘‘‘‘––––––‘‘‘––––––‘‘‘––––––‘‘‘‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††ppp333""""""333333===333===333333===333===333===333============================================================EEE======EEE=========EEE===EEEEEE=========EEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEpppwwwwwwwwwwwwwwwwwwwwwwww†††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘   †††^^^GGGGGGNNNVVV^^^pppwww^^^wwwfffVVVVVV^^^VVV^^^^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^fffwww   –––pppVVVVVVVVVNNNNNNNNNNNNNNNVVVVVVVVVVVVVVVVVVVVV^^^ffffff^^^†††‘‘‘www^^^fffwww–––ªªª–––   ªªª¶¶¶ÇÇǶ¶¶°°°ªªª°°°¶¶¶ÇÇÇÎÎÎßßß×××ÎÎÎÁÁÁÇÇÇßßßççççççßßß×××ÎÎÎßßß××××××ßßßçççßßß×××ÇÇǪªª   †††pppVVVGGGEEE===333333===333333======333=========GGGfff†††ªªª¶¶¶°°°ÇÇǪªª–––‘‘‘‘‘‘––––––––––––‘‘‘–––––––––‘‘‘–––‘‘‘‘‘‘–––‘‘‘––––––‘‘‘––––––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††wwwEEE""""""333===333333333===333===333===333333===333================================================EEE=========EEE===EEE======EEE===EEE===EEE======EEE===EEE===EEE======EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwwwwwwwwwwwwwww†††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘ªªªªªªwwwppp–––°°°pppVVVNNNGGGNNNVVVVVV^^^www†††‘‘‘www‘‘‘wwwfff^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^VVV^^^^^^^^^^^^^^^fffppp‘‘‘ªªªwww^^^VVVVVVVVVVVV^^^VVVVVVVVV^^^VVV^^^^^^VVV^^^fff‘‘‘www‘‘‘†††fff†††ppp^^^^^^fffwww‘‘‘   ªªªÁÁÁ×××ßßß×××ÇÇÇÇÇÇÎÎÎÇÇÇÁÁÁªªª°°°¶¶¶¶¶¶¶¶¶¶¶¶°°°ÇÇÇÇÇÇÎÎÎßßßßßß×××ççççççßßßçççÇÇǰ°°ªªªªªª°°°°°°ªªª   †††wwwVVVGGG===333===333333===333333===EEEGGGfff†††††††††‘‘‘¶¶¶ÇÇÇÁÁÁ¶¶¶°°°–––‘‘‘––––––   –––––––––––––––‘‘‘–––––––––‘‘‘––––––‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††VVV---"""---333333===333333===333===333333===333===333===============================================================EEE===EEE=========EEE===EEE======EEE===EEE===EEE===EEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwwwwwwwwwwww†††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘   ªªªffffff   ¶¶¶–––fffVVVNNNGGGNNNVVV^^^fffppp†††www^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^fff^^^^^^^^^fff^^^ppp      fff^^^^^^VVVVVV^^^VVV^^^VVVVVVVVVVVVVVV^^^^^^fffpppwwwwwwwwwppp††††††fff^^^^^^ppp‘‘‘ªªªÁÁÁ×××ççççççßßßççççççßßßçççßßß×××ÎÎζ¶¶   ªªªªªª–––   ÎÎÎççççççßßßççç×××ÁÁÁªªª–––   ªªª   –––         °°°ªªª‘‘‘www^^^GGGEEE333333===333======GGG^^^‘‘‘††††††‘‘‘   ÁÁÁ¶¶¶ÎÎζ¶¶ªªª      ¶¶¶°°°   ––––––––––––––––––––––––––––––––––––––––––‘‘‘––––––‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††ppp333""""""333===333===333333333333===333333===333333333===333===========================================================================EEE============EEE===EEE===EEE===EEE===EEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwwwwwwwwwwww††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘––––––ffffff¶¶¶¶¶¶ÁÁÁ†††pppVVVNNNNNNGGGVVVVVVfff†††www†††fff‘‘‘††††††fff^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^fff‘‘‘ªªªfff^^^VVV^^^VVV^^^VVV^^^VVV^^^VVVVVV^^^VVV^^^fff‘‘‘‘‘‘‘‘‘ppp^^^fffVVVVVVVVVfff–––ÁÁÁÎÎÎ×××ßßßçççÎÎΪªªÁÁÁÎÎÎ××××××ÁÁÁ   –––‘‘‘   ßßßççççççßßß×××ÁÁÁªªªªªª      ªªª   –––‘‘‘‘‘‘‘‘‘–––      ªªª      †††ppp^^^GGGEEE=========EEEGGGfff†††‘‘‘††††††‘‘‘¶¶¶°°°¶¶¶ÎÎΪªª   ÇÇÇÇÇǶ¶¶   ––––––––––––––––––––––––––––––––––––––––––‘‘‘––––––‘‘‘–––‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘EEE""""""333333333333===333===333===333333===333===333333======333==================================================================EEE===EEE======EEE===EEE===EEE===EEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwwwwwwwwwwww†††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘‘‘‘–––ppp^^^fff¶¶¶ÇÇÇ×××°°°‘‘‘ppp^^^NNNNNNGGGNNN^^^^^^†††www†††fff‘‘‘‘‘‘^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^fffVVV^^^^^^fffwww   ªªª^^^^^^VVVVVV^^^VVVVVVVVV^^^VVVVVVVVVVVV^^^^^^pppwwwwww††††††VVV^^^NNNNNNVVV^^^www–––ÁÁÁßßßßßß×××ÁÁÁÎÎÎßßßÎÎÎÁÁÁÁÁÁªªª–––¶¶¶×××çççççççççÎÎÎÁÁÁ°°°ªªª      ––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††‘‘‘‘‘‘†††www^^^NNNEEE===EEENNNfff†††‘‘‘††††††°°°ÁÁÁÁÁÁ°°°ªªª¶¶¶×××ÎÎζ¶¶   ––––––––––––––––––––––––––––––––––––––––––––––––‘‘‘–––‘‘‘‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††VVV---"""---333333===333333333===333333333333333333333===333======333======333=============================================EEE==================EEE===EEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwwwwww††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††‘‘‘wwwffffff‘‘‘ÁÁÁÇÇÇ×××¶¶¶–––ppp^^^NNNNNNGGGNNN^^^^^^pppwwwppp‘‘‘‘‘‘www†††fffffffff^^^^^^fff^^^^^^fff^^^fff^^^fff^^^^^^fffffffffppp‘‘‘ÁÁÁfff^^^VVV^^^VVV^^^VVV^^^^^^^^^VVV^^^VVV^^^fff‘‘‘‘‘‘wwwpppwwwpppfffVVVNNNNNNVVVfffªªªÎÎÎßßßÁÁÁÇÇÇÇÇÇÎÎÎÁÁÁªªªªªª¶¶¶ççççççïïïççç×××ÁÁÁ°°°ªªª   –––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††wwwwwwwwwwwwwww‘‘‘ªªª¶¶¶°°°www===333===EEENNNfff†††‘‘‘††††††–––¶¶¶ÁÁÁ¶¶¶ªªª   ÎÎÎßßß×××ÁÁÁªªª–––––––––––––––––––––––––––––––––––––––––––––‘‘‘––––––‘‘‘–––––––––––––––‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘ppp333""""""333333333===333===333333333333===333333333333===333333======333=======================================EEE===EEE===EEE==================EEE===EEEEEE======EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwww†††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘†††‘‘‘†††††††††wwwwww††††††‘‘‘‘‘‘¶¶¶–––ÁÁÁÎÎÎÁÁÁ–––www^^^VVVNNNGGGNNNVVV^^^ffffff‘‘‘–––†††‘‘‘^^^fff^^^fff^^^fff^^^fff^^^fffVVV^^^^^^fffffffffpppwww   ‘‘‘pppfffVVV^^^^^^VVVVVV^^^VVV^^^VVVVVV^^^^^^fffpppwww††††††††††††††††††ppp^^^^^^NNNNNNNNN^^^ppp–––¶¶¶ÇÇÇÎÎÎÁÁÁ–––ªªª‘‘‘¶¶¶çççççççççççç×××ÁÁÁªªª         –––––––––‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††††††††wwwwwwpppppppppppp–––°°°¶¶¶   VVV333333333333===EEENNNppp†††‘‘‘††††††‘‘‘°°°   ªªª°°°¶¶¶ßßßççç×××ÁÁÁªªª–––   –––   ––––––––––––––––––––––––––––––––––––––––––‘‘‘––––––‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘EEE""""""---333===333===333333333===333333333333===333333======333======333=============================================EEE===EEE======EEE===EEEEEEEEEEEEEEEEEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwww†††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††††††††wwwwwwffffff^^^^^^^^^^^^www°°°¶¶¶   ªªª‘‘‘   °°°ÎÎζ¶¶–––www^^^VVVVVVNNNNNNVVV^^^fffwww†††‘‘‘†††‘‘‘‘‘‘www^^^^^^fff^^^ffffffffffffVVV^^^fffffffffffffffpppwwwªªªÁÁÁ‘‘‘ppp^^^^^^^^^VVV^^^^^^VVV^^^VVVVVVVVV^^^^^^pppwwwpppwww‘‘‘††††††www^^^NNNNNNVVVfffªªªÇÇÇ×××××××××ÎÎÎççççççççççççßßßÇÇǶ¶¶°°°ªªª––––––‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘†††††††††wwwwwwwwwpppwww–––ªªª°°°‘‘‘NNN333333333333===333======EEEVVVppp†††–––††††††‘‘‘°°°ÁÁÁ¶¶¶ÁÁÁÇÇÇßßßççç×××ÁÁÁªªª––––––––––––––––––––––––––––––––––––––––––‘‘‘––––––––––––––––––‘‘‘–––––––––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘VVV------333333333333===333333333333333===333333===333===333===333===333===333==========================================EEE======EEE===EEE===EEE===EEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGGGEEEEEEwww††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwpppffffff^^^^^^^^^^^^VVV^^^VVV^^^^^^ppp^^^‘‘‘ÁÁÁ   –––   °°°¶¶¶¶¶¶ÎÎÎÁÁÁ–––fff^^^VVVNNNNNNNNN^^^fffpppwww–––†††–––†††‘‘‘††††††fff^^^ffffff^^^fffffffff^^^^^^ffffffffffffffffffwwwÁÁÁïïïçççÇÇdž††^^^^^^^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^–––www†††–––‘‘‘^^^^^^VVVNNNNNN^^^ppp†††°°°ÇÇÇ×××çççççççççççççççßßßßßß×××ÎÎÎÁÁÁªªª      ––––––‘‘‘‘‘‘‘‘‘††††††††††††wwwwwwwww–––ªªª°°°‘‘‘VVV333---333333===333======333======GGGVVVwww†††‘‘‘††††††‘‘‘–––ÁÁÁÁÁÁ¶¶¶ÁÁÁßßßßßß×××¶¶¶ªªª–––   –––   –––   –––   –––––––––––––––––––––––––––––––––––––––––––––‘‘‘–––‘‘‘––––––‘‘‘ppp333""""""333333333===333333333333333===333===333333===333===333333===333=========333=======================================EEE======EEE===EEE===EEEEEEEEEEEE===EEEEEEEEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE††††††††††††††††††††††††††††††††††††††††††wwwpppfff^^^^^^VVVVVVVVVVVV^^^^^^VVVVVVVVV^^^VVV^^^^^^pppNNN^^^–––   ‘‘‘–––°°°×××   °°°×××ÇÇÇ   pppfff^^^VVVNNNNNN^^^^^^ppp††††††–––††††††††††††ffffff^^^fffffffffffffff^^^^^^ffffffffffffpppfff†††ßßßïïïýýýýýýßßß   www^^^^^^^^^VVV^^^VVV^^^VVV^^^VVVVVV^^^VVV^^^^^^wwwwww††††††††††††pppVVVVVVNNNNNNVVVppp†††   ¶¶¶×××ßßßßßßçççßßßßßßßßßßßßßßß×××ÎÎÎÎÎÎÁÁÁ°°°   –––‘‘‘‘‘‘††††††–––°°°°°°–––VVVEEE===EEE============EEEEEEGGGGGG======EEEGGG^^^www‘‘‘††††††   °°°ÁÁÁ¶¶¶°°°°°°ÎÎÎßßßÎÎζ¶¶ªªª––––––   –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––‘‘‘†††EEE""""""---333333333333333333333333333===333333===333===333===333333===333333======333=======================================EEE======EEE===EEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE††††††††††††††††††††††††††††††††††††††††††††††††wwwpppfff^^^VVVVVVVVVVVVVVVVVVNNNVVV^^^VVV^^^VVV^^^VVVVVV^^^NNNVVVfffVVVGGGfff   †††   ªªªÎÎΰ°°ÁÁÁ¶¶¶×××ÎÎΪªª–––†††wwwfffVVVNNNNNN^^^^^^fffwww–––   †††††††††††††††ppp^^^ffffffffffff^^^ffffffpppfffffffffppp   ïïïýýýýýýýýýýýýïïïÎÎΆ††fff^^^^^^^^^^^^^^^VVV^^^^^^VVVVVV^^^VVV^^^VVV^^^ppp†††–––†††wwwwwwwwwVVVVVVGGGNNNVVV^^^www‘‘‘°°°ÎÎÎßßßßßß×××ßßßßßßßßßçççßßßßßßßßßßßßÎÎÎÁÁÁ¶¶¶   –––‘‘‘†††www†††‘‘‘°°°¶¶¶ªªªfffNNNNNN^^^^^^VVVGGGGGGGGGNNNVVV^^^VVVGGGEEE=========GGG^^^www†††‘‘‘††††††–––ÁÁÁ°°°ªªª°°°¶¶¶¶¶¶××××××ÁÁÁªªª–––   –––   –––   –––   –––   –––––––––   –––   –––   –––––––––––––––––––––‘‘‘VVV---"""---333333333333333333333333333333333333333===333===333===333333======333333======333====================================EEE======EEE===EEEEEEEEEEEE===EEEEEEEEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE††††††††††††††††††††††††††††††††††††††††††wwwpppfff^^^^^^VVVVVV^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVV^^^VVVVVVVVVNNNVVVNNNfffVVVGGG†††ppp‘‘‘¶¶¶¶¶¶°°°ÇÇÇßßß¶¶¶°°°ÎÎÎßßßÁÁÁ°°°–––†††ppp^^^NNNNNNVVVffffff†††††††††‘‘‘‘‘‘†††fffffffffffffff^^^^^^fffffffffppppppwwwÁÁÁïïïýýýýýýýýýýýýýýýýýýçç窪ªwww^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^VVV^^^www†††–––††††††wwwffffffVVVNNNGGGGGGVVV^^^www‘‘‘¶¶¶××××××¶¶¶ÎÎÎ××××××ßßßççççççßßßçççßßßßßß×××ÇÇÇÁÁÁªªª–––†††††††††ªªª¶¶¶ÁÁÁªªª^^^^^^fffpppppppppppp^^^^^^www‘‘‘†††wwwfffNNNEEE============GGG^^^†††–––††††††°°°¶¶¶   –––°°°ÁÁÁ°°°ÁÁÁ×××ÎÎΠ     –––   –––   –––   –––––––––   ––––––   –––   –––   ––––––   ––––––––––––ppp333""""""333333333333333333333333333333333===333333===333===333333===333333===333===333===333=============================================EEE===EEEEEE===EEEEEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE††††††††††††††††††††††††††††††††††††wwwffffff^^^VVVVVVVVV^^^VVV^^^^^^VVV^^^^^^VVV^^^^^^VVV^^^^^^VVV^^^VVVNNNNNNGGGVVVNNNVVVVVVfffNNNNNNfff^^^   °°°   ÎÎÎ×××ÁÁÁªªªªªªÎÎÎçççßßßÎÎΰ°°†††ppp^^^^^^VVVVVV^^^fffppp†††‘‘‘–––‘‘‘‘‘‘†††‘‘‘pppffffff^^^fffppppppfffpppfff×××ýýýýýýýýýýýýýýýýýýýýýýýýïïï××ב‘‘fff^^^^^^^^^^^^^^^VVV^^^^^^^^^VVV^^^^^^^^^^^^fff‘‘‘†††††††††‘‘‘†††www^^^VVVVVVNNNGGGGGGVVVfff   ÁÁÁÇÇÇÎÎÎ×××ßßßßßß×××ßßßßßßßßßßßßßßßßßßçççßßß×××ÎÎÎÇÇǰ°°      –––fff^^^^^^VVVNNNNNNNNNNNN^^^fffppp‘‘‘ªªª   †††ppp^^^VVVGGG============EEENNNfffwww‘‘‘‘‘‘††††††††††††ªªªÁÁÁ¶¶¶°°°   ªªª   –––   –––   –––   –––         ––––––   –––   –––   ––––––   –––––––––––––––†††EEE""""""---333333333333333333333333333333333333===333===333333===333333===333=========333======333=================================EEE=========EEE===EEEEEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE†††††††††††††††††††††††††††wwwpppfff^^^VVVVVVVVVVVV^^^^^^^^^^^^^^^VVV^^^^^^VVVVVV^^^VVV^^^VVVVVVVVVNNNGGGGGGGGGGGGNNNNNNVVVVVVVVVfffNNNGGGppppppVVV^^^‘‘‘   ÁÁÁ¶¶¶ÇÇÇÁÁÁ°°°   çççïïïßßß×××¶¶¶†††wwwppp^^^^^^VVV^^^fffppp†††‘‘‘†††‘‘‘†††ffffff^^^ffffffpppfffpppppp–––ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçç窪ªwww^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^ppp††††††pppfffffffffppppppVVVNNNGGGGGGNNN^^^ppp‘‘‘°°°××××××ÁÁÁ×××ßßßßßßÎÎÎ×××ççç×××××××××ßßßßßß×××¶¶¶–––pppfffVVVNNNVVV^^^fffVVVGGGEEEGGGGGGNNNVVVfff‘‘‘ffffffpppVVVGGGGGGEEE===333===EEENNN^^^www†††‘‘‘††††††°°°¶¶¶¶¶¶ÇÇǶ¶¶   ‘‘‘–––   –––   –––   –––   –––         –––   –––      –––      –––   –––‘‘‘VVV------333333333333333333333333333333333===333333333===333333333333333333333===333======333=============================================EEE===EEE======EEEEEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE†††††††††††††††††††††pppppp^^^VVVVVVVVVVVV^^^VVV^^^^^^VVVVVV^^^VVVVVV^^^^^^VVV^^^^^^VVVVVVVVVNNNNNNGGGGGGNNNNNNNNNNNNVVVVVVVVVVVVNNNfffNNNEEEwww‘‘‘^^^fff–––¶¶¶ÇÇÇÎÎζ¶¶¶¶¶ªªªççççççÎÎÎ×××ßßßÁÁÁ–––‘‘‘ppp^^^VVV^^^ffffffwww†††‘‘‘ppp††††††pppfffffffffpppfffppppppwww¶¶¶ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï××ב‘‘fff^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^fffppp‘‘‘www‘‘‘††††††fff^^^^^^NNNGGGGGGVVV^^^www–––°°°ÁÁÁ×××ßßßßßß×××ßßßçççßßßÎÎζ¶¶ªªª–––pppffffff^^^VVVVVVNNNNNNNNN^^^^^^VVVGGGGGGEEEEEEGGGNNNNNN^^^pppwwwwwwwwwppp^^^VVVGGGEEE======333===EEEGGG^^^ppp‘‘‘††††††   ¶¶¶ÁÁÁ¶¶¶ªªª   ––––––      –––      –––   –––   –––   –––   –––      ––––––   –––   –––ppp---""""""---333333333333333333333333333333333333===333333===333===333333===333333===333333===================================================EEE======EEE======EEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE††††††††††††††††††wwwpppfff^^^VVVVVVVVVVVVVVV^^^VVV^^^^^^^^^VVV^^^^^^VVVVVV^^^VVV^^^^^^VVVVVVVVVNNNNNNNNNGGGNNNVVVVVVVVVVVVVVVVVVVVVNNNVVVVVV^^^GGG333VVV†††††††††ffffffªªª×××ßßß°°°°°°ªªªçççççç×××çççÎÎÎßßßÇÇǶ¶¶°°°–––wwwfffVVVVVVffffffppp   †††–––ppppppfff^^^fffppppppfffpppÎÎÎïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçç窪ªwwwfff^^^^^^^^^^^^VVV^^^^^^^^^^^^VVV^^^^^^^^^^^^pppwww†††‘‘‘‘‘‘fffVVVNNNGGGNNNVVVfffwww‘‘‘°°°ÎÎÎßßßçççççççççÎÎΪªªwwwffffff^^^fffffffff^^^^^^^^^^^^^^^VVVNNNNNNNNNVVVVVVNNNGGGGGGEEEEEEGGGNNNVVVfffwwwwwwwww^^^NNNGGG======333======EEEGGGNNNVVV^^^www††††††‘‘‘‘‘‘††††††–––ªªª¶¶¶ÁÁÁ   –––            –––               –––      –––   –––      –––   †††EEE""""""---333333333333333333333333333333333333333333===333333333333333333333===333333======333333=============================================EEE======EEEEEEEEEEEE===EEE===EEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE†††††††††††††††wwwpppfff^^^VVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^^^^VVV^^^VVVVVVVVV^^^VVVVVVVVVVVVNNNNNNNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVNNN^^^GGG333GGGfff–––   ‘‘‘ffffff   ßßß¶¶¶ªªªªªªÇÇÇçççççççççÎÎÎ×××ïïïïïïßßßÇÇǪªªpppVVVVVV^^^pppppp‘‘‘††††††‘‘‘fffffffffpppfffppppppppp†††çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý×××–––fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff–––‘‘‘†††††††††‘‘‘‘‘‘^^^VVVVVVGGGGGGNNNVVV^^^www†††ªªªÇÇÇßßßßßß   fff^^^^^^VVVNNNVVVVVV^^^fff^^^^^^fff^^^^^^VVVVVVVVVVVV^^^VVV^^^VVVNNNEEEEEEGGGNNNNNNVVV^^^ppppppfffVVVGGG===EEEEEEGGG^^^fffppp^^^NNNVVV^^^ppp†††www‘‘‘°°°ÎÎÎÎÎΰ°°‘‘‘–––––––––         –––      –––         –––   –––   ––––––‘‘‘VVV"""""""""333333333333333333333333333333333333333===333333===333===333===333333333===333333================================================EEE===EEE======EEE===EEEEEE===EEEEEE===EEE===EEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE††††††wwwpppfff^^^VVVVVVNNNVVVVVVVVVVVVVVV^^^^^^VVV^^^VVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVV^^^NNN333333GGG   –––‘‘‘VVV^^^°°°¶¶¶ÇÇÇ   ×××ßßß××××××ïïïïïïïïïïïïïïï×××°°°†††ppp^^^VVV^^^ffffffwww‘‘‘–––†††pppfffffffffpppppppppppp   ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇfff^^^^^^^^^^^^^^^^^^^^^^^^fffpppfff^^^^^^^^^fff†††wwwwww††††††fffVVVNNNGGGGGGNNNVVV^^^ppp†††ªªªÇÇÇ   ppp^^^^^^VVVVVVNNNNNNVVV^^^^^^^^^^^^VVVNNNVVVVVV^^^ffffffNNNGGGVVVVVVNNNNNNNNNGGGEEEGGGNNNNNNVVV^^^^^^fff^^^NNNGGGVVVwwwwwwwwwffffffNNNNNNVVVpppwwwpppwwwwww   °°°°°°ÁÁÁÁÁÁªªª–––‘‘‘––––––   –––      ––––––   –––            ––––––ppp---""""""---333333333333333333333333333333333333333333===333333333333333===333===333333===333===333=============================================EEE===EEE===EEEEEE===EEEEEE===EEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwppp^^^VVVVVVNNNVVVNNNVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV333---333NNN‘‘‘ªªª^^^NNNNNNfff   ÎÎΠ  ÇÇÇÇÇǶ¶¶çççïïïïïïýýýïïïïïïïïïßßß°°°†††pppfffffffffpppfffwww–––pppffffffppppppppppppwwwÁÁÁïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý×××   ppp^^^^^^^^^^^^fffwww††††††‘‘‘ffffff^^^^^^fffwww†††–––   –––‘‘‘pppfff^^^VVVGGGGGGGGGNNNVVV^^^ppp‘‘‘ªªª‘‘‘ppp^^^^^^^^^VVVNNNGGGNNNVVVfff^^^^^^NNNGGGVVV^^^^^^^^^NNNGGGNNNNNNNNNVVVNNNNNNVVVNNNGGGGGGGGGNNNVVVVVVfff^^^NNNNNNNNNVVVffffffVVVGGGGGGVVVfffwwwffffffwwwwwwwww†††ªªªÇÇÇ××תªª‘‘‘–––‘‘‘‘‘‘–––––––––      –––   –––   –––   ––––––===""""""---333333333333333333333333333333333333333333333333333333===333333333333333===333===333==========================================EEE===EEE============EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^VVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVV^^^VVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVV^^^^^^VVV===------===NNNfff†††VVV^^^GGG^^^   ‘‘‘ÎÎÎ×××   ßßßïïïýýýççççççïïïßßßçççßßß¶¶¶–––†††wwwppppppfffppppppppppppppppppppppppÎÎÎýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÎÎÎffffff^^^fff‘‘‘‘‘‘†††††††††‘‘‘fff^^^fff–––   –––‘‘‘†††‘‘‘––––––fff^^^VVVNNNGGGEEEGGGNNNVVVfffwww–––ªªªªªª‘‘‘wwwfff^^^VVVGGGNNNNNNVVVfff^^^^^^VVVNNNNNNNNNVVV^^^VVV^^^VVVNNNGGGNNN^^^^^^^^^VVVGGGEEEGGGGGGNNNNNNVVV^^^^^^VVVNNNNNNGGGNNNNNN^^^ffffffpppppppppfffVVV^^^fffwwwwww–––°°°ªªªÁÁÁÇÇǪªª‘‘‘‘‘‘‘‘‘––––––   –––         –––   –––‘‘‘NNN"""""""""333333333333333333333333333333333333333333333333333333333333333333333333333===333333============333=============================================EEE===EEEEEEEEEEEEEEE===EEEEEE===EEEEEE===EEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVVVVVVVVNNNVVVVVVVVV^^^VVVVVV^^^VVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV======333---EEEVVVpppVVV†††‘‘‘VVVNNNVVV‘‘‘×××ççç°°°ßßßïïïïïïïïïÇÇÇÎÎΪªªÁÁÁßßßçççÁÁÁ°°°ªªª°°°ªªª†††wwwppppppfffpppwwwwwwwwwpppwww†††ßßßýýýýýýýýýýýýïïïïïïïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßß   pppffffffppp††††††‘‘‘‘‘‘†††wwwpppppppppfffpppppp†††      ‘‘‘wwwVVVVVVNNNGGGGGGGGGNNN^^^ppp   ¶¶¶¶¶¶   wwwffffff^^^^^^^^^^^^NNNVVV^^^fff^^^VVVNNNNNNNNNVVV^^^^^^NNNNNNVVV^^^^^^^^^VVVNNNNNNGGGEEEGGGNNNNNNVVV^^^www‘‘‘ppp^^^ppppppfff^^^wwwwwwwwwwwwpppppp^^^VVV^^^fffwww†††   ÁÁÁÇÇÇ   pppwww†††‘‘‘–––––––––      –––   –––ppp---""""""---333333333333333333333333333333333333333333333333333333333333333333333333333===333===333=========================================================EEE===EEEEEE===EEEEEE===EEE===EEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEENNNVVVVVVVVVVVVVVV^^^^^^VVV^^^VVVVVV^^^VVV^^^VVVVVVVVVVVVNNNNNNNNNNNNVVVVVVVVVVVVVVVVVVNNNVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV======333333333GGGGGGEEE‘‘‘–––†††^^^GGG^^^ªªªßßß×××ïïïýýýïïïççç   ªªª‘‘‘¶¶¶ßßßïïïççççççßßßÎÎÎÇÇÇÁÁÁ–––pppppp††††††www   ïïïýýýýýýýýýýýýÇÇǪªª   ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÇÇdž††fff^^^ffffffppp‘‘‘–––†††‘‘‘–––fff^^^^^^ppp†††   ªªª–––wwwpppppp^^^^^^^^^VVVVVVGGGGGGGGGGGGVVV^^^www‘‘‘°°°ÎÎÎÎÎΪªªpppffffff^^^VVVVVVNNNVVV^^^^^^VVV^^^VVVNNNNNNVVV^^^^^^ffffffNNNVVVVVV^^^fff^^^VVVNNNGGGNNNNNNVVV^^^   †††wwwwwwfffNNNNNNGGGNNNNNNVVVNNNNNNGGGEEEEEEGGGVVVfffwww‘‘‘‘‘‘wwwwwwwwwwwwwww†††–––––––––   –––   ===""""""---333333333333333333333333333333333333333===333333333333333333333333333333===333===333======333================================================EEE===EEE===EEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVV^^^VVV^^^VVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVV===EEEGGG===333333GGGGGGppp––––––‘‘‘EEEVVVppp   ÎÎÎïïïýýýïïïïïï‘‘‘‘‘‘×××ïïïïïïïïïïïïçççÎÎÎ××××××ÎÎΪªª††††††‘‘‘ªªªªªª–––††††††°°°ïïïýýýýýýýýýýýýÎÎζ¶¶wwwßßßýýýçççïïïýýýýýýýýýýýýçççÁÁÁçççýýýýýýýýýýýýýýýýýýýýýýýýßßߪªªppp^^^^^^fff†††‘‘‘–––‘‘‘ffffffwwwwwwfffffffffffffffpppwwwpppfff^^^VVVNNNGGGGGGGGGNNNVVVpppªªªÇÇÇ×××ÇÇǰ°°‘‘‘pppfff^^^ffffffVVVVVVGGGVVV^^^^^^^^^VVVVVVNNNVVVfffffffff^^^VVVGGGVVVVVV^^^^^^^^^VVVVVVVVVVVV‘‘‘fff^^^fff^^^NNNGGG===========================EEEGGGfff†††wwwwwwppp^^^fffppp‘‘‘‘‘‘––––––‘‘‘GGG------333333333333333333333333333333333333333333333333333===333333333===333333333333======333================================================EEE===EEEEEEEEE===EEEEEEEEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVVVVVVVNNNNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNNNNVVVVVV^^^===NNNfffNNN===---333NNN^^^ppp      VVV‘‘‘ffffff†††×××ïïïýýýççç   fff†††ÎÎÎïïï×××çççïïïïïïïïïïïïÎÎÎ××××××ÁÁÁ¶¶¶ÇÇÇ×××ÎÎÎÁÁÁ   –––ÎÎÎïïïýýýýýýýýýýýýýýýççç‘‘‘ççççççwww¶¶¶ÎÎÎßßßýýýýýý°°°GGG‘‘‘ïïïýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΆ††ppp^^^fffwww†††–––‘‘‘††††††wwwffffff^^^^^^^^^^^^wwwwww††††††www^^^^^^^^^VVVNNNGGGGGGGGGVVVfffwww–––¶¶¶ÎÎÎßßßßßß°°°†††wwwpppppp^^^VVVNNNNNNGGGNNN^^^^^^^^^^^^VVVfffffffffffffff^^^VVVNNNVVVffffffffffffwww†††^^^GGGEEEEEEGGGGGGEEE===333333333333333333333333======VVV†††ppp^^^^^^VVVVVVGGGGGGVVVVVVffffffwww†††‘‘‘‘‘‘fff---""""""333333333333333333333333333333333333333333333333333333333333333333333===333===333333===333===333===333====================================EEE===EEE===EEE===EEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVV^^^VVVVVV^^^VVV^^^VVVVVVVVVVVVVVVNNNNNNNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVVVVVNNNNNNVVVNNNVVVNNNVVV^^^EEE^^^ppp^^^EEE333333===NNNfffppp‘‘‘fff‘‘‘–––pppVVVpppÇÇÇïïïïïïÎÎÎpppÎÎÎçççÁÁÁ×××çççýýýýýýççç°°°×××ççççççççççççïïïïïïçççÇÇǶ¶¶ßßßýýýýýýýýýýýýýýýýýýïïï   ïïïÎÎÎ^^^–––wwwïïïýýý×××   fffýýýïïïÎÎÎïïïýýýýýýýýýýýýýýýýýýýýýßßߪªªwwwfffwwwwwwppp††††††   †††ppp^^^^^^^^^^^^pppppp†††wwwwwwwwwwwwppp^^^^^^VVVGGGGGGGGGNNNVVVpppªªªÁÁÁßßß×××¶¶¶°°°   pppppp^^^VVVNNNNNNNNNNNNVVVVVVfff^^^fffffffffpppfffffffff^^^fffwww–––¶¶¶ÇÇÇÎÎΪªªpppNNNEEE=========333===333333333333333===---======EEEGGGNNNfffpppfffEEE===333333------NNN^^^^^^^^^^^^fffpppwwwppp333""""""---333333333333333333333333333333===333333===333333333333333===333===333333333===333333===333===333==========================================EEE===EEEEEE===EEE===EEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^VVV^^^VVV^^^VVVVVVVVVNNNVVVNNNVVVVVVVVV^^^VVV^^^^^^VVVVVVVVVNNNVVVNNNVVVVVVNNNNNNVVVNNNVVVNNNVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVNNNVVVVVVVVVNNNVVVVVVVVVVVV^^^GGG^^^ppppppGGGEEE333333===GGGpppfff^^^–––ªªªªªª^^^NNN^^^ÇÇÇïïïÎÎÎwwwÁÁÁÇÇǰ°°ÎÎÎýýýïïïïïïÁÁÁ–––ßßßïïïïïïïïïçççßßßýýýïïïïïïßßßçççýýýýýýýýýýýýýýýýýýýýý°°°ÎÎÎÎÎÎVVV   °°°–––ïïïýýýýýýßßßpppïïïßßßVVVÁÁÁïïïýýýýýýýýýýýýýýýýýýýýýïïïÎÎΆ††pppfff^^^fff†††‘‘‘   www†††wwwpppfff^^^^^^ffffff††††††‘‘‘^^^^^^^^^VVVNNNGGGGGGGGGVVV^^^ppp†††°°°ÇÇÇßßßßßßßßß°°°   †††fff^^^^^^^^^fffNNNGGGNNNNNN^^^^^^ffffffffffffpppppp†††ªªªÇÇÇßßßßßßßßßßßßßßß×××   fffNNN======333333333===333=========333333===EEE======NNNNNNGGG333"""------"""333VVV^^^^^^^^^^^^^^^^^^^^^^^^NNN===333---333333333333333333333333333333333333===333333333333333===333333333333===333333======333===333===333==========================================EEE===EEE===EEEEEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^^^^VVVVVVNNNNNNNNNNNNNNNNNNVVVVVVVVV^^^VVVVVVVVVVVVVVVNNNVVVVVVNNNVVVNNNNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^EEEVVVwww^^^EEE======333===NNNpppppp   °°°ÁÁÁ–––^^^NNNfff¶¶¶×××ÇÇÇ      ¶¶¶ÎÎÎïïïýýýïïï°°°ªªªÇÇÇ×××çççýýýïïïçççÎÎÎÎÎÎßßßïïïïïïïïïýýýýýýýýýýýýýýýýýýýýýªªªwww   wwwÎÎÎÇÇÇïïïýýýïïï   pppïïïÇÇÇEEEwww––––––ýýýýýýýýýýýýýýýýýýýýýýýýßßߪªªwwwfff^^^fffwww†††‘‘‘‘‘‘‘‘‘†††††††††fff^^^^^^^^^ppp†††††††††‘‘‘†††ppp^^^^^^VVVNNNGGGGGGGGGVVVfffwww   ÁÁÁßßßççç××××××   ‘‘‘†††pppfff^^^VVVNNNNNNVVVfff^^^fffwww–––°°°ÁÁÁÎÎÎ×××çççßßßçççççççççßßßçççÎÎΠ  fffEEE============333333333======333------""""""------""""""333------===VVV^^^^^^^^^^^^^^^VVV^^^VVVVVVNNNGGGGGG======333333333333333333333333333333333333333333===333333===333===333===333===333===333333=========333==========================================EEE===EEE===EEE======EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVVNNNNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVVVVVNNNVVVNNNVVVNNNNNNNNNVVVNNNVVVNNNVVVVVVVVVVVVVVVVVV^^^VVVVVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^^^^EEEGGGVVVwwwfffEEE=========333===GGGppp‘‘‘°°°   ‘‘‘VVVfffªªªßßßçççÁÁÁÎÎÎïïïýýýïïïÇÇǶ¶¶ÁÁÁßßßýýýïïïýýýýýýïïï¶¶¶°°°–––ªªªïïïïïïýýýýýýýýýýýýýýýýýýýýý××׆††   www‘‘‘ppp×××ýýýÇÇÇfffªªªýýý¶¶¶=========NNNïïïýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇdž††pppfff^^^fff††††††‘‘‘––––––pppffffff^^^pppwwwwww†††††††††††††††fff^^^^^^^^^VVVNNNGGGGGGNNN^^^www‘‘‘¶¶¶ßßßßßßßßß¶¶¶¶¶¶ÎÎÎ××תªª†††pppfffffffffppppppwww†††ªªªÎÎÎßßßßßß×××ßßßßßßççççççççççççßßßßßßßßß×××°°°‘‘‘GGG===333------"""333EEEEEE333"""""""""------"""---===VVV^^^VVV^^^VVVVVV^^^VVVVVV^^^VVVVVVVVVNNNNNNEEE======333333333333333333333333333333333333333===333333333===333===333===333======333===333================================================EEEEEE===EEE===EEE===EEEEEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNVVVVVVVVVVVVVVVVVV^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNNNNVVVNNNVVVVVVVVVVVVVVVVVV^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVV^^^VVVVVV^^^^^^^^^EEEEEEGGGfff^^^EEEEEEEEE======333333EEEppp–––°°°   ªªª†††VVV^^^   ÎÎΪªªªªªÇÇÇßßßÇÇÇ‘‘‘ªªªÁÁÁçççïïïýýýýýýýýýýýý×××ÎÎΖ–––––çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïßßßÎÎÎÇÇÇppp×××ýýý   wwwçççýýý¶¶¶NNN===333NNNïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßß   wwwfffffffffppp‘‘‘‘‘‘†††‘‘‘††††††wwwfff^^^fffffffffppppppppppppppp^^^VVV^^^^^^VVVVVVVVVGGGNNNNNNVVVppp‘‘‘¶¶¶ßßß×××¶¶¶ÎÎÎßßßßßß×××ÇÇÇ   †††   ªªª°°°¶¶¶ÁÁÁÇÇÇßßßççççççßßßßßßççççççßßßççççççßßßÎÎΰ°°   pppNNN===333------------"""""""""---"""""""""""""""""""""===VVV^^^VVVVVV^^^VVVVVVVVVVVV^^^VVVVVVVVVVVVVVVVVVNNNGGGEEE===333333===333333333333333333333===333333======333===333===333===333===333===================================================EEE===EEE===EEE===EEE===EEE===EEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVVVVVVVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVNNNVVVNNNVVVVVVVVVVVVVVVVVVVVVVVV^^^VVV^^^VVVVVVVVV^^^VVV^^^^^^^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^^^^fff^^^ffffffEEEGGGNNNpppNNNEEEEEEGGGEEE======333333EEEwww°°°ªªª‘‘‘wwwNNNwww‘‘‘ªªª   °°°ÇÇǰ°°°°°ÎÎÎïïïýýýýýýýýýýýýýýýïïïççç×××ÇÇǰ°°ïïïïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççýýýýýý†††NNN–––ïïï°°°^^^NNNVVV^^^çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý××׆††ppppppwww‘‘‘––––––‘‘‘†††††††††www^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^VVV^^^NNNNNNNNN^^^ppp‘‘‘¶¶¶×××ÁÁÁÁÁÁÁÁÁ×××ßßßÇÇǪªªppppppwwwªªª¶¶¶×××ßßßßßßßßßçççççç×××çççßßß¶¶¶ªªª‘‘‘fffGGG===333------333333---""""""""""""EEEVVV^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^^^^VVVVVVVVVVVVNNNGGGEEE===333333333333333333===333333===333333333===333======333===333======333===================================================EEE===EEE===EEE===EEEEEEEEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVV^^^^^^^^^VVV^^^VVVVVVNNNVVVVVVVVVVVVVVVVVVNNNVVVVVVNNNVVVVVVVVVVVVVVV^^^^^^^^^VVV^^^VVVVVVVVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ffffffffffffpppffffffGGGVVVfffpppVVVEEE===GGGEEEEEE============GGGppp††††††–––‘‘‘wwwVVV   †††www   ¶¶¶ÇÇÇÇÇÇßßßýýýýýýýýýýýýïïïýýýýýýççççççïïïçççßßßïïïýýýýýýýýýýýýýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýý×××wwwïï着ªwwwwww†††fffÇÇÇ–––ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýèÇÇËccÔ''êõ÷îÕ%%§TT––––––‘‘‘†††ppppppfff^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^VVVVVVNNNNNNVVVppp‘‘‘¶¶¶ÎÎΰ°°‘‘‘–––†††ppp^^^VVV^^^^^^www   ªªª   ¶¶¶ßßßÎÎΰ°°‘‘‘pppGGG333---"""333GGGGGG333"""---------EEEVVVVVV^^^^^^^^^VVVVVVVVVVVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^VVVNNNNNNEEE===333333333333333333===333333===333===333===333============333=========================================================EEE===EEE===EEEEEEEEE===EEE===EEE======EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^^^^^^^VVV^^^VVVNNNGGGNNNVVVVVVVVVVVVVVVVVVVVVNNNVVVVVVVVV^^^^^^^^^^^^^^^^^^VVV^^^VVVVVV^^^VVV^^^^^^VVV^^^^^^^^^^^^fff^^^fff^^^fffffffffffffffpppfffffffffffffffppp‘‘‘^^^EEEGGGNNNNNNEEE=========EEEEEEEEEVVVwwwwww†††–––wwwÁÁÁ†††fffppp–––ÁÁÁÇÇÇçççýýýýýýýýýïïïýýýýýýýýýççççççïïïïïïççççççýýýýýýýýýýýýýýýýýýýýýýýý×××çççýýýýýýýýýýýýýýýýýýýýýýýýïïïïïïýýý°°°–––ÎÎΪªªppp×××   °°°ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýú��ú��ú��ú��ú��ú��ú��ú��ú��Ù--“ŽŽ†††‘‘‘‘‘‘‘‘‘pppffffff^^^^^^^^^^^^VVV^^^^^^^^^VVV^^^^^^VVV^^^^^^VVVVVV^^^ppp‘‘‘°°°°°°pppwwwppppppfff^^^^^^VVV^^^VVV^^^ppp^^^GGG333---------===GGGVVVVVVVVVNNN333""""""EEEVVV^^^VVV^^^VVVVVVVVV^^^VVV^^^VVVVVVVVV^^^VVVVVVVVV^^^VVV^^^VVVVVVNNNEEE333======333333===333333===333===333===333======333===333===============================================================EEE===EEEEEEEEE===EEEEEEEEE===EEEEEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVVVVVVVVNNNNNNGGGNNNNNNVVVVVVVVVVVVVVVVVVVVV^^^^^^^^^^^^^^^^^^^^^^^^VVVVVV^^^VVV^^^^^^^^^^^^^^^fff^^^fffffffffffffffffffffpppfffppppppfffpppfffpppfffpppwww‘‘‘   –––^^^VVVwwwNNNEEEEEE===EEEGGGVVVGGGEEEVVVwwwwwwwww   °°°‘‘‘^^^^^^†††ÁÁÁßßßçççïïïïïïýýýïïïýýýïïïýýýççççççýýý×××çççýýýýýýýýýýýýýýýýýýýýýýýýßßßÎÎÎçççýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýßßßÎÎÎïïï   ¶¶¶www°°°   ßßßýýýýýýýýýýýýýýýýýýýýýýýýú��ùû‰‰á³¨¨šVVéú��ú��ú��ºBB‘‘‘‘‘‘‘‘‘‘‘‘––––––†††^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVVVVV^^^ppp†††ªªª–––‘‘‘¶¶¶ÎÎΠ  ‘‘‘†††fffNNNGGG===333------------333===EEEEEEGGGVVVNNNGGGEEE333""""""""""""""""""NNNVVV^^^^^^VVVVVVVVVVVVVVV^^^VVV^^^^^^VVV^^^^^^VVV^^^VVV^^^VVVVVVVVVNNN======GGGGGGEEE===333===333333===333===333===333======333=========333=========================================================EEEEEE===EEE===EEE===EEEEEE===EEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVVVVVNNNVVVVVVVVVVVV^^^VVV^^^^^^VVVVVV^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^fff^^^^^^fffffffffffffffffffffpppfffppppppppppppffffffppppppfffpppfffpppfffªªªwww‘‘‘‘‘‘wwwppp†††‘‘‘NNNEEEEEEEEEEEENNN^^^VVVEEEEEEVVVppp^^^fff°°°ÇÇǰ°°fffpppwww†††ÇÇÇ×××ïïïççç×××ßßßýýýïïïýýýççç×××ïïïÁÁÁçççýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïçççýýýßßßßßßïïïýýýýýýýýýýýýýýýýýýýýýýýýýýý––––––‘‘‘GGGwww‘‘‘VVV°°°çççýýýýýýýýýýýýýýýýýýýýýúZZüïïýýýýýýïïï××ײllú��ú��ú��æ‘‘‘–––   –––‘‘‘wwwfffú��ú��^^^^^^^^^VVV^^^^^^^^^^^^VVVVVVVVVVVVVVVNNNNNNVVV^^^ppp‘‘‘ªªª¶¶¶¶¶¶NNNEEE===---------333======EEEEEE======EEE333---333333333333------""""""""""""""""""---VVV^^^VVVVVVVVVVVVVVV^^^VVV^^^^^^VVV^^^VVVVVV^^^VVV^^^VVV^^^VVVVVVGGG======GGGNNNVVVNNNGGGEEE===333===333333333===333===333======333===333=========================================================EEE===EEEEEE===EEE======EEE===EEEEEE======EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVVVVVVVV^^^VVV^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^VVV^^^ffffffffffffffffffffffffffffffpppppppppppppppppppppfffpppppppppppppppfffpppffffffpppwww†††www‘‘‘www‘‘‘†††VVVEEEEEE===EEEGGGVVVNNNEEE===EEENNNfff^^^†††ªªª†††ppp¶¶¶–––‘‘‘wwwÇÇÇçççïïïççççççïïïýýýçççïïïçççÎÎΪªªçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßß°°°×××ýýýýýýýýýýýýýýýýýýýýýýýýýýýççç××תªªVVV†††–––ÇÇÇ‘‘‘ÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçÝÝú��ú��ú��ö‘‘‘‘‘‘wwwwwwffffff^^^^^^ú��ú��^^^^^^^^^^^^^^^VVVVVVVVVVVVNNNNNNGGGGGGGGGNNNNNNNNNVVVVVVVVVVVVNNNGGGEEE333===EEEEEEEEEEEEEEE===333333------"""""""""---"""------""""""""""""---""""""---VVV^^^^^^VVVVVVNNNVVVVVV^^^^^^^^^^^^VVV^^^VVVVVV^^^VVV^^^^^^VVVNNN======GGGNNNVVVVVVVVVVVVNNNGGGEEE======333===333===333============333===============================================================EEEEEEEEE=========EEE===EEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVVV^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^fffffffffffffffffffffpppfffffffffppppppppppppppppppppppppfffppppppppppppppppppffffffffffff^^^www†††‘‘‘††††††   †††^^^EEEEEEEEEEEEEEEGGGGGGEEEEEEEEE===GGG^^^VVVfff–––www¶¶¶°°°^^^fff   ×××ÎÎÎçççïïïïïï×××ßßßïï着ª¶¶¶ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç×××ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý×××www–––†††ÁÁÁçççfffVVVªªªçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýûÞÞú��ú��ú��ôwwwpppffffff^^^fff^^^^^^ú��ú��^^^^^^^^^VVVVVVNNNNNNGGGGGGGGGGGGNNNGGGNNNGGGEEEEEE=========EEEEEEGGGGGGGGGGGGEEE===333333------""""""""""""""""""""""""""""""---------333"""""""""------""""""===VVV^^^^^^^^^NNNEEEGGGVVV^^^^^^^^^^^^VVVVVV^^^VVV^^^^^^^^^VVVVVVGGGGGGGGGVVV^^^^^^VVV^^^VVV^^^VVVNNNGGGEEE===333===333======333===333======333=========333==============================EEE=========EEE===EEE===EEE=========EEE===EEE===EEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^^^^fff^^^fffffffffffffffffffffpppfffpppfffppppppppppppppppppppppppwwwppppppwwwpppwwwpppppppppfffffffffffffffpppppppppfffppp‘‘‘†††ppp–––   fffGGGEEEEEEEEEEEEEEEEEENNNNNNNNNEEE===GGG^^^VVVVVVfffÁÁÁÇÇǰ°°†††VVV^^^ªªªÁÁÁïïïïïïßßßÎÎÎïïïÁÁÁÁÁÁïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßßÎÎΆ††×××çççpppfffNNN–––ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýúwwú��ú��ú��ò†††pppffffff^^^^^^fff^^^ú��ú��VVVVVVNNNGGGNNNGGGNNNGGGNNNGGGGGGGGGEEE======EEEEEEEEEGGGNNNGGGGGGEEE======333------"""""""""""""""""""""""""""""""""""""""NNNEEEGGGNNN"""---333""""""""""""EEEGGG333"""EEE^^^^^^^^^^^^NNNEEEEEEVVV^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^VVVNNNVVVVVV^^^VVV^^^^^^^^^VVV^^^VVVVVVVVVNNNNNNEEE======333======333=====================================================================EEE===EEE===EEE===EEE===EEE===EEEEEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffffffffffffff^^^fff^^^^^^^^^fff^^^fff^^^fff^^^fffffffffffffffpppfffpppppppppfffpppppppppppppppppppppppppppwwwwwwpppwwwpppppppppfffffffffffffffpppppppppppppppVVV^^^fffpppppp°°°–––NNNEEEEEE===EEEEEEEEE^^^ppp^^^NNNGGG===EEEVVV^^^pppÎÎÎÇÇǪªª¶¶¶   ^^^fffwwwªªªçççýýýïïïÁÁÁïïïïïïçççïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΰ°°çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßßçççÎÎÎwww†††ppppppïïïýýýýýýýýýýýýýýýýýýýýýýýýü´´ùú��ú��ú��ùIIßßß   wwwfffffffff^^^^^^ú��ú��GGGNNNGGGNNNNNNVVVNNNNNNGGGEEEEEEEEEEEEGGGGGGGGGEEEEEEEEE===333333---------""""""---"""""""""""""""---""""""""""""""""""""""""---===GGG---GGG^^^NNNfffGGGEEEVVVVVV333GGGNNN===GGGGGG---"""GGG^^^^^^^^^^^^VVVGGGNNNVVVVVVVVVVVV^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVVVV^^^VVV^^^^^^VVVVVVVVVNNNGGGEEE======333======333===333=========333================================================EEE===EEE===EEE===EEE===EEEEEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEE^^^fffffffff^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^ffffffffffffppppppppppppfffpppppppppfffpppppppppppppppwwwwwwwwwwwwwwwwwwpppppppppfffffffffpppppppppfffpppfffffffffGGG^^^ffffff      wwwªªªVVVEEEEEE===EEEEEE^^^^^^fffVVVEEE===EEENNNwww–––ÁÁÁ×××ÎÎΪªª†††GGGNNNªªªçççïïïÇÇÇïïïýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý×××çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýÎÎÎwwwpppßßß¶¶¶×××ýýýýýýýýýýýýýýýû°°ùú��ú��ú��ú��û¯¯ýýýçççÇÇÇú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��GGGNNNGGGGGGGGGGGGGGGEEE======333333------------"""---""""""---"""""""""---"""---===GGGEEE"""""""""""""""---333333===GGGVVVVVV^^^333EEEVVV^^^EEEGGGNNN333^^^EEENNNVVVNNNGGG^^^GGG===EEE333""""""NNN^^^^^^VVVVVVVVVVVVVVV^^^VVV^^^^^^VVVVVVVVV^^^^^^^^^^^^fff^^^^^^VVV^^^VVVVVV^^^VVVVVVVVVVVVVVVVVVVVV^^^VVVVVVVVVNNNNNNGGGEEE======333===333=========333======================================================EEE===EEE===EEE===EEE===EEE===EEEEEE===EEEEEEEEEEEEEEEEEEEEEEEEEEE===EEEfff^^^^^^fff^^^fff^^^fffffffffffffffffffffppppppfffppppppfffpppfffppppppfffpppppppppppppppppppppwwwwwwwwwwwwwwwppppppppppppfffpppppppppppppppfffpppfffppppppfffGGGVVVwwwfff‘‘‘°°°–––‘‘‘°°°‘‘‘VVVGGGEEEEEEEEEVVVfffpppwww^^^GGGEEE======GGGffffff†††ÇÇÇÁÁÁÇÇǰ°°VVV===NNNªªªççççççïïïýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï¶¶¶°°°ýýýýýýýýýýýýýýýýýýçççÇÇÇçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç¶¶¶fffppp   ^^^pppçççýýýýýýýýýû¦¦ùú��ú��ú��ú��úttýýýýýýýýýýýýú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��GGGEEEEEE=========333------------"""---""""""---""""""---"""""""""---===GGGEEE===VVVpppNNN---333===---===VVVVVVGGGVVVffffff^^^fffGGGVVVEEEVVVEEENNN======NNNGGGfffNNN===GGG^^^333---------VVV^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^VVVVVV^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVNNNEEE==============================================================================EEE===EEE===EEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEE===EEEEEE===EEEEEE^^^fff^^^fff^^^ffffffffffffffffffffffffpppfffppppppfffppppppppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwppppppppppppfffppppppfffffffffpppfffpppfffppppppppppppEEEGGGppp†††www–––––––––ªªª¶¶¶–––^^^GGGEEEEEENNN^^^wwwpppfffVVVGGGGGGEEEEEEEEENNN^^^www   ¶¶¶ÁÁÁ°°°^^^GGGNNN–––ßßßïïïýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý×××pppýýýýýýýýýýýýýýýýýýßßß×××ÎÎÎçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï¶¶¶‘‘‘ppp–––‘‘‘ÁÁÁÁÁÁªªªûœœùú��ú��ú��ùû‰‰ýýýýýýýýýýýýýýýýýýççç¶¶¶   ú��ú��GGGGGGGGGEEE333333333------------"""---""""""---""""""---""""""---"""---------"""333VVVpppfffVVVpppwwwGGGEEEVVVfffGGGGGGfffEEEEEE^^^NNN^^^NNN^^^GGG^^^GGGVVVEEE^^^333NNNGGGVVVNNN===333EEE^^^===---"""---VVV^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVV^^^VVVVVVVVV^^^^^^fff^^^^^^GGGEEE===========================================================================EEE===EEE===EEE===EEE===EEE===EEEEEE===EEE===EEEEEE===EEEEEE===EEEffffffffffffffffffffffffpppfffpppppppppppppppfffppppppppppppppppppwwwwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwpppppppppfffpppfffffffffppppppfffpppppppppwwwpppppppppfffGGGGGGVVVwww‘‘‘wwwwwwªªªªªªªªª°°°¶¶¶–––VVVGGGGGGGGGVVVppppppwwwpppVVVNNNGGGEEE======EEENNNfff   ¶¶¶ÁÁÁ°°°‘‘‘NNNNNNªªªïïïýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýÇÇÇfffwwwýýýýýýïïïýýýýýýýýýýýýýýýçççÇÇÇ×××ïïïïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýÎÎζ¶¶   ªªª‘‘‘ªªª¥::ùú��ú��ú��ùû››ýýýýýýýýýýýýýýýýýýýýýýýýïïïçç窪ªú��ú��===333333------"""---""""""""""""---""""""---""""""---""""""------===GGGGGG333---333fffwwwppppppppppppNNN===NNNfffNNNVVV^^^---===^^^NNN^^^VVV^^^NNNfff^^^NNN===VVV333VVVEEENNNfffGGGGGG^^^NNN333"""===^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^VVVVVV^^^VVV^^^^^^^^^VVV^^^^^^VVV^^^VVV^^^VVV^^^^^^VVVVVVVVV^^^^^^ffffffpppfffffffffVVVGGGEEE==============================================================================EEEEEE===EEE===EEE===EEEEEEEEE===EEEEEE===EEEEEE===EEEEEEfffpppfffpppfffpppfffpppfffppppppfffpppfffppppppppppppwwwwwwpppppppppwwwpppwwwwwwwwwwwwwwwwwwwwwpppwwwpppfffppppppppppppfffppppppppppppppppppppppppwwwpppppppppNNNGGGNNN^^^‘‘‘www†††¶¶¶ÁÁÁ°°°°°°¶¶¶   fffNNNGGGVVVpppwwwªªªfffVVVNNNGGGEEE=========VVVfff   °°°°°°ÎÎÎfffEEEVVV×××ïïïýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýÇÇÇ^^^wwwïïïýýýïïïýýýýýýýýýýýýýýýýýýïïïÇÇǰ°°ÎÎÎýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï¶¶¶pppfff°°°ÃLLú��ú��ú��ú��ùû§§ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç°°°ú��ú��---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""---===VVVppppppGGG---===fffppppppfff^^^pppGGGEEEVVVpppNNN^^^VVV---EEE^^^VVVVVVVVVGGG===VVVNNN------==="""333"""333EEE---===GGG333GGG^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^ffffff^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^VVV^^^VVV^^^^^^^^^fffpppfffpppppppppfffffffffVVVGGGEEE======================================================EEE===EEE======EEE===EEE===EEE======EEE===EEE===EEE===EEEEEEEEE===EEE===EEEfffpppppppppppppppppppppffffffpppppppppppppppppppppppppppppppppwwwwwwwwwwwwwwwwwwppppppwwwppppppppppppfffpppfffpppfffpppppppppwwwwwwwwwwwwwwwwwwwwwppppppwwwppp^^^VVVNNNVVVfffwww††††††ªªªÁÁÁÁÁÁ°°°°°°ÁÁÁÁÁÁfffNNNNNN^^^ppp°°°VVVNNNGGGGGGEEEEEE======NNNNNN   ÇÇÇççç–––EEEEEE   ïïïïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýßßß‘‘‘fffïïïýýýýýýïïïýýýýýýýýýýýýýýýýýýýýý×××ÎÎÎßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßßpppVVVÇÇÇú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ýýýýýýýýýýýýýýýýýý×××   ú��ú��"""""""""""""""""""""""""""""""""""""""---""""""""""""""""""---VVV^^^^^^pppGGG---EEEfff^^^ppp^^^VVVpppGGGVVVfffpppNNN^^^NNN---EEENNNGGG===333------""""""GGG^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^VVV^^^^^^^^^fffpppfffpppfffppppppppppppffffff^^^NNNGGG======================================================EEE======EEE===EEE===EEE======EEE===EEE===EEEEEE===EEEEEE===EEEEEE===EEEpppppppppwwwwwwpppppppppfffpppfffpppppppppppppppppppppwwwwwwwwwwwwwwwwwwwwwppppppppppppppppppfffpppfffpppfffppppppwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppwwwppp^^^^^^VVVVVV^^^VVV–––‘‘‘–––¶¶¶ÇÇǰ°°°°°×××°°°pppNNNVVVVVVwww–––‘‘‘VVVNNNGGGGGGGGGGGGEEE=========GGG†††ßßßÁÁÁpppEEE†††ýýýïïïïïïýýýýýýýýýýýýýýýýýýýýýýýýÎÎÎ^^^VVV‘‘‘ïïïïïïïïïýýýïïïýýýýýýýýýýýýýýýýýýýýýçççÇÇÇÎÎÎßßßïïïýýýýýýýýýýýýýýýýýýýýýýýý×××ÁÁÁßßßú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ýýýýýýýýýýýýýýýýýýÎÎΖ––ú��ú��""""""""""""""""""""""""""""""""""""""""""""""""---"""""""""---NNNEEENNNfffEEE---===pppVVVVVVNNN^^^pppGGGfffffffffEEEGGG===""""""---""""""""""""NNN^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^ffffffffffffpppfffpppfffpppfffppppppfffffffffVVVGGGEEE===========================================================================EEE===EEE===EEEEEEEEEEEE===EEEEEEEEE===EEEEEEppppppppppppppppppfffppppppppppppppppppppppppwwwwwwwwwwwwwwwwwwwwwwwwpppppppppffffffpppfffpppfffpppfffppppppwwwwwwwwwwwwwwwwwwwwwwwwwwwpppwwwpppwwwppppppppp^^^www†††VVV^^^NNNVVV†††ªªª‘‘‘–––ÁÁÁÁÁÁ°°°°°°ÁÁÁ¶¶¶NNNVVVfff‘‘‘†††VVVNNNNNNGGGNNNGGGGGGGGG===333===NNN‘‘‘–––‘‘‘fff–––ïïïççç×××ýýýýýýýýýýýýýýýýýýýýýýýýßßßfffVVVppp      ×××ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÎÎÎÁÁÁßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççwwwßßß‘‘‘–––çççïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΖ––fff333"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---===^^^VVV---"""EEEpppVVVEEEEEE^^^^^^===EEEGGG===------""""""""""""""""""333"""---VVV^^^^^^^^^ffffff^^^fff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^ffffffpppfffffffffpppfffpppfffpppffffffpppffffff^^^^^^VVVGGGEEE==========================================EEE============EEE======EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEppppppfffpppfffpppfffpppppppppppppppppppppppppppwwwpppwwwpppppppppppppppfffppppppfffpppffffffpppppppppwwwwwwwwwwwwwwwwwwppppppppppppwwwpppppppppppp^^^pppªªªfffNNNNNNppp‘‘‘–––––––––¶¶¶ÇÇǰ°°°°°ÎÎÎÎÎÎwwwVVVNNNpppwww^^^GGGGGGNNNGGGNNNGGGNNNGGGGGG===EEEfff†††www^^^–––ïïïßß߆††çççýýýýýýýýýýýýýýýýýýýýýïïï–––^^^NNNNNN^^^ÁÁÁïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßßçççýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýïïïÁÁÁßßßwwwÁÁÁªªªpppÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýÇÇÇ–––fff---"""""""""""""""""""""""""""""""""""""""""""""---------"""""""""---NNN^^^EEE333---EEEpppNNN333333GGGEEE---------"""""""""""""""""""""""""""""""""""""""------------333---333^^^^^^^^^^^^^^^fff^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fffffffffpppfffpppffffffffffffpppffffffffffffpppfffpppfff^^^^^^NNNEEE=========================================================EEE===EEE===EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEfffpppppppppwwwpppwwwppppppppppppwwwpppppppppppppppppppppppppppffffffpppfffpppfffpppppppppppppppwwwwwwwwwwwwwwwppppppppppppwwwwwwpppwwwwwwpppffffff¶¶¶¶¶¶wwwVVVGGG^^^www–––ªªª–––   ¶¶¶¶¶¶¶¶¶°°°ÇÇÇÇÇdž††VVVVVVffffffNNNGGGNNNNNNGGGNNNNNN^^^†††^^^GGGVVVwww†††VVVpppßßßÇÇÇwwwÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýçççNNN^^^‘‘‘çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÁÁÁÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýýýýçççpppÇÇÇfff^^^ïïïýýýýýýýýýýýýýýýýýýýýýýýýïïïÁÁÁ‘‘‘VVV---""""""""""""""""""""""""""""""""""""""""""---GGGVVV==="""""""""EEEfffVVVNNNGGG---===VVVEEE---------"""---""""""---"""""""""""""""""""""""""""333"""---333333333======""""""333333---===VVVfff^^^^^^^^^^^^fffVVVVVV^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^^^^ffffffffffffpppfffffffffffffffffffffffffffffffffpppfffpppffffffffffff^^^VVVGGGEEE======================================================EEE===EEE===EEEEEEEEEEEEEEEEEEEEEEEE===EEEEEEEEEEEEwwwwwwwwwwwwwwwppppppppppppppppppppppppfffpppfffpppfffffffffpppfffpppfffpppfffppppppwwwwwwwwwwwwwwwwwwpppppppppwwwwwwwwwwwwwwwwwwfffppp¶¶¶¶¶¶–––^^^VVVVVVppp   °°°      ªªªÎÎΪªª   ÁÁÁÁÁÁppp^^^fffNNNGGGGGGNNNNNNNNNNNNwww¶¶¶   ^^^EEENNNppp^^^ppp‘‘‘††††††¶¶¶ýýýýýýýýýýýýýýýýýýýýýýýýïïï–––ªªª×××ïïïýýýýýýïïïïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎÎÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýýýýïïï°°°ÁÁÁVVVNNN^^^ïïïýýýýýýýýýýýýýýýýýýýýýýýýçççÁÁÁ†††NNN---"""""""""""""""""""""""""""""""""---------EEE^^^NNN===""""""---VVVwwwpppfffEEE------------""""""---"""---"""---""""""""""""""""""""""""""""""""""""===EEE======EEE===------""""""333333---"""GGG^^^^^^^^^fff^^^^^^NNNVVV^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^ffffff^^^ffffffffffffffffffffffffpppfffffffffffffffffffffffffffffffffffffffffffffffffff^^^VVVGGGEEE==========================================EEE======EEE===EEEEEEEEEEEEEEEEEEEEE===EEE===EEEEEEEEEEEEwwwwwwwwwpppwwwppppppwwwpppfffpppppppppppppppfffpppppppppfffpppfffpppppppppwwwwwwwwwwwwwwwppppppwwwwwwwwwwwwwww†††^^^^^^ªªª¶¶¶ªªªfffVVVfffppp–––   ––––––¶¶¶°°°ªªª–––ªªª¶¶¶ªªª^^^^^^NNNGGGGGGNNNVVVNNN^^^ªªª×××¶¶¶†††NNNEEEGGGNNNfff‘‘‘°°°ýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïïïïýýýýýýýýýýýýÁÁÁ‘‘‘ÁÁÁçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççßßßýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýßßßfff–––¶¶¶ßßß°°°×××ýýýýýýýýýýýýýýýýýýççç¶¶¶†††GGG---""""""""""""""""""""""""""""""333GGGVVVEEEGGGppp^^^GGG---"""333^^^fffVVVEEE---""""""""""""---"""------"""---""""""""""""""""""""""""""""""------"""""""""---===EEE===333---"""---======333---NNN^^^^^^^^^^^^VVVVVVVVV^^^^^^^^^^^^^^^^^^fff^^^^^^^^^^^^fff^^^ffffff^^^fff^^^^^^fff^^^^^^fff^^^ffffffffffffpppffffffffffffffffffffffffffffffffffffpppfffpppfffffffffffffffpppffffff^^^NNNEEE=============================================EEE===EEEEEEEEEEEEEEE===EEE===EEE===EEE===EEEEEEEEEwwwwwwwwwwwwpppppppppfffppppppfffpppffffffpppppppppfffpppppppppwwwwwwwwwwwwwwwwwwpppppppppwwwwwwpppwwwwww††††††www^^^^^^†††   –––fff^^^fffpppwww‘‘‘ªªª   –––   ÁÁÁ   ‘‘‘ªªªÎÎΆ††wwwNNNNNN^^^fffppp^^^fffÇÇÇÎÎÎÁÁÁ–––pppGGGGGGGGGfff†††‘‘‘ªªªïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïýýýïïï°°°†††ªªªçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý×××çççýýýýýýýýýýýýýýýýýýýýýïïï‘‘‘¶¶¶çççÎÎÎVVV†††ýýýïïïýýýýýýýýýýýýççç¶¶¶‘‘‘EEE""""""""""""""""""---===333"""---GGG^^^pppGGG===NNNppp^^^---"""---EEE===---""""""""""""---""""""---""""""---""""""---""""""---------""""""---===EEE===---333---"""---""""""=========333VVV^^^^^^^^^VVVNNNVVV^^^^^^^^^^^^^^^^^^fffVVV^^^^^^^^^fff^^^fff^^^fff^^^^^^ffffff^^^ffffffffffff^^^fffffffffffffffpppffffffffffffffffffffffffffffffffffffffffffpppfffpppfffppppppffffff^^^VVVGGGEEE====================================EEE===EEE===EEEEEEEEEEEEEEE===EEE=========EEE===EEEEEEwwwwwwwwwwwwpppppppppppppppppppppppppppppppppfffpppppppppwwwwww†††wwwwwwppppppwwwwwwwwwppppppwwwwww†††††††††††††††ppp^^^^^^––––––†††fffffffffpppwww‘‘‘      ‘‘‘ªªª°°°ªªª–––ªªª°°°¶¶¶fffVVVpppwwwwwwpppfff¶¶¶ÎÎÎÎÎΠ  †††fffVVVfffppp‘‘‘   ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï¶¶¶‘‘‘   °°°×××ýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýßßß¶¶¶×××ýýýýýýýýýýýýýýýýýýýýý××׆††ÁÁÁÁÁÁppp†††çççÇÇÇçççýýýýýýýýýççç¶¶¶†††===""""""""""""------EEE^^^==="""333^^^fffVVV===EEENNNfffNNN---""""""---""""""---"""""""""""""""---""""""---"""------------"""---=========---333EEEEEE333"""---""""""333======333^^^^^^^^^NNNNNNVVV^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^fff^^^fff^^^fff^^^ffffff^^^fffffffff^^^^^^fffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppffffffpppffffffffffffpppfffffffff^^^NNNEEE========================EEE==================EEE===EEE===EEE=========EEE======EEE===EEEwwwwwwwwwwwwpppwwwpppwwwpppppppppppppppfffppppppppppppwwwwwwwwwwwwpppwwwwwwwwwwwwwww††††††††††††wwwppp^^^VVV†††ªªªªªª‘‘‘†††^^^ppppppwww‘‘‘ªªª–––†††   ¶¶¶°°°–––°°°ÎÎΰ°°ppppppfffpppwwwfff   °°°ÁÁÁªªª†††www‘‘‘fffppp‘‘‘–––ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï×××   ÁÁÁ¶¶¶×××ýýýýýýýýýýýýýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýßßßßßßýýýïïïýýýïïïýýýýýýýýýýýýïïï××תªªppp¶¶¶ççç      ïïïýýýýýýççç°°°===---"""---333======NNNppp333"""===pppfffGGGGGGGGGfffNNN==="""""""""""""""---"""""""""""""""---""""""---"""------333===------===GGGEEE333---333333---""""""""""""---======EEEVVVVVVNNNNNN^^^^^^VVV^^^VVV^^^^^^fff^^^VVV^^^^^^^^^^^^^^^fff^^^fff^^^ffffff^^^ffffffffffff^^^ffffffffffffpppfff^^^fffffffffffffffffffffpppfffpppffffffpppffffffpppfffffffffffffffpppffffffffffff^^^VVVGGG==================EEE===============EEE=========EEEEEE===EEE=========EEE===EEE===EEEwwwwwwwwwwwwwwwwwwppppppwwwppppppfffpppppppppwww††††††wwwwwwwwwwwwwwwwwwwwwwwwwww†††††††††††††††ppp^^^^^^‘‘‘¶¶¶°°°ªªªppp^^^ppppppwww‘‘‘ªªª‘‘‘†††–––ÁÁÁ¶¶¶–––   ÎÎÎÇÇÇwww^^^VVVfffwwwfffwww–––†††www–––VVVppp––––––çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççççç–––×××ççç×××ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïïïïßßßÁÁÁïïïýýýýýýýýýýýýïïïVVV°°°çççÁÁÁ‘‘‘çççýýýýýýçç窪ªEEE333---333NNNNNNGGGVVVppp333"""333fffppp^^^GGG===333333""""""""""""""""""""""""""""""""""""""""""---333333---333EEEGGG===333GGGEEE===---"""""""""""""""""""""""""""---"""===333GGGVVVVVVVVVVVVVVVVVV^^^VVV^^^^^^^^^VVVVVV^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^^^^fff^^^ffffffffffffffffffffffffffffff^^^fff^^^fffffffffffffffpppffffffpppfffffffffffffffpppfffffffffpppfffffffff^^^fff^^^^^^GGGEEEEEE===EEE==============================EEE======EEE===EEE=========EEE===EEEEEEwwwwwwwwwwwwwwwppppppfffwwwwwwwwwwwwwwwwwwwwwwwwpppwwwwwwwww††††††††††††††††††www^^^fff–––   ¶¶¶†††ffffffpppwww‘‘‘‘‘‘   †††–––ÁÁÁ¶¶¶‘‘‘‘‘‘¶¶¶¶¶¶wwwffffffwww^^^ppp   ppp^^^ffffff‘‘‘–––^^^VVV––––––×××ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççßß߆††×××ýýý×××çççýýýýýýýýýýýýïïïýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýïïïççç°°°çççýýýýýýýýýýýýýýý¶¶¶^^^°°°ÎÎÎÎÎÎ×××ýýýýýýýýýßßߪªªwwwGGGEEE======^^^GGGEEENNNpppEEE333EEENNN^^^NNN---""""""""""""""""""""""""""""""""""""""""""---"""---===EEEEEEGGGGGGGGGEEE333---333---"""""""""""""""""""""""""""---333=========---------NNN^^^VVVVVV^^^VVV^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^ffffffffffffffffffpppfffpppfffffffff^^^ffffffffffff^^^fffffffffffffffffffffffffffffffffffffffffffffffffff^^^^^^^^^^^^fffffffff^^^VVVEEEEEE===EEE===EEE========================EEE======EEE======EEE======EEE===EEE†††wwwwwwpppppppppwww††††††wwwwwwwwwwwwwwwpppwwwwwwwwwwwwwwwwwwwwwwww††††††‘‘‘‘‘‘††††††www^^^^^^–––°°°°°°–––wwwfffpppppp†††°°°‘‘‘†††   ÁÁÁ°°°‘‘‘†††°°°ªªªpppffffffpppwwwfff^^^^^^   wwwGGG–––ÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßßßßß¶¶¶ßßßïïïÎÎÎçççýýýýýýýýýïïïÇÇǰ°°ßßßïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýÇÇǶ¶¶çççßßßýýýýýýýýýïïïßßßçççßßßßßßýýýýýýýýýýýýßßß   pppEEEEEE======NNNEEE333GGGppp^^^VVVNNN333---"""""""""""""""""""""""""""---""""""---"""---333333EEEEEEGGGGGGGGGEEE===333------""""""---"""""""""""""""""""""""""""333======EEEEEE===333"""---VVV^^^VVVVVVVVV^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^ffffffffffffffffffffffffffffffffffff^^^fff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffff^^^^^^^^^VVV^^^ffffffpppfffpppffffff^^^GGGEEE=======================================EEE===EEE======EEE===EEE===EEE†††††††††wwwwwwwwwwww††††††††††††††††††††††††wwwwwwwwwwwwpppwwwpppwwwwwwwww†††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘††††††www^^^fff†††¶¶¶ÁÁÁ°°°pppfffpppwwwwww†††‘‘‘–––†††ªªª¶¶¶ªªªwwwwww‘‘‘pppwww^^^www†††††††††fffpppppp‘‘‘‘‘‘GGGppp–––¶¶¶ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï¶¶¶°°°°°°çççççç×××ßßßýýýýýýýýýÎÎΆ†††††   ÁÁÁïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï×××ÇÇÇÇÇÇïïïýýýýýýýýýýýýýýýïïïïïïýýýýýýýýýýýý××תªªpppEEE333======EEE===333EEEpppfffNNN===""""""------"""------"""""""""---""""""---333EEEEEEGGGGGGGGGGGGEEE333333---""""""---"""""""""""""""""""""""""""""""""""""""""""""""""""333======EEEEEE===333""""""333VVVVVVVVVVVVVVV^^^^^^^^^VVV^^^^^^^^^^^^ffffff^^^^^^^^^fff^^^^^^fff^^^ffffffffffff^^^ffffffffffffffffff^^^ffffff^^^fffffffffffffffffffffffffffffffff^^^fff^^^ffffff^^^fff^^^^^^^^^VVV^^^fffpppfffppppppfffpppppppppfff^^^NNNEEE=======================================EEE===EEEEEE===EEE===EEE===†††www†††‘‘‘‘‘‘†††‘‘‘††††††††††††wwwwwwwwwpppppppppppppppwwwwww††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘††††††www^^^^^^†††ªªª°°°–––pppfffpppwwwpppªªª   ‘‘‘‘‘‘ªªª†††wwwppppppwwwwwwppp††††††www‘‘‘†††‘‘‘–––^^^VVV   °°°ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçç熆†¶¶¶ªªªçççßßßïïïïïïýýýççç°°°‘‘‘¶¶¶ÇÇǪªªÎÎÎïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÁÁÁÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï××תªªpppEEE333=========333---333GGGEEE---"""---===EEE======333EEE------333333333"""333GGGEEEEEE===333------"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""------333333333"""""""""===VVVVVV^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fffffffff^^^fffffffff^^^^^^^^^ffffffffffff^^^fffffffffpppffffffffffff^^^ffffff^^^fffffffff^^^^^^VVV^^^^^^fffffffffppppppfffppppppfffppppppppppppfffNNNGGG=========EEE===========================EEE===EEE===EEE======EEE††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††wwwwwwwwwpppfffppppppwwwwwwwwwwwwwww††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††wwwfff^^^‘‘‘¶¶¶¶¶¶fffppppppppp–––°°°†††††††††°°°†††††††††fffwwwpppwww––––––‘‘‘–––†††NNN–––¶¶¶ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýÁÁÁ^^^†††wwwfffÁÁÁïïïçççßßßýýýÎÎÎÁÁÁ¶¶¶ÇÇǪªªÁÁÁ   ßßßýýýýýýýýýýýýýýýýýýïïïýýýýýýýýýýýýïïï×××ßßßÎÎÎýýýýýýýýýýýýýýýýýýýýýýýýïïï×××   pppEEE333333===------"""""""""""""""333EEENNNNNNGGGGGGEEEEEEEEENNNNNNEEE333EEE===------"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---EEEVVV^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^fff^^^fff^^^fffffffff^^^fffffffffVVV^^^^^^ffffffffffffffffff^^^fffffffffffffff^^^fff^^^fffffffffffffff^^^^^^VVV^^^^^^ffffffpppfffpppfffpppppppppppppppppppppppppppfff^^^GGGEEE======EEE=====================EEE===EEE===EEE============††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††wwwwwwwwwfffppppppwwwwwwwwwwwwwwwwwwwwwwww††††††††††††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘†††wwwfff^^^†††°°°†††–––wwwfffppppppppp°°°ªªª††††††°°°°°°–––ªªª‘‘‘ppppppfff^^^www†††‘‘‘–––‘‘‘–––pppÁÁÁýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï–––NNNfff–––ÁÁÁßßßÎÎΠ  ïïïççççççÁÁÁ°°°°°°ßßßÁÁÁ¶¶¶ïïïýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýïïïÎÎÎ×××çççýýýýýýýýýýýýýýýýýýïïï×××   pppEEE333""""""""""""---333333======GGGVVVVVVNNNGGGGGGEEEEEE===---333===---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---GGG^^^^^^ffffff^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^fff^^^^^^ffffff^^^fff^^^ffffffffffffffffffffffff^^^ffffff^^^fffffffffffffffffffffpppfffffffff^^^fffffffffffffff^^^^^^VVVVVVfff^^^ffffffpppfffffffffpppfffpppfffpppppppppppppppppppppfff^^^GGGEEEEEE===EEE===EEE======EEE======EEE===EEE===EEE=========‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††wwwwwwpppfffpppwwwwwwwwwwwwwwwwwwwwwwwwwww††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††pppfff‘‘‘‘‘‘ªªªªªª‘‘‘pppppppppppp†††°°°ªªª†††‘‘‘ªªª‘‘‘   †††wwwppppppVVVpppwww‘‘‘‘‘‘‘‘‘wwwfffÁÁÁýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïppp^^^‘‘‘°°°ÁÁÁ×××ßßß   çççïïïïï着ª‘‘‘‘‘‘¶¶¶ßßßÎÎÎ×××ýýýýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýïïï×××çççýýýýýýýýýýýýýýýýýýïïï×××   ^^^===333---"""---333GGGGGGNNNEEE===EEEGGGGGGGGG===333------"""""""""---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---""""""""""""""""""""""""""""""""""""---VVV^^^^^^^^^^^^^^^ffffffffffff^^^^^^^^^fff^^^^^^fff^^^^^^^^^fff^^^fff^^^fffffffffffffffffffffffffff^^^fffffffffffffffffffffpppfffpppffffff^^^^^^ffffffffffff^^^VVV^^^^^^ffffffffffffffffffpppffffffpppfffpppppppppfffppppppppppppppppppfffNNNEEEEEE===EEE===EEE======EEE=========EEE============EEE‘‘‘–––‘‘‘–––‘‘‘†††‘‘‘†††††††††††††††††††††wwwwwwpppfffpppwwwwwwwwwwwwwwwwwwwwwwww†††††††††††††††††††††††††††‘‘‘‘‘‘–––––––––‘‘‘fff^^^wwwªªª¶¶¶°°°†††fffffffffppp†††ªªª–––wwwwww†††pppfffwwwpppwww^^^pppfffpppwww†††‘‘‘pppwwwÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýÎÎÎppp‘‘‘°°°–––¶¶¶×××^^^¶¶¶ïïïççç¶¶¶†††ppp‘‘‘      ïïïýýýýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΖ––NNN======333333---""""""EEENNNVVVVVVGGG===EEEEEE===333---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---""""""""""""---"""""""""---""""""""""""---333VVVfff^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^^^^fff^^^fff^^^^^^^^^^^^^^^ffffffpppfffpppfffpppfffffffffffffff^^^fffffffffffffffffffffffffff^^^ffffffffffff^^^^^^VVV^^^^^^ffffffpppfffffffffffffffppppppfffpppfffpppfffpppppppppppppppwwwppppppfffVVVEEEEEE===EEE===EEE=========EEE======EEE============‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††wwwwwwwwwwww†††wwwwwwwwwwwwwwwwwwwwwwwwwwwwww††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘––––––   ––––––†††ppp^^^°°°¶¶¶ªªªpppffffffpppwww–––wwwwwwwwwpppfffwwwpppwww†††ppp^^^pppwww†††‘‘‘‘‘‘‘‘‘°°°çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýÁÁÁffffffppp–––ÁÁÁ‘‘‘VVV°°°ßßßçççßßß¶¶¶wwwppp^^^wwwÎÎÎýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÇÇÇ–––NNN=========333333""""""===NNNVVVGGGGGGEEE======333333333"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---"""""""""""""""---"""""""""""""""---""""""""""""""""""EEE^^^^^^^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^fff^^^VVV^^^^^^fffffffffffffffffffffffffffffffff^^^fffffffffffffffpppfffffffffffffffffffff^^^fffffffff^^^^^^fffffffffffffffffffffffffffppppppfffpppfffppppppppppppppppppwwwwwwwwwwwwpppppppppVVVGGGEEE===EEE===EEE===EEE======EEE===============‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘wwwwwwpppwww†††††††††wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––   –––‘‘‘ffffff°°°¶¶¶   wwwffffffpppwwwwwwwwwpppwwwwwwpppwww†††www–––wwwfffpppwww†††‘‘‘–––‘‘‘ªªªÁÁÁÎÎÎïïïýýýýýýýýýýýýýýýýýýýýýýýýÇÇÇNNN^^^VVVNNN^^^¶¶¶–––^^^†††   ßßßïïïßßß‘‘‘^^^^^^fff^^^†††ïïïýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÇÇÇ   NNN333======333333---"""---333======333============333---""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---""""""""""""---"""""""""""""""---""""""""""""""""""---"""EEEVVV^^^^^^fffffffff^^^^^^fff^^^ffffff^^^fff^^^fff^^^fffVVVVVV^^^^^^fff^^^fffffffffpppfffffffffffffff^^^fff^^^ffffffffffffpppfff^^^ffffff^^^fffffffffffffffffffffffffffffffffpppfffpppfffpppfffppppppppppppppppppppppppwwwpppwwwwwwwwwwwwwwwwwwpppfff^^^GGGEEE===EEE===EEE===EEE======EEE======EEE===‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††wwwwww†††††††††††††††††††††wwwwwwwwwwwwwwwwwwwwwwwwwwwwww†††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––   –––   –––‘‘‘fff^^^ªªª°°°°°°wwwffffffpppwwwwwwwwwppppppwwwpppwww†††fff‘‘‘‘‘‘wwwfffppp‘‘‘†††––––––         çççýýýýýýýýýýýýýýýýýýýýýýýý×××NNNGGGGGGVVV^^^www°°°†††VVVfffpppÇÇÇßßß×××   fff^^^^^^VVV^^^×××ýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇ   NNN======333333------===333333333333333333---""""""""""""""""""""""""""""""""""""---"""""""""""""""""""""""""""""""""""""""---"""""""""""""""---"""""""""""""""---""""""""""""""""""---"""---GGGffffffffffff^^^ffffff^^^fffffffff^^^fff^^^fffffffffVVVNNN^^^^^^fff^^^ffffffffffffffffffffffffffffff^^^ffffffffffffpppfffffffff^^^fffffffffffffffffffffffffffffffffpppfffffffffppppppfffppppppfffpppfffpppppppppwwwpppwwwpppwwwpppwwwwwwwwwpppppppppfff^^^NNNEEEEEE============EEE===EEE=========EEE   –––††††††††††††††††††††††††‘‘‘†††††††††††††††††††††wwwwwwwwwwwwwwwwwwwwwwww†††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––   –––      ––––––‘‘‘ppp^^^°°°ÁÁÁ–––wwwffffffpppwwwwwwppppppwwwpppfffppp^^^††††††‘‘‘wwwppp†††–––‘‘‘‘‘‘‘‘‘‘‘‘ÁÁÁïïïýýýýýýýýýýýýýýýýýýýýýïïïfffEEEGGGfff†††www   NNNVVVppp¶¶¶ïïïÁÁÁªªª–––www^^^NNNNNN   ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÁÁÁ   NNN===333------""""""---333333333---""""""""""""""""""""""""""""""""""""""""""---"""---""""""---"""""""""---""""""""""""""""""---"""""""""---""""""---""""""""""""---""""""""""""---"""---"""""""""---VVV^^^ffffffffffff^^^fffffffff^^^ffffff^^^fff^^^ffffffNNNNNN^^^fff^^^ffffffffffffffffffpppffffff^^^^^^fffffffffffffffpppffffffffffff^^^fffffffffffffffffffffffffffpppfffpppfffffffffppppppfffpppfffppppppppppppppppppwwwpppwwwwwwwwwwwwpppwwwppppppwwwppppppfffNNNEEE======EEE===EEEEEE======EEEEEE===‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘‘‘‘††††††‘‘‘†††††††††††††††wwwwwwwwwwww††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘––––––   –––         –––‘‘‘fff^^^†††ªªª¶¶¶¶¶¶wwwffffffppppppppppppppppppffffffVVVppp‘‘‘‘‘‘‘‘‘pppwww‘‘‘‘‘‘–––wwwªªªïïïýýýýýýýýýýýýýýýýýýýýýýýýÁÁÁNNNNNNppp¶¶¶–––pppGGGNNNppp‘‘‘×××   °°°†††^^^NNNNNNpppßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÁÁÁ   VVV===---"""---------"""---------""""""""""""""""""""""""""""""""""""---"""---"""------------"""""""""""""""""""""---""""""""""""---""""""---""""""---""""""""""""""""""---333===---"""""""""333^^^ffffff^^^fff^^^fffffffffffffff^^^ffffff^^^ffffff^^^GGG^^^^^^fffffffffffffffpppffffffffffffffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppfffpppfffppppppppppppppppppppppppwwwpppppppppwwwwwwpppfffpppppppppppppppfffNNNEEE======EEE===EEE===EEE===EEE===‘‘‘††††††††††††††††††‘‘‘††††††‘‘‘†††‘‘‘‘‘‘†††††††††††††††wwwwww††††††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––   –––            –––†††wwwfff^^^www¶¶¶ÁÁÁªªªwwwffffffppppppppppppppppppfffNNNVVV‘‘‘†††‘‘‘fffVVVwww†††–––†††ppp‘‘‘çççýýýýýýýýýýýýýýýýýýýýýýýýçççfffGGG××׆††‘‘‘wwwNNNGGGpppfff‘‘‘†††   www^^^VVVVVVNNNÁÁÁýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç¶¶¶   NNN===---"""---333---""""""------""""""""""""""""""---""""""---"""------"""---"""------333======---""""""---""""""---""""""---"""---""""""---""""""---"""------"""---333333333===333---""""""---===^^^^^^ffffff^^^ffffff^^^fff^^^ffffff^^^ffffffffffffNNNGGG^^^^^^ffffff^^^fffffffffffffffffffff^^^^^^^^^fffffffffffffffffffff^^^fff^^^fffffffffffffffffffffpppffffffffffffpppffffffpppfffpppfffppppppppppppppppppppppppwwwpppwwwpppwwwppppppfffpppfffpppfffpppppppppfffNNNEEEEEE=========EEE===EEE======†††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘††††††††††††www†††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––   ––––––   –––––––––‘‘‘†††fff^^^wwwªªª¶¶¶ªªªffffffpppppppppppppppfffVVVNNNVVV†††wwwpppGGGNNNfffwwwwww^^^†††ßßßýýýýýýýýýýýýýýýýýýýýýýýýïïïpppNNN   ×××¶¶¶fff†††wwwNNN^^^VVVVVV†††ªªª–––wwwVVVNNNNNNGGG‘‘‘ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç¶¶¶‘‘‘GGG333"""------333---"""""""""---"""---"""------""""""---"""------333------333===---======EEEEEE""""""---""""""---""""""---""""""""""""---""""""---------333===---333EEEEEE===EEE===---"""---"""EEE^^^^^^^^^^^^ffffffffffff^^^ffffff^^^ffffff^^^fffVVVNNNVVVffffff^^^ffffffffffffpppffffffffffff^^^fff^^^^^^ffffff^^^ffffff^^^ffffffffffffffffff^^^ffffffffffffpppffffffpppfffpppffffffpppfffpppppppppppppppfffpppppppppwwwwwwpppwwwwwwpppfffffffffpppfffpppfffpppfffpppfffNNNEEE===EEE===EEE============††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††††††††††††††www††††††††††††††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘––––––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††fffVVV†††°°°ÁÁÁ¶¶¶ffffffpppfffpppwwwppp^^^NNNNNNfffpppEEEEEEGGGVVVppp^^^pppÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýçççfff^^^¶¶¶ßßßÎÎÎwwwpppVVVVVVªªª°°°†††wwwVVVEEEEEEEEE^^^çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç°°°†††EEE------333---------"""---"""------"""---------------"""------"""---------333333======EEE===EEE======EEE---"""""""""---"""---""""""---""""""---""""""---333EEE333EEE===333======333333EEEEEE---""""""---GGG^^^fffffffff^^^fffffffffffffff^^^fff^^^^^^fffVVVNNN^^^^^^fffffffffffffffpppffffffffffffffffff^^^^^^fff^^^fffffffff^^^ffffffffffffffffffffffffffffffffffffpppfffffffffpppfff^^^ffffffppppppfffpppffffffpppppppppppppppwwwwwwwwwwwwpppfffffffffffffffpppfffpppfffpppfffpppfffNNNEEE===EEE===EEE=========†††‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††††††††www†††††††††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘fffVVVwwwÁÁÁ¶¶¶°°°www^^^ppppppfffwwwwwwfff^^^NNNGGG^^^pppVVV======GGGNNNfff†††–––ïïïýýýýýýýýýïïïïïïýýýýýý×××VVV^^^ÁÁÁßßßçççÇÇÇppp†††www––––––°°°   wwwfffNNNEEE======GGGÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßß°°°www===------333------------"""---------------333===333---------------===333333EEE===EEE333GGGEEEEEE=========""""""---"""---""""""---"""---"""---"""---------===EEE333GGG333======333333========="""---"""---NNN^^^^^^^^^ffffff^^^fff^^^^^^fff^^^^^^^^^fff^^^^^^^^^^^^fff^^^ffffffpppffffffffffffffffff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffffffffffpppfffffffffffffff^^^ffffffppppppffffffppppppfffpppfffpppwwwwwwwwwwwwpppffffffffffffffffffffffffffffffpppfffppppppfffNNNEEE===EEE============–––‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††wwwwww††††††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘–––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘–––‘‘‘‘‘‘www^^^VVVwwwªªªªªª–––ffffffpppfffpppwwwfff^^^pppGGGNNN^^^GGG===EEENNN^^^ppp†††‘‘‘†††ßßßïïïýýýïïïÎÎÎ×××çççïïï   GGG^^^ÁÁÁçççßßßßßß°°°†††pppppp‘‘‘ªªª–––fffVVVGGGEEEEEE===EEE   ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßߪªªfff333---------------"""---------------"""---======333333333===333EEE===333===GGG===EEE===EEE===EEE---333333---""""""---"""---"""---""""""---"""333======---EEE===---GGG333EEEEEE===333===333---"""""""""333VVV^^^^^^fff^^^fff^^^^^^^^^^^^^^^fff^^^^^^ffffff^^^^^^fff^^^ffffffffffffffffffpppfffffffff^^^ffffffffffffffffff^^^fff^^^fffffffffffffffffffffffffffpppfffffffffffffffppp^^^^^^ffffffpppfffpppfffpppfffpppfffpppppppppwwwwwwwwwwwwfffffffff^^^^^^^^^fff^^^fffpppfffffffffpppfffppp^^^NNNEEE===============‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††††††††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††fffVVVfff‘‘‘ªªª^^^pppfffpppfffppppppppppppNNNVVVVVVNNNEEEEEENNNpppwww†††wwwÇÇÇïïïççççç窪ª   ßßßÇÇÇpppEEEVVVÁÁÁççççççççç××ב‘‘www^^^VVVfffpppfffVVVGGGEEEEEEEEE======pppïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïßßß   ^^^333---"""------"""333------------------333GGGEEE=========EEE333EEEEEE===EEEEEE===GGG======---333---"""---"""---"""---""""""---"""333===333333======GGG===EEE333333EEE---EEEEEE==="""---"""---"""""""""333^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^fffffffff^^^fff^^^fff^^^fffffffffpppffffffffffff^^^fffffffffffffffffffff^^^fff^^^fff^^^fffffffff^^^ffffffffffffffffffffffffffffff^^^fffffffffpppfffpppffffffpppfffpppfffpppppppppwwwppppppfffffffff^^^^^^ffffffffffff^^^ffffffffffffpppfffffffff^^^NNNEEE============†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘–––‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘wwwfffVVVppp°°°ffffffpppfffffffffpppppp^^^^^^^^^NNNNNNGGG===GGGfffwwwfffÇÇÇïïïççççççÁÁÁ°°°ÎÎΠ  ^^^EEEGGG¶¶¶çççïïïïïïßßß‘‘‘^^^fffNNNNNNNNNVVVGGGEEE======EEEEEE===NNNçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý××תªªNNN------------"""---333EEE333333===EEE===333GGG===EEEEEE===GGG333===EEEEEE===EEE---333333---"""---"""---"""---"""---"""---333=========GGGEEE333EEE333GGG333GGG333333GGG333---------""""""""""""""""""===^^^^^^fff^^^^^^^^^VVVVVV^^^fffffffffffffff^^^^^^fff^^^ffffffffffffffffffpppfff^^^^^^fffffffffffffff^^^fff^^^fff^^^fff^^^fff^^^^^^^^^fffpppfffpppffffff^^^ffffffffffff^^^ffffffpppffffffffffffpppfffpppfffppppppppppppppppppfffffffffffffffffffffffffffffffffpppfffpppfffpppfffffffffffffffNNNEEE=========‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††††††††††††††‘‘‘††††††‘‘‘†††‘‘‘†††††††††‘‘‘†††‘‘‘††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††‘‘‘‘‘‘†††wwwfffVVVfff^^^fffpppfffffffffpppfff^^^VVVVVVVVVGGGEEE===EEENNN‘‘‘–––   –––×××ïïïßßßçççÇÇǶ¶¶      ^^^EEEGGGwwwÎÎÎïïïïïïççç–––VVV^^^^^^NNNGGGGGGEEE==================EEEÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï××תªªGGG------"""---------EEEGGG===EEEEEEEEEEEE===GGG===GGGEEEEEEEEE===EEE===333333------------"""---"""---"""---"""---333333333EEE===GGG===EEE===EEEEEE===EEE333GGG===---------"""""""""""""""""""""GGG^^^^^^^^^fff^^^^^^^^^fffffffffffffffffffff^^^fff^^^fffffffffffffffpppffffffffffffffffffffffffffffff^^^fff^^^^^^fff^^^^^^^^^fff^^^fffffffffffffffffffffffffffpppfff^^^pppfffpppfffffffffpppffffffpppfffpppfffppppppppppppfffffffffpppfffffffffffffffpppppppppppppppppppppppppppffffffppppppfffNNNEEE======‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘†††††††††‘‘‘††††††‘‘‘†††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘††††††††††††‘‘‘†††‘‘‘‘‘‘†††††††††‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††‘‘‘‘‘‘††††††wwwfffVVV^^^fffpppfffpppffffffppp^^^NNNNNNGGGEEEEEE======EEEfff°°°¶¶¶¶¶¶çççïïïßßßÎÎΰ°°‘‘‘   ÎÎÎpppNNNGGGfff   ßßßçççççç°°°VVVGGGffffffNNNEEE===333333333333333333EEE°°°ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï××תªªGGG---"""------------EEEGGG===GGG===EEEEEE===GGG333GGGGGGEEE===---333------------"""------===------------------=========EEEEEE333GGG333EEE===EEEGGGEEE333---------"""---""""""""""""""""""""""""NNN^^^fff^^^^^^^^^fff^^^fff^^^^^^ffffff^^^fff^^^fffffffffffffffffffffffffff^^^fff^^^ffffffpppffffff^^^fff^^^ffffff^^^^^^fff^^^^^^fffffffffffffffffffffffffffpppffffffffffffpppfffpppfffpppfffpppfffppppppfffpppppppppfffffffffffffffffffffpppfffffffffffffffpppppppppwwwpppppppppppppppppppppffffffNNNEEE===‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††‘‘‘††††††‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘††††††††††††††††††††††††‘‘‘‘‘‘††††††fffVVVVVVfffppppppfff^^^fffpppVVVNNNGGG===============NNN   ªªª°°°ÎÎÎçççÁÁÁ–––––––––ªªª×××–––^^^GGG^^^–––ÁÁÁççççççÁÁÁfffEEEVVVwwwVVVGGG===333333333333===–––ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï×××–––EEE------------------EEEGGG===GGG===GGGEEE===EEE333333===333---------------333333------EEEGGG333333===EEE===333GGG---333EEEEEE===GGG333GGG333333===333---"""---""""""""""""""""""""""""""""""---VVV^^^^^^^^^^^^fffffffff^^^fff^^^^^^^^^^^^ffffff^^^ffffffffffffpppffffffffffffffffffffffffpppfff^^^fffffffff^^^fff^^^fff^^^fffffffffffffffffffff^^^ffffffffffffffffffpppffffffffffffffffffffffffpppfffppppppfffpppffffffffffffffffffffffffffffffffffffpppfffpppppppppwwwwwwwwwwwwppppppwwwppppppffffffGGGEEE‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘††††††††††††‘‘‘†††‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††‘‘‘‘‘‘††††††fffNNN^^^ppppppfffffffffpppfffpppVVVEEEEEE333===EEEVVV†††‘‘‘ªªªÎÎζ¶¶†††‘‘‘      °°°‘‘‘pppVVVVVV†††ªªª×××çççÇÇdž††GGGGGGppp¶¶¶ÇÇÇ   pppNNNEEE333333333===wwwïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΑ‘‘===------------------GGGGGGEEEGGG333EEE===333333------------------"""---333GGGEEE---333GGGNNN333======GGG======EEE------GGG======EEE---===---"""------"""---"""""""""""""""""""""""""""""""""333VVV^^^^^^^^^fff^^^fffffffff^^^^^^^^^VVV^^^fff^^^fffffffffffffffffffffffffff^^^fffffffffffffffffffff^^^ffffffffffff^^^fff^^^ffffffffffffffffff^^^ffffffffffffffffffppppppffffffpppfffpppfffpppfffppppppfffppppppffffffffffffffffffffffffffffffffffffpppfffpppppppppppppppwwwppppppwwwwwwppppppfffpppfff^^^GGG†††‘‘‘‘‘‘††††††‘‘‘†††‘‘‘‘‘‘†††‘‘‘††††††††††††‘‘‘††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘†††††††††††††††‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘†††fffNNNVVVpppppppppfffpppppp†††ªªªwwwGGGEEE===EEEfff†††††††††°°°××××××   †††††††††–––†††^^^VVVpppªªªÎÎÎßßßÎÎΖ––NNNVVV°°°ßßß×××°°°–––wwwGGG===333===333^^^ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΆ††===------------------GGGEEE333===333---------------------------"""------===NNNGGG333===NNNGGG333======GGG===EEEEEE------EEE333333333------"""---"""""""""""""""""""""""""""""""""""""""""""""EEE^^^^^^^^^^^^^^^ffffffffffff^^^fffVVVVVV^^^^^^ffffffffffffpppffffffffffffffffffffffffpppfffffffff^^^ffffffffffffffffff^^^ffffff^^^ffffffffffff^^^fffffffffffffffpppfffpppfffffffffffffffffffffpppppppppffffffpppffffffpppfffpppffffffffffffffffffffffffpppppppppppppppwwwpppppppppppppppfffppppppfffpppfff^^^†††††††††‘‘‘††††††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘†††‘‘‘†††fffVVVVVVppppppffffffppp‘‘‘¶¶¶   ^^^GGGEEEEEE^^^‘‘‘°°°–––ªªªÁÁÁ×××°°°‘‘‘‘‘‘†††–––°°°‘‘‘ppp–––ppp–––ÁÁÁßßßÎÎΖ––^^^www×××ßßß×××°°°°°°wwwNNNEEE=========VVVïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎÎ333---------"""------333333---------------------------------------------===NNNNNN===EEEGGGGGG333======GGG===EEEEEE------333------"""---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""EEEVVV^^^^^^ffffff^^^fff^^^^^^ffffffVVV^^^^^^fff^^^ffffffffffffffffff^^^ffffffffffffppp^^^ffffffffffffffffffffffff^^^fffffffffffffffffffff^^^ffffffffffffffffffpppfffpppffffffpppffffffffffffppppppfffpppfffpppfffffffffpppfffffffffffffffffffffffffffffffffppppppppppppppppppppppppppppppfffpppppppppppppppppp‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘†††pppVVVVVVpppffffffppp†††ªªª   VVV^^^wwwVVVfff      †††   ÎÎζ¶¶   –––   ‘‘‘¶¶¶ÁÁÁ‘‘‘ÇÇÇpppwww–––×××¶¶¶–––°°°ßßßçççÎÎΰ°°°°°VVVEEE=========NNNçççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÇÇÇ333---------------------------------------333===------------======------EEEGGGNNNGGGEEEGGGEEE===GGGEEEEEE---===333"""---"""---"""---""""""""""""""""""""""""""""""""""""""""""""""""""""""---GGG^^^^^^^^^^^^fff^^^^^^^^^fff^^^^^^^^^^^^fff^^^fff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffffffffff^^^fffffffff^^^fffffffffffffffffffffpppfffffffffpppffffffpppfff^^^ffffffpppfffppppppfffpppfffffffffpppfffpppppppppfffffffffffffffffffffffffffffffffppppppppppppwwwpppfffpppppppppppppppwwwpppppp†††‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘††††††‘‘‘†††††††††††††††‘‘‘‘‘‘†††‘‘‘†††††††††††††††‘‘‘‘‘‘†††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘††††††††††††pppVVVVVVpppffffffwww†††‘‘‘^^^wwwªªªwwwppppppwwwªªªÁÁÁ¶¶¶ªªª–––†††   ÁÁÁ×××   °°°^^^°°°ªªª°°°   ÇÇÇçççßßßÇÇÇ   ªªªwww^^^GGGEEE======GGG×××ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÇÇÇwww333---------------------------------------======333===============------EEEEEEGGGNNN===GGGEEE===EEE===333---"""------"""---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---NNN^^^^^^ffffff^^^^^^^^^fff^^^^^^^^^^^^fff^^^fffffffffffffffffffff^^^ffffffffffffffffff^^^fffffffffffffff^^^fffffffffffffffffffff^^^ffffffffffffffffffffffffpppffffffpppffffffffffffpppfffpppfffpppfffpppffffffpppffffffppppppfffpppfffpppffffffffffff^^^fffffffffppppppfffpppffffffppppppppppppwwwppppppfffppp‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘–––––––––––––––––––––‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘†††††††††††††††wwwwww††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘‘‘‘†††‘‘‘††††††††††††pppVVVVVVffffffwww†††ppp–––†††pppppp‘‘‘pppªªª¶¶¶ªªª‘‘‘‘‘‘‘‘‘–––ÎÎζ¶¶‘‘‘wwwNNNfff   ÁÁÁ–––×××çççßßßÁÁÁ   –––www^^^GGGGGGEEE===GGGÇÇÇýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÁÁÁfff333---------------------------------333333EEEEEE===EEE======GGG===------EEE===EEEEEE333EEE333------------"""---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---VVV^^^fff^^^fff^^^^^^ffffff^^^^^^^^^fff^^^ffffff^^^fffffffffffffffffffffffffffffffffffffffffffffffffff^^^fffffffffppp^^^fffffffffffffffffffffpppffffffpppfffffffffpppfffffffffpppfffpppfffpppffffffffffffffffffppppppfffppppppfffpppfffpppfffffffff^^^^^^^^^fffpppfffpppffffffffffffpppppppppwwwppppppfffffffff‘‘‘†††‘‘‘‘‘‘†††‘‘‘––––––   ‘‘‘‘‘‘–––‘‘‘––––––‘‘‘‘‘‘–––––––––––––––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††††††††††††††††††††www†††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘†††‘‘‘††††††‘‘‘†††††††††pppVVVNNNfffwww‘‘‘^^^www‘‘‘fffppp†††ªªª†††ªªª°°°ªªª‘‘‘‘‘‘   ‘‘‘–––×××ÇÇÇpppVVVVVVppp   °°°×××çççßßß¶¶¶   ‘‘‘www^^^VVVGGGEEE===EEE¶¶¶ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç¶¶¶^^^------------------------------------===EEEGGGEEEEEE=========EEE333------GGG333---333------------"""---""""""""""""""""""""""""""""""""""""""""""""""""""""""---""""""""""""""""""""""""""""""333^^^fffffffff^^^fffffffff^^^^^^^^^ffffff^^^fff^^^fffpppffffffffffffffffffffffff^^^^^^^^^ffffffffffffffffffffffffffffff^^^ffffffffffffpppfffpppffffffpppffffffpppfffpppfffffffffpppffffffffffff^^^^^^fffffffffpppffffffpppppppppfffpppfffpppfffffffff^^^fffffffffffffffffffffffffffffffffpppwwwpppfffffffffffffff†††‘‘‘†††‘‘‘‘‘‘––––––––––––––––––––––––‘‘‘––––––‘‘‘‘‘‘–––––––––––––––––––––––––––‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††††††††‘‘‘‘‘‘†††‘‘‘†††††††††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘†††††††††fffNNNNNN^^^www‘‘‘fffGGGVVVªªªwwwfffwww‘‘‘   –––––––––ÁÁÁÁÁÁ   –––ÁÁÁªªª†††pppVVVpppªªª   wwwÇÇÇçççÎÎΪªªªªª‘‘‘pppVVVNNNGGGEEE===EEEªªªýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç¶¶¶NNN---------------------------------333EEE===EEEEEEGGG===333===333---------333---------"""------"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---"""""""""""""""""""""""""""EEE^^^ffffff^^^fffffffff^^^fffffffff^^^fff^^^^^^ffffffffffff^^^ffffffffffffffffff^^^fffffffffffffffffffffffffffffffff^^^ffffffpppffffffpppfffffffffpppfffpppffffffpppfffffffffpppfffpppfffffffff^^^fff^^^pppfffppppppfffpppppppppppppppfffpppffffff^^^ffffffpppfffffffffffffff^^^ffffffpppppppppppppppfff^^^fffppp†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––   –––––––––––––––––––––‘‘‘––––––––––––––––––––––––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††††††††††††††‘‘‘††††††‘‘‘††††††††††††wwwfffNNNNNNwww†††GGGNNN–––†††ppp^^^fff‘‘‘wwwppp–––ßßßçççÎÎΰ°°°°°ªªª‘‘‘‘‘‘‘‘‘VVVppp      ppp°°°ÁÁÁÁÁÁ°°°¶¶¶‘‘‘^^^NNNGGGEEE======EEE   ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç¶¶¶NNN---------------------------------===EEEEEE===333EEE333------------------------"""---""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---""""""""""""""""""""""""""""""""""""GGGfff^^^^^^ffffff^^^ffffff^^^fff^^^^^^^^^ffffffffffff^^^ffffffffffffffffffffffff^^^^^^fffffffffffffff^^^fffffffffffffffffffffpppfffpppfffpppfffppppppffffffpppfffpppfffpppffffffffffffffffff^^^fff^^^ffffffpppfffpppppppppppppppppppppffffffffffffffffffppppppfff^^^ffffffffffff^^^ffffffppppppppppppffffffpppfff‘‘‘†††‘‘‘‘‘‘‘‘‘–––––––––   ––––––––––––––––––‘‘‘‘‘‘–––––––––––––––   –––   ––––––‘‘‘‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††www††††††††††††††††††‘‘‘†††††††††††††††††††††††††††††††††‘‘‘†††††††††‘‘‘†††‘‘‘‘‘‘††††††††††††‘‘‘†††††††††††††††††††††www^^^VVVpppwwwVVVVVVppp†††pppVVVNNNpppwwwfffVVV‘‘‘ßßßýýýïïïÎÎζ¶¶–––‘‘‘–––†††VVVfff†††–––ppp†††ÁÁÁ××××××¶¶¶^^^NNNGGGEEE======EEE   ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïçç窪ªGGG---------------------------------333EEE===333------------------------------""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---""""""""""""""""""""""""""""""""""""---NNN^^^ffffff^^^fff^^^^^^^^^fff^^^^^^fff^^^fff^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffff^^^fffffffffffffffffffffpppfffpppfffpppfffpppffffffpppffffffffffffpppfffpppfffffffff^^^^^^^^^ffffffpppfffppppppfffpppfffpppfffpppfffpppfffffffffffffffpppfff^^^^^^ffffffffffffffffff^^^ffffffpppppppppppppppppp‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––   –––––––––‘‘‘–––‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††‘‘‘††††††††††††††††††‘‘‘†††‘‘‘††††††††††††††††††††††††‘‘‘††††††‘‘‘††††††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘†††††††††††††††‘‘‘‘‘‘†††wwwVVVNNNfff^^^NNNNNN^^^^^^NNNEEENNNfff^^^^^^×××ýýýýýýççç××תªª¶¶¶   wwwffffffppp‘‘‘fff   ßßß×××ÇÇǶ¶¶^^^GGGGGGGGGEEE======‘‘‘ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïçç窪ªEEE------------------------------------------------------------------""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---------"""""""""------"""""""""""""""""""""""""""""""""---VVVfff^^^fff^^^ffffff^^^^^^^^^^^^^^^^^^fff^^^fff^^^^^^fffffffffffffffffffffffffffffffffffffffffffffffffffpppfffpppffffffpppfffpppfffpppfffpppfffpppffffffpppffffffpppfffpppffffff^^^ffffff^^^ffffffffffffpppfffppppppfffpppfffpppfffpppfffffffffpppppppppffffff^^^^^^ffffffppppppffffff^^^ffffffpppfffpppfffpppfff‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘––––––   ––––––––––––––––––‘‘‘–––   ––––––‘‘‘†††††††††‘‘‘‘‘‘‘‘‘†††††††††‘‘‘†††††††††††††††‘‘‘†††‘‘‘†††††††††††††††‘‘‘††††††††††††††††††‘‘‘††††††‘‘‘‘‘‘††††††††††††††††††††††††‘‘‘††††††††††††pppVVVNNN^^^^^^NNNNNN^^^GGGEEEGGG^^^†††www‘‘‘¶¶¶çççïïïýýýçççÇÇÇÁÁÁ†††wwwppp^^^wwwfff°°°ÇÇÇÁÁÁ°°°ªªª‘‘‘^^^GGGGGGGGG======EEE‘‘‘ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïßßß–––EEE---------------------------------------------------------""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---------===333---"""------------"""""""""""""""""""""---"""""""""333^^^^^^ffffff^^^^^^^^^fff^^^^^^^^^^^^fff^^^^^^^^^^^^fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffpppffffffpppfffffffffpppffffffpppfffpppffffffpppfffpppffffffffffff^^^^^^fff^^^fffpppffffffffffffpppfffpppfffpppfffffffffpppffffffpppffffffVVVNNNVVVfffpppfffpppfffffffff^^^fffffffffpppfffffffff––––––‘‘‘–––‘‘‘‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––   –––––––––––––––   –––   –––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘†††††††††††††††††††††††††††††††††‘‘‘†††††††††††††††‘‘‘‘‘‘†††††††††††††††††††††††††††††††††††††††††††††ppp^^^VVV^^^NNNNNNVVVNNNEEEGGGwww‘‘‘www‘‘‘¶¶¶ÎÎÎçççýýýýýýçççÁÁÁ†††ªªªÁÁÁwwwpppppp°°°ÇÇǰ°°––––––†††fffGGGEEE=========EEE†††ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïßßß‘‘‘===------------------------------------------------""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""333EEEEEEEEE---EEE===333333333333---"""""""""""""""---333===333"""""""""===^^^fff^^^ffffff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^ffffff^^^ffffffffffff^^^fff^^^ffffffffffffpppffffffpppfffpppffffffffffffpppfffffffffppppppfffpppfffpppfffpppffffffpppfffpppfffffffff^^^^^^fffffffffffffffpppfffpppffffffpppfffffffffpppfffffffffppppppffffff^^^GGG===NNNfffpppfffpppffffff^^^^^^^^^fff^^^fffpppffffff‘‘‘–––––––––––––––‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘–––‘‘‘––––––––––––––––––––––––   –––   ––––––   ––––––‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††wwwVVVVVVVVVNNNGGGGGGGGGEEEfff††††††ÇÇÇßßßßßßïïïýýýýýýÎÎΖ––‘‘‘   ¶¶¶–––°°°¶¶¶ªªª¶¶¶ªªª–––†††pppGGG============EEE‘‘‘ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï××׆††===---------------------------------------"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""------"""---333EEENNN^^^^^^NNN333GGG===EEENNNNNNEEE---""""""------333EEEEEEGGG==="""""""""EEEVVV^^^fff^^^^^^fff^^^fff^^^ffffff^^^^^^ffffffffffffffffffffffff^^^ffffffffffffffffffpppfffffffffffffffffffffpppfffffffffffffffffffffppppppfffffffffffffffppppppfffffffffffffffffffff^^^ffffffffffffpppffffffpppfffffffffffffffffffffffffffpppfffpppfff^^^GGG===EEEffffffppppppffffffffffffffffffffffffpppfffffffff‘‘‘–––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘–––‘‘‘–––––––––––––––                        –––   –––   ––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘†††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘†††††††††††††††‘‘‘††††††††††††wwwVVVNNNGGGGGGGGGGGGEEEGGG^^^www‘‘‘°°°ÎÎÎ×××ïïïýýýýýýççç××תªª   ¶¶¶‘‘‘ªªª¶¶¶   ªªª–––‘‘‘pppfffGGG============EEE‘‘‘ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï××׆††===------------------------------""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---GGGGGGEEEGGGNNN^^^fff^^^^^^GGG333333333GGG^^^VVVEEE------333===GGGGGGEEEEEE333---"""""""""GGGVVV^^^^^^^^^^^^^^^^^^fffffffff^^^^^^fff^^^ffffffffffffffffffffffffffffffpppffffffpppfffffffffpppffffffpppfffpppfffffffffffffffpppfffffffffpppffffffpppfffppppppfffffffffffffff^^^ffffffffffffpppffffffffffffffffffffffffffffffffffffffffffppppppffffffGGG333===^^^pppfffpppfffpppffffffffffffpppfffffffffpppffffff–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘––––––                     –––            –––   ––––––––––––––––––‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††††††††††††††††††††‘‘‘†††‘‘‘††††††‘‘‘†††pppVVVGGGEEEGGGGGGGGGEEEEEENNN   ÁÁÁÁÁÁïïïýýýýýýýýý×××°°°      ‘‘‘††††††   –––wwwwwwfffVVVGGGEEE=========EEE–––ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΆ††333---------------------""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""333333EEE^^^VVVVVVVVV^^^^^^^^^VVVEEE===333---333EEENNNGGG======GGGGGGNNNGGG===---"""---"""""""""---GGGVVVVVVVVVVVV^^^^^^fff^^^fffffffff^^^ffffffffffffffffff^^^ffffffffffffffffffffffffffffffffffffffffffpppffffffffffffffffffppppppfffpppfffpppffffffpppfffpppffffffpppfffpppfffffffffffffffpppfffpppfffpppfffpppffffffffffffffffffffffffffffffpppffffffNNN===EEEVVVppppppppppppffffffffffffffffffpppffffffpppfffffffff‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––‘‘‘‘‘‘‘‘‘–––––––––‘‘‘–––‘‘‘––––––   ªªª                     –––            –––      –––   ––––––‘‘‘–––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘†††††††††‘‘‘‘‘‘†††wwwpppVVVEEEGGGGGGGGGGGGGGGGGGfff°°°¶¶¶¶¶¶ßßßýýýýýýýýýïïïßßßÇÇÇ–––‘‘‘www^^^fff††††††pppVVVNNNGGG===EEEEEEEEEEEE–––ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎÎwww333------------"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---333===NNNNNNVVVfff^^^fffNNNGGGGGGEEE======333333333===EEENNNNNNEEEGGGNNNGGG333---"""""""""""""""""""""---NNNNNNVVVVVV^^^^^^^^^ffffffffffff^^^fffffffffpppffffff^^^fffffffffffffff^^^fff^^^ffffffffffffffffffpppfffpppfffffffffpppfffpppfffpppfffpppfffpppfffppppppffffffffffffffffff^^^ffffffpppffffffpppfffpppfffpppfffffffffffffffffffff^^^ffffffffffffpppVVV===EEE^^^pppppppppppppppffffffpppfffpppffffffpppfffppppppfffppp‘‘‘‘‘‘–––––––––––––––––––––––––––   ––––––––––––                              –––      –––   ––––––   ––––––   –––––––––––––––––––––   ––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††††††††wwwpppVVVGGGGGGNNNNNNGGGGGG^^^–––°°°ÇÇǶ¶¶ïïïýýýýýýïïïïïïçççÎÎΪªªpppfff†††ppp^^^NNNGGGGGG===NNNVVVVVVGGGªªªïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÇÇÇppp---""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---""""""333===GGGGGGVVVVVV^^^^^^VVVGGG===333333333333333333======EEEGGGVVV^^^NNNEEEGGG===---"""""""""""""""""""""""""""---NNNNNNVVVVVVVVV^^^^^^^^^^^^^^^fff^^^ffffffffffffffffffffffff^^^ffffff^^^fff^^^ffffffffffffffffffffffffpppffffffpppffffffpppfffpppfffffffffffffffpppfffpppfffpppffffffffffff^^^fffpppfffpppfffpppfffpppffffffffffffffffff^^^fff^^^ffffffffffffpppVVV======VVVpppfffpppppppppppppppfffpppfffpppfffffffffppppppfffpppfff––––––      –––                     –––   –––               –––            ––––––                              ––––––   –––   –––      ––––––––––––‘‘‘‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††wwwpppVVVGGGNNNGGGNNNGGGNNNppp–––ÁÁÁªªª×××ýýýýýýïïïýýýïïïïïïßßߪªªÎÎζ¶¶wwwfffVVVNNNGGGEEE===NNNwwwwwwNNNªªªýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇ^^^"""""""""""""""""""""""""""""""""""""""""""""""""""---""""""---""""""EEE======EEENNNVVVVVVNNN^^^VVVEEEEEE------"""------------333======GGGNNNVVVNNNGGGEEE333333---333======"""""""""""""""""""""333GGGNNNNNNVVVVVV^^^^^^^^^^^^^^^^^^ffffffffffff^^^fff^^^^^^fffffffff^^^fffffffffffffff^^^ffffffpppfffffffffpppfffpppfffpppfffpppfffffffffffffffpppfffpppffffffffffffffffff^^^fffpppfffpppfffpppfffpppfffpppffffffffffffffffff^^^ffffffffffffffffffGGG===VVVfffpppfffpppfffpppfffppppppfffpppfffpppfffpppppppppppppppfff––––––            ªªª         –––   –––––––––      ––––––                           –––                  –––         –––         –––   ––––––‘‘‘‘‘‘‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††††††††††††††††††††wwwwwwVVVGGGNNNNNNNNNGGGNNNpppªªª¶¶¶   ßßßýýýýýýïïïýýýïïïßßß¶¶¶×××ßßß¶¶¶‘‘‘fffNNNNNNGGG======GGGfffNNNªªªýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇNNN"""""""""""""""""""""""""""""""""""""""""""""---""""""""""""""""""---VVVVVVVVV^^^^^^^^^NNN===333333""""""""""""""""""---"""333GGGNNNNNNNNNGGGEEE333---------333EEEEEEEEEEEE---""""""""""""""""""===GGGNNNNNNVVVVVVVVVVVV^^^^^^^^^^^^fff^^^ffffff^^^°22ú��ú��ú��ú��fffffffff^^^fffffffffffffffffffffpppfffpppffffffpppffffffpppfffpppffffffffffffpppfffpppfffffffffffffffffffffpppffffffpppfffpppfffpppfffffffff^^^ffffffffffff^^^fffffffffffffffNNNEEENNNffffffpppfffppp^^^pppppppppppppppfffpppfffpppfffppppppppppppppp––––––   –––   –––      ªªª–––‘‘‘‘‘‘‘‘‘†††‘‘‘                        –––––––––                     –––      ––––––‘‘‘––––––––––––   ––––––––––––‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††www††††††††††††††††††††††††††††††wwwVVVGGGGGGNNNNNNGGG^^^†††ªªª–––¶¶¶ïïïýýýïïïýýýýýýçççÎÎÎÁÁÁÇÇÇßßßÎÎÎNNNGGGEEE======EEE^^^wwwVVVªªªýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇNNN""""""""""""""""""""""""""""""""""""""""""---""""""---""""""""""""---^^^fffVVV^^^fff^^^===---""""""""""""""""""------333"""===NNNGGGGGG===""""""------======EEENNNEEE------"""""""""""""""""""""EEEGGGGGGNNNNNNVVVVVVVVVVVV^^^^^^^^^^^^^^^ffffffRR÷ú��ú��ú��ú��fffffffffffffffffffffffffffpppffffffffffffpppfffffffffpppfffpppfffpppfffpppfffpppffffffffffffffffffffffffffffffpppfffpppfffpppfffpppfffffffffffffffffffff^^^ffffff^^^ffffffVVVNNNNNNfffffffffpppfff^^^^^^ppppppppppppppppppfffppppppffffffpppfffpppfff            –––         ––––––––––––––––––––––––––––––               –––   ––––––––––––––––––      ––––––   ––––––––––––––––––––––––   ––––––‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘††††††††††††www††††††††††††††††††††††††††††††††††††††††††ppp^^^GGGNNNNNNNNNppp–––‘‘‘www×××ýýýïïïïïïýýýïïïßßß°°°ÇÇÇ×××××תªªVVVGGGEEE======EEENNNpppNNNªªªïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïçççÁÁÁGGG"""""""""""""""""""""""""""---""""""---""""""---"""""""""---""""""333VVVNNN===EEEVVVEEE---"""""""""""""""---333GGGGGGEEE---333333---""""""---333EEEEEEGGGEEE===333"""""""""""""""""""""EEEGGGGGGNNNNNNNNNNNNVVVVVV^^^^^^^^^fff^^^fffhddÞú��ú��ú��ú��ú��fffffffffffffffffffffffffffpppfffpppfffpppppppppffffffpppfffpppffffffpppfffpppfffffffffffffff^^^ffffffppppppffffffpppfffpppfffffffffpppfffffffffffffffffffffffffff^^^fff^^^VVVVVVfffffffffffffff^^^^^^fffwwwppppppppppppppppppppppppfffpppfffppppppppp––––––––––––   ––––––      ––––––   ––––––   –––   –––   –––   –––   –––   ––––––––––––‘‘‘–––‘‘‘–––––––––‘‘‘‘‘‘–––––––––   –––   ––––––––––––‘‘‘‘‘‘††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††††††††www^^^GGGGGGNNNppp–––ªªªwwwVVV‘‘‘çççýýýïïïýýýýýýçççÎÎΰ°°ÎÎÎ×××ÎÎÎÁÁÁªªªVVVEEE===EEEGGGGGGGGG–––çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßß¶¶¶GGG""""""""""""---"""""""""---""""""---"""---""""""---"""---"""""""""---333---"""------""""""---"""---333===GGGNNNGGGGGG===---"""""""""---===EEEGGGGGG===333---""""""""""""""""""---EEEú��ú��GGGGGGGGGNNNNNNVVV^^^^^^^^^^^^ffffffµ77ú��çú��ú��ú��ú��fffppppppfffffffffppppppfffpppfffffffffpppfffpppfffpppfffpppfffffffffpppfffpppffffffffffffffffff^^^pppfffpppppppppfffpppffffffpppffffffffffffffffff^^^fffffffffffffff^^^^^^VVVffffffffffffffffffpppppppppppppppppppppppppppppppppfffpppfffpppfffpppfff––––––––––––   ––––––   –––––––––––––––                                 ––––––––––––   –––––––––‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––––––––   –––––––––‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††wwwwww†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††††††††‘‘‘†††††††††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘††††††††††††fffGGGNNNVVV†††   †††^^^VVV¶¶¶ïïïýýýïïïýýýýýýßßßÇÇÇÁÁÁÎÎÎßßßßßßçççÇÇÇ^^^EEEGGGVVVEEE===ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïßßß¶¶¶EEE"""""""""""""""---"""---""""""---""""""---"""---"""""""""---"""---"""""""""""""""""""""---EEEEEEEEEEEEGGGGGG===333"""---333===333---EEEGGGGGGEEE333""""""""""""""""""""""""333EEEú��ú��GGGGGGNNNNNNVVVVVVVVV^^^^^^ffffffSS÷ø��‰MMú��ú��ú��ú��pppfffpppffffffpppfffppppppfffffffffpppfffpppfffpppfffpppffffffpppfffpppffffffffffffpppffffffffffffpppfffppppppffffffpppfffpppfffffffffffffffffffff^^^fff^^^ffffff^^^fff^^^^^^^^^^^^fffpppfffppppppppppppppppppwwwwwwwwwwwwpppppppppppppppfffppppppfff––––––––––––   –––            –––         ªªª         –––      –––   –––   ––––––––––––‘‘‘‘‘‘††††††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘–––––––––   –––‘‘‘‘‘‘†††‘‘‘‘‘‘†††††††††www†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††††††††††††††††††††‘‘‘†††††††††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††wwwfffGGGNNN^^^–––°°°pppNNNppp×××ýýýýýýýýýýýýýýýïïï×××¶¶¶ÎÎÎÎÎÎÁÁÁ×××°°°†††www^^^EEEEEEwwwÎÎÎïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý××תªª===""""""---"""---"""""""""---""""""------"""---"""---"""---""""""""""""""""""""""""---======NNNGGGNNN333333---""""""---333NNNNNNEEE---===333---""""""---EEE333"""""""""""""""""""""===GGGú��ú��GGGGGGGGGNNNVVVVVVVVV^^^^^^fffhddÞú��¾00fffú��ú��ú��ú��ppppppfffpppfffppppppffffffffffffppppppffffffppppppffffffppppppppppppffffffpppffffffffffffffffffpppfffppppppfffpppffffffpppffffffffffffffffff^^^fffffffff^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^ffffffppppppppppppfffppppppppppppfffpppppppppfffppppppfffpppppp‘‘‘––––––   ––––––––––––‘‘‘‘‘‘††††††wwwwwwwwwwwwwwwwwwwwwwwwwww††††††‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘††††††††††††www††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††††††††††††††††††††‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††††††††††††††www^^^NNNVVV–––ªªª†††NNNVVV‘‘‘çççýýýïïïïïïýýýýýýçççÁÁÁ   ¶¶¶ÇÇÇ××××××ßßßÁÁÁwwwNNNNNNwwwÇÇÇçççïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï×××   ==="""---"""---""""""---"""---"""---"""---------333------------------"""------333---EEEGGGNNNGGG===---"""""""""---===EEENNNNNNGGG==="""""""""---======GGGNNNEEE"""""""""""""""""""""EEEEEEú��ú��GGGGGGNNNNNNNNNVVVVVV^^^^^^fff°22ú��ækbbfffú��ú��ú��ú��pppfffpppfffppppppppppppfffpppppppppfffpppfffppppppfffpppfffpppppppppfffffffffpppffffffffffffpppfffpppfffpppfffppppppfffpppffffffffffffffffff^^^fffffffff^^^^^^^^^^^^^^^^^^VVVVVV^^^^^^ffffffffffff^^^fffpppppppppfffpppfff^^^^^^ffffffffffffpppfffppp‘‘‘‘‘‘†††wwwpppffffff^^^^^^fff^^^ffffffpppfff^^^VVV^^^^^^^^^^^^^^^^^^fffpppwww†††‘‘‘‘‘‘†††††††††††††††††††††††††††wwwwwwwww†††‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††††††††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††wwwfffNNNfffVVVNNN^^^°°°ïïïýýýýýýýýýýýýïïï××תªª   °°°ÎÎÎßßßßßß°°°wwwÇÇÇÁÁÁ×××ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï×××–––==="""---"""---"""---"""---"""---"""333=====================333333333EEEEEEGGGEEE---EEE===333"""""""""---333===GGGNNNEEEEEE333"""""""""---333EEEGGGGGGGGG==="""""""""""""""""""""---EEEEEEú��ú��GGGGGGNNNNNNVVVVVV^^^^^^^^^SSöø��ŠMMppppppú��ú��ú��ú��pppppppppppppppppppppfffpppfffppppppppppppffffffpppfffpppppppppfffpppfffffffffffffff^^^ffffffpppfffpppfffppppppfffppppppfffpppfffffffff^^^^^^fffffffff^^^fff^^^^^^^^^^^^VVV^^^^^^fff^^^fff^^^VVVNNNVVVfffppppppfffffffffppp^^^^^^^^^^^^fffffffffpppffffff^^^^^^^^^^^^^^^^^^ffffffppppppppppppwwwwwwpppppppppfffffffffffffff^^^^^^VVVfffwww‘‘‘†††wwwppppppfffpppppppppppppppppp†††wwwwwwwww†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘–––––––––‘‘‘‘‘‘‘‘‘–––‘‘‘––––––‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††pppNNNVVVVVVNNNNNNNNNfffÎÎÎýýýýýýýýýïïïýýýïïïÎÎΰ°°ªªª–––ÎÎÎ×××ÇÇÇ‘‘‘¶¶¶¶¶¶ppp   ªªªßßßïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΖ––333---"""---"""---"""---"""------===GGGGGGEEEEEE=========EEEEEEGGGNNNNNNGGGGGG==="""""""""""""""333EEEGGGNNNGGGEEE333---"""""""""------===NNNEEE===333"""""""""""""""""""""ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��^^^^^^^^^fffàú��»++pppppppppú��ú��ú��ú��fffppppppfffppppppfffppppppppppppppppppfffpppfffpppfffpppppppppffffffffffffffffffffffffppppppfffppppppfffpppfffpppfffppppppfffpppfffVVVNNNffffffffffff^^^^^^VVV^^^^^^VVV^^^^^^^^^^^^^^^VVVVVVNNNNNN^^^ffffff^^^^^^^^^^^^VVV^^^VVVVVV^^^fffppppppVVVVVVVVVVVV^^^^^^^^^^^^fff^^^fffffffff^^^fffffffffffffff^^^fffffffffffffffpppppppppwwwpppfff^^^^^^^^^fff^^^fffffffffpppppp†††††††††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††‘‘‘†††‘‘‘‘‘‘††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––––––––   –––   ––––––––––––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††pppVVVGGGNNNGGGNNNNNNßßßïïïýýýïïïïïïýýýïïïßßß×××°°°‘‘‘°°°ÎÎζ¶¶ÎÎÎÇÇÇpppwwwÁÁÁçççýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïÎÎΆ††---"""---""""""---"""---"""------GGG^^^NNNNNNGGGGGGGGGNNNVVVNNNNNNGGGEEE------""""""""""""333EEEGGGNNNEEE===333"""""""""---===EEE===---GGG333---""""""""""""""""""ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��^^^^^^ffffffú��èlbbfffppppppú��ú��ú��ú��ppppppfffppppppppppppfffppppppppppppppppppfffpppfffpppfffpppffffffpppfffffffffffffffffffffpppfffpppfffpppfffffffffpppfffppppppffffffVVV^^^pppffffff^^^^^^^^^^^^^^^VVVVVVVVVVVVVVVVVVVVV^^^NNNNNNNNN^^^VVV^^^ffffffNNNEEE333333EEEGGGNNN^^^fffppp^^^^^^wwwwwwpppfffpppfffffffffffffffpppppppppppppppppppppwww††††††‘‘‘†††wwwppp^^^^^^^^^VVV^^^^^^^^^fff^^^pppppppppppppppwwwwww††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––––––––––––––   –––   –––   –––––––––––––––––––––––––––‘‘‘‘‘‘wwwVVVGGGGGGGGGNNNVVV–––ïïïýýýýýýýýýïïïïïïýýýçç窪ª††††††‘‘‘‘‘‘ÁÁÁÇÇÇ‘‘‘fffªªªçççýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇwww------"""---"""---"""---"""---333VVVfffVVVVVVVVVfff^^^NNNGGGEEE333---"""""""""---333"""---GGGEEEEEE333"""""""""---333EEEEEEGGGEEE333---333""""""""""""""""""""""""""""""EEEEEEGGGú��ú��NNNVVVVVV^^^^^^ffffffffffffú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ffffffpppfffppppppfffppppppppppppfffppppppfffppppppfffffffffpppffffffffffffpppffffffpppfffpppffffffpppffffffppppppfffpppfff^^^fffpppfffpppfffffffff^^^^^^VVVVVVVVVVVVVVVVVVVVVVVVVVVNNNNNNVVVVVVVVV^^^VVV^^^EEE"""---"""---333NNNVVVfffpppffffff††††††††††††††††††‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘††††††wwwwwwfffffffffVVV^^^VVVVVVVVV^^^^^^^^^^^^^^^ffffffpppfffppppppwwwwww††††††††††††‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘––––––––––––––––––––––––               –––––––––               –––   ––––––––––––‘‘‘wwwVVVGGGGGGNNNGGG^^^ÁÁÁïïïýýýýýýýýýïïïïïïïïïÎÎÎÁÁÁªªª†††–––ÇÇǶ¶¶†††°°°çççýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÎÎÎfff---"""---"""---------------===GGGppp^^^VVVfff^^^VVVGGG===""""""---======333===GGGEEE---"""===---"""""""""333===GGGGGGGGGNNN===---""""""""""""""""""""""""""""""""""""---EEEEEEGGGú��ú��VVV^^^^^^ffffffffffffpppfffú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ppppppppppppppppppppppppppppppfffppppppfffpppfffpppfffpppfffffffffffffffpppfffppppppffffffpppfffpppffffffpppfffpppfffffffffppppppfffffffffffffffffffff^^^^^^^^^^^^^^^VVVNNNNNNVVVVVVNNNNNNNNNNNNVVVNNNNNNNNNEEE---""""""------NNN^^^ffffffffffffwwwpppwwwwwwwwwwwwfffppppppppppppwww†††wwwfff^^^^^^VVVVVV^^^^^^^^^^^^^^^^^^^^^^^^VVV^^^^^^ffffffpppwwwwwwwwwwww††††††††††††‘‘‘–––––––––––––––––––––‘‘‘†††‘‘‘†††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘–––––––––   –––   –––                           –––            –––         ––––––––––––‘‘‘‘‘‘pppVVVGGGGGGNNNNNNpppÎÎÎýýýýýýýýýýýýïïïïïïýýýïïïßßß°°°–––   –––°°°†††ÇÇÇçççýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇfff------"""------333===EEEEEEVVVfffwwwfff^^^^^^GGG---""""""""""""===NNNNNNGGGNNNGGG===---""""""""""""---EEEEEEEEEEEE========="""""""""""""""""""""""""""""""""""""""---EEEEEEGGGú��ú��^^^^^^fffffffffppppppppppppppppppppppppppppppú��ú��ú��ú��pppfffpppppppppppppppfffpppppppppfffpppfffpppppppppfffpppfffpppffffffffffffpppppppppppppppfffpppfffffffffpppfffppppppfffpppfffpppffffffffffffffffffffffff^^^^^^^^^^^^VVV^^^VVVVVVVVVVVVVVVVVVVVVNNNNNNGGGNNNGGGGGGGGG===333333---===VVVffffff^^^^^^ffffffffffff^^^VVVNNNNNNNNN^^^^^^^^^fffpppppppppfffpppffffffpppfff^^^^^^^^^^^^^^^^^^^^^ffffffffffffpppwwwwwwwww†††††††††‘‘‘–––––––––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––   –––   –––                        –––                     ªªª      ––––––––––––‘‘‘–––‘‘‘†††fffVVVGGGGGGGGGNNN†††ßßßïïïýýýýýýýýýýýýýýýýýýýýý×××ÁÁÁªªª††††††www–––ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýçççÇÇÇVVV------"""333GGGGGGNNN^^^^^^wwwppppppVVVNNNEEE333---"""333===---EEENNNNNN===333------"""---333333"""===EEE===---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""===EEEGGGVVVú��ú��ffffffppppppppppppppppppppppppwwwwwwwwwppppppú��ú��ú��ú��fffpppppppppppppppppppppppppppppppppppppppfffppppppfffppppppffffffffffffppppppppppppppppppfffppppppfffffffffpppfffpppfffffffffppppppfffffffffffffffppp^^^^^^^^^^^^^^^fffVVV^^^VVVVVVVVVVVVVVVVVVVVVNNNGGGNNNGGGGGGEEEEEEEEEGGGNNNVVV^^^ffffff^^^fffffffff^^^VVVNNNNNNNNNVVVVVVVVVffffffppppppfffwwwpppppppppfffpppfff^^^^^^^^^fffffffffpppppppppppppppwwwwwwwww†††‘‘‘‘‘‘––––––   –––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––   –––            ªªª               ªªª   ªªªªªª   ªªªªªªªªªªªª   –––   –––––––––––––––‘‘‘‘‘‘†††wwwNNNGGGGGGNNNVVV–––çççýýýýýýýýýýýýýýýýýýýýýïïïïïïÎÎΖ––   –––‘‘‘çççýýýýýýýýýýýýýýýýýýýýýýýýïïïçççÇÇÇNNN---"""---333VVVNNNVVV^^^ppp^^^^^^NNN===NNNGGGEEEEEEEEEGGGNNN333---333""""""""""""EEEEEEGGGNNNGGG---"""---"""""""""""""""---""""""===333"""""""""""""""""""""333GGGNNN^^^fffú��ú��ppppppppppppppppppppppppwwwwwwwwwppppppppppppú��ú��ú��ú��pppppppppppppppppppppwwwppppppfffppppppppppppfffppppppfffpppfffffffffpppppppppppppppppppppfffpppfffpppfffpppfffpppfffffffffpppffffffffffff^^^^^^ffffff^^^^^^fff^^^fff^^^^^^^^^VVVVVVVVVVVV^^^VVVVVVVVVVVVNNNNNNGGGNNNGGGGGGGGGGGGNNNVVV^^^^^^fff^^^ffffffVVVNNNNNNVVVVVVVVVVVVVVV^^^fff^^^VVVVVV^^^^^^fffffffff^^^fff^^^^^^ffffffppppppwwwwwwwwwpppwwwwwwwww†††††††††‘‘‘––––––   –––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††‘‘‘‘‘‘–––‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––––––––   –––                        ªªª   ªªªªªªªªªªªªªªª   ªªªªªªªªªªªªªªª   ªªª   –––   ––––––––––––‘‘‘‘‘‘†††pppVVVGGGGGGNNN^^^¶¶¶ïïïýýýýýýýýýýýýýýýýýýýýýýýýçççÎÎÎ××תªª‘‘‘‘‘‘çççýýýýýýýýýýýýýýýýýýýýýýýýýýýßßßÁÁÁGGG------"""333GGGGGGEEEEEENNNNNNNNNNNNGGG^^^fffNNNEEENNNGGG===""""""---333---===EEENNNNNNEEE333333""""""""""""""""""""""""333333"""===EEE333""""""""""""""""""333GGG^^^fffppppppwwwpppwwwwwwwwwwwwpppwwwwwwwwwwwwwwwppppppwwwppppppppppppppppppppppppppppppppppppppppppppppppfffppppppffffffpppfffppppppffffffffffffpppppppppwwwppppppppppppfffpppfffppppppfffffffffppppppffffff^^^^^^fff^^^ffffff^^^^^^^^^^^^ffffff^^^^^^^^^^^^^^^^^^VVV^^^^^^^^^VVVVVVVVVVVVNNNNNNGGGEEEEEENNNVVVVVVVVV^^^^^^ffffffppp^^^VVVVVVVVVVVVVVVfffffffffpppfff^^^^^^^^^ffffffpppppppppwwwppppppppppppwwwwww††††††‘‘‘–––––––––––––––   ––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘–––   ––––––‘‘‘‘‘‘––––––––––––––––––      –––               ªªª   ªªª      ªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª   ªªª            –––‘‘‘‘‘‘††††††pppVVVGGGGGGNNNfffÎÎÎïïïýýýýýýýýýýýýýýýýýýýýýýýýïïïýýýççç×××ÁÁÁÎÎÎýýýýýýýýýýýýýýýýýýýýýýýýïïïßßß¶¶¶EEE---""""""---333""""""333VVVNNNVVVfffffffff^^^NNN===---"""""""""333EEEVVVGGGGGGNNN===333"""""""""""""""""""""EEE===GGGEEE"""GGGNNN333"""""""""""""""""""""---===NNNfffppppppwwwwwwpppwwwwwwwwwwwwpppwwwwwwwwwpppwwwpppppppppwwwwwwppppppppppppppppppwwwpppppppppppppppfffpppppppppfffpppppppppfffpppffffffffffffppppppppppppppppppppppppfffppppppfffffffffpppffffffpppffffffppp^^^VVV^^^fff^^^fff^^^^^^^^^^^^^^^fff^^^^^^fff^^^^^^^^^^^^^^^^^^VVV^^^fff^^^^^^VVVVVVNNNNNN===GGGNNNNNNVVVVVV^^^^^^ffffffffffffVVVVVVNNNVVVVVV^^^pppfffpppppppppppppppfffpppppppppwwwwwwwwwppppppwwwwww†††††††††‘‘‘‘‘‘–––––––––––––––––––––––––––   ––––––‘‘‘‘‘‘†††††††††††††††‘‘‘‘‘‘––––––––––––   –––   ––––––   –––   –––   –––   –––   –––         ªªª      ªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°ªªªªªª°°°°°°ªªªªªªªªª            –––‘‘‘‘‘‘‘‘‘††††††wwwVVVGGGNNNNNNwww×××ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççççççßßßýýýýýýýýýýýýýýýýýýýýýýýýïïïßßß°°°==="""""""""""""""""""""---VVV^^^^^^fff^^^VVVEEE333""""""---333===GGGGGGGGGGGG333---"""""""""""""""""""""""""""---NNNGGGVVVEEE---GGGGGG---""""""""""""333===GGG^^^ffffffpppppppppwwwwwwwwwwwwwwwwwwwwwwwwwwwpppwwwppppppwwwwwwwwwpppppppppppppppppppppwwwpppppppppppppppfffppppppppppppppppppfffpppfff^^^ffffffppppppppppppppppppfffpppppppppffffffpppffffffpppfffpppfffpppffffffVVV^^^fffffffff^^^^^^fff^^^fffffffff^^^fff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^VVVVVVVVVVVVVVVNNNVVVVVVVVVVVV^^^^^^fffpppfff††††††wwwwwwppp^^^fff^^^ffffffwwwwwwwwwwwwpppppppppwwwwwwwwwwww†††††††††††††††††††††‘‘‘‘‘‘––––––‘‘‘––––––––––––––––––   ––––––‘‘‘‘‘‘‘‘‘†††††††††††††††‘‘‘––––––   –––––––––––––––   –––         –––         ––––––                     ªªª   ªªªªªªªªª°°°ªªª   ªªªªªªªªªªªª°°°°°°°°°ªªª°°°ªªªªªªªªªªªªªªªªªªªªª   ªªª      –––‘‘‘‘‘‘‘‘‘†††www^^^GGGGGGVVV‘‘‘ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï×××   ==="""---"""""""""""""""---EEEGGGNNNGGGGGG===333---======EEENNNGGG===------""""""""""""""""""""""""""""""333""""""---"""EEENNNEEEEEE---"""===---"""""""""---===EEENNNVVVffffffppppppppppppwwwpppwwwwwwpppwwwpppwwwppppppwwwpppwwwwwwwwwwwwpppppppppppppppppppppwwwpppwwwpppppppppppppppfffpppppppppfffppppppffffffffffffpppppppppppppppppppppppppppfffpppffffffppppppffffffpppfffpppffffffVVV^^^^^^fffppp^^^^^^ffffff^^^^^^ffffff^^^fff^^^ffffff^^^^^^^^^^^^^^^^^^fff^^^^^^^^^VVVfff^^^VVVVVVVVVVVV^^^^^^ffffffpppfffwwwppppppfffpppppppppwwwwwwwwwwwwwwwwwwwww††††††††††††‘‘‘†††††††††‘‘‘––––––––––––‘‘‘––––––––––––   –––   ––––––†††‘‘‘††††††††††††‘‘‘––––––         –––   –––––––––                        –––                  ªªªªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°ªªª°°°°°°ªªªªªª°°°ªªªªªª°°°°°°ªªªªªª   ªªª      –––––––––‘‘‘‘‘‘www^^^GGGNNNVVV   çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï×××–––333------""""""""""""""""""---"""333333333EEEEEEEEEGGGVVVGGGEEE---"""""""""""""""""""""""""""""""""---333GGG333"""333"""---333"""""""""""""""""""""---===GGGNNN^^^ffffffpppfffpppfffppppppppppppppppppppppppwwwpppwwwpppppppppppppppwwwppppppppppppppppppwwwwwwpppwwwwwwpppwwwpppfffppppppppppppfffpppfffpppfffffffffwwwppppppppppppppppppppppppfffpppppppppppppppppppppfffpppfffpppfff^^^VVVfffffffff^^^^^^^^^^^^^^^^^^fff^^^ffffff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^^^^^^^VVV^^^VVVVVV^^^fffpppfffffffffpppwwwwwwwwwwwwwwwpppwwwppppppwww††††††††††††††††††††††††‘‘‘†††‘‘‘–––––––––––––––––––––––––––   ––––––‘‘‘‘‘‘††††††††††††††††††–––         –––      ––––––   –––         ªªªªªªªªª                     ªªª   ªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªª°°°°°°°°°°°°°°°ªªª°°°ªªª°°°ªªªªªª°°°ªªª°°°°°°ªªªªªªªªªªªªªªª      –––   ‘‘‘†††www^^^NNNNNN^^^°°°çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïï××ב‘‘---------""""""""""""""""""""""""------===EEENNNGGGEEE333---"""""""""""""""""""""""""""""""""333333EEENNNNNN"""------""""""""""""""""""333EEEGGGVVV^^^^^^fffpppffffffpppfffpppppppppppppppppppppwwwpppwwwppppppppppppwwwpppwwwppppppppppppfffpppwwwwwwpppwwwwwwwwwppppppppppppfffpppppppppfffpppppppppffffffpppwwwppppppppppppppppppppppppfffppppppfffpppppppppfffpppfffpppfff^^^VVV^^^fffffffff^^^^^^ffffff^^^ffffffffffffffffff^^^fff^^^^^^^^^^^^^^^^^^^^^^^^^^^fff^^^ffffff^^^^^^^^^VVVVVV^^^fffffffffffffffwwwwwwppppppwwwwwwwwwwww†††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘––––––––––––––––––‘‘‘††††††‘‘‘††††††‘‘‘‘‘‘               –––   –––   –––   –––                                 ªªª      ªªª   ªªªªªª°°°°°°°°°°°°°°°ªªª°°°°°°°°°°°°°°°°°°°°°ªªªªªª°°°°°°ªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°°°°°°°ªªªªªª   ––––––‘‘‘†††fffNNNNNNfffÁÁÁïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç×××333---""""""---"""333EEE======------"""===EEE===333"""""""""""""""""""""""""""333"""""""""EEENNNVVVGGGEEEEEE"""""""""""""""""""""---===EEENNNVVV^^^^^^ffffffpppffffffpppppppppppppppppppppppppppppppppwwwppppppppppppppppppwwwppppppppppppfffpppwwwppppppwwwppppppppppppppppppppppppppppppppppppppppppffffffppppppwwwppppppppppppppppppfffppppppppppppppppppffffffpppfffpppfff^^^NNN^^^ffffffffffff^^^fff^^^fffffffffffffff^^^fff^^^ffffff^^^^^^^^^^^^^^^^^^^^^fff^^^fffffffff^^^^^^^^^^^^^^^^^^ffffffppppppffffffwwwpppwww†††††††††www††††††‘‘‘††††††††††††‘‘‘‘‘‘‘‘‘††††††††††††††††††††††††††††††‘‘‘‘‘‘‘‘‘––––––‘‘‘––––––––––––‘‘‘‘‘‘‘‘‘††††††††††††††††††–––         –––            –––   –––   –––   –––                     ªªªªªª   ªªª   ªªª   ªªªªªª°°°ªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶°°°ªªªªªª   ––––––‘‘‘fffNNNGGGpppÎÎÎýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç×××333------=========NNNVVVVVVEEE""""""---------"""""""""""""""""""""---"""===NNNEEE==="""NNNNNNGGGEEE---"""""""""""""""---===GGGNNNVVV^^^^^^^^^ffffffpppfffffffffpppppppppffffffpppfffppppppppppppppppppppppppppppppwwwpppppppppwwwppppppwwwpppwwwppppppppppppfffppppppppppppppppppfffppppppfffffffffppppppwwwppppppppppppppppppppppppfffpppppppppfffppppppfffpppfffffffffNNNVVV^^^fffffffff^^^^^^fff^^^^^^fffffffffffffff^^^ffffff^^^^^^fff^^^^^^^^^fff^^^^^^fffffffff^^^^^^^^^^^^^^^^^^ffffffpppffffffffffff†††††††††††††††††††††††††††††††††‘‘‘†††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††www†††‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––––––––‘‘‘†††††††††††††††††††††‘‘‘–––                     –––                  –––   –––            ªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°ªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°ªªª°°°°°°ªªª°°°°°°°°°¶¶¶°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶°°°¶¶¶°°°°°°ªªª   –––†††wwwfffVVVNNN×××ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýççç×××ppp333333NNNVVVVVV^^^fff^^^GGG---""""""""""""""""""""""""""""""""""""333EEEGGGVVVVVV==="""EEE---""""""""""""""""""333===GGGVVVVVV^^^^^^^^^^^^fffffffffffffffpppfffpppfffppppppppppppppppppppppppppppppfffppppppppppppppppppppppppppppppppppppwwwpppppppppfffppppppppppppppppppfffppppppfffpppffffffpppwwwpppwwwpppppppppppppppwwwpppppppppppppppppppppffffffpppfffffffffVVVNNN^^^fffffffff^^^^^^fff^^^ffffffffffffffffffffffff^^^^^^fff^^^^^^^^^fff^^^fffffffff^^^ffffff^^^^^^^^^^^^^^^ffffffffffffpppfffffffff‘‘‘––––––††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––‘‘‘††††††††††††††††††‘‘‘–––                                                               ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª¶¶¶°°°°°°ªªª°°°°°°°°°°°°°°°°°°°°°ªªª°°°°°°°°°ªªª°°°ªªª°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°   ––––––‘‘‘†††pppVVVNNN†††ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýßßß×××ppp333NNNpppfffNNNVVV^^^VVVNNNEEE"""---"""333=========EEE======EEENNNNNNVVVGGGGGG---""""""""""""""""""---333EEEGGGVVV^^^^^^^^^^^^^^^fffffffffffffffffffffpppfffpppfffpppfffpppfffppppppfffpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppffffffppppppppppppwwwppppppppppppppppppfffppppppppppppppppppppppppfffffffff^^^NNN^^^fffffffff^^^^^^fff^^^fff^^^ffffffffffffffffff^^^ffffff^^^ffffff^^^ffffffffffffffffffffffff^^^VVV^^^^^^fffffffffffffffffffffffffff––––––‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘––––––‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘†††††††††††††††––––––                     ªªª   ªªªªªª                  ªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°ªªªªªª°°°°°°°°°ªªª°°°ªªª°°°°°°°°°°°°°°°°°°ªªª°°°°°°¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶¶¶¶°°°ªªªªªª      ‘‘‘†††wwwVVVVVV‘‘‘ßßßýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïççç×××fff===VVVfff^^^GGGVVVNNNGGGEEE333"""333===333===GGGNNNGGGVVVVVVVVVGGG^^^VVVVVVEEE333---""""""""""""333===EEEGGGVVV^^^^^^fff^^^fff^^^^^^fffffffffffffffffffffffffffffffffpppfffppppppfffpppppppppfffppppppppppppppppppfffpppfffpppwwwppppppwwwpppwwwppppppppppppppppppppppppppppppppppppffffffppppppwwwpppppppppppppppppppppppppppppppppppppppppppppfffpppffffffppp^^^VVVVVVfffffffff^^^^^^^^^fff^^^fffffffffffffffffffffffffff^^^fff^^^^^^fff^^^ffffff^^^ffffffffffff^^^^^^^^^^^^fff^^^ffffffpppfffffffffffffff––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘   –––   ‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––‘‘‘††††††‘‘‘††††††††††††‘‘‘–––                           ªªªªªªªªª            ªªª   ªªªªªªªªª°°°ªªªªªªªªªªªªªªªªªª°°°ªªª°°°¶¶¶°°°°°°°°°¶¶¶¶¶¶°°°¶¶¶°°°°°°°°°ªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°ªªª°°°ªªª°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶ªªªªªª–––‘‘‘wwwVVVVVV–––çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïççç×××^^^GGGVVVVVVVVVGGGNNNGGGEEE---"""333GGGNNN======GGGGGGVVVfffGGG^^^GGGGGG===---"""""""""""""""---===EEEGGGNNNVVV^^^^^^^^^ffffff^^^^^^^^^fffffffff^^^fffffffffffffffffffffffffffffffffpppppppppfffpppfffpppppppppppppppppppppfffpppwwwppppppwwwpppwwwpppppppppppppppwwwppppppppppppppppppffffffpppppppppppppppppppppppppppppppppfffppppppppppppppppppfffppppppfffpppfffNNNVVVffffffpppfffffffffffffffffffffffffffffffffpppfff^^^^^^fff^^^ffffff^^^fffffffffffffff^^^fff^^^fff^^^VVV^^^^^^^^^fffpppffffffffffffffffff–––––––––‘‘‘‘‘‘‘‘‘––––––‘‘‘––––––––––––––––––––––––––––––‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––††††††‘‘‘†††††††††––––––                              ªªªªªª         ªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°ªªª°°°ªªªªªª°°°¶¶¶¶¶¶°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°°°°°°°°°°°°°ªªª°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶ÁÁÁ¶¶¶°°°¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶°°°   †††www^^^^^^   çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïßßß×××VVVEEEEEEGGGVVVGGGGGGEEE===333---===GGGGGG333---======VVVGGG---===333"""""""""""""""""""""333===GGGGGGNNNVVVVVV^^^ffffffffffff^^^ffffff^^^ffffff^^^^^^fffffffffffffffffffff^^^fffffffffpppffffffffffffppppppppppppppppppppppppppppppppppppppppppwwwpppppppppppppppwwwpppppppppfffpppfffpppfffppppppppppppwwwpppppppppppppppppppppppppppppppppppppppfffppppppfffpppfffVVVVVVffffffpppfffffffffffffffffffffpppfffffffffffffff^^^fff^^^^^^^^^^^^ffffffffffffffffffffffff^^^^^^^^^^^^^^^^^^ffffffffffffpppfffffffffffffff–––––––––‘‘‘‘‘‘‘‘‘      ––––––––––––––––––––––––––––––†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––†††††††††††††††††††††‘‘‘––––––   –––   –––      ªªªªªªªªªªªª   ªªª         ªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÁÁÁÇÇÇÁÁÁÁÁÁ¶¶¶°°°   ‘‘‘^^^^^^°°°ïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýïïïßßßÎÎÎGGG333===GGGVVVGGG333333333333===EEEEEE===333"""---333===333""""""""""""""""""""""""---===EEEGGGNNNVVVVVV^^^^^^^^^ffffffffffff^^^fffffffffffffffffffff^^^ffffffffffffffffff^^^fffffffffpppfffffffffpppppppppppppppppppppppppppppppppwwwpppppppppppppppfffwwwppppppwwwpppppppppppppppfffppppppfffpppppppppwwwwwwpppwwwppppppppppppppppppppppppppppppfffppppppppppppppp^^^NNNfffffffffffffff^^^ffffffffffffpppfffffffffffffffffffff^^^^^^^^^fffffffffpppfffffffffffffff^^^fff^^^^^^^^^^^^^^^fffffffffpppffffffpppffffffppp––––––––––––‘‘‘–––   –––   ––––––––––––‘‘‘––––––‘‘‘††††††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘––––––†††wwwwww††††††††††††––––––      –––   –––      ªªªªªªªªª      ªªª   ªªªªªªªªªªªªªªªªªªªªª°°°°°°ªªª°°°¶¶¶°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÁÁÁ¶¶¶ÁÁÁ°°°ªªª–––^^^fff¶¶¶çççýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýçççßßß¶¶¶EEE===EEENNNNNN---"""------------"""333===333"""""""""""""""""""""""""""""""""333EEEGGGNNNVVVVVV^^^^^^^^^ffffffffffffffffff^^^fffffffffpppffffff^^^ffffffffffffffffff^^^^^^^^^fffffffffffffffffffffppppppfffppppppfffppppppppppppppppppppppppppppppppppppwwwpppwwwpppppppppfffpppfffppppppppppppppppppppppppppppppppppppppppppppppppppppppfffppppppppppppppppppfff^^^VVV^^^ffffffpppffffffffffffpppfffffffffffffffpppfffffffff^^^fff^^^fffffffffpppfffffffffffffff^^^^^^^^^^^^^^^^^^^^^fff^^^fffffffffffffffffffffffffff–––   –––––––––––––––   –––   ––––––––––––†††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––wwwwww†††††††††‘‘‘––––––   –––   ––––––      ªªªªªªªªª         ªªª   ªªªªªª      ªªªªªª°°°ªªª°°°°°°°°°ªªª°°°°°°¶¶¶¶¶¶°°°°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶°°°¶¶¶¶¶¶°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÁÁÁÇÇÇÇÇÇÁÁÁÁÁÁ°°°ªªª–––^^^fffÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýýýýýýýççç×××–––333EEEGGGNNN333"""""""""---""""""""""""---""""""""""""""""""""""""""""""---===EEENNNVVVVVV^^^^^^^^^^^^^^^fffffffffffffff^^^ffffffffffffpppffffff^^^ffffff^^^fffffffff^^^fffffffffffffffffffffffffffppppppppppppfffpppppppppppppppwwwpppppppppwwwwwwpppwwwpppwwwwwwpppppppppppppppfffpppfffppppppwwwppppppfffppppppppppppppppppfffpppwwwpppppppppfffppppppppppppffffffVVVVVVfffppppppfffffffffffffffffffffppp^^^^^^ffffffffffff^^^fffffffffffffffpppffffffpppffffff^^^fff^^^^^^fff^^^^^^fff^^^ffffffpppfffffffffffffffffffffªªª      ––––––   ––––––            –––‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘––––––pppppp†††††††††‘‘‘‘‘‘––––––         –––         ªªª                  ªªª   ªªª   ªªª   ªªªªªªªªªªªªªªªªªªªªªªªª°°°¶¶¶°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÇÇÇÇÇÇÁÁÁÁÁÁÁÁÁ¶¶¶ªªª–––†††fffpppÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýýýýççç×××ppp------333333"""""""""""""""""""""""""""""""""""""""""""""""""""---333EEEGGGNNNVVV^^^^^^^^^^^^^^^^^^^^^fff^^^ppppppffffff^^^fff^^^fffffffff^^^fffffffffffffff^^^ffffff^^^fffffffffffffffpppffffffpppppppppfffppppppfffpppppppppppppppwwwwwwppppppppppppwwwpppwwwwwwpppppppppffffffpppfffppppppwwwpppppppppppppppwwwpppwwwpppppppppwwwppppppppppppppppppwwwpppffffffVVVVVVfffpppfffpppfffpppfffpppffffffpppfff^^^ffffffffffff^^^fffffffffpppfffpppfffpppfffffffffffffff^^^^^^^^^^^^^^^^^^ffffffffffffffffffffffffpppfffffffff      –––      –––            –––‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––fffpppwww†††††††††‘‘‘–––      –––         –––      ªªª   ªªª                  ªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°¶¶¶°°°ªªª°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶°°°°°°°°°¶¶¶¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÎÎÎÇÇÇÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÁÁÁÁÁÁÁÁÁ°°°   †††pppwwwÇÇÇïïïýýýýýýýýýýýýýýýýýýýýýççç×××^^^---"""---""""""""""""""""""""""""""""""""""""""""""""""""333===EEEGGGVVV^^^^^^^^^^^^^^^fffffffff^^^fffpppfffpppfff^^^^^^fffffffffffffff^^^ffffff^^^fff^^^^^^fffffffffffffffpppfffpppfffpppfffpppfffpppfffpppffffffpppfffpppppppppppppppppppppppppppwwwwwwwwwwwwwwwppppppfffppppppfffppppppwwwwwwwwwppppppwwwwwwpppwwwpppwwwpppwwwpppwwwpppppppppppppppppppppfff^^^NNN^^^fffppppppffffffpppfffffffffffffff^^^^^^fffpppfffffffffffffffpppfffpppffffffpppfffpppfff^^^^^^^^^^^^^^^^^^ffffff^^^^^^fffpppppppppffffffffffffffffff                        ––––––†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘ffffffwww†††††††††‘‘‘‘‘‘––––––––––––                     ªªª   ªªª                     ªªªªªªªªªªªª   ªªª      ªªªªªªªªª°°°ªªªªªªªªªªªª°°°°°°°°°¶¶¶°°°¶¶¶°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁÇÇÇÇÇÇÁÁÁ¶¶¶¶¶¶ÁÁÁÇÇÇÏ££àbbí11õø÷óæ))¾DD}eewwwÎÎÎïïïýýýýýýýýýýýýýýýýýýçççÎÎÎNNN---""""""""""""""""""""""""""""""""""""""""""""""""---333EEEGGGNNNVVV^^^fff^^^ffffff^^^fff^^^fffffffffpppfffpppfff^^^fffffffffffffffffffffffffff^^^^^^fff^^^fff^^^ffffffffffffffffffpppffffffpppfffpppfffffffffppppppppppppppppppppppppppppppfffpppppppppwwwwwwwwwwwwppppppfffppppppfffpppwwwpppwwwppppppwwwwwwwwwwwwppppppwwwwwwpppwwwpppppppppppppppppppppfff^^^VVV^^^fffpppfffpppfffpppffffff^^^fffppp^^^^^^ffffffffffffffffffppppppfffppppppffffffpppfffffffffffffff^^^^^^^^^^^^^^^fffffffffpppffffffpppfffffffffffffff^^^                     –––‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘ppp^^^www†††††††††‘‘‘‘‘‘‘‘‘––––––                              ªªª                     ªªª   ªªª               ªªªªªª°°°ªªª   ªªªªªªªªª°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°ªªª°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶¶¶¶ÁÁÁÁÁÁÇÇÇÁÁÁÁÁÁ¶¶¶ÇÇÇÇÇÇÇÇÇÇÇÇú��ú��ú��ú��ú��ú��ú��ú��ú��ñ		“]]wwwÎÎÎïïïýýýýýýýýýýýýïïïçççÇÇÇEEE"""""""""""""""""""""""""""""""""""""""---333EEEGGGVVVVVV^^^^^^^^^ffffffffffffffffffffffffffffffpppfffpppfff^^^ffffffffffffffffffffffff^^^ffffff^^^fff^^^fff^^^fff^^^fffffffffpppffffffpppfffpppfffffffffffffffpppppppppppppppfffppppppfffpppppppppwwwpppwwwppppppfffppppppffffffpppwwwpppwwwpppppppppwwwppppppwwwpppwwwpppwwwppppppwwwppppppwwwpppfffppp^^^VVV^^^fffpppffffffpppffffffffffffffffff^^^VVVfffffffffffffffppppppfffpppfffpppfffpppffffffffffffffffff^^^fff^^^^^^fff^^^ffffffpppfffppppppfffpppfffpppfffffffff               –––‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††ppp^^^ppp†††www†††‘‘‘‘‘‘––––––––––––––––––   –––               ªªª      ––––––            ªªª         –––      ªªªªªªªªªªªªªªªªªª°°°°°°°°°ªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°ªªª°°°ªªªªªª°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶ÁÁÁÇÇÇÇÇÇÇÇÇÎÎÎÎÎÎð++àxxÕªªÏÇÇØÏÏ×¢¢í00ú��ú��ú��åwwwÎÎÎïïïýýýýýýýýýïïïççç°°°===---"""""""""""""""""""""""""""""""""---===EEENNNVVV^^^^^^^^^^^^ffffffffffffffffffffffff^^^ffffffpppfffffffff^^^fff^^^ffffffffffff^^^ffffffffffff^^^fff^^^^^^^^^fffffffffffffffffffffffffffpppffffffffffffffffffpppppppppppppppppppppppppppfffppppppppppppppppppppppppppppppffffffpppppppppwwwpppppppppwwwppppppwwwpppwwwwwwwwwppppppwwwppppppwwwpppppppppfffVVVVVVfffpppfffppppppfffffffffffffffffffffVVVfffffffffffffffpppppppppffffffffffffffffffpppfffpppfff^^^^^^^^^^^^^^^^^^ffffffffffffpppffffffppppppffffffffffff^^^fff         –––‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘†††ppp^^^ppp†††††††††‘‘‘––––––––––––‘‘‘‘‘‘––––––                                             ªªª         –––   ªªªªªªªªªªªªªªªªªª°°°°°°°°°ªªª°°°ªªª°°°ªªªªªª°°°°°°°°°°°°ªªªªªª°°°ªªªªªªªªª°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶°°°°°°°°°¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁÇÇÇÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎ×××ÎÎÎ××××××ÎÎÎÎÎÎÒ··ú��ú��ú��÷ªªªÎÎÎïïïýýýýýýïïï×××ú��ú��"""""""""""""""""""""""""""---333===GGGVVV^^^^^^ffffffffffff^^^ffffffppppppffffff^^^ffffffffffffpppffffff^^^^^^^^^ffffffffffff^^^ffffffffffffffffffffffff^^^fffffffffffffffffffffffffffpppffffffppppppfffppppppppppppppppppppppppppppppppppppppppppppppppfffppppppppppppffffffpppwwwpppppppppppppppwwwppppppppppppppppppwwwpppwwwpppppppppwwwpppppppppfff^^^NNN^^^fffpppfffffffffffffffffffffffffff^^^^^^fffffffffpppppppppffffffpppffffffpppffffff^^^ffffffffffff^^^^^^^^^^^^ffffffffffffpppfffpppfffpppffffffffffffffffff^^^   –––‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††www^^^fffwwwwwwwww†††‘‘‘‘‘‘––––––––––––‘‘‘†††–––––––––         –––   –––––––––   –––   ªªª   ªªª                  ªªªªªªªªªªªªªªªªªª°°°°°°°°°ªªªªªªªªªªªªªªªªªªªªª°°°ªªª°°°ªªªªªªªªªªªªªªª°°°°°°°°°¶¶¶°°°°°°°°°¶¶¶°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°°°°¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁ°°°¶¶¶ÁÁÁÇÇÇÇÇÇÎÎÎÎÎÎ×××ÎÎÎ×××ÎÎÎ×××××××××ÎÎÎÎÎÎÚÂÂú��ú��ú��ð%%¶¶¶ªªªwwwÇÇÇïïïýýýïïï×××ú��ú��"""""""""""""""""""""---===EEENNNVVV^^^ffffffffffffffffffffffffppppppfffffffffffffffffffffppppppfff^^^fff^^^fffffffff^^^fffffffff^^^fffffffffffffffffffff^^^^^^fffffffffffffffffffffffffffppppppfffpppppppppfffppppppfffpppfffpppfffpppfffpppppppppppppppppppppppppppffffffppppppwwwpppppppppppppppppppppppppppppppppwwwwwwppppppppppppppppppppppppfff^^^VVV^^^fffpppfffpppfffffffffffffffpppffffff^^^ffffffffffffppppppppppppfffffffffffffff^^^VVV^^^fffffffff^^^fff^^^^^^fff^^^fffpppfffpppffffffpppfffpppfffffffffffffff^^^‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘www^^^fffwww†††wwwwww†††‘‘‘‘‘‘‘‘‘–––‘‘‘–––‘‘‘‘‘‘–––––––––            ––––––––––––            ªªª            –––         ªªª   ªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎ×××××××××××××××××××ÔÔÛ··ïBBú��ú��÷		Ù™™ÇÇǶ¶¶   ÁÁÁïïïïïïÎÎÎú��ú��"""""""""""""""---333EEEGGGVVVVVV^^^fffffffffpppfffffffffffffffpppfffpppfffffffffffffffpppfffpppfffffffff^^^fffffffffffffff^^^fff^^^ffffff^^^fffffffff^^^^^^fffffffffpppfffffffff^^^fffffffffpppppppppfffppppppfffpppppppppfffpppfffppppppppppppwwwppppppppppppppppppffffffppppppwwwpppwwwpppppppppwwwpppppppppppppppwwwpppppppppppppppwwwppppppfffffffffVVVVVV^^^pppppppppfffpppffffffffffffffffff^^^fffffffffpppfffpppffffffffffffpppfffffffffNNNGGGffffffffffff^^^^^^fff^^^ffffffpppfffpppppppppfffpppfffpppfffffffffpppfff^^^†††††††††‘‘‘†††‘‘‘‘‘‘‘‘‘www^^^^^^www†††wwwwww††††††‘‘‘‘‘‘‘‘‘––––––––––––––––––   ––––––   –––––––––   –––                        –––            ªªªªªª   ªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶°°°ÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎÎÎÎ×××××××××××××××ú��ú��ú��ú��ùëYYÚ¼¼×××ÎÎÎÇÇÇÁÁÁªªª†††ÁÁÁßßßÁÁÁú��ú��"""---333===GGGNNNVVV^^^^^^ffffff^^^fffffffffpppfffpppfffpppfffffffffffffffpppffffffpppfffpppfffffffffffffffffffff^^^fff^^^fff^^^^^^fff^^^fff^^^fffffffffffffffffffff^^^^^^fffffffffffffffffffffpppfffpppfffpppfffpppppppppfffpppppppppppppppppppppfffpppppppppfffffffffpppppppppwwwpppppppppppppppwwwpppppppppppppppwwwpppwwwppppppppppppfffpppfffVVVVVVfffpppfffpppffffffffffffffffffpppfff^^^^^^pppfffpppfffpppfffpppfffpppfffpppffffffVVVNNNVVVfffpppffffff^^^fff^^^fffffffffffffffpppfffpppfffpppfffpppffffff^^^fffffffff†††‘‘‘†††‘‘‘‘‘‘†††fff^^^ppp†††wwwwww††††††‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––––––––   –––   ––––––   ––––––                        –––      ªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªªªªªªªªªªªªªª°°°°°°°°°ªªª°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶°°°¶¶¶ÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ×××ÎÎÎ×××ú��ú��ú��ú��ú��øèhh×ÖÖ××××××ÎÎÎÇÇǰ°°†††ppp°°°†††ú��ú��333333EEENNNVVV^^^^^^fffpppfffffffffffffffffffffppppppfffpppffffffpppffffffffffffpppfffpppffffff^^^^^^ffffffffffffffffff^^^fff^^^fff^^^fff^^^^^^ffffffffffffffffff^^^^^^fff^^^ffffffpppfffpppfffpppfffppppppfffppppppfffpppfffppppppfffpppfffpppfffppppppfffpppfffffffffpppwwwpppwwwppppppwwwppppppwwwpppwwwfffppppppppppppppppppppppppfffpppffffffVVVVVV^^^pppfffppppppffffffffffffppppppfff^^^^^^fffffffffppppppfffpppfffpppfffpppffffff^^^VVVVVVfffffffffppp^^^^^^fff^^^ffffffffffffpppffffffpppfffpppfffpppfff^^^fffffffff^^^‘‘‘‘‘‘‘‘‘††††††ppp^^^ppp†††www††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––   –––   –––––––––––––––                     –––         ªªªªªªªªª   ªªªªªª   ªªªªªª   ªªªªªªªªªªªª°°°ªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶°°°¶¶¶ÁÁÁ¶¶¶ÁÁÁÇÇÇÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ××××××××××ÑÑÞ©©ó((ú��ú��ú��æxxßßß××××××ÎÎÎú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ffffffppppppffffffffffffffffffffffffpppfffffffffffffffpppfffpppfffpppfffffffff^^^ffffff^^^ffffff^^^fff^^^^^^fff^^^fff^^^^^^^^^fffffffffffffffffffffffffff^^^fffpppfffpppffffffpppppppppfffpppppppppfffpppfffppppppppppppppppppppppppfffpppppppppffffffppppppppppppwwwpppppppppppppppppppppfffppppppppppppppppppppppppppppppffffffVVVNNN^^^pppppppppfffpppfffpppffffffpppfff^^^^^^fffffffffpppffffffffffffppppppffffffpppfffNNNVVV^^^fffpppfffffffffffffff^^^^^^fffffffffpppfffffffffpppffffffffffffffffffffffff^^^‘‘‘‘‘‘†††www^^^fffwwwwwwwwwwww†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––   –––   ‘‘‘–––––––––         ªªª            –––         ªªªªªª   ªªªªªªªªªªªªªªª   ªªª   ªªªªªª°°°°°°ªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶°°°°°°°°°ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÇÇÇÎÎÎÇÇÇÎÎÎÎÎÎ××××××××××××××××××ݬ¬ú��ú��ú��ö!!××××××ÎÎÎÇÇÇú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��ú��fffpppfffpppfffpppffffffffffffpppfffpppfffffffffpppfffffffffpppfffpppffffffffffff^^^ffffff^^^fff^^^^^^^^^fffffffff^^^^^^^^^^^^ffffffffffffffffff^^^fffffffffpppfffpppfffpppffffffpppfffpppfffpppppppppfffppppppppppppppppppffffffpppfffppppppffffffppppppwwwwwwpppppppppwwwppppppppppppppppppppppppppppppppppppppppppfffffffffVVVVVV^^^fffpppfffpppffffffpppffffffpppfff^^^^^^fffffffffpppfffpppfffpppfffpppffffffpppfffVVVNNN^^^pppfffpppfffffffff^^^^^^ffffff^^^ffffffffffffffffffffffffffffffffffffffffff^^^^^^†††www^^^fffwwwwwwwwwwwwwwwwww††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––––––––––––––––––––                     –––               ªªª   ªªªªªªªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ°°°°°°°°°¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÁÁÁÇÇÇÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎÇÇÇÎÎÎ×××××רÏÏú��ú��ú��ø×××ÇÇÇÇÇÇÁÁÁÁÁÁ¶¶¶¶¶¶ªªª‘‘‘ú��ú��††††††wwwwwwwwwpppppppppfffpppfffpppppppppfffppppppppppppppppppfffffffffffffffffffff^^^fff^^^^^^fffffffff^^^fff^^^^^^^^^^^^ffffffffffff^^^^^^ffffffpppfffffffffffffffpppffffffppppppffffffpppfffpppfffpppppppppppppppfffpppppppppppppppfffffffffpppppppppwwwppppppppppppppppppppppppppppppppppppfffppppppppppppppppppfffpppVVVVVVVVVfffpppfffpppfffpppfffffffffffffff^^^^^^fff^^^ppppppfffffffffppppppppppppfffpppppp^^^GGGVVVfffppppppfffpppfffffffffffffffffffff^^^ffffffffffffffffffffffffffffff^^^fff^^^fff^^^^^^^^^pppwwwwwwwwwwwwwwwwww†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––––––––               –––   ––––––   –––      ªªª   ªªª   ªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°ªªª°°°°°°ªªª°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶°°°¶¶¶¶¶¶°°°°°°ªªª°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÎÎÎÎÎÎÎÎÎÎÎÎÞ¥¥ú��ú��ú��ôÇÇÇÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶°°°ªªª–––ú��ú��†††††††††††††††††††††††††††wwwwwwpppwwwwwwwwwwwwppppppppppppppppppfffpppfffpppfffpppfffpppfff^^^fff^^^fffffffffffffffffffffffffffffffffpppfffffffffffffffpppfffpppffffffffffffpppfffpppfffpppppppppfffppppppppppppppppppppppppfffpppfffpppfffffffffpppppppppppppppfffpppppppppfffwwwppppppfffwwwppppppppppppppppppppppppfffpppVVVVVV^^^fffpppppppppfffpppfffffffffpppppp^^^^^^ffffffffffffpppffffffffffffpppwwwppppppppppppNNNGGGfffpppffffffpppfffffffffffffffffffffffffffpppfffffffffffffffffffffffffffffffff^^^^^^^^^wwwwwwwwwwwwwwwwwwwwwwww††††††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––   ‘‘‘‘‘‘‘‘‘–––––––––   –––   –––––––––––––––   –––   ªªª         ªªª   ªªª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª   ªªªªªª°°°°°°°°°°°°°°°ªªªªªª°°°°°°°°°¶¶¶¶¶¶°°°¶¶¶°°°°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶ÁÁÁÇÇÇÁÁÁÇÇÇÁÁÁÁÁÁî++ÛvvΨ¨ÈÁÁÐÂÂÚ““ôú��ú��ú��Ý__ÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶°°°ªªª–––ú��ú��†††‘‘‘††††††‘‘‘‘‘‘‘‘‘†††††††††www†††wwwwwwwwwwwwwwwwwwppppppppppppppppppppppppfffffffffffffffffffffffffffpppfffffffffppppppppppppffffffpppfffpppffffffpppfffppppppppppppppppppfffpppfffppppppppppppppppppwwwwwwfffpppppppppffffffffffffppppppppppppppppppfffppppppppppppfffppppppwwwppppppppppppppppppppppppppp^^^NNN^^^fffppppppfffpppfffpppfffffffffpppfff^^^ffffffffffffpppfffffffffffffffpppfffppppppwww^^^GGG^^^pppfffffffffpppffffff^^^ffffffffffffppppppffffffffffffpppfffffffffffffff^^^ffffffffffffwwwwwwwwwwwwwwwwwwwwwwww††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––‘‘‘‘‘‘––––––‘‘‘––––––––––––––––––––––––                     ªªª         ªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªª   ªªªªªª°°°°°°°°°°°°ªªª°°°ªªª°°°°°°°°°°°°¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶°°°°°°ªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶ªªª°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁú��ú��ú��ú��ú��ú��ú��ú��ú��è<<·±±ÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶°°°ªªª   –––ú��ú��‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††††††††www†††††††††††††††††††††††††††wwwwwwwwwwwwwwwpppwwwwwwppppppwwwpppwwwpppwwwpppfffpppfffpppppppppfffppppppfffpppppppppppppppppppppfffppppppppppppppppppppppppppppppppppppwwwwwwwwwwwwppppppppppppppppppffffffppppppppppppppppppppppppppppppppppppfffppppppwwwpppwwwppppppwwwppppppfffppp^^^NNNVVVfffwwwpppfffppppppfffpppfffppppppffffffffffffffffffffffffffffffpppffffffffffffpppwwwfffNNN^^^pppfffpppfffppppppffffffffffffffffffpppppppppffffffpppfffffffffffffffffffff^^^fff^^^ffffffwwwwwwwwwwwwwwwwww†††††††††‘‘‘†††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘––––––––––––––––––––––––‘‘‘–––––––––   –––––––––––––––                  ªªª   ªªª   ªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªªªªªªªª°°°°°°°°°°°°¶¶¶¶¶¶°°°°°°°°°°°°¶¶¶°°°ªªª   ªªª°°°°°°ªªª°°°ªªªªªª°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁË››ßXXï))öù÷		òåEEщ‰¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶¶¶¶°°°ªªª   –––ú��ú��‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††www†††‘‘‘†††††††††††††††††††††††††††wwwwwwwwwwwwwwwpppwwwwwwpppppppppfffppppppwwwpppppppppfffpppppppppppppppppppppppppppwwwpppppppppppppppwwwppppppppppppwwwwwwwwwwwwppppppppppppppppppfffpppppppppppppppppppppppppppppppppppppppfffppppppwwwwwwpppppppppwwwpppppppppppp^^^NNNNNNfffppppppppppppfffpppfffpppfffpppffffffffffffffffffppppppffffffpppfffffffffffffffppp^^^GGGVVVfffppppppfffppppppffffffffffffppppppfffppppppfff^^^fffppppppfffffffffffffffVVV^^^^^^^^^fff^^^wwwwwwwww†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘––––––––––––––––––‘‘‘––––––––––––––––––––––––‘‘‘––––––            –––            ªªª      ªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°¶¶¶°°°°°°°°°ªªª°°°°°°°°°ªªªªªª°°°°°°ªªª°°°ªªª         °°°ªªª°°°°°°ªªª°°°°°°°°°°°°°°°ªªª°°°°°°°°°°°°¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÇÇÇÇÇÇÁÁÁÁÁÁ¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶°°°ªªªªªª   –––––––––––––––‘‘‘‘‘‘†††‘‘‘††††††††††††‘‘‘†††‘‘‘†††††††††‘‘‘‘‘‘††††††††††††††††††††††††wwwwwwpppwwwwwwpppwwwwwwwwwwwwwwwpppwwwpppppppppwwwppppppwwwwwwwwwwwwwwwpppwwwpppwwwwwwwwwpppppppppwwwwwwwwwwwwwwwpppwwwpppwwwwwwppppppppppppwwwppppppwwwwwwwwwpppppppppwwwppppppppppppwwwwwwppppppwwwppppppppppppffffffVVVNNNfffwwwppppppfffpppppppppfffppppppppppppfffpppffffffpppfffpppfffffffffffffffffffffffffffGGGEEE^^^ppppppfffpppfffffffffffffffffffffpppfffpppffffff^^^pppffffffppppppfffffffffVVV^^^ffffff^^^fffpppwww††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––‘‘‘–––––––––––––––   –––––––––‘‘‘––––––––––––   ––––––   –––   –––            ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°ªªªªªª°°°°°°°°°°°°°°°°°°ªªªªªª°°°ªªª      °°°°°°ªªª°°°°°°°°°ªªªªªªªªªªªª   ªªªªªª°°°°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°ªªª         ––––––––––––‘‘‘††††††‘‘‘††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘†††††††††www†††wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwppppppfffpppwwwpppwwwwwwwwwwwwwwwpppwwwwwwpppppppppwwwwwwwwwwwwwwwwwwwwwwwwppppppfffVVVVVVfffpppppppppppppppppppppfffpppppppppppppppfffppppppfffppppppfffpppfffffffff^^^fffppppppVVV===GGGfffpppfffpppppppppfff^^^fffffffffpppfffffffffpppfffffffffffffffffffffffffff^^^^^^^^^ffffffffffff††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––––––––‘‘‘‘‘‘‘‘‘–––––––––   –––   ––––––   –––   –––      ªªª°°°°°°ªªªªªªªªª   ªªªªªªªªªªªªªªªªªª   ªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°ªªªªªªªªªªªª°°°°°°ªªª°°°ªªªªªªªªªªªª   ªªª°°°°°°°°°°°°¶¶¶°°°ªªª–––†††–––ªªªªªªªªª°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ªªªªªªªªª            –––‘‘‘†††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘‘‘‘†††††††††††††††‘‘‘††††††††††††††††††††††††††††††wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppppppppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwppppppwwwwwwwwwwwwwwwwwwwwwpppppp^^^VVV^^^pppwwwpppppppppwwwpppppppppppppppppppppppppppfffppppppffffffpppppppppffffffffffffppp^^^EEEEEEfffpppfffffffffpppfff^^^ffffffpppffffffffffffpppfff^^^fffppppppfffffffffffffffffffff^^^fff^^^ffffff††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘––––––––––––––––––‘‘‘‘‘‘–––––––––   –––   –––   –––            ªªªªªªªªªªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°ªªª°°°ªªªªªªªªªªªª°°°°°°°°°°°°ªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°–––†††‘‘‘ªªª°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶°°°¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶ÁÁÁÁÁÁ¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°ªªªªªª         ––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘††††††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††‘‘‘–––‘‘‘†††www††††††wwwwwwwwwwwwwwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppppp^^^VVV^^^ppppppwwwpppwwwwwwppppppppppppwwwpppfffpppfffpppfffpppppppppppppppfffpppffffffppppppfffGGG===^^^pppfffffffffppppppfff^^^ffffffffffffffffffffffffffffffffffffppppppfffffffffpppfffffffffffffffffffff†††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘–––‘‘‘–––‘‘‘–––––––––‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––   –––––––––   ––––––   ªªªªªªªªª   ªªª   ªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°ªªª°°°°°°°°°°°°ªªªªªªªªªªªª°°°°°°ªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°ªªªªªª   †††www†††–––ªªª°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°°°°¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶ÁÁÁ¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°ªªªªªªªªª      ªªª   ––––––––––––‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††–––‘‘‘†††††††††††††††††††††††††††wwwpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppVVVVVVpppwwwwwwwwwwwwpppwwwppppppwwwwwwwwwpppppppppppppppppppppfffpppppppppppp^^^fffppppppwwwVVV===VVVppppppfffpppppppppfff^^^fff^^^^^^^^^^^^NNN^^^fffffffff^^^^^^pppfffffffffffffffppppppffffffpppppppppppp‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘–––––––––‘‘‘–––––––––   –––   –––      ªªªªªª   ªªªªªªªªª            ªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°ªªªªªªªªªªªªªªªªªªªªª°°°ªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°   †††fffwww‘‘‘   °°°ªªª°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°¶¶¶°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ¶¶¶¶¶¶ÁÁÁÁÁÁÁÁÁ¶¶¶¶¶¶¶¶¶°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶°°°¶¶¶°°°°°°ªªªªªªªªª°°°ªªªªªª   –––   ––––––   –––––––––‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††wwwwww†††www†††wwwwwwwwwwwwwwwwwwpppVVVVVVpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwppppppwwwppppppwwwppppppfffppppppfff^^^ppppppwwwpppGGGNNNpppwwwppppppwwwpppppp^^^^^^^^^^^^fffffffff^^^fffffffffffffffffffffppppppffffffpppfffpppppppppfffppppppppp†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––––––––––––––   –––      ªªªªªª                  ªªª   ªªªªªª   ªªª   ªªªªªªªªªªªª°°°ªªªªªª°°°ªªª°°°°°°°°°ªªª°°°°°°   ªªª   ªªªªªªªªª°°°ªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°†††fff^^^–––ªªª°°°ªªª°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ÁÁÁ°°°¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°°°°°°°¶¶¶°°°°°°°°°¶¶¶¶¶¶¶¶¶¶¶¶°°°°°°°°°ªªªªªª   ªªª      –––         –––   –––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††www††††††††††††††††††††††††wwwwwwwwwppp^^^VVVpppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppwwwpppwwwwwwwwwppppppppppppppp^^^fffwwwwwwwwwfffVVVppppppwwwwwwpppwwwwwwfff^^^^^^^^^ffffffffffffppppppppp^^^fffffffffffffffffffffffffffffffffpppfffpppppppppppp‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘–––‘‘‘–––––––––––––––‘‘‘–––         ªªªªªªªªª            ªªª               ªªª   ªªªªªªªªªªªªªªª°°°ªªª°°°ªªª°°°°°°ªªªªªª°°°ªªªªªª      ªªªªªªªªªªªªªªª      ªªªªªª°°°°°°°°°ªªªªªª‘‘‘ppp^^^fff‘‘‘   ªªª°°°ªªª°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶°°°¶¶¶¶¶¶°°°¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶°°°¶¶¶°°°°°°°°°ªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°ªªªªªªªªª      –––               –––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘††††††‘‘‘††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘††††††††††††‘‘‘††††††‘‘‘††††††††††††††††††††††††‘‘‘‘‘‘††††††††††††††††††††††††wwwwwwfffVVVfffwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww†††pppppppppppp^^^fffwwwwwwwwwpppffffffwwwpppwwwwwwwwwwwwffffff^^^^^^^^^ffffff^^^fffpppfffffffffffffffffffffffffff^^^^^^fffpppfffffffffpppfffpppppp‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘–––‘‘‘–––––––––‘‘‘––––––      ªªª   ªªª            ªªª            ªªªªªª   ªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°ªªªªªªªªªªªªªªªªªª   ªªª         ––––––‘‘‘–––ªªªªªª°°°°°°°°°°°°–––wwwVVVVVVwww   ªªª°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°°°°°°°°°°°°°¶¶¶°°°°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°°°°¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶°°°ªªª°°°°°°°°°ªªª°°°°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°ªªªªªª      –––            ––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††‘‘‘†††‘‘‘††††††††††††‘‘‘†††††††††‘‘‘†††††††††††††††‘‘‘†††††††††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††www^^^fffwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppppppppfff^^^wwwwwwfffpppppppppwwwwwwwwwwwwpppfffVVVVVV^^^^^^VVV^^^fffffffff^^^fffffffffpppfffffffffffffffpppfffpppffffffffffffppppppppp‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘‘‘‘–––––––––‘‘‘––––––––––––            ªªª   ªªª      ªªª            ªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªªªªªªªª               –––‘‘‘†††–––   °°°°°°°°°°°°ªªªVVVNNNfff†††   ªªªªªª°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°¶¶¶¶¶¶°°°°°°¶¶¶°°°°°°ªªªªªª°°°ªªª°°°°°°°°°ªªª°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°°°°ªªªªªª         ªªª            –––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††††††††‘‘‘††††††††††††‘‘‘‘‘‘††††††††††††††††††‘‘‘††††††††††††‘‘‘††††††††††††‘‘‘†††††††††††††††††††††‘‘‘†††††††††††††††wwwwww†††‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††††††††‘‘‘‘‘‘††††††††††††††††††††††††wwwppp†††wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpppwwwwwwpppfffwwwwwwpppppppppwwwwwwwwwwwwwwwppp^^^VVV^^^^^^^^^^^^^^^^^^ffffff^^^^^^fffffffff^^^ffffffffffffpppffffffppp^^^ffffffppppppppp††††††‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘––––––‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘––––––––––––   –––                                 ªªªªªªªªªªªªªªªªªªªªªªªª         ªªª   ªªªªªªªªªªªªªªªªªª   –––––––––†††wwwffffffwww‘‘‘ªªªªªª°°°°°°ªªª–––fffVVV^^^–––   ªªª°°°°°°°°°°°°°°°¶¶¶°°°°°°¶¶¶°°°°°°¶¶¶°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°¶¶¶°°°¶¶¶¶¶¶°°°°°°°°°ªªªªªª°°°ªªª°°°°°°ªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°ªªªªªª      ªªªªªª         –––––––––‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††††††††‘‘‘††††††††††††††††††††††††††††††††††††††††††‘‘‘†††‘‘‘†††††††††††††††‘‘‘††††††††††††††††††††††††††††††††††††www†††‘‘‘†††‘‘‘††††††††††††‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘†††††††††pppwww†††††††††wwwwwwwwwwwwwwwwwwfff^^^wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwffffffpppfffffffff^^^fff^^^ffffff^^^fff^^^VVV^^^^^^^^^ffffffffffffffffffppp^^^fffppppppffffff†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––   –––                        ªªªªªª         ªªªªªªªªªªªªªªªªªª                        ªªªªªªªªªªªªªªª–––‘‘‘†††ppp^^^VVV^^^www   ªªªªªª°°°°°°   www^^^^^^www‘‘‘   ªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶°°°°°°°°°¶¶¶°°°°°°¶¶¶¶¶¶°°°ªªªªªªªªª°°°ªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°ªªª°°°°°°°°°°°°°°°°°°°°°ªªªªªªªªª   ªªª            –––   –––‘‘‘––––––––––––‘‘‘‘‘‘††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††††††††††††††††††††‘‘‘†††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘††††††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘‘‘‘†††‘‘‘†††wwwwww†††††††††††††††wwwwwwwwwwwwwwwVVVNNNwwwwwwwwwwwwwwwwww†††wwwfffppppppwwwpppppppppfffffffffffffffffffff^^^^^^^^^^^^^^^ffffffffffffffffffffffffpppppppppfff††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘––––––            –––                        ªªª   ªªªªªªªªªªªªªªª   ªªª   –––      ªªª   ªªªªªª            †††pppfff^^^NNNVVVfff†††   °°°ªªª°°°   †††fffVVVppp‘‘‘      ªªªªªªªªªªªª°°°°°°°°°°°°ªªª°°°¶¶¶°°°°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶°°°¶¶¶°°°°°°°°°¶¶¶°°°¶¶¶ªªªªªªªªªªªª°°°ªªªªªªªªªªªªªªªªªª°°°ªªªªªªªªªªªª°°°ªªªªªªªªª°°°°°°°°°°°°ªªª°°°ªªªªªªªªª               –––   ––––––   –––––––––‘‘‘†††‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††www††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††www†††‘‘‘†††‘‘‘††††††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††††††††www†††††††††††††††wwwwwwwwwwwwwwwwwwGGGGGGwwwwwwwwwwwwwwwwwwwwwwww†††wwwpppwww†††‘‘‘††††††wwwwwwwwwffffffffffff^^^^^^VVV^^^^^^^^^fffppppppfffpppffffffpppfffpppffffff‘‘‘††††††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––      –––   –––                        ªªªªªªªªªªªªªªªªªªªªª               ªªªªªªªªªªªªªªª            †††wwwfff^^^VVVVVVNNNNNNppp‘‘‘ªªª°°°°°°   †††ppp^^^fff†††   ªªªªªªªªªªªªªªªªªª°°°°°°ªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°ªªª°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶°°°¶¶¶ªªª   °°°ªªªªªª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°ªªª°°°ªªª°°°ªªªªªªªªªªªªªªª   –––      ––––––   –––––––––‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††‘‘‘††††††††††††††††††‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††††††††‘‘‘‘‘‘††††††‘‘‘††††††††††††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††wwwwwwpppGGGEEEpppwwwwwwwwwwwwwwwwww†††††††††††††††‘‘‘–––––––––‘‘‘††††††wwwwwwwwwpppfff^^^VVVVVVVVV^^^^^^fffffffffpppffffffppppppppppppfff†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘––––––   –––                           ªªªªªªªªªªªª   ªªªªªª   ªªª               ªªª            –––   †††www^^^NNNVVVVVVNNNNNNVVV   ªªªªªªªªª‘‘‘ppp^^^^^^www‘‘‘   ªªªªªªªªªªªªªªªªªªªªª°°°°°°ªªª°°°ªªªªªªªªª°°°°°°°°°°°°ªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶°°°¶¶¶¶¶¶°°°ªªªªªªªªªªªª°°°ªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªª   ªªªªªª°°°ªªª°°°°°°ªªª°°°°°°ªªªªªª   ªªª            ––––––      –––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘‘‘‘†††††††††††††††‘‘‘†††‘‘‘††††††††††††††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘††††††††††††wwwwwwwww†††www^^^NNNfffpppwww‘‘‘–––‘‘‘‘‘‘–––      ––––––‘‘‘††††††wwwwwwfff^^^^^^VVV^^^VVV^^^ffffffffffffpppfffpppfffppp^^^^^^††††††‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘––––––      –––   –––            ªªª      ªªªªªªªªªªªª   ªªªªªª         ªªª      ªªª         ––––––‘‘‘www^^^VVVNNNNNNNNNNNNNNNfff‘‘‘   ªªªªªª–––^^^^^^ppp†††–––   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªª°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶°°°°°°ªªªªªªªªªªªªªªªªªªªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªª°°°ªªª°°°°°°°°°°°°ªªªªªª            –––   –––      ––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––††††††††††††††††††‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††††††††www††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘‘‘‘†††††††††‘‘‘††††††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††††††††wwwwww††††††wwwffffffpppwwwwww††††††††††††–––   ––––––            ––––––‘‘‘††††††††††††wwwfff^^^^^^^^^^^^^^^^^^^^^ffffffpppppppppffffffffffff‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––   ––––––   –––                                       ªªª   ªªªªªªªªªªªª   ªªª      –––––––––‘‘‘www^^^NNNNNNNNNNNNNNNNNNVVV–––ªªªªªª–––†††fff^^^ppp†††–––               ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªª°°°ªªª°°°°°°°°°°°°°°°°°°¶¶¶°°°°°°°°°°°°ªªªªªªªªªªªªªªªªªªªªªªªª   ªªªªªªªªªªªª°°°ªªªªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª      –––   –––   ––––––         –––‘‘‘–––‘‘‘–––‘‘‘–––‘‘‘††††††††††††‘‘‘‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘††††††www††††††‘‘‘‘‘‘‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘†††††††††‘‘‘‘‘‘††††††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘‘‘‘‘‘‘www††††††††††††wwwwwwwwwwww†††††††††††††††‘‘‘–––               ªªª      –––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††ppppppfffffffff^^^^^^VVV^^^fffpppfffpppppp^^^^^^^^^††††††‘‘‘†††‘‘‘‘‘‘†††††††††‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘––––––   –––   ––––––                                                      ªªª         –––––––––‘‘‘www^^^NNNGGGNNNNNNNNNNNNNNN^^^‘‘‘   ªªª   †††ppp^^^fff‘‘‘–––            ªªªªªªªªª   ªªª   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°¶¶¶¶¶¶¶¶¶°°°°°°ªªªªªªªªª°°°ªªªªªª   ªªªªªªªªª   ªªªªªªªªªªªªªªªªªª   ªªªªªªªªª   ªªª   ªªª   ªªªªªªªªªªªª   ªªª   –––                        ‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††www††††††–––‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘–––‘‘‘††††††‘‘‘††††††‘‘‘†††††††††‘‘‘†††††††††††††††††††††‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††www††††††‘‘‘††††††††††††‘‘‘‘‘‘––––––ªªª                  –––––––––‘‘‘–––‘‘‘††††††wwwwwwffffff^^^^^^^^^ffffffpppppppppffffff^^^^^^‘‘‘†††‘‘‘†††††††††††††††‘‘‘†††‘‘‘‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––   –––   –––   –––               ––––––                           ªªª      ªªª   ––––––†††www^^^NNNGGGNNNVVVNNNNNNNNNVVVwww–––   ªªª‘‘‘ppp^^^^^^www‘‘‘‘‘‘–––         –––   ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°ªªªªªªªªª°°°ªªª   ªªªªªª   ªªªªªªªªª   ªªªªªªªªªªªª   ªªªªªªªªªªªªªªªªªª   ªªªªªª   ªªªªªªªªªªªª         –––   –––         ––––––––––––––––––‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††††††††††††††††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††www‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††††††††‘‘‘‘‘‘†††††††††‘‘‘†††‘‘‘††††††††††††‘‘‘†††††††††‘‘‘†††††††††‘‘‘††††††‘‘‘††††††‘‘‘†††††††††††††††††††††††††††††††††††††††‘‘‘††††††††††††‘‘‘‘‘‘‘‘‘www†††      ªªª                  ––––––––––––‘‘‘‘‘‘‘‘‘wwwwwwppp^^^^^^fffffffffwwwpppffffffffffff^^^†††‘‘‘†††††††††††††††‘‘‘‘‘‘††††††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––––––––               –––         –––––––––      ªªª                     ªªª      ––––––†††wwwfffNNNGGGNNNVVVVVVNNNNNNNNNfff‘‘‘      –––^^^VVVfff†††‘‘‘–––––––––   –––         ªªªªªª   ªªªªªªªªª      ªªªªªª      ªªªªªªªªªªªªªªª°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°ªªªªªªªªªªªªªªª      ªªªªªªªªªªªªªªª   ªªª   ªªª         ªªªªªª   ªªªªªª   ªªªªªª   ªªªªªªªªªªªª            –––            ––––––––––––‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘†††‘‘‘††††††††††††‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘††††††††††††††††††‘‘‘†††‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘††††††††††††††††††‘‘‘†††‘‘‘††††††††††††††††††††††††‘‘‘††††††††††††††††††††††††††††††‘‘‘‘‘‘––––––www†††      ªªªªªª   ªªª   –––––––––––––––‘‘‘––––––‘‘‘‘‘‘†††‘‘‘†††wwwppppppffffffppppppwwwfff^^^fffffffff†††††††††††††††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘–––––––––      –––                                       ªªª               ªªª         –––‘‘‘wwwfffNNNGGGNNNNNNNNNVVVNNNNNN^^^www–––ªªª   †††ppp^^^fffwww‘‘‘‘‘‘–––   ––––––   –––         ªªªªªªªªª   ªªªªªªªªªªªª   ªªªªªªªªªªªªªªªªªªªªª°°°ªªª°°°ªªª°°°°°°°°°°°°°°°°°°ªªªªªªªªªªªªªªªªªª   ªªªªªª      ªªª   ªªªªªª         –––   ªªªªªªªªªªªª            ªªª   ªªªªªªªªªªªª      –––         ªªª   ––––––––––––––––––––––––‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘†††‘‘‘††††††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘†††www‘‘‘‘‘‘–––‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘†††††††††††††††††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††††††††††††††††††††††††††‘‘‘†††‘‘‘††††††††††††‘‘‘‘‘‘‘‘‘†††‘‘‘††††††††††††††††††††††††‘‘‘††††††††††††‘‘‘–––         –––   –––   ªªªªªªªªª   ªªª   –––   ––––––‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘wwwpppppppppwwwpppfff^^^fffffffff††††††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––   –––   –––                                                                  –––‘‘‘wwwfffNNNGGGGGGNNNNNNNNNVVVNNNVVVppp‘‘‘      ‘‘‘wwwfffppp†††–––––––––      –––   –––      –––      ªªªªªªªªªªªªªªªªªª      ªªªªªªªªªªªªªªªªªªªªªªªªªªª°°°ªªª°°°°°°°°°°°°°°°ªªªªªªªªªªªªªªªªªªªªª   ªªª         ªªªªªªªªªªªªªªª         ªªªªªª   ªªª   ªªª         ªªªªªªªªª                     ªªªªªªªªª      –––   ––––––   ––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††‘‘‘††††††††††††††††††††††††‘‘‘†††††††††††††††††††††††††††††††††††††††www†††‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘††††††††††††‘‘‘††††††‘‘‘‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘††††††‘‘‘††††††††††††‘‘‘‘‘‘††††††††††††††††††‘‘‘†††‘‘‘††††††††††††††††††††††††††††††††††††††††††††††††‘‘‘–––         ªªª               ªªªªªªªªª      –––   –––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††wwwpppwwwwwwpppfffffffffffffff†††††††††‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††‘‘‘‘‘‘‘‘‘–––––––––   –––   –––               –––                                             –––‘‘‘fffNNNGGGGGGNNNVVVVVVVVVNNNNNN^^^–––ªªª   †††pppfff–––   ªªªªªªªªª   –––                  ªªªªªªªªªªªªªªªªªªªªªªªª   ªªª   ªªªªªªªªªªªªªªªªªªªªªªªª°°°°°°ªªª°°°°°°ªªªªªªªªªªªª°°°ªªªªªªªªª               ªªªªªª                  ªªªªªªªªªªªªªªªªªª         ªªªªªª   ªªªªªªªªª   ªªª            ªªª   ––––––––––––––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘†††‘‘‘†††‘‘‘†††‘‘‘††††††††††††‘‘‘††††††‘‘‘†††‘‘‘†††††††††††††††††††††wwwwww‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘–––––––––‘‘‘‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††††††††‘‘‘†††‘‘‘††††††††††††‘‘‘†††‘‘‘††††††‘‘‘‘‘‘‘‘‘†††††††††††††††‘‘‘††††††‘‘‘††††††††††††‘‘‘†††‘‘‘†††‘‘‘†††††††††††††††††††††††††††††††††††††††††††††††††††––––––            ªªª            –––               –––   ––––––––––––‘‘‘www††††††wwwwwwwwwwwwpppfffpppffffff^^^^^^††††††‘‘‘‘‘‘††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘––––––––––––   –––               –––   –––   –––                                 ––––––‘‘‘pppVVVGGGGGGNNNVVVVVVVVVVVVNNNVVVppp‘‘‘   ªªª‘‘‘ppp‘‘‘–––   °°°°°°               ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª      ªªªªªªªªªªªª   ªªªªªªªªªªªª°°°ªªªªªª°°°°°°°°°°°°ªªªªªªªªªªªªªªª°°°ªªªªªª      ªªª         ªªªªªªªªªªªª         °°°ªªªªªªªªªªªªªªª   ªªªªªªªªªªªª   ªªªªªª   ªªª         ªªªªªªªªª         –––   –––   –––––––––‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘‘‘‘–––‘‘‘‘‘‘††††††‘‘‘‘‘‘‘‘‘†††‘‘‘††††††††††††††††††‘‘‘‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††††††††www†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘––––––––––––‘‘‘‘‘‘‘‘‘‘‘‘–––‘‘‘†††‘‘‘†††‘‘‘–––‘‘‘†††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘†††‘‘‘††††††‘‘‘†††††††††‘‘‘††††††‘‘‘††††††††††††‘‘‘†††‘‘‘†††††††††††††††‘‘‘††††††‘‘‘††††††††††††††††††††††††‘‘‘––––––                  ªªª         ––––––      ªªª      –––         –––††††††††††††wwwpppffffffpppffffff^^^†††‘‘‘†††††††††‘‘‘†††‘‘‘†††‘‘‘‘‘‘––––––––––––   –––            –––––––––   –––   –––                  ªªªªªª         ––––––†††pppVVVGGGGGGNNNVVVVVVVVVVVVVVVNNN^^^–––      †††www†††–––            ªªª                  ªªªªªª°°°ªªª°°°°°°ªªªªªªªªª   ªªª   ªªªªªª   ªªªªªª   ªªªªªªªªª°°°°°°°°°°°°°°°ªªªªªªªªª°°°ªªªªªªªªªªªªªªª      ªªª   ªªªªªªªªªªªª   –––   ªªª°°°ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª   ªªªªªª   ªªª   ªªªªªªªªª   ªªª               –––   –––‘‘‘‘‘‘‘‘‘–––‘‘‘‘‘‘†††‘‘‘–––‘‘‘‘‘‘†††‘‘‘‘‘‘‘‘‘†††††††††††††††‘‘‘†††††††††††††††‘‘‘†††‘‘‘††††††‘‘‘†††††††††††††††www††††††††††††wwwwww††††††‘‘‘‘‘‘‘‘‘‘‘‘––––––‘‘‘–––––––––‘‘‘‘‘‘‘‘‘––––––‘‘‘†††‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘††††††‘‘‘‘‘‘†††‘‘‘†††‘‘‘‘‘‘‘‘‘†††‘‘‘†††††††††‘‘‘††††††‘‘‘†††††††††‘‘‘‘‘‘†††‘‘‘†††††††††††††††‘‘‘††††††‘‘‘‘‘‘††††††††††††††††††††††††††††††––––––   ––––––   –––   ªªª   ªªª                              ––––––   –––‘‘‘‘‘‘‘‘‘‘‘‘†††wwwffffffffffffppppppfff
\ No newline at end of file
diff --git a/tutorial/tracking/model-based/keypoint/tutorial-mb-klt-tracker.cpp b/tutorial/tracking/model-based/keypoint/tutorial-mb-klt-tracker.cpp
index b83463001706e722f375c57d7011c58f8b10fa3a..b2620b638ace086427eeb01f8cf3352193cfa4ee 100644
--- a/tutorial/tracking/model-based/keypoint/tutorial-mb-klt-tracker.cpp
+++ b/tutorial/tracking/model-based/keypoint/tutorial-mb-klt-tracker.cpp
@@ -1,78 +1,127 @@
 /*! \example tutorial-mb-klt-tracker.cpp */
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpDisplayX.h>
 #include <visp/vpImageIo.h>
+#include <visp/vpIoTools.h>
 #include <visp/vpMbKltTracker.h>
+#include <visp/vpVideoReader.h>
 
-int main()
+int main(int argc, char** argv)
 {
-#ifdef VISP_HAVE_OPENCV
+#if defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020100)
+
   try {
+    std::string videoname = "teabox.mpg";
+
+    for (int i=0; i<argc; i++) {
+      if (std::string(argv[i]) == "--name")
+        videoname = std::string(argv[i+1]);
+      else if (std::string(argv[i]) == "--help") {
+        std::cout << "\nUsage: " << argv[0] << " [--name <video name>] [--help]\n" << std::endl;
+        return 0;
+      }
+    }
+    std::string parentname = vpIoTools::getParent(videoname);
+    std::string objectname = vpIoTools::getNameWE(videoname);
+
+    if(! parentname.empty())
+       objectname = parentname + "/" + objectname;
+
+    std::cout << "Video name: " << videoname << std::endl;
+    std::cout << "Tracker requested config files: " << objectname
+              << ".[init,"
+#ifdef VISP_HAVE_XML2
+              << "xml,"
+#endif
+              << "cao or wrl]" << std::endl;
+    std::cout << "Tracker optional config files: " << objectname << ".[ppm]" << std::endl;
     vpImage<unsigned char> I;
     vpCameraParameters cam;
     vpHomogeneousMatrix cMo;
 
-    vpImageIo::read(I, "teabox.pgm");
+    vpVideoReader g;
+    g.setFileName(videoname);
+    g.open(I);
 
 #if defined(VISP_HAVE_X11)
-    vpDisplayX display(I,100,100,"Model-based keypoints tracker");;
+    vpDisplayX display;
 #elif defined(VISP_HAVE_GDI)
-    vpDisplayGDI display(I,100,100,"Model-based keypoints tracker");;
+    vpDisplayGDI display;
+#elif defined(VISP_HAVE_OPENCV)
+    vpDisplayOpenCV display;
 #else
     std::cout << "No image viewer is available..." << std::endl;
+    return 0;
 #endif
 
+    display.init(I, 100, 100,"Model-based keypoint tracker");
+
     vpMbKltTracker tracker;
+    bool usexml = false;
+    //! [Load xml]
 #ifdef VISP_HAVE_XML2
-    tracker.loadConfigFile("teabox.xml");
-#else
-    tracker.setMaskBorder(5);
-    vpKltOpencv klt_settings;
-    klt_settings.setMaxFeatures(300);
-    klt_settings.setWindowSize(5);
-    klt_settings.setQuality(0.015);
-    klt_settings.setMinDistance(8);
-    klt_settings.setHarrisFreeParameter(0.01);
-    klt_settings.setBlockSize(3);
-    klt_settings.setPyramidLevels(3);
-    tracker.setKltOpencv(klt_settings);
-    cam.initPersProjWithoutDistortion(839, 839, 325, 243);
-    tracker.setCameraParameters(cam);
-    tracker.setAngleAppear( vpMath::rad(70) );
-    tracker.setAngleDisappear( vpMath::rad(80) );
-    tracker.setNearClippingDistance(0.1);
-    tracker.setFarClippingDistance(100.0);
-    tracker.setClipping(tracker.getClipping() | vpMbtPolygon::FOV_CLIPPING);
+    if(vpIoTools::checkFilename(objectname + ".xml")) {
+      tracker.loadConfigFile(objectname + ".xml");
+      usexml = true;
+    }
 #endif
+    //! [Load xml]
+    if (! usexml) {
+      //! [Set parameters]
+      tracker.setMaskBorder(5);
+      vpKltOpencv klt_settings;
+      klt_settings.setMaxFeatures(300);
+      klt_settings.setWindowSize(5);
+      klt_settings.setQuality(0.015);
+      klt_settings.setMinDistance(8);
+      klt_settings.setHarrisFreeParameter(0.01);
+      klt_settings.setBlockSize(3);
+      klt_settings.setPyramidLevels(3);
+      tracker.setKltOpencv(klt_settings);
+      cam.initPersProjWithoutDistortion(839, 839, 325, 243);
+      tracker.setCameraParameters(cam);
+      tracker.setAngleAppear( vpMath::rad(70) );
+      tracker.setAngleDisappear( vpMath::rad(80) );
+      tracker.setNearClippingDistance(0.1);
+      tracker.setFarClippingDistance(100.0);
+      tracker.setClipping(tracker.getClipping() | vpMbtPolygon::FOV_CLIPPING);
+      //! [Set parameters]
+    }
     tracker.setOgreVisibilityTest(true);
-    tracker.loadModel("teabox-triangle.cao");
+    tracker.loadModel(objectname + "-triangle.cao");
     tracker.setDisplayFeatures(true);
-    tracker.initClick(I, "teabox.init");
+    tracker.initClick(I, objectname + ".init", true);
 
-    while(1){
+    while(! g.end()){
+      g.acquire(I);
       vpDisplay::display(I);
       tracker.track(I);
       tracker.getPose(cMo);
       tracker.getCameraParameters(cam);
       tracker.display(I, cMo, cam, vpColor::red, 2, true);
       vpDisplay::displayFrame(I, cMo, cam, 0.025, vpColor::none, 3);
+      vpDisplay::displayText(I, 10, 10, "A click to exit...", vpColor::red);
       vpDisplay::flush(I);
 
       if (vpDisplay::getClick(I, false))
         break;
-      vpTime::wait(40);
     }
+    vpDisplay::getClick(I);
 
 #ifdef VISP_HAVE_XML2
     vpXmlParser::cleanup();
 #endif
-#ifdef VISP_HAVE_COIN
+#if defined(VISP_HAVE_COIN) && (COIN_MAJOR_VERSION == 3)
     SoDB::finish();
 #endif
   }
   catch(vpException e) {
     std::cout << "Catch an exception: " << e << std::endl;
   }
-
+#else
+  (void)argc;
+  (void)argv;
+  std::cout << "Install OpenCV and rebuild ViSP to use this example." << std::endl;
 #endif
 }
diff --git a/tutorial/tracking/moving-edges/CMakeLists.txt b/tutorial/tracking/moving-edges/CMakeLists.txt
index e1e7dd3410beef63ff5b4c56978a55f7ac990190..590ef19aca73f298e6c2d7502da19f041fc4676f 100644
--- a/tutorial/tracking/moving-edges/CMakeLists.txt
+++ b/tutorial/tracking/moving-edges/CMakeLists.txt
@@ -11,4 +11,7 @@ set(tutorial_cpp
 
 foreach(cpp ${tutorial_cpp})
   visp_add_target(${cpp})
+  if(COMMAND visp_add_dependency)
+    visp_add_dependency(${cpp} "tutorials")
+  endif()
 endforeach()
diff --git a/tutorial/tracking/moving-edges/tutorial-me-ellipse-tracker.cpp b/tutorial/tracking/moving-edges/tutorial-me-ellipse-tracker.cpp
index 19b8fa40d0b42abd66a7056283cbf575bb36d29c..38d5bc13ede2ffd4b2ee2a8039047069bc026609 100644
--- a/tutorial/tracking/moving-edges/tutorial-me-ellipse-tracker.cpp
+++ b/tutorial/tracking/moving-edges/tutorial-me-ellipse-tracker.cpp
@@ -3,6 +3,7 @@
 #include <visp/vp1394TwoGrabber.h>
 #include <visp/vpV4l2Grabber.h>
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpDisplayX.h>
 #include <visp/vpMeEllipse.h>
 
@@ -26,6 +27,8 @@ int main()
     vpDisplayX d(I, 0, 0, "Camera view");
 #elif defined(VISP_HAVE_GDI)
     vpDisplayGDI d(I, 0, 0, "Camera view");
+#elif defined(VISP_HAVE_OPENCV)
+    vpDisplayOpenCV d(I, 0, 0, "Camera view");
 #else
     std::cout << "No image viewer is available..." << std::endl;
 #endif
diff --git a/tutorial/tracking/moving-edges/tutorial-me-line-tracker.cpp b/tutorial/tracking/moving-edges/tutorial-me-line-tracker.cpp
index e01f9f6789b1a6e89150303a400c13b55fb911cf..5c6657edb7ed1a6f271acd209c9801f8d9d27da4 100644
--- a/tutorial/tracking/moving-edges/tutorial-me-line-tracker.cpp
+++ b/tutorial/tracking/moving-edges/tutorial-me-line-tracker.cpp
@@ -3,6 +3,7 @@
 #include <visp/vp1394TwoGrabber.h>
 #include <visp/vpV4l2Grabber.h>
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpDisplayX.h>
 #include <visp/vpMeLine.h>
 
@@ -26,6 +27,8 @@ int main()
     vpDisplayX d(I, 0, 0, "Camera view");
 #elif defined(VISP_HAVE_GDI)
     vpDisplayGDI d(I, 0, 0, "Camera view");
+#elif defined(VISP_HAVE_OPENCV)
+    vpDisplayOpenCV d(I, 0, 0, "Camera view");
 #else
     std::cout << "No image viewer is available..." << std::endl;
 #endif
diff --git a/tutorial/tracking/template-tracker/CMakeLists.txt b/tutorial/tracking/template-tracker/CMakeLists.txt
index 385c9d6351f5740690860a06a31b3fe03f60ad02..d2b69576da54202d6bc665d4e656586ca3b3dee5 100644
--- a/tutorial/tracking/template-tracker/CMakeLists.txt
+++ b/tutorial/tracking/template-tracker/CMakeLists.txt
@@ -8,10 +8,13 @@ find_package(VISP REQUIRED)
 set(tutorial_cpp
   tutorial-template-tracker.cpp)
 
-list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/pattern-template-tracker.pgm" )
+list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/bruegel.mpg" )
 
 foreach(cpp ${tutorial_cpp})
   visp_add_target(${cpp})
+  if(COMMAND visp_add_dependency)
+    visp_add_dependency(${cpp} "tutorials")
+  endif()
 endforeach()
 
 # Copy the data files to the same location than the target
diff --git a/tutorial/tracking/template-tracker/bruegel.mpg b/tutorial/tracking/template-tracker/bruegel.mpg
new file mode 100644
index 0000000000000000000000000000000000000000..3fa49c5a51766b2d04b422cf32bbc8a922034d42
Binary files /dev/null and b/tutorial/tracking/template-tracker/bruegel.mpg differ
diff --git a/tutorial/tracking/template-tracker/pattern-template-tracker.pgm b/tutorial/tracking/template-tracker/pattern-template-tracker.pgm
deleted file mode 100644
index a9c08148ee6f68a970b8e1fed32b54511b7ca77e..0000000000000000000000000000000000000000
--- a/tutorial/tracking/template-tracker/pattern-template-tracker.pgm
+++ /dev/null
@@ -1,4440 +0,0 @@
-P5
-# CREATOR: GIMP PNM Filter Version 1.1
-640 480
-255
->>?@?AAAAA@@@@?A@@?ABA??ACCBABBDCABCCDDDDCCCCCCDEEDCDDABDFDBDEEEEFEDDFFEFGDDDBEGEEEEDEFFCDECCDDEGHHHHGGFGGGGGIIHHJIGHIIHGIHHGHGHIJIIKLJHJHIKKKMMLKJKKKKLLMMMMLKKIKLLLMMMNNMLLNNKKMMLLKJJLNNMKNNLLMNONNMLLQPNNNMNOOMOQQPOOOONOPPOPPOOOOONNOPPQQQRQOPRRRQPPSQPQQQTTSPQTSSSTRRRSSTTPPQTVUVUTUUSQRTVUTTTVWWWVUUVVVYYWVWYXVVXXZZZZ[[Z[]\Y\\[YZ\[[[\[[]^_`][]`_]^_`aa`aaabbbbca_b`bccefdddfgffefgghgdfgjihhgghhjihijmnmmmooopommlmnopolhkkihggfeedbcaaaa_^]YZZXVTSPNNMHFFEEDB@>;:9974320./-((''&%" 
-			
-			
-  !! 
-
-					
-
-		
->>?=?@A@@@@?@AAAABA@AA@???AAABBCCABCB@CCCABAB@CCCDCBDDCCDEEBDDDADEDCFGFDEFDEEBDFFEEEEDFGEDDCDDDEGGHHFDGGHIFFEIJIJIGGIIIIIIHIHEGGIIJKLLKIKIJJJIMMMIIJIGJJKFJJLMMLMMLKMMLIMNLGLNNLLNMKLJJKMOONLHLJMOPONKNNNOOMNONNOONOOMOOOPQPONOPQQQMMNOKNORSROPPQPQRTTRNPRQNRTSQTSTSSSSSSRRSSPTTTPTUUTUQSRUSSUWWWUTUVWWVVVUUTUYXXWXZXWXYZZZZYY[YZ[[X\\[[\\\[[ZYY[^``_Y]`a`_```__aabcbbcdb^baabdffdfffedaefgchhggghijhehijjiiijklnllnpqpimkmmoopjggkjighihdfdccbba]a^]Y[[YSSSRNPNKGGEFDB@?=;686623./.-()(($&!  
				
  "!!


-
-	
-
-<=>??@@?@A=>@BBAACA@AA@??@ABBBBBABCCA?BDCCCBB@BB@CCDDDCC@DEDCBBCCDBDFGEDDDDEEEDEEECDEFFFFECDEEDFGGGHEEGHIJFFEHHJJGEGHIIIFFFHIHHIFGIKLMKJKKJJIJMNMKJJGHIJKJKLJMMMMMLLMMKJKMLKMMLLMNMNMLMNLNOPNLLMNOPQONOPOOONJPNOPONNMNOPQRQQPNNPQQQQQONNPQSTRPPPQPQQSSRQQQPPTVTQTUTTTSRRRSTSSRSTTUUVUTTSSTTRSWXWXWTTTVWVVVUUTTWXWWYZYWWZZXYYVY[YWZ[[\]\\\\\\\\[[]^_`^Z\^`a`_`_^_abbcccccb^cddcefedegfcbaeihgghggggiiihhijikkkiknmllnoponmkmmnpnlkklljiijiihgecbbbbbb^\[ZYYXVSRQOLJIHGFC@@=<;8677541.,++)((&$"!! 				 !#$"!		
-
-<;=>??@>@@?>@AAAB@@@BAA>@AA?BBAAABCBA@CDDDCBB@BBAACDDBBCDEECDDDBDDEEGHGEEEFFFEEDFEDCEFEFFCCCFFFGGFGGGGHIIHGFFGIJJGGGHGJJHGGGJJJJHGHIKLLHKKJJJGLLKJKKKKKKLLMMMMMMMMLLLJLKLKLJNONLLMNNNHLNNMNKONNNOOPPOMNKNOPNNOPQQPPMNNPPQQPQPLOPPQSRRQPNQQRPRKPOOPQQPPRRRRRRTSRQUUUSTPRRSSTSSOTPQSUVURUTSTTSVWWSVVUTUUWWVSUTTRVUXYZXZTWZZXYYYYZYXY[\\[\[\]]]]X\\\Z[\_Z\[^_`\`^`bcab_bccbb`dedbeeeaebgeddddikigfeggihihhhiiklkhknnjjjnnnjmllgljpnmmnlljjfihhadcc^cdcb`^\XXYZUTRQPOLLGHGE@B>=<:8:8655//+-))'(&%!"  
-			
-"!  !		
-	<=??>>??@@?@@@<AB@>BBBCBA@?@BC@@@BCCCBBCDCBCCBBBABACCBCEFEEDEFEEDDEFFHGFCFGGFGGFFGFDCFFEFEDEFFFGFEEFGIJIGGFFFHIJJIGGIJJJIIJKKJJKJJIIJLKKMNMLKKLLKJLMLMMLKKKLMNONLLMMLLLLMMLKLONKKLMNMLMNMMMNOQPOOOPPMONLMOOMNOPRRPPOPQPOPOOOOOOQOQRQOQQRRQPQQPPRRRSSQOQRRRRRSRSUVVTTTSSSSTUSSSSPQRSVUTVWVWXXXWVTVVVVVVVWVUUWWWVXZ[ZZYVWYYYXYZYYZYXZ[[[[\]_^]^]]]\\^`_]]^^]_a_]abbbaaaccbccbddffefgfggfhhfciljhghhhiifijhhilmmklmmmkilomjllkhloopmlllkjiihhfdcedddfdc__^^^^[XURSQPMMKHGGFDC@=<9::887421.+))))&"!  

-								
-
  !! 		
-

-
-?@A?@@@@A???A@??AAAABBCAA@BCDBBBAACBBBBBBCCCDDC@BBBCC@CEEDCCDDFFECDBFGHGFEGCGHHFGGFEEFFFDDEDFGGGEDDFHJJGHHHHIIIIHGFDIJKKIGKKKJKKKIIGJIKLLMLKKFKLKHKKKLLJIIIILNOOMHMMLKLIMMLKKNMKKFLNNNMLMLMJOOPLOPPOOPNMMMMMNNPQQPOKQQQMONMMPPPQRQQPPOSSSPPPOOQRRRTTSPPQSSRRROTUUUTSTTTRTUUSRRRQRSUUUUVTUUXYXUUTUVVVUUWWWSVWXVVWZXYUYVXVYUXXYXXXYY[XZZ\]_[^]^]^^][`a_]_``^``a^aa`]a`b^cbbccddffefgffhfiihejjjehiiejkjkkfgilnnlmmmllimjnkkkkjoooklfikljkghfgbd^eeeddda``]`^\UTRUSRMOKJFGHFAC??9:8:68521.*+)*''#" 	
-
-		
-		
-
-	  	
-	@AAA@@@AAA=>@@@??AA@?ABBAABCDDCCCBBA@AABCCDFDEDCCCBDDCDEDDCBEDEFCCDCEGHHGFFGHIHHGGEFFEEEBEFHGGHHDDEGHIIHHHIIIIIHFFEFILIJHFIIILLLJIIJJIHIIIHJJJJLKKKKJLJHHJKLLMOPMKLLJKMMMLLLKMMLLKLNOOOONMMKOPPPQRQNOPOMNNNOMMNQPPNOQRRRRQONPQQQRRQQQQSSROPPPQRRSSSTSRRRRSRQQOTUQTTTTUTSSTTSSRSTTUTTTTTTTTWWWVUSUVVVUVX[XVWWWXXWXUWYYXWVYYY[[\\[Z[\\\[[\^_^_^]]^][`b`^_`a`aabccc`]acbbbcacdedfgffgghgghiijjkifgihhjkklljhimonnmmklmnnponljmlnonkljijklkjiihgfgggfbddcbaa`^[YWVWWTRPLLGIJECDEB><;::951/..-++)(&$#! 							
-
-
-		
-
-
   
-
-?@AAA?BBAA?>@AA>@AA?ABBAABBCB@CCDCC??AACDDDEDDDDDEEDDDEECCDBEDEEDCEDFEGGGGFFHDIGFGHFFDFGFGHHGEHHGEFGHHHHGCHIHGHHHHHHKLJJIGJHJKLJIFJLKJJIIHHIJJKKKLKHJIIIJLMLNKNNNMMKKLNNMLLMMLMLNMMOPNOOOLMLOPPOPQQOPPPOOPQOOOQRQPOPRRSUTRQNPRQORRQQQRRSRQQOPQTTTRSQSRSSTQQPROSSTUTSTTURRRSSSQTUUPTRTTTUVTUTVVURUWWUWWYZYUWWVXYWUTWXXXWWZY[Z[\^[[\\\\Y[Z\]^^^^]\[[^aaZ_\```acbbaa_bba`deeceddfgffcfgfcggiikkiggggfiilkkkkionponllklmpoponlnjmlmjmkjihdjhiahhhehgfbbbbaaaa^\XWUWVVRPMMILLIEEED?=;::953/-,/-+()%&%#! 
	
-	
-		
-

			>@@AABBA@???@AABAAAABCAAABBBABCCDDCA@CCDDEDDCCDFFFEECCCCBDEFFEEFEEFGGFFFGGFFGGGFDGHFFDFGGGHGHHGGHHFGIIGGGGGHFGHIJJJJJJJKKKJIJKLKIHJLKKKJKJJJKKJKLKJKKKKJKMNNMNNNNNMMLLOOMMLMNMMMMMKPQPOOONNONOONNOPOOOQSQQQQPOPQQQNQQQRSTSQPQSRQQQRSRQRRRRRQPPSUUUTSSRQTUUTSSTSSTVTRSTTTSTTTSPSUUUVXWVVVVUUUUVVSUXXXWXXYXUWVTWYXVVWWWVWYZZ[[[]^]\\\\\Y\^^^]]__aa^[]_ab_\ab`bbaa`bbbcbbdggffdceffeefhgggiijjjiiijhfijkkkjmoopqqoonmjlnooomklklmlmmkijfghhghiihhgggfefdabba`^][XWXVTRNNNMNLHFFC???=:985320//-+*&&$$$" 							
-
-
-
-		@@@?CCB>>>@???AAABBAABBBCBB@BCCBCBDBBDDCDFEDCCCEEEEFEBBBCDFFFDFFDCEFFEDEGGFEGEDDFFFGGEFGGGHDIIGEIIGGHGFGHGGFEEHIKJJHIFIKKLJIJKLJJHHIJJJKKJKKLMLMMKMMLLLKLMNOOONKNMMMMKOONHLMMMMLLLMPQPPPONOONMNMMOPNOMQQQPPONMLMPQQRRSSSSSQLPQQPPQRRRQQNRQQRRORQTTSTSPRSTUTTTSVUVTTSTVVTUSTUTPSTVUWWWTWWWTUUTUWTVWYUTTWWXWXUVVYSWXXWXXYZ[XZW\^^]]Y\\\[]]]\^^__aa_[^^aba^babcb__`ccbcc`egffedeef_ecfhiiihigjfijjjifijjhjimlnnoppomnnmnnokklmilnmlokkkhggggghhiihcgcd`fad`ab`_]XZZXRUPOOOLMHGDD@A>?;;772331-/,,&%$$$$ 
-				
-		
-
-			
-	@@??BBA@AAA@?ABB@BAAAABCBBCCCDCABDEECCBBEFDCCCACDEEFFEBABEEEEFFEDDDFFEEFFFEFFFFFFFGGHGGHGGGDHIGFHIHIIIIIHFFIJKJJJIIIIHGIIJKJKKKLKKIGIKKLLJKKLMNOMLNNMMILMLMONOONMMMMMOOOOONMKNNMKMMNONOPOOONNMNMKOQQPOPOOQPOOMMLOQQQSTSRRSRPPQPNPRPOONOQRRQSSTRQRSSTRRRSRRRTTUVWWWVURWVTTTSTUUTUVVVVVWVVVUVUUVXWVVWXWSUXXYXWWZZXXYYZ\\[[ZYZZ]_]]]]]\[\^][\^_``a`__^^`aaaaabc`_bccbacbaffceeefgfedegiijhhhijkkkkkjiijhjkkkmmnmmnminpnnooopqnklnmlnomkgghigfhghhgihddcded`bba^^^\[YXVVUSOMLJHGEECB@?=<9754320-,*((&%#!  
-	
-
-	
-
-
-			
-
-
-

-		
-
-@?>=@A@AAAA@ABBCCCBCDDCCA@CDDDDCCDEEDCBADDCBBBBBDFEDFFE?CFFBEFEEEDEGFCFFFEFGGEGGGEFGHHHGHHGEFFFFGFFFIJJJJJIKKKIGJIIHKIGGIJKKJJLMKJJGJJLMKIIJJJMNMLMMNMLMLKKJMMNMNLMKMNNNOPONMMNNNMMMLMNNNMOMNNONMOQPPQROPPOOONMMOLPORSSOQSTRRQPLPQPPPPQRSSTSTQSRTQSPSSSQRRRSTRVUVWVVVVVTTTTRVWVQVUWWWWVSSTWVVVXXWTWVXTVVYYYXZ[[ZZYZ[\Z\W[X\\]__]]^^^^^^Y[]^__^a___^\a`a_aaba`___cbaccbfffdeegfeefcigedddiiijkllllgiiijljjlnnnklmmnnonmmmqqoilkminjjjihhiieifhdgijhhbeeebbab[__]ZZZYWVTQLOLJGGEFBCA@;;775410,-+*'("!   

-
-
-		
-
-
-
-	

		
-
-??>>@@@@@@ABA@@BDDADDDCCAAACDEEEDCCDDCBCCBABDDCCDDEEFFGFEGFEEFEFEEFHGEDEEFFGHHHGGDFFGIHGGHGGHGGFFGFGIJJKKKJKJIHIJJIKKJFHJJLKHJMMKJIJKLLLKJIKLLLLKLKKMNMNLKJLKLNNNMMMJMMMLNNNMMNNMLLLKMOOOQPMOPPPOOPORTRPPPOOONOOPQOMQSRPOTTSSTQMOQQRSSRSSSRSSSSUTRSSSSSTTTTTTTUVTUVVUTUVVUTTUVVWWWXXWWVSSSVUUVXYXWVUWWWYYYXX[\\[[ZZ[[[\^[[]]\^^\^^\^^^\Y]_^^^]````_`a`aa``bcbabbccaccdeggeefhgdefgiifbdfiiiiillklljjjllkjlmnnopqqopqommpqqnlkjlnljjiigfgikjjhghijjhfghgccddda_]][ZXVUTRQPPNLJIGEDDB@>;98541-..-+)'$!" !



-
-	
-					
-
-

			
-
-@@@@@@@?ABCCB@A>DDDDDDDACBBCDCDCCBCCEEDDDCCCDDDADDEEFGGGFFFEDEGHGFFGGFFFGGGEHHHHHDDEGEIHHHGGIHHGGHHHIIGFJKIHHHHIKJJJKJIIKKLKJJLMKKKLLKKILKLLKJLJKLJHKMMNMLLLLIMNNLNNNONMMMLKMJMMMMMKMOOOOOPNPPPQQNPOSTRLOMOPONQPQOOMQRRRSUUSTSQNMMSSTTSSRORQTTUSTQTUTRTTTRRQUTUTTTWWVUUVVVUSUQVWXVWVWVVUUSUUTTVWXVUUVVYZZZZX[ZZYYYZ[[W]^\Z]Y[]\\]^]\\]]Z\W[\\\_____`a``a`^cdbbcabccbefecfeffghdefhhhgdefiiiijllklmljlkmljkmmmnqqpmopojnoomlgkjjijgiiibecjkjejgghifgchhgdcceac]__[UUUUTTSRPOMLKIDEDCB@<;5445///0,+(&#$!"!!
-	
-
-
-		
-	
-
-
-
-		
-
-@A@AAA@@ABACBCCCCCCCCDEDCCBCDDCBADEEDEDCEFEDDEEDEFEEDFFFFEEDCFHIHGDEGGGHHGFFFFGIIGGGGGHIGIIJJIHHGIHHIHFIJJIGIJJIJLGJJJJKLLLKJJLLKKKMLJFKMNNNMKLLLKJIHLMNNNMLLLLMLKNONOOMMLKKMONMNPOOOOOONMPPOOOPPOPQQSQPNLOQOOQSRPPPRTTTUVVUTTQONPSUUTSRQRRRSTUUSSTUTQSSSTSTTSRTTTVVWVUTVWSSUTSUVUWXWUVWVTVWVUUVVVVXXXY[ZZZ[[YXYYX[]\\\]\[\YY]\\]^^_^^]]\[[^__]^_``aba`a_acc`abbabcdegfeedeeggdefhgfghgfhiijjllklmkjlmmnmlllklnpmlnooooonnljjimmjghhjiggijiijhghihhggggeadeecbb`]\[ZWTUUSRPOOMLHFFDAA@=;9963220,+('&&%#! %(&#


-	
-
					
-@???@?@@AABCCEFDB?BCCDDCCBBBDDDCBCEFEDDCDFFEDDEDEFGDEEGFEBEEEFGGGFECGGGHHGFBFGHIIGHIHGIIIIIJJJJHHIHIIHFHIIIIJKLGLNKIIIJLMHKKKKMMLJLMMKKLMMNNMKLMLKKKLMNNNNMKMMMMLKLMMKLLMLLLNOONOPPNNMPONNOOOMNOQPRRRRQNPNPQPOPRRPQQSSTUTRUTUUSPPQSTTTSQSTTRRPSRTSSTSRSTSPSRSRSTTTURWTUTWWVTTSSSSTVUWXXWWTWWWSVQWWXYZYYYYUYZZWWYZX[]]YYZ^]]Y[]_\\[^^__^]]]]_`^^[aa``bcbbbacdaaaabcc^efeedefefffeeffehhhfhfhjkllfjkjhkllkkkkjlloonlnkprqlmnngkinolfffijhgifihiiggijjhgdhfeefeecea`[\]ZVWSTNQPQNNLHDEA@?@:9973210--''''$""!%&*)"




-
-
-
-	


			
-A@@@@@AABABCDEEC@?BCCDDCDCCCBDEECCEEECBCAEGFDCCDFGGFFFGGFDFGFFFEDEEEGGFGGGFDEGHHFHIIGHIIHJHKJKKIIHGIIHFGDIKLKKLMMNMJIIILLKLLLLLMLJKLLLLLMNMMMLLMLKKLLMOONNMMMLLLLLMMLKLNOONMNOOOOONNOPQRPOOOOONPRSSRQQPOOPQQQONPQPPQSRRTSRTUTTSQQPQSTTSQTVWVSORTTTSRSTTTSRRSSSTUTUUVVVUVVWVVVVUVVVUUWYYWXWVUXXVVXZZYWYXWYZYZYVY[[YX\\[[]_a_\[]^^]]^__^]]]^^^`__`bb`accccbacdbbcaccccegfecdefffffffeeghhihfgijmmkiihgjjklmmjkmmoonmmopqpkmnnlkjmnljhhhighhijjihghjjihijigeefgfeddb_`_\ZXWTSRRRQOMJEFEB?@@=986520./-+)'%##!!#&'&#


	
-
-
-
-
-
-
-
-
-
-		
-BBA?@AB@CBBBDDCCB@CCCCDDEDDCCDEBDEEABDDCCCFFECEFFFFFFFFGFFHIHFEDGGFGFFFDFFGEEDHHHHJJIIHFIJKJJHJKJHIJJIHHHIKMMLMMLKKJJHIJLKMMMMLKJILMMLLLLLKHLMMMLIKLMLOPONNMNIKJLLNNMIMNPONMNNONONPQQOPQROPPPPQPRSSOQNNMMMQRQPPPPOOPQPRSSPTNTRSPQQRTTSSQSWXUTQUVUTSQTTUUUQTUUTTRUVVUUUUUVTURWWWVWVWWVVXWXVVUXWXSXZZXWZZZ[YZZZX\Z\[[\]]]]^__]][]Y^Z_^^[\\]^^___`_bcccddcabac_acdcdeddegfcedfggdeegcgfhefeheefjllkjfigjjmmnnmnonponlnoonoiolnnliijmljghfiiihlkkiihhdgdjkjhfcccfacccaba]XXWWTUQRPPLKFFDB?@==99672201/,)(&%!#   $"" "##"


-
-	
-					
-
-BA@@ABABCDBAABABBBCEEFEEDDDCCDEEDEDDCFFEDDFGGEFFCEEEFFCFFFJJHEDFHHEHGFFFGGHIFDHIIIJKKIHIIHHJIGIJIJKJIIGHIIKKLLLLKJIHHIKLLLMNLLLMMLMOMLLLLLJGJNNMMKKMNMNONMMPPPNMLLMOMIMPPOOLMOOPPPQRQPPPPQPPPOPPQSRQQQQPPQQQRRRPLNPRQPRTSTSTTUSRRSSTSRRRTWWTSQUWUTTTTTUWVUVVTTRRVXTSUVVTUWVWWYWVVVXXTUXWXWVVXXXXXYXXW[Z\[[[\[\]\[[[[]^]\\]\]][\]^``_^]^_`_``____cccbcdcacdcaacdddddddefggfgiggfffgijiiiiiiiihiijklkjijmponnonoopnlnomnnmnonnlklmmljjhiikjhjmlljigcfiiijigedffeceedb`_^\[YXWVSRPLLHHGEA@=<<<:975420,*)''&#"!!$$""&((#"! 

-
-								B=ABB@A?CDCAA@BBA@CCEFEDDDDDCBFFEBDDEFEEEDEGHEGFECDBFFEEFEJKHDEGIHGHIGGFIIIJGEIGGFHIJJIIIEHJIEHGHJKKKJIIIIIIJKLHJIIJJILNMKKLKILNOONNLLLLMKLILNMNMMMNNMNMLKNPQPQMMMMKMHLNOPPLMNNLNOOLPQQOOQPNMNNNQRQQRPPORSQNPORMONQQPNOQSSRRTTTSTORRTQRRTTUSSPSRRQUTSTUWVUXWTTTTWVWVUTUUVWXXXYWRWWXVVVWWWWWVWXXWYYZZZYY[[Y\ZZX][\V[[^_^\\[]^^[\]`aa_^]`aa^```_`]bdc`abb`d`daacedcaaadcgihfgggcgghgjjjgjikklkjjjhlmkhjjlooimillppommklmljniojljmklhjijfjkjegilijfhcfghhhgicfefffgfbaa`]_]\[XTTPRMNIHHHCC>==>::8633/-,+(($$!""" "%+*$ "!


-						BAACCBBBBBCCBABBACDDDDDDDCBDDDEEDDDDEFFFFFEFGGFHGEFGFFGFFGIKHEDFGGGHIHHHJJJJHHHGEFFFGJJIIJIIHFGHHHIJKJHJIIJJIJKKKKKLLKKNMJIKJKLMMONMKNMMLMNONMKNNLMNNONMMLNPPPONOONNMLLLMPOMMNKKKMMNOQPOOQOMNNNNOQRSRQNORSRPOQRSQPRRQPRTSSQPRTTSSSSTTTUVTSUSSRRQQRTSRRVWTWXXUTUWXXWXVUUWWYYZYXWWWWXXXXWWWWWVUX[ZZY[\ZYXYZ[ZXYY\]\[[\^___^^__]]]]_```__``__`aaa`__ccbaabadeedefecdedbefhihfegfefhihkkiijilnmlmmlmllkgkilnnomllmpqpponnmljnpmllklmkhiikkjkieghiihihhhghhhiihgffgggfdcc`___][ZXURTTPNLLIGEDAA><:96520/--,)%%$$"!"#),,$ 												BBABBCCBB@BBCBBABDECDDEEECDDDDDDDDDEFGGDDCEFGFGHHGHHGEGGFGHHHFEFGGHHIGGHIJJJIIIGFCHIIJJJJJIHHEGGGGFFGHHJJIJJIKLMMMKKMMKLLHIKLMMKLMMMMNNILLOPONMMMLMNNNMMMMLMNMOLOOOONMMNNOPONNMMLLNNOOONONONOONNNNRRQQPORSRPPQQRRPSSQPTVUSQPPRSTTTTQTSUVUSVTTTTRQQTRRRWXXVWWURUVWVVTWVVWXVXUVRVUVVVVYXWUXYXVXZZ[ZYZZYYZX[[YWYZ\X\Z\^]^_]^]][[Z]^_Z__a``````_aa`_`ab``aaadddefeedecdaeghhgehhfghhhhjkjjkilllmmhlmmjlhljmjoooklmqmqprromnknmlfkjjjkgjhmlliieffhffehfjghghhhhhfgggdddcba^`\^\]ZYSTVSMMMKGHCC@@<<785432..**$&&%"!!# &*-.+'%#" 
-						@AAAABCCDCABCCBBBDDCDEEGFEEEDDEDDDEFFGGEDDFGGGGGFGGGGFFGGHFGGFFEEFGHGEDHIIJKJIJJIGHKJJJJJIJJIHGHHGGGIJJKKJJJJLMMMMKKMNKKKKJMNOLKKLMMLMMNMMNPONLLLMNONLKNNMLNNLNONNNNNNOOOOPPNMNMMNPQPONMOPOOOOPPNNQRQQQOPSRQQQQRSPQRQPSUUUTQORTUTSSTTTTUUWVTTUTSQQUTTUWXWVUWUTTUUVWWXXVUWXVUVVVTTUVWXXWWXZZVXZZZZY\[UY[\]\YXZ\]^\Y\^^^]]]]\\]]]^___aaa```aa`aa`abcb`bdcbcddeffeeeec_behhghihgijidhklkkklkkjlkflnnmmllmlnoonnnpqrppqrpmopnmigikjjijkllmkjieijiiiigfiiijiihhhihgfdffebcca_`a_^[WWWTRPNKJIGEDCC?<:976420.,*'&&"! !$!!&(+,-..,**)(&$$ 

-
-
-				AAAAAACDECCCDEDBCBECDEFFFFFAEDCCBAFGFGF@DEFGGBGEEDFFFGGHHFEEGGGFEEFEEDFGIIJKKFIKJGHJJEJHJJJKJIJJJGHIJKLLMKKLLKKIKLLKMLLILMMMNOONMMNNLKNNMIMOOLNMNOPPOKMOPLMOOLMMLMNNNPPMOOPLOOOJLOQRONNNQRQMPOPMMMRRQNRQRRRRRRRRTQPNOQSOTTTSRQSUTSSRTPTSVUUTTTTTSSUTVXWSVWVTUQVTXXXXWVVUXVWWXXWTTTWVVWWWXYZXWTZY[Z\[YZZ[^[YXZ\^^\ZZZ^^]\]^_]]]]^_``aa^a^_aa^bbbacddab`c^d`dbdadefee_bcffgfighiihhikkjhkkjjjijfllmmlkmgklnmlmooppomonomopokjejljghhlklihhjeiiihihgfhijjhggdgihcdehggcfdc]bb_^\YXWURSNMJLHHGECB<;:96532./+)&'""!!$)*(-(,+(%'(''()%   
-
-
-
-
-			ABABAADFFEDCEEDDEFFDCDCEFGGFFECDDDEGFFECBEEGHHGFGFFFEGHIEDEFGIHGFGHHFGGHFHIIJJIJJHIJJJIIIIHJJKJJJIHJJLLLLKIMMKKJKLLMMNLKMNMMNNONMNNNMKLMLLNOOOOPPOPQONOPPOOPOONLKMONPROOPQQPOPONNOQQNMOQRSQPPQOLOQRQRRRSQPORRRQQSTRRRSSTUVUUSQSTTTTSTUVVVUUUVUUTUVVSVXUQUVUTUVWZZYYXVWVXZZZZYYXXWWXY[[YYYXZZYYYX[]ZZZ[[\]]\ZY[\]Y[[\]][\[_a`^]^_`a``aba^^```bdedcedba`beddccb`cfghedccdefhiihhihhjkjgilnljjijklmkkklmllmmnnnnopoknolmoooonlkkljgikklkkkkjfggghjkihgjjjihgeghhhhjigghgfdcbb^]]Z[YWVUSPNMJKIFFC=<:986420/-*'('&#"  &+,--.,*  !&('#$$!

-
-
-
-		ABA?BADFEDCBDCCDFEFEDCBDFFGGFDEEFEEFGFFEDCFGHHGGHGFFFGHGEDFGHIIFGHIJHHHHHGHHIJKLKHJJJJHEFGIJJIIGIIIJKLLJJKLMLJKJLMMJNMLKLMMJNMMNNLNMLKLMLLOPOLPQPONMNNPPPNPPOOOMMOOMNNMLOQQONOPOOMPRPOPOQRQPQQPLPOPPQRSSRPPPSPRQTSSSTTTSUVUTSRTSUUUSSTXYWUUVWTTTSTVSTUURUSRRVTWXZWXUWWXYZ[ZWWXWYYWY[\[YWZYZWZYYYZ[[YYY\]^[][YY\^^]]\\[\]^abb^Z]\^__ab``^`^``ddfdeeecbaabfee`cacghhgfebefhhhjieigijkigjlnmkljkjkiljkmmmnnnookmlnnoqqmmnplnmlillmikijjiijijgfghgllighjkhjiichijihhhggggaecba`^_]^\ZXWURMNJLIGDD><:9974400-,''&'$#  ',.+.--+'" &'%!"!       





-			BABBCCDEDDDCCEECDDEFFDCEEFGGEDFFFFFGHGFGGFFGGGEEGGFEFFFEDEGHHHHHHHHJJJHHHGGGFJKLKIIKIIHFEIJJFHIIJIJKJMMJJKKMLJJJLMNOOLLLLMMMNNNNONMMNKLMMLNONNOPNMLLLNNOPOPPNNPQPQPNMMMNNOMOONPQOMORQQQQPRRRRRPNOPPPQQTTSRRRSTTTTUUUTRRSSTTUTSTVUUSTTSVXWVUVWWUUUTUUUUUVUUUUUVUVXXWXWXXXXXXYXXXZYWXZZYXYYZZZZ[[[XY[[[[\]^^\ZYZ]``^[]\[^_`aba^\]^^^`baa``bbbdeeffeeddbabbfgfeecchiihgfgfegiiiijiiikkihjlmlklnljjklllmllmnnoppmlnnnrrmoqpnllhgknonkjjjjijkkkjjklkjjhhjklkjkkjllkjjihghhffeecbaab`][ZYXSRPNLIGGEC@>=9855421.,+)('$"! !" %)-.+..-+,+(&%'((%!   !#%&'''%##"! 	AABDDCDEEEDACEEDDACBFFFEDEGGECFFFEGGGGFFGFGGFGGFGGHHHGGGGHHGGFGHIHIJKJJIIGGGHHJKJJIJKKIHHJKJGGIJJKKLLLMJKJKKLKJILNOPOLKJLLMMMMOOOOLMMLMMLLMONNOLJJMKMNNMQPPOOMOPOOONNNNOPQPPPOPPOMOPPPRQPNRPSROMPOPNPQRSRNRQQRTUUTUSSNQPRRTUUTUQUUTPUSVQWVVVVVVWWVVVVTTTVSVUTTVUWSWWXXWUWVYZYSXYXTWYXUYYYYZZZ[[[[[[XWVZ\^]]XXX]`_[\\]]`_``a[_^^__^abb^^_ddceeaeddccdcabaefdceeefgeicedeefgjjiijfijkjiijkkjmmlijmmgmlllnklmqrplnmorrnnmoiklifjjnmkejikhjkkkjilligkiigjgkklllllgjkjiihjfhegbbbbbb^]X[[XUSLJIIIHBC>?;;765520..*)(&"# !# $)+*.,/..,++)")$(&$"!!"""#! $((('&&&%#!"%"$#AACEEDCEEFEDDEEDEDDDFFFEBDEFFFFGGFFFFFFEDEFEEFGGHIIJIHGGHJIIIGHHIJJJJJJJJIHHHHFIIIHILKJIIJKJHIIJKLLMMLMMLJKKJJJKLMNPPOMJKLMMJMMPOOLMOOPOOONPPOONNNNMMOPQQPOOONOONNOPOMMMPSRQQQQPOONPPPQQPMPRRQOOPSRRRQSSRRSSQTVUTTUSRSRRRRSUUSTUTTTTUWVVUUUUTTUVWXWWUTUUUUUVVTVWXYXWWXWVWXY[YWXYZWUYWWYYYY[YYZZZ\][[ZYZ\^]^^\[]_^Z\]^`a``a_^^^_`__`aaa`_cddddcddaccddbcdedadedbceghieabeefikihhfhhjjkkkkmmmmlklnnnmlmmnnmnpqqqpnoqrrponmmnkijlmmkjikllkjjijjkjijlljjjkkkkkkkjiijjklkkkjjhgeacdcc`^]\ZVTRPONLJHD@@<<<:98642/,))''%#!!#""'++*-..-.-+**+**)&!" &(&&&'%##$$#%'))(()'$"!A@ACFEDEFEEEDADCDDDEEEEFFFGGGFEFGFEDEBEEEEEEEFGHJFHFGGGFHIIJJHIIIIKJKIIIIIHJJIIIIJIGLJIIIHKKKKKJKLMLLLLLKILLJKKMMMNNONNHLKMMMMMPQPOMMNOPPOPQQOOPQOOMMLPQQONNOOOMNOPPNMMMPRRPQQQPQQQRQNQQQMONQOPMRSTPQSURRRSSTVVURRTTTRUTSRRSUTTUUQTUVWXUWVVUTTUTXWXWVUVVVVVVVSWXYYYWWVWTXZ[[ZUWZ\YWXYYYXZZYYZ[ZZ]^\[\[ZX^^^`_X^^_YZ[_aa_aa`^`_`_^^aaa_a_ccdcdcbdddeeecbbdceecbaaefhigbdfebhjhfhffekjlmmjmnnnnjklmnnlmmpponoppqrponokololoomhkjnmliihlmkijhjhkfjllkljkjkjjjjhhhjgjhljllkggghcedeac__[YWVSRRPNLHHBD>=<;8985/..,)''&$# 
 #()(''(*+--,*++.-+(%$#"(&'$''&%"!#$%!&&''()'!!
-
A@BDEEEFEDCCCDDCDCEFFDDGFGGHGFEFDEEDDEEFGGFEDEHJIHGGFGGGGGIKJIJJFHJJKKJJIIHJKJJIIJJKLKHJJKKLKKKJLMKKLMKJKLMLJKLNNNKLMNNMMMMMMLMPPPONKLMOMNOPPOOPQQPPOLMNPQQRQOONNOOPNNOPPPPPNQQPPRTTQPQSRQOPQPRSSSSRSUUSPRSSSUTSQRUSUWVTTSRUVUTTUTTUUVWXXVUUVVVWWWWXWWWWWXXWTTVYZYXVWXWWX\\ZXVUZ[YXYZZZ[ZYYZZ[[\^^[[[\Z\^_\_^]_a_]]^`aa_a`aa`aa__acccbaacbcdccccdefffecbdeeedceffe`ihefggghiihhhhiklllljloopnmlklnmmnppopooqqrrpnnnonmmlmonklkkkjihikljjjklligilkjloljjihihgklkjijkkmomkjhjigedcbb_[][YVSSQNMLKIFDB?<:99600.-,*)'%$# !$()  "$%'*++)*+,-+)(*+,+((('&"$$&%%%%#$%''''&$"

-CADEEFFFDCDBDDDEEBEGHGGFFEFFFFFFGFEDEEGHHHGEEEGGHIIIHFHHGEHIHGIIHHIIJKJHJJIJJHIHKKJILKKKKJKHKLKIKLKIJLLKLLLMNNNOONLMMNNLMJNNNNNNPOPONLMONMOMOOPQQQQPOLLMPMOPQKOLNOPPPNPQPOOPQRRNOQVTQOQNQRQQQOSSSQRSTTUUSSTPPRQPRRSSVXXVTSUVUPTTTTTTTTUVVUTUWUWVUTVSWWVVXXXYWTX[[ZWVWWXXXZZXWWWYZXYZ[Z[[ZVWXZZ\]]^]\[XY[__^\^^__^]^^aaa_a_```aa`bbcddbc^cbc^bbcaccfeedccccdefcdfgggiighehhihiiiijjkllmlhlnnlllllmnnjlmnnmkqprnrnojonnjkkmmolkiihkgfeiiifjkmnkciiihlmkgjjjgfhnllijjljlmlhjgjjhddcd__\_^]XVTTPOKLHGFD??=;8710//,,*'$$#!#&*)%  "% &#''%%''('()-,-()(('&%''&"$#!$&'%&#!
	
DEFFEFFFCCDEEEEFEBCHIIGFCDEFGGFGHGDEFGHGFIHGGGFGHHHIIHGHGGGHHHHIIIIJJJGIJJHJJIIJKLKIJKKLLKJHKMLLKLKIJLMLMMMMOONNNNMNMNNMMMMNOOOOOOOOOPQOOOMMNPOPQQPOLLLPOLOOPPPOOOOOQRQQPOMQRSSSSTTTQOONLQRQQQRSQPPSTUVWVUTSSTTSSSTTUVWXTTUVVUUUUUUTTUWVUVVXWUVUUVVUVWUVWWXZYVY[[YWVWVWXXYYYXWWYZ[ZZZ[ZZZZZ\ZY\][^^][Z\____^^a`]]^^^^_``a`___`accccdddccdebabdcdcceecbfgedceedcfghijijihhghikkjlkjikkllnmllllmnnonnnlnmmnpqrrqpppqponlmnmmnmkjijllieiihhijmolkkmlmmkjjjjjjjlnomkkkkjkkkhijijhgghf```aa_\ZYWTQOLJIHFDB?><97541/-,(%%#" $(*)'%%&''%$#$ %)()+-*($$%''('((('&$"!&'&$"
DEEDDGGFEDCDEEDEECFGGFECDEEHHGFEFFEFFHGEFGHGIHHIHHHIHHGEHHHGIIJJIGIFJJJJJHIJJIIGKKKIIJKKLKKIJJLLMLKJMMNMMMNNOONLMOONNMNMMMMMNLNNNNMKORROPNMJNPONQONNNNNONNOOOPPPPOOOPPQNQPOPQQRRRRRONLPNNNSQSRQNOPQRSRUTUUUUUUTRRSUUTRUVVTVUVSUVVUTTVWXVUVXXWUUVVWXVVUVWWVXXYWYZXVWWVVVUYYXYYWXXZWYYXWZZ\W\\[V]_^]]Y[]_`_^^^_aa]^]`^^]``a[`^^___ccbcccdbedc`ddffdccccbfeeeedddefghiijkjghfhikfjikijkkgnonllmllmnmnonnnnmpqqrpnmnoooklmlmliihjlmnnlkgljigkinnmimmmjlkjiihjjljoongkhiiijljjiiigfgegcb\bba^]\YUSONMKIHCD>A?=785400+)''$#   ')*%""%*+)''%"&())+(' !##! ""$&'%%%&&&"! 
-CCBBDFFEDCCEEDBDDEFF@ECDEEEGGGEDDFEFFFFDFGGHHGIIHHIJJJIHFJJKJJJJIHIJJJKJIIIJJKJJKKJJJKLMKKLLLKLLJKKMNNOONMMNOPOLNOMMNNNMNONMNNLLLONMOQQOPOMKNPPPPPOPPONNOPQOOOPQPOOOOOONQRPPPOPQQRRRQPQRQRSSRSQOPRRRSUUUTTOUVUSRQRTTRSTUUVUUVTUVVUUVXYVUUUTWWUVVXWWWVUWXYYXXYYXYXUVWWVVXYZYZZYZ\[YZZYXYZZ[[\[\^`^[]]\^_`__`__a`^_bcb_]`bbba`aba`aaacdccedbbeedfgeeffdbedfhgdeeeefffgilkkhfhhiiijklljkmnoonnonlmmnoooonoqppqqompqqonikmkllkjiimnnnmklmljklomlljnpmhkkiihhjllllmllkijkkjkkjiihggffggebceb^]\ZUTSQNMLJFDCBB?=955520-+(&$"!!!%(($  #),,+*)((&'')*+*'# !!"$&%! 

-
-EDDBDEEBBBDEFEDDEEFFFDDDFEEEGEFEFGGCFDFEIHGGHHIGIJKJJJJIJKKKJIIJIIIJJJKKJJKKKLLGKMKIKKLMJJLKLLLLLLMMLJNJNMLLNOOMMMLLMNONOOONONMLNONOOOOPPIJKNOOPPOOPPPOLOPQONNOPPPPOQPQORPQQROOPQRSSRORRSRRPOOPPQSSRUWVVVTSTUSSRRSTUTSUUTRRSUSUTURTVYYWUUUUVVUXWZTVVXWXXYZXSYYYYWVVUWVYZZVZ[YX[\[ZZYZWWXZZ[Y[\^^]\]]]]^]_`a_^_`]^_c`^]acc`bcbaa`b```dbdedbdeddgceefgfbedffgcffebfddeiklligggihifjkkjllooojnnnmmmnnnkpopnopqpnnrtroojlnnnmiklklnkllmmnfkklnniijopniihiijjkllkkgkkljmnliijkkjggfhdefgccda_^YYXUTSNOILHGAC<@=;67321/**$#"#"!#((!!%(,,+**))'())&)& #""!

-
-FFEEEFFEEEEEFGFGGFEFEDEFEFFGGFGGGGGGFFHIIIIHHIHGIJKJFIIIJIHIIHHIIHHJKKJLJJLNMMLKLMLLKKLLIJLLLMMMMNNMJLMMNNLLLNOMHKLLNOPOMNNOONKMOPMONNPRPMLMNNNOOOMPRSQPOPQONOQQQQQRRRRSRPQRSSRQQRPRSQRTSRQSQONRRRUWVVUUTSSTTSSRUTUUTSUUTTTUUUUVUUVXXXXVWVUVVWYZYUWXYYZZYZXXXYZZXXWXXWY[ZZZZYYYYXXXXZ[[[[[ZYY[^^^^^]^``__ba^^^aaaba``_bcb_bdcbcccca^bbddcbefghgecdehhffebbdfffgihgfghilmihhhiiijiijkmnoonommoomlnnnopqoononnnprsqqpompoolhlommnnmlmoliklklmmmnoomljiiiklllkkkkjjkjookjijllllkkjiggffffd``^^]ZWUTQPNMIBBAA@=<9632/+++(&$#" !%('"#'++**++)''('('$!!" ""!!

-GFGFGGGFFEFDDEHIHGFEDDFFEEFGGFHEEFFFGGIIHGIIHHHGJJJJIHFFIIIJJHIHGGIJJKKKJILMMJKKMLLLKKLLIKLLLJLLMNNMMLMMNLMLMNOMLLMMOOPONNOOPONLNNNMMNPPQOOONLNNNOPQRPQQQOPPPORTRMRQQNRTSQRRSSSTTTPQSRSTSSUUTQRUUSSTVRRSSSTRTQTTVUUTSRVUVVWVUSWXXXXVXYWVWWVTWWWXYUWWZY[[\ZYXXYZZZVYZZVVXYXXY[Z[VVVYZZ[\[[\\ZZZ^[^__Z^__]]]`^^^`_`````_bcc`abbcdcb`_\bbdccbfggggeedfhhfffcabcfgijjiiihgjkjjkkjgikkkkkmnnlmnnlnpommllmqoqjolllopqoqqponnokmimnminnnklllgkhjkjjmilmmmljjilmmmlilmllljnljjkkmmnmmlljigghihfabb`][WWVTPONKCBADC@=;7521,+++(%!#" !$&%!$'+)(''(('''''("" $'&$""%# EGDFGGEEFFEEFHHHGGGFEDFGEEGGHGHIIHGGGGGHDGIIHIIJJIIJKJFIJJIIJKKJIIJJJJJJIJJLLKLMMMIKJKLLIJJLLKLMLMMMLLMNMKLLMPONNPPPOMPPOOPQPOOONMNMNPQQQONOONOONNOQQPNPQOPQQOSTQOPPQQRSTSRQSSRSTUPQSRPRTTVVTTTVWUSRTUVVRTUVUUTTVUUTSTUUUWWVUTWWVYXWWWUVVVVXXXXWWWWYYZX[[ZYWWZZZZZZZZYYYYZ[]\\\\ZY[\YZ[[[]^___^^_`_[\^_^[^__^`_^``aa``adddbabccb`^`abddeccefeeggfdfggfghfeefgghiiiiihgihiklnljjlnmlmlllloomlpqqponnoqsqpolmnoopqrsponlmmnpnmlklmlmnmmmjfijijkhilmnmlkjlnnnmjlmmnnmmllmnnnnnonmmmlkjjjjhbcca^\ZZYVSQQNKHGFDB>;875310,+)&%$""#"" #&'))'%#!#$%%%'''%%$%')*(&%%%%&'%"
-
EEFEFGFEFCDEFDFGFEGGFEFFFFGHHDHHJHHGGGHGFGHHHJKKIHIJKKJJKHHHJLLLKKLJKKKKKJJJKHMNMKJKLKLLLKKLMMMKLLMMMMMNMJLNOOONNOOOOMPPONPQQOONNNNNOPQPQLKKOPPOOMOPQPOQQOPQRPRSRMPOOORSSRRNSRRNSQRQSSQQSSURTOTUWWTRUUVWUTUWVOUTTUVQSRURVWXTVUVSWXXVWWVWWTVXZYXUWVWXYXXZ[VXVWZZZ[YZX[[\ZZ\\[][]\^^^^]\\\\]^^`]_`aa`\]^`a``aY]_`_`ac_]]a`ccb`ddcba^aacddcc]defcgffeeaedfhhhghgfefgfhffgihhfkklmlknommnmlknikkpqqppoonppoonmmhnmqrrqpomjllopolkjlijkolnnkhiklmmjjhlikglkkjmnmjmkmlpmnjkinnnnnkplnnmikkjjjedcb]]\[ZYTRPQMLHGDC=;:98653-+))&'!  ##""#!!%'((& "!!$#$$&&&#())((%''(()% 
-	
ADEFFFFFEDDEFEFGFGHIIFEFGGGGGFGHIIEFFGGFEGGIHIJKIFFIKKILKGIJKLLKILMMLLKKKJKLKKNOLJGLMLKMMLLLMMJKLLMLMMKMMMNPPOONMNNOOOOPOOPPPOPPNNOPPPQQPOOOPPPOPOMPQQOQQOQQRRRRQRPOOQSSSSTTSRRSRSSSTTRRRSSRSQRSVWVUVVWWVSRVVUUUVWVTUUUUVXWVVUWWWXWUWVVYXUUXYYXWWVWWUWVYZZXUWYYYYXYZ\\[[Z[\]\[\]^^_^]\]\[[[]^\_````]]_aaaba^^a`_`ccc`_``abaacc_bb_a`adedddeffhgehgddeefhijjiffdgjkkkjhihijjijmlmopnnnmllllkloqpopqonopoopqolmoorqonnkhkmlmnnlklllonnnomlllmnnmkkklllmllimomilloqponnkjlmnpoopqpnlijjjllkheccba^\[ZVQQPNKHEDDA><;9642/-+*(%! !##%&&%$##$!%''#"!     #%&'()(('&'(((&"
-CDEGGDDCFFGGGFFFFFHIHGFFGDDEFDGDIGDEGIIHHHIJIGIIHCFHJKKMLIKIKLLJJLLKLLKHLJLMLLMNLJKMNMMLLMMLLKJKMMLJLLLLMMOPPOOJLMOPPNNONOPPONOPNMOOOLPQPOQPOONLNOQRQPPPRPRQRSSPQRQNQSTTRRUTRQSSSRRQSUTQRRSRRQQPUWVUVUVUUTTTTUVVXYXTVUVVVUXSVUVSVVVUUUWXYVUVXWWXXVXWWVVVYYXUWYZWWXZZ\\ZZZZ]]\YZZ\^^Y\]]\\[[]]]`__^`^^__^_]a``ba\`bcba\`aabbab_bcbaa`beecfgfdghhfghfcfeiiijkjjjijlkljjijgjjjjkennomnkmmllnoojoppmppompponqsqmoonnnmmhkhhihhnmmilmmimjmimlmknlnlllmjkllmkimonjllppmkonmknnnoqnqspllhhhkmmjjffeda`__ZZTQPPLKGGDD>==:6511--)('$! #$$"  !!!!""#%&#""#" !#$%(''$&$''&$#
-EFEFFEDEFGGHHHEFEEEFGHGGFDFHGGHIGFCFHKKKHGJLJGGGHHHIJKMNMMKIKLKIKLLJJLLLLLMMMKKLMMNNNNLJJNNLKJKKKMLLLLLLLMMNOONMLMOQPNMMLNOOLNONOPPONMPPPPPPKNMJEOQQQOQSROQRRTTSPQPPQRSSQQSSQPQSQPPQSVTRRRQTTSQRUVUTUVVTUWVTUUUVXZYXWWVVVXXYWUUTVXYXWUWXYVWWXXXYZYWXXVVXYXWVXYZZZ[[[]]YXY[\\][[Z[\\\\]]]\[[]\_aa__`baa_]^```aca_`aaba`acdb`bdedcbdebdedcggdbehhghiighhiigjhikkiklmkijkkllklklmmonklkmnnpppqqpqolnpqqpponpsqonnnnmmnnmkjkjhnpnmmmlkkllmkklmmnmklmlllkklljmnnnnopnjmoppppnnppopsqlnnnlkmmlihgffea```]ZUSRROIGDEC@?<86421/*)'&#!!  $%" ""!!##"!"!"!  !!"#$&'&#%&'%$"
-EEEEECFFFFGHHGGFFCFEFGIJHEGHHIJHHFGHJKKKIEKMKHJKJJIJKHLLLLKHJKIIKKKHKLMKLLMNNKKKLNNMLLKILMMMKKLHJKMNMKMMLMMLOMMMNNNNNLOOONPPOOOLPRQMNNPPPPOOOONLMOOMPOQQQOQRSTSSSRQPRQQQPQPPPOQRQPQQRUTQSPTUVUTSUUUSUUWSVXWUUSUUVWYWWWVWWWXYWUVTXXZZXUYZZVXYXVVRZ[YVZWXYYWWWXZ[YZ\[[]][ZZZZ\]ZZZ[Y\[]\\Y\\]^^_`^^]babba]__`\`^a`____b`b_caacfgddeegccddchgdccdfefiiiihiiijihjikkjkkhjjklnmmklimmlkmkmloppponnonmnorooppppjqpnkmlmmnpomljijoomllknmkkmmlilmmnnkkklkkejkklllooooqmmmnnnmmnnnohpoqlnopmlhnnjigdggd`aa_\YVUTSJGEGCC??987611++(($##!"$% ! "###$$$%%#%%'$!
-	
BDFFEFFGGEEHHHGFFGGFFFIJIGEGGJJHHGGIJKLLJJLNLJJKJJJJKLKIJLJIKKKMLKJKLNMKKLLLLJJKIMMMMLLKLLLMLLLKJKNONKLMNNNOOOMMNOOMNOPPPQPPOPPQRSQPOOOPNPPQQPNNOOPQPPOOQRPQRTSRSSRPRSRRQPPRSRQRSRRQQTSSUUUUUVUUVUVWWXWVWWWUUSUWWYXWWVVWVVWWVVWYXXY[YXZ\ZXXZYYVVWYZ[[YYYZXXXXZZYYZZ[\][ZZZZZ[Z[\ZZ]^^]\\\]^^]_`^_aaaaaaa``bca`bcb`aaabaabbbcffddefgfccfggecdeeffiihhihhiijkjiiklkjjhiklnnmkjjllmmnnmmmnomonmnnnmnpqpqqppnnpqpnnnmmnoomlmljmnmlllmonlnnlllljnnmklllkkklmooppnnopmnlmnnnoponnpopqqompronoolkfhhgebbb`^\XWVSQNLIHDA@><9851/,()(&$! $&%#"%%#$%$#$&&&%#	CCFGFEGGGCDFHIIDFGGFFFFFIHGHIGIIIGHIIHKJJIKMMKJJJHHHKMKIKKKKJJJLMKLMMLLIKLLJJHJJKLMNNMMKLJKLMMLMMLNONJKNOMNNNNNNNNONNNOOQMMMPNPQSRPONLOPPNPPRQONNOPPQQQPRSRQQRSRROQQPPRSRPRSTTTSSSSSTTUUVVTRUUVUUUVVXVVUWWWTTSVWWXYUXWWVUTWWVTYYWVXZYWZ[YVYXZZYTXY[[[XZ[[YYVWYXWXXYW\[[WZ[ZYYY\^\Y^``]]]^Z[[]`a^`[b]`_``aabbbbbcbabaaacbdbb_bcdeeefedbfgfbccfgghjegfighihjjigglmkhighioonlkikhjjnnmkkjoomnomnlkloprssqpmmlprppollkopmikiljlkmijjllmmommlljloogkimmmmmholpqpmnmnonlmjpppmpnoloprrrnqrqnppmlllkahdda_^_ZZTTSQLLGF>A?>9953//)(('  !  "$$!!
 !##$%%#"EFGHHHIGFDDFGHIIFEEFFGHIHGHHHGIJIHIIHIIHGIKLLLKJJIJIHMLKLLKKHIJLLMMMMMLJKMLLMKIJKKLMLMNNLKJJMNMNNMOONMNPONNOOMKONNNNNPQQQOOOPNNQSSQNMNOQPOPQQQPNMPQRRRRRSSSSRRRRRSSRPPRSSRSSSSTUVUSSSRTVVUTTUUTTRTTUVXVUUVUUTTSWXWXXWXVUUVWYWWXXWXXYYXXYY[ZZZZZYZ[[[Z[[[[[YXY[YXXWY[\ZZZ[[[ZY[]__]^`_^]___^\]`a`_`aaabbbbb_`bb``babbbcdfdcccaacgggeddcdeecehhhhhihhihfhiijjfehkkjhkllnnomlkkklnnmmkklnopnpolnooooprtsqoppoopponmmknolkjjlonklmnnllnnnnnmlikmnnmnmlmmlmoppqppolnonmopooooonnmorssrrqrqnoojmonlkhfeedca_\YVSRNLJHEC@><:8541/,('&%$"  !  "## 		
-FGGEGIIHFGGHGGIIFEECGHIIHFGFFGGHJIIFFGHHIIJKKILKJGJKKLLJKKKJJJKKLMMLLLLILMLNNMKIKKKJLMNNNMLJMMOOMMOOOOOOOKOONNOPPPOMOQQRQOOOPPPQRSRNPPPOONPQQQQOPRQQQORPQRSSQNRPRSSSRQSRTSRPONSTVUTRPPQRVTTTVTTQSUUTVWWSVVVTUUUVVVVVVTUTVWXWVUXWWWWYZYYZZ[[WYZYYZ[[XZZ[Y][Z[[YXXYX[\]\[X[Y\WZZ^``__\\[]^a]]\]]a````abbcbcbaaa[````a^ccddc`cdcacfggfabdedfdefihhhihjjhfghiijfhkjgiikmnjmmmiljllonmmlmoooopqpmopoppoqrsnoorpmkolnnolklnnnlmoommmpnmlnnmloomhjglhmnmjmilloppoopnknkmlonllnnnnpopqsrpmqmplmonmpmljjgedfdc_][XUTONMKHGBA>=7764/.)'''$"  "" 
-FFEDEHHHHIIIIHHHFEFGHJJJGHGGHHHIIJIHHGGIJIJJIIKLKJKLKLKJJKIJJJJKILMMKLLLLMLMNNNMJKKKLMMONNNNLMNOLLOPNNMNPQPNKNPPPQPOPQQQQPNNPQQPQRRRRQOQQPPPNPQQQTSPPQQRRTTSQQSRRRSSRSSRTURPONQSSTUURPTUVVUVWUTTUVVUTWWUVXWWXYWWVUTUVUWXXXWXXXXWVUUWYYY[[[ZZYYXZ[\YXYZ\^\[\]ZWY[[]]\]_]][Z\^\\_baa_]][^aa`]]^`aba`a__abaacabaabbddbbccbbbccddeeeggeceggdfhfdgjighhiiggeiihjkklliiiknmllmlilmlmmmmllnpommopqqoooppprqqqonpqonoonnoomknppqoooomoonnnnnlkmomlklkjkmmmmnmmnoooonkloonmonmmopooppqrsropqqpopqppoomkklhcffd`]]YYXWTPNMIEDB?<;:730+))(&$" !"
		FEEDFEHEGIIIHGHFFFFFHIJJJJIGHGGHIJKJIHHIIHIDHGJLLIKLLLKJKLKHKKKLLLMMMKMMMMKKMOOOMKKJLMMMMJNNMNONLLNLKKNNPPPOMLMNOPPPQPPQRRQNRRPMQQPPQRRRRQPOPPRRRSSPPRSRSRTRRRSSRPSSSRSRTUTRROPQRRUTSPUTVWVVWQUTVVVUUUWVVVWWXWXVWUUUVVXYXWWYYZYUVVVVYUY[[X[[YVZ\\YXWZY\]\YZ[ZX[\]\][]Z^]\Y\]]^__aa`\[[_a``__``aba``__abacddcbadbfedbbdd`bcccebgfgdccgihdgbecfhihigghhhikjilkmnljjhimmmkglijlmmnmoomjokmnolppolnnpppoqppnnoqopnnmpnnknmnnolmikjnhmnommkkklmmlmimkmjlmnnnmmkpqplppnmnnmlopnoolqqrppqsrrlrsqnnnmkjjjdhhfca`]ZZXWQPMKFDB@>=<842-+)*%&"! 								FEEFFGGFDIJHFFGGEEGGGGFJJKJIGFFHGJLKIIIIGIIIIHJLKJLMJKKKKKKLKKKLLLLMNNMNMLKKKNONMLLLLLMMLMMMNNNNLONKKNNOPPOOOMNOOOQRPNPQRRQQQQOOOPOOQRRRPPPOPQPRRSSQMRTTTTSQRSSRQPRTSSRRSTTTSRRRSTTUTTTTSVVUVVVVUUTUUUVYXWWWXVWYWVVWVYYYUWWYZ[YSVWWVXYY[\[ZYYZZ\\YWXYZ\\\[ZZZ[\\\\[Z[[[]\YZ[]__^````_^_a`a```````_```aa`ceedccdfedb``ddcaadffgghgfefghhhfeeddfghiihhijlmkkkjjllkkjilnmjhijjmmnnopomnnlloooonnonmpoqrqqppooqromnqqomnnnnmnnlkkmlmlmonoonmllnnopoonjlmnomlknqsrqppnlmmlloonnnnqsrqqqstrqqsrnpoqomlkkjkieec_ZZZXTROMKHCA>?=:542.-+)&%#" !!!   
-		
-
-
-
-
-					FEFFFFGHHHHFEDIJGEIIHGFIJLKIIIKJIGJKIFIJJJIGJJJKLLMMLMMLLHLLJILKLJKLNNMMMJKKLMLJMLMNMKLKMNMKNNNOOPNKMPOLQQOPPOOPOMPQPNOQQOQQPOPPPMPNPOQQONPNQQQOQSTRRRSSTSSPSTSRRQRSRRQPSRQRTTTTTTURVTUUTSVSVXXWTTWXWSVUXVWXXTVWXUVVXZZYYXYZ[[YSXWVVYYY[\[YVWWY[[ZZYZ[\]\[ZYYYZ[\W[Z\YYZ\[ZZ]]_^`aa____Z`a`\_^`^`]_``]a^`bcbccefecc_bdfdb`eefffffffegfgggeggfdfggfgegjmlkgkgghkjjklmmmkejkkjmkmnnmmknmppomolononrprssoqppqsrolorqlninlmnonmjmllkkjnoppponknmplnookmmmflloppoqpqpnhmjklnnoookqqrqqrstsqrrsprqspolmilkifg`a[\]ZUUQOLKDC>??<651//.*'&%"! !!!
-
-		
-
-
-	
-
-				
-		FFFFFFFIIHFDDFJLJIIIHGFHHLLJHJKKJGIKIHJKKKIHIIIJKMLMLLNOMLLLHJLKMMJIJLMMMLKLLKJKLMOPMKKLMONLMOOOPPNKNQPLPPOPPPPOOOOOQQOQQRQPOOSSQPPMORQPOOPQQQPNPTSQRROSSSSRSTRQSSRRQPQSSQORTVVUTTUUUUUVUVVSVXXXTUXYWTUUWWXYXWVWXXVVXZZYXYY\\\[YXWXVZ[[[\]ZYYXWZ[ZZZZ\\\\[ZZ[[[]]\[\]]\]^_]]]]^_acb___^\^``a```^``___`abbabbbdffdcdceggecbcdceeffeffggfhgfhiggggfffedhklkllkjkjjklllkljjlnmmmmmmllmnnpqqpoqqpoprsrrrropqrtsrpmoqqmmjmkmponmmmlmlmknpppoopononlloonnmmkmppomnooopoonnnmnoppqqppqqprrrsqrtsrsttspmmmliihggd`^^\ZVRPNLIDABB>6653/.-*&%#"!
-
-
-	
-
-	
-
-				GHHEFFGIIHGGGGIJJIHEGHHIKLLIHGJLKHIKJIJJJKJIIGIIIKLLKKKKLLLLKJLKNONLLMNMOMLMMMLMLNNNMKJKNNNJMMNLPNMKNPOLOPOPQQPPPOOORRPPRQOMOOQRQNPNNOQPONQRRQQOQRQPRRSTSQQQROQPRSRQTTTTSQQRSVVQTTTTVTVUVVUTUVUTUUWVUTUTVWWWWWXUWWVVWWXWXXYX[[\[XWWWZ[ZW[\[[ZXZ[\\ZW[[[Z[\\\\\]]][\X^^^^_^^V]]_`bca____]^_abbaa_a``_`abccaaaa`edcddafhfcddcdfgfcfdddggfhgehjjhjjhfeghgkjmmllllkillmljhijnonloonlkkllmlqrqrsrqprssooonnrsspropnolpjmkninmommlmnolnlopoonjoonhmjnnnmoqpmooohmnomoppoompmnmpnooqqropnqqrqsttnrqrrqmoonkjhhhgc`Z_\XRPNLJHDECA7656/-,,'&#"!
-
-
-
-		
-	
-
-
-			GGGFDFGHHHHGHHHHHHHHHIIIJKHJHHJKKJIJJIGHGHJKJJJJHIKLLLIJJKGMLJMOOPONMNNNONMNNNONNNKKLKKMNNMLMOOOPNMMNNNNNPOPRQQRQPQPRRRQQRQONONPPQQPOOPQPRRTTRRSSQPQRRSTSSSRRQPPQQPSUTTUTRRQQVVTTTRSVXWWVUTUVWVUVXXVUTUUUVVUTVWVVVVVXYWVXYYZZZ[ZXYZZZZXVY\[[ZZ[\\\Z\\[[Z\\\]]]\\\[\\]]^__]]]]]]`a``_^_`aa_bbccbaabbb`abccabbabcdcddefgdddffgggfcfgfegfehgfhjklkjjhghklklmnlljlkklmnmjilnmnnpppmmlmmlmlossrrqqqqrsspoonsvtrqqqqopnmnonmmoonmlmmnonopponmjnonnnnmmopqsrooooooppopqonopppnnppqrsttsqrqqqrssstssqrqrrspmmkjihebba^ZYVSPNLKIFC@<:772.-+('%$#!


-
-
-
-
-
-	FEGGGGGFGFFGGGGGHFHIIGIJJHIJKLKKKKIJJIJIHGIJKJKJIILMMLLKKKMMLJNNONNNMINNONOONNOOOMMMNNMMNNNMNLNOQPONNNNMPPPQQOPRQPONQRSRQOQPOPPPQQPOPNPQRSSTSQSUTOPQRSSSSSSQRRSQQMQSSQRTSRRRTUVUUTSSWXWVURTUVWWUWYYYWVXXWVWVUUXUVRUVYYXVWTYXZZ[ZYZ[ZZZXWXZ[ZZX\[ZZZ[[Z[\\[[\]^]VZ[]\\Z^__]^]^^``a[^^]\`bb^acbab_b^dddbbbc`cccbdcdbecdedbdfgffefdghhehffghhiejijijjihkjjknnmmmlmhijmnljklkkooqpooonnmmmqssoopqonnrrpmpnsutqrosqpinpqnokmnonmkklllllpqolkknopmonmmopqrpmpppoompopqolqqqlnorsrstttrqrrnrqsssrusrrrrtoqlllmkidcbc[]]ZTTSPKLGEAB;:760/**%&#$! 



-

-		
-GHHGHIHHGFGGEEGIGEHIIIILKIIJKLLKKKJJIKLKFGHJIIJKKLLMMNMKJJLMLMMLLMMLLLNNNPPNOOMNMMNOPPOLLMMNNNNOQRQPPPPPPQQQONOQPNNNOQRRQQNNNPQPOPONOOQSSRRRRSSTROPPQRSSSSRQRTSSRQRSPPMRSQRSSTUTTUUVWWVVTSTVVXXWWYYZYZYXXXXXWXYYWUVXYZYXWXXYYYY[ZZ[[ZYXWYYZ[[[[Z[ZZZ\^]]]]\]]^[[ZZZ\\]]^___^_ba`a_^____aba^ba_adcdcddcbbcccccdcbdeeedddbcfffgffffghihggfhiiijkjjjjijjjkmnmklnmnnmmkomkmmmlmoqqqqpoopprrrqpknprppqqpoprrsqpqrqpnmnppmopnnnmmnnnnnlmqrnmnoopoonmnooooppqqqpnnopompoorsqppsturqsutrqqqsrqrrsvusostssrpnopomkihifca`\XWWQPOLHFDA<67631,(&%#" 







-FHHFGFHHHFIIGFGIHFHJJIIKKHIHJIJHKLKKKKLKJIJKKJKKLMMIMNMKJKMHMNMMNNNNMLNNOPOOPPNOOMNNPQPNMLKKOPPOPPQQPPPPPQQPOMPQNLPQPOPPQQPONPPQQQQOQPRTSPPQRSSNROPPQRSSRRQQSTTSSQRSSRRQRQROSTUUTSVWVWWVUTUTVXYUWWWUYXXSXXXUWVYXXVWXXWYXWVXYXWWWYZZXYXYWZYZ[[YZY\[ZY\]^\\\]]^Z\[\XVV_^][_a`Z`cb`_^__``^^aaabaaa]c``bdcc`cdcacddbeefccccbbaefhgfddeghhgfeijkikkjgihjklllmnjjfmkokomnnmkklmmlnqkqqonojpqrqqpnmqrqpqlplqrqppmololmnnmokoqpmojnnoonnmmqonnppomoonjommlnpqqqooonnqnpqqqrrqppqtprnrtsqrmrprqrnsvuttsssrqqnqrpnljjjieca^WXYUQQJGFE@?66661/(($&




-
-EGHHHHHHIJIHHHHIIGJKJIFIJHHIJIJJKLLKJJJKKKIJLLKJLNMLLMLLKMMLNPNOONNNNNNOPPPOPPPOPOOMOPPPNMKMPRNMNPQPOPONNQPPQRRQLNQTSQOQQRRPMPPPQRRRSTTTQPQSRRRSSRQQSSSTQQQPSTTTSSUUUUTTTRSTSTWWUTUVVVWWXXWWWWXXWVVWWXWXXVWWXYYYYWWXXXXXVWYZXXXVVXXYYYYZ[\\ZZYYY\^Y[]_]\\]\]^]^__^^___]]_a`^`ccba_``a`]^__acccbaabbccdcbccdcceffeffgfffeeddfhhfdddfhhgggkmmkjjjjihikllllllklmnmmnponmkklmmmnppqplmnonpqqrsqqrrqpoonopqonopoonoppqpnkoqqpoponpppoolnnnpqqnnmnnnopooprqqpqqoooppqrrttrrqopqsroqststuttsssrrtuuuvutpqrtrqolmjlmjfgea_]ZWRRPLGFA@><;7420,+(%"#!













	GGHIJJHHJJHHHFIJIHJIJIIIJGIIJIIHKLKIKKKKLKJLLKJJLLKKLKLLKMNKMOONMMMMMMMNPPOMNPQNOONLNLOONMLMQRPOOOONOQQQQONPRQQPPOQRRRRRRRRQPOPPPLQRRSSRQQRQTSSRUSQRTTTURRRQTTTSSTTSUTUUUSTTTSWWVRSTUTVWYYVWWWWXWTUWWXXWWUWWXYZZZXYYYXXXXZZ[ZYYVWXZ[ZXZV[[ZYYZZX\^^]^\]]^YY[__``_^`a`]^_`[^^_acba`___^___`bccbbabbcccddcccddcbfffaffggfdgdffghgaedghgegikmljjijljhhijhkjkhkkllminpoookmmmnnmpppnnjolmkpnrsrqqopmmkoopmponlnjnpqqsonknqrkomonpopoplllopppppomonqpporrqnpnsoqoqnnortsrrlonqprprstrtrutsssqqrssuwwwustutookolonmgigd_a][TUOPIICA@?<90420*+$$!!







-
-HIHHIKJHIHFGHHIJHJJJJKKKJIIJKJHHJKKJKLIJKKKLLKHKMMKLLKKKKNNLIMLMLMNNMJINMOOMNOPPNMLLMNMNPPNOQROPPOKNPQOTRNKRRQOOOOOQQRSSRRLQQPPPOPQQPRRQQRSSTTRRSSQQRRTUSSTUUURQSTTTSTUUTTUVWWVWWVUTVVTUXWUUVVVVVUWXXYXXWXXXWXZZY[[[ZZZYY[[[ZZXXY[[ZYZZZZ[ZX\]YZ\]]^]]\\_^^__^_`_]]`_^]^^^^`accb``______acccbacbbcbaaccdddeddeefgggihgffggggggghgeffgffhjkhihiijhhjiiijjjkkmmmmmnomoppnmnoppqqpopqplmopqrsqqqponmopqppqpnnmkmpqsrqomkoqpnlnpqqpppmmopqqpoqqqqpporsrrrrqnqsrsrrqqqsssrqoqqqrqrsttssssqrsrtuuttuwxxwvvtsqrrmqrpnlheda_\YWVRNMKGA@;97531/,)&$"!






-HGHHJKJGFEFGIJKLLKKKKKLJKJJJKJIHIIJJKLKJIIKMLJJKLMMMLJKLMNNMMMNNMLNNNKJMOONMOPPONLLKNOPQQQPNPRPOPOMNOOQSROPRRRQNOMOPQRSPSTSQPOPNOQRQPRRQPPSPRRQORRRQPOSTSSTVTTRPTRSPSQTSVVUUWWVUWVUSVVTTVUTUWWXUUTTUVRYZYZZXWXXUXYZZZVZWYZZ\[VVV[\[VY[]Y\[ZW]][[\Z\Z^^]\ab`]]Z^^_ZY[`^^Y`a`\`aa``]]\]__`cccbbacbcccabcdcdeedddccfghiheeehgjhggghheefhhhhijidgeidghijkijjlmmnoknnmkmopoooonqqqqqqqqpnoprqrsrqrmppqsroppppponjmoqoplpnmmoonmoossqpojnonnqinlqrsqopqqqoqoqnpmsttstutssstrqsrorqttsntsssqnrstutssqstxuwvtrsqtnqqqnnihfc[ZYYXTQOMJBB<;88420.+)$$#!











-
-	GGGIJJJJIGGHJKKLLJJKJJKKKKKJJKJJIIJKKLLKKKLMKIKKJNNMLKMMNNNMNONOJKMNONKMOOMNPQOOOOOOPQRRQPONPQQPNOKNMNOQPPPRRRQNOPNPPSRPRTTTRQQONRTRQRSSRRRRRRPNQQRQPSSTQSUURQRTRRRSSRUUVVUUVWUUWVUUUUVWVUUVVXXWUVVVUUXZXYZYZ[YXXYYYYXZZZYY\\\]^]\ZZZ\^^\[ZX]^]\\\]^^^^]aca^]\]^``_^`baabb`__^_`aa`^\`bdcbbdddcddddccceffffdeebceeggggffgjjigggfgefgghjigjjjhhjkkklmljijlllmnponllnppponnopqpqpqpomqrrqqstsssrqqstsomoqrqqponoonprponmlmorpqssrqpnnppoqppqrtsrqooopqpmqqpqrttsuwurrturrtsstuussrstutrqrsuwvtsstwwvuututtutqqrqnkjigfc`_]YSROLHDA>=;94//-+)'%$"





GGHIHGJIIGGHJJIIIIKKIHIJJKKHJKLKJHJKLLLLKJMNMKLJJMNMLLMLNMMLNOPPMHMNNNNNPPPOPQPOOOOPPORQPNNOOOQRQPOPPMNOPPPQRQQNPQQRRSQNPOSSRPQPQSSRQQROSSSQQQQNQORRSTTSSSUTSRTTRRTSSSVVWUTSVSUUVRVVUSVXXWVUVXYXWXXVUVYYYXYXZ\\[ZZZXWWZ[[[[\][^^][[Y\\]]\YYX\]]\]^_]]\^___a`^[^^```]``b^a`_]^]_`abbabbcdcbceeccdeedcd_dfggfcefffeegdifgefhhhhihdhghcgijhhikljhijmlmnmkjjkiiimmmllmnookmjklooonmnnlorsponstrosrppporpporrpkqrqoomopolollkorqnrrrpqqoqrqsostsprsqpooqrqmsproqsspsutpsttssstuuvuqssstvuttutuvwstvwvwstsuutuuurlsspklkkjgaaZZTSRPGEDB?=:701.,()%&! 





FIIIHIIIHHHIJJFHJJLLJHGJIJJJKLLMKIJLILMLLLOOONNMKNMLLLMLMMKMNNOPNMNPNNOQRRPOOPPONMNOPPQPOOOPPNQRRQQPPOOPPPPPQRQQQRRSSRPOPRPQQQQRQRRQPOQRRSSRQQQRRSSSTTTTSSUVUVUTTSUVUUUUVWUSUUUVVTUVVUVWXWSUXZ[YXYXVWZYXXYYYY[\\ZZZYXVY[Z\\[[ZYZ\]]\\\\\[Z[[[\]][_^\]__^]^`aa`_`____`ba`_`__^_aabbcbddddccdfdbcddedcddcdefedfghhhghjjigcbfgghhhhikifgkkhjjhlkjijkljlmlmlkjihkmmmllmlmmllmnmmnopqqpprrpnnrtqqrqqqppqtttrpmnqsrpqqqpomnpoooppqrqppqqpqsurqstqprsqqrsqqqsturopqspqsssssrrsrstuuurtussuvvvvuuxwutvvuvtsrusqtuttutssqolljgec`\YWVRNKIFC@;8531-+*(&! 



-JJIHGIIIIIHGIIIGJLLKJIJKIIIILMMLKJLLKKKLLMOPMLMMNNNLMNNKLLMNONOONMPQPNOPQONLOOOKMKMOOOQOOOPPPMSTSQQPPOQRPNOPPPSSRQQRRQPOQQQQRRQRQNPQPNQSSPRTSPSTTRSSTRTSSTTUUUTTTSUVUTTPVVUTTTTUUTUVVSVWXXWUWZZYXVWXZ\ZWWTYY[\[WVWYVXWYYY[]Z[ZYY\]]]]\]Z[[]^^\_^_^^\^^_]]\_aa^^```aaba`_``____bba^bbddebbcefdaeecacbcdcaeed`fhhgidhijigcdfgegggfheieijkijjjlkkjijdiklkmkkkliljmlllnmmmmknmljnkppppqqqnnkqssrrqsrqoqsttqpnnqrsqsqrqonprrrqpprroplpprrttrmsrpoqqpnssrmoqtqrnojsprrsnrqoopqqrsstsvwvsvqtwwuuvwqurutvtututrrvxyvtsttqonlifeda[YWTOOLJDB=<652/.-''#"" 






-	JJFIGIJJJJEGHJIHIKKKLMMKIHIKMNMLJKMMJIKLMMNNKKKMOPOOOOOMLLMNNOOONNOSRPOONMLMPOONNMMPOOOOOOPPPQRTSRQRQQRQONNQQQRSPRRRPPQRQQOQSSQRQOPRQOPTTPQUSSSTSRRSTTSRRUTTQSSSUSUVVUSSVXWWWWUUUTUWWUVVXZXTUXYXWWXZZ[ZXWXZ\\\YWWYYYYYYYYZ]]ZYYZ]]]^]\\[]]^``____^^_^]]^_^_`_]]_bcba```ba```__abbbbbccdddddfdaddcdccdccefecdfgefhgghghhggghghighiijljijihijlmkjiihhlmkjkkmopoonlmopolooppmlloponoqqonmnpqqqrrstsrrqqpqpoonpqrsqqqppqrssrqqqqrrqqqsstusrrrqpopqpoqsqnopqoqmoqqpsurmpqqqqrsrtsuuvxwwurruvttuwvuvuvuvvwvuvsvyyyxuutttqmkkjfd`]ZVUROLFEC?<:420.+)$$$!





	IIKJIGIGJJIJKJJIIJJJLLLJHILNMKMMLKLLKJLMNMLKLLLOPPOOOOONMMMNNLOONNPRQOMLKKLMPPOMOOOPPOOPQNPPPPRQQPQQQRSPPPQRQNQSTSRQPPSSRRPPSSSSRNQRRPQUUQQSRRRSTQSSUSTRTUSQSTTSSTWXWVTTUVUUXWWRVTVWWUVXXWYSTVZWXXYZZWYWWY[\[WYX[[[Z[WXW[[]ZYXYZ\\\^][[\]^^^_^^^`[^``]^_`__^`^^_a^`_`bbba`aa`^__cacbbcdeecefeccceeeaecdeggecefffhggfiiihiiheijijjglklfiihikkkjjgggignmknonprqppnopppppoqqmmnrrpnnnmlmmnoqpqorrspqqpoppqmomnprkpqpostsprmomqpqnrrrssssrroqnqnoopoqosopqpqrnspppvutmoqtrrpqrqprrqqvtttuuvtstywwuuvuvxwwvvuwuvxwvutuusmnjlfdba[YVUMOHIB?>>75/-,+%$$# 


HIKKJJJJJJJLLKJIHJKKLKKKLMNOMKMMLKLKJKLNJMJLMMLPPNKPPONNNNNNNMMNNNOPONLMNONNQRPOPPOOPQPPQRQPPQRQPOPOOTSPQRRSQPPSSTRPPQSRORORTTOTRQRSQPQUVRQQQRRSTTSTUWUUVUQSUVUSSUWXXWTSTTVXXWVVWXWVVWYXYYYXXZZZYYYYXXWVWYXXXVY[ZZ[\\[ZX[]]ZZZZ[[[\^^]\\]]__]\\__^_`aa_``a``aa`_`a_^ababaabbbccdcacdacdedbffee`efffgfeddfhgeeffghhghjkkkkkhhhiikkkjkjfijkkkkjjjlllkkmmmpomnopqpoprqqpppqrqqrsrpmlnnlnpqrqqspqrqqponnpqqqoloqqooqqqstrprqoopqqppqqqqqrtsrroqrrqopqssssqqssuuutuvxursvvtsrrrrqtvstusuvvuuvutxzxxyyyyxxwvxywuvvvuuuvuttqpnkhgd`^]XUROLIEC@=9630,(&$$# 
IIJIJJJIKKKJJJJJKLLLLLKKMMMKMKLLKJLMLILNMLLMMMLOOMMOPNNNOOONNMMNOOPPNKMORQPLQRPOPPPPPPPPPPQQPQSQPLONOSRQQRRRRQQQRSRQQRTSRQQRTTTSRRSSQORTUQPRTSSNTRRRUVUUVUUUUVVSSTVWWVUSUUVWXWWWWXWTWYYXYZYUZZZZYXYYXXWVXXXXYXZZYVZY\\ZVYZ\Z[[[X\Z\^_^^[\[^]]Z^__]__```_``a_`aa`_a``aaabb`aaabeedaddc`cdechffeedefffgeebfgfbfefciiihjllkkkjhhehgkkkijfjkmllmlhlmmklkmkmonijknoonopqmpppqrorqqmolnonmoqqqqqrortrrqnnnpmppqlmpqnooqpqrpptsqoonqmporqqpqssstpporrrrsstqtqqntvvuvrtwvpuuutttsrsqxwwvwswxvruwvuxzyyzzzuyvvvvvuuvrwwwvxtssrrpkjihbb^ZTUROJIGD?=860/)'&&#"



-JKJJJJIHJJKLJJILLLLKKMKJJKKMMMLLKJLNLKLMKKLLMNMMNNLNOONNNOONNNNONPPOMMMOQRQOOQPOPQQQPPQQOOQQRRRRQPONPQPOOQRSRQQQQRRRPRSTRQQRRSTSSSSSRSSSSRQSTSTTTUSRSUTTTUVVVVUSSSUVWWVWVVSWWWWWWXXXWXXXXZZYYZYXVXYZYWWWYYYZ[Z[YXZZ\\\ZYXY[]\]\]]\]___^\\\]]\^^_]]_`^^^^\aa__`ba_^`bbbabbadeddccdeeedcadfghhfefedffgghggggefghgfhjihijkkjijigegikkjijilonmnnllmlmljmnonnmmnnmlmnlooooooqrsrqonoqqrrqqqmoqqqqsutsqoopponpqrpqqqqqqqrqppssssrnprqrstqqrsstutsrrtuuttsttrqrsttutssuuruvtsstutuxz|zzwvxyxuuxwyyzxyzyyyxwwuwvwzyxwyz{zxutrsqpoligd_ZXXWRLKHFC>98520,*'##"		JKJKJFIHJILLLKLLLKLIKKJGJJLOONMIMKKLLLMMJKNNMMLMNNNNOMNKOONMMMOPOPONOOLIPQPOOPQPPQQRROQQPPPPRSQMQPOOPPOOOPQOQPPQTTSRPMRPRPRSRRSQTTSRTUTSSSSSSSUTVRTRRRSRSTUVVVUTTSVVWQWVUUWXXUXVXWXYXWVSYZZWWXZYXYZZYWXXYYZZ[ZYXYZYZ][Z[[Z[]^V]^_^```]`X]]_^]^_[^_^^^_^^aba^^]bbaabcc`bdcafge`bcddebedeegeggfef`dcgdhiighgggihgghfggggihhfkigfhjlkjiggmnmlnmmjmkmmnnopolonomnjonnmompopnrrrnpooprrrqqnmpqnqrtrqqqqokpppqqqstsppqqrsooprnrttnnotmtssqsqssttsqroussmuutppornututtturustqqrusvwxy{yvsyyzvwrwvyyxuzywvwwytywy{{{{{{x{wwwvvtqqhjhf__][WVMNIFDA:;761/))%%$!			
-HJJLKJJJKJKKKKKKKKLMKIJLLLMOOOMLMMKLMMOMKKNPMMLMMNOOOPONMMMNNMNPPONNOPLLOQLOPPPOPQPTSRQQQQNQRTQNNQQPOQQQQPOPQROSUTSRQRSQRRRRRTTSTUSRUUTTSSSTUUUUUVTSRSUUSTUUTTTTTVXYWVVVUUWYZYXXXXXYXXWWXZZWY[ZYYZ[ZZYYYYZYZZZZYZ[[\[Z\[[[[]]^^_``_``a`__```^^``__^^__^`bbba`abbacccccdeddefeccddcefeeeefffgfedbdhiiijiihiighghhhjiiiijkklkhfjjklmllkkmmiknnnonmmooooppoooooopomnoooqrqrrqqrqpstqqqromnppoprssrqstpooprsrprtttrprtsrrtssrsrnqsstrsssstsssssssptsstuvsrqrsuuuuvvvwvrrttssutuvvxzyvtxzzzyxwwwwwxywtsxzyyxxy{|}||zwzywyywwwsommkgca^\XTRQMHDB>:852/+&&$! 
			
-	LLLLLKKKKHKKKKKJKLMMKIKLMMMLOOMLLMNNONOMKJOPOMNONMONQPPOMKLNONNOPNNLNPPOPQRRQPPNNOPSTQRPPQQRSTTRQRRQQQQSRMPQRTTSRQPORTURSRRQTUURSSRQUTTPTSRSTUVVVVUTUUVVUTTTUTVVUWYYXUUUVUXXYYXXVTWWWVWTWYZWYZYXY[ZYYZYVZZ[X[ZZXZ[\\[Z]Z[[\[[[___]]]a]`a```_^^``__`_b_`abaabbbdbaaa`dbededdddcdeecddeefdffeeeddadhjiifigghhhgghhiilfkkjijkkijllglnnlnnnljioopppmnmpqpmpnmmnkomomnnnoprqprorpprurpopqonpmpnqrtorqttrmnprkrrspusrormrqsttqrqqotuuqsotstqpqsssuupsrtttttptrssssvwvrxxutvsttvpwuvxxsxvyzzy{xxxvttvyutsy{zputy{}x}{ywzxxyywwvuommnjfcb\\SUSPMIEB;:540-''""!

				KLMLLKJJJJKLLKKLMMMLLKKLLLLLNOKMMNNOOONNLMORQOOQOOQQQPQQOMLOOONQQQPMNPPPQRTSNPMOOOMSTSRRQQRQNRTTRRRRQQQRRRRRRTSRPONORTTUTSSQSTSRQQPQSSTTTTSRSUWWTUTTUVVUUTSTVXXXVWXXWWVVWVWVUWVXTVWXWUVWWYZWXYXWY[YXYYXXZ[ZZ[[[YYZ\]\\][\[\]^^__]\\\`a`a`_`_^^__^`accbabb`aabccdb``bdeeeeecc`efeddddehgggfeeggfefgiigeggfgihfghgjklllljikklllllkkmmnoonnmnoooqqqpqqrpooonponooomnnnmopppqsrpoqsqppqrrrqqqrrtsrpqrsrrrtqqqsssssrrrqpqrtrrrsrrsuuuuvttssssrstvvtsrstuuuuttrtvvvwwwvwvtvuuvvxxvvxwwxyz{zzxxwwvuwwxyxyz|yvuwy{||}}yxyz{|{xxvutqpnligec_[XVSPKGDA<6420-)'&$ 	LJLLKKLKKJLJJJKLMMMLLLLMLKLKMMLMNLMMMNMNOOOPPNPQQPOQQSRPPPQQPNOQRQPOPQQQQRSOOOOOPPQRTTTSRPPOOQSSRQRQRRQQRSSRSSRPQRRQRRUVTRSRRPRPQPQRQRTTTSSRRSTVVVTTTSVWVVVVWXXWVTUWXVWXXUTTWXYYYYYXXVWYYX[XYXYWYYWVXXYZ[ZYYYYZZYX\[]\\[\[\\^_`]]]][`a_a`]^_^__`a`a`bba]a``_`^a`c`bbdcdcfggfdefec`ebcefggggfhhgehijgfehhffijieigijlklmkjklmllhllkkmonmmlmnnnnmppppppolpqqrqoqqomnonmnopoprsmnoonppoossrprqrosrqrrltorqsrrpssrmsttqqnrqrmttslrstuvsrpprvtrotuuptsstutwutrvvvwwtwuuturvwwvwuwwwwwwxvzyzyytvtxvuuyzzxzuyuwyz{|}}yxxz{{|zxxsvtrqqmkjied][XUQMHGB@87630,'(%#	LKLKJKLLKMMKJJKMLMMMMNLMMLLLKMMNMKMNNNMMNPPOONQRQONOQSRPPQRRMNNOPQOOPPQROPQQPPPQRSRQRTTSRRSRQQRRQQRRRRQQQRSSOTRQRTTTTUUUTRRSRQRSRRRSSSSTSRRQRQRUUUTTUTSXXVSWWWVVUUTVXXXYYXVWXXZ[\[XWXVWYZ[[Y[[[[ZYWVWXYZZYY[[[[[ZY[^]\[Z]_^\]^``^]]^___a`^^^[^`bbba`aaa``a```a`accccdcccfghhfdcdbcefggegijhiihghijjhghjjhhillkkjjkllkljjlmmllmmllkmollljkmoommnpnmmmmopqqqqqrqpnnpnmopqonqrrrrrrtusqqstsstsrrrrssssqqqstrrrtrmsvuttuttstuuqoqtvvvtrpruvtrstutrsutuvxxwsruuwwvuuvvwvtuxyxwvvwx{zxxyy{z{zxwxyywxy{z{zyxuwzy{{{zyyy{{xxy{ytwxvttrpnmkgd_YWROMICB@;753/,*'% 
-	LJLLJJLKMNMMKILLNNMIMNMKNLMMMMNNLKLKNONLNNPONNOPPLOOOQRRPNQRQPNMQRQNNNQROORSRQRSSRQNRSSSSTTTSPSRRRROQNPOQPTUTTTRSTUTSTTTSQQRSSTTSSSSRRQPONMOQQRTTSRTUSTVXTUVVTVUTTVXWVXXYWXWYZZ\[XWVVVWXXXYZ[\[[[ZXWYYYXZZ\]\[[Z[[[\^Y[[_a_\][^^\X]__Y^_b\__^___cdc^aba_``bbbbabc`bddbcdddgggdccddeghhgghhhhicghhgjhihjjifikjkkkllllkijiljnnmmmklkmmkkmlkloooooonllgnnolpoqqpooknnmkppqqpnpqqtsoturpqqttttttroopstsrrputsorqrkstuuuutssovsqitvwxxwtqtutrsrstuqtpuuwsyywrssxwwrsuxywwvvyyxwvqz}{uzyy{{w{{ywytyzzx{u{wwsy{yxyvyuyv{yxwy{zuyyzvvusqomjeb\[VSNLFEC?7853/,''"!

-	KKLMKIKLMMMMLLMOOOLLLMMNMLMNMMONKLMNNONMOPOOONMNNOPPOOQRQOORQPOMQRQPRRRQPPRSRRRSSRNQRSSSSSTUSSTTQSSSRQRSRRTTTUTRSTTSQRRRQPQQSTSRRSRPNLIDBAADINQRRQQSTSTVWWVUUUVUSTWXVUWVYZYYYYY[ZXXYYWXVVYXZZZY[[ZYZ[\[[ZZ[]\[ZZ\\Z[]^\\_`^\\]][YZ]`_^_bba``__`_bdc`aba_baccccbbb_bccadffeegfeffeddgggffggfggfeihfiiihhhiiiigikllllmkjkklnpommlklmmmlmlmnmpppponopopppoooopqnmooopppqqrtsnmppsrpppoprsstutstrnpqrtttttuusrqqpnruutttqqqrutqqtvwxxwttuuttttsuutuuuvvvwyyyxxyzxsvuxxwvvxyyyzxxy{yz|}|~yvy{zzxxzzzwy{xwvwz|{zxwxzz{{{zww{||{{{{ywtrolkhdb^XUSPNJFC?;950.,*'#								KJLMKFKLMLMJKKMOOKMMMNNMNIMOONOOLMOOPOOMOPONONMNOPQQPPQNOORRQOOOQSQPSRRRQQQOQRRTTSRSSPPQRPRSSQTTQQUUTSTSSPSRTTTQRTTRPPRNRRQRSSRLOPNJC=5-'!$'19@FJOQRRQRRVVVTTTWUUVVUUUUUYZZYWVYZYXYZYWYWWWYZZZ[[[XZ[\[[[[YZ]][ZZ]ZYX]\\[[[\[]]^][[^`_^_ab_aa`^^^abb``a_^bbaac_ba_^babbfffeddedfgedefgfedgggbhhijififffgfihjjjillljklllmmmlpkmmmlmklmnnnmmmoppnoonnopqorqplmnnpqqqprsrrrsroprqpqrrpopsssrssrrsorsttttuqtsrqqpopsuuptpoorttussstuvwvuvwsrsutuussustouuvsyzzvxvxtvwxxvuuv{yy{zuxxyz}v}yyvwwzzyw|{zxxtvsxy|y|zywyx|z{x{xy{|z|{{zzwusrlljgbaYXTUPLFGB@:832.,'%  !		
-	MLLLKLLMLMMLKLLONKMMLPOMONMOOOOOLNNPPPOOOONOOOMNOQPPQRQOMOQSPPPPQSQQQQQQNPPONQRTTSQTSPPQSRRRRQRUPSUVUTTRSTSSRSTSSUSQPRRQRTSRSRPOOOKB6*
	&0:DKOPRRQTVUUUUUTWWUTSVWWWWWWTUXYWXYYXWY[YWXYZZ[[ZYYY[[\[\\]]\Z\[\[ZX\\\\\]^`____]]^_^_``aaaaaa```abbcca`aa^_accda`aacffggfedddefceffggggghgfgiijjiiiiihijikkkklmkklmmmnnllnnnmllmnonnonloolmnnnnmnpqprssqonnnqrrrqrrooooppqssqsuussstutpqssttssuuttstsstsrssrssruvtqsttuvuuuutvwvtsuvvttttvuttttsttttvvwxxvuwxwxxxwuwy{yy{zxxyzzzzzwxyyyyzzz}|yywuwzz{{|}~{yy|{|{{{{z{{y{|{yzyvuurplhgd`\[XTOKJIC>:852.)(%" !% 					MLLKLLMLMLMMLMMONKMNNOONPMMOOJNOONOONKONOLNNONNLPSRQPQPOOPQQRQPPQQQNQPPPQPQQQOQQROSSRPRSTSRRRSTTTTUTTTTQSUUPRRTTTRSQSTTQRTSQRTSOQOF8(		
-",6=DJNPRTUUVVUTWSSSVXYWUTVWXWWYXVYXWVXZYXXYXY[YZZYYZ[[\\\^[ZZ][[XXY\[\Y_^_``^`\___^_`_```a`bcb_a]cddc`]_``_cccbc_bbcddegda`abeddfggiihbgggdgeijigghlkkjjhjlkhjlkglllknjkjmnnmlhlkoponnloolloonnokprrqqoqqqnoopprqqqoopmnkqrsqstuuusvutprstutrqssrtrsqssrqsssprruvusuuttvvvvvutturrtttvrvwwuuuvttutottvsxsxtwxwtxpwvvwxxyyxvvvz{yvvuxw|{zv|{~wttxuyzzz{x~z{wzu|w}}~|{zz{{{{x{zwwxssmlkhca[YWTMNJG?=6620**$%  #$
-
-			LLKKKLMMMMMLLMNNMLMNMNLNOMNQOMNPOMNNLLOOPONQPNNNPSRQNPPPQQPPQPPQQQQRRQQQSRSSRRQQQQSSPRTSTSRRSTTSRSSTTTTSSTSSSSSSSSSTTUUSQSRPRUUTQL?,
		
-$.9AHMQRRTUTVWVUVWXYWSTVXXVXZXWXYXYXYZXYYWXZ\[[ZY[Z[\X\]]\\__][[Z\Z\_aa^^_a`_``_^```_]```acbaacdec`^^``aadedddddddccdfdabegfecfgiijgfgihggghighikllkmljikkihljjlmkklllkjlnommljmponmloomnpqpopppqqonopqrrpnopqqnpsrqqopqrrssstuuwvurqrsttsrrsttstssrsrrrstsstuvtrttrrwzxxwurstuuvusuwwxwstuwwwvtuvwvxxxwvvvvxwvvxyyxxyyuxyyy{zyxwwv}|{|~|uwzzwxyzzz||{{||||||~~~{y|}|||zwy{ztponkieb]WVSPNIE@;862.+*'%"$'		KLMMMMNNMMNLLMNMKLMMNNNNNNOQPNNONLLMMMPPOOPQQNMMPQPOPQQQQQONNNPSROQRRSRRSTTSRQQQRRSRQSSRRSTSSPRPRQQPSTURTRRRTSRSTTSQTUUSSRQNSUUTNE5 			(09@FLOQUWWWVVWVVVUVXUYVWWVVYUXWZZYXYYYYZVZX[ZZZ[\\]^^][^_]\\\\\^`a`^_`aa^aa_^_`bbaba]`ab^cdcba___``a`dddeedeeeecdghffgfgfeegfhefdgkihihhhheijjklmmkkkkkkklmmhkjkkmljkooonmjllnkkkpnonpqqoonqqpmnmpqssoknponnotsrpqpqmrpuutqtvusrqrrtssrsvvqsqsrsrtsrsvwtrvtqpqrrsxxwowttttsxxwtvtxvtssuwwwwuuwtyyyxwtwsuwvtwxywxvzyzz{wz{{zzxxt|z|y{yxuy{zwwxxyyx|||||}}zz{~zyy|z~~~}|xyz}}wqssoijcbWWWSMMGE>=75.-+*%" %#	LMNNNMNNMNNNLMMKKLMNNOONOOOOONLMLMMNMOPQPOPQNPPOPQONOQQPRQNMOMQSSQPQSSPQRTTSRQRSPRRRQRSRPSTSRSSRQQRSSSTUTRQRSSRSRUTRTVSTSRPPSTSRH:(
-		
-&2>FMRVVVUUWXXXWWXYYYVYZZZYWWZZZXVZ\ZYYZZZYXYZ\]^_]\Z[^Y[\\]^^_`^^_``abba\\]_bccca^^`abbcca^`cddbbccddcadffbddehihgfeegfghhffeehjlkjhhihihhgkkklnnllmkjkmmllmnnmllknonmnlkjlnlmpqoonqqooprrpppopqsrmmoqpoprtsroqrpmqtuusqsutrrtutssrrsvwusssssttsssvvssutoprstvwvtsstvwvuwyxwwwwvtsvwwxwwwwvuxxwxwvvwwxutvyzxxwzz{z{{zzy{{zyz{|{xz}|{|~{yz}~}|{|}|{{{{|z|~}}}}|}~~|}~zxwurpmida^ZVQNIGEA=962/+&$!##
	LIMONJLMMLNNNMLLMMLLNONMMPPNNOOPONNNPPPQPNPQQQQONKNLPQPOQRPOONOPRRQOSSQQRRSTSRSRRRSSRRSQRTTSSQTOQPSSRORRSTTQSSTSSSSSTUSQRRQQPPONA,		
-
".8AHMPRPVXWWWVVVZZZZ[ZZXWWXZ[XXZ\XWX[YXWXY[\]\\\\[\]]\\[\]^``\^__\`a`_^^^_`bb^a^^_aa``ba`cefeeebddecbaegfdefeegcbafgggggfffdhiklkgfehghehijflmnijkkfkjmjmlnnlikkjkmmnlkimoonnmopqrrmlmsrqqppoornppqnqorrrsroqrrostustqqrqpsqvutqtuttssroqosttotsstssuwurrtuwxvuopqvuwvutvvvwxstttuuuxxxrxwvuwzzvxqxtwvwwxzzz{w|zyyxxyz{wz{|}zv{~~}~z|{}}}~~y{w{{zy~|~z}z{|~|~~~~~|xyvsqqjgcb[[UQIGFD<<65/-)'"!# KLMOMKHJLLMNNMIMMMLMNONLNOPOOPPPOOONOPQRRPPQQQQPONNPQPNOOQQPPQPQQQRRRSPRRRSTSRSSSSTVTSRQTUTTTUSRRSTSQRQQRTUUTTTTSTUTRSRSTTTRNROH8#
-			
-
-#0;CJPSVWVVXWXYZZZYYXVY[YY[[[\\YYZZYYYZ\\\]]\\\^^]]]\^\[\_`_^^^`ab`_^^^^]aa````aaa````adgfdffdddefdbbffedddefecdfgggefehgehihjkjhejjjjkkkkkkkhjkjjlonmmmmmllnpmhloonllnoqoonnrsrssqrrqpqpqqqrsttrrqpqrrrrrqrststuvvwuuvuttuvttttsrqpoprsttsuttttusuxwuwttwwwusqsuvvusrtvvuvuuvxxwvwxwvwywvwy{zxwwzyyyyxz||{x}~{{{yy||wxz||yw{}~~}}}}~}|}€€}|{x|~}|{{|~{y{~|||{|}zzywvsqmjfa]ZSPMKFA=:740*(&# ""
-		KLMNMKKJMNNMNNNLMKNNMMMMNPPONMNOPQONNMQSSQPPQOPPQQRSSPPOPPQPPQQQPQSSRRRSRNRSQMSTSSTTTPRRSTTQTTSSSRTSQSRQRTUUTTVTTVVRSTSTUTTTRRK@/				
- &3;DKPTUVVVYXXSXXZWZ[YXZ[[Y\[[XZX[Y[]]\^]\Y\_`[_^^__\]]_^]^_`caa_^\^_`aa_a_aab_bba_abfecccbb_egfcccfecaedecddfgggghihgeijihhghejjkkllkjkijhijlllmokmlkilmppohkjnonnnmpoonnrsqrrqrrnpopqqqsuvuttsnrrsssqstutrpvvwxvwwutousvvsoqproqsuvuruvvsvuvprtvvvutrxwvtrotturrqtuwswvvvyxwwwswttuwtuvxxxrwxzyzyuwxxzw}}{x}{z~}vwy|xvw|}}~}{~|}{}}}{~zzy{w|~{{v}~}y|yyx|~~~€~~}{zxurrokb_^ZTRPKCA@;83+)'$ #	
-LMLLMMNOOONNMNNLNNNNKMNOLONMLKKPQRQONMNPPQNPPPQPQSSSSQONOQQPRSRPNQTVTSSTRPQROMSUQSSSRORRQTTTUVVUTTSRRTSQTVVTSWUSTUTRTUSTUUTTSPE3	
-
(8CLQRTVWXWVWYZ\[ZYZZ[Z[]][YYZZ[[]]]^_]\]____^\]_`^_^^]^_accba_^^_abbab`abb_bcdeddefcbccccehgedegecffffdddfgghiiiiiiijjkihhjjjijlmllkkijjkklllooomjlmooooommopoonloppnoprrpnorropnnpqrrtuutsrqrrsssstvvwvuvwwvuvwuutuvwvrqqqtuuvwvttuxwxwxwvvwvvvuuvvvvusstuutsstvyzxwwwwvvwwwwxxywvwxzyywvwxyzyuvxxyv}}{z|}{}|{{}|{zz|}z~}|~~}}}}|y|~|z{{{|~~~~~€~|{w|€€~}|{xutsmjda][WTOLHD?:61-(%" "# 

-MMLLMNNMNLNNNNMLNNNMNNOPPNNNMLNQRQPOOMLKPQQQPMPQQPQQQOPOQRQPRSSQQRTUSRSTSQTTRNSSSSSRQPSPSTUSUUVUUUTRTTRRUWVUUUTRSTSRUUTTTPRTRL=&	*4<BHNQUVVVXY[ZYZ[[XZY[\[YYZ[[\\^^_Z^\]^]^^[]]^``_^__[aaccb`_\^_`aaac`abb`bbefebccbcdbedeggcdehhhhggfeebgfhhjejjjkjijkjiijjjiiljklkhgflmljkknoonmmnkkkppnoommnnlorqlopqqqlqsroonopqprouusnsqsuutqmtttttuvtwtstuuttuvvusqrrtruuuuusvqwxxqxxxsvtvvwtusvpuvvvutvpvwxwwswtvuyzywvvxxwsxz{x{{ywxvxzzyzywv|{{v|~{yzz~||||{}~}}{|}~~~}zyx{}}y|||||~}}€z}y~€~~~~zwvtpih^a][WSOKFB=911*(##$%
-LMMMMMKKLMNONMLMNNOPQQPOONNOONMPPPOPPQOOPRRQPPPRRQPPPRQQRRQORSSSRSRRPOPTTUUUUTRPQSQPPPSTTTSSTTUUTTTUUTPTVWVTSSSUUVVVUTRUSQQSOE3!'2<DMQSUVVYYXZ\ZXXXZZ[[\\]]]^^_^^^_aa_^^^]]^___^__^acdb`^]\^__acccaabbabcddcb`cddeeeeefeeddgjihgffffghiijlmjikkjiijihijhkjhjjkkjhhiknmnmllmmmnoonmnppnnmknooporqonoqsrqqrpnpqrsttrsuusrsrutsrqrssqqrtvwvtstuwvuuuutssrssqqrsuvwvvvwwwxzwutuuvuvutuwwwxyuwwwwxwuuwwwwvy{zwwsuwvtxzzz{|yxxvwz{}||yv|}{||~{y|€}}}€€~}||}€€}yzy}€~}}€~}}~~~~€~€€~~~|xvurnkgc`]YUPMIEB=830+(%# &$MNMMLLLKNNOOMMNMOOOQQMOOOOPPPPOOOKOOQQPPQQPNPQSSRQPOPRRSSSQPPQRQRSRRQNSUUTSRUUSSTTTRQPSSTSRSTTTUUUUUVUUTUWUPQQRSUTTTUTQTTPQQI:'		*4=FMOUWWXZRZXWWZZZ[[\\[^^^]]^^`aa_]_Z]Z]]^\^]]]`bca_]^]^_`accdba^`abed`aabdecfefddceffcfehggeefggiiihkkiihggfiggeiikkjiiklkkiiklmmnonljjhnnppoooonolknopqrrqpnmqssoropnopsttssrurssssrpsossttutttwxwttrvxvuvvtnsttptqoorovxwuvwvwxtsststovvvrtuvtwyyxyuyvvttwvvywx{zvwrvwvuywzzzxxtxxyyz{|{zw}~|{~zzz€}x}~€}|{~‚€{}z}}~~~€€{{|~}~€~~€€{}~}yyxuqpkgaa\YRPKHFB:80/((## %%MMMLJKMONPOOMMNOOPPQQOOOPPPOPQOOOPONPRQPPPPPPPQRQQQOPQRSSSTTRQQQRRRQRSUVVUSQRRRUVWUSRQSSTTTSTUUUUTUVVURSSVUTTTSTTRSSTSQRSSQM@-		
-
.9CKQUXWWYZZ[[[YZZ[[[\^]][[\^__^^_`^]]__^]]\_``bb`]^]_`bb`abb_^_`bfec``bddbeggfeeghgfffghggfggggfdgjighgggjjjhfilkjjkklmkkjkllllmopoklmnoopppponommnnpqrqponopqrqrpppsssttssttttttsptuvussuvvuwwxvuuwvvuuvvsqrtuuuvtssrtwvvvvsvtqqsuuttuvurtuutvxyzzyz|{xxzyyzxxywtvwwyyzzxz{zzyxyy{zzyzyy{|}{{|~~~|w|~~}|||‚‚‚ƒ€|~~~|~~€€~}‚‚€€‚~{}~~}|xttrlgfe^TROMHDA<83/*'$" '& LKNLKJLNPQRPONNOPOOOPQQPQNOMOQPNQQOLNOROPOQSROOPPQPOPNRSRSSSRPRQSSRQRSTSUUTRRTSRVUSPPPTSUVVTSSTUUTUSVVUTSTWWWSSTTTSSTPQRRSNE4
-	
-
-&3=EKOQVZ\\\\[Z[YZY\[\]][]]][^_``_^_``^^^_```abb^]\`bccb]`\_\a`beec`^ceecgfhhggiihfecefghgdfeedfhjiiiigikkijehjldklkjmmlkkmlhlimppkmnmmnmoppjnqpopopqplmoqqrqqqonqptsrsuottttttsprtvuursrvoustttqwwvtutvrqorrutvtwuupusrrvruvtoqrwwursrrruuuuvtx{|xz|{xxyzxyywuttuvxsyyzwxy{|{wxy{z{z{w{|||zxxy}x~~{y{{|yxy}}}€}z|~€‚}~~~€‚‚}‚€€yxwwspjkdbXTQQJGA@;82/('#"#'&NOOONMJNPQPPPPNOPOLLMRQQPPOOMPQQQROLMOQRQORTSQQQPQQQQQRTSSSRQPRSSSRSSRSTSTUUUUTTUSRRRSTUVVVURPQUUUTTUXWUSUWYXVSTUUTTTQRSSTJ9'		
-*3=GOVY[\\\\\\[[\[[]^]]]\]]___^_`_`^___^``^abcbbbabdbabcbbbabccb`acefgfefgffghggdcefdhhgfffehjjiijjiikkkjigjjjjlkhkmmkknlnmiloonnnkjlnopomoqqppqqqqoloqrrqnqrrqprrqrtttuttusqpstuuutuwwxutuuuwwxwutstutstttvvxxwutvvtsuuuuuuuvxxwwvvvvvutuvwx{zxxyxxxz{wvwvwxyyyxyyyzvwz|}||{{{z{z}~}~|}|xz}~€~}|}~}|zzy}~~~~~~~z{|‚ƒ‚~~‚‚ƒƒ‚„ƒ€ƒ„…‚‚‚|yvsqmiea[XVRLHC@;72.*%#!#)OQPLMMMNOMMIOPOPQPPNPPPNQPQQOQSSRRPMNMPQPORSQOQPORQQQPQSSQRRQOSSRRSTTSTTSUVUUSSSTSSSSTTRUTSSQPRVVRRRTWWUTVVTVVUUTUTTTQRRRPB-		
-#.8AIOSX[\[\\\]\]]^Z\]^]]\_^^^_]]^__]\___`bceda`a_cadeedbaabcdbadeefdddde`ddffebfgfdhgfeefjkkfigkeiijgjihgjiijlilnmjmnopnilmonoponnmnmmkppponopqrqqqrnqprrrsspqqqmrrsptsuqqquvvtuuxyxwvvvsvxxryvtqtvvuutuswxwqtuwxwsurstsquxxwxwvqxwwturwtyyxwwuvvwz{vupqrxyzzz{{zzvzz}w{z{{|{|{}||~}}}x}~~|€€x}€€~}}|y~}}{}x~€|~zz{€‚‚‚‚‚ƒ‚€|‚ƒ„€‚€~ƒ…†„€ƒ€|ywurqkid`\ZUOJGB?75..'%!%OPOLMLLMMNMMOOOPPQPOOOOPPQRQPQSTQPPPNMOOOPRRPNNNNQRQQQPRSRRQRSSTSRTTQTUTTVWUVUSRTSSTTUTUVVTRRSSWVTTUTSTUUVUTTTTTTSSTTPRROI8$			
-$/;DMTXYZ[[]^]\^^\\\]^^^__^_^\]___]`ba``bcb_`bdcdeddecbbbdecacfggfeddeddeeeeffhgfffdefhjkkjiiijijiiihiijigjklnomlnononmmnnopqpqpooonnpppoooqsrrrrrrqrrrqrrqrsqoqttsssssqquvttttwxvtrvvuwxxyyywwvvvuuuvtvxvptuvwwvvvrsssuxwvvvvvwxxwvvvtwxwwvwvuvyzwvwwvwxx{{{{{{||}|xz|{|}}}}{{}}{|~~~~~~}~||~~~€€€~~€‚ƒƒ‚‚ƒ‚}€‚ƒ‚‚ƒƒ€€‚„ƒƒ‚€}}||yvtngea\VRLJGB<741.(%"LMOMMMLLLPOMPPOONJPPQPOPPMQQOOQRRQRQONNMOOPQQLLLORRQQQRSSSSRSSRQRRSSRSUUUUUVVVSNRSSSUVTVVVUNSTUVVSUUSQSTUTTSTSRRSQSSTPRRJ>,	)2=HNSVX\^\Y]\\[]]___``_`a`_^^\\_ba`aaa_`acdbbdcd`bccacdcdeffggeddeefefffggeibdefggfijjhiijhjjjjjijkjhjjilnnmmmmmkonnkklpmpppooloppoooplqstssrrprrqqpprotutmtqussrrppqtruutrusrqsuvtwtxyxuvvwvusuvvsutuqustuvswvssvtutwwvuuqwyyvwttsttuvvvuuwxywxyyyzw{zzy{x||}}|x{w{z~x€}||{}z{|}~~~~€€{}~€€~€€~€‚|„‚„ƒ}}€€€}‚ƒ„€€€‚‚ƒƒƒ~|{vsjjb_YUOLJF@<740,%$MNOOMMLLLPQOPPMNMMPQPNMQOPQPOOMQRQQPOONLNMOQQPQQQQRRRRRTSSSTTSRRORRSRQSTTTQVVUTQPSTTUVTUVUTSTTUVVVUTRSSSRUTTVVUTSSSUUTSPD1
-				
-.9BKSW[\[Z[\^^_```a``aba`^^^^`a^`^baaaacedcefc_bdccdeeffefhfddffdffihffghhiihhhhdikigiklkjkkkjklmlkkkilnnopmklmnonnoqpqqqponjnqpoppooqrssttqrssrrrrsuvvuvutuvutsssttuuwutuvuuvwxyxyxwvuuvvwustvvvustvutsuvwvvuwxwvwwvwwvuwyxwwxxxwwwuvuwwwwxw{{z{{y|zyz{|{|{}}x{|||}€}|}~|€~}{~€€€~€€€€ƒ„†…„€€‚€~€€€€€ƒƒ„€ƒ„ƒ‚‚„…††…‚|zvsnhb^YTPLIE@961.+& MNPPPONKNOPPPQPMMNPPOKNPQQRQQPQQQOONPONLNNOQQQRRPPRSSSRSSSSTTTTSRQRTSPPQSSTUTSTSRSSTUVTQUTTTUSTUVVUTTSSSVWVWWVUTSSTUUSSM<#		
-
-
-		"1<DLRVWZ\^^_a^aa`^`]`_`a``bbaaabcdb]abeedecabbdefffggcfggdghgcgiigfchffghiihhfjjhhjllijkkkkllmlklllmnlnonkklnoooompqqqqpplpnooonpqrqpqttsstqpqrrtuvrtrvrvvutvuuvvvxxwuuquvvwyxwvxuuqtvvuwsstwwvttttuutwyyxxwyyxuxxxwwtwwvtxrz{yuuuwvvvxwxx|zyy{x}zyz|y{w{|{z|{|w||~w}€~~z€}~|~€}~|€~~}~€€€~€~}}ƒƒ‚ƒƒ‚†…ƒ€}}}€~‚ƒ„……~‚„„…€„†……‡~‚~}yzvrnib^VTRLFC::31/*"!NOOPPPPONMOQQQRQONPPPQPOOOPPOPPSQQQPPPNMMOQQRRRQOQSTTTRRRRQSTTSSSSSVRQRSTUUTTRRSRRQTUWUQTUTTTTTUUUUUTUUVWVWXWUUUSSRTTSND1	
-
-				
-
-
&2<FMTY\\]^_``^]^__abb^`abbbbabdb`abddcccddeegggfffeefghijhgghhfhjigggghiihjjjhhillkklkkjlmliklmmoollmmnnmnpopnmoqpopqrsrrqpoprtssrrrrstropqstvwtqsuuuvuuuuuxxwvvxxvtstuwyyxuuwxusrwvvxxvuvtuuvstuutvyz{yxyzyxxxxwwwxxzzyyz|zyxxyxwwxyy{zyyxz{{{}~|{{{|}}z{{zz{~}}~~€€~€~}~~€€€€~}€‚ƒ€‚„ƒ‚……„‚‚ƒ‚‚ƒ„‚‚ƒ„………ƒƒ…ƒ‚…‡††……†…ƒƒ‚~}{vrnjd^YUQLGC>:60-)$!NOONNNQQOMOPQQQPOMOPQRRPOPQMOOQQQQQPPPMEMPOOOOPOQRSTTTSQRRRRTTUTTUVVTSTUUTTUTRQPQQSSUWVRTTTUTUVUUVWVUUVVWWWVVUVVVUSRQPG8&

-
-
-		
-	
-(4>HOTYZZ^\\[]\_`bc`^_`cabaa```aaddcbegfefcghgbfbfffgihhhhfhiiiifghiikllkjjkjkmmkmnmlllnhjkommnonmlkkononmlomoponoorsqpsrqqrrsrrqppqqqornuststosuvvvutqsvxwusuwwvuuvrxxyxwuvrwutxwvwwyvtrsuvsuvvuwuxvyyzzyvytwwvxwx{yyyzyxyxxzzyt{{yxxsywyx{x}}{{|}}|}y|vww~|~~~~~}}{~|€€~|~z~~€€|}‚€€€€€{ƒ‚€„‚„ƒ‚€‚„…„„ƒƒƒ‚ƒ†‚……ƒ‚……‡†ƒ…‡…ƒ‚‚ƒzwpoli^[WUPLEC=:1/*("!MONNMOPPPPOOPQMMNNOQPQQPPQQQPPQPPQNPQPLIKPQQNPPQPQQSSSQSTTSRQTTUUUUUUUUUTTVVVSQQPQSUUUVVUSUVSVWVUWWVTTUUVYWVUTVWWVTQNK=*
-	
-				
-+8CNTX[]\\]__`cdba``bcaaaabdccefddgigfffgigeeeegeehjghhgijiihfhijklmmmkkkjjlkkmnnnmmmlmnonkloqolopppooopoooopoopoqqrssrqpqstrqqqqqpstwvtttsstuwwuttsquuvuuuvtvuvwwxxxyxwuqwxvywuvvz{wstxwstuvwwyvvwyzzzzxuwwvwyyyyxxxxwwwxz{{{||xwxyzxyyyx|{yz{~~|}~~}|~~~}}}~~}|~}|~}~~~~€‚ƒ‚€‚€€€€€‚ƒ‚ƒ‚ƒ…„„€„„ƒƒ„„„„…„„††………………‡ˆ…‡„„††„‚~zwtrnjd^ZWQKFB=72.*'#OLMNNOONPPOOPQPMOOOOPOQMNOPQRQRRRQPPQONKKNQQPQQQQNQRSSRSTTTSTTSSUUTPTUWWVUWWUTSRQMRTUSWWUSTVWWVUUVVVVUURVXVPTTVWWUUSMC3
-		
-)4>HPUWW]\]]bcb__`bba`bcd`eddedcfgeegbhihdedfggchjihhfijiihfffiimjkilllkkjigmlmmomnnnnppmjkmolompommnoniooqmqqporsspqpolstsoonrstvvuuststotvxvtsuvuvxxxvvtuutrwyytwwxsuqwxyzxuuvwwvuuwwutsxxyyxtxxxxzvvwwsvxyzytuuyzytutzyyz|{zyyzzxxwwx|z{|||||~}}|||}}w}|~||~~z}}~~~‚‚~‚~€ƒ€€|„‚„ƒ‚€„€†…„~}|‚„…„…ƒ„‚‚…‡‡†‡‡†…†‡†„„…ƒ…†‡ˆ†‚ƒyzttnja^YVPKFA96/-'& QOLOONOOOPPPORRQQQQQSTRPMPRRQQRSSSQPPOOOJKOPMSSRQRRRTTQRSSQTUTSTTTTTUTTWWWVVUVURSRQRSTWXUUUUVVTUUVVXYXVVVWVUUVVVVVTSI9#				
-
-
,7@GOUY\^`a____ababbcddeeddcddcdfffghggeeiihhijiihhijihfghhjlljijkmmllkigllnoonmmknpqonomopoonnmnmnnnnpqrrrqrrtsprroprtsspnrtuvtssrsstuuvvustvwwwxyywwwwwtswyxwxzxuuwwwyzxuvwtuvwvuvxxyyxyyyy{|yxyvwwxxxxzyxyyyz{yxxyz{zy{{{{zzzzxxy{|z{z{{z~~}}|{{|~€~|}~~}y}€}€€~‚ƒƒ„ƒ‚‚‚‚ƒ„‡††„‚‚ƒ„………„‚‚~‚…†‡ˆ††‡‡†…………„†††ˆˆˆ…„ƒ‚€€}{wsojc_[WQJF@:50-(%!RQPOOOOONMOOPRSRRRRRSTSQPRSSRPPPQRRNPOOQOJMPPRTRSSRSSSRRRRSSTPRQSTTUURRTTSSTVWVSUTRQSTVXWUUTTQUVUUUUXWVTWWUTUUTTTSSPB/		
-
-
-
,5>HQY]\__^]acb]bbecedddeeebfhgeffhffdifhhihhiiijjighihhjllhifkmmmnkjhmlnmmnmllnnoooqnqqomnlonnoonnnrtsqprsttqssqqspttsntrttsrsrpptstpttsrvtwvxwyvvvxwwvwyyyz|yvxvwvyuuvvwwwwwwrvxwuutvvzx|{ywzuvvxyxwxxwwzxyxwvy{zwxzyz{{yyyywt|~z|z{|}}~x|z{}}}€€~|}~|z~~€ƒ‚„„„}‚‚‚~ƒ‚„……~„€„………ƒƒ‚‚~ƒƒ…‡‡‡††ƒƒƒ…‡†„†„†ˆ‰…ƒ‚…€~~}||vrnjd`ZVNIE>64/-$$MRQOOONPOMMOPQSRRRRRQQRRQRSQRRONOPQQQPOQPMJPQQRRSSRSTSRRRRRTTTSSTUTUVSQSTSRTVWVVVURSUVVWVUUTSSUVSSTUVVTVWVRTVVTSQRPI9$			
-
-
-			-;HQW\__^ab`_abceddeeefedeggfddgigdhihgfegiijjiiiiijhjllkjkkllmmmmonkllknnnmmnnmoqrqpomoqonnomprostrpoqsttsttrpsuttttuvutttttstuuuutrssuuvyxwwwwvwwxzxzxy{{ywxwxyyuvwxvwyyxwwwwvtvux{zzzzxxyyxvvyxxyzxwywy{yxzzyyy{|z{|zyyyux}€~}|{}}}|{{y}€~{~~~~~~|~€ƒ‚€‚‚‚ƒ„ƒ‚ƒ„ƒ‚„†„„„…„‚ƒƒƒ……†„„…„ƒ…ƒƒ„…‡ƒ……†………ƒ€…ˆ‡…†††ˆˆ‡„„†ˆ†„zsojd`[VNF@8860*'$!OPPNOMNOOMOOPQRRQQQOPPQRRNRSSRPOOOPQQQQPRQPORPRRSRSSSRRQRRRQTUUTWWTUUTSTUUTTUSVUWVUSUUVUTUUSSTUSTTUWWTTUXWTPUVUTTSK>-		
-		
-
-
-
-&6AJRWZ\]`_``ddcadeebecedgffdghhdgghfedijiijjihigjiklkilmmkkklmmmnjjlmmonmlokmmoppoojqqphmmoqsqssrpprrrrprsqostsrssvwvuustrvuuqwxurstwxxtwvvwwuuuxyzzzxzvywxxyyxuvwxsstwvuuxuttxxxz{yyvuuyzzvwxxx{|zxzxxx{z|zzzzu~{|}{uz{zz{}€}z{y}}}w}{|}|~z€€~€z~€}~{€€~€‚ƒƒ‚ƒƒƒ~„……†……€„ƒƒƒ……„‚„ƒ‡ƒƒƒ‡‡‚€‚„…„„„‚~„‚††ˆ†…‡‚‡†‡‚…ƒƒ|~wslhb`ZRGF=<95,,'% NOPONMMMOQQOOPNPQPNQQQORRRRTSQQRRQOOOPSUTTSQRTTSSTTTSSSRQRRQQUUUVVSTUTTUVUUUUWWWWVUQTVVUTVVUUTUVVVXYXUUVVWVTTUUUUSE1					
-		
-	
-
#.8AKT[^acccdcccdeffffggghhfihedhhghhiihghkiggijkkllkkmlkkijmmlmmmnopppokmnlmnpppqrqqqpmloprpsutrotssroprqqssrtuuvvutttuwwvuvxzwsuwxyxvutwxwtuxxwxzzzyyxwxxzyuvvxwtrtwzxwwxvvxyty{yxvwwy{{ywxxyz|zz|}{{z{|zvyz||}w|{vz}||}~}|{|~~}~€}}€€€~€€~€‚€€€‚‚ƒ‚‚‚ƒ„ƒƒ„„…‡†…„ƒƒ„‚„…†…„†ˆ‡†…ƒ††ƒ††„„‚†„„…„……‡‡†…„………†‡……ƒ‡ˆ…ƒ€yvokhd_XQLID?:51.*&"NPPPPPONQRQPOPOMPPQRQPQRRRSQRPRSSQQPQQTTVVSPQSTRRSTTSRTTSSTTTSUUURRTVVTTURTTVWWVUTURTUVVUVWSUTUUWUVWWVWTUVVTTUUVSL<%										
#-;DMV\`abcdc_eggggdggghghgefghghhiffgghfdgfjiifmnmklmlhjllklloppopqqlnmlinpporrssrknkoqqnsuussttqrqqpqqstuvvvwwvttuvwwtxxyuwuwxwvxwvtwzwttsxvv{|vwvwxyvzxwuvtxvuvwwxwyxwtyyxz|zxvvwyzyzyxywxyxx{{zxyw{zwuyy||{z|v|~}w}~~{~}}~~{{{€€}€|€z€~~}€}}}~€‚„€‚‚‚‚‚‚€‚‚„……‚‚‚‚‚‡‰ˆ…‰Šˆ€ƒ‚…†‡ˆˆ„…‚ˆ„„„††…‡…†„……‡ˆˆ„„„ˆ‰†…ƒ}zqmkif_VQKID?963/&$" OQOOPQOORRPOPROMOQRSRRRQPRQPQQRSSQQSTUUUVWRPQSRRRSTTTTUUTSSUTTTTTSSUVVUTUUUUTWVTTVVVUUWVSUVVTSVWWUUVVWWVVUVVTUUVOB/									
-
!.>KTY]`cb^chhhfdeffgffgfefdfhhijjjhfhhffhihjlonlmnlkkkgkmnnpppmqponnlkmoooqttsqqonotsqqttqrtsssrsqrrsutuwwwwwuttuvwxyzyxwuwxxwxxvutwvssuwvuzywvvxyyxyyxwvvxyxyxwxxxywwyzyzzzywwwxx{{yyzyyzyxyzzzz{{zyxy{{{{|||}}z{}~{~€~~{}€€~€‚€}~€€€}{}}‚‚ƒ„„ƒ‚‚‚‚€ƒ„ƒ‚‚ƒ†Šˆˆˆ‰‡†„ƒƒ††‡‡ˆ‡ˆˆˆ…ƒ…†„†‰Šˆ‡†‡ˆˆˆˆ‡‰‰ˆ‡‡†„{vrnic[VRNHD?;83.+)%"    PQPOPNNOQQOMQROKPQRRRQRQQQPOQRQPSSSTTTUTWUSQQSSPTSTQTTVVUTTSTTTTUTTOSRUUUVUVUUUSTVVVVUUVUTVVUUVVVUVWWWWWWUVVVVVTH6%							
-			
+8AJQY]^bfffecdefggeghgfecghikldhfiggdiijlmlnmnklhkkklnjmoppqpplponkonnnoosqqnpmosunrrrqqstrrrrqrrrsstwwvuuttsssvxxxxvxuwxyyyuvvutupuuxwxwxqttxyyyzwwwxtyxyyxxysxvxuyyz{zz{zyuww{|zyyyyyyuxx{{{{zzyy{}|y{||{}{}zyz|zz{~}~{|}|{€~€{ƒ‚~€‚‚~~}||~|€‚~‚‚…†„ƒ…„ƒ}}~ƒ…„€ƒ…„†€„ƒ†‡ˆ†……„…‡ˆŠˆ‰††…††‡‰‹‹Š‡ˆ‰ˆ†‰‰ˆ‡ˆ‰‰‡ˆ‡ƒ{vskg][YUKJGC<901,+%$!#"" PRRQPNPQQPNOQROOQRQPRRRRQPPQSTSSUUSSSUUVUTSRQSTUTSUVTTTUUUUSSSTUUVTSSTUUVVUVWVUSTVVVWWWVUUVVUUSUVVVWVVUWVVVVUVTP?*					
-
-
-
-		
-
-
-
-8DOY^acdccdeghgghjihhgghilkihihgijjjjllllmmnmmlllmmkjmnoqqoopooopqpnnmpoprqnoqtutsrsrruusssqttsuuuvvstuuvvtuuvwwvwwyyzzzxuvuvvuuuwy{zyyxuuvxyzzyyxyzzxxzzyyxxvyzzyyz{|||yxxx{|zyyy{{yxwx{|{z|~{|~}y}||{{}}|{{{|{z}~~|}€‚€€€‚€ƒ‚‚‚€€€‚‚ƒ‚ƒ…†ƒƒ†„†„‚‚…ƒ‚ƒ…„„ƒ‚…†ƒ‚ƒ„‡ˆ‡…††ˆ‰Š‹Š††ˆ‡‡ˆŠŠ‹Šˆˆ‰ˆ†Š‹‰…ˆ‰ŠŠŠŠ‡ƒ~yyulfca\UQNJFA=850,('&&%%%$###"#$#""#" PQRPPOPOPQQQRQQQQPPPSRQRRPOOTTTTUUUSSTUUTTTSSSTRQQUVVPTSSSWUSQTUUTWUTUUUWVVWYXWUVVVRXXWSVUVVVVUVVVVWXWWWVVWVTUOF4			
-
-
-
-
-"4?HOW\_`abfgghihgdghhejmkiihiikljgggjijjkkmonkmllllmmlqpmjompqrqqmmmnoqssqqqsvttsssrvwvstqustuvuuttuvrwvtuutxyyxxyzy{xyvuuwwwuvsyzywyzzywvxxwwyy{y{yyzzyxxyvxzzyyz{z|xztyxzwvvyy||{wxy{}|s}~{|{}y}|}x}}~}|{}~}|||}}~~ƒ~z€‚€ƒƒ|‚‚~€‚‚‚ƒ‚ƒ„†‡„}„„††„‚ƒ€ƒƒƒ}„„…„‚†‡…ƒ‚…„†„ƒ…Љ‰‹Š„‡ˆ†‚ˆ‰Šˆ‰ˆ‡‰Š„‹‰‹‡‰‰ŠŠ‹‹Š†ƒ{~triiidZVRQJHB?:81-*+*))('''&%&'&$$%%!!!!!   RRSSQOPPNQRRPPQRPOQSSRORRQQRSSSSSUUSRRTUUTRTTUTRRSRUVVVVUVWVSRTTTVWWTUUVWVUWXYXWVWVUWWVVUTSUVUUVVVVXWWTXWVWVURI9'			
-
 		
-
-
-'2>IQY_bdffhhgccchihjljghhjklljhjjjjkkkjlonmlljmnnmnoplnnnorssqooooqrsssprrtsssrtvuvuuuuuttuvutuuwwxwvrtuuxzzzyyxxyxxxxxxxxwwxxyxxyz{{xxzzxvz|{zzzyxxvuwyuwxvx{}|{||{{zzyxx{{{||{z{}}}}}||z||~}y}}~~€}|}}}~€~€€‚‚€ƒ‚€€ƒ‚€‚€‚‚ƒ„„‚‚‚ƒƒ…††„„…††…„ƒ…†……„ƒ„ƒ„ƒ†‡‡‡†„„„†‡†…„‡‰Šˆ‡‡‡ˆ‰……†‰‹ˆ†ˆ‰‰Š‰‰Œ‰Š‰ŠŠŒ‹‰†…|vrqpje`[VRNJGD@=96420///.-,,--,+++(&''&%%&%$#"!!!"!! !! RQRRPNPQQRRQOOQRQOQSSQQQQRRSSPRSTTUTRRTTSTSSUUTSTUUVUUWWWUVVUUTQTWXVSSTUWWVSXTWSVWWWXXWWVRTVVTUSVVWWXXWWWWWTTO@-				6I5!

-
-
"4AKSY`cfhhfddhjgikjeiijhkkiglkllkhjkkmnkmklnnnnmopqonimorsroopqqqprsssrqrrstuusquuvwuqtsututvwwvvvuttvyuyyxxytywxwyzxzzxxyywyz{|{yyyzzzw|}{zywzsxvvwzwwuwy{{|}|xz{||{{{z|w{{|{|}}||}~z||~}z}~}|~€€}}~~{}€‚€€}€€€‚~}|~€‚€‚ƒƒ„„}~‚‚„……„ƒ€†‚‡„…‡…‡…†„…„…ƒ‡†ˆ‡‡ƒ„†‡ˆ‡~ƒ‚‡‰ˆˆ‡†ˆˆ‡…‡‡‹ˆˆ‰‰ˆ…‰ŠŒˆŒŒ‹Š‹‡ˆ‡„€xrtqnfdb]UTSPHEB@?=964321012220-0.,++**))**%&&&!&$###$%"!!!!""" PQQPOONQSRSQOPQRRQQSSSSRQSSRQQRUTUUTQUURPTUTUTRTUUVUUTSWVTTVVUUSSUUTRRSUWWVVWXWVUVTWXXXXXWWXWVVWXXXXXYXVXXWURI8%
			3POB)"
"-8DQY^dhfdehjhgjjjiiklkjijmonlkjmnmmnnmmmmmnnnnqqqnmmpppqqoprsrqqrssrrrrqttsstttvwtsssuvuttvwuvvuuvxyywvwxxyxxyz{{zz{{yxxyyz||{zyyxy{|}}{zzzxxyzy{|ywxxyzyy}{wwy{|||{y{||}}|||~~~|}}}~|y}}}}}}~~~~€‚ƒƒ€~€‚€€€€‚‚‚€ƒ„„†ƒ‚ƒ‚ƒ„„……„„…†…†‡†‡‡†‡ˆˆˆ†††ˆ‡ˆ‡ˆ‡†…†‡ˆ†„„†ˆŠŠŠˆ†…‡ˆ‡‰‹‹ˆˆ‰‰‰‰‰ŠŠ‹ŒŒŒŽ‰†€spvxtpliea^ZVROLIHFCBA?>=<=?=;666666655420//00.,,+*)**)''&&&&&%######"      PQQOOOPQRRRQOPQRSSTSSSTTSTSQRSSTTUUTSTTQRTUTTTSTTSTTTSUVUSSTTTUTSVVSTTTTWUVUUVVUVUVVVWXYYXYYWVVXXXXTXSVUWWVTM?,		
-8EA7*&# &0>HRY\]chhgfijgkklnljjjklmnnklljimnmmmkmkmlpqrrpnprqkrsqruusrqqqqstsrqrrpttsrvvusssuusrtsxwvtutvvwwywxvzxxxz{|zxt{}zvyyzxzzzz{zy{|}|yzx{zxtzzzw}xwyz|{zzzzxwvyz{v{y|}}~x|{|}~{~~}y~|y}}}}€€~~y}€}€‚|‚‚€{€€}ƒ‚ƒƒƒ‚€€ƒƒ…‚………„…„„……ƒ„…„ƒ…„‡††‚ˆŠ‰‡ˆ‡‡ˆˆ‡…‰‰‡‚†‡†‚†‡ˆ‰Š‡‡‡…†‰‰ˆ‡‹Ž‡‡ˆŠ…‰ˆ‹ŠŽŒŒŒ‰ŽŠ‡€xt~}|vtkigda^XUQONMKKJIIHDFFEDA?>=>>=;;;987678631////0/****+**(('#((($! !"##"   NPQQNQRQPPPPPQQRTTTSSTTTSTSRSTTTSTTSQRSUSTUUTTTTRRTVTSTVUUUSRTUUTVVVVWVVWWWURUUXXUUUUUWXWWYZVUWXVWWWVTTUVXVSF2181'&%$%%"


-
-
-
)5@JU]dfefhikkllmlijijjjnnlkijjkllnonnlmoqrrrqprsqpqrssttsrssrqstssqrrrsuvwwvusqtvvuuuvwxvvvwuswxyyxyyyyyxyzxwuz}zyzzzyyyyy{{{|}}zzzx{zyz}}{{|zyx{}}z{yyy{{{|zyz}~€}{|}~~€€€}|~~}z}|||€€€ƒ‚€€€‚ƒ…„……ƒ‚ƒ„ƒƒ‚„„„„†††……‚ƒ„„……„…„‚…ˆ…„‡‰ˆ‡‡‡†ˆˆˆ†‡‰‹ˆ‚„…†‡ˆ†‡ˆ‡†‡ˆŠŠ‰ˆ‰„ˆŒŒŠ‹‰†‰‹ŠŽŒŒŒŽ‹Šˆ†ˆˆ†ƒ€|vpmkifc^ZXXWVTTTRQPOONMMLIGHHGGEDDDBA@@=<<::989754443310/.,,-,+*)))))(%%&''%###"! !!!OORSQRSNPQRRRSSSTTSRTTTTTQTSSTUSTTUSRNRTTTTPTSTTSQUVVUUSUVVTTUVTUVUQVVWWXXXWWWXYYVUVVUTUVUWYXUXXVWWWUUUVWWSL<$&%"!"!"" 

-
-	
--9FQX_cfggjjkljijkkjlnlkjijkklloppolnoomrqpnqqnjorsprqqrrttrrsrrssssrovxwwwtttvwwuvvurutxywtwwzuttxwzuwvywxwxzyx{{{{zyxvz{||}|zy{y||z{}}{xyxwxz{}{|yz{}~}z{y||€€~x}}~~~€y€~|}z~|~~‚€~}~~~€~ƒ€‚€‚„††…„‚„…†„ƒ„…€ƒ€…†‡…„………„†ƒƒƒƒƒ‡€†„…„„…„…‰ƒ†ƒˆ‰ˆ…†ˆ‡Š‡‡„†‡‡‡‹‹‹ˆ‰ƒ‡‡‰‰Œ‡‡ˆ‹Š‹ŒŽŽŒ‹Œ‹Ž‹ŒŒŒŒŒ‰ˆ„„|wtrongdaaaa[[\\YYXVTTUTRPNNNMLMMMGKIHIFCCBA@?A?=<;;:976761120/.-/0/-,*++*)(&&%&&$"#$PORRQQQPPRRRTUTRRTSSTTSTTTTTTTTTSTVVTQQRQTSTUSSTUUVXXXWVTUWVVXWVVVTQTWWWXYWYYYYYYVVWVWVTVUVWXWWWVWWWVVVWWVNA/		
-	
-
-
-
-
-
"3?LX`bdgiflkhilmnonklkjkmmmmooonlnpoppqpnonlimstsrrrrpqsuttuvusttqntutvwxvtswwxxwtstuxyxxz|{zxwy{{{zzzxxxxyzyz{||{zxvz}|{|{y{{|~~|{w{ywyzvxzz}|{xz~~{|}~~~~€}x}}}|€€{|~€~}€€€€‚ƒ€‚ƒ‚‚ƒ„~„†ƒ„„‚‡‡„ƒ„„…„ƒ„†ˆˆ……††††‡‡†…†‡‡‡…ƒ…………„„‡ˆ‡‡‡ˆ‡†ˆŠŠ‹‹Šˆ…‰‹ŠŠ‹Œ‹Šˆ††‡Š‹‹‰‹ŠŒ‹ŒŒŠŒŒŒŽŽŽŒŠŒŒ‹‹ˆ„€~|zwspnlihhggdcdec`___]\[ZZZYYXXVTTSRPNNMLKJJIHHHGFDCB@?>=;:99:::864210110.-,,+))**OOPPPOQQQQRSTSSQSSRSSSTUTQSSTTSRTTUVUSRQTTTUVSSTUUVSWVVVUVWUXYYXWWURUVWUXXXWYWWXYUWXYYWTWVVVVVVWWWXSVUUUTSG5%
-	

-
-
-
+=FNT[bfjjiigmnpnnnmjlnnnnmollmppooooooommlpuuutosnposttpvtssssrossttvqvtvwwuyxurutttyz|{yvyyz{||{zzxvwwxzz{{|{zyxw{}|u{|{zzz|}|{ywvuz|{{zy~}|z{~€|~|~}}|||~x~y{|}€|{|}|}~€~}}€‚ƒ‚‚~€ƒƒ‚ƒ‚……„‚„ƒ„…‚~……‚~ƒ…‡‡†„…††ƒƒ„‡„ƒ„„„†‡ˆ†…„……ˆ††„…‡‡…ƒ‡‡‡†ˆ‰ˆ…ŠŠŠŠ‰‰Š…‰ŠŠ‹Š‰Œ‰‰„†‡‹Š‹ˆ‹‹ŽˆŒ‹ŠŽŽˆŠ‹ŒŒŒŠŠ‹‰‡†€|ywqqommoqninnmjhhhhfcaacbaaa\\][ZXXVTUVTSQQQPPOLJIHFEECCCC=BBB=:75457654210//..PQQPNOQQOQRTTSSTTTSSRRTVTPSSSRRTTSTVUSSTTTSTUTRTUUUVUUTTTWWXXXYYWWVVUVVWWXWVWXYZXVWZYYXWWXWUTVWWVYWVVUTUTN>*	
-
-	
-
-!*8CNYbfiijkmnonmmllnnnnnnoooppmnponnoonprvvvtsrrporstvuttsrrstsrsutquwwvvxxvuvvvwxy{vyxxxxx{||yyywwyyyyz|~}xxyvy||zz||{yzzyzzzyyyz{|}}|}}~}||~~}~|€€~~~}~~~€}{|~z}|~~~~}~}€„ƒƒ‚€€‚ƒ………„ƒ„…„„‚~ƒ„‚„„…‡ˆ‡†…„„††………†‡…ƒ†…†‡‡‡‡‡ˆˆˆ††‡ˆ‹Š…„ƒ†ˆ‡†ˆ‹Š‡Š‹‰‰‰‹ŠˆˆŠ‹‹ŒŒŒ‰Š‰ˆ‹Œ‹‹Š‹‹ŽŽŽŽŒ‰ŒŒŠ‹‹Š‡…ƒ{yxyyzzzwvvvwvttsrsrolmnmkiijjigffecbb`]]^[XXZXWVTSRQPPPMLKJJIHFDCDDBA@=;:8888RRRPPOOPRSTSSTUUUSSSSRTUTQSRRNRSSRTRVTSSTPQOUSRRTUUVUSUWWXWUVUVVVVWTTTVVVVWVUUXWYXYZZYYYXVVVUWXWXYWUVUUVPE4
-		 	
-

&9FQZ`egimnmlmlmlmlkknnoknqpopppooppprtvvuqsrrqppvsuuurqqrttrsuvqtwwtvxwtvswwy{zxxwzzzwxy||yuxwzzzxww{}wyyz{{yyy{{{z{{zvyzzx||{vzx|{{|}z}{}}|z€|}~~~€z{z}{~€}}|z~}€€{ƒƒ‚~€‚„„€ƒ‚‚‚‚„‚„††…ˆ‰‡………ƒ††††…††ƒ„ƒ…‚††‡‡‰†ˆ…‰‰‡†Š…„„ˆ…ƒƒˆŒ‹ˆŠ‰ˆ„‡‚Љˆ‰ŠŠŒŒŒ‰Š‹‹ŒŠŠŠŠŠŒ‰ŽŒŽŽŠŠ‹ŒŽŒŽŠŒŽŽŒŒŠ„…}}|}}€|||{{zzxwwwzxxpsrrrppqqrlnomkjgidfge]_a`_``^\[ZZ[YXURQQQPNMMMLLJDCA@?>?RSRQQQPRTTTTQTVVUUTRRRSSSSTSSRRRRSTUVWUSUTSSTRRSTSSUTSUWXYWTSTUUTVWUTVVVSUVUWXXVYYYYYZZZYWWXWWXYYXVTTTSTK9"			
"$"
			"1?KU^diklmmmlllllnopommqrqqsrqqrqppsuvtrtusqsuustuttsqpstuuvvtrwvuxyxxxtwwz{zxyz{{ywwy{}{xxxzywwyww~~{zzz{{xz{{{z{{|{xx|{{}~|zyyzzy{}}|{{}}y~|y|}}}~}}|}|z}‚~}}z~€‚€|€‚~€€ƒ„‚ƒ„ƒ‚‚ƒ‚„‚…‡‰ˆˆˆ†…ƒ€„†…„……„†‡‰‡…††ˆ‰‰ˆ‡‰Œ‹Šˆ†‰‰ˆˆˆ‰†ƒˆŠŠ‰ˆ‰‡…†ˆ‰ŠŠˆ‹Œ‹ŠŠ‹ŒŒ‹Š‹‰‹‰ŒŽŽ‹ŽŽŒŒŒŽŒŽŽŽŒŒŠˆ†…………†…„‚‚„ƒ‚‚‚€€€~z|}{zz|zyxwwvuuttutronmmnmmkjhgffeedcb`]]\ZYXWVVSPONNNLJRRRQQRRSTUTSTUTSTVUSRPQRRSTSSTSQSSUUVVUSTUUUURTTTSTUUTUUVUVUTTUTUTWVWWVVVVVTWWYVXWWSYZZYYXXXWWYYXWVPWYVQC- !" 	
-
-'5AKT\bgjllilkknpooopqsrrrqpqpqmqstrrrstrppovstruuuqsvuouvvuvwwuxuxyxtuvxyyyzy{yyuvw{}|xyxxxxwzx{~~|zzyv|z|}|w{x{{{xy{|{}|~}|{{yzx}}{y}~z}}z{{{|||}y}~|~{~}€~~~~€€}€€‚‚€€~ƒ„„ƒ}„‚„‚‚€ƒ‚‚„‡‰ˆ‡„„€€€…‡†„„„„…†ˆ‚‡…‡ˆ‡†‡„‰‰‹Šˆ‡‰†Šˆ‰‰ˆ††††…‡‰Šˆ‡‰ŠŠ‰‹‹Šˆˆˆ‰ŠŠŠŠŠŒ‰Ž‹ŽŠŽŒŒŒŽŽŒ‹ŽŒŒŒŽ‹‘Ž‹Š‰Š‹‹†Œ‹Š‡‡‡Š‹Šˆˆ……„„…„„„„„……ƒ~}z|~}y~~yyyvuusrrrqpoopnfmmjggbbbaa^\[[XUWXUSPRRQPSTTTSQRTURQRUVUUSOQRRRTSSSUUTTUUVUSSTSVVVUUUTPUUUUTTUUVWWUTUVWWWWVVWVVTVXXXWWWWWZZZYXXWWYZYXZXWYZUK9$
							!!"#"!
-	
$4COYagjlkijnnmooqrsroqoprsrqrssrrsssrptuuvuuvxuuvwurtvuuuwwwwuxzwvuuuwxyzyz{zxyz{}}yywwwx{zz|}{{zyxz{|||{zzyz{{yyzz{|~~~~~|z{|}|||}~~}{y{~~|~~}}~€€}~~€€}€}€€€‚‚‚€~„„„ƒ„„……„ƒ„„ƒƒ„…‡†„ƒ„ƒƒ„…†‡††‡††…†ˆŠ‰‡†‡‡‡††‰Š‹Œ‹‡‰‰‰ŠŠŠˆ‡ˆ†ˆ†‡‰‹ŒŠŠˆˆ‰‹‹Š†ˆˆ‰ŠŠŠŠ‹Ž‘ŽŽ‘ŽŒ‹ŒŽŽ‘‘ŽŽ‹‹ŽŽŒŒŒ‹Š‰ˆ‡†††…„„†‡‡†…„„„|{|~|yyxvttvttrpponllkkifcdecaOQRRSTUTSPQRTTSRSSUVVUSRTOSTTTUUTSTUVUUSSSTUUVWUUTTUVVVSUUTTWXWWWUUUWWXWWVVSWXVRWVYXWV[ZZXYWXYYZ[[XVYXO@-					#  #%'& 
-
-	
-
-/:FS\bdehknlonoqqpprrqsutsttssstsqrqsstuvuuvvvvuttuuvwwwwxxuyzxwwtuuxz|yzyywz{|}|yyvvtuwyw{{||zyyz{}}yzxxxyy}{zzyxzz{{}z|x{}}{}~}y|~~|}}}~€|}~~}}€|z€~€€~€|€~~„€„‚„€…‚„„‚………„…„„„‡„„ƒ†ˆ†‚…ƒ‡„ˆˆˆ‰Šˆ…†‰ˆ‡††…‹‹‹ˆ‡‡Š†Šˆ†„ˆ…‡‡ˆ…‹ŒŠ‰…Š‹Œ‹‰ˆ‡†Š‰‹‡‹‘‘ŽŽ‰Ž‹ŽŽ‰Œ‰‘’‰ŽŽŽ‘‘‘ŽŽŒ‘““’‘’’’ސ‘’ŒŠŒŠ‰‹Œ‹Š‹‰ŠŠŠ‡‡„ƒ‚‚‚}}z{|~~wxywuvwurnlnomkPQSTUVUTSQSUTSQRSRTUUVUUUTTUTVVUTTSTVWUTTURVVXWWVUUVVVVTVUTTUWWYXWWVVWYYVVVVWXWWWXXXXZZ\[[ZZYXWYZZXVWTE1	
-  "%&&# #%$!

-
-
-
- 3BNU\djlnnooppppqssstttuttttusssqsrrttsrtuuttruwwxvwyyxxyzyswwwxxxz||zyzz{{{{z{yuxyywyzzz{||{zz|}|{yxz{{y{}|zyyyz}€}y{~|||}~~{yy}~}|~~}€€€|~~~~€€‚€€~ƒ‚‚ƒ‚ƒƒƒ„…„†…‚„…†††„†……†ˆŠˆ†‡‰‡„‚…ˆˆ‡†ˆ‰‰„ˆ‰‰‡††‡‰Š‰ˆ‰ŠŠ‡Š‰†…ˆ‰‰Šˆ„ŠŒ‹Š‹ŒŒ‹‹‹‹‹ŒŒŠŠ‹Š‘ŽŽŽŽŽŽ‘‘Ž‘“”‘’’’’“’’’“’‘“””‘”“”””•••’‘‘‘‘“““’““’‘‘’ŒŽŒŠˆ‡‡‰Šˆ††‡‡‡‡†„ƒƒ‚€~|{z{yxQQRSTSTTTRTTTSPORRSQTUUUVUTTUUURTTSSVWVTUVVUUVVVVUUUVWWUUUUVXXWXXWWTVUXXWWVUWXXVWWXVWXZW[ZZZYVWWXXWVSK: 		
- "%')+)%   


-
-
-
-")6@LV_fiinoopooqqqrtuututuvuuuqsrqrtpstuttstvxyzwvwwwy{{yyxxyzwxyztxyxy{z{{{|{vyyzxyzywz{||{|}{{{{z}{{yzw}{zvww|€z|~}y{z}{}{{|}~~}}y~~|€}€~}~}}}€€€~~ƒ„„‚€„„„…„„…†††‚…„…ƒ„„ˆ……ˆŠ‰‡ŠŠ†‚†ƒ…†ˆ………‰‰ˆ‰Š‡‰†ˆˆ‹‡‡†Š‹‰…‰Šˆ‡ŠŠŠ‹‰„Š‹‹ˆŒ‹‡Œ‹‹ŒŒŽŠŒŒŠ‰ŠŒŒ‹ŽŒŒŽŒŒ‹‘Œ‘““’‘”””“‘Œ†Š”•–“”“””–˜—‘•”•––——’•–”••••”•’”“ŽŽ‹ŽŽŒŠ‹ŠŠ‰ˆˆ†………„~ƒQQOTTQSUTTSRSTOQQQSTTVUUVUSQOPRSTUUVWVVVTWUSSSSUWYXVWXWWXXVVXXWXXWWWWXWVVXUVVWVUVZYXZZZ[YXW[ZWWWXWWUN@+			
- #&''*+*'#

-
-%7FS\ejmkoqpopnqsuuuuuvwvuuuussuuuuuuwvruvy{xvuvuvy|||{zyyywxzywvxyzyy|}|||zxxywxzyvy{||{||{z{{}~~|y{|}||{ywy}~~||||||~}}~€€€€€~€‚€~~€~~}€€€€ƒƒ‚ƒ„……‚„„„„†…ƒƒ„„………„………„„……‡‡……‡‰ˆˆŠ‰††‡‡†‡ˆ†„‡‰‰ˆ‰Šˆ‰‹ŠŠŠ‹Š‰Š‹Š‰‰‰‰Š‹‹‰ŒŠŠŠŠ‰‡ŠŒ‹‹Œ‹Š‹ŽŒ‰‰ŠŽŽŠŽ‘‘‘ŒŒŒŽ‘‘‘’’’’Ž’““’“’’}€ˆ“”–˜–••——™–”•˜˜——˜——˜™˜™™™™™˜˜––˜™šš™——–••““–˜”““’’’‘ŽŒ‹ŠŠŒ‹‹RRSTSORTTTSSSSRQQRSUVVUUUTQJHGJLOSUVWUUVWWVSSTUVXYXVWXWWVVVUWTWYXVXXWWVTUXYXXXWXYZZXZ[[YXXZ\[XXWXWUTH3"			!$&))')&))'!!!  
-
-!.>JU_dkpqppporquutuvtvrtvvtuuwvvvuvwswuwwupvvvwy{{||wzxxwyxywwwxwyw|||{|zxxzxwwzxzyyyz{{{|w|~~||z{{zz{{{y|}~€~x|}}}~~~€€€€€}|{€‚|€~~~‚€„„ƒƒ€…………„~ƒ‚†…„„€……„…†…†€†„„ƒ‡ˆ‰ˆ‡ˆŠ‡…†‡††‡‰‡‡‡ˆ‡ˆˆŠˆŠ‹Š‡‰†‹‹Œ‰ŒŠˆ‡‰‹‹ŒŒ‹‰Š‰‡‡‡ŠŠ‰‰ŒŒ‹ˆŽŽŽŽ‹ŠŠŽŽ‹ŒŒ‹‘ŽŒŒ’’’‘’‘’‘ŽŽŽ•‘’’Ž‹’””––•””“•–•”–’˜––”™–š˜˜šš™›˜š˜˜—››Ÿž™œ››˜˜’™›—”———˜˜“‘‘““Ž‘‹RRTTSPPTTSSSQSSQRSTTVVUTSROLIF?AFMRVWWWUVWUTTUVXYYXWWWVVUVVVVVUXXWYZXWVUTWYYYYXZ[[XXYZZYXXZ\\ZZYYXUP@*	 $&*,+))(*+,+)'$" !"!! 

&5EQ\ekmmqrsttsptutuvuwwtvwwuuuuvwxwxuttvxxwwyzzz{{{yyx{zzzxxyzzz{zy}|{xyz{yvyzzzzzx||}|{}~{z|~|xxyz||}}~€}}~}~€€~€ƒ‚€€€~ƒ‚ƒ€€‚„„„„ƒ„…„ƒ‚‚„†……‚‚ƒ„……„„ƒ„…††‡‡‡‡ˆ††……†ˆˆ††ˆˆ‡†…‡†…‡‰ˆ‡‡‡ˆ‰‰Š‹‰‰‰‡ˆ‰ŠŒ‹‹‹‹‡†ˆŠ‹ŒŒ‹Š‰‰ŠŠŒŒŠ‹‰ŒŒ‹‹ŠŒŽŒŽŽŽŽ‘’‘‘’‘‘’‘“““““’“’’‘‘‘‘‘’””‘’“’‘’““”•••••”’’’““”“”——˜˜™š›™šœ›˜š›š˜›šœœžŸžžŸœœš™›™–ššœœœ›š˜˜™——–––•RQSTSRRRRRTSSSRQTUUQUVUTSRRQOMH:EFSVWXWVVVUVVVVWYXXYXUVWWXWSXXVXYWXVXUWWWVXWXXYZ[ZYYZZZWXXXYYWYZZYRG6 				!%&,/,****,0//.,)'%&'&%$"


!,8FQYaipqqqqrtuqtuvwusvxvuutwwvuvwwuxwyzwvyyys||{xxx|}{zzz{{zyzyz{{{{{zz{wxyyz{{||~y}z~}w|}}xy{}z{|}|€}}z}{|~~||€}‚‚}}€~|ƒ‚‚|‚€††ƒ~‚„……ƒ„††ƒ‚ƒ„„ƒ„€€†ƒ……‡ˆ‰‰‡…†ˆƒˆ††…‡…ˆ…††‡ˆŠˆ‡†‡ˆ‰„‰ˆ‰†Š‡ˆˆ‹‹Œ„Šˆˆ‡‰ŠŠ‹Œ‹ŒŠ‹ŒŽ‰‹‰ŠŠŒ‹ŒŠ‘’’‘‘’‘’’Š–“•“““”“•“““’”‘“””“”‘‘‘“’Ž‘“Ž™—š›™šš™œŸ™›˜™—˜™œžŸœ›žžž—šœžœ—œšžžœœœœ”š˜›™SQRTTSSSSSTTSQQSTTTTTUUUTTUTTURNNRUWWWVWVVUVVVVVWWXZXVVXYXWWXYVXYYWUXXXXWVXYXXYZYYYXYZXWXXXVTVXZZWM:$			"%'+.,,--.134442/.,,,,*)'"


-:GUbhloqrrtsstvwtswyxvvwwwvuvwxzzzz{wxyyyz{}{yxy{}|zz{{xwzxz{{x|}}|{{zyyyy{{|}~~}|}~~}{}~}{}~~|{}|}}~~}}}|z|}}~}ƒ€‚€|€€€€‚‚ƒ†††ƒ~ƒ„…„ƒ„…„„„„„„ƒ‚„ƒ‚…†ƒƒ„…‰Šˆ…ˆ‡‡†‡ˆ‰‡†ˆ‹Šˆ‡ˆˆ‰ŠŠˆ‡‡‰‰Šˆ†ˆŠŠŠ‹ŒŽŽŒ‹Š‰Š‹ŒŒŽŽŽŒ‹ŒŒŽ‘‘ŽŽ“’’‘‘‘‘‘““Ž“–˜–“Ž‘”••”““”“””••“–——–•”•••–”’’“˜šœœ›˜˜šš žœ™™š››Ÿ œžžžžž››œ ŸœžŸžŸœœŸžžSQSUUSRRRSSTTTTTTRSSSTUUUVUSVVVSTUVUTUTUXXVSVUVSTUWXXWVVXXWVYYWXYWVUXXYYXXYZZYZYYWZZZWVWXWXVVUWZVRD-
		 !$%'))+.001233333200/0.,*& 

-
-
-
!3@LW`gjoprtvvvvuyzwqvvvvvuxuxwywyzyyyxzzyz{z{zz{|yzz{xy{zz{z{}}y}||}~~|u|y|}~~z~}}}{z|}~~}z~z{z}~}}}y~~~€€~€€}€€€~‚ƒ‚‚……†‚‚‚|ƒ‚‚ƒƒ~……„ƒ‚ƒ†…ƒ‡‡‚ƒ€…‰ŠˆˆŠŠ‰ˆ‚‰ˆ‡‚ˆŠŠ‹Š‰‹†Š‹‹‡‰‰ŠŠŠ‡‡ˆŒ‹ŒŽ‹Š‰Œ‹Œ‹‡ŒŒŠŽŽ†ŽŽŽŽŽ‘‰ŒŽŒ‘‘’‘‘‘Ž‘““‘‘”–––’‘‘‘“•••—‘’“““”—™™˜–“˜•——–Ž’‘““‘’›œ—˜—Ÿ›œžŸŸ™››œ• žžž¡žž  ž—œ›ŸŸœ šŸšŸžžžRSTVVTRROSTTUWWVUTRQRTTTUVVVVWWVVWVSOTUWYYVUTVVUTVWWWWVVWXXYZZWWWWVWWYYZXYYZ[\[\\[[[ZYYYZZXWVUVXSH7#	 ""#$&*-011023256652112/+(#! 
-
-
-
#5BNZekotxwuuvxxvtvxwxxxyzxwwwwxyzxyyyxxy{{zxyz{{zzzzzzyy{|}|{|}~~~~}}}z}~~~|~}~~}|{}}~~~~~~~}~~€€€€€~|}~}ƒ…ƒ‚‚ƒƒ„„ƒ€€€ƒƒ„„„„……ƒƒ„†…„‡‡…ƒ„†‰‰‰Š‹‹Šˆˆ‰ˆ‡‡ˆ‰ŠŒ‹‹ŒŒ‹‹‹ˆ‰‰‹‹‹‡‹‹ŽŽŒŒŠŠŒŽŽŒŠˆŠŒŒŽŽŽŽ‘’ŽŽŽ‘‘‘“‘’‘‘‘‘‘’‘’””””’‘••’“”–˜–”““’”–––˜˜˜™š˜–™›™˜——–—–•–˜šœš›Ÿ™šŸŸžŸ››œœ    ¡ž  ¡¤¡žœœŸŸ›žŸ¡ŸšžŸTTUVVVSSSSTSTVVTSTSRRTUUVWVVVUWWVWVSSTVWXWVUUVXXUVVUUUWWWXYZZZYXWXYYYZ[ZYYZY[[[\\\[ZZZ[WZYXWWVWWM=*	  !"!!"%)--/0..22666652332*)#"  

-	
-
-
-	
$9HT]gosutqvwwtvuwwxyzyywxwxyzzxxxxyyz{zzzyzz{{zw|{{wxyyz{{}~}yyy}}~yz|}w|}}z~xxy||~}~€€€~}~y€~{~€€}||~~‚€~~‚ƒƒ}ƒ~‚ƒƒ€€ƒ‚ƒ~ƒ…ƒƒ…††ƒƒ‡‡†……„†ƒˆ‡††Š‹Š‡††ˆˆˆˆ‰‰‹ˆ‡‡ŒŒŠŒ‰‰‡Š‹Š†‰ŒŽŠŠ…ŠŽŽ‹‹‹‹ŠŒ‰Œ‹Œ‘Ž‘‘Ž‘‘ŠŽŒ’‘‘Ž“““’““’“’Ž“’”——””’–˜–‘–——–˜–—‘˜—˜š˜–š“›˜˜—————š˜ššœœ››œ•›™›žœŸžš›š›Ÿ  ˜¡ž¡Ÿ¢£¡žžžŸŸ›žžž¡› ¡¡TSTUVVSTRRSSPTUSSSTSSUUVWWVUSSUWVVTTVXXWUWWWUVYYWXXVVXXXVXYZYXXYXXZZY[[ZYYZ\[[[ZZ\[[[\[ZZ[[YYYXTE/
- !!$#"!$%(+,./0013554689994.)%$"!  ""! 
-
-
-		
-%/=KYdlopsuuuuuwvtxxxwvxzzxyxxyz{z{||zz{|{z{zzy|~|||||{{}}}}}zy{~}|~€€}z|}}~~}}||}|}€€€~~}|}~}}~€‚|}|}}€€€‚‚ƒƒƒ~‚ƒ‚„„„………ƒ‚„†……„‚…‰‰‡††‡‡‡‡‡‡‡‰‰‡‡ˆˆˆ‰‹Š‰ŠˆŠ‹‹ŽŒ‹‹ŠŠ‹Ž‹‹ŒŽŽŒŠŠŒŒ‹ŒŒŠ‹Œ‘Ž‘•“ŽŽŽ’•““•–“““”’‘’’‘’’”––˜––—˜–”—™š›™–—’—˜—˜™˜™››œ™˜™———šš™™œ›››™—˜šœžŸžž žž¡¢  ¡¢¡ ¡¡  Ÿ    Ÿ  ŸŸ££¡¢¢¢TQTTTSUUTSUURRUTSRTRRTUUUSWVUTVVVVUTWXXXXXXXVSXYXXWWWWXXWXYXXVVTYYYYXYYXYYZ[Z[[XYZ[[\\ZU[[[XXXVM;!			!$%'&&'(('**-/0/0331138;=?90+&%%%$" !#$$$"!" 
-
-	
-
$2ANYaglprtuuuwxxutsxyxuvuxzzv{x}{zx{{}{zyzz}{|}}}}yz|}{||{yzz|}€€}}}~~~~|~}€~}{~|~{~~~~~~‚‚}€~}~€{~€„ƒ‚‚|„„€€{‚‚‚ƒƒƒ………†……„…‚„‚„†‰‰‡‡‡ƒ‡…‰‰‰‰‰‡ˆ‰‰‡‰‹‹Š‰‡‹ŠŠ‹Š†ŒŽŒŠ‹‹ŒŽŽ‡‹‹‹Ž‹Œ‹‹ˆŒŒŒŒ‹ŒŒŒŒ’’’’‘‹’“”ŽŽ“”•‘””’’”Ž”’‘“’••—˜—””’‘‘™•™š˜—˜’˜˜˜˜™”™–›œ™“š™˜—˜•™š››˜˜—š›œžžž¢¢  ¡¢¢¡¡¢¡Ÿ¡›¡¡ ¡¢¡ Ÿ   ¡¤ ŸŸ££TSSSRQTVVVUWSRUUTTTSOTUUUVVVUUVUUWWWXWWWXXXXVWXZVWWWWVVVWVVVVVUWYZYYXWUVXYYYWZ[[Z[[[[[ZYZ\[VWXQC,			"&')*****+**,.-/.221369>@A<3-''&&%#!"#%&$$"""$#!  !"#!

-	
-
-
'4BP_gmqsvwxxvuuvxxwvuuwxxz{}}}||z{}~{zz||zz|{{|{z}}{z{||{yy|||x~}~}|~~~€€‚~~~€~~|€€‚ƒ‚‚|~‚ƒ„‚€„…„‚‚„„‚„„ƒ…†„……†………ƒ„ƒ…„‡ˆ‡‡‡‡‡‰‰‰Š‹Šˆ‡Š‰ˆ†‹‹‹ŠŠ‹ŒŠ‰‰Š‹Œ‹Š‰‹ŒŒŒ‹‹ŽŒŒŒŠŒŒŒŒŽŽŽŒŽŽŽ’“”“’’’‘““‘’“‘‘‘’“’”“’“””•“““•”“’“”•–––—––•”–™˜——–”—™š™˜˜—™š™ššš—˜™™ššš–™›œœš—šš›žžžž¡ ¢£¢¡Ÿ ¡¢£¤£¢  ¡  ¢¡ ¢¡¢¡¤£¤££¤££TTTQQRUVWVVVTRUVTRTTUVVUWVVRTUVUVVWWYSUUWWXSVVXYXVWWWUVWWTSSWXXXZYYYYUWWXWYYY[\][\][YXZZYZ[VWUK8#	"&),---..*,+../1244056<???93,&'%(&$"$%'(&%%$%&&%$! !#" #%#
0ANYajnrtuusuwxvxsvtvwyz|zzy||zw|}{zzv|{yxzzz{|}}z{}~{yy}}~~|{|~~}€‚€~}~~|€~€€€‚€€€|ƒ€}€‚‚€‚ƒ„ƒ~€~„€ƒ€‚‚‚„„„ƒ‚„„‚}ƒ…„„…………†‚„†…ƒƒ‚‡‡‡††††‡‡‡†‡‹ŠŠ†‰‹‹ŠŠ‹‡‹ŒŒŠŠ†Š‹Š…Šƒ‹Š‹ŒŒ‰ˆˆŽŒŒ‹ŒŽˆŽŽŒ’Ž’’Ž”’”““’’’”Œ’”“”•–””’”–“””””””“——˜“™˜™™™‘’“š››–˜———š™˜—˜™š™š›—ššœœœ———›Ÿžžžœ£¢¢£¤¤¡Ÿ ¡£¢¤Ÿ¡  ŸŸŸŸ ¢£¢¡¤££¢¡££ŸTUUTTUUVWVRTTTUVUUSUVWWVWWWVUSTUUXVVVVWWXYXVTSSWWVWWWVVWWUUUXYXXZ[ZZYXXXWXYYY[]][[\\YXYYY[[WVQA-!&+024441.-/012456789:<>=:5/(%(+*'"#')**(&&&%&'('''))($!!! 

-
-	
(7DQ[cjptuuwxzxwwwwxx{|{zz{|yvy{zz{{||yxz{zz|~}||~~z{}~~}~}|~€ƒ}}}€~‚€€‚ƒ‚ƒ‚€~ƒ‚€‚…„……„ƒƒƒ€‚‚ƒƒ‚„……†…„„ƒ‚„„„„„‡‰‡ƒ…††……‡‰‰‡†ˆˆˆŠ‰‰‰‰Š‹‰…‰‹ŠŒŒ‹Œ‹ŠŠ‹‹Šˆ…ŠŒŽŒŠŽŽŽ’‘ŽŒŽŽ‘‘‘‘“—–•”“’‘’•”““”””‘••”””–˜–“””“–—•“—˜™š™˜™œ™——šššš›™˜™šš™™™™™š›œžœœŸ˜œžžžŸ  ž ¢£¢¢¢££¢¢ ¢¢¢¢¡¢¢Ÿ¢££¡¡¡¡¡£¤¢  ¡¢£UVVVXXVVVTQRUUUTUVVVWWWVWWWXWVUVVWWRUVWWVWWWRKHGLRVWWWWTWVVVWYYYZ\ZXZZXVXYYXY[[[[XY[[YYZ[[ZWQF5 #(-02552-/0223568:;==<==52)($+//($"&))'('%"$$&'('.0/-*&$!

		
-%7BNYdkoqvxxxxtvsxz{z{|||ztvxyy{||xyy|{{zzy}|}}|y|}}z}~~~€€}x~€}}|€€€ƒ‚‚ƒ‚|~ƒ…„€‚€ƒ„„„„€‚~~ƒƒ„…„„…†…ƒƒ€€„…„„ˆ‡‡„†‡‡…‰‹Š‡††Šƒ‡‰Š‰ŒŠ‰‰‰…ŠˆŠ‹ŒˆŒŠ‰‰Œ‹†……ŒŽŽŽŽŠŽ‘ސŽ‘‘ŒŽ‹Š‹Œ‘‘‘ŽŽ“––•“‘Œ””‘‘”“””””•‘—˜–“•’–—–’—˜™–••™—š’˜™š˜š›š–›››”š››››˜œ“œœŸžŸŸž™žžŸžŸ Ÿ›žžŸŸ¢ Ÿ  ¢£ ¡ŸŸ ¡›£ ¥¥¥¢ ŸŸ   ŸŸ œ¡ŸUVUXXXVTTSSUVVSTTUVWWXXXXWWWYYUWWWVUTVWVTVVVNC007KUYYWWXWXXWUWXYXZZXZZVVWXYYX[[ZZZYZ[ZXZ[[YVJ9'
-	
 #%)-031./002237:<>ABBA=81)'(/52+&"$&'('&%$##!$(-2540,(((%" 
-	
-
-	
-#4FVaiptvxxuvvwzzyz{{{{zwwxyz{zzz|||{{{}}}||{|}~|{|~~~~~~~~~|~€~€|€~}~}ƒ„†„‚‚‚€‚ƒ‚~{€‚ƒ„„ƒ†††ƒƒ„‡††‡ˆ†„ƒ‡ˆŠ‹‹Š‡ˆŠ‰‡‡‰‹ŒŒŠ‰Šˆ‰ŠˆˆˆŠ‹‹Œ‹ŠŠŒŽ‹ˆ†…ŽŒŽŒŽŽŒŒ‘Ž‘‘‘‘‘‘’””’“’“““”•”••–””•—••””•–”•”’•———––˜š—•–—˜šš›ššœ›šššš›ž›š›ŸŸ  ¡ ŸžžŸ ŸŸž›ž Ÿ ¢£¡ ¡£¢¢¡ ¡¢¢££¥¥¤¢¤¤¤¢¢ ž¢£¡ ¡¢VVWWVWVRSSSUUUTSSTXXWTWXXWWWWWXYXUVVVSVWVVUUM?6,<IUXXWVUWYYWUXZZXVWWYZYYXSYZZ\[Z[ZZ[YZZYZZWQA*
	" !!'*+,.0121168?ADFEE>71+**483,'#$!%%%$$#$$$$*.46520*++*'$" 

-	
-
-
-
-
-$3BMWagnrvwxxvxyz{{t||zxwvzz{{|z{{|{{}~z}|||}~}y|w}|||}}~w~}~|€€|~~}ƒ}}|{~}ƒ„ƒƒ‚‚|{‚‚~ƒ‚}‚ƒ††……„‚„…‚‡†„ƒ…ˆŠ‹Š†‡†‰ˆ‡‡‰ŠŒ…Œ‹‹Š‰Š‡‡…‰‰Š…‹ŠŒŒŽ‹‹‰ˆ…ŽŒ‰‹ŒŽŒŒˆ‹‹ŽŒ‰ŒˆŒ‘‘’““‘’ސ‘‘Ž”””””’‘‘“““’’’Ž—“’””•–”——•“““””˜™™—™–•“””˜”›™š›œœœš——˜žžšœŸŸ ¢¢¡žœ ¢ ž Ÿ ž¤¦£œ¡¢¡¢££¢¡£Ÿ¤¤£¡¢¥§¡¥¢¢ ¥¥¤£¢£VWWVVWVUTTTSSTTTVXXXWVUXTXWWRVWYXUTWWWWWWWVTNE?DJSXZXWUUWYYXVXYZXWWWXZ[\ZYZ[[[[ZYYY[Y[[ZYYTJ7#

",.-*&"!#(,/35446;AFFFFF>3/,-1674.)&$#$$$$""$&&',13554430.,)&%%&$!
-	
-
-
-$2AKWcmruvvwyyyyz{|{zyz|}||{z{{|{{}|{|}z{~{|}~|{|}~}~}€€|€~€‚‚‚„…€}~€~~‚‚‚‚‚ƒ‚‚‚€€ƒ…‚‚‚„……………„„ƒ„…††„ƒ†‰‹‹ˆ…‡ˆˆˆ††‰ŒŠŠ‹‹‰‰‰ˆˆ‰Š‰ˆ‰Š‹ŽŠ‹Š‹ŽŽŽŽŒŽŒŽŠŒŒ‘’”•“‘’’Ž‘‘’““”””“’“““’’“”–™˜–“’“•–——–”•••˜šš™˜™™˜–••”˜››™››š››œœ›žŸŸŸŸŸ¢£¡Ÿ›¡£¢¡¡¡ žŸ ¢¥¡œŸ ¡¤¥¤¢¡¢¢£¥¦¥¦§¦¦§¨§¨§§¦¤££VWWVVRVTTTUSTTTTWWVUWVWYYXXVTVWWXWUVXVWWWWVVSNOPSVY[ZXWUWYZYWUYYYUXWXZZZ[[[YZ[ZVWYY[\\[YYVM?-	+47752/+('%###"$(+032248=BDDDD;0,(/57630,%#"$%%$$ &()(/33466641.,*(%&'&#! 

-
-
-
-
$0COZemruwwxwvvxxxz|}}}yyz|{|z{||z||yx~}{~~|}~€{}}~~~}|€€}~‚}ƒy‚€~‚€}‚‚ƒ…ƒ„€ƒ„ƒ…‚ƒƒƒ„†ƒ„„ƒ€„†…†„ƒƒ„…‰ˆ‡„†‡ˆ…„……„‰‡Š„‰‡‡†ˆŠŠˆ‰ˆŠ…‹…Ž‹‹Š‰ŒŒŒŽŽŽŽŒ‹ˆŒŒŽŽ‹ŽŽ‘‘‘“’’’Ž““‘’’Ž’“‘“••””•“‘’”•–——“’’’”––•”•–•˜šš–˜˜™–••–––œ˜˜›š›—œ™™›Ÿ›œœœœœ ¡¡žž¡¢£££œ ŸŸ›¡š¡Ÿ¡¡£¡¢¢¢¢££¤£§¥¨¡¤¥§¡§¥¨¢¦¤£¡XXUVUUVWWWVUUTTUWVVUVVW[YWWWTWWWYYVVWXWVWXXWWWWWUUXZZWVUWYYZZYXXXUYYWYYY[\ZZ[][XWZYZ[[ZZXRD1!	
(3<>=;866784.*'"##%+/..124<?AA@7,'(078732/*$$%'&%$#%(+/36667763/-+*(%%%#""!  
)7GWekpvyyxxxywx|}~}|z{|}}||||}|{y{}}|{}~~~~~~~~~}}}€€~~€€€‚€€€‚€ƒ€~„„‚€ƒ„„„ƒ‚‚ƒ„„…ƒ„†††‡‡†…ƒ‚‚………‡ˆ‡†…„‡‡‡†‰Šˆ‡‡ˆ††‰Š‰ˆˆˆŠŠ‹ŒŒŠ‰‹ŠŠ‹ŒŒŒ‹‹Œ‹‹ŒŽŽŒŽ‹‰ŠŽŽ‘‘‘‘‘‘‘’‘“‘’’””’’’’“•”““••••““’’“–•””“”“““•—•“––”‘–˜—–—˜–“•–•˜šœ›››œ››œžœ›šœœ›œŸ£¡  žŸž¡¢£¥¤¡ ¡    ¢§¥¤£ ¢¤¤¤¢¤¤¥¦¨¨§¥¦¤ ¤¦¥¥£¤¥§WWUUTUXWWWVUUSTVVVVVVWXXYTXXVVXWYWWXXXXWXXYYYYWVVVXYXVUUYYXXZ[ZXXUZZYXXWZ[[[[Z[ZZZYW[ZZZTK:!
-$/;CCA=5448:;<70,)('***),-0689982)('/899984/*&&&''%$%%,14552453/-)(&&$%!!!!  !#$!
-

-
2ALYdmswxwyuvy||~{{y{{}{|y}}}w{}}}|y{}}|~~}|}~€~~~€€}{€‚~ƒ‚€€‚€ƒ„ƒ„ƒƒ„ƒƒ„…„‚…€†‡†ƒ‡ˆˆˆ…„ƒƒ†ƒ‡‰‹‰†„…‡‡‡ˆˆˆ‰Šˆˆ‰ŠŠŠŠŠ‰‰‡‡‡‹…‹ŽŽ‹Œ‰‹Š‹‰Š‰‹ŠŒ‰ŽŽŒ‹‘ŽŽŽ‘Ž‘’ŽŽ‘“’’““’’Ž’””••‘”“”””‘’”“‘••“‘•˜–“˜–—“˜˜—•—•™’˜˜™šœ–™—œ›ž–››ž›œœ››Ÿ££Ÿ¡ŸŸŸž¢¤¤£¢ Ÿž¡Ÿ¤¤¥¡ Ÿ  £ž¢¥¤¤§¢¦¨§£¢¡¥Ÿ¥¤¢ž¦§QVTSVXXWWVUVUTUWWVWWUWWWYZYXTVWXXWWXYYVXWVY[ZYVWXYXXXXUWZ[WY[[ZXYZ[[ZXXYYYZZZYZZZYYY[\[XO@*	)7@EEC=431/58@=58::60,))''*.//00/-**-7<?><93.)(&''&%%%+14530110.+(&###""!"""!!#'(&# 
-
-
-	
-
-"5CQ_krvwwwx{~}}{{|}|{|~}}|{|}z||z}||}~}}~y{€~}€€€|~€€€‚€€‚‚‚‚‚ƒ„„ƒ……ƒƒ„„ƒ„…‡‡†…†‡ˆ‰‰†…‚ƒ……‡ŠŠˆ†…‡ˆ††‡‡ˆ‰‰‰‰‰ˆˆŠ‹Š‰‰‡Š‹Š‰ŠŽŽŒŒŒ‹‹‹‹Š‹‹ŒŽŽŒŒŒŒŽ‘‘‘‘‘Ž’’“‘ސ‘‘‘’“’‘’“’’“”“’‘’“••”“‘•–””•–––“””“•˜—’•–––—™˜˜™š˜”—–š››œœžœ›™™šœœœžŸ¡ž›››¡£¤¢¢£¢ Ÿ ¡¢¢¡ŸŸž¡¤¤££¤£¡Ÿ¡¢£¥¥¦¥¢¡¦§¥¥¦¥¡¤¥¤¥¦¨TVVSUVWVVVWXWWWWWVWWVUWXYXWUVWXWWWVWWYZZXVXYYXWWYXWXXXYXZ\[ZZ[ZWZ[[[YXXYZYZ\ZWZ[ZXXUYYXTH5!		*7?DC@93113587B=DFFC?:2''')(+)**..-*07;>>=93/*('''&"$(+.674022/-+&#! "#%%##""&(((&""!
-
-":HUajpty{{}|}|~||||}||}z{|{y{y}||}|}{~~}{€~}~€€€‚‚‚}‚}€€~„ƒƒ„‚‚„‚„…„ƒ‚ƒ…‡……‰ˆˆˆ‡…„„„„„††……„‡„ƒ„‡…‡†††‰ˆ‡…‡‡‡ˆ‰ˆŒŒ‡ˆˆ‹†Œ‹‹ŒŒŠ‡ŽŽ†Œ‰ŠŠŠŽ‘’Š‰Š“’””’ސ‘’’‘‘‘“”•”’”Ž““”“––”’””˜—–––”˜š˜’““’’–—”™˜˜”˜—š™œšœœ™œš›œžŸŸ›Ÿž¡Ÿ ™ššž¡£   ¢¢¡   ¢Ÿ¢ŸŸ ¢£¤¢£¡¥¤¢ž£¡£Ÿ¦¥¦ž£¥¦¦¦¦§£¦§¦¥§§VVVUUUVVVVWZYXWWVWWWVVUWWVUUVWVVUWTUWX[[YXWVVWWWXWYYWYYYZ\\ZYYYZ[[YY[[ZZ[[Z\[Z[\[XWWWXVO>*	#,59@@;410249=DOWTNJMHC:1--,,+*+,-.--158;<;52/)&)('$"$,158964340-*&""!""$&&%&'''&#&&&%#!

-	
-(=N\hqvy|}~~~~}|{|}~}}}}{zzx|}|}~~~~~~€€‚~~~ƒ…ƒƒƒ€‚ƒ€€‚‚ƒƒ‚„‚ƒ„†‡ƒƒ‚‚„ƒ…†‡‰ˆˆˆ‰ˆˆ‡…ˆ†‡‡†‡„‚……‡‡ˆˆ‡†ˆ…‡‡††ˆˆ‰‹ŠŠ‹Ž‹‹ŒŒŒŒŒ‹ŠŽŽŒŒŒŽ’‘‘‘’”’“‘‘’’‘’“”‘‘‘’‘’”–”’‘””””•–”˜–’““•––”—•–—™—••˜––•”–—––˜™˜™™™›œ››žžœœž ¡¡ŸžŸ¢Ÿœž¡¡ž ¡¡¡ ¡¢¡£¥£¢¤¦¦£££¥¦¦¦¥¥¥¥¤¤¥§¨§¤¤£¦§¨§£¥¦¦§¨©WVUVWVWUSRVYYWXSUUVSVVUVWWUVVWWWYXTTUVYWYXWUWWXXXYZZYZZZ[\\YYVY[[XYY[[[[[ZZ[ZZ[][YYXYYRE3		'07;>;51047:=CK^npldVQ@<22//.-,,,-+-*01357620/**+)%$#)26998777641/*'$%%&#$$&()('&%&&&$#"! 

-
-
-		*8FR]hpvy||yz{{{|||y}x|z{w}}~||~~~y€€~‚‚€}~‚€|ƒ€€‚ƒƒ‚‚€‚„ƒ€‚„†…‚€‚…†„…‡ˆˆ„‡…ˆ‡†‡‡‡††ˆ‡…ƒ……‰‡‡‡‡†ˆƒ†‡‡…‰‰Š‹‹Š‰ŠŽŒŒŒˆŒŠ‰ŠŽŽŒŽŒŽŽŽŽŽŽŽ’‘‘ޒАސ‹‘’‘‘‘’Ž‘‘’“”“•‹Œ’••••”—–””””–—–”“”–”—–˜š˜—˜•™—˜“˜˜˜“—˜™™›šžžž—Ÿž›¡Ÿ ˜Ÿ› Ÿš ž  £ Ÿ ¢¢¡¡Ÿž¥¥¥¤¤¥¦¢¦§§§¦¢¥¢¥£ª¦¦£¢¡¦£¢¢¢¡¥¦©¨VVVVWVWWUTUYYZXXVUUVVVRUWXTVXXYZ[ZUTVYYWXXXWXZZZZZ[[ZZZZZ[[[ZWXZY[[\[ZZ[[[\]][[\ZZ[[YWK8#				"(2;=:4,+/59>?CMau|yup`M=768740+)**,-....011.,--,+)$$$+5=>:79=>=<;973/+,-,+))('&%&%&&$"###"  !"!  
-
-
-*7FTalswxz{||}}{y{||}{{}~y|~~~€€~}‚€‚‚€€€€‚ƒ€‚ƒ‚‚„ƒ€~‚ƒ…„€€‡‡†…††††„†‡†…†‡ˆ‡‡‡ˆ‰‡…‡‰ˆ…††ˆˆ‰‰‡‰‰ˆˆˆŠ‹ŒŠ‹ŽŽŒŒ‹‹‹‹Œ‹‹‹ŠŽ‘’ŽŽŽŽŒ‘’Ž‘‘‘‘““‘ސ’“’”•’•—••”“”––•“–•”–”’•—––—˜•–——˜š™™™ššš˜—™š––—šš˜š›œ žžŸ ž   Ÿ ŸŸ¡¤¡  ¡¢££¢¡¡ £¤£ Ÿ ¢¤£££¦§¦£¥©¨¨¥£¥¨¦¦©©¥¢¢¤¥¢¤¦¤¡¦¦§¦UTTTUUWXVVXZYVXWWWVVWWTTWXWWXUYXYZWSXYZYWXXXYZZ[[V[\ZXYWXXZZYWXZ\]\[[ZYWZZ[]]\[YYZ\\XRC-	
-
#%0:;4+$'+07;<<;M\cfioeQ=;<=:72*)(+-00/,.**)'%*+)&&$%%/8@@;9<AA<@BCDB?==>>952)'&'&&$%#$$%$" !"#"!!  

-	
-
-
-
-)8JWakqvy{}z|y|z}y}|€~}~}€|~}}~‚‚‚‚‚‚ƒ€€‚ƒ„‚€}‚‚‚€€ƒ„€‡†„ƒ„„‡…†ƒ†„†‚‡‡‡ƒ…‡‡ƒ†‚‰‰‰‡‡ˆ†„†ˆ‰ƒ‰‰ˆ„Ї‰‡‹Š‰ŽŒŒŒŠŠ‰‹‹‹‰‹ŒŽ‘Ž‹ŒŒŒŒ‹‘ŒŒ‘“•”’Ž‘’’’•‘–˜—“–‘“‘“••••”””•’”‘”’“•˜˜——˜˜™™˜–˜–š•™“œœ™———œ˜›™›™Ÿ›œœž™ŸŸ   œŸŸ¢£¢ŸŸ ¡œ¡¢¡¡¢¢¢¢ Ÿ¢¢¥ £¢¦§¦£¥¡¦£¤Ÿ¨©©¤§¥£¡£¥§¡§¦§¡§¥¤¥STTTTTVVUWYYWVWXWXWVWWVVWVVWXYXXVZYYYYXYXWXYY[[[ZZZ[XXYYWXYZXVWZ\]ZZZ[YYXY\^]\[ZZ[[ZUK:&	
-		#$*/97, !$$$.342127<?G^\K?<??;61.,+,.3410/-+($$'(&%$(+.5;BC<=?BCCCEKNMLLMOOJD>830-+'&%$$$%$##"##"     
-
-
-
-/?N[fovy{|}|{~~€€€~€~|}|‚ƒ‚‚‚ƒ„„€€ƒ…†€€ƒ‚‚ƒ‚€‚„…†…………„„†††††‡‡‰‰‡‡‡„‡†ƒ‡ŠŠ‰‰‰‰ˆˆ‡Š‹‰ˆˆˆˆ‰‹ŒŠ‰Š‹‹Ž‹ŒŽŽ‹‹ŒŠŒŽŽ‹Œ‘‘‘‘‹Œ‹““’’‘‘“’’’‘“““”•“‘‘‘’““•˜˜—•“““•–””–˜——••––•“••——˜————™š—˜—šœ™š›œžŸœš›š›žžšžœžžžž ¡ŸžŸ££Ÿ ŸŸ œ ¢¢¡¢¡Ÿ ¢£¢£¤¥¤¤¦¦¥¤££¤¥¥§¨©¨¦¦¥¦§¨ª¨¨¨©¨¨¨¨¥¥UVUTVUVUUUVVUVXYZXWWXXWUWXWUXVXYYYYZYXWWYZZYY[[ZZYZYYYYWXUZ[ZUY[[\[W[ZZ[ZZ[]\\[ZZZYVN@.			
!$(-074($""#)++--//12:HHB<:<=8121.*/079774/.+(%&&()+-049=CECADEFEGIMOSQSSWYVQLFA<851-*('&(''$%%$#! !  
-
-
-	
-%4CR]fouz|{~~~}~€€~~€|‚}€€ƒ€€€„…‚‚‚ƒƒ‚~‚ƒ€†……‚ƒƒƒ‚ˆ…‡……†‰Š‰†…‡‰Š‡ƒ‰‹Š‡ˆ‰‰ˆ‰‰ŠŠ‰‡ˆ…‰ˆ‹Œ‹‹ŒŠŠ†ŽŽŽŠŠŒŽ‹‹‹ŽŽŽŽŒ‡“’Œ‘““’“‘“‘’Ž”‘”””’’’•‘’’””‘“‘–•”‘“••’’”—–—•””••••••˜————“—˜™š›™™™˜—œžŸŸ¡œ››œ›œ ››œœ›  ŸœŸ¢£¡žžžŸŸ    ¢   ¥£¢££¥ ¦¦¤¡  ¤££¢¥¥§¢¦¤¨¥¨©¨§¨¢¤¦©©§£UWVVVVVUUVVUWYXXYXWXXYWVWXXYXWWYZYWYYXXXZ[ZWXZZYZYZZZZWXZ[Z[[[[\\\\]\\Z[[[[[\\[ZZZVSF2

-	"$',020+'!! "%(()*+,,+*576446720220.269;::851/,*++-//037;?CFFGGHIJJMNOUXWW[^^[WTPLJFDA<7200.,+**'%###"!##" ! 

-
-
-	
%7FTbmux{||~~}~€€€€€€‚‚€‚‚‚€€~‚„‚ƒ„‚„„…„‚‚ƒƒ„†‡ˆˆ‡„„ƒ‰Œ‰‡‡ˆ‡††„…‡‰‹‰ˆˆ‰ˆ†ƒ‰‰ˆˆŠŠ‰‰‡‡ˆ‰ŠŠ‰ŠŒŒŠŠŠŒŒ‹‹‹ŒŽŒŽŽ’‘ŒŽ’‘Ž‘“““‘“•–•””“‘••““’’””‘’“””“’“—•”•––––—˜˜••—˜™—•™š˜š™˜šœ›™›œ››œžŸ›žž›Ÿœžž››Ÿ  ŸžŸ¡¢¢£ ¡¢¢¥¦¤¢¢¢£££¤¥££££¥¦¥¤¤ ££¤¦¥¤¥¤¥¦¥£§¦¦¥¦¨§¦¦§§©¨¦VVXWXUVVWXWVWXWVWXXXXYWWYVYXZUVWYYYYXXYZZ[Z[ZZYYYYZYYZYZ[Y[\[[[Y[\]]]]\Z[Z[Z[[\\[XUM=&	!"!$01.,,#"!$$&&'&&&*),/1+*)-010210.6:;;:78520-+-.//..48<>ACFGIIKMOPPPWXWW]^^]\WVWWUSSOIFDB?:52/*&%$%""###"!#$#" 

-
-
*?LYcipv||w|}~|€€€~‚ƒ‚€‚€~„…†ƒƒ„†ˆ‡ƒƒƒ„…†ˆŠˆƒƒƒ‡Š‰†ˆƒ„‚…ƒ„†Šˆ†‰Šˆ‰ˆ†††Š‹‹ˆˆˆˆŠŠˆˆˆŒ‹ŠŠŒ‡‹‹‹ŠŽŽ‰‹‹Ž‘“ŽŽŽ‘‘‘“”•••••––•“’”’“”“‘“”“‘’”•–••”—“••˜™™––˜——––›”š™š™šœœœœœ™›˜—˜˜˜›˜žžœœ™žŸœŸžŸŸŸ¡¢¢£¡Ÿ£¢£¦§ ¡£¢£¥¤£¤¤ ££¤¦¤¤¦¡¦¤¥¥¥¦§¥¤¤¤£¨¦¥£¢¨¦§¤¦©©¡WXYYXVTUWXXWWXWUVXUXXXWWXYYZZXUXXYYYYXYYWY[\ZZZZYYZYYYY[[Z\]\[ZZ\]\[X]]]\\]]\[\][YQC-#

-#! "*4BC>2$$()&#&(+-,)&&-.+(%%*/330/4:>=<:88730+,.10,,/5:;<?CEGIJKORSRTX\\]^abba_^_``^^[XWXXVOG;5-*(%&'''''#""#$%$#"!  
	
-
-
-$0?LYgsuux}~~}€€€€€}‚„‚€€‚‚€‚ƒ………„„…‡ˆ‡„„„ƒ………†‡‡…„„…‡ˆ‡ˆ††‡‡ˆ†…††ˆ‡…€‰Œ‰‰‰ˆˆˆŠ‹Œ‹‡Š‹‹‹Š‰Œ‹‹ŒŽŽ‘‘‘ŽŒŒŒ‘““‘Ž’’‘‘“”””””’—˜–””•–——–”••“’–˜———––—––••–˜˜˜˜—–•–˜››™™™šœŸœœ™˜˜™˜™›œžžœž ŸŸ¡ ¡ ¡   ¡¢¢¢£¤£¤¢Ÿ›¢¤¥¥¥¤¦¥£¡¢£¥¥¦¨ª§¦¦¤¡§¨§¥¢¥¤¨©¦£¢£§¨©¤¦¨¨§VXXVUTTWWUVWWWVVWXXXXXWWZZZYYZZYYYYYYXZYXX[ZYWXXYXZYZY[\][[\[WZ\]\[Z[[[Z[\]][Z\[YUI7#
-
 &,'"+6FSTO>('25,,,2873-#&'((''()154004<?=;:69751.-00.)-1:=<:ADFHKLLLTXWUXZZZ^acdedc_fca__^^^bb_ZQF?51)+,--,(&!! !###%###"! 

-$2ES\cluyy~~€€~~€‚‚€€‚‚€„††ƒ„~‚„…‚…„††„‚‚‚…„„„…‚‚ƒˆ‡‰„‡ˆˆ†‡ƒˆ†ˆˆ…ˆ‡‰‹Šˆˆˆ‰ˆŒŒ‹ˆŒ‹‹ŠŠ…‹ŽŽŽŽŒ‡Ž‹‘ŽŒŽŒ‹Ž‹’‘Ž““‘Ž‘’’’’““““••‘“’———–––•”•••••–—”—––”•’——˜•˜˜˜–˜—šœš˜™˜™™ž›œ˜™™š•——™šœ™žžŸŸ›Ÿžž¡¡¡¢¡ŸŸž ¢¡£¡£¡ŸŸ¢¥¦¥ž¤¤¦¤¢žŸ£¦¦©¤§¦§ £¥§¦§££¤§¨¨¤¥¤§§©£¦£©©VWWWUTUYXVUVWVTWXWXXWY[\[YXXXY[ZYZYZZYYYYZZXXYYYZ\[YXZ[\]\[[[ZZ\\ZZ[ZZZZZZ[[[\]\WN?-	
-&7C>12ET^_ZF*+<FEAGIJC92-(###&/35443//6<>=<:89962011.)(-8?A@ADEGJLMORTZZVVTSV[adfhjjjjihggffffhjibZRI@953122.'$"!"$%%&$%%%$$#   
-
-
-
)6DScmw|~~}€‚€€ƒƒ‚‚€„ƒ‚‚…‡…„€„„„‡ˆ‡…„ƒ„……„ƒƒ„†‡Š‰‰‰ˆˆˆ‡‰‰‰ˆˆ†…‡ˆŠŒ‰‰ˆˆŠ‹‹Œ‰ˆŒ‹ŠŠŠ…ŠŒ‹ŽŽŒŽ‘ŽŒŽŒŽŽ’’”“‘“”““““’‘‘‘’‘“”–—••—˜””—˜–””•—˜–•””•—˜—–“–™™›˜–—™˜™˜—™šš˜˜™™››™š›œœ›Ÿ œžŸ ŸŸŸŸ  Ÿ  ££¡£¤ ›¢¥££¥¦¥£££¥¤££¡¤¥¥¤¥¥¦¦¦¥¦§¨¨¨¦¦§§§¥§¨§§§§§¨§©WWWSVVWZYWVVXUVWXVXYYY[\[WXUWUZ[ZXY[ZXXVX[[YXZ[Y[\[XY[[Y\\\\]\[X[Y[\[ZZZZYZZ\\[[SF5 
-
-$*BWR@CNW^]UA*,CYgd\TRK?BB6"!!(487422-28;<<:959;85441,))1<CEDEGDHKMOQSW[ZVTJRR[]eilnonnnnnnoonmmnmifa[VRMGB?=93.+%&''&(&&&''&%$"&)%!!"  !!
-
-
-
/>M[fov{}€}~€ƒ~€€„…„ƒ„„ƒ‚„………†‡……€‚ƒ…†…ƒ‚~…„‡ƒ‰‹‹ˆŠŠ‰‹Œˆ‰‡†„ˆ†Ž‹Š‡Š‰ŒŽ‰‹ŒŒ‹‹…Š‹ŒŒŒŒ‹ŽŠŽ‘‘ŠŒ‹‹‘‘‘‘‘‘Ž“”“““““’“””‘“’‘‘””•–•”•‘””—˜–”••˜–••—‘˜™™——’•“š›™—–™™—”š™›š™•››š™œšž›žœž œœœ›š›› ¢£¥¥¢¤Ÿ ›¤ž¦¤¤£¦¤¤£¤ ¤¥¦¥¦ Ÿž¦¢¢¤¥¦¨¨§¦¦¦¦¦¦¤¨¨¨¤¨©ª¥££WXXWWWWZZXWXYYXXWUWYYXXYZXWYXXYZZZYYYYXWWZ[[YZZYZ\[XZ[[[[[[]]]\\[[Y]][ZZ[ZZZ[[YXM<(		"),F`^GHOU[UH8(.Hi{vfTOMEVQC0&%+8852/135:=;:889;;86551+)*4>EGDHIIJKNQSUWYWVTSSXZ]elnpqqpsuuuvwuttpnlmjfee`XROKGC?8521/-+,*''('%&)251-(''&((***)&"   
-
 3DTdqx}€€€‚‚€€ƒ…ƒ‚„„‚‚‚‚‚ƒ„…†………†„……†††…„„…‡†…ˆŠ‹Š‰‹‹ŒŠ‰ˆˆŠŠ‰‰ŠŠ‹ŽŠŽŒ‹‹Œ‘Œ‹ŠŒŒŠŒ‘‘‘‘ŒŽ’’‘’“’’’““’•”““””•••”“““““”–––“’•˜˜–—˜–•˜šš˜™š™˜˜™—–””˜š™™˜™šš™š›œŸž››šš›š™žžŸž¡ žžžžœžœœžŸ ¢£¤£¤¤¥£¤£¤¥¥¥£¥¥¥¥¥¥¦¥§©§§§©¨¦¥¤¨¨¨¨¨¥§©©¨§§§¨©§©©ªª¨§VXXVWXYZZWVUXXXXWUXVZZYY[ZYYYXYZ[[ZYXXYYYXZ[ZZZXYZ[Y[Z[[[[\\]]]\[[[\][[\\[[[[XWRE."		
-
!(,Gb^G>=BGA4.(3Nkyo\H<?AEI@5.+5>:11.227<=:737;>:60231(*,7AGJJKLMONSTWTPLMOYX\__\hmppqrtwzzyxyxxvsrqokeghd]YUQKLKGCA>:6531))*'#(.7=933245444432/&#"! #!!     
	
-
-
#.BQ^ipuy~€€€‚‚€}‚ƒƒ€ƒƒƒ‚‚‚‚ƒ……†……„ƒ„„ƒƒ„„„„‡‡‡…‰‰Š…‡‰‹ŒŒ‹‰Šˆ‰Šˆ‹ŒŒŒ‰ŒŠ‘Ž‹‹ŒŽ‘ŽŒŒŒ‰’””‘Œ‘Œ’’’‘‘’’””“‘“‘“““”••••–”“Ž““”–•’’”˜—“”–•”˜›œ˜š••”˜™™˜—šš™–š››–›—š›œžž›š›™ššŸžž—› ¡¢¡ ž›œŸ ¡Ÿ  ¡›¢Ÿ¤¥¥¢£Ÿ¤£¤£££¤£¥¦¥¢£¢¨¦¦§¨§§¥¨¥§ª©§¨©«¥¦§§£ª§©¨©«ª¨VXXWWXYZYVUTWWXXWXYYZYWX[[XXXXY[\]WYWWYZYYZZ[[[ZZ\]]]\Z[XZ\^^]\ZZ[\\[[Z]\[\\[ZUJ9&

	"/Je\?+*++*)$+9Zjm_J5221148657=D?430236;:7437<@?6/+10,+0<DHKMONQSVY\XPFBDXacegeejnqrqqsy}}|z}}zwuuuqledfea]VTOPRPNLID@??;750(&)29>;6:AFJHGFDA?:3-+))'&%$"$$#"!"$"! 



*7FQ\hs{ƒƒ„ƒ‚‚„††‡…ƒ‚ƒƒƒƒ„†…‚ƒ„„…„…ƒ„†‡‡‡ˆˆŠŠˆ‰ˆ‡ˆŠ‹‰Š‹‹Š‰‰‰ŒŽ‰ŠŠŽ‘Ž‹ŠŒŽŽŽŽŽŽ‰‘”’ŽŒ‘‘‘’“””’‘’””•“”•’‘“”•”••””–•”“•”‘“••””•–•—š›œš™–˜˜™™›œ››š™š››››š˜˜žžžœœžŸ ŸœœžŸ ¢¡ ŸŸžžžŸ   ¡¢ Ÿ £¢¡ ¡¢¤£¡¢£¥¦¦¦¤¥¤¡£¦¦¥£¥¨ª¨¥§£¦¨¨§§©©ªª¨¨¨¨©©©ªª¨§WWXWVXXWXUUUXXWVXYYYXWVWYZYYYYYZ\\[YWXYZYVZZZ[[\\]^^]\\\[X[Y]]ZWZ\]Y\\Z[[[[YYXO?,	
-		$5PeZ<,&%%+-39K_gdQ70..-.-3668?E@63///1420105<@B<1.--,06?EHFNQRRVZ[XQEFFTbhfhkjjloqpomqw{|{z~}{sssrrmhggfc_UWRSSSQRLJGHIHGE>5,05;=;8BIRVVVVTQMGC>840.,*))))('#'(%"%$$"


'3FUclrw}€ƒƒƒƒ‚‚‚††‡…††‚„„††„„„‚†ˆˆ‡ŠŠ………‰‰‰ˆ‰‡ˆ‡ŠŠ‰ˆ‰ˆ‰‡ˆ‰‹‹ŒŒŒ‹Šˆˆ‰Š‹ŒŒ‹‹ŒŽŽ‹ŽŽŒŽŒŒ‘““–““Œ‘Ž””““””’’”’“‘“•”’••’••’Ž”‘–——–š˜––™›œ˜––™š™™œ›š—š™š™›œœšœ–˜œœŸžžžŸŸ  ››ž ¡Ÿ›¡ŸŸžžžŸ£¢¡ž  žœ   ¡¤¢££¤¥¤¤¤£¥¡£¤¤£¢¢¨§¨¥£¡¢£¥¥§¡¨§¨©©¦§¨©ª©¨§§XWXXWXVXXXXYZZVVYYWWWWUWXWWZZ[YX[\ZYXY\\ZYZZY[Z\]]]]\\X\^^^]]\YYY\\[\]Z[[\[ZXTG3			
- '9R`V@.'$*/2@KU_b^G1))))*-2577@FB:4,,,-0/..04:=A?80,+-3;AEHKNRTX]^WNBAHWckkgilklmopponntvwxx}~|xtqqplkjjhd_YXYXWWWUSQPRSSRQLB979=>;?ITY]_`a`_^\WLFB>;8653221.-,*'%%&'&$#" 

->KXeox~€‚„„‚‚ƒ„‡‡††††…„„…………„…‡‰ˆˆ‰‹Š‡ˆŠ‰ŠŠŠ‰‰‰ŠŠŠŠ‹Š‡‰ŠˆŠ‹‹‹ŒŒŒŒŽŒŠŒŽŽŒŒ‹ŽŽ‘Ž’“•’’““”•“’’“”•“’””“‘’”““””•––”••”–˜™›™—“–——™™——™š™™šš™š™™›œš™›žœš›œ žžžžŸ Ÿžœ›ž  žŸ    ŸŸ ¢£¡ ¡¡£¤£¢¡¢ ¤¤£¤¤¥¥¤££¥¥¤¥¤£¦¨§§§¨§¦¦¦¦§¨©§¥¨©ª©§©ªª¨¦§ªXXWVWYYYXWZZZZYWXZZWXXWVWXYZZ[[YZZYYXY\][ZZ[\\\Z]Z]]^][Z^^`_^]\ZZZ[Z[\[[]^\YWP@&""			
-		!#)8KXPD8/,-04BNSRXXI/+''"(,/012=EEC<1/-...++,59<==:2)*)6=CEIKOPUWZWL=@DUdmpnikkkjjglnpjnppotx|~|xsnonlllljcb[[\]]ZVVTUUXYYYXTKA?>??@COX^_bedfghhfb]VOIC@==<;:930-,)**)'%%'($

-
-!0>MYeov}‚ƒ„„‚‚ƒ„ƒ„‚„……‡‡ˆ††‡†„ˆ‡Š‡Œ‹Š‰‡‡‰ˆ‰ˆˆˆ‹Œ‹ŠŠ‹ŠŠŒ‹Œ‰‹ŒŽŒ†ŽŒŒ’‘‰ŽŒ’’”’•“–‘”’“‘“•”’’“’‘‘’“‘”““’–—”‘“”“”—˜˜”••—”™˜—–—™›››–œšš—›—›™œžœ››œžŸžš›››žŸ šžœœž ™Ÿ¡ ž¡¡¡œ¡¡¤£¢Ÿ£¥¥£¤¥¥ž£¤£¡¥§§§¤¢¤¤£¡¦¥©ª©¤¨©©©©¤§©©§¦§¨©«£¦¨ª¥ª¨©ªYYXVWZXZWXZZZZYXY[ZWYYXXVXYZZZY[VXXYXZ\]YYZ\[]\]\\]]^]\\]____^^^[Y[Z[ZYZ]^[ZVM;&$,#
-
-	 "#*7ELJB:30/.2@LLKLPG2/,)&'*+,+,6@GKE=861-+)++4::::6/((.6=CJNPOSTVQI?9?Q_lqpomllhfgfhnprqpinptxzzvrnnnmqppliecccdc`^[WWW[\`a]XPHDA?>AJT]_`egeejknoomjd]UOJEEDCB@;631/..+(('''%$#!
-
.;O^lv}‚„‚‚‚ƒƒ……‡…‚…†……†ˆˆˆˆˆ‡…ˆ‹‹ŒŒŒŠˆ†…ˆ‰‰‰‰‹Œ‹‰Ž‹‰‹ŒŒ‹‰Ž“‘‘‘““Ž’Ž‘‘Ž’“–‘’’”••–•““““””””•”””•”’•–””•–”‘—˜–”“–——–•—›š—••—™š›››œš—šœžžœ››œœžžœŸŸ›› ¡¢ ž ¡ £¥¡Ÿ¡¡¢¢¢££££¥¥¤¤¥¥§¥¢£¤£¢¤¦¦¦¥¢£¤¢¥§¨ª¬«¥§ª©ª©§¨¨¨¨©©§¨©§¦©©ª«¬ªªYZYXWY[ZYY[WXZ[[[ZZWYXWZ[[ZY[\[ZXWYYZ[\]YXYZ[\\Z[]]\\[[[]^^Z]^_^\ZYY[[ZZ\Z[ZTH:+28.

-
-
-#&5<KLE93013209?><=?:2.,)%'+.0-&4<INI@<83&'')(04576-,'+29>EIQSSTRKG<=?N\emononlif_egjlrstrooposvuutsrqsttrpnjdgefhhfa][X]]bb^WPIFCA<ENX__`efddjjlnnnqpjd^YTOLHGEC@=755420.,*)#'&*($ 
#7GUbmv{€‚ƒƒ„…„……‚…†……†ƒ‰ˆŠ‰‡…‰ŒŒŒŒŒŠ„ˆ‡‰Š‰ˆˆ‡‹ˆ‹‰‰ŽŽ‹‹‹ŒŒŒŽŒŽŒŠ’Ž’“”“’’’Ž’‘ŒŽŠ‘‘’’—“”’“’–’“””””•–•–•–•’–––’”•”’—š™——”™š˜“”–š˜—’˜–••š˜›˜˜˜š›Ÿ Ÿ›˜—œœž¡¡ ŸžžŸ¡ žŸ¡¡££¡ ¢›¢¢£Ÿ¡¤§¦¢¤¤¥ ¤¢££¤£¤¡¡¡¥£¢¤¦¦¦¦¨«­¥©¬««¨¢¨¦§¢ªª¨§©¦¦¦©¬­ªª¥Z[ZXVYZZYY\\\^]\[ZZZYXWZ\][Z\\[YYYZZZ[[[XXXXZ\[XY[]]]][Z]^]\\\^_\\[[]]\[\[YUK>7<AC8#	'9FPTQC4&(-330/0,(&(*(&''%'39;3,4DKNID?;3)&(**)0/442-'-6>CGKRVUSKA:CLS[ejkknnliebaelnprtxvrsrqpqoortuuuvvvuqnjhilnomga_^_ddc]UNGFDCAIT\aacdddehkklnoqqojkjfb\VQMKIFDBB?:5410/.,+),,+)'"
%:IXeqy~ƒ…„„„ƒƒ„†‡ˆ‡‡‡ˆ‰‰††‰‹ŠŒ‹‹Š‰‰‰ˆ‰††‡ŠŒŒ‹‰‹†‹ŽŠŒŒ‹ŒŒŒŽ‘’‘’“““’‘’“““Ž‘‘””–˜™—•‘‘”•””•••—˜——–•”—•••——˜––—––š›ššš™š˜––—š™™——˜–”™œ›š˜š›šŸŸœœœ ŸžŸŸŸžŸžžŸ  ž› ¡ £¢¡ Ÿ¡¡¡¡ ¡¤¦¥¡££¤¦¥¢ ¢¤§¥¢¦¦¥¤¥¨¨¨§¥¥ª«ª©«ª©¦¦§¨§¨©ª©§ª«¨¤¦¬¬«ªªZYXXYYYXYY^]]]]YZYZYYXYZ\]\\[ZZZ\][\\YZZ\\[X[[ZYZZ\\\]]Y^Z[\[Z]^^\\\\]\[\[RF<-:CEA4"
-	
- $8JSYUL=.$%++(%" !"$%&'3=CC:.;GJHE?EE<1.+/1337::71(/:AGLNRSRMD6AKW_dimhjkjfh___hprqsw}{xuvrpiidlpssrrstrpmiknqssoiccdhifaYPJCBBCDO[acd_dbdfffklllmhikoonmic^XUTRMLKHB>9656631000.12/+&

-
-
-(>LYeoyƒƒ€ƒ…‡‰‰…ƒƒˆ‰‰†‰Š‹Œ‰‰‰Š‹‰‡ˆˆ‹ŠŒ‰ŽŒŒ‹ŒŒ‹‹Š‹‰ŒŒ‹ŒŒŽ‘’““‘’’•”“‘”–––—•˜•‘’““”“’—–—––’’“–———™—–———–˜š™™™—–———˜š—™•—˜—•œ›žžš™›œœŸžœ¡¢Ÿšœš›–ŸžŸŸ  Ÿœ¡¡¢£¢ž¢ ¡Ÿ  ¤££¢¡¡¥¨§£££¥¨¦¡¦¦¥§§¨¨§¥§¥©¥¨§©¦¦¦¨¨©¦©§¨¨«ª©¥§¨§¨©©YWUWXZYY[]]\\]\[ZYXXXZYZY\]\XYYZ\^]\]\ZZ\^^]\[[]]]\[Y\]__\Z]\\\\]]\\[\\[\XI4(4>E?3&	%-EVZWM>-&  "! !%*17>CED<6?IHCBDNYXPB64:;:<?>93.1;CIMQPOJC=>IV^dhloolihhgffjottsw‚|zzywqkigglnoppqppojimpswuqmefhkje_VLDBA@FLV`dffhfefiijklllkjkoooqtrokfb_^]YUOLIEA>=<9854334431.,*&"

*>O_mx}~€‚ƒ…‰‰†…‡ˆŠŠ‡‰‰ŠŒ‰Š‰‹Œ‹‡‰ŠŒŽŽŠ‹ŒŒŒ‹ŒŒ‰‹ŒŒŽŒŒŒ‘Ž‘’“•“‘‘‘’“’‘’””’“““••–”•––”“””“”••–”•––—•’–——˜˜˜˜™˜——•”˜™™šœš–——˜™™š™˜™™˜—››ŸŸžš››ššŸœž¢žšššœŸ¢¡¢¢¢ Ÿ ¢¥¤¢¡ŸŸ¡¢¢¡££¤¤£¢¥¦¤¥¨¨§¥£¥§¥¤¥¦¥¦§¨¤¥¥¥¨«©¨¨¨¨¨¨¨©©©¨ª«««ª©©§ª©¥¦©¨XWVUXYZYZ[[Y[\[XYXWYZ[YVZ\\\ZZZYZZ\\\ZYY[[]\[[[]^\\\\\\__]]]\]][^^\\\]\ZXQ@%*6;8-
-		
 %1GVSLB31'# !%,5;<99950:BA>DI[iiaQ=7==;>?<94.19AFJKIC>4;ALW]aijpqlfhgiknruwtlx€yyy{yrnkgfghioppmqrogonprrqnfhiifb\TIA;>@IP[cdbggiiiklmmmmmmloqonttutrkjccbcc]XURKDC>?=;78777533/32.(#


"1FT_hpz~„††ˆ†‡ˆ‰‰‰…ŠŠ‹‹ŠŒ‹‹‹ˆ‰†‹‹‹Š‰‹Š‰ŽŒŒ‹‹ˆ‹‹ŽŽ‹Ž‘‘’’’‘Ž‘‘“‘’“Œ’ސŒ•“”–––“—–“”••””•”–•”˜˜˜–˜™™™——˜’–™˜”š›œ—––˜—™››—˜™˜˜œ˜œžž˜›ššš™™œ–™›—Ÿ››˜ž¢£ ¡£¢¡ œ£¤¤ ¡ŸŸ ¤ž£¥¥££¢¤¦§¦¤¡¦¥¥¢£¥¥£§¥§¡§§¦¥¥¢©¬©¥©©¨©ªªª©¨¨«©ª¥©¨©§ª¨§¦«£XXZZYXZZ[[ZYZZYZXWXZZZYY[]]\\][XWY[\Z[ZZZ\[ZZ[\\^^\]]^\\]^^]\\]\__\\]][ZUH3*.84%
- &1CLG<8<;7,   !%*373000--268:FXgrpfWA8;=;<<975105>DDA<7327=GQZbhmqqmihhkotxxusqw~}xwyyvrnlhhhhhmoooqtrqpomllnnkkkig`YQF>;;@IW_ddehklopprsrnsvvwxyxwxywwwwrlfbgnrskaTOKIEDCBA@@@><97541/.-)#



"1CTfr}ƒ†…†‡‡ˆ‰ˆ‡ŠŒ‹ŒŒŒŽŒŠŒŒŠŠŠ‹‹‹‹ŽŽŽ‘ŽŒŒ‹ŠŒŽ‘Ž‘’‘‘’’Œ‘’‘‘’“”•˜–”•––•’’“––••’’••–—˜˜˜—˜˜–“˜™™˜˜—–˜››ššš™™šœœž›™œ››››–™œš›œœœššœŸžžŸ¡¢Ÿ ¡¢¢¢¢¢¢¡  ¢¢¤§§¥¤¤¤£££¥¦¦¤¢£¤£¡¢£¦¨§¥¥¥¥¦¦¤¦¨©©¨§©¬«©¨©«¬ªª««ª¨¨©ª«ª§¦ª­®YX[ZZXZZ[Z[ZYWZ[\[ZXWTYZZ[^^]]\XXX\]\\[Z\\[[[[]\^_^\^^][[[]]]\\\^^\\\[ZZP=.'-2)		$-7=8.3:<:. !!!   !&+,,,..,)+,.1B^pvodVD95<<=:;;9640;?<52+10138<MZenrqnjhensw{yurmtywrqpphllkhiiigkjomqssoqqpnkgnnljif`TLA>9>ALZadgglmmprstvtnvy~‚„‚€{||zx{|zxqafks{ytk_ZWRMMMLKKIE?@><863221-("

-.:O^jtz€…„‡ˆ‡„‰ŠŠˆ‹ŠŒŒ‹ŒŒ‹ŒŒ‹‹‹ŠŠŽ†ŒŽˆˆˆŒ‰ŽŽŽŽˆ‘ŒŠŒ‘’‘’’Œ“•’’’’’“–•’’’“’““•˜–”•–•”““••™™–’–•—™š–™—•”——š™›››š›š›žŸžœ›–›š›•›žŸšžžžœœœœž—ŸŸŸ  žžž ¡¢Ÿ¡¡¡¡¡¡£¥¦§¦£££££¢¡¥¦¥   ££¢£¨§¦¥¤£¥¢££¦¨¨¦¨£©«©¦§¤ªª©©©ª©¨¨¦ª¬¬¥¨©¯°Z[\\ZYZZ[\[[X[\[^_]ZVWY\[Z\]\\\\[Z[]]\Z[\\[[\^^^_``_]^][Z\\]^][[[\\\\\[WH1"%&"
-$***(+576-!""!!!  "$$&),,*(''(-=gy|l`TD<:<?=;>GG?;9982.,1664434;N`ossoigepy}}ytplqsrnkiifgijfghhijjosuwurrsrolknnkhee]RJB?>AEO^ddilnnjnpqrvutw{Šˆƒ‚„ƒƒ€€‚|rc`ky‚„yrkc\UXWUSPKGECBA?>:520-*)*'!4CScs|„…ƒ…ˆ‰ˆˆ‰ˆ‹‹Œ‹‹Œ‹‹‹Œ‹ŒŽ‹‹‹‹‹Œ‹‹‹ŽŽ’ŽŽ’”’‘Ž‘••““”“’”•”•”‘‘””•–˜•“–˜–“’––”™›—”––™š™™˜–“•––šš™š™›–™›žœž›››ššœ  Ÿž ž ¡ŸŸŸ  ¡Ÿ¡ Ÿžž¡¢¡ž ¢¥¦¢Ÿ¡¦§¥¤¤£¤¤¤¢¡£¦§¦¤£¤¤£¤¨©£¤¥¥¦¦§¨¦§§¦§¨§§§¦¥¢¨¨¨¨¦§¨¨¨©ª¬­ªª©®®[[][YXXYYZ[ZZ[[Z[]][ZYZ[[[\\\Z][[Y[[]][Z\Y[[\^_^____^[\Y\\\]^[]^]\\\^]XN<#	
#%'&+.1+(!"""!    !       %&**'%$#-3XzŒ|b[IFCDEEFW`WH@;7/.+17;<974-6>Viprngffqyzxsooloomhe_eddegdffgijksuy{xuuruonnoolhgd[QKDC?BEVehgmooooopquvvwz~„‹Œ‰‰‰ˆ…†€„„‚}q[iq€ˆˆ†€{wqmid^ZSPKHDFACCA:632/0240)!#<MZfpx}ƒ‡†‡ƒˆ‰ŠŠŒ‡Œ‹‹Œ‹†‹ŽŽ‰ŒŒŽ‹ˆ‹…‹‰Œ‹‹ŒŽ“Ž‘ŒŽ‘“’Ž‘‘‘Ž‘’““’”•”””“•—–’Ž–”–”’’•”“–š˜”˜™˜’——š›™™™“”“–—™››™˜›œ™š›žžŸžœœœ››™›œŸžžš Ÿ¢ Ÿ ¢Ÿ ™žœ¢¡  ¡¢¢žŸ¡¥§¥  ¡§¦££¤¥¡¢ Ÿ §¤¥¤££¤Ÿ¨¨¥¡§£¦§¨¨§§§£¤¥§¥¨¥¢¡¨¨¨©©¥ªª««ª«¬ªªª­«[[\[WUVWVYYYZ[YY[]Y\ZZ[[Z\]]]^\Z[\[Z]_][[[[[[]__^]]^^]]]\[Z]]]^`^\Y\]\RB,		
-#(,.12/&$#"!   ""#"!!!"!"&()(#$$'2Wx”ŸŒwe]WTPQYdmqbLB92/.049==:96127Lalomnoqrvrmlmmnmmljecbbbdcbdegikmv{|}|zy{yxvuspnlhcZPKGFCCJ\imnoorsrqvxxwvx}‚†ŒŒ‹ŠŠ‰‰‡†„„„„}sjn|†‰‹‡„„…}vof`YTOJHIIJGEB@?><:874.*&"
);L]ky„„…ˆŠŠŠ‹‹Œ‹Š‹ŠŒŒŒ‹‰ŒŒŒŽŽ’•‘Ž‘““’’ŽŒ’–”“”“•••””•˜˜–“’”•”––”‘”–——˜šš•––˜™˜š›™™™˜˜——–•˜šš——™›™™›œŸžœ››œžžŸœžŸ ¢¡Ÿ ¢¢¡¡Ÿ ¢£¡  ££¡ £¥¥£  ¤¥£¡¢¦¦¢¦¦¥¥¤¢£¢¢££¤¦§§¨¨§¦§¦¦¦¦¦¨©©¨¨¨©§§¨¨¦ªª«­¬¬«ª««¬¬®¬ªZW[[XWXXXYYV\[[\]]]\ZXZ[[\\\]\[X\]][]__]\[\]]^__^][\^Z][\\\]^[_]]]]][WJ6%		
-!# !$*/37>A;,("  !#$###"&((&)+*&'&,2Uy’¡£ž‘wtrqlgjpplXF;31./18:ACCC@=9-FZgmmnuwvrk`hkkgjhkjigc_]Z[^cfghmmw{}~~y~~|{yuqqojdYLIGFDHP_knpqruusrx|zxwv}ƒ‡ŒŒŠŠ‡‰‰ˆƒ„„…†ƒzvr{…ˆˆ‚‚ƒŠ‡ƒzohb]WTPMKLEIHFDB@?=;9711,'!

&.FWeov~ƒ…ˆ‰‹‹ŒŒŒ‰‹‡Š‰Š‰Œ‰‰‰‰‰ŽŽŽ‘‘Œ’”‘”’’“’‘Ž‹ŒŒŽ‘•“””–“’”—˜––””””“—˜–’–’˜•–“˜••”™™™•›˜˜—˜šš—•“––™˜––—˜›—œ›œœœœœžŸžšž›Ÿœœžž££¤Ÿžž¢›¡Ÿ ¢£¤£¡£¡¤¡ ¡¢ž¡£¥§§¢§¤¥¤¢¡¡¡¤¥£££¢¨¥¨¨¨§¤£¨¤¦¥ª«ª¦¨¡©§§§ª««¨®¬«¬«§ªª­ª©¨ZZZZYZZYZ[YZ\^]^]]]\ZWZ\[ZY[\\[Z[]^\[]^`^[]__`_]]]Z\^^][]_^]\Z]\Z\]^ZR@*	()%#""#$(-5=DJRNA1"   !"#"$'*,,,-.,+,05Tw–¡¡œƒ‚ƒ„…‡‚woog]J921/,,3<BJ]b_[VH9?O`lnsxzvla`ehheghiiiid_WNLV`gjnoqv{|}}~€€||vtrsmdXJECAEKTbklnrvwwusx|{yxx|‚…ŠŽˆˆ‹‹‹‰‰Š‰‰†……„~y{†‡‰ˆŠŒŒ‹‰…zvod_[VQNMLKIFDBBCC@<9653,%


+9IXgr|‚‡‰Š‹‹ˆ‹‹‹ŒŠŠŒŒ‹ŒŽŽ‘’‘’‘‘’Œ‘’’‘““‘’“‘‘’•––••––””•–”””••–•’—˜–——™˜˜•’––•”™™˜—™——–˜›šš˜˜–•˜™˜•——šœ››œœœŸœ™œžžžŸ ŸŸŸŸŸ ŸŸ£¥£¡ ¡£¥£¢¡¢£¤¤£¢£¤¥££ŸŸ ¢¥§¨ª§¦¦¥£¡¤¦§¨¦§¨¤¦¥§©©¨ª«©¤§¨¨¨§¦¨ª©§¦¤§ª©¨¬­¬®¬««­®¬««ZZZZ[[[Z\\\Z\^]\[[\\[XZ\\ZY\]\\ZZ\]]]\\\^[]_^_^]^]]]^_^[^`_\\Y]\[[\[TG3		!+,,299-('29?AOYWM7#"!   !!$(*,-,///-56Uu‘¤¤œ{}€‡ˆŠŒŠoYND<010/*-6?B[t}urmX=<>Xjqvxzrda]aefdddgegcb]SEHO\dilqqvy}|€‚‚~zvuumbUCC?EGNVdhhhptwxwtyz{zzt~ƒƒŒŽ‹‡ŽŽˆ‹‹ŒŒŠ†‡ˆ‡…‚{‚…‡‰‰Š‹ŽŽŽŠ‡†‚zsmc\VSPNHH@CBEEFB@?@>82/)#*9M[iu}€†Š‹ˆŒŽŒŽŒŒ‹ŒŠŒ‹‘‘Œ’‘‘‘‘‘’‘’’’ސ’””—–“”–•”•–”””””•—–—™˜—˜™™•–’–——•˜˜˜™––˜˜š–š•š––—˜š™———˜™˜—˜™žŸœ–š›ŸŸŸŸ œ Ÿ¡  ›¤ ŸŸŸŸ¤¤¤¡¢£¤¡¡¡£¥ ¤£¢£¡¥¤¦¨§¥¦£££¤£§¦¦¦¨¥¥¦¨§¨©«¬ª¦¨§§¢¢£ª©«¨§¤¦¢©©©¨©ª«¬­®¯®¬¦XYXYZZ[\Z\\Z\\YYYZ[\ZZ[][Z[\^^\[[[\]^^\Z^_Z]^^\_^^^_^_^]]^_]\\\\[]\XK8"	"&&+5BLHB;7=>DPZYO;$#"""! !!%(+--.0003:Ss‘¢§ “‚}~†ŒŽŽŽ†qW<52.01.).8>Oj…Š…}cA8@Qiswyvnga\^bbbdededa^XOCDKXaekpuyz}}ƒ†…ƒ†ƒ~}|zul^QBDFINT]dhghnsuwwxy|~~‚…ŠŽŽŒŠŠ‹Šˆ‰ˆ‰ŠŠ‡‚…‰ŠŠŽŽ‰ŽŽŠ…~xpia[UQMJHHGEHIIIIFA>;840(!

/>Rcs{ƒ‡ˆŽŒŽŽŽ‹Š‹ŒŒŽŽ‘‘‘’’‘’‘’‘Ž’•—–•“”•”“”•••––—–—–”—›š˜˜˜™˜–’—˜—™™—šš˜—˜š›œ››™˜™˜›œœ›š˜˜š››œžŸœ–—šžŸŸŸ  Ÿž¡¤£¤¢¡¡¡  ¡£££¢£¤£¡¡Ÿ¡¢£¤¥¥¤¡¡£¤¤¥¤¥¥¢¥¦¥¦§¦¤¦¨¨¦¨©¨§¨©««ªª©§¦¦¨ª¬««©§¦§©«ª«ª©©¬­®¯¯«©YZYYYZ\]\[ZY[\\WWXZ[[[\Y[[[[^_]Y]][]^^[Y^_^^__^^]Z^__]^ZZ[]]]Z][\]ZSB+
 !(0>FIGEFEEHONF4#$%$""!! %',//00/38Sp£ª§›‰€…А‘’”•‘fK33/0041?JRZmƒ‡†€xcFFJ]nvxwmkhc\]]__bb`_caZPJADITZ`fmtwxy{ƒ‡†‚‡…‚|zyxuiZPCIHMQWafiiinpqptwy{€‚~}|€…Š‹Ž‡‹†ŒŒ‹‰‰‹Œ€kprz„‰‹Œˆ’Œˆ„}vnh_YSQPMGKKKJNLIDBB@;6/,("
"<M[ht}„‰ŠŒˆŒŒ‰ŒŽŽ‡ŽŒŒ‹Œ’’“‘““‘’‘‘’”–•’“”””“““””••™š—––”˜˜š˜˜–š™˜’—˜™›œ˜›™™•—–›››š™™›˜›žž››š™˜š›œššœ••—Ÿžž   ¡£¤ žŸ¢ž š¡žž¡¥¥¤¢¡££¦¦¥ ¡Ÿ£ž¤¦¥¦¤¤§¦¤¥¦¥¤¢¨¨¨ª«¢§¢£¤©ªª«ª¦¨¨«¬ª¤¨¦¨§««ª¬«©ª¬­«¬¬¨¥\[XXWZ\]\[Y[]]^\[[YZ\\\\\\]]]]]\]][\[\\\^`]]__\[\\]^^^^]]\Y]]^]^\[VK7%	 !&-6@DHD>7>>8,##$#! !""%*,./0/.7OnŒ «­¤”„€€ˆ“”–œ™ŒvY?4115=ITcihlsvupj^QOXfsy{ztlje^\\[\]\[[__VJCACHNRYagmpruz„„…††ƒ}zxsqfWNLNPPSZbgkkmoolmqvwy~‚‚{{ƒˆŠ”””’Ž‹‹‹Ž|`VW`lw€†‰ˆ‹‹‹”“‹‹‡{wqjd]VTRQOOPPLIIIGD?;861,'",>O`mw‰ŒŒŒŒ‹‹ŽŽŒŽ‹’’’’’‘’““’“““’’“•—˜–••””“’“““”“”–˜™—•––šš˜–——™™˜—˜˜™šœžœ›š™˜™™˜—˜™››—›œššš˜—™›››œžœ››ŸŸž  Ÿ ¡¢¢Ÿ¡¢¢¢ ¢¢¢£££¤¤¥¥¦¤£¤¦¦¦¥¢¢¤¤Ÿ¥¨§©¨§§¥¡¦££¦£¨¨¨ª«ª§¦§¨¦¦©¬«©©«ªª¨¨¨ª¨§¬®¬¬¬¬««¬¬«©¬«]\YZZZ[\][[]]\^]]^\Z[\ZZ\\\YY[\\]\[YZ\][]^\[^_^]]]^[^^_`_^^^^]]Z[YO?,			!%)4862/*))$ !  !!!"&*+*.+/1Jh‰Ÿª®©‹x~€‰Ž•˜™žœ’„iJ>7=EPY^kqlbXXXXW[Z^bnx|€…‡rj`]XXU[[YXYZQFDADGKMTX\_hkory~€ƒ„ƒ{vrkbULLOPQS^dihoppnmmpotvxz€~‡‹’”—•ސ’’‘ŽŽŒŒ‹ŽyXQFQUbkqw}ƒ†ˆŒŠ‹ˆ†‚}xnhc^YUTSKNLLIJHF?=<84431,%
*BQ`p|…‡‰‰‹ŠŠ‹ŽŽŽŽ‘‘‘‘’‘’’Ž“‘‘‘““”’”——”–’“””’“••”•–—’–““’”—›š–“——™•–˜š˜˜•š™™š–˜šš—–•™˜œ˜›šš™™™™˜˜˜ššžžžœ ŸžŸšŸŸ¢¡ Ÿ¡¢¡ž ž¤¥¥£¦¤¥Ÿ¥¢¥££¤¤¥¤ž¥£§£§©ªª§ ¦£¦¨§¦¨£©¨§¨ªªª¦ª¨¦¤§©ª¨ª¦«§©©ª©ª¨¬®­¢­©¬«««©¨­¬\\Z\[[YYZ[\]]]]]]`^Z[[YZ\\[ZZ[Z\\\ZY[]]]]\\\^_^^^]_`^^`a`_`_Z^][XTG1			
-
"#$%'()(% "&)*,--06]„ž¬±¯¥”}z}‚ŠŽ”š›œš›—wYFCLX^cdhmiXKFJMR\gkmsz‚Œ’…rb^YXY[[YVVSLFCAEHLPRTWZ`fjnsvx{}€‚‚}ung]QJLNOQXahjoqroopqopqvvw{€‚‚ƒ„ˆ‹Ž’•”‘‘‘‘ŒuWNIJLMRWakt{€„ˆŠ‹‹ŒŽŠŠŠŠ‰†ƒ~xpib[USQOMKLLKJFC@>>??=7/' 


!0G\mu|„‰Š‹‹ŽŽ‘’’“’““”’‘’“’“““”–•—–•”””’“•–•••–—”‘““–˜™˜——————˜šš˜—•–—››˜—˜š›œ›››››œœžœš›ž›™šœœž žŸ¡žœœž     ¡ ŸŸ  ¢¤¦¦¦§©§§¦¦¥¦¦§¦¤¤¦¦§©«©©©§¥¤¥¦§¨¨©¨¨©¨§¦©««¬«¨§¦ª¨ª«««ª«ªªªª«¬«¬ªª«®®¯¯¯­©¬­\ZZ[[\[ZZZ\[]\]Y^^^\[Z[]]Y[Z\]]\\[[Z\\\]_Z]^]]^_^Z^``_^``^__^__]VM<#	   $''&$ "')*+-,.8a£®±¯¢ˆxs{ƒ‰“™Ÿ  ”‹ycOLW__^a`fe\KGDHM`kmotuvz„•zaYWY\\\ZVSKFA@@FJQUUTWXXYaeiloprv{~{sl`WIKMOKTZcjosturntuuuuuvswy|„ƒƒ…‡…‘’ŒŽŽ‰“““Ž‘‹tXOHKJKLNQV[afmu{„Š‹Š‹Œ…‹Œ‰†yrgb\XUSMMMMMKFECCEDC>70,("

3ALXfr|ƒ‡‹Ž‘Ž‘‘’‘’‘‘’Ž‘Œ“‘•“”–—–•‘•’””’“‘–•”–••“““•—™———˜˜˜’˜™˜––•–—›™™”˜˜šš››žœš›œœ™œŸœ˜›œšžŸ—Ÿ›žœŸ¡ž¢ Ÿœž£££¤¥¤§¥©¦¦£¥ ¨¦¥¤¥£§¢¨©ªª§¥¤£¥¤§¨¨¥¤¤¨¨§£ª«ªª«©¦¦¬§ª¬¬¦ªª«§¨¨ªª«««§©«¯¯°°¯¨­­\[XYZ[\\Z\\[[[\]]^^^]\\]^\\\]^\]\\\]]][]^__`_]^^_]\^__\__^^]]]^]SC.	
- ""#$'&$"! %(*)*+,-1^‡ž©¯®Ÿ…vvz‡‹‘™Ÿ¡Ÿ™‚sbWY]ba`aaaa_]SDJWclnyvlcgq„wXJLT[^]ZWPGA>;AGLV]^\ZWVUY[]bdfhkottqi^SJJLPRV_fkqwwwuotwz|{zzxswz‚ƒ„……ˆŒŽ‘Œ‘‘’•”–—“‰pXPLJJIILNNOPQV_fmvŠ‹Œ‹Œ‹ŽŒ‰†|unic]YTPMNNNMMJFCC=60./.-+%
%4J^ozƒ‹ŽŽŽ‘’’‘’’‘‘’‘””“–––––”‘””’”””–™˜—–•–•–––™˜——–˜›˜–——˜˜—••™›š™š˜—™›ššœž›™šœœœœž››››œžžžœŸ¡ŸœŸ ¡¢£¡ŸŸ¡¢¤££¢£££¥¨¦¥¦¦§©¨¦¥¥¥¤¦¡¦§¨«©¥¤¤¥¦¦¦§¥¥¤¦¨©ª¬­«¨¬¬©¥©««¬««««ª¦¨§¨©¬¯¬¨¨¨­¯±±°­®®]\YYZZ\\\\[[\[\\]]]]]\]^^\]]^]]]]]]^]]\Z^^___]]]__^\__\\^\\[[Y\YL8&	
 ""#"%''&$"!  "%&((*)(*PwŒ— ¤šƒyxz{…†Ž˜››–…wl\]^_aaaca`Z`d]GO^inzyfa\cjt}oTJ<JU[][UOEC@BGKNZbb][XWWZV[ZYY[]bfghbZPEJJOPZdlptyywvotx|}}{ywxy‚†ˆ‰ŠŠŠŒ„’’’““˜›•‡jNMKKJIILLLLLLQPSU\ev‚ƒ…†ˆ‹Œ‹„ŠŠ‡…{xpid`VTQQQSQOHGC;/,)*,022.+!
4BUdr}„‡‹Š’’“’ŠŽ‘‘‘‘‘”–—”“–“““–‘Ž”‘•—˜˜—“—•—˜—””•˜—›™‘˜™˜˜—”—š›–˜–––˜›™–š›š–—˜œ™œ™œššœ Ÿ˜žŸ¡ŸŸ™ ž¢ž¡˜Ÿ ¤¤¤££¢£ž¤££§§¦§§£¡ ¥¤¥ ¥£§¤©§¦¤¥¥§¦¦¦¥¥¥¤©§¬­ª¦¬«ª¥©¨¬¬«ª­­«¤¤¥ª«¬«®©©§«­°°¯­®¯]\ZZZ[[[[[[[[\Y\Y]\[\\^`_]]^^^]\]^^^\\\\\]^_^``_^__^``[\]]]]\\ZSB,		!%%##%&&&%#"""  #&))(('<cv}}–”vx{€ƒ‡Œ”•“…{phcbabcdecb`_^acNTeny€ynaXX[bkg^N:?OW[ZVOEGHKPSU\ccba``_\^_]YUTTTY[\XRJGIKNP]gouvz||xtvz~€€{}{|~€ƒ‡ˆŒŒ‡…‡ŠŒŽ’‘Ž’™œ”‚cROKLMLKKKJKIJNONNLQZcinswzƒˆ‡ƒˆŠ‰ˆˆ‡ƒ~xrold^[ZVSPNKF;-*'(((.36:<:9/#

!6HZixˆŽ‘’’“‘‘’’‘’‘“•–”‘”••—˜–”““”———––—™™š˜––—™˜—š™˜—šš™˜—˜šš™™››››™™™—™™™š›››œœœœœœžžŸ ¡  Ÿ¡¡¡Ÿ  ¡¤¤¢¡¡¢£¤£¢£¥¥¥¡£¥¦¥¤¥¤¥¥¤¤¦§¨¨¦¦¦¦¦§§¦§§¦¤¨ªª«©©ª««ª©«¬¬ª©­¯¬¨¨©«­¬­­¬«««¯¯¯­«­¯\YZ[Z[ZY\]^\]]\\]][Z\\]`_Y\]^^\[]]]^\Y]\]]__`aa_`__``_]\]^^^]\UI8!
-				 "$%$"  ')&#"!%%$#$%%##""""#'('&7OZao…Œ~yw|€‚„‹ŒŠ…{tjd^dbbcffdcb\ZSXXalsyyupkf\SCOTZXK:?JTTUWSI\dhi_U^acbbacddeffaVYJTQUSPFDDHIKN]gmmv{€}vy{}~~}~…‚‡‰Ž‹‡ˆ‡ŒŽ‘‡Œ‘—›}_NOKLMMMKEKJIINOMKLJPSUV[_bflrtux|„…ƒ€}vxyskhc_RONKF:,)%&$$%2:BFMTWP?&
%>O]lz†‹Š‘‘‘’’“’’“’”•”””••”—”–’‘‘•–—”˜”™˜™™™˜—˜š™š›››™–˜™—”–˜™™œ™™™™œ›š™šœ››œœ˜™šŸœœšš›ŸŸ  ™ ¡Ÿ ¡žž ¢¡£ŸŸŸ¢Ÿ¤¢£Ÿ¦¥¥¦¤¡¤£¦§¨¦¨¥£¢¦¥§¨¦¥¥¢¥¥§¦©ª©¤¨§¨¨«ªª¨ªªª«¬««©¬¦ªªª§©«¬§®©¬««®®¬¬ª«­[[Z[[[XX\^^^^]\]^][[[\\`_]]]]\[\\\]^]^^]^``__``a`^^``]\]\_`_][N<'						
-"$%&'(())'$! &*&""# "$&((&'&$#"$&&'3DNQZt~}~|~†ˆ‰ˆ„}tkfccfgfegeeeb\XTZakrutogaaeeS=DLNLC:>HPUVWVh‚— •ƒnddcb^\`fhhjnlia[VUTPJDBEGHKNZdjpw}€€~€|}‚†‰ŒŒ‹Œ’Œ‹Š‰‰‹Œ‡Š”™v[MNMMMMNLJKLLKMOMKJIJJMNMMNQSUX[aiotwzz{{{{}{ttqi_UOKD9,(('''*5BHMS\fieO@4$



$?Thu‡‘“’’‘’’‘”•”“““•–””•—–””–—˜—–—–˜™˜™—–˜˜™™š››š˜”˜™—•™››œ›™›››š››œ››žœ–šžžžœœŸžžžžž¢£ Ÿ  ¡  ¡££¡¡¡¢¤¤¦§¦£¨¨¥¤¥§¨©«ª§¤¢¤¥¦§¦¥££¥¦¦¦ª¬ª§§¦¨¨ª¬«««ª©©«­«¨¨§¨«««¬¬«¬¬¬ª¨©¬¯¯¬¬­®[[ZZ[ZZ[_^]^^\][]]\\[\]__^^\\\\\\[^]^^_]^^^]^____^^_^]]_`ba_[UF- 	#'***((),-,+*$&'&! #"""%(*++*(&## )-9EH@O^ov{ƒ„€}vke`bafhhfhbffb^THUdnsoldSKF]iZ>?A@>8.;BIPUXjˆ¥¹¾¹£…i^`_]\aegdjmuywtj`WLKBCEIKLOU^fmtz{{|}€€t}~…‰Ž’‘Œ‘“‘Š‰ŠŠŠŠ‹‡‰‹–—‡mXLMLLMNNMILNMLNONHKJJFMNMLKNNLNPPQX]_bfjuvyutt|ytjbWUG?-,,+*+-<HMOSTaf`ZTOI@4 

-

"2JYjx€†ŠŽŽ’“’’•“““”•––•‘”‘—––—˜•—“”•˜“–’”“•–••˜”••••™›—™›–•–›˜˜™›œ››œœ˜œœ›œ–œ™šš˜žžžž›žž £¤£   œœ›¢¢¡Ÿ¡ž¡ ¥¤¦§§¦¨¨¦¥¨¡¨ª«§¦¡¥¤§§§ ¤¤¦§§§ª¬©¦§§§§¦¦«ªª¥¨¦¨©©©¦£¨©««««¬«¬§ª§¨ª¯®¬­¯©[[ZXWZ\]_]\\]]\]]]]\[\]^__]\[]]]Y\^___^^^_^^[[Z^^^^^]\]_ab_\WL:&"%)-.,)((,./000.)(&$""$&$!$),-.+)('&%*6=DC@FYe|‚ƒ~~€|xutoe``a`ehijhgffb]PEQgprmf[L;=Sk_E6421146;AJPYv¸ÆÌȶ–o]ZZ[^`bdfjoy€…†~n^RMGDFJMNMKV^fmsuxz}€„Š’“’‹‘““”’‘ŽŽ’Ž‘••cOJKKKMMNMMMNMMMNNOMMLMNOMKLMLIIHHJKKJPVgsz|~ƒ…~xsme[K=61.-/5@LQTVY[YXWV[^]RH</

+:O^mz„ŠŽ’”’“”””“”••—–”“•––•••–—•–˜—–•–”“•––—˜—˜˜—–šš—™š™˜™™™˜™š™ššœœ›œœ›šœžšœœ›œžžœŸŸœž ¢¥¤¡ ££Ÿ›¡¢¢¡¢¢¢¤¥£¤¦§¤£§§¨¨©¨ªª¨¦¥¦¨¦§§§¥¥¨¨¨¨ª¬©¦©¬«¬¨¤©©©¨§¦§¨©ª§§¨¨¨©©¨ª¬¬¬¬««¬­­«®¯¯[Z[YW[]\ZY\[\[]]]]\\\^^Y]^^^^^^]]]_\_]^^^``]\[\]^]\Y^^^^_[YXO@.		 %'*/10/,),/1223441.)'&#'*(###*.1-+++*)'*8?B>;K_p„‚„…‚{shiig_``aaeghiheffb_RAUioood`NF;XifVI=:77799=BHPqš²ÂÈÆ¸uUUVWY^^`dhotx~ƒq]XRJHGHIMLOSXZciloty{|€‚„‡Š‹Œ‘’Œ”•““”‘””“‘““•‘“”}ZOHKJJIMNMMMLMMNLOPPONLOONHMNLJIHHHHCJMWlz…ˆŠŠ‹Œ†ƒzqeTC?8406:HRSVXZ[XWUWY``_\WOC1%
-*:Q`o{„ŒŽ“’”””“•••”””–“—•””˜–•–—•••—”””˜™™——˜™™ššš—™šš˜š›š—›™™˜›œœ›š™™šžžŸ™›š›Ÿžœ¡ž ¢£¢ ¡¤¥£¡  ž£¤¢¢¦¢¢Ÿ¦¥¥¦§¤¥¥¥¦ª¥¥¤¨¡¡¡§¦¦¥¦§©ªªªª©ª©­£ª¥§¨¨¨§§§§©¦§©¨¨©ªª¥§¨««­­¬¬­§«¨®­XYWZX\][[\\]]]\]]]\\]__]\\]___\\^_^____^]__^]]]]]]Y[__^_^[XSF2 			%+/14530.-.35567678972)(*-.+(&+1451,-,*(+8?A:9Net}€…ˆƒ{mc^^__^_bddeghfddggdXOYkoqssj^U[fjlxyp^N<;:99=FTjŒž±º¼µ{URUWY[\^adhkklqrj]\UNLKMNLMRTUUX\`cjquy}€€ƒ‡‹‹‹Ž‘“•••“””‘–˜—™™™›š™™š•zWNIKJJILMJKLNPQPNPQQPNMNONMLLKLJIHFFHKPYrŒ‘’Š†…wiWJGFBABKU[]\Z]]][[\^_a`ba^ZQIA/!


1DVhyƒŒ‘’“““”““””“–šš——–——˜™˜•—˜–”–˜˜š™˜˜™œžœœœœš™™™››œœ›šš™šœž›œ›ššœŸžžžžœžžž ¡žŸž ¢¢ Ÿ¢¤¤¤¤¢ Ÿ¢¤£¢¢¥¥¡¤¨¦¨¨¨¨§¦©¨§¦¥§¦¥¦¥¥¦¦¨¨ªªª©¬®¬ªª«««¨©ª¨ª«««ª©ª¬«ªª«ªªªª©ª­­¬­¬¬­®­®XYZ[Z\\X[]]Z]]\]]Y\]\]__]]\\\]\[]]]\___^]]^^^]^^__^^_^]_^\UK;"
				
-!)0465420/.3788:;;;=?CA;544AB6*-2684..-+',3>B;1Jfupz{}|th^WQV[^]aeebffgdhihg_Tblpqz{tgfouip‹ŠlO:::>CT]j}Œ™ ¥¤–xUQRWXXXXY]_^[[Z]`_^WNOMPOOOVVWRWWVS]cglptz{ƒˆŠŠ‹Œ““”••–—“—š›œž ¡ž—xSOJLJJIMMLIMOQRRQQRRONLNLOKKHKLLJIEHKPUex†‘‹ˆ‡†…„ƒxiVIJJIIOYdljfdcca^\^`bdc``YVUZWND:&"=O`n{„Š’“••””““•˜™–—“•”˜™—–™˜—”–—š—š™™“œœš•œš™•™™™šžžœ—›˜–•šš›™˜˜›œ›šŸžŸ—š  ¡¡¢¢ž¡  ¢£¢££¡£¤¥§¤££¦¡ Ÿ¤¢¦¨¨¦¨¥§¨¨¡¢¤¨§¨¢¦¦§§©¨¨¨ªª¬­«ª©ª­®¬¬¬§ª«¬¬«ª«¨­¦«ª«ª«««¬®­«ª«©®¯®¨W[\][\YY[\\\]^Z\\[\\\^`_^^\Z]_^]\Y[^_^^]__]][^`_]a`__^]^^[Q@+
		
-%.46732///27:;:===<=AHWYSJR]dU>.059731.+'(0<D>8Ghx}}~}{olbWNOW`]Y_dfhgghijjihdaflqy~€yqmr{mf”­´¤€X;:>I\ejltˆ††Š„qSOQUXUSUWVUPKIKOU[]WOOOQQSVY[[\ZUQMLSW[`gnv}ƒ†ˆŒŽ’“–™š™›¡££¡ŸŸŸ –xTQKMNMMNONMNNPQRSPPQNOQPPOLKKLLLKKKJLQUlŒ“””‘ˆ……†„vfVKKJJKUapyzyrmhb\Z[^beec`]ZZ]_]ZWM@4$(@Rcr€‰””””””“””•–••–””””—˜—––™™™š›™—š›™™››——˜™™œš››œžœœœ›ž›œœŸ ŸŸž¡¡   ¡£¢¢¢¡¡¢¢£¢¢¡¥¦§§¨¦¦¥¦¥§¤¡¤¥¦¦¨¥§ª¨£¤§¨©¨§¨ªª¦¨¨§¨©««ª©«ªª­­¬­«ªª«­«¨¬­¯¬ª«¬«ªª¬¬­°°®¬©¨¬®­ªZ\\\[[YW[[\]]]\[]]\\\^_^]\[Z[]^]\Z[]^_^^`_^]^^``_____^^_]YK6%		'/46640.//37:::>>=:<>SekkilsyiN4*28974/+%'):FC9Nqƒ†ˆŒ‹†}ndWTR]c_X\bdghgheifgddcgju}‚}wqkus{•«´£U@GLXglmjmprlhtrjRMLPSRLRRLBBAF@BFSXVPPNRQVYXX[_`ZTIIJQQSVafntyƒˆ‡…ŠŒŽ‘˜™š˜œ¡¤ž¡™   ”rTRLNNONPPOMLKNOSSQNQNQSRPNLKJLLKJLLLMQVt‹’–••’ŽŠ„„ƒzt]RKLCJJUes~ƒ~xpcaVZT[_a``]\[\]^Z^]VME=0"
 +EUdtˆ’’‘”•“‘—˜˜˜–’‘‘––——™›š˜›œ–›™›œ›™—”–˜œ›žŸœ–Ÿžžšš›žžžžŸ  žœ¡¢¢   ›¡£¢¡¡¡¡ž£¤¤£¦§¥¤¦¡¦£§¥¦¢¢¢¦¨§¥¥¦© §¨§¤©ª¬¬«¥¥¤¤¥©«ªªªªªª¬­¬««©««¬£ª®®­­¥«§¬«¬ª«¬®ª°ª©©ª«­§[\Z[[ZZ[[[\^]\[[\\\]\\\\\]\Z[]^]\]]]\___`_^___`a`]\____^[TC,

-"'.1331.-.0449:=>>=<=H\krvx{~}nV:+.57861+&')8GGGSy‹Ž‘“„vhYX_cgaWZ_dffeeiieefedeiv}€|uooq}”¦«›xOMQT\fjkinsrmmpphYKJJNOPOMA@ACDDBBIRUUSSRRX\YUYafg]RJKNRRRVXYciov}€‚…ŠŽ‘”•—˜šŸ£¤¢ ¢¥ŸmTRONOOPQQOMLLNORTTTRORSRQNLKLMLKIMPNNU_}“˜™““‘ˆˆ‰‰ƒ~r^OMKKLOWfv€…Ї~xqkgaZRW]`]\[\^``aa`^XUTUKA5!-FYk{ˆŽ”•““—š™™—””•——˜™œž›™šœœžœ™›ŸžŸœ™—”™œœšžžœœžŸžžžžžŸ Ÿžž¡ž ¡   žœŸŸ £££¤¤¢ ¢¦¥¡¥§¦¢¥§¥¢¦¨§§¤¢¥¦¦¤¦¨©«©¨§¦¨¬­­ª©©¨¨¨©ªª«ª©©©ª¬«ª«¬«¬«ª«­¬ª«­¬ª«¬¬«¬¬­®¯°­¨©«­®ZZZZ[\\]\[\\]Z]\[X\^^\^___^]^^^^^__^^_`^`^_a`\_``]^_`__]VJ7
-$%)*++*)+-2589:;><><>L`lpuy{xncT>(*/2551*$&(5EJGU|Ž’†{lY\`fibVXYdgfegjjfghgachu{|}~|xniZs›ž‹gKNSTVUa_ipuvsqpoi^RFIMTRRQNKJHKKICEKSYYWVU[ZWU]cikc[URSVVQWTXYY[ejrx}‡ŒŽ“”šœŸ ¡ ¢¤™‡fVTQONPNQQOKLLOORTUTSORTTSQNMLLKKJOQOKZj…˜››—’‘‹ˆ‰‡„s_PMKHOS_j{ƒˆŽ‡|xsppke^S`_VMSW__abb][VVUZ^\SE6-&6Pcrˆ‘“—–˜”–•••˜——š˜—–—–™›ž——™–˜˜š›œ›šš›œ˜Ÿ œ››œŸ˜Ÿ  Ÿ¡žŸžœ  ¡¢¡ ¤¥¤Ÿ ¡¥¡¤¦¥¤¦§¥¡¥¦§¡¤¢¢£¦¥¤£¨©ª§§¢§¢¬«ªª«©©¨©¥¦¦¬­«¤¥¥¬­­©«©«©ªª«¦ª««¦«©¬¬®®®®¯¬­¦ª­­­ZZVZ[\^^[]^^_^^][Z\^^\^`aa]__`^^^`]^__`a``aa``______^^]ZN;%	 $$%%%$$%*/3678:;=?><@ObknxzyujWN>+&(,00-&$#%1FKJWzŒŽ‡}n\]ejkcYXYcjihgghgikifberz}~~{reVbŒ{]GKPSW_dgjostsplkkdXGIXaehhhhaYSPLFDEP[^`]]]ZTYagikg^ZUTY[][ZXVVWV\bjou|„‰Œ‘•—˜••˜œŸ “`SSSQQQPPOMMLMNOORRSROQUUTQQOONKMNOQRR_w‹˜šš˜˜•‘Š‡…‚€q\PKIHPUetˆŒŽ…xrppqojhdb\MHMZ_`^__^ZWVWZ`ed\TJC9-
3FZl{†Ž’“•’”•–˜—––™›˜–˜˜—˜œ›››ž–œžšœžœœœ›œœžœŸžŸŸŸŸž  Ÿ  ¡¢¡¡¡Ÿž ¡¡¡ ¡¢£¤¥£££¤¥§¦¥§§¥¤¦§¨¥£¤¤¦§§¤¢¦¨¦¥§©©ª¬¬©ªªªª©ª©©«¬®¬©§©­¯®««¬«ªªª«¬­­«««¬­¯¯°®®®«ª¨ª®®®[[\\\]^]^^_^__^\[[\\_]^\_`_]_`_]^__^^^ab``````__^]^^_^ZSD*$&$##$!! (/233478=@>:>Qcgowy||qbJA/)$&('%$""$8LNGRq„ŽŽ‹Šƒzpalyvpe\WV_efefbdcgihecdow{|€vfU_s|u`RGLVl€†ˆ…|xupjhijh^M[iu||{{|ysi`\OJ=O\beb]bb``gmmle\[VY\]^^^ZYZZYY[\]aiqz‚ˆŒ…{ƒ•›Žv_NQPRQPNPLJJLHMLOQQQQNQTURSRQQOJMNOQTWd|Ž˜˜’——”‹Œ…ˆ~}{mVRMJEPSfw‰‹Œ‚mf`ggfegf^RPLW`aYXWZ\\YXY]`efbZZYSJ@3(
%=K]lw‚А‘”––˜–˜—š˜šš˜˜™œ•žžžœ˜žŸ›œœœžžž ™š  œ Ÿ¢¡   ¢£ ¡¡ œ¡££¡œ¡¥§¥¢£¤¨¨¦£¥¥¤¤§©©§¥¦§§©££¢¦¦¦¦§¨«­®¬ª©©¦ª©«««§ª¦««ªª¬®®ªª§¨¨¬¬­©¯¯­¬¬¦¯®°ª«¨®­«¢©¬­¬Y]^^\]]^^^[_`^]]\\^_`a`__`^]^_``_^_^]^aca`^_``^`_]]__^VJ9"				&)+.1/)#"&+-./137:><7<Qenqwy|p[E2+$"!!!!!%<QOFMfz„ˆ‹‰†€xpl|“™zjXTX^addabbfhgfcelsy|ƒ€wgU\jpqpl[FAPt‘›™”‹|ma_eiga`m}…‰‡ƒƒ„…†„sfTEO\dhecdedcimmiaZ[Z[^^]dd[[bfeb\YVWZ`fpw~€~pfew‰•ˆq^QPPRPQPONMKLMMMNPQPOOQTTSRRQPOONMNQSWi}›˜‘””ŠŠ‰‡‡‚yiTQMJINQdxƒˆ‰ˆt`\[ZY[^^TPU[`ca^[XUY\\[[^bfgc```_][[bJ7)
":K\o‰•–—™˜˜šœ››™™šœœ›œžœžŸœžŸžžŸŸŸœ›œž›Ÿ¡¡¢¡Ÿž ¡¢¢¢¡  ž£¤¢¡¡£¤¦¤¡¤§¨¨§£¤¤¥¤¥¨©¨¨¨ª«ª¨§§¨©««©¨©­­«ªª¨§¨©«®««©¦¨«®®¬¬­¬©¦¬¯­¬¬­­­¬¬¬®¯°®¬ª«­¯¬¨ª­°­[]^_^\\]^]^``__`^]]]`bbaaa]^^___^_`^_`a\`b`]^_``_]\Z][O@-			"5?GJLMOKC7)($'(*,/158639Meoqqvy{|oZD3,%#"';NN>H_ov{‚{vpnª³­†vXWX]\\[^cffd_][gnuz~€}ueWY`b_gkdPLLm…‘—–—~fRW^bccfw…ˆˆƒ~yt{ƒ……xjWFQY`ddcc\`_\Y[ZVVY]]^^_ii^\flkkga\XWY\]_cilbW]d€k]POPROPQOLLLOONKNOOPQQSSTNRPQPONNNOQSUg‚’›™‘’ŠŽ‹‹†‡„„weQNIHGLQg|‡‡ˆ‰‰~p^_VSQPNRS`fd^^_^[ZYaa^V^acdcba[\\ahh`QD9(
&BTdr€Œ”””™™˜—™”›››™šœ˜œšž›žŸŸž˜›”Ÿ ž™œ˜™ššš ¡¢ž¢šžŸž¢¢¡žŸŸ¢¡¡¡¡ ¢¢¡ ¡¢§¨§£¦¥¦¦¥¥©©¨§©ª©§¨©©««¬«§¨¤¬¨«¬ª£¨¦ª©¬«©§¨«®®¬¦«­¬¦®¯­«ª«¬¥«ª¬«¬¬­««¬®­®©­­°¯\]^^]ZY[\_____`a`_^\]ba```^^]__^\`aa`a`]_b`\^_``^]Z[ZVH4
			
-
3O^dfefjg_P@-(''&)+-15316E]jklkkkj`Q@7/&# #(9LMBC[gjluxyvrp ¸¿½¶«™{f]ZXVU[bde_YU]cjpuy|ypbUPTVX^eijc^at~„†Š‡|]QP]_^`gr~~yqmjkv{{qeWORW[]`ca[ZTD@BBDNYabcejnj`\gmoqpmhc`^\YYY\^USW`y‰|d[QPQPOPPNLMNQRPNPRSRSRSTSQPPNONMMNPRSSf†–™—’Ž‹Šƒs`NKHFFLRl‚Œ‘‘“Š~rjf_UJFSakobZY^_\]aglga`bcbbb``_\aeea\WRMD9.#(CXm{…Œ’–—––˜œšššš–š››œž™   ž›œž žšœŸ žž¡£¢¢ œŸ¡¢£¡ £¡ ¡¡¤£¤¥£¡¤§§¦¦¥¥¦§¦¥¦¨«ª¥§¨¦¦§©«¬««¬­ªªª¨«¬«©ª¬ª§ª¨©ªª¬­¬«ª©¬­®­®­ª«­¬ªª«ª©¬«««¬®¯¯®®­®°±\]^][ZZ[\]^__]_]``^\_a`\^]____`___```a`^^_`]___`__^\VN>'
-		
-=\nwwrrswsj]L70(''+,020(/;OZXTQNOOMKA5-$#  !%(:LNGKZddgijmkgpŒ«»Àþ®‘mY\ZXW[^__\V_efgnnqusk_PRJKJQXfrspljihjlsvpd]ZXS_gimspicegghfb\PQLSVYV_b`\WIIIE@@AO\cfjooj`_hmorqpmifb^ZYQVWRJS`y‡x_YSQMQOQQNKMORSROTWVUSQRTSPPPPNMMMMQQRTl‡—žœ˜•Ž’Ž‚p_EKFEFOUp†”•’’‘†zrkbWNEUdpugPSSVX\bmurmkii`ca`_`\`__[[V[XSMD;2(
$5N\jy†‘’™œ›šœœš–ššš›š—š›žœŸžŸ¡ œž¡£šŸœ¢££ž¡œŸŸ  ¢££¡¤¢Ÿ¡¡¦¥¥¥¥¢¤¦¦¥¥Ÿ¤ §£¡¡¨««¥§¨¨¦§ª«¨§§¬¬«¦ª¨§¦«¨«¬©¤¦¨«­ª§­«¬««¬¬¬®©ªª¬«¬««««¨©ª«¤«­¯¯¯¬¯«°¯\][[\\[\\\\`_^^___^\^a`\\]`a_`__``^]^_`_^__^_____a_[RC/"			
-*C^r}~}}€~wgR;0)'*00.+&'3BGA;657>BE;/&$"!&*)(();JMIMW`dedbcaarš±¼ÂÆÅĸŸu[]``a`^_\[^elmkkiglli\]^YNJGQ^t€‚ztmgZWZiqh^UPQ`nqtoh^dmrpkaXOPQRSVX[gssiTXbjaR>9>Q`kmpoh`djnpqqroigd`_\XUSOJPaz„uZTRRQQSRPOOOPSTTWZZYVSQRSRPPPPONMMMPPPYq‹™ ™–•““•••‘‚m\NKFEGR[tˆ–•’“’‰{rh]VPFPdsypcOJLPVdr|{yxvrnjgd`_[_^\YZ[YVQKHCRQ=



"5Mas€‹•››šœœšš›šš˜˜™šššžžžŸ  ¢¡ŸŸ ¢¢¢¡¡  ¡ ¢¤¢¢¡¢¡Ÿ  ¦¦¦§§¢£¤¤¤££¤§¦£¢¢¦©©¥§©¨¦¨ªª©¨¨©«©¨«®«©ª«««¨¥¨«¬­ª©¬®­¬­­­­¬ª«««¬­¬¬««©¬®«¨ª­¯°¯°¯®¬¬]\\\^_^^][^``\]Y___]]]`]^^`aa`^_``_^^^^]]^^]^^^]^`]XK6'2GWmt{|ƒ„‡ˆ„udP;0$)-/,(!'/;?7.,*-124-%$"!!'-0,,+=HGEKT[cffc`^[¤·¿ÅÆÆÃ¿­‹a^^^\WUTSV\ekkiiijjqrxzn_VWWam„Œ~zwo`^VZ\SKKL`nrrj`fnwzwqh[XVVTTUY^q„…{nky…~mS:=C\joqpbekptssuwrigeddb]YRNHPby‚nUSRRQQRQLNOQSY^`defcZWRSPQLPPPKNKLMPPU\uŽš œ–•””””••ށl\OLGHIXczŠ‘—–Šuk\YVPDMas{xo]EMLYgt||yxxwvrkjbb\a^]YZ[WLM<;>RcH%



-*<Tfw„Œ—™š™›•›šœœ›˜™šž˜ ŸžžžŸ  œŸ £¤£Ÿ¢¡£¡£££žŸž¡ŸŸž¤¥¥¦¨¡£¤¥¤¤¡¤¤¦¥¤¤§£¥§¦¦§§§¥¨ª©£¤¨§¥¬®­§¨¨¬¥ª¨ª­­¨«ª­­­­­©©ª©£«ª«­°ªªªªª®¬¬¨ª«®¯®­¯¨¦¦]\]_```_][]a`]\[^``_^^__^^^`___``_[\\]]]^__^^_^\Y_[RA,
-			
(<KZjtv|€‚ƒ‡‰…|n]K:,&)++'$'/9;0,)(#*'+$$#!!!"+1559AGC?BNW_cc`[ZjŒ­½ÃÆÆÅÇż£ƒe`ZQFBAEOYaggfilmmz‰•œ”mcbecd~”Ÿ–ŒƒxlaTPD@EK^nomgenx|}zwrnhd_VRQU\p†Š‚ys…Žƒc=5EZipuqii~ŠŽ…tledfihd\SMJQfy|dSSSRRRRPNMNNTbrywvwsj^WSPQRSRPONMNPPQW_y›ž˜–—˜—”’“‘Šl[ONMMQ]oŒ–•“„wjb]ZUNJKat~}wj\VU]htzzwtuxywupkhhf`^[Z]YSKA86@PB 

-	.DYk~Š’–™ššššžœŸ ŸŸžžŸ¡Ÿœœž¡  ¡£¤¤£¡¡¢¤£££¤ ž žŸ¢¦§¨¦£¢£¤¤¤¥¥£¥§¦¨©¨¦©¨§¨«©¦£ªª©ª©¦¨¬®¬«ª¬«ª¬®¬¯­««­¯¯®­ª¨ª©§¨««¬°±¯­«©«­ªª¬«¬­®¬­®­©ª[Z]]^^_^^\^`a_]\^`ba__``_^ab`^^^^^^_^^___`^[\]\\]]VH6 
					1ER^jsx|€„ƒƒ}yqcTD0*&)(%$,59642100.-*&#!""$%/8?CGJD7;EOVY[YVZq˜´¿ÃÅÇÄÇÉÆ¹¤‹ldPI=??KQY]_bdgiky’¡§œ|jifhev‹ž©¢˜Œ„|riYUCCCS^_^]amvxy{~}vjeZOHFHH[lpomn|€‰„e??K]jouuo‡Ÿ®µ¶µ¯¡‹qkcjonh\OKBUnzw`SSRRRRRQPONPR^€‘•Ž‹†}mYUPRSSSQQQOPQQPYa}“šš—’šš›’‘‘ˆ|kZNNKKL]q‚Ž”—–•q]`_[OMMZgv~yshc\ejvyzusnvxyzumprpd`]\][VOE<1;D4
-
-	
-
-
 <MhwŠ’—˜šš™œžŸžœœ› œœ›œœ› œ ž¢¢¢¢¡ ¢¤¢Ÿ¤¤£ž£Ÿ ¡£¦§£¦¢¤£¤¢¥§§££¢¦§©§©©©¥©ªª§¦¢©§©ª¨¨«©­ªªª¬¥®¯°°­©ª©¯®¯««ª«¥ª«®¬®®°°®«ª«®§­«¬¦¬®­¦°®­«Z\\\Z]^__`_``_]\_abbabba_^bd]__^__`aa````_Z\\^^^]ZN;%
-
-
-
-						
-
-&9LW]isz}†ƒ~wwwsfYL8.&&%#!$,3569:9961+'# ""$%*8AGKMD83=FPVWUSZ|¢¹¿ÂÆÈÅÇÈÉÆ½ª•pVIBCGLQUWZ]_bgu‘ ¡šŽrpponnvŠ—™“‹…„ƒ~yreNEENPRRYfmjqw|rf^J?7<?@ANVY^gpy}{`==O^intvŠ¥¾ÈÌÎÎɼ¤Švnosqi\OICYt{r\RRQRSRQPQPPQQ[~œ©¥”ˆwbUQRRRRPRSSRQQS\h€”šš˜™ žœ˜—’‰zfWMLKJI[p„“˜˜˜”Œ€idb^YRR[dlx€ysooqux{zxuqswz{xpvyvsmh`^\XRKA9;@.


-
-
-
#6HVgy‡”––ššœŸŸ¡ ››œ›œž    Ÿ¡¡¢¤£¢£¤¡ž¢¤¢¢¤¥¥¢¦§¦£¦§¥¥¦¤¦§¦¦¥¥¦§¨©©ª©©©©©§¨¨§¨«­©§ªª­¬¬¬¬¬°±°°­¬««®°®¯®¯¬«¬¯®¬­­­¯­ª¬¯¯¯¯­®­­°¯¯±²­ª[]]]^]^__````]\\___`aba``_aa``a``___`aa``]^__^]]ZTE.!						,<NW\hszy~‚|yutoeZO?/$# $%,1369;70*"" !"$%.5<AJME;:<FOQQONZ€¥¼¿ÀÄÇÇÆÆÄÊÆ½²¦™‡o^JKKNHNMQRSTf{††yvsrpmhd_t€€~xry~€‚„€rcXDCCKS]bfkqto`deV:88889<HNU[`fggV=DKZcmv{˜¶ÉÍÐÓÖÔ˳˜€ptupg[OJE_yykYORQSPPNOQQRRPWgˆ §¤™ˆvcSNQPQRQRSSSPRV_n‚•š›š— žœ›–’ŠwZQGKIKK_rˆ—™–‘Œ‹ƒwoh\YUakno|ƒ…„~usty}|}{yxtuuwwvpwyxutqlcaZUME<EC+

-
-
-
-
-
-
-
)GYhwŠ“šœžŸ ›š™›™Ÿ žž ¡Ÿž¢££  ¡ Ÿ  ¢¡£¥¤¡§¨§¡§§¦¤§¦¥¦¦¦¦¦§¨§¤©¤©¨ª¤©§ª§¦¥«¬ª¥«¨­­¬«¬®±®¯®­©¬­­«¬¦®­­©¨¨­­®§¬«®¬«¬°¯°®°«­ª°°±®­¦\\]]]]^`___aa`^]^^]]____aa`^^```^^_^^```````_^\[VL:&			#0?NX^hrwwy|}|ytpibZQD0!  ""%'-262+! !"#'*-036?IMF:9=HPQOOQYr¡·¾À¼ÄÄÄÇÊÊÇÃÀ¿º¯›~dVTNLKKIHEEI\db`bhvurjd`cn~{rkkiqs|„‹Š‚nU<;DLU[bijh`cjulYG:9766AJNNJQRSQOMMV`lw€™µÅËÏÓÔÓʶš‡{wunbWOKGc|xcURQRSTQPOORTRPT\oŸ–ˆp]QLOPPQQRRTSQSV`o„“™œ› Ÿœœ›š”ŠtYOGIJLPdwŒš™‘ŒŠˆ…~tl]X^nz{{~…Šˆwqt|‚ƒ‚}yyywtuvtsvxz|{ytof`XPGDKF(

-
-
-	
-
-
-
-
-G\q„–™›œ›žžžœžžžŸ¡£¡Ÿ¡¢¢¡¡££££¡¢¡¢¥¤¡¥¨¦¤¥§¦¥¦¦¤¤§©§¦¤§§¥¨©¨¨§©¨§©§¨©©©ª­«¨¬¯®«ª«­­¬«¬­¬­¬¬¬«¬¬«¬ªª­¯®¬­¯°­««®®®°®«¬®®¯®«­¯]]\]]X^^^Z___`^[^]\\^__```___^___]``_^``a`a`_^][QA-						)0=NX_empqtvvusqld^VPE1  !""#$(,*" !#$&*/32.4>IME88=IPRQONS^„¦·½¿ÃÄÃÉËÊÄÃÅÇÆÁ´š~hTPOPOKID9DBOISYjvunjbdhz|udknnputz‚†‡v_H:FGUWadcbv€ˆ…uZ>:434@IMOMMTWXXVNVWgqxŠ¥»ÇÊÐÏÉ¿­—ƒwusmaZMNKf|x^WQOOSSPQPNQSRQSViƒŒŠ}m]IMLOOPQRQRPURSP_p„‘”—›ž  š“››—‹tWPGICNSj~™–‰„„ƒ|sk[\gz†‚vyˆŠ‚yrn{ƒ„„€uyzxtuvutww|{{yvmje]SIDND$
-
-
-	
-		
-
-
-

1?Tdq~‹–š™œŸšž ¡¤£Ÿ¢Ÿ¢¢¢££Ÿ¤¡£¡£¦¥££¤¥ŸŸ¡¦¤¥£¥¡§¨¥¥¦¦§¤¨¨§¢£¥©©©§«ª¨¦©¬¬§«­¬¥¤¤©ªª¤®­­«­«¯­¬¨¨ª©©®°¯ª®±±­¬¬«ª­©®­®­¯««¬®­]^\^_^^^]]]\]]\\_`^]_```_^]_`__`aa``````aaa`_^\XJ4
-		$/5<MW^bghkmnnkkmicZRMD2    !    $"! !#$&+152/4@HKD86;IQSTOKHNd‹¦·¾ÄÈÉÉÉÆÄÅÉÉÇÆ¿®–wWKOPNLIDBBFKLNUfoogiqu|~sghovxyxrsuwzp\KFJSY^][[sŠšžŸ—‡f>7226BINRRTWYZ[[YVZdijsŠ­ÃÈȶª›Šzwsplg^TOUj|lYQOOQQOQPPRRSUVWbszr`SHGKNPPNQRQQTVTSO^u…‘”–›  ˜’™—‹qTOMKKOVp†‘•‘І„‚}vog_`u…„tu}…‡zspxƒ„ƒ{{zz{}}{y{{{{ywtpkaTLLMA!

-
-
-		
-
-
-
-
-
-




#5Pg{Š”šœ›™ ¡¡ ¢¢£££££ŸŸŸŸ£¥£¢¥¥¥££££££¤¦¦¥¥¦¦¦¦¤£¦¦¥§¨§¨£¥§¨©©ª¬­«¨§©­°¬ª©©¨¨¨©©«­®­­¯±¯­¬©¬¬«ª¯±¯®¯²°®­­¬ª¬®¯¯®¯°±°¯¯­_]]]_]]\]^]]^]]]_a_]````_]]]````ba_\`a`````^][YQA)		2:>HNZabdddgjjfkjg`WKJD6$""""" !"! !"%+152(5AFGB98;IQRSPKG?Qf®½ÄÅÆÅÃÄÅÆÇž·§—wYIEKNKFFAIMQPQR]b_\et{vdikv{~}vutsnfTKFMVZ[WM_}•££¡˜ˆd94/6:FKMORUVWY[___^ec]U{£»Á¹­œŽ…zxwumkif]_cŠiVSPQRRRQQQORTUSVZXUPEHJNPRRPPQQPSTTUQbyˆ“–—™Ÿ¡œ•š–ˆnQQOMLP[u‹Œ…†ƒ€wnedcm~‹‘†uu|„‚‚zujsyƒ…„ƒ{{{€€€~}x}|}zyxuoeTPMK;

-
-	
-	
-
-
-		
-



+@[n‹’——˜ŸŸŸžŸžž¤¡¢¢¡¡  ¤¤£¢£¤¤£¢¡£¥¥¥¦¢¥¦¦¤¤£¤¤¦Ÿ¥¨©§ª¥§¨¨£©¥ª«ª§¨¤®®«¦¦¨©«ª§ª¨­®®®¯¬®­­©®­¬¬­­­¨¯¯­¨­¯­©¬¯¯ª­¯±²²±°¯^[\`_^]]\_`________^`a]__^^^__`_``__ab____[Z\]VH6'				'?NVX[_bb_\]cgjkjid]ULID:85.)*)$! !!"!!"!$.34315ADE@:8>IQRRPME>CSs¤ºÂÄÿÁÄÆÅÅÀ¸¬œ‹ydN??EKIGEGLPSTRQUXVU`owwohnu|‚ƒ‚~{yuoeZLGMRTTNRe…˜£¤¢—„]956;BHKLMOQORW^bcdfd^SKp®®£”€xtstvtpkipz‰—¦¯­Ÿzmg]UTTSPOOPPPRSRPILJJKNPQSSQPRQPRQUWYg}Š’“–—˜œž›š”…lQQOMMR`|ŽŒ‡…„…ƒ|rhb`etƒ’ˆxv|„‚vkkv„ŒŒ‰†ƒƒ…†‚€}|zzwsj^UTJ4
-
-
-	
-
-	
-
-			
-
-




-
-
-


8Pfv†Ž”šžžžžŸ¡¡¡¡¡¢¢££¤££¤¨§£ ¡£¦¤¦¦¢£¦¥¦§§§¨¨¥¥©ª«ª¦§ªªªªª©§§¨©¬¬ª¨§©©«¬«¬ªª¬®¯¯®¬¬®®¯¯®­®­««¬­¬ª§­®­«ª¬­®®¯±±±±°°]X]a_[\]^`a]````__```a`__^^]___^^^__``_]`^^^_\O=,
-				2L[dedc^]ZXU`ilnlfaZRKF@FLNLIE<0$!! "##"#!*37;94:BD@=:<AIORRPJD<?Ek¸ÂÄÂÁÃÈÊÉÇ¿¯”qaE=763=CC<DFLMQSRNSUUO[ehihfox}~„€{wpeYKJHNSZb|›¢¤¢–‚`??AHONMMJKKNPX_dffeaYOHo™žŠzjb\aemqqikmuŒ£¸¼Ãº¬žŽsbTVTPONOQNPRQONMMNOQSSSSRQSSSSTUVXm‚‹‹Ž’“’•—›š’jRPMMNVfމ‚ƒwgfdgj{‡“–‰zzyz}‚yoor†‘‘‰ˆ†„‚†††…ƒ€€€€z{sxulbZVH-

-
-
-		
-						
-
-
-
-
-
-
-*DXl}†•˜œ˜Ÿ¢¢ ¢££¢¢£Ÿ¥§¨¤¤¥¦¦¥¡¦¢¥§§¦¦¦§¦©¦¥¦ª©©¦§¤«ªªª¨§¦§ª­¬©«¨©©­«ª©ª§¨¨­®¯©­®°¯±¯®®¬«­®­«ª¨®®­«¡–¤­¯¯±¬­®°°][^_][\\]_aa_`^_\^acaa^^^]]]^^]^^```^^__`__`^VE/
-		
-#=Vckllhd\WUT_muxtm_WMGCAKX]^\XI3%!   ""!#$$$%&.;@A?=@DE@<9>FILPSOIC<<Ecš¸ÆÇÆÇÊÊËËȽ§„`D4.121279:?FLNOPOOORSQTYZ]aeouz|„‚€€ƒƒ{reWMFLXn}Š•™œžž•„cNQ_msriUNILNPW]cgebZQJFl“ŽtTGCKP[dlkilpvŠœ¦¯·¾ÁÁÀ±”qTUSRQPPQRQQOOOOOQRQSRSTRRUUUUSTWYq…‹ŒŽ‘Ž‹‹“•–™œ’€hRRPPS[jŽˆƒ‚‚|rgegnx…’––‹zzw~‚€~zvnp†••”‘ŒŠˆŠ‰…ƒ„…„‚}xwtk_YVF&


-
-
-				
-
-	
-
-
-
-
-	
-
-
$2K]oŒ”šžž   ¢£¥£¢££ ¥¦§¦¦§¦¦§©¦¤¥§¨©¨§¥¤ª¬©¨¨©©©©«ª©ª«©¨¨§¨­­¬¬¬©«¬«ª«ª««ªª®¯°¯°¯°°¯±¯ª©«®­«¬­­¬®¬”›ª­¯°¯«®°¯\Z^^]\\]__a`___^^_abba^^]\\]^^^`_`aa```_`\__XK8!
					
-
--DXemoplbWNRWdq{ƒ‚|oWNB>:JV[_^ZH/# """"#!$&%$&(5BEBABDGD?:6AHJJNNNID=JMi—ºÈÈÈÉÊËÆÈȶšuS<-0220/-/1<GJLLKKKORSPQRUT`dnov|€ƒƒ„„ƒ€xgUG9ERaov|~‚ˆ‹‚mYpƒ›–‹xbXMROW]cfc[VKLEh‡}\K?GKMO[cloqtux€…‹•¢«´¾¹¡oSRPRRPLQSRONNOOPRQOPKMOQRUVWXWRY\t‡ŠŒ‹ˆ‹ŽŽ‘”Ž|dQSSTT^o…Š†‚~vl^hmv~”˜•yyy‚„€zzwrp…•–“’’‘Œ†‹…ƒ‚„„‡„~vwqj\XT@
-
-
-
-								
-
-	
-
-	
-
-
-
-
-
%4Paq~Š“—šžŸ ¡¤¤¤££ ¤¥§¢¢¢¤¤¨ª§¢¢£¨£¨§¦¥ª¬ª¥¦¦ªª©¦«ªª¡¨©ª©©««©¬¬«¬­©¬¬«¦¬¬­«°®°®­©¯®°­«ª«««ª¬¬­¨¬ª¤ ¥«®®¯¯®¯±«\[_a__`_`^``^]^^[^abba^__\\`a``___`aaa`aa`^\P=)				2FWemqsk^MJKXfrŠŒ‹lTB7;JVY]\VD+! "#"#$$$'&$(1<KHBCFIKF<98CIIJOSMFBN]jt¸ÇÈÉËÍÍËËÆ®Š]B3.3410-+(09DGFHKKKNQQNKPU\bimosy~‚~|„„‚€vaK;8=EINRV[ajw{xtu…—¤¬«¢‘|h\VOU[cea^VRPUfqkZHKLMKJQboy{}}€Œ—ª²˜jQQPPQOOQQPOONMNOQOMNMLMOQSUX[\[[_u‰‘“‹‹ŠŒŽ‡waVSTUV`t‡‘†~yqg]jv‰“›œœzz}ƒ†‚|wtpq‚’”“”••”’‘‡„†‰‹ˆƒ}{xrhYOL;

-						
-
-		
-
-
-	
-		
-
-
-
-	
-
-
-
-
#3Mbv…”›ž ¡¡¢¢¤£Ÿ¢£¤¥¥¢£¥§¨¦¤¤£¦¨¨§¥¥¦§¨§©¦©ª¨¥©«ª©¨©¬ª««­®­«©¬­¬­­­¬ª­®¯¯¯®¬­¯¯¯®®®°®«ªª¬­®®«©«®®¬®­®®®®°°][`a`ab`_]]^_a`^]_aba```^]_``a`^`ab`a```ba]XI2#
-						
-0CUclpsl\UPTXfq}‰ˆzbIDBOW[][VC+""!#$$%&'&$,?LSKAGLOOG:9<IJHIQSMCBSj}¦»ÆÉÈÍÏÎÎÌÄ£tN420661-..03;@ABCDGGIKLKLPX_elnpru|~~{€…„€yjT<98;@DCCCA?MYafiq€‘›¢ œ~m_]QVX`cba_\^hx…yh\TOLK@Rdr{||‚‚|{y|yƒ’„_OPKMOPPPPNLMKKKOLNMPNMLOQRMUY\[Zaw‰”˜“ŒŠŽŒƒrcUTQTR_w‰’…wvlf]o|…˜ ¡ ”~~„‡„}ulif{Ž•‘˜—˜˜—‘‘‹ŠŠŒˆ~}vtrgURL7
							
-							
-
-
-					
-	
-
-
-
3BXk}‹”›ŸžŸ¢¥ ¤¢¤¤¤£££¦§§Ÿ§¥¥¦¨§¥Ÿ¥¦§§§¦ªªª¦¨ªª©ª©©¨«¨­­®«©©¬­®«®®­®¯­®©®­®°­¨¯­­¬¯¬¬««¬¯¯­©­¬°¬«©¬¬®¯±¯^^^_`ba_^^^]`a`^^`ab`^__]^__^``abbcca``_`_ZQ@+
-								
-
 +>P^impkc_[Y[en{†Š‰‚wgNNQTW]a^UA)# !"#%&&'&#%0JXWLGKQRPG;:KOLGKPRKBBPi‚š²ÁÈÊÍÎÎÍÌȼ•_<115770037;>??ABAAAA@DFHKRZ_gmprstwz|~ƒ‡„~o\E<:::>@@AA=73>HUYaoŽ•“‹~rnj_XW\]^ba^bn„…ufVMJHHUit{}€ƒ„ƒƒ€€z{xiTNNMKNONMMLMLKKMOPOQQONOQTRQRTVWYdyŠ’–”ŒŒ‘‰ŒmaTSQRS^z‹’Žƒ}wpjghuƒŠ’œ ¤¤›‡„‚„‡‚zqifgtˆ“˜˜™™™—–••“’ˆƒ{vpeSSL3

-					
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-	
-
-
-
-	
-
-
-
-



.HdyŠ“™ž£¥¦¦¤¤¤¤¤¤¥¦¨§¨§¨¨¨¨¨¦¦¦¦¦¥¨««ª««ª©§§©¬ªªª¬®¯­«ª©ª­®¯®¬¬¯¯®­­­®¯®©¨­¬¬­¯°¯¬¬­­®­¬¯²±°®¬¬¬°³±¯^]^^^``]]^]\_````aa__]]]^^___^`bbbbba``^^]UF4!				"&4BN[ckjeggc]eku|reTLGHOSW^`ZO;&# "$&('&$#"1NXXLGPTSMG<EPSNLLMNG:<@Yu˜¸ÆÈËÏÎÍÍǯ‡O?/3576316:BFD>BCA?<6;?BELT[`glpqsrtux{…€tfOC==>=<A@CAA:76AKNP[j{‡‰ƒŽƒtdXXWY[ZVXdqzunaOLHHH[muz~„‚‚‚„|kdPJEKLLLMLNORTRJKMPOOPQMOORSRQPMNMXh|Œ‘““Ž‰‘‰Š†yf]RPONHd€Œxligik|А—  ¥£‹†ƒ‚}uob`^p„•””–‘——˜˜—•‘‹Š†ƒyxqfTUM1
-
-
-					
-
-	
-
-			
-
-
-	
-
-
-	
-
-
-	
-
-




'FXgv‡•¤¦¤¤ ¤ž¦§¦¤¨¨§¥¨¦¥¦¥¤¥¥¤¥©¨««¬®«¨¨¥ª¢¨¦ªª¯®­¬¬¨¨¨­®¬¤©ª¯­¬ª¬­®««§­ª®°°­®««ª«¬­­¯°¯¯®¬«¬±²±ª]]^^\^__\\]]_`aaaaa```__``\`a`abba^a`_]]\ZL8$ 
		
-%()2:HWdhgllgccfmrgS;:017EPZ^_UE0$"""##')($"""4O[YNMRUTMHDKTTPOLJHA76;Ef•¼ÈÈËÍÍÎÌǼ£ySE:646653:?EIFCDDA>756:>DMT[afkmnpqpoorx{xpaOA=@BAABDEFDC?==EILITcu}„‹˜¢ ’lXQQRRQMJSY\]^ZVRMJPaqv{}€‚…‰’šš–m^KAAHKJJKKRelhZMIJMMNPQRQQQPOPNLOPVj’Ž‘Ž‹‰†€rbYRONMKk†‹}rhdbgm‘𢤥¥¥žŽ†…}zvm_^[k€“”•”•–™›™——“ŒŒ‹†|xhTWN/

-
-			
-
-
-					
-
-
-
-
-
-	
-
-
-
-
-
-
-
-	
-
-

#A\uŠš¤§¥ ¤¦¦§¦£¦§¦¨¨§¨¨§¤§¨§¨¨©«¬¬®¬§«®ª¦¨«««­®­®­¬¬ª©¬ª¨©­­­­¬¬®­¬­®­®®°¯¬­®®«¬­­­¬¬¬­«­­­­®®®^]^^^]__]]^``a``bccba```aaa`babcba`a``^[[TC*								
-
")+,-46JX\^aea^^[bbT6:<:777IW\\N7)!#%$%(+*&!""1M\aXMQTSKFDQXWSPKFB<68;F^˜¿ËÊËÉÍÎËŵ˜w]OC:36764=CFGEDKOJC</57=ENR[afhifjknmmhlomh^O>;@CBADEGHHGFBBBFGGJT^ht…¥¢’ƒpZOHJJJFKNRGWYY\\YZ\juwx}Ž ¬­¢’€o_KA?HIIIJIf€Š†lHDCIJLNRQRPNOPOLKMMXnŽŽŽˆ‡‰}|nYVRRRQPsŽ”‘Šzo_^]dm†™£««¥©¨Ÿ“Œ†€yzun]\\h}Œ“–”—Žšš›•—˜—Ž‰ˆ„€zkUWK+
-
-
-	
-	
-	
-
-
-				
-						
-				
-		
-
-		
-	
-
-


-=a~—¦¦¡§¨¨¤¥¤¤ ¦§©ªªª¨¦©ª©©©§ª«¬ª©¨¬®«§¨«¬««©««¬­¬¬­«ªª®­¬¬¯®¯¬¬¬®¯¯¨¯«°­¯°°«­«®¬¬©­¯°¯®«©¨¬­a_^^___]\]_`aa__bdedbaa`\bccbaabaaa``a_]WJ5%
-																	
-"*03337?EFIOVWVVVVRA?BHGB;;CT[YF." "$%%'*+(###.J]g^NQTOGDLV]\YRIC<75:?Js¡ÃÌÏÎÎÍÌÈ­whXG=9898;AFFDEKT[ZRF:55;HOR[adgfdehklib_cb_XL;9>BBBEEHJKJJJHFBABFJLM\w” ‚p]KEBEHJMPRPT^grwqieqyyz|~’§²­ ~paMB>GKKJGSw—¡›{N@@FJKNOPQROOPOLKNNZp‚ŽŽ‘’ŽŠˆ…€xiWURRSUX{–š•Šxl]\\brŒ «±¯­«¨Ÿ•Œ…~zzypfcbg{‹’˜›™™šœ™—˜š™–‘ˆ…~{n[WH(

-	
-
-
-
-
-
-
-							
-
-	
-
-
-				
-
-			
-
-
-
-
-	
-
-
-
(Z‡¢¤¥§ª©ª©¦¥¦§©ª«ª©¨§¨©¦¨ª¨©ª¬­¬¬«««¬«¨©ª«¨©ªªªª­¬«¬¯¯¯®­¯²±¯®®®¯®­®±±°°²¯ª¬«­­­¯°³²¯®«­©©¯b`_^`a_^^^_^bba`cefeba_`accaaaa_```]_`]ZP>*																							
 )0589:<<827>DHJLKJFFMTTOG@FO\ZC$!"#$%%"')'##$2H]f^OOOI>FQ[b`]SIA777?B^…¬ÅÌÐÐÌÎÊú¦‡|n[F=79;<?DHGDGNYcb\PB94<JQT\_bddcdffge^\YTPOI;5:?ACEEGILMLHLID;=AEFGJn…•“‡yqcXJECNQ^dbZ^cp„yg_lsvzzz€ƒ›¬®š˜Š}paNC>FKLKQ_ƒ ¥¡UF>FHJHLLOOOLNOMKPN]oƒ‘“ŽŽ‘ŒŠŠˆufWTQPRU_€›Ÿ™wk\[[l|˜ª¯²­£¨¥™ˆ†{puwsggcj{Œ’œžœ–—˜˜“››—”Œ…yn^WF%

-
-
-
-
-
-	
-	
-							
-
-
-
-
-
-
-
-		
-
-
-	
-
-
-
-
-
-	
7| £¦¨¦ª¬«§¦§©¤©¨©¦¨¦¦¦¥¦ª¨¦¦¬­­ª«¨«¬«©¨¨©¨ª««©«­­©«¬®°®©­²²°®«¬«­­­¯±­°°°«ªª¬«­­²²°¯®¨­ª­²baaaaaa_``__abbbceeeb_^_abcbacba`aa_^^\UE/									
-$'+157753/,'.27=DFEJPW_c_SLIV_]?%!"&())'$$&%###6M^f\NJHB=GS^db\RE=67;BRm–´ÄÊÍÍÏÌǾ±ŸƒtXH<88:=BGIGFGMWce_UF<6=JRX\_]abaaab`^\VOFFIF;35:?CCDEHKNOOMJE?:>CFQ]l‚€xrod[RP[gu{xsqrzŠˆ|d_fqw}}}ƒ‹¤°©˜ˆ}rbOB>DGJMVb‹¤§¢„ZG?CGHIJKMLMLNNMORU`s…’”“””Š‡‰‰ˆ€qaURPNPTa„¢Ÿ’kcbgz‘¤²´±ª¥£Ÿ“ƒ{tmnrsqjek{™ž¡™™š˜˜››˜–”…wibXD"
-
-	
-
-	
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-	
-
-
-
-
-
-
-
-
-

0wŸ¤¦©«ª¬«¨§ªªª¨©©©©¨§¥§¥©ª¨¨ª¬­¯­¬¬ªª¬«««««¬¬ª­®®­­­¬­«§ª±±¯®­®­­¬¬®°°¯±±¬«¬­¯±°°±²±®§­¯°´``a`aa````_\_]accccab`^^__bbaacbbaa__^WL9"			
-
"$$"(+-.-,-++*-.27?AIRZeklcYX]c_F(%$(*+,( $""###8Sbg[IGF@:HQ\a]VM?94=ARc€£¼ÇÊÊÌËÊÀ·¢–…thYR@;8>DHFF@FFP[_\TG=4<EPW[___```^\VSROJC=DC9.24<@ABDEIIMNLHFCA?@CVk~Œ˜™‰otsk`^^r~•–••”’Œ|tbfkux{|„«³¥ˆ‚|qfXI=6@BDFU_ލ§ž[G:@CFIJLLIJMOMUY\`p|Š“”‘—˜‘…‰‹Š†€o^MRMMMWb‰¡¤¥’ƒopsŠž¬¶µ°ª¢£œ€{qndhfpsnejxœ¡¢Ÿ›››š˜›™˜“““Œƒ~wh\W> 


-
-
-		
-	
-
-
-
-
-
-
-
-
-
-	
-
-
-
-
-					
-	
-	
-
-
-	
-
-

.tœ¥¤ª«©¥©§©¥¬¬¨¡©¥©¨¨¤¨¥©¨©¤©«¬®­­¬§ª¨«©«««­­«ª«­­¬¬«¥«©¯±¯¬®¯°®«¨«­¯®­®±¬­®­¯¯­¯°²²°©°­¯­X^``a`]`a```__`cbbaaaa__^aba`abc`_^``]R?)													"#"!#&&)*-.-,+**+18?HQ\fnsl_[afbK,(())*-+(%#""#%;Ygh[KIE?EMTYZUOG<8:BTi}«¿ÈÈÌÌÌÇ»®™Ž‹„ty~viZKAHGFD@DEEOTUQG><>CLV[]^^^_^[VTNLID?<>?80139<>?ABEGHIGEDCA?@BVt£§£‘|uuqmnŽš£©«¬­­©£žš“‹†utz{…“¯²Ÿƒwo_VJ@77=BEHTr”ª¤—wTF:;BEHJKKJKLPUbt‚…‰”•‘‘•˜’Š‹ŒŠŠp]RPONNYj£§¨¥Ÿ—‹™¤®´±®¨¤£Žxnjgefmtqjiw’£¤¤ Ÿžœ™š˜•““Šƒ~wh_Q5


-
-		
-
-
-	
-
-
-	
-
-
-		
-				
-	
-
-
-
-			
-	
-
-	
-
1s¦«ª©¦£¨ªª©ªª¨©¨¤ª«¨ªª¥¨¬«¦ª­«ª«¬ª¨ª§ª©«ª¨­®«ª©¬­««««¬°°¯®¬¬°±±¬§ª­®­ª¬®ª­¯¯¯¯¬­®°²°°±±°¯\[_]^^]_`ab_a_acbabbbaabaab^abba__bb_YI2"
-						
-
-	%&#!"$&)*+-0-,$)&'(17CNXbinkdcdhbL0--0100/,&$# $'C`ljXKIBDQWWXSMID;<>Un„™²ÀÄËÍÌÊ´¥’Ž„u~‘‘†wbLEBA@A=>BJPOHB?ACKPUYYX\]\WURLGD<:06:6,.169:;;;@BBBD???=:=ARn‹žšŠzpp{…š¤¬±´µ¶·ºº·³°®ª©¤–„v“ª­”{phYL678<>GKi‰¢¬ž…hIB;:@EGHFLJLKS`ƒ¡®³µ³ª›“‰‘“‘Љƒ‡‰o\QQONJ\u‘¢¢¡¥£¡ŸŸ¡ª«©¨¥ŸŸœ~vmjdebmvsjny“£¦¨¦¡ Ÿž™™‘‘‘‰~xjVM-

	
-
-
-						
-			
-		
-
-
-
-			
-
-
-	
-
-
-						
-
-
-
-8x¡¨«¨¦¦¤¨¦«ªª©§¦©¤««©««¥ª­­§¬¬«ª««ªª©¤ª«­¬ª¬­ª©©¬¬­­­©¯¯®§®­®°±®¬ªªª®¬«¬¬ª®°°«®®¯©°°°­²°²®^_`__^]__bcbbbccbacca`acaabbbca`__bbZQ<(
-										
-"&'%%'(*-00121.-,)'(+3<KT]bfjkkmi]G:7:<;:94.&$" &-LhqkTHFDJ[][WQLHC@>NkŽž  ¶ÁÃÉÌÊÆ¼­›’“‘ƒux‹›¦¤˜|WB><==:9=BIJEEJMOMLMTVVY\ZVSOJEB<7.-54,*-147889;=>?@@><978;C[q‚~vofv‰›¦¬±µ¹»¸º¼¿ÁÀ½º¶´·¶¬žŒ~z‰Ÿœ‰…~uhN269=@GYyœ±µŸ‚\E=:9<BFHJKMLLUm»ÇÎÑÌÀ®–ŒŽ‰}€ƒygZRPPOJ^}•¢¡ £¦¤¤¤£¡ §«ª¥£¡Ÿš‹{smhedcmvsmpz•¤¦ª¨§§¦¡™”ŽŒˆ„€yjXG(

-
-
-								
-
-
-
-
-			
-
-	
-
-				
-				
-
-	
-	
-
-
-
-
-
-

A|¤©¨¥¥§©¨««ªª©¥©©¨¨©¦©«¬¬®­¨ª¬ªªª«ªª¨§©«¬­ª©ª©ª¬­¬®¯¯±°¯®®¬¬®¯°¯®««¬¯°°°¯®¯°°°®°°¯®±²²±²±¯^^`a____`aa_bccbbcda`^_`bbbbb`bb``a_UF1
-												#$%$''),./011101/-+)+/@JTY_]imnmbQIEGIHFB?80)#!!*5VpsgRGE@R]\XSOPPONWb†¤°¨«´½ÃÇËɶ¤“Œ’‰yioz¤¤fN>:6;:99=ABCGMW[ZYVRQPRUTQOLHD@;6-,13.*(,.214689:9<>=;8444;@JUVUVZp…›«³µ¸¼½¿¿½¾Âþ¼¶°¹¶±¨™Š‚„‰Š}r~vfL37;?@K[t³¸¡„bE?654=DHKKIKGZ{¢¾ÆÐÖÔÊ¸šŠƒsfv}r]XTQPOIb€–££¢£Ÿ¥¤¤  Ÿ¦«¬¨¤žž™ˆqlgfdd^jqocjx”¤¦ªªª¬«¦žž˜”ŽŠ‡ƒxhW@!

-	
-
-	
-						
-
-			
-	
-
-
-						
-
-	
-
-
-	
-	
-	
-
-
-
-	

H¢§§¦¥¦¥¦¤ª¨©ª««©¦¨¥¥¤ª«­¥¬¨§¥ª©¨¨©¦¨¥©¤¥§¨£©ªª¥®­®°¯¯±©¯¬ª«®­¬«®©«­°²²°°­¯°±±±³²ª­«´®®®²¯aa``_`^``a^_abaa^ec``__`cdbb``aca`[\O:#		
-													 "$#%'))**++-..///.,))0ERV^`binleXJIMQSROKE>4+&"$.Gaup`QIFJU\YRJN[ehhoˆ¡´¾¿¸²³¼ÃÇż¬˜‹ˆzc\`l{Œ™¡˜|ZC98:;7667;@IT\`dc^XPKHMMKIGDA=83-,/11,(),-.0258889;;:7324678@BAD_~˜¨±¸»¾ÁÄÅÃÀ¿Ãý¼¹··´¯§›Ž}€}txƒqZF87;>?JUj‡¤§—}aD>8549AGIIHJM_‡¤¸ÁËÓÒʹžŠŠ‰za^kuj\WUQQOJe‚–£¤¤¤¡¤¦¢Ÿž£§ª©¥Ÿœ—‡qcaceecfjhbao ¥©¬¯®¬©¦£ ˜’ˆ†‚v_Q9
-
-
-
-
-		
-
-									
-
-
-					
-	
-
-
-
-
-
-
-	
-
-
-
-
-M„£¤§§¥¥¤¤¤§¨¨©ª©¨¨¨©¨©©ªª«©¦¦¨ªª¨¨ª«ª««ªªª§¤©­ªª­¬¬®®¯°®­­«¬®­­­­­­®­±²²±°±®°±±³°®®³²­­®±³baaaaaabbba`a`bbbcca_``abccb``bab`[TD-									
-		
 #%'()))%'&)+,()*+,+*+3JZ^bddjmg[MCIPSUSRPKB7-*,0FXjrfQLGHLVZULOUgqtv… ´ÀÅÉÁ°©ª²¸³¨—…„ƒwdM;HScsƒ‘ކpRI9==:30*28GU]_eif`XNLHGEB>=;841-,*/0,&((+--./1338::874445899:;Sn’©±´¾ÃÃÂÈÉÆÂÄÇÈÆÅÃÀ½º´® ‘zrmrx„€ybB<49;<>HIW^o}wkWC>9618>DHJLNM]† ¬·ÄÌͲ™~ƒ‹„qZOah]NQPPQQNi‚• ¤£¤¤£›š™››¡£¤¥¢œœ’‹vk_acc^`dd\`h‡£¥«®«¥¨§¤¢¡–Œ†u_N4	
-					
-
-							
-			
-
-
-
-		
-
-		
-
-
-
-		
-
-
-
-
-
-
-P†¤¨©©¤¤¤¤£¨©¨£¤¤¨¨©£¨¥¨§¥¥¦¦§§ª¨¨¨«¬¬©¬¬««ª¦ª¬«¦®®¬«¬«±¯­«ªª®­¯­®¯°¬¯¯°­²³²®¯«±®°¯°±¯¬¬­¯¯b`abccadccbbaaccbccc`^___ccb`abba_WH3"
-																	
					
-!#%'))*+*'%(**(()''(()3M^^ehjlndT?@EQRQPNNLD9/.8P`lojWJC@@LSVRPUiquv|’±ÀÄÈÊö¥—•›“…xtrpaM701:DWizƒ†€ucN>@=5,+.4CS\_fkkgb\SPGA:753.211.+,,*&'(*,---//04887655458999MhŠ¢²º¾ÂÇÈÇÉÊÆÇÊÌËÈÇÅÃÁ½¸®ŸŠq`^cm|ˆ{gL876:;6<CHMQRPOPL@<9657;BFMTROZ‚›©©¸ÆÆ¹ª’{zƒ|gSOSUMEEFHKPXm…• ££¥¦ œš™™› ¢žžŸ ˜…wh_^\YY_`^^d†¡£§«©§¥¤¢ žœ—‘‘‰w`N1		
-	
-
-										
-	
-
-							
-
-				
-
-
-
-
-
XЧª««©§¨¨©ª«ª¨©ª¨©©ª§¥¦§¦§©ª¨¨©ª«¨«¬«ª««ª©ª¬«ªª¬¯®ª©ª«¯¯®­¬ª¬®­¯®®°±°®¯°°²±±®¯°±±³²¯®«­­®°ba``aabcb`aaaacabcddba`^bcb```bb_\P;(																														""##%%*53.&$')*))(%!$&+2L^chlnondRC>MWWVRHJIB722Ofqum]J:74ALPPPVhxwmrŸºÄÁÈÇľªˆ}sfYURSRI82*./7;O_o|‚ƒ|m^MJ:2,./CP]afiijhgd_UC@7534564/-,*(%(')++,./../167645159=@Rjˆ¡±ºÂÂÅÉÊÇÉÉÊÌÍÍÍÉÈÅÄÀÁ¼µ¥Žn^NNOaldQB6:<=<76@FJMMMMME8:9:7AEOPY][LZuŒšš¤³¶¯§jqzr`OD@<<<=777ETn‰—¢¢œ¡¤¡œ—šœ¡ Ÿšžš—’‡sgUXPVYYW]e†œŸœ¢¥¨¡ žŸž™’’’‰uaP1
-				
-							
-
-
-
-		
-	
-						
-
-	
-
-			
-
-
-
-
-
"_‘ªªª¬©©¦ªªªªª©©©©¢©§¨¢§¦©ªª§ª¦¦¦¦¥«­«¦««¬§«ª«¦«­¯©¬ªªª®­®¨¬©«¨¨ª®¬°®±°±°¯­°«°¯¯¯®­±¯¯¬­®±³ab``aaaba```abbbbcbccbbccccbaabc_XG/																			#%%%$$%,AC4'$%'()(&$"$%*1MailmqpndUHQ]efaWNHE?54F_uzyiQ;616ALLHFSqyom‡¨¿ÄÅÈÈÅÁ¬Šlg`O>==;62--/2137DUk{…Šˆ~scN7228EV_ddfhijkkh`TIB@@@>9621-+)(''())*-..,,/2554676=FYpŒ¢³½ÃÆÇËÍÊÉËÌÏÑÏÍÏÏÊÇÄÆÆÄ¾±–t\PHDCIJB97>AA>86>CEGHHIH@58:>EP\chjmf_\fy…‚…‘š£¦egphYG>968;:8526Ijˆ™¡œ–˜ž¢¢žœž¡¡¡Ÿž›šž›”ˆvf^WUUXY]k†˜››ž£¤£¡ žœ•ŽŒ’‡s`P1
-
-		
-
-									
-
-		
-
-
-
-
-		
-
-
-
-
-
-
-
-			
-		
-
-
-
-
-&f”ªª©«ª©¨©ª©¨ª©¨ª©§©ª©ªª«ªª©ªª«¨§¦¨¬¯¬©«¬®°®­­¯¬¬®°¯¯¯¯®°®¬«¨ª¬­®¯±¯¬±²¯¯¯­°±°°±²®­¯¯°±°°²´bbbabbb`a_a`bcb\abcbcbbcccccbabaZN; 
															
- #$&&%(*9KH9(#%%&''$#"$&*.Mcknmnnkh^bkv{ui_QKA<3<Ohy{zhD;568>ED>@Ii€€w’´ÄÇÆÇÈý©Œ~ugSG<;32/..221.01CWkzƒŒo[GEER\acdefffcegbYLCEGFC<7310/-'(((%('+--*++0/55:>BGd{’¦³¾ÄÉËÍÏÍÍÎÏÐÓÓÓÓÓÏÍËÉÈËÊŸ jYVKI@E==>HHGE?7@@?@AAA?;3:8KZdnptuuqjeZhj`V\eŠ¢‹ccg`JF=:8?=;95135]}˜Œw„”Ÿ¤¡›¢¢¢œ–™šž Ÿ—–‘ƒwl_^Wchmt‰‘˜–ž ¤¤¡ Ÿ›–‹ƒo`L+
-
-
-
-		
-									
-						
-			
-
-
-
-		
-
-	
-
-
-	
-
-
-,l•¤¨©©©©¤§§§©ª¨¨©©¦¬¨¨ª¬¬«§ª¥ª¨©¤¥¥®°­§­©­®°«®ªª©®¯±ª°®¯ª¯«­«­­±°¯¯¯­®­­«¯­±±®ª²²°¯°¨±±°°°«abb``aaabcbcccca__`bbaacbaaaa`]^R@,
-														#$$'('+3BPI7($%%$%&&$#$%(,Kdkligjlkkpz†ˆ€vi]M@95@VlxzygN<89<>=:55>`{ƒ†’¨¼ÈÈÆÃǶ¢Œƒ|lYPG;521124631004DWk{ˆ“™—Œ}tolebaabegfc`_a^XJDDGFE?732230,()(''(),-++-/15;IV^p…™©¶¾ÃÈËÐÑÒÑÐÒÒÒÓÒÑ×ÔÎÎÎÌÉÎÍȾªŽskkk`VPOQW[^^VLFDB?@?;6754;DXlu{zz{zywne[PG>9Feˆ‡`\`YHFHMQKF=:61/0Ol‡yfh‡™¢¢£¦¨¤š•”–› ž˜—’Œ†yplmt|ƒŠ•˜› ¢£ œ›–Œ‹~h]H%
-						
-
-
-											
-
-				
-
-
-
-
-
-
-
-
-		
-
-
-
-
-
-
-
-
-
-1p–¤§¦§©¨¤¦¥¥ªª©¨¨¨¬«¨©¬®­¬«ª««¬ªªª«­®®¯®®¬¬®¯­©­¯±³°¯®®®¯®®®­°±²³±¯±®­­­°°±±°®®¯°°°¯°¯°¯°®­a\a__]abbbbcbccb_`_bb_`]```^_^]XI0$												
"()((()-9HQD+'$$"""%%$"""(,Hchc`]_bdenz„‰‚zpcN445H[lqtvl^SGB??<6.16Up}‚–¯¿ÈÉÅÇÆ½­™ƒwj]XQG:713378533332BSm€•—•‹‰}i`[`cghe^`_ZSG;ADDE?213453/-)*''((*.,--02=Eau†“ ¬´½ÂÅÈËÐÓÒÍÒÑÔÒÒÑÒÔÓÎÎÍÉÈÎÏɲ™{g€’–•ŒŒŽ‘’Œ„oTVYPHE:7321<H_rwyz{||{wriX@9-69YneXUWRIFH^omdZD;3.,CVgodL`~’Ÿ¤¨ª¦Ÿ›‘“Œ––›–“‘…{||„‰•š›œœœ™˜–—˜“‹‰‰‰…ybXD#			
-
-
-							
-
-
-						
-
-	
-
-
-
-	
-
-
-	
-
-
-
-		
-
-
-
-4s˜¥§¢¦¨ª¥ª§§¨ª§¨¨ª®¬£«­­­­¬¬ª¬ªªª«­­¬¯®¯®¬¤¬¬«¨­¯±³²¬¯«¯°°®°®¬¬²°°¯±­­¦¯±±®°®®¯°®±°¯°¯®°«¯®aaaa__ab^^`bbccb__`bba_aaa``_^ZQ?*
-										%+*()().ENM>(&$#"!!%&$$##&)Eae_WSPSW[dr€†}tfM26DUdlonqpng\LB>:3,,0Jao~˜²ÁÆÆÇdzžˆ}pca^ZQG@9678974452-0@Yp‚“””™œ›ŽxYW^cfgeeb_XN=:AFED;00565541/-,+**,//..1@On…˜¤­³·º¿ÂÅÈÊÍÏÏÐÑÒÓÓÒÑÑÑÐÎÌȼÂËÏËĸ¤‡–°¾À»µ±°±³±¥“dmuobQB<514=Lbuwwz}}ztmX<42=IU[WMJLJD@Ch‡Œ{iUA.-;GQTPFZw‹–›¡§©§¢›’‘“•™™•’’’ŒŽ‹•šœžž›˜•••”–‘‰„††‚saR>!

-				
-		
-				
-				
-		
-					
-	
-
-
-
-		
-
-
-
-
-
-
-
-		
-
-
-
-
-8x›¦©¨§¨ªª©«ª§ª«¨¨«®¬¬¬¬«ª¬®­¬¬¬«©¬®­¬­­«®®®­®«¨­±±±²±°±¯¯°±¯­®¯°¯¯®±±­¬¯±±°®­®®°®±±²³²®²²°±``cb`]_`]\accbba``abbbbbbb``^]TE4 												
 )*)**++9KOG6&%$#"" $%$$$#$&A[_TMHHHJLYe|„€}rbK7EXfppqrprppl]G@83,--BXj{šµÁÄÆÆÂ¸¥†wkjgc`ZSLC?8::81120+,/DVn‰‘—œ ˜…hRY^bceedaWH<<DGD>7.167455410/.,,,/234H[z“¥¯µ¹¼¾¿ÁÂÁÈÇÉÅËÍÐÎÒÑÒÐÐÎËÆÆÂ¹»ÊÎʸ©—¢¼ÆÇ¹·­®±°¤’r~Іy]FA;::@J_qutvx}{zzriW=:8IVZYTFEC@::;eŠ™š€kVC2=ACDDDXqŠ”œ¢¡ž™‘–™™—“––•‘••“Ž‘’˜—œ™—“—’“”‘‰ˆ†‡~qWM1

-			
-
-							
-
-				
-
-
-				
-
-
-		
-
-
-
-		
-
-
-
-
-
-	
-
-
-
-
-
D§«©©©«¤¨¥«§«­¬ª««¬­­¨¨©ª®®¬¬­®­¬¬¬¦«¬ª¬¯®¯¯¬¨­°°±²¬°±°«¬«««¯±°¯°®±±¯©²²²­®ª°­±­®­®°¯®³´²®_`cc`_\\]`acdcbbcccbddccaa`_][M7#
											
-$+,))*,2@NL?,%$##"""#$#$$#$&=TVLBAAABGRgw}{ym\HHVjuxwuuvtquvkZD94/.-9Og »ÄÆÆÃ»¬”ƒ{umppmge`ZUPKGD@85/--,.27BRjx‚Š’˜ Ÿ”s[NV\adffbTD=@EE?82/16655554320/../5<Qk‡ž°¹¼»ÁÃÂÁÂÂÂÇÈÈÉÉÉËÍÐÒÐÏÎÊÉÈÇ»ÁÉÌɸ¬¥ºÂÂÀ½º¸µ²©‘‰ˆ•”†fECA@@AEYlruuuxywwndTEAFR^^ZUJA:5349b‡›¢—‡t`L?>??>>CTgtz|‰Ž‘“‘‘—œ›™———˜——”Ž‘••——–—˜™™–‘ŽŒŠ‚oUG+

-
-									
-
-		
-									
-
-
-
-			
-
-
-		
-
-
-
-
-
-
-
-

OƒŸ©©¨§ªª¨©«¬­«¬¬«ª©ª¬ª¨©¬¬®¬«««­¯«««§ª«©«­®®®®¬¬¯®¯¯¯°°®®®®­«¯°°¯°³²°°±²´³²²³±±±±°°²³±°²³±²``babb__acbbcdccddccddb`aa`^[TC(											
-
-
-
-#)+*+,49HQJ8'""!"!"##$$%#%'>NL?:887=DTgnnmjbXWYgt{~{vvvtquyvlZ?910.6?a„¦¾ÈÊÇ¿°›…stotwvrldd]ZUURLGA:40/.2575DObp~Š“˜¡Ÿ‹m]MTU\``\N;<AB?91.*/045546872221/6>[u¥´½¿ÀÂÅÈÇÃÃÂÁÅÇÇÇÇÅÅÇËÌÌÌËÅÉÌÊÅÃÄÆÉǹ® ž®»¾¿¿º¶±©›‡Ž‘“Ž]AB@@AA9QahnnpqkjhdWRHJMUXZ[UH=43368Xy—Œ{bJA899;798HW\^`dfhnt|ƒ‡‹—œš›–˜——™˜ŽŽ‹Š“•””•™œœ˜“ˆŽ…nSD'		
-		
-
-
-	
-
-
-
-
-		
-
-
-
-
-		
-
-
-
-
-
-			
-
-
-
-	
-	
-
-
O‡¢£©©©©©¦«­®©«¦¬«©¤©¨ª¤¬¬­®­©ª¤©¨§§­©«¬««­©®®¯®­¯®ª¬°²­¬­¯¯°®­¯°®®¯±°°¯²´´±µ´²°°¯²²´±°¯²®±±ababee`abcbb``bc`cddcbbaaaabZJ7"
-																											
-		
-!&)*.7@HNRG4$!"#"""###$$%$&2@HC843259FUbeb\XSV`jqw|}{z{yuty{ylYC9214>Y­ÀÉËĶ¡Šzoquz~}xqmic^[ZXQJF>71114658?FK[l|‡’œ¢œŠp\OPRUUPC89>=83-+-..14559;943314@_}•¨´½ÂÂÂÄÆÉÊÆÂÁÀÁÂÃÃÀÃÂÇÉÉÉÊÇÆÇÊÈÃÃÃÁÄÄ»°¢––¤·ÄÆÀ¯­¦œ…‰“•‘„xTHCA?A@?FS\cfjhfb_YSPMMQTUWZRC943457LfwvfJ6..156768:FNSVWSSNXbm{‰•œš˜™–˜šš›—ŽŽŒŠ‰‘—–’ŽŒ‘”˜››™“Ž…lO?"
			
-
-
-
-
-
-
-			
-				
-
-				
-
-
-
-
-
-	
-
-
-
-	
-	
-
-
-
-
-	


O‰£ªª¬ª¨¨¨ª«­®¬­¬ª©©¨©ª¬¬«­­®®¬«¨¨¨¬­©¬­­«¬®­­®­¬®­ªª¯¯®­­®®¯¯®¯°°¯°±±°¯°²²²´´³±°°²¶´±²²²³±±abbddcbbb```__bcbaddccdbaa`_S?,
-																									
-						
-
-#'*,8BKPRQD0$ """$$#"!$$%$):DF>130:>BHNTUSOLSWjsutz}~y||zxxy}}xoaKD>BHl˜µÄÇȽ©yrgpuy€{yvqjgb_YUMI?6/12335:@CCCUbs„’Ÿ¡›ŠufTSIHD>6:=93/*+-//14558:86327>\}—«µ¼À¾ÆÅÍÑÌÀÃÀÀ¾ÀÁÁÂÅÃÉÊÈÃļÁÂÁ¿¿ÀÁÂÁÀ»°¡–’š®ÀÆÂ²›š–x‚Œ‘‘‹„vh\KGDD=KU\c`^b\`WTSPKIHPSTTO>733069MW_e[G</.+-/133/6=JQTVRPNLKKfŽ™—•••••›˜˜ŒŠ”“‹‘–—–“ŒŽ‹hK9
-
-
-								
-				
-
-
-
-				
-
-
-
-
-
-
-
-
-		
-
-	
-
-
-
-
-
-	
-
VŒ¤©«©ª§¨£¨ª«ª¬¬¬©ªª©¦«¬¬©ª¬­«®¯«¤«ª¬¨¬«¬©«¨­­­«¬©¯¬¬¬¬­­­®­­®°°°ª±²°«±®°²°°²³²²¯¨°°³²±¯³­²±bccdbabcccbaa_abbbcc_bcc``^XH1
-
-			
-																													
-
- &/6;CMQSRN?+%#!!"$%$#$%%$#,>EC<9:>GNKGBABDEMZitywvy~}}|zy|€€ypg`_f}¢»ÆÇÄ´šrljptx|}}~~ysold_[WL>2/./0/1:@B=>AJZq‡˜ š‘mVLB@<:>?;8.,,//02555677646?[y”¨µ¼ÀÂÄÅÆÈÑÖØÔÎÇÂÀ¿¿ÀÁÂÅÈÉÈÆÁÀ¼¼¸¸¼¼¾¾ÀÀ½·¬Ÿ“ˆŠ™­¸½µ¨ ¦žz‚‹Ž‘†wjb[OKRclrkdcfd^RQMHCDLTWWNB8324:DNWZVE941/+,,,0133>FMRRPOMJ@@LtŠ•””“‘‘–š˜”ŽŽŽ‘’Ž”•“މˆŠ‹‡{dK5
-
-			
-					
-
-
-					
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-		
-
-
-
-
-
-		
-
-
[¤««©©©¨¨¨¨¨¨©ªª«ªª¨©©©¨ª¬®¬«®±®««¬ª«««¬¬««­°®¬­°°®®­­®®­­®¯°°²¯­°±°°°°°²²±¯±±±®­®®²²°®´µ²²bcccb`bdedd^a`a`baba_`bbb`YM;!
-
-
-
-
-		
-
-			
-																				
-		
-
-#*4<CJPRQPH8&%$""#$#"$%#"!,>C;>ADIPRI<98:<OXhsyzxy{{yz{||{~‚‚€~|{«ÀÈĽ§‡ujjlssqnquy|{wvrmga\P>3)))-,/7?DB>?9FVs‰”—œž™Žz^WE?:DJJC8-010-23325557;?Zw£¯¸¾ÂÂÀÇÇÌÔÜÜÙÕÎÄÁ¿¿¼ÀÁÄÆÆÄ¿»¸¶¶µ·»¼¼¾¾¼¸´«Ÿ„{~…𫵴°²­™|w…Š’”’‡~{zursry}yuvxreRJLAECMT[_XPHA84;FS[YNC520.+,)*-018@GMOLMOOLHCYr˜”‘„ƒ‚ŠŽ’•”‘“ŽŽˆŽ’‘‘‡“•„ƒ~…‡uaL2	
-		
-	
-							
-
-					
-	
-		
-		
-
-
-
-
-		
-
-
-
-	
-
-
-
-
-
-a•¥ª«§ª¨©§¨¨¨¥©¥ª¨¨¨¨§¨§ª­®­©¤®®¯­¬§«©©©®©­«®°°¯¯­¯­¯¯°±°­¯¯°«¯®®§¯¯±°±ª°°°±°°±®­¬­¯³¯®®´µ³°bb``acccdedcbba`bab`]`abb_SA-
-										
-
-		
-		
-												
-
-													
-$+2:BIORTNC.(&&$"!""!!"###$,:@@AFJMONB878<K\lswzzxz{|}~~zxyyy{{{}‚Š‘›±ÂÈô™zjgjqtpmlklmuz|zzume]QC4,))++)2;B@>=:6CYr„‘™ ¥¦š‰ziQKMXWN>6320011.03207CYtŽ¡­³º¾ÂÂÆÉÉÆÖÛÝÝÛÕÍÆ¾¾¾½½½¾¿½¸´°®«±·½½»½»´²°¬ €umpv£±´´°¢‚u€‰Œ“”ކŒ‘Ž‹…‚ƒ„yhSHNOOMNR`qwxmY;46HV[SG<30.-+*)(+-/4=DIMMMNNLNSauŽš•ŽŒˆ‚u~‰”•–”“’’“‘’”‡€‚|o^L1
-				
-
-
-
-	
-
-
-			
-
-				
-
-
-
-
-		
-
-		
-
-
-
-
-			
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
e˜¥©©¨¨©©©©«ª««ªª¨§¨§§ª«¬®¬ª¨§©¬­­¬­­¬ª©­°¯®­±®®®¯¯¯¯°²³²¯¯°®©¯°¯®¯¯±²°°°¯®°°°¯¯±®¯°²²°±³³±°ba``dddcbbdcbbbaabc`acb^`[K5%
-					
-													
-								
-							
!#')/5?INROF;235.%"!"!! #$%%/9DEGIJIJDB;@BGRftwwzzywxz|||{zyxxz{{vˆ‘’ˆ™´ÃĽª‡c^]fqrommnhkovxzzxph]SI>0-*++++179<==::GNm‚– §¦£šxhehaUD45//010-.1/09Tp‰Ÿ¬µ¹»¿ÂÅÇÊÌÑ×ÛÝÞÝÚÔʽ»»º²±°´¶³²®©©­·½¼»º´®ª«ª¢“†rg_gl†ª««¨™}€‚„†Œ‰…Œ’”•”ˆ{yx{|s_YL^gfZVSlƒ•ˆpS:CL]^M62/.-.+*))())+0<@HKKIJIJMUfyˆŒ’‰~n}ˆ••Š’‘‘’’’’’’‘‰…wiZI-

-
-
-
-									
-
-
-
-		
-				
-	
-
-
-			
-
-
-			
-
-	
-
-
gš§«©£¤¦ªª©¨«ª«¨ª¨¨©¨§«©ªª«©§¦¥¦¬­­¯®««ª¯®°©¯±¯¬¬®°¯°¯±±±°°°®ª°°²®²°°°¯®¯­°°±«®°±°°°±®²­´¬¯¯bccbddaccbcb_abcdddcdeca^UA+														
-												
-																				#%%$%,6@FJLKGEFG>/$!"!"""$$$2ALTVYYTKHGGIJKSgtxww{{xx}~}yzzyxwxyyz‰‡ƒ”°¿ÀµoRLN]lnllrrokmsvvvwuk^WQI?71.,*(*.17;=<<?EVr‰’œ¥ª¨œˆqstjXF54/-//.,/0/2Ge„™¨±·º½ÀÂÃÅÉÎÕÛÜÝÞÝÜÚÐĵµ³®¦ª®±±°«¥¡¨µ»¹¹µ¯©¥¤¥¢–‰ra]`cgƒ–žœ«¨•}{ƒƒ‚€‚‡Œ‘””“‹|qqrqplhjr|{ukm|’ £•€fWUZbaH40.,-//-,*'%'*4;@ADDEEEBA:JXk}‹’––‘…xox‰–”‘‘‘‘‘””––‘ˆ†…‚{oaSC'

-
-	
-
-		
-																
-
-	
-
-
-			
-
-	
-
-
-				
-
!jœ§ª¨¤§ªª««¬ªª¨¨ªª©ªª§««ªª«¬ª©¨¨¨­®¯­ª¬¯°°¯­­°°®®°°®¯±°°±²±±°±°­²´³¯¯¯¯°³²±²²±±±°°°¯°¯°³´³±¯cccbcbbcbbccbaaceecbccdbYJ6!
																	
-																			
-						
-#%%$"%&+048AEHLORH8+"!!####%$8M[cgkjf]PONMLKQdrvx{}|zx|~|zwxxyuuuuw‡…vf}›¯¶¨Žb<;<Oajmpvxunmnpplqsm`\WRLC63-,(*(02:<>=CH^kml{‹–—ŠzkrxmVC53.--.+.01-AXy’¡­²·¹½¿À¿ÁÈÌØÝÝÝÝÜÜÛØÏ¿©©¦¡¡£¤¦¨¥ž¢´»¸³³®©¤¢¤ž–‰s`[`bcmˆ”«°¦‹t|{{x|}…‹Ž‹…xhehmwy}ƒ„Šˆ‚}ŽŸ¥£}slljjiR51)+)//.)+)')6BFJFB?=CDC>71=Ho‡‘—–•‹~mfƒ”•’މ…€€ƒ‰‘”•……†ƒxjOM?$

-					
-
-
-
-	
-
-								
-			
-
-
-
-
-			
-			
-
-	
-		
-	
-
-
%nŸ¥¦§¦¨«ª¥¬¬«¥¥¥«««¤ª§ªª«§¬¬«ª©§«­®°®¬®«°¬®«¬ª¯°®°¯«®°±°¯¯²°±°°¬±³²¯¯­±³²¯±®³´´³±®¯°²¬°±²´³²cdcbbbcc`dddcbaced_^`dc`R>&#																														
-					
-		
-
-								
-
 $$$$%&%#(+-1:AGMPK@1$ "$$!#$,@Zisvyxtle`XRLKP`osx{}|yvy{|{yvux{zyxx~ƒ|ra\c}’ž’xU78:BTalotxvomlkjlnomga]ZVNE:40-+,/6;>>AIYfi]X_qˆugdnymT?52.,,,-.12;QqŠœ¦­³¸º¼»¾ÂÂÊÒÙÝÝÝÝÝÝÝÝÙ˶ž›˜•‘—–“¢²º¶´±­§£¡ š“†p`abcacet‡®¾¶š„ywuvxyv~†‰…„|ob]bvƒ’•––¤©£‹tst{‚€u\<2+*,/0.,+*),BU`fbYJDA@A=5,*9dƒŽ””‘‰~ldz”„wlb\esƒŒ‘މˆˆ‚vePM?"
-			
-		
-
-	
-
-						
-				
-
-
-
-
-
-
-
-
-
-		
-
-
-			
-		
-
-
-
-	
-
-)w¡¨ªª¨ªª©©ª«©©©«¬­«¬ª©¨©¬¬¬¬ªªª©ª«¬¯¯®¯±°®­®­­®¯®®®«­®®°±²³´±°¯­°±°¯®°²´²°°²²²³´³²²±³²¯¯°²´´a`b`bbcccdddcbbacd`abb_XH0#"													
-
-
-				
-	
-																			
-			
-											 !!"#%()+.,(/+05<BCA6%##$%%$)3Kboz}~|rsqh]OEEE\jqrxzyvvv{||ywsuw{zyu~€taWPSWnwjWE468:=NXblprokkfknmmnjfc`]YSI>911-6;@@AESahcR<BLcmja][htmUA31*+,-./5>Jh“ §«²¸¼¿¾½ÁÄÌÕÛÝÜÝÝÞÞÞÞÝ×Ȳ–‘‹†~~~‹¥´¶µ¯¬¨¢Ÿ˜•ƒmdadd_Ugr–¶Å¾©“†prosuuw}ztjb`y•››˜——•‹’Ÿ©§“wrmxƒ…~dE9-/-68632136Up}…~u`H?7993)+4`ŒŽŽ‹‚wlVsˆ‹„oRI654Nezˆ‰‡†„~scTQ@ 
					
-
-				
-
-							
-			
-
-	
-
-
-	
-
-
-
-
-
-
-
-	
-
-
-
-
--z¤©©¬©©ª««ª¥©©ª­­¦­­®©©ª­«¬©©©©¨§¦«¬­¬¯²±ª¬©­­­ª«¬«ª¯­®ª°³´¯±®¯­¯©ªª­®²³´®²°±«°°²²³²µ³°°²¶¶´b`aabcccbbddbccccbaab`ZO=)!																										
-
-		
-																															
 *+'!#$(,6>CA;1*%')4:=4%$$#$$%.BUepz{{yttshYIBCH\koruvvvwy|~~yvuuxz{|}|oZOOPPRQKC5104446AO]fmookkmnllnlkgea`^TKD>:<AFFBDLYcaUC53:ENQRT[bnkZB1/,)+-.08Icy™Ÿ¥ª³»¿ÂÂÀÃÅÍ×ÛÜÜÝÝÝÝÞÞÞÝ×Ά}wqjfes‹«¸º¶±¬¦ œ™”Œ€pfhii`jyŠŸµ¾º¯©žŒuoptqquxttmcatŽ¥©©¨§¤¢£¡˜Ž†“£©œŠueiu€yfMC97<BHHHGKQYoŠš ›sQ>1-00-+7_~‰ŒŠ„xth_qrW>/*((*Dd|€yn_TM<
-	
-						
-
-
-
-
-
-
-
-
-	
-
-
-	
-
-					
-
-
-	
-
-
-		
-		
-
-
-
-	
-
-
-
8¥§©¬¬«ªª©ª«ª©ª­¬ª¬­­¬««­®­®­¬¬­¬¦ª¬¬¬«²²¯¬©ª«ªª¬¬¬ª°±®­­²²±°°°°®¬®°°¯±´µ´±±±°¯±°°³²´³°¯²¶·µbabcdbeccaccccb`b_`aa^RB0
-				
-							
-					
-
-
-					
-																								
--9951-04<ENVSMC1,&*,240&&$####9N[dipqrqomj]KC=DM`lprssuuyz}{€|yvty{|}}}nWONOOOJF?:2/,2132@G_nsspnokkgijjiibaaZRPJJIKMKDIR\_VD;222349>R^ekj[@1.,*)**2=[r‚™ž¥ª´»¾ÂÂÀÂÃÐØÜÜÜÜÜÜÜÝßßßÝÒÀ£‚wg`X^n–²»»¶²­§¢œ—“‘Šu{„…Š–œŸ§ª´´¯°°¤Šikmkdkpqoh]u‹ž­±²²³±­¨¢—„™¤ŸnHNW^c`VRIMPTYZ\[_it…™¥¬§~ZG00*0,-<^xƒˆ…vl`SrsWD.,*(%(,Pky}|zrgZGD1	
-
-
-
-
-			
-
-
-
-
-
-
-	
-
-
-
-
-	
-
-				
-
-
-
-
-	
-
-				
-
-
-	
-	
-
-
-E§©©©©ª«©§§©««¬­¬««©«¨«¬¬«¬«¬¬ª­¬§«ªªª¬°²±®§¬®®®­©«©¯°¯¬­¯²±°®±±°«°±´±²³µ±²­´¯¯­±¯³²±±±¯¯°²µcbdggeefecbcdebabcccaZI3!
-
-
-
-	
-																							
-
-											
-																									/=JOOLHGLPT[`^XOD:4-**,+*'%$" (CYaaadggfdb\QE<;EVdmqrrtwyyz}€~{wv|€~nYONNNMKFA>9/.02238BYnvvtppnkkjijljhda]YWVTRRONLO[_ZM<3112/./;Qbipk[>2/-*)+-5Nh{…”§¯´º¾¿¾ÀÂÈÒÚÛÜÝÝÝÜÜÞßßßÝÚÒ¼žydXSUsœ·¼¹²¯¬§£—–’ˆyv’œ¤µ¼»´°­®¯¯±³­–|dcb_ahljdb„¦«¯µ¶¸ºµ¬¤—‹ƒŠ™šŠd=7AMZ]_^__`cdhjihr‹—¡¨ª¢ˆcRA:73-0A\nx~{nbVVr}fE4+**(%'*5Wp|xslcVH>*
	
-
-
-		
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-		
-
-
-
-			
-			
-
-
-
-
-
-O†§«ª©©©©¨¨ª«ª«ªª«¬«©ªªª¬««ª©««ª«ª¬«ª¬¬«­¯±®­­®­­­­«ª®°°¯­¯±°®²²±±±²²³´³´²±²³²±°°°²´µ´´²¯²²³µdcdfgdeffddcefdccccc^S?&"!
-
-
-
-															
-
-			
-
-			
-								
-
-	
-
-																											
'@Q[_a]YXYZW`eb[UMKKD6.#()(&%!"-JacWVYXWVURNE989N^hmtttvxxyw}~€w}{yy}‚‚taXLLLKIFB@>942035:AXkswuqqponnmlkjjf\ZXZZZZWQQR[`\SE40.00/.3<P_hro_C20-*)+.4Rkz‚‰”œ¨®µºÀ¿¾¿ÅÊÔÚÚÜÝÝÝÝÜÞßßÞÝÛÙ̳eRETy¢¸º·²®¬§¡›š™“…rdr µÄÅÀ¼°¯®²µ·©žŒxaaSW]eehm’§ª©³´µ·º¶­¥–‡~uz…ƒvV7;BS]aabddegfigjjlo}Œ•œœ…e]NRUK45CZbhkif^QTZmsZ:61-))&($.Fdwsgd^TI<&	
-				
-
-		
-
-
-
-
-
-
-
-
-
-
-						
-
-
-
-
-
-
-
-
-
-
-
-
-
-P‡¨«««ª¨¦§¨ª©©¢¥¥©©©«¬¥«¬«¤«ª«««¬¬­­ª­©ª¦¯­¬««¦©¨­¬®­¬¬±­®«±­®±±¯°±²±°®´´²®°¯±«±°°®³°²²³¯³´µ²edbdedceeddffedddcabYJ1%$)!
-		
-									
-	
-
-				
-
-
-
-
-														
-	
-
-								
-
-												
-
-			
-	
-/HU]dfc`^\]`dhfaVPSZTE2(')))&##1NdcVLNNOONHB:34?Vgnsvvvw{|{}~~~~~|{y|z€~ztgWIKHHFCBBA?;669=J[ipuuusquxvsqoljf`^[Z[]_]Z[_baXM=2////.06;JXcpqdH0/,*)*-2Phv€‰”Ÿ©¯¶¼Á¾ÀÇÐÖÛÜÜÝÝÝÝÝÞßÞÞÝÜÛÔÛlKCS‚¥¸·´°°¯©œ›œ›‘j_`fmƒ”«ºÄÈÉÊÉÊËȽ§™Œ~n_MV\^e…Ÿ°±µ»¼¶µ³¯ª¡‘vkdonaA;@M[fffhjklkjheknnnqrt‡‹{djntxiS;F[e[VSQNOQWhiKDCE?7.*'&(;Ypng^WOG8!
-				
-
-
-		
-
-
-
-
-
-			
-
-
-						
-
-
-
-
-
-
-
-
-
-
-	
-
Q‰©«­­¬©¦¨©©¨¨¨§¤¦¦ª­«¦«¬ª©ª­­¬­­­­¬¬«©¬¯¯®­«©¨§¨­­®¯°²±®¯¬±°­¯°¯±°®¯¯°²³²µµµ²±²³²°²¯±³µ¶´µ´²dcddcacfeadfecdeeddb[L8&'1/#
-					
-			
-
-
-		
-					
-
-	
-
-			
-																		
-
-								
-					0AGNZ[[\]Z_bdfd`VIR\XL:*)&,.,*/5ObaYMFEEFE?84.3E\msuuvtvy|}~~y}~~}|z~}z{|€ynaPMKIDCCEGF@ABNZejpowwusyxyuurqnldc^[Y^`_Z`dbYTL?1//00/059AJ\lndL1/*)(**4Kep€Š–¢¬³¹½ÁÂÂÃÌÒ×ÛÝÝÝÝÜÝÞÞßÞÝÝÜÜÕÆ rO>\‹¬µ¸­°±°ª¡›œ›waQSX`gv›­½ËÕØ××Õ˹Ÿ¡ ˜„qZ^`|—«·¹¼Á¹©¥£”†wp_^`^\RHNT^fijjklmliidjllmlkonprkfp{ƒ‰€oaThj\IE<BFKRfm^KQTPJ:+)&&(Pih]XND<1
-					
-			
-
-
-
-
-
-
-
-			
-
-
-
-					
-
-
-
-
-		
-
-
-
-
-
-
-
Xªª©­¬ª§¨©ª¤ªª©¥¨¨¬¨§¦«««¨««¬«¬­­ª«¨©©­¯®­­¨§§¨ª¯­­­±¯°°°ª®­¯°°°±¯®­±±±®µ·µµ³±³²³²±±²´¶¶´´´¯ddedbbcffddfdbdebdcc_TB5-7970("
-
-					
-				
-
-
-					
-		
-
-					
-							
-																									
- .9@KPQPVZ\adb``^THQ\YTD:0.0;>>=@N\^XNA@?>=72/.2I`pstrrstv{~~}}}}}~}~~~{|}ƒ‡ˆƒxlYQMIEDHKMORW`josuy{}|{{{{yxz{ztoje^^^__`df_UQL@/./330//37DVfjbO<.+-/-+7Oes‹™¥°¹½ÀÁÀÂÉÑØÙÜÞÞÞÝÝÞÞÞÞÝÝÝÝÜÔÄŸuRAg–³¼¹µ³²¯ª¥¢Ÿ™‡oTC?HPYbnw…˜±ÉÖÙÙÚÕË¿´Á¿³˜ycn‡ž¬´¸¾Ã·£™•Ž…xri\R[ega^\^`djnooonomjijkkllmmmkhdckv‚‰ˆƒ{vsm\G>78:CNesmd`ccZG:5.*)IacZQE95*
-
-				
-
-
-
-
-
-
-
-
-				
-
-
-
-	
-
-
-				
-	
-	
-
-
-
-%a‘ª©©««©§ª¬¬­¬¬¬«ªª­®¬¬¬­­­¬­¬«««­­¬­­®­¬¬¬«¬¬­®°°¯®®°¯±²±®­®°±±°°¯¯°³³²²µ¶´²²±²²°³´¶µ¶¶µ³³´µeeededeffeffecffcdddc_UJC9;98640(

-			
-
-
-			
-
-
-									
-
-
-
-		
-					
-		
-
-																		
-					
-",3>FHGEEIPY`a\[XRLX_baZRMIIKLKGCJSVWO@=4577/./<Mbomifeinrx}€~}z|}~|}€}z†Œˆƒyi^OKEJKOS^houwy}€|€~~}{|{‚ƒ~troi`]Y^`ff]MPNC//0463/./4?QbecVE8,01/-5NbsŒœªµ¼¿ÀÀ½ÃÍÕÚÛÜÞÞÞÞÞÞÞÝÜÝÝÝÝÜÓ¾œwTErŸ·½¸·¶²®§§¥ž•hL331<CQ\ben~µÑÙÚÜÛ×ÑÏÐÏɱ€}—ž¥®µ¼¾´¢—ˆ…ysld[V[pyqhg]demqqpplllighhorqmngdbbY`aq}ƒ…‚wrm]I?881=J`rtmhki^IDA410M`bXM<83(								
-	
-
-
-	
-
-
-		
-						
-
-
-
-
-
-
-
-
-		
-
-
-
-
-
-
-


'f”¨¨¨©¨ª©ªª­­­®®ªª«««®­­¬¯°°¯­©­­®®­­­®­¥¬«ª©®¯¯®°¬¬¬°°°±°­¯±°°±±±­®®²°±´´°´´³±°±³µµµµ±¶³±³´³fecdeffffefgfhigeefedea[SLA;9<<<6.$
-
-
-	
-
-
-		
-
-
-
-
-												
-
-				
-	
-
-
-
-								
-																				
-#,3;AA<3./=KY]]WQMWaimmidb`\XWUQKFJNSOF;637977:CUcibYRPU_gow}~|z{zz||}€„…{~…‹’’Œ‚seXQMMO]ju|€„†‡ƒ€‚‚‚}€ƒ†ˆ„zxsme]^bebZSQPE8004641+*,8J]de]RB40///3EXk~ ®¶½¿¿¿ÀÆÐ×ÛÝÝÞÞÞÞÞÝÜÝÝÝÝÝÝÜÒ»–rUJ|§¹º´·´¯¬¨©§Ÿ‘}cD/-+,4@KSY`p§ÎØÙÙÙÙØ×ÖÖоˆ”˜™¡¤©³µ­¢”†€wnf]VSXv€zumhilqvtqpklnlkklnorrqqnjgcZVYlzƒ‚}qj\J@=;86B[ptmglfYHJLIDESbd\K<84&
		
-
-	
-
-		
-
-		
-
-
-
-
-	
-
-
-		
-				
-
-
-
-
-
-
-	
-
-
-
-	
-
-
-
-		
-
-	
-
-
-
-

(i–©©ªªªªªªª««§­­­«««©««¬¯°°¯¯­«°²¯¬¬­®¯­¬­¯¬­¯°¯¯®®¯¯°°±®­«¯°°°±³±¯­­°®°²²±³µ³³±²´µµ´´¶µ²°´´¶eddddeffecfgghhgededdgfa`^YRL=:9751-+( 
-
-	
-
-
-		
-
-											
-										
-		
-																
-
-
-				 %/5=B>0-)+,>NTVQFO^kqsspikicX_`]VL?ELOLE???BEEDP\abUEDBHO]bowxxwxww{z„…‚~ƒˆ‘”‘„{uni`fmw~…‰ŠŒ‹Š†„‚…†„}„‰Šˆ‡‚|zvm^`caYVUTRJ?6.23420,15JZbd_XJ93.0049IZw¡«³º¾½¼½ÅÐ×ÝßÞÞÞßßÞÝÛÜÝÞÞÝÜÛѶŒiQP‚©·¹¶µ±««¨©§Žv\?-,++*39<APh¡ÊÖ×רÚÙØØ×줙˜›š £ ­« “Œ‚yqg\WOW]swxqickjqrnjklpttusmoqrsvwvqkf\LNSp}„ƒzkaLIGC=9:Wmmca`YHCHOOHAN`b\L><5$
-		
-
-
-
-					
-
-
-		
-	
-
-
-
-		
-
-
-
-
-	
-
-
-	
-
-	
-
-
-
-
-
-	
-
-
-

+m˜§¬­ª¦©©¨¢«ª«¬¬­®­¬©«ª¬®¯©®­¬¬°²°¦¬­®®­«­ª­©°¯¯¬¬­®®®®¯­¬«¬®°°±­°®±¯°­¯±³¬³³³ª±¯µ´²²³³³³´µ¶¸fdeebdee`befdffededdeghgghfa[SJC88989:2(

-		
-
-	
-
-
-															
-
-			
-		
-																				(1:ADD>3,*()2DKMFDRgsuuuqonjdaehfaR>9DKOMJJNPTWX\ac]J=9?FNW`hoqrtvsw|ƒƒ„„ˆŒ‘“‰„‚€~ƒˆŒŽŒ‰ˆˆˆˆ‰Š‡ƒƒˆ‹ŒŽŒ‡‚~zrkhd][X[ZWPH<./122257EV^^]ZULB:63357?NlŽ¢©¬·º¸¶¶ºÎØÜÞÞÞÞÞßßÞÜÝÝÝÜÜÛÛΰ{`OZ‡¨µ¹¶³°«©©¦¤™‡qV;--,*)*-/1:^˜ÂÑÕרÙ×ÖÔÏį¡Ÿ¡Ÿ¢¢¡¥«ª¤“‹€vng]TQT`mw~wmdjnpnjgdgkqwxxurqqprssqmhd\SFNi}…ˆ‚yjddcWF;6QeaUPNG>:?EF<9EV[VKA=5!
	
-
-
-
-
-	
-
-
-			
-
-
-
-		
-
-
-
-				
-
-
-
-
-		
-
-
-
-
-
-
-
-
-
-		
-	
/r𬮭ª¨©¨¨ª«¬®®¬¬­¬¬ª­¬¬®¯°®®®­®¯°°¯¯®¬«­¬¨­°°°±²°­­­­®¯®¬®®­±²±°±³³³²²´¶³±²µ³²²³´´³²³°²´´´¶ºgeeeecddccfgfeedeffffbgghihdca\WRIC9;<951+%
-
-
-
-				
-
-
-												
-
-	
-
-
-																
-
-				$4CKNLID>820-5?DB?>Shrttsookfb]diifV?79AJMOSVY]`bded[K79:ENV\cigfpsux}€€ƒ…‚ƒ‚ƒ‡‹’’ކ„ƒ†‡‡‡‰ˆŽŽŒ‰ˆ‰‰Ž‹Ž‰ŠŒŽ‘Š‚~wsrogdedb_\UL>../0+26H]iiZNLKIHE@;587:=^ƒžª¬³¶µ³°¼ÎÙÜÝÞÞÞÞßßßÞÝÝÜÛÛÛÚÍ­}XNc‹¦±·µ±±¯¬©¦ “€nT:,-)+&++--4S}¢³ÀÈÏÑÓÐËÁ¯§ £¦¥¥¦¢¨§¥™‹yda\UKXdmv{~vioswxvnoqttvxysqosnoppokgie`XRQi{ƒˆ†}}~oUJ8O\WEB9400/01/'9HNMB4:3

-
-	
-		
-
-
-		
-
-
-
-	
-	
-
-			
-
-
-						
-					
-
-
9z­­©ª«ª¨§©­¦¯®¬¬­­¬«¯©¬°²±®¬¬¬­¬°±±°°«®¯®©°­°±²²³°®©­¯°¯¯±±®®°±±´³±­³°¶´±°³´³²³³³²³±´¯°±²±²µffededccdefhgeffgfefeeeghifghihfa[TK@<:;:950*%
-					
-
-		
-																						
-															
-
-			,ASYUOLJGC@><9>>;;GUcjmnnmkgb^]agihV;017@HPVZ\^adde`WLA>>EMT[_cbciotw~€~€‚†ƒ‚ƒƒ‚…‘ŽŒ‰‡†…†‡‰ŒŽŽŽŠˆ‰‘’“‘Ž“‘ˆvutnggpnfb_WM>,./002B\rvlVC@AEJJHB=9758Ks”¨­±³³®¯ÀÒÚÝÝÝÞÞßßÞÞÞÞÝÝÝÛÚÚеUKiަ¯µµ³²°­¨¡œŽ|iQ9/-,*,++,,0@Wo‚’¢°¸½½¸±ª¥¦©¬©¦¨©§¥›„}rc\TNQcty}}}slquy|zy{~~€~}yxuuvvuutrpnkga[UPcs}†††Œq]NOVO@92.+))))((.;AB955/

-		
-
-
-
-
-
-
-
-
-	
-
-
-	
-
-
-		
-
-
-
-	
-
-				
-		
-
-
-
A~Ÿ¬¬¨«¬¬§©¬­®­ªª««®®¯®­­°±±®­¬­®®­¯¯¯°°¯¯°±¯­®±±²³²¯®®®°°°²²­®¯±³´±¯¬±µµ³²±²²±°³³²³³²´´µ¸¶´±´geeeedddddeeefffgcdafefghhhfhkjggeb]XSM>;:;7652111)
-
-		
-
-			
-
-			
-
-
-
-
-
-
-
-
-	
-																		
-						
-
-	
-		$4GWYSNKKJJJIHDA>9CNY_bekihf`XXX`bhfU71+.2@LTVWW\\\[]VMFECIMSWXXYZensw}€~y~€€~ƒ‚‚„Ž‰ŠŠ‰‡…‚†ˆ‘ŽŽˆŽ‘””””“’Ž’’ŽŠxrlfaiqohd^WL<,/011=On~tbK444?FIJGC?975CZ‚Ÿ­²²°­¯ÅÖÛÝÞÝÝÞàÞÝÞßÞÝÞÞÜÚÚÓ¾‘YYo“©°°´±®ª¦£Ÿ˜ˆqaL5.,)()++**/15;DN_p~‹’– £¤¤ªª©§¨¨¥~}vlbXOV\mz|~{ttswszxy{}{{{}wxrxutrtwurrpnhd[VQXap~~snl{ƒwfUQRH92+*)&%%$%%*.262,1*
-
-

-
-	
-
-
-	
-			
-	
-		
-
-
-	
-
-			
-		
-
-
-
-				
-		
-
FŸ¬¬§ªª«§«««­¯¦«««¬¯­­¬­®®­°­­®¯­¬¬®®¯¬­­®¯­¨®¬°¯±±°®¯®¯¯®°²®®®±³²±°¬²µµ³³±¯¯¯­³±³°µ²¶´´´´µ¶µeffeeeegeeffcefeffdeghgghhhefllkjjiigd]UNI><=><=@@8,%

-
-
-
-	
-				
-
-
-	
-
-
-
-
-																								
-				)6FPPLKKKMNMOOI@?CJRZ_beiieaZQOU]deaR<5/*-7FOTTUXZXY\XIHHJMQRSRSTWajoty~}{wz|„„‡‹ŽŽŒ‹‹Šˆ†ˆŠ‹ŒŒ‹ŒŽ“–—–””•“ŽŽŽŒ‰tkb[`inmiebYM:100.3Dh|lT=2028=BFEC@=::=Nh¦¯­«¬²ÉÙÝÝÞÞÝÞßÞÝÞßÞÝÝÝÜÛÚÒÁœraw—ª°²°¬¨¤£¢œ‘~iWE0,)'%')))+-//0/26;B^lŒ•¡¤©«¨¨¨§¡–…zvqeYQN]kv}~}wrtx|€}z|~{xwxvvvy{wsw}zwvsrmic\VIN_oofNRamom_OJIB2*(('&%%##%'*-.-+-#
-
-

-
-	
-
-			
-
-
-
-	
-
-
-	
-
-
-
-						
-
-				
-
-
-
-
-
-	
-
-
-
-
-	


L† «­¬ª¨©§ªª¬°¯­¬ª§ª­®««®¯°±¯¯®®¯¬¬®®®¯®¬®°¯¬®®®­¬¯²±²²¯¯±±¯³¯¯®°²³²°°³¶µ´µ³°°°²³³´µµ¶·¶µ´´´µµddddeghgfcggeceeghgegggdhghchkllkkikkjie_ZUNH9=9<?<9752,%
		
-											
-
-
-																	
-
-				
-
-	
-"-3=A@?GLOPPNSQL9=ELNY]^afea\UIGFR[[VLB<3*)3<DIILRXZ[`\PLMORSRPOOQSZZdlqu{{|{}€„‡‰Š‰ˆ‡……‡‰‹Œ‹‰‰†„…†Ž’”•’ŽŽ‹‰ˆ‹Ž‹‰€qj\^alnkklkcT@01/19_|u^F?344757:;<<>>=?C[¡¨¥¢ªµÌÛÝÝÞÞÞÞßÞÝÞßÞÝÝÜÝÝÙÏÀ¡y€›ª«¬«¨£¢ž“…q\N=.*($#$(((*,..//.24F\•™š¡§ª¤£Ÿ¦¥œ‹uog[MORev{}zvrmst|||{{}}uvwwusqyzujuzzwwrtmkc`YL?OZ\ZJ<MORSH5>D<-)'&#&&%#$!%'(*,,+
-			
-
-		
-
-
-
-
-		
-
-
-							
-		
-
-		
-	
-		
-
-
-
-	
-
-
-		
-\£«¬¬ª¨¨©ª¤­©®ª«¨ª¬¯¦«©®®¯±¯ª®®®­­®®©¯°¯¯¯®­¬¬­«§¯²´²±®±³²°´®°¯¯­´²°­³µ·³¶µ²°±²´´´µµµ·¶·µ¶±²´eceecfgfeeghfcefgjgffefhhghiiikklkkklmnmjed`XOF@;>??@@@>90&

-	
-
-
-
-
-
-																						
-					
-
-			
-
-
-
-
-
-*0249<>FPRRTVXYOA;GPV[^_aab]VNE=<AJMHDC>6+)/5886>HRYac]UUVWUSPKEMUYYVYimqwz}€}yz|€„†ƒ€~„……†…~{{z|‚‡ˆ‡ƒ€{zz~ƒŠ’–“ƒzmggmswuttsj[E6215OpˆmSGA=;<;6/559;?AA@AR†¤­£¢¨²ÉÙÜÝÞÞßààßÞÞßÞÞÞÞÞÝÚϾ£†„Œžª­­©¦Ÿ¢Ÿ—ˆyiVF8,+(('())()+,-....:Nv’£¢ ¢¨§¢ŸŸ¡¡”„wldZQHLZo~}zqppuy{}}}|}{xxywtrpuwporuvvutsqldc`QA@ITVG8AFD@5/5?8)'%$$&&%$$$$$$&)-)
-
-			
-		
-	
-
-
-
-
-			
-
-
-
-
-
-
-
-
-
-			
-
-
-		
-
-
-
-
-
-		
-
-	
-
-"e–§¬«¬«¨©«««¬­«©ª¬¬¯¯±®¬¬­®°°ª¬¬­¯­®®«¯²±¯±°®¬®®©«°´²°°±³´³²´´±°­±³´²³´´´´³²±²³µ¶³¶·¶¶¶¶¶·¶³´¶gdfecegfecffeddfhhgfgfghgghihgggkkkillmmljjieb]VPGC??>@B@<5/'

-
-
-
-																							
-							
-							
-
-
-".2/248;DOSTX[]]TEGL^jnmlkklgSNA<7;?=;98<81*+---54?ER^a[WYZXXUPGHO_c_X_hjjsw{}xtqrtwywttuwxz}~}yrrqolqtsrpoppqrtmzŒ”—–‡|rswz}{susk`Q?>7L`u€ufUJFDCDB=;9;=>=BCC<a–µ½²¢§®Æ×ÛÜÞßáááààßÞÞßßàßÞÛÓ¿¥‰…ŒŸ­¯®¬§¤¢‘ƒshRC60-,+*'**)(**,-.*<Lp §¦ ¡£¢Ÿ™–”…yk`WMKAQbs€}yukotwwy{|wyv{wxyxqtqpoqrsprutlrnmgfbU=<:HMD8@@C=4,6?6&%$##$$$#%#$"#(,'
-			
-
-				
-
-
-
-			
-
-
-
-
-		
-
-			
-				
-			
-
-
-	
-
(i™§«­¬¬¨«¬¬ª­¬«©ª­¬¨­®®®­¨­­®ª«¨¬¬®©°¬±´²¯±°¯­¯®®®²³°ª°²³³²²³²²°¯±²²²³µ³²®²«²°¶·¶´¶³µ·¶²µ³µ±²³hgggegfefgffggffggfgffhhfghhhgghjjihjkllnnmllljfaZUND?<AA@?<6.#
-
-
-
-	
-			
-						
-
-	
-			
-
-
-
-	
-														
-
-)212225:BMSV[_]\UIM^nz€ƒ…†…ziVD99:<=:45761)(*-4:=:<EVZYY]\XZZQCJ\hkd^aghhouy|xrmjinqnkmopoorutvqkgfehmstuvwvssuvutwy‡–•†xz|~{srphf\TQUapush^VOKIIJHDAABCA?ADFMr©ÆÌ½®¤©ÄØÝÝÞßáààààßßÞÞßàßÝÜÖÈ©Š†‹ž­²°¬©¥Ÿ–„xgR<8320.*)*+*())*-.8PlŠ¢ª«©¦ŸžžšŽ‡‚{uk^TMJGEVjw}wpjp{{z|€|uxzyxxzwvtspoqtsqrtspppnlifWB:6;DA?@FFA4+6=4%##"#####$$$$$%(+%										
-
-	
-			
-			
-
-
-
-
-
-
-
-		
-		
-
-
-
-		
-
-	
-
$j›¦«­®«§©ªªª­­ª©«­«¦©«¬®­®¬«¬­ª©­®®°°¯°³±°°¯®¯­¬®¯°²±°°°¯´µ´³´²°¯¯±³²´´²²³²²´·¶µ´µµ²²¶µ´µ·¶¶µ¶fffgggfdggghhggdgghhgghhghihggfijjhghhklmmljlmmlifb_[TMA?>>><94.( 
-
-
-
-
-
-
-	
-
-									
-
-			
-
-
-		
-
-									%/3354/48AGQVY[YXTLXgwƒ‡Š‘““‰ydM@58:981.22.'),4;CGA4>FRV[]\ZYZQBQcmnh`bed_msvwrkg`gppe`agihhmlmlg_[Vadopuxyzyuuvwvuuws‚Œ‘‰||z}~ztrokic_ciqvob]UUQONMMKHGGHHC=AFLSŒ¼ÐÏÄ·­¦ÅÙßÞÞßààààßßßÞÝßàÞÝÜÚÍ®‹‡ˆš¨¯°­ª¥›•‹ˆzhUH@=;852+++,()&*)7Eh†š¨­®ª¥ ”‰vtjf\XMGDFDZoy}rnm~Œ„{|~vzyzuywxrollmrpurrrtmrnnhigZF?:@CGJOTPK9-58/%# !""!#$$##"##),"						
-
-
-	
-
-
-
-
-	
-		
-	
-
-	
-	
-
-			
-
-
-	
-
-
-	
-
-
-
-jœ¨««¨«¨¨§©§®­¬§ªª¬©ª©«­­ª­ª®¯¬ª°²°­±­­­¯°¯ª««©¨ª«®®³³±¬°µ¶«³³³±±®¯°²¯´²³°´²¶¶¶°°±µ³³µ´´¶·¸¸·´eecfeeefgffgffgggghigffefhijjigijjhhhhjliijjllkmljhhhd]UPJ@==@@>82-*'#
-	
-
-
-	
-
-
-					
-
-	
-
-		
-
-
-
-	
-
-			
-						
*12365039@FNTVUUTRU\k{‡Œ’“——„q]E:7:96--/.+)*.8>IPG;;@OZ\\[[][QJXhnmica`Z`muspiea_fnmaRX^adgjjgcYQPXcmprvy{{xuvwz{|{vrs‹Š‚}y{zvvsolkhhn|}uf[WSUVUTVVSPONMKF>BIOm ËÖÒɾ¶¶ÈÙÞÞÞßßßßßßßßÞÝÞÞÞÝÝÜÔ·…–¢ª­­©¥Ÿ—“‹|h]QRVXRJ@<82.,,+,2B`~˜£©¯°ª¡žž›”…uneZXQH>=BE^s{zwx“¯²¨•‚„€}{|{{xvwsojlqtwwwtqstqplhgeXHMMIEKU`gbU>232+%$&)**(#$$$##"#%+!
-						
-
-
-				
-
-
-		
-
-			
-
-
-				
-				
-
-
-
-	
-%m§©¨«««ª¨ª­¯°­©ª«­®«©«­®®¬¬°²¯­±µ²°°¯ª¬­¯®ª®¯®¯¯°®®±´²±²´´µ³´´´³²²±³µµµ´³µ·µµ´´³µµ´³³³³³´·¸¶µfefgfccdgfedffghhhijiffegijkkjihjjghijiijjiikiiikllkkkheb]WQJ=C@>;::85,!		
-
-
-						
-
-		
-				
-					
-
-								+0013428<BGMPRSROPT]m|…ŒŽ‘’”‘‹}kWB?>>:511/.,,-6>LUL?<>O[\W[[^ZPI\mnjhea^Zdpurlic`\ab`^ZX]_eglnmd[LW_hpqrvx|xzuxy||{xrmnp†ŽŠ‚€zzruvslkijlzƒ|n`VUTUTVXYYURRPPNH@FLUz°ÑÖÔÌÁ¹¶ËÙÜÝÞÞÞÞÞÞÞÞÞÞÝÝÝÝÞÝÜØÂ˜ƒƒ“ ©¬©£¤£–‹|qkgdigfe_ZSI?63/6?`|’£§ª®®§Ÿ˜•“Ž‚wnbZRJ=62>Hasyzyv›¶ÉÍ𞍇|}~v{xxtsntxwtvwtoqmkjkce`TEQUN@JWckcWA0/)'$'*-/-.*"##$"! '*
-		
-							
-							
-
-
-
-		
-
-
-	
-
-
-
-
-
-
-
-
-
-,s¢§§«­­¨¬¨«­­­¯§­¯¯¯¬©ª©¯¯¬¬¯°¯¬°´³«°¯¯®®­¯«°¬°®°±±¨¯­²±³¯³¯·¯µ²´²²®µ·¶¶´³´¯´³µ³¶¶µ²²²³®²±µµ´µeegggfdefefgiihhhijjkigedijjjjiijifhjjihjkijjighjnnllnonmiea[TLH?@@A@>91&


-
-
-
-				
-																													!)..-.12;BFIJLNOLGFP]q€‰Š‰ŠŒ‹‘ށm[GDCCC?9674.,+2;NZQB==NZ\\]_\WOH]noifd`][hqvtqkida`_YZ[^cfilpwtg_^_clrsvwy|~}|{{zzvrleciŽ‹‰„zwwwrlklnyƒvfXYYWUTUXYXURPONMGAGM[Ž»Õ×Ô̸ºÎÚÞÞÞÞÞÞÝÞßßßÞÝÝÝÝÝÜÜÚÌ«ŽŸª«¦£¤£“ˆ|v‡†tmswvsmd[PFAANv’ ª­ª©¥Ÿ™Œ‰…|uk`SI>500;Nbpuzz—¶ÍÖÖÒÇ»ª’ˆƒ‚€€}}ztvwy|wrssqomkiihfaZOINVN?DR]aXK=.+%%$&(+,-/-)&##"""()
-		
-	
-
-
-		
-
-		
-
-
-
-
-	
-
-
-
-
-	
-
-
-	
-
-	
-	
-
-
-
-
-

-{¤¨¨ª®¯°­¨ª««°®¬¯²°¯¯¯¬­¯±®®®¬®¯¯³±®¯¯®¯¯¯°±°¬¯°¯±±°¯¯¯±±²³µµ···µ´°¬´¸¶´±³²¯´¶µ´µ¶´²²±´µ³²´´´¶deeghhgfecfijiifgghikigggfgghiiikjiijhhhikjkkjhgknmkmnnnnjiigc_[UIC?@=<95/(
-
-
-
-
-
-
-
-
-
-
-														
-
-#),-,++-7@EGGFGHD=@GYr‰‰……†‡…„xfSIBA@CFC=7880.,48KWOA?>P\][`_[RNFUdifa\\V]fmqw|zwocfghikorvxty}xjdaa_hnrvvw{||{xtrnofhZ_c}Œ‰†€zywrlqu{‚„~nZZ\\TUSSTTURLKHFEC@EHo¡ÇØ×Ð̸¾ÒÜßÞÝÝÝÝÝÞßààÞÜÝÞÝÝÜÜÜÓ·‰sŠ›§«©¦¤ ˜Ž…x•¡¢vxz}{wrj_UV\… ¥ª©¥ž•‡€|ung]RF77112EVennmŒ¯ÊÖÙÙØÕÐÁ¬†€ƒ}|zzuyzzvtrqmohgfedcb[PPNQVYDGKJG>.+)'$%#$$%$'(-.*$#"##('
-	
-
-
-
-
-
-
-
-
-
-
-				
-
-
-
-
-
-
-
-
-		
-
-				
-
-
-
-
-
-
-



-
-0{¦§¦ª«­©ª©©©¬¯°¯®­¬«±±±±°¬¬¬®¬­­¯±±©¯ª­®°°¯°°¬®®®¯±±±­­­®®³³³¯µ·¶¯°¬´¶µ²³´³¯´µ¶´´´²­³³´³³±µ´¶¹eedfghigdddhfijihhijkihhhhegfgijjkiiiiihijjklkjklllnnonnmkkllmkjf`XOE@=??=:60(
-
-
-
-
-
-
-
-
-					
-													
-					"&),-,()/9@EFHHF=::DTn}„…„„†…lT<2/7<>BDB>8699426=IQJ>@IV__]bc]TMDGW_`ZZWT_efnz…‡‚}wrstwy|~€}zskeea\aiossuuvvurmikkjbWZat†ŒŒ‹Š…|vrqw~„‡vgZZ^][XWWWWUPKIGDBA?BK}³ÏØ×ÓÌĺÇÕÜÞÞÞÞÝÝÝÞßßßÞÝÝÝÝÝÝÝÝ×Á”z„•£©¬¬¥™‹‚x„ ¯³¦’zx€ˆ‹‹Šƒuh_oޤ¥¥ ˜‰„{tkcZRJA65668=N^iniyŸÃÕÙÚÚÛÚØÑŵ¢”…€|xzzz{yxwtqonmjfgdc`VSfrsurfROH9-&%%#"#$##$#$&+/-($#$$)&
-
-
-		
-
-
-
-
-
-
-	
-
-
-
-
-
-
-
-
-	
-
-	
-
-
-	
-
-
-
-
-
-	
-



-7|¦ª¬¬¬¬«¬®®©«­®®­«­°±±±²®««­®®­­®°°±°®­­°°¬®°¯¯±±¯²³°­°¯®­±³±±´¶µ³²³µµ³²´µ³´µµ´¶¶¶³²µ¸µ²³´·¸¹»geeffgihhhghijjiiijjjikkiiihhhiihjiggijghijgjkkklllmnnnlllkkmmmmmlgb^YQDD:=>=:61)
-
-
-
-
-
-
-				
-
-
-
-				
-
-
-								
-
-		
-	
-
  %',.-*.1?BLMLJFCCBPft|{y€„|lR2/'.2<?@A?=81;;427=GMG=FQ\ba`ee`XQHKNZZYRSUekhhy…Їƒ€~~~‚‚€|se\QTWZ\bglgmijjploillg_WOMK_s…‹‰‡…‚|uts{€†ƒvha\]^]ZYYYWYUSNJGB<<;BS¿ÒÔÖÓÌÇÆÎ×ÜÝßàÞÜÝÝÞÞÞÞÞÞÝÜÜÝÝÞÝÚÉŸnŽ›¤©«¤”Žˆ~o„Ÿ¬³¬ƒw…“ž¥£|z—™œ”‡vtqjbZSNCB;989:=ATdkmtˆµÑÚÛÛÜÜÛÚÙÕ;¬˜~}rwwzyzsxurjolkfec_YX\}Ž„tfS7-$%%#!"#$%$#"!(--*&"$%'&	
-					
-
-
-			
-
-
-
-
-
-
-	
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-	


-

?~¦ª«¬ª­¬­¯±«ª«ª©«¬¬­­­¬¬«§­­®ª­­®±°¯°®®®¯¯¯®°°±µ´±³²°­±¯®«±²±±µ²´³³´´±±³µ¯´¶¸¹¸¶µ¶¶´¸¹¶­³¶¹µ¹·gfeefghhjkiihhfghihhijlkghhiijhgghhghjkkjljiiiklmmlmklmnmmmljllmnnnmljbZSJ??CCA?:3(
-
-
-
-
-
-
-	
-
-
-
-
-	
-
-
-
-
-			
-				
-							
-			
-
-
   !$),-.1:CQUTSPKHEAG^jqqqw{mT0+**/5>FHGC?::<:315;DGCDM]ejiiifb^WQQV[]VMKZnwuru€„‚}€ƒ„‚€€ƒ„~saNAFILRY`ffdhjlnmmoqmi`RDDAAHl}‡…„‚~wvz|€…ƒzg_]]]]\ZZ\\\[ZVQLF?:;=@^œÉÕ×ÖÓËÇÉÔÚÜÝÞÞÞÞÞÞÞÞÞÝÝÝÝÝÝÜÜÝÜÚϧsy‡’¤¨¥œ’ˆzs‚™¢§£™‰ ­µ¶´« —“‘‹†”|lfc_XPIHD??=;;<>@DXjnq{§Ç×ÛÛÛÛÛÛÚÚÚÖÐÄ´žstvxzyyxwsqnljgeaYUXw‘ Ÿœ›•‰{eK.'%$#"!$+-&"!$'**%"#%)$
-
-					
-
-
-
-
-
-
-		
-
-		
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-	
-
-		


H‚¦ªª¬­«ª«¯°®­¬ªªª«­¬®­ªªª©­¯¯®¯¯°±°®°­¯±°±±²±±³µ³±²²²³³³±°°°²³µµ²²³³²¯³¶µ´¶¹ºº¸µ´¶·¸¸·¶¶µµ¸¹¹·ffecggfgjkjhgfeeffgcfhkjhhhijjhdffgiihjkjijfjijkllmlkkmnnknmllmlljlmmljhe`YQN@=<><81(

-
-
-	
-
-
-
-	
-
-		
-
-
-
-			
-				
-
-
-										
-
-  !!!$&*.5@LW\]YUNDBAHU`ffdkn^>,((*5;GMJFA><;:42168ABKQ`koqolkhc`]XZ]acZJOax†…€{suurpy~€€}‚veQ<?BFEGJNQTW[`eilpqrmc`POOTZeqƒ„}{yz€ƒ„|lb\]]\Y\\ZZ\^]ZSLGB<2:?Mm©ÏÖÕÖÑ̼ÊÔÚÜÝÝÝÞàßÞÞÝÝÝÝÝÞßÝÛÛÜÛÚÒ®yyƒ–¡¦¨¢˜‰wdw†‰Š…€~|¤¯·¹ºµ°ª£œ‹ŒŠq_KLNLEC>@?>;;:==AG]oqq–¼ÓÚÛÛÛÛÚÚÚÚÛÚ×Õλœxyvvvutvqupomkfc\VWtŸ¦¡™š”‰y`A(%#""#%.2-"!!"!'($ "$&$
-
-					
-
-
-								
-	
-	
-
-
-
-				
-
-
-
-		
-
-
-
-
-		
-
-
-
Q‡¨ªª¬««¤©¨¯¯®¬««¬«¬¬®§©¨©ª®®¯¯°¯±®­¬­®±¬°¯±ª°±²¯®¬°®³±´²²±±±±­´µ²²µ³³¯´°¶´·¸¹··´·¶·¸¸¶¶µ¶µµ´¸¶efeefgfgjjggfgehgegeijhhhhghjigghhhkjhikjiiijkkjfkmljklmmnnmnnmlkjjkknnopojd_YPI?CA@8/&
-	
-
-
-
-			
-
-					
-
-
-
-
-
-				
- !!!!$&,5=GQY][UOE@>@LTZ[\_`R6**,3>JQSJ@;:8864227;?JWeouwvsolhdbbacegh^RRb}Œ‹€ung^iouz}‚€{jS?<?CDDCBAA=@EO]lv|zwph`bhnu|„‡‡ƒ|z{}ƒ…„se^\\\ZX[\YZ[^\VK@:986:>P‚¶ÔØØÖÒËÉËÖÛÜÜÝÞÞßßÞÞÝÛÙØÙÜÞÝÛÜÜÛÛÕ´rŽ–¤§¤˜‡vioyx{yz~†‘¤­µ·¸·µ·´¬¢š–†lXC?ADC?==?>::;;<?J`rs{§ÊÙÛÛÛÚÛÛÛÛÛÚÚÚÙ×̵ƒ{zxxvussttqomg_TMW€—£¦¡œ›š—’†pI*%""#$&+20+$"#$$$#! #& 
-	
-
-
-		
-		
-
-
-
-
-	
-		
-
-
-	
-
-
-
-
-
-
-
-
-
-		
-
-
-
-
-
-
-
-		
-
-W‹©­®­­­®¬¬¬®­¬­¬­­­­®­©¦¬°¯¯¯±°¯±²°¯°±²°®°¯­¯±±°¯¯¯¯°²²²´µ³³±°³³²³µ¶´µµ·¶´¶¸¶µ¶¸¶µ¶¸ºº¸¶·µ³µ·¶hhgfghhiihhgghhhhfihkkghhdgghijkkklkkgiikjiilllgjlmjkllkmonnnmmllilmnopoopnklic^XLE@@9421-&
-
-
-
-		
-					
-
-		
-
-
-
-				
- ! !"!!$'()08BKMNH@;8<AEIJKVZN64.9BOYZUH:75321.23;GPXgqtwxxurmeeddehiifaTYd|ŒŽˆ{mcX\ceguz€|q\?<<ADEBEDB?<9?@Vm{ƒ}vmfbn{ƒ‡‰ˆˆŠ‡ƒ|zuxz}~{rfZYW[ZYXZ]]^]ZYMA54355:>[—Â×ÙØÖÒÌÃÌÖÜÜÛÝÞßßßÞÝÜØÓÐÑÖÛÙØÙÜÜÛØ¼‹w|Œ–›žŸ“ƒvgq|‡“˜œŸ Ÿ«ª³´´´¸º¶°¦˜ƒfZHFAAA?:99:9:::8AL^ms‡´ÒÚÛÜÛÚÛÛÜÝÛÙÚÚÚÙѶ‰{wxtuknlqlppjaTFNUlŽ•‘‹Œ‹€mN-&!  !%),,'!#$$"#!!$%
-				
-		
-
-	
-
-
-					
-
-
-
-
-
-
-
-
-
-		
-
-
-
-
-	
-	
-
-
[Ž«­¬®ª®¯¯£­©¨¨­­¬­­¬­®«¤­±¯«®®±¯²³°©®°®¬¬­¯«°­¯°¯¯¯«­®³±´µ´³³«³µµµµ´µ¶¶¶¶µµµ´µ··µ±¶¶º»º¸¸³¶¸¸³egggfhjjihehhhggijiijjhhiiiijllljkkkjjiiijjjkmlklmmklmkkmnonllmnnnnnnooononopqnnhaZREB<?>>6-%
-	
-
-	
-
-
-		
-				
-
-			
-
-
-
-				
-
-		
- $"#"!!#"!"$#""(+39><70038>A@EKPLECDMXbf_QB61/-++,16>TcmquuvwxvsoligfgjlkkcV[g~ŒŠ€n^TTZa\`nzvbH99<AFGGFEA>;7:>Pgwyoeacqƒ‹‰‰ˆ…zrqttrk`UQPV[___aca``\UH9666558Ag¨ÌÙÙØÕÑÊÃË×ÜÜÝÝÞÞÞÞÞÚÕÐËÈÄËÍÊÇÍÓÖØ×Ùmu†’˜›”Œ‚uhq}’¤­´·¸¸·¶´³³±³µ¸º·¬›c_WRLHDA>;9:89:97BN\gt“ÃÕÛÛÛÚÙÚÚÛÜÛÚÚÚÚÛÒ·‰zvuuphjmmnmmbUG>JR\dmvxoeikmg\I1'!""!!#&(&!#$$$##"'$
-				
-
-			
-
-
-
-
-
-		
-
-		
-	
-
-	
-	
-
-
-	
-

 ]‘¬«ª«ª«¯®®­«««­­¬®­©ª«««­¯ª©­°°®±±¯¬«¬¬¬­¯°±²°¯°°®¯±²´´³³³´³±±²µµ´²²¶¶¶¶µ³³´µ··¸³³¶¸¸¹ºº·²·º¸³ffgghijihhiihhhfihhiijiijjkllmlhiijhhhkjigfgklllllljmmklklonnnnnpoomllnppponoqqpnkid]VPE?<<961*!
-
-
-
-
-		
-		
-
-
-				
-
-					
-
-
-
-	
-",+($$!###"#$#""$&&),++,,/49>><=?CEHR[dfbT@9/-*)&'(5@RamssqpqsuusojjhgcjlljdV\k€‡wgNKIW^[Uix}|kQ@69;AFGEE@>88876DQakhc_^gn…‘’‰ŠŠŠ‡„|moome^MROVYaec_dd``_]UF:788539F€·ÒÙÙØÔÍÃ¿ÍØÜÝÞÞÞÞÞÞß×ʺ¾¾»¼¹«±ºÃÈËÎÀkf}‘šš’Œ€vfp{—®µ¸¿¾ÃÄ¿»°«©¨¦¨ªŸx`ba`^VIE>=:966698IS`cl•¾×ÚÚÛÙØÙÙÛÜÛÛÚÙÛÜÔ¸ˆxrskjihhmjicYE?;JM[_iigTH89;:96/'!""#!  "#"!##$$##%("
-						
-
-		
-
-
-
-		
-
-		
-	
-	
-
-		
-	
-
-$a“¬«ª«¨¬­®®¬ª­««­­®­¨©¢©¨¬­§¤­°°­°¯¯«©©©ª®°±±³²±²±¬¯°³µ´¯¯¯³®­°³±´²°¯¶¶µ¶¶±¯°·´¸·¶·¹¶¹·º¹¸²·µµ´hgfghkjhdikkghjigegjgjjjjilnmlkihihgimlkjjiijklmlkmmmlklmnnmnolnlolmljnoonopmprqppoomhbYOI??@@:5.'
-
-
-						
-
-				
-
-			
-
-
-				
-
084.*(%$##$$$#" ###$()'&&'-2665236>GPZ_YN>71,)('&(.=Tajpsqnmlmnonlkjihhlmlke[\o„ކxdMHHQYWVeuxp]F879:@DEDB?;778649AJTWXXcnx†–—•’‘‘އ„~uomicWUX]bghgfdca_]]\TJ<87754;R’Å×ÚÙ×Ðò´ÈØÜÝßÞÞÞÞÞßØÈµ´±¬«¦ ¡­³³®·°–kaq‘Ÿ£ œ”‰ujn{•®¼ÂÃÅÅÅÅÃÀ»±¥‘‹ˆˆ…~kefikofZKA<86558;EZgibb‚®ÎÙÛÛÛÚÚÚÚÚÚÛÚÚÚÛÕºŒwrpomlkkkie_P@9=KU_gjibR6***$$&&$""###"""$####""!"&(!	
-		
-
-
-
-
-
-			
-
-
-
-
-
-			
-	
-
-
-
-
-
-
-
-
-
-*h–¬©ª«¬¬¬­¬«««¬¬¬­®®ª©¨§¦©­§ª®°°°±±°¯­­®«¯²²²²³²²°¬¯±³´³°®¯²®°³²²²±±³¶¹¹¹º¸´µ¶¸¸¶·¹º»ºº¹»¹¹¸·µ´ihhhhiihijlhgijhhdghihjiihlljjkkkfjgloniljkjjjkknmnmmlljoomilnonnoomljnonnopqqqorqpqqqmid`ZSLA=:9895,"			
-										
-
-
-
-;C<520&&#$$$%$##"" &**&%%%$&)+,.-.16;?B;53--((''&0;UfklppkiieefffgghhihlmkjeZ[t‰Š{jQK@KQQKbomaL56678:<ABA98752419<GIXagkxŸ˜—–”…ƒzvrlfedgjlmjgfed^]Y[VRNA44555?b£ÏÚÚ×ÓÄ©›–Á×ÜÝßÞÞÞÞßßÚͶ°š“‹‰˜œ™›ž˜v_u˜¬±®«¦ tqu…˜¯½ÃÄÃÂÄÄÃÀº± „†w}~}|{}~wl_JC5435:FVv„xc`a³ÌØÚÛÜÛÛÙØÙÚÛÛÚÙÖ¾vonnnjmnlhbVL@@BR]gmkgaR8&('#"#""##$%"$##$$$#!!!!(*"
-	
-		
-
-
-		
-
-			
-	
-						
-
-
-	
-
-
-			
-	
-
-

3r›¬ª©©ª««¬¬¬¨§§«©®®­«¬§§¦«¯±±±¯®°±°±±¯­°¬¯°°«°¯²¯®¬°¯³²±«­­®®°ª²±²®±±·¶º¸¹¸¶µµµ¹´´´¹»º´¸´ººº¸·¶hiigffghijkigihgikihigijigklijkllkjjmnmmmlkjiljlnponlllnonlkknnmjoomlnooooopppnoqropqssrqoke]TJC:DFE=4+ 
						
-					
-
-
-			
-
-
-
 4>??A>3)(&%$$$##"##'*)%%$##$%'*++,-///0/--,*('&&'8TiutsrodhhecdcbacehhiihhibY\z‘™“ˆwcPHFILS]d^O<434569;=@?=962/25;ELR[mnx‚“¢¦¢›—––“‰…~wqllmoppmifdeda]]\]ZSF63334Cv±ÔÚÙÕʯx¼ØÜÝÞßßÞÞÞßÜÖ̾­—‘{‚‰’™™u| ¹ÂÂÁ¿»«“uou…˜«¶¿ÂÃÄÄÃÁ¼º¬—‡ˆ”˜œžœ—‘Š‚ueTD;56<Qn”“‚pc^cŒ­ÆÏÖÛÛÛÚÚÚÚÛÛÛÛØÅuqonlklmie[RG?DKWblpkc`U:('&%$###$$$$"""#$&&$##$$$)+"				
-
-				
-				
-
-				
-
-		
-
-
-		
-
-	
-	
-		
-
-
-


;x««ªª«­¬««®®«««­¯±°¯­¬¬¬¬¯²³°®«­®®®¯®¯¯¯®°¯«°³²°­¯±³±±°«­®¯®²´³´²°°°µ¹···¶µ´´···µ¶¸¹´´¶·¸»¹¸¸¸ihigfehhhhihihgghhjjifiihgjljjjllijkmlkkmljfiklmmknnnllllmmllnnkiillmnnopnpooonppqqrrqsrrppolgaZRIFC@=95/( 
-
-
-		
-
-					
-
-
-
-		
-
-%.6?A:40,*(&%###$$%&&$$#"&&%%()$())))*)))(&$$$(*A_p{{|zsokkghgdX^^beedbaff`W`}™¤ ™‰wdSMDLQSSK<5///2588:8<=920.25@LTXk|€€~~¡¨¦™†’“Ž‡{vonloolie_cedddddea\P;412.M‰½×Ù×Ͷ–yt½ØÜÝÞßàßÞÞÞÞÜÙÓɽ±¢’†|zz‰‘’Žƒz{œ¸ÈÊÊÈÆ»¦†esx‡ŒŸ©±·»¿ÀÀ¹¹¯ ––ž¦§¨°²°­¦›}mZO=?BZv‡Œtpmf_³ÈÖÛÛÛÛÛÚÛÛÜÜÚÄŠqonkihhgbVOA><CKXdnso`icI+(%%%$##"$""!  $$*+)&*+'$*,!	
-			
-	
-		
-	
-
-
-
-			
-
-				
-			
-
-	
-
-
-
-
-
-
-
-	
-
-
-
-
-
-
-

<{œ¦¬­¬¬­ªª©®°¬©­®°²±°¯­¯«¬®®®¯ªªª««¯­®ª±±¯¯¯«±°³°°°±®­¬±ª¯­°­µ¶µ±±°±®µµ·­¶¶´´·¸µ²µ·¸³¶¶µ¶¹´··¹¶gijighijihggijeggijkgfhihhikjkkkkiijkmmljlkiikmnkillmmlkkmnponmkijloonlnmoppoooqpprrrrsrrqqstspke^WODCCD@<3* 
		
-		
-	
-
-
-
-
-
-
-
-
-
-*1110332-&%####"#%%%##&'$$&&$$%%%%%$%&%#$$$*3Haq{~€|tmmnkic`ab_dca^cba\Yd‚œ¨©¦˜ƒqbXRONID73..0/.3799:;<92/-16BMT]q‡‰‚xyˆ›¥§—“’“’Œƒ{sqpqrnid`aeeeegijgcYI7344Z›ÆÙÙÒ½ €qp¾ØÜÝÞßßßßÞÞÞÝÝÜØÔÐÊÁ¶«¡”ŠŠ‰ˆ‚{y‘®ÄËÌËÈõ‘how}„Œ”Ÿª³»½·²ª ™œ«µµµ·»¼½¹·¬œˆwh]XXbw}ssz{gTXv“²ÇÕÙÚÚÚÚÚÚÛÛÚÄŒmlmljhebXNB;::?GTbowtsvrV1)$%&%$#"##"""#(+./.,-,(%,-!
-
-
-
-
-
-
-
-
-
-	
-
-		
-
-
-
-
-
-
-			
-
-
-		
-		
-
-
-
-
-
-	
-
-
-
-
={œ¨­¯¬¬¯¯««®°­«­¯°±±°®®°¯­®®¯®«­®°°±²¯°²³±¯¯±³´³°°²°±±²±±¯­¯±³µ´´³±±±´¸¶´´µ´µ¶·µµ´¸¸¶¶¶·¹¸´··¸ºhijihhiiihhijkkjjjjigghfhhiilllmlgjlllmmllmlkjnonjmjjjklmmnqqllmkkmooopoooqrpnoqqprrqmqrrrrsttrpnmic]WQHED=:73,!
-
-
-
-
-
-
-
-
-
%,573.,(%$!!!%%%#"%% ##$#" $$%%$#%$#$%%-7GZhsy}vnqtsqlhhgedc`aa^VUTi‰œ§ªªœˆte\XTPKE=41.1/0258:;<<951*/5>DFIg‚zqp€ŽŸ£“zŒ“““ŽŒ†~vvtsspje[beecdbhhfe`VE79=p­ÎÙÕǪ†ynq‹¼ØÜÝßÞÞßßßÞÞÞÝÝÜÜÜÛØÓÎǽ´£™‚€oowž»ÆÊÉÅĹ–mot{}ž£º¶³®±  ¢µ¼¼»¸µ½´Àþ´£Œsmgksvwusxv`BN_z¥¸ÈÒÖÚÛÚÙÚÚÙÄ‘mikmlgaUNB;38766ETfvywc9-$$"&%$$$$##$&+.//-)'&$$+*
-	
-
-
-	
-
-
-
-
-
-		
-
-			
-
-		
-
-				
-
-
-
-	
-
-	
-		
-
C€ž©­¯®«°°®­®¯®¬­«®­±±¯«°°®©®«««®¯®®°­°±²±±¬°²´³³³´³²³³°±²°­°©±±³³´±±°³±µ³´®´¯µ´µµ´¸¸¶¶µ·²³³¸¸¹¹gikjehhhhiijkkkkkkhigiihehjkmlionmlmmlimmmnplloppponjjlnonnponoolknnnpppnnprpnnpqqrrnnorrqortsqqsusqmic\WPCCDD?6.%
-
-			
-	
-
-
-
-
-
(--//.+)&#!$#"#"###$$"" !#$$$$####%&'/7DQ]hqy{zvsuwwvurpkgccb_\XSTUoš¢¨©‡tg\WTOKHD?<82..16:::;;972.,2789ATkpldn~œŸŽu”’‡‚~zxvtrnhb_bgihfeeebee`P>;K‡½ÕØÏ·Ž|snr‡ºØÜÝÞÞßßßÞÝÝÝÝÝÝÜÝÝÜÜÛÚÖÐȸ¦Žxckˆ¯½Âÿ´—qlnv~‚ƒ‚Šž¶ÄËÌËÈÆÀ½»ÄÅÄÂÂÂÂÃÄþ¶¨’ƒ|vppqsrrpiTCESepx¦»ÇÑרÙÚÛِnhjmmh^QD<7479500@Vl{„ˆˆpF1##$')+,*&$#%(*--+)%"$$&*'			
-		
-
-
-
-
-	
-
-		
-			
-
-
-
-	
-
-			
-
-
-
-
-
-
-
-	
-
-
-
Lˆ¢¨¬¯®¯°°®®¬­®¯®¬­°²´±®°°¯ª¯±®ª­¯°°°¯±³¯°²±±²²²³³³²³µ´²²²±¯°±±±²²³±²²³´µ³´´´µµ·¶µ²¶¸¶µ¶¸¸¶¶·¹º»hhijjihhikjfklifklkjjjjjjkkkmlnpoooknnllmkmnlmoppooonlljnlmnmnonljooooppplnoomnoqqrpnoqrrqrrsrptwwurrrnmke^UPEE@<962)

-				
-	
-	

"'*,,+&""""""!"#$%%# "$#"#####$%&)03;DPZclqsrosrqqqqomg`ba]VSQU\}’™”¤¦™„rcWOMIEDDCB=7..0599:;8996/02789:FMRW_n€“›ˆp€Ž’‰~|~|ytqolba^dhjigfffffhfYCB]›ÈØ×Ŧ†vsnr‚¹ØÝÝÞÞßßßÝÜÜÛÜÝÝÝÝÜÜÜÜÛÜÜÙÑĪŒwe…¢±¸º»·ªogco{„Š™ªÄÒØÙØÖÖÔÎÌÌËÊÉÇÇÅÄÁ¾½¾¶ †ƒ}uknffc`ZL<EHW`dg}‹¡³ÅÐÕÚÜØÀmdgjje]OD986<>;002HSm}†ŒxT7$&'(+,-*&#$'(((((#$$%')&
-
-
-			
-
-
-
-	
-
-
-
-
-	
-	
-
-		
-		
-
-
-	
-
-
-
-
-
-
-
-
-
-
-
-
-
-

Z§©­­¯¯°°°­­­«ª®®®¯°°²®±±°«±®¬«­¯±²²±³³±°±°²®¯±±®®¯°±´®²²±°°¯±²´´´²´³¶¶¶´µ´µ´¶¸·¶µ²¹···¸·¹·¶¶º½fgghjjiijlkjklhfjllkkkkjjnmkllmooonmnommmlllinmmnnlpqpmmmmmmknnmmopqpopqqponopoqrqpnloqrrrrrqqquxxuuutuuvsngaXLFBDEE<2( 

-
-		
-$'('%%%%# ""$''%"%%#"##$$$$%).103;DMT^ekmnoonnnmlke`__ZTQORn‹›œ¡Ÿ‘€l[RQKA8>CCA?:2.1379::89;8554678:;=@MZp‚“œ—~y‹‰ƒ~}~~{xsppkgcabgijihffeillaRK{¬ÏÚÔ¹”uusosˆºØÝÞßßÞÞßÞÜÜÜÝÝÝÝÝÜÜÜÜÜÜÜÚØÒ¼˜‡†™§°²±­¡†j`_et‹•ž²ÈÕÙÜÛÚÚÛÙ×ÕÓÐÊǾº¸¶·»´¢ŠˆƒztneZRLJECFGISY^chpŽ¥¸ÆÑÖÖÁŽledfc`XMC:;=CFD@?AEKTk{…z_=*('((**'$#$%&%$#((&'&&(*%
-
-
-
-
-
-
-	
-	
-
-
-
-
-		
-
-
-
-
-
-
-
-
-
-	
-
-
-
-
-
-
-	
-
-
-
-
-a–ª±¯¯¯°±°°­±°¬¬°±°¯¯¯°±°±°¯¯®¬­­¯¯³´´±±±³³³³²²³±­®¯±²³³´´´´³¯°²µ¶¶¶´µ¶·¶µ¶µµµ·º¹·¹»º¹·¶¶¶¸¹¹¶º¼ehijkkiijllkjjjhhgljjklllmmlljlonkmmllklllmlmnmkmnnoqponnnmlnnnmoppqooopqqqqpooprrqnoqqrsssrsrrrvvuuttuvuutsqle^UFFFB?:62+%



-	
-
-
-
-
-
"%')&#!#"'),-)&$#$$#$$#%&+24/04;?HOW^cffgkjkfda^[]ZXURO_|˜¥¢ ”nbVTOF89<EDBA@5102579989:9765533233;I`tˆ–˜“…y†Šˆ~x{}zxusnkifccejjjjihilooibp•»ÔØÍ¬}rssot¿ÚÜÞàßÝÞßÞÝÝÞÝÝÝÞÝÜÜÜÝÝÝÝÚÕÑ¿ŸŠ}‚„˜ ¡¡›xXTR]jx‡“¡®ÀÏÙÝÝÝÝÜÜÜÚØÕÏÇ»¢Ÿœš˜˜™˜‹ŽŠ„zpcIDAECJIHGORY`ht}‡®¼Æ¶Žj\_^]TOIB7<BGIIIIHJLPShsn]<)*&&"#$$!$%&%%%')(&'&&%)%
	
-	
-	
-
-
-
-
-			
-	
-
-
-
-
-						
-
-
-
-
-	
-
-		
-
-
-	
-	d™«­­§­­°±°«¯¯¯°²±°­®¬¯°®¬°¯¯©ª¬¯¯¯²´³°¨²°±²´³³²°®°°°¯µ¶µ¶·¸¶±°°µµµ²³®¶´¶¶·³¶µ¶¹¹·¸¸·µµµ¸¶·¸º¶¹¸dijjkkihijkkijlmjijkillmlkillklolijlkjhiknnmmnmkmnmnonmnnmmnnnnlppppnnnnooprpmmnosrqrsssrqrsssruuutsqtvvtutwxwsoh_WQFDDECA90&

-
-
-
-
-	
-
-
-#&%%%'(+.65.%"#$$##%%&).562-/26<AGNTZ^cefda[[ZZ[ZVTSPg†œ£ ™n^TUSK=::CJLLLG>4/.25899:::8665320/07Oj€Ž•“Ž‹ŒŒŠ„~{vx||ywvtpligefjmnnomlkmpqno‚§ÅÓӝsppoms“ÂÛÞßßÞÝÞÞÝÜÜÝÜÜÝÞÝÜÝÝÜÜÜÜØÏ̼ž†}€„ˆŒ…h]ONQ]n›§³ÂÏÔØÛÛÜÜÜÜÜÙÕÍ»§““–‘‹–˜—“‡€viWOKNPMFDDJPWakmmk{Ÿ£‚f]\[XVMF=:<EKNONJHKPOOV`_T;/,)&##$"!#$%%&'(('$%%%()#
-
-
-		
-
-
-	
-
-
-
-
-
-
-
-
-	
-
-				
-
-	
-
-
-
-
-
-			
-
-	
-
ešª¯­¬¬®°±®¯¯®¯²²²±¯±±¯®®¬¯²¯®¯®¯®¯±³³±²±°±²³³±²²²²²³³µ¶µ¶µ¶¶¶´³³µ²¯²µµ¶¶·¶¶¶¶¶···¸¹¸¸¹¹¸¸¹¹¸¶¸¸fgihihigfgkkjglljkklmmllljjkklmlkjkjklkgjjnmmmmmnnmnmmmnoonmnmmlpqnoommmnmpqpnoiprsstrrpqqrssqsuttsstuusttuvvwwvtpkfaZUHEDD@:5."

-
-
-
-	
-$(*-033,$#!$#"#&''*3:93-./136<AEIPVWUXYWWXXYVPMNOdŽ”„xdWKPUQC:8>GLOPOJC:1./3799:;:9764110/+C\x‰ŽŠ„ŽŒ‰xxtsuwwttqmjhhhknpooqpkmkmloo‚¥ÀÏȳŽkmmkes—ÅÝßßÞÞÝÝÞÝÛÜÜÜÛÜÝÝÝÝÝÜÛÛÜÖÍǺ‚{€€…†‡„‚€ynaSQPbrŠš¤±¸ÄÍÕÙÛÜÜÝÞÜÚÓÄ´­¯µ¶µ·»»¸²¨—‘Œ‹…~utulbXNKHIJW`^\]V\fd___^ZYUK>:6CKNQROH=HNQNTTTE=0/.+%%$# ""%$&&&%$$$#&')!
-
-
-
-
-
-
-
-	
-
-
-
-
-
-
-	
-
-
-
-
-
-	
-	
-	
-		
-
-
-
-		
-
-
-			
-
-
!hœ«­­­­­¯®¯¯°°¯¯±²²¯±¬¬¬­¬¯¯®®²®¬«°²³®³²°¯±±²­¬­²±±³³³²°²³´®µ³´³³±²¯²³µ³µ²´³¶³´¶·¹º¹¸µºº¸¸¹·¸¶¹¹ffgiihijijkkjijkklllmmlkllkiglmllmkikoommnonmmmnmlmonmmnpqommonnpqnpqpopqqoqpppqqrrsrrrrrqppqstsstrsttttsrsttwxxxxvurmg^UNJIHHA:1)

-
-
-
-
-
-
-
-
-
 &()**)&$###"#&(),5:81,,+-.0269<@EGHIMNOPQPNIFIL]oy{tk]NCIOUL?78BJMKLMJD<2./267789875420///8Pn€‰ˆˆ‡‹Œˆ„}wurpqstqnjggiiiloportrooooopq–®¾º¢}omlheržÇÝÞÝÜÝÝÝÝÜÜÜÛÜÜÝÝÝÝÝÝÜÛÛÛÕÈȼ¡z„††…„„…„~rf[VXdp}Š—¡©®»ÃÉÍÐÒÕר×ÑÅ´¸ÃÎÓÔÕÕÔÓÍõ§—š›œ›˜’‡zbZDEMTUUSMLLNQYba]YSG;8@JPQRROGDEMRUUTOIB=:71*'&$##$&&%$##$$&$'*(
-				
-		
-
-
-	
-
-
-
-
-
-
-
-
-
-	
-
-
-
-
-
-
-		
-
-	
-
-
-
-
-		
-
-
"l ¬®¬«­®¬­­¬¬¯®­®°±¯°°®¬¯±°¯±°±°®¯±²±²³°­®±²±¯¯°±°³³°±°®°³³µ´´µ³³±´´´¶´³µ·¶¶·¸¹¹·¹º¹¶·¸···¸¹¹º»ºgfhjjgjkjjkkjjjkllljihkllhjkjlmmlmljkpoooopklklkllmnnnnopqpnmoooppopqpqqrrrqpmrrrnrpppqrssrqsttsssrqssssrqsuvvwxwvwvwvspke`VOJKFB>:61,"

-	
-
-		
-



"%&&%#%!$$&'*,042/.-,,,-/.22348::;<>?@ABA?FFQZ[[WTK?KTUQE579FKMLKKG?;0..12444431221-,+7DaxˆŠ…ƒ{yutrqnrqphigijiglmnoqrqooonopq{€”¢žxomhc`n¢ÊÝÞÜÛÜÝÜÜÜÜÛÛÜÝÝÝÝÝÜÜÜÛÛÚÓÇÉÁ§‚y€‡Š‹‰„‡†‡„{qcXUVamy„›¡ ¢¦­²µ·¼Á¾¸¯¨¯ÂÒÛÞÝÝÝÝÚÔËÀ°ª¨¬¯®®®¯«¦œ‰nKMKKKJIIHGFWca[VHB6:FPTSSUQNHLNSVUURNKAA=6.,+)&%&&%$!""#$&&'*'
-		
-			
-
-
-	
-		
-
-	
-
-
-
-
-
-
-
-
-
-
-		
-	
-
-					
-
-
-
-
-
-
#p£­®¬ª¬§¬ª­ª««­««¬®®®®­¬¯²²­±¯°­®¯°¯­®²±°°±²°­®°±±±±±²²¬±³µµ·´·²±±¶´µ°µ°µ·¸¹¸¶¸º¹´¹¶·¯·³´µ¹¸¹·½¼ihjkkjijiihjjjkllkijegijjiikklmmjllklnoommppmlmlkmnmloppnpomnqponploooprrppppqrsrrssqqqqrtuusttsrsrqqutrqstvvutvwwxxyzyyxvqjc]SNLLJKIE:- 
-
-
-		
-
-
-
-

!$$%%%&'()*+-,..-,,,----,*+,-./146:<@ABCDFKMLHC<FWaZJ;37@GKLMKHC>:2.//00122210/.-,-AYq€„„ˆŒŒˆ€wutsstsstrolklliikmmmllnpomlnnpxƒ„{tpkcZ[k¢ËÝÞÝÜÝÞÝÜÜÝÝÝÝÝÝÝÝÜÜÜÛÛÛÚÓÆÊÄ«…y|‡‹ŒŠ‰ˆˆˆ‡}p`SNMM[iu€Œ–›”’’Ž‘’Ž–™³ÇÕÛÜÜÝÞÝÛØÓÊÃÁ¿»´´´¶·»¾±—xTIFFECCAADSb`YRE?8;FQVVUYXUSQPRUXYXWRMGB:963/-,+*)'$#""$&%$)%
-		
-
-
-
-
-
-
-
-
-
-
-
-	
-		
-
-
-
-
-
-
-
-
-	
-		
-	
-
-		
-
-

+u¦­®®®­¬­®®®­«¬ª«¬¯±°®¯®­²²°¯¯°°±²°²°®¯±²³³³±®¯°°³±¯±´³®²µµµ¹º¶²²¶··¶¶µ´µ¶·º¸µ·¹¸´¸¹·····¸º¹¹¼¼»ihikkiihhfiijijlljlkjijfjjjijjmmkklklklmljooonoppoooonpqomnmnqqqooqrrqppqlooqqrrstuurrrqrsvvtqsttssstuuttttsuuvtxyyxxxxvz{xvtpia]RNLNMHB;2(
-
-
-	
-			
-
-
-
 "$%%'')(*+,,-+-01100/-+)++*(/19<DEFDDEFEMKH:BL^fVA849@GMOMIEA><4.+././1320/,*',/>^w‡‹Š‰‰ŠŠ‡…wutvxxwwwutronmlhlnlehgmnoiklmowz{xtgpnh_UMd ÊÝÞÝÝÝÞÝÜÝÝÞßÞÝÝÜÜÜÜÛÛÛÛÙÒÉÈů‰v|„ˆƒ‰‡‰†Š‡vYOA@>DHWdp{˜™–‘‡‡{w‚–™¹ÎØÛÜÝÞÞÞÝÚÖÑÌÇÁ¹¯°£¬¯·¼±ŸVJ<:9:;<>S`^XQFA77<GMORUVTQMFHKQVWXVTOKFB>:3-241/+&$!"!&%')"
-
-
-	
-	
-
-						
-
-
-
-
-
-			
-	
-
-
-					
-
-
-	





6z¨®¬®°°±°°­ª®ª¨¨ª«°°²¯°®®°±®¯±²®²³´µ´©®­²³³³³±±°²´²®²´µ°³³³´¶¶µ®´¸·¶¶³¶±¶±¶µ·µ¶µ¹³¹»¹···¸¹»¸¹º¼ºhhfjiiiihijiiiikkkkklllkkkijkllkhjmnmkimopmmnoprrqpqponpolnonprroorusqppppoprrorrstusqpqssvvusqtuutusvuuuurttvvvvxzyxwvuxyzz{{vokh`YPOOLKF=3)


-		
-
-
-
-			
-
-
-
- "&')*++++---133542/+**+)'/6?HJHIKKKKRYYRJJXbbP:69;?FMOKFB=><6-,,-+-010.,)&'+/;VpƒŒŽ‰„‚ƒ€|xtux{zyyywtusoononolihgmonnllnptvusonnkcYPM[ÉÜÝÝÞÞÞÝÜÜÝÞßÞÝÝÝÜÜÜÛÛÛÚÖÏÈÈŲŒx{…‰‰Š‹Œ‹…mN=;;;>AFR`qƒ’––’†‚}|ˆ”›œ¢°ÅÐÕØÚÛÜÝÜÛÙ×Îļ·±±­¨§ªµ¸µ¤S97778:DXb^ZSKB813:@ADIKJHC?>@EHLNOPPNKEC<515873.'%"#%'')+!

-
-	
-
-
-
-
-
-
-			
-		
-
-
-
-
-	
-
-
-
-
-
-
-
-	
-
-
-
-			
-



8ª­ª­¯°³³±¬­®®®°±±°°°±²±¯®¯®¯±³³³´´¶´´±­±²°²µ¶´±³³±±²³µµ³³³°°²³²µ¹¸··´¶¸¸··¸·µ¶¹ºººº¹·¶·¹»ºº»½»»ghikkihhjkjiiiijkkjflnmkkjjgkkjkllnonmmnpqonnjnqqqoppnoooloonprnmmqrqnomooolrrrrrprrrpopssuutstttruuwvuruvvuvwvqrtyzxuuuttxwyzwttuqkfa[MQLIC=71&
-
-
-
-
-								
-
-
#&*+)*,/--.025541.,-+)(/8BJJEHMOQXbgg]T[dcWJ66:;:DLMHB;97<82--)+,./-*+'*-./8?Xlz„„€}{zyxxvvy{{z{xvswusrrooonkjglgknmhkmoqnkmnnf]PJA^ŸÊÛÝÞßÞÞÝÜÜÜÝÞÝÝÝÝÝÜÜÛÛÚ×ÒËÇÅŵ•{|‡ŒŽŒ‹…nE<8::<=@BQas„‹‘’Œ‚|†’¢ª¬¬¶¼ÅÎÓÕÖר××ØÔÆ´¢¦©ªª¨¢¢£¯´¬”lC=999ANfvre\RI92,0222688730234479:;?A@@=92.4631,'&#$%(&++ 

-
-	
-	
-	
-
-
-
-			
-
-
-
-
-
-	
-
-
-
-
-		
-	
-
9‚ª­ª«¬®ª³³¯¬¯­®¨¯®®­®¯²³²¯¯®®®²³µ²´­´³µ¯²³²®´·´±³­±®´¶µ²²°°¯¯¬²®µ¸¸µ¹µ´¸¹·¹º·µ¹¼»¹º¹¹¶¹»¼º¸µ»¼¼¶hijkkihhlmhihijjlljhknmlkkklkjklllmnmooonoooooooponnmmnppoppopqrrrnnonoopoopqpqssrqpqpppsssuqsrtqtuvwxwvtvvuvvuttuvyyxsuwxxwwwvwy{{xsqke\XOMLJE@7/'
-
-
-	
-
-
-			
-
-	
-
-
-"%'),/110/126532//.+)-7@EECEILP[gmkecglfWH86878@IJD=97;=<95.+*+,,*)+0;DG>79?Q`qy|zzxvvvuut{z}|yuqwywutsqnmmlmjedlkhfgiigfiljdWLFBc§ÍÛÜÝÝÞÞÞÝÝÝÞßÞÝÝÝÝÝÜÛÛÛØÑÈÄÈǸ€‡Œ“’Œ‡sV>88789:<BOar|†‹ƒƒƒŽ¢®µµ·º»½ÈÏÑÒÎÊÇÃÁ¹«œ———˜œœœœž¢¨§˜{`TNJFGYu‡…€vhWD4./232..-+****+--,+,.//132/-..,*'''&'))(,+

-
-
-			
-
-
-
-
-	
-
-
-
-
-
-
-	
-
-
-
-
-
-
-
-
-
-
-
-
-



B„ª¬¬««­¯±²®¬¯­­­­«­«­°³³²±¯¯®®°±³µ²±±´³¯²´°®³µ³³³´´µµ·¶³³³´´³²²³´··¶·³±µ·¶»½µ·¼½¸¸¹¹¸¸º¼»¸·¹¼½¼½hhijjjihklkkkjjkkklhmmnnlikkliklllljmoomlnonooonmkkjmmqsrppqpnoprqnmnoooqrqorooossrpqqrqtuuvusrtuuvtvrwywvurutvvvvwxyxvuwxywxxyy{|{zzzxuolh]XKNLHC=5,!
-	
-
-
-
-
-
-	
-
-
-
-
 $)/4765455100.-+)-19;<;;<@DNX\\[]bf_UF86772:BD<96:>A@?;4+)(+'''/<]|t_G8=>KVhtusutspsrw{}~}zwruqrsssqmlejkhafjiedaaaa]ceb[OAGIv²ÒÛÜÜÜÝÞÞÞÞßßàÞÝÝÞÝÝÜÛÛÛØÒÆÅÇÇ»¢‚‚‚ƒŽ““Š}kX@<467657;MZiv}€†‡‘¦±²³µ»»½ÄÊÍÍÁ½¦š…{Š’•Ž‘‚‚‚ƒ…‚‚…ykdb_\_d’“’‰~hNF>=<>?:3/&'%&&)**++'+-,*+--)(((&')(&(((&-+
-
-
-	
-
-
-	
-
-
-
-
-	
-
-				
-
-	
-
-
-
-
-
-
-
-
-





I¬¬«©¨®¯¯©¬ª°¯­¬¯­­­­®²²°°¯¬««¯°²³³®¯¯¯­±­±®¯¯´±µ®µ²³¶¶´µµµ¶¶°´³µ³¶´´³³²¶¶»¼¹¸¹¹¸´¹²¹´º»º¶¸º½½¼¸gghiiiijhiklkklllmnpoompnjmnmjlmmmljknookmonoomonjjmnpsupqrqoponoponopopqrrrrppqrsrqqrstuuuuttsuvuwyvtvyxwvvvuuwvvwwwwwvuwywyz{zzzzz|}}}yxwtkbYTQOLHA:4-"

-
-
-
-
-
-
-
-
-	
-
-
-&.56655531/,-+)-03786678:>BGHHQUVRI@5565219=;9;@DEDDA82/-,*(*3FwœžyP;;:>GUiqtutrstux{}~~~{zvrppppmkiihgedfiigc^Y[]]^^XOD?H]‡½ÖÛÛÜÜÝÞÞÞÞÞÞßÞÝÝÞÝÝÜÜÜÛÙÓÌÇÆÅ½§Œƒ„…‡ŒŽ‹‰…}o^H>864437;KWglmkwƒ‹”¤¯·º¼½¾¾ÁÄÉÊÅ·¥„sv~““‡‚qvgimxtrmqrnns†—š›•ŠtUQMLLLLG>3'(((())+,**++*((,,++*))+,('(((',)
-
-		
-
-
-
-
-
-
-
-	
-
-
-
-
-
-
-
-
-
-
-	
-
-
-
-
-
-	


O“±®ª«­­¯¯®­­¯¯¯­¯°°°®­²²¬°°®°®®¯±³²¯±³±­²µ³²³´³´³³²²±µ¶¶¶´´¶¶±µ¶¶¶¶³¶¸·µ´¶¹¹¸¸·¶¶¸¹¹¶·ºº¹·¸¸ºº¸µkiiijfiiihjllkkklmnopooomjmonkllmnlijlppnnnonlmoolopqqrrrqrqnoqmopqoqqpppoopqqposstpqqrsuqtrrsuwwuvxvtuuvwvuvutuvuvvutwvtsxvvxyyxuyx{z{||z{|xrmidXRMJGECA=5* 

-
-
-
-
-
-	
-	
-
-#)-15896//.-).+/11-,-./0257;??>;951334442999?EHHGGE?865530,7M{£¢‡Z?>;;<J]iqrssuusy{||}~ztplkigeegfcfehijibWRS[^\VLA<:MfÀÖÚÚÛÜÝÞÞÞÞÝÞßÞÝÝÝÝÝÝÝÜÛÙÓÌÅÂÄÁ­ˆˆ‡…Š‹‡‡„†„€xnaXPMKIFJO\`\W\ew‚‰ª´¼¼¾½¶¿ÅÅŽ°‰…‚‹–˜™—‹†}sjv€ƒ†ˆŠ†wwx‹•˜˜“‰oSOLLKKKF>3)***(**+(,,++**+,,--++,02.)('*))(
-
-
-		
-
-
-
-
-
-
-
-
-
-			
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-	
-
-
-	
-
-
-		
W‘¯®ª­¯®¨¯±°¬¬¬®¯¯®¯¯¯°²²²²°®²¯¯­±³³°³³²­³µ´³³´³¯´²³²²³µ¶¶°³´¶²·¹¸··´¶¹¹³²³»¹¹¹¸¶¶·º·¶µ¸·¶··¶µ¶¸¶kkkkkjhiijimmljlllkmmonnmlmnolllmnkkjloponnppnnopqqqrrmopqqpmnqrqqqqrrnoppqqqqqqqqstsqlqsqtttuvwwuuvuttsrvvustsuwxxwvwwvuuvvvvwzyxwwyzz|{|{}}{zxrkd^UQQQQQKD;1#

-
-
-
-	
-
-
-
-
-
-
-
-
-
-


%+27756631.-+)')))+--./12320/.,-/2359;:9:AHIKLKHB<<>?>:6<Kxœ ŒeKB=;7;O_joqsvtux{‚ƒ‚ƒ‚|tpnkhffgijifhikjh\LDISZWOB95:Ql”ÄØÛÛÜÝÝÝÞÞÝÝÞßÞÝÝÞÝÝÝÝÛÚØÑÈÂÇÉÅ´™‰Œ‰…ˆ‰‡…‡‡ˆˆˆˆ…€yrnkhfgihdWRQZgpuy€‘£±¶¹º¶¼ÀÃŹ¥ŽŽ— £¥¢ ›—“‹‚}€Š•››œš–’’–—“”€cLFECCCB?81,,,,,--,+,-,+,--,02/./14751./153(
-
-								
-
-		
-
-
-
-
-	
-
-
-	
-
-
-
-
-
-



#^‘­®­®®­¬­®°°«¨®±°®®®±³³²³³²²²²±¬°²³´³±²®²²³´¶¸µ°´²²±®±°¶µ´²²´²¶¹¸¶¶´¶¶¶¶¸º»º»ºº¹¸¹º¹¸¹¹¸·¸¹º¹¹»¼ijijkjjjjjkmlkllkjlmloonlkmonkklnlnnlloponnnoopppppprrpnpqrromqtsqrrstsrrrqrrqsrroqsusppqqtuvvvvuutssssttuutuutvxyzwxwwwvuvwxxyzzwwuxtz|}}~~}|{{zwtpkf`SQRPLKE<4+
-
-	
-
-			
-
-
-
-
-
-
&,0599751-%&''')+,,,,--0+,(,*.-37<?;3;EKLNNMJC;@AFFD>>Cm‘”rRE=;68>Q_hlswyzzz…ˆ‡…‚{srokhhhiglmmkjjg`P67:EMKF=64:OmœÉÛÛÛÜÝÝÜÝÞÝÜÞßÞÞÞÞÝÝÝÜÛÙ×ÑÃÄÉÌʺ¡‘Œ‹‡‰ˆ……ˆŠŠ‰‰‡‰ˆ†ƒ|zxxxtmaORTWX]bgn…• ¨­²¶»¼½À¹£’ž«­®¬ª¨ ¡¡—†Œ”¡ ¡£¤££¤¢š‘‡jS96223;<:20,++++./.*-.-+.//-352/12698436=A;)
-			
-
-		
-
-
-
-
-
-
-	
-
-
-
-	
-
-
-
-	
-	
-
-
-
-
-
-
-
-
$b”ª««««ªªª«¯¯¬©­©­¬­­®°³²³³²±²³±¬°°²±´³³°±®±±µµ´±µ±³²±²´µ´³±±µ³²³µ´³³¸·´´»»¹º»¹¸¹¹¹º¶º·¸¶¹¹º¹º»½½ijiijkllkklmjkklkjmmloonllmmlkkmnooonmnonnnnlppppnopppppqrrtrppttqqrrvvtstrqsusssqnrtvtsturttvutrtsrsttvutrstutwxxxwwwuwwvwxyyzzz{wuxzz}}}}~}{x|}}}|yungc_TRQQLIA9/$
-		
-
-
-"*157762,''&&&(()))*-//.,,-./27;=83:DLOPOMJDADFIKKFAAc„‡rYIA<638CS`kry~€€ƒ……‚}yvuvsomljgmprrojaTA0,29>?<8448Ig ÌÛÛÛÜÝÝÝÝÜÝÝÝÞÞÝÞÞÝÝÜÜÚÙ×ÒÊÄÈË˾¦“ŽŒ‰‡„ˆŠŠ‰‰Š‰‡ƒ…ƒ€~~{vlaWTSRXZ\dguŽ–Ÿ§­°³µ¯œˆ„£³µ³²²±²²±¨š›ž ž¡£££¥¦¥Ÿ˜…kI7/-,/5;961,+***-..-/232021.564012687546>B:&
-
-
-		
-
-
-		
-
-	
-
-
-	
-	
-
-
-
-
-		
-
-	
-
-
-
-
-
&g–®­¬¬«­­­®¬¬««¬««¬¬­¯±°±²²±¯²²±°°²³´µ·µ±±±°°¯¯²µ¶µ³³±²´³²´´µ¶µ³±¶··¸¸·µ¶ºº¹¹¸··¸¸¹»¼»¹¹»¹º¹º¼¾¾¾jkkjkjklllmmlijikkmmonnmllllllmmmnopnklmnnonnoompoonnnprrqsttrrssnoorsssttrnrttttsrssttpuwwutptssvuutqvvusrpuuuwxxwuvuvwyyyxwuxyzzxuyz{{{||z{{zy}}}z}{wttqlc_SOLMIE?8* 
-
-
-
-
-
-
-"(+/11.*)('&((('*-/11.-..-13753,6@GJNPNKGEHJKMMKHBVouo_QGB=7539AWit~ƒ‡‡„€}|{{zwqtswvtpmhppuurjY@7*--13201./0@_ŸÍÚÛÛÜÝÝÝÜÛÜÝÝÝÝÝÞÞÝÝÜÜÚÙØÔÍžÈËÀª•’‰‰‡…ƒ…†„„†ˆ‰†v}~|}|yvpiaWO\eghffrnu|ƒ‰‘“…s~‡ ±´³³³±¯´¶²­¨žž™šž–”“˜ž›Ž}b>2))(19;84.-'+)((++/467652/674023444533681
-			
-
-
-		
-	
-
-
-
-
-				
-
-
-	
-
-
-	
-
-
-
-
-
-
-
-
-
-
-
-
.q™«­¦¬«­®¯®°°®¬®«¬¬­®±¯®¯±°°°±­±®­®µµ³±²±±±²¬¬®³µ·¶´¯°°³²´µ¶µ·²µ²³µ¶²¸³¸ºº¹¹¸¶²¶¶·º¼½½·»½»µ¹·¾¾¾¸klmllkilmnnnliiikmlmnnnnnmnokmnmmmlnonnnmmnnnnlmpqqoppoqppsttttutrrsqqlpstrpprtustssrsssuwwutuvstvvutvwxttttwyywyzxwxywyzzyxwwxxwxyyyxy{z{zzz{{||{z||y}}zvphb[PRQRLE;3-&
-
-
-	
-
-
-			
-!(--,--+*))((*,-.//--..02531.19>CHMMJJJLMMMLMKFFWXQBBBA<6522:Oeu€…ˆ†ƒ|vuwyzwtsswzxtpptwxxrhS:2..------//18W›ÌÚÛÜÝÝÝÝÜÜÝÞÝÜÞßÞÞÝÝÜÜÛÙØÕÐÈÄÇÊı™—“Šˆ††„‚ƒƒ‚ƒ†…ƒ~|||{}}|z||ysiZQ`iu}|xvphkfomiekoqy‡˜©¯³´²­®±¶¸·±ª ––˜™š–“’—™˜’‹uT6))(,6:8521/+)())+/369753079403531231102*
-
-		
-
-
-
-
-
-
-
-
-
-
-	
-
-
-	
-
-		
-
-
-
-
-
-
-



6v›«¬¬¬®¯°²³´³±¯¯±±°¯±°®¯±³´³±¯°¯­±´´³¯±²³³²²±³µµ´µ¶´³²°²²µµ¶¸¹º¸¶´³´··³º½·¹º¹··¶´¶»½½½¼»½»ºº½¾¾½½jlnnllmmlmonljkilmmmmmmjnoppnlmmmmmlnookjklmnkmmpqrqqoqrppsssprrsstutpoorrttsstsrrutsstruuvrtvwtuutsuvxxvvvuvyyvyyxx{zzzzwxtyyytwxyxyz{wyxyvz{{||yyw~~|{~~~~|xtnh^\OSOJFC?7.%



-	
-
-
-
-			
-
 %)-/10.+)*))*+,-*,-/0321,0467@EGIJJMOONNNNJIFDBCCB@<77468G\o}‚€~|zsttz{yuurwxwtrsx|{wpdN81)..-+-,-+/19S™ËÙÛÞÝÝÝÜÜÜÝÞÝÜÞàßÞÞÝÝÜÛÚ×ÕÐÉÂÈËÆ¶¦›•ŒŠ†‡ƒ‚ƒ‚‚}z{z{w|y{|}zwn^R_gwƒ†‡ƒ~wsqqomjhuyƒ‰Œ¢¬°¯ª¨¯´¶¶³­¦˜”Š‘‘‘•‘~_:)(%.4453231-"())(./320///8;51352.10/+11'
-		
-
-
-	
-
-
-			
-
-
-
-
-
-
-			
-
-
-
-
-
-
-
-
-
-


@{«¬¬«¬°°±²´´²¬°°°­®¬±®°®³³³¯®®±°³´³­°´´¯µ±°°µ·¶³³³µ³µ±²²¶¶¶¶·¶·¶´±µ¶µ´¼½º¸¸¸¹ºº³·¹½¾¾ºº·»¶»·¼»½½hkmmllmmlnnmllmmmmkllmljmopomlmmlnnnoomjknponmnopqrrplorpprssrporstutqpqrrtutssrruvursuwvvvtvvwtvutsuvuvvwwttxxxwwy{{yxxwvxzzzyxwyyyz||zyxxyyzz{y{{~~|{}}}~{wske`\OORMJE;1* 	
-
-
-
-
-
-
%*/242.,++++,---,..010-.235:>ADGILOPPPPOMHBABCCA>99:<<<=Pbt{~|{{|zz{{zywwwwssptx||zp_F71.----,,+,-19S˜ËÚÛÜÝÞÝÜÛÛÝßÞÞßàßÝÝÝÝÝÛÙØÔÎÈÂÇÊÆ¹ªž—ŽŒ‰…‚‚‚‚‚€||}|{zz{||zyscZ\dq}…ŠŒ‰|}}|yzˆŠŠŠŠ“ ¦ª§§«¯±³²°© ’†‚†ˆ‘}_>+((-3643211-(())-/110../19<82131.0/-,12%

-			
-
-
-
-
-
-					
-
-
-
-
-
-
-
-
-	
-
-
-




K€¡¯¯®­¬­®®¯±²°°¯°¯­®²²°±³²²±±±±±³³´³²²µ¶¶µ´´²³¶µ´¶¶¶¶¶·¶µµµµµµµ¶¶´µ¶¶··¹»º¹µ¶¸º»º¸¸º»¼»»»¹ºº»»º¼¼ijiikmmmmonjmmmmmllkmmmkmllllnnlnonnnlmlmppnnnnnorsqonoqoorsssqprstutrpsrorrqrsqstuvutvwwvwsuuttwwusuvvvvvvuwxyyzzzzywwvwxzz{yzwy{{z{{}|zxyxz{{{|||~~{|~~{~€€€}wwvsnha\PROJFC@:3*

-
-	
-	
-
-
-
-	
-'-000..*-,/.,+,+.0/*/12159;=DGIMPRRPNMKEEDB@?<:7>ABCFFRbr{{{|~|x{z{zxyxwwtttvw{}r^D120-*+,,*-,-.7Q’ÈØÛÛÜÞÝÜÛÚÜßßßßßÞÜÝÝÞÞÜÙ×ÓÌÇÂÆÈĺ«Ÿ˜‘‘‡„‚‚ƒ€€~wz}|vwuz{zyyufZWYboz„‹Œ‰ƒ€}ƒƒ‚„‹Ž‹‹‰‰“˜™›ž¢¥¨¨¦ ˜Šxxnnoqu{}zxkQA/+)-2744-.-+()',/0210//04;>:33/.-/.+(10!
-		
-
-
-
-
-
-	
-	
-
-	
-
-
-
-
-		
-
-
-
-
-
-
-
-
-
-


N…£°°©ªª¬¬­ª¯®®¯®®¯®¯²²¬²±³ª°²²±±­²³²²²¯¶·´²¶±´¶¶³¶¶µ±µ³µ²²´µ®¶·¶·¸¸¶µ¸¶¶¸»¹¶°·¹»µ¹¹¸¹¼»»¹º³¼¶½¹¹ºjkiijlmmmoolmmlklooommmlnmmkioppooknnmnnopqpoppplrrqpprrqqrrqroqrsttqsqtsqrsttuusstuuuvvuwwvuutuxwvtvvwwwvswxxxwyzywsvwxyy{zz{zwz|{z{}}|{{{zz||{|{y}}||}}}~~€}~~{xsmf]XQTTQPLD8-#

-
-
-
-
-
-
-
-
-
-
-
-
%),/01011/,*))+...0221135=@BEHLPPPQPMJGEA@===>@BEFECAVhuvz|~{xwxxyyzzxz{yxyy{}r_D110-++++--,--5F¯ÉÕÚÜÞÜÛÛÚÜÝÝÞÞÞÞÝÝÝÝÝÛÚØÒÊÃÀ¿¾¼´¨™’“’Œˆ…ƒƒ}~|vx{yvuvvwwvsm`SLHJ\n}†ŠŠ†‚‚ƒƒ„‡Ž’‘Ž‹‹Š†~†ˆ‹‘““Šƒ{utqkea`_\YZZTI:,**.7;84.+())+,--/10../2;>:320/.,+*+0.

-			
-
-	
-
-	
-
-
-
-
-
-
-
-
-
-
-
-
-
-	





QФ®¯°°°°°®¯¯°°°­­±°¯±±±±²²³³³°²°¯¯°¯±±°³µ³°µ·¶··¶µ´³³³´³³´µµ¶µ¶³¸¹¹·µ··º½¼¹¶·¸º¹º»¼¼¾¾¼»º»¾¼½¼½¼»kkjjjkkjknolllklnnmlmnnmmmllmoppommnomnnnppoqqrppqpnoqqrssrrqrrrstsrrsuurorttrvwtousssvwwwwuvvuvvvvvvuwwwvswwvxvvxywvwwsvwwwyyywzzyy{}|y{}|||{}}|xz}~~~}|}~~}~~~€€€~zwqic][PSSROIB7'
-	
-		
-
-
-
-
-#(-033/+(((*,--0110003;@?DAEHNOSSQNLIFA??@ABBB@DDHM^jsv{{ztsmvwzy{z|}}}|yz{rdQ620.,,,++,,,*29^¢½ÏÙÛÛÙÚÛÛÛÛÜÜÜÝÞÝÜÜÜÛÛØÏµ¬¬¬«ª¢š˜’’’‹ˆ‚y{|{uxxvsslppni`UL@<7<B[n|…‡†…†…€…†ŒŽŒ‰‹ˆ{{fqsqpnmf^jkutnc`^^^[Y^_YL=+--;B@;3*(()'((*+-.--..7;8101/(+'))0,

-			
-
-
-
-
-
-
-
-	
-
-
-
-
-
-	

-
-



Zަ«¯±²²³®°±±±±®¬¬²²±³³±±®°±´²°¬±°¯¯±³³ª³µ³°¶¶·²··µ«±³µ±¶±¶µµ³²³··¶¯¶´µµ¼¾¼µ´´¹³º¸½º¹¸¾¼»µ»º»º½¾¾»ijklllllknnklmkkllijknnkmkjllmkoonmnonnonqpoqrqqqpnnopprsrrrrstsstrqqtuuqoorstwwutuvssuwwvuwwwuvvtvvwxxxvttwvxyyxyxxxxwusvwxyz{zyyxxz{{zz|||{~}{|~~~~}}}|{~~}~~~‚‚€~{vqi_XVXZXULD9.!
-
-
-
-
-
-
-
-	
-
-
-
"(-020-,++......0//29>CEDCGLOQRQNMLHECEEBA@AACDFJVdmuxzxtrsuxyzzzy{}}zywrl^L<6111/+,-../07=Wm•°ÆÐÕרÚÛÜÜÜÜÜÝÞÝÜÜÜÛÚÔů £¤¤žš—‘‘Œ‹‰|{xyzzzxvssqomjaUH?565225B[n}ƒ„„‡…„…‡‡‰‰ˆ‡‡‡†‚wj`_adbbbbepwzskfdgjifgigbRB66AIHC8/,*(&&(')+,,--/465321/.+&).1,
-
-
-
-
-
-		
-
-
-
-
-
-
-
-
-
-
-
-	
-


^“§®¯°°±°¯±³±±±¯­¬²²²´´³±¯°²³²°²³±®±²´´³²³³´·º·µ¶·³¯°´¶¹··µµµ¶µ¶¶¶¶¶µ³µ·¹»º¸¶·¹»¹¹»¼º»½¿»¹»¾¾¾»¼½¼ihjmlmnnonnkmnljmmklnnnkmkkkmnmnponmopppqrqopqpqqqopqqpqroqrstuutsrpsttusqppruwruuuvutuuwwxxwvvuursvxxwwvuuwxyyzxxxwwxxxwvvuxz|}yvyyzz{w{{zz}~||}~~~}}}}{|z|}}|~~}|‚}{wqkfZ\TURNG?90#
-
-
-
-
-
-
-	
-
-
-"'*-/121/.,(+,-/24;AEGHIIHLOOMMLKIGGFDB@BCCBB?R_knttwutsvwxxwsvuz~|wxqqojcWFA;:9878:<>ACGKZbƒ­¸ÀÈÐØÛÜÜÜÜÜÝÝÝÜÛÛÔÆª†‚‡–š›—”ŽŽŒ‰Š‡‚zzxxvwyxsrqqpkaS>;33330.,7B[o{€~}~€‚‚|{{€€€€}viVY^fnrtuy}zsoknnnnnonneWM@MSPI@40*)&*++(+(*(,,253-110.+%)/2)	
-		
-
-	
-

-
-
-
-
-
-
-
-	
-
-
-	
-	
-	
-



d𬰰¯±®®«±­®°±°®­¯°¯­²²±­²²³²±°±±±²±±´­²²³°·¹¸¶·´²°±²···¶µ²¶µ·µ³´··¶´¶···º²²³µ¶¹¹¹¸»¶¿»ºº½¼½¼½½½¼kjijlmmoppnnnonnmmloonmnnkmnmpnnnoonopqqqqnpqpnqqrprsqqqppqttuuuqsrprsttttsrrtuuuuutuvutuvvvtvwwwttwvuuvuuuwxyyyxyyxvxyzywxxyy||zxyz{{{{|}}}~~|{v|~~}}}}}}~~}~}|~€€€}|€}€‚„ƒztohcYYZVQMG>3(
-
-
-
-
-
-
-
-
-
-
#(-010.-*()+/014<BGIJHFHJKKKLKHEDBCACFFD?;>Qainrvvuuwwwwxvrtvy{yxvtqqsrme\SQPOPQUXY\]\ZXX]t~‰“£´ÅÍÒÖÙÚÜÝÜÛ×ÓΧƒg`r|ˆ•—•‘‹‹Œ‹Š‰†‚~|zywuwvurqqofWB842110/-,/8EaqxsoquvwuqmnqvvvvwzymYPUcqy|{|}|xvrnhnqrrqoib^^]YQI?72/011//.,***,041,/0/.+&)05(

-
-
-
-
-
-	
-
-
-
-
-
-



j ¯³±°²³²±°¯°°²²±¯¯¯®®°²²´´³³³±°´³²²²³²®±³²³·¸···µ³²³µ¸¸³µ¶¸¶´µµ´³¶¶µµ¶·¹¼¹³³´¶¶¸º¸»»¼¾¼»½¼¼º¼¾¾¿Ámlklmlklmnnmnonmnnoponnnmknppoolnpqpnmqpppnnpqrrqqrtvsrqrrrstqutttrqrssttuussruuutspuuuuvuuutsvxwwwxwuuvxxvsxxyyxzzxy{{yyvy{{yz{{xz||}{z}}}}~~}{||~||}}}}}}}}}}}€|~~~ƒƒ€€~}zvphdSUPPMIC;0'

-	
-	
-				
-
-
-
-
-%'+-,+))+++.0:AGHFBAACDGJJC?7<??BEFA:8<N]ejqvvswzzvxxxtttyywvusqmruvunheefhkmonpqmjfdecfkmnˆ–§²¼ÅÍÓÔÑËÁ³¦’scKZgrz„ŒŒˆˆ‰‰ˆ‰…‚~zywtstqqnmmcP@20-/,+,,-/4I[bgb]_aeifb_]_bdffgjjdXKATclopqwyxxwvsolkmprrpnmkgc\TPHC@@><:974.-+*'.11-//.*)',23&

-
-
-	
	
-	
-
-
-
-		
-
-
-
-
-



$m¢¯®¬«°±²°±©±°²²²­¬¬­¬°®²´µ°¯¯±±µ´²²´°°°´´³²·µµ¶¶¯°°´´¸¸µ³¸º¹´³³³³´µ¶¹¹¶¸º¹±µ·¸µ»»¼½¼»¼»¾½¼½¾¾¾¿ÀÀmmllmlllimkkmmlkkoqqponmlmprmmnoppoqnopoopnnooqqqqruvvutssqqsutssupqprsttuuvuutttsrsttsuvuuvuuwwvvwwvuuvwyyyyywyyyyxz}~|yvy{||{{{{||||{{|}|}{|{|}}{}{|||y}~~{|€~€}~‚ƒƒ€€ƒ„†…ƒ~yrjd]RVVTNG>5+!
-
-
-
-
-
-
-	
-
-
-
-
-
-
-
-!%())*)***-5=CEC?>?ACDGGB<98;=>AA;3/7GT^gnstvy||xwvwyyyxxwvurpnntwyxuttvz||zz{{xtomllmmjjmtz„Ÿ¬µ¶±¦—‚se[QNS_hox……‚‚ƒ…‡‡„‚‚}yvusrqqpommcQ?6/,-+(()+.<M[_]UVWYY[[YWVPTVUWWTUWQ@;@NW]`dhkmnnomjfddilmlmnmic^XUSRSQOJFB?9520-+-1/.--,+**.40 
-
-
-	
-
-	

-
-
-
-
-
-


-
-
-
&p£®²°®®¯±°°²²±°°²³²²±®­¯²¶µ´²°²´µµµ¶´³³µµ³´´µµ·º¶²³¶µµ···¹¹¹····µ²µ·¸ºº¶¶¹¸µ¶ºº»¼½¼½¼»º¹¼»·½¿¿À¿ÀÀmlllkillmmljmnonnopookopppqrnmnppoopqopppoooonpoonoruwusrrstvvuqstsrppstutwvuuutsrqrttttttuuvvxxvttuvuwvwvzzzzzyyywwy{{{{wxz{{||zz|}|{{y{|||}}|{|}}}z{zy~}~€}}~‚€}€€€‚„†…††‚|}{xsj`ZURPMID=6-$


-
-
-
-
-
-
-
-
-
-
-
-#%'))++4:?BA<<<AEECB@<::999983,/0;CP[cjklmllnqsuvvuurqqssroqqprxzzz{~~z{yyxwmrmquusolnnroyvz~}ocba^TRINWacmux{ywxz‚~x{xuppqplppolcTJ=3+,,+*)(/?P[]][ZZXYXY[\\WQWVWRPOPN?/58?EJOSVXZ]a`XRLSW\`__^^[YXTRQUUWVSPJC@7531/-,+*)))*+*04-
-
-	
-
-
-

-	
-
-
-


-
-
-
-


-


)r£­«±¯¯¯¯©°³³¯­¬²¯±´³«ªª²·µ­³±±±µµµ³´¯´´³²´´³¯¸º¶±³¶¶¶·¸¹¹º³µ¯·µ¶±µ¸º¶¶µ¶¸¸´·º»¹½¹»¹¼·º´½¸¹»¾¿À½½¿mlkljjkkkmlimppppolonmprrrqponmnpqpqrqqspnoopqqplnortttsrssuvuusssssorrsuvwwsstuutqqtutuuuuuvwwwvwwxzyxxwxyyyzz{{yvvwwsxxwx|{{|}{yz}}}|xwzy|||{{|~~}|{xxz{|}~€€~‚ƒ€€~€€„„„…†„ƒ‚ƒ…ƒ|unga]VVURKF=4(

-	
-
-	
-
-
-	
-
-"%(-169??=;;BFDA?=:9876520-+-.05@KSYYWTOMYhsttsssrrqqutsrqruyz}|~{{{ywwvtstzzvtsssstsqljjgXVZ\[XSMIQ\admpuvvvxyz{{yxwvsononmnpolcYPE7/,**+++1@OWYZ[\ZXWY^cdc^[\]\[YWUN>0./37;>??@INQOKD@AFKNMMMNPPLIHJNSVWWUPGGD?:73,+*)'''()*/5+

-
-	
-
-


-









/v¥­°¯®¯±¯®¯°±®­¬°®­³±«­®±µ´³³µ³²³´³²²°µ´´²µµ±²¶·³±´··µ¶·¹¹¸¸µ¯µ¶µ²³·¹º¸···¸·¶¹»¼º¹¹¼»¹»¿¾¼ºº»¾½¼½¿mmmmkmmlllljlnpponnonmoqrlqqpmmlprrrrstspmooqrrpoorsqqutsqsuvvuttsstssrrvvvvtstxxvtsuqtuuvwuuuwwwxwtyxxxxwxtyxyzzyxwwvutvvz}~||{zyz|~~}xx{}}}y||}|}y{yxy||}}~€y€€‚€|€€~€‚ƒƒ…„ƒƒƒ„ƒ}xtpjc^STRPOI@7-#
-
-	
-		
-
-
-
-
-	
-
-
-
-
#*/5;?>==CDDA>8513320-++*,,-*34:>;952<B[monooqprrsuursntw|{}|~~}~}{yzzzyyyzywvvutrutrolg]UY[[[WQLM[_ejmosuvsvvuusttppnmkklnpnjc\VNB3/)++++4>LRRRVXYYWY^`deb``^``^XQG7),)*+-01179<=<:7/02=BIHGGLCF<;;GLTTUURHMNI=;5.*)(('(%*)26)
-
-	
-	
-
-	
-
-
-
-
-	
-
-
-
-
-
-
-	









7|©°­­«««««­¨­««©°¯±³²­°­®±²²´²³¯°°²¯¯°µµ³²¶¶²°´µ´³µ°·µ´µ¶´³´·±µµ¶®²³³²¸¶····¸¶½ººµ¼¼¼¸½ÀÀº»º¼½¼¼¿Álnnmlnomknmmmmnonnoonnlopqqppnmlnpqqrtsrppqrqpnppqsssuusrqqtuustsrruttrrvwvuttvyxvvuttvvtvwwvuvvwwwwutwyywxxxyxxwwyzyvvvvxz||||||{z|}~}{{}}}~~}|{{|{{}~~|}~|~€‚‚€€€€~~~}€ƒ‚‚‚ƒƒ„ƒƒ‚zunf\YX_\WOG;.!
-
-
-
-
-		
-
-
-
-
-
-
-
-
%+28=>?ADC@;51.-.-+*))*,-,+++)+-,)+2:Pekmnoooprstuttsuzƒƒ~}€~}}{x|~~~€|zxvstuuwwrjaWXZ[\ZTKLYcfilnprsrssssssqonnmkkklnkgda]YM>1+++*+6BKQPOPSVXVX[^accba__`\UH<2++,+)+,.0245532.+),5EKMJKLMJFBBFPTTTVSQQTNE>60,**+++++.46)
-
-
-
-
-
-	
-
-


<«¯¯®¯¬§«­¯¯­««®±´³³³´²°²²¬°²±²³´µ´³²³µ¶´³µ¶³±²³µ¶µ··¸¶´·µµ¶·¸¶¶´³³µ´´µ¸¸··¶¸¼½¼»½½¼¼º½¿¿¿½¹½½¾¿¾Áoonmnoomnoolnoonnoonnmllpqqpnlnoonnoqqtsqqqrrpppqpqrsttrrsrostsrsrsttsttvwvtvvvwvuuutuwwwuuvvtuuvvvvutxyyvyyyuxvuuy{zxxvvwyzzx|{}|{}|{|z|}||}}z{y~}~|~~x~}{|}~€€€~~€€~€~~ƒ„ƒƒƒƒ‚‚~ztlf`aXZUPIB9.#
-
-	
-
-
-
-	
-
- (/49=?A=80.+*''')(**,,+))%()*)**/5K^fjllnnonrprttssx}‚€}{||}}}|{z}ƒ‚|{zyvstwxtnaQSW[][VOMXbfhkmnlnpqrqpstrnppollgghhbeda]TF6(*)+,7BILMMOPQRUV[[_]_a`^][WJ<//(*,,)*+./11210,,(),>KPNMLQUUPMLRXXSVVUPPRPGB61(*)./.+-.56'
-
-
-
-
-
-
-
-
-
-	
-	
-
-
-




A…«®®¯®­¨®±±±°¬­®³´³®³²±±²³±±²±°±¶¶µ²³¯´´³²´´´®®¯°±³³¶¸¸´¸µ·¸¸¹¸°µ²·¶µ²²µ¸¸¸¸»¹¾µ»½»º»º¼¸½½¿¹¾¿¿¹¼¿oonnnolmoqpooponlooonnoppppomnppppppqqssoprssrpoppprotttuusrstsrqtuuutquvwwvvvvvutvvutuwwvruwxxywusuwxyxxxyyyyxxvxz{zyyxxxyyz|{z{||~}||}}}zy{}{x{€€||}~}{{~€€€‚€~}~~‚~€€‚ƒ„‚ƒ‚ƒ„…„†ˆˆ†ƒxrmha^YYUPJD?=:7-!
-
-
-		
-
-
-
-
-
-
-

#+17::5/+)'&&')***++))''''&'))+6FYbikjmppqqorrqqpsz~~|z{{{}~~~}|z}ƒ„ƒƒ„„ƒyssyzuo_MKSZ^[VPNT]cfhkkjloponoprtuutqnkgbefgedb`ZM;*,,,,8CFGHKNQRTWYZ[[ZX[\\[YPA1,+*(*++*,-.021/..+'/8FPSQNPUX\\YX[^][YWTPQSPMG?6/,-.0/..066%
		
-
-
-
-
-
-
-
-


	
-




QЬ­­®°¯¯°±°¯¯¯°²³µ²²²³¯°±±³²²±²¶¶´²³´µ´³µµ´´³³³²±³´µ¶¶·¹¸¸¸¹·¶µ¶¶¸¸¹¸·¶·¸¸»¼¼½¼ºº»¶¹»»»º»¼¾½¿À¿½¼½nmnnnloopooppmnlkmnooonponpomoqpppppsqqrqoqrsrqqrssrsrssuvstuttssuvtuuttuvvuvwwvuvwwvvvswvvvwyyyxvuvyzywxxyzyxzyyy{|{yyz{zxw{||yz}}~w{{}~}xz{{y{€€{|y~}}{}~€€€~€}|||}‚‚ƒ‚‚‚‚‚ƒ……„„†‡‡†††‚~{uidYWVWUUVURG9(
-
-	
-
-
-
-
-
-		
-#*.-+)&''((*'*(+*)''''&&'((2<JX`giiijpoqnonmjlmx}|z{{{|}|{}}}{y„ƒ…ˆ‰‰„~zu}{taEJOW^[UPCNW]_eehikklhhiiiruwtpjhfffggedcaZN<,,,--8ADAEHLPTXZ[ZXWUUTUVWSK:0())((**,'-./11./,,(6BNUVVURWY][XW^a`^\XUQSQQPLE=110.,.-.-64"
-
-
-	
-		
-
-
-
-
-
-
-
-
-
-
-

-	







 \¬¬«®±³®°ª­®¬¬±²³¯´±´´³±¯°±±²®³¶¶²¯¬´´´³¶¶´¯°²´³³¶¶µ¶³¶¶¸´µµ¹¯¯°¹··µ¹····¸ºº»¼º¹º·¸¼¾¹»¹¹»¾¸Á¾¾¿¾ºoponmloppoopomlkjkorponolnpplppplpoprqqprqpqssqrstsqrqqqsvtttttupvwvuuvvtvrtuwtwtvxxvwwwwwuwwxwwyywvyzxxxxyzxz||zyy{zyvz{|vy{{{yz}~~}|||}~~z{||}€€|}|}~~€€~~~{|}~}}}€‚‚ƒ‚ƒƒƒ€‚ƒ€‚‚ƒƒ„……‚ƒ…††…††…„‡‡ƒ~vlda^^`abaXL:&

-
-	
-	
-
-		
-
-
- ##%'*+++**+++)&&('&&((/8DMV]bdfhlorpnmkiijlv{€ƒ‚{~}zvx|~|z…‚‚ƒ‰‹‹‡~…yfPIKRYXTMCHPW\affghhgedeilnrtsooljlnmjedc`YM<-,,-/8?BCEHKLRWZZYWUTSRQTUTJ;/*)'&'()+,,.//00.*,/<LVZZZZZYY\[YX]aba^[WWWWUTOFA;861-,,,.51
-		
-
-
-
-
-		
-
-
-
-








%c”­­¬­°±²°°±®®¯°²²³µµ´µ´±±±±±²³³´µ´¯«³¶´³µ¶³±³¶´²µ¸¶´¶¸µµ¶´µµ¹º·¸¸¸¶´¸··¶·ººº»½»¹¹º»¾Àºº¹º¼¿ÁÀÀ¿¿¿¿oponmknopppopnlkklprrmonkkpqqqppqpppooonpqqrrsrqqpplqrqrsutuuuuuuuvwvvwwxxvtuvwxxwwxyyyxxwxvwwwvyxwuwxyyxsxzz{||zxyzzxyy{||||}|wy||{~~}y{}~}z}~}~€€|€~}~~€z~~€€~}‚{ƒ‚€‚„…„‚‚ƒ„ƒ„ƒ‚ƒ„…†††„ƒ‚†ˆˆˆ„zupji\a_ZSI>4'

-
-
-
-
-
-
-
-
-
-
-	
-
-
 %)++*,*+*(%%&&'**18AIOS[\]_hlompnmhifgjsw€†‡‚€}xvu|}~}………‡‹‹‹‡€€ƒ†…~lSGDIMPPJCDJSZ]`dfjhgccbiijkprssokqonkgaeaYM<-+,.09>ABEGHILPTXWQROSQPQVWNB5,+&%%%%),,)//.,,*06FSYZ]_^\ZYZ[ZZ^`cdaYXW[[YTPIE==<6..+-/4/
-	
-
-
-
-
-
-
-		



-



#b”«¬ª«­¯®°¯²®°±±°±±µ´´³±¯²²±±´´³²´³°«´¶´°µµ´±´±µ³·¸¶µ¶µ¶²·µ·´»»»··¸·´º¸¸´¸µ¼¼¼¹¼¸»½½¾¾ººº»¼ÀÀÀ¿À»À¾npnmmkmmmppnooknnnnpqrpnkmopoqppqoonppppqrrsrrqrrsrqqqqrtuvvvuvwvuvwxwuwyyvutvxxvvuwxzyyxxxwxyyzzwwvwxyyxwxzz{zzyx{{yzzy{}}|}}|zx||}}}}{z|~|z€}}~}}€~|~€‚€‚}~€‚€ƒ‚€„ƒƒ„………„ƒƒ‚„ƒƒƒ„„††…„‚ƒ……ˆŠ‰‡†ƒ|vojeZWSPJC<4*
-		
-	
-
-
-
-
-
- $'+,,**'&$%%)-06>FLPRYZ\^eilooomjifflqt{„†€}{w{|||}„…†‰ŽŠˆ……ƒƒ……‚pRA@EIKJF@>EOW[_ejjjifcchkkmoqstqqpmlkihebZN;/+-/08>@BDFFFGJNRTSRSSQPPSUOD91.+****)*,--.,*+-4EPWYX^b`\[YZ]_aaaadd`^\\\ZWTOJGEA:30/044,
-
-
-
-
-
-
-
-
-
-


-










!b“©¯±°­¯¯¯¯¯®±±²±±±µ´´³²²²³²³´´°±²±¯¯´µ²³µµ´³´´¶·¸¸¶µµ¶··¸¸¸ºº»¹¸µ¹»¼º¹·¸¹º»½º¹»¼½¿¾½»¼»»»½¾À¿ÀÀÁÁÀmlnkkmnmoppoooonnnonqqppqponoppooooopppqrqsutrqrrrssrrrsttvvtsuvwwvvxwvwxwvtttvvvuutxyyzxtxxyxy{{xwxxxxvxxyyzuwwwx}|z{|{||{y}||{{|}}|}~{|~~}}~}}|||}|||~€}‚€‚€|~~€‚‚‚‚‚ƒ„ƒ€€‚€„……„…‚€ƒ„ƒƒƒ‚††…„…†……‡‰ˆ‚†ˆˆ…‚|xpg_VTSPME;1!
	
-
-
-
-
-
-	
-
-	
-"%()+++)')+./7>FLOQUY[\bgghnnnlkjjmrrz€€~}w~€€}zxzv~‚„…‰ŽŠŠŠ‹‰‡……„oOC@EHGBB;;:FPX`eijjjhgfjkjjlmpponmkjhihfaZP@1/...7;A@ABFFFCHJOPSTTPOMKKLD?:64552-*),****'-2ERWVWV^`_[[WZ\`cddbcga`_\VZYVRPMJC:32/332)

-
-
-
-
-
-


-

-
-



-
-

$e•©°±°«¯­­®­¬°²²­°¯´´´³²°²´³®²³°°±¯®®´µ³³³²³²³¶¶·¸³´±µ¸¸µ·¶¸¹¹·¹ºº»¼¹º°¶¹º¶¸¹ºµ¼¹»¸¿¾½½½»¼¹¾¼¼¾¾½ÁÂnnnlmoopooppopppnpqrqpmprrqpopqrqpppoooqpptvtsprqqrrrprtuuvuqrttvurssvwwvuwxvuuwwvvvwxxxwwwwttu{zwwyyxxyzyzzxwwxy{}|yz{|zz{}}{{{{||||~~}~||}~~}}|~}|{y{}}€ƒ€~ƒƒ‚ƒ„„‚‚ƒƒ‚‚ƒƒƒ„„ƒ‚ƒƒ‚ƒ…………„ƒ…‡††‡‡‡†…‰‰ˆ‡†‡†zqg`]][UOH@7-!


-
-
-
-
-
-
-
-!%'+,,.///6=DJMNSWY[_dfgmonppppprrx{|{{{~ƒ„|yz{{}€„‡‰‹‹‹ŒŒŠˆ„€jJBCEFDBA><:;FR]bfijilnnlliijmlkkjghhghie_YRD92.,08@DFDBDEDCFINPSVTQPMJIJIFDB@@>8.+)+*()**0@Q]][XW]`^[YZ[[Zaddegghfc]UWXVUSPKC9422450$

-
-
-
-
-
-	
-







)j—«°±¯®¯¯¯°¯­¯²²±¯­²´´¶´±±´²­±²°±±°°±³¶¶´´³²²²¶¹»¹¶´µ·¸¶´·¸¸º¸¸»½¼»º¸¸¶¶¹¹¸¸¸¹º»½»»½¾½»¼½¾¾½¾¾½»¾ÀÂoonmoponmkopoprssrsrqpmoqorqppqqppppqrsrpnstsrssrnqppqqrtuuussutttssrwxwvtvwvvwxxyywvvyvwxxtuvxzzxzzzyyx{|{zxwyyz{||zy||~~}|{z{}}z}}|{}|~||}~|z}|~~}z{|~€}€€‚€~€€ƒ„ƒƒ„…„ƒ‚‚„…€„ƒ„‚‚ƒ†……ƒƒ„……††‡††‡‡‡†‡‡†‡ˆ‰†€|wpk[XVUSOH@9/ 

-
-
-
-
-
-
-
-
-
-
-
 $*-//056?FKOSRZW^_demqsutsuqrrxzxvyy~„„zyy{zv}|‚†‰Š‰‰‹Œ„y`B@BDCC?BA?=<:GRZ`eijlpqonmlllljhggff_cec[XULB8..18>ACB?@ACDHKQRPOOPRLKJKGJIIHEA8/-*,,**++;LW^_]ZY^][WXZ\[[]ccdfghhf^TUTYWVQOC:242680 
-
-
-
-
-
-
-
-
-	



	












/p›«¯°±®±±±³²ª°±°°°°²²²´´±²°²­°°´µ³¬®¨°³¸·µµ´µµ´º»º¸·¶¹·µ³·´¹°·³¼¼º···¹¶¸ººº¹¹º¹¼´»¹ºººµ¼º¾»½¾¿½¿¿¿ºlomoppnljknqpqrsssrqoomnpqqrqqonoqpqrsstrqrsqrrttussturpptuuuuvtrsrrsyxwuvvuvwxwyyywvwyxuwwvvxxzz{{z{{zz{|yyxyzyy||||}}}€|{zxx~}}|}zz{|~}{~€}z|}~~~~~€~~€‚ƒƒƒ€}}€‚„„‚‚„………„ƒ‚€…†……„„„ƒƒ…ˆ‡„†‡†††………†‡††‡ˆ……‡‰‰Š‰ˆ…zsmic`\[TNE<2)
-	
-
-
-
-
-		
-
-
-
-
-

 %),1249AHNSWZ]]addmsvx{zwutuxzuvvw{‚‚yxyyxz{}€„†‡ˆ‰‹ŒƒqQ@?ABBBCCAA>=<?GOW^diloqponmljmnliffc_`a`[YVRLB701468:;;;>CFILQQLIKOTTPONLKLKJGA6/-+--,+-1DSXZ\\\]\ZXVWZ\]]_beffefge_ZZ\^_\[UH<9768:0
-
-
-
-
-



-
-






4vŸ¬®¯±³²±²´³²²´³±±³²±±±²³´´²²²³µ¶´²¯­°´¹¹¶¶··¸·¶·º»¸·¹º¶³µ¶¶¸¸¹¹»¹¹ºº¹¶¹º»½¼»»º¼¾¼»»»»»¼½½¾¾¾¿¾¾¾½¾nnmnoonlllnoonpqroqqnmnopqrprsqnpqqqrrrssrsrqrstvvvtvvtssruuuuurrsttvvwwwvvuvvwwxxwwxxyxxxwwwwws{zyxyyyyz|{wz{zxy|}z{||||}}|{xz||||{{{{}~}}€€}{|}~€€€€~€~‚„ƒ€}~€„€‚„ƒƒ„„„„„…‡†…„…†…€„ˆ‰††„„‡…ƒ‡ˆ†„‡ˆ‡‡ˆŠˆ„ŠŠŠ…†„€}yun`]QPNIE=5*
-
-		
-
-
-			

 %(,3<BIPW[^adeclpuw{|ywuvy{zuutz||}zuwx{~€~€‚‚†…|hK:=@@?BCCA@=<<=;@FQ[bimqqjkiiiknnjh``aa^`[[WWVOC:12-4388<?CCHMMMH@HOTVRQPMKFFFD=3+++,,,(.7IUTRUXXXYXVSWW\Y\]aeea_^^^]\]^ceghaPF=;989.
-		
-
-
-
-
-













>~£­®¯°®±°±²³¯³¯µµ³°¯¯³³³µ¸¶µ´´²µ²¶³±¬­¯¸¹··¸²¸´µ¶¸¹¹µ··¶µ³²³´¹·¸´»½½¹º·º¹¹ººº»»»»½·¼½¼»¾¾½¼¾½½½»¹¾¿nnkmonmmmnnnnnopqqpponnqoqrrqtsrqrrqprqqrrtsqrpqpvvuvvsutstvuttrstusquuvvuwxvusxyxvxxxzyxxwvwxxyzzxwuzzz{{{zz{{{z}|zzz{{z|y|{z{|z{zz}}z~}}}}~~~~|}€€€}}€€€‚ƒ‚€€„ƒ‚‚ƒ‚ƒ‚‚~€€‚„……ƒ„††„……‡‡†„‡‡†††„…†‡††ˆˆ‡††††ˆŠŠˆ‡ŠŒ‹‡Š‹Šˆ‡„}wof\ZZXSMB5%

-
-
-
-
-

'07?IRY]beebinqvyywvwwx}}{zyyy{}{xx|‚ƒƒƒ}|}|‚‚wfG9<>??@AA@?<8::88<EOYbjqpmkjgfiklljfdedc`_\Z[\XRF:468;=>>?AAHKJHD?FLQSRQOLJHGE@80+++,,,*/;IQQNNOPRTVSVWYZ[[\^aa^\[[[\\_`eiosnaOGB<77-
-
-
-
-
-
-		
-
-

















G…¦±¯±°°°²²²±¯²³¶·´±±´´²²¶¸·µµ³²´µ´²¯­¬±·¹¸¸¶¶¶´µ¶·¹º»¹¶·ºº¹·´¸·¹º½¿½ºº»º¸º¹»¼ÀÀ¾¼½½»½»¹¹¾½»¾ÀÁÁ¿½ÀÃnmmmnnmjopnmmoooqqpppppqrssrqrssroqrstsqsttsrsvuuvustsvwuttuussstuwuutttwtxxvvwwyyyyzzzywvutwxyzzwyyyz{wyzzyz{{z|||{{xzz|}}{|{|}}}}{}}~~~~z}}}|y~€€~||~€}‚„ƒ}€ƒƒ~‚„…„ƒ|‚ƒƒƒ‚€ƒƒ„…„}…„…†‡‡ˆˆ†……„‡‡……………†‡ˆˆ…†…†ˆ‰ˆˆ†‰‰Š‡‰‹Œˆˆˆ†…‚|tkfYVTRLD<3'

-
-		


$*8DMU\ab`ffnputtsuv{€€}}}z|}~z|~ƒ„†„~~x}€€€yiR;=<>?><<<<<;::789??KS_imnmlhbigghhhfdeab^^ZZ[ZWOD@>@CCBA@@AHHGEA?EIJKLLIHHED?8/.(*)+,,+1=EIIGHHHIQRVWWSYYZXXW][[Z[[[X_bbeqxtj]OL?=:,
-
-			
-	
-
-













-








PŒ©±°±±¬°¯±«±¯´¯µµ´­³µµ¯´µ¶³²³´²µ±´®ª¦ª¯··¸²µ²¶´µ²¶µ¼½»´µ²º¶µµ¸·»¼¼½¼µ»¸¸¸º¹º»ÀÀ½·½¾½½¼¶¹º»»¾¾¿ÀÀ½ÁÄonoppnonoqommoppoqpopoooqsrpprsrrppuuttstustsqrwtursssvxtsssuustsvxvvuuwy{ywvwxxxyyyzzyxxxxxwwz{xxzzwyzyxxyzyzzz|||~|{{{|~~{z|~|}~}|}~~~€}{z|€~|}~€€€€ƒ~„……‚‚‚„‡…€ƒ„‚ƒ…„„…ƒ…†……†‡„ƒƒ†ˆˆ‡†……„„…ˆˆ‡‡‡…‡ˆ‡‡‡‡‡ˆ‰Š‹Œ‹Š‰Š‹Œ‹„}woe`[^YSLE<1!
-
-
-

"/8AKV\aeilprssuuv……€~~|~€~~~€‚…„‚}}ƒ€€zn\L?>>>=<<<<<=><9:<>?CFN_fkmmkjigcijlkifeba`^\\ZXTPKHGJJIIHGHHHEB@@CIIHHHEDCB?91-,+))*,,,3:>ACEDGIJPQUWURVYXWVVWZ[\\\\\_bbeqxunfaWK@=-
-
-
-
-
-















Z’«±¯±°¯°®¯®¯±³µ´³±®²´´´´´´³´´µµµ´µ¶±©¨¯µ·¶µµ¶·¶´´µ¹¼½¹²³´·¹¹¹¹º½½¸½¼ºººººº¸º¹½¿¼»½½¾¾½¼º¸º»¾¾¾¾¾½ÀÂoooppnoppppooprqqqqqqmonpnpmqsspqpqstrtttsstsprtststtsuwurrsvvtsvxxsuuvwxyywvvxxz{ywwwvwy{zyxwyzxzzwxzzyyxyyyy{{|x|}}y|||~~|||~}{|~{}~~|~€€|}{~€}}~~€‚‚ƒƒ€ƒ„‚€€‚ƒ„‚€ƒ„ƒ„‚„††„…€„€…‡‡†‡‡‡‡ˆ†………ƒ†ˆ‰‡‡‡†‡ˆ‡††ˆ†ˆŠ‹Œ‹‹ŒŠŠ‹Ž‹‰†‚}xrgcXVSOIA9- 

-
-
-
-

!0<HRZchlqrrsux„‰†ƒ€|}}€~xwwy|~€~{|€‚ƒ€}tlbWHA:=>?>????=;=>>@A@HO\fhijillkjklljhec`cc`[[WVURNNONMLKJJJKIDCAFJHCFBB=<<<61++*)&)+,'1579>??@ILPRTRRQSUVVVOPSYZ\[\\^`a_pwsije_RK?*
-	
-
-
-
-
-
-
-










-



c™«°±±±¯°­¬«°°µ³²­­­¯¯³²µ³´±´²µ·µ­¶²´¬ª­³²·¸¶·¸³²±·¸»¶¶±²²¸¶º¶¸º¼½¼¼¼»º·»º¹·ºº¾¾¾½¾¾½¾½º»¹º»½¾¿º½½ÀÀnpnoonoqppppmqprqqnrsrqpqnoqqsrqqpmqssrsssqtsrqqosstuutwwutuvuttwywtsuuuuuuxwvy{{{xvwxvwy{{zwwwwwyzzz{{yyz{zyxz{{z||}|{z{|y|}}~~~}x~~{|}}~~~~}|~€€}€€~~€€‚‚ƒƒƒ‚€€€ƒƒ‚€„„ƒ„„…†„ƒ……„„„†‡‡†‡…†††ƒ………†ˆˆˆ‡…„‡ˆˆ‡‡‰ˆˆŠŠŒ‹‹‰‡‹ŽŽ‹Š‰ƒ|tmc^[ZVRI@5+	


*6DQ[djmoor€‰‹‡…€~~~‚‚{vrqvyzxww{ƒ„„‚~{vj[I@=@@@?@@@??>?>>??BEO`gjiimpnkhijjhddeffc_][YWTVUTSSQONNNKMMJHHJIEDA@><;840-+*('(++,/2348:<>GKNPQPOONPRTUSRTV[[Z[^`b`]ltqmkiaTL?'
-
-
-
-
-	
-
-
-
-


-





















hž­°³µ´²¯«¬®²µ´´³²²²²²³³´²´³³´·º¶®´¸µ¯§¬±´¶¸´¶·¸··¸º¹µ¶¶¶¸¹»¹´µ¹¼»ºº»¼»»º»¹¸º¼½¾¿À¾¼½¾½¼¾¼½½¿ÁÁÀ¿½¾¿npponkqqpmonpqssrqqrsrrpsqqqroqrrqqrtusqrsrrroqpruusuvvvvutuusttwvwvwwuuvtwyxwyz{uuuwyzyyz{zxvvvvwxxy{{xzzzyxxzu{z|{}{|{|}}|~}~~~}}zzz}}~{}|}~~~€€€€€‚‚ƒƒ}‚‚€€‚ƒ‚‚€„„ƒ„…†…‚‚ƒƒ…„„ƒƒ„„„…ƒ……††‡†…………‡ƒ„‡Š‰ˆ…ŠŠ‰…ŠŒ‹Š‰†ˆ‹ŽŠ‹‰ŒŒ‹ˆ„€{voa]ZXRMG>0(


-

-
",<GQY`fn‚Š‡„‚€~‚ƒ„‚}wnqpqsrmqqx|‚ƒ„„‚~vndUKB@?=:>?@>>??>=>@@IVekiimlnkighedbddffc`_[YXYYXTUPTQPPOKNOMGHHJFFA@=<65/--,'((****-///47:=EIKMNJIHMHROXWTUY][XYZbc^ZellkljbUK=$
-
-
-				
-


















j ®­µ´³²¯­®¯³²²¯³²²³´´³³´µµ³²±·º¸®µµ·³¨ª±µ¶¶µ¶¶···¶µµµ·¸·³¹¹¹´µ·¹º¹º»¼½¼»º»¶¸¹¸·¾½¾¹ºº¾¾À½½½ÀÂÃÂÀ½¾¼mqppknppnoomprsurpprqpqrsttusqorrrrssvtqrsqqqqpqswwuuvvwvsrttuuvvvvwxxuuvwxyyyxyzzxvsyzzzz{{ywxyxxyxvz{{zzyyz{zzzz||}|||~~{|{}~}}€€~|||~~~~‚€€‚‚ƒ‚„„„€}€€‚„„„„‚}}ƒ††„‡‡…€†……ƒƒ‚„ƒ…„„„†‡ˆˆ††††††„†‰‰‰‰‰Š‡†ˆŠ‰Š‡ŠŠŠŠŒ‡‡ŠŒŒŒŒŽŒ‹‡ysm_]\[SJA8,







-
-

",<FP_s‚‰ŽŠ†ƒ‚„…‡„}xwupnnnnmmpy}ƒ…„~|wocWME=::=?@@AA><>??@M`kkjmolijjgcaacbccaa`]XZ[[YVUUTRRPOMNOMIHIJKHFB?=83.,,+**++++*+.--/47;AEHJLMLLNRTX\]UU[^[XYYbd][]befikdWJ:"
-
-
-
-
-














#n¡®±³¶µ³±¯¯±²±°­²°¯±²´´´µ·µµ´²µ·¶µµ·¹¶«©²¹·µ´¶¶µ´µ´µµ´¸¸¶´¸¹¸·¶·¹º¸¹»»»½»¹¼¼»»º¸º½¿Á¿¿ÀÀÀ½½¼¾ÂÃÁ½½ÀÂnpqqooppooomnnpssnpqpppprststrprsmrstvurqoqsssrruwwutstuurrtuvvwvruvvwvuvvvwxyxvz{yuvxyzyy{zzwzwyyyyyyz{{zzxz{|wzz|||{z{|}}|{y|}}‚€~}}{~€€€€}‚‚ƒƒ~€~€€€‚‚ƒ„„‚~}„††††‡„ƒ‚„†…„†‡†††…‚…††ƒ‡‡††…„†…„†‡ˆˆˆ‰ˆˆˆ‰ˆ‰‹Œ‹‡ˆŠˆ‡‹Œ‹Š‹ŒŽŽ‹‰…|un`^WRNE;1'

-


-

!&:HXgt…ˆ…‚ƒ…†…†}~{spnnmljqvxyƒ‚~~~{uoeQK?>=>?AA?9;=;6=H\hjjjjjejkgabbecb`a^a`^]\ZZWWTSSRQPPPIMIJGKLKFEB@:3+,,+*++,-,),-,*+-38;@EEKMOOSVY]`c_X^]YUYXab\PRVY]ekfXH5

-	
-
-
-

-











(u¦¯®²«´³²®­¨³±°­³³±®±±¶°µ³´±³±²³´²¹¹·µ®¤³¹¹²¸·´°µ¶¶¶¶µ´´µ´º¸¹µ¸º¹¶··¹·¹½½·ºº»º»··º¿ÀÀ¾¿¿Á¾¾¼½½ÀÁÀ½ÂÂppqqpppqpooonnkqrrpqqppqosuutqpqstssrstrnqrssrooqvvtssrrttrtuvvwvuuuuuvvuvvusyywyzywwvwxxyzz{|zyyzyxyzy|}}{{y{{{z||{z{zz~€€~{|||}~€~|}}}€|~€‚€€~€‚‚€~‚ƒ„ƒ€€‚ƒ…………ƒ…„…ƒ†‰‰†††††††††‡‡……‚………………††ˆ‰‰ˆ‰‹ŒŠ‹ŒŒŠ‰ˆŠŠ‰Š‹‰‰‰Šˆ€vke_\XQI@7,!


-
-
-
$4FZgqv|„ˆ‰‹‹…‚€wsqqokkqtsv{€~}}€wk]PD?<>>><858749IYcgjihiijjhceggfca_]`ca_^]ZXXYWVTRSTRPLKJGKNLHGGB:3/.,++*)+-,---+**).36;CHKOQSUX]djkhfc^XY]``_YQMSUX_ffXF/











2{«±³±¯±´²±¯¯±±°®´¶³°±²µµ´´³³³´µ³µ¸¹¹µ´±¯´¹¸»º¶´±µ·¸¸ºµ¶¸º»»º¸·º»¸¶¶·¹µ¸¼»º¹¹¹¸¹¸·»½¾½½½¿ÁÃÀ½¼º»ÁÂÃÃÂoqqpoooppoqqpmnqqqnnqqqprtuusqqprqttqqsssttsspsttvwvtssqtttuttwxxwuvwwxxuwwvuwxvwyxwvvyz{{{z|z{y{|zwxyx|~}{||{zz{}|{{{z{~}z~{}}x}€€}{}}}}|€€€€~}}‚|€€€€~}~‚ƒƒ‚‚‚}~‚ƒƒ€€ƒƒƒ„„„„„†…ƒƒ„…‡„……†‚…†††‡ˆˆ†ˆ‡‡†…ƒƒ‚ƒ†‡†‰†……ŠŒ‹Š‰ˆŠ‰‰‹Œ‹Š‰‹ŒŒ‹‹ŒŠŽ‘ŽŠ…€}vlgZVSLF?6+!
-
-	
-

&2?Q`p~‡‹†|ywtsonmqssu|€zyw|€|vmf_XOD?::76466CMZ]bdgjjhgeccgjihe]]]abcba_\WYVVUTNTVUSOGHHILKIGE@82..*++)%+*,-.-,++*-/47?FKNPRTVZgommlic_^bea]YUTSPLT\YTC,	
-
-
-
-
-
-
-
-
-



-








;€®³´²°³®µ±²³°®®®³³´°²´³³³²³´µ´·³·¸·¸¶´µ¯³´¸»»¶´²²²¶µ¹³¶¹¼»½»¹¸¼·µµ·¶¶µ¸¹º»¼º»µº¼º»¾¹¹¹¾¿ÀÁÁ¼¾¿¿¾ÃÂÅÃoplooonpoopqonoqrqnoprqprttsqsssrsuuqrtttuvutsuutvwwuutsttuvttuwxvtvvwyxtwyyxxxvtxxxvxz{|}|||{{{{{zyzyv{{|z{}}yz|~{{{{{z{~||}}~}zz€~|{x}~}~~‚€||‚€€€~‚„„ƒƒƒ€ƒ„ƒ‚‚ƒ„‚ƒ„„………ˆ†ƒƒ„‡‡………†…ƒ††…‡ˆˆ‡‡ˆˆ‡„„‡†‚†‰ŠŠˆ†‡ˆŠ‹Œ‹‰‰‰‰‹ŒŒ‹‹ŒŒŒ‹ŠŠŠ‰‹ŒŽŒŒ‹ˆ‚zsjf[YTNF?6.!


-
-
#9J_q€‰‰ˆ…|yzxtoooprruz|wuttyz{ywuurng]SK>;;>@ENW[^_`chhgb``aejiifcbabcccb`]\YWUUSSUYYVOKJHJKJIGC>9/++,+*))+,++-,-----/14;AEHJMQUWgqtnonk_^`b]WWXXVMKKSRL>)	
-
-
-














:ƒ¯´±²³´µ´³µ·´²±±³³´±´µµµµ¶·¸¶´·¸·¶¶¸·¸¸µ©®µ¹¹¹¸·¶²´·¶¯´¹º»ºº»½¼·¹»¹¶µµ¶¸¹¼ººº»¾À¾¼½½½¾¿¿¾¾¾½ÀÀÀÂÄÆÄÁooooqpnnnmmoonopqqrrrsrqqpsrrstsrsuutsttuvwwuttttvvuututstuvvtttvuuvwwyxwwyyzzywxyyzzz{||{||}y|xyy||{{zz{|{v|}|z~~|{yzy{}}|}}~}|z}}}|}~€}}}|~€€~y‚‚€€€‚~~€‚ƒ„„ƒƒ‚€‚ƒƒ„ƒ……„‚ƒ…††……†‡†…†‡†„†…†‡†…‡†…††„„„†‡††‰ˆ†…ˆ‰‰„†‡‡„Š‹‹†ˆ‡ˆ‰‹Š‹‹Œ‹Š‹‡Š‰ŒŠŒŒŒ‹ŽŽŒŽ‰‡ƒ|tf_YVNLH?3(









!+<Pcox~€}wtooopjstyx{xtirsqoonqrrsqmgb]WTSVW[^_`^]^`bdcb`_echhfec\b`bbbca]ZVUUVSXZYVRNMJMMKGFB?:3***,)))-,+)-,,*,,-,/19:;<BGKN\ktrnmppgXSPNMNOX]YPQQLC:$
-
	
-
-
-




















7‚®²¯°¯³²´²µ°³³´µµµ³¯³²µ±µ³º¹´³¶¶·µ³²··¹¶¯©²¶µ¸¸°²²·»¹®´´µ¶·´¹¼¼¸º¼¼··³´¶»µ´³¹»¿À¾¼»º»½¿¿½·º¼¼½»¼ÃÅ»opqqrqnnpqqqpoqqqooqssssrrssqssrqrruutrttwxxuurrsuttvwuurtuwvtstuuvuvvwxwwvyw{zyyz{{yz|}|{z|||{y{}}|{{||{}|zz|}}~~}|}|||}}|z~}|||}~~}}~~~~€€€~€€~}‚€~ƒƒ‚‚‚‚ƒ‚ƒƒ…††„„…†††ƒ‚……‡ˆˆ„ƒ†ˆ‡‡†‡‡‡„„††ƒƒ†‡††‡‰‰ˆ‡‡ˆˆ‰‹ŠŠŠ‹Œ‹‰‰‰ˆ‹Œ‹Œ‹Š‹‹Š‰ŒŒŒŒŒŽ’Œ†vod^\]UJ>5-#







!.FWeqy{yvrnqstx{{{{yspprjiijkmnpsurpokggjllkigdb]\]bcbabeffgedaaaa__cdc^ZVVUUWXYWURPOPOMKHEA?<61..,+*+---..-,*,,,+169999<CIL_ptrnkopkbSMHGGJU^]YVQGC7 


















9¬°°°°²²³´³²³´µ·¶µ²®±²³´´µ·¶°±´¶´²²²¶¶·¶°­°³³¶¶µ³²¹½º¶µ´¸·¶¶´º¼¸º¼½¼º¹¹¶º»¸¸º¾¿¾¾½»¼¿À¾¾¾¾ÀÃÿÀÁÀ¿Àonqqqnoopsspqopqqmoqrsttssrssstrsnrtuuuvvsvwvtsorstuvvuuutuvvqttuuutuvxxwwyzzzyyyyzzyx{||{yw{x{{||~|{x|{{||{{{||~~z~~~}~~|{|~~{~z}|}}~€{~~€€€~€~€€~{€€ƒ„ƒ€ƒƒ„„ƒ‚ƒ…†††…„†††ƒƒ……††…ƒƒ…‡ˆ‚ˆˆˆˆ‡…†‡…‚ˆ†ˆ‡ˆ‰‰ˆˆˆˆˆˆŠ‹‹‹‹‹ˆ‰ŠŠ‰‹‡‹‹ŒŠ‹ŠŠ‰‹ŽŽ‘Ž‹“‘Ž‹…€}xtidUPJD>7.$

-
-
-



(3DVajnrstwy|}|yyxursrlfgfhgkmrponrqlmoorqnhhdb`acfgedgggfd^a_a[_^ddb]YUVONNVWTNNHOPNKKFGACA;431/+++-)-,,,,*,-,,5<=;84;<ILcsvrpkjjiibXOAEFOUWXWPJC5


-
-
-









-







<ˆ®°¯²°´³±±´³³¯µ²´²²±¯¯³´´´¶µ²±±²±°³³¸¹¸²°¯°°²µ¶³µ³»º¹¸¸µº¹¹¹º¼¼·º½¼¼»º»µ¹¶»»¼¾¿¾¾»¼½ÀÁ¿¹À¾ÃÅÄÂÁÁ¾½¾oooooponoqsspoorqpprsssstspqstuvtstuuuuvvvuuvtsttttvwuruuuuvvvutsuuvvwxzvww{zxvxwxzyyz{||{ywyy{||~}{||{yz|}}{z{}~~~{}~~{z|~}}~€€€}€€€€‚‚€€‚~€~€‚‚ƒ„‚„„„ƒ‚€~‚„„ƒ…‡ˆ‡…„††„„††…ƒƒƒ„…‡‡‡‰‰ƒˆ‡…†ˆ‡ˆŠŠˆˆ‰Šˆ†‡‰ŠŠˆˆŠŒ‹‹Šˆ†ˆŠ‰ŠŒŒ‹Š‹‰‹‰ŠŠŒŽ‹Ž‘‘‘‘Š‹Š†€xpf^TUNF=2'

-
-





)7KWbjpv{}|xvvwvtutokjhggjpqolmoqonnpqqnhheecddhkjihfbeca`_`abdfd`[WUTRQQSUQNMNONNLLLJJIFC?;722111/.,+,,,,--29@@:89<AJVhvwuqjbbfkjf[OIHIKMPPNIB3


-














Kް°±³³³³²±³³²³²²±²³´²¯²³µ¶¶µ¶²´´²±´¶¸»¹¸·µ²®³µ¶µ¶¸¸·¶¹»¼»»¸º»¼º·¸¼¼¼½¾º¸¸¹º½½¾»¼½»»¼½Á¿¹¿½ÁÅÃÀÀÂÂÂÀÂpoonnppmoostsrrrpoppqrqptqppsuvutstuuuuswwuswxvtvutvwwvuursswwvvvvvvvwxzyxyzzwxyxx{|||zx||{y{{||}€{|{||{z}}}wxy|{~~~}|{}~{v|}}|€€~}}€‚€€€‚ƒƒƒ€{€€€‚ƒƒ‚‚‚‚ƒƒƒƒ‚„…†‡ˆ‡ˆ„†………†‡‡ƒ„„„‚‡‡‡‡ˆˆ†‡ˆ…†‡ŠŠ‹ˆˆ‡ˆ††…‡‰Š‹‹Š‹‰‹ŠŠ‰‰ˆŠŠŠ‹ŽŒŠ‰‹Š‹ˆ‹‹Ž‰ŽŽŒŒŽ‘‘Ž‰†€xobZRNJC;3,$

-





 ,9FS_ktxvsttxuyxurpkjelppplffgijjlmkhfgeddddinmmjeeed___abceec_YUSSTTPSOQLOQQNOLLLLKNNMJE>;89::871000/0146=A?987>CNZmxxvqd\T`hlni_YLK>=<DEEB1


-
-
-
-
-
-





-


-

-	






 Z‘±±¯²²²°°°³²³´³­±²´®³¯±²³´µµ·²´´´²¶´µ´¸º¹¶³¬±³´´·µ¸´¹º»¼¼¼»··¶¶µ¶·»½¾¶»·¹·¸¸¼¼»¹¾¹½½¾¿¿¹¿¼¾¿ÂÀÀ¿¾¼ÂÃnnnonopppqrttsrrpnnpqqpstsrrstsssrsttssuwvuuwzwsttsvwwvuutuwwwwxwvvwwvxxyywy{zzzzyz{||yzz{}}||}~~~|zy{}~~~~||~~}{{|~{{|{{|}|{~€€€~}€‚~€€‚ƒ„„€‚€‚ƒƒ„ƒ€‚„…ƒ€‚…†‰‰ˆ‡††…ƒ…†ˆ‡„„…‚†ˆˆ‡‡ˆ‡†ˆ‰‡‡‰‹Œ‹Š‰†ˆ‡…‰‰ˆ‰‹ŒŠ‰ŠŠŠŠ‹‹‹‹Š‰Š‰ŒŽŽŒŽŒŒŠ‹ŽŽŽ‘Ž‘‘‘†|tnf`\UME9- 








,;L[glsxyz{|zyutrnmopqpkca`aefffeddffbdgiloonkgfec`^`abccbb^XSSVUTSSTQNQTQPOMMLLMQSVTOJHGFEECA>:8789;=>?A?989>DO^pyxxpbVRZdkprsk`RD<:;=BA.








-










#`•±±°²²±³³´´³´´³±±²´µ´µ´²´µ¶µ¶±µ¸·¸µµ¶··º¹¹µ±¯¯²´·º¹ºº»»º»½¼»¸·¸¸¸¸»½½»º»»»¹·¼»½¿¿¾¿ÀÀ¿¾º¾¿ÀÁÂÃÀÁÁÁÁÃpoqpoooopoqrspqqploqrrstuutttsqorssrtsuvvtuvwywsttuvwwuuuuwvwwwwxwxxwxwwwvxzzwzzzyxxz{|{zz|}{y~~}}~~}xz}~}}}}}}}}{z{}}}z}}}{|{||€}}}‚ƒ€{€€~}€ƒ‚€‚‚ƒ‚‚ƒ…ƒ€€„ƒƒ‚ƒ€ƒ‚„…‡‡†„†††ˆ‡‡‡………†‡‡†„‰ˆ†ˆ‰ˆˆ‰Š‹ŠŠŠ‡ˆˆˆŠ‰‡†‡Š‰ˆ†‰Š‹‹ŠŠ‰…‰‰ŒŒŒ‘ŽŒŒˆŒŽ‹‹‹ŒŠŒŽŒŠ‘“”“‰„~zth`XOF=6/( 








"-9KZgpuz|yxvvsrqqqqqlca^bbbb`\acfgeefhkkjhihheca`__]]^][YWUTXVURUUSLQSRMPOMGLNQTUTPNNMMIJJHFC@>??@@?>?>889;<L`r|yvn_UP\didmrrmcQH><8BA,

-	


-
-
-














#d˜²²¯³®°±³³´°°¯³²²³µµ¶³¶²´¶µ³²°´··´µ®¶¶¸²¹¹¸²¯¬¬­µ¹º·¸º¼¸»·¾º¹¹»·¼º¼¼¾¼»»»»¼¸¿¼¾¾½¾¿¿¿¿¾º¹·ÁÄÃÂÁÂÁÀ¿¸rrqqppoopqpprrqqqrrrtttutttuutqqqrssstuuvvuvxxwwvvvvvvsuvwvuvxxwwyywwxuwxxx{yzzzxxxxyyzzz{y{{{}~||||}|}~~~}||}|{z}~~~~~}~~|{~€€€‚€‚ƒ€€€|~‚€‚„„‚ƒ‚‚€~‚„†„‚„„‚‚ƒ„†„‚„………„‡‡‡‰†…†……†‡ˆ†„†ˆˆˆ††ˆ‰‰‰…‰‡‡ˆŠŠˆ‰‹‹ˆ†‡ŠŠˆ…‰‹ŒŒ‰ˆˆŠŠ‹ŽŽŒ‘ŽŠ‹ŒŽŽŽ‹ŽŒ‹ŒŠŽŽ‘”–––”‘ˆ‚{si_VQIA91(






-








 4ET`kqvyz|}{urstrokihcddb\\_bbeddfiheddehhfd_^][ZYXXYWUVVZ[XXVTRNQSRQPPMJKNPQPMHJLMNOOLMKIFDBAA>=:=<6789:Ias|wri[PM\ef`^hoqnfYL@=DB*

-
-
-
-



-













$h›´³²²²°°°³³²°°²³´¶µ´³³´µ¶µµµ´´´¶¶¶µµ´·¶¶·¸¸¸·µ²°²µ··¶¸¼¾¾¿¾º¹º»½¾¾»º¼½º»»»¼¿À¾¾ÀÀÀ¿¾¿À¿ºº¸¿ÅÃÁÀÀ¿¿½»rrqpolonnqrrrrsrrstssttssrstuutqpputttusvvuuxyyywwwvvuuvwwuuwxxwxyywwwuwyyz{{{zywxwuxyxw{|zz}{|}{yz{||}~~~||{z{~€~|~~|{x€‚€‚€€‚ƒ‚~‚€ƒƒ‚ƒ‚ƒ‚ƒ„ƒ„ƒƒ„„‚ƒ„††„ˆ‡…„„„…„†ˆ‡„„ƒ††‰‰‡ˆ‡††‡ƒ†ˆŠ‰ˆ‡……‡‰ŠŠ‰‰ŒŠˆˆ‰‹‰†ŠŠŒŠ‡ˆŠ‹ŒŒ‰Œ‹ŒŒ‹ŒŽŠŠ‹Œ‹ŽŽ‘‘‘’”“””””“’‰xqg]TOHC>5$


-


-







$1?N\hs|ƒ€zwvwrskrqmigdb^__a`aafifaabceffd_]ZYYUQRSSRUVZZXUUQPNPRSMMNNLLLOQNEEDHGJLKKMMKGF>BCC><<:56569KaqvrhbTKHYcc\WUbknng]O?HB&
-
-
-
-
-
-









*m³´¯¯¯²²°±´²±¯°°²´³²µ®´²¸µ¶¶¶¶µ²¶²··¸¹¸³·µ¸´¹¹·­³³³µ¶´º¼¼½¼·¹ººº¾¿»³»¼º¹º¹¹»ÁÁ¾¿ÀÁ¿ºÀÀÀ»¼ºÀºÄÂÀ¼¾ÀÀ¾prnqnnonmortqpprqssrqsssststtvvtosvvxywvvuuvxxyyvwxyxuuvwvrxxwxxwyyxvvuxvzz{xxxxxzyvy{wy{||}}|x}|yy{zyz}|}~|||||}€~}~~~}||~‚‚€€‚‚‚‚~ƒ‚‚€ƒ‚‚‚‚„„‚‚ƒƒ„†„‚„†……‡ˆˆ…„††„†‡‡„ƒ†‡‰‰‰‡…ˆ‹Š‰†……‡‰Šˆ†„„‡‰ˆŠ‰‹‹‹‰‰ˆ‹ŠŠ‹Œ‹Šˆ‰ŒŒŠŠ‹ŒŠŒŒ‹ŠŠŽŽ‘‘Ž“‘’“””““”““•••”‘‹‡wnc^[WK?5-!










"7FWhuzyxxyyyyywrlmlihhfebaafhd`^]_`cdb_[YYWQPPPQRTWYYWUSQMNOPRQNNPNNLOPMFEFFDEGHKLNLJGDDEEB>=:8776:Lcquoe\NCIW`_[PNTahnnhZLJ?"

-
-
-
-











0sŸ³³²°¯³´²²²²³µ´³´·¶···´²¶¶µ¶¶¶µµµ¶¶¶¹º¹º¹¹º»¹¹¸¶³³³³³´·¸¶¹¸µº½»¹½¾»ººº¹¸¼¼¼¿Â½½¾À¿»ÀÀÀ½¾¿ÁÂÂÃÀ¾¾ÀÂÄoqqrrpooooqrqpqrrrqprrrrtuttttuvttvuvvwvvuuvvvwxxxxyywuqvvwxxvxwxyyxwwwxz|{yxxxx|}|x{z{zz|}|}|||{zzzyzz||z~||}~}~~€|}~|~}}|~‚~€}~€}‚‚€}€|‚ƒ~~€ƒƒ‚‚„‚ƒ……„„‚…ƒ…‡‰……†‡„††‡…†ˆ‰ˆˆˆ‡„†ˆ‰‰†……‡ŠŒŠ††„ˆ‰ŠŠˆ‰ŠŠŠ‰ˆ†‹ŒŒŒ‹Œ‹‰ˆŒŽŒŠ‹Š‹ŒŽ‹‰ŽŒŒŽŽ’‘Ž‘Ž””“’‘“””–”“’‹†€zsg[RNG?7. 








%<GU_irz€€€|wrlppmklkifcafcdYYUVX]`^YWTVWTSSSTUTTZYXVUPPQPPQQMKOOLKLLKHIIGBE=GCJLJHFBCDEB@:;:;:<>PdqupdYEDMWX^[QBRU^_ddZLJ<

-	
-
-

-
-
-
-
-
-





-



8|£²´³²­³´³®®¯µµµ´¶·¶±¸¶³²²±²³µ±´´µµµµ·´º»ºººº¹µ¹¸´µµ°³¬¶¸·¸º¶¼½½¸½½»ºº¹º¹¿¾¾¾Â¾¾¾¿ÀÁ½À¾½¼¾ÀÀ¿Áº¾»À¾ÂÃqqqssqmopqpqpolrsrrprsrrtvutpoqxvtssrtuuvvuvutvwtxxyywtquuswxyyxyxvwwxvx{}zwvxwy{{|}{{{{z|||||zzz{zzyzz||}}{|~}~{{}~€€€}~~~€|€~~€ƒ‚€‚‚‚ƒ‚€„…†„‚ƒ„ƒ„„ƒ„ƒ†‡††‡‡„…„……‡‡†‡‡ˆˆˆƒƒ†‡‡…††ŠŠ…†‰‰‰Š‰…‡ˆˆˆ‰‰‰‹ŒŒ‹‹‹ŒŠ‹Ž‹ŠŒ‹ŽŽŽŒ‹Ž‘‹ŠŠŽ‘‘ŽŽ‘’‘’““”““‘‘’•––•••”’‰€wne^TOD:0(












&;KYiu|}|wrkopnlmmljfghgc^XTSTX[YUTTUUTTUUY[[\\[[ZVPSVVUSPLLNOLHFIJIIJIHFGFEHIIGEA?ACBB@>>??@AUgpsndVBDOX^_]RLPXYXX[TJF7


-
-












>¥´´³²²³²±±²µ¶·´³¶·µ²´´°°´µ·¸¶µ´´µµµµ·´¸º¹¹¹¹¹¶¶¸´µ¶¸µµ¶·¸º»½¼½½½½¼»º¸¸º½¿ÁÀÀÂÂÀ¿¾¿ÁÃÁ¾¿¾ÁÅÄÃÀ¾¾½ÀÁÀÀrrqpssqqrrpqpoqrssqortrqsuutsstwvorrsuurvwwvutuvvxyxwvtqvtvwxyxyxwwxvwvvz{zwwyyyxxxxyy{{{||||{zz{|{z{}}}}}}{}|~€€~{|~}‚€€}€€€{€€~|}~ƒƒ„„„ƒƒƒƒ„ƒ}‚„…€ƒ…‚ƒ‚ƒ€„„„†‡ƒ‡ˆ†„…„„„‡‡††‡‡‡‡„„†‡ˆ……„‰ŠŠ…‡‰‰Š‹Š…ƒˆ‡ˆ‰‰‰ŠŠŒŒ‹ŠŠŒ‰‹ŽŽ‰‹ŽŽŠŽ‹ŽŽŒ‘‘Ž‘Ž‘‘Ž‘‘’’’“’“”””””–“•”“‹†~ul^TLHA;4-









!(7HXbjnnlppojmjnnmljhd_ZOQPRTUNQRQNQSTTY[^_^\\YUQTXXYTKNMMJKGHHIJKJJLKGHFIJJHGB@?CCDDB@A=ADYjonldVAGPX\`_RFR\[WSMJGB+
	

-
-

-

-
-






-
-





F…§²³²²²²±¯¯´¶·´²±´·µ¬³³±°µ´µµµ¶·¶·µµµ¹µ·¶¸´·¶¸´¸¹¸¸¹º¸·º·»¼½»ºº½½¼»¹µ¸¹¼¾¿¼¼¼ÁÂÁ¼À¿¿ÃÿÁºÀÃÅÁÿ¿¿¿À¿¿rqoprsrssrqrsrssrsqqsurstuttuvuttttsrwvuvvwwuvrvvwwwsuvvwxwwxwxxvwxytwyzyzyxxxzz{zxxyy{zy{|{{{{zz}{{|}}}}~}{~€}||}~~€~€€€€€€€€‚~€‚„†‚ƒ‚€‚‚ƒ…„ƒƒƒ‚‚„†‡‡ƒƒƒ„…„‰ˆ††‡„ƒ†…„„‡‡…††…†…„†ˆ‡ˆ‰‰‰‰‰ŠŠ‰‰ˆŠ‹Š‡†ˆˆŠŠ‰‰Š‰ŒŠ‹‹ŒŠ‹‹ŽŒŽŽŒŽŽŠŽŽŽŽŒŽ‘ŽŽ‘‘‘’”–”“’“•–“’”—•‘މ„|rh]XSMD:3.'






&7HT\ciopnnopqonljfaZVSOPRSROMJKNQTSVZ\]]\YWURQWZZUONNLKMNJGILLKLNNMJJIKKKIGEDEDIKJHD=@EZjmljdVBIPVYa`QKU`\XPJGD>(




-




-














NŒ©²³²±²³°¯±³¶µ³´²´¶¶µ´´´µ´³´µ·¸¹·¹¹·¸ºº¸¸···¸¸·¸»»»¼»¹·¼¿½½½½¼½¼»¼»ºº¼½¾¿¿½»¼¿À¾½¾½½ÁÂÃÁ¿¾¿ÃÅÿÀ¿ÂÀÁÁrrqprttsqqrrrstsrrrsuutuvvupuvurstutvvvsuuutwxwvwwwwxwxxwvwwvuuwxyyxwxz{{zzxytz||zyxxy{yy{{w{z{{}}}||w}€|~}}{{{|}}{}~~~~€}x€€€€€~€€€~{„„‚~}}€}ƒƒƒƒƒ‚‚‡‡‰ˆ„„‚„…‡‰ˆ……ƒƒ‚…ƒ„…‡…‡ˆ‡…††……ˆˆ‡†ˆˆ‡„‰‹‹Š‰‰‰‰‰ˆˆ‰Š‹Š‹‹ŠŒŒ‹ŠŽŽŒŒŒŒŽŽŒŽŠŒŽŒŽŒŽŽŒŽŽŽŒŽ’’‘“••“‘“”“’“•”‘’’“Šƒzmf]UOLIC9-











%1=LYcilmqrolonkc`\XQRSTTQMKHNPQSSSXXXXVTTQSX[[VRQPOLNNLHMOMKLLMJLHIDHJIGGIHDJLOMF=?EXfjghfWAJRUWa_RK[daYQFDB<&




-



-











Y•¬±´´´³±®±±³µµ¯´´´µµ²±±µ¶¶±µ¶¹¹¸¸¹¸¶¸º»º·¸·¸»º¶¹´¼¼¼·¶¶¼½¾µ»»»½¼¸ºº»¼½µ½¾¿¼»¶¾¼½¼¾¼¾¾ÂÁÁ¹¿¾Âÿ¿ÀÀÀ¿¾ssqpsutspqosqrpqqrstttsuwwvttvssuuvvwxwvvurtwxwwvxtxxxyzuvxyxwwxx{zwwxzzyyyzzzz||{zzy{{zy{{z{}||~~}|{{}}~}{|}|€~|}}}~~€€}|~~~€€}~€‚‚€€€}€€ƒ€€‚ƒƒ€‚ƒ‚„†‡ˆˆ†ƒ„„„ƒ„‡ˆ‡„„ƒƒ„…‚ƒ‡‡…‡‰‡†‡ˆ†ƒ„‡‡†ˆˆ‡†ŠŒŒ‹‰ˆ†‰†‡‰ŠŒ‹ŒŒŒŒŒ‹Š‹Œ‰ŽŽŒ‹Ž‹ŽŒ‹ŠŠŽŽŽŽŽ“‘’‘‘’‘‘’“““‘Ž“““’“”‘’•—˜˜—•Žˆyqg^]YPC8.%


-








%6GS[bhmnmpqmifa]YUSTTQNMLNQPOMORTTTSRRRTW[ZXVTTRPNMLLOQOKKKMOMJGFGHHGLNKGHKNMF>>EWdghkhVGLUW\_[TV`gd\TJ@C8 


-
-
-
-









-






c›®°³´´³±¯±±´¸¶´´´´²±°±²´¸··¸¸¹º·¸·¶¶¶¸º¹¸¹·¹»º·º»º¼¼»º¹º½»¶ºº¸¼»¹¹»¼½»¼¼»¼¼º¹»¿½½¿ÁÀÀÁÁ¿¿ÀÀ¿ÁÁ¿À¿ÂÄÃÁrrppsuuvtsstsqoostsqttsrvutssrtsuvvrxxxwwvuvyyxwwwvvvvz{zwyzzyxxz|{yyuyvvwzyz{zy{{z{|{{{||zx{|}||}}z|{}~}~~|{€}€€}~|€~}{~€€ƒ‚€}€€€€‚‚ƒƒ‚„„‚‚„‚…†…„††…„…†„†ˆ†ƒ„‚…†…„…ˆ‡ƒ††…‚ˆ‰‡†‰‰‡‡…††Š‹ŠŠ‡‰Šˆˆ‰ŠŒŒ‡‹‹ŒŠŠ‡‹ŒŒ‹‹ŒŽŽŽ‹‹ŽŒŽŽŽŽŒŽ’“’’‘’‘‘Ž”•”“““’—˜——˜•–”‘Žˆ‚zoj]VNF?8,$







 )3?MX`fjnmjhf`\XTTPSONLPOMJMNNOSPTSSNUVZYXVVRTQOKLMSTQJJKONNIGCGDFHOQLEEFHG@6<FZegjjgUFQY^`^MOS`fc^WOJC4
		
-


-



-
-
	





hŸ¯°¯­®¯¯¯³±´²¶¶´²µ°¯¯³¯±²·¶¸¶·¹·¸·µµ²¹º¹¸º²··¹¸¼»¹¸»º¸·º·¶·»·¼¼»µ¶·¼º¼½¾ºº½¼¶º¸¼¹ÀÀÁ¿À¾½½¾ÀÁ¾À¿¾ÀÄÆÅÄqqoqsuvxvstuqqpsuvrqsutttrqssuutuwvvvwvxwvvyzzxvtvvwwwx|{yxyzyz{||{{{vyxxz{yv{zyz{y{{yz{{zyzzz{{xz|~}}|}}}}~||€~~|€‚|~€€~€‚ƒƒ‚€‚‚ƒ„…„ƒƒ„‚„„ƒƒ„„ƒ„……„……„„„††ƒ„†‡†ƒ†ˆˆ†„……†‡‡ˆ‡†‡ŠŠˆ††††‰Œ‰ŠŠŠŠ‹‰ŠŠŒŽŒ‹ŒŒ‹‹‹ŒŒŒŒŽŽŒŒŽŽŽŽ‘‘’Ž‘’‘‘’’‘‘‘‘’”•“‘Ž‘“‘Œ‘“”“‘‘”—™••—˜——•——•އ€yoeZXQI?6-"









-




':EOX`ejjhb\YWWXVUTRQPKJKMOQSTVXXWWYZYXXVUTTRRUXYXUQNMOROLHGEDDHNPJC>??<86;N`jgjibSIMW^b\LGO]d`\VPID2
-
-
-
-
-
-









!k¡°²°°²²°²´³³°´¶´°´¶µµµµµ¶¶·´²´¶¶··¶´·»¼¸¹ºº¸·¹º¸¸·¸¸··¸º»¹º¹¶¾Á½¹¹»½½½¾¾¾¾½¼»¼½»¸¿ÂÁÁÀ¾¾½½¾ÁÃÂÀÀÃÅÆÇÇqrrqrrsuurstsqrtvuqssrtuurrstuusuvvvustuwvwyzwvvwxwvwvyzyyyzzt{|{vxzzvxyyy{yy{|y||{zzwz{zxyz{{{xz{|~~}}~~~}||y~€y}}~€z€€€~}€€€€€‚‚‚‚ƒ„„ƒ‚€€€~}ƒƒƒ…†…ƒ‚„„…†‚€‚‚……‚„ƒ„„„………†‡†…‡ˆ………‡‡‰‰‡………‡‡‰ˆ…‚ˆ†ŠŒŒ‰ˆˆŠŒŒ‰‰Š‹ˆŒŒŽŽŒ‹ŒŽŽŒŒ‰‹ŒŽ‹‹‹ŽŽ’’’ŽŽ‘’“’Ž‘’‘”•”’“•”’’“’’“”‘––””–˜––—˜˜™—•’އ€wjeURNG?8-#









%2?KW_c`ZZW[[YXWUTSPFKJPOSSWXZYXWXUUVVTTTUWY\\[XSRKOPNFECBADGHHE<:650.-@Vfomjf\J6AFT]XMILY`]WTJID/
-
-
-	









-
-
-
-
-









#o¤±²²³´°®¯¶µ´°±±´±³³·³µ¶·¸·²²¯±²³´····¼¼¹³º¸¹¶¹´··¸·¶·ºº¹¸¹¹º´¿Â¾¸»½¿À¿¹¾º¼¼¾ºÁ¼¹¹¿ÂÀ¼Á¿À¸¾¿ÃÄÄÀÁÃÄÃÃÃnrrrqposqrstsppssrqssqquvuttqvvusttwustwwwwxyxvxz{yvvxyxuxy{zy{|vvvzzwvzzz{zyz|~}}|{{z{}{zzz|}{z{|{}~|y€€}||}~~}}|}}~€€~}~€€€€‚ƒ‚‚………‚}€€€€‚ƒƒ‚„„ƒƒ„……†…‚‚‚‚……„ƒ„„………†‡‡†ˆˆ†‡‡†‡‡†‰‰‰ˆ†‡ˆ††ˆ‡…†ˆŠŠŠ‰‡††ŠŒŒ‹‰Š‹ŒŒŒ‹ŒŽŽ‹‰ŒŽŽŒ‹Œ‘’’‘Ž‘Ž‘‘“’’’“”••”’‘’”•“’’“”–“‘‘“•••”•˜——˜š™—™›™˜–•ކ}vlb\WPH>4+!














'9EOSVXZ\][YXWWUUSONNQSTTUVXVUVVUVUSTUVVWYZ\ZXUSPNKHD@@ADEEDA;61.,,,DZksojaTA68<FUSKHIT[ZWQKKE-
















%r¦±²³´³³±²´¶´´´´´±²³´³´µ·º¸±´¶·´´´µ¶·¸»¼º¹¸·¸º¹¹¹¹¹¸¸¹ºº¹·¸¼¼¼¾À¾¼¼¾¾¿¿¿¿¿¾¼¾ÀÁÃÀ¿¿À¾ºÀÃÂÂÂÃÃÄÄÃÂÃÃÃÃÅprqqqqrsrssrrrrsrnopqqsuutuvxwuutstutruwwwxxxxyzzxytxyzzyuyyyyzzwxyz{yxxzy|xyu}~}|||||}~}}}{~~}||z|~}|~€€{~~~€}€z}|~}~~~~}€€„†€€~€€€€€ƒ‚ƒ‚„ƒ„…††„‚‚‚ƒ††‚„‡‡…………‡ˆ…‡‡‡ˆ††‡ˆ‰‰‰‰‡‡ˆ‡‡‡††‡‰ˆˆˆŠ‹‰‡‰ŠŒŒ‹ŒŒŒ‹‹‹ŒŒ‹ŽŽŽŒŠŠ‹ŒŒŠŽŽŽŠŽŒ‘‘ސސ’’’’‘‘’“‘‘“”“’””“”’““•”–“““–““•–—™˜˜”™š˜–‘†~wib\TMGA:2(









'1;EMTWWTTUUUWVQLKJMOOMMNPTVVTTTPRQRQPOPQVWUTOHIGFA@ADBA??:4,+&+-E^mrma\L?47:HQL>CCHMPQK?KF+
-
-
-
-
















-





(u©²²µµ´³³®´³³±¶µ´°±¬³³³³´´·±µ¶¶µ¶·¶²²²»¹¹º¹···¹¹»¹¹µ¸¹¹¹ºµº¿¾»¾¼¾¼»·¸¸¿ÀÀ¿À½¾¾ÂÀÂÀ¿¼»»¿ÁÁÁÃÂÁÁÂÂÁ¼ÀÂÃÄrqprsstuqsssststsrpoorstssuwyxusqrouvsuvxxxwwxxyzzwvxyy{zxxxy{zzwz{zxzyzzz||zz||{{|}}}}~y€~|}}{|{{}€~~~}€‚€€~}€€€€€~~}}}~}}}~~~~€€‚„„ƒ€‚ƒƒƒ‚‚ƒ‚‚ƒ„„‡‡‡„‚„„„…………ˆˆ†‚…†‡…††……†…‚ƒ†‰Š‰ŠŠ‡‡‡‰‰†‡‡ŠŠ‰‰ˆ‹‹ˆ‰‰ŠŒ‹ŒŒŒŒŒŒŒŽŽŽŽŽŒ‹‹ŒŽŽŽŽŽ‘‘‘‘’‘‘‘‘‘“”“‘‘““”•‘‘’”•––––•”“”••–˜—˜˜˜—˜›››š™–“Žˆ€wme[YSJ?4(














'4>EIMPQPSUUQJHGFHJIHGKOQQPPQPNLLJFFHJNQQOLFGGGFDEEB@=:61,*)*-F`mpicXI?98=KQKC@?>>?IE<IE'
-


-















+x«³µµ´¶´´´´²²²¶·³±°±³´³³´µ´°´³´´·¸µ³´µ¹·´¸¹¸·¶¸¹º¸¹·¸¹ºº»»¼¿½»½¿½»º¼¾¿¿ÁÁÀÀÀ»¿ÀÁÁÁ¿½¿¾¾ÀÀÁÁ½ÁÁÂÁÄÅÃsrrstsvwvsssttrrtssqrrssssttxwutsstvxvtuwuwwxzyxyvwwyvxxyzyuz||zz{zzzyxyzz{{|z{z{zz||w~~~}y||}{{{}~}~~€}~~‚€€~{{{}z~~~|~€€€€}‚„„ƒƒƒ„…ƒ€ƒƒ„†‡ƒ„ƒ„†…ƒƒ…‡‰‡…„†††…†‡„ƒƒ„„„„‰ŠŠŠŠ‡‡ˆŠ‰ŠŠ‹‹Š‰ŠˆŠŠ‰‰ŠŠ‰‰‰‡Œ‹‹‹Œ‰ŒŒŒŒŽŽŽŽŒ‰Ž‹ŽŽŽ’’Œ‘ŽŽŽŽ’’‘“–•“’’’“”””””––••—””””””–˜˜——˜•–—œš™–™š™—’‡€wlfYSLD<4( 














"+7@EJQSRRJHADEE??>CEEEEGHGFEEDCBA@BCEEEEDEHIJIFB>64-,()(*/JcmpgbWF?<>CQVMF@=<9AGE;HA#	















.|«²´´³·¶¶¶¶´³¬¶´³°±°´´³³µ°°±µ³´´¶³²±µ··µµ¶¹·¸´·¸¹¸¹·¹º¹¹»ººº½º½¾¼»¼¾À¿¾¼ÂÁÁÂÁ¿½¼¿¼Á¿¿¿ÀÁÁ¶ÄÄÄÂÁÀÄÆÅÅÆÄsqqtutuwwuprttrstuttssuvutuvwwtuuvvvxxvvvtvyyzzxyxwwxxvwy{ywy}{yyzyyzzxyyzyy{}|zz{z{|}~€~|{{|{~|}~}z~~~}}~€‚‚€}~~~{}|~€€|€~€}€€‚€„ƒ……„„…„ƒ„„ƒ„……„„„†…„‚ƒ‡ˆ‡„‚†‡…‚…‡†……‡‰‡†‡‰‰‰ˆ‡‡ŠŠ‰‹‹Š‰ˆˆ‰ˆ‡‡ˆˆŠŠ‹ˆ‰‰‰‹Œ‹‹ŒŽ‹‹ŽŽ‘ŽŠ’‘’’ŽŽ‹““’’‘‘“•••”“””•••–••••—–“““’’”˜š˜˜™–—˜™˜–—™œ›™˜—”…}tkc\WNE;3(















'19DJPROIDCEB;;<;>@@@ABA@@AA?><;>@@?@AACFHHHF@:4/+*((''3OfoofaUB>=?GTTKD@><=BFEDF= 





-
















;€­²³³µ¶·´¸¸¸´²´²³²µµ´´´³´·¶·¸µµµµµ²´·¹¹··º¹¹¹¶¸¹º¸¸¹¹»»»ººº¼¾½¼½¼¼½¿¿½¼»ÁÃÃÄ¿¾¿¿¿ÁÃÁÀÁÁÁÃÅÆÁÀÂÃÅÇÆÄÆÃsqqrsmswwtqqrostttttsptuurvuvvvuutvvwvvuttvyyyxuyzwwwwxuxzzyxxzxyyxwywwwyxyw}|wwy|}}|~~|x{|}|}|}~}|~}y{|~|€€}~€}€~€}€‚‚€€}€ƒ„„„…„‚„ƒ„„ƒƒƒ„…‚………ƒ‚†ˆ‡„†ˆ…ƒ…‡‡†„ˆ†ˆ†‡‰ˆ„ˆŠŠ‹Œˆ‰‹Šˆˆˆˆˆˆ‰‹‹ŠŠ‰‡ŠŠŠ‡‹ŽŒ‹ŽŒ‹‹ŽŽŒŒŽ‘ŒŽŽ‘’’’’Š‘‘‘‘••”““••”••‘•”–—–”“““’•˜™™™——“”‘–•›œ™—›™˜–‘‡wi`VSMH?5'













$2<CFEDFGD>=<;;<<<9=><:=<<655:=<9:::<>?@C@<5.,+*))(,7Ukrog`T>909GJJA7<?AAEGFAE5

-



















Jˆ¯³±´¯¶·¶¶¶µ´³²²²²´­²±³®³µº»¹µ´´¶´µ¶¸»»¹¸º¹±»·¶´º¸¸±¸¶¼¼º·¼½¾¾»µ½¾¾½¾¾½»ÂÁÄÃÁ¼¿ÀÀ¾ÁÀÀÀÁÀ¿¿ÅÄÀ¿ÃÂÅÃÅÃÅÂsrqqrrtvusqqqsuvttutrrsuttvwuuvvvvvwttvutsuz{yxvzzwvtwxwvyzzwxzyzyvxzzyyyz|}}~}y{z{~}{}|zy{}}|z}}{{}||€|yw|~~}}€€€~€€‚‚‚ƒ‚€‚‚‚‚‚‚‚‚„…ƒ……„ƒ„„ƒƒ…†……„„„……………†‡‡…ƒ†‡†ƒƒ‡Š‰‡†ˆˆ‡‰‹Š‹‹Š‹Œ‹‰ˆˆ‰‰‹ŒŽŽŠ‰‰Š‹ŠŠ‰‰Ž‹ŠŠŒŒ‹Ž‘ŽŒ‘ŽŽŽŽŽ““’’‘”“’‘‘’“““”•“’‘“”•‘”––”“•—–”’“’”••–—˜——˜˜—˜››››šš›œžœ˜”Œ…{qgebZPE<3'









*26;@EDDA>;;<=<:;<;;:;96448:988889;;==:40.,+****/@\prnicS=403EJC948BIKIFCFB/




-























T±µ¶¶¶µ¶µ³³³µµ´³³´³²²²²³³µº½¹µ¹º¶³¶¸¹»»¹¸º¹ººº¸¹º»¸¶·»»¼»¼¼½¿À¼»¾À½½½½¾ÁÂÃÃÄÀ¼¿¿ÁÂÁÀ¿½ÂÁ¿ÁÂÃÀ¿ÂÄÄÄÃÂÅÆrqrprsuutttrrsuwvuurtuvuutvxwsuvxxyxttvuuuuz{wxuyyyvvxyxxy{{yyyy{zzy{|{{z{|x|||z{{z{|{}|{{~|{y{yyz{{~~~~€€~|~~€}~€€‚€‚‚ƒ„„„ƒƒƒ‚‚‚‚‚‚‚‚ƒ„…†…†…„ƒ„…‡‡†…ƒ†‡‡‡ˆ‡‡‡ˆ„„„„……ƒƒƒ‡†‰ˆ‡„‡ˆ‰ŠŠ‰Œ‹‹Š‰‰‰†Š‰‹ŒŒ‰‡ŠŒŒ‹‹Š‹ŽŒ‹Š‰ˆ‹Œ‰ŠŠŒŽŽŽŽ‹Ž‰ŽŽ“”“‘”‘’“’‘‘“‘‘‘’’”•”“‘’“’’”••“”“––•”–—–••’“•˜——˜š™š™š—–•™›œ›››š™–”‰†€wmcZUNG@9,!










 -38;;<>@@><::;;46697436795867566774---,+*+++4JbsqlgbQ<209FI>5-5CMOG?AE?+

















 Z‘³µ´¸´´²²±±±µ´µ¯µ¶¶´µ±²±²µ¹·¸¶¸¹¶°·¶¹¹¹¸ººº¸º»¹¹¹µ¹²¹º¼µºº¼¶¾¾¼¼À»¸·¼¸¿ÂÁ¾Á»¾¼¾¿Á¿¿¾À½ÂÂÁÁ¾½¼ÂÅļÂÃÅÅrttsqsuuttttsspwvsttuwwvvwvwwwuvwyyxuuvvvvvyyyyxvyywxyzyw{{{zxwy|{{y{~}|yz{{zzxy{zyy{}}|y|~€€}}|{{yw|~€€€€€~€€€€~|‚‚‚€‚ƒ‚‚‚‚‚„„„…„„ƒ‚‚€~‚‚ƒƒ‚‚ƒ„„……„„…†‡‡‡‡†‡‡ˆˆ‰ˆˆ‰‡………††…„…‡‰‰ˆ‰ˆ‡†ˆˆ‰‡‡ŠŒ†††ˆ‰Š‹ŒŠ‹‹Š‰‰ŒŒŒŒ‹ŒŽŽ‹Œ‰‰ŒŒŒŠŒŒ‹ŽŽŠ‹ŒŒŒŽ’‘’••‘‘“•”””“‘’‘‘‘‘’‘“•–‘“““’’•––••–•—–•–™—••”–˜™™˜—˜˜˜™™™˜˜™›š—”ššš™šš›š˜—–†}ukf_ZSJ?4'












")-39@A?::;<:64476434689998655431-,-,*)*+,9Odonjc\M711;GF92-3BLMD<<B;%












"^“²´³¶³µ¶¶··µ´´´µµµ·¹¶±²±³´¶¸·¶´¶·¹¹¶¸¸·¹¹»º¸ºº·¸¸·¹¼ºº»ºº»¼¾½»¼ÁÂÁ¾¼½ÀÀÀ¿À¿¾¾¿¿¿ÁÂÂÂÂÃÂÂÁÀ¿½¿½ÁÄÃÁÀÆÇÆttttttuutrrquuttuqstvvwwvuuuvwvtvvutuvwxxuwyz{{zxxxwxvyzz{{{zyyy{||y|~~}|||zyyyy{zzv{||zzz~~~€}~z{|~~~~}€€‚‚€€‚€€~ƒƒ‚€€‚‚„„ƒ‚‚‚~€€‚„ƒ‚‚ƒ‚ƒ„……………‚††‡†‡‡‡†‡„‡„‡…†‡†…„†‡ˆŠŠ‰‡Šˆ†‡ˆ„‡„ŠŠˆ‡†…†‡ŒŒŒ‰‰ŠŠŠŒŒŽŒŠ‰‹ŒŽŒŽŽ‘Š‹ŒŽ‘’’‘‘•–“““”““’Ž’‘““‘“’“’•—–””“”‘•–—••–•––Ž•––•–”—˜š™™–—”˜™™˜™˜™–™•–—–•˜˜™›œšž œ•”‘Ёwkc]XPF;1#








-


-(179:;<>=96555615699;::7521//..-+&)**,<Q[abaYPI32-=ID53.1=FHA8:@5

-



-


















$a–³´³²²·µµ¶·´µ±³´³³¸¸¶°°±µ´µ±³´´¶¶µº·¸µ´´¹¸¹¸»¹ºº¹¶»»º¶¼ºº·¼¾¿º¾ÀÀÀÀ¼¼¾À¸½»À¾½½¿»ÂÂÀ¾À¿ÂÀÀ¾½¾½½½¾ÅÄÅÈÇÃusptvvvvtsqtvwurtrutwvuvtsqssuuvwwwtuvxxxxwwx{zyvvvvxyyzzzzyy{yy{{{|~€z}~}zxxz{{{zzz{{zz{|}~~~‚€~}{{|}|~~~~~€‚}€€€€‚ƒ‚€‚ƒ~€€€€‚„ƒ‚‚€€„„‚‚‚ƒƒƒ…‡†„„†‡†††‡‡††……††ˆˆ‡„„ƒˆ‰ˆŠ‰‰‹Š‡†‡‰‰‰ŠŠ‰‡††„‰ŒŒŒ‹ˆ‰Š‹ŠŒŽŒ‹‹Œ‹Ž‘‹ŽŒŽ‘‘‘‘‘‘Ž‘“•“‘““““’“’•”““”•••”•—–”•–”“’––•”””––”•———–•—ššš™˜—”˜›šš™˜˜–˜˜š›˜˜˜—˜šžŸ¢¢¡¡¢œ“Œ†wni]TJB8.!









#*/47:<=??=:99:<<<;;:9620.///,+**+,-=OWYXUOLG?75@JC31/09AD>69>1






	

















&ešµµ¶µ²µ´´³µ¸¶··²µ¶··¶´³´µ·´°¯²´¶¶µ¹¹¸¶·¹º¼¼¼»¹»»ººººº¼¼¼¼½¼¼½¾½½¹¼½»¸¼¾¼½¿ÁÃÁ¾¾ÀÁÂÀ¾¾½ÀÂÂþÀÀÁÄÆÅÆÇÆÂtrqsvvvvuuuuuuutsrtuvvustuttvwwwwywuutuvwwwtyzxvvwxvxxz{zxzx{{{xwwy|~~}|{{zz{||y|||||xy{{{}|{{€~~{{{}}}~€€€€€|€€€€€€‚‚‚ƒƒƒ‚‚ƒ„„ƒ„‚‚€|ƒƒƒ‚„ƒƒ…†…„ƒ‡‡…ƒ‡†‡„…‚ƒ„†‡ˆ‡……‡ˆ‰ˆ‰ˆ‰ŠŠ„†‰ŠŠŠ‹Š‰‰…‰‡‹ŠŠˆŠŠ‹ˆŒŽ‹Š„‰‹Œ‹Œ‹‹Œ‘ŽŠŠŽŠŒŽŽŽ‘‘‘‘Ž’’‘“’”Ž’””“‘‘“•”‘”•””––•“•““‘‘’”––••—––˜——˜—––”˜šš—–”””—œ›šš—˜—˜”›žœš›œœšœžž£¤¤¡ ˜—”‰‚wf`[SIA8/#









%-39@DC@>=@A@<=7:7531---.++)+*-->NPRQIHFJKD8BH@1/.17>@?7??/






-




-









0pŸµµ¶¶³²²²±´³¶·¸²···¶·´µ´¶·¶±³µµ²¶·¹µ·¸··»¼ººº¸»»¹¸ºº»»¼¼¾¿½¸¼¼º·¸º¾¸»¾¾º¿ÁÃÄÁ»¿¿ÀÁ½½¼Á¾ÃžÄÄÄÄÄÂÃÁÅÃrpptuuvvvwwvttsvursttvusvxuwwxwvwywuvuuvxvvwyywusxyzzz|}zz{|{|{ywvxzz{{|}zz{w{{{{|}}}||{{{|z{{}}~zy|y{|}~~€€{€‚‚€€~ƒ„ƒ‚€‚ƒ„„„ƒƒ„ƒƒ‚„ƒ‚ƒ„……ƒƒ………„„……††††††…ƒ„„………†…†ˆ‰ƒˆ‡‰ˆ‹‹ˆ‡ŠŠŠŠŠ‹‹‰Š‹ŒŠ‰Š‹‰‰‰ŠŒŒ‹ŠŠ‰ŒŒ‹‹‹ŽŽŠ‹‘‘ŒŽŽ‘““‹ŒŽ‘‘‘““””•“Ž’•”’’’”•”””“’’•––••“””““”••–•˜˜—™˜—˜”“”•—™˜˜˜——–—š››œœœœ™™™›š™˜œœœžŸœ¢¤¤£¢¡žœš˜…|tha[SKC<4%









"+4;>@AADEC@><;9740.---,+**+,.@MONKE@BIPLDBB;/./16<@@AC@-





























:z£³´µµ¶´³´´´µµ··¸·¶µ·¶¶¶¶¶¸¸¸··¶²·»¹¸¸¹µ¸º¹·¸º¼¼»¹¶ººº»¼¼¾¿¼¹º½½»½ÀÀ¾¾¾¼¹¿ÃÂÂÀÀÀÀÁÃÂÁÀ¼ÀÂÄÅÄÆÇÆÅÅÃÁÂÃÅÆrpqturuvvvwvuttvvsssuuttwwxxwwvuxxxvwwvvzzxvxyyuwxyz{{||{{||{{{yxxzzzyy{{{}|yyyx{{|}|{{z|}}{|}~~}|~y|}yx||}~€€€€€~€‚‚‚‚~€€€‚€€€‚……€ƒƒ„ƒƒƒƒ„…††„~…„„‚ƒ„„‚………†ƒ‚‚†……„…‡…‡ˆˆ‰‰‰‰‰‹‹‰‰‰‰‰Š‰ŠŠŠŠŒŒŠ‰†Š‰‰‡‰‹ŒŒŒ‡ŠŒŽ‹ŠŒŠŒŒ‘‘Ž‘‘‘‘““Š’’‘’‘“•”“Ž“‘’““‘’’””“‘”–—–”•““••’““–˜™˜™˜˜—•–—””•˜˜™™š“––šœšš™š”š™™–––ŸœŸ¢£ ¡ Ÿœœœ ¡ž™”ކzqf_YWSKB9)







 +27;BHF??:<<83/*-,--,*+),.@LLIGB>:AHKIE=6.-+279:><E?)







	
-












?¦´µ±´´´°µ´µµ¶··´·¬µ³¶··¶¶·¹¸·´µµ¹·¹¸¸¹¹¹»¸º»¼½¼»ºµ»¼¼»¼»¼¾½µ¶¸¿¿¿¿¾»¾¹¸¸¾¼ÁÁÂÂÀ¿ÁÀÀ¿Á¼ÁÀÆÄÄÂÈÈÆÁÄÃÄÅÅÅrsqsuuuvwvwvvusvwvuttttvwvxxwvwvxxxwyxvw{}{yyz{zzyz||{{|||||{z{|{{zywyy{||}}{x{{||{}}{z|~~~~€€|}~z|~~}~z~}€~€€€€‚‚ƒƒ‚‚€‚‚ƒƒ‚€‚………‚‚ƒ„ƒƒ‚€‚ƒ„„ƒ……………„‚ƒ„…„„„…†‡†††ˆ‡†‡‡†‡‡†‡‰‰‰‰ŠŠ‰†‡†ˆˆˆ‡Š‹ŒŒŠ‰Š‹Šˆ‰Š‰Œ‹‹ŒŒŒŠŒŽŽŽ‘‘’’ŽŽ‘‘‘‘‘‘’’“’’”“’‘“’’””””•”“’’“““‘••”••”“–••””–˜šš™™™˜–˜˜—————™›šš——š›™›œ˜™™™›ž›š›žŸœ›ž¡¢£¡ Ÿž ¡¢¢¡ Ÿ™’‹wplid[QG;0("














$+6?A@?>><82.*,-.--+,,,1@HHGC?;89>DHD=3.-.2898::C=#

-



















D†¨µµ´³²²°µ·¶´·¹¸¸¶µ¶·µ¶¸µ³´·¹··º¼¹¹º»»º¹»½¾½½»»»»º¹»¾¼»»»·»¼½¼¾¿Á¿¼»º½½½¿¿ÀÁÂÄÃÂÁÂÃÂÃÂÁÂÄÄÄÃÂÇÈÈÇÆÅÂÅÅÅtsstuuuuvvwvvusuwvvuuruvvuwwvuuvxywwyywvyz{zzx{|{w{|}||z~}|{|||{{xzyyz{|}zz|{y}}}{{}~||}~~|€~€€|}~€€~~~€€{€‚‚„ƒ„„ƒ‚‚|€‚ƒƒƒƒ~ƒ‚ƒ„„„ƒ„…„„ƒ‚‚ƒ‡‡…††‡†…ˆ„‡‡ˆƒ‡†…„††‡ˆ‰ƒˆŠ‹Šˆ„‰‰‰‰‰‰‹‹ŒŒŽŒŠŒ‹ˆ‹Œ‹‹ŒŒŠŒŽŽŽŽŽŽŽŽŽ‘‘Ž‘‘‘’’’Ž‘’’’““’“Ž’•–•”““Ž““•••’””““•”••––•“––™˜˜–˜˜––—’˜˜–•˜™™˜™—š™™—˜™š››•œžž›žžŸš ¡ Ÿž™Ÿ ¢ŸŸ  Ÿ ž›—“މ~uc^[TLF@6)





$+159::820+,----+,,,3@HFA@<9443:<<;5.//599779A;!












	





-











JŠª¶¶¯µ³³¯µ¸·µ¸º¸¸·³¹¸·³¹´´¯·´¸·º»¹¹¼¿½¶º¼½»¼ºº²½¼»·»¼½¶½¼¼»¹¹¾º¼¼½¹»»¿À¿¼ÂÁÁÂÂÀÁÂÄÄÄÄÄÂû¾ÂÁÅÇÈÊÉÆÇÈÆÀutstuuquvvwxwvttvwvvwxxvvuvvvtsvyzwwzzyxxxvy{zy{{z{|{|}~}~|z|||{y{{z{||}|yz||z~~||}~~~}z}€€€}~€~€‚~}‚€€ƒ€‚‚€~~‚ƒ‚„€€€ƒ…„„ƒƒ„…ƒ„„ƒƒ……„ƒ„‚‚„‡ˆ…†††‡‡‡†…ˆŠ‰ˆ†‡„„…ˆ‰‡ˆ‹‹ŠŠ‹ŒŒŠ‰‰Š‹Œ‹‹ŒŒŠ‰‹‹‰‰‹Œ‹‹‹ŽŽŽŽ‘‘‘ŒŒŒŒ’Ž‘‘‘ŒŽ‘“’’’‘““’Ž“—–•‘’““’”•––““’‘‘”•””’•••–—————™™––———˜—–—–—˜š›š™™™š›œœ›œœœœœœœžœž¢¢¡¡¡Ÿ £¢ž£¢ œ–Œ„{rgc^YPG=4+"







 +.232221--..,,,,4@FC?=;710/4898630/7;:9:>A9 



























RŽ«µµ¶µµ´´¶¸·¶¹¸¶¶µ´·º¹º¸·¶¶¶³·¸¹º¹¹»½½»»¼»¸º»¹¹»½¼»¼¾¼»½¿À¿½¼½½¼¼½¾¾¾¾ÀÀÀÀÁÀÀ¾½¾ÂÃÃÃÃÃÃÁ¿ÁÄÃÃÃÃÆÊÊÊÊÈÈÇusrquutuuquuuuuquruvxzyxwvwwwvuuyzxxz{zvyxww{|yyzzz{||}zzy{z{{|}~~|{||{{zy|~}z~€z}|~~||~€€~}z}~~|€€€€}€}~}€}‚‚‚€€€‚ƒƒ‚€ƒ„„„„„„„‚„„ƒƒƒ††„„ƒƒƒ‚‡‡††…‡†ƒ‡„ƒ„Љˆ‡ˆ‡…ƒ†ŠŠ…‰‰‹‡Š‰ˆˆˆ‡ˆˆ‹ŽŒŠ‹ŒŒŒŠŠŠ‰‹…ˆ‡ŒŒŒ‹ŒŽŽŽŽ‹’‘‹‹‹ŽŒ‘ŒŒŽ‘’‘‘‘‘’’’““’•–”“’’”“‘‘””–”••“’“”““’•••–’–––—˜˜—–™—™–———––—˜š››š™šœœš››œœš˜™™žšž™  ž  ¡¤¢¢£¥¤¢ š•Ž…yoe^YVRMF>0$








&+032/./.--./5?BA<;:6/..369:863/8>=9:>B5




















Z’«²µ¶¶²¶µ¸¹·¶¸²·¸µ°·¶¶¶·±·µ³³¶³´´¹¸ºº¹¹ºµ¸·¹¶ºº»·¹¸¸¹½¼½·¿ÁÀ½¾¾¿¿¿»¿½¾¹ÁÀ¿¼À¸¿¿ÁÁÁ¿À¿ÄÀÄÃÄÅÅ¿ÃÈÈÃÈÆÇÈqssstuvvrrssttvwvuuvuyzzyyxxxxruvxxyz{|{zxwx{|zywyzz||{yyzzzzzz~}|||zz}}|}|}~€~z}~~~}}~~~~{||}}~~~€‚€€€€€€€€€‚€€€‚ƒƒ‚€‚ƒ‚ƒ‚‚ƒƒ†‡…„‚„…†‡†……………†‡††‡‡††‰‰ˆˆ‡†Œ‹‰ˆŠŠ‡‰Šˆˆˆ‰ˆ‡ŒŽŒ‹‹‹Šˆ‰‹ŒŒŠ‰ŒŽŽŽ‹‹ŽŽŽŽŽ‘’‘ŽŽŽ’‘‘‘ŽŒ‘‘‘’’“”•“’’””“”––”“““••”‘‘“”•––——””–—•”””––––•“———˜—˜šššš››™—–“˜šœš˜š›œœ›˜š›š››™›žžžŸžœœžžžŸŸ ¢££¢¢¥££¤¤£Ÿš“‹‚zqkie_WNC:1&












!'*+,.00/007>@?=<:61..036:973/9=<;:AA2


















^•¬²µ······¸·¶¶¶·¹µµ¶¶µµ¶µµ¶µ´´´¹¹¹¹¸¹¸··µ¹·¹º»½¼º¹¸º½½¾¼¸¼¾¿¾½¿ÁÁ¿½½½½À¿ÀÀÀÀÂÄÄÁÁÁ¿ÁÄÆÇÄÃÃÆÇÅÁÅÄÁÅÃÇÉsrtvutvutssorsvuvwvvvwy{zvwxyyyxxvvvz|{{zvvuy{zvww{z|yzz|}}}|z{}~}}|||{z|||}y}~~~€}{~~~}{}}|~}}€€€~€‚ƒƒ€€~~}|‚‚‚‚‚~‚€€‚„„€€‚‚ƒƒƒƒƒ…„†‚ƒ‚ƒ€„„……„„„„…†††ˆˆ†…‡‰ˆ††‡ˆ‹ŠŠ‹‹ˆˆ‰ˆ†ˆˆ‰ˆ‹ŒŒŒŒ‡‰Š‹ŒŒŒŒŒ‹ˆŒŽ‹‹ŒŽŽŒŽŒŽŽ‘‘‘ŽŽ‹’’’‘’’Ž“””””•“”•“’’’”••”’‘’–••——“”˜˜•“‘•—˜•—’–˜™˜—–•–š•™›œšš™˜˜™š™˜™™™™˜˜™™™—›š›œ›žžžžœžžžžŸŸ  ¡   ¡¡¡¤¥¢¢£¡žœ˜’Œ†|rgb`[TOIB9+










!%+04269=???>;62/(++14542/7897=D@.












-















dž®±µ¸¸¶····¸³³²·¹·¶¸±µ´´²µ²¶µµµº¼ººº¶·¶µ¶»¹»º»¼¼·¸¸»¼¼½¾¹»½¾¾ÀÀÁÁ¿¹¾º¿ÂÂÁÁÁ¿ÂÃÅÄÂÁÁ¾ÂÅÇÀÃ½ÅÆÉÇÅÄÃÀÂÃÉÊtsvwvwvttutpqttsuvvvvwxyxuvxz{{zzvuvz{vxxuvvxyyxx{{{zz{}{~~}|||}}}|{{{{}}||}€€{€}}}}~}|{~€€}~€€~€€‚„ƒƒ€‚€€‚ƒƒ„„ƒ€ƒ„€€€‚„ƒƒ‚‚‚ƒƒ„†…††††‡†ƒ…………„……„ƒ‚ƒ…ˆˆ†ˆ‰‰‡‡ˆ‡‡ˆˆ‡ŠŒ‹‹‰†‰‰‡ˆ‰‰‰‹ŒŒŽŠŠ‹Š‹ŒŒˆŒŒŒŽŽŽŒŒŒŽŽŽŽ‘‘ŽŽ’““‘‘’‘‘‘’“””‘’’’””“”–—“‘’••”˜—”•——•••–˜™š˜——˜š›™——˜™˜˜šššš™™˜˜™™™™š™˜š˜™›š›œšššœžŸ›œŸ ŸžžŸžžŸž ¡¤¤¡£¥£¢¤¤¡Ÿ˜†wjfda[SE9-$






&+/27<@BA>;72/,,-///1225887@G@+


























j¤´µ·¹¸º¸¶¸··¸·¶·¸·¹¸¹¹¹¸¹·¶¸¸·¶»¾¼¼»º¹··¸»»»»¸»»º¹ºº¹·¼¾¿À¿ÀÁÂÁ¿½¼½¿ÀÁÃÀÀÁÂÀÀÁÂÅÄÂÀÁ½ÀÄÆÆÅÄÆÊÈÈÈÇÄÁÅÇÉÉtrvvuuuqsvtprsttttwxxxvuwuwyzzzzzwvuyxwxxwxxxvy{|{zxyv|}}}|yxx~~}||wyx{|||}x{}€€€€€}{{{~}€~||€€€~€‚‚ƒ€‚}~‚ƒƒ„„‚ƒ…„ƒ„€€ƒƒ‚‚‚‚‚‚€„…†‡‡†††‡‡‡††………‡‡…„ƒ†‰‰†‡‰‰ˆ‡‡†‰ŠŠ‰‡ŒŒ†‡‡ˆ‰‹ŠŠŠ‰ˆŠŒŽˆŒ‹Š‰‰ˆŽ‹‹Ž‹Œ‹ŽŽŽŒŒ‰Ž‘’’‘’’‹“’”‘’’’’‘‘‘’’’‘“”’”’–—•’‘•–™š—””•–––”——˜˜™—˜—™›š˜—˜˜™™˜—–——––˜™œ–ššš››š™—˜˜šš™›œŸžžžžŸž˜ŸŸžšš›Ÿ ¡ ¤¢¥¦£Ÿ¤¥££¥¤¡—‘‰{pgb^YSPI?-"













#*2:?A=770//120../114588CJ?'










-







 n§³µ·¸¹¹¸¶¸¯··¸¶µµ¸¹º¹¹¸¸¹ºµ»»¹¸¼½¼¹»¸»µººº´»¼¹»»¸¸¸¹º»»¿ÁÁ¾¾À¿¼ºº»ÁÀÁ¿¿¸Â¿¾½ÀÁÂÁÁÀ¿¾¿ÁÆÅÇ¿ÇÄÆÆÇÆÆÂÇÇÈÂsttupttsrutsttvvutwzzxvuwxwywwwwxwwwyxvvwxyyxxy{{yz{z{||}||{x{}~{{||{z{||||yz}€€€€€€~~~}|~~‚€€ƒ‚‚‚ƒ€‚€€€‚„…„‚‚‚„ƒ‚ƒƒƒ‚††‚€ƒ‚ƒ…‡ˆ‡…„…†‡…†††„„†‡†………†ˆˆ‡‡ˆ‹Š‡…†ˆ‹‹Šˆ‰‰Š‹‰ˆ‡‰ŒŽŒ‹ŠŠŠŒŽŽ‹ŒŒ‹ŠˆŽŒŒŽŽŽŽ‘“Ž‘’’‘’’’“’“”–““””•”“’‘‘‘““’‘’–•““•”““’••™™—”””•––—˜˜—–˜™˜—š››š˜˜™™™››™˜˜—˜›œœœ›šœ›››œœœš›œœžŸž £ ™œŸ  žžŸ ¡£¢¢£¢¤¦¤¡¡£££¥§§¦¥£Ÿ˜Ž„xmggebYNB8/$









 )1655558<>:40//115899EK>#


-


























$q¨µµ´·¸¸···¸¶¶··µ¶¹»ºº¹·¹»»»»ºº»¼¼»»»»»¼½¾º¸º¼º¼º»»»¼¾¾½ÀÁÀ¼·½ÁÄÁÁÁÃÂÁ¿À¿ÀÁÂÂÃÂÂÀÀÀÀÀ¿ÃÅÅÃÄÄÅÅÆÇÅÃÆÊÉÈÇÇrrtvvttrrttssuvvvtwzyxwvyyyyxuwxwxxwwwuvvvvwwuz|yw{|{||||}~~||{|{z{||}}}}z}z|}€~}}{~€€€}~~~~~€€€‚ƒ‚~€ƒƒ‚‚‚‚€€ƒƒ‚‚‚‚ƒƒ„ƒ…ƒ‡†‚‚‚‚ƒ€‚ƒ…‡…„ƒƒƒ…††…†‡‡…‡†††††††…†‡‡Š‹‰‚……‰Š‰‡‡ˆŠ‹ŒŒˆŠ‹ˆ‹‡ˆˆ‰ŠŽŽŽŽŒ‹‰ŽŒŒŽŽ‹ŽŒ“‘‘’“’’’’‹’•”’”––•““’’’“““’“•–•”•–•”’–•–”“”–——˜™˜˜•—•˜˜˜–—™œœ™—˜–˜›šš››šœœœ›šš›—™•ž›™œœ›œž œœ˜ ¢ šŸ  ¡ ŸŸ¢¢£¢¢¢££¤£¢¢£££¦¦¢¥¦§¥ ›–ˆyufdc[UNG>2&









"(,3=FIE9111129;;:FJ:






























)u«·¸·¸¹³¶¸¹¹¶µ¶²³³ºº¸´º·¸»¼»º¶»¼»º»¼½º»º¾¾º¹º»»»»¼¼½¾¿¾¼¿½Á»¹·¾¿Ã¿ÄÁÂÀ¿¹À¾ÁÀÄÁĽ¿¼¼½¿¼ÄÃÂÃÆÃÄÆÆÅÅÄÆÊÊÅÇÇrttuutsrotutvvvwwvxyxwwwz{yyxxxxxxyxwvvxxwwxww{|yz{{|}}|{}}~}|{|{yw|}}|}€~~|€€~~}{}~}€€€~€€€€}ƒƒ‚‚ƒ„ƒƒ‚ƒƒ„ƒƒ‚‚‚‚ƒ‚€„…ƒ…††…ƒ„……„‚ƒ„‚……ƒ‚„„…†††…„ˆˆ‡‡‡††ˆ‡†……†ˆˆ‰ˆ†‡ˆ‡ˆˆ†‰‰Š‹ŽŽŠŠ‰…‰‹‹‰‹ŽŽŽŒŒ‹ŽŽŽŽŽŒ’‘‘““•‘‘‘“‘‘••–••••””••––•––––•“—•””–•••“”•—ššš™˜˜™™™—–—™™›œ™–———™š›œœœœœ›š™™˜˜™ž™™˜›žŸœžœŸŸœ›ž ŸšžŸ ¢¡›¡¢Ÿ¤¤£¢£££¤¤¢¡¢£¥¥£¨©¨§¦¦¤Ÿ—†~tlje`ZUH7%







(3>DC<88889<@@@HI6




































.{­·¹·¸¸·³¸¹¹¶´´µ·¹¹¸¸º¹¸µ¸»¼¹¹º»¹¸º½½¾¼º¼¼·ºººººº»»ºº¾¾¾½¾À¿¼¼¼¿ÀÂÁÂÁ¿¿ÁÁÂÂÁÁÁÁÂÀ¿¾À¿»ÂÆÇÉÈÈÇÈÈÅÇÆÆÈÈÈÅÃuquusrtsttvsvvvwxvxuwxxyzzxvxxxwyzyxxxzzzuxzzy{|{z{{|}~~}z{}||||yy{|{|€€~}~{€€~}|~~~€€€}~€}€‚‚€€‚‚ƒ‚€‚„€€‚ƒ…„‚€‚‚~ƒ„€‚„…„……„ƒ†††…„ƒ„„‚„ƒ„……‚†………‡ˆˆ†ˆˆ‡‡‰‡†…ƒ…‡‰‡†‡‡ˆ‰‰‰ˆ‡‰Š‹Œ‹ˆŠˆ…‹Œ‹ŽŠŽŒŒŒŽŽŽŠŽ‘‘””“’’‘‘‘““’”•”“”““’”••“•”•’˜–’•”‘•“••–•–—˜šš™˜–˜šš™—–™šš™››š–——™™™š›œœœœ›š™™™››œœš›ŸŸ›œžŸžžŸœŸžžœœž £¢œ¢¢¢¤¤¡ £££ ¢ ¡£¤¤£¨¨¡¦¥§©¨£¡œ—‰~wgffaVI;3* 







!(027=A@<ADC@LK4


























3‚°³³´±·¸¶³¶¶´³µ¶¶µ´¶¹¹¸·¶´»»¹¹¼¶ºº¼¹½¹¾»º»»¹¸¸»½¼ºº»¼¹¿¹½¼Ãº¿¼¼¼Á¿¿Á¾ÁÂÁ¿ÀÀ¿ÀÂÂÁÃÅĽþÆÈÉÆÈÇÈÅÉÈÆÅÇÂÂÂutttrrrvtuvvwvsxwyywwwz|xyyxxwxyzz{ywz{{yyz||{{}{z{{z|~}z}~~|yz{}z|€}|~~~€€~~€€€~|{{}~ƒƒ€‚‚‚€|€‚ƒ„„ƒ‚ƒ„„ƒ‚ƒ‚‚ƒ„„ƒ„††ƒƒ„†‡‰‡„ƒƒ‚…†„ƒ„†‡…„†‡ˆ‰ˆ‡††ˆ‰ˆ‰ŠŠˆ…ƒ†‡‰ˆ‡ˆˆ‰Š‹Š…‰‰‰‹Œˆ‡‡ˆˆŠŒŒŒŽŒŽŽŽŽŽ‹‘‘ŽŽŽ‘‘’‘’“‘’’’’““’““”’’““‘”“’’“”––•’•““””’”•––—˜™˜–––˜™˜–—™››™˜šœ›š—™š™™™šš–™›œ››—˜šœœœž    Ÿ›šžž¡¡¡Ÿžž›œž¡£¢  ¡¡¢££¢¡¡¡¢¡£¢¡¢¤¢¢¢¥¥£¢£§ª¬­ª¥¦¤Ÿ˜…{vrnbXSMB7*







*3:=?BEHMTN3






















;‰³µ±²±·º·¶·µ´¶¹º·´´¶¹º¸¶µ·º»¹º¼¾½½»¼¼½¾½¹º¼¼¼¹¾¾¼º¾¾¾¾¿¿¿¿ÃÂÀ½ÁÄÁ¾¼ÁÂÁÁÂÁÁÂÃÄÅ¿ÁÃÄÄÇÅÃÂ¿ÄÆÈÉÈÆÇÅÉËÉÅÆÇÇÅusurstuvuuvwxuvwxyxvvwz{zyxxwwwwz{{yyy{wxz{xyz||{w{{yz|~}z~~~}~~}y{|}|}}~}}}||~€~{||{zxyz€€€€€~~€‚‚‚ƒƒƒƒ‚‚ƒ‚‚‚‚„„„ƒ†„‚€†…†ˆ‡ƒƒ„…ˆˆ†……††„„†‡ˆˆˆ„…††ƒ†‡ˆ‰ˆ‰ˆ‡‡†‡‡ˆ‰‰Š‹‰‰ŠŠ‹‹‹Šˆ‡ˆ‰ŒŒŠŠŠŽŽŽ‹‹ŒŽŒŽŽ‹ŠŠ‘‘‘‘‘’‘‘‘‘“”““’”“’ŽŽ’””“”“”•“’““”’‘”–—–—–•”–”–‘–””““”•–˜™šš™™™—™˜›œ››››™šš˜—“™™™š™—›œœœž ¡ ŸŸžžŸž›˜ž¡¡žŸœ ŸžŸžŸ ¡¡¡¡£ ¡£¢Ÿ ¢¢¢¤£¢¢ ¤£¡¡¦¨«¬ª¥§¨§¥¡™“Œ}rhda]WNC9&







$,4=GR[S1


























DŒ´µ±±²¹¹¸¶¸´¶¹ºµ¸·¶µ¹¶º··ºº´¸¶»¼½¶´´ºº½½¼¼½½¼»À½¹¸½¾¿¸ÀÀÀ¿ÂÁÀ½ÂÂÀ¾¾¾ÁÁÁ¾Â¾ÃÂÄÆÄÃŹÂúÂÀÄÁÆÆÈÆÅÅÇÊÊÆÅÇÉÃtttsrwvuuttwwxxwwxuuvxwyxxtxvvuuy{zyyzzxy|{xwy{}{yz{yz{}}|}}||z~}y|}~}{{|€€€~|}€{{|}~~zz|~‚‚‚}€€‚€€‚ƒ€~‚ƒ„„………ƒ‚……„ƒ††ƒƒ„†‡‡…€„„ƒƒ…‡ˆ‡†‡†††……„…†ˆˆ‹Šˆƒ†ˆ‡ˆŠˆ‰†‰‰ŠŒŒ†‰‰‰‡‡‰ŒŒŒ‰ŽŽŒŽŒ‹Œ‹ŒŒŒŽ’’‘‘‘Ž’‘’’’“”“‘‘“••”’‘“–••–•”•”“”••–”“•———˜˜˜—˜š˜—•“””•——–”™™šš˜™š˜•˜››››™šš›™™˜˜™››š›œœ›œžŸžœŸ¡ œ›œŸ ŸžŸ¡¡¡ž  Ÿ   Ÿ¢¥¢Ÿ ££¢žœŸ¡¡ ¢¤¥¤¤¥¤¢ £¥§©ª§¥§¨¨¨ª«©¦¡šˆxqme\TK=0% 






*6CUH.





































J¶¶µ´·¸¸¹¹º¹¸¹¹ºº»·³¸¼»»»¼º·¸¸¹¾¼µµ·º»»¼¼½¾¿¿¾¿½¼»»¼½¾¾¾¾½ÀÁÀÀÂþ¾¿¿ÀÀÀÁÁ¿ÂÀÁÄÅÅÅÃÁÂÂÃÄÅÃÀÆÅÈÈÅÄÅÈÊÉÊËÊÉsrvuuuuqututvxxvxxwwwxyxwyzzxxwuwzywzz{x{|{yxy}~|zyvz{||}{{{|z}}}z~~~||}~€~~~}|~€~}|€€}|~~‚€~~~‚€€‚‚‚€€€€€~„„ƒƒ‚‚„„††…ƒ„…„‚„†…‚‚„„‚ƒƒƒƒƒ„…‡ˆ‡††‡‡‡†……†‡ˆˆ‰Š„‡Š‹‡‰ŠŠ‰‰ˆˆ‰Œ‹‰‰‰ˆˆˆŒŠŽŠ‘ŒŽŒŒ‰ŒŽ‹ŠŠŒ‘‘’‘‘‘‘‘’‘’“’’’‘‘‘”•”’‘‘‘’’”•”‘”•““•”•“••••–••”–––”˜˜™–—’–—˜™™˜—––•š™˜˜™˜—˜ššœ™—™›š™˜–šœ›š›–›š™œ››š ¡ ›ž  œž¡£¡žŸŸ ¡ ›¡¡ šŸ¡¤Ÿžž¡¤¢ £¦¦¥¤¥¥£ ¤¥£§©§¢¦§§§«¬­«ª¨£ž™“‰xnfc_XOH>4#








 %*































Q“¹¸´¶²¸¶¸ºº¹·²º¹»¶·´º¼½°¼º¹¶ºº»¾»´´¶º¶º¸½¼¿À¿¿¿¾¾µ¼º½½¾»»¼À¿À¼ÄÅÁ¾¿À¿»À¾Á¿Á¿¿ÀÂÃÃÂÂÁÆÇÇÆÄÁÉÇÊÄÅÀÇÇÌÊÌËÌÌstvvutstuvvvvvvvwzuxxxxyyzzzyzxwsxxwz|{|||{yx|~}z{yuz{yzz{z||{{|~€}{|{y|‚‚€~~}}{|~}}€€€€€€ƒ‚‚€€‚‚€‚„„…†…‚‚„…‡†…„…„ƒ……‚‚‚ƒƒƒƒƒƒ„„„…†‡†……„†††ˆ‰‰ˆˆˆˆˆ‰‰ŠŒ‰‰ˆˆŠˆ‡ˆŠŠŠˆ‹‰†Š‰‹ŒŒŒŽŒŽ‘‘‹ŒŒ‹ŒŽŽŒ‹ŽŽŽ’’’’‘’‘‘‘Ž‘’‘’’’““‘“”””“’‘”“•”““““””•—™™˜—•””—˜˜™˜—˜™™™™š˜”•”™›˜–™œ›™˜šž›™˜™˜——™›œœœœœ››œ››œ›š› ¢ žŸŸ››šž £¡œžŸ  Ÿ ¡¢ žŸ¡¡  ¡¥¤¡¤§¦¥¤££¢¡¥¥¢¤¦¥¡¤§©«¬«¬¬©«ª¨¨¦Ÿ–‹‚toliaYPH</





































\—¹¸¶¶¹¸¶´·¸¸¸¹¹¹»»·¶º¾¼¼»¼º·º¼¼¼º¸º¹º¹º¹¾½ÀÁ¾¿¿¾½¼½¾¾¾¿À¿¼¾¿ÁÁÂľÁÄÁ»¿ÂÁÂÁ¿½¾ÂÅÃÆÇÈÇÇÆÅÅÆÉËÉÉÉÊËËËÌËÌÌËtuvuuttuwvvwuutuxyyxxwxzyyxx{wwxxxyy{{{}~}zwy}~|{zyu{{yyz|~~|wzz}|{z{y{|~€€€{||}~€~}|~€€€€‚€€€~€€€{‚ƒ‚ƒƒƒ„†„ƒ„……„ƒƒƒ‚ƒ„„„„……ƒ„„…‚‚‚ƒƒ…†‡†ˆ‡„…††ˆˆ‹ŠŠˆˆ‡ŠŠ‹Œ‹‰‰†ˆ‰‰ƒˆŠŠ‡ŠŒŠ…‹ˆ‰‡‹ŽŽŒŽŒŒŒ‹ŠŽŒŽŽŠŠ‹’“‘‘Ž‘‘‘Ž‘‘‘‘‘”“’”•••‘‘‘”•—–”’’‘‘’““–˜šš˜•••˜™˜˜˜˜™š˜“—˜˜•–“š™˜’—š›š™—œ™œœ›š˜–™šš›žžž›œ›››žŸŸžžŸŸžžžž ¢¢¡ž¡¡žŸŸ ¢¢Ÿžž¢¡¡¢¢¢¡Ÿ¢¤¤¦¥¡  ¤¥¥¡¤¤¢¡¥§¨ª«§«¬«§§¦«ª§¥ ›”ކ{tba^VLB3)







































#bš¸·±µµ¶µµµµ¶¸¹·µºº¶¶ºº¼»º¹¼·¼·½º»»¾»¼»½»»¼ÀÁ¾½¿½½½¿½ÀÁ¿¼¾¹ÁÀ¿¾À¾ÂÄüÁÁÂÂÁ½¿¿ÃÆÈÈÇÅÄÀÅÄÇÇÉÂÈÊËÉÊÈÅÄÄÄÊÊtvwurutvwvtuuvuvxzwwwxxxxxz|{yyxv{z{{z{}}}zy|~z||{{{|{zzy€€}yy|}|{|{{|~}}z€~~~~~€€~}}€€‚‚~}~~~€‚ƒ‚‚ƒƒ„„„‚ƒƒ‚ƒƒ€„……„‚‚ƒ‚‚‚„……„†‡‡………†„‚‚„‡ˆ‡ˆ‡ƒ…†‡ˆŠŠ‹ŠŠ‰†‰Šˆ‹Š‰Š‰‰‹Š‰ˆ‰Š‹ŒŒ‹Š‡ˆ‰‹ŽŽŽŽŽŽŽŒ‹ŽŒŽŒŒŽŽ‘‘‘‘‘’‘’“‘‘‘‘Ž”•““””––••–•––•“‘’–—”•––——™—”–˜˜™™˜——˜™—•–˜——˜™™š˜“–˜šš™š›™››š™™™š›œœœžžžŸŸœ›šžŸŸ žžžŸŸž  Ÿ¡¢¡¡  ¡¡ ž ¡¡  ¢¢££¢ Ÿ¡¡££¥¤¢ ¢¥¦¥¥¥£¡¤¥¦¦¨©©ª­¬ª¨©«©¥©««©¥ž—Œ‚zqie[QH>1$




































)j¶·¶µ¶·µ¶µ´¸»¼¹¶¸¹¸·¸¹ºº·¸¼¾¾¿¾¾¾½¾¾½¾½¼»»½½½½¾¾½¼¾ÀÁ¿¾¾¿¿¿¼»½¾ÁÃÂÃÁÂÁÁÁÁÁÃÄÆÇÇÅÅÅÆÇÈÈÇÇÈÇÉÉÉÈÅÀÅÆÃÉÌuyxuuvtvwvttvwwxyyxvvuvwxvz||xwxzzzz|zzw|||z}}{y}{{{|x|}~~}zz}~~~}z||~~€}~}}}~€‚}~€€~}~€}€€‚‚‚‚„…„ƒƒ‚ƒ€‚€‚ƒ…„ƒ~‚ƒ‚…„„…‚„…‡‡†„…‚„ƒƒ€ƒ…‡ˆ‡††††…Š‹‰‚ˆ„†‡ˆˆ‰‹‹‰‹ŠŠ‹‹‹Š„‰ŒŒ‰ˆ‡ˆ‰ŒŽ‹ˆŽŽŽ‹ŒŽŒŽŒŽŽŽŽŒ‘‘‘“’’““‘’“’’“”“•’•••–—–——•’•““”™˜“•˜™˜––•“————˜•••—““•––˜’š™˜—˜–™™›š™™™˜˜——˜˜˜š˜œœ™Ÿ žœ™›ŸŸž˜›žžž   Ÿ¢¡¢¡¡  ŸŸ¡Ÿ ž¡   ¢žœ££¢¢£¡¤¢¡¡¤¥¥¥¥¤¤¥¥¥§¨¨©ªª««©¨¨¨¦¨¬¬®¬¨¥ š•‡xo]ZXOGB8-"




























/q¡¶¹·¸ººµ¹´¸º¹º¹³¸¹·¶¶·»º¸¸»»½½½¿¿»¼½½½¼»»º¹¹½¹¾»½»½¶ÀÀÀ¿¾¿¿¾À½»¹¾¿À½Á¿Á¿À¿ÂÂÂÂÄÁÄÄÃÂÅÈÈÄÄÃÆÁÈÉÅÃÇÅÆÈÈÄÉÉwzxtuwuwxwtuvwxywyxwutvywvy}zxyzzzy|}|yy{|||{}{{{{{}}|}~}|y||{{|{~€€~}{€}~~}}~€‚€ƒƒ‚€~€€€‚~€ƒ€‚‚‚‚„ƒ€‚‚ƒ‚‚ƒ……†ƒ‚ƒƒ…„ƒ„‚…ˆ‡†††……„„‚„†‡‡‡‡‡‡ˆŠŠˆ†…ˆˆ‰ŠŠ‹‹Š‰‰‹‹Š‰ŠŠ‹‹‹‰ˆ‰‰ŒŠŠŒŽ‰ŒŽŒŒ‰ŒŽ‹ŽŽŽŽŽ“”’‘’“”““’”••””•–’•––•–•””“””•—–•–˜™™•–––˜˜˜–——–——•’•˜——˜™™˜—™œ›™šš™˜˜˜™˜™šš™šœœ›œŸš››ššŸ¡œœœœžŸŸž›› £¡ž¢££¢ žŸ ŸŸ     ¢¢ ¢¢¡¢££¢¢¢¡£££¥¥£Ÿ¢¤¦¤£¤¤¦§§§§¦¤«ª©©¨§¨ª«¬®­¬©§¦¥ž”‰€xphe_XK?2(



























4y¦¹º»»½¼»»»»¼¸¸¹¸¸ººº¹¶»¾»º¹¹º»¼¾½¹º¼¼¾½¾¾¾¼º¼º¼½»¼»»¿ÂÀÀÀ¿½¿ÁÂÁÀ¿¾¾¾ÁÂÁÀ¿ÀÁÂÂÃÂÂÃÄÃÃÄÆÅÅÄÄÆÇÉÉÁÅÈÉÈÈÉÉÈÉvxwtvxxwwwvvvvwwyxwwwrvxyx{|yv{|{zz|}}z|{{|}}}|||x{|}}|||{{{{zz|}~~€€~|}€|€€~€‚€‚€€€‚‚€ƒƒ€‚€€‚‚€‚ƒƒ~„„„„ƒ„„€ƒ‚€„…†††ƒ‚ƒƒ€‚„ƒ……†„…†…„„ƒ‚‚ƒ„…†‡…†‡ˆŠŠ‡ˆ‡…‚ˆˆ‰‹‹‡‡‡‰ŠŒŒ‰ŠŠƒˆ‹Œ‰‰Š‹ˆ‹ŠŠ‰Ž‘Ž‹‰ŽŽŽŒŒŒŒ‹‹Ž‘ŽŒ‘‘’““’’’””“”””•••’––•“’“•””’••–˜˜———˜——˜—–•““”˜–••˜•—˜™™š–˜››˜™”™™™—ššš™šššœœ›œš™™›œ›šŸ¡ŸžžžŸœ¡¢¡Ÿ¡ž¢¢ ŸŸžž›Ÿœ ¢¤¡££¢žŸ ¢¢¢ £¡¦¥¦¢ £¢¦¥¥¤¥¤§¤¦¤¦©ª«ª¨¨©ª§«®®¬«§¨¨©¦ œ—‡~vg_WQJA1'















-












<€«¼¼º¼»½½½¾½¸·µ¼¹¹º¼½¼¸¹»»º¹¸¹¸¹º»·»º»¹½¼¿Á¿º¾º¼µ¹¹º¹¾¹¿½¼º¾¿ÁÀÀ¿¿¾¾¿ÂÃÃÃÁÀÁ¿Á»ÁÀÃÂÄÀÁÁÃÃÃÃÄÄÉÉÈÉËÊÉÆÇÈÇÃuwuuwxvvwxxvvuuxyxuvwwvwyzzzvx{}|zz{||{~|z~}|{z{y{|}}|{}~~|x|{}}~~}~~~€€‚‚€~~€€€‚‚€€‚ƒ„ƒ}~€‚ƒ‚ƒƒƒ„…††„„„‚‚ƒƒ…††…ƒƒƒ„„‚‚„„ƒ„…„ƒ‚ƒƒ……ƒ…„„‡‡…„‡†‰‰‰‰ˆ…†ˆˆ†ŒŽ‹‡ˆŠŠ‰ŠŠ‰Š‰‰ˆŒŒŠŠ‹ŒŠˆˆ‹Œ‰‹Ž‘Ž‹‰ŠŽŽŽŽŽŒŽ‘‘“‘Ž‘’‘’‘“”’’‘‘’–•”““••”•”””’’”•””“”””™”•–˜—–•——–”’•—˜˜—•—––™—™š——›š™™˜—™™˜šœ›š™š›œœžŸšœœœž ¡¡ŸŸžžŸŸŸ ¢¢ ¢¢  ¢¡¡ŸŸŸ  žŸ¢¤¤¢£¡ ¡¢¢¢£¤§§¦¦¦¤¡¤§§¨¤¤¥§§§¨§¥¥§ª©ªª««¨¬¬¨¨ªªª©¬­¬¬ª¦¡šƒtmifYM@4(























C‡®¼¼»»¼»½½¾½»º»¼º¹¹»½¾À¼¸»¼¹¹¹¸¹ºº¹»¼¼½¼»½ÁÀÀ¾¾¼»º¼½»¾ÀÀÁ¿¾ÀÂÁÂÁÀÀ¿ÁÂÃÄÄÄÃÂÂÄÃÁÀÂÃÅÅÅÄÄÆÅÂÃÅÄÆÈÈÊÊÊÉÇÅÇÆÃvvuvxwvuvxxwvtvyywurwyzyyuywyyzy{{|zz{z}|z~€}yzxzwz{}z||}~~|}}}}~~~~}~~€~}€|||‚ƒ€€{€~€€~‚‚~~|€ƒƒƒƒ„„„„ƒ‚…„„ƒ„‚†…„ƒ‚‚……„„ƒƒ……††…ƒ…‡…„…ƒ…ˆˆ…††††ˆˆˆ‡‡‡ˆˆŠŒŠ‹‡‰ŠŠ„ЋІЋ‰Œ‹‹Œ‹ˆ‡Œ‹ŒŒ‹‹ŽˆŠŒŽŽŽŒŽ‘‘‘’’’‘‘‘’’‘”“‘‘’”“‘‘’••“””•”’‘’”“”””••••‘–™˜——˜––——˜˜—•—–˜˜š–™™šš—™™–š›š™›™——™™œž—™œ›–›žž›˜œœ›šŸ  ¡¡ŸžŸ ŸŸ¡ž   ¡¡žŸœ¡£¢¢¡¡¢¢¡ŸŸ¢¤¤¡£Ÿ£¢¢¢¤§¤¥¤¥§§£¥§¦§¦¥¦¤¨¢©§¤¦£§¦ªªª§«©¦¤¦©«©©ªª«¬­¬ª¤œ–‡wi^WPG>6'




























-




HŒ®¹»¼¼µ¼»¼¹»º»¸¸ºº´º¶½¿¼¸»µ·¸¸¶µ¶¸¸¼º»¾¿¹½¼¾¾¾¼¾»½½¾»ÀÁûÂÁÁÀÃÃÂÀÁ¾ÂÃÃÅľÄÁÂÅÈÀÂÂÃÅÇÇÆÆÇÆÄÃÆÄÄÅÊÇÆÇËÊÈÈÆÃvvuwxwsvvwvxuuwyxvtuwzzyyxxyyzzxyz{ywyz{zz|~}|z{zvy{~~}|}}y}}~|}~}~}~~~~€}~€€€€‚€}}€~}€‚€€€‚‚‚‚€‚~ƒƒ„ƒƒƒ„……………†…„ƒ‚€‚ƒ…†„ƒ‚…ˆ‰ˆ†…„†‡‡‡†…‡‰‡††††…††„…‡ˆˆ‰‰‹‹‹Š†‰‰ˆ‰Š‹‹Š‹‹‰ŠŠŠŒ‹Œ‰ŠŽ‰ŠŒŒŽŒŒŽ‡‘‘‘‘‘‘“’‘‘‘’‘’“““”““‘‘““’‘‘“””••––••“’“”••”””•––”•—˜———”–—™˜˜™™˜———›œ››››˜˜—˜šš–™šœ™˜š›Ÿž›šœœœœžžœš››œ›œžžŸ  ¡ŸŸ Ÿ   ŸŸžŸžžŸ£££¡¢¢¢¢¡¢¡Ÿ¤¤¤¤¥¥£¡ £¦¦¥££¤¨¦¥¥¥¤¥¥¤¦¨©«©§¥¥¥¥¦§¨©ªª¨§¥¥¨««©©«ª©©¬®¯­ªª¨¢™si`[PE91-&



























M­¸·º»¼¼½»¹¹¹º¸¸¹ºº»»¼¼¹»»¶·»º¸¶¶¼¾¾½¸¼¾¿¾½¼½½½¿Á½»½¾¾ÀÀÁÂýÂÄÅÃÁÀÀÂÄÅÇÅÃÄÄÃÅÇÆÄÄÇÆÈÇÄÆÇÆÅÂÆÉÈÊÊÊÉÊËËÉÇÅÄutvwxxwvvvwwvvxxxvwwy{zyxxzyyyzyxvzyyxxxwy{||{||}x|{}~|{~}}~}}~~~~€€€€€€‚}€€€~}}~€}ƒ‚}€€|€ƒ€€€€‚ƒƒ‚‚‚ƒƒ„ƒ…‡ƒ†ˆ…ƒƒ€€‚ƒ„†„„‚‚„…ˆˆ†……‚††ˆ‰ˆ††‡†…††‡†…„……ˆˆˆ‡††‰‡Œ‡‰‡‡ˆ‰‰ŒŒ‰‡†ˆŠŒŠŒŒŒŠŽŽ‹‹‹Œ‹ŽŽŒŒŒŽ‘“’ŽŽ’’’‘Ž’‘’’‘‘“““““’’Ž’””––”•–”“”““”•”““”–•““”——–“•–—˜™–˜˜˜–—–˜™›šš™š™—–™›š™œž›—›šœŸž˜™››šœŸ›œœ›œŸ   Ÿ–œ››Ÿ¡¡œœ›ž Ÿ›Ÿ   ¡¢ œ ¡¤££¤¤££¤¤ ¢Ÿ¥§¥¥¥¤¦¥¥œ¥¤£¥¦¥¥¦©§§¦¦¦¥£¦¦¦§ª«¨§§§©¬«£ª­­¦«©¨©«¬¯±¯¬¥Ÿ—Ž‚qf[QIEA6+#




























\–­´µ·º¶»¾¼º¸µ¶µ·¹»¼¼¹»¼»»»¹¹º»¸¸¸½¾¿¿½¸½½¾¾¼»¾¹À¿¿¼¾¼½¼¼¼ÁÂÁÃÅÁÃÂÁ¿ÃÀÄÅÅÅÄÁÂÃÄÅÅÅÆÆÈÈÇÅÅÄÃÂÆÈÈÈÈÉÊÃÊËÈÅÆ¿vwwvwxuvvxwwvwwxvwxwz{zyyzzyx{|{yyz{|{vttx{}~{{|}|||{z|}~}~€€}y|}~~~€€€€‚‚~{~z€}€€‚ƒ‚‚‚|„‚€€ƒ„„ƒ‚~„„ƒ‚†‡††‡„ƒ„„‚„†‡‡……†‡ƒ…‡†ƒ„††…†‰Šˆ„ƒ††…„…‡‰ˆˆ‰‡ˆˆ‡†††Š‹‰ˆ†‡Š‹ŒŒŒŠ‰ˆŠŒŽ‰ŒŒŽŽ‹Œ‹‰ŒŽ‘”’‘‘’’‘’“‘‘‘’‘“’’’‘’“’““••“’””“––’’””‘”’–•””•––—˜˜˜˜—˜˜–––—˜˜™š™˜˜™›š•–—ššŸ›››˜›žœ™š›š™š››šœšš›ž Ÿ Ÿ››  žŸ¡¡ž™ ¡Ÿ ¡Ÿž¡¢žŸ¡£¤¤¤¦££¤¥¤££¤¦§¤¤¤¤¤¤¤¤£¤¥§¤¥¦¦¦¦¤¥¦§¦¤¦¦¦§ª¬¨§¨¨¨¬«¨©­®¯­¬«©ª¬¯±°°¯¯¬¨Ÿ–Š~ogc^TL@5-$

































fœ°µ···´µ¾»ºº¹·¶¶·»½º·¸¼»¹¹¼»¹¼½¼½¼»º¾¿À½¼½½»º¼¿¾¾¿¿À½¿Á¿»¾ÀÁÂÁÃÃÄÂÁÂÂÂÁÀÄÅÄÄÆÁÃÃÆÇÈÇÈÆÄÆÆÄÃÆÈÉÊÊÉÉÈÈÊÉÉÈÈwxwuxyxvwwvqvvwyywxwxzzzzzzvz||{zy{||{xvwx|}}{{y|}}|{u{||}}y~}~zyz{|}}~~€€€€ƒ‚€€€~€€€~ƒ„‚‚‚€‚€}‚‚€‚ƒ„„€€‚††„ƒ‚„…†‡‡…ƒƒ‚„†‡„ƒƒˆ‰‡†††ƒ†‡†…ˆˆ‡ƒ„†‡ƒƒ‚‡‰Š‰‰†‡‡‰‰ˆ†ŠŒŠ†‡†Š‹ŒŽŽ‹‰‹‹‰‰ŒŽ‹‹ŒŽŽŽŽŒŽŒŠŠŽ‘“Ž“‘“’ŽŽ’’’Ž’“’Œ‘‘’“””““’“”“““–—”•–––—˜———–”••–˜™˜˜˜™—–”•—˜˜˜——–˜˜™šš˜œ›—›œ›œ˜šœœšš—š˜š›š›œžž›žž ££žžž¡¡ ŸŸž ¡ œ¡  ¡¢¡¡¢££¤£¤¤££¤¥¦£££¦¥£¡¤£¥¡¤£¡ ¥§¥¤¦£§§§¥§¤¥¥¦¥££ª­«¦§¤©©©¨©«¬­¬¬«¨¨¨­¬®­¯®¯°®ª¢›”Œ€tj`ZRJA:3+"


































 k¡¯´µµ·¶¸»ºººº¹´¸¸»´¸·¹¼»´º½½·½¿½´¼¸¼½¼¼½¼»¸»¶½½½º¾½À¾¿ÁÀ¼¾¼½¾ÁÂÃÂÁ¿Á¾ÂÀÁÃÅÅÆÈÇÅÅÅÆÇÆÁÄÄÇÈÆÄÇÇÈÊÊÊËÉÈÅËÌÌÇsvvuwxxwuwsuwxyzzyyxwyyzyxxy{|{{{z{|}{yy{{}}zz{|z{{|{y{}z~~~~~}{y||{|~~~}ƒ€€€ƒƒ„„‚‚‚ƒƒ‚‚ƒ‚ƒƒƒ‚‚†‡ƒ‚ƒ†††…ƒ€‚‚‚††„ƒ…‡ˆ‡†††…„„†‡†‡‡‡†…††‡‡‡‡ˆˆ‰‡†‡ˆ‰ˆ‡‡Š‹ˆ‰‹ŒŠŠŽ‹Š‹‹‡ŠŒŒŒŽŽ‘Ž‘Ž‘‘‘‘’’’’“’““’’“”‘‘‘’’’““’’“”•“•”’—–——™™™˜——˜˜——–••–——˜———˜˜———˜˜˜˜™™›››œš˜š›ššœšššš™—™›œžž™™ŸŸŸ ž››˜œŸ¡£¢  ¡¢¢¡ ¡žŸ    ¡¢Ÿ¡¢£££¤¦¤¡¢£££¥¦¤¢¤¤¡¡¥§¦¥¥£¡¢¥§§¨§¨¨¨§§¦¦¦¤¥¦¦§ª­ª¦¦©©««©§«®¯­«ª§ª­­­®°¯®¯±²±®¬ª¦ ˜Žƒvoa\VPIC:.




















 o¤²´´µ¸º»º¸¹¹¹·´¹»¹¸¹ººººº»½¾½¼½º¹¼¼¼¾½ºº½»¹»¾¿Á¿¿¾¼¿¿À¿¿À¿ÁÂÃÂÀÂÁÀ¿ÂÃÂÀÁÄÄÄÅÇÇÇÅÄÂÄÄÀÃÅÄÈÇÇÈÇÈÉÇËÍÉÈÉËÍÌÌvuusvuwwvxzxz{zxzxxxxy{|{||||zyzzzz}~zyz||||yx{{||{|{z{}~}€|€~}{|}~€‚‚€€€‚€‚‚‚‚‚~€‚ƒ‚€}‚……ƒ„…„ƒ‚„„ƒ‚„…„ƒ‚€ƒ„„‡†ƒ€…‚ƒ…„‚…††„……†‡‡ƒƒ…‡†††‡‡ˆ‡…†ˆ‰‡†ˆ„ˆ‡‡ˆˆ‡‰ŠŠ‰‰ˆ‹‡‰‰ŽŽ‹‡‹‹ŒŒŒ‹ŽŠŒŽ‘‘ŽŽ‹ŽŽŽŒŒŽŽ‘’“’“‘“‘“‘“’““’Ž‘””“‘“““••“–•—˜˜”–˜˜–”’—™™˜—”•–•”–’–”—˜——™šš•š™™šœ›››š“𙙙𛛙𕙛œžš™›œ›ŸŸœ™›œžŸ  Ÿ ¢¢ž¡ŸŸžŸž¡ž¡ž¡   ¡ ¤¢£¥¥ £¡¡ ¤¦¤Ÿ¥¦£¢£¤¦¦§¥¥¥§ªª¨¨¦©¦§¡¥§¦¤£¤§¦©¨©¢§©©¤¬©§«¯¯®ª©¨ª­®©®°¯ª®¯­¬­¯¯­®¨¦ š’‡zq_YURE8&
























!r¨³µ´²º¼¼»¹µ¹µ´µº¸¹µ»¼»µ¹¹»¹¾º»¹º¹¼¶¼¾½¸·¹»µ½ÀÁºÁÀ¿¼¾¿Á¾¿¿À½ÃÃÂÁÃþÃÀÃÀÀÀÁÁÄÂÃÄÆÆÆÂÂÂÆÆÇÇÆÇÆÆÆÇÉËÌÇÇÈÉÇÌÍwvwwutwxxz{{||xyzxuyy{||{~}}|zx{{{y{}}yz{|yyy{|{|}{||{z|€€~}€~|}~€ƒƒ}ƒ‚}€‚‚‚‚€‚€‚ƒ€}~ƒ‚„…„†‡„„…„„„„†„‚~‚‚ƒƒ…‡…„……„…ƒ„††ƒƒ~‚†‰‡ƒƒ…„……†‡ˆ‡†……ˆ‹‰ˆˆˆ‰Šˆ‡ˆŠŠ‹Š‰‡ˆ‰‹Œ‹ŠŠŒŒŽŽŽ‹ŒŒ‘‘Œ‹ŽŽ‘ŽŽ‘‘‘’“‘“•”“”•––”‘’”””“•”““–––•––——”•–•“’–™š˜““•˜˜—–––––––—™››š››™šœœœ›š›š—™›šš››››š™™›œœœœ››œœŸ œžžŸŸ ¢¡  ŸŸ ¢¢¢¢£¢ ¡¡¤¥¥¤£¤¥¥¤¤£¡£¤¤¥§¨¦¥¥§§§§¦¦¦§ª«ª©¦¨ª¨¨§§¦¤¦§¨©©¨¨¨©ª©©ª¨§¬®®¬ª«ª¬¯®¬­°°¯®­¬««¯¯¯¯°°°®«¥’‡znd`UI<0"
























)w¬¶¸·¸¹¹¹º¸··¸¹º¹¹¹¹º¼¼¸¸º»½¼¹º»º¸¹ºº¾½»º»»¼¾À¿¿¿ÃÁ»½¾ÁÃÁÀÀÂÀ¿ÁÂÃÅÄÃÃÅÄ¿¿ÀÀÃÅÃÅÃÅÇÉÊÇÇÇÈÈÆÅÇÈÈÅÆÉËÊÈÇÈÉÆÊÎwvwwwtyxyzz{||zzyxwz|||xz{{xzzz{|||z|}}{{{{zy}}|||{{{y{}€€z€€‚€€€‚‚€‚‚ƒƒ‚‚…„}‚„††„„„…„ƒ‚……€€~‚‚€„…€ƒ…ƒ}…‡†„„…‡†…„€}…‡…„ƒ‚††‡ƒ‡‡‡‡‰‹Š„ˆ†ŠŠˆ„‡ˆˆ†Š‹‹‹Š‹‹‹Œ‹ŒŽŽŽŽŽŽŠŽŽŽŽŽŽŽŽ‘“’‘‘‘Žˆ’’’’‘””“’“”•–•“‘”’”“”””•˜–•––’—•––•’”•”•˜˜–”–—š™—”•–—’•–—˜š›››š™š•œš››œ—™™š›œ›–™šš˜žœšž  žžŸžžŸ  ¡ ž¡¡ŸŸ¡££ ž£¤£¢£¤¥£¤¥¥¤¤¥¤£¤¥¦¦¦§¦¥¨©©¦¨¦¥¥¥¥©©¨¦¦£§¨¨¨§¥¨¦ªªª¦¦§©©ª¨§§ª¬­ª¬ªª«¬®®¨­®¯°°«¬©¬­««®ª±¯®¯²±«¥”‹|saWNC:2#

















3~¯¸»»º¹µµ¶º¹º»»¹¹´º¸¸º¹··¸¹²º¹¹»»´¹¸»º½»¼¾½½¿»¾¿¾»À¼¾·¾ÁÁ¿À¾¾»¾¾ÁÁÂÂÃÅÇÂÁ»ÀÆÈÃÂÃÆ¿ÉÈÆÅÅÆÈÆÆÅÉÆÇÂÌÊÊÉÇÇÉÆÇÉxxwxxzzzwzzzzzzzywvy{||zyyzzxyz{z}}|{|||{{zxx}|||||{yxz}}€€~|}€‚‚€€€}€€‚‚€€‚~ƒ„„‚€……‚~€„†…ƒƒ„„„ƒ~ƒ…‚‚ƒƒ‚‚‚††‚€€„‡†…„†…………ƒ‚„…„…„„‚†‡††‡ˆ‡‡ˆŠˆ„‡‰‰‰ˆˆ‡ˆ‡†ŠŒŒ‹Œ‰‰Š‹ŽŽŽŽŽŽŽŽ‘“’‘‘’““’“‘’“‘‘‘”•““‘’“”“’‘’”“‘“”““”–˜–“–••–———•“—š™—–——˜—•šš™˜˜™˜–“’“—™š˜šš™™››œœ›™žžœ™˜šœ›žžŸ žŸŸŸŸ ¢žžžŸ¢¡¡Ÿœœœ ¡Ÿ¡£¢Ÿ› ££¢ ¢£¢¥¥¥¤¢¢¡¥¦§¨¦¦¤¤¤§¨©©¨§¦¦¤£¦¨¨¨¤¥¦¥£§§¥§¨©«ª§¦¨§¦¨¨§¦¨ª­®¬©««ª«¬®¬«­¯¯¯¬««­¬«­¯®®­®³¶¶´°­¦Ÿ“†wmbZOD8/&












;‡²¹»»º¹·º¼¼¼»º¸¸¸ºººº»¹·º»·¶¸¹·»º¹¹ºº¹º¹º½¾À¾»¾¿½½¾½¾¾½¾ÀÁ¿¾½½ÁÂÁÁÃÃÅÆÇü¿ÅÈÉÇÆÅÆÇÈÇÆÄÆÇÈÆÃÈÇÉÌËÈÌÍÊÆÉÉÈÊwwwwz{zyxyyxww{zxxwt{||uvx{{zyyz|||x{{|{{{{y{}{|}}}{{xz{|€}|~€‚€‚€€‚€€€‚‚€|‚…„„ƒ€‚ƒ„ƒ„…„„…ƒ‚‚„‚„„ƒƒ‚……ƒ‚‚‚ƒ„„………„„………†…††………†‡ˆ†„………„‡‡‡„ˆ‡‡†‰Šˆˆˆ†Š‹Œ‹Œ‹‡ŒŠŽŒŒŠŽ‹ŽŽ‹ŒŽŽŽ‘‘‘“‘‘‘‘‘’‘“–•”’‘’””““–•“”‘‘‘‘——–”•”•’–—˜”—š™˜™™˜š—•˜šš™™–™˜——˜–š•˜˜™™™—›šœ™›œœ™žžššš›œœœœ›ž Ÿžž ŸŸ ¢¤Ÿž›ž žžœœŸ Ÿ  ŸŸžŸŸ¢¤¢¡¢¢¤¥¥¤¢¡£¤§©¨¤¦£¤£¤¦¨§§§§§¦¢§¦¨©©¨§§§¦¦¦¦¦¨¨¨¨¨¨§£§¨¨¦¥¥ª«ªª«¬««¬«¬¨«§¬­¬¬­¬­«¯¬­«ªª¬®²³²®±¯©¢›•Šzp^VNG@8/&








@ˆ³¸µ¹·¹¶»¹¼¼º´¹ººº»¼»·¶·»¾º·¸¹¹µº·ºµº¹¸¶¹»¾º¾¼¾¾½½½½¾¿¿¾¿¼À¼À½ÂÀÂÃÅÃÇÆÇÂĽ½¼ÈÊÉÅÅÄÆÆÇÂÆÈÊÈÆÂÈÈÈÉËÈËÌËÈËÆÉÇwvw{{zyxwxzzyxxxyzyzz|zwvxy|{zzz{}{{{{||{|~~}||z|~~z{{y€~€‚‚€‚€€€‚‚€€€‚‚€€€ƒƒƒ„……„ƒƒ„…‡…„……„„„„ƒƒƒƒ€€ƒ„ƒƒƒ„…„ƒ‚†……†…‚…„„……ƒ‡†„‚ˆ‰‡„ƒ„„„„†…†Š‰‡‡ˆŠ‹‡‰ŠŠŠŒŒ‹‰ŠŽŒ‹‰‹ŒŒŽ‘ŽŽŒŽ‘‘’”’ސ‘‘‘‘‘’‘‘‘‘’–•”“’’’““””•——–“’”’–˜–“––•’”–˜—˜˜–—˜˜—𙕗™™˜˜™šššš™™šš˜–™›š—™˜šš—›œ›žžš›œœ›žž›œŸœžŸ¡¤¥¡ŸŸ žœœž Ÿ¡¢¡ ¡¡ ¢¢ ¡£¦¤¢¡¢£¤¤¤¤¥£££ª¨¦¥¤££¤¥¦¥¦¦£§¨¨¦¦¥¨¨¨ª¬ª§¥¥§¦¨©ªªª«©¦§¨©¨§§¨§§©«­®®¬ª©¨ª««¬­®®®­ª­°¯­ª¬¬¬­¯±²²³´³±°¨ž‘†ymf^UMC8(








MŒ´·¸¹¸»¼¼»»º¸¸º¼º¹»»º¹¹¶º¾¼¸»ººº»½»»º¼»º»½¾¿¿½¿½ÁÂÀ»¼Á¾À¾ÁÁÁÂÃÃÅÇÇÇÈÈÇÇÅÅÃÄÆÉÈÇÅÄÇÉÉÈÈÉÊÉÈÈÉÈÇÈËËÊÉÉÌÍÌÊÊxyzzzzyvyyz{zwvvyyyxyyzyxyzzz{{wzw|~}z{{|~€~~~{{|}{}~€€€€€|‚|€€€‚‚‚€€€|€‚ƒƒ„ƒ‚‚‚……ƒ„„„‚ƒ„…‚„‚…†…ƒƒƒ„ƒ‚ƒ††…€„…„‚„†‡‡ˆ…ƒƒ‚‚†„…††……‡‡ƒ‚‚ƒƒ„…ˆ‡ˆ‹Š‡‡‰‹Š‡Š‹Š‹ˆ‹‹‹Œ‹Š‰ŒŽ‰ŠŒŒ‹ŒŒŽŽŽŒŽ‘‘”“Ž‘‘“”“’““”•”“”““‘““••—–“•–”‘–”–“˜™•‘•˜˜˜—––—˜˜—˜—–—˜™˜™™š›š•—š›™™–šœ›™˜—™››œœœžŸš›žœœšœžŸŸž ŸŸ˜ž £¤£ Ÿ¡¢žœ Ÿ ££¢¡££ £¡¡¢¢¢¥£¢ £¢¤Ÿ¤¥££§¨§¤¥£¤¤¤¤¥¥¦¥¤¥¨§¦¦¥¤¤¡ª­«©§£¤¦©ª«ª©ªª¨©¬«¦¨©©¢¦¦ª¨¬«ªª«©¬«¬ªª¬®­«©­±²¯®­««®®°±±±²±´µ±¯ª¤›’Š{naZMB7.%
















-



 Z”·¸¸¼º½½½»¹¶¶¶·µ·´µ´º»»·»¶¼¹¹¹¹º¾µ¼ººº»»¼º¾¿¿¼¾½ÁÁÁº¾ÃþÀ½Á¿ÁÀÃÄÆÃÆÅÇÃÇÄÅÀÅÃÅÅÉÇÆÃÈÉÉÉÈÈÈÅÉÉËÇÉÊÌÇÊÇÊÍÏËËÈxzzxyzxyzzxzzyxwvxyxxxy{yxxyzzyzzz{~}|{z|}~~~{{|~{z{€€|€~ƒ‚€€}€€€€€€€€}~€‚ƒƒƒ‚€„„ƒ‚ƒ‚………ƒ‚……„ƒƒ…ƒ€„…‰‡………„ƒ„…„ƒ„†‚‡‡…‚„…†……„…‡‡‡†……††ˆˆ…ˆˆ‰‹Šˆˆ‰ŠŠ‰‹‹‹Š‰Š‹‹ŒŒŒŒŒŒ‹‹Š‹‹‰‹ŒŒ‹‹ŽŽ‘‘‘‘‘’Ž‘•”“’“•—•“’’“”’‘’’’”•—–•“•—–—–••–˜™•’–˜˜——–˜™™˜˜˜˜˜˜—”—˜™™š—“•š››™–šœ›š˜™ššœœœŸ™—žžœ››ž ¢ Ÿ   ŸŸ ¡¢¢  £¢¡ ¡ Ÿ ¢£¡Ÿ££££¤¤¢Ÿ¡¤¦¦¦£ £¤¤¤¤¤§§£¤¥¦¦¥¥¥¦¥¥¥¥¥¦¥¤¥¦¥£¢©­¬ª©¨©ªªª«ª¦¨©¨«¬«ª¨©ª¨§¨©§¨§ª«­®®®¯¯¯°¯®®­­°°®®­««¬­­®®®­¯±³´²¶·±¬§ “…uj^UKA70( 











#a™¹»¼½¿»»¼¾º··¶¶¸¸¸¸º»½¼ºº»»¼º¹»¼½½»ºº»¼¼»º½À¿»¾¿¿Á¿¾ÂÃÁ¿ÀÁÁÀ¿ÂÇÆÄÂÂÃÅÅÅÃÃÄÆÇÈÈÇÇÈÈÇÆÉÊÉÇÄÇÉÊËËÌËËËÌÌÌÎÎÌËxyxvyzxwwxxxyyyxxwxxyzzzywyzzyyy{|{z}||xz{|}}}||}}~}{|€~~~€}~}€{€|~~€€€}€€€€ƒƒ€„……„‚ƒ…†„ƒƒ…ƒ„„‡ˆ…‚†‡…‚………†‡…‚„„…„……„……ƒ„…‡‡†††„ˆ‰‰„„„ˆ‰‹Œ‹ˆ‰‰‰‰ŠŒ‹‰‹‹‹ŒŒ‰ŠŠŠ‰‰†ŠŒŒŒŒŒŒŒ‰ŽŽŽŽ‘Ž‘’’’•’••“’”“’’““•“——–’•—˜™˜“•”—˜—“”––•—”—˜—•˜™˜˜˜””•–————”—™›œš–šœœœ›•šœ›˜›žœœ Ÿž››™žŸ Ÿ  Ÿ  Ÿ› ¡¡Ÿ¡¢¡  ŸŸŸ¡¢¡ ¢¡£¥¤¢ £¤¦¦¥£ ¢¤¤¤¤¤¦¥£¡¦¦§¤¥¦¦¥¥¥¦¥¥¥¥¥¦¢¥¤¨©¬ªªª©ª©§¨¨ª©¨§¬ª©¨©««©©©©§¨§ªª¬®®¯°°°°®­°®¯®­¬¬¬­¨¦§¨©®¯®¬­°³³¶·µ¯²²¬¤œ”ˆ{lTMGA:2%



















+gš¶»¹»¸»·º·¹¸ººº¹º¹º½¿¾¼¹º¼¼¼»·½¼¿»¼¶¶·ºº»¼¾¿¿»¿ÀÁÁÄ¿¿Â¾À½Ã¾Á¿ÁÅĽ¿ÃÁÄľÅÇÆÅÆÅÇÇÈÃÈÌÌÈÇÆÄÄÊÍÎÆÈÈËËÌÆÎÌËÉxywwz{wvqwxwvyyyyyyyy{zzzyz{{{xzz}||}~~|x{zz|~~|y}|~~}{~€€}~}€€€~}zz€€€ƒ‚€‚€€€ƒ„‚€‚ƒ„…€‚„†…„ƒ„†ˆ†………ƒƒ††‚„…†ƒˆ†…€ƒ„††…………„………†‡ˆ…‡‡†ˆ‰‰„„„‡ˆŠŒŒ‹‰ˆ…‡‰ŒŒ‹‰ŠŠŒ‹‹‹‹ŒŒŠ‰‹ŒŒŠ‰Œ‘‘‹ŽŽ‘ŽŽŽ‘‘‘‘‘Œ‘‘‘’“•–“’–•”“””“•˜——–”•–˜˜——••–™˜—––˜™˜—––––˜™———––˜˜——™˜˜™›œœ›ššš›œ›šœœœœžžžžžžŸ  ›œœŸ¢¢Ÿ ¡Ÿž ŸŸ¡ ¡¢¡ŸŸŸŸ   ŸŸž ¢¡¡¡¡¢£¢¡¡¤¤¤¥¥¤¡¡¢£¢¦¦¥¤¢¤¤¦¥¤¤¦§¦§ªª©¦¦¦¥¦¦¥¥§¨ª©¨¨§¨©§§ª«ªªª¬­ª¨©«¬«ª««««ª««««¬®®®¯­¬¬±´²®«¬®«­®¬¬­¯±°¯¯®°°±³³³´µ·¶³²®§ž‘…uh]VMD8,













4nž·ºº¹ºº¹¹º¸º»½¼º¼»»¾¾½»»º½¼¼¼¸½¿¾½¼¼¹¹¼¾½½¾¿¿¿¾ÁÂÃÃÃÀÃÁ¼¾ÀÂÃÂÃÁÁÂÂÂÄÃÂÀþÄÅÅÅÅÄÄÆÇÈËÌÌÉÇÉÈÅÈÍÍÊÈÉÊËËÇÍÍËÉxyxuz{wvwwxyyyzzyxyyz|}}zzzwz|{yz}}|}{~}{x{}~}||~~{}~|}}~~~~}}~|~€€|}~‚€~„„€€‚‚€~‚ƒ‚‚‚„„ƒ‚‚‚‡ˆ‡‚…„……†‡‡†…†‡ˆ‡……„ƒ„†††„ƒƒ…„…†…ˆ‡†‡ˆ‡„„„……†‡Š„‰ˆ‡ƒ‡‰ŒŒŠ†ˆŠ‹ŒŒŒŒŽŒŒŒŠ‘ŽŠŽŒŽŒŽ‘‘’‘‘‘‘‘’‘•–’”––””–•‘“•—––••“–”–•–’––™˜–•™™˜˜—•—————––“˜˜˜——˜™šš˜›œœœš—›œœ›œš›œœ›œœ–ŸŸ›ž˜Ÿ¢¡ Ÿ›žŸŸžŸ   £¢ŸœŸŸžŸ  ž Ÿ¡ ¡ ¢££ ¡¡¢£££¤£¡œ¢ ¥¦¥£¥¥£ž¥£¤¥¦¥¨¨ª©§¦¨¥¦¤¦¦§§§§¦¥¦¤©¨¦ª«¦«¬­­©¦¨¨­ª¬©¬¬¬ª¬«ªª­­­­­¬¬©²³±®®®­¬¯°®­®¬²±°±±±°°¯®²³³¯´³³®²¯ª¤œ“‡tfZQG;3+#







3s£º»»º¹»¸¼¼¼»»¶»¹½¼¼¼¼¹»º¼½½¼½¸½¾¾¸¾¾»»½¿¾»¾¾ÀÀÀÁÄÂÄÀÀÁÁ½½½ÂÂÁ½¿ÀÂÀÁÁÁÂÂÃľÄÂÁÁÈÆÅÅÇÈÊÈÇÈÊÉÇÇÈÊËÌËÊÊÇÇÇÌÌËÉuwwvz{wyxxxyzzwyxz{zz{||z|{yz|{y{|}}}~€{zz}~~|~}~~~}~~||~€~~~€~€‚~€~~„„€‚€€€€‚€‚ƒ„„‚‚ƒ…†‡†…„…………†‡‡„…‡ˆ„……„‚„††…„„„…ƒ‚„……‰ˆ……†‡…‡†…‰‰ŠŠ‹Š‰ˆ……ŠŠŠ‰ˆ†Š‰‹ŒŒŒŽŽŽŽŽŽŽ‹Ž‘‘ŒŠŠŽ‘‘‘“‘’““’”““••‘’”–••’–•‘’•–•––””•––—––—˜™˜””˜™˜™˜———•””••”—˜˜–™š››™™›œœœ™›Ÿœœ›œœ›™œ›ššž šŸžž  Ÿžžž¡Ÿž¡¡ ¢¢ žŸ¢¢Ÿž¡¡ ¡¢£¢¡ ¢¥¥¤ Ÿ ¢¢¡£¥£¢¡£¤¥¤¥§¥¢£¤¤£¦§¨¨©©¨¨ª§¦§¦§¦¤¨ª¨¨¦§©©¨§¨©ª©©ª©¦§©¬­­¬¬««¬«ª«¬®®¯¯­«¬­°±²±°°±¯®®¯­­®°±°­±²°¯®®­°±°±³µ´µµµ´´²®¤™ƒqgURI@4)




2w¦»ºº¹·º¾½¾¾¼»»ºº»½½»»¼»¼¼½¼½¾¼»½½¾¿¾»¾ÁÀ¾¼¿¿¾ÀÁÂÄÃÃÄÃÂÁ¿¾¾ÃÃÁ¿ÁÁÁ¿½ÁÃÃÅÇÆÅÅÃÄÅÇÇÆÆÅÇÇÆÇÉÊËÊËÉÈÍÐÎÍÌÉÉÌÍÌËÊtvwwyyyxyxy{{{{yy||{zwzxx{|zz{zy|}}~}~~||||}~}~}}~~~~€€~€~€€~}}|~~€€€€}||€~‚„……ƒ‚‚‚{}€ƒƒ‚ƒ„‚‚…ƒƒƒƒƒ…„ƒƒ…††ƒ††…„…‚‚ƒ…†……†††…†„……‡ˆ‡„„†‡†ˆˆˆŠ‹‹‹‰‹ŠŠ†ŠŠˆˆŠˆ‰‹‹‹Œ†ŒŽŠŽ‘ސ‘‘’ŽŽŽ‘’’“ސ’”””””‘””“”””•—–“’’”•–•–’’’•–•‘••—™š˜––™—˜˜˜•˜˜—–––—”˜”™——–š™™š›™™™œžžžœœ›žŸœ™œšš› Ÿ›šœžž›Ÿžž žŸ¡£ ¡¡¡Ÿ¤¦£ ¡££ ¡££¢¡›£ ¤¥¤¢¡Ÿ¢¡£¥¥¤££¦¢¨©¨¥£¡¢£¥¥¥§¨©ª¦§§¨¨¦¤§§§ª­«ª¨¨ª©§§§ª«ª§ª£©©©©®®«¬«¨­­¬¬¬­¯¬®­¬§¯¯¯­¯«±±¯®®«®¯°¯±«¯²²¯°¬°®°¨±°µ¶µ³¶¶µ²¶²¯«§¢›ƒreYOE?82,'"



0w§¸¸µº¸¼¾½·½»¼¼º¹»½¾»½½¾½»»»¼¼»ºµ½¸¾¹¼½¾»¾¿Â¼½ÀÁÁÂÀÀ¿Åľ¿ÂÃÂÁÂÄÃÁÀ¿¼ÄÃÆÆÇÇÅÁÅÈÉÁÈÆÅÃÅÃÄÄÊËÌÌÊÇÉÊÍÌÍÌËÌÏÎÌÇuwyywyxxxxyyz|}|z|}|yzzxuzzzz|{{|}}}}}}}|{|||}~~|}|y}{{}€€€€}€}}}}~~~~~~‚€~€€~‚„„„…„ƒ‚‚ƒ|~~}‚„„‚‚‚ƒƒƒƒ„…„‚‚‚ƒ…………„ƒ…††……†††…ƒ„……ƒ„†‡‡ˆ‡†††€‡††ˆˆˆ‡‡†‡‰‰ˆ‡‰‹Œ‹‹Œ‹†ˆŠŒŒŒ‹ŒŽŒ‹‹ŒŒŽŽŽ’Œ‘ŒŽ’’’””“‘’””“’‘’““•”’”—•”•———•–•“‘“•••–”“•˜™™™š›™———™™™˜˜˜˜—–—™™˜––™ššœ›™™˜œžœš››œž œ˜œž›ŸšœœŸ¡¡žœŸŸ  ¡£¤£ ¡¢¥¦¦¤¡¢¤¥¥£¢Ÿ¡¢¤¢¢¢¢¡¡¡ž¢£¥¥¦¥££¦©ª©¨§£¢£¦¦¤¤§¨©«©¤¦©ª¥¢¦©©«­ª¨¨¨ª©¨¨¨«¬«©¬¬ªª¨«®®«­­­­®®­«­¬¬¬¬¬®¯®­­®°°°­¯®¯°±±²±¯¯°°±±³³²±°°´´³´³µ´µ··´³´µ´²­¤šƒsdYWQLE?7-#
.w¦º¸¹»½½¾ºµº»¼¾½»»½¿½¾¿¾¼»»¼»¼¼¼»»¼»¹»¼»¼¿Â¿º½¿À¿ÀÀÀÂÃÄÃÂÄÇÄÁÁÃÄÄÃÁÀÀÃÆÅÄÅÇÅÀÇÉÇÇÈÈÇÆÇÉÈÃÈÉÈÉÉÊËÊËËÍÎÌËÍÍÌÎxvy{{yzxxxyyyy||zz{||||zyzzy{}|zzxzz|x}~}y{z}~~~~~|}~}z~€€€~€~}|~~{€€€ƒ‚€}~‚ƒ‚€„„ƒ‚‚}‚‚„„ƒƒ‚€ƒƒ„„„„„ƒƒ……†‡‡†ƒƒ†‚ƒƒ…‡‡…„„……„„†ƒ†‡‡ƒ†‡‡‡ˆˆŠˆ‰†††††…„‡‰Š‡‹ŒŒ‹‰‡‹ŒŽ‹ŽŽŽ‹‹ŠŒŽŒŽŒŽŽ‰ŽŽ‘ŒŽŽ‘Œ‘‘’“”““’’“”‘””’‘‘“–•‘”“’”—˜™˜–––••“”•–••’‘‘–•—™š™˜’—˜™™˜˜™˜—•˜˜™———›œšš—šš›œ›››š›žš›™žœŸ žžžžšœžžžŸ ŸŸž¢Ÿ¤¤ Ÿ¢¢¥£¢Ÿ ž¦§¥£¡œ£¥¤££¢¡¡ œ¢ ¦¥¤¤£ §ª©¥§§§¦¦¨¦¢¤¥§¤¨¨§§¨¨§¤§¦©¨¨¨©««ª©¤©¨«ª«§®®«¨«®°­«®¯­­®¯­­¬«ª®ª¬¬¯­¬­®°±²®¯°²°®±°°®­¬¯±±¯´¯¯®®¯³¯°³±®´·¶³³´´´´´°®¨£š‘‡yo]WSTPKC:) 



;€©¶µµ»¸½¼¹µ»½¼º¾¼¼¸À¾¿»½¹¹º»º½¾½»»ºº¹½¿¾½Á»¹¸¼¾¿¾¿½ÂÄÄÃÅÂÆÇûÃÃļÄÃÁÀÂÃüÂÇÅÀÆÆÅÇÉÊÉÉÉÉÈÃÈÇÈÂÊÌÌÉÈÆÊÌÌÌÌÊÏÏyuy}{zyxwwxyzy|{wzz{{{zzzzzyz|yyyxz{zz|}}{{|}~€€}}€~~€€€‚‚€~€€~€€€‚‚‚‚ƒƒ‚€‚ƒƒ‚‚‚‚‚‚ƒƒ„„‚……„„ƒƒƒƒ„„„……†‡‡‡†„ƒ…††„…††…ƒƒ…………†††††‡‡ˆ‰‰…‰Š‹Šˆˆ‰†…‡‰‰‰‰‰‹Œ‹Œ‹ˆŠŒŒŽŽŽŽŽŒŒ‰ŠŒŽŽŽŽŽŽ’‘’‘’”’’‘’‘“”’“•–‘‘––•””“””–—–“––––•”••–•“””•–”˜™šš˜˜˜™™˜˜˜———˜˜˜™˜™œž˜˜™™›œœ›šœ›ššœ›œž  žŸžŸžœŸ £¢¡ŸœŸ¡¢¢ŸŸ¡£££   ¢¤¥¥££¡¡¥¥¤¤¥¢¡¡¢¤¦¥¦¤¥¥¦§¨§¦¦¨§¦§§¦¢¥¦¦¥¥¥¦§¥¥§ª««ª¨©©«««©¨ª­­¬©ª«­®¬¬¬®¯®«­¯®®®°°®¬­¯°±°°°®«®®®±²¯®±³¯¯²´±®¯«¯±¯®²²­°±±±¯¯±®°³¶µ²³´³³²²³´´³²°©Ÿ’†zqlkg`VK8'I‹®·´·¼¾½º¸¶»½½¾½½½¾¾¿¿¼¼»º¹½½»¼¼½½»º»½ÁÀ¿ÀÀ½¼½ÁÁÂÁÁÃÅÇÈÆÅÅÆÃÂÃÅÄÄÅÇÅÅÅÂÂÁÃÇÆÄÅÅÅÇÉËËÌËÉÈÈÉÊÉÌÍÎÌÌÌÌÊÉËÍÎÐÑÏzvyxyyxvxvyzzxzzyzz{{{{{zv{{|zz{zx{||z}|{{|}}}€|€~}~~€€‚‚ƒ€‚}€}ƒ‚€~€€ƒ„ƒ‚‚‚ƒƒƒ‚€€„………††…‚‚„……„„…††‡…„„…ƒ†ˆ‡ƒ„††…„†‡…„††…„„†‰…‰ŠŠ‰ŠŠŠˆˆŠˆ…‰Š‹‹‰‰‹Œ‹‹‹Š‰‰Œ‰ŒŽŽ‹ŒŒ‰ŒŽŽŽŽŽŽ‘‘‘‘Ž’’‘‘“”’‘“””•’•––‘‘”•“”“’’’“•”•”“””•••–•””“–—˜˜™š›š™——˜šš™–•–˜–˜˜™šœš–™™œœœ››™š™˜™ŸŸ›—Ÿ›Ÿœ›žœœ—Ÿ  ¡¢¡ žŸ ¡ŸŸ ž Ÿ   ¡£¢£¦£ ¡£ ¡£¢¡¤¦¦¦¥¥¥§§¥§¥¤¥¦¦¥¤¥¥¥£¦¦¦¦¥¦¦¦¥£§¬¬ª«««ªª¨©¨ª¬®®«©ª§ª¬®­­ª®°®©®­­«°°®­®­¯°°¯°®®­¬ª¯°®¬­­°¯±±°®­¬°±±®±±°±²±°°±²²±³µµ±´°´µ´±³µ´³··µ±¬§¢š‘…}hd_RD9+&
Y™µ¼º¹¾¿½¹¸·º¶½¾½»¾»½º¿¼¼¹¹º¾¸¸·»½¿¸ºµ½À¿»¾ÀÁÀ¿ºÂ¿ÄÃÂ½ÆÆÅÁÅÄùÃÂÂÁÅÇÇ¿ÈÅÃÁÃÆÆÅÄÃÆÃÈÆÊÈÊÈÈÉÌÊÊÏÏÈËÍÎÍËÉËÊÎÐÐÏz{yxz{zzzzzzyyxzzxw{}|{{zz{||}~|xy{|}~z{|||~}}€~~~~|{|‚‚‚~~~~}„‚€~€‚ƒ}~ƒ‚‚„„‚‚ƒ‚‚„„………††„„„…†ƒ…………†„ƒ†‡‡‰†‚‚‡†‡†„†‡„„ƒ„…„ƒ†‰‰ˆŠŒ‹…Šˆ††‹‰ˆ‰Š‹Œ‹‹Œ‹‰ˆ‰ŒŒŒŒŽŒ‹Œ‹ŽŒ‹Ž‘‘‘Œ‘’‘“”“’”•–••–•”‘“”“’”““’“•—•”““”••“’––•‘“—˜˜™˜™šš™–š›››š˜—–˜™™™™™šœœ››œ››œ››ž  šœœœ›››œ›œŸ ž¡¢¢¡   ŸŸŸžŸ   Ÿ ŸŸ¤¥¥¥¢Ÿ¡¡ ž¢¢£¤¦¦¤ ¤¦¦§¨¨¦¢¥§¥¤¤¤¥§¨¦§¨¨¨¨©ª©¦¨©¥¦ª­¬©ª¨©ª«­¬«©«ª©«­­®®®°³±¯­«¬¬¯®®°®­­¯°°®­­¬­®°±±¯®­®¯®®¯°¯®°±±°¯²²±³²°±³´±±²´µµµ´´·´±µµ¶´¶¶¶¶·¹¸¶¯¨›†{mbVK>5+#+h¡¹¾¼¼½¾½ºº·º½½½½¿½¼½À¿¾¼¸¼¿½¶»¾¾¿¿½¼½½¿¿¿ÀÃÄÂÀÀÂÅÄÄÂÁÄÇÄÃÄÅÃÂÁÅÅÅÃÃÅÇÉÈÅÃÄÅÇÇÈÄÇÈÉÊÉÇÈÈÇÉËÊÉÎÌÇÌÎÎËËÌÍÎÍÎÎÍyyyw{{{{|{zwyzy{{uwz||yxz}~||~{z{||~~}~~~~~~€‚€}}~~€€~€€€€€€€‚€€‚€€‚‚ƒ‚‚ƒ‚‚‚„…ƒƒ„ƒ‚ƒ„ƒ„„„„„…‚ƒ„ƒƒ…†‚…‚„„…‡ˆ‡……‡‡†‡‡„†ˆ†……†‡…ƒ‰Š‰‡ŠŠ‰‰Šˆ‰‹Š‰ŠŠ‹ŒŒŒ‹‹Š‡‹ŒŒŽ‹‹Œ‹Š‹ˆŒŽ‹Œ‘‘‘’‘‰’‘Ž“•”’’“”“––••”’”••––––””’”‘—™–““•––“•–˜˜•”—˜™™™—™š˜–ššš—œššš™™ššš—›œœœœšžžžžžžžš™˜›››œ›žž  Ÿ ¡¢ ž   Ÿ œŸ    žž£§¦¤£ž ¡¡¢¤¤£¥¦¤£¢¥¦¥¥¦¤¨§¢¢¨£¥¦¥¥¨©ªª¨¥§©ª««§¨¤¦¥¬¬«¨©©©ª©©«ª©­«¨«©ª§¬­¯±±®­¬­­¯ª¯¯­«¯²²®¯¬®¬¬¬²²±±±¯®­­­°²°«²³²°²´³±³²±³µµ³±±±¶´µ´´¶´±³´µµµµ·°·¸º´¸·²­¦ž•…x`XQIA8,%
$8r¤¹»º¹º¼¼¹º·»½½»½¿¾¹½¼¾¾¼¸¼»½¸¾½¿ÀÀ½¿¸¾¾ÂÂÃÃÂÁÁÁÁÂÁÀÃÃÃÁÀ¿ÀÂÅÅÄÆÇÆÃ»ÅÇÈÆÇÆÄÃÈÇÆÅÇÅÌÍÊÇÉÉÈÆËÉÊÉËÉËËÊÊÌÌÌÍÎÎÎÎyzz{zz||{zyxz|zzzzyz{{yxw}~|z}|||}|{{}~~z~€‚€}|~€€}}}~‚‚€€~}~}€ƒƒ„…‚€}‚ƒ‚‚‚ƒ„„„‚‚‚~‚ƒ‚„†‚‚ƒƒ‚„‚ƒƒƒ„…ƒ‚ƒƒ‚ƒ……†††„ƒ„††‚‡ˆ‡……††ˆˆ‡††‡‰‰ˆˆˆˆ‰†‡ˆˆ‰Š‹‰‰Š‰ˆŠŠŒ‹ˆ‹ŒŒŒŒŒ‹ŽŒŠ‹Œ‹Œ‹‹ŒŽŽŽ‹‘‘Ž‘““’’’“’’”–”’‘’““––“””“••–˜˜——••—•“–™—“”————”—™™˜–•—˜˜˜˜——š™˜•—šœœšœžœ˜™™šœœžžžž›œœœŸŸžŸžœœ›šœœŸ  ¢¡ŸŸ  žžŸ¢¥¢ŸŸ¡¡  ¢¢¡¥¨¥£¢   ¤¥§¦¤¦¦¤¢¤§§¤¥¦¨¨¦¢¦¨§§¨¨§§¨««§¤¤¨¨«ª©ª©¨««­¬¬¬«¬¬«¬¬ªª®¬©«©¨ª¬­®®­®­¬¯¬®¯®­ª­®°²²¯®®­®°²±­²²±°®°°°²²±²²²±±²²²³±²³µ´´²²³µ¶µ³²µ´´´³··¶¶¸¸¶¶¸¹·¸ºº·´°ªœŒ€ti`UKB;2.,%+<S{¦¹½º¹º»»ºº»¼½½ºº¿¾¼»¹»½¼¼½¾¿¿¾¾¿ÁÂÀÀÂÁÃÄÄÃÂÀÀÁÄÅÄÀÀÃÂÁÀÀÀÂÂÆÅÄÆÈÇÃÂÅÈÈÈÈÆÇÃÆÈÉÊÈÈËÌÈÇËËÊÇÊËÉÉÉÌÎÎÌÍÎÍËÌÎÏÏÐz||{zy{}|{zzz||y||zzzyzyz}}y||{{|}{uy|~~}}€y{|~€€~€}~‚‚€}~‚ƒ„„€‚ƒƒ‚‚‚‚……„ƒƒ‚‚‚…„ƒƒ‚ƒ‚‚‚„…ƒ‚‚€ƒ„………†…‚ƒ„…†ˆ†………†‡ˆ†††‡†ˆˆˆˆˆ‡ˆˆˆˆˆ†‰††…ˆ†‰‹‰„Š‹‰†ŠŠŒŒŒ‹ŒŒŒ‹ŽŽŒ‡ŠŽŽ‹‰ŒŽŽ‹‹‹’‘Œ’“‘’“Œ‘”“Ž‘“•”“’’“”‘‘‘““”’”•—–••——––˜—”–šš—–“˜˜™™—–––˜“˜——™š™™™šš›•œš–——˜š›œœ›œœœœ—œ›š››ž››žŸœŸž››šžž  Ÿœžž ¡Ÿ›¡£¢¡ ¡¡ ¢£Ÿ¥£¥¥¤¡¢ ¤¤¦¥¤¥¦¥¤¥¨££¤§§¨¨§¦¨¦§§¨©©¥ª«©£¥§©©©¨¬ª©¥«««ª­«®­«¬¬ª¬­¬¬­©¨¨¬¬®®¯­®«¯®­­®­­­­¨¯®­«¬­°±±®±±±±°­²³²®³²°°±­­®±²´±±±²²´«²³´®µ²³µ´°µ´·¶¶·¶µ¶³·¶´µ¸±·µ¸¸²ª£ž–Šzc\VPKIGD>4%6LZa­º¼»µ»ººººµ½½»º»¼¾³»¹»·¼¹¾½ÀÀ¾¼¾ÀÃÂÁ½ÀÁÃÃÃÃÁÀÁÂÅÅÄÀÀ¿¿¿ÂÂÁÂÆÁÅÈÉÃÅÅÆÇÇÇÈÄÄÃÃÃÉÇÉÆÇÉÈÆËÌËÇÇÈÇÅËËÍÌËÍÎÌËÉÎÉÎÍ|}|{yz{||{zyy{}~}z{zyzz|}||}|zzz~|zy{~~}||~~~|{{€€€€}|~~ƒ‚~€‚ƒƒ„„‚ƒ„…‡‡…„„„‚„†……‚~€ƒ…†…‚ƒƒƒƒ„‡ˆ‰‡„ƒ…†‡‡††‡‡†‡††‡ˆˆ‡‡†‡‡ˆ†‰‰ˆ†‡‡‡ˆŠ‰ˆ†‡‡‡ˆŠŠŠŠŒŠ‰ŠŠŒŽ‹ŠŠ‹ŒŽŽŠŠŽŽŽŒ‹ŒŽŽŒŽŽŽŽŽ‘‘‘‘Œ““‘”“’‘“””•”’’’”•”“’“’‘””––“”••••–—”•–™™—••˜šš™˜˜™™˜˜˜˜™™—›š›š™™›œ›™˜š™•ššœœ™››š™š›š˜š›žœ›žŸŸžžŸ ¡ šŸžœžœšž ¡¡¢ šžŸ›Ÿ ¢¢ ¡££ ££¤¥¥¦¦¦£¢££ ¥¥¥¥¦§¨§¨¦¥¦¨§¦§§¤¦¦ªª¨¨©¨§¦§¨¨¨«¬«ª«««©ª¬ª­­¬¬«ª««ª¬««©ª«¬®¯¯°®­®¯°°¯®­®­®¯°¯®­­±³±±±°¯±°¬±´²±²³±°¯­¯®°²´²´´µ´³±±²±²´´´µ²¯´´µµµ¶¶¶¶¸¶µ²¶µ±·¹¹»º¶¶¶´­Ÿ‘„xmf`_[XRF6)/Ois´º»¼½¼ºººº»¼½¼¼¾½½½»º¼¼¼½¾¿ÁÁ¼»½¿ÂÂÀ»½¾¾ÁÄÅÃÀÃÃÃÃÄÂÁ¾ÁÁÃÃÁ¿ÆÄÆÉÈÄÅÇÆÄÄÅÅÅÆÇÄÄÈÇÈÆÇÈÈÇÉÊËÊÉÉËÌËËËÉÇËÍÌÌÎÍÍÍÎzxyyz{|yyyz{||}~~~}|zyz{|{{{|z{{~~|{{~~}}}{}~}|}}~~~~€|‚‚~~~~€~€€‚ƒ‚‚ƒƒƒƒ„…†„„„„„ƒƒ„ƒƒƒ‚‚‚†ˆ…‚ƒ„‚‚„„ˆ‡‡†………„†††‡ˆ‰ˆ†…†‡‡†„…ƒ‡ˆˆˆˆ‡‡‡‡‡‰‰‹‹Š‰ˆ‰‰ˆ‹‰Š…ˆˆ‹ˆ‹Š‹ŠŠˆ‰ŠŒŽŽŒŽŽŽŽŽ‹ŽŽŒŽŽŒ‘‘‘ˆ‘‘’“”‘‘‘’“’‘“Ž“““‘‘’––•”“‘‘”–•”””’““••–——–˜””•™™››™•™š™”—˜™˜™™šœš••—›œ››œœ››˜œš›››–›šš›œœ™ž›Ÿžœœ¡££¡œš››œž¡›œžžž¢¤¡šŸžœ  £¢¢££Ÿ¡¡¤¡¤¦§¥£¡¢£¥¦¥¥¦£§©©§¦¦¦¨¨¦¦¨¨§¦©©§©¨©¦§¤©©ªª««¬­¬¬«¬­ª­¥¬¬ª§­ªªª©¥ª««ª­¬®«®¨«¬°°²°°«¬­±¯²®°¬²²°±°®®²±¬°±²±²°±¯­¬®®®®°²µ··µ´²²¯±±µ²³³±°´²´°´µµ³·¶¹¸¸·¶³¹º¸··µ·¸»»´­§ ˜‰~ga\`YNE>6*3Lew€…¨º¼¾¾½½¹ºº¾¿½¼¼½¾¾¾»½¹¾¼¼¸ÁÁÂÁ½¸¼½¾ÀÁ»»ºº»ÂÃÂÁÃÁÁÂÂÁÁ¿ÂÁÁ¼Á¾ÆÆÇÄÄÅÇ¿ÅÁ¿¾ÂÀÇÈÆÆÇÇÉÆÇÈÇÇÈÇÍÍÊÃËÎÍÇËÇÈÊËËÎÎÎÎÌÉxwxyw|{xxz{||||~~|{zz{y{|}||z{}~~~}}}}}{{|}~~~€}|}~€{}‚‚€€€€€€€‚ƒ‚€‚ƒƒ…„‚€‚ƒƒ„„€‚‚ƒ‚‚ƒ„ƒƒ…†ƒ‚„„‚€†ˆ‡‡‡†„„††…ƒ…‡††ˆˆ†„„ƒ…††ˆ‡†…‡ˆ‰ˆ‹Šˆ‰Š‡Š‹ŠŠ‹‹‹‰‡†Š‹Œ‹ŠŠ‰‹Š‰ŠŒŽŽŽŽŒŽŽ‹ŒŒ‘‘’‘‘‘‘‘‘“”“’Œ’““‘“““‘‘‘’’”–•”’’‘‘˜—“••““••”“—˜—––•–™™™›œ™–—š™”—™™˜˜˜š›š™–šœ›œœœ›š›œœ˜››œ›››žžžžžžŸŸŸ¢¢ ››œ›š¡¢¡   Ÿ¡¢ Ÿ Ÿ¡¡¡¡¢¢¢¢£¢ ¡¡¡¢£¢¤¡¢¤¤¦¦¦§¥£¨©¥¦§§§§§¦§©©§¦¦¨¨ª«ªª§¦§ªªª¨ª¬¬«ª«¬¬ª¬¬¬¬«¬­­«©©©ªª««¬¬¬®®¬ªª¯±²´±¯®°±²´´´´²¯°²°¬®²²±°±±²±²³´¯®¯±°®°²´¶µµ´³²²²³´¶µ´µ¶µ´´¶µ´´¶·¹º»¸¶·¹º¹µ·¸¸·¹¼½»º¹¹³¬ “‡|mf_]VN?02Lex‡‰œ±¾¿¿¾¼¼»»½¿À¾¼»½¾½½¼½¾¾¼¼½ÀÂÁ¿½¼¼½¿ÂÂÁ¾½¼¿ÁÃÄÄÂÀÂÃÃÁÁÃÄÃÁÀÁÅÇÊÇÅÅÄÅÇÆÅÁ¿ÀÃÆÆÇÈÈÈÉÉÉÇÆÇÊÌÍÍÉÈËÎÌÌËÈËÌÊÈÍÎÌÏÍÈyyyyz{{zy{{z}~}w|}~{{zzzz|}}|x}~~{|}~}|}z|{|}€€|~}€{|{}~~{~€‚€}€|ƒ„ƒƒƒ‚€€‚ƒƒ‚‚‚ƒƒƒ‚ƒ‚‚„ƒƒƒ„„…ƒ€†„„†ˆˆ†„ƒƒ…‡‡†ƒ‚…………‰ˆ‡ƒ„„‡…†‡ˆ‡†‡‰‹‹‹‹…‰‡ˆ‹Œ‡Œ‹Œ‰‰ˆŠŠŒŠ‰‰‰ŒŒ†ŒŽŽŽŽŽ‹‹ŒŽ‘’’’”“‘‘‘””“‘“““•”•“Ž’‘“•••““”’’’”˜—“•–””˜–•“—™˜•˜—™™š™™˜˜˜˜™˜•š›š–™š››šœ›–™˜››š™™››››šš›œž•›Ÿž›œŸ  Ÿ œž¡¡Ÿž›› ¡žŸ¡ œ›ž ¢Ÿ¢£¢ž¡¢¡ž¤¡ ™¢ž¡£¤¥¤Ÿ¥¡¢£¦¨§£¦¨¦£§§¦¤¤¤§©¨¤¨¨§§ªªªª©¢¦¦«¬«««©¨¨©ªªª¬«ª§©ª®ªª§©¬«¥©««¦¬®¯®«¨°°°¯°©®¯¯°²³²±±±±±®ª¯²²²²²±­±³´´³²±ª±°±³³¬±²±°¯¯³³´··¶¶¶¶±µ¶·²¶¸¸¸¹´¶³¸ºº·¶µ·¸·¶¹ºº³¹¶¹¹µ°¨¡™‚i`XNGB?IUco†™§²»Á¿¿¾¼»¹¹º½¼½½½½¼¹½½¿¾À¹ºº¿ÁÀ¾¿½¿ÀÀ½Â¿À»»¼ÁÁ½ÂÁÃÂÃÃÃÁÄÆÅÀÀÁÇÄÈÅÅÄÃÃÇÄþÄÄÆÅÆÆÇÈÊÇÈÈÉÉÊÊÌÌÈÈÊÌÍÃÍÉÎÍËÇÍÊÍÏÐËy{zz{|{{y||yz}|z{}~~}|{{y~~}|{|~~~}}{{~~~}||}€€€€|}|}{~€‚€€}~€‚ƒ„€ƒƒƒƒƒ‚‚‚„„……ƒ„………€‚„„‚‚ƒ„……„~…‡††††‡ƒ„„……ˆƒ„„„………†‡‡‡†‡‰ˆ††‡‰‰‰†‡ŠŠ‹‹Œ‹‹‰Š‹Œ‹‹Š‰ŠŠ‰ˆŒ‹ŠŽŽŒŒŒ‹‹ŒŽŽŽŒŽŽ’””“‘””“’‹‘‘‘“’””“””””’•”••’’“”––••••––••––——–˜ššš™˜–•–››™—•™›šš™˜™˜™š™–™˜š›™™›œšš˜˜š›ž›™™šœ›œžŸ ¡¡¡ŸœŸ¡ žœŸžœ ŸŸŸžŸ¡¤£¢¢¡¡Ÿ ¡£¤¤¢££¥¦§¦§¦¥¤¥§¨¨¨§¤¤¥¦§¦¦¤¥¤¤¦§§¦¨«©¨©«««ª¨¨ª«««««§ª««©«««¬ª¨ª¯­©©«®°­ª¨¬­­¬­¯¯¬®±°¯®­­®¯­¬¬¬®¬¯³³±­¬¯³³²µ´±­²µ²±³´±±±²³³³±±³±®­°²´´·¶µ¶·µ³´µ·¸¸¸¶¶µµµ¶·¹¸·¶¶···¸ºº¸¸¸¸¹¹º»º¹´®¤—‹nd]^dmqv’¬¹ÁÂÁ¿¿¾¼»º¹¹¼½½½¾½»½¾¾ÀÀÀ¿½¹¾Â¿¼¾ÀÁÁ¿½ÀÁÀÁÀÁÁ¾¿ÁÁÃÃÃÄÅÄÂ¿ÆÆÆÃÃÆÇÅÆÆÅÄÅÇÇÅÆÇÉÈÈÇÅÈÉÈÆÇÈËÌÉÉÊËÉÇÈÌÌÌÌÎÎÍÍÎÎÎÎÏÑÐvvzz{|{{zzzyyzzz|||{||z|~~~}|zz|||{}~~~~{{|}€€€~€~~€‚ƒ‚‚‚ƒ„‚‚~ƒƒ‚€ƒ„………„ƒ„…‡†‚‚ƒ…‚ƒƒ‚„…ƒƒ…†„††„ƒƒ…†††‡‡††……‚…ƒ†„†…ˆˆˆ†„„ˆŠŠ‰‡‡‰‰ŠŒŒ‹‹„ˆŠ‰‹Šˆ‰‰‡ˆŠŒ‹Š‰Œ‰Œ‹ŒŒŒŽŽŽ‰ŽŽŒŽ’”’Œ‘“’‘Ž‘‘‘‘“”‘’‘’’”–——–”’‘‘‘•••”•••“–—–•••—”™›š—”“–šœ—˜”™—šš˜”•–—™˜•›œ›šššœœš˜˜›œ››–˜—œ›š›š˜œžžž ŸœŸŸŸœœžžž› ¡ ž    ¤¦¥£¡¡¡£¤¤ ¥£¥£¥¦§¨§¢¦¦¨¨§¤¤¤¦¦§¨§¥¥¤¤£¤¥¥¥©ªª¨©©ª«¬§««¬¬ª©©§«­¬©¬¬­­¬ª­®¬ª¬®¯¯­¬¬­¯®­­­¨­­°°°«¬§©¬¬«¬ª®«¯²²°®©®²²±³´±­³¶³ª³®°°±±²´´²³³³±±±³±µµ´®µ¶¶´´´·¶µ±°°·µ¸¶¸³·´¶¶·¶·¹¹¸¹·ººº¸¸·¹º¹¹¶²¬¦ž•‰smgz}¡¸¿ÁÂÀÀ¿½º»»º¸¼½¼¸¾½¿Á¿½½½ÂÀÁ»½¹¿½ÁºÀ¿½¼¾½¿ÀÀÁÀ¾¿ÀÂÃÂÀÄÆÆÄÄÅÇÆÄ¿ÈÆÄÁÅÄÅÆÈÅÄÅÉÉÉÂÇÇÇÃÇÅÇÅËÌÊÅÊÄÌÊÈËÊÉÊÊËËÏÍÍÌÎÍÐÐyxyyx|{zyyyyvwxy{{{{||yz|~|}z|}~~}|}~}{~}|}~}€~‚€€€ƒƒƒƒ‚€€€~ƒ‚‚ƒƒƒƒ€~ƒ……„‚€ƒ„„ƒ‡ƒƒ……ƒƒƒƒ‚‚„€‚„„„……ƒƒ‚††‡††‡‡†„…†…†††ˆ‡†…‡‰ˆ†‡‰‰‹‰†…‰‰Š‹‹Šˆ†ŠŒ‹Š‡ˆ‰Š‹ŒŠ‰‰ŠŒ‹ŒŽŠŽŽŽŽŽŽŽ‘‘ŽŽŽ’“’‘‘‘‘‘ŠŽ‘””“”“‘‘‘’”––•–—”‘‘”•–•”“”•–˜—–”–——™ššš˜–—˜›œ™——˜™š—•”–—™™™œžžœœ›šš˜˜œžœž›™š››šš˜™šœœœœŸŸžŸ¡ žŸŸŸ  ŸŸ ¡¡ŸŸ¢¥¥£¡¡£¤£££¤¤¤¤¥£¤¦§¥¢¥¦¤£Ÿ¤¤¦§¨©¨¦¦¥¤¤¥¨ª¨¨©ªª«©§§ª­­¬««ª¨¨©ª«­­ª¬¯®­¬«¬¬©ª­®­­¬¬­­¬­­­­­®®¯±±°­¬¬­­­ª«®±°°¯¯¯­­¯°°±²°°³µ³³²®°²³²³¶µ´²´µµ´µ´´´³²®´¶·¸¶µµ´²´µ¶¶¹º¸··¶·¶¶¶¶¶¸¸¸º»ºººº¹··¶¶¹¼½¼¼º´« •‘–¢²ÀÁ¿¿À¿½»¹¹»»¸¼¼¼¾¾½À¿º½ÁÂÂÿ¿ÀÁÂÁÀÁ¿ÀÀ¿½»¼ÁÀ¼ÁÃÃÂÁÂÄÈÇÆÆÆÇÆÄÆÇÆÄÅÅÄÅÇÇÇÆÆÈÉÇÁÆÉÇÄÈÈÈÇÉÍËÆÊÌËÊÉËÌÎÍÉÍÐÏÏÌËËÌÏÑzy{xz{|{{z{zxwxy{|{z||{z}~|{|~~|~€}|~~~~}}~}|{ƒ„‚€€‚‚ƒ~‚‚€€€‚ƒ„‚€„…ƒ}ƒ„‚…††‡ˆ†‚ƒ„…„„…„ƒƒ€ƒ‚ƒ‚„…†‡…ƒ††‡………†‡ˆˆ††‰‰†ƒ‡Š‰…‡ˆŠŠŠ„…‰‰ˆ‹Š‰ˆŠ‹ŒŒ‹Šˆ‡‡ˆ‹‹‰Œ‰Œ‹ŽŠ‹ŽŽ‹ŽŽŽŽ‘‘Ž’‘‘‘’’‘‘••”“–—”‘‘””’’’”•••”’”––’‘”•–“——––—•—™™™˜˜™™››šš™”š›˜•–˜™™™™›œžž—˜˜™™˜›œœžŸ›œ™™˜›œ›œœ™žŸŸŸ ¢ œžžŸŸŸ š›œ¢Ÿ¡ŸŸ ¡œ££¤¡££¤££ ¥¥¤¤¥£¢¡£¤£¢¤¥§©§¦§§¥¤§£§©¬¬©¦©§§§©¨¦§ª«©¦¦§§§©©ª§¬««®®¨§¦¬ªª«¬­®¯­¨­¬­¬««¯±°°±°³ª­­­°¯ª«©°°°¬¬®¯«®­°«°¯°°³­´·´¯²´´³³³µ±³µµ²¶¶´²³´²¯³´¶··¯´²²µ¶´´·»¸¸····´µ¶¶¶·¸º»¸¶¶¶¸¸¸µµ´¼½¾½¼¹¹³²²¶º¾ÂÀ»»º»»»¹ºº»¹»·¾Á¿º¿¿½º»¼ÀÁÂÃÁ¾ÁÁÃÀÁºÀ½¾ÀÁºÀýÂÄÄÁ¿¿ÃÆÆÅÇÃÇÇÄÅÆÆÆÇÈÂÆÇÇÀÇÆÅÄÆÀÇÊÈÄÉÊÉÇÊËÍÈÊÌÊÆÌÎÍÌÌÈÏÏÐÐÍÇÍÇÐÏvz|}{{|}|{{{yz{{z{{}}|||}||~~}}~}|€~~{|~€€|}}}ƒ„‚€|‚€‚ƒ€}€‚‚‚ƒ‚~~}}~ƒ„ƒ€€ƒ……‚„„€…†††ˆ†ƒ„…ƒ…†…„„ƒ„…„„„†‡……†ˆ‰†ƒ†††‰‰‡†‰Š‡‡‰‹‰‡‡ˆŠ‰Š‰ŠŒ‹‰Š‰‰ŠŠ‹‹‹ŠŠˆ‡„‡ŒŽ‹‹‹‹‹ŽŽŒŒŒŒŒ‹ŒŒŒŽŽ‘’’’’““““’““““““–˜•’“–•’’’“’˜—”’•••””••–––—–––””—™™—˜˜š™˜™œš•šš•˜œ›™™š›œ›››˜——š›™šœ›šœž žŸ›œžžŸ ŸŸŸŸ Ÿ¡œœžžœž¡¡ŸžŸ¡£¤£¡ ŸŸ¡£¥£¡¡¢¡¡Ÿ£¥¥¥¥¥£¡¡£¥¥£¥¥©ª¨¥¤§¤¦©©ª«¨ª©©©§¨¨¨©¦¥¦§¦¨©ªª©©©ª«¬«©«¬¬«¬¬­¬¬­¯¯¯­«ª«¬­­¬±³²±±³²°­¬®°°¯®¯°±°¯«®¯®®¯¯¯¯±²±±°³·¶±³´´³²³²°³µ³³µ¶³±´´³°±±³¶´¯±²²³µµµ·¹º¸·¶¶·µ¶¸·µ´¸º¹·µ¶´·¹¹¹µ´º¼¼¼º¼»º½ÂÃÃÃÁ¿º¶º»¼¼¼¼½¼¸º¼¿À¾¼¾¼º»¼½¿¿¿ÂÁÀÁÃÄÄÁÁÀÀ¿ÀÂÅÄÄÄÄÀÂÃÁÄÿÃÄÆÅÄÆÇÃÃÆÈÅÆÈÅÅÆÅÅÆÆÅÅÆÆÈËÊÈÉÉÉÈÊËÌÊÈÉÊÈÌÎÌËÌÌÎÐÐÏÍÏÏÑÏÍxz~||{{||zz{zzz{zz|~~}zyz{|}~~}|}{~}}~~~~}{‚€~}}}~|‚€€€‚~‚‚‚‚~~€‚……ƒ€‚…†‚‚ƒ„ƒ…„„„„……ƒ‚ƒ††„„…„ƒ††…†††„†‡ˆ††…„ƒˆˆˆ‰Š‰‰‡‰‰‡ƒ…†‰‰‰ˆŒ‹‹ˆˆˆŠŠŠ‰ˆ‡‰Šˆ‡‡‡ˆˆ‹Š‹ŒŒ‡ŒŠŠ‹ŽŽŒŒŒ‘ŽŽ’ސ’’’””’’’’‘’Ž’””“••”“‘“”•—˜—••––——”—–—––——”–”–•˜š™—–—˜•šš•››–›œœ›š™œœš•—™™™œœš—š™˜—žŸ›œžžŸŸŸž  ›ŸŸŸ žŸ¡ž ¡¡Ÿ¢¢££¤¤£ ¢¤¥¤£Ÿžž ££¤¥¥¦¥¥¤¥¦¥¡¥¥¦¦§¨§¤¤¥§¨¨¨©«ª©©©©§ª«ª©§¥§¨ª««ª«¦©¦¨«¬¨¨©ªª¬«««¬­®°¯«­©ª¨­­®«°²¯­­­²±°­­¯°®°¯±±°°®¬°¬¬¬­®¯±²²³±²³³±´³µ°±­²°³²²²³´³²±°²¯²«²³°­°¯±±³¶·°¸¹·µµ±¹·µ··¶¶¸º¹·´´µ¶·¸¸¶µºµ¹ºº»»·½¿¾½Á¾¿¸º»»¸»¼½¿½·º»Àº½½¿»»»½¹ÀÀ¿¿ÀÀÀÁÅľÃÂÀ¾ÀÂÄÄÅÄÂÂÂÀÄÄÀÁÂÂŽÄÂÁÁÁÁÅÂÄÅÅÆÆÃÇÃÄÄÆÈÉÊËÌÊÅÇÈÊÈÌÌÊÅÌÊÉÊÍÍÍÍÎÎÐÎÐÏÎÍÎÌ{}}}||{{z{{{zzz{|}{}yxxz{|z~z{}~}|}~~~~}}~~€}~~}~~~~€€€~‚|€€€„…ƒ…†ƒ„†„‚ƒ……ƒƒƒ„„†‚††…‚„………†††……………†ƒ…†……„†‡ˆˆŠŒŠ‡‡ˆ†„…†ˆ‹‰ˆŒŒŠŠŠ‰‰‰ŠŠˆ‰‹Œ‹ŠŠŠ‹‹‹Š‰‹‹ŒŽŽŽŒ‹ŽŒ‹‘‘‘ŽŽŽ‘““‘‘‘’’‘’’’’”•‘““’‘“”•”•”‘“”•–––—––•–—˜˜˜–––—˜˜—•–”—š™—“–—˜š›š˜™›š››œœœ›œœœ›šš›œœœ›™™›››Ÿžš›œœ™žŸžœŸŸžŸŸŸ¡¡ ŸŸ ¡¡¢£Ÿ¡¡££¤¥§¥¢ ¢¡Ÿ¢¦¦¤¤¦§§¥¤§©§¥¥§¦¥¥¥¦§¦¦¦¦¥©«­«ªª©¨§ª«ªª©¥§§©­«ªª«©¦¦©ªª©§ª¬«¨¨«­®«¯®®«©«¯°°®ª¯±­«¬¬°±²³²®¯°±±°°¯±°¯°±¯­¯°°°²²²³±³´´´µ´²²²±³µ··´´µµµ²°°¯²±±³±°±³³²²¶·¸·¶²µ´¶¹¸µ´´µ·¸¸·¶µ·¶´··µµµ¹·¸º¹»º·»½¼¾¾¾¼¼»»¹¹¹¼¾¿½»»½¿¿½¿¿¾½¼¾¿ÀÁ¾½¿ÁÁÁÁÁÀ¿ÃÂÀ¿¿¿ÂÄÅÄÿÀÂÁÁÀÁÃÄÄÄÅÄÀÂÃÄÃÅÅÆÇÇÇÇÇÇÅÇÈÇÆÉÌÉÄÈËÉÊËÌÊÊÍÍÌÌÍÍÎÎÍÎÏÏÏÍÊÌÎÍ|~}wz{{wwx}zz{|}~}||{x|||}|{{|}|~}~€€|||~~~}~€€€}‚€‚‚‚‚‚‚‚‚€€€‚‚‚‚„‚‚‚‚ƒ…ƒ„……ƒƒ„……ƒƒƒ„†„ƒ„ƒ……‚†‡†ƒ‡ˆ‡…„…††„ƒ‡‡…„„…‡‡‡‰‹…‡‡‡††ˆ‰†‰‰‹‡‰‰‰ŠŠ…‹‹‰‰‹‹Š…‹ŒŒŒ‹‹ŠŠ‹ŽŒŽŒŒŠ‰Ž‘ŒŽŽ“Ž‘’’’’‘‘”“‘Ž‘’”‘‘’’””””““’’’“’–—–‘‘•––—˜˜——™™˜–—•••™™™˜—–™™›—˜™œš›˜šœœžœ™›œ›››™šœ››žš›™žžŸ œœœ™žŸŸ¡  žŸ¡¡¡¢££¢¡£œ¥¤¡Ÿ¢¤££¥§¦¤¤¥¦¦¤¡¦¦¨§¦¥¥¤££¤¦§§§£§ª«ª©¥§©©§«ª©¦¨¥¨£©¬«¦©¨©¦§©ªªª¦«®®©©ª­®«¯°­­©¬¯²®¬ª¯¯¬«ªª°¬±³²®¯¯°±±«°²²°°¯°®°²³²²«±±²²´µ´´´­´³²²¶¹¹²²´´³´±±®²°¯°±°³´µ°³µµ´¶³µ¶µ¶·µ¶¶µ­¸µ·¶·¶¸¶µ··µ´´¸¸º¼¼¼¹µ¹¼»½½¶¼»½¹¸¸¼¼¿¸¼¶¼¾À½½¾À»¼¼¿À¿½½¼¿½ÁÀÀ½¾¾Ã¿¾¼ÁÂÃÂÃÃÃÀ¾¿ÁÂÁ½ÁÄÃÂÅÆÅÀÃÃÃÂÀ¿ÆÇÇÇÇÅÅÆÈÄÄÃÄÆÉÅÊÈÉÇËÇÉÊÍÍËÌËËÎÍÌÌÎÏÏÇÌÍÎÍy}}{wz{zy{|yz|}~{€~~}}|||||}}||}~~}~€{|}€‚‚€}}}~~€|‚‚‚‚~€‚‚‚‚‚€ƒ‚€€€€ƒ‚ƒ„ƒƒ„‚……„„„…†„ƒƒ………†‚„†…†…„……„†ˆ‡‡†‡†„ƒ„…†††‡ˆ‡††„†‡‡‡Š‰ˆˆˆˆˆ‹ŠˆŠŒ‹†‡‡ˆ‹Šˆ‹‹‹‹‹‹ˆŠ‹ŒŠ‰‹‹‰‰ŒŽŽŽŽŽŒŒŒ‘‘Ž‘Ž‘““‘’’‘‘‘’’’Ž‹“––––•”””’’’’“’“•••–•““’“•——˜””–——˜˜—–—™››™˜——™œœœœ›šš›˜›œœ˜œžšš››š™››œš›œœœœŸžŸŸž  žžžŸŸžŸ¡¡ ŸŸ ¢ ¢££¤£¢¢¡££ ¢££¥¥¦¤£¤¥¦¦§¥¤¤¥¦¨¥£¥¤¥¤¤£¥¨§¨¨©¨§§¦¤¨©©©©¨§¨¨¨¨¨ªªª©ª©©¨««««ª«­®­«©¬®«¯±±¯«¬­°²¯«¯¯ª¯¯¯°­¯°°±¯®¯±±°±²²±±²°®°³³³³´²±°°²´³³³³²²²²¶¹¸²±³´´³³³³²¯±²±°³¶µ´´´´²´¶·¹¸¶´³µ·¶µ¶¸··¸º¹¶²·¸µ··¶·º½¾¾ºµ¸¹¹ºº¶¼ÀÀ¾»º½À¿½»¼¼¾¾¿¿¿¾º»¾¿¿¾»½¾¾¿¿ÀÀÀÂÄľ¾ÁÄÄÄÁÀÁÁ¿¿ÁÂÁÀÃÆÄÄÄÄÄÂÅÃÅÃÂÂÄÅÆÇÈÅÇÈÈÇÇÈÈÊÊËÊÊÊÌËÊÉËÌËËÎÍÌÍÍËÊÌÏÏÍÌÍÐÑzz|zxx{{z{{{||}}}{~~}z}}}z{~~||||~~~~}}||~~}~~€€€€‚‚‚‚‚€€‚‚€‚‚„ƒ‚‚ƒƒ„~ƒ„…††…„„„ƒ„‚ƒ„„†„„…„ƒƒ……„„ƒ„…†‡‡…€…ƒ‡…†ˆˆ‡ˆ……ƒ††‡ˆˆˆˆˆŠ‹Š‰‹ŒŠ†‡‡ˆ‰ŠˆŒŒ‹Œ‹‹ˆ‰Š‰ˆ‹Ž‹ŒŒŽŽ‘Ž‘’‘‘“””’Ž‘’‘Œ’“Ž’“““’‹‘•–––•‘“’“”•”–•Ž•–”“‘‘•——”•’“’–———–—˜˜™™™’˜–œšššš”˜šœ›šš››œšš›œš›œ›–š˜œŸœŸŸžŸ žžžžŸ¡¡žžŸ¡›¡Ÿ¡¢£ ¡¡ ¢¡ Ÿ¤£¢££££££ž£¤¦¢¦§¦¡£¢¥¦¦¥¦¦¨¤¦¦§¤©¦¦§¦¤§§¥¤¨¥¨§§§ª§©¨©ª©§§¤©©¬­­¬¬¬¬¬¯ª©¨¬«®±²¬¯ªªª¯°®«®¯¯¯¯±±­®¯°©­«¯±²­°²±¬±³±®±²³®´µµ­°¯°±²¯±°°²³±´µµ±²µµ±¯¯²±²°³´´³µ±±±´µ´²³´¸¸·²³±¶··²´¶µµ·¶¹¸·¶¶µ·¸·°»¾¾½»·¸¸¸·¸µ½À¿¼¼·½¸Á½½¸¼»¿»¿¼½¹»¸ÁÀ¾»¿½¿½¿ÂÁ¿ÃÄÅžÁ¿Ä¿À»ÀÀÁÂÂÁÄÅÅÁÁÁÂÂÅÄÃÂÅÆÆÀÇÄÅÆÉÄËÈÉÉËÇÌËÊÆËÂËÆÉÊËÊÍÏÏËÎÌÊÇÌÐÐÊÊÍÒÒ{|{yx{{z{||{}}|~}}}}|||}||y€|z{}~~}{{|}~~~}€~}~€~€‚ƒ„~~~~€‚‚„„„ƒ€ƒƒƒ„ƒƒ„…†…ƒƒ‚ƒ€ƒƒ…„…‡…„„„ƒ„„„„…ƒ€„„„‡‰‡†††ˆˆ‰ŠŠŠ‰‡„„…†‡‡…ˆ‡‡‰ŠŠŠŒŒ‡†‡ˆ†‰‹Œ‹ŒŒŒ‹Ž‰‰Š‹Š‡†ŒŽŽŽŽ‘‘ŽŽ‘‘‘““”””’‘’’‘’’‘‘“”””’Œ‘””“”•”““”””––••””••”“‘•–––”•——–•˜—–’—••˜›š˜˜—›œ›š™–™œžœ›šššššš›œœœœ˜™›ž—œœžŸŸ›œžŸ ¢ Ÿ Ÿ ¡¡ ¢££ ¡¡¡¢¢¢¡¤¦¥¤¤££¢¡¡£¥¨¦¦§¦¥¥¥¤¥¥¥¨©§©¨§§§§¨¨¦¦§§§¥¥¨¨¤§ª©¨ª­ª¨ª«ª¨¦¤©¬­®©«­®®­¯®«ª«­¯°°¯®­­®¬ª©«¬®¯°°°°±°¯¯°¯®°³±«°²°¯±´²¯²³²²´¶³±±°±²±°¯¯´¶³²²²³³³¶µ³±°°°²µ´´´µ´´³³³µ´³µ·¸··¶µ´¸¸·µµ¸µ³´´¸¹¸µµµµ¸¹º»¾¾½»··¸¹¹¹»½¿½ºº¼½¿¿À¾¼½»¾À¿¾½¹¼ÀÁÁ¾¿ÀÀ¾½ÀÄÁÀÀÃÆÈÆÄÿÃÅÄÃÁÁÂÃÃÂÄÃÄÃÅÆÅÁÃÁÄÅÃÂÆÈÈÈÆÇÊÌËÌÌÍÌÌÌÍËÊÈÊÌÍÊÉËÍÌÌÎÏÏÏÎÏÎÎÍÏÎÏÏÑÑÒz{{xzzyz}~{zz{|~||{||{||}~~xz{~}}}}}~~~}{€€~€€€€‚ƒƒ€~‚€……ƒ‚„ƒƒ……„ƒ‚‚‚„„„‚€ƒ‚„…†††…†…„ƒ††…††ƒ„…ƒ€ˆŠ‡‡‡†‰Š‹‹‰ˆˆ…„…‡ˆ‰‰ˆˆ‡‡ˆ‡ˆŠŒ‹‰††‡ˆŠŒŒŠŠ‹‡‹‹Œ‡‰ŽŠ‹ŒŒŽ‹‘‘‘Œ’”’‘‘’“‘‘‘Ž‘’“’‘’“““•“••““”“–””””——”•”•–—“”“•–™™™™˜–’—˜—™›š•••™ž™››šš››š››œ››››˜›™š›žŸ››œ™ššžŸŸœœœ›šŸŸ Ÿ¡ ŸŸ¡ž¡ ¢ž¡££Ÿ¢¢¡¤¦§¥££¢££¤¦¥¦¥¨¦¨©¨¥§¢¥§¨§¦¥§¦¦¢§¨¦¤§©§¡¦©ª¤¨©«£«­«©«ª«ª©¦¬¬­«©ª«¨¬­®§«ª«­­«®¬®®®­­¨«­­¬±²±¬­­±®±±®®°²°­°¯°¯±´³°³®²²´¯®¯¯®²³³­±¯´¶²­°®±±²³³±´²±¯³²²­µµ´°²±³­²´¶±¸¹¹¸¶´º»¹¶¶¸·²µµ··¶³´´¶¸¹¶¹¸»¼¹µ¸¹»»º¹½¿¾µº¼½½½¾½½¾º¹º¾¾¾º¾ÁÀÀ¿¿ÁÁ¿½ÁÃÁ¼ÁÃÆ¾ÄÆÄ¾ÄÄÄÃÃÃÃÃÃÃÂÃÄÃÄÆÇÂÆÂÆÆÈÆÈÃÉÄÈÈÊÌËÊÍËËÆÍÎÍÆÉÈÍÎÌÊÍÍÌËÍÌÌÌÎÇÌËÍÇÎÑÓÏÏÏxzzy{yyz~{zyz|}z{z{w{|~~}{{|~~}}|~~~~~~~~‚€~}~~‚ƒ|€‚‚‚ƒ„…„ƒƒ‚…ƒƒ‚€ƒƒƒ„„„ƒƒ„‚€‚†††€…‡‡†††‡†‡…ƒ…†……ˆˆ„‡†…ˆŠ‹Š…………ƒ‡ŠŠŠŠˆˆˆ‰‰‡‡‰ŠŠŠˆ…‡ˆŠŒ‹Š‰‹ŒŒŒ‹‹‹‹Œ‹Š‹ˆŒ’Ž‹ŒŽ‘‘’‘‘“‘‘‘““’’“’“’Ž“““““•––•““”•———––˜—––––—™˜“‘”–—™šš˜—“™œœšš—“”–˜žž›˜›œ›š›œš›››ž›šš›žžžž›šž   Ÿœ™›žŸŸ ¡¡  ¢¢¡¢¢¡¡££¢¢¡ £¦§¥£¢¢¢££¤¥£¥¦¦§©¬©¦¦§¦¥§©§¦§©¦ ¦¨ª©¨©§¦¨«ª¨§§ª¬«¬«ª«­¬««¬¬¬«©©ª©©ª¬«ªª«ªª««¬«ª¬­¯­­¯°®­±±±°®­¯°±²­±±±²³±®°²±±±°±²±²²±°±°®±³³³²²²³±¯¯¯°±±³³³´³±µ´±°±µ¸µ³µ·µ±²µ¶·¸º¸·µ²¹»¹¹¸¶¸º¸¶µ´²²µ·µ··¸¸¶·¹··»¾¼»¹¹»¼¼¼¼¼¹ººº¸¼½¼»»½¿¿º½À¿¾¿¾ÁÁ¾¿ÁÂÀÁÃÅÃÁÂÅÅÅÅÇÆÅÅÅÅÂÃÂÃÁÃÆÆÈÈÈÈÈÈÉÉÈÇÈÇÄÉÊÊËÌÍÌÍÊÈÊÍÌÌÊÈËËÌÎÍÌÌÊËÌÌÎÌÌÌÍÌËÍÑÒÒÒÒzxxy{xyz|~}||z|}||}{zz{|||}}||~~~€{{{~~‚‚}|}€€}}}~ƒƒ€}|‚‚ƒ„„…~‚‚ƒ‡‡ƒ€ƒ‚ƒ‚‚‚ƒƒ„‚ƒ‚„„††…„…ƒ†…†……‚ƒ„†………††ˆ‡†……‡ˆˆ‡‡‡‡ˆ‰ŠŠ‰ˆˆˆŠ†‰‰Š‰ˆ‡Š‹Š‰ˆ‡ŠŠŠ‰ŒŒŒŒ‹ˆ‹ŠŒ‹‹‹ŽŽ‘‘‘‘’’“‘Ž“““”““’’‘‘‘’““’“’•••“”•–••–––—•—”———˜™–“”••–™š˜˜™››—š”˜•˜šœšŸžœ™—ž›—›››™™šž›››šœŸŸœŸžšœžœœŸ  ž  ¡£¢¢¢¢¢££¢££ ¡£¤¥¤¤¤¡¡ ¢Ÿ¥¢¥¢¤¥©©¨§§§§¦§¨§¡¥¥§¡§¨­¬ª¨©©©§©ª¨¤«­¬¨«ª«­®¬ªª«¦ª¨«­­«ª©ª«««¬¬¬¬®©©©­«°±±±¯°°±¯­­­¬¬¯±²±±¯²³°«¯­¯¯­­°¯®­³´²±±°²³´´²°°°°¯°³³®³µµ´µ³³¶¶²³´·¶µ´µ¶¶µ¶¶µµ¸´¶±´±¶·¸²¸¸¹º¹²µµ¶²¸»¹²·ººµ¶µµµ¼¼»³¹ºº¹¸º¼¼º¸»¼»¹½¾¾¼¾¿¿¹¼½¿½¾¿ÀÀ¾ºÀ¼ÀÀÁÀ½ÂÄÆÆÇÆÆÇÆÅÄÀÃÀÄÃÃÅÇÇÆÇÆÅÈÄÉÇÆ¿ÆÄÊÊÇÅÊÅÌÇÊÇÉËÊÊËÇÊÊÍÏÎÌËÊÍÍÎÌËËÏÑÐÉÎÍÏÐÐÐzz{{{zyzz|~}|zw}||||{{z||||}|{z€~y€{|}}~}~€‚‚ƒ‚‚~~~€ƒ„ƒ‚€‚‚„„…„‚‚ƒ‡‰„ƒƒƒƒ„€~}„ƒ‚„†………‡…ƒƒ„„ƒ…„„…†‡†„…†…ˆˆ……†‡‡‡‡ˆˆˆ‰Šˆˆˆ†‡Š‹Š‰‰ŠŠ‰‰‹‹Š‹Š‰‰‰‰‹ŒŒŒŒ‰Š‹ŒŽŽŠŽŒŠŽŒ’’Ž’’‘‘‘‘‘Ž’‘“”’’“““’“‘‘“’““”“”•–˜—•”“’”—˜——˜˜–––”““””••–˜—™››š–˜™™šššœž›™œœš˜œž›œœœ›™™šœœš›œœ›  žžœœœ™ŸœžŸž¢ ŸŸž ¡¢ Ÿ¡¡¢¢¢££¢¡ ¢£¢ ¢£¢¡¢¢¤£¡£¤¤¦§§§§¦§¨¥¤¥¥¦¦¦¥¡¨¬­­©§¨ª¨¨©«ªª¬¯­ªªªª«¬«©ª©ªª¨«¯®«««­­¬­­¬¬­¯°­¬®±³´®¯°±¯°°®¯¯®®­®°¯­¯±±±°°²²­®°±²³´µ¶²²³²°´µ´³±³³±¯±¶¶µµ¸··¶´´¶¶¶¶¸¶µ³²´¶··¶·¶µµ´´¶´±µ¶·±¸º¸····¸¹º»½º³¸»»º¸º¹¹º»¹·¸»¼¼º¸¹»¼»¼¿¼·¼¾¿À¾½½½¼¼¾¾¾¿¾¾½½¾ÀÁÄÃÂÁÂÂÃÅÅÃÄÆÇÆÅÃÂÂÄÅÄÄÇÇÆÅÄÄÄÆÇÈÈÅÄÇÆÊÉÆÅÈËÊÊÉÈÈËÌËÌËÈÊÌÎÎÏÎÍÍÎÏÌÌÌÏÑÑÏÎÎÍÍÏÐyz{z{|z{{z}}|z|~|{{|z}~~}}{|}}}}|}}€€~yƒƒ‚‚ƒƒƒ‚‚‚ƒ……ƒ~‚‚‚€‚ƒ„ƒ‚‚‚…‡†…„ƒ…ƒ€ƒ„……„‚ƒ‚„ƒ…„„€ƒ„„ƒ†‡‡‡‡‡†…†…‡†…ƒ‡†‡††…„ƒ‡‰‰†ˆ†Š‹Š‰ŠˆŠ‹Š‰‹ŠŠ‡Œˆˆ‰ˆ‹Œ‰ŠŠŠ‹Š‹ŽŽŽŽŽŽŽ”–’ŽŽŽ‘‘’’‘‘’‘’’‘’”’‘’’“”‘””••””•”“•˜™™™˜––””“”–––——––˜š›˜———˜›››š›™™™—›œ›š›œŸŸœž›˜›ššœ™œž  ž›››Ÿ¡ ŸŸ ¢£¢žŸ Ÿ Ÿ ¢£££¤£ ¡žžŸ££¡ž¢¢¢¡¤¢¡¢£¡¥¦§§¦¥¦¡©¥¥¡¥§¨§¤Ÿ§ª«¨¨¥©©©ª«¬¬ª«®­«ªªª¥«©ªª©ª¬©«­­©«¬­®®­®­­¯¯¯¯¯¯¯²±¯¬°²±­°¯°±¯­®­¯¬­¬°±±±²³´­±²±²´³´´´´´´´´³³µ³µ®²²³µ¶±·µ¸¹¶²³²¶¶¶±µ³²­³··µ¶±²±´¯µµ·³¶´¸±¸¶·³·¸»ºº¶¼½ºµº¹»µ¹¹¹·¸¸¸··¸¼¼»µ¶·º¼¼½¼·½¼¿¼»ºº¼¾¼½¸¾¾¼¹½ºÀÀÃÃþÂÀÃÁÄÄÃÀÆÆÆÄûÃÅÅÄÇÉÈÄÅÄÅÃÄÅÇÉÇÄÆÈÌÈÈÆÉÉÉÉÊÉÊËÎÌÍÌÉÇÌÌÎÎÏÍËÊÎÌËÊÏÎÏÏÎÊËÌÌËxz|z|}{|yzz{|~~~}~~}|{|}~~}|~~~|{}~€~~~€‚‚€~‚ƒƒ„„ƒƒ„…ƒ‚~‚ƒƒ‚„…‚‚}ƒ……„„…„ƒƒ„…ƒ…„ƒ„„ƒ„„…„†…‚„…„…†ˆ‡……††‡‡‡…„…‡‡‡‡ˆ†„ƒƒ†‰‰‡‡‡ŠŠˆˆ‰‰Š‹‰Š‹ŠŠ‹‹ˆ‰‰‹ŒŠ‡ŠŠ‹‹ŠŒŽŽŒŒŠŒŽŒŒŒŒŒ‰Ž’••‘ŽŽŽ‘‘’‘’‘“‘’“’’’’•–•’““””•”“””•––”“–—˜˜˜—–––•”—–—————˜™ššš™˜™™››š›š˜™œ—š›š›ž¡¡¡ Ÿœ›œ›ššœžœœžŸŸšœžŸžŸ  ¡¡ž¡¢£¢ ¡¢¢  ¢¢£¤¥¦¦£ ¡¢žžŸ¤£ ¢££¤¤¥¥¥¡£¤¥§§¥¤¥§¨©§¦¦¨¨¥£¤§¨©ªªªªª«ª«¬«ª©­®®®­¬«ª©¬ª©¬¬©ª««ª¬­­­¬«­®¯°°¯¯°¯®®®°±±³³±¯­±±®®¯°°®®¯¯°²±²´´µ´´¶¶´±´²³µ´µ¶µ±³µ´µ´´´±´´µ´´µ·¶²µ¶¶·¶´³´´³³·¶µµ¶·¹¶´µ¸¸¸·¸¸¸·¶¶µµ¶º¼»»»º¸¸»¼»¹¸¸¸·º¼¹¼»º¹ºº·¸¹¹»»»¼¾¾¿¾¾¾¾½¾¾¾¾¾¾¾½º½ÀÁÁÁ¿ÁÁÃÄÂÃÂÂÄÆÄÄÄÄÅÅÅÄÆÉÈÅÅÅÅÅÅÇÅÉÉÈÈËÌËÊÊÈÇÇÊËÉÊÍÏÎÍÌÊÉÊÍÎÎÎÍÌÊÍËÎÏÎÎÎÏÏÐÏÑÑÐzz{zzyz}|yyy{}}z~~||{|{~}~€{~€|x€€€~~€‚‚}€‚‚‚ƒƒ„„‚‚‚‚ƒƒ‚‚€€„„‚€€€„ƒ‚‚‚„…†……„ƒƒƒ‚…††……†‡‡…ƒ†‡†……‡††…‚…†‡‡…‚†‡‡‡‡‡‡„…ƒ†ˆ‰‡ˆ†‰‰ˆˆ‰‰Š‹‰ˆ‹Œ‹Œ‹‹‹‹Œ‹‹ŠˆŒ‹ŒŒŠŒŒ‹‡ŽŠŒ‹ŽŒ’‘“‘‘‘’“’’’““’’““’’“•–•““”•‘•”“•—”””–•••–•—”•–—•——™–—˜˜˜˜™™——š™–š˜™™™•™™›œ—šš™™ž Ÿžžšœ™œ•ššœœœžŸ ¡¡Ÿ›Ÿ ¡ ¡Ÿ  ¡¤£¡¢£¢ž¢¥¦¤¤ž£¤¤£¤¦¥¡ ¡¥¤¤¥¤¤¤¤¤¤¨§¤¤¤¥§¡©¥¨©©¥¤£¨§ª¬ªª«ªª¬­««ª«¬­®®­­ª«¨¬¬­¬«ªª¨©©¬­¬©©ª¬­­®®ª®°°¯®°±¯±±²°¯­²±®¬­­±°¯¯°°²¯²´µ±´µ¶µ²±±°³®´´µ´°±²²´´´±²³´²±±±´´±µ¶¶´¶®µ²¶¶¶·¶³¶¶¶·¸²¶³··¸¶·²³µµ³µµ¹¼º¹¹···ººº¹¶µ·¸¹¼½½»¸¸¸º·¸¸¸·¾¼½½¿¼¾»ÀÀ¿¸¾»¾¿¾¿¾¼¿ÁÁ½Á¾¿¿¿¾ÂÁÁ¾ÃÁÁÂÄ¿ÄÃÄÄÅÄÅÆÈÅÇÅÆÁÅÇÊÊÉÉÈÉËÇÉÆÇÆÈÊÉÉËÎÏÍÌÉÈÈÈÈÉÇÌÍÍÊÊÉÏÏÍÈÍÐÑÐÐÈÒÎ{zyyxwy~~}|{{z{~}~~}|||}€€~~€€~|{}}}~€€~€‚‚‚ƒƒƒ‚‚‚ƒ„ƒ‚€ƒ‚‚ƒƒ‚ƒ„‚‚‚‚ƒ…†…„ƒƒ‚‚‚‚†‡…ƒ†ˆˆ„†ˆŠ‡……†„†…‚ƒ†‡††‡ˆ‡†††‡‡…††ˆˆ†ˆˆˆŠ‰…‡ˆŠ‹‹‡‡‹ŒŒ‹ŠŒ‹ŒŒ‹ˆ‹ŒŒŒŒŒŒŽŽ’‘““’‘Ž’’‘‘“““”“““’’““’’“””””•••••–”’“–—–•••——––––—“•—™šš™–—˜™™˜˜”•–š˜—˜˜˜™˜—™›ž›››™™œžššœœœž›™šœžœžŸŸŸŸ ¡žŸ Ÿ  Ÿ Ÿ ££¢¢£¡žŸ¤¥¥¥¦¥¥¥¥¦§¥£¢££¤¤¤¡£¥¦£¤¦§¥¥¦¨¨ª¨§§©ª§¦¦¨ª««ª«ª©ª­­¬«««ª«¬¬¬¬­«§¬®¬©©«©©©©¬­¬¨ª¬ª«¬¬¬­®°°¯¬±°®±²±¯¯°±³±®­«±²¯¯²³²¯¯±²³²³³²±±±¯±´´´³²°¯±±²´³±²´µ³³´µ´¶¶¶·µ³´µ¶·¶¶µ¶¸¸·µµ¶·¶¶¶·¹¸·µ°µ¶¶¶¶¶¸»º¸¹¶·¸¸··¹·´··¶º½»¹···¹ººº»¾¾¾¿½½½¿ÁÁÀ¾½¾¿¾¾¿À¾½¾À¿¾Â¾¼À½ÀÂÀÀÂÅÅÅþÂÄÅÇÇÇÆÅÈÈÇÆÇÈÇÉÊÊÉÉÇÇÉÉÉÉÉÊËÉÌÎÎÏÍËËÉÊÈÊÊÉÊËÍÍÍËÌÎÏÍÌÍÐÐÐÏÏÑÓ|{y{zz|~z}|}~~||{~~}}|{|~€€~}}}~~~€€€€€~€|€€‚‚‚ƒ„ƒƒƒƒ……‚ƒ‚‚„„ƒƒƒ€‚‚‚ƒ‚„‚ƒ‚‚‚„ƒ†‡………†‡…†‡ˆ……‡‡†……‚„††ƒ†ˆˆ…„„‡ˆ‰‡†„‰ˆˆ‰‰ˆˆ‡‰‰‰Š‹‰ˆˆ‹ŒŒ‹ŽŽŠ‹‹ŒŠŒ‰‹Š‹‹ŽŒŠŽŽŒ‘’‘““’Ž’‘‘’’““’’“‘’“’’’’“““““”“––”‘‘‘–—–””•–––”–—”–——™™—”—™š›š˜–•˜š˜—˜˜™™™˜˜š›œ›ššžš™™›š™œžžœ›šœžž˜š››Ÿ  žžŸ ¢¢¢¡  £¡Ÿ›¢¡¢Ÿ   £¤¥¦£¥¥¥ ¦¥¤¡££¤£¢Ÿ¤¦¨¨¦££¢¦¢¦§¨§©¢¦¦§§¨¥¨©«©««ª©ªªª¨¦¦«¬«©¬­«¤­¨®­ª¥§¨«¬¬«¬¬­©­®®­­¬®¯®¨°¯®°±°³³±°¯­°±³°®ª±³±¯²³³««¬¬¬²³²¯°²±¯°²³¯°°¯¯²³´¯³²³´·µ¶¹¸µ´µ·µ³±²³·¸µ¯µµ¸¸¸µµµ¶²¶´µ¶¸·µ²µ··¸¹²·¸¹¶º¶¶¶¶¶·¸¹¶¸´´·¼¼¼º¸¶¹¼¼¹¼º¾¾¿¼»º¿À¿À¿¿½¾º¿ÂÁ¼½¸¾½ÁÁ¾¹Á¾¿À½ÄÅÄÄÅ¿¾¿ÆÇÇÈÈÄÅÆÆÂÇÅÇÄÅÅÇÈÇÈÈÉÉÈËÎÍÉÍÐÏÌÊÉÊÈÉÉÌÆÊÉÎÌÍËÊÊÏÎÏËÍËÏÍÐÌÑÑ~|z|}|}~~}~~|}|{z|}}~~}v€€~~|{~€€‚ƒ‚€‚„ƒ‚‚ƒ„„……„„ƒ„„……ƒ‚ƒ‚‚ƒƒƒ‚€ƒƒƒƒƒƒƒƒ……„„ƒ†‡†„…„„…††ƒ„†‡‡†„„…‡†ƒ„‡…†‡‡‰‹Š‰‡‡ˆˆˆŠ‰ˆ†‡‰Š‡Š‰ˆ‰Š‰‹‹‹‹ŽŽŽŽŒŽŒ‰Š‹ŒŒŒŽ‹‘”‘Ž‘’’’‘‹‘’’‘‘’“’’’‘’’’““’““‘’‘’““’“•––“’‘’–˜–•””””•””–”—––—˜–“–™››š™—”˜™–˜˜™™˜—˜˜˜™™˜›™—œš™˜›œ››œ›œžžžžžžžžœž¡¢¢Ÿšž¡¢¢    ¡¡Ÿ ¡¡¡ž¡¡£¤¥¥¥¤¥¥¥¥¥¤Ÿ£¤££ ž¤§©¨§§¦¥¥¦¤¥¥¦¨§§¨¨©©¨§¨ª««ªªª©§¦¦¦¤ª­«ª«¬ªª­®®¬©¨©¬¬­­­¬¬¬«¯±¯®®°®¯­©°°°°°²±¯°²¯¬°±²±°°±³±¯²µ²¬±³®®±³±¯³¶´¯ª¯±±±±¬®³´¶µµ¶´³¶·¹¹¸´µµ´´²²³´µ·µ³´µ´µ·¸·¶µ³´´¶·¸¹·¶·¸¹º¸·¹º¹ºº··¹¸ººº»»¹¸¹»»»¼¼»¹¼½¼º¼¾¾½¼¼»½¾½»¾ÂÂÁ¿¿¿¿ÁÂÀ¿¾¼¼ÀÁ½ÀÃÁ¿¿ÂÂÃÄÅÆÅÄÁÂÃÅÃÇÇÃÃÃÅÅÅÄÄÃÆÄÄÅÇÊÉÉÈÆËÎÌÉÌÍÍÌËÊÈÉÊÌÍÍÍÏÐÏÍÌÎÐÐÏÎÌËÍÏÏÏÏÐÐ|zx}~{||~||~€€}|{z|}}€~~~}€~}|€€€€ƒ‚‚‚„„‚ƒ„„„………ƒƒƒ„‚ƒ‚€‚ƒƒƒ‚‚„„ƒ„…„„ƒƒ„……‡…„ƒƒ………†‡„„…„ƒƒƒ†ˆ‡……††………‡ˆ‰‰‡‰†Š‰ˆˆˆ„‰‹‰…ˆ‰ˆƒŠ‹‹ŠŠŠ‰ˆŒŒŽŽŒ‹ŒŽŽŒŒŒŒ…ŒŽŽŽ‘’“‘’’Œ‘’’‘‘‘Ž’’’‘’’‘””“““‘““•••–——”“’’––•––””“”“–——–—–˜™–“–˜››˜˜™•˜˜˜˜™•™™˜“™˜˜˜—›š“šœœ›š›š˜˜˜œžžžžžŸ›žž¢¡Ÿšš›Ÿ¡žœž›Ÿ ŸŸŸŸ¡¡¢¥£¥¥¦£¦¦¥¥¤ ¥¥¥¢  ¡¡©ª¨¦¦¥¥¤¤¤¤¤§§¨¨¨©«©¨§ªªª©ª«©¢¨§¨¥ª§§¦ªªª©«¬¯«¬¬¬««ª«ª©©ª«®ª®«®ª®¬­©±±²²°©ª©°²°­®¯®®²²±­°¬¯²±­´´²°°°±°´·µ±®®°±±°®©³´¶·µ³´°¶¶µ²¶³³²±²µ¶¶±³¶·¶´²³´´°··¶±±³·¸º¹·µ··¹¸¸µº¹¸¹¸¶º»»¼¼»»»ººº¹¼¹»¸ºº¼½½·½º½¹º·¾¿À½¼¸ÁÁÁ½¿½¾½Á¿À¿¿»ÂÀÁÃÅ»À¾ÃÄÄÃÄÅÄÃÁ½Â¿ÃÄÄÄÄÄÄÄÅÃÅÃÄÄÄÄÈËËÊÆÅËÌÊÊÍËÊÉÍÈÈÈÈÈÏËÏÐÐÍËÊÐÎÓËÎÍÍÎÎÏÏÍÐÐwwx}~}}||zy~€~}{||~~{€}~~€€€€€€€€€€€€€‚‚ƒ€€‚„„ƒ‚‚„ƒƒ„„‚ƒ„ƒ„„ƒ„…„„†…ƒ‚„ƒƒ…‡††…„ƒ…††‡‡†…„‚€…‡‰ˆ‡‡†„††ˆŠ‹‰ˆ‡‡ˆ‰ˆ‰ˆ‡‰‹Š†‰‹ˆ‰Š‹‹‰ˆŠ‹‹‹‹ŒŽŒŠŒŒŒŽŽŽŽŽŒŒ‰ŽŒ‘‘’”“’‘‘‘“’““”“““”’“’““’–––•”–”’‘‘“””•–•””••–˜™–——™š—”–—™™’—™ššš™š™™š›™š™šš™˜œœšš›œ››ž™˜š›œœžŸœœœžŸ  ŸŸŸŸž¡Ÿ›  ž  žŸžŸ¡¡¢£¤¥¥¥¥¥¦£¥¤¤¥¤¤¤£¤¦§©«¨¥¤¤¢¢¦¨¨¨¨§©©¨©ªª§ª¬¬©¨©ªªª©ªªªªª©ªªªªª¬­¯¯¯¯ªª«©©ª«¬­®®¯­ª«©¬«®°°°°°¯°°°±³²²°¬°²³´±¯®­¬°°²³µ³±®°²²³µµ²¯®­°²³°¯´´´µ³²²³µ¸¶´²²²³µµ¶·¶´³³·¶´³³µ³¯µ·µ´µ¸¸¹¹¸····¸··¹·µ¶»¹¶¸º¹»½½ºº¹¸¸¸»»¹¹º¼¾¾¾¿½½¼¼ºº½ÁÁÁ¾ºÁÁÀÀ½»½ÀÀÀÀÀÁÂÁÁÂÄÄÄÂÂÃÅÅÅÅÅÄÃÀ¿Á¾ÃÆÇÆÆÅÃÇÇÆÆÈÈÈÈÈÉËÌËÇÈËÍÌÌÎÎÊÌÍÌÊÊÊËÍÎÎÏÍÍÌÍÏÒÑÑÎÍÎÏÏÎÍÌÐÐy{}}~~}z{{|}~||{{||||}{~}||}|~~~€€€‚‚€‚‚‚ƒ‚‚ƒ‚‚‚€…ƒ€‚ƒ„„‚‚€…………„ƒ‚…………„†ˆ‡†…„ˆˆ‡‡†ƒ…„ƒ„„†ˆ‰ˆ‡ˆ‡‡ˆˆˆ‰‰ˆ„‡ƒ†ˆ‰ˆˆ…‰‰Š…ˆ‹‹Š‹‰ŠˆˆŠŒŒŠˆ‹ŠŒŒŒˆ‹ŽŽˆŒŽŽŽŒŽˆ‰‹ŽŽ‘‘‘””’’““‘’‘’““”•‘“’’’’’“’”••‘’”•‘‘’’‘‘’’”“––˜™˜–—–™——•–––———™™š—››š˜š™››ššœ—™œœœ›šœ›œœœš™›››˜žœœ›œ››œŸ   ¡¡¡¡¡  ŸŸ  Ÿ¡¡¡¡ ž¡ ¡£¤¤¤¤£ ££¥¤£ž¤¤¤¢¡¢¨¨¨¤¦£¦¥¤£§©©¨ª©ª¦§§¨§¨«¬§©©«««¨ª««¨«¥ª««¨¨©­®®­®­ª««ªª¥ª«®¯®««©ª¨­¬®®®¬­ª®°³²°±³²³®±°´³°­®¬±´²³³­³¯¯°²²³²µ²±¯®¬µµ²«´³±¯²±³³´µµ±³®µ³¶¶·µ¸·µ±¶µµµ¶·µ±¶´¶µ¶··³´´¶···¸¸º³°¯¸»¸²³µ¹º¼¾¼¶¶µ¸·ºº¹º¼»»»½½¾½½¾¼¸¼¾¿Á¿¼ÂÂÀÁÀ¸¿¿½»¿¿À¾¾¾ÃÃÄÁÅÂÄÀÆÅÅÂÄÄÄÁÿÆÈÈÆÅÄÇÉÈÆÆÆÈÊËÆÊÈËËÈÈÊËÌÍÏÏÍÌÌÌÊÊËÊÌÉÎÌÍÎÎÍÍÆÎÎÍËÐÐÏÍËÌÑÑz{|}|~}z{~~}|}{{{{~~|{|~|~€|~€€}~~€€€€‚‚ƒƒ‚„‚‚ƒƒ„€‚ƒƒ‚„……„„„ƒ‚†††…„…ˆˆ††‡ˆ‰…††………†‡…‡ˆ‡†‡ˆŠˆˆˆ††‡ˆ‡††„†ˆˆ‡‡ˆˆŠˆ‡‰‹‰‹Œ‹Š‰‰‹‹†‰ŠŠ‡‰ˆŠŒŽŽ‹ŠŽŒ‹ŒŒ‹‹‰Œ‘‘’“””’”•’Ž’““”“““”–”‘’’‘’’’‘‘“–—””––’“•–•“”••”˜š™—–––•—–••–––•——”™™—š›——šœœ›š›œœšš››š››œœš˜™›šš›œœžžŸŸŸœ›Ÿ¢¡¢   Ÿ žŸ£¢ Ÿž ¢¡¡ŸŸ¢¥¤£¤£¡¢¢¢£¥¦¤¢£¤¦¥£¥§§¦¥§§§¦¦§¨§ª¤¦¨©©¨¨¨§¦§«¬©¨¨ª««¬¬¬«««ª©«­®®­®¯­­¬«ª«¬¬¬«©©­¯­©«««­®®¬¯¯¯¯®¬­±²®°²±³´²°³³°®­«²¶´²±°²´±±±²³µ²²³´´µµ¶²°³´²±²´³²±³´´µ¸··¶·¸¹¸·µµ¶¶µµ·¹·¶¶´µµµ·µ¯³µµ¶¶¶·º¹¸´µ¹º¶¶·¸¹º»½»¸¹¹¸¸º»»½¼»¼¼»»¾¾¼¿¾·¹¼¾À¾¼ÂÁÀÁÀ¿¿¿»º¾À¿À¿¿ÃÅÅÂÃÃÃÆÆÆÄÃÂÃÅÆÅÆÇÇÇÆÅÈÉÇÄÆÅÅÈÊÊËÊÉÉÊÈÈÊÊÊÌÎÏÍÌÊÊËÌÍÌÌÍÎÎÎÎÍÌÌÍÍÎÍÎÏÐÏÍÎÏÏÑzy{{}~~{|~}~~~||}}}}|}~}~~€€|~€€€~€‚‚}‚‚‚ƒ„ƒ‚‚€‚‚ƒ~„…„‚ƒƒ‚ƒ„„„ƒ‚‚ƒ…†…………††††…†ˆ‡†…ƒ†…†‡‰‰‡†‡‡‡ŠŠˆˆ……††…‡ˆ†ƒ†‡‡†‡‡‰‰ˆˆ‰‰Š‹‹ŠŠˆ‰‰‡‰‹ŒŒŒŒ‹Œ‹‹ŽŽŒ‰ŠŠ‹‹ŽŒˆŽ‘ˆŽŽ’‘’“’’“““–—–””—”“”’’‘’‘“––•”•——””–––”““”“˜š™’“–•“–“““––˜—š–—™™˜™š˜“˜œœš™–š›š–˜š™˜›œœ›œš—šœ›”œœž   Ÿœ›ŸŸ ŸžžŸ ž¡¤¤ ž¡ ¡žžŸ¤¦¤ £¡¡¡¡¡¡¥¦¢¡¢¥¥¥¤¨§¨£¦¦§¨§¦©ªª¨¦¥§©§¤¦¨¨¨ªª«ª©¥¥¥ªª­ª«ª¬­ª¨­¯°®®¯¯®­¬¬¨¬¬®­¬©­®­©©©­­®¯¯¯®¯°¯­ª¯°°±²±²²²®±²²°­¬°±±°¯°°±°¬±°²²°«³±´±µ³³¯´³³³´µ´¯¯±²²µ³¸¸·µµµ¶¶µ³·°¸¶¸·¶³¸·¶°µ¶·¯µ·¶³´µ¶···µµ¹¹¸¹»¹¸¶¹¸º·º¸¸¸ºººº¼º¼¹»º»¼»º¼µµ¶¾¿¾¼ÂÁÀ¿¿¹À¾½¼½»¿ÀÀ¿ÄÅÅÁ»ÅÅÇÇÅÆÇÆÆÆÇÈÇÅÅÃÈÉÉÅÆÇÇÇÈÃÉÉËÉÊÆÇÉÌÊÊÉÎÌÍÇÇÇËÍÎÌËËÏÉÌËÌÉÏÐÏËÏÎÎÏÏÍÏËÏÉ}{|}{~}{|}}~~|}|y}~}{{{~€€€€}€€€€~~€ƒ‚}‚ƒ‚‚‚‚‚‚ƒ‚‚ƒƒ‚„ƒ‚ƒ†…„ƒ„‚€€„ƒƒƒ††…†††††„…†‡†„‡‡†††ˆ‰„…‡‡ˆˆ‰‰‰‡‡‡ˆ†‡‰‡†††ƒ†‡‡‡‡‡‡‰Š‰ŠŠŠ‹‰ˆ‰‡ŠŒ‹ŒŒ‹ŠŽŒŠ‹ŽŒ‹‹‹Œ‹‹‰ˆ‘ŽŽŽŒŠ’’’ŽŽŽ‘’‘’”–•””–”‘“”’’”•“‘’““•••–—––•”–”“’“‘•———˜—–”–—•–˜™™™›š———˜—˜˜——™š™˜˜š›š™›žœœœ™››˜žž›šœœœžŸ¡ ŸœœŸžžŸžŸ ¡ ¡¤¤£¡¢¢¢¡žŸ¡¦¦£¡¤¤£¤¡  £¤¤¡£¦¥¥¤§§§¦¥£¥¨¨¨¨©§¥¤¥¦¨¥¤¥§©ª©¨§©ª«©¥¨««¬«©«­ª©«­®®­®®®­­­®­®®®­®®­«««¬®¯¯°¯®¯²±®­®¯®°°°°°±°¯¯±´³®°±®®°°±°°°±²²°²¯«°²²´´³²³²°±´µµ³±²²³²´¶·¹¸µ²´µ·µµµ¶····¶µ¸¹·¶·¹¸¶·º¶·¹¸µ¶··¸¸·¹º¼»¹¹¸¹·¹»»¸»º»ºº¼¼½½¾¼»¼¾¼»»¼»¾¾¾¾¿ÀÀ¿¼¾ÁÀÀÁ¾½¹½¾¿ÃÃÄÄÄÂÂÄÅÅÆÅÇÉÈÆÆÅÈÈÅÄÅÈÊÈÆÇÈÇÈÉÉÈÉÊËÊÉËÎÌËËÌÎÌÌÍËÇÊËÌÌÏÏÍÌÌÍÍÏÏÐÐÐÏÍÍÎÎÌÐÒÏÏ}{}~~~}w||}}~{{{}{{|{}€~€€€€€€€€€‚€€‚}€€€|‚„~€ƒƒ€ƒƒ‚ƒ……~€€€ƒ„„ƒ‚‚„‡‡††††„……„ƒ„……†‡‡‡†……‡‡ƒƒ‡ˆˆ‡†‡‰ˆ‡‡ˆ†‡ˆ‡‡‡‡†‡ˆˆ‡„…‡‰ˆ‰‡Š‹‹ˆˆ‰‰ŠŒŒ‹Œ‹ŠŒ‹‡Š‹‹‹ŒŽˆŒŽŽŒ‰Œ‘’’ŽŽ‘‘‘Š‘ŽŽŽ”“”“”‘“Ž’‘•–“‘‘’““”•––—•”••“‘“‘—šš——–—˜——™š™šš˜˜”—”––˜———™™šœœœ›”œžžžžœ››œœœ™Ÿžœœžž› žœžžž ¡¡Ÿ ŸŸ¡£¢£¤¤¢ ž ¢¥¤£ ¤¤¤£¢¢¢£¥¥£¤¥£££¤¥¦¦¤¢£¥©¢§¦§¦¤¢¥§¦£¢¢©©¨§¨©©¬ª¦©¤«¬«¨¨©©©ª«¬¬¬«­­­¨¬¬«ª¯¯®­®©©ª­®¯¯¯°®ª°²±­¬¬¯®¯®®ª¯¯±°®¯µ´²±²¯±²²¯±°±²³´²±±­±«´¯µ²±°±°²­³´´³³³²³³³¶µ¸¶µµµ±µ³²²··¶µ¶µ·¸¶´º»¹¸»½º¹¸·¶µ¸¸¸ºº¶¹¹º¸º»¹¶¹º½¸¹º½¾¼¹¿¾¿½½º¾ÀÀ¿¾¼¾»¿½½¸½¿¿½¿¾ÀÁÁ¾½º¾ºÁÂÀ¾ÄÅÄÂÆÁÄ¿ÄÁÆÆÅÅÅÆÇÁÅÅÇÊÉÅÉÁÆÇÉÉÉÈÉÈÌÉÌËËÅÌÍÌÄÍÏÍÇÈÈÉËÑÎÌÌÌÌÍÍÏÌÎÎÏÌËÉÎÌÒÎÍÎ|}}~~~}}~~€€|}~€}~~x|€€~}}~€€€ƒƒ€~€‚€‚ƒ~€‚‚€}ƒƒ€„„‚~€ƒƒƒ„„„„ƒ‚„ˆˆ‡†††…ƒƒ„‚}ƒ‚‡‡‡ƒ‡……„……„†‰ˆ†‡ˆ‰‰„‡Š‹ˆ†‡ˆ„‡‰Š‹‰†…†‡‰‰‰Š‹‹‹Š‰ŒŒŠŠŠŠŒŒŒŽ‹Š‹ŒŠ‰ˆŽŽŽ‘‹ŒŽ‘’”“Ž‘‹‘’‘‘’‘’“’‘‘’•–”””•“Ž‘“”•“““‘“––””””••–——””•”’’˜™™–”——–••˜™š™—–˜š˜–—™˜–˜››šœœ››œœœž››œœ›œŸœžž›žŸŸŸžžŸ   ¡Ÿžœ¢¢¢¢¤¥¤žŸ¢¤¤£¢¢£¤£¢££¤¤¦¨¥¤£¢¤¤¤¥¦§¦¥¥¥¨©¨©©¨¨£¦¦¦¦¥¦¨ªª©©©ª«¬«ªªª¬ª¨¨©¨«­¬ªªªª¬­¬¨¬¬¬«¯¯¯¯®¬¬­¯¯¯®­®®«¯°¯­°®¯®°®®®¯±³²®°³³³³±±²³²²²³²°³µ³°±³³´´´´³±¯¶º·´°³µ¶´²²²²²´µ¶·µµ¶µµµ²°´¸¸·¶µ···¸º»·¸¼½»¹·¶¶··¸·ºº¹ººº»¼»º¸º½¼º¹º½¿½¾½¾¾¾»»½ÁÁÀ¾¾¾¾¾¿½»¼¾¾½¾ÀÀÀÀ¿¿¿ÀÀÂÿ½ÃÆÉÊÇÆÄÄÃÄÄÄÄÅÄÄÆÇÇÅÈÉÉÉÈÉÇÈÅÇÉÉÈÉËÌÌËÊÈËÎÊÈËÏÍËÊÈÉÌÐÎÍÎÍÍÏÒÑÎÌËÌÐÏÏÎÐÑÏÏÎ}}}z~~~~~€~|}y~|}~~}}~€€€~|~€€€€|€~~€‚‚ƒƒƒ‚‚€‚ƒ~€‚€€‚€ƒƒ„ƒ‚ƒ‚ƒ……„„„‡ˆ‡†…„†€ƒƒƒ…†‡‡‡‡ˆ‡‡††‡‡‡‰Šˆ…†‡‰ŠŠ‰‹Šˆ†‡ˆ‡‡Š‹‹‰‰‰‰†ˆ‰Š‹Š‡Š‹‹ŒŒ‹‹‡‹ƒŒŽŒŒ’‘Ž‰Ž‰‘‘’“’“‘Œ‹’’’’’’““’’’“•”“’”–”“““’”””’•˜—’”•’‘’˜—–——••“™›š™˜–—””“—šš˜—–—™š–˜™—•™šœœœš™—›œ››šœœœ—œžžšš™žŸŸŸž  Ÿž¡¡ œž ¡ž¡£¢¡¢¢¤¤¢¡¤¤¡Ÿ¢¡¢£¤¢¤¤£¢¥§¥¡¢¢¥¦¥¤¦Ÿ§¤§¦ª¨ª©ª©¨¤¥¦§§¨§¨¥§¨©¥ª«¬¬«¨©©¨¨«­­¬­¬¬««¬¬¨¬ªªª«ª®¯­®¯®®­¯¯®«­®­«­­¬¬¯°¯®®®­®°²´³°¬±±³³²«²±´µµ°²±³°³±±²µµµ±¶µ´°·ºº·³°¶·µ²´´´´¶¶··¶´¸³·´³°°±¹¶¶µ··¸¸¸···º·¸··´¸µ···¶¹¹»¼¼º½»»¸»¸¼·¶µº¹¼»¹¹½¹¹º¾¼À·¿¾¾½¿Á¿»½¹¾½ÁÁÁÁÁ¿ÁÂÁ¿ÂÄÁ½ÄÂÅÇÈÈÇÂŽÆÄÄÀÃÄÅÇÈÇÇÇÉÃÉÃÆÇÉÆÇÇÆÈÊÉÌËËÈËËËÈÌÊÍÊËÈÊÍÎÊÎÎÏÇÏÐÒÏÌÊÎÑÑÑÑÏÑÐÎÊ}}|}~~~€€||||y~}|}~~~€€~~~~~~€€€€€}}z~}€‚„ƒƒ‚‚€€ƒƒ‚‚ƒ„€€€…„‚‚‚‚„…„„„††„…„†††‡ˆ†ˆˆ‡‡†‡‡†€„†‡ˆŠŠŠˆ„‚†‰‹‹‹ˆˆ‡†‡Š‹ŠŠŠˆ‰ŠŠ‰†‡ˆŠŒŠˆŠŒŒŒŠ‹‹‹‹ŒŒŒ‹ŒŽŽ‘’‘ŒŒŽŽŽ‘‘ŽŽ‘””‘ŒŽ‘‘ŽŽ“““‘‘‘’“‘”””•••••”“’–—–””––•––—“———–—™››œ›™˜••—˜ššš–™šš˜˜˜˜–—™šœž›™™šœœ›š››œžžžž¡ŸžžžŸžŸ ¡¢££ œž ¡¢£¢   ¡¡¢£¤££ ¢¤£¡¤¥¥¤¤¡£¥¦£¢£¤¥¦¦¦¦¨§©¨¨¨«ª©©ª¨£¦§§§¨¨§§¦¦¨©ªª««ªªªª¨§¬®¬¬¬¬®°¯­«ª¬®«©­¯®¬§®°¯¯°¯®­«­®­°°¬®­¯¯±±¯¬¬®¯²²²°°±±¯³±°²´´µµ´²´µ¶´²³µµµµ´¶¸·µ¶···´°µ·¶¶µ´²¶¸¸¶¸·µ¸º·¶µ´³µ·¶··¸¶·¸··¸¹·¶¶¶¶¶¸¹¸¸··¹»»»»½¾½¼¼»½º¸µº¼½½ºº»¼½½À¾¿¿¾¾¾¿¾ÀÂÁÁ¿¾¿ÂÃÃÂÂÁÀÁÂÂÁÁÂÄÄÃÂÄÆÆÈÈÉÆÆÇÇÆÄÄÅÄÃÇÉÈÇÈÊÊÊÇÆÊÌÈÅÆÈÉÊËÌËÌËÊÌÌÌÍËÊËÈÊÌÌÍÏÐÎÈÐÓÑÏÏÌÏÐÑÒÒÐÒÑÎÌ~~|}~~€~€}~{}~~~}|}}~x~€‚€~€€€€|}~€‚‚€‚‚‚‚ƒ}‚ƒ„……„‚ƒƒƒ€‚‚„…„„ƒ‚‚„„„ƒ‚‚…†††††††‡††ˆˆ††…„…„ƒ†ˆ‰ˆˆ„†„…ˆ‰ŠŠŠˆ†‡ˆ‰‹‹‹ŠŠ‰‰†ˆ†ˆ‰ŠŠ‰ˆŠ‹ŒŒŒŒ‹Š‹ˆˆ‰ŠŠŽŽŽ‹Ž’‘ŽŠŽ•“‘‘Š‹“”“’’““‘””–—–•–”“’•–•••”–•”•–——”–——”—™››š“™“•—ššššš››”˜™š™˜™™–šœœ›š™œœ—šœœšžŸžœŸ¢¡   ŸŸŸ˜œšŸ¡¢£¡¡ŸœŸž ¢¢œ¡ ££¢£¤¥¥¥¥¥¥¥¤££¤¥¤¡ £¥¦§¨¥¨§§¦©¢§¨§¥¦£¨¥§¨¨ª©¦¦¨©£¨¨©©©¦ªªªª©¥¬©©«¬¨®°¯«ªª«««©®®®©ª­¯¬¯²±®­«¯¯±²³¬±¯°­²±°ª­¯°°¯®®¯°®°´³¯³±±²²²²¯·µ´±³µµ±²³³µ·´³±µ´´²´¬´¶·²´´·´¶µµ¶·¸··¹·µ´¶¶·´´³³³²±»º¹´¸¸¸·¹·¸¸¹µ»ºº³¹¶½½º´»º¹º¼¿À¿¾¹»¸º»À½¿¾À¼½½¾¾À¿ÂÁÁ½¿ÂÃÂÁ¿ÃºÂÃÿÀÂÃÄÆ½ÆÅÄÀÅÆÇÃÉÆÇÆÆÆÇÇÆÇÇÉÊÊËÍÊÁËÍÊÆÉËËÆÊÇÊÌËËÌÆÎËÊÊÌÈËÌÌÌÐÐÎÉÑÒÑÎÑÌÎÍÍÎÏÎÒÒÐÎ}|~~}€€€~~|~~~€‚‚‚€€‚‚~~€€~ƒ„ƒƒ‚‚‚‚ƒƒƒ…†ƒ‚‚„„„„‚ƒ„…†…„„ƒƒ„„ƒ‚‚†‡‡ˆ‡‡„………†‡‡ˆ‡†……††ˆˆˆ‹‰„……†ˆˆ‰‰‰ˆˆ‰ˆ‰‰ŠŠ‰‹ŠŠ‰Šˆ…‡‰‰ˆŠŠ‰ŠŠŒŽŒ‹‹‹Š‰Š‹ŒŒ‹Ž’‘ŽŽ‘‘Ž‹’“’‘‘‘ŽŽŒ‹‘’’‘“““““’‘””•–––•”““““”•–”””’“—˜—–˜–•–˜˜˜—˜—•”–•™™ššš™˜˜›››šœš—˜œ›œžš™žžŸ£¡¡¡¡Ÿ žžŸŸŸ¡¡ žœžŸŸŸ ¡¡  ŸŸ ¢¡ŸŸ¡£¤¢¥¥££¤¦¦¤¤¥£ž¡£§§§§¨©¨§§§¨¦¥¤¥¤¢¨ª¨§©«ª¨¨ªª©§©©¨©¨¨ª¨ªª©ªª¨¬¬¨¬®¬®®­«ª©«­¬««¬­­«­±²¯¯¯°°±±²³²±²²³±±¯®¯°°±±°¯¯¬¯³´´³±±±°°²µ¶¶´±´µµ´°²´µ¶¶³±³µµ¶´°°¶¸¹¶´¶·µ²¶¶¶¸¹¹¸¸¶´¶¸·¶¶···µ±¸º¸¸¹ºººº¹¸¹ººº»¹¹¹ºº¼¹¸ººº½¿¿Á¿¼»»¼¼¾¿¿¾¿¿¾¾À¿¾ÀÁÂÀ½¾ÁÃÄÂÂÃÅÂÂÀ½ÀÄÄÅÄÅÅÅÁ¾ÂÄÄÆÇÇÆÆÅÆÇÉÆÅÇÊÈÆÉÌÌÉÊËÊÌÍÌËÊÉÈÊËÉÉËÎÏÎÊÌÎÎÍÎÏÐÏÏÍÎÐÐÎÑÐÍÎÏÐÐÐÑÒÓÓÓ}~|€z~~~~~€€~~ƒƒ~~€‚ƒ€€€€{€}‚ƒƒ‚‚‚‚‚ƒ„€‚‚€ƒ…„ƒ‚€ƒ„…†…ƒ†…ƒ‚…‚ƒ‡ˆ†„†„……„…‡…†‡‡†…ƒ†‡ˆ…‡‰Š…†††‰‰‰‰ˆ‰ˆ‰‡ˆˆˆˆ‰‹‰†ŠŠŠ‡‡…‰ˆ‹ŠŠ‹ŒŒ‘ˆŒŠŽŽŒŒŽŽŽŒŠŽ‘ŽŽ‹‘’‘‘‘ŒŽŽŽŽ’””’“‘‘’’’”•••””””““”“‘‘’“”••—˜˜˜–””•–••••”•–—˜˜™™•š••–š›œ™œœ››žœ›šš››œ››œžž £¡œ  žžžž¡¡žž¢œžœ ¡¡ ¢£¡¡Ÿ¡ ¡ž Ÿ Ÿ  ¢¥¥ žž¦¦¥¥¥¢¡¡¤¦¦¢¥§©©ªª©©¨¥¥¦¥¢©©§¤¥¦©¤ªªª©ª««©«ª¨©©¬«¥©ª¬­¬¨«­®¯¯­««ªª­¨«¬®«¬©­«³°±±±­¬«°±±°³´³°±±¯®¯°±«°¯°­®¯µ¶´³²±°¯±²´µ´²µ³¶´²°¶´¶±±±±°³·¶±°µ·¸µ¯¶¶¶³³³·¹¹³¶¸¸´¸¸¸¶¶·¸¶¶³³²¶´·¸¹¸ºº¸¶»º»¶¹ºººº·¹»»»½ÀÀ½½¼¿¼»»»¸½¾¿½¾¾¿½½¿¿¸Ã¾À½¿Àý¼»Äý½¾ÁÁÂÂÀÀÇľÄÅÃÃÆÆÇÅÈÈÆÃÇÇÇÉÉÄÊÊÌÉÊÆÆÇÍËÌÆËËËÊÊÅËÍÏÏÎÍÏÏÍÇÎÐÏÇÌÍÏÐÏÐÑÈÐÑÐÐÑÒÓÐÕÖ}|{~}€~}~ƒ}||€€€€}}‚ƒƒ{~‚ƒ€€€€€€‚‚‚ƒ„ƒ„„ƒ‚‚‚ƒƒ‚ƒ…†††‡‡„†…‚„†ˆˆ†…†‡…„†ˆ‡…„‡‚………†‡ˆ‡‡‡ˆ…ˆ‰‡‰ŠŠŠŠ‰‡ˆˆ‰‰‰‰‰Š‰‰‰ŠŒŒŠ‰‰‰ŒŒŒ‘ŽŒŒŽŽŽŒŽŽŽ‘’‘’’’””‘‹Ž‘‘’“’‘’“’‘’””“”””•••”“’‘””—––˜™˜–”•“•••––––˜˜šš˜™›š™™™—š›œœžžœ››œ›œœœ›œœœŸŸ ¢¢¡Ÿž™Ÿ¡¢ Ÿ¡£¢Ÿž ¢¢¢¢¡ŸŸ¢¢¢¡£¢  £¤¤¤£¥¦££¤¤£§¦¤¤¤¥¦¦¦¤¥¨©ª¬¬ª¨¤¨¦¦§§¨§©ªª©«ªª©ª«¬««­­¨©ª¬«¨¨ª«¬«««­­¬ª«¬­­©¬¬­¯¯­®¯°²´´²±°®­®®°°°±²±²²´³²±¯°¬¯°¯°²´´³²²±³²²²±³³´µµ¶¶¶´µ´µµµ²±®±³¶¶³°´µ´³´¶·¹·¶µ¶·¶¶¶¸¸·¹º¶·¶··µµ··¶¶¶¸¹¸µ¸¹µ¸»½»¹ººººº¹¹½¾¼¿ÁÀ¿¼º¼¼¿¿¼»¾ÀÁÁ¿¾½¼¾ÂÀ¿ÂÄÀ¿ÁÅÃÀÀÃÄÃÂÂÂÁÂÀÀÁÁÁÅÆÃ¿ÅÆÁÂÅÈÈÉÉÉÆÂÇÇÄÈÉÊÊËÌÍÌËÊËËÊËÍËÌËÊÊÉÊËÍÎÎÍÎÑÍÉÌÏÏÏÍÌÏÎÎÏÑÐÑÑÏÎÎÑÑÑÓÔ~z}}{~~€€€z~€€€€}€€~‚~~{ƒ‚ƒƒƒ€}€€‚‚€‚‚ƒƒ……„‚ƒƒƒƒ‚‚‚‚‚‚„„ƒ‚ƒ…‡‡ˆ‡††„…ˆ‰‰ˆˆ‡…†……†††‡‡†…„…††‡ˆˆ††…ˆŠˆ‡Š‹Šˆ‰ˆˆˆ‰‰ŠŠŠ‹Šˆˆ‰ŒŒ‹‹‹ŠŒŽŒŠ‹ŽŽŽ‰‡‹ŒŒŠŒŽŒ‘’‘‘ŒŽ‘’’””“ŒŒ““’’’‘’”””““’‘””““”–••–––•––“–“—˜˜–™š—““”•••’–“”–š››—™š›˜šœš——–œ›žš˜š›šš›œœœŸ Ÿžžžžœ¡¢ œž ¢¢££££¢Ÿ¡¡¡ ¡ž ¢££¢¥¤¢¢¢¤¤£¤¤¤§¦£¢§©©¨§£¦¦¦¥¥¥§¨§¤¬«§¢¨¨©¤¤¤©«¬¨««¬«©ªªª««­­¬ªª¨ª©««««¬©­®­««©­°°ª¬«­¯¯¯±­°¯²³²ª¯°°¯¯±²¬®¯°±²´´³²®®­±°¯°²²³­°±³³³®´±³³³°µµ¶±µ³³®¶³´´´´´´µµ´³³´·¸·µ¹¸¶µ¶µ´µ··¹¸¹¹¸µ¶µ·°¶¶¸µ¹¹¹º¹·º¶¸¹»¸»¹¼½»¶ºº¼¿À¼¾»º¹¹¸½½ÀÀ¼»¾ÁÂÀ¾º½½¿Â¿½ÀÃýÄÃÿÂÂÃÁÀÂÂÂÅÃÃÃÃÃÆÂÂÁÄÇÆÂÅÈÉÈÊÊÇÃÅÅÆÈÇÆÊËËËÌËÊÉËÄÌËÊÉÊÊÉÄÉÉÍËÍÇÎÑÎÉÌÌÐÑÐÍÎÌÎÐÓÌÐÐÏÌÍÏÒËÒÏ~}~}|~~~~‚~~}ƒƒ€~~€|€€~‚ƒƒ€ƒ‚‚‚€‚‚ƒƒ„„„„€€‚…‡†…‚„ƒƒ…†‡‡…„ƒ‡ˆˆ†…„ƒ„‰‰‰‰‰‰ˆ†††…ƒ‡ˆˆˆ†„…††ƒ‡‡†‡ˆ‰Šˆ‡Š‹‰ˆ‰ˆ‰ˆ‰ŠŠ‹‹ŒŠ‡†‰Š‰‡‹‹ˆˆ‹Ž‹Š‹ŽŒŒŒŽ‹ŠŠ‹ŠŠŽŒ‹ŒŽŽŽ’’’‘‘‘‘‘““”’‘’“”’’”””––••”““‘‘““’‘•—–––””•—™š—”–™™™™›˜••——™˜——–—››™šœš˜™›™šœœœ›››šššœ›œžŸ¡¢ ŸŸœžžŸ¡ŸœžŸ¢¢¢¢ š ŸžŸ Ÿ ¢¡ ¤¦¤£¤¤£¤£££¥¥¥¤¦¦££¨ªª©¨§¦¥¥¦¦§¦§§¨ªª¨¦©©ªª¨¨¨ª«¬¬«­­ªªª©©ª«««««««ª¬­¬¬®¯®®­­­¬­±°®­­®­­°°¯®®®±¯®®±²²¯³´²­¯°¯¯±³³²±±²³³±°¯±³°²³´³µµµ´´´´µ³´¶µ´³²°´³´µ´´µ³²·¶´¶¹¹¹·¶¶¶µ·¹º¸¶·¸¹º¹¹¸µ·¸¸¹·¹¸º»º¹¹º¸»¾¼¹º¼¼¼¾¾»ºº»½¿¾½¼¼¹¶¼¿¾¿¿¿½»¿ÂÀ¿½½¾À¾À¼¼¾ÁÄÆÄÁÂÂÁÂÁÂÂÂÃÂÅÄÅÃÄÆÇÇÅÆÆÆÆÂÅÆÆÇÉÊÇÆÇÆÉÈÉÊÊÊÈÈÊÌÌÌÊËÌÌÊÊÊÉÉÉÊÉÌËÌÍÍÏÎËËÏÐÏÏÎÐÐÑÒÒÑÐÐÐÏÏÐÐÑÒÔ~}€~~€€ƒ€‚‚ƒ‚‚€€€~~}}ƒƒ‚~‚‚‚‚ƒ|ƒƒ„ƒƒ€‚„†‡†„„……†‰‹Š‰ˆ‡†„…‡‰ˆ‡…„„†ˆˆƒˆ‡‡‡……‡…†‡‡‰‰‰ˆ‡‡‡††…„‡‰Šˆ‡‡ŠŠŠ…‡‡‰ˆ‰‹Œ‹ŒŒŒŠ‰‰ˆ„ˆŠ‰‡ˆ‡ŒŒ‹Š‰’Œ‹ŽˆŠ‹ŒŒŽŒ‹‹Œ‰Ž‘‘‘‘Ž’’‘ŽŽŽ“–•’“””“‘•––’’’’“”“““’‘’——˜˜——–•™›˜‘—™š™™•–•——™š›š˜˜šœžœ–™šœš›œ››œ››ššššœžœœ¡¢¡žŸŸž˜žŸ Ÿ›œœž¡ ŸŸ¡¡¡ ŸžŸ¡£££¥¦¦¥¥¥¤£¦¥¢Ÿ¥¦§¥¥¥¤£¦§§¨§¥¦£¦¦¨¥§©ª¨©©©ª««¬ª«¨§©«§««¬¬­­ª¨©¥ª§¨ª«¬­«««¬¬®¯®¨­­­¬­®®®¯°°¬­­°¯®®¯¬®«®±²³±µ¶³°°®«¯®³²³±²³´µ³¬®°±³¶·µ¶¶µ¶¶µ±´¶µµµµ´³²­³²²³´µµ³µ¶·¶¹º¹¸·¶·¯´±¹¸¸´¶·¹»º¹¹¸»º¹¶º°¹»¼»º¹¸·»½½¹¼¼¼¼½¶»º¼¼½¸½»»»¼¹¼¾¿½¿¼½¼¼½¿¼ÀÀÂÂÀÀÀ»¾¾ÆÀÃÀÁÁÀÀÃÄÄÁÃÿÅÅÅÆÇÂÃÂÅÅÃÃÆÆÇÆÆÄÈÇÊÌÌËÈÆÊÍÏÈÊÊÌÉÊÇÉÉËÌËÈÈÊÌÌÍÍÏÊÎÐÏÎÎÍÏÐÐÌÑÑÑÑÒÎÐÍÍÍÒÔ
\ No newline at end of file
diff --git a/tutorial/tracking/template-tracker/tutorial-template-tracker.cpp b/tutorial/tracking/template-tracker/tutorial-template-tracker.cpp
index 4f00ddfe78a73647ef34f95a7e4578126761f786..921e5622399153dae088a0d70f4e7286c399a805 100644
--- a/tutorial/tracking/template-tracker/tutorial-template-tracker.cpp
+++ b/tutorial/tracking/template-tracker/tutorial-template-tracker.cpp
@@ -1,51 +1,88 @@
 /*! \example tutorial-template-tracker.cpp */
 #include <visp/vpDisplayGDI.h>
 #include <visp/vpDisplayX.h>
-#include <visp/vpImageIo.h>
+#include <visp/vpDisplayOpenCV.h>
+#include <visp/vpVideoReader.h>
+//! [Include]
 #include <visp/vpTemplateTrackerSSDInverseCompositional.h>
 #include <visp/vpTemplateTrackerWarpHomography.h>
+//! [Include]
 
-int main()
+int main(int argc, char** argv)
 {
-#if defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI)
+#if defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020100) || defined(VISP_HAVE_FFMPEG)
+  std::string videoname = "bruegel.mpg";
+
+  for (int i=0; i<argc; i++) {
+    if (std::string(argv[i]) == "--videoname")
+      videoname = std::string(argv[i+1]);
+    else if (std::string(argv[i]) == "--help") {
+      std::cout << "\nUsage: " << argv[0] << " [--name <video name>] [--help]\n" << std::endl;
+      return 0;
+    }
+  }
+
+  std::cout << "Video name: " << videoname << std::endl;
+
   vpImage<unsigned char> I;
 
-  vpImageIo::readPGM(I, "pattern-template-tracker.pgm");
+  vpVideoReader g;
+  g.setFileName(videoname);
+  g.open(I);
 
-#ifdef VISP_HAVE_X11
+#if defined(VISP_HAVE_X11)
   vpDisplayX display;
-#else
+#elif defined(VISP_HAVE_GDI)
   vpDisplayGDI display;
+#elif defined(VISP_HAVE_OPENCV)
+  vpDisplayOpenCV display;
+#else
+  std::cout << "No image viewer is available..." << std::endl;
 #endif
 
   display.init(I, 100, 100, "Template tracker");
   vpDisplay::display(I);
   vpDisplay::flush(I);
 
+  //! [Construction]
   vpTemplateTrackerWarpHomography warp;
-
   vpTemplateTrackerSSDInverseCompositional tracker(&warp);
+  //! [Construction]
 
-  tracker.setSampling(2,2);
+  tracker.setSampling(2, 2);
   tracker.setLambda(0.001);
   tracker.setIterationMax(200);
   tracker.setPyramidal(2, 1);
 
+  //! [Init]
   tracker.initClick(I);
+  //! [Init]
 
   while(1){
+    g.acquire(I);
     vpDisplay::display(I);
+
+    //! [Track]
     tracker.track(I);
+    //! [Track]
 
+    //! [Homography]
     vpColVector p = tracker.getp();
+    vpHomography H = warp.getHomography(p);
+    std::cout << "Homography: \n" << H << std::endl;
+    //! [Homography]
 
+    //! [Display]
     tracker.display(I, vpColor::red);
+    //! [Display]
 
     if (vpDisplay::getClick(I, false))
       break;
 
     vpDisplay::flush(I);
-    vpTime::wait(40);
   }
+#else
+  (void)argc;
+  (void)argv;
 #endif
 }
diff --git a/tutorial/visual-servo/ibvs/CMakeLists.txt b/tutorial/visual-servo/ibvs/CMakeLists.txt
index 42a4bd98a8b16d204cf8aced8fbf1bff6efda6e7..06edb2c835322fd7609f693a11867d737a3fde72 100644
--- a/tutorial/visual-servo/ibvs/CMakeLists.txt
+++ b/tutorial/visual-servo/ibvs/CMakeLists.txt
@@ -25,6 +25,9 @@ list(APPEND tutorial_data "${CMAKE_CURRENT_SOURCE_DIR}/target_square.pgm" )
 
 foreach(cpp ${tutorial_cpp})
   visp_add_target(${cpp})
+  if(COMMAND visp_add_dependency)
+    visp_add_dependency(${cpp} "tutorials")
+  endif()
 endforeach()
 
 # Copy the data files to the same location than the target
diff --git a/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-display.cpp b/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-display.cpp
index 29aae8c5eb7ae94d4ec789338b93c4a096374846..ccae30d6d32ad59bcd4bdd9aa94c21009ad33a89 100644
--- a/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-display.cpp
+++ b/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-display.cpp
@@ -3,6 +3,7 @@
 #include <visp/vpServo.h>
 #include <visp/vpSimulatorCamera.h>
 #include <visp/vpDisplayX.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpDisplayGDI.h>
 #include <visp/vpProjectionDisplay.h>
 #include <visp/vpServoDisplay.h>
@@ -69,6 +70,9 @@ int main()
 #elif defined(VISP_HAVE_GDI)
     vpDisplayGDI displayInt(Iint, 0, 0, "Internal view");
     vpDisplayGDI displayExt(Iext, 670, 0, "External view");
+#elif defined(VISP_HAVE_OPENCV)
+    vpDisplayOpenCV displayInt(Iint, 0, 0, "Internal view");
+    vpDisplayOpenCV displayExt(Iext, 670, 0, "External view");
 #else
     std::cout << "No image viewer is available..." << std::endl;
 #endif
diff --git a/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-image-tracking.cpp b/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-image-tracking.cpp
index 6d225b9c630768d6bda1e18c137439f49cceb883..09ac68f4b2455d150a44f495973058460f271c4f 100644
--- a/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-image-tracking.cpp
+++ b/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-image-tracking.cpp
@@ -1,5 +1,6 @@
 /*! \example tutorial-ibvs-4pts-image-tracking.cpp */
 #include <visp/vpDisplayX.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpDisplayGDI.h>
 #include <visp/vpFeatureBuilder.h>
 #include <visp/vpImageIo.h>
@@ -24,6 +25,7 @@ public:
     \param cam : Intrinsic camera parameters.
     */
   vpVirtualGrabber(const std::string &filename, const vpCameraParameters &cam)
+    : sim_(), target_(), cam_()
   {
     // The target is a square 20cm by 2cm square
     // Initialise the 3D coordinates of the target corners
@@ -80,7 +82,7 @@ void display_trajectory(const vpImage<unsigned char> &I, const std::vector<vpDot
 
 int main()
 {
-#if defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI)
+#if defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV)
   try {
     vpHomogeneousMatrix cdMo(0, 0, 0.75, 0, 0, 0);
     vpHomogeneousMatrix cMo(0.15, -0.1, 1., vpMath::rad(10), vpMath::rad(-10), vpMath::rad(50));
@@ -106,14 +108,16 @@ int main()
     vpDisplayX d(I, 0, 0, "Current camera view");
 #elif defined(VISP_HAVE_GDI)
     vpDisplayGDI d(I, 0, 0, "Current camera view");
+#elif defined(VISP_HAVE_OPENCV)
+    vpDisplayOpenCV d(I, 0, 0, "Current camera view");
 #else
     std::cout << "No image viewer is available..." << std::endl;
 #endif
 
     vpDisplay::display(I);
-    vpDisplay::displayCharString(I, 10, 10,
-                                 "Click in the 4 dots to initialise the tracking and start the servo",
-                                 vpColor::red);
+    vpDisplay::displayText(I, 10, 10,
+                           "Click in the 4 dots to initialise the tracking and start the servo",
+                           vpColor::red);
     vpDisplay::flush(I);
 
     vpFeaturePoint p[4], pd[4];
diff --git a/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-ogre-tracking.cpp b/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-ogre-tracking.cpp
index 912adffbdf2eaaf4c74db09cfb5d12e10351d45b..2253fb2581979c37203bfd171bf3d94b0b3f1267 100644
--- a/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-ogre-tracking.cpp
+++ b/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-ogre-tracking.cpp
@@ -1,5 +1,6 @@
 /*! \example tutorial-ibvs-4pts-ogre-tracking.cpp */
 #include <visp/vpDisplayX.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpDisplayGDI.h>
 #include <visp/vpAROgre.h>
 #include <visp/vpFeatureBuilder.h>
@@ -43,7 +44,7 @@ void ogre_get_render_image(vpAROgre &ogre, const vpImage<unsigned char> &backgro
 
 int main()
 {
-#if defined(VISP_HAVE_OGRE) && (defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI))
+#if defined(VISP_HAVE_OGRE) && (defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV))
   try {
     unsigned int thickness = 3;
 
@@ -108,12 +109,14 @@ int main()
     vpDisplayX d(I, 0, 0, "Camera view at desired position");
 #elif defined(VISP_HAVE_GDI)
     vpDisplayGDI d(I, 0, 0, "Camera view at desired position");
+#elif defined(VISP_HAVE_OPENCV)
+    vpDisplayOpenCV d(I, 0, 0, "Camera view at desired position");
 #else
     std::cout << "No image viewer is available..." << std::endl;
 #endif
 
     vpDisplay::display(I);
-    vpDisplay::displayCharString(I, 10, 10, "Click in the 4 dots to learn their positions", vpColor::red);
+    vpDisplay::displayText(I, 10, 10, "Click in the 4 dots to learn their positions", vpColor::red);
     vpDisplay::flush(I);
 
     std::vector<vpDot2> dot(4);
@@ -133,7 +136,7 @@ int main()
 
     vpDisplay::display(I);
     vpDisplay::setTitle(I, "Current camera view");
-    vpDisplay::displayCharString(I, 10, 10, "Click in the 4 dots to initialise the tracking and start the servo", vpColor::red);
+    vpDisplay::displayText(I, 10, 10, "Click in the 4 dots to initialise the tracking and start the servo", vpColor::red);
     vpDisplay::flush(I);
 
     for (int i = 0 ; i < 4 ; i++) {
diff --git a/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-wireframe-camera.cpp b/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-wireframe-camera.cpp
index af310734bdaabfb76e9fbdcd9c8485c89eead9da..5378468a66a2e054367e62160c4a95cbfa160308 100644
--- a/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-wireframe-camera.cpp
+++ b/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-wireframe-camera.cpp
@@ -3,6 +3,7 @@
 #include <visp/vpServo.h>
 #include <visp/vpSimulatorCamera.h>
 #include <visp/vpDisplayX.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpDisplayGDI.h>
 #include <visp/vpProjectionDisplay.h>
 #include <visp/vpServoDisplay.h>
@@ -69,6 +70,9 @@ int main()
 #elif  defined VISP_HAVE_GDI
     vpDisplayGDI displayInt(Iint, 0, 0, "Internal view");
     vpDisplayGDI displayExt(Iext, 670, 0, "External view");
+#elif  defined VISP_HAVE_OPENCV
+    vpDisplayOpenCV displayInt(Iint, 0, 0, "Internal view");
+    vpDisplayOpenCV displayExt(Iext, 670, 0, "External view");
 #else
     std::cout << "No image viewer is available..." << std::endl;
 #endif
diff --git a/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-wireframe-robot-afma6.cpp b/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-wireframe-robot-afma6.cpp
index ab10745d13c35b77544ee467cb44bcd0913c72c3..016b07c1f24f80b720d94f14c8351f1c5065fc13 100644
--- a/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-wireframe-robot-afma6.cpp
+++ b/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-wireframe-robot-afma6.cpp
@@ -1,5 +1,6 @@
 /*! \example tutorial-ibvs-4pts-wireframe-robot-afma6.cpp */
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpDisplayX.h>
 #include <visp/vpFeatureBuilder.h>
 #include <visp/vpServo.h>
@@ -110,6 +111,8 @@ int main()
     vpDisplayX displayInt(Iint, 700, 0, "Internal view");
 #elif defined(VISP_HAVE_GDI)
     vpDisplayGDI displayInt(Iint, 700, 0, "Internal view");
+#elif defined(VISP_HAVE_OPENCV)
+    vpDisplayOpenCV displayInt(Iint, 700, 0, "Internal view");
 #else
     std::cout << "No image viewer is available..." << std::endl;
 #endif
@@ -131,7 +134,7 @@ int main()
       robot.getInternalView(Iint);
       if (!start) {
         display_trajectory(Iint, point, cMo, cam);
-        vpDisplay::displayCharString(Iint, 40, 120, "Click to stop the servo...", vpColor::red);
+        vpDisplay::displayText(Iint, 40, 120, "Click to stop the servo...", vpColor::red);
       }
       vpDisplay::flush(Iint);
 
@@ -146,7 +149,7 @@ int main()
         start = false;
         v = 0;
         robot.setVelocity(vpRobot::CAMERA_FRAME, v);
-        vpDisplay::displayCharString(Iint, 40, 120, "Click to start the servo...", vpColor::blue);
+        vpDisplay::displayText(Iint, 40, 120, "Click to start the servo...", vpColor::blue);
         vpDisplay::flush(Iint);
         vpDisplay::getClick(Iint);
       }
diff --git a/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-wireframe-robot-viper.cpp b/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-wireframe-robot-viper.cpp
index 3ad1147583827ddf2e3aaf0e24d4832a337bb6da..adb8ade575dffb1e80aa01e66112a317162816e8 100644
--- a/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-wireframe-robot-viper.cpp
+++ b/tutorial/visual-servo/ibvs/tutorial-ibvs-4pts-wireframe-robot-viper.cpp
@@ -1,5 +1,6 @@
 /*! \example tutorial-ibvs-4pts-wireframe-robot-viper.cpp */
 #include <visp/vpDisplayGDI.h>
+#include <visp/vpDisplayOpenCV.h>
 #include <visp/vpDisplayX.h>
 #include <visp/vpFeatureBuilder.h>
 #include <visp/vpServo.h>
@@ -119,6 +120,8 @@ int main()
     vpDisplayX displayInt(Iint, 700, 0, "Internal view");
 #elif defined(VISP_HAVE_GDI)
     vpDisplayGDI displayInt(Iint, 700, 0, "Internal view");
+#elif defined(VISP_HAVE_OPENCV)
+    vpDisplayOpenCV displayInt(Iint, 700, 0, "Internal view");
 #else
     std::cout << "No image viewer is available..." << std::endl;
 #endif
@@ -142,7 +145,7 @@ int main()
       robot.getInternalView(Iint);
       if (!start) {
         display_trajectory(Iint, point, cMo, cam);
-        vpDisplay::displayCharString(Iint, 40, 120, "Click to stop the servo...", vpColor::red);
+        vpDisplay::displayText(Iint, 40, 120, "Click to stop the servo...", vpColor::red);
       }
       vpDisplay::flush(Iint);
 
@@ -157,7 +160,7 @@ int main()
         start = false;
         v = 0;
         robot.setVelocity(vpRobot::CAMERA_FRAME, v);
-        vpDisplay::displayCharString(Iint, 40, 120, "Click to start the servo...", vpColor::blue);
+        vpDisplay::displayText(Iint, 40, 120, "Click to start the servo...", vpColor::blue);
         vpDisplay::flush(Iint);
         //vpDisplay::getClick(Iint);
       }