﻿<?xml version="1.0" encoding="UTF-8"?>
<!--RSS generated by Windows SharePoint Services V3 RSS Generator on 9/6/2010 6:41:04 AM-->
<?xml-stylesheet type="text/xsl" href="/Blog/_layouts/RssXslt.aspx?List=413861c4-688b-4209-bed7-7ef2702654cd" version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Blog: Posts</title>
    <link>http://www.codeintegrators.com/Blog/Lists/Posts/AllPosts.aspx</link>
    <description>RSS feed for the Posts list.</description>
    <lastBuildDate>Mon, 06 Sep 2010 13:41:01 GMT</lastBuildDate>
    <generator>Windows SharePoint Services V3 RSS Generator</generator>
    <ttl>60</ttl>
    <image>
      <title>Blog: Posts</title>
      <url>/Blog/_layouts/images/homepage.gif</url>
      <link>http://www.codeintegrators.com/Blog/Lists/Posts/AllPosts.aspx</link>
    </image>
    <item>
      <title>Encode URLs and Query Strings</title>
      <link>http://www.codeintegrators.com/Blog/Lists/Posts/ViewPost.aspx?ID=16</link>
      <description><![CDATA[<div><b>Body:</b> <div class=ExternalClass2976A75D8EA94AF19AE30630EFC93F96><p>There are many times that you will want to pass query parameters in a query string.  The best practice approach to do this is to make sure that you URL Encode them so that any special characters are safely translated.  You can decode them on the receiving side.
</p><p><strong>Encoding Example:
</strong></p><div><table style="border-collapse:collapse;background:#d9d9d9" border=0><colgroup><col style="width:638px"></colgroup><tbody valign=top><tr><td style="padding-left:7px;padding-right:7px"><p><span style="font-family:Courier New;font-size:8pt"><span style="color:blue">string</span> PageWithQueryString = <span style="color:maroon">@&quot;Bad &amp; {Worse}&quot;</span>;
</span></p><p><span style="font-family:Courier New;font-size:8pt">PageWithQueryString = <span style="color:maroon">@&quot;NewPage.aspx?ID=&quot;</span> + Server.UrlEncode(PageWithQueryString);
</span></p><p><span style="font-family:Courier New;font-size:8pt">Response.Redirect(PageWithQueryString, <span style="color:blue">false</span>);</span></p></td></tr></tbody></table></div><p>
 </p><p><strong>Decoding Example:
</strong></p><div><table style="border-collapse:collapse;background:#d9d9d9" border=0><colgroup><col style="width:638px"></colgroup><tbody valign=top><tr><td style="padding-left:7px;padding-right:7px"><p><span style="font-family:Courier New;font-size:8pt"><span style="color:blue">string</span> QryString = Server.UrlDecode(Request.QueryString[<span style="color:maroon">&quot;ID&quot;</span>].ToString());</span></p></td></tr></tbody></table></div><p>
 </p><p><strong>Table of Characters:
</strong></p><div><table style="border-collapse:collapse;background:#f1f1f1" border=0><colgroup><col style="width:60px"><col style="width:52px"><col style="width:52px"><col style="width:52px"><col style="width:52px"><col style="width:48px"></colgroup><tbody valign=top><tr><td valign=middle style="padding-bottom:1px;border-top:solid gray 0.25pt;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"><strong>ASCII Value</strong></span></p></td><td valign=middle style="padding-bottom:1px;border-top:solid gray 0.25pt;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"><strong>URL-encode</strong></span></p></td><td valign=middle style="padding-bottom:1px;border-top:solid gray 0.25pt;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"><strong>ASCII Value</strong></span></p></td><td valign=middle style="padding-bottom:1px;border-top:solid gray 0.25pt;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"><strong>URL-encode</strong></span></p></td><td valign=middle style="padding-bottom:1px;border-top:solid gray 0.25pt;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"><strong>ASCII Value</strong></span></p></td><td valign=middle style="padding-bottom:1px;border-top:solid gray 0.25pt;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"><strong>URL-encode</strong></span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">æ</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%00</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">0</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%30</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">`</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%60</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%01</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">1</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%31</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">a</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%61</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%02</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">2</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%32</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">b</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%62</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%03</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">3</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%33</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">c</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%63</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%04</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">4</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%34</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">d</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%64</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%05</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">5</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%35</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">e</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%65</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%06</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">6</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%36</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">f</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%66</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%07</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">7</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%37</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">g</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%67</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">backspace</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%08</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">8</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%38</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">h</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%68</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">tab</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%09</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">9</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%39</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">i</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%69</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">linefeed</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%0a</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">:</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%3a</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">j</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%6a</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%0b</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">;</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%3b</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">k</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%6b</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%0c</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">&lt;</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%3c</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">l</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%6c</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">c return</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%0d</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">=</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%3d</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">m</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%6d</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%0e</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">&gt;</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%3e</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">n</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%6e</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%0f</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">?</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%3f</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">o</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%6f</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%10</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">@</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%40</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">p</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%70</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%11</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">A</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%41</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">q</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%71</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%12</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">B</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%42</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">r</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%72</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%13</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">C</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%43</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">s</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%73</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%14</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">D</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%44</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">t</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%74</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%15</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">E</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%45</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">u</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%75</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%16</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">F</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%46</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">v</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%76</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%17</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">G</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%47</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">w</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%77</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%18</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">H</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%48</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">x</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%78</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%19</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">I</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%49</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">y</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%79</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%1a</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">J</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%4a</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">z</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%7a</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%1b</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">K</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%4b</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">{</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%7b</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%1c</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">L</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%4c</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">|</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%7c</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%1d</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">M</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%4d</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">}</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%7d</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%1e</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">N</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%4e</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">~</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%7e</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%1f</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">O</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%4f</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%7f</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">space</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%20</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">P</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%50</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">€</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%80</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">!</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%21</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">Q</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%51</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%81</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">&quot;</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%22</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">R</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%52</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">‚</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%82</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">#</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%23</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">S</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%53</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">ƒ</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%83</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">$</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%24</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">T</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%54</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">&quot;</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%84</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%25</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">U</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%55</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">…</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%85</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">&amp;</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%26</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">V</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%56</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">†</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%86</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">'</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%27</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">W</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%57</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">‡</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%87</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">(</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%28</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">X</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%58</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">ˆ</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%88</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">)</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%29</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">Y</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%59</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">‰</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%89</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">*</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%2a</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">Z</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%5a</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">Š</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%8a</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">+</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%2b</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">[</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%5b</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">‹</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%8b</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">,</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%2c</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">\</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%5c</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">Œ</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%8c</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">-</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%2d</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">]</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%5d</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%8d</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">.</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%2e</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">^</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%5e</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">Ž</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%8e</span></p></td></tr><tr><td valign=middle style="padding-bottom:1px;border-top:none;border-left:solid gray 0.25pt;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">/</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%2f</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">_</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%5f</span></p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt"> </span> </p></td><td valign=middle style="padding-bottom:1px;border-top:none;border-left:none;border-bottom:solid gray 0.5pt;border-right:solid gray 0.5pt"><p><span style="color:black;font-family:Verdana;font-size:8pt">%8f</span></p></td></tr></tbody></table></div></div></div>
<div><b>Category:</b> .NET Ramblings</div>
<div><b>Published:</b> 12/14/2007 1:55 PM</div>
]]></description>
      <author>System Account</author>
      <category>.NET Ramblings</category>
      <pubDate>Fri, 14 Dec 2007 20:55:38 GMT</pubDate>
      <guid isPermaLink="true">http://www.codeintegrators.com/Blog/Lists/Posts/ViewPost.aspx?ID=16</guid>
    </item>
    <item>
      <title>Building MOSS Item Event Handlers</title>
      <link>http://www.codeintegrators.com/Blog/Lists/Posts/ViewPost.aspx?ID=12</link>
      <description><![CDATA[<div><b>Body:</b> <div class=ExternalClass30AC7510DEC34C049B6EA7272FEFC6D0><h2>Intro 
</h2><p>So you have a list in MOSS, now what? I want to have a unique index field or I want to update contents of the list with other lists, or I want to start a process, etc. To extend a list, one of the many things you can do is to build an event handler for that list. Similar to other .NET objects, a SharePoint List has Event Handlers that can be tied to certain actions triggered by usage of that object. It is important to know that there are two kinds of execution patterns depending on the event that is coded for. 
</p><h2>Synchronous Event Handlers: 
</h2><p>The first is <strong>synchronous</strong> event handlers. These would be where you could stop the execution of the thread before completion. If you take a look at the Item Adding event for instance, you could check to see if you are violating a specific business constraint and stop the execution or add process if the validation fails. Pretty much a rule of thumb on these is that they all end in <em>&quot;ing&quot;</em> so Item Adding, Item Updating, Item Deleting, etc. Think of the power of this if I get to write any .NET code on this particular delegate. 
</p><h2>Asynchronous Event Handlers: 
</h2><p>The second would be <strong>asynchronous</strong> event handlers. These would be when a new thread would be started to run this code. If you take a look at Item Updated, we could possibly retrieve data from another list and cross populate into your list based on a lookup field or any number of items. This is the exact sample that we will be addressing in this article. 
</p><h2>Writing the code: 
</h2><p>The first thing we will do is open visual studio and create a new project. It can be a simple class library: 
</p><p><img src="/Blog/Lists/Photos/121007_2228_BuildingMOS1.png" alt="">
	</p><p>We are then going to add the Microsoft.SharePoint.dll as a reference: 
</p><p><img src="/Blog/Lists/Photos/121007_2228_BuildingMOS2.png" alt="">
	</p><p>Now we are ready to write our code. Remember for this that we are going to simply take the contents of one list and based upon a lookup value, populate based on contents of another list. 
</p><div><table style="border-collapse:collapse;background:#d9d9d9" border=0><colgroup><col style="width:548px"></colgroup><tbody valign=top><tr><td valign=middle style="padding-top:1px;padding-left:5px;padding-bottom:1px;padding-right:5px"><p><span style="font-family:Tahoma;font-size:8pt"><span style="color:blue">using</span><span style="color:black"> System; </span></span>
						</p><p><span style="font-family:Tahoma;font-size:8pt"><span style="color:blue">using</span><span style="color:black"> System.Collections.Generic; </span></span>
						</p><p><span style="font-family:Tahoma;font-size:8pt"><span style="color:blue">using</span><span style="color:black"> System.Text; </span></span>
						</p><p><span style="font-family:Tahoma;font-size:8pt"><span style="color:blue">using</span><span style="color:black"> Microsoft.SharePoint; </span></span>
						</p><p><span style="font-family:Tahoma;font-size:8pt"><span style="color:blue">namespace</span><span style="color:black"> MSIT.ItemReceivers </span></span>
						</p><p><span style="color:black;font-family:Tahoma;font-size:8pt">{ </span>
						</p><p><span style="font-family:Tahoma;font-size:8pt"><span style="color:blue">class</span><span style="color:black">
								</span><span style="color:teal">UpdateContactsEvent</span><span style="color:black"> : </span><span style="color:teal">SPItemEventReceiver </span></span>
						</p><p><span style="color:black;font-family:Tahoma;font-size:8pt">{ </span>
						</p><p><span style="font-family:Tahoma;font-size:8pt"><span style="color:blue">public</span><span style="color:black">
								</span><span style="color:blue">override</span><span style="color:black">
								</span><span style="color:blue">void</span><span style="color:black"> ItemUpdated(</span><span style="color:teal">SPItemEventProperties</span><span style="color:black"> properties) </span></span>
						</p><p><span style="color:black;font-family:Tahoma;font-size:8pt">{ </span>
						</p><p><span style="color:black;font-family:Tahoma;font-size:8pt">UpdateContents(properties); </span>
						</p><p><span style="color:black;font-family:Tahoma;font-size:8pt">} </span>
						</p><p><span style="font-family:Tahoma;font-size:8pt"><span style="color:blue">public</span><span style="color:black">
								</span><span style="color:blue">override</span><span style="color:black">
								</span><span style="color:blue">void</span><span style="color:black"> ItemAdded(</span><span style="color:teal">SPItemEventProperties</span><span style="color:black"> properties) </span></span>
						</p><p><span style="color:black;font-family:Tahoma;font-size:8pt">{ </span>
						</p><p><span style="color:black;font-family:Tahoma;font-size:8pt">UpdateContents(properties); </span>
						</p><p><span style="color:black;font-family:Tahoma;font-size:8pt">} </span>
						</p><p><span style="font-family:Tahoma;font-size:8pt"><span style="color:blue">void</span><span style="color:black"> UpdateContents(</span><span style="color:teal">SPItemEventProperties</span><span style="color:black"> properties) </span></span>
						</p><p><span style="color:black;font-family:Tahoma;font-size:8pt">{ </span>
						</p><p><span style="font-family:Tahoma;font-size:8pt"><span style="color:blue">using</span><span style="color:black"> (</span><span style="color:teal">SPWeb</span><span style="color:black"> spWeb = properties.OpenWeb()) </span></span>
						</p><p><span style="color:black;font-family:Tahoma;font-size:8pt">{ </span>
						</p><p><span style="color:green;font-family:Tahoma;font-size:8pt">//Get Lookup List </span>
						</p><p><span style="font-family:Tahoma;font-size:8pt"><span style="color:teal">SPList</span><span style="color:black"> ContactType = spWeb.Lists[</span><span style="color:maroon">&quot;ContactType&quot;</span><span style="color:black">]; </span></span>
						</p><p><span style="color:green;font-family:Tahoma;font-size:8pt">//Get List Item to be updated </span>
						</p><p><span style="font-family:Tahoma;font-size:8pt"><span style="color:teal">SPListItem</span><span style="color:black"> Contact = properties.ListItem; </span></span>
						</p><p><span style="font-family:Tahoma;font-size:8pt"><span style="color:blue">string</span><span style="color:black"> sContactType = </span><span style="color:blue">string</span><span style="color:black">.Empty; </span></span>
						</p><p><span style="font-family:Tahoma;font-size:8pt"><span style="color:black">sContactType = Contact[</span><span style="color:maroon">&quot;ContactType&quot;</span><span style="color:black">].ToString(); </span></span>
						</p><p><span style="color:green;font-family:Tahoma;font-size:8pt">//Get ListItem of Lookup List </span>
						</p><p><span style="font-family:Tahoma;font-size:8pt"><span style="color:teal">SPListItem</span><span style="color:black"> ContactTypeItem = </span><span style="color:blue">null</span><span style="color:black">; </span></span>
						</p><p><span style="font-family:Tahoma;font-size:8pt"><span style="color:blue">foreach</span><span style="color:black"> (</span><span style="color:teal">SPListItem</span><span style="color:black"> ContactTypeLoop </span><span style="color:blue">in</span><span style="color:black"> ContactType.Items) </span></span>
						</p><p><span style="color:black;font-family:Tahoma;font-size:8pt">{ </span>
						</p><p><span style="color:green;font-family:Tahoma;font-size:8pt">//We are doing a contains because this is an array lookup but we could explicitly do something like: </span>
						</p><p><span style="color:green;font-family:Tahoma;font-size:8pt">//If (ContactTypeLoop[&quot;ContactType&quot;].ToString() == Contact[&quot;ContactType&quot;].ToString().Split(';')[1].Replace('#','') </span>
						</p><p><span style="font-family:Tahoma;font-size:8pt"><span style="color:blue">if</span><span style="color:black"> (sContactType.Contains(ContactTypeLoop[</span><span style="color:maroon">&quot;ContactType&quot;</span><span style="color:black">].ToString())) </span></span>
						</p><p><span style="color:black;font-family:Tahoma;font-size:8pt">{ </span>
						</p><p><span style="color:black;font-family:Tahoma;font-size:8pt">ContactTypeItem = ContactTypeLoop; </span>
						</p><p><span style="font-family:Tahoma;font-size:8pt"><span style="color:blue">break</span><span style="color:black">; </span></span>
						</p><p><span style="color:black;font-family:Tahoma;font-size:8pt">} </span>
						</p><p><span style="color:black;font-family:Tahoma;font-size:8pt">} </span>
						</p><p><span style="font-family:Tahoma;font-size:8pt"><span style="color:blue">if</span><span style="color:black"> (ContactTypeItem == </span><span style="color:blue">null</span><span style="color:black">) </span></span>
						</p><p><span style="color:black;font-family:Tahoma;font-size:8pt">{ </span>
						</p><p><span style="font-family:Tahoma;font-size:8pt"><span style="color:blue">throw</span><span style="color:black">
								</span><span style="color:blue">new</span><span style="color:black">
								</span><span style="color:teal">Exception</span><span style="color:black">(); </span></span>
						</p><p><span style="color:black;font-family:Tahoma;font-size:8pt">} </span>
						</p><p><span style="color:green;font-family:Tahoma;font-size:8pt">//Update Original ListItem </span>
						</p><p><span style="font-family:Tahoma;font-size:8pt"><span style="color:black">Contact[</span><span style="color:maroon">&quot;ExtraData&quot;</span><span style="color:black">] = ContactTypeItem[</span><span style="color:maroon">&quot;SendChristmasCards&quot;</span><span style="color:black">].ToString(); </span></span>
						</p><p><span style="color:black;font-family:Tahoma;font-size:8pt">Contact.Update(); </span>
						</p><p><span style="color:black;font-family:Tahoma;font-size:8pt">} </span>
						</p><p><span style="color:black;font-family:Tahoma;font-size:8pt">} </span>
						</p><p><span style="color:black;font-family:Tahoma;font-size:8pt">} </span>
						</p><p><span style="color:black;font-family:Tahoma;font-size:8pt">}</span></p></td></tr></tbody></table></div><p>   
 </p><h2>Build and GAC the Receiver 
</h2><p>What you are going to have to do now is GAC the assembly. Instructions can be found in my blog posting <a href="http://sharepoint.microsoft.com/blogs/LevelOrange/Lists/Posts/Post.aspx?ID=11">here</a>. 
</p><h2>Associate Receiver to List 
</h2><p>Finally, the moment of truth, let's attach the code to the list that we want. There are two main ways we can accomplish. 
</p><h4>Code Approach 
</h4><p>The instructions for Code Approach can be found <a href="http://sharepoint.microsoft.com/blogs/LevelOrange/Lists/Posts/Post.aspx?ID=14">here</a>. 
</p><h4>Feature Approach (Recommended) 
</h4><p>The instructions for Feature Approach can be found <a href="http://sharepoint.microsoft.com/blogs/LevelOrange/Lists/Posts/Post.aspx?ID=23">here</a>. </p></div></div>
<div><b>Published:</b> 12/10/2007 3:30 PM</div>
]]></description>
      <author>System Account</author>
      <pubDate>Mon, 10 Dec 2007 22:30:14 GMT</pubDate>
      <guid isPermaLink="true">http://www.codeintegrators.com/Blog/Lists/Posts/ViewPost.aspx?ID=12</guid>
    </item>
    <item>
      <title>Intro to Features</title>
      <link>http://www.codeintegrators.com/Blog/Lists/Posts/ViewPost.aspx?ID=15</link>
      <description><![CDATA[<div><b>Body:</b> <div class=ExternalClass27FA50C9A7774583B03A0D2BDBEDE9E1><p><strong><em>This will not be an extensive look at features but I figured it was about time to at least write a feature and explain a little about them. 
</em></strong></p><h3>What is a feature?
</h3><p>Wow, I am so glad you asked that.  A feature in MOSS is simply a set of files, be it code, XML, web pages or CAML that will be &quot;installed&quot; into the SharePoint system.  This being said, what you can do is actually add or &quot;staple&quot; this feature to a site definition so that when a new site is created, the feature will be activated as well.  What you can put in a feature is really whatever you can dream up.  You can add web parts, master pages, lists, fill lists with data, event receivers attached to the lists, etc.  Hopefully, you are starting to understand the real scope of this here.  As you can see, this is the recommended way of deploying your SharePoint Changes through the normal SDLC.
</p><h3>A feature can be installed on many levels or <em>&quot;scopes&quot;</em>.
</h3><ul><li><div>Farm
</div><ul><li>A farm feature is always activated and would be things like links to _layouts pages
</li></ul></li><li><div>Web Application
</div><ul><li>These would be items like Admin Links and global assemblies
</li></ul></li><li><div>Site Collection
</div><ul><li>These could be items like Web Parts, Workflows and Content Types
</li></ul></li><li><div>Site
</div><ul><li>These could be things like item receivers and list instances.
</li></ul></li></ul><h3>There are three types of file groups that are involved in a feature
</h3><ul><li>The first and most obvious file will be the Feature.xml file.  This file will be in a subdirectory (usually your feature name) under the 12 hive (\program files\common files\microsoft shared\web server extensions\12\templates\features.  We are going to call our feature ItemReceivers in our example.
</li><li>The second is the Element Manifest XML file.  This file is referenced by the Feature.xml file and houses pointers to all the files that will be provisioned as well as any setup for those files including CAML code.
</li><li>The third are the files referenced by the Element Manifest file.  These files would include aspx pages, dll's, and anything else you would likely deploy to SharePoint
</li></ul><p>We are now going to write an example feature that will attach an Item Event Receiver to a list.
</p><h3>Feature
</h3><p>The first thing that you obviously have to do is decide on what you are going to build and add as a feature.  We are going to deploy the item receiver that we built <a href="http://sharepoint.microsoft.com/blogs/LevelOrange/Lists/Posts/Post.aspx?ID=13">here</a> as a feature.
</p><h3>Feature File
</h3><p>In building the feature file you will first need to generate a unique GUID for the feature itself.  You can find instructions for this <a href="http://sharepoint.microsoft.com/blogs/LevelOrange/Lists/Posts/Post.aspx?ID=9">here</a>.  After this you will have to point to write the base XML for the feature file.  It will look something like this:
</p><div><table style="border-collapse:collapse;background:#d9d9d9" border=0><colgroup><col style="width:638px"></colgroup><tbody valign=top><tr><td style="padding-left:7px;padding-right:7px"><p><span style="font-size:8pt"><span style="color:blue">&lt;</span><span style="color:maroon">Feature</span><span style="color:blue">
								</span><span style="color:red">Title</span><span style="color:blue">=</span>&quot;<span style="color:blue">ItemReceivers</span>&quot;<span style="color:blue">
								</span><span style="color:red">Id</span><span style="color:blue">=</span>&quot;<span style="color:blue">4f43db6e-74d3-4806-a118-bf543796663e</span>&quot;<span style="color:blue">
								</span><span style="color:red">Description</span><span style="color:blue">=</span>&quot;&quot;<span style="color:blue">
								</span><span style="color:red">Version</span><span style="color:blue">=</span>&quot;<span style="color:blue">1.0.0.0</span>&quot;<span style="color:blue">
								</span><span style="color:red">Scope</span><span style="color:blue">=</span>&quot;<span style="color:blue">Site</span>&quot;<span style="color:blue">
								</span><span style="color:red">Hidden</span><span style="color:blue">=</span>&quot;<span style="color:blue">FALSE</span>&quot;<span style="color:blue">
								</span><span style="color:red">DefaultResourceFile</span><span style="color:blue">=</span>&quot;<span style="color:blue">core</span>&quot;<span style="color:blue">
								</span><span style="color:red">xmlns</span><span style="color:blue">=</span>&quot;<span style="color:blue">http://schemas.microsoft.com/sharepoint/</span>&quot;<span style="color:blue">&gt;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">  &lt;</span><span style="color:maroon">ElementManifests</span><span style="color:blue">&gt;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">    &lt;</span><span style="color:maroon">ElementManifest</span><span style="color:blue">
								</span><span style="color:red">Location</span><span style="color:blue">=</span>&quot;<span style="color:blue">elementManifest.xml</span>&quot;<span style="color:blue"> /&gt;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">  &lt;/</span><span style="color:maroon">ElementManifests</span><span style="color:blue">&gt;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">&lt;/</span><span style="color:maroon">Feature</span><span style="color:blue">&gt;</span></span></p></td></tr></tbody></table></div><p>
 </p><h3>Manifest File
</h3><p>Your manifest file will act exactly as it sounds by outlining all files and placement of these files and will look something like this:
</p><div><table style="border-collapse:collapse;background:#d9d9d9" border=0><colgroup><col style="width:638px"></colgroup><tbody valign=top><tr><td style="padding-left:7px;padding-right:7px"><p><span style="font-size:8pt"><span style="color:blue">&lt;</span><span style="color:maroon">Elements</span><span style="color:blue">
								</span><span style="color:red">xmlns</span><span style="color:blue">=</span>&quot;<span style="color:blue">http://schemas.microsoft.com/sharepoint/</span>&quot;<span style="color:blue">&gt;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">  &lt;</span><span style="color:maroon">Receivers</span><span style="color:blue">
								</span><span style="color:red">ListTemplateId</span><span style="color:blue">=</span>&quot;<span style="color:blue">10001</span>&quot;<span style="color:blue">&gt;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">    &lt;</span><span style="color:maroon">Receiver</span><span style="color:blue">&gt;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">      &lt;</span><span style="color:maroon">Name</span><span style="color:blue">&gt;</span>Field Added<span style="color:blue">&lt;/</span><span style="color:maroon">Name</span><span style="color:blue">&gt;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">      &lt;</span><span style="color:maroon">Type</span><span style="color:blue">&gt;</span>FieldAdded<span style="color:blue">&lt;/</span><span style="color:maroon">Type</span><span style="color:blue">&gt;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">      &lt;</span><span style="color:maroon">Assembly</span><span style="color:blue">&gt;</span>MSIT.ItemReceivers, Version=0.0.0.0, Culture=neutral, PublicKeyToken=6546c52e1a7f48a0<span style="color:blue">&lt;/</span><span style="color:maroon">Assembly</span><span style="color:blue">&gt;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">      &lt;</span><span style="color:maroon">Class</span><span style="color:blue">&gt;</span>MSIT.ItemReceivers.UpdateContactsEvent<span style="color:blue">&lt;/</span><span style="color:maroon">Class</span><span style="color:blue">&gt;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">      &lt;</span><span style="color:maroon">SequenceNumber</span><span style="color:blue">&gt;</span>1000<span style="color:blue">&lt;/</span><span style="color:maroon">SequenceNumber</span><span style="color:blue">&gt;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">    &lt;/</span><span style="color:maroon">Receiver</span><span style="color:blue">&gt;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">    &lt;</span><span style="color:maroon">Receiver</span><span style="color:blue">&gt;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">      &lt;</span><span style="color:maroon">Name</span><span style="color:blue">&gt;</span>Field Updated<span style="color:blue">&lt;/</span><span style="color:maroon">Name</span><span style="color:blue">&gt;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">      &lt;</span><span style="color:maroon">Type</span><span style="color:blue">&gt;</span>FieldUpdated<span style="color:blue">&lt;/</span><span style="color:maroon">Type</span><span style="color:blue">&gt;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">      &lt;</span><span style="color:maroon">Assembly</span><span style="color:blue">&gt;</span>MSIT.ItemReceivers, Version=0.0.0.0, Culture=neutral, PublicKeyToken=6546c52e1a7f48a0<span style="color:blue">&lt;/</span><span style="color:maroon">Assembly</span><span style="color:blue">&gt;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">      &lt;</span><span style="color:maroon">Class</span><span style="color:blue">&gt;</span>MSIT.ItemReceivers.UpdateContactsEvent<span style="color:blue">&lt;/</span><span style="color:maroon">Class</span><span style="color:blue">&gt;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">      &lt;</span><span style="color:maroon">SequenceNumber</span><span style="color:blue">&gt;</span>1000<span style="color:blue">&lt;/</span><span style="color:maroon">SequenceNumber</span><span style="color:blue">&gt;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">    &lt;/</span><span style="color:maroon">Receiver</span><span style="color:blue">&gt;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">  &lt;/</span><span style="color:maroon">Receivers</span><span style="color:blue">&gt;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">&lt;/</span><span style="color:maroon">Elements</span><span style="color:blue">&gt;</span></span></p></td></tr></tbody></table></div><p>Please note that the Assembly and Class information were retrieved using the mechanism described <a href="http://sharepoint.microsoft.com/blogs/LevelOrange/Lists/Posts/Post.aspx?ID=12">here</a>.
</p><div><table style="border-collapse:collapse;background:#d9d9d9" border=0><colgroup><col style="width:638px"></colgroup><tbody valign=top><tr><td style="padding-left:7px;padding-right:7px"><p><span style="color:red"><strong>Important</strong></span>:  <em>Please note that there are a couple limitations to using the &quot;Receivers&quot; approach.  You cannot associate this to a particular list instance only a type of list.  You will probably want to make your own type anyway; however, this is a limitation.  Also, you can only scope this at a site level.  Both of these limitations can be overcome by using solution packages which will be discussed in a later post.</em></p></td></tr></tbody></table></div><p>
 </p><h3>Manually Deploying your Feature
</h3><p>The first thing you will have to do is make sure that the files are copied to the correct place.  You will open the command prompt and navigate to your bin folder for SharePoint. 
</p><div><table style="border-collapse:collapse;background:#d9d9d9" border=0><colgroup><col style="width:638px"></colgroup><tbody valign=top><tr><td style="padding-left:7px;padding-right:7px"><p><span style="font-size:8pt">xcopy &quot;c:\[PathToFeatureFiles]&quot; &quot;c:\program files\common files\microsoft shared\web server extensions\12\templates\features&quot; /s /y</span></p></td></tr></tbody></table></div><p>Please GAC the assembly of your receiver by following the instructions <a href="http://sharepoint.microsoft.com/blogs/LevelOrange/Lists/Posts/Post.aspx?ID=11">here</a>.
</p><p>You then will need to install the feature to your SharePoint Server
</p><div><table style="border-collapse:collapse;background:#d9d9d9" border=0><colgroup><col style="width:638px"></colgroup><tbody valign=top><tr><td style="padding-left:7px;padding-right:7px"><p><span style="font-size:8pt">stsadm -o installfeature –filename Receivers\feature.xml</span></p></td></tr></tbody></table></div><p>Finally, you will have to activate your feature for the site
</p><div><table style="border-collapse:collapse;background:#d9d9d9" border=0><colgroup><col style="width:638px"></colgroup><tbody valign=top><tr><td style="padding-left:7px;padding-right:7px"><p><span style="font-size:8pt">stsadm -o activatefeature -filename Receivers\feature.xml -url <a href="http://[Your">http://[Your</a>Site]</span></p></td></tr></tbody></table></div><p>
 </p><h3>Deploying your Feature as a Solution Package
</h3><p>This is a topic for a future post and I will modify this link to have the link at that time.</p></div></div>
<div><b>Published:</b> 12/14/2007 1:48 PM</div>
]]></description>
      <author>System Account</author>
      <pubDate>Fri, 14 Dec 2007 20:48:37 GMT</pubDate>
      <guid isPermaLink="true">http://www.codeintegrators.com/Blog/Lists/Posts/ViewPost.aspx?ID=15</guid>
    </item>
    <item>
      <title>SharePoint Blog Navigator Web Part</title>
      <link>http://www.codeintegrators.com/Blog/Lists/Posts/ViewPost.aspx?ID=14</link>
      <description><![CDATA[<div><b>Body:</b> <div class=ExternalClassD3888C41068C470FA148F0C1620D8389><h3>Intro
</h3><p>Ok, ladies and gents, I just couldn't take it any longer!  The out of the box navigation for blogs is less than ideal and although I will be soon investigating different content query web parts to accomplish the same thing, I went ahead a build a new one.  For the finished product and POC please visit <a href="/blog">http://www.codeintegrators.com/blog</a> to see it in action.  Essentially, I wanted a grouping of blog articles in some sort of tree view as a web part.  Simple right?  The answer to this is actually yes.  What I will plan to do here is simply write a quick code base and deploy to my site.  At that point, I can just add my web part and ta-da, workie workie.
</p><h3>Implementation
</h3><ol style="margin-left:38pt"><li>Create a CAML query based on the &quot;Posts&quot; list that just orders the posts by publish date.  This will look something like:
</li></ol><div style="margin-left:38pt"><table style="border-collapse:collapse;background:#d9d9d9" border=0><colgroup><col style="width:587px"></colgroup><tbody valign=top><tr><td style="padding-left:7px;padding-right:7px"><p><span style="font-size:8pt"><span style="color:blue">using</span><span style="color:black"> (</span><span style="color:teal">SPWeb</span><span style="color:black"> spWeb = </span><span style="color:teal">SPContext</span><span style="color:black">.Current.Web)
</span></span></p><p><span style="color:black;font-size:8pt">{
</span></p><p><span style="font-size:8pt"><span style="color:blue">string</span><span style="color:black"> DocumentLib = </span><span style="color:maroon">&quot;Posts&quot;</span><span style="color:black">;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">string</span><span style="color:black"> sUrl = spWeb.Url;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">string</span><span style="color:black"> PostDate = </span><span style="color:blue">string</span><span style="color:black">.Empty;
</span></span></p><p><span style="font-size:8pt"><span style="color:teal">SPList</span><span style="color:black"> list = spWeb.Lists[DocumentLib];</span><span style="color:green">// here DocumentLib is name of the name of documentlibrary we are passing
</span></span></p><p><span style="font-size:8pt"><span style="color:teal">SPQuery</span><span style="color:black"> docQuery = </span><span style="color:blue">new</span><span style="color:black">
								</span><span style="color:teal">SPQuery</span><span style="color:black">();
</span></span></p><p><span style="font-size:8pt"><span style="color:black">docQuery.ViewFields = </span><span style="color:maroon">@&quot;&lt;FieldRef Name=&quot;&quot;LinkTitle&quot;&quot;/&gt;&quot;</span><span style="color:black">;
</span></span></p><p><span style="font-size:8pt"><span style="color:black">docQuery.ViewFields += </span><span style="color:maroon">@&quot;&lt;FieldRef Name=&quot;&quot;PublishedDate&quot;&quot;/&gt;&quot;</span><span style="color:black">;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">string</span><span style="color:black"> CamlQ =
</span></span></p><p><span style="color:maroon;font-size:8pt">@&quot;&lt;OrderBy&gt;
</span></p><p><span style="color:maroon;font-size:8pt">&lt;FieldRef Name=&quot;&quot;PublishedDate&quot;&quot; Ascending=&quot;&quot;False&quot;&quot; /&gt;
</span></p><p><span style="font-size:8pt"><span style="color:maroon">&lt;/OrderBy&gt;&quot;</span><span style="color:black">;
</span></span></p><p><span style="color:black;font-size:8pt">docQuery.Query = CamlQ;</span></p></td></tr></tbody></table></div><p style="margin-left:38pt">
 </p><ol style="margin-left:38pt"><li>Loop through these posts creating a string representation of XML that looks something like:
</li></ol><div style="margin-left:38pt"><table style="border-collapse:collapse;background:#d9d9d9" border=0><colgroup><col style="width:587px"></colgroup><tbody valign=top><tr><td style="padding-left:7px;padding-right:7px"><p><span style="font-size:8pt"><span style="color:black">sBlogs = </span><span style="color:maroon">@&quot;&lt;?xml version=&quot;&quot;1.0&quot;&quot; encoding=&quot;&quot;utf-8&quot;&quot; ?&gt;&quot;</span><span style="color:black">;
</span></span></p><p><span style="font-size:8pt"><span style="color:black">sBlogs += </span><span style="color:maroon">@&quot;&lt;BlogPosts&gt;&quot;</span><span style="color:black">;
</span></span></p><p><span style="font-size:8pt"><span style="color:teal">SPListItemCollection</span><span style="color:black"> docList = list.GetItems(docQuery);
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">foreach</span><span style="color:black"> (</span><span style="color:teal">SPListItem</span><span style="color:black"> item </span><span style="color:blue">in</span><span style="color:black"> docList)
</span></span></p><p><span style="color:black;font-size:8pt">{
</span></p><p><span style="font-size:8pt"><span style="color:teal">  DateTime</span><span style="color:black"> PublishedDate = </span><span style="color:teal">DateTime</span><span style="color:black">.Parse(item[</span><span style="color:maroon">&quot;PublishedDate&quot;</span><span style="color:black">].ToString());
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">  if</span><span style="color:black"> (PostDate != PublishedDate.ToString(</span><span style="color:maroon">&quot;MMMM yyyy&quot;</span><span style="color:black">))
</span></span></p><p><span style="color:black;font-size:8pt">  {
</span></p><p><span style="color:green;font-size:8pt">    //Make sure not first time through loop
</span></p><p><span style="font-size:8pt"><span style="color:blue">    if</span><span style="color:black"> (PostDate != </span><span style="color:blue">string</span><span style="color:black">.Empty)
</span></span></p><p><span style="color:black;font-size:8pt">    {
</span></p><p><span style="font-size:8pt"><span style="color:black">      sBlogs += </span><span style="color:maroon">@&quot;&lt;/PostMonth&gt;&quot;</span><span style="color:black">;
</span></span></p><p><span style="color:black;font-size:8pt">    }
</span></p><p><span style="font-size:8pt"><span style="color:black">    PostDate = PublishedDate.ToString(</span><span style="color:maroon">&quot;MMMM yyyy&quot;</span><span style="color:black">);
</span></span></p><p><span style="font-size:8pt"><span style="color:black">    sBlogs += </span><span style="color:maroon">@&quot;&lt;PostMonth name=&quot;&quot;&quot;</span><span style="color:black"> + PostDate + </span><span style="color:maroon">@&quot;&quot;&quot;&gt;&quot;</span><span style="color:black">;
</span></span></p><p><span style="color:black;font-size:8pt">  }
</span></p><p><span style="font-size:8pt"><span style="color:black">  sBlogs += </span><span style="color:maroon">@&quot;&lt;PostName name=&quot;&quot;&quot;</span><span style="color:black"> + item[</span><span style="color:maroon">&quot;LinkTitle&quot;</span><span style="color:black">].ToString() + </span><span style="color:maroon">@&quot;&quot;&quot; url=&quot;&quot;&quot;</span><span style="color:black"> + sUrl + </span><span style="color:maroon">@&quot;/Lists/Posts/Post.aspx?ID=&quot;</span><span style="color:black"> + item.ID.ToString() + </span><span style="color:maroon">@&quot;&quot;&quot;/&gt;&quot;</span><span style="color:black">;
</span></span></p><p><span style="color:black;font-size:8pt">}
</span></p><p><span style="font-size:8pt"><span style="color:black">sBlogs += </span><span style="color:maroon">@&quot;&lt;/PostMonth&gt;&quot;</span><span style="color:black">;
</span></span></p><p><span style="font-size:8pt"><span style="color:black">sBlogs += </span><span style="color:maroon">@&quot;&lt;/BlogPosts&gt;&quot;</span><span style="color:black">;
</span></span></p><p><span style="color:black;font-size:8pt">}
</span></p><p><span style="font-size:8pt"><span style="color:blue">return</span><span style="color:black"> sBlogs;
</span></span></p><p><span style="color:black;font-size:8pt">}</span></p></td></tr></tbody></table></div><p style="margin-left:38pt">
 </p><ol style="margin-left:38pt"><li>Create an XML Data Source and attach your bindings accordingly
</li></ol><div style="margin-left:38pt"><table style="border-collapse:collapse;background:#d9d9d9" border=0><colgroup><col style="width:587px"></colgroup><tbody valign=top><tr><td style="padding-left:7px;padding-right:7px"><p><span style="font-size:8pt"><span style="color:teal">XmlDataSource</span><span style="color:black"> xBlogPosts = </span><span style="color:blue">new</span><span style="color:black">
								</span><span style="color:teal">XmlDataSource</span><span style="color:black">();
</span></span></p><p><span style="font-size:8pt"><span style="color:black">xBlogPosts.EnableCaching = </span><span style="color:blue">false</span><span style="color:black">;
</span></span></p><p><span style="font-size:8pt"><span style="color:teal">XmlDocument</span><span style="color:black"> xXMLDoc = </span><span style="color:blue">new</span><span style="color:black">
								</span><span style="color:teal">XmlDocument</span><span style="color:black">();
</span></span></p><p><span style="font-size:8pt"><span style="color:teal">TreeNodeBinding</span><span style="color:black"> tnbTop = </span><span style="color:blue">new</span><span style="color:black">
								</span><span style="color:teal">TreeNodeBinding</span><span style="color:black">();
</span></span></p><p><span style="font-size:8pt"><span style="color:teal">TreeNodeBinding</span><span style="color:black"> tnbMonth = </span><span style="color:blue">new</span><span style="color:black">
								</span><span style="color:teal">TreeNodeBinding</span><span style="color:black">();
</span></span></p><p><span style="font-size:8pt"><span style="color:teal">TreeNodeBinding</span><span style="color:black"> tnbName = </span><span style="color:blue">new</span><span style="color:black">
								</span><span style="color:teal">TreeNodeBinding</span><span style="color:black">();
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">string</span><span style="color:black"> sXMLDoc = </span><span style="color:blue">string</span><span style="color:black">.Empty;
</span></span></p><p><span style="color:blue;font-size:8pt">try
</span></p><p><span style="color:black;font-size:8pt">{
</span></p><p><span style="font-size:8pt"><span style="color:blue">if</span><span style="color:black"> (!Page.IsPostBack)
</span></span></p><p><span style="color:black;font-size:8pt">{
</span></p><p><span style="color:green;font-size:8pt">//Create XML
</span></p><p><span style="color:black;font-size:8pt">sXMLDoc = GetBlogPosts();
</span></p><p><span style="color:green;font-size:8pt">//Load XML DataSource
</span></p><p><span style="color:black;font-size:8pt">xXMLDoc.LoadXml(sXMLDoc);
</span></p><p><span style="color:black;font-size:8pt">xBlogPosts.Data = xXMLDoc.InnerXml;</span></p></td></tr></tbody></table></div><p style="margin-left:38pt">
 </p><ol style="margin-left:38pt"><li>You will then set your XPath to narrow down your tree
</li></ol><div style="margin-left:38pt"><table style="border-collapse:collapse;background:#d9d9d9" border=0><colgroup><col style="width:587px"></colgroup><tbody valign=top><tr><td style="padding-left:7px;padding-right:7px"><p><span style="font-size:8pt"><span style="color:black">xBlogPosts.XPath = </span><span style="color:maroon">&quot;BlogPosts/PostMonth&quot;</span><span style="color:black">;</span></span></p></td></tr></tbody></table></div><p style="margin-left:38pt">
 </p><ol style="margin-left:38pt"><li>Create a Treeview and set the XML Datasource be the binding
</li></ol><div style="margin-left:38pt"><table style="border-collapse:collapse;background:#d9d9d9" border=0><colgroup><col style="width:587px"></colgroup><tbody valign=top><tr><td style="padding-left:7px;padding-right:7px"><p><span style="color:green;font-size:8pt">//Create TreeNode Bindings
</span></p><p><span style="font-size:8pt"><span style="color:black">tnbTop.DataMember = </span><span style="color:maroon">&quot;BlogPosts&quot;</span><span style="color:black">;
</span></span></p><p><span style="font-size:8pt"><span style="color:black">tnbTop.Text = </span><span style="color:maroon">&quot;Blog Posts&quot;</span><span style="color:black">;
</span></span></p><p><span style="font-size:8pt"><span style="color:black">tnbMonth.DataMember = </span><span style="color:maroon">&quot;PostMonth&quot;</span><span style="color:black">;
</span></span></p><p><span style="font-size:8pt"><span style="color:black">tnbMonth.TextField = </span><span style="color:maroon">&quot;name&quot;</span><span style="color:black">;
</span></span></p><p><span style="font-size:8pt"><span style="color:black">tnbName.DataMember = </span><span style="color:maroon">&quot;PostName&quot;</span><span style="color:black">;
</span></span></p><p><span style="font-size:8pt"><span style="color:black">tnbName.TextField = </span><span style="color:maroon">&quot;name&quot;</span><span style="color:black">;
</span></span></p><p><span style="font-size:8pt"><span style="color:black">tnbName.NavigateUrlField = </span><span style="color:maroon">&quot;url&quot;</span><span style="color:black">;
</span></span></p><p><span style="color:green;font-size:8pt">//Associate TreeView Bindings
</span></p><p><span style="color:black;font-size:8pt">tv.DataBindings.Add(tnbTop);
</span></p><p><span style="color:black;font-size:8pt">tv.DataBindings.Add(tnbMonth);
</span></p><p><span style="color:black;font-size:8pt">tv.DataBindings.Add(tnbName);
</span></p><p><span style="color:green;font-size:8pt">//Bind
</span></p><p><span style="color:black;font-size:8pt">tv.DataBind();
</span></p><p><span style="color:black;font-size:8pt">tv.CollapseAll();</span></p></td></tr></tbody></table></div><p style="margin-left:38pt">
 </p><ol style="margin-left:38pt"><li>Add the tree view through the RenderChildren method as explained in an earlier post <a href="http://sharepoint.microsoft.com/blogs/LevelOrange/Lists/Posts/Post.aspx?ID=20">here</a>.
</li></ol><div style="margin-left:38pt"><table style="border-collapse:collapse;background:#d9d9d9" border=0><colgroup><col style="width:587px"></colgroup><tbody valign=top><tr><td style="padding-left:7px;padding-right:7px"><p><span style="font-size:8pt"><span style="color:blue">this</span><span style="color:black">.Controls.Add(tv);</span></span></p></td></tr></tbody></table></div><p style="margin-left:38pt">
 </p><ol style="margin-left:38pt"><li>Make sure you dispose your objects that you explicitly instantiate
</li></ol><div style="margin-left:38pt"><table style="border-collapse:collapse;background:#d9d9d9" border=0><colgroup><col style="width:587px"></colgroup><tbody valign=top><tr><td style="padding-left:7px;padding-right:7px"><p><span style="color:black;font-size:8pt">xBlogPosts.Dispose();
</span></p><p><span style="font-size:8pt"><span style="color:black">xBlogPosts = </span><span style="color:blue">null</span><span style="color:black">;
</span></span></p><p><span style="font-size:8pt"><span style="color:black">xXMLDoc = </span><span style="color:blue">null</span><span style="color:black">;
</span></span></p><p><span style="font-size:8pt"><span style="color:black">tnbTop = </span><span style="color:blue">null</span><span style="color:black">;
</span></span></p><p><span style="font-size:8pt"><span style="color:black">tnbMonth = </span><span style="color:blue">null</span><span style="color:black">;
</span></span></p><p><span style="font-size:8pt"><span style="color:black">tnbName = </span><span style="color:blue">null</span><span style="color:black">;
</span></span></p><p><span style="color:black;font-size:8pt">tv.Dispose();
</span></p><p><span style="font-size:8pt"><span style="color:black">tv = </span><span style="color:blue">null</span><span style="color:black">;</span></span></p></td></tr></tbody></table></div><p style="margin-left:38pt">
 </p><ol style="margin-left:38pt"><li>Build and deploy your finished webpart
</li><li>Add the webpart to the page(s) in question
</li></ol><p>
 </p><h3>Finishing touches
</h3><p>For full sample of the code, simply email me or send comment.  I have uploaded the cs file, however, anonymous access is not yet enabled.  I was tired of writing the code in the blog all the time, so figured I would try a different approach this time.
</p><p>The end product looks something like:
</p><p><img src="/Blog/Lists/Photos/121107_2143_SharePointB1.png" alt="">
	</p><p>
 </p><p>Pretty cool huh? </p></div></div>
<div><b>Published:</b> 12/11/2007 2:45 PM</div>
]]></description>
      <author>System Account</author>
      <pubDate>Tue, 11 Dec 2007 21:45:46 GMT</pubDate>
      <guid isPermaLink="true">http://www.codeintegrators.com/Blog/Lists/Posts/ViewPost.aspx?ID=14</guid>
    </item>
    <item>
      <title>Attaching a Receiver using Code</title>
      <link>http://www.codeintegrators.com/Blog/Lists/Posts/ViewPost.aspx?ID=13</link>
      <description><![CDATA[<div><b>Body:</b> <div class=ExternalClass820510C48DF14465B87B54A38188D12C><h2>Intro
</h2><p>So I have built a new receiver (You can review the article found <a href="http://sharepoint.microsoft.com/blogs/LevelOrange/Lists/Posts/Post.aspx?ID=13">here</a>). Now what?
</p><p>Well, the answer is that you have to attach it somehow.  In this post, I plan to demonstrate how to do this via code.  In a later approach I will be reviewing feature based development.
</p><h2>Implementation
</h2><p>The first thing we are going to do is create a new project in visual studio.  In this case we will make it a console application just for a POC:
</p><p><img src="/Blog/Lists/Photos/121107_1536_AttachingaR1.png" alt="">
	</p><p>We then of course are going to add the Microsoft.SharePoint.dll reference.  You can find this in my previous article located <a href="http://sharepoint.microsoft.com/blogs/LevelOrange/Lists/Posts/Post.aspx?ID=13">here</a>.
</p><p>Finally we are going to write the following code:
</p><div><table style="border-collapse:collapse;background:#d9d9d9" border=0><colgroup><col style="width:638px"></colgroup><tbody valign=top><tr><td style="padding-left:7px;padding-right:7px"><p><span style="font-size:8pt"><span style="color:blue">using</span><span style="color:black"> System;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">using</span><span style="color:black"> System.Collections.Generic;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">using</span><span style="color:black"> System.Text;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">using</span><span style="color:black"> Microsoft.SharePoint;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">namespace</span><span style="color:black"> MSIT.Samples
</span></span></p><p><span style="color:black;font-size:8pt">{
</span></p><p><span style="font-size:8pt"><span style="color:blue">  class</span><span style="color:black">
								</span><span style="color:teal">Program
</span></span></p><p><span style="color:black;font-size:8pt">  {
</span></p><p><span style="font-size:8pt"><span style="color:blue">    static</span><span style="color:black">
								</span><span style="color:blue">void</span><span style="color:black"> Main(</span><span style="color:blue">string</span><span style="color:black">[] args)
</span></span></p><p><span style="color:black;font-size:8pt">    {
</span></p><p><span style="font-size:8pt"><span style="color:teal">      SPSite</span><span style="color:black"> spSite = </span><span style="color:blue">null</span><span style="color:black">;
</span></span></p><p><span style="font-size:8pt"><span style="color:teal">      SPWeb</span><span style="color:black"> spWeb = </span><span style="color:blue">null</span><span style="color:black">;
</span></span></p><p><span style="font-size:8pt"><span style="color:teal">      SPList</span><span style="color:black"> spList;
</span></span></p><p><span style="color:blue;font-size:8pt">      try
</span></p><p><span style="color:black;font-size:8pt">      {
</span></p><p><span style="font-size:8pt"><span style="color:black">        spSite = </span><span style="color:blue">new</span><span style="color:black">
								</span><span style="color:teal">SPSite</span><span style="color:black">(</span><span style="color:maroon">&quot;<a href="http://r2-basemachine:1111"></span>http://r2-basemachine:1111<span style="color:maroon">&quot;</span><span style="color:black">);
</span></span></p><p><span style="color:black;font-size:8pt">        spWeb = spSite.OpenWeb();
</span></p><p><span style="font-size:8pt"><span style="color:black">        spList = spWeb.Lists[</span><span style="color:maroon">&quot;Contacts&quot;</span><span style="color:black">];
</span></span></p><p><span style="color:green;font-size:8pt">        //spList = spWeb.Lists[&quot;ContactType&quot;];
</span></p><p><span style="font-size:8pt"><span style="color:blue">        string</span><span style="color:black"> asmName = </span><span style="color:maroon">&quot;MSIT.ItemReceivers, Version=0.0.0.0, Culture=neutral, PublicKeyToken=6546c52e1a7f48a0&quot;</span><span style="color:black">;
</span></span></p><p><span style="font-size:8pt"><span style="color:blue">        string</span><span style="color:black"> className = </span><span style="color:maroon">&quot;MSIT.ItemReceivers.UpdateContactsEvent&quot;</span><span style="color:black">;
</span></span></p><p><span style="font-size:8pt"><span style="color:black">        spList.EventReceivers.Add(</span><span style="color:teal">SPEventReceiverType</span><span style="color:black">.ItemAdded, asmName, className);
</span></span></p><p><span style="font-size:8pt"><span style="color:black">        spList.EventReceivers.Add(</span><span style="color:teal">SPEventReceiverType</span><span style="color:black">.ItemUpdated, asmName, className);
</span></span></p><p><span style="color:black;font-size:8pt">        spList.Update();
</span></p><p><span style="color:black;font-size:8pt">      }
</span></p><p><span style="color:blue;font-size:8pt">      catch
</span></p><p><span style="color:black;font-size:8pt">      {}
</span></p><p><span style="color:blue;font-size:8pt">      finally
</span></p><p><span style="color:black;font-size:8pt">      {
</span></p><p><span style="font-size:8pt"><span style="color:black">        spList = </span><span style="color:blue">null</span><span style="color:black">;
</span></span></p><p><span style="color:black;font-size:8pt">        spWeb.Dispose();
</span></p><p><span style="color:black;font-size:8pt">        spSite.Dispose();
</span></p><p><span style="font-size:8pt"><span style="color:black">        spWeb = </span><span style="color:blue">null</span><span style="color:black">;
</span></span></p><p><span style="font-size:8pt"><span style="color:black">        spSite = </span><span style="color:blue">null</span><span style="color:black">;
</span></span></p><p><span style="color:black;font-size:8pt">      }
</span></p><p><span style="color:black;font-size:8pt">    }
</span></p><p><span style="color:black;font-size:8pt">  }
</span></p><p><span style="color:black;font-size:8pt">}</span></p></td></tr></tbody></table></div><p>
 </p><p>You simply run this code and run IISReset and you are golden (ready for test)</p></div></div>
<div><b>Published:</b> 12/11/2007 8:38 AM</div>
]]></description>
      <author>System Account</author>
      <pubDate>Tue, 11 Dec 2007 15:38:38 GMT</pubDate>
      <guid isPermaLink="true">http://www.codeintegrators.com/Blog/Lists/Posts/ViewPost.aspx?ID=13</guid>
    </item>
    <item>
      <title>Finding Assembly Information</title>
      <link>http://www.codeintegrators.com/Blog/Lists/Posts/ViewPost.aspx?ID=11</link>
      <description><![CDATA[<div><b>Body:</b> <div class=ExternalClass4F2B93CBF75D4AE1984FA2EFEDC6FBB3><p>Once again, in an attempt to segment information to prevent information overload, this is a simple one.  In MOSS development, you will many times have to reference assemblies by class name and assembly name along with the public key token.  To accomplish this I use a tool called .NET reflector which can be located <a href="http://www.aisto.com/roeder/dotnet/download.aspx?file=reflector">here</a>.
</p><p>If you drag your assembly on the user interface of the tool, you can click on it and see the assembly information as such:
</p><p><img src="/Blog/Lists/Photos/121007_2224_FindingAsse1.png" alt="">
	</p><p>If you drill down to the actual class, you can see the class information as such:
</p><p><img src="/Blog/Lists/Photos/121007_2224_FindingAsse2.png" alt="">
	</p><p>Promised it would be short but invaluable if this is the first time you've seen the tool.</p></div></div>
<div><b>Published:</b> 12/10/2007 3:27 PM</div>
]]></description>
      <author>System Account</author>
      <pubDate>Mon, 10 Dec 2007 22:27:11 GMT</pubDate>
      <guid isPermaLink="true">http://www.codeintegrators.com/Blog/Lists/Posts/ViewPost.aspx?ID=11</guid>
    </item>
    <item>
      <title>GAC’ing an assembly</title>
      <link>http://www.codeintegrators.com/Blog/Lists/Posts/ViewPost.aspx?ID=10</link>
      <description><![CDATA[<div><b>Body:</b> <div class=ExternalClass15FD354555AB414A9A26B1EB1BA89501><p>Probably not a blog-able subject but wanted something to link to so here goes.
</p><ol><li><div>First thing to do here is strong-name your assembly.  Simply go to properties on the project and signing section.
</div><p><img src="/Blog/Lists/Photos/121007_2050_GACinganass1.png" alt="">
			</p></li><li>Build your assembly by pressing F7 or however you wish
</li><li>From here you can use gacutil, add gacutil to a post-build event or simply navigate to dll and drop it into &quot;c:\windows\assembly&quot;</li></ol></div></div>
<div><b>Published:</b> 12/10/2007 1:54 PM</div>
]]></description>
      <author>System Account</author>
      <pubDate>Mon, 10 Dec 2007 20:54:13 GMT</pubDate>
      <guid isPermaLink="true">http://www.codeintegrators.com/Blog/Lists/Posts/ViewPost.aspx?ID=10</guid>
    </item>
    <item>
      <title>Find GUID of List</title>
      <link>http://www.codeintegrators.com/Blog/Lists/Posts/ViewPost.aspx?ID=9</link>
      <description><![CDATA[<div><b>Body:</b> <div class=ExternalClass72F28D5540C04269A4DBF7817513184F><p>Ok, I have decided to compartmentalize some of these into just a couple searchable topics that I can link to in other things so this is simply going to find out the GUID of an existing list. There are several ways we can do this including simply writing a quick code snippet. Technically, we should even be able to write a quick Console App that spits out the GUID based on a URL. However, we can simply look at the URL after going to the list we want. 
</p><p> 
 </p><p>See (If you look at the URL you will see a URLEncoded GUID at the List=: ) 
</p><p> 
 </p><p><img src="/Blog/Lists/Photos/121007_1518_FindGUIDofL1.png" alt=""></p></div></div>
<div><b>Published:</b> 12/10/2007 8:25 AM</div>
]]></description>
      <author>System Account</author>
      <pubDate>Mon, 10 Dec 2007 15:25:26 GMT</pubDate>
      <guid isPermaLink="true">http://www.codeintegrators.com/Blog/Lists/Posts/ViewPost.aspx?ID=9</guid>
    </item>
    <item>
      <title>Generating a new GUID</title>
      <link>http://www.codeintegrators.com/Blog/Lists/Posts/ViewPost.aspx?ID=8</link>
      <description><![CDATA[<div><b>Body:</b> <div class=ExternalClass705632A2F55B4A2E87956354135D4E92><p>Inevitably in MOSS if you are doing custom development there will come a point where you will have to generate new GUIDs for your features, lists, fields and whatever else.  There is a quick and easy way of doing this from Visual Studio.
</p><p>Simply open Visual Studio and go to Tools <span style="font-family:Wingdings">à</span> Create GUID
</p><p><img src="/Blog/Lists/Photos/121007_1502_Generatinga1.png" alt="">
	</p><p>
 </p><p>Choose Registry Format and then Copy.  Done and Done.  Know that certain GUIDs in MOSS will complain if you have curly braces {} and some will not.
</p><p>If you are more of a command-line person you can get to the same screen by typing: 
</p><p style="background:#dddddd;margin-left:12pt"><pre><code>guidgen
</code></pre></p><p>
 </p><p>in the Visual Studio Command Window</p></div></div>
<div><b>Published:</b> 12/10/2007 8:05 AM</div>
]]></description>
      <author>System Account</author>
      <pubDate>Mon, 10 Dec 2007 15:05:28 GMT</pubDate>
      <guid isPermaLink="true">http://www.codeintegrators.com/Blog/Lists/Posts/ViewPost.aspx?ID=8</guid>
    </item>
  </channel>
</rss>