Re: little question

"[email protected] [sed-users]" <[email protected]> 16 May 2019 10:30:11 -0700
Newsgroups gmane.editors.sed.user
Message-ID <[email protected]>
--pgTdGrldXYKgMuRm0OFvlFOqrkrRtomiSFKk43L
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Maybe you already have your answer. Anyway, here goes...

 



 I agree that if another specialized HTML tool exists, that is often a better option. However, there are times when an external tool does not fit in. Also, I think it better to under regular expressions, they are so useful.

 



 It was unclear what you were trying to do, because no input test file or expected output, but it sounds like you want to extract certain HTML tags that include class="title" attribute. 

 



 First (IMO), we need a good test input file, that includes each case we want to find or NOT to find. Here is an example, maybe a few more cases would be needed to make it bullet-proof:

 



 $ cat html.txt

Stuff before <span class="title" id="line_1"> Stuff after

Stuff before <span id="line_2" class="title"> Stuff after

Stuff before <span id="line_3" class="title" > Stuff after

Stuff before <span class='title' id='line_4'> Stuff after

Stuff before <span id='line_5' class='title'> Stuff after

Stuff before <span id='line_6' class='title' > Stuff after

 Stuff before <span id='line_7' class='hello' > Stuff after

 



 Next (IMO), we need to define what output we expect, in this case the first six span tags, but not the last.

 



 Next, we write the code. I put it in a shell script, so I can keep different versions that I edit to fix up:

 



 $ cat html.sh

grep -o "<span [^>]* *class=\([\"']\)title\1[^>]* *>" html.txt



 



 Your code might be somewhat different, depending on what you are trying to do. Eventually, we get it to produce the expected output (and hopefully be easy to understand):

 



 $ ./html.sh

<span class="title" id="line_1">

<span id="line_2" class="title">

<span id="line_3" class="title" >

<span class='title' id='line_4'>

<span id='line_5' class='title'>

<span id='line_6' class='title' >



 



 So I extracted the desired tags. I think the regular expression is pretty simple to understand. The key feature is [^>]* which is really useful. Also, we have to account for extra blanks. Of course, the above does not take into account tags that span lines, if that is an issue.

 



 Daniel



 



 





[Non-text portions of this message have been removed]


--pgTdGrldXYKgMuRm0OFvlFOqrkrRtomiSFKk43L
Content-Type: text/html; charset=US-ASCII
Content-Transfer-Encoding: 7bit




<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
</head>






 
<body style="background-color: #fff;">
<span style="display:none">&nbsp;</span>

<!--~-|**|PrettyHtmlStartT|**|-~-->
<div id="ygrp-mlmsg" style="position:relative;">
  <div id="ygrp-msg" style="z-index: 1;">
<!--~-|**|PrettyHtmlEndT|**|-~-->

    <div id="ygrp-text" >
      
      
      <p>Maybe you already have your answer. Anyway, here goes...
<br>
 
<br>

<br>
 I agree that if another specialized HTML tool exists, that is often a better option. However, there are times when an external tool does not fit in. Also, I think it better to under regular expressions, they are so useful.
<br>
 
<br>

<br>
 It was unclear what you were trying to do, because no input test file or expected output, but it sounds like you want to extract certain HTML tags that include class=&quot;title&quot; attribute. 
<br>
 
<br>

<br>
 First (IMO), we need a good test input file, that includes each case we want to find or NOT to find. Here is an example, maybe a few more cases would be needed to make it bullet-proof:
<br>
 
<br>

<br>
 $ cat html.txt
<br>
Stuff before &lt;span class=&quot;title&quot; id=&quot;line_1&quot;&gt; Stuff after
<br>
Stuff before &lt;span id=&quot;line_2&quot; class=&quot;title&quot;&gt; Stuff after
<br>
Stuff before &lt;span id=&quot;line_3&quot; class=&quot;title&quot; &gt; Stuff after
<br>
Stuff before &lt;span class=&#39;title&#39; id=&#39;line_4&#39;&gt; Stuff after
<br>
Stuff before &lt;span id=&#39;line_5&#39; class=&#39;title&#39;&gt; Stuff after
<br>
Stuff before &lt;span id=&#39;line_6&#39; class=&#39;title&#39; &gt; Stuff after
<br>
 Stuff before &lt;span id=&#39;line_7&#39; class=&#39;hello&#39; &gt; Stuff after
<br>
 
<br>

<br>
 Next (IMO), we need to define what output we expect, in this case the first six span tags, but not the last.
<br>
 
<br>

<br>
 Next, we write the code. I put it in a shell script, so I can keep different versions that I edit to fix up:
<br>
 
<br>

<br>
 $ cat html.sh
<br>
grep -o &quot;&lt;span [^&gt;]* *class=&#92;([&#92;&quot;&#39;]&#92;)title&#92;1[^&gt;]* *&gt;&quot; html.txt
<br>

<br>
 
<br>

<br>
 Your code might be somewhat different, depending on what you are trying to do. Eventually, we get it to produce the expected output (and hopefully be easy to understand):
<br>
 
<br>

<br>
 $ ./html.sh
<br>
&lt;span class=&quot;title&quot; id=&quot;line_1&quot;&gt;
<br>
&lt;span id=&quot;line_2&quot; class=&quot;title&quot;&gt;
<br>
&lt;span id=&quot;line_3&quot; class=&quot;title&quot; &gt;
<br>
&lt;span class=&#39;title&#39; id=&#39;line_4&#39;&gt;
<br>
&lt;span id=&#39;line_5&#39; class=&#39;title&#39;&gt;
<br>
&lt;span id=&#39;line_6&#39; class=&#39;title&#39; &gt;
<br>

<br>
 
<br>

<br>
 So I extracted the desired tags. I think the regular expression is pretty simple to understand. The key feature is [^&gt;]* which is really useful. Also, we have to account for extra blanks. Of course, the above does not take into account tags that span lines, if that is an issue.
<br>
 
<br>

<br>
 Daniel
<br>

<br>
 
<br>

<br>
 
<br>

<br>
<br>
[Non-text portions of this message have been removed]<br>
<br>
</p>

    </div>
     

    <!--~-|**|PrettyHtmlStart|**|-~-->
    <div style="color: #fff; height: 0;">__._,_.___</div>

          
  
 

    
    <div style="clear:both"> </div>

    <div id="fromDMARC" style="margin-top: 10px;">
        <hr style="height:2px ; border-width:0; color:#E3E3E3; background-color:#E3E3E3;">
        Posted by: [email protected]        <hr style="height:2px ; border-width:0; color:#E3E3E3; background-color:#E3E3E3;">
     </div>
    <div style="clear:both"> </div>

    <table cellspacing=4px style="margin-top: 10px; margin-bottom: 10px; color: #2D50FD;">
      <tbody>
        <tr>
          <td style="font-size: 12px; font-family: arial; font-weight: bold; padding: 7px 5px 5px;"  >
                          <a style="text-decoration: none; color: #2D50FD" href="https://groups.yahoo.com/neo/groups/sed-users/conversations/messages/9988;_ylc=X3oDMTJwZW02cDkwBF9TAzk3MzU5NzE0BGdycElkAzI0ODk2MzkEZ3Jwc3BJZAMxNzA5MzM1MDAyBG1zZ0lkAzk5ODgEc2VjA2Z0cgRzbGsDcnBseQRzdGltZQMxNTU4MDI3ODUy?act=reply&messageNum=9988">Reply via web post</a>
                      </td>
          <td>&bull;</td>
          <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;" >
            <a href="mailto:[email protected]?subject=Re%3A%20little%20question" style="text-decoration: none; color: #2D50FD;">
               Reply to sender            </a>
          </td>
          <td>&bull;</td>
          <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;">
            <a href="mailto:[email protected]?subject=Re%3A%20little%20question" style="text-decoration: none; color: #2D50FD">
              Reply to group            </a>
          </td>
          <td>&bull;</td>
          <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;" >
            <a href="https://groups.yahoo.com/neo/groups/sed-users/conversations/newtopic;_ylc=X3oDMTJlZzVuMnBrBF9TAzk3MzU5NzE0BGdycElkAzI0ODk2MzkEZ3Jwc3BJZAMxNzA5MzM1MDAyBHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTU1ODAyNzg1Mg--" style="text-decoration: none; color: #2D50FD">Start a New Topic</a>
          </td>
          <td>&bull;</td>
          <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;color: #2D50FD;" >
                            <a href="https://groups.yahoo.com/neo/groups/sed-users/conversations/topics/9984;_ylc=X3oDMTM0YW5nMDBhBF9TAzk3MzU5NzE0BGdycElkAzI0ODk2MzkEZ3Jwc3BJZAMxNzA5MzM1MDAyBG1zZ0lkAzk5ODgEc2VjA2Z0cgRzbGsDdnRwYwRzdGltZQMxNTU4MDI3ODUyBHRwY0lkAzk5ODQ-" style="text-decoration: none; color: #2D50FD;">Messages in this topic</a>
                (5)
                      </td>
        </tr>
      </tbody>
    </table>

        
<div id="megaphoneModule">
            <hr style="height:2px ; border-width:0; color:#E3E3E3; background-color:#E3E3E3;">
        <div>
	     <div class="stream" style="margin-bottom:10px;">
        <div style="background-color:white;">
            <div class="sn-img" style="display:inline;"><img name="tn_file" style="padding:0px 10px;vertical-align:top;margin-top:5px;" src="https://s.yimg.com/ru/static/images/yg/img/megaphone/1464031581_phpFA8bON" height="82" width="82"></div>
            <div class="mod-txt" style="display:inline-block;">
                <a rel="nofollow" name="sub_url" target="_blank" href="https://yho.com/1wwmgg" style="color:#0000FF;display:block;margin-left:5px;text-decoration:none;"><span style="font-size:15px;">Have you tried the highest rated email app?</span></a>
                <div style="max-width:530px;padding:2px 5px;">With 4.5 stars in iTunes, the Yahoo Mail app is the highest rated email app on the market. What are you waiting for? Now you can access all your inboxes (Gmail, Outlook, AOL and more) in one place. Never delete an email again with 1000GB of free cloud storage.</div>
            </div>
        </div>
    </div>        </div>  
     
    <hr style="height:2px ; border-width:0; color:#E3E3E3; background-color:#E3E3E3;">
</div>

<!------- Start Nav Bar ------>


    <div id="ygrp-grfd" style="font-family: Verdana; font-size: 12px; padding: 15px 0;">
      
<!-- |**|begin egp html banner|**| -->

      -- <BR>
      
<!-- |**|end egp html banner|**| -->

    </div>
  

 

<!-- |**|begin egp html banner|**| -->
<div id="ygrp-vital" style="background-color: #f2f2f2; font-family: Verdana; font-size: 10px; margin-bottom: 10px; padding: 10px;">

    <span id="vithd" style="font-weight: bold; color: #333; text-transform: uppercase; "><a href="https://groups.yahoo.com/neo/groups/sed-users/info;_ylc=X3oDMTJlZm4yMzg2BF9TAzk3MzU5NzE0BGdycElkAzI0ODk2MzkEZ3Jwc3BJZAMxNzA5MzM1MDAyBHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTU1ODAyNzg1Mg--" style="text-decoration: none;">Visit Your Group</a></span>

     <ul style="list-style-type: none; margin: 0; padding: 0; display: inline;">
                                                    </ul>
  </div>


<div id="ft" style="font-family: Arial; font-size: 11px; margin-top: 5px; padding: 0 2px 0 0; clear: both;">
  <a href="https://groups.yahoo.com/neo;_ylc=X3oDMTJkMTJtYWhxBF9TAzk3MzU5NzE0BGdycElkAzI0ODk2MzkEZ3Jwc3BJZAMxNzA5MzM1MDAyBHNlYwNmdHIEc2xrA2dmcARzdGltZQMxNTU4MDI3ODUy" style="float: left;"><img src="http://l.yimg.com/ru/static/images/yg/img/email/new_logo/logo-groups-137x15.png" height="15" width="137" alt="Yahoo! Groups" style="border: 0;"/></a>
  <div style="color: #747575; float: right;"> &bull; <a href="https://info.yahoo.com/privacy/us/yahoo/groups/details.html" style="text-decoration: none;">Privacy</a> &bull; <a href="mailto:[email protected]?subject=Unsubscribe" style="text-decoration: none;">Unsubscribe</a> &bull; <a href="https://info.yahoo.com/legal/us/yahoo/utos/terms/" style="text-decoration: none;">Terms of Use</a> </div>
</div>
<br>

<!-- |**|end egp html banner|**| -->

  </div> <!-- ygrp-msg -->

 
  <!-- Sponsor -->
  <!-- |**|begin egp html banner|**| -->
  <div id="ygrp-sponsor" style="width:160px; float:right; clear:none; margin:0 0 25px 0; background: #fff;">

<!-- Start Recommendations -->
<div id="ygrp-reco">
     </div>
<!-- End Recommendations -->

          
<!-- |**|begin egp html banner|**| -->

    <div id="ygrp-lc">
      <div id="hd">SPONSORED LINKS</div>
      <div id="lc">
        <div class="ad" style="color:#628C2A; font-family:Arial; font-weight:bold;">
                      <script type='text/javascript'>document.write('<a href="https://us.y.atwola.com/?adlink|5113.1|221794|0|16|AdId=-3;BnId=0;itime=27852034;kvmn=y100000;kvssp=brxd;kvpgcolo=bf1;kvadtc%5Fdvmktname=unknown;kvadtc%5Fdvosplt=unknown;kvadtc%5Fdvbrand=unknown;kvadtc%5Fdvtype=unknown;kvadtc%5Fdvmodel=unknown;kvrepo%5Fdvosplt=unknown;kvadtc%5Fdvosversion=UNKNOWN;kvadtc%5Fcrbrand=wifi%5F;kvadtc%5Fcrmcc=UNKNOWN;kvadtc%5Fcrmnc=UNKNOWN;kvadtc%5Fcontype=wifi;gdpr=0;adclntid=1004;spaceid=1709335002;" target=_top><img src="https://aka-cdn.adtechus.com/images/ATCollapse.gif" border=0 alt="AOL Ad" width="1" height="1" ></a>');
  
</script>
<!--Pointguard Diagnostic Start {"FAC3.0":{
"FAC IP" : "98.139.15.51",
"AdPosition Name" : "LC1",
"sapyECPM" : "0",
"gemniECPM" : "0",
"oneMobileECPM" : "0",
"gd2NetCpm" : "0",
"issapyEmpty" : "true",
"SapyAdSize" : "",
"SapyCustomSection" : "",
"SapyUrl" : "",
" SapyFedStatus" : "federation is not configured for ad slot",
" FedStatus" : "federation is not configured for ad slot"
}-->                          <img alt="" width=1 height=1 src="http://us.adserver.yahoo.com/l?M=#26/D=yahoo/S=:LC1/A=1234567/rand=997977455">
                              </div>
        <div class="ad" style="color:#628C2A; font-family:Arial; font-weight:bold;">
                      <script type='text/javascript'>document.write('<a href="https://us.y.atwola.com/?adlink|5113.1|221794|0|16|AdId=-3;BnId=0;itime=27852039;kvmn=y100000;kvssp=brxd;kvpgcolo=bf1;kvadtc%5Fdvmktname=unknown;kvadtc%5Fdvosplt=unknown;kvadtc%5Fdvbrand=unknown;kvadtc%5Fdvtype=unknown;kvadtc%5Fdvmodel=unknown;kvrepo%5Fdvosplt=unknown;kvadtc%5Fdvosversion=UNKNOWN;kvadtc%5Fcrbrand=wifi%5F;kvadtc%5Fcrmcc=UNKNOWN;kvadtc%5Fcrmnc=UNKNOWN;kvadtc%5Fcontype=wifi;gdpr=0;adclntid=1004;spaceid=1709335002;" target=_top><img src="https://aka-cdn.adtechus.com/images/ATCollapse.gif" border=0 alt="AOL Ad" width="1" height="1" ></a>');
  
</script>
<!--Pointguard Diagnostic Start {"FAC3.0":{
"FAC IP" : "98.139.15.51",
"AdPosition Name" : "LC2",
"sapyECPM" : "0",
"gemniECPM" : "0",
"oneMobileECPM" : "0",
"gd2NetCpm" : "0",
"issapyEmpty" : "true",
"SapyAdSize" : "",
"SapyCustomSection" : "",
"SapyUrl" : "",
" SapyFedStatus" : "federation is not configured for ad slot",
" FedStatus" : "federation is not configured for ad slot"
}-->                          <img alt="" width=1 height=1 src="http://us.adserver.yahoo.com/l?M=#26/D=yahoo/S=:LC2/A=1234567/rand=974400214">
                              </div>
        <div class="ad" style="color:#628C2A; font-family:Arial; font-weight:bold;">
                      <script type='text/javascript'>document.write('<a href="https://us.y.atwola.com/?adlink|5113.1|221794|0|16|AdId=-3;BnId=0;itime=27852046;kvmn=y100000;kvssp=brxd;kvpgcolo=bf1;kvadtc%5Fdvmktname=unknown;kvadtc%5Fdvosplt=unknown;kvadtc%5Fdvbrand=unknown;kvadtc%5Fdvtype=unknown;kvadtc%5Fdvmodel=unknown;kvrepo%5Fdvosplt=unknown;kvadtc%5Fdvosversion=UNKNOWN;kvadtc%5Fcrbrand=wifi%5F;kvadtc%5Fcrmcc=UNKNOWN;kvadtc%5Fcrmnc=UNKNOWN;kvadtc%5Fcontype=wifi;gdpr=0;adclntid=1004;spaceid=1709335002;" target=_top><img src="https://aka-cdn.adtechus.com/images/ATCollapse.gif" border=0 alt="AOL Ad" width="1" height="1" ></a>');
  
</script>
<!--Pointguard Diagnostic Start {"FAC3.0":{
"FAC IP" : "98.139.15.51",
"AdPosition Name" : "LC3",
"sapyECPM" : "0",
"gemniECPM" : "0",
"oneMobileECPM" : "0",
"gd2NetCpm" : "0",
"issapyEmpty" : "true",
"SapyAdSize" : "",
"SapyCustomSection" : "",
"SapyUrl" : "",
" SapyFedStatus" : "federation is not configured for ad slot",
" FedStatus" : "federation is not configured for ad slot"
}-->                          <img alt="" width=1 height=1 src="http://us.adserver.yahoo.com/l?M=#26/D=yahoo/S=:LC3/A=1234567/rand=816865545">
                              </div>
      </div>
    </div>
    
<!-- |**|end egp html banner|**| -->

  

  </div>   <!-- |**|end egp html banner|**| -->

  <div style="clear:both; color: #FFF; font-size:1px;">.</div>
</div>

  <img src="http://geo.yahoo.com/serv?s=97359714/grpId=2489639/grpspId=1709335002/msgId=9988/stime=1558027852/nc1=1234567/nc2=2/nc3=3" width="1" height="1"> <br>

<img src="http://y.analytics.yahoo.com/fpc.pl?ywarid=515FB27823A7407E&a=10001310322279&js=no&resp=img&cf12=CP" width="1" height="1"> 

<div style="color: #fff; height: 0;">__,_._,___</div>
<!--~-|**|PrettyHtmlEnd|**|-~-->

</body>

<!--~-|**|PrettyHtmlStart|**|-~-->
<head>
  <style type="text/css">
  <!--
  #ygrp-mkp {
  border: 1px solid #d8d8d8;
  font-family: Arial;
  margin: 10px 0;
  padding: 0 10px;
}

#ygrp-mkp hr {
  border: 1px solid #d8d8d8;
}

#ygrp-mkp #hd {
  color: #628c2a;
  font-size: 85%;
  font-weight: 700;
  line-height: 122%;
  margin: 10px 0;
}

#ygrp-mkp #ads {
  margin-bottom: 10px;
}

#ygrp-mkp .ad {
  padding: 0 0;
}

#ygrp-mkp .ad p {
  margin: 0;
}

#ygrp-mkp .ad a {
  color: #0000ff;
  text-decoration: none;
}
  #ygrp-sponsor #ygrp-lc {
  font-family: Arial;
}

#ygrp-sponsor #ygrp-lc #hd {
  margin: 10px 0px;
  font-weight: 700;
  font-size: 78%;
  line-height: 122%;
}

#ygrp-sponsor #ygrp-lc .ad {
  margin-bottom: 10px;
  padding: 0 0;
}

  #actions {
    font-family: Verdana;
    font-size: 11px;
    padding: 10px 0;
  }

  #activity {
    background-color: #e0ecee;
    float: left;
    font-family: Verdana;
    font-size: 10px;
    padding: 10px;
  }

  #activity span {
    font-weight: 700;
  }

  #activity span:first-child {
    text-transform: uppercase;
  }

  #activity span a {
    color: #5085b6;
    text-decoration: none;
  }

  #activity span span {
    color: #ff7900;
  }

  #activity span .underline {
    text-decoration: underline;
  }

  .attach {
    clear: both;
    display: table;
    font-family: Arial;
    font-size: 12px;
    padding: 10px 0;
    width: 400px;
  }

  .attach div a {
    text-decoration: none;
  }

  .attach img {
    border: none;
    padding-right: 5px;
  }

  .attach label {
    display: block;
    margin-bottom: 5px;
  }

  .attach label a {
    text-decoration: none;
  }
  
  blockquote {
    margin: 0 0 0 4px;
  }

  .bold {
    font-family: Arial;
    font-size: 13px;
    font-weight: 700;
  }

  .bold a {
    text-decoration: none;
  }

  dd.last p a {
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span {
    margin-right: 10px;
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span.yshortcuts {
    margin-right: 0;
  }

  div.attach-table div div a {
    text-decoration: none;
  }

  div.attach-table {
    width: 400px;
  }

  div.file-title a, div.file-title a:active, div.file-title a:hover, div.file-title a:visited {
    text-decoration: none;
  }

  div.photo-title a, div.photo-title a:active, div.photo-title a:hover, div.photo-title a:visited {
    text-decoration: none;
  }

  div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts {
    font-family: Verdana;
    font-size: 10px;
    font-weight: normal;
  }

  .green {
    color: #628c2a;
  }

  .MsoNormal {
    margin: 0 0 0 0;
  }

  o {
    font-size: 0;
  }

  #photos div {
    float: left;
    width: 72px;
  }

  #photos div div {
    border: 1px solid #666666;
    height: 62px;
    overflow: hidden;
    width: 62px;
  }

  #photos div label {
    color: #666666;
    font-size: 10px;
    overflow: hidden;
    text-align: center;
    white-space: nowrap;
    width: 64px;
  }

  #reco-category {
    font-size: 77%;
  }

  #reco-desc {
    font-size: 77%;
  }

  .replbq {
    margin: 4px;
  }

  #ygrp-actbar div a:first-child {
   /* border-right: 0px solid #000;*/
    margin-right: 2px;
    padding-right: 5px;
  }

  #ygrp-mlmsg {
    font-size: 13px;
    font-family: Arial, helvetica,clean, sans-serif;
    *font-size: small;
    *font: x-small;
  }

  #ygrp-mlmsg table {
    font-size: inherit;
    font: 100%;
  }

  #ygrp-mlmsg select, input, textarea {
    font: 99% Arial, Helvetica, clean, sans-serif;
  }

  #ygrp-mlmsg pre, code {
    font:115% monospace;
    *font-size:100%;
  }

  #ygrp-mlmsg * {
    line-height: 1.22em;
  }

  #ygrp-mlmsg #logo {
    padding-bottom: 10px;
  }


  #ygrp-msg p a {
    font-family: Verdana;
  }

  #ygrp-msg p#attach-count span {
    color: #1E66AE;
    font-weight: 700;
  }

  #ygrp-reco #reco-head {
    color: #ff7900;
    font-weight: 700;
  }

  #ygrp-reco {
    margin-bottom: 20px;
    padding: 0px;
  }

  #ygrp-sponsor #ov li a {
    font-size: 130%;
    text-decoration: none;
  }

  #ygrp-sponsor #ov li {
    font-size: 77%;
    list-style-type: square;
    padding: 6px 0;
  } 

  #ygrp-sponsor #ov ul {
    margin: 0;
    padding: 0 0 0 8px;
  }

  #ygrp-text {
    font-family: Georgia;
  }

  #ygrp-text p {
    margin: 0 0 1em 0;
  }

  #ygrp-text tt {
    font-size: 120%;
  }

  #ygrp-vital ul li:last-child {
    border-right: none !important; 
  } 
  -->
  </style>
</head>

<!--~-|**|PrettyHtmlEnd|**|-~-->
</html>
<!-- end group email -->


--pgTdGrldXYKgMuRm0OFvlFOqrkrRtomiSFKk43L--