<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.3132" name=GENERATOR></HEAD>
<BODY>
<DIV><STRONG><FONT face="Palatino Linotype" 
color=#0000ff></FONT></STRONG><BR> </DIV>
<BLOCKQUOTE 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <DIV><SPAN class=gmail_quote>On 7/24/07, <B class=gmail_sendername>Eitan 
  Zahavi</B> <<A 
  href="mailto:eitan@mellanox.co.il">eitan@mellanox.co.il</A>> wrote:</SPAN> 
  <BLOCKQUOTE class=gmail_quote 
  style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
    <DIV>
    <DIV><SPAN><FONT face="Palatino Linotype" color=#0000ff><STRONG>Maybe  
    avoid the log if -y is 
  provided?</STRONG></FONT></SPAN></DIV></DIV></BLOCKQUOTE>
  <DIV><STRONG><FONT face="Palatino Linotype" 
  color=#0000ff></FONT></STRONG> </DIV>
  <DIV>That avoids the spew but the duplicated GUID is important to know so IMO 
  something in the "middle" is needed where duplicated GUIDs are logged but not 
  continually the same ones.<BR><SPAN class=279212420-24072007><STRONG><FONT 
  face="Palatino Linotype" color=#0000ff>[EZ] 
  <DIV><SPAN class=279212420-24072007><FONT face="Palatino Linotype" 
  color=#0000ff><STRONG>OK so in -y mode only we track which ones were reported 
  and do not repeat the 
  log?</STRONG></FONT></SPAN></DIV> </FONT></STRONG></SPAN></DIV><BR>
  <BLOCKQUOTE class=gmail_quote 
  style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
    <DIV><SPAN class=q>
    <P><SPAN lang=en-gb><B><I><FONT face="Monotype Corsiva" color=#0000ff 
    size=6>Eitan Zahavi</FONT></I></B><I></I></SPAN> <BR><SPAN lang=en-gb><FONT 
    face=Tahoma size=2>Senior Engineering Director, Software Architect 
    </FONT></SPAN><BR><SPAN lang=en-gb><FONT face=Tahoma size=2>Mellanox 
    Technologies LTD</FONT></SPAN> <BR><SPAN lang=en-gb><FONT face=Tahoma 
    size=2>Tel:+972-4-9097208<BR>Fax:+972-4-9593245</FONT></SPAN> <BR><SPAN 
    lang=en-gb><FONT face=Tahoma size=2>P.O. Box 586 Yokneam 20692 
    ISRAEL</FONT></SPAN> </P>
    <DIV><STRONG><FONT face="Palatino Linotype" 
    color=#0000ff></FONT></STRONG> </DIV><FONT face=Tahoma 
    size=2></FONT><FONT face=Tahoma size=2></FONT><BR></SPAN>
    <BLOCKQUOTE 
    style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
      <DIV lang=en-us dir=ltr align=left>
      <HR>
      <FONT face=Tahoma size=2><SPAN class=q><B>From:</B> Hal Rosenstock 
      [mailto:<A onclick="return top.js.OpenExtLink(window,event,this)" 
      href="mailto:hal.rosenstock@gmail.com" 
      target=_blank>hal.rosenstock@gmail.com</A> ] <BR></SPAN><B>Sent:</B> 
      Tuesday, July 24, 2007 9:56 PM 
      <DIV><SPAN class=e id=q_113f9e5ec76b9fdd_5><BR><B>To:</B> Eitan 
      Zahavi<BR><B>Cc:</B> OpenFabrics General; Sasha Khapyorsky; Yevgeny 
      Kliteynik<BR><B>Subject:</B> Re: OpenSM detection of duplicated GUIDs on 
      loopback<BR></SPAN></DIV></FONT><BR> </DIV>
      <DIV><SPAN class=e id=q_113f9e5ec76b9fdd_7>
      <DIV></DIV><BR><BR>
      <DIV><SPAN class=gmail_quote>On 7/24/07, <B class=gmail_sendername>Eitan 
      Zahavi</B> <<A onclick="return top.js.OpenExtLink(window,event,this)" 
      href="mailto:eitan@mellanox.co.il" target=_blank>eitan@mellanox.co.il 
      </A>> wrote:</SPAN></DIV>
      <BLOCKQUOTE class=gmail_quote 
      style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
        <DIV>
        <DIV><SPAN><FONT face="Palatino Linotype" color=#0000ff><STRONG>Hi 
        Hal,</STRONG></FONT></SPAN></DIV>
        <DIV><SPAN><STRONG><FONT face="Palatino Linotype" 
        color=#0000ff></FONT></STRONG></SPAN> </DIV>
        <DIV><SPAN><STRONG><FONT face="Palatino Linotype" color=#0000ff>For many 
        users such a critical failure (one the SM can not really do anything 
        with) is better aborted then forgotten in some log 
        file.</FONT></STRONG></SPAN> </DIV>
        <DIV><SPAN><STRONG><FONT face="Palatino Linotype" color=#0000ff>Anyway's 
        the -y flag lets you ignore it if you 
        like.</FONT></STRONG></SPAN></DIV></DIV></BLOCKQUOTE>
      <DIV> </DIV>
      <DIV>So everything else continues to work fine with -y ? In which case, 
      I'm not sure which is the better default.</DIV>
      <DIV> </DIV>
      <DIV>Users certainly won't like their logs filling up with continuous 
      duplicated GUID messages. The log spew should be cleaned up IMO.</DIV>
      <DIV> </DIV>
      <DIV>-- Hal</DIV>
      <P> </P>
      <DIV><BR> </DIV>
      <BLOCKQUOTE class=gmail_quote 
      style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
        <DIV><SPAN>
        <P><SPAN lang=en-gb><B><I><FONT face="Monotype Corsiva" color=#0000ff 
        size=6>Eitan Zahavi</FONT></I></B><I></I></SPAN> <BR><SPAN 
        lang=en-gb><FONT face=Tahoma size=2>Senior Engineering Director, 
        Software Architect </FONT></SPAN><BR><SPAN lang=en-gb><FONT face=Tahoma 
        size=2>Mellanox Technologies LTD</FONT></SPAN> <BR><SPAN 
        lang=en-gb><FONT face=Tahoma 
        size=2>Tel:+972-4-9097208<BR>Fax:+972-4-9593245</FONT></SPAN> <BR><SPAN 
        lang=en-gb><FONT face=Tahoma size=2>P.O. Box 586 Yokneam 20692 
        ISRAEL</FONT></SPAN> </P>
        <DIV> </DIV><BR></SPAN>
        <BLOCKQUOTE 
        style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
          <DIV lang=en-us dir=ltr align=left>
          <HR>
          <FONT face=Tahoma size=2><SPAN><B>From:</B> Hal Rosenstock [mailto:<A 
          onclick="return top.js.OpenExtLink(window,event,this)" 
          href="mailto:hal.rosenstock@gmail.com" 
          target=_blank>hal.rosenstock@gmail.com</A> ] <BR></SPAN><B>Sent:</B> 
          Tuesday, July 24, 2007 9:38 PM 
          <DIV><SPAN><BR><B>To:</B> Eitan Zahavi<BR><B>Cc:</B> OpenFabrics 
          General; Sasha Khapyorsky; Yevgeny Kliteynik<BR><B>Subject:</B> Re: 
          OpenSM detection of duplicated GUIDs on 
          loopback<BR></SPAN></DIV></FONT><BR> </DIV>
          <DIV><SPAN>
          <DIV></DIV><BR><BR>
          <DIV><SPAN class=gmail_quote>On 7/24/07, <B 
          class=gmail_sendername>Eitan Zahavi</B> <<A 
          onclick="return top.js.OpenExtLink(window,event,this)" 
          href="mailto:eitan@mellanox.co.il" target=_blank>eitan@mellanox.co.il 
          </A>> wrote:</SPAN> 
          <BLOCKQUOTE class=gmail_quote 
          style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
            <DIV>
            <DIV><SPAN><FONT face="Palatino Linotype" color=#0000ff><STRONG>Hi 
            Hal,</STRONG></FONT></SPAN></DIV>
            <DIV><SPAN><STRONG><FONT face="Palatino Linotype" 
            color=#0000ff></FONT></STRONG></SPAN> </DIV>
            <DIV><SPAN><STRONG><FONT face="Palatino Linotype" color=#0000ff>The 
            code to find "duplicated" GUIDs stem from real user cases where 
            flawed </FONT></STRONG></SPAN></DIV>
            <DIV><SPAN><STRONG><FONT face="Palatino Linotype" 
            color=#0000ff>burning procedure caused actual GUID duplications. 
            There is nothing "impossible". 
          </FONT></STRONG></SPAN></DIV></DIV></BLOCKQUOTE>
          <DIV> </DIV>
          <DIV>No one said impossible; just a violation of what globally unique 
          (GU from GUID) really means. It's largely because vendors allowed 
          users to program non volatile RAM for GUIDs rather than a real 
          manufacturing process for this which guarantees uniqueness that we are 
          even discussing this aspect of it. </DIV><BR>
          <BLOCKQUOTE class=gmail_quote 
          style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
            <DIV>
            <DIV><SPAN><FONT face="Palatino Linotype" color=#0000ff><STRONG>So 
            it is really critical the the SM will be able to recognize this case 
            and abort.</STRONG></FONT></SPAN></DIV></DIV></BLOCKQUOTE>
          <DIV> </DIV>
          <DIV>I agree with the detect part but not the abort part. Why can't it 
          report these errors and continue on ? That seems better to me than 
          aborting.</DIV>
          <DIV> </DIV>
          <DIV>-- Hal</DIV><BR>
          <BLOCKQUOTE class=gmail_quote 
          style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
            <DIV>
            <DIV> </DIV>
            <DIV><SPAN><STRONG><FONT face="Palatino Linotype" color=#0000ff>It 
            might be that for testing someone wants to use a loopback plug that 
            cause the same </FONT></STRONG></SPAN></DIV>
            <DIV><SPAN><STRONG><FONT face="Palatino Linotype" color=#0000ff>port 
            GUID appear on both sides of link - but it is better to require the 
            user doing the test </FONT></STRONG></SPAN></DIV>
            <DIV><SPAN><STRONG><FONT face="Palatino Linotype" color=#0000ff>to 
            set some flag than to miss such a situation in real life 
            cluster.</FONT></STRONG></SPAN></DIV>
            <DIV><SPAN><STRONG><FONT face="Palatino Linotype" 
            color=#0000ff></FONT></STRONG></SPAN> </DIV>
            <DIV><SPAN><STRONG><FONT face="Palatino Linotype" color=#0000ff>This 
            requirement was written after many people wasted many hours trying 
            to figure out what was going on.</FONT></STRONG></SPAN></DIV>
            <DIV><SPAN><STRONG><FONT face="Palatino Linotype" 
            color=#0000ff>PLEASE DO NOT TAKE IT 
            AWAY</FONT></STRONG></SPAN></DIV><SPAN>
            <DIV><SPAN><STRONG><FONT face="Palatino Linotype" 
            color=#0000ff></FONT></STRONG></SPAN> </DIV>
            <P><SPAN lang=en-gb><B><I><FONT face="Monotype Corsiva" 
            color=#0000ff size=6>Eitan Zahavi</FONT></I></B><I></I></SPAN> 
            <BR><SPAN lang=en-gb><FONT face=Tahoma size=2>Senior Engineering 
            Director, Software Architect </FONT></SPAN><BR><SPAN 
            lang=en-gb><FONT face=Tahoma size=2>Mellanox Technologies 
            LTD</FONT></SPAN> <BR><SPAN lang=en-gb><FONT face=Tahoma 
            size=2>Tel:+972-4-9097208<BR>Fax:+972-4-9593245</FONT></SPAN> 
            <BR><SPAN lang=en-gb><FONT face=Tahoma size=2>P.O. Box 586 Yokneam 
            20692 ISRAEL</FONT></SPAN> </P>
            <DIV> </DIV><BR></SPAN>
            <BLOCKQUOTE 
            style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
              <DIV lang=en-us dir=ltr align=left>
              <HR>
              <FONT face=Tahoma size=2><SPAN><B>From:</B> Hal Rosenstock 
              [mailto:<A onclick="return top.js.OpenExtLink(window,event,this)" 
              href="mailto:hal.rosenstock@gmail.com" 
              target=_blank>hal.rosenstock@gmail.com</A> ] 
              <BR></SPAN><B>Sent:</B> Tuesday, July 24, 2007 6:04 PM 
              <DIV><SPAN><BR><B>To:</B> Eitan Zahavi<BR><B>Cc:</B> OpenFabrics 
              General; Sasha Khapyorsky; Yevgeny Kliteynik<BR><B>Subject:</B> 
              Re: OpenSM detection of duplicated GUIDs on 
              loopback<BR></SPAN></DIV></FONT><BR> </DIV>
              <DIV><SPAN>
              <DIV></DIV><BR><BR>
              <DIV><SPAN class=gmail_quote>On 7/24/07, <B 
              class=gmail_sendername>Eitan Zahavi</B> <<A 
              onclick="return top.js.OpenExtLink(window,event,this)" 
              href="mailto:eitan@mellanox.co.il" 
              target=_blank>eitan@mellanox.co.il </A>> wrote:</SPAN> 
              <BLOCKQUOTE class=gmail_quote 
              style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
                <DIV>
                <DIV><FONT face=Tahoma size=2><SPAN><B>From:</B> Hal Rosenstock 
                [mailto:<A 
                onclick="return top.js.OpenExtLink(window,event,this)" 
                href="mailto:hal.rosenstock@gmail.com" 
                target=_blank>hal.rosenstock@gmail.com </A>] 
                <BR></SPAN><B>Sent:</B> Tuesday, July 24, 2007 5:53 
                PM<BR><B>To:</B> Eitan Zahavi<BR><B>Cc:</B> OpenFabrics General; 
                Sasha Khapyorsky; Yevgeny Kliteynik<BR><B>Subject:</B> Re: 
                OpenSM detection of duplicated GUIDs on loopback 
                <BR></FONT><BR> </DIV>
                <BLOCKQUOTE 
                style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
                  <DIV></DIV>Hi Eitan,<BR><BR>
                  <DIV><SPAN><SPAN class=gmail_quote>On 7/24/07, <B 
                  class=gmail_sendername>Eitan Zahavi</B> <<A 
                  onclick="return top.js.OpenExtLink(window,event,this)" 
                  href="mailto:eitan@mellanox.co.il" 
                  target=_blank>eitan@mellanox.co.il </A>> wrote:</SPAN> 
                  <BLOCKQUOTE class=gmail_quote 
                  style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
                    <DIV>
                    <DIV><SPAN><FONT face="Palatino Linotype" 
                    color=#0000ff><STRONG>Hi Hal,</STRONG></FONT></SPAN></DIV>
                    <DIV><SPAN><STRONG><FONT face="Palatino Linotype" 
                    color=#0000ff></FONT></STRONG></SPAN> </DIV>
                    <DIV><SPAN><STRONG><FONT face="Palatino Linotype" 
                    color=#0000ff>What is this "loopback" connector used 
                    for?</FONT></STRONG></SPAN></DIV>
                    <DIV><SPAN><STRONG><FONT face="Palatino Linotype" 
                    color=#0000ff>Does not seem to me like a very useful thing 
                    to do.</FONT></STRONG></SPAN></DIV></DIV></BLOCKQUOTE>
                  <DIV><STRONG><FONT face="Palatino Linotype" 
                  color=#0000ff></FONT></STRONG> </DIV>
                  <DIV>Perhaps not but no reason OpenSM can't handle this more 
                  gracefully.</DIV><BR>
                  <BLOCKQUOTE class=gmail_quote 
                  style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
                    <DIV>
                    <DIV><SPAN><STRONG><FONT face="Palatino Linotype" 
                    color=#0000ff>Anyway, if it is not a production environment 
                    we could add a "debug mode" (-d flag option) to ignore this 
                    check.</FONT></STRONG></SPAN></DIV></DIV></BLOCKQUOTE>
                  <DIV><STRONG><FONT face="Palatino Linotype" 
                  color=#0000ff></FONT></STRONG> </DIV></SPAN>
                  <DIV><SPAN>Why would a separate flag be needed 
                  ?<BR></SPAN><SPAN><STRONG><FONT face="Palatino Linotype" 
                  color=#0000ff>[EZ] Since I do not see any other solution 
                  for the SM  to know it is really a loop back plug rather 
                  then two devices with same GUID connected back to back ... 
                  </FONT></STRONG></SPAN></DIV></DIV></BLOCKQUOTE></DIV></BLOCKQUOTE>
              <DIV>
              <DIV> </DIV>
              <DIV>"Technically", this should only occur when looped back and 
              not two devices with same GUID as GUID == globally unique and a 
              duplication indicates a "manufacturing" issue.</DIV>
              <DIV> </DIV></DIV>
              <DIV>Anyhow, can't these be treated the same (and 
              handled more gracefully) without an additional 
              option/flag ?</DIV>
              <DIV> </DIV>
              <DIV>-- Hal</DIV><BR>
              <BLOCKQUOTE class=gmail_quote 
              style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
                <DIV>
                <BLOCKQUOTE 
                style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
                  <DIV>
                  <DIV><SPAN>
                  <DIV> </DIV>
                  <DIV>-- Hal</DIV><BR>
                  <BLOCKQUOTE class=gmail_quote 
                  style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
                    <DIV>
                    <DIV><STRONG><FONT face="Palatino Linotype" 
                    color=#0000ff></FONT></STRONG> </DIV>
                    <P><SPAN lang=en-gb><B><I><FONT face="Monotype Corsiva" 
                    color=#0000ff size=6>Eitan 
                    Zahavi</FONT></I></B><I></I></SPAN> <BR><SPAN 
                    lang=en-gb><FONT face=Tahoma size=2>Senior Engineering 
                    Director, Software Architect </FONT></SPAN><BR><SPAN 
                    lang=en-gb><FONT face=Tahoma size=2>Mellanox Technologies 
                    LTD</FONT></SPAN> <BR><SPAN lang=en-gb><FONT face=Tahoma 
                    size=2>Tel:+972-4-9097208<BR>Fax:+972-4-9593245</FONT></SPAN> 
                    <BR><SPAN lang=en-gb><FONT face=Tahoma size=2>P.O. Box 586 
                    Yokneam 20692 ISRAEL</FONT></SPAN> </P>
                    <DIV> </DIV><BR>
                    <BLOCKQUOTE dir=ltr 
                    style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
                      <DIV lang=en-us dir=ltr align=left>
                      <HR>
                      <FONT face=Tahoma size=2><B>From:</B> Hal Rosenstock 
                      [mailto:<A 
                      onclick="return top.js.OpenExtLink(window,event,this)" 
                      href="mailto:hal.rosenstock@gmail.com" 
                      target=_blank>hal.rosenstock@gmail.com</A>] <BR><B>Sent: 
                      </B>Tuesday, July 24, 2007 5:31 PM<BR><B>To:</B> 
                      OpenFabrics General<BR><B>Cc:</B> Sasha Khapyorsky; Eitan 
                      Zahavi; Yevgeny Kliteynik<SPAN><BR><B>Subject:</B> OpenSM 
                      detection of duplicated GUIDs on 
                      loopback<BR></SPAN></FONT><BR> </DIV>
                      <DIV><SPAN>
                      <DIV></DIV>
                      <DIV>Hi,</DIV>
                      <DIV> </DIV>
                      <DIV>This is what starts off as a "minor" issue and I know 
                      it has been discussed it somewhat in the past: </DIV>
                      <DIV> </DIV>
                      <DIV>Putting a loopback connector on a (switch) link 
                      causes OpenSM to indicate duplicated GUID error 0D18 as 
                      follows:<BR><BR>__osm_ni_rcv_set_links<BR>{<BR>...<BR>          
                      /*<BR>             
                      When there are only two nodes with exact same guids 
                      (connected back 
                      <BR>             
                      to back) - the previous check for duplicated guid will not 
                      catch<BR>             
                      them. But the link will be from the port to 
                      itself...<BR>             
                      Enhanced Port 0 is an exception to 
                      this<BR>          
                      */ 
                      <BR>          
                      if ((osm_node_get_node_guid( p_node ) == 
                      p_ni_context->node_guid) 
                      &&<BR>              
                      (port_num == p_ni_context->port_num) 
                      &&<BR>              
                      (port_num != 
                      0))<BR>          
                      {<BR>            
                      osm_log( p_rcv->p_log, OSM_LOG_ERROR, 
                      <BR>                     
                      "__osm_ni_rcv_set_links: ERR 0D18: 
                      "<BR>                     
                      "Duplicate GUID found by link from a port to 
                      itself:"<BR>                     
                      "node 0x%" PRIx64 ", port number 0x%X\n", 
                      <BR>                     
                      cl_ntoh64( osm_node_get_node_guid( p_node ) 
                      ),<BR>                     
                      port_num );<BR>...<BR><BR>So this occurs over and over and 
                      over and fills the log with the same spew. This should be 
                      improved IMO. <BR><BR>Is this really a fatal condition ? 
                      Doesn't seem like it should be to me. </DIV>
                      <DIV> </DIV>
                      <DIV>Also, OpenSM can "ride" this out with -y (stay on 
                      fatal) but is that safe for this condition ?</DIV>
                      <DIV> </DIV>
                      <DIV>Seems like something like an extra loopback bit 
                      should be added to some port structure which should cause 
                      these links to be ignored. This bit would then be reset 
                      when the peer is now longer itself. <BR><BR>Also, is there 
                      a relationship of this with the 12x/duplicated GUID code ? 
                      </DIV>
                      <DIV> </DIV>
                      <DIV>Thanks.</DIV>
                      <DIV> </DIV>
                      <DIV>-- 
                    Hal<SPAN></SPAN></DIV></SPAN></DIV></BLOCKQUOTE></DIV></BLOCKQUOTE></SPAN></DIV></DIV><BR></BLOCKQUOTE></DIV></BLOCKQUOTE></DIV><BR></SPAN></DIV></BLOCKQUOTE></DIV></BLOCKQUOTE></DIV><BR></SPAN></DIV></BLOCKQUOTE></DIV></BLOCKQUOTE><BR></SPAN></DIV></BLOCKQUOTE></DIV></BLOCKQUOTE></DIV><BR></BLOCKQUOTE></BODY></HTML>