<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">hi guys... i'm trying to compile gdcm with vtk support and a i'm getting this error:<div class=""><br class=""></div><div class=""><div class="">n file included from /Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageColorViewer.cxx:15:</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageColorViewer.h:73:3: error: C++ requires a type specifier for all declarations</div><div class="">  vtkTypeRevisionMacro(vtkImageColorViewer,vtkObject);</div><div class="">  ^</div><div class="">In file included from /Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageMapToWindowLevelColors2.cxx:15:</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageMapToWindowLevelColors2.h:38:3: error: C++ requires a type specifier for all declarations</div><div class="">  vtkTypeRevisionMacro(vtkImageMapToWindowLevelColors2,vtkImageMapToColors);</div><div class="">  ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageMapToWindowLevelColors2.cxx:25:54: error: expected parameter declarator</div><div class="">vtkCxxRevisionMacro(vtkImageMapToWindowLevelColors2, "$Revision: 1.3 $")</div><div class="">                                                     ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageMapToWindowLevelColors2.cxx:25:54: error: expected ')'</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageMapToWindowLevelColors2.cxx:25:20: note: to match this '('</div><div class="">vtkCxxRevisionMacro(vtkImageMapToWindowLevelColors2, "$Revision: 1.3 $")</div><div class="">                   ^</div><div class="">In file included from /Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageMapToWindowLevelColors2.cxx:/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcm4DSplitter.cxx25::1341:</div><div class="">: error: C++/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmReader.h :requires39 :a4 :type  specifier errorfor:  all declarationsC++</div><div class="">requires a type specifier for all declarations</div><div class="">vtkCxxRevisionMacro(vtkImageMapToWindowLevelColors2, "$Revision: 1.3 $")</div><div class="">^</div><div class="">   vtkTypeRevisionMacro(vtkGdcmReader, vtkImageReader);</div><div class="">   ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageMapToWindowLevelColors2.cxx:25:73: error: expected ';' after top level declarator</div><div class="">vtkCxxRevisionMacro(vtkImageMapToWindowLevelColors2, "$Revision: 1.3 $")</div><div class="">                                                                        ^</div><div class="">                                                                        ;</div><div class="">5 errors generated.</div><div class="">make[2]: *** [vtk/CMakeFiles/vtkgdcm.dir/vtkImageMapToWindowLevelColors2.o] Error 1</div><div class="">make[2]: *** Waiting for unfinished jobs....</div><div class="">In file included from /Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmReader.cxx:86:</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmReader.h:39:4: error: C++ requires a type specifier for all declarations</div><div class="">   vtkTypeRevisionMacro(vtkGdcmReader, vtkImageReader);</div><div class="">   ^</div><div class="">In file included from /Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageColorViewer.cxx:22:</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageMapToWindowLevelColors2.h:38:3: error: C++ requires a type specifier for all declarations</div><div class="">  vtkTypeRevisionMacro(vtkImageMapToWindowLevelColors2,vtkImageMapToColors);</div><div class="">  ^</div><div class="">In file included from /Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmWriter.cxx:23:</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmWriter.h:49:4: error: C++ requires a type specifier for all declarations</div><div class="">   vtkTypeRevisionMacro(vtkGdcmWriter, vtkImageWriter);</div><div class="">   ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcm4DSplitter.cxx:649:14: warning: initialization of pointer of type 'gdcm::FileList *' (aka 'vector<gdcm::File *> *') to null from a constant boolean expression [-Wbool-conversion]</div><div class="">      return false;</div><div class="">             ^~~~~</div><div class="">1 warning and 1 error generated.</div><div class="">make[2]: *** [vtk/CMakeFiles/vtkgdcm.dir/vtkGdcm4DSplitter.o] Error 1</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmReader.cxx:95:36: error: expected parameter declarator</div><div class="">vtkCxxRevisionMacro(vtkGdcmReader, "$Revision: 1.99 $")</div><div class="">                                   ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmReader.cxx:95:36: error: expected ')'</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmReader.cxx:95:20: note: to match this '('</div><div class="">vtkCxxRevisionMacro(vtkGdcmReader, "$Revision: 1.99 $")</div><div class="">                   ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmReader.cxx:95:1: error: C++ requires a type specifier for all declarations</div><div class="">vtkCxxRevisionMacro(vtkGdcmReader, "$Revision: 1.99 $")</div><div class="">^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmReader.cxx:95:56: error: expected ';' after top level declarator</div><div class="">vtkCxxRevisionMacro(vtkGdcmReader, "$Revision: 1.99 $")</div><div class="">                                                       ^</div><div class="">                                                       ;</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmReader.cxx:338:10: error: no matching member function for call to 'AllocateScalars'</div><div class="">   data->AllocateScalars();  // For VTK5.0</div><div class="">   ~~~~~~^~~~~~~~~~~~~~~</div><div class="">/usr/local/include/vtk-6.3/vtkImageData.h:244:16: note: candidate function not viable: requires single argument 'pipeline_info', but no arguments were provided</div><div class="">  virtual void AllocateScalars(vtkInformation* pipeline_info);</div><div class="">               ^</div><div class="">/usr/local/include/vtk-6.3/vtkImageData.h:237:16: note: candidate function not viable: requires 2 arguments, but 0 were provided</div><div class="">  virtual void AllocateScalars(int dataType, int numComponents);</div><div class="">               ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmReader.cxx:342:14: error: no matching member function for call to 'UpdateExtentIsEmpty'</div><div class="">   if (this->UpdateExtentIsEmpty(output))</div><div class="">       ~~~~~~^~~~~~~~~~~~~~~~~~~</div><div class="">/usr/local/include/vtk-6.3/vtkAlgorithm.h:504:7: note: candidate function not viable: requires 2 arguments, but 1 was provided</div><div class="">  int UpdateExtentIsEmpty(vtkInformation *pinfo, vtkDataObject *output);</div><div class="">      ^</div><div class="">/usr/local/include/vtk-6.3/vtkAlgorithm.h:505:7: note: candidate function not viable: requires 2 arguments, but 1 was provided</div><div class="">  int UpdateExtentIsEmpty(vtkInformation *pinfo, int extentType);</div><div class="">      ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmWriter.cxx:36:36: error: expected parameter declarator</div><div class="">vtkCxxRevisionMacro(vtkGdcmWriter, "$Revision: 1.36 $")</div><div class="">                                   ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmWriter.cxx:36:36: error: expected ')'</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmWriter.cxx:36:20: note: to match this '('</div><div class="">vtkCxxRevisionMacro(vtkGdcmWriter, "$Revision: 1.36 $")</div><div class="">                   ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmWriter.cxx:36:1: error: C++ requires a type specifier for all declarations</div><div class="">vtkCxxRevisionMacro(vtkGdcmWriter, "$Revision: 1.36 $")</div><div class="">^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmWriter.cxx:36:56: error: expected ';' after top level declarator</div><div class="">vtkCxxRevisionMacro(vtkGdcmWriter, "$Revision: 1.36 $")</div><div class="">                                                       ^</div><div class="">                                                       ;</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmWriter.cxx:102:25: error: no member named 'GetUpdateExtent' in 'vtkImageData'; did you mean 'GetAxisUpdateExtent'?</div><div class="">   int *extent = image->GetUpdateExtent();</div><div class="">                        ^~~~~~~~~~~~~~~</div><div class="">                        GetAxisUpdateExtent</div><div class="">/usr/local/include/vtk-6.3/vtkImageData.h:158:16: note: 'GetAxisUpdateExtent' declared here</div><div class="">  virtual void GetAxisUpdateExtent(int axis, int &min, int &max, const int* updateExtent);</div><div class="">               ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmWriter.cxx:102:41: error: too few arguments to function call, expected 4, have 0</div><div class="">   int *extent = image->GetUpdateExtent();</div><div class="">                 ~~~~~~~~~~~~~~~~~~~~~~ ^</div><div class="">/usr/local/include/vtk-6.3/vtkImageData.h:158:3: note: 'GetAxisUpdateExtent' declared here</div><div class="">  virtual void GetAxisUpdateExtent(int axis, int &min, int &max, const int* updateExtent);</div><div class="">  ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmWriter.cxx:205:25: error: no member named 'GetUpdateExtent' in 'vtkImageData'; did you mean 'GetAxisUpdateExtent'?</div><div class="">   int *extent = image->GetUpdateExtent();</div><div class="">                        ^~~~~~~~~~~~~~~</div><div class="">                        GetAxisUpdateExtent</div><div class="">/usr/local/include/vtk-6.3/vtkImageData.h:158:16: note: 'GetAxisUpdateExtent' declared here</div><div class="">  virtual void GetAxisUpdateExtent(int axis, int &min, int &max, const int* updateExtent);</div><div class="">               ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmWriter.cxx:205:41: error: too few arguments to function call, expected 4, have 0</div><div class="">   int *extent = image->GetUpdateExtent();</div><div class="">                 ~~~~~~~~~~~~~~~~~~~~~~ ^</div><div class="">/usr/local/include/vtk-6.3/vtkImageData.h:158:3: note: 'GetAxisUpdateExtent' declared here</div><div class="">  virtual void GetAxisUpdateExtent(int axis, int &min, int &max, const int* updateExtent);</div><div class="">  ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmWriter.cxx:262:26: error: cannot initialize a variable of type 'float *' with an rvalue of type 'double *'</div><div class="">   vtkFloatingPointType *sp = image->GetSpacing();</div><div class="">                         ^    ~~~~~~~~~~~~~~~~~~~</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmWriter.cxx:276:26: error: cannot initialize a variable of type 'float *' with an rvalue of type 'double *'</div><div class="">   vtkFloatingPointType *org = image->GetOrigin();</div><div class="">                         ^     ~~~~~~~~~~~~~~~~~~</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmWriter.cxx:287:26: error: cannot initialize a variable of type 'float *' with an rvalue of type 'double *'</div><div class="">   vtkFloatingPointType *rng = image->GetScalarRange();</div><div class="">                         ^     ~~~~~~~~~~~~~~~~~~~~~~~</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmWriter.cxx:380:45: error: too few arguments to function call, expected 4, have 3</div><div class="">   cache->GetAxisUpdateExtent(axis, min, max);</div><div class="">   ~~~~~~~~~~~~~~~~~~~~~~~~~~               ^</div><div class="">/usr/local/include/vtk-6.3/vtkImageData.h:158:3: note: 'GetAxisUpdateExtent' declared here</div><div class="">  virtual void GetAxisUpdateExtent(int axis, int &min, int &max, const int* updateExtent);</div><div class="">  ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmWriter.cxx:387:51: error: too few arguments to function call, expected 5, have 3</div><div class="">         cache->SetAxisUpdateExtent(axis, idx, idx);</div><div class="">         ~~~~~~~~~~~~~~~~~~~~~~~~~~               ^</div><div class="">/usr/local/include/vtk-6.3/vtkImageData.h:155:3: note: 'SetAxisUpdateExtent' declared here</div><div class="">  virtual void SetAxisUpdateExtent(int axis, int min, int max,</div><div class="">  ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmWriter.cxx:395:51: error: too few arguments to function call, expected 5, have 3</div><div class="">7 errors generated.</div><div class="">         cache->SetAxisUpdateExtent(axis, idx, idx);</div><div class="">         ~~~~~~~~~~~~~~~~~~~~~~~~~~               ^</div><div class="">/usr/local/include/vtk-6.3/vtkImageData.h:155:3: note: 'SetAxisUpdateExtent' declared here</div><div class="">  virtual void SetAxisUpdateExtent(int axis, int min, int max,</div><div class="">  ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkGdcmWriter.cxx:401:45: error: too few arguments to function call, expected 5, have 3</div><div class="">   cache->SetAxisUpdateExtent(axis, min, max);</div><div class="">   ~~~~~~~~~~~~~~~~~~~~~~~~~~               ^</div><div class="">/usr/local/include/vtk-6.3/vtkImageData.h:155:3: note: 'SetAxisUpdateExtent' declared here</div><div class="">  virtual void SetAxisUpdateExtent(int axis, int min, int max,</div><div class="">  ^</div><div class="">make[2]: *** [vtk/CMakeFiles/vtkgdcm.dir/vtkGdcmReader.o] Error 1</div><div class="">16 errors generated.</div><div class="">make[2]: *** [vtk/CMakeFiles/vtkgdcm.dir/vtkGdcmWriter.o] Error 1</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageColorViewer.cxx:29:42: error: expected parameter declarator</div><div class="">vtkCxxRevisionMacro(vtkImageColorViewer, "$Revision: 1.3 $")</div><div class="">                                         ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageColorViewer.cxx:29:42: error: expected ')'</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageColorViewer.cxx:29:20: note: to match this '('</div><div class="">vtkCxxRevisionMacro(vtkImageColorViewer, "$Revision: 1.3 $")</div><div class="">                   ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageColorViewer.cxx:29:1: error: C++ requires a type specifier for all declarations</div><div class="">vtkCxxRevisionMacro(vtkImageColorViewer, "$Revision: 1.3 $")</div><div class="">^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageColorViewer.cxx:29:61: error: expected ';' after top level declarator</div><div class="">vtkCxxRevisionMacro(vtkImageColorViewer, "$Revision: 1.3 $")</div><div class="">                                                            ^</div><div class="">                                                            ;</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageColorViewer.cxx:198:12: error: no member named 'UpdateInformation' in 'vtkImageData'</div><div class="">    input->UpdateInformation();</div><div class="">    ~~~~~  ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageColorViewer.cxx:199:25: error: no member named 'GetWholeExtent' in 'vtkImageData'</div><div class="">    int *w_ext = input->GetWholeExtent();</div><div class="">                 ~~~~~  ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageColorViewer.cxx:211:12: error: no member named 'UpdateInformation' in 'vtkImageData'</div><div class="">    input->UpdateInformation();</div><div class="">    ~~~~~  ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageColorViewer.cxx:212:19: error: no member named 'GetWholeExtent' in 'vtkImageData'</div><div class="">    return input->GetWholeExtent() + this->SliceOrientation * 2;</div><div class="">           ~~~~~  ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageColorViewer.cxx:345:10: error: no member named 'UpdateInformation' in 'vtkImageData'</div><div class="">  input->UpdateInformation();</div><div class="">  ~~~~~  ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageColorViewer.cxx:346:23: error: no member named 'GetWholeExtent' in 'vtkImageData'</div><div class="">  int *w_ext = input->GetWholeExtent();</div><div class="">               ~~~~~  ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageColorViewer.cxx:479:31: error: no member named 'UpdateInformation' in 'vtkImageData'</div><div class="">        this->IV->GetInput()->UpdateInformation();</div><div class="">        ~~~~~~~~~~~~~~~~~~~~  ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageColorViewer.cxx:480:31: error: no member named 'SetUpdateExtent' in 'vtkImageData'; did you mean 'SetAxisUpdateExtent'?</div><div class="">        this->IV->GetInput()->SetUpdateExtent</div><div class="">                              ^~~~~~~~~~~~~~~</div><div class="">                              SetAxisUpdateExtent</div><div class="">/usr/local/include/vtk-6.3/vtkImageData.h:155:16: note: 'SetAxisUpdateExtent' declared here</div><div class="">  virtual void SetAxisUpdateExtent(int axis, int min, int max,</div><div class="">               ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageColorViewer.cxx:481:34: error: no member named 'GetWholeExtent' in 'vtkImageData'</div><div class="">          (this->IV->GetInput()->GetWholeExtent());</div><div class="">           ~~~~~~~~~~~~~~~~~~~~  ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageColorViewer.cxx:482:31: error: no member named 'Update' in 'vtkImageData'</div><div class="">        this->IV->GetInput()->Update();</div><div class="">        ~~~~~~~~~~~~~~~~~~~~  ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageColorViewer.cxx:609:23: error: no member named 'SetInput' in 'vtkImageActor'; did you mean 'GetInput'?</div><div class="">    this->ImageActor->SetInput(this->WindowLevel->GetOutput());</div><div class="">                      ^~~~~~~~</div><div class="">                      GetInput</div><div class="">/usr/local/include/vtk-6.3/vtkImageActor.h:55:25: note: 'GetInput' declared here</div><div class="">  virtual vtkImageData *GetInput();</div><div class="">                        ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageColorViewer.cxx:609:32: error: too many arguments to function call, expected 0, have 1</div><div class="">    this->ImageActor->SetInput(this->WindowLevel->GetOutput());</div><div class="">    ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</div><div class="">/usr/local/include/vtk-6.3/vtkImageActor.h:55:3: note: 'GetInput' declared here</div><div class="">  virtual vtkImageData *GetInput();</div><div class="">  ^</div><div class="">/Volumes/DATA/data/freddy/libs/gdcm/gdcm/vtk/vtkImageColorViewer.cxx:618:23: error: no member named 'SetInput' in 'vtkImageActor'; did you mean 'GetInput'?</div><div class="">    this->ImageActor->SetInput(NULL);</div><div class="">                      ^~~~~~~~</div><div class="">                      GetInput</div><div class="">/usr/local/include/vtk-6.3/vtkImageActor.h:55:25: note: 'GetInput' declared here</div><div class="">  virtual vtkImageData *GetInput();</div><div class="">                        ^</div><div class="">fatal error: too many errors emitted, stopping now [-ferror-limit=]</div><div class="">20 errors generated.</div><div class="">make[2]: *** [vtk/CMakeFiles/vtkgdcm.dir/vtkImageColorViewer.o] Error 1</div><div class="">make[1]: *** [vtk/CMakeFiles/vtkgdcm.dir/all] Error 2</div><div class="">make: *** [all] Error 2</div><div class=""><br class=""></div><div class="">what's going on ??</div><div class=""><br class=""></div><div class="">regards</div><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><br class="">=============================================<br class="">"El tamaño de tus logros depende del tamaño de tus metas." <br class="">C++ and Qt Senior Developer<br class="">Lic. Computer Science<br class="">Buenos Aires, Argentina</div></div>
</div>
<br class=""></div></body></html>