<div dir="ltr">> <span style="font-family:arial,sans-serif;font-size:13px">While formally a fine change, debugserver</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">doesn't depend on llvm (it really doesn't even depend on anything in lldb) and this</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">nicety isn't worth adding that dependence.</span><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px">And it broke the Xcode build.</span></div>
<div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px">Thanks for fixing, Jim!</span></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Fri, Jun 27, 2014 at 9:02 AM, Jim Ingham <span dir="ltr"><<a href="mailto:jingham@apple.com" target="_blank">jingham@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Author: jingham<br>
Date: Fri Jun 27 11:02:55 2014<br>
New Revision: 211903<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=211903&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=211903&view=rev</a><br>
Log:<br>
Revert the debugserver part of r211868.  While formally a fine change, debugserver<br>
doesn't depend on llvm (it really doesn't even depend on anything in lldb) and this<br>
nicety isn't worth adding that dependence.<br>
<br>
<br>
Modified:<br>
    lldb/trunk/tools/debugserver/source/DNB.cpp<br>
    lldb/trunk/tools/debugserver/source/MacOSX/MachThreadList.cpp<br>
    lldb/trunk/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp<br>
    lldb/trunk/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp<br>
    lldb/trunk/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.cpp<br>
    lldb/trunk/tools/debugserver/source/MacOSX/ppc/DNBArchImpl.cpp<br>
    lldb/trunk/tools/debugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp<br>
    lldb/trunk/tools/debugserver/source/TTYState.h<br>
<br>
Modified: lldb/trunk/tools/debugserver/source/DNB.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/debugserver/source/DNB.cpp?rev=211903&r1=211902&r2=211903&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/debugserver/source/DNB.cpp?rev=211903&r1=211902&r2=211903&view=diff</a><br>

==============================================================================<br>
--- lldb/trunk/tools/debugserver/source/DNB.cpp (original)<br>
+++ lldb/trunk/tools/debugserver/source/DNB.cpp Fri Jun 27 11:02:55 2014<br>
@@ -47,7 +47,6 @@<br>
 #include "DNBTimer.h"<br>
 #include "CFBundle.h"<br>
<br>
-#include "llvm/ADT/STLExtras.h"<br>
<br>
 typedef std::shared_ptr<MachProcess> MachProcessSP;<br>
 typedef std::map<nub_process_t, MachProcessSP> ProcessMap;<br>
@@ -543,7 +542,7 @@ GetAllInfos (std::vector<struct kinfo_pr<br>
 {<br>
     size_t size = 0;<br>
     int name[] = { CTL_KERN, KERN_PROC, KERN_PROC_ALL };<br>
-    u_int namelen = llvm::array_lengthof(name);<br>
+    u_int namelen = sizeof(name)/sizeof(int);<br>
     int err;<br>
<br>
     // Try to find out how many processes are around so we can<br>
<br>
Modified: lldb/trunk/tools/debugserver/source/MacOSX/MachThreadList.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/debugserver/source/MacOSX/MachThreadList.cpp?rev=211903&r1=211902&r2=211903&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/debugserver/source/MacOSX/MachThreadList.cpp?rev=211903&r1=211902&r2=211903&view=diff</a><br>

==============================================================================<br>
--- lldb/trunk/tools/debugserver/source/MacOSX/MachThreadList.cpp (original)<br>
+++ lldb/trunk/tools/debugserver/source/MacOSX/MachThreadList.cpp Fri Jun 27 11:02:55 2014<br>
@@ -20,8 +20,6 @@<br>
 #include "DNBThreadResumeActions.h"<br>
 #include "MachProcess.h"<br>
<br>
-#include "llvm/ADT/STLExtras.h"<br>
-<br>
 MachThreadList::MachThreadList() :<br>
     m_threads(),<br>
     m_threads_mutex(PTHREAD_MUTEX_RECURSIVE),<br>
@@ -315,7 +313,7 @@ MachThreadList::UpdateThreadList(MachPro<br>
         int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process->ProcessID() };<br>
         struct kinfo_proc processInfo;<br>
         size_t bufsize = sizeof(processInfo);<br>
-        if (sysctl(mib, llvm::array_lengthof(mib), &processInfo, &bufsize, NULL, 0) == 0 && bufsize > 0)<br>
+        if (sysctl(mib, (unsigned)(sizeof(mib)/sizeof(int)), &processInfo, &bufsize, NULL, 0) == 0 && bufsize > 0)<br>
         {<br>
             if (processInfo.kp_proc.p_flag & P_LP64)<br>
                 m_is_64_bit = true;<br>
<br>
Modified: lldb/trunk/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp?rev=211903&r1=211902&r2=211903&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp?rev=211903&r1=211902&r2=211903&view=diff</a><br>

==============================================================================<br>
--- lldb/trunk/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp (original)<br>
+++ lldb/trunk/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp Fri Jun 27 11:02:55 2014<br>
@@ -23,8 +23,6 @@<br>
 #include "ARM_GCC_Registers.h"<br>
 #include "ARM_DWARF_Registers.h"<br>
<br>
-#include "llvm/ADT/STLExtras.h"<br>
-<br>
 #include <inttypes.h><br>
 #include <sys/sysctl.h><br>
<br>
@@ -1557,9 +1555,9 @@ DNBArchMachARM::g_exc_registers[] =<br>
 };<br>
<br>
 // Number of registers in each register set<br>
-const size_t DNBArchMachARM::k_num_gpr_registers = llvm::array_lengthof(g_gpr_registers);<br>
-const size_t DNBArchMachARM::k_num_vfp_registers = llvm::array_lengthof(g_vfp_registers);<br>
-const size_t DNBArchMachARM::k_num_exc_registers = llvm::array_lengthof(g_exc_registers);<br>
+const size_t DNBArchMachARM::k_num_gpr_registers = sizeof(g_gpr_registers)/sizeof(DNBRegisterInfo);<br>
+const size_t DNBArchMachARM::k_num_vfp_registers = sizeof(g_vfp_registers)/sizeof(DNBRegisterInfo);<br>
+const size_t DNBArchMachARM::k_num_exc_registers = sizeof(g_exc_registers)/sizeof(DNBRegisterInfo);<br>
 const size_t DNBArchMachARM::k_num_all_registers = k_num_gpr_registers + k_num_vfp_registers + k_num_exc_registers;<br>
<br>
 //----------------------------------------------------------------------<br>
@@ -1576,7 +1574,7 @@ DNBArchMachARM::g_reg_sets[] =<br>
     { "Exception State Registers",  g_exc_registers,    k_num_exc_registers     }<br>
 };<br>
 // Total number of register sets for this architecture<br>
-const size_t DNBArchMachARM::k_num_register_sets = llvm::array_lengthof(g_reg_sets);<br>
+const size_t DNBArchMachARM::k_num_register_sets = sizeof(g_reg_sets)/sizeof(DNBRegisterSetInfo);<br>
<br>
<br>
 const DNBRegisterSetInfo *<br>
<br>
Modified: lldb/trunk/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp?rev=211903&r1=211902&r2=211903&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp?rev=211903&r1=211902&r2=211903&view=diff</a><br>

==============================================================================<br>
--- lldb/trunk/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp (original)<br>
+++ lldb/trunk/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp Fri Jun 27 11:02:55 2014<br>
@@ -24,8 +24,6 @@<br>
 #include "DNBRegisterInfo.h"<br>
 #include "DNB.h"<br>
<br>
-#include "llvm/ADT/STLExtras.h"<br>
-<br>
 #include <inttypes.h><br>
 #include <sys/sysctl.h><br>
<br>
@@ -1646,9 +1644,9 @@ DNBArchMachARM64::g_exc_registers[] =<br>
 };<br>
<br>
 // Number of registers in each register set<br>
-const size_t DNBArchMachARM64::k_num_gpr_registers = llvm::array_lengthof(g_gpr_registers);<br>
-const size_t DNBArchMachARM64::k_num_vfp_registers = llvm::array_lengthof(g_vfp_registers);<br>
-const size_t DNBArchMachARM64::k_num_exc_registers = llvm::array_lengthof(g_exc_registers);<br>
+const size_t DNBArchMachARM64::k_num_gpr_registers = sizeof(g_gpr_registers)/sizeof(DNBRegisterInfo);<br>
+const size_t DNBArchMachARM64::k_num_vfp_registers = sizeof(g_vfp_registers)/sizeof(DNBRegisterInfo);<br>
+const size_t DNBArchMachARM64::k_num_exc_registers = sizeof(g_exc_registers)/sizeof(DNBRegisterInfo);<br>
 const size_t DNBArchMachARM64::k_num_all_registers = k_num_gpr_registers + k_num_vfp_registers + k_num_exc_registers;<br>
<br>
 //----------------------------------------------------------------------<br>
@@ -1665,7 +1663,7 @@ DNBArchMachARM64::g_reg_sets[] =<br>
     { "Exception State Registers",  g_exc_registers,    k_num_exc_registers     }<br>
 };<br>
 // Total number of register sets for this architecture<br>
-const size_t DNBArchMachARM64::k_num_register_sets = llvm::array_lengthof(g_reg_sets);<br>
+const size_t DNBArchMachARM64::k_num_register_sets = sizeof(g_reg_sets)/sizeof(DNBRegisterSetInfo);<br>
<br>
<br>
 const DNBRegisterSetInfo *<br>
<br>
Modified: lldb/trunk/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.cpp?rev=211903&r1=211902&r2=211903&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.cpp?rev=211903&r1=211902&r2=211903&view=diff</a><br>

==============================================================================<br>
--- lldb/trunk/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.cpp (original)<br>
+++ lldb/trunk/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.cpp Fri Jun 27 11:02:55 2014<br>
@@ -20,8 +20,6 @@<br>
 #include "MachThread.h"<br>
 #include "MachProcess.h"<br>
<br>
-#include "llvm/ADT/STLExtras.h"<br>
-<br>
 extern "C" bool CPUHasAVX(); // Defined over in DNBArchImplX86_64.cpp<br>
<br>
 #if defined (LLDB_DEBUGSERVER_RELEASE) || defined (LLDB_DEBUGSERVER_DEBUG)<br>
@@ -1203,10 +1201,10 @@ DNBArchImplI386::g_exc_registers[] =<br>
 };<br>
<br>
 // Number of registers in each register set<br>
-const size_t DNBArchImplI386::k_num_gpr_registers = llvm::array_lengthof(g_gpr_registers);<br>
-const size_t DNBArchImplI386::k_num_fpu_registers_no_avx = llvm::array_lengthof(g_fpu_registers_no_avx);<br>
-const size_t DNBArchImplI386::k_num_fpu_registers_avx = llvm::array_lengthof(g_fpu_registers_avx);<br>
-const size_t DNBArchImplI386::k_num_exc_registers = llvm::array_lengthof(g_exc_registers);<br>
+const size_t DNBArchImplI386::k_num_gpr_registers = sizeof(g_gpr_registers)/sizeof(DNBRegisterInfo);<br>
+const size_t DNBArchImplI386::k_num_fpu_registers_no_avx = sizeof(g_fpu_registers_no_avx)/sizeof(DNBRegisterInfo);<br>
+const size_t DNBArchImplI386::k_num_fpu_registers_avx = sizeof(g_fpu_registers_avx)/sizeof(DNBRegisterInfo);<br>
+const size_t DNBArchImplI386::k_num_exc_registers = sizeof(g_exc_registers)/sizeof(DNBRegisterInfo);<br>
 const size_t DNBArchImplI386::k_num_all_registers_no_avx = k_num_gpr_registers + k_num_fpu_registers_no_avx + k_num_exc_registers;<br>
 const size_t DNBArchImplI386::k_num_all_registers_avx = k_num_gpr_registers + k_num_fpu_registers_avx + k_num_exc_registers;<br>
<br>
@@ -1234,7 +1232,7 @@ DNBArchImplI386::g_reg_sets_avx[] =<br>
 };<br>
<br>
 // Total number of register sets for this architecture<br>
-const size_t DNBArchImplI386::k_num_register_sets = llvm::array_lengthof(g_reg_sets_no_avx);<br>
+const size_t DNBArchImplI386::k_num_register_sets = sizeof(g_reg_sets_no_avx)/sizeof(DNBRegisterSetInfo);<br>
<br>
 DNBArchProtocol *<br>
 DNBArchImplI386::Create (MachThread *thread)<br>
<br>
Modified: lldb/trunk/tools/debugserver/source/MacOSX/ppc/DNBArchImpl.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/debugserver/source/MacOSX/ppc/DNBArchImpl.cpp?rev=211903&r1=211902&r2=211903&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/debugserver/source/MacOSX/ppc/DNBArchImpl.cpp?rev=211903&r1=211902&r2=211903&view=diff</a><br>

==============================================================================<br>
--- lldb/trunk/tools/debugserver/source/MacOSX/ppc/DNBArchImpl.cpp (original)<br>
+++ lldb/trunk/tools/debugserver/source/MacOSX/ppc/DNBArchImpl.cpp Fri Jun 27 11:02:55 2014<br>
@@ -25,8 +25,6 @@<br>
 #include "DNBLog.h"<br>
 #include "DNBRegisterInfo.h"<br>
<br>
-#include "llvm/ADT/STLExtras.h"<br>
-<br>
 static const uint8_t g_breakpoint_opcode[] = { 0x7F, 0xC0, 0x00, 0x08 };<br>
<br>
 const uint8_t * const<br>
@@ -388,10 +386,10 @@ static DNBRegisterInfo g_vec_registers[]<br>
 };<br>
<br>
 // Number of registers in each register set<br>
-const size_t k_num_gpr_registers = llvm::array_lengthof(g_gpr_registers);<br>
-const size_t k_num_fpr_registers = llvm::array_lengthof(g_fpr_registers);<br>
-const size_t k_num_exc_registers = llvm::array_lengthof(g_exc_registers);<br>
-const size_t k_num_vec_registers = llvm::array_lengthof(g_vec_registers);<br>
+const size_t k_num_gpr_registers = sizeof(g_gpr_registers)/sizeof(DNBRegisterInfo);<br>
+const size_t k_num_fpr_registers = sizeof(g_fpr_registers)/sizeof(DNBRegisterInfo);<br>
+const size_t k_num_exc_registers = sizeof(g_exc_registers)/sizeof(DNBRegisterInfo);<br>
+const size_t k_num_vec_registers = sizeof(g_vec_registers)/sizeof(DNBRegisterInfo);<br>
 // Total number of registers for this architecture<br>
 const size_t k_num_ppc_registers = k_num_gpr_registers + k_num_fpr_registers + k_num_exc_registers + k_num_vec_registers;<br>
<br>
@@ -409,7 +407,7 @@ static const DNBRegisterSetInfo g_reg_se<br>
     { "Altivec Registers",            g_vec_registers, k_num_vec_registers }<br>
 };<br>
 // Total number of register sets for this architecture<br>
-const size_t k_num_register_sets = llvm::array_lengthof(g_reg_sets);<br>
+const size_t k_num_register_sets = sizeof(g_reg_sets)/sizeof(DNBRegisterSetInfo);<br>
<br>
<br>
 const DNBRegisterSetInfo *<br>
<br>
Modified: lldb/trunk/tools/debugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/debugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp?rev=211903&r1=211902&r2=211903&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/debugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp?rev=211903&r1=211902&r2=211903&view=diff</a><br>

==============================================================================<br>
--- lldb/trunk/tools/debugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp (original)<br>
+++ lldb/trunk/tools/debugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp Fri Jun 27 11:02:55 2014<br>
@@ -13,8 +13,6 @@<br>
<br>
 #if defined (__i386__) || defined (__x86_64__)<br>
<br>
-#include "llvm/ADT/STLExtras.h"<br>
-<br>
 #include <sys/cdefs.h><br>
 #include <sys/types.h><br>
 #include <sys/sysctl.h><br>
@@ -1527,10 +1525,10 @@ DNBArchImplX86_64::g_exc_registers[] =<br>
 };<br>
<br>
 // Number of registers in each register set<br>
-const size_t DNBArchImplX86_64::k_num_gpr_registers = llvm::array_lengthof(g_gpr_registers);<br>
-const size_t DNBArchImplX86_64::k_num_fpu_registers_no_avx = llvm::array_lengthof(g_fpu_registers_no_avx);<br>
-const size_t DNBArchImplX86_64::k_num_fpu_registers_avx = llvm::array_lengthof(g_fpu_registers_avx);<br>
-const size_t DNBArchImplX86_64::k_num_exc_registers = llvm::array_lengthof(g_exc_registers);<br>
+const size_t DNBArchImplX86_64::k_num_gpr_registers = sizeof(g_gpr_registers)/sizeof(DNBRegisterInfo);<br>
+const size_t DNBArchImplX86_64::k_num_fpu_registers_no_avx = sizeof(g_fpu_registers_no_avx)/sizeof(DNBRegisterInfo);<br>
+const size_t DNBArchImplX86_64::k_num_fpu_registers_avx = sizeof(g_fpu_registers_avx)/sizeof(DNBRegisterInfo);<br>
+const size_t DNBArchImplX86_64::k_num_exc_registers = sizeof(g_exc_registers)/sizeof(DNBRegisterInfo);<br>
 const size_t DNBArchImplX86_64::k_num_all_registers_no_avx = k_num_gpr_registers + k_num_fpu_registers_no_avx + k_num_exc_registers;<br>
 const size_t DNBArchImplX86_64::k_num_all_registers_avx = k_num_gpr_registers + k_num_fpu_registers_avx + k_num_exc_registers;<br>
<br>
@@ -1558,7 +1556,7 @@ DNBArchImplX86_64::g_reg_sets_avx[] =<br>
 };<br>
<br>
 // Total number of register sets for this architecture<br>
-const size_t DNBArchImplX86_64::k_num_register_sets = llvm::array_lengthof(g_reg_sets_avx);<br>
+const size_t DNBArchImplX86_64::k_num_register_sets = sizeof(g_reg_sets_avx)/sizeof(DNBRegisterSetInfo);<br>
<br>
<br>
 DNBArchProtocol *<br>
<br>
Modified: lldb/trunk/tools/debugserver/source/TTYState.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/debugserver/source/TTYState.h?rev=211903&r1=211902&r2=211903&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/debugserver/source/TTYState.h?rev=211903&r1=211902&r2=211903&view=diff</a><br>

==============================================================================<br>
--- lldb/trunk/tools/debugserver/source/TTYState.h (original)<br>
+++ lldb/trunk/tools/debugserver/source/TTYState.h Fri Jun 27 11:02:55 2014<br>
@@ -17,8 +17,6 @@<br>
 #include <termios.h><br>
 #include <stdint.h><br>
<br>
-#include "llvm/ADT/STLExtras.h"<br>
-<br>
 class TTYState<br>
 {<br>
 public:<br>
@@ -52,7 +50,7 @@ public:<br>
<br>
     bool GetState(uint32_t idx, int fd, bool saveProcessGroup);<br>
     bool SetState(uint32_t idx) const;<br>
-    uint32_t NumStates() const { return llvm::array_lengthof(m_ttystates); }<br>
+    uint32_t NumStates() const { return sizeof(m_ttystates)/sizeof(TTYState); }<br>
     bool ValidStateIndex(uint32_t idx) const { return idx < NumStates(); }<br>
<br>
 protected:<br>
@@ -60,4 +58,4 @@ protected:<br>
     TTYState            m_ttystates[2];<br>
 };<br>
<br>
-#endif<br>
+#endif<br>
\ No newline at end of file<br>
<br>
<br>
_______________________________________________<br>
lldb-commits mailing list<br>
<a href="mailto:lldb-commits@cs.uiuc.edu">lldb-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><table cellspacing="0" cellpadding="0" style="color:rgb(136,136,136);font-family:'Times New Roman'"><tbody><tr style="color:rgb(85,85,85);font-family:sans-serif;font-size:small">
<td nowrap style="border-top-style:solid;border-top-color:rgb(213,15,37);border-top-width:2px">Todd Fiala |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(51,105,232);border-top-width:2px"> Software Engineer |</td>
<td nowrap style="border-top-style:solid;border-top-color:rgb(0,153,57);border-top-width:2px"> <a href="mailto:tfiala@google.com" style="color:rgb(17,85,204)" target="_blank"><span style="background-color:rgb(255,255,204);color:rgb(34,34,34);background-repeat:initial initial">tfiala@google.com</span></a> |</td>
<td nowrap style="border-top-style:solid;border-top-color:rgb(238,178,17);border-top-width:2px"><font color="#1155cc"> <a>650-943-3180</a></font></td></tr></tbody></table><br></div>
</div>