Thursday, May 14, 2020

The old http://cyberjedizen.blogspot.com/ blog template

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
<html expr:dir='data:blog.languageDirection' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
  <head>
<meta content='TNES+aX2efvV2vLIXX/mqEoFNu1HTvosz9hUTTJoHQQ=' name='verify-v1'/>
    <b:include data='blog' name='all-head-content'/>
    <title><data:blog.pageTitle/></title>
    <meta content='Programmer, Hardware Engineer, Biologist, martial artist, ever think of adding them together?' name='description'/>
    <meta content='Blogger, Blogspot, blogger.com, blogspot.com, Java, C, C++, C#, HTML, CSS, Programming, applet, swing, cyber, jedi, martial art, hardware, software,electronics, computer hardware, wireless, reverse engine, operation system, networking, digital arts, music, open source, driver, virus, information security, cyber martial arts, internet, worm, software, E-commerce, botnet, web, phishing, worm, ftp, p2p, email, social network, blog, search engine' name='keywords'/>
    <b:skin><![CDATA[/*
-----------------------------------------------
Blogger Template Style
Name:   Thisaway (Blue)
Designer: Dan Rubin
URL:      www.superfluousbanter.org
Date:     29 Feb 2004
Updated by: Blogger Team
----------------------------------------------- */

/* Variable definitions
   ====================
   <Variable name="textColor" description="Text Color"
             type="color" default="#204063" value="#204063">
   <Variable name="blogTitleColor" description="Blog Title Color"
             type="color" default="#eef6fe" value="#eef6fe">
   <Variable name="blogDescriptionColor" description="Blog Description Color"
             type="color" default="#eef6fe" value="#eef6fe">
   <Variable name="postTitleColor" description="Post Title Color"
             type="color" default="#477fba" value="#477fba">
   <Variable name="dateHeaderColor" description="Date Header Color"
             type="color" default="#8facc8" value="#8facc8">
   <Variable name="sidebarHeaderColor" description="Sidebar Title Color"
             type="color" default="#809fbd" value="#809fbd">
   <Variable name="mainLinkColor" description="Link Color"
             type="color" default="#4386ce" value="#4386ce">
   <Variable name="mainVisitedLinkColor" description="Visited Link Color"
             type="color" default="#2462a5" value="#2462a5">
   <Variable name="sidebarLinkColor" description="Sidebar Link Color"
             type="color" default="#599be2" value="#599be2">
   <Variable name="sidebarVisitedLinkColor"
              description="Sidebar Visited Link Color"
             type="color" default="#3372b6" value="#3372b6">

   <Variable name="bodyFont" description="Text Font"
             type="font" default="normal normal 100% Helvetica,Arial,Verdana,'Trebuchet MS', Sans-serif" value="normal normal 120% Trebuchet, Trebuchet MS, Arial, sans-serif">
   <Variable name="headerFont" description="Sidebar Title Font"
             type="font"
             default="normal bold 100% Helvetica,Arial,Verdana,'Trebuchet MS', Sans-serif" value="normal bold 100% Helvetica,Arial,Verdana,&#39;Trebuchet MS&#39;, Sans-serif">
   <Variable name="pageTitleFont" description="Blog Title Font"
             type="font"
             default="normal bold 200% Helvetica,Arial,Verdana,'Trebuchet MS', Sans-serif" value="normal bold 200% Helvetica,Arial,Verdana,&#39;Trebuchet MS&#39;, Sans-serif">
   <Variable name="blogDescriptionFont" description="Blog Description Font"
             type="font"
             default="normal normal 80% Helvetica,Arial,Verdana,'Trebuchet MS', Sans-serif" value="normal normal 80% Helvetica,Arial,Verdana,&#39;Trebuchet MS&#39;, Sans-serif">
   <Variable name="startSide" description="Start side in blog language"
             type="automatic" default="left">
   <Variable name="endSide" description="End side in blog language"
             type="automatic" default="right">
*/

/* global
----------------------------------------------- */
body {
  margin: 0;
  text-align: center;
  min-width: 760px;
/* --remove by me
  background: #4386ce url(http://www.blogblog.com/thisaway_blue/bg_body.gif) repeat-x $startSide top;
*/
  background: #4386ce url(http://sites.google.com/site/cyberjedizen/template-background-arts/bluehill.bmp) no-repeat top fixed;


  color: $textColor;
  font-size: small;
}

blockquote {
  margin: 0;
  padding-top: 0;
  padding-$endSide: 10px;
  padding-bottom: 0;
  padding-$startSide: 10px;
  border-$startSide: 6px solid #d8e7f78;
  border-$endSide: 6px solid #d8e7f7;
  color: $postTitleColor;
}

code {
  color: $postTitleColor;
}

hr {
  display: none;
}


/* layout
----------------------------------------------- */
#outer-wrapper {
  /*add by me*/
  background:#FFFFFF;
  opacity:.85;
  filter: alpha(opacity=85);
  -moz-opacity: 0.85;
  /*add by me*/
  margin: 0 auto;
  width: 760px;
  text-align: $startSide;
  font: $bodyFont;
}

#header-wrapper {
background: #204063;
}

#header {
background: #204063;
/*
  background: #204063 url(http://www.blogblog.com/thisaway_blue/bg_header.gif) repeat-x $startSide bottom;
*/
}

/*-- Fancy Header --*/
#contentbar {
background: #204063;
position: relative;
clear: both;
display: block;
$startSide top;
width: 760px;
}

#headbar1 {
display:block;
float:left;
margin-left:0px;
width:220px;
}
#headbar2 {
display:block;
float:right;
margin-left:0px;
width:540px;
}


#content-wrapper {
  position: relative;
  width: 760px;
  background: #f7f0e9 url(http://www.blogblog.com/thisaway_blue/bg_main_wrapper.gif) repeat-y $startSide top;
}

#main-wrapper {
  display: inline; /* fixes a strange ie margin bug */
  float: $startSide;
  margin-top: 0;
  margin-$endSide: 0;
  margin-bottom: 0;
  margin-$startSide: 3px;
  padding: 0;
  width: 483px;
  word-wrap: break-word; /* fix for long text breaking sidebar float in IE */
  overflow: hidden;     /* fix for long non-text content breaking IE sidebar float */
}

#main {
  padding-top: 22px;
  padding-$endSide: 8px;
  padding-bottom: 0;
  padding-$startSide: 8px;
  background: url(http://www.blogblog.com/thisaway_blue/bg_content.gif) repeat-x $startSide top;
}

.post {
  margin-top: 0;
  margin-$endSide: 8px;
  margin-bottom: 14px;
  margin-$startSide: 21px;
  padding: 0;
  border-bottom: 3px solid #d8e7f7;
}

#comments {
  margin-top: 0;
  margin-$endSide: 16px;
  margin-bottom: 14px;
  margin-$startSide: 29px;
  padding: 10px;
  border: 1px solid #cedef0;
  background-color: #e4ecf5;
}

#sidebar-wrapper {
  display: inline; /* fixes a strange ie margin bug */
  float: $endSide;
  margin-top: 0;
  margin-$endSide: 3px;
  margin-bottom: 0;
  margin-$startSide: 0;
  width: 269px;
  color: $textColor;
  line-height: 1.4em;
  font-size: 90%;
/*remove by me
  background: url(http://www.blogblog.com/thisaway_blue/bg_sidebar.gif) repeat-x
*/
$startSide top;
  word-wrap: break-word; /* fix for long text breaking sidebar float in IE */
  overflow: hidden;     /* fix for long non-text content breaking IE sidebar float */
}

#sidebar {
  padding-top: 7px;
  padding-$endSide: 11px;
  padding-bottom: 0;
  padding-$startSide: 14px;
/*remove by me
  background: url(http://www.blogblog.com/thisaway_blue/bg_sidebar_arrow.gif) repeat-y 179px 0;
*/
}

#sidebar .widget {
  margin-bottom: 20px;
 }


#footer-wrapper {
/* remove by me
  padding-top: 15px;
  background: url(http://www.blogblog.com/thisaway_blue/bg_footer_top.gif) no-repeat $startSide top;
*/
  clear: both;
}

#footer {
  background: #152e49 url(http://www.blogblog.com/thisaway_blue/bg_footer.gif) repeat-x $startSide top;
  text-align: center;
  min-height: 2em;
}

/* headings
----------------------------------------------- */

#header h1 {
  margin: 0;
  padding-top: 24px;
  padding-$endSide: 0;
  padding-bottom: 0;
  padding-$startSide: 84px;
  background: url(http://www.blogblog.com/thisaway_blue/icon_header_$startSide.gif) no-repeat 16px 26px;
}

h2.date-header {
  margin: 0;
  padding-top: 0;
  padding-$endSide: 0;
  padding-bottom: 0;
  padding-$startSide: 29px;
  text-transform: uppercase;
  color: $dateHeaderColor;
  background: url(http://www.blogblog.com/thisaway_blue/icon_date.gif) no-repeat 13px 0;
  font-size: 80%;
  font-weight: normal;
}

.date-header span {
  margin-top: 0;
  margin-$endSide: 0;
  margin-bottom: 0;
  margin-$startSide: 5px;
  padding-top: 0;
  padding-$endSide: 25px;
  padding-bottom: 0;
  padding-$startSide: 25px;
  background: url(http://www.blogblog.com/thisaway_blue/bg_date.gif) no-repeat $startSide 0;
}

.sidebar h2 {
  padding-top: 1px;
  padding-$endSide: 0;
  padding-bottom: 0;
  padding-$startSide: 36px;
  color: $sidebarHeaderColor;
  background: url(http://www.blogblog.com/thisaway_blue/icon_sidebar_heading_$startSide.gif) no-repeat $startSide 45%;
  font: $headerFont;
}

.sidebar .Profile h2 {
  color: #527595;
  background: url(http://www.blogblog.com/thisaway_blue/icon_sidebar_profileheading_$startSide.gif) no-repeat $startSide 45%;
}

.post h3 {
  margin-top: 13px;
  margin-$endSide: 0;
  margin-bottom: 13px;
  margin-$startSide: 0;
  padding: 0;
  color: $postTitleColor;
  font-size: 140%;
}

.post h3 a, .post h3 a:visited {
  color: $postTitleColor;
 }

#comments h4 {
  margin-top: 0;
  font-size: 120%;
}


/* text
----------------------------------------------- */

#header h1 {
  color: $blogTitleColor;
  font: $pageTitleFont;
}

#header .description {
  margin: 0;
  padding-top: 7px;
  padding-$endSide: 16px;
  padding-bottom: 0;
  padding-$startSide: 84px;
  color: $blogDescriptionColor;
  font: $blogDescriptionFont;
}

.post-body p {
  line-height: 1.4em;
  /* Fix bug in IE5/Win with italics in posts */
  margin: 0;
  height: 1%;
  overflow: visible;
}

.post-footer {
  font-size: 80%;
  color: $dateHeaderColor;
}

.uncustomized-post-template .post-footer {
  text-align: $endSide;
}

.uncustomized-post-template .post-footer .post-author,
.uncustomized-post-template .post-footer .post-timestamp {
  display: block;
  float: $startSide;
  text-align: $startSide;
  margin-$endSide: 4px;
}

p.comment-author {
  font-size: 83%;
}

.deleted-comment {
  font-style:italic;
  color:gray;
}

.comment-body p {
  line-height: 1.4em;
}

.feed-links {
  clear: both;
  line-height: 2.5em;
  margin-bottom: 0.5em;
  margin-$startSide: 29px;
}

#footer .widget {
  margin: 0;
  padding-top: 0;
  padding-$endSide: 0;
  padding-bottom: 15px;
  padding-$startSide: 55px;
  color: #fef6ee;
  font-size: 90%;
  line-height: 1.4em;
  background: url(http://www.blogblog.com/thisaway_blue/icon_footer.gif) no-repeat 16px 0;
}


/* lists
----------------------------------------------- */

.post ul {
  padding-$startSide: 32px;
  list-style-type: none;
  line-height: 1.4em;
}

.post li {
  padding-top: 0;
  padding-$endSide: 0;
  padding-bottom: 4px;
  padding-$startSide: 17px;
  background: url(http://www.blogblog.com/thisaway_blue/icon_list_item_$startSide.gif) no-repeat $startSide 3px;
}

#comments ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

#comments li {
  padding-top: 0;
  padding-$endSide: 0;
  padding-bottom: 1px;
  padding-$startSide: 17px;
  background: url(http://www.blogblog.com/thisaway_blue/icon_comment.gif) no-repeat $startSide 3px;
}

.sidebar ul {
  padding: 0;
  list-style-type: none;
  line-height: 1.2em;
  margin-$startSide: 0;
}

.sidebar li {
  padding-top: 0;
  padding-$endSide: 0;
  padding-bottom: 4px;
  padding-$startSide: 17px;
  background: url(http://www.blogblog.com/thisaway_blue/icon_list_item.gif) no-repeat $startSide 3px;
}

#blog-pager-newer-link {
  float: $startSide;
  margin-$startSide: 29px;
 }

#blog-pager-older-link {
  float: $endSide;
  margin-$endSide: 16px;
 }

#blog-pager {
  text-align: center;
 }

/* links
----------------------------------------------- */
a {
  color: $mainLinkColor;
  font-weight: bold;
}

a:hover {
  color: $mainVisitedLinkColor;
}

a.comment-link {
/* ie5.0/win doesn't apply padding to inline elements,
   so we hide these two declarations from it */
  background/* */:/**/url(http://www.blogblog.com/thisaway_blue/icon_comment.gif) no-repeat $startSide 45%;
  padding-$startSide: 14px;
}

html>body a.comment-link {
  /* respecified, for ie5/mac's benefit */
  background: url(http://www.blogblog.com/thisaway_blue/icon_comment.gif) no-repeat $startSide 45%;
  padding-$startSide: 14px;
}

.sidebar a {
  color: $sidebarLinkColor;
}

.sidebar a:hover {
  color: $sidebarVisitedLinkColor;
}


#header h1 a {
  color: $blogTitleColor;
  text-decoration: none;
}

#header h1 a:hover {
  color: #b4c7d9;
}

.post h3 a {
  text-decoration: none;
}

a img {
 border-width: 0;
}

.clear {
  clear: both;
  line-height: 0;
  height: 0;
}

.profile-textblock {
  clear: both;
  margin-bottom: 10px;
  margin-$startSide: 0;
}

.profile-img {
  float: $startSide;
  margin-top: 0;
  margin-$endSide: 5px;
  margin-bottom: 5px;
  margin-$startSide: 0;
  padding: 3px;
  border: 1px solid #bdd4eb;
}

.profile-link {
  padding-top: 0;
  padding-$endSide: 0;
  padding-bottom: 0;
  padding-$startSide: 17px;
  background: url(http://www.blogblog.com/thisaway_blue/icon_profile_$startSide.gif) no-repeat $startSide 0;
}

/** Page structure tweaks for layout editor wireframe */

body#layout #main,
body#layout #sidebar {
  padding: 0;
}

/*add by me for navTab*/
#subnavbar {
background: #000;
width: 760px;
height: 27px;
color: #FFFFFF;
margin: 0px;
padding: 0px;
}
#subnav {
margin: 0px;
padding: 0px;
}
#subnav ul {
float: left;
list-style: none;
margin: 0px;
padding: 0px;
}
#subnav li {
float: left;
list-style: none;
margin: 0px;
padding: 0px;
}
#subnav li a, #subnav li a:link, #subnav li a:visited {
color: #FFFFFF;
display: block;
font-size: 10px;
font-weight: bold;
text-transform: uppercase;
margin: 0px 5px 0px 0px;
padding: 6px 13px 6px 13px;
}
#subnav li a:hover, #subnav li a:active {
background: #6e6d6d;
color: #FFFFFF;
display: block;
text-decoration: none;
margin: 0px 5px 0px 0px;
padding: 6px 13px 6px 13px;
}
#subnav li li a, #subnav li li a:link, #subnav li li a:visited {
background: #333;
width: 140px;
float: none;
margin: 0px;
padding: 6px 10px 6px 10px;
border-bottom: 1px solid #FFFFFF;
border-left: 1px solid #FFFFFF;
border-right: 1px solid #FFFFFF;
}
#subnav li li a:hover, #subnav li li a:active {
background: #666;
margin: 0px;
padding: 6px 10px 6px 10px;
}
#subnav li ul {
z-index: 9999;
position: absolute;
left: -999em;
height: auto;
width: 160px;
margin: 0px;
padding: 0px;
}
#subnav li li {
}
#subnav li ul a {
width: 140px;
}
#subnav li ul a:hover, #subnav li ul a:active {
}
#subnav li ul ul {
margin: -25px 0 0 161px;
}
#subnav li:hover ul ul, #subnav li:hover ul ul ul, #subnav li.sfhover ul ul, #subnav li.sfhover ul ul ul {
left: -999em;
}
#subnav li:hover ul, #subnav li li:hover ul, #subnav li li li:hover ul, #subnav li.sfhover ul, #subnav li li.sfhover ul, #subnav li li li.sfhover ul {
left: auto;
}
#subnav li:hover, #subnav li.sfhover {
position: static;
}

/*add by me for navTab*/
/*add for iconbar*/
#iconbar {
margin: 0;
padding: 0;
height: 150px;
width: 660px;
}
#iconbar_right {
float: right;
margin: 0;
padding: 6px 0 0;
width: 150 px;
}
/*add for iconbar*/

/*add by me code block in post*/
.code-wrapper {
height: 350px;
background-color:#FFFFCC;
overflow-y: scroll;
scrollbar-arrow-color:  blue;
scrollbar- face-color: #e7e7e7;
scrollbar-3dlight-color: #a0a0a0;
scrollbar-darkshadow-color:  #888888";
/*add by me code block in post*/

]]></b:skin>
  </head>

  <body>
  <b:section class='navbar' id='navbar' maxwidgets='1' showaddelement='no'>
    <b:widget id='Navbar1' locked='true' title='Navbar' type='Navbar'>
      <b:includable id='main'>&lt;script type=&quot;text/javascript&quot;&gt;
    function setAttributeOnload(object, attribute, val) {
      if(window.addEventListener) {
        window.addEventListener(&#39;load&#39;,
          function(){ object[attribute] = val; }, false);
      } else {
        window.attachEvent(&#39;onload&#39;, function(){ object[attribute] = val; });
      }
    }
  &lt;/script&gt;
&lt;div id=&quot;navbar-iframe-container&quot;&gt;&lt;/div&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;https://apis.google.com/js/plusone.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
      gapi.load(&quot;gapi.iframes:gapi.iframes.style.bubble&quot;, function() {
        if (gapi.iframes &amp;&amp; gapi.iframes.getContext) {
          gapi.iframes.getContext().openChild({
              url: &#39;https://www.blogger.com/navbar.g?targetBlogID\x3d5114814857102747069\x26blogName\x3dCyber+Jedi+--+About+hardware,+program...\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dLIGHT\x26layoutType\x3dLAYOUTS\x26searchRoot\x3dhttps://cyberjedizen.blogspot.com/search\x26blogLocale\x3den\x26v\x3d2\x26homepageUrl\x3dhttps://cyberjedizen.blogspot.com/\x26vt\x3d-1604536900043065010&#39;,
              where: document.getElementById(&quot;navbar-iframe-container&quot;),
              id: &quot;navbar-iframe&quot;
          });
        }
      });
    &lt;/script&gt;&lt;script type=&quot;text/javascript&quot;&gt;
(function() {
var script = document.createElement(&#39;script&#39;);
script.type = &#39;text/javascript&#39;;
script.src = &#39;//pagead2.googlesyndication.com/pagead/js/google_top_exp.js&#39;;
var head = document.getElementsByTagName(&#39;head&#39;)[0];
if (head) {
head.appendChild(script);
}})();
&lt;/script&gt;
</b:includable>
    </b:widget>
  </b:section>


  <div id='outer-wrapper'><div id='wrap2'>

    <!-- skip links for text browsers -->
    <span id='skiplinks' style='display:none;'>
      <a href='#main'>skip to main </a> |
      <a href='#sidebar'>skip to sidebar</a>
    </span>

    <div id='header-wrapper'>

<div id='headbar1'>
        <b:section class='header' id='HTML81' maxwidgets='2' preferred='yes' showaddelement='yes'/>
</div>
<div id='headbar2'>
        <b:section class='header' id='HTML82' maxwidgets='2' preferred='yes' showaddelement='yes'>
          <b:widget id='HTML1' locked='false' title='' type='HTML'>
            <b:includable id='main'>
  <!-- only display title if it's non-empty -->
  <b:if cond='data:title != &quot;&quot;'>
    <h2 class='title'><data:title/></h2>
  </b:if>
  <div class='widget-content'>
    <data:content/>
  </div>

  <b:include name='quickedit'/>
</b:includable>
          </b:widget>
        </b:section>
</div>

      <b:section class='header' id='header' maxwidgets='2' showaddelement='yes'>
        <b:widget id='HTML4' locked='false' title='Cyber Jedi Zen' type='HTML'>
          <b:widget-settings>
            <b:widget-setting name='content'><![CDATA[<h1><b><a href="http://cyberjedizen.blogspot.com">Cyber Jedi Zen</a></b></h1>]]></b:widget-setting>
          </b:widget-settings>
          <b:includable id='main'>
  <!-- only display title if it's non-empty -->
  <b:if cond='data:title != &quot;&quot;'>
    <h2 class='title'><data:title/></h2>
  </b:if>
  <div class='widget-content'>
    <data:content/>
  </div>

  <b:include name='quickedit'/>
</b:includable>
        </b:widget>
      </b:section>

<!--add by me for navTab-->
<div id='subnavbar'>
<ul id='subnav'>
<li><a href='/'>home</a></li>
<li><a href='http://cyberjedizen.blogspot.com/search/label/Blogger%20Hack'> Blogger Tips</a>

<ul>
<li>
<a href='http://cyberjedizen.blogspot.com/search/label/10s%20blog%20tip'>Basic</a>
</li>
<li>
<a href='http://cyberjedizen.blogspot.com/search/label/Advanced%20Blog%20tips'>Advanced</a>
</li>
</ul>
</li>
<li><a href='http://cyberjedizen.blogspot.com/search/label/Electronics'> Electronics</a></li>
<li><a href='http://cyberjedizen.blogspot.com/search/label/Tutorial'> Tutorials</a>

<ul>
<li>
<a href='http://cyberjedizen.blogspot.com/search/label/Programming'>Java</a>
</li>
<li>
<a href='http://cyberjedizen.blogspot.com/search/label/Programming'>C/C++</a>
</li>
<li>
<a href='http://cyberjedizen.blogspot.com/search/label/Programming'>OOP</a>
</li>
<li>
<a href='http://cyberjedizen.blogspot.com/search/label/Network%20101'>Network</a>
</li>
</ul>
</li>

<li>
<a href='http://cyberjedizen.blogspot.com/search/label/Resources'> Resources</a>
<ul>
<li>
  <a href='http://xyzcode.blogspot.com'>Code</a>
</li>
<li>
  <a href='http://xyznetwork.blogspot.com'>Network</a>
</li>
<li>
  <a href='http://kl2217.wordpress.com'>Security</a>
</li>
</ul>
</li>


<li><a href='http://cyberjedizen.blogspot.com/search/label/News'> News</a></li>
<li><a href='http://cyberjedizen.blogspot.com/2009/06/any-suggestions-for-my-blog.html'>Contact</a></li>
</ul>
</div>

<!--add by me for navTab-->

    </div>

    <div id='content-wrapper'>

      <div id='crosscol-wrapper' style='text-align:center'>
        <b:section class='crosscol' id='crosscol' showaddelement='no'/>
      </div>

      <div id='main-wrapper'>
        <b:section class='main' id='main' showaddelement='no'>
          <b:widget id='Blog1' locked='true' title='Blog Posts' type='Blog'>
            <b:widget-settings>
              <b:widget-setting name='showDateHeader'>true</b:widget-setting>
              <b:widget-setting name='style.textcolor'>#1b0431</b:widget-setting>
              <b:widget-setting name='showShareButtons'>false</b:widget-setting>
              <b:widget-setting name='showCommentLink'>true</b:widget-setting>
              <b:widget-setting name='style.urlcolor'>#473624</b:widget-setting>
              <b:widget-setting name='showAuthor'>true</b:widget-setting>
              <b:widget-setting name='disableGooglePlusShare'>true</b:widget-setting>
              <b:widget-setting name='style.linkcolor'>#29303b</b:widget-setting>
              <b:widget-setting name='style.unittype'>TextAndImage</b:widget-setting>
              <b:widget-setting name='style.bgcolor'>#ffffff</b:widget-setting>
              <b:widget-setting name='showAuthorProfile'>false</b:widget-setting>
              <b:widget-setting name='style.layout'>300x250</b:widget-setting>
              <b:widget-setting name='showLabels'>true</b:widget-setting>
              <b:widget-setting name='showLocation'>true</b:widget-setting>
              <b:widget-setting name='showTimestamp'>true</b:widget-setting>
              <b:widget-setting name='postsPerAd'>1</b:widget-setting>
              <b:widget-setting name='showBacklinks'>false</b:widget-setting>
              <b:widget-setting name='style.bordercolor'>#ffffff</b:widget-setting>
              <b:widget-setting name='showInlineAds'>false</b:widget-setting>
              <b:widget-setting name='showReactions'>false</b:widget-setting>
            </b:widget-settings>
            <b:includable id='main' var='top'>
  <b:if cond='!data:mobile'>
    <!-- posts -->
    <div class='blog-posts hfeed'>

      <b:include data='top' name='status-message'/>

      <b:loop values='data:posts' var='post'>
        <b:if cond='data:post.isDateStart and not data:post.isFirstPost'>
          &lt;/div&gt;&lt;/div&gt;
        </b:if>
        <b:if cond='data:post.isDateStart'>
          &lt;div class=&quot;date-outer&quot;&gt;
        </b:if>
        <b:if cond='data:post.dateHeader'>
          <h2 class='date-header'><span><data:post.dateHeader/></span></h2>
        </b:if>
        <b:if cond='data:post.isDateStart'>
          &lt;div class=&quot;date-posts&quot;&gt;
        </b:if>
        <div class='post-outer'>
          <b:include data='post' name='post'/>
          <b:include cond='data:blog.pageType in {&quot;static_page&quot;,&quot;item&quot;}' data='post' name='comment_picker'/>
        </div>

        <!-- Ad -->
        <b:if cond='data:post.includeAd'>
          <div class='inline-ad'>
            <data:adCode/>
          </div>
        </b:if>
      </b:loop>
      <b:if cond='data:numPosts != 0'>
        &lt;/div&gt;&lt;/div&gt;
      </b:if>
    </div>

    <!-- navigation -->
    <b:include name='nextprev'/>

    <!-- feed links -->
    <b:include name='feedLinks'/>

  <b:else/>
    <b:include name='mobile-main'/>
  </b:if>

  <b:include cond='data:top.showPlusOne' name='googlePlusBootstrap'/>
</b:includable>
            <b:includable id='backlinkDeleteIcon' var='backlink'>
  <span expr:class='&quot;item-control &quot; + data:backlink.adminClass'>
    <a expr:href='data:backlink.deleteUrl' expr:title='data:top.deleteBacklinkMsg'>
      <img src='https://resources.blogblog.com/img/icon_delete13.gif'/>
    </a>
  </span>
</b:includable>
            <b:includable id='backlinks' var='post'>
  <a name='links'/><h4><data:post.backlinksLabel/></h4>
  <b:if cond='data:post.numBacklinks != 0'>
    <dl class='comments-block' id='comments-block'>
      <b:loop values='data:post.backlinks' var='backlink'>
        <div class='collapsed-backlink backlink-control'>
          <dt class='comment-title'>
            <span class='backlink-toggle-zippy'>&#160;</span>
            <a expr:href='data:backlink.url' rel='nofollow'><data:backlink.title/></a>
            <b:include data='backlink' name='backlinkDeleteIcon'/>
          </dt>
          <dd class='comment-body collapseable'>
            <data:backlink.snippet/>
          </dd>
          <dd class='comment-footer collapseable'>
            <span class='comment-author'><data:post.authorLabel/> <data:backlink.author/></span>
            <span class='comment-timestamp'><data:post.timestampLabel/> <data:backlink.timestamp/></span>
          </dd>
        </div>
      </b:loop>
    </dl>
  </b:if>
  <p class='comment-footer'>
    <a class='comment-link' expr:href='data:post.createLinkUrl' expr:id='data:widget.instanceId + &quot;_backlinks-create-link&quot;' target='_blank'><data:post.createLinkLabel/></a>
  </p>
</b:includable>
            <b:includable id='comment-form' var='post'>
  <div class='comment-form'>
    <a name='comment-form'/>
    <b:if cond='data:mobile'>
      <h4 id='comment-post-message'>
        <a expr:id='data:widget.instanceId + &quot;_comment-editor-toggle-link&quot;' href='javascript:void(0)'><data:postCommentMsg/></a></h4>
      <p><data:blogCommentMessage/></p>
      <data:blogTeamBlogMessage/>
      <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
      <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' expr:height='data:cmtIframeInitialHeight' frameborder='0' id='comment-editor' name='comment-editor' src='' style='display: none' width='100%'/>
    <b:else/>
      <h4 id='comment-post-message'><data:postCommentMsg/></h4>
      <p><data:blogCommentMessage/></p>
      <data:blogTeamBlogMessage/>
      <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
      <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' expr:height='data:cmtIframeInitialHeight' frameborder='0' id='comment-editor' name='comment-editor' src='' width='100%'/>
    </b:if>
    <data:post.cmtfpIframe/>
    <script type='text/javascript'>
      BLOG_CMT_createIframe(&#39;<data:post.appRpcRelayPath/>&#39;);
    </script>
  </div>
</b:includable>
            <b:includable id='commentDeleteIcon' var='comment'>
  <span expr:class='&quot;item-control &quot; + data:comment.adminClass'>
    <b:if cond='data:showCmtPopup'>
      <div class='goog-toggle-button'>
        <div class='goog-inline-block comment-action-icon'/>
      </div>
    <b:else/>
      <a class='comment-delete' expr:href='data:comment.deleteUrl' expr:title='data:top.deleteCommentMsg'>
        <img src='https://resources.blogblog.com/img/icon_delete13.gif'/>
      </a>
    </b:if>
  </span>
</b:includable>
            <b:includable id='comment_count_picker' var='post'>
  <a class='comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'>
    <data:post.commentLabelFull/>:
  </a>
</b:includable>
            <b:includable id='comment_picker' var='post'>
  <b:if cond='data:post.showThreadedComments'>
    <b:include data='post' name='threaded_comments'/>
  <b:else/>
    <b:include data='post' name='comments'/>
  </b:if>
</b:includable>
            <b:includable id='comments' var='post'>
  <div class='comments' id='comments'>
    <a name='comments'/>
    <b:if cond='data:post.allowComments'>
      <h4><data:post.commentLabelFull/>:</h4>

      <b:if cond='data:post.commentPagingRequired'>
        <span class='paging-control-container'>
          <b:if cond='data:post.hasOlderLinks'>
            <a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'><data:post.oldestLinkText/></a>
              &#160;
            <a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'><data:post.olderLinkText/></a>
              &#160;
          </b:if>

          <data:post.commentRangeText/>

          <b:if cond='data:post.hasNewerLinks'>
            &#160;
            <a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'><data:post.newerLinkText/></a>
            &#160;
            <a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'><data:post.newestLinkText/></a>
          </b:if>
        </span>
      </b:if>

      <div expr:id='data:widget.instanceId + &quot;_comments-block-wrapper&quot;'>
        <dl expr:class='data:post.avatarIndentClass' id='comments-block'>
          <b:loop values='data:post.comments' var='comment'>
            <dt expr:class='&quot;comment-author &quot; + data:comment.authorClass' expr:id='data:comment.anchorName'>
              <b:if cond='data:comment.favicon'>
                <img expr:src='data:comment.favicon' height='16px' style='margin-bottom:-2px;' width='16px'/>
              </b:if>
              <a expr:name='data:comment.anchorName'/>
              <b:if cond='data:blog.enabledCommentProfileImages'>
                <data:comment.authorAvatarImage/>
              </b:if>
              <b:if cond='data:comment.authorUrl'>
                <a expr:href='data:comment.authorUrl' rel='nofollow'><data:comment.author/></a>
              <b:else/>
                <data:comment.author/>
              </b:if>
              <data:commentPostedByMsg/>
            </dt>
            <dd class='comment-body' expr:id='data:widget.instanceId + data:comment.cmtBodyIdPostfix'>
              <b:if cond='data:comment.isDeleted'>
                <span class='deleted-comment'><data:comment.body/></span>
              <b:else/>
                <p>
                  <data:comment.body/>
                </p>
              </b:if>
            </dd>
            <dd class='comment-footer'>
              <span class='comment-timestamp'>
                <a expr:href='data:comment.url' title='comment permalink'>
                  <data:comment.timestamp/>
                </a>
                <b:include data='comment' name='commentDeleteIcon'/>
              </span>
            </dd>
          </b:loop>
        </dl>
      </div>

      <b:if cond='data:post.commentPagingRequired'>
        <span class='paging-control-container'>
          <a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'>
            <data:post.oldestLinkText/>
          </a>
          <a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'>
            <data:post.olderLinkText/>
          </a>
          &#160;
          <data:post.commentRangeText/>
          &#160;
          <a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'>
            <data:post.newerLinkText/>
          </a>
          <a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'>
            <data:post.newestLinkText/>
          </a>
        </span>
      </b:if>

      <p class='comment-footer'>
        <b:if cond='data:post.embedCommentForm'>
          <b:if cond='data:post.allowNewComments'>
            <b:include data='post' name='comment-form'/>
          <b:else/>
            <data:post.noNewCommentsText/>
          </b:if>
        <b:elseif cond='data:post.allowComments'/>
          <a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><data:postCommentMsg/></a>
        </b:if>
      </p>
    </b:if>
    <b:if cond='data:showCmtPopup'>
      <div id='comment-popup'>
        <iframe allowtransparency='true' frameborder='0' id='comment-actions' name='comment-actions' scrolling='no'>
        </iframe>
      </div>
    </b:if>

    <div id='backlinks-container'>
    <div expr:id='data:widget.instanceId + &quot;_backlinks-container&quot;'>
       <b:include cond='data:post.showBacklinks' data='post' name='backlinks'/>
    </div>
    </div>
  </div>
</b:includable>
            <b:includable id='feedLinks'>
  <b:if cond='data:blog.pageType != &quot;item&quot;'> <!-- Blog feed links -->
    <b:if cond='data:feedLinks'>
      <div class='blog-feeds'>
        <b:include data='feedLinks' name='feedLinksBody'/>
      </div>
    </b:if>

  <b:else/> <!--Post feed links -->
    <div class='post-feeds'>
      <b:loop values='data:posts' var='post'>
        <b:include cond='data:post.allowComments and data:post.feedLinks' data='post.feedLinks' name='feedLinksBody'/>
      </b:loop>
    </div>
  </b:if>
</b:includable>
            <b:includable id='feedLinksBody' var='links'>
  <div class='feed-links'>
  <data:feedLinksMsg/>
  <b:loop values='data:links' var='f'>
     <a class='feed-link' expr:href='data:f.url' expr:type='data:f.mimeType' target='_blank'><data:f.name/> (<data:f.feedType/>)</a>
  </b:loop>
  </div>
</b:includable>
            <b:includable id='iframe_comments' var='post'>
  <!-- G+ comments, no longer available. The includable is retained for backwards-compatibility. -->
</b:includable>
            <b:includable id='mobile-index-post' var='post'>
  <div class='mobile-date-outer date-outer'>
    <b:if cond='data:post.dateHeader'>
      <div class='date-header'>
        <span><data:post.dateHeader/></span>
      </div>
    </b:if>

    <div class='mobile-post-outer'>
      <a expr:href='data:post.url'>
        <h3 class='mobile-index-title entry-title' itemprop='name'>
          <data:post.title/>
        </h3>

        <div class='mobile-index-arrow'>&amp;rsaquo;</div>

        <div class='mobile-index-contents'>
          <b:if cond='data:post.thumbnailUrl'>
            <div class='mobile-index-thumbnail'>
              <div class='Image'>
                <img expr:src='data:post.thumbnailUrl'/>
              </div>
            </div>
          </b:if>

          <div class='post-body'>
            <b:if cond='data:post.snippet'><data:post.snippet/></b:if>
          </div>
        </div>

        <div style='clear: both;'/>
      </a>

      <div class='mobile-index-comment'>
        <b:include cond='data:blog.pageType != &quot;static_page&quot;                          and data:post.allowComments                          and data:post.numComments != 0' data='post' name='comment_count_picker'/>
      </div>
    </div>
  </div>
</b:includable>
            <b:includable id='mobile-main' var='top'>
    <!-- posts -->
    <div class='blog-posts hfeed'>

      <b:include data='top' name='status-message'/>

      <b:if cond='data:blog.pageType == &quot;index&quot;'>
        <b:loop values='data:posts' var='post'>
          <b:include data='post' name='mobile-index-post'/>
        </b:loop>
      <b:else/>
        <b:loop values='data:posts' var='post'>
          <b:include data='post' name='mobile-post'/>
        </b:loop>
      </b:if>
    </div>

   <b:include name='mobile-nextprev'/>
</b:includable>
            <b:includable id='mobile-nextprev'>
  <div class='blog-pager' id='blog-pager'>
    <b:if cond='data:newerPageUrl'>
      <div class='mobile-link-button' id='blog-pager-newer-link'>
      <a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-newer-link&quot;' expr:title='data:newerPageTitle'>&amp;lsaquo;</a>
      </div>
    </b:if>

    <b:if cond='data:olderPageUrl'>
      <div class='mobile-link-button' id='blog-pager-older-link'>
      <a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-older-link&quot;' expr:title='data:olderPageTitle'>&amp;rsaquo;</a>
      </div>
    </b:if>

    <div class='mobile-link-button' id='blog-pager-home-link'>
    <a class='home-link' expr:href='data:blog.homepageUrl'><data:homeMsg/></a>
    </div>

    <div class='mobile-desktop-link'>
      <a class='home-link' expr:href='data:desktopLinkUrl'><data:desktopLinkMsg/></a>
    </div>

  </div>
  <div class='clear'/>
</b:includable>
            <b:includable id='mobile-post' var='post'>
  <div class='date-outer'>
    <b:if cond='data:post.dateHeader'>
      <h2 class='date-header'><span><data:post.dateHeader/></span></h2>
    </b:if>
    <div class='date-posts'>
      <div class='post-outer'>

        <div class='post hentry uncustomized-post-template' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
          <b:if cond='data:post.thumbnailUrl'>
            <meta expr:content='data:post.thumbnailUrl' itemprop='image_url'/>
          </b:if>
          <meta expr:content='data:blog.blogId' itemprop='blogId'/>
          <meta expr:content='data:post.id' itemprop='postId'/>

          <a expr:name='data:post.id'/>
          <b:if cond='data:post.title'>
            <h3 class='post-title entry-title' itemprop='name'>
              <b:if cond='data:post.link'>
                <a expr:href='data:post.link'><data:post.title/></a>
              <b:elseif cond='data:post.url and data:blog.url != data:post.url'/>
                <a expr:href='data:post.url'><data:post.title/></a>
              <b:else/>
                <data:post.title/>
              </b:if>
            </h3>
          </b:if>

          <div class='post-header'>
            <div class='post-header-line-1'/>
          </div>

          <div class='post-body entry-content' expr:id='&quot;post-body-&quot; + data:post.id' itemprop='articleBody'>
            <data:post.body/>
            <div style='clear: both;'/> <!-- clear for photos floats -->
          </div>

          <div class='post-footer'>
            <div class='post-footer-line post-footer-line-1'>
              <span class='post-author vcard'>
                <b:if cond='data:top.showAuthor'>
                  <b:if cond='data:post.authorProfileUrl'>
                    <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
                      <meta expr:content='data:post.authorProfileUrl' itemprop='url'/>
                      <a expr:href='data:post.authorProfileUrl' rel='author' title='author profile'>
                        <span itemprop='name'><data:post.author/></span>
                      </a>
                    </span>
                  <b:else/>
                    <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
                      <span itemprop='name'><data:post.author/></span>
                    </span>
                  </b:if>
                </b:if>
              </span>

              <span class='post-timestamp'>
                <b:if cond='data:top.showTimestamp'>
                  <data:top.timestampLabel/>
                  <b:if cond='data:post.url'>
                    <meta expr:content='data:post.url.canonical' itemprop='url'/>
                    <a class='timestamp-link' expr:href='data:post.url' rel='bookmark' title='permanent link'><abbr class='published' expr:title='data:post.timestampISO8601' itemprop='datePublished'><data:post.timestamp/></abbr></a>
                  </b:if>
                </b:if>
              </span>

              <span class='post-comment-link'>
                <b:include cond='data:blog.pageType not in {&quot;item&quot;,&quot;static_page&quot;}                                  and data:post.allowComments' data='post' name='comment_count_picker'/>
              </span>
            </div>

            <div class='post-footer-line post-footer-line-2'>
              <b:if cond='data:top.showMobileShare'>
                <div class='mobile-link-button goog-inline-block' id='mobile-share-button'>
                  <a href='javascript:void(0);'><data:shareMsg/></a>
                </div>
              </b:if>
              <b:if cond='data:top.showDummy'>
                <div class='goog-inline-block dummy-container'><data:post.dummyTag/></div>
              </b:if>
            </div>

          </div>
        </div>

        <b:include cond='data:blog.pageType in {&quot;static_page&quot;,&quot;item&quot;}' data='post' name='comment_picker'/>
      </div>
    </div>
  </div>
</b:includable>
            <b:includable id='nextprev'>
  <div class='blog-pager' id='blog-pager'>
    <b:if cond='data:newerPageUrl'>
      <span id='blog-pager-newer-link'>
      <a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-newer-link&quot;' expr:title='data:newerPageTitle'><data:newerPageTitle/></a>
      </span>
    </b:if>

    <b:if cond='data:olderPageUrl'>
      <span id='blog-pager-older-link'>
      <a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-older-link&quot;' expr:title='data:olderPageTitle'><data:olderPageTitle/></a>
      </span>
    </b:if>

    <a class='home-link' expr:href='data:blog.homepageUrl'><data:homeMsg/></a>

    <b:if cond='data:mobileLinkUrl'>
      <div class='blog-mobile-link'>
        <a expr:href='data:mobileLinkUrl'><data:mobileLinkMsg/></a>
      </div>
    </b:if>

  </div>
  <div class='clear'/>
</b:includable>
            <b:includable id='post' var='post'>
  <div class='post hentry uncustomized-post-template'>
    <a expr:name='data:post.id'/>
    <b:if cond='data:post.title'>
      <h3 class='post-title entry-title'>
     <b:if cond='data:post.link'>
       <a expr:href='data:post.link'><data:post.title/></a>
     <b:else/>
        <b:if cond='data:post.url'>
          <a expr:href='data:post.url'><data:post.title/></a>
        <b:else/>
          <data:post.title/>
        </b:if>
     </b:if>
      </h3>
    </b:if>

    <div class='post-header-line-1'/>

    <div class='post-body entry-content'>
      <!--remove by me
      <data:post.body/>
      -->
      <!--add by me-->
      <b:if cond='data:blog.pageType == &quot;item&quot;'>
      <style>.fullpost{display:inline;}</style>
      <data:post.body/>
      <b:else/>
      <style>.fullpost{display:none;}</style>
      <data:post.body/>
      <a expr:href='data:post.url'>Continue Reading &#187;</a>
      </b:if>
      <!--add by me-->
      <div style='clear: both;'/> <!-- clear for photos floats -->
    </div>

    <b:if cond='data:post.hasJumpLink'>
      <div class='jump-link'>
        <a expr:href='data:post.url + &quot;#more&quot;'><data:post.jumpText/></a>
      </div>
    </b:if>

    <div class='post-footer'>
    <div class='post-footer-line post-footer-line-1'>
      <span class='post-author vcard'>
        <b:if cond='data:top.showAuthor'>
          <data:top.authorLabel/>
          <span class='fn'><data:post.author/></span>
        </b:if>
      </span>

      <span class='post-timestamp'>
        <b:if cond='data:top.showTimestamp'>
          <data:top.timestampLabel/>
        <b:if cond='data:post.url'>
          <a class='timestamp-link' expr:href='data:post.url' rel='bookmark' title='permanent link'><abbr class='published' expr:title='data:post.timestampISO8601'><data:post.timestamp/></abbr></a>
        </b:if>
        </b:if>
      </span>

      <span class='reaction-buttons'>
        <b:if cond='data:top.showReactions'>
          <table border='0' cellpadding='0' cellspacing='0' width='100%'><tr>
            <td class='reactions-label-cell' nowrap='nowrap' valign='top' width='1%'>
              <span class='reactions-label'>
              <data:top.reactionsLabel/></span>&#160;</td>
            <td><iframe allowtransparency='true' class='reactions-iframe' expr:src='data:post.reactionsUrl' frameborder='0' name='reactions' scrolling='no'/></td>
           </tr></table>
        </b:if>
      </span>

      <span class='star-ratings'>
        <b:if cond='data:top.showStars'>
           <div expr:g:background-color='data:backgroundColor' expr:g:text-color='data:textColor' expr:g:url='data:post.absoluteUrl' g:height='42' g:type='RatingPanel' g:width='280'/>
        </b:if>
      </span>

      <span class='post-comment-link'>
        <b:if cond='data:blog.pageType != &quot;item&quot;'>
          <b:if cond='data:post.allowComments'>
            <a class='comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><b:if cond='data:post.numComments == 1'>1 <data:top.commentLabel/><b:else/><data:post.numComments/> <data:top.commentLabelPlural/></b:if></a>
          </b:if>
        </b:if>
      </span>

       <!-- backlinks -->
       <span class='post-backlinks post-comment-link'>
         <b:if cond='data:blog.pageType != &quot;item&quot;'>
           <b:if cond='data:post.showBacklinks'>
             <a class='comment-link' expr:href='data:post.url + &quot;#links&quot;'><data:top.backlinkLabel/></a>
           </b:if>
         </b:if>
       </span>

      <span class='post-icons'>
        <!-- email post links -->
        <b:if cond='data:post.emailPostUrl'>
          <span class='item-action'>
          <a expr:href='data:post.emailPostUrl' expr:title='data:top.emailPostMsg'>
              <img alt='' class='icon-action' height='13' src='http://www.blogger.com/img/icon18_email.gif' width='18'/>
          </a>
          </span>
        </b:if>

        <!-- quickedit pencil -->
        <b:include data='post' name='postQuickEdit'/>
      </span>
      </div>

      <div class='post-footer-line post-footer-line-2'>
      <span class='post-labels'>
        <b:if cond='data:post.labels'>
          <data:postLabelsLabel/>
          <b:loop values='data:post.labels' var='label'>
            <a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != &quot;true&quot;'>,</b:if>
          </b:loop>
        </b:if>
      </span>
      </div>

      <div class='post-footer-line post-footer-line-3'>
      <span class='post-location'>
        <b:if cond='data:top.showLocation'>
          <b:if cond='data:post.location'>
            <data:postLocationLabel/>
            <a expr:href='data:post.location.mapsUrl' target='_blank'><data:post.location.name/></a>
          </b:if>
        </b:if>
      </span>
      </div>
    </div>
  </div>
</b:includable>
            <b:includable id='postQuickEdit' var='post'>
  <b:if cond='data:post.editUrl'>
    <span expr:class='&quot;item-control &quot; + data:post.adminClass'>
      <a expr:href='data:post.editUrl' expr:title='data:top.editPostMsg'>
        <img alt='' class='icon-action' height='18' src='https://resources.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/>
      </a>
    </span>
  </b:if>
</b:includable>
            <b:includable id='shareButtons' var='post'>
  <b:if cond='data:top.showEmailButton'><a class='goog-inline-block share-button sb-email' expr:href='data:post.sharePostUrl + &quot;&amp;target=email&quot;' expr:title='data:top.emailThisMsg' target='_blank'><span class='share-button-link-text'><data:top.emailThisMsg/></span></a></b:if><b:if cond='data:top.showBlogThisButton'><a class='goog-inline-block share-button sb-blog' expr:href='data:post.sharePostUrl + &quot;&amp;target=blog&quot;' expr:onclick='&quot;window.open(this.href, \&quot;_blank\&quot;, \&quot;height=270,width=475\&quot;); return false;&quot;' expr:title='data:top.blogThisMsg' target='_blank'><span class='share-button-link-text'><data:top.blogThisMsg/></span></a></b:if><b:if cond='data:top.showTwitterButton'><a class='goog-inline-block share-button sb-twitter' expr:href='data:post.sharePostUrl + &quot;&amp;target=twitter&quot;' expr:title='data:top.shareToTwitterMsg' target='_blank'><span class='share-button-link-text'><data:top.shareToTwitterMsg/></span></a></b:if><b:if cond='data:top.showFacebookButton'><a class='goog-inline-block share-button sb-facebook' expr:href='data:post.sharePostUrl + &quot;&amp;target=facebook&quot;' expr:onclick='&quot;window.open(this.href, \&quot;_blank\&quot;, \&quot;height=430,width=640\&quot;); return false;&quot;' expr:title='data:top.shareToFacebookMsg' target='_blank'><span class='share-button-link-text'><data:top.shareToFacebookMsg/></span></a></b:if><b:if cond='data:top.showPinterestButton'><a class='goog-inline-block share-button sb-pinterest' expr:href='data:post.sharePostUrl + &quot;&amp;target=pinterest&quot;' expr:title='data:top.shareToPinterestMsg' target='_blank'><span class='share-button-link-text'><data:top.shareToPinterestMsg/></span></a></b:if><b:if cond='data:top.showPlusOne'><div class='goog-inline-block google-plus-share-container'><data:post.googlePlusShareTag/></div></b:if>
</b:includable>
            <b:includable id='status-message'>
  <b:if cond='data:navMessage'>
  <div class='status-msg-wrap'>
    <div class='status-msg-body'>
      <data:navMessage/>
    </div>
    <div class='status-msg-border'>
      <div class='status-msg-bg'>
        <div class='status-msg-hidden'><data:navMessage/></div>
      </div>
    </div>
  </div>
  <div style='clear: both;'/>
  </b:if>
</b:includable>
            <b:includable id='threaded-comment-form' var='post'>
  <div class='comment-form'>
    <a name='comment-form'/>
    <b:if cond='data:mobile'>
      <p><data:blogCommentMessage/></p>
      <data:blogTeamBlogMessage/>
      <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
      <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' expr:height='data:cmtIframeInitialHeight' frameborder='0' id='comment-editor' name='comment-editor' src='' style='display: none' width='100%'/>
    <b:else/>
      <p><data:blogCommentMessage/></p>
      <data:blogTeamBlogMessage/>
      <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
      <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' expr:height='data:cmtIframeInitialHeight' frameborder='0' id='comment-editor' name='comment-editor' src='' width='100%'/>
    </b:if>
    <data:post.cmtfpIframe/>
    <script type='text/javascript'>
      BLOG_CMT_createIframe(&#39;<data:post.appRpcRelayPath/>&#39;);
    </script>
  </div>
</b:includable>
            <b:includable id='threaded_comment_js' var='post'>
  <script async='async' expr:src='data:post.commentSrc' type='text/javascript'/>

  <script type='text/javascript'>
    (function() {
      var items = <data:post.commentJso/>;
      var msgs = <data:post.commentMsgs/>;
      var config = <data:post.commentConfig/>;

// <![CDATA[
      var cursor = null;
      if (items && items.length > 0) {
        cursor = parseInt(items[items.length - 1].timestamp) + 1;
      }

      var bodyFromEntry = function(entry) {
        var text = (entry &&
                    ((entry.content && entry.content.$t) ||
                     (entry.summary && entry.summary.$t))) ||
            '';
        if (entry && entry.gd$extendedProperty) {
          for (var k in entry.gd$extendedProperty) {
            if (entry.gd$extendedProperty[k].name == 'blogger.contentRemoved') {
              return '<span class="deleted-comment">' + text + '</span>';
            }
          }
        }
        return text;
      }

      var parse = function(data) {
        cursor = null;
        var comments = [];
        if (data && data.feed && data.feed.entry) {
          for (var i = 0, entry; entry = data.feed.entry[i]; i++) {
            var comment = {};
            // comment ID, parsed out of the original id format
            var id = /blog-(\d+).post-(\d+)/.exec(entry.id.$t);
            comment.id = id ? id[2] : null;
            comment.body = bodyFromEntry(entry);
            comment.timestamp = Date.parse(entry.published.$t) + '';
            if (entry.author && entry.author.constructor === Array) {
              var auth = entry.author[0];
              if (auth) {
                comment.author = {
                  name: (auth.name ? auth.name.$t : undefined),
                  profileUrl: (auth.uri ? auth.uri.$t : undefined),
                  avatarUrl: (auth.gd$image ? auth.gd$image.src : undefined)
                };
              }
            }
            if (entry.link) {
              if (entry.link[2]) {
                comment.link = comment.permalink = entry.link[2].href;
              }
              if (entry.link[3]) {
                var pid = /.*comments\/default\/(\d+)\?.*/.exec(entry.link[3].href);
                if (pid && pid[1]) {
                  comment.parentId = pid[1];
                }
              }
            }
            comment.deleteclass = 'item-control blog-admin';
            if (entry.gd$extendedProperty) {
              for (var k in entry.gd$extendedProperty) {
                if (entry.gd$extendedProperty[k].name == 'blogger.itemClass') {
                  comment.deleteclass += ' ' + entry.gd$extendedProperty[k].value;
                } else if (entry.gd$extendedProperty[k].name == 'blogger.displayTime') {
                  comment.displayTime = entry.gd$extendedProperty[k].value;
                }
              }
            }
            comments.push(comment);
          }
        }
        return comments;
      };

      var paginator = function(callback) {
        if (hasMore()) {
          var url = config.feed + '?alt=json&v=2&orderby=published&reverse=false&max-results=50';
          if (cursor) {
            url += '&published-min=' + new Date(cursor).toISOString();
          }
          window.bloggercomments = function(data) {
            var parsed = parse(data);
            cursor = parsed.length < 50 ? null
                : parseInt(parsed[parsed.length - 1].timestamp) + 1
            callback(parsed);
            window.bloggercomments = null;
          }
          url += '&callback=bloggercomments';
          var script = document.createElement('script');
          script.type = 'text/javascript';
          script.src = url;
          document.getElementsByTagName('head')[0].appendChild(script);
        }
      };
      var hasMore = function() {
        return !!cursor;
      };
      var getMeta = function(key, comment) {
        if ('iswriter' == key) {
          var matches = !!comment.author
              && comment.author.name == config.authorName
              && comment.author.profileUrl == config.authorUrl;
          return matches ? 'true' : '';
        } else if ('deletelink' == key) {
          return config.baseUri + '/delete-comment.g?blogID='
               + config.blogId + '&postID=' + comment.id;
        } else if ('deleteclass' == key) {
          return comment.deleteclass;
        }
        return '';
      };

      var replybox = null;
      var replyUrlParts = null;
      var replyParent = undefined;

      var onReply = function(commentId, domId) {
        if (replybox == null) {
          // lazily cache replybox, and adjust to suit this style:
          replybox = document.getElementById('comment-editor');
          if (replybox != null) {
            replybox.height = '250px';
            replybox.style.display = 'block';
            replyUrlParts = replybox.src.split('#');
          }
        }
        if (replybox && (commentId !== replyParent)) {
          replybox.src = '';
          document.getElementById(domId).insertBefore(replybox, null);
          replybox.src = replyUrlParts[0]
              + (commentId ? '&parentID=' + commentId : '')
              + '#' + replyUrlParts[1];
          replyParent = commentId;
        }
      };

      var hash = (window.location.hash || '#').substring(1);
      var startThread, targetComment;
      if (/^comment-form_/.test(hash)) {
        startThread = hash.substring('comment-form_'.length);
      } else if (/^c[0-9]+$/.test(hash)) {
        targetComment = hash.substring(1);
      }

      // Configure commenting API:
      var configJso = {
        'maxDepth': config.maxThreadDepth
      };
      var provider = {
        'id': config.postId,
        'data': items,
        'loadNext': paginator,
        'hasMore': hasMore,
        'getMeta': getMeta,
        'onReply': onReply,
        'rendered': true,
        'initComment': targetComment,
        'initReplyThread': startThread,
        'config': configJso,
        'messages': msgs
      };

      var render = function() {
        if (window.goog && window.goog.comments) {
          var holder = document.getElementById('comment-holder');
          window.goog.comments.render(holder, provider);
        }
      };

      // render now, or queue to render when library loads:
      if (window.goog && window.goog.comments) {
        render();
      } else {
        window.goog = window.goog || {};
        window.goog.comments = window.goog.comments || {};
        window.goog.comments.loadQueue = window.goog.comments.loadQueue || [];
        window.goog.comments.loadQueue.push(render);
      }
    })();
// ]]>
  </script>
</b:includable>
            <b:includable id='threaded_comments' var='post'>
  <div class='comments' id='comments'>
    <a name='comments'/>
    <h4><data:post.commentLabelFull/>:</h4>

    <div class='comments-content'>
      <b:include cond='data:post.embedCommentForm' data='post' name='threaded_comment_js'/>
      <div id='comment-holder'>
         <data:post.commentHtml/>
      </div>
    </div>

    <p class='comment-footer'>
      <b:if cond='data:post.allowNewComments'>
        <b:include data='post' name='threaded-comment-form'/>
      <b:else/>
        <data:post.noNewCommentsText/>
      </b:if>
    </p>

    <b:if cond='data:showCmtPopup'>
      <div id='comment-popup'>
        <iframe allowtransparency='true' frameborder='0' id='comment-actions' name='comment-actions' scrolling='no'>
        </iframe>
      </div>
    </b:if>

    <div id='backlinks-container'>
    <div expr:id='data:widget.instanceId + &quot;_backlinks-container&quot;'>
      <b:include cond='data:post.showBacklinks' data='post' name='backlinks'/>
    </div>
    </div>
  </div>
</b:includable>
          </b:widget>
          <b:widget id='BlogArchive1' locked='false' title='Blog Archive' type='BlogArchive'>
            <b:widget-settings>
              <b:widget-setting name='showStyle'>HIERARCHY</b:widget-setting>
              <b:widget-setting name='yearPattern'>yyyy</b:widget-setting>
              <b:widget-setting name='showWeekEnd'>true</b:widget-setting>
              <b:widget-setting name='monthPattern'>MMMM</b:widget-setting>
              <b:widget-setting name='dayPattern'>MMM dd</b:widget-setting>
              <b:widget-setting name='weekPattern'>MM/dd</b:widget-setting>
              <b:widget-setting name='chronological'>false</b:widget-setting>
              <b:widget-setting name='showPosts'>true</b:widget-setting>
              <b:widget-setting name='frequency'>MONTHLY</b:widget-setting>
            </b:widget-settings>
            <b:includable id='main'>
  <b:if cond='data:title != &quot;&quot;'>
    <h2><data:title/></h2>
  </b:if>
  <div class='widget-content'>
  <div id='ArchiveList'>
  <div expr:id='data:widget.instanceId + &quot;_ArchiveList&quot;'>
    <b:include cond='data:style == &quot;HIERARCHY&quot;' data='data' name='interval'/>
    <b:include cond='data:style == &quot;FLAT&quot;' data='data' name='flat'/>
    <b:include cond='data:style == &quot;MENU&quot;' data='data' name='menu'/>
  </div>
  </div>
  <b:include name='quickedit'/>
  </div>
</b:includable>
            <b:includable id='flat' var='data'>
  <ul class='flat'>
    <b:loop values='data:data' var='i'>
      <li class='archivedate'>
        <a expr:href='data:i.url'><data:i.name/></a> (<data:i.post-count/>)
      </li>
    </b:loop>
  </ul>
</b:includable>
            <b:includable id='interval' var='intervalData'>
  <b:loop values='data:intervalData' var='interval'>
    <ul class='hierarchy'>
      <li expr:class='&quot;archivedate &quot; + data:interval.expclass'>
        <b:include cond='data:interval.toggleId' data='interval' name='toggle'/>
        <a class='post-count-link' expr:href='data:interval.url'>
          <data:interval.name/>
        </a>
        <span class='post-count' dir='ltr'>(<data:interval.post-count/>)</span>
        <b:include cond='data:interval.data' data='interval.data' name='interval'/>
        <b:include cond='data:interval.posts' data='interval.posts' name='posts'/>
      </li>
    </ul>
  </b:loop>
</b:includable>
            <b:includable id='menu' var='data'>
  <select expr:id='data:widget.instanceId + &quot;_ArchiveMenu&quot;'>
    <option value=''><data:title/></option>
    <b:loop values='data:data' var='i'>
      <option expr:value='data:i.url'><data:i.name/> (<data:i.post-count/>)</option>
    </b:loop>
  </select>
</b:includable>
            <b:includable id='posts' var='posts'>
  <ul class='posts'>
    <b:loop values='data:posts' var='post'>
      <li><a expr:href='data:post.url'><data:post.title/></a></li>
    </b:loop>
  </ul>
</b:includable>
            <b:includable id='toggle' var='interval'>
  <a class='toggle' href='javascript:void(0)'>
    <span expr:class='&quot;zippy&quot; + (data:interval.expclass == &quot;expanded&quot; ? &quot; toggle-open&quot; : &quot;&quot;)'>
      <b:if cond='data:interval.expclass == &quot;expanded&quot;'>
        &#9660;&#160;
      <b:elseif cond='data:blog.languageDirection == &quot;rtl&quot;'/>
        &#9668;&#160;
      <b:else/>
        &#9658;&#160;
      </b:if>
    </span>
  </a>
</b:includable>
          </b:widget>
        </b:section>
      </div>

      <div id='sidebar-wrapper'>
        <b:section class='sidebar' id='sidebar' preferred='yes'>
          <b:widget id='Followers1' locked='false' title='Followers' type='Followers'>
            <b:widget-settings>
              <b:widget-setting name='borderColorTransparent'>true</b:widget-setting>
              <b:widget-setting name='useTemplateDefaultStyles'>true</b:widget-setting>
              <b:widget-setting name='contentSecondaryTextColor'>#000000</b:widget-setting>
              <b:widget-setting name='contentHeadlineColor'>#000000</b:widget-setting>
              <b:widget-setting name='endcapTextColor'>#204063</b:widget-setting>
              <b:widget-setting name='contentTextColor'>#204063</b:widget-setting>
              <b:widget-setting name='contentSecondaryLinkColor'>#599be2</b:widget-setting>
              <b:widget-setting name='endcapLinkColor'>#599be2</b:widget-setting>
              <b:widget-setting name='contentLinkColor'>#599be2</b:widget-setting>
            </b:widget-settings>
            <b:includable id='main'>
  <b:if cond='data:title != &quot;&quot; and data:codeSnippet != &quot;&quot;'>
    <h2 class='title'><data:title/></h2>
  </b:if>
  <div class='widget-content'>
    <div expr:id='data:widget.instanceId + &quot;-wrapper&quot;'>
      <b:if cond='data:codeSnippet != &quot;&quot;'>
        <div style='margin-right:2px;'>
          <data:codeSnippet/>
        </div>
      </b:if>
    </div>
    <b:include name='quickedit'/>
  </div>
</b:includable>
          </b:widget>
          <b:widget id='HTML3' locked='false' title='' type='HTML'>
            <b:widget-settings>
              <b:widget-setting name='content'>&lt;form action=&quot;http://www.google.com/search&quot; target=&quot;_&quot; method=&quot;get&quot;&gt;
&lt;input maxlength=&quot;255&quot; value=&quot;&quot; name=&quot;q&quot; size=&quot;31&quot; type=&quot;text&quot;/&gt;
&lt;input value=&quot;&quot; name=&quot;sitesearch&quot; type=&quot;radio&quot;/&gt; The Web&lt;input checked value=&quot;cyberjedizen.blogspot.com&quot; name=&quot;sitesearch&quot; type=&quot;radio&quot;/&gt; Cyber Jedi&lt;br/&gt;
&lt;input value=&quot;Google Search&quot; type=&quot;submit&quot;/&gt;
&lt;/form&gt;</b:widget-setting>
            </b:widget-settings>
            <b:includable id='main'>
  <!-- only display title if it's non-empty -->
  <b:if cond='data:title != &quot;&quot;'>
    <h2 class='title'><data:title/></h2>
  </b:if>
  <div class='widget-content'>
    <data:content/>
  </div>

  <b:include name='quickedit'/>
</b:includable>
          </b:widget>
          <b:widget id='HTML2' locked='false' title='' type='HTML'>
            <b:includable id='main'>
  <!-- only display title if it's non-empty -->
  <b:if cond='data:title != &quot;&quot;'>
    <h2 class='title'><data:title/></h2>
  </b:if>
  <div class='widget-content'>
    <data:content/>
  </div>

  <b:include name='quickedit'/>
</b:includable>
          </b:widget>
          <b:widget id='Label2' locked='false' title='Labels' type='Label'>
            <b:widget-settings>
              <b:widget-setting name='sorting'>FREQUENCY</b:widget-setting>
              <b:widget-setting name='display'>LIST</b:widget-setting>
              <b:widget-setting name='selectedLabelsList'/>
              <b:widget-setting name='showType'>ALL</b:widget-setting>
              <b:widget-setting name='showFreqNumbers'>true</b:widget-setting>
            </b:widget-settings>
            <b:includable id='main'>
  <b:if cond='data:title != &quot;&quot;'>
    <h2><data:title/></h2>
  </b:if>
  <div expr:class='&quot;widget-content &quot; + data:display + &quot;-label-widget-content&quot;'>
    <b:if cond='data:display == &quot;list&quot;'>
      <ul>
        <b:loop values='data:labels' var='label'>
          <li>
            <b:if cond='data:blog.url == data:label.url'>
              <span expr:dir='data:blog.languageDirection'><data:label.name/></span>
            <b:else/>
              <a expr:dir='data:blog.languageDirection' expr:href='data:label.url'><data:label.name/></a>
            </b:if>
            <b:if cond='data:showFreqNumbers'>
              <span dir='ltr'>(<data:label.count/>)</span>
            </b:if>
          </li>
        </b:loop>
      </ul>
    <b:else/>
      <b:loop values='data:labels' var='label'>
        <span expr:class='&quot;label-size label-size-&quot; + data:label.cssSize'>
          <b:if cond='data:blog.url == data:label.url'>
            <span expr:dir='data:blog.languageDirection'><data:label.name/></span>
          <b:else/>
            <a expr:dir='data:blog.languageDirection' expr:href='data:label.url'><data:label.name/></a>
          </b:if>
          <b:if cond='data:showFreqNumbers'>
            <span class='label-count' dir='ltr'>(<data:label.count/>)</span>
          </b:if>
        </span>
      </b:loop>
    </b:if>
    <b:include name='quickedit'/>
  </div>
</b:includable>
          </b:widget>
          <b:widget id='BlogList1' locked='false' title='My Blog List' type='BlogList'>
            <b:widget-settings>
              <b:widget-setting name='showItemThumbnail'>false</b:widget-setting>
              <b:widget-setting name='sortType'>LAST_UPDATE_DESCENDING</b:widget-setting>
              <b:widget-setting name='numItemsToShow'>0</b:widget-setting>
              <b:widget-setting name='showTimePeriodSinceLastUpdate'>true</b:widget-setting>
              <b:widget-setting name='showIcon'>true</b:widget-setting>
              <b:widget-setting name='showItemTitle'>true</b:widget-setting>
              <b:widget-setting name='showItemSnippet'>false</b:widget-setting>
            </b:widget-settings>
            <b:includable id='main'>
    <!-- only display title if it's non-empty -->
    <b:if cond='data:title != &quot;&quot;'>
      <h2 class='title'><data:title/></h2>
    </b:if>

    <div class='widget-content'>
      <div class='blog-list-container' expr:id='data:widget.instanceId + &quot;_container&quot;'>
        <ul expr:id='data:widget.instanceId + &quot;_blogs&quot;'>
          <b:loop values='data:items' var='item'>
            <li expr:style='data:item.displayStyle'>
              <div class='blog-icon'>
                <b:if cond='data:showIcon'>
                  <img expr:data-lateloadsrc='data:item.blogIconUrl' height='16' width='16'/>
                </b:if>
              </div>
              <div class='blog-content'>
                <div class='blog-title'>
                  <a expr:href='data:item.blogUrl' target='_blank'>
                    <data:item.blogTitle/></a>
                </div>
                <div class='item-content'>
                  <b:if cond='data:showItemThumbnail and data:item.itemThumbnail'>
                    <div class='item-thumbnail'>
                      <a expr:href='data:item.blogUrl' target='_blank'>
                        <img alt='' border='0' expr:height='data:item.itemThumbnail.height' expr:src='data:item.itemThumbnail.url' expr:width='data:item.itemThumbnail.width'/>
                      </a>
                    </div>
                  </b:if>
                  <b:if cond='data:showItemTitle'>
                    <span class='item-title'>
                      <b:tag cond='data:item.itemUrl != &quot;&quot;' expr:href='data:item.itemUrl' name='a' target='_blank'>
                        <data:item.itemTitle/>
                      </b:tag>
                    </span>
                  </b:if>
                  <b:if cond='data:showItemSnippet'>
                    <b:if cond='data:showItemTitle'>
                      -
                    </b:if>
                    <span class='item-snippet'>
                      <data:item.itemSnippet/>
                    </span>
                  </b:if>
                  <b:if cond='data:showTimePeriodSinceLastUpdate'>
                    <div class='item-time'>
                      <data:item.timePeriodSinceLastUpdate/>
                    </div>
                  </b:if>
                </div>
              </div>
              <div style='clear: both;'/>
            </li>
          </b:loop>
        </ul>

        <b:if cond='data:numItemsToShow != 0 and data:totalItems &gt; data:numItemsToShow'>
          <div class='show-option'>
            <span expr:id='data:widget.instanceId + &quot;_show-n&quot;' style='display: none;'>
              <a href='javascript:void(0)' onclick='return false;'>
                <data:showNText/>
              </a>
            </span>
            <span expr:id='data:widget.instanceId + &quot;_show-all&quot;' style='margin-left: 5px;'>
              <a href='javascript:void(0)' onclick='return false;'>
                <data:showAllText/>
              </a>
            </span>
          </div>
        </b:if>

        <b:include name='quickedit'/>
      </div>
    </div>
  </b:includable>
          </b:widget>
        </b:section>
      </div>

      <!-- spacer for skins that want sidebar and main to be the same height-->
      <div class='clear'>&#160;</div>

    </div> <!-- end content-wrapper -->

    <div id='footer-wrapper'>
      <b:section class='footer' id='footer'/>
    </div>

  </div></div> <!-- end outer-wrapper -->

<!--for google track-->
<script type='text/javascript'>
var gaJsHost = ((&quot;https:&quot; == document.location.protocol) ? &quot;https://ssl.&quot; : &quot;http://www.&quot;);
document.write(unescape(&quot;%3Cscript src=&#39;&quot; + gaJsHost + &quot;google-analytics.com/ga.js&#39; type=&#39;text/javascript&#39;%3E%3C/script%3E&quot;));
</script>
<script type='text/javascript'>
try {
var pageTracker = _gat._getTracker(&quot;UA-8761689-2&quot;);
pageTracker._trackPageview();
} catch(err) {}</script>
</body>
</html>

Tuesday, May 12, 2020

upgrade slow old tower pc

Nowadays pc market is dominant by mobile devices such as laptop and smartphones. Those old tower pc appears to be slow down. Don't throw them away, these tower pc has plenty of room to upgrade. First of all, let's analyze the bottleneck. In windows Cntr + Alt + Delete will brings up the task manager, where you can see which hardware or service need to upgrade.

If your memory is 100% busy all the time, you need a better memory.

If the disk is 100% busy all the time, your processes have used all the disk read/write bandwidth. Before you get a faster hard disk, try to get rid of the applications that use lots of disk I/O, scan virus, run disk check/fix tool. Sometimes, the memory is the true bottleneck, but your operation system may use hard drive to cache data to save memory. As a result, most of the time is waiting for disk I/O instead of waiting for memory. So use judgement here. Change disk may not help, you may want to add memory instead. However, change disk will help if the software is the problem. After reinstalling operation system, anti-virus, needed softwares via the correct channel, the system start new and clean, the software related bottleneck should be fixed.

If the network is 100% busy, you need a better network card or better internet service. Again, google "network speed", choose a website to have your actual network upload/download speed tested before buying anything.

Well, if the cpu is almost 100% busy, you have to get a solder in order to change the cpu from the mother board, doable but may not worth the hassle, it is outside the scope of this post.

Once we know the bottleneck hardware, we need to buy the replacement. For example, to find the hard disk model number. Simply click on Start and type “msinfo32” in the search bar. Once you've hit Enter, the System Information window will open. Click on Components in order to expand the list, then select Storage, and click on Disks in the expanded Storage menu. You will see your hard drive's specifications, among them the model number.

The next task is to search in amazon, ebay, craglist, newegg, google, etc. to buy the matching hardware.

Once the hardware arrives, you need to shut down the computer, unplug the power, open the case with a screw driver. Take a picture of the wires before you start, so that you can plug them back to the right place once you are done. Find the hardware looks like what you just bought, take a picture, before you loosen the screws, pop out the thing, unplug the cables, so that you know how to put them back once you swap the thing you want to change. The process usually took less than half an hour.

After you plug things back, including the power cord, you press the reset button, then should hear beep when the computer start, and primitive texts showing on the monitor screen. If nothing showing on the monitor screen, check the monitor cables.

If you are replacing hard disk, get your original operating system CD ready. Occasionally, when installing windows 7, we will get blue screen of death "Stop Error c000021a", it can be fixed with the following steps:

  • press reset button on the computer
  • after restart press and hold F8 key
  • In the advanced boot options, select last known good configurations (advanced)
  • hit enter
Once windows 7 is installed, we can upgrade to windows 10.







How to create a new file in shell script with cat EOF

demo>cat test.sh
#!/bin/bash
rm -f temp_config

cat > temp_config <<-EOF
sfdfadfadfadf
dfadfadfad
[xxxx]
xfdfdf
EOF

cat temp_config
ls -lrt temp_config
demo>
demo>./test.sh
sfdfadfadfadf
dfadfadfad
[xxxx]
xfdfdf
-rw-r--r--  1 homenetwork  staff  39 May 12 14:52 temp_config
demo>

Friday, May 8, 2020

Application performance management (APM) tools

APM tools in a nut shell is to expose the machine internals to human to analyze.
There are two sides of the story:
we want as much information as possible, so the tools need to cover many layers of abstraction.
we want information instead of machine 1s and 0s, so the presentation is important.

At system level, we need to know the user experience, the overall performance matrix such as over all response time, throughput, binding rate, cache rate, error rate etc. We want to group them by ip ranges, endpoints, service groups, products etc. The Network Operation Center needs to get alerts for emergency events. We want to make inventory for host clusters, build network topology graph, build service dependency map, so that we can write report, locate hotspots, detect bottlenecks etc. Many tools work at this layer, for example, new relic, SFx, consul, istio, splunk.

At service level, we would like to get information about host system metrics: cpu, memory, process, http transactions, throughput, request rate, request latency, request latency distribution, error rates, JVMs, databases etc. Most API tools cover this layer, however some APM tools only focus on this layer, for example zabbix.

At application level, we concern about things like thread pool, database connection pool, transactions (GET/PUT...), application exception, error, warning, info, trace, business matrix for example sell amount, customer retention rate, customer inquiry times. Example APM tools working on this layer include splunk, new relic, SFx, kafka, tableau.


Wednesday, May 6, 2020

Embeded tomcat

How to check the embeded tomcat version.

java -cp {path to tomcat/lib/}/catalina.jar org.apache.catalina.util.ServerInfo

How to start/stop tomcat on red-hat linux.
sudo systemctl start tomcat
sudo systemctl stop tomcat
sudo systemctl status tomcat




Tuesday, March 26, 2019

2 shortcuts that saves time

In finder window, the following shortcut will allow you to go to a directory by typing a path
command + shift + g

In eclipse, the following shortcut will allow you to search a class's methods by typing the name
command + o





MarketAxess

MarketAxess: The Leader in e-Trading for Global Fixed Income MarketAxess Holdings Inc. (MarketAxess) is an international financial technol...