<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>Stefan on SharePoint</title>
    <description>My Wanderings in SharePoint and Various Microsoft Technologies</description>
    <link>http://www.keirgordon.com/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.NET 1.4.5.14</generator>
    <language>en-US</language>
    <blogChannel:blogRoll>http://www.keirgordon.com/opml.axd</blogChannel:blogRoll>
    <dc:creator>Stefan Keir Gordon</dc:creator>
    <dc:title>Stefan on SharePoint</dc:title>
    <geo:lat>0.000000</geo:lat>
    <geo:long>0.000000</geo:long>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/StefanOnSharepoint" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
      <title>Restricted Column Names for SharePoint Lists</title>
      <description>&lt;p&gt;Tried to create a column in my list called "UniqueId" today.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The column creates just fine, and works within the UI.&amp;nbsp; However, if you try to programtically update the value SPListItem["UniqueId"] -- You'll quickly get an error.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This is because SharePoint realized that UniqueId was actually already in-use by the system, and named your column something like UniqueId1.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;To find out what your actual field is named, go to edit your column and look at the end of the URL in the address bar.&amp;nbsp; You should see your field name there.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Cheers!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/StefanOnSharepoint/~4/Fx4Vr5RKKhE" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/StefanOnSharepoint/~3/Fx4Vr5RKKhE/post.aspx</link>
      <author>StefanKeirGordon</author>
      <comments>http://www.keirgordon.com/post/Restricted-Column-Names-for-SharePoint-Lists.aspx#comment</comments>
      <guid isPermaLink="false">http://www.keirgordon.com/post.aspx?id=17b41e4f-1d89-4f98-a98b-85fb96644375</guid>
      <pubDate>Tue, 25 Aug 2009 06:29:00 -1400</pubDate>
      <dc:publisher>StefanKeirGordon</dc:publisher>
      <pingback:server>http://www.keirgordon.com/pingback.axd</pingback:server>
      <pingback:target>http://www.keirgordon.com/post.aspx?id=17b41e4f-1d89-4f98-a98b-85fb96644375</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.keirgordon.com/trackback.axd?id=17b41e4f-1d89-4f98-a98b-85fb96644375</trackback:ping>
      <wfw:comment>http://www.keirgordon.com/post/Restricted-Column-Names-for-SharePoint-Lists.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.keirgordon.com/syndication.axd?post=17b41e4f-1d89-4f98-a98b-85fb96644375</wfw:commentRss>
    <feedburner:origLink>http://www.keirgordon.com/post.aspx?id=17b41e4f-1d89-4f98-a98b-85fb96644375</feedburner:origLink></item>
    <item>
      <title>How do custom Role Providers work in SharePoint?</title>
      <description>&lt;p&gt;Lately I've been doing quite a bit of work with custom authorization scenarios in SharePoint, using the Microsoft Geneva framework for claims based security.&amp;nbsp; This means custom membership and role providers which are relatively complicated.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Understanding how SharePoint uses your role provider is critical to designing and debugging even a modestly complicated security scenario.&amp;nbsp; I've put together a flow-chart which hopefully helps explain when identities are created, what methods SharePoint calls, and just generally how your custom providers are used.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;This is a work in progress, and I will include how membership providers are leveraged during assigning of permissions at a later date.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Click the image to see it full size.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/HowdocustomRoleProvidersworkinSharePoint_19C1/SharePoint_FBA_Login_2.png" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="SharePoint_FBA_Login" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/HowdocustomRoleProvidersworkinSharePoint_19C1/SharePoint_FBA_Login_thumb.png" width="555" height="371"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/StefanOnSharepoint/~4/oMtANimLhVg" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/StefanOnSharepoint/~3/oMtANimLhVg/post.aspx</link>
      <author>stefankeirgordon</author>
      <comments>http://www.keirgordon.com/post/How-do-custom-Role-Providers-work-in-SharePoint.aspx#comment</comments>
      <guid isPermaLink="false">http://www.keirgordon.com/post.aspx?id=b5cc156d-1222-482a-8cd5-2ee58e3585f6</guid>
      <pubDate>Fri, 21 Aug 2009 19:50:28 -1400</pubDate>
      <dc:publisher>stefankeirgordon</dc:publisher>
      <pingback:server>http://www.keirgordon.com/pingback.axd</pingback:server>
      <pingback:target>http://www.keirgordon.com/post.aspx?id=b5cc156d-1222-482a-8cd5-2ee58e3585f6</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.keirgordon.com/trackback.axd?id=b5cc156d-1222-482a-8cd5-2ee58e3585f6</trackback:ping>
      <wfw:comment>http://www.keirgordon.com/post/How-do-custom-Role-Providers-work-in-SharePoint.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.keirgordon.com/syndication.axd?post=b5cc156d-1222-482a-8cd5-2ee58e3585f6</wfw:commentRss>
    <feedburner:origLink>http://www.keirgordon.com/post.aspx?id=b5cc156d-1222-482a-8cd5-2ee58e3585f6</feedburner:origLink></item>
    <item>
      <title>SharePoint Stock Ticker</title>
      <description>&lt;p&gt;A frequent corporate intranet requirement is to show a stock ticker value some where in the master page, or home page.&amp;nbsp; Doing this using free services is a bit of a challenge, and the ideal scenario is to periodically cache the value into the site, where it can then be easily used without generating a large amount of traffic to the stock value provider.&lt;/p&gt; &lt;p&gt;Yahoo provides a stock service that given the proper URL, with return a comma delimited text result.&lt;/p&gt; &lt;p&gt;&lt;br&gt;For example, try this URL:&lt;/p&gt; &lt;p&gt;&lt;a title="http://finance.yahoo.com/d/quotes.csv?s=msft&amp;amp;f=l1c1" href="http://finance.yahoo.com/d/quotes.csv?s=msft&amp;amp;f=l1c1"&gt;http://finance.yahoo.com/d/quotes.csv?s=msft&amp;amp;f=l1c1&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The ticker symbol, MSFT is self explanatory.&amp;nbsp; The "l1c1" code says that we want two bits of information:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;"l1" which is the last sell price  &lt;li&gt;"c1" which is the last change value.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Here is a table of available codes for the Yahoo stock data.&amp;nbsp; You can also put multiple symbols in the URL.&lt;/p&gt; &lt;table style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184" class="MsoNormalTable" border="1" cellpadding="0"&gt; &lt;tbody&gt; &lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;a &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Ask &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;a2&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Average Daily Volume &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;a5&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Ask Size &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 1"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;b &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Bid &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;b2&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Ask (Real-time) &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;b3&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Bid (Real-time) &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 2"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;b4&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Book Value &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;b6&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Bid Size &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;c &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Change &amp;amp; Percent Change &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 3"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;c1&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Change &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;c3&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Commission &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;c6&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Change (Real-time) &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 4"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;c8&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;After Hours Change (Real-time) &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;d &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Dividend/Share &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;d1&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Last Trade Date &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 5"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;d2&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Trade Date &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;e &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Earnings/Share &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;e1&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Error Indication (returned for symbol changed / invalid) &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 6"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;e7&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;EPS Estimate Current Year &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;e8&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;EPS Estimate Next Year &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;e9&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;EPS Estimate Next Quarter &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 7"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;f6&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Float Shares &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;g &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Day's Low &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;h &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Day's High &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 8"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;j &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;52-week Low &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;k &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;52-week High &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;g1&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Holdings Gain Percent &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 9"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;g3&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Annualized Gain &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;g4&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Holdings Gain &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;g5&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Holdings Gain Percent (Real-time) &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 10"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;g6&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Holdings Gain (Real-time) &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;i &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;More Info &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;i5&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Order Book (Real-time) &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 11"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;j1&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Market Capitalization &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;j3&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Market Cap (Real-time) &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;j4&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;EBITDA &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 12"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;j5&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Change From 52-week Low &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;j6&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Percent Change From 52-week Low &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;k1&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Last Trade (Real-time) With Time &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 13"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;k2&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Change Percent (Real-time) &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;k3&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Last Trade Size &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;k4&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Change From 52-week High &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 14"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;k5&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Percebt Change From 52-week High &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;l &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Last Trade (With Time) &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;l1&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Last Trade (Price Only) &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 15"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;l2&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;High Limit &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;l3&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Low Limit &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;m &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Day's Range &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 16"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;m2&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Day's Range (Real-time) &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;m3&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;50-day Moving Average &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;m4&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;200-day Moving Average &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 17"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;m5&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Change From 200-day Moving Average &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;m6&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Percent Change From 200-day Moving Average &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;m7&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Change From 50-day Moving Average &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 18"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;m8&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Percent Change From 50-day Moving Average &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;n &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Name &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;n4&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Notes &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 19"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;o &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Open &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;p &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Previous Close &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;p1&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Price Paid &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 20"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;p2&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Change in Percent &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;p5&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Price/Sales &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;p6&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Price/Book &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 21"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;q &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Ex-Dividend Date &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;r &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;P/E Ratio &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;r1&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Dividend Pay Date &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 22"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;r2&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;P/E Ratio (Real-time) &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;r5&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;PEG Ratio &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;r6&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Price/EPS Estimate Current Year &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 23"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;r7&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Price/EPS Estimate Next Year &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;s &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Symbol &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;s1&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Shares Owned &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 24"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;s7&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Short Ratio &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;t1&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Last Trade Time &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;t6&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Trade Links &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 25"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;t7&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Ticker Trend &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;t8&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;1 yr Target Price &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;v &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Volume &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 26"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;v1&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Holdings Value &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;v7&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Holdings Value (Real-time) &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;w &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;52-week Range &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 27"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;w1&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Day's Value Change &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;w4&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Day's Value Change (Real-time) &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;x &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Stock Exchange &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 28; mso-yfti-lastrow: yes"&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: courier; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;y &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times','serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Dividend Yield &lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; padding-top: 0.75pt"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 0.75pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0.75pt; padding-left: 0.75pt; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 0.75pt"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;To use these values in SharePoint, I've built a custom feature and timer job, which combined with a list in the root of your site, downloads updated stock values for your symbols every 5 minutes.&amp;nbsp; You configure which symbols to download information for by adding them to your list.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Once you have the data safely in your list, you can show it on any page using a simple data view, or ideally a simple ajax call using jQuery against the lists.asmx web service to save your end-users some load-time.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h3&gt;The Solution&lt;/h3&gt; &lt;p&gt;First let's look briefly at how the solution works, then we'll discuss how to install it, and provide all the downloads at the bottom of the post.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The solution is very simple, with a code file for the timer job, and a code file for the feature receiver, which will install our timer job when the feature is activated.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/SharePointStockTicker_21AB/image_2.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/SharePointStockTicker_21AB/image_thumb.png" width="206" height="244"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;I started with &lt;a href="http://www.andrewconnell.com/blog/articles/CreatingCustomSharePointTimerJobs.aspx"&gt;Andrew Connell's Timer Job code&lt;/a&gt;, so the solution will build directly to a WSP from Visual Studio using the custom build targets.&amp;nbsp; You can also read there about how the feature activation installs the job.&amp;nbsp; I've changed this very little.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The actual stock data is downloaded with a trivial function leveraging the System.Net.WebClient as follows:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre class="csharpcode"&gt;    &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;[] StockData(&lt;span class="kwrd"&gt;string&lt;/span&gt; ticker)
    {
        System.Net.WebClient client = &lt;span class="kwrd"&gt;new&lt;/span&gt; WebClient();
        &lt;span class="kwrd"&gt;string&lt;/span&gt; csv = client.DownloadString(&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;               string&lt;/span&gt;.Format(&lt;span class="str"&gt;"http://finance.yahoo.com/d/quotes.csv?s={0}&amp;amp;f=l1c1"&lt;/span&gt;,ticker));
&lt;/pre&gt;&lt;pre class="csharpcode"&gt;        client.Dispose();
        &lt;span class="kwrd"&gt;return&lt;/span&gt; csv.Split(&lt;span class="str"&gt;','&lt;/span&gt;);
    }&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;And here is the (somewhat rough) execute function that runs every 5 minutes to update your list:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre class="csharpcode"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Execute (Guid contentDbId) 
    {
      &lt;span class="rem"&gt;// get a reference to the current site collection's content database&lt;/span&gt;
      SPWebApplication webApplication = &lt;span class="kwrd"&gt;this&lt;/span&gt;.WebApplication;
      SPContentDatabase contentDb = webApplication.ContentDatabases[contentDbId];

      
      &lt;span class="kwrd"&gt;if&lt;/span&gt; (contentDb.Sites.Count &amp;gt; 0)
      {
          &lt;span class="kwrd"&gt;try&lt;/span&gt;
          {
              SPList stockList = contentDb.Sites[0].RootWeb.Lists[&lt;span class="str"&gt;"StockValue"&lt;/span&gt;];

              &lt;span class="kwrd"&gt;if&lt;/span&gt;(stockList!=&lt;span class="kwrd"&gt;null&lt;/span&gt;)
              {
                  contentDb.Sites[0].RootWeb.AllowUnsafeUpdates = &lt;span class="kwrd"&gt;true&lt;/span&gt;;
                  
                  &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (SPItem item &lt;span class="kwrd"&gt;in&lt;/span&gt; stockList.Items)
                  {
                      &lt;span class="kwrd"&gt;if&lt;/span&gt; (item.Fields.ContainsField(&lt;span class="str"&gt;"Symbol"&lt;/span&gt;) &amp;amp;&amp;amp; &lt;/pre&gt;&lt;pre class="csharpcode"&gt;                          item.Fields.ContainsField(&lt;span class="str"&gt;"Value"&lt;/span&gt;) &amp;amp;&amp;amp; item.Fields.ContainsField(&lt;span class="str"&gt;"Change"&lt;/span&gt;))
                      {
                          &lt;span class="kwrd"&gt;string&lt;/span&gt;[] data = StockData(item[&lt;span class="str"&gt;"Symbol"&lt;/span&gt;].ToString());
                          item[&lt;span class="str"&gt;"Value"&lt;/span&gt;] = data[0];
                          item[&lt;span class="str"&gt;"Change"&lt;/span&gt;] = data[1];
                          item.Update();
                          
                      } 
                  }
                  contentDb.Sites[0].RootWeb.AllowUnsafeUpdates = &lt;span class="kwrd"&gt;false&lt;/span&gt;;
              }
          }
          &lt;span class="kwrd"&gt;catch&lt;/span&gt; 
          { 
              &lt;span class="rem"&gt;//You should consider adding logging&lt;/span&gt;
          }
      }
    }&lt;/pre&gt;
&lt;p&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;/p&gt;
&lt;p&gt;Notice the way we get our list using the content DB, your mileage may vary.&amp;nbsp; Logging would also be a nice addition.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Install&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In addition to the solution, I've provided a WSP for those that would like to simply install this.&amp;nbsp; Here is how you would use it:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Create a new list in the &lt;strong&gt;root&lt;/strong&gt; of your site, called "StockValue"&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/SharePointStockTicker_21AB/image_4.png" target="_blank"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="New SharePoint List" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/SharePointStockTicker_21AB/image_thumb_1.png" width="573" height="265"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Add columns to the list.&amp;nbsp; All strings.&amp;nbsp; "Symbol", "Value", and "Change".&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/SharePointStockTicker_21AB/image_6.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/SharePointStockTicker_21AB/image_thumb_2.png" width="406" height="237"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;"Single Line of Text" is the type for all three, everything else left as default.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/SharePointStockTicker_21AB/image_8.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/SharePointStockTicker_21AB/image_thumb_3.png" width="235" height="473"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Your list should look like this:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/SharePointStockTicker_21AB/image_10.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/SharePointStockTicker_21AB/image_thumb_4.png" width="586" height="116"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Add your ticker symbols to the list, by creating a new row and populating the Symbol field.&amp;nbsp; You can optionally populate the Title field.&amp;nbsp; You can add 1 or as many as you would like.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/SharePointStockTicker_21AB/image_12.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/SharePointStockTicker_21AB/image_thumb_5.png" width="526" height="106"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Install the solution.&amp;nbsp; The WSP (SharePoint Solution) is available for download at the bottom of the post.&amp;nbsp; You will install this as you would any other WSP.&amp;nbsp; From a server on the farm use &lt;a href="http://keirgordon.com/post/Add-STSADM-to-Path.aspx"&gt;STSADM&lt;/a&gt; to add and deploy.&lt;/p&gt;&lt;pre class="csharpcode"&gt;C:\&amp;gt;stsadm -o addsolution -filename c:\stefangordon.stockvaluejob.wsp&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;C:\&amp;gt;stsadm -o deploysolution -name stefangordon.stockvaluejob.wsp &lt;/pre&gt;&lt;pre class="csharpcode"&gt;               -immediate -allowgacdeployment&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;Give the farm a minute or two to deploy the solution.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 5:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Active the feature in your site collection, from Site Settings-&amp;gt;Site Collection Features&lt;/p&gt;
&lt;p&gt;This would be the site which has the list from step 2 in it, at the root, called "StockValue".&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/SharePointStockTicker_21AB/image_14.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/SharePointStockTicker_21AB/image_thumb_6.png" width="605" height="104"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 6:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Wait 5 minutes, for the job to run and update your list.&amp;nbsp; It should then contain the stock values.&amp;nbsp; If it is after-hours, the change amount will always be 0.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/SharePointStockTicker_21AB/image_16.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/SharePointStockTicker_21AB/image_thumb_7.png" width="601" height="124"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You can go check the status of the job in Central Admin, to see if it has run:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/SharePointStockTicker_21AB/image_18.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/SharePointStockTicker_21AB/image_thumb_8.png" width="597" height="184"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Downloads&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://www.stefangordon.com/downloads/stockvaluetimerjob.zip"&gt;Download the Visual Studio 2008 solution.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.stefangordon.com/downloads/stefangordon.stockvaluejob.wsp"&gt;Download the compiled WSP.&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/StefanOnSharepoint/~4/0mc6WZ4faio" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/StefanOnSharepoint/~3/0mc6WZ4faio/post.aspx</link>
      <author>stefankeirgordon</author>
      <comments>http://www.keirgordon.com/post/SharePoint-Stock-Ticker.aspx#comment</comments>
      <guid isPermaLink="false">http://www.keirgordon.com/post.aspx?id=0d35f093-4a74-498b-bf0d-06becfa49ada</guid>
      <pubDate>Wed, 29 Jul 2009 20:24:14 -1400</pubDate>
      <dc:publisher>stefankeirgordon</dc:publisher>
      <pingback:server>http://www.keirgordon.com/pingback.axd</pingback:server>
      <pingback:target>http://www.keirgordon.com/post.aspx?id=0d35f093-4a74-498b-bf0d-06becfa49ada</pingback:target>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://www.keirgordon.com/trackback.axd?id=0d35f093-4a74-498b-bf0d-06becfa49ada</trackback:ping>
      <wfw:comment>http://www.keirgordon.com/post/SharePoint-Stock-Ticker.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.keirgordon.com/syndication.axd?post=0d35f093-4a74-498b-bf0d-06becfa49ada</wfw:commentRss>
    <feedburner:origLink>http://www.keirgordon.com/post.aspx?id=0d35f093-4a74-498b-bf0d-06becfa49ada</feedburner:origLink></item>
    <item>
      <title>Customize SharePoint Search Rendering</title>
      <description>&lt;p&gt;This morning I threw together some quick instructions for a client on customizing the Core Results Web Part and adding additional fields to the MOSS Search Results.&amp;nbsp; I hadn't planned on posting it, but as I already had it done I thought it might help someone else.&amp;nbsp; &lt;em&gt;Certain text blacked out to protect the innocent!&lt;/em&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;Here we will be customizing the People Results page by adding a new link to the results, which passes the account name of the user as a query string parameter.&amp;nbsp; This process would be the same to add any field to any of the results pages.  &lt;p&gt;&amp;nbsp; &lt;p&gt;All the results rendering for your main search results is in the core results web part, so here I do a People search, edit the page and modify the core results part:  &lt;p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/CustomizeSharePointSearchRendering_8EFE/image_2.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/CustomizeSharePointSearchRendering_8EFE/image_thumb.png" width="562" height="220"&gt;&lt;/a&gt;  &lt;p&gt;The part passes a bunch of data to the XSL we provide for rendering, but by default the field I would like to use, &lt;em&gt;AccountName&lt;/em&gt; isn't passed.&amp;nbsp; You can pass anything that a managed property exists for in the Managed Properties section of the Shared Service provider (under Search Settings).  &lt;p&gt;&amp;nbsp; &lt;p&gt;If you look at the metadata property mappings, there is an Account Name already defined and mapped to the AD import field "People:AccountName(text)".&amp;nbsp; This is the field I'll add to my search results.  &lt;p&gt;&lt;font color="#ff8080"&gt;&lt;em&gt;Note: If you add a new field here, You'll need to do a full search crawl before it shows up.&lt;/em&gt;&lt;/font&gt;  &lt;p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/CustomizeSharePointSearchRendering_8EFE/image_6.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/CustomizeSharePointSearchRendering_8EFE/image_thumb_2.png" width="578" height="248"&gt;&lt;/a&gt;  &lt;p&gt;So back in our Search Core Results edited web part, we choose "Selected Columns" under query options, and add this column into the mix:  &lt;p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/CustomizeSharePointSearchRendering_8EFE/clip_image005_2.jpg"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="clip_image005" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/CustomizeSharePointSearchRendering_8EFE/clip_image005_thumb.jpg" width="201" height="451"&gt;&lt;/a&gt;  &lt;p&gt;You'll want to paste these snippets into an XML or text editor when you modify them, as the window that pops up is useless.&amp;nbsp; You'll add one more entry to the list as shown below, for AccountName (case sensitive here)  &lt;p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/CustomizeSharePointSearchRendering_8EFE/clip_image007_2.jpg"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="clip_image007" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/CustomizeSharePointSearchRendering_8EFE/clip_image007_thumb.jpg" width="459" height="330"&gt;&lt;/a&gt;  &lt;p&gt;Paste that back into the web part property, and go edit the XSL property:  &lt;p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/CustomizeSharePointSearchRendering_8EFE/clip_image009_2.jpg"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="clip_image009" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/CustomizeSharePointSearchRendering_8EFE/clip_image009_thumb.jpg" width="218" height="306"&gt;&lt;/a&gt;  &lt;p&gt;The XSL in there is relatively small and manageable.&amp;nbsp; You'll find a template called "Results" which is the actual result line-item rendering.&amp;nbsp; It has several div's it renders out, Title, Description, srch-Metadata, etc.&amp;nbsp; &lt;p&gt;&amp;nbsp; &lt;p&gt;The Search Metadata div is where they fit the URL's and such at the bottom of each entry, so it is where we want to add our link today.&amp;nbsp; You could rewrite the entire results rendering if you'd like.&amp;nbsp; &lt;p&gt;I did a simple case that just tacks the URL built from our new column on the next line.&amp;nbsp; See the two additions in red I made to the XSL.  &lt;p&gt;&lt;em&gt;&lt;font color="#ff8080"&gt;Note: Confusingly, the XSL is case sensitive on these columns as well, except it's a different case, they have to be all *&lt;b&gt;lower&lt;/b&gt;* case.&amp;nbsp; Example:&amp;nbsp; In the columns XML I put "AccountName" but when I use it in the XSL, I must use "accountname".&lt;/font&gt;&lt;/em&gt;  &lt;p&gt;&amp;nbsp; &lt;p&gt;My changes are below in red outline, they are as follows:  &lt;ol&gt; &lt;li&gt;Added new variable called &lt;em&gt;&lt;u&gt;account&lt;/u&gt;&lt;/em&gt; based on our &lt;em&gt;&lt;u&gt;accountname&lt;/u&gt;&lt;/em&gt; column that was passed in.&amp;nbsp; I will use this variable in string concatenation to generate my URL.  &lt;li&gt;Used that variable (As well as the column) down below to add a new link in an HTML &amp;lt;a&amp;gt; tag.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/CustomizeSharePointSearchRendering_8EFE/clip_image011_2.jpg"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="clip_image011" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/CustomizeSharePointSearchRendering_8EFE/clip_image011_thumb.jpg" width="592" height="565"&gt;&lt;/a&gt;  &lt;p&gt;&amp;nbsp; &lt;p&gt;When you are done editing, paste your XSL back into the XSL property for the web part (hopefully yours is prettier than mine) and you'll get your new results:  &lt;p&gt;&amp;nbsp; &lt;p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/CustomizeSharePointSearchRendering_8EFE/image_8.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/CustomizeSharePointSearchRendering_8EFE/image_thumb_3.png" width="564" height="191"&gt;&lt;/a&gt;  &lt;p&gt;If it tells you it can't render the web part after you hit apply, something is wrong with your XSL.  &lt;p&gt;&amp;nbsp; &lt;p&gt;&lt;font color="#ff8080"&gt;&lt;em&gt;Note: For more advanced XSL editing, you may want to use a real XSL editor such as Oxygen XML, which will let you test, debug, and preview your results.&amp;nbsp; To do this you'll need to get a sample of the XML to work with, which you can do by pasting an &lt;a href="http://www.stefangordon.com/post.aspx?id=c2ea6f9e-35b1-4d2b-b3a8-7ba15567d2ed"&gt;"Identity" XSL&lt;/a&gt; into the XSL property, viewing the page source, and capturing your XML.&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/StefanOnSharepoint/~4/MBYJzIU3Cn0" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/StefanOnSharepoint/~3/MBYJzIU3Cn0/post.aspx</link>
      <author>stefankeirgordon</author>
      <comments>http://www.keirgordon.com/post/Customize-SharePoint-Search-Rendering.aspx#comment</comments>
      <guid isPermaLink="false">http://www.keirgordon.com/post.aspx?id=5100b0d0-ca35-4890-af09-71c2fd208f1d</guid>
      <pubDate>Tue, 21 Jul 2009 04:14:41 -1400</pubDate>
      <dc:publisher>stefankeirgordon</dc:publisher>
      <pingback:server>http://www.keirgordon.com/pingback.axd</pingback:server>
      <pingback:target>http://www.keirgordon.com/post.aspx?id=5100b0d0-ca35-4890-af09-71c2fd208f1d</pingback:target>
      <slash:comments>10</slash:comments>
      <trackback:ping>http://www.keirgordon.com/trackback.axd?id=5100b0d0-ca35-4890-af09-71c2fd208f1d</trackback:ping>
      <wfw:comment>http://www.keirgordon.com/post/Customize-SharePoint-Search-Rendering.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.keirgordon.com/syndication.axd?post=5100b0d0-ca35-4890-af09-71c2fd208f1d</wfw:commentRss>
    <feedburner:origLink>http://www.keirgordon.com/post.aspx?id=5100b0d0-ca35-4890-af09-71c2fd208f1d</feedburner:origLink></item>
    <item>
      <title>Identity XSL</title>
      <description>&lt;p&gt;I'm constantly digging around to find a copy of an Identity XSL to use in my SharePoint development.&amp;nbsp; As so much of SharePoint can be modified through XSL customizations, it's important to be able to get a copy of the source XML so you can go work in a proper XSL Debugger (such as Oxygen XML) to create your XSL files.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;To do that, I use this identity XSL (for example, as my search results XSL) and it causes SharePoint to print out the raw source XML into the page source, where I can copy it and use it.&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="html"&gt;xml&lt;/span&gt; &lt;span class="attr"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;="1.0"&lt;/span&gt; ?&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;xsl:stylesheet&lt;/span&gt; &lt;span class="attr"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;="1.0"&lt;/span&gt; &lt;span class="attr"&gt;xmlns:xsl&lt;/span&gt;&lt;span class="kwrd"&gt;="http://www.w3.org/1999/XSL/Transform"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="rem"&gt;&amp;lt;!-- IdentityTransform --&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;xsl:template&lt;/span&gt; &lt;span class="attr"&gt;match&lt;/span&gt;&lt;span class="kwrd"&gt;="/ | @* | node()"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;xsl:copy&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;xsl:apply-templates&lt;/span&gt; &lt;span class="attr"&gt;select&lt;/span&gt;&lt;span class="kwrd"&gt;="@* | node()"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;xsl:copy&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;xsl:template&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;xsl:stylesheet&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;&lt;img src="http://feeds.feedburner.com/~r/StefanOnSharepoint/~4/wvCBB4xM2Jc" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/StefanOnSharepoint/~3/wvCBB4xM2Jc/post.aspx</link>
      <author>stefankeirgordon</author>
      <comments>http://www.keirgordon.com/post/Identity-XSL.aspx#comment</comments>
      <guid isPermaLink="false">http://www.keirgordon.com/post.aspx?id=c2ea6f9e-35b1-4d2b-b3a8-7ba15567d2ed</guid>
      <pubDate>Tue, 21 Jul 2009 04:13:05 -1400</pubDate>
      <dc:publisher>stefankeirgordon</dc:publisher>
      <pingback:server>http://www.keirgordon.com/pingback.axd</pingback:server>
      <pingback:target>http://www.keirgordon.com/post.aspx?id=c2ea6f9e-35b1-4d2b-b3a8-7ba15567d2ed</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.keirgordon.com/trackback.axd?id=c2ea6f9e-35b1-4d2b-b3a8-7ba15567d2ed</trackback:ping>
      <wfw:comment>http://www.keirgordon.com/post/Identity-XSL.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.keirgordon.com/syndication.axd?post=c2ea6f9e-35b1-4d2b-b3a8-7ba15567d2ed</wfw:commentRss>
    <feedburner:origLink>http://www.keirgordon.com/post.aspx?id=c2ea6f9e-35b1-4d2b-b3a8-7ba15567d2ed</feedburner:origLink></item>
    <item>
      <title>Prepare Windows Server 2008 for SharePoint</title>
      <description>&lt;p&gt;Before you can use Server 2008 (r1 or r2) as a Web Front End in your SharePoint farm, you'll need to enable some new roles.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;With a new release of Server, and a new release of SharePoint on their way, I will have many posts up here regarding installations, so for the sake of normalization, I'll post a guide to adding these roles here, and refer to this post in future articles.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;When you first start your Server 2008 box, you should get a panel for 'Initial Configuration Tasks'.&amp;nbsp; You may choose to 'Add Roles' from here, or launch Server Manager and add roles from there.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/PrepareWindowsServer2008forSharePoint_FA26/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/PrepareWindowsServer2008forSharePoint_FA26/image_thumb.png" width="244" height="73"&gt;&lt;/a&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;You'll get the 'Add Roles Wizard', and you'll need to choose 'Web Server (IIS)'&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/PrepareWindowsServer2008forSharePoint_FA26/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/PrepareWindowsServer2008forSharePoint_FA26/image_thumb_1.png" width="485" height="365"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Accept the prompts for prerequisites:&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/PrepareWindowsServer2008forSharePoint_FA26/image_6.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/PrepareWindowsServer2008forSharePoint_FA26/image_thumb_2.png" width="476" height="148"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Add 'ASP.Net' and 'Windows Authentication' and accept prerequisites prompts again:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/PrepareWindowsServer2008forSharePoint_FA26/image_8.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/PrepareWindowsServer2008forSharePoint_FA26/image_thumb_3.png" width="248" height="331"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Finish the wizard, and you should get an 'Installation Succeeded' display:&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/PrepareWindowsServer2008forSharePoint_FA26/image_10.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/PrepareWindowsServer2008forSharePoint_FA26/image_thumb_4.png" width="443" height="83"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Congratulations, you now have IIS and ASP.net working, so you can install SharePoint.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/StefanOnSharepoint/~4/ISTXrvLV5kc" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/StefanOnSharepoint/~3/ISTXrvLV5kc/post.aspx</link>
      <author>stefankeirgordon</author>
      <comments>http://www.keirgordon.com/post/Prepare-Windows-Server-2008-for-SharePoint.aspx#comment</comments>
      <guid isPermaLink="false">http://www.keirgordon.com/post.aspx?id=e3328abf-2bce-473d-9a36-96028a56ccac</guid>
      <pubDate>Mon, 20 Jul 2009 11:47:47 -1400</pubDate>
      <dc:publisher>stefankeirgordon</dc:publisher>
      <pingback:server>http://www.keirgordon.com/pingback.axd</pingback:server>
      <pingback:target>http://www.keirgordon.com/post.aspx?id=e3328abf-2bce-473d-9a36-96028a56ccac</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.keirgordon.com/trackback.axd?id=e3328abf-2bce-473d-9a36-96028a56ccac</trackback:ping>
      <wfw:comment>http://www.keirgordon.com/post/Prepare-Windows-Server-2008-for-SharePoint.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.keirgordon.com/syndication.axd?post=e3328abf-2bce-473d-9a36-96028a56ccac</wfw:commentRss>
    <feedburner:origLink>http://www.keirgordon.com/post.aspx?id=e3328abf-2bce-473d-9a36-96028a56ccac</feedburner:origLink></item>
    <item>
      <title>Monitoring Infrastructure Performance for SharePoint</title>
      <description>&lt;p&gt;In a decent sized SharePoint farm there are *&lt;b&gt;many&lt;/b&gt;* moving pieces.&amp;nbsp;&amp;nbsp; At least 5 servers, probably 10 nics, SAN's, SQL, MOSS, IIS, Load balancers and Kerberos issues.&amp;nbsp; It can be difficult to figure out what is causing performance problems sometimes.  &lt;p&gt;There are many good documents out there, especially the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=8ACF3B81-2DB5-4079-B904-589D2D49BEDD&amp;amp;displaylang=en"&gt;whitepaper on SharePoint Performance Optimization from MS IT&lt;/a&gt;, and simply familiarizing yourself with the common issues will help you identify many problems immediately. &lt;p&gt;That said, sometimes you can't get your hands on the hardware and the problem isn't obvious.&amp;nbsp; Assuming you've verified SharePoint configuration and scanned the ULS logs first, I typically ask an Admin to pull these WMI Counters for me while generating load -- They are primarily on the SQL end, with the exception of checking NIC performance all around.&amp;nbsp; I focus on that first, because 75% of the time I find the disk-subsystem or the NIC/Network is to blame.&amp;nbsp; &lt;p&gt;Each one has a recommended range to look for.&amp;nbsp; These were pulled from a few MS documents.&amp;nbsp; Hope they help you in the future identifying an infrastructure problem.  &lt;p&gt;&amp;nbsp; &lt;p&gt;&lt;b&gt;&lt;u&gt;Counters to monitor on SQL Server:&lt;/u&gt;&lt;/b&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&amp;nbsp; &lt;p&gt;&lt;strong&gt;Logical Disk: Average Disk sec/Read (Read Latency).&lt;/strong&gt;  &lt;p&gt;This counter indicates the time it takes the disk to retrieve data. On well-tuned I/O subsystems, ideal values are 1-5 ms for disk containing sql logs, and 4-20 ms for disks containing data (ideally below 10 ms).  &lt;p&gt;&lt;strong&gt;Logical Disk: Average Disk sec/Write (Write Latency).&lt;/strong&gt;  &lt;p&gt;This counter indicates the time it takes the disk to write the data. On well-tuned I/O subsystems, ideal values would be 1-5 ms for log, and 4-20 ms for data (ideally below 10 ms). &lt;p&gt;&lt;strong&gt;Logical Disk: Current Disk Queue Length&lt;/strong&gt;. &lt;p&gt; For this counter, lower values are better. Values above 20 may indicate a bottleneck &lt;p&gt;&amp;nbsp; &lt;p&gt;&lt;b&gt;&lt;/b&gt; &lt;p&gt;&lt;b&gt;&lt;u&gt;On Web Front ends and SQL:&lt;/u&gt;&lt;/b&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;&lt;strong&gt;Processor: % Processor Time: _Total&lt;/strong&gt;.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;p&gt;This counter should be kept between 50 percent and 75 percent.  &lt;p&gt;&lt;strong&gt;System: Processor Queue Length: (N/A).&lt;/strong&gt;  &lt;p&gt;This should be below two times the number of CPU’s.  &lt;p&gt;&lt;strong&gt;Memory: Pages/sec: (N/A).&lt;/strong&gt;  &lt;p&gt;Monitor this counter to ensure that it remains below 100.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Network: Network Queue Length counter.&lt;/strong&gt; &lt;p&gt;Monitor under load, and watch for spikes.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/StefanOnSharepoint/~4/voT8nNXLwcA" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/StefanOnSharepoint/~3/voT8nNXLwcA/post.aspx</link>
      <author>stefankeirgordon</author>
      <comments>http://www.keirgordon.com/post/Monitoring-Infrastructure-Performance-for-SharePoint.aspx#comment</comments>
      <guid isPermaLink="false">http://www.keirgordon.com/post.aspx?id=bd468da8-eddf-41d4-90aa-078467018e2e</guid>
      <pubDate>Fri, 17 Jul 2009 01:53:26 -1400</pubDate>
      <dc:publisher>stefankeirgordon</dc:publisher>
      <pingback:server>http://www.keirgordon.com/pingback.axd</pingback:server>
      <pingback:target>http://www.keirgordon.com/post.aspx?id=bd468da8-eddf-41d4-90aa-078467018e2e</pingback:target>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://www.keirgordon.com/trackback.axd?id=bd468da8-eddf-41d4-90aa-078467018e2e</trackback:ping>
      <wfw:comment>http://www.keirgordon.com/post/Monitoring-Infrastructure-Performance-for-SharePoint.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.keirgordon.com/syndication.axd?post=bd468da8-eddf-41d4-90aa-078467018e2e</wfw:commentRss>
    <feedburner:origLink>http://www.keirgordon.com/post.aspx?id=bd468da8-eddf-41d4-90aa-078467018e2e</feedburner:origLink></item>
    <item>
      <title>Configure Kerberos For SharePoint</title>
      <description>&lt;p&gt;There are many articles on the web regarding this seemingly daunting task.&amp;nbsp; Today I ran into one that is by far the most complete, and easiest to follow.&amp;nbsp; Hopefully this will help you, or your clients, get the job done more easily:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a title="http://www.windowsecurity.com/articles/Kerberos-Sharepoint-Environment.html" href="http://www.windowsecurity.com/articles/Kerberos-Sharepoint-Environment.html"&gt;http://www.windowsecurity.com/articles/Kerberos-Sharepoint-Environment.html&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/StefanOnSharepoint/~4/Tml2-Q2Fz_8" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/StefanOnSharepoint/~3/Tml2-Q2Fz_8/post.aspx</link>
      <author>stefankeirgordon</author>
      <comments>http://www.keirgordon.com/post/Configure-Kerberos-For-SharePoint.aspx#comment</comments>
      <guid isPermaLink="false">http://www.keirgordon.com/post.aspx?id=81d18097-5fcd-48de-b126-029f5cf51055</guid>
      <pubDate>Fri, 17 Jul 2009 01:47:28 -1400</pubDate>
      <dc:publisher>stefankeirgordon</dc:publisher>
      <pingback:server>http://www.keirgordon.com/pingback.axd</pingback:server>
      <pingback:target>http://www.keirgordon.com/post.aspx?id=81d18097-5fcd-48de-b126-029f5cf51055</pingback:target>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://www.keirgordon.com/trackback.axd?id=81d18097-5fcd-48de-b126-029f5cf51055</trackback:ping>
      <wfw:comment>http://www.keirgordon.com/post/Configure-Kerberos-For-SharePoint.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.keirgordon.com/syndication.axd?post=81d18097-5fcd-48de-b126-029f5cf51055</wfw:commentRss>
    <feedburner:origLink>http://www.keirgordon.com/post.aspx?id=81d18097-5fcd-48de-b126-029f5cf51055</feedburner:origLink></item>
    <item>
      <title>Tips for Devs #1: Enumerate Farm Sites and Pages</title>
      <description>&lt;p&gt;I've decided to do a little series on SharePoint Tips for Developers, which will focus on common tasks that aren't immediately obvious, hopefully saving people some time in their day to day work.&lt;/p&gt;
&lt;p&gt;Our first tip is about enumerating the objects in your farm.&amp;nbsp; Specifically, taking an SPFarm object, finding all the web applications in the farm, all the sites, and all the pages within them.&amp;nbsp; Some portion of that enumeration is likely to come up quite often in your work.&lt;/p&gt;
&lt;p&gt;First, Getting all Web Applications in a farm is probably one of the lesser known tasks:&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;blockquote&gt;&lt;p&gt;        SPWebService webService = farm.Services.GetValue&amp;lt;SPWebService&amp;gt;(&lt;span class="str"&gt;""&lt;/span&gt;);&lt;br /&gt;        &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (SPWebApplication webApp &lt;span class="kwrd"&gt;in&lt;/span&gt; webService.WebApplications)&lt;br /&gt;        {&lt;br /&gt;           &lt;span class="rem"&gt;//Do Something with Web Application here&lt;/span&gt;&lt;br /&gt;        }&lt;/p&gt;&lt;/blockquote&gt;&lt;/pre&gt;
&lt;p&gt;In the above example, the variable farm is an SPFarm object, which you can get in a variety of ways, depending where your code is running.&amp;nbsp; In a timer job you might just do "this.Farm" -- in a web part you can get the farm from the site object in SPContext.Current.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Now we can go through all the sites and webs.&amp;nbsp; Probably the simplest way to do this is to loop through the Sites collection of your web app, and call a recursive helper function on each web, which will enumerate through all child webs regardless of depth.&lt;/p&gt;
&lt;pre class="csharpcode"&gt;        &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (SPSite site &lt;span class="kwrd"&gt;in&lt;/span&gt; webApp.Sites)&lt;br /&gt;        {&lt;br /&gt;            &lt;span class="rem"&gt;//Pass web to helper function to enumerate&lt;/span&gt;&lt;br /&gt;            GetWeb(site.RootWeb);&lt;br /&gt;&lt;br /&gt;        }&lt;/pre&gt;
&lt;pre class="csharpcode"&gt;        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; GetWeb(SPWeb web)&lt;br /&gt;        {&lt;br /&gt;            &lt;span class="rem"&gt;//TODO: Do something with the web object&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;            &lt;span class="rem"&gt;//Process the sub webs recursively&lt;/span&gt;&lt;br /&gt;            &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (SPWeb subweb &lt;span class="kwrd"&gt;in&lt;/span&gt; web.Webs)&lt;br /&gt;            {&lt;br /&gt;                GetWeb(subweb);&lt;br /&gt;            }&lt;br /&gt;        }&lt;/pre&gt;
&lt;p&gt;Once you have the web, there are a variety of ways you might find the pages you are interested in.&amp;nbsp; For example, if it is a publishing site you might want to find all the Pages libraries and get only the published pages -- You could do this with the web object you have available in GetWeb(...):&lt;/p&gt;
&lt;pre class="csharpcode"&gt;        &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (SPList list &lt;span class="kwrd"&gt;in&lt;/span&gt; web.Lists)&lt;br /&gt;        {&lt;br /&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt;(list.Title == &lt;span class="str"&gt;"Pages"&lt;/span&gt;)&lt;br /&gt;            {&lt;br /&gt;                &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (SPListItem item &lt;span class="kwrd"&gt;in&lt;/span&gt; list.Items)&lt;br /&gt;                {      &lt;br /&gt;                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (item.File.Exists &amp;amp;&amp;amp; &lt;br /&gt;                        item.File.Url.EndsWith(&lt;span class="str"&gt;".aspx"&lt;/span&gt;) &amp;amp;&amp;amp; &lt;br /&gt;                        item.Versions[0].Level == SPFileLevel.Published)&lt;br /&gt;                    {&lt;br /&gt;                        &lt;span class="rem"&gt;//Do something clever with the page which is item.File.Url&lt;/span&gt;&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;/pre&gt;
&lt;p&gt;Note that above we check if the item is published by looking at the level attribute of the version.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/StefanOnSharepoint/~4/jlXnvgjgw30" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/StefanOnSharepoint/~3/jlXnvgjgw30/post.aspx</link>
      <author>StefanKeirGordon</author>
      <comments>http://www.keirgordon.com/post/Tips-for-Devs-1-Enumerate-Farm-Sites-and-Pages.aspx#comment</comments>
      <guid isPermaLink="false">http://www.keirgordon.com/post.aspx?id=55da4edc-b997-4068-86d6-65e20ce6f365</guid>
      <pubDate>Tue, 23 Jun 2009 08:14:00 -1400</pubDate>
      <category>SharePoint Tips for Developers</category>
      <dc:publisher>StefanKeirGordon</dc:publisher>
      <pingback:server>http://www.keirgordon.com/pingback.axd</pingback:server>
      <pingback:target>http://www.keirgordon.com/post.aspx?id=55da4edc-b997-4068-86d6-65e20ce6f365</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.keirgordon.com/trackback.axd?id=55da4edc-b997-4068-86d6-65e20ce6f365</trackback:ping>
      <wfw:comment>http://www.keirgordon.com/post/Tips-for-Devs-1-Enumerate-Farm-Sites-and-Pages.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.keirgordon.com/syndication.axd?post=55da4edc-b997-4068-86d6-65e20ce6f365</wfw:commentRss>
    <feedburner:origLink>http://www.keirgordon.com/post.aspx?id=55da4edc-b997-4068-86d6-65e20ce6f365</feedburner:origLink></item>
    <item>
      <title>SharePoint at DEFCON</title>
      <description>&lt;p&gt;July 31st will be a great day for SharePoint, as that's when the &lt;a href="http://www.defcon.org/"&gt;DEFCON 2009 conference&lt;/a&gt; kicks off, and this year the conference will actually have a session about SharePoint 2007!&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;So why are a bunch of hacker-types interested in an enterprise portal solution?&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Well, the talk that will be given centers on the SharePoint 2007 Knowledge Network add-on -- For those that aren't familiar with it, it basically monitors your email interactions to learn about your skills and involvement in an organization, and then populates your SharePoint user profile with that information to enable people to leverage each other better.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Here is a screen shot of a Knowledge Network populates my site:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/SharePointatDEFCON_14C7C/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/SharePointatDEFCON_14C7C/image_thumb.png" width="555" height="417"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;And of the profile manager:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/SharePointatDEFCON_14C7C/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://www.keirgordon.com/image.axd?picture=WindowsLiveWriter/SharePointatDEFCON_14C7C/image_thumb_1.png" width="561" height="421"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;From what I've heard, this functionality won't be included in SharePoint 2009, but undoubtedly Microsoft will continue to develop this type of technology to power the &lt;a href="http://www.stefangordon.com/post/Enterprise-20-Powered-by-SharePoint.aspx"&gt;enterprise 2.0.&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/StefanOnSharepoint/~4/qasaqjXISvM" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/StefanOnSharepoint/~3/qasaqjXISvM/post.aspx</link>
      <author>stefankeirgordon</author>
      <comments>http://www.keirgordon.com/post/SharePoint-at-DEFCON.aspx#comment</comments>
      <guid isPermaLink="false">http://www.keirgordon.com/post.aspx?id=d98d619f-3aae-4c37-8d96-cbc0bb015734</guid>
      <pubDate>Sun, 21 Jun 2009 17:38:56 -1400</pubDate>
      <dc:publisher>stefankeirgordon</dc:publisher>
      <pingback:server>http://www.keirgordon.com/pingback.axd</pingback:server>
      <pingback:target>http://www.keirgordon.com/post.aspx?id=d98d619f-3aae-4c37-8d96-cbc0bb015734</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.keirgordon.com/trackback.axd?id=d98d619f-3aae-4c37-8d96-cbc0bb015734</trackback:ping>
      <wfw:comment>http://www.keirgordon.com/post/SharePoint-at-DEFCON.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.keirgordon.com/syndication.axd?post=d98d619f-3aae-4c37-8d96-cbc0bb015734</wfw:commentRss>
    <feedburner:origLink>http://www.keirgordon.com/post.aspx?id=d98d619f-3aae-4c37-8d96-cbc0bb015734</feedburner:origLink></item>
  </channel>
</rss>
