SAX.setDocumentLocator()
SAX.startDocument()
SAX.internalSubset(HTML, -//W3C//DTD HTML 4.0 Transitional//EN, (null))
SAX.comment( saved from url=(0025)http://bp6.gamesquad.net/ )
SAX.comment( BEGIN Naviscope Javascript )
SAX.startElement(html)
SAX.startElement(head)
SAX.startElement(title)
SAX.characters(BP6.com #1 online resource for, 47)
SAX.endElement(title)
SAX.characters(
, 2)
SAX.startElement(script, language='javascript')
SAX.characters(
          NS_ActualOpen=wind, 199)
SAX.endElement(script)
SAX.characters(
, 2)
SAX.comment( END Naviscope Javascript )
SAX.error: htmlParseStartTag: invalid element name
SAX.characters(!DOCTYPE HTML PUBLIC "-//W3C//, 48)
SAX.comment(last modified on Tuesday, February 22, 2000 11:47 PM )
SAX.characters(
, 2)
SAX.startElement(meta, content='text/html;CHARSET=iso-8859-1', http-equiv='Content-Type')
SAX.endElement(meta)
SAX.characters(
, 2)
SAX.startElement(meta, content='Tim', name='Author')
SAX.endElement(meta)
SAX.characters(
, 2)
SAX.startElement(style, type='text/css')
SAX.characters(A.nav {
	COLOR: #003399; TEXT, 115)
SAX.endElement(style)
SAX.characters(

, 4)
SAX.startElement(script, language='JavaScript')
SAX.characters(
, 1)
SAX.comment( Idea by:  Nic Wolfe (Nic@TimelapseProductions.com) )
SAX.characters(
, 1)
SAX.comment( Web URL:  http://fineline.xs.mw )
SAX.characters(

, 2)
SAX.comment( This script and many more are available free online at )
SAX.characters(
, 1)
SAX.comment( The JavaScript Source!! http://javascript.internet.com )
SAX.characters(

, 2)
SAX.comment( Begin
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbars=0, scrollbars=0, location=0, statusbars=0, menubars=0, resizable=0, width=145, height=250');");
}
// End )
SAX.characters(
, 1)
SAX.endElement(script)
SAX.characters(

, 4)
SAX.startElement(meta, content='MSHTML 5.00.3103.1000', name='GENERATOR')
SAX.endElement(meta)
SAX.endElement(head)
SAX.characters(
, 2)
SAX.startElement(body, aLink='red', bgColor='black', link='red', text='white', vLink='red')
SAX.characters(
, 2)
SAX.startElement(p)
SAX.characters(
, 2)
SAX.endElement(p)
SAX.startElement(div, align='center')
SAX.characters(
, 2)
SAX.startElement(table, border='0', cellPadding='0', cellSpacing='0', width='80%')
SAX.characters(
  , 4)
SAX.startElement(tbody)
SAX.characters(
  , 4)
SAX.startElement(tr)
SAX.characters(
    , 6)
SAX.startElement(td, vAlign='top', width='31')
SAX.startElement(a, href='http://bp6.gamesquad.net/')
SAX.startElement(img, align='bottom', border='0', height='74', src='doc3_files/logo.gif', width='252')
SAX.endElement(img)
SAX.endElement(a)
SAX.endElement(td)
SAX.characters(
    , 6)
SAX.startElement(td, align='left', bgColor='#000000')
SAX.startElement(img, height='15', src='doc3_files/spacer.gif', width='15')
SAX.endElement(img)
SAX.comment( START GAMESQUAD.NET IFRAME RICH MEDIA CODE )
SAX.characters( , 1)
SAX.comment( © 2000 GameSquad.net All Rights Reserved. )
SAX.startElement(iframe, border='0', frameBorder='no', height='60', marginHeight='0', marginWidth='0', scrolling='no', src='doc3_files/adcycle.htm', width='468')
SAX.characters(
, 1)
SAX.error: htmlParseEntityRef: expecting ';'
SAX.startElement(a, href='http://ads.gamesquad.net/addclick.exe/adclick.cgi?REGION=game|tech|ent&id=1', target='_top')
SAX.error: htmlParseEntityRef: expecting ';'
SAX.error: htmlParseEntityRef: expecting ';'
SAX.startElement(img, src='http://ads.gamesquad.net/addclick.exe/adcycle.cgi?group=52&media=1&id=1', width='468', height='60', border='0', ALT='GSN ROS Ad')
SAX.endElement(img)
SAX.endElement(a)
SAX.characters(
, 1)
SAX.endElement(iframe)
SAX.comment( END GAMESQUAD.NET IFRAME RICH MEDIA CODE )
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(img, height='15', src='doc3_files/spacer.gif', width='400')
SAX.endElement(img)
SAX.characters( , 1)
SAX.endElement(td)
SAX.endElement(tr)
SAX.characters(
  , 4)
SAX.startElement(tr)
SAX.characters(
    , 6)
SAX.startElement(td, bgColor='#003399', colSpan='2')
SAX.characters(
      , 8)
SAX.startElement(p, align='right')
SAX.startElement(img, align='right', border='0', height='18', hspace='0', src='doc3_files/trcorner.gif', width='20')
SAX.endElement(img)
SAX.startElement(img, align='left', border='0', height='18', hspace='0', src='doc3_files/tlcorner.gif', width='20')
SAX.endElement(img)
SAX.startElement(font, face='Verdana', size='2')
SAX.characters(Monday, July 31st, 2000, 23)
SAX.endElement(font)
SAX.characters( , 1)
SAX.endElement(p)
SAX.endElement(td)
SAX.endElement(tr)
SAX.characters(
  , 4)
SAX.startElement(tr)
SAX.characters(
    , 6)
SAX.startElement(td, colSpan='2')
SAX.characters(
      , 8)
SAX.startElement(table, bgColor='#003399', border='0', cellPadding='0', cellSpacing='4', width='100%')
SAX.startElement(tbody)
SAX.characters(
        , 10)
SAX.startElement(tr)
SAX.characters(
          , 12)
SAX.startElement(td, bgColor='#666666', width='100%')
SAX.characters(
            , 14)
SAX.startElement(center)
SAX.characters(
            , 14)
SAX.startElement(p)
SAX.characters(
            , 14)
SAX.endElement(p)
SAX.startElement(table, bgColor='black', border='0', cellPadding='0', cellSpacing='1', width='100%')
SAX.characters(
              , 16)
SAX.startElement(tbody)
SAX.characters(
              , 16)
SAX.startElement(tr)
SAX.characters(
                , 18)
SAX.startElement(td, background='doc3_files/hscan.gif', bgColor='#666666', width='100%')
SAX.startElement(img, height='1', src='doc3_files/spacer.gif', width='738')
SAX.endElement(img)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(
                  , 20)
SAX.startElement(center)
SAX.characters(
                  , 20)
SAX.startElement(table, border='0', cellPadding='2', cellSpacing='0', width='91%')
SAX.characters(
                    , 22)
SAX.startElement(tbody)
SAX.characters(
                    , 22)
SAX.startElement(tr)
SAX.characters(
                      , 24)
SAX.startElement(td, vAlign='top', width='15%')
SAX.characters(
                        , 26)
SAX.startElement(p, align='center')
SAX.startElement(a, href='http://bp6.gamesquad.net/specs.phtml')
SAX.startElement(img, align='bottom', alt='Abit BP6 Motherboard specification and information.', border='0', height='45', src='doc3_files/bp6icon.gif', width='70')
SAX.endElement(img)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/specs.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(BP6 Specs, 9)
SAX.endElement(font)
SAX.endElement(a)
SAX.characters( 
                      , 25)
SAX.endElement(p)
SAX.endElement(td)
SAX.characters(
                      , 24)
SAX.startElement(td, vAlign='top', width='15%')
SAX.characters(
                        , 26)
SAX.startElement(p, align='center')
SAX.startElement(a, href='http://bp6.gamesquad.net/bxcool.phtml')
SAX.startElement(img, align='bottom', alt='How to cool the BX Chipset on your BP6.', border='0', height='45', src='doc3_files/bxcool.gif', width='70')
SAX.endElement(img)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(BX Cooling, 10)
SAX.endElement(font)
SAX.endElement(a)
SAX.characters( 
                        , 27)
SAX.endElement(p)
SAX.endElement(td)
SAX.characters(
                      , 24)
SAX.startElement(td, vAlign='top', width='15%')
SAX.characters(
                        , 26)
SAX.startElement(p, align='center')
SAX.startElement(a, href='http://bp6.gamesquad.net/contest.phtml')
SAX.startElement(img, align='bottom', alt='The U;timate Gaming Contest - Coming Soon!', border='0', height='45', src='doc3_files/ugmcontest.gif', width='70')
SAX.endElement(img)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/contest.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(UGM Contest, 11)
SAX.endElement(font)
SAX.endElement(a)
SAX.characters( 
                        , 27)
SAX.endElement(p)
SAX.endElement(td)
SAX.characters(
                      , 24)
SAX.startElement(td, vAlign='top', width='15%')
SAX.characters(
                        , 26)
SAX.startElement(p, align='center')
SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml')
SAX.startElement(img, align='bottom', alt='Cooling & Heatsink review for the BP6.', border='0', height='45', src='doc3_files/alpha.gif', width='70')
SAX.endElement(img)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Heatsinks, 9)
SAX.endElement(font)
SAX.endElement(a)
SAX.characters( 
                      , 25)
SAX.endElement(p)
SAX.endElement(td)
SAX.characters(
                      , 24)
SAX.startElement(td, vAlign='top', width='15%')
SAX.characters(
                        , 26)
SAX.startElement(p, align='center')
SAX.startElement(a, href='http://bp6.gamesquad.net/101.phtml')
SAX.startElement(img, align='bottom', alt='BP6 101 - Class is now in session. Welcome newbies!', border='0', height='45', src='doc3_files/bp6101.gif', width='70')
SAX.endElement(img)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/101.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(BP6 101, 7)
SAX.endElement(font)
SAX.endElement(a)
SAX.characters( 
                      , 25)
SAX.endElement(p)
SAX.endElement(td)
SAX.characters(
                      , 24)
SAX.startElement(td, vAlign='top', width='15%')
SAX.characters(
                        , 26)
SAX.startElement(p, align='center')
SAX.startElement(a, href='http://bp6.gamesquad.net/win2k_install.phtml')
SAX.startElement(img, align='bottom', alt='Install guide for installing Windows 2000 on the BP6 ', border='0', height='45', src='doc3_files/win2kht.gif', width='70')
SAX.endElement(img)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/win2k_install.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Win2k Install, 13)
SAX.endElement(font)
SAX.endElement(a)
SAX.characters( 
                        , 27)
SAX.endElement(p)
SAX.endElement(td)
SAX.characters(
                      , 24)
SAX.startElement(td, vAlign='top', width='15%')
SAX.characters(
                        , 26)
SAX.startElement(p, align='center')
SAX.startElement(a, href='http://www.gentus.com/')
SAX.error: error parsing attribute name
SAX.error: htmlParseStartTag: problem parsing attributes
SAX.startElement(img, align='bottom', alt='Taking a first look at the Abit Linux release called ', border='0', height='45', src='doc3_files/gentusbox.gif', width='70', Gentus='(null)')
SAX.error: Couldn't find end of Start Tag img
SAX.characters(?.?>, 4)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.gentus.com/')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Gentus, 6)
SAX.endElement(font)
SAX.endElement(a)
SAX.characters( 
                  , 21)
SAX.endElement(p)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.endElement(center)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.endElement(center)
SAX.error: Unexpected end tag : p
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.characters(
, 2)
SAX.startElement(table, bgColor='#003399', border='0', cellSpacing='6', width='80%')
SAX.characters(
  , 4)
SAX.startElement(tbody)
SAX.characters(
  , 4)
SAX.startElement(tr)
SAX.characters(
    , 6)
SAX.startElement(td, bgColor='black', vAlign='top', width='10%')
SAX.characters(
      , 8)
SAX.startElement(table, border='0', cellPadding='3', cellSpacing='0', width='100%')
SAX.characters(
        , 10)
SAX.startElement(tbody)
SAX.characters(
        , 10)
SAX.startElement(tr)
SAX.characters(
          , 12)
SAX.startElement(td, width='100%')
SAX.startElement(img, height='1', src='doc3_files/spacer.gif', width='111')
SAX.endElement(img)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(b)
SAX.startElement(font, color='yellow', face='Verdana', size='2')
SAX.characters(REVIEWS, 7)
SAX.endElement(font)
SAX.endElement(b)
SAX.startElement(font, face='Verdana', size='2')
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(
            , 14)
SAX.startElement(hr, align='center')
SAX.endElement(hr)
SAX.characters(
            , 14)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/bp6reviews.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(BP6 Reviews, 11)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/h2o.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(BP6 Watercooling, 16)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/bxcool.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(BX Chipset Cooling, 18)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/benchmark.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Benchmarks, 10)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/bp6fsb.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(BP6FSB Utility, 14)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/powerleap.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(PowerLeap NEO S370, 18)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/seti.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(SETI on the BP6, 15)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/orbs.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Golden Orbs I, 13)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/orbs/orbs2.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Golden Orbs II, 14)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/Q6fix.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(VTT Solution, 12)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(b)
SAX.startElement(font, color='yellow', face='Verdana', size='2')
SAX.characters(NAVIGATE, 8)
SAX.endElement(font)
SAX.endElement(b)
SAX.startElement(font, color='yellow', face='Verdana', size='2')
SAX.characters( 
            , 15)
SAX.startElement(hr, align='center')
SAX.endElement(hr)
SAX.characters(
            , 14)
SAX.endElement(font)
SAX.startElement(a, href='http://www.bp6.com/')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(News, 4)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/chat.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Online Text Chat, 16)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='javascript:popUp('chat_popup.htm')')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Voice Chat, 10)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://216.247.220.192/Forum')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Messageboard, 12)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/cooling')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Temp. Converter, 15)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Picture Gallery, 15)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/bios.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Latest BIOS, 11)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/files/')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Drivers , 8)
SAX.characters(&, 1)
SAX.characters( Files, 6)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(UGM of the week, 15)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/contest.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(BP6 Contest, 11)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(b)
SAX.startElement(font, color='yellow', face='Verdana', size='2')
SAX.characters(OTHER STUFF, 11)
SAX.endElement(font)
SAX.endElement(b)
SAX.startElement(font, color='yellow', face='Verdana', size='2')
SAX.characters( 

            , 17)
SAX.startElement(hr, align='center')
SAX.endElement(hr)
SAX.characters(
            , 14)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/whois.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Who is Tim?, 11)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='mailto:tim@bp6.com')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Contact BP6.com, 15)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Affiliates Section, 18)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Sponsors Section , 17)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(a, href='http://bp6.gamesquad.net/links.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Links, 5)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(font, color='yellow', face='Verdana', size='2')
SAX.characters(PC SPECIALS, 11)
SAX.endElement(font)
SAX.endElement(b)
SAX.startElement(font, color='yellow', face='Verdana', size='2')
SAX.characters( 
            , 15)
SAX.startElement(hr, align='center')
SAX.endElement(hr)
SAX.characters(
            , 14)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/specials.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Vendor 
            Specials, 29)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.error: Unexpected end tag : font
SAX.error: Unexpected end tag : a
SAX.startElement(b)
SAX.startElement(font, color='yellow', face='Verdana', size='2')
SAX.characters(Pic of the day, 14)
SAX.endElement(font)
SAX.endElement(b)
SAX.characters(
            , 14)
SAX.startElement(hr)
SAX.endElement(hr)
SAX.characters(
             
            , 29)
SAX.startElement(center)
SAX.characters(
            , 14)
SAX.startElement(p, align='center')
SAX.startElement(font, face='Verdana, Arial, Helvetica', size='1')
SAX.startElement(a, href='http://bp6.gamesquad.net/cgi-bin/schlabo/potd.pl')
SAX.startElement(img, alt='No picture is available for today.', border='0', src='doc3_files/potd_na_110x83.gif')
SAX.endElement(img)
SAX.endElement(a)
SAX.characters( , 1)
SAX.endElement(font)
SAX.endElement(p)
SAX.endElement(center)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(
            , 14)
SAX.startElement(center)
SAX.endElement(center)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment(<A HREF="code:javascript:ID_FTPWebView.InvokeHelp()"><FONT SIZE="1" COLOR="white" FACE="Verdana">FTP Help</FONT></A>)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.endElement(td)
SAX.characters(
    , 6)
SAX.startElement(td, bgColor='white', vAlign='top', width='80%')
SAX.startElement(img, height='1', src='doc3_files/spacer.gif', width='490')
SAX.endElement(img)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(
      , 8)
SAX.startElement(center)
SAX.characters(
      , 8)
SAX.startElement(p)
SAX.characters(
      , 8)
SAX.endElement(p)
SAX.startElement(table, bgColor='white', border='0', cellPadding='10', cellSpacing='0', height='100%', width='100%')
SAX.characters(
        , 10)
SAX.startElement(tbody)
SAX.characters(
        , 10)
SAX.startElement(tr)
SAX.characters(
          , 12)
SAX.startElement(td, bgColor='white', vAlign='top', width='100%')
SAX.characters(
            , 14)
SAX.startElement(center)
SAX.startElement(a, href='http://www.encounter2001.com/', target='_blank')
SAX.startElement(img, border='0', height='60', src='doc3_files/banner2.gif', width='468')
SAX.endElement(img)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.endElement(center)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='news_top')
SAX.endElement(a)
SAX.startElement(font, color='#003366', face='verdana,arial', size='2')
SAX.startElement(b)
SAX.characters(Headlines, 9)
SAX.endElement(b)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, face='arial', size='1')
SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem965012956,78924,')
SAX.characters(Chat 
            with ABIT -, 41)
SAX.endElement(a)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, face='arial', size='1')
SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964766837,26344,')
SAX.characters(Fixed 
            wallpaper , 43)
SAX.endElement(a)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, face='arial', size='1')
SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964762841,25865,')
SAX.characters(Seti 
            update - 10, 39)
SAX.endElement(a)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, face='arial', size='1')
SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964732235,45502,')
SAX.characters(Judge 
            gives Naps, 57)
SAX.endElement(a)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, face='arial', size='1')
SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964713289,83675,')
SAX.characters(Ram 
            Sinks.. more, 83)
SAX.endElement(a)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, face='arial', size='1')
SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964671589,7831,')
SAX.characters(is 
            it [H]ard? - , 40)
SAX.endElement(a)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, face='arial', size='1')
SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964644047,60218,')
SAX.characters(WiLd 
            CaSe!! - 1:, 38)
SAX.endElement(a)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, face='arial', size='1')
SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964631110,84122,')
SAX.characters(What 
            the heck is, 58)
SAX.endElement(a)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, face='arial', size='1')
SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964587833,74573,')
SAX.characters(HELLO 
            EVERYONE!!, 45)
SAX.endElement(a)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, face='arial', size='1')
SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964429577,13375,')
SAX.characters(BP6 
            Q3 server up, 57)
SAX.endElement(a)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment( NP v3.7.5 )
SAX.startElement(a, name='newsitem965012956,78924,')
SAX.endElement(a)
SAX.characters(
            , 14)
SAX.startElement(table, bgColor='#003399', width='100%')
SAX.characters(
              , 16)
SAX.startElement(tbody)
SAX.characters(
              , 16)
SAX.startElement(tr)
SAX.characters(
                , 18)
SAX.startElement(td)
SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
SAX.startElement(b)
SAX.characters(Sunday, 
                  Ju, 41)
SAX.endElement(b)
SAX.endElement(font)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment(<hr noshade width=100%>)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(Chat with 
            ABIT, 28)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
SAX.characters(Holodeck2, 9)
SAX.endElement(a)
SAX.characters( @ 8:09PM 
            PDT, 27)
SAX.endElement(small)
SAX.characters( , 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/965012956,78924,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(0 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters( , 2)
SAX.characters(|, 1)
SAX.characters( , 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(I, 1)
SAX.characters(’, 3)
SAX.characters(m slacking a little. All game , 83)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Wallpaper update: I got 
    , 130)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(b)
SAX.startElement(a, href='http://fullon3d.com/chat/abit/', target='3d')
SAX.characters(Fullon3d had a live chat with , 69)
SAX.endElement(a)
SAX.endElement(b)
SAX.characters(Submitted by: MJS, 17)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Here, 4)
SAX.characters(’, 3)
SAX.characters(s a little clip:, 16)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters([Falcon] 
            BP6-2??, 30)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters([EricBoeing] We already have a, 75)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters([EricBoeing] but it's OEM only, 30)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters([EricBoeing] the full ATX 
  , 74)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem964766837,26344,')
SAX.endElement(a)
SAX.characters(
            , 14)
SAX.startElement(table, bgColor='#003399', width='100%')
SAX.characters(
              , 16)
SAX.startElement(tbody)
SAX.characters(
              , 16)
SAX.startElement(tr)
SAX.characters(
                , 18)
SAX.startElement(td)
SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
SAX.startElement(b)
SAX.characters(Thursday, 
                  , 43)
SAX.endElement(b)
SAX.endElement(font)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment(<hr noshade width=100%>)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(Fixed 
            wallpaper, 29)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
SAX.characters(Holodeck2, 9)
SAX.endElement(a)
SAX.characters( @ 11:47PM 
            PDT, 28)
SAX.endElement(small)
SAX.characters( , 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/964766837,26344,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(5 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters( , 2)
SAX.characters(|, 1)
SAX.characters( , 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.startElement(b)
SAX.characters(Get them now!!, 14)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(This is a 
            fixed , 106)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(img, height='180', src='doc3_files/3-800.jpg', width='240')
SAX.endElement(img)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(It's still the Intels Inside o, 104)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Thanks to Matt for 
         , 57)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(I would also like to thank Kev, 133)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(And 1 more person, THANK YOU T, 90)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(If you need a weird resolution, 59)
SAX.startElement(a, href='mailto:Holodeck2@home.com')
SAX.characters(e-mail, 6)
SAX.endElement(a)
SAX.characters( me requesting 
            f, 37)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(If you have ideas or more erro, 47)
SAX.startElement(a, href='mailto:Holodeck2@home.com')
SAX.characters(mailto:Holodeck2@home.com, 25)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='doc3_files/3-800.jpg', target='800')
SAX.characters(800x600 , 8)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.bp6.com/pics/holodeck2/wallpaper/3-1024.jpg', target='800')
SAX.characters(1024x768 , 9)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.bp6.com/pics/holodeck2/wallpaper/3-1152.jpg', target='800')
SAX.characters(1152x864 , 9)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.bp6.com/pics/holodeck2/wallpaper/3-1280x1024.jpg', target='800')
SAX.characters(1280x1024 , 10)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.bp6.com/pics/holodeck2/wallpaper/3-1600.jpg', target='800')
SAX.characters(1600x1200 , 10)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(
            , 14)
SAX.startElement(p)
SAX.characters(Enjoy :-), 9)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(
            , 14)
SAX.endElement(p)
SAX.startElement(p)
SAX.startElement(a, href='mailto:Holodeck2@home.com')
SAX.characters(Holodeck2,, 10)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters([H]ard at 
            work o, 65)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(p)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem964762841,25865,')
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(Seti update, 11)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
SAX.characters(Holodeck2, 9)
SAX.endElement(a)
SAX.characters( @ 10:40PM 
            PDT, 28)
SAX.endElement(small)
SAX.characters( , 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/964762841,25865,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(5 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters( , 2)
SAX.characters(|, 1)
SAX.characters( , 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.startElement(img, height='54', src='doc3_files/setiupdate.jpg', width='400')
SAX.endElement(img)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(You like the 
            pic, 31)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Bp6 User Group Update:, 22)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Completed 61531 
            , 37)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(b)
SAX.characters(#168 on Top 200 All Groups, 26)
SAX.endElement(b)
SAX.characters( (Going to pass CLRC in 
    , 49)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(b)
SAX.characters(#74 on Top 200 Teams, 20)
SAX.endElement(b)
SAX.characters( (Gaining fast on 
          , 42)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(We are flying though at the sp, 82)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Good job everyone!!, 19)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Check this page at 
         , 67)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem964732235,45502,')
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(Judge gives Napster the 
    , 44)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
SAX.characters(Holodeck2, 9)
SAX.endElement(a)
SAX.characters( @ 2:10PM 
            PDT, 27)
SAX.endElement(small)
SAX.characters( , 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/964732235,45502,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(0 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters( , 2)
SAX.characters(|, 1)
SAX.characters( , 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(Good afternoon for everyone li, 135)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(I woke up and thought about po, 488)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.msnbc.com/news/437532.asp', target='Judge vs Napster')
SAX.characters(Judge shuts Napster down
    , 38)
SAX.startElement(p)
SAX.startElement(img, height='143', src='doc3_files/669915.jpg', width='200')
SAX.endElement(img)
SAX.endElement(p)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Check out the Goofy guy in the, 35)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(He's Sean 
            Fannin, 52)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Got news?? , 11)
SAX.startElement(a, href='mailto:Holodeck2@home.com')
SAX.characters(mailto:Holodeck2@home.com, 25)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem964713289,83675,')
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(Ram Sinks.. more cooling for s, 56)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:tim@bp6.com')
SAX.characters(tim, 3)
SAX.endElement(a)
SAX.characters( @ 8:54AM PDT, 13)
SAX.endElement(small)
SAX.characters( , 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/964713289,83675,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(0 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters( , 2)
SAX.characters(|, 1)
SAX.characters( , 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(Need some cooling for your Vid, 106)
SAX.startElement(a, href='http://www.overclockershideout.com/RamSinks.html', target='_BLANK')
SAX.characters(Overclockers Hiedout Ram Sinks, 30)
SAX.endElement(a)
SAX.characters( They just notified 
        , 57)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(img, border='1', src='doc3_files/ramsink.jpg')
SAX.endElement(img)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem964671589,7831,')
SAX.endElement(a)
SAX.characters(
            , 14)
SAX.startElement(table, bgColor='#003399', width='100%')
SAX.characters(
              , 16)
SAX.startElement(tbody)
SAX.characters(
              , 16)
SAX.startElement(tr)
SAX.characters(
                , 18)
SAX.startElement(td)
SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
SAX.startElement(b)
SAX.characters(Wednesday, July 26, 
        , 38)
SAX.endElement(b)
SAX.endElement(font)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment(<hr noshade width=100%>)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(is it 
            [H]ard?, 27)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
SAX.characters(Holodeck2, 9)
SAX.endElement(a)
SAX.characters( @ 9:19PM 
            PDT, 27)
SAX.endElement(small)
SAX.characters( , 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/964671589,7831,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(0 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters( , 2)
SAX.characters(|, 1)
SAX.characters( , 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(Big heatsinks are good, very g, 71)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(You can never can have a too b, 99)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(img, height='173', src='doc3_files/voodooside2.jpg', width='230')
SAX.endElement(img)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(My overclocked 
            V, 74)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Peltier and 
            wate, 50)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters((if you pry off the heatsink y, 66)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(it was originally posted on , 28)
SAX.startElement(a, href='http://www.hardocp.com/')
SAX.characters([H]ardOCP , 10)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(I, 1)
SAX.characters(’, 3)
SAX.characters(m not only a 
            BP6, 55)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem964644047,60218,')
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(WiLd CaSe!!, 11)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
SAX.characters(Holodeck2, 9)
SAX.endElement(a)
SAX.characters( @ 1:40PM 
            PDT, 27)
SAX.endElement(small)
SAX.characters( , 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/964644047,60218,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(8 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters( , 2)
SAX.characters(|, 1)
SAX.characters( , 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(Now this person really knows h, 70)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Addin an 18" Fan!! WOW!!, 24)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.envador.com/Photos/PVCII/', target='_blank')
SAX.startElement(img, src='doc3_files/TN_OpenedUp1.jpg')
SAX.endElement(img)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Click to go to his 
         , 38)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem964631110,84122,')
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(What the heck is a 
         , 44)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
SAX.characters(Holodeck2, 9)
SAX.endElement(a)
SAX.characters( @ 10:05AM 
            PDT, 28)
SAX.endElement(small)
SAX.characters( , 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/964631110,84122,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(6 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters( , 2)
SAX.characters(|, 1)
SAX.characters( , 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(This is for all you people who, 78)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(The quest fo the Perfect 
   , 46)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.tweakmax.com/html/peltier/peltier-1.cfm', target='_blank')
SAX.startElement(img, src='doc3_files/peltier.jpg')
SAX.endElement(img)
SAX.endElement(a)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Thanks to 
            , 24)
SAX.startElement(a, href='http://www.tweakmax.com/', target='_blank')
SAX.characters(TweakMax.com, 12)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Note: Today morning when I wok, 397)
SAX.startElement(img, src='doc3_files/smile.gif')
SAX.endElement(img)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(I'm not angry at anyone... 
 , 71)
SAX.startElement(img, src='doc3_files/tongue.gif')
SAX.endElement(img)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem964587833,74573,')
SAX.endElement(a)
SAX.characters(
            , 14)
SAX.startElement(table, bgColor='#003399', width='100%')
SAX.characters(
              , 16)
SAX.startElement(tbody)
SAX.characters(
              , 16)
SAX.startElement(tr)
SAX.characters(
                , 18)
SAX.startElement(td)
SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
SAX.startElement(b)
SAX.characters(Tuesday, 
                  J, 42)
SAX.endElement(b)
SAX.endElement(font)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment(<hr noshade width=100%>)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(HELLO 
            EVERYONE!!, 31)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
SAX.characters(Holodeck2, 9)
SAX.endElement(a)
SAX.characters( @ 10:03PM 
            PDT, 28)
SAX.endElement(small)
SAX.characters( , 2)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(Hello 
            everyone, , 47)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Who is this Holodeck2 person , 66)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(I, 1)
SAX.characters(’, 3)
SAX.characters(m a regular on the bp6 message, 97)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(I, 1)
SAX.characters(’, 3)
SAX.characters(m the 
            self-procl, 85)
SAX.characters(’, 3)
SAX.characters(ve 
            probably alre, 68)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(My computer 
            is a, 200)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Any Questions or comments, you, 98)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Ways to contact 
            , 33)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(E-mail: , 8)
SAX.startElement(a, href='mailto:Holodeck2@home.com')
SAX.characters(Holodeck2@home.com, 18)
SAX.endElement(a)
SAX.characters( (All E-mails 
            wi, 82)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(When you 
            write m, 163)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.aol.com/aim')
SAX.characters(AIM: , 5)
SAX.endElement(a)
SAX.characters(Holodeck2 (instant response 
, 46)
SAX.characters(’, 3)
SAX.characters(m in front of my comp and not , 53)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.icq.com/download')
SAX.characters(ICQ: , 5)
SAX.endElement(a)
SAX.characters(82640218 (rarely 
           , 34)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(P.S. If someone named , 22)
SAX.characters(“, 3)
SAX.characters(Digital Vortex, 14)
SAX.characters(”, 3)
SAX.characters( on either Quake 3 
         , 51)
SAX.characters(’, 3)
SAX.characters(s probably me. ;-), 18)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem964429577,13375,')
SAX.endElement(a)
SAX.characters(
            , 14)
SAX.startElement(table, bgColor='#003399', width='100%')
SAX.characters(
              , 16)
SAX.startElement(tbody)
SAX.characters(
              , 16)
SAX.startElement(tr)
SAX.characters(
                , 18)
SAX.startElement(td)
SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
SAX.startElement(b)
SAX.characters(Monday, 
                  Ju, 41)
SAX.endElement(b)
SAX.endElement(font)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment(<hr noshade width=100%>)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(BP6 Q3 server up and 
       , 44)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:tim@bp6.com')
SAX.characters(tim, 3)
SAX.endElement(a)
SAX.characters( @ 2:06AM PDT, 13)
SAX.endElement(small)
SAX.characters( , 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/964429577,13375,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(3 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters( , 2)
SAX.characters(|, 1)
SAX.characters( , 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(Setup a Q3 server for anyone w, 355)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters((BTW- 
            there are , 68)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem964425184,95812,')
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(BIOS Savior to the 
         , 43)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:tim@bp6.com')
SAX.characters(tim, 3)
SAX.endElement(a)
SAX.characters( @ 12:53AM PDT, 14)
SAX.endElement(small)
SAX.characters( , 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/964425184,95812,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(2 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters( , 2)
SAX.characters(|, 1)
SAX.characters( , 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(Do you sweat during the BIOS f, 167)
SAX.startElement(b)
SAX.characters(RD1 BIOS Savior, 15)
SAX.endElement(b)
SAX.characters(" and it 
            plugs i, 520)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.ioss.com.tw/eg/rd1/RD1info0004.PDF', target='_NEW')
SAX.characters(Manufacturers Brochure, 22)
SAX.endElement(a)
SAX.characters( (PDF Format), 13)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://192.216.185.10/mwave/doc/A06950.html', target='_BLANK"')
SAX.characters(Another info page, 17)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://192.216.185.10/mwave/ProdMB-AC-MW.hmx?UID=&CID=&updepts=MB&DNAME=%3Cb%3EMotherboards%3C%2Fb%3E&Back=ProdMB-AC-MW.hmx?', target='_BLANK')
SAX.characters(Available for about $20, 23)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(img, src='doc3_files/rd1.jpg')
SAX.endElement(img)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem963875853,12731,')
SAX.endElement(a)
SAX.characters(
            , 14)
SAX.startElement(table, bgColor='#003399', width='100%')
SAX.characters(
              , 16)
SAX.startElement(tbody)
SAX.characters(
              , 16)
SAX.startElement(tr)
SAX.characters(
                , 18)
SAX.startElement(td)
SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
SAX.startElement(b)
SAX.characters(Monday, 
                  Ju, 41)
SAX.endElement(b)
SAX.endElement(font)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment(<hr noshade width=100%>)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(How To 
            Overclock, 30)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
SAX.characters(DareDevil, 9)
SAX.endElement(a)
SAX.characters( @ 4:17PM 
            PDT, 27)
SAX.endElement(small)
SAX.characters( , 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/963875853,12731,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(3 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters( , 2)
SAX.characters(|, 1)
SAX.characters( , 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(For those of you who are new t, 209)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://netkills.qgl.org/a_oc_comp.shtml', target='_blank')
SAX.characters(How To Overclock, 16)
SAX.endElement(a)
SAX.characters( , 1)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem963875485,23353,')
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(The Cardcooler 
            X, 31)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
SAX.characters(DareDevil, 9)
SAX.endElement(a)
SAX.characters( @ 4:11PM 
            PDT, 27)
SAX.endElement(small)
SAX.characters( , 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/963875485,23353,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(1 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters( , 2)
SAX.characters(|, 1)
SAX.characters( , 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(Wow! I am impressed! Nevermind, 98)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(i)
SAX.characters(Even if your 
            not, 345)
SAX.endElement(i)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Check this out!, 15)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.brokenpixel.com/articles/coolerXT/cardcoolerXT_1.shtml', target='_blank')
SAX.characters(http://www.brokenpixel.com/art, 65)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem963859982,88982,')
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters('Nerd 
            Inside', 27)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
SAX.characters(DareDevil, 9)
SAX.endElement(a)
SAX.characters( @ 11:53AM 
            PDT, 28)
SAX.endElement(small)
SAX.characters( , 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/963859982,88982,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(1 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters( , 2)
SAX.characters(|, 1)
SAX.characters( , 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(We all need to have some fun , 181)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(
            , 14)
SAX.startElement(div, align='center')
SAX.startElement(a, href='http://www.nerdgear.com/', target='_blank')
SAX.startElement(img, border='0', src='doc3_files/nerdinside.gif')
SAX.endElement(img)
SAX.endElement(a)
SAX.endElement(div)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem963819796,9688,')
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(Dual PSU Wiring diagram... (pr, 81)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:tim@bp6.com')
SAX.characters(tim, 3)
SAX.endElement(a)
SAX.characters( @ 12:43AM PDT, 14)
SAX.endElement(small)
SAX.characters( , 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/963819796,9688,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(11 comments, 11)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters( , 2)
SAX.characters(|, 1)
SAX.characters( , 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(When is comes to overclocking , 848)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(View Diagram 1 , 15)
SAX.startElement(a, href='http://bp6.gamesquad.net/images/wiring.jpg', target='_BLANK')
SAX.characters(here, 4)
SAX.endElement(a)
SAX.characters(., 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(View Diagram 2 , 15)
SAX.startElement(a, href='http://bp6.gamesquad.net/images/psu2.gif', target='_BLANK')
SAX.characters(here, 4)
SAX.endElement(a)
SAX.characters(., 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(I used Tap-In Squeeze Connecto, 150)
SAX.startElement(a, href='http://www.radioshack.com/ProductCatalog/ProductDetail/Index/1,2098,,00.html?SKUString1=64&SKUString2=3053', target='_blank')
SAX.characters(click here, 10)
SAX.endElement(a)
SAX.characters(., 1)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem963766655,78511,')
SAX.endElement(a)
SAX.characters(
            , 14)
SAX.startElement(table, bgColor='#003399', width='100%')
SAX.characters(
              , 16)
SAX.startElement(tbody)
SAX.characters(
              , 16)
SAX.startElement(tr)
SAX.characters(
                , 18)
SAX.startElement(td)
SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
SAX.startElement(b)
SAX.characters(Sunday, 
                  Ju, 41)
SAX.endElement(b)
SAX.endElement(font)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment(<hr noshade width=100%>)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(RAM Overclocking? 
          , 39)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
SAX.characters(DareDevil, 9)
SAX.endElement(a)
SAX.characters( @ 9:57AM 
            PDT, 27)
SAX.endElement(small)
SAX.characters( , 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/963766655,78511,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(3 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters( , 2)
SAX.characters(|, 1)
SAX.characters( , 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(I know we're pretty big overcl, 636)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Extreme Overclocking has teste, 145)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(i)
SAX.characters(Well, the guys at Extreme Over, 344)
SAX.endElement(i)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.extremeoverclocking.com/reviews/memory/ram_roundup_1.html', target='_blank')
SAX.characters(Cooked RAM... Yummie, 20)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(The 
            ÐÐ., 23)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem963764236,76720,')
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(CPU 
            Guide, 23)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
SAX.characters(DareDevil, 9)
SAX.endElement(a)
SAX.characters( @ 9:17AM 
            PDT, 27)
SAX.endElement(small)
SAX.characters( , 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/963764236,76720,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(0 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters( , 2)
SAX.characters(|, 1)
SAX.characters( , 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(A follow up on the 'Weekly CPU, 203)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(
            , 14)
SAX.startElement(li)
SAX.startElement(a, href='http://www6.tomshardware.com/howto/00q2/000412/index.html', target='_blank')
SAX.characters(http://www6.tomshardware.com/h, 57)
SAX.endElement(a)
SAX.endElement(li)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem963685749,28290,')
SAX.endElement(a)
SAX.characters(
            , 14)
SAX.startElement(table, bgColor='#003399', width='100%')
SAX.characters(
              , 16)
SAX.startElement(tbody)
SAX.characters(
              , 16)
SAX.startElement(tr)
SAX.characters(
                , 18)
SAX.startElement(td)
SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
SAX.startElement(b)
SAX.characters(Saturday, 
                  , 43)
SAX.endElement(b)
SAX.endElement(font)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment(<hr noshade width=100%>)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(Weekly CPU 
            Price, 31)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
SAX.characters(DareDevil, 9)
SAX.endElement(a)
SAX.characters( @ 11:29AM 
            PDT, 28)
SAX.endElement(small)
SAX.characters( , 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/963685749,28290,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(2 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters( , 2)
SAX.characters(|, 1)
SAX.characters( , 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(Wow, found this very useful! W, 104)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.sharkyextreme.com/hardware/weekly_cpu/', target='_blank')
SAX.characters(Click Here., 11)
SAX.endElement(a)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Thanks Sharky 
            Ex, 36)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem963679881,35277,')
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(Fast Wallpapers, 15)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
SAX.characters(DareDevil, 9)
SAX.endElement(a)
SAX.characters( @ 9:51AM 
            PDT, 27)
SAX.endElement(small)
SAX.characters( , 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/963679881,35277,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(0 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters( , 2)
SAX.characters(|, 1)
SAX.characters( , 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(FAST-MHz has released some wal, 53)
SAX.startElement(a, href='http://64.29.18.111/wallpaper/index.html', target='_blank')
SAX.characters(Click here, 10)
SAX.endElement(a)
SAX.characters( to view them. They come in si, 241)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(In other news, we want to 
  , 135)
SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml', target='_blank')
SAX.characters(Picture Gallery, 15)
SAX.endElement(a)
SAX.characters(. To help us out, you can send, 103)
SAX.startElement(a, href='mailto:thedaredevil@bp6.com')
SAX.characters(thedaredevil@bp6.com, 20)
SAX.endElement(a)
SAX.characters(. (The 
            topic bei, 186)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Okay, that's all for now., 25)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(The 
            ÐÐ., 23)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem963619505,3764,')
SAX.endElement(a)
SAX.characters(
            , 14)
SAX.startElement(table, bgColor='#003399', width='100%')
SAX.characters(
              , 16)
SAX.startElement(tbody)
SAX.characters(
              , 16)
SAX.startElement(tr)
SAX.characters(
                , 18)
SAX.startElement(td)
SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
SAX.startElement(b)
SAX.characters(Friday, 
                  Ju, 41)
SAX.endElement(b)
SAX.endElement(font)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment(<hr noshade width=100%>)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(Hey 
            There!, 24)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
SAX.characters(DareDevil, 9)
SAX.endElement(a)
SAX.characters( @ 5:05PM 
            PDT, 27)
SAX.endElement(small)
SAX.characters( , 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/963619505,3764,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(7 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters( , 2)
SAX.characters(|, 1)
SAX.characters( , 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(Hey guys, just wanted to intro, 312)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(My e-mail address is , 21)
SAX.startElement(a, href='mailto:killz@i82hq.com')
SAX.characters(killz@i82hq.com, 15)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Ciao for 
            now., 27)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(The ÐÐ., 9)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(
            , 14)
SAX.endElement(font)
SAX.startElement(center)
SAX.startElement(iframe, frameBorder='0', height='60', marginHeight='0', marginWidth='0', noResize='(null)', scrolling='no', src='doc3_files/ad_iframe.htm', width='468')
SAX.startElement(a, href='http://ads.adflight.com/go_static.asp?asid=7708', target='_top')
SAX.error: htmlParseEntityRef: expecting ';'
SAX.error: htmlParseEntityRef: expecting ';'
SAX.startElement(img, width='468', height='60', border='0', alt='Advertisement', src='http://ads.adflight.com/ad_static.asp?pid=2097&sid=1881&asid=7708')
SAX.endElement(img)
SAX.endElement(a)
SAX.endElement(iframe)
SAX.endElement(center)
SAX.error: Unexpected end tag : li
SAX.error: Unexpected end tag : font
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.endElement(center)
SAX.error: Unexpected end tag : p
SAX.endElement(td)
SAX.characters(
    , 6)
SAX.startElement(td, bgColor='silver', vAlign='top', width='10%')
SAX.characters(
      , 8)
SAX.startElement(center)
SAX.characters(
      , 8)
SAX.startElement(p)
SAX.characters(
      , 8)
SAX.endElement(p)
SAX.startElement(table, bgColor='silver', border='0', cellPadding='0', cellSpacing='0', width='100%')
SAX.characters(
        , 10)
SAX.startElement(tbody)
SAX.characters(
        , 10)
SAX.startElement(tr)
SAX.characters(
          , 12)
SAX.startElement(td, COLSTART='1')
SAX.characters(
            , 14)
SAX.startElement(center)
SAX.comment(	<FORM ACTION="/cgi-bin/subscribe.pl" METHOD="POST" ENCTYPE="application/x-www-form-urlencoded">
						<IMG SRC="/images/spacer.gif" WIDTH="111" HEIGHT="1"><BR>
						<P><B><FONT SIZE="2" COLOR="#000066" FACE="Verdana">Newsletter</FONT></B><FONT SIZE="1" FACE="Verdana"><BR>
						<INPUT TYPE="TEXT" NAME="email" SIZE="10" VALUE="ur@email.com"><BR>
						<INPUT TYPE="HIDDEN" NAME="subscribe" SIZE="-1" VALUE="subscribe"><INPUT TYPE="IMAGE" SRC="/images/subscribe.gif" WIDTH="80"
						HEIGHT="27" ALIGN="BOTTOM" BORDER="0"></FONT>
						</FORM> )
SAX.characters(
            , 14)
SAX.startElement(form, action='http://bp6.gamesquad.net/cgi-bin/news/viewnews.cgi?emaillist', method='post')
SAX.startElement(img, height='1', src='doc3_files/spacer.gif', width='111')
SAX.endElement(img)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, size='1')
SAX.characters(Newsletter, 10)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(input, name='npemail', size='13', value='e-mail addr.')
SAX.endElement(input)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(input, name='npsubscribe', style='BACKGROUND-COLOR: #000000; COLOR: #ffffff; FONT-FAMILY: Verdana; FONT-SIZE: xx-small; FONT-WEIGHT: bold', type='submit', value='Subscribe')
SAX.endElement(input)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment( <input type="submit" name="npunsubscribe" value="Unsubscribe" style="font-size: xx-small; font-family: Verdana; font-weight: bold; color: #ffffff; background-color: #000000;"> )
SAX.endElement(font)
SAX.endElement(form)
SAX.startElement(font, size='1')
SAX.characters(
            , 14)
SAX.startElement(form, action='http://bp6.gamesquad.net/cgi-bin/news/viewnews.cgi?search', method='post')
SAX.characters(Search news, 11)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(input, name='searchstring', size='13')
SAX.endElement(input)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(input, name='submit', style='BACKGROUND-COLOR: #000000; COLOR: #ffffff; FONT-FAMILY: Verdana; FONT-SIZE: xx-small; FONT-WEIGHT: bold', type='submit', value='Submit')
SAX.endElement(input)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://bp6.gamesquad.net/cgi-bin/news/viewnews.cgi?newsall')
SAX.characters(News 
            archive, 26)
SAX.endElement(a)
SAX.error: Opening and ending tag mismatch: font and form
SAX.endElement(form)
SAX.endElement(font)
SAX.characters( , 1)
SAX.error: Unexpected end tag : form
SAX.endElement(center)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.comment(				<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%" BGCOLOR="silver">
					<TR>
						<TD WIDTH="100%">
							<P ALIGN="CENTER"><A HREF="http://www.free56k.com" target="_blank"><IMG SRC="/images/free56k.gif" WIDTH="100" HEIGHT="49"
							ALIGN="BOTTOM" BORDER="0"></A>
						</TD>
					</TR>
				</TABLE> 
)
SAX.characters(
      , 8)
SAX.startElement(table, bgColor='silver', border='0', cellPadding='0', cellSpacing='0', width='100%')
SAX.characters(
        , 10)
SAX.startElement(tbody)
SAX.characters(
        , 10)
SAX.startElement(tr)
SAX.characters(
          , 12)
SAX.startElement(td, align='middle', width='100%')
SAX.comment( BEGIN GoTo.com Search Box )
SAX.characters(
            , 14)
SAX.startElement(script, language='javascript', type='text/javascript')
SAX.characters(
							, 9)
SAX.comment(
							if ((parseInt(navigator.appVersion) >= 3)
							&& (navigator.appName != "Netscape")) {
							document.write("<IFRAME marginheight=0 frameborder=0 ");
							document.write("marginwidth=0 scrolling=no width=100 height");
							document.write("=90 ");
							document.write("SRC=http://www.goto.com/d/ssn/dynconsole/?t");
							document.write("ype=html&size=100x90&url=http://www.goto.co");
							document.write("m/d/search/ssn/&target=_blank&Partner=SSN80");
							document.write("42DF8478957377></IFRAME>");
							} else if ((parseInt(navigator.appVersion) > 3)
							&& (navigator.appName == "Netscape")) {
							document.write("<SCRIPT language=javascript type=text/javas");
							document.write("cript ");
							document.write("SRC=http://www.goto.com/d/ssn/dynconsole/?t");
							document.write("ype=js&size=100x90&url=http://www.goto.com/");
							document.write("d/search/ssn/&target=_blank&Partner=SSN8042");
							document.write("DF8478957377></SC");
							document.write("RIPT>");
							} else {
							document.write("<A TARGET=_blank ");
							document.write("HREF=http://www.goto.com/d/search/ssn/?from");
							document.write("GIF=true>");
							document.write("<IMG ismap ");
							document.write("SRC=http://www.goto.com/d/ssn/dynconsole/?t");
							document.write("ype=gif&size=100x90></A>");
							}
							// )
SAX.characters(
							, 9)
SAX.endElement(script)
SAX.characters(
            , 14)
SAX.startElement(b)
SAX.startElement(noscript)
SAX.error: Opening and ending tag mismatch: b and noscript
SAX.endElement(noscript)
SAX.endElement(b)
SAX.startElement(a, href='http://www.goto.com/d/search/ssn/?fromGIF=true', target='_blank')
SAX.startElement(img, align='bottom', border='0', height='90', isMap='(null)', src='doc3_files/100x90.gif', width='100')
SAX.endElement(img)
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(a, href='http://www.goto.com/d/search/ssn/?fromGIF=true', target='_blank')
SAX.characters( 
            , 15)
SAX.endElement(a)
SAX.error: Unexpected end tag : a
SAX.endElement(b)
SAX.startElement(b)
SAX.error: Unexpected end tag : noscript
SAX.endElement(b)
SAX.startElement(b)
SAX.comment( END GoTo.com Search Box )
SAX.endElement(b)
SAX.comment( Pricewatch Search Box )
SAX.characters(
            , 14)
SAX.startElement(form, action='http://www.pricewatch.com/search/search.asp', method='get', target='_Blank')
SAX.characters(
            , 14)
SAX.startElement(center)
SAX.characters(
            , 14)
SAX.startElement(p)
SAX.startElement(b)
SAX.startElement(font, color='white', face='ARIAL, HELVETICA', size='1')
SAX.characters(PC Price 
            Search, 29)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.endElement(b)
SAX.startElement(input, maxLength='30', name='criteria', size='10')
SAX.endElement(input)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(input, name='submit', style='BACKGROUND-COLOR: #000000; COLOR: #ffffff; FONT-FAMILY: Verdana; FONT-SIZE: xx-small; FONT-WEIGHT: bold', type='submit', value='Search')
SAX.endElement(input)
SAX.characters( 
            , 15)
SAX.endElement(p)
SAX.error: Opening and ending tag mismatch: form and center
SAX.endElement(center)
SAX.endElement(form)
SAX.comment( Pricewatch Search Box )
SAX.startElement(a, href='http://www.puicorp.com/bp6specials.htm', target='_BLANK')
SAX.startElement(img, src='doc3_files/puibp6.gif')
SAX.endElement(img)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://store.yahoo.com/dunamis-site/maxtor.html', target='_BLANK')
SAX.startElement(img, alt='BP6.com Special - Enter CODE: BP6-hd in the order (notes) to receive a discount', src='doc3_files/hd5.gif')
SAX.endElement(img)
SAX.startElement(font, size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(BP6.COM 
            Special, 29)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Code:BP6-hd, 11)
SAX.endElement(font)
SAX.endElement(a)
SAX.characters( , 1)
SAX.error: Unexpected end tag : p
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.error: Opening and ending tag mismatch: center and table
SAX.endElement(table)
SAX.endElement(center)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.characters(
      , 8)
SAX.startElement(table, bgColor='silver', border='0', cellPadding='0', cellSpacing='0', height='100%', width='100%')
SAX.characters(
        , 10)
SAX.startElement(tbody)
SAX.characters(
        , 10)
SAX.startElement(tr)
SAX.characters(
          , 12)
SAX.startElement(td, width='100%')
SAX.characters( , 2)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.error: Unexpected end tag : p
SAX.error: Unexpected end tag : center
SAX.error: Unexpected end tag : tr
SAX.error: Unexpected end tag : tbody
SAX.error: Unexpected end tag : table
SAX.comment(	</TABLE>)
SAX.characters(
, 2)
SAX.startElement(center)
SAX.endElement(center)
SAX.error: Unexpected end tag : td
SAX.error: Unexpected end tag : tr
SAX.startElement(tr)
SAX.startElement(td, COLSPAN='3', VALIGN='TOP', HEIGHT='70')
SAX.characters( , 2)
SAX.endElement(td)
SAX.characters( , 1)
SAX.endElement(tr)
SAX.error: Unexpected end tag : table
SAX.characters(
, 2)
SAX.startElement(table, border='0', width='780')
SAX.characters(
  , 4)
SAX.startElement(tbody)
SAX.characters(
  , 4)
SAX.startElement(tr)
SAX.characters(
    , 6)
SAX.startElement(td, width='780')
SAX.characters(
      , 8)
SAX.startElement(p, align='center')
SAX.startElement(font, color='#999999', face='verdana,arial', size='1')
SAX.characters(Copyright 
      ©1999-2000 , 59)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Got news? Send it to , 21)
SAX.endElement(font)
SAX.startElement(a, href='mailto:tim@bp6.com')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Tim, 3)
SAX.endElement(font)
SAX.endElement(a)
SAX.characters( , 1)
SAX.endElement(p)
SAX.endElement(td)
SAX.endElement(tr)
SAX.comment(	<TR>		<TD WIDTH="780">			<P ALIGN="CENTER"><FONT SIZE="1" COLOR="#999999" FACE="Verdana,arial">Site design by Tim Brinkley</FONT>		</TD>	</TR> )
SAX.endElement(tbody)
SAX.endElement(table)
SAX.endElement(div)
SAX.characters(
, 2)
SAX.startElement(script)
SAX.characters( window.open=NS_ActualOpen; , 28)
SAX.endElement(script)
SAX.characters(
, 2)
SAX.endElement(body)
SAX.endElement(html)
SAX.ignorableWhitespace(
, 2)
SAX.endDocument()
