Current File : //usr/share/lib/java/javadoc/dtrace/api/org/opensolaris/os/dtrace/Distribution.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Distribution</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Distribution";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":6,"i7":10,"i8":10,"i9":10,"i10":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../org/opensolaris/os/dtrace/package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Distribution.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/opensolaris/os/dtrace/DataEvent.html" title="class in org.opensolaris.os.dtrace"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/opensolaris/os/dtrace/Distribution.Bucket.html" title="class in org.opensolaris.os.dtrace"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/opensolaris/os/dtrace/Distribution.html" target="_top">Frames</a></li>
<li><a href="Distribution.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.opensolaris.os.dtrace</div>
<h2 title="Class Distribution" class="title">Class Distribution</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.opensolaris.os.dtrace.Distribution</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Serializable, java.lang.Iterable&lt;<a href="../../../../org/opensolaris/os/dtrace/Distribution.Bucket.html" title="class in org.opensolaris.os.dtrace">Distribution.Bucket</a>&gt;, <a href="../../../../org/opensolaris/os/dtrace/AggregationValue.html" title="interface in org.opensolaris.os.dtrace">AggregationValue</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/LinearDistribution.html" title="class in org.opensolaris.os.dtrace">LinearDistribution</a>, <a href="../../../../org/opensolaris/os/dtrace/LogDistribution.html" title="class in org.opensolaris.os.dtrace">LogDistribution</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">Distribution</span>
extends java.lang.Object
implements <a href="../../../../org/opensolaris/os/dtrace/AggregationValue.html" title="interface in org.opensolaris.os.dtrace">AggregationValue</a>, java.lang.Iterable&lt;<a href="../../../../org/opensolaris/os/dtrace/Distribution.Bucket.html" title="class in org.opensolaris.os.dtrace">Distribution.Bucket</a>&gt;, java.io.Serializable</pre>
<div class="block">A frequency distribution aggregated by the DTrace <code>quantize()</code>
 or <code>lquantize()</code> action.  Each aggregated value falls into a
 range known as a bucket and counts toward the frequency of that
 bucket.  Bucket ranges are consecutive, with the maximum of one
 bucket's range always one less than the minimum of the next bucket's
 range.  By convention each bucket is identified by the minimum of its
 range.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../serialized-form.html#org.opensolaris.os.dtrace.Distribution">Serialized Form</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Distribution.Bucket.html" title="class in org.opensolaris.os.dtrace">Distribution.Bucket</a></span></code>
<div class="block">A range inclusive at both endpoints and a count of aggregated
 values that fall in that range.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../../../org/opensolaris/os/dtrace/Distribution.Bucket.html" title="class in org.opensolaris.os.dtrace">Distribution.Bucket</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Distribution.html#asList--">asList</a></span>()</code>
<div class="block">Gets a read-only <code>List</code> view of this distribution.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Distribution.html#equals-java.lang.Object-">equals</a></span>(java.lang.Object&nbsp;o)</code>
<div class="block">Compares the specified object with this <code>Distribution</code>
 instance for equality.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../org/opensolaris/os/dtrace/Distribution.Bucket.html" title="class in org.opensolaris.os.dtrace">Distribution.Bucket</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Distribution.html#get-int-">get</a></span>(int&nbsp;index)</code>
<div class="block">Gets the bucket at the given distribution index (starting at
 zero).</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../../../org/opensolaris/os/dtrace/Distribution.Bucket.html" title="class in org.opensolaris.os.dtrace">Distribution.Bucket</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Distribution.html#getBuckets--">getBuckets</a></span>()</code>
<div class="block">Gets a modifiable list of this distribution's buckets ordered by
 bucket range.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../../../org/opensolaris/os/dtrace/Distribution.Bucket.html" title="class in org.opensolaris.os.dtrace">Distribution.Bucket</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Distribution.html#getDisplayRange--">getDisplayRange</a></span>()</code>
<div class="block">Gets a list of buckets of interest by excluding empty buckets at
 both ends of the distribution.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Distribution.html#getTotal--">getTotal</a></span>()</code>
<div class="block">Gets the total frequency across all buckets.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>abstract java.lang.Number</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Distribution.html#getValue--">getValue</a></span>()</code>
<div class="block">Gets the numeric value of this distribution used to compare
 distributions by overall magnitude, defined as the sum total of
 each bucket's frequency times the minimum of its range.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Distribution.html#hashCode--">hashCode</a></span>()</code>
<div class="block">Overridden to ensure that equals instances have equal hash codes.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>java.util.Iterator&lt;<a href="../../../../org/opensolaris/os/dtrace/Distribution.Bucket.html" title="class in org.opensolaris.os.dtrace">Distribution.Bucket</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Distribution.html#iterator--">iterator</a></span>()</code>
<div class="block">Gets an iterator over the buckets of this distribution.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Distribution.html#size--">size</a></span>()</code>
<div class="block">Gets the number of buckets in this distribution.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Distribution.html#toString--">toString</a></span>()</code>
<div class="block">Gets a string representation of this <code>Distribution</code> useful
 for logging and not intended for display.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, finalize, getClass, notify, notifyAll, wait, wait, wait</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Iterable">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;java.lang.Iterable</h3>
<code>forEach, spliterator</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getBuckets--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBuckets</h4>
<pre>public&nbsp;java.util.List&lt;<a href="../../../../org/opensolaris/os/dtrace/Distribution.Bucket.html" title="class in org.opensolaris.os.dtrace">Distribution.Bucket</a>&gt;&nbsp;getBuckets()</pre>
<div class="block">Gets a modifiable list of this distribution's buckets ordered by
 bucket range.  Modifying the returned list has no effect on this
 distribution.  Supports XML persistence.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a modifiable list of this distribution's buckets ordered
 by bucket range</dd>
</dl>
</li>
</ul>
<a name="asList--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>asList</h4>
<pre>public&nbsp;java.util.List&lt;<a href="../../../../org/opensolaris/os/dtrace/Distribution.Bucket.html" title="class in org.opensolaris.os.dtrace">Distribution.Bucket</a>&gt;&nbsp;asList()</pre>
<div class="block">Gets a read-only <code>List</code> view of this distribution.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a read-only <code>List</code> view of this distribution</dd>
</dl>
</li>
</ul>
<a name="size--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>size</h4>
<pre>public&nbsp;int&nbsp;size()</pre>
<div class="block">Gets the number of buckets in this distribution.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>non-negative bucket count</dd>
</dl>
</li>
</ul>
<a name="get-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre>public&nbsp;<a href="../../../../org/opensolaris/os/dtrace/Distribution.Bucket.html" title="class in org.opensolaris.os.dtrace">Distribution.Bucket</a>&nbsp;get(int&nbsp;index)</pre>
<div class="block">Gets the bucket at the given distribution index (starting at
 zero).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>non-null distribution bucket at the given zero-based
 index</dd>
</dl>
</li>
</ul>
<a name="iterator--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>iterator</h4>
<pre>public&nbsp;java.util.Iterator&lt;<a href="../../../../org/opensolaris/os/dtrace/Distribution.Bucket.html" title="class in org.opensolaris.os.dtrace">Distribution.Bucket</a>&gt;&nbsp;iterator()</pre>
<div class="block">Gets an iterator over the buckets of this distribution.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>iterator</code>&nbsp;in interface&nbsp;<code>java.lang.Iterable&lt;<a href="../../../../org/opensolaris/os/dtrace/Distribution.Bucket.html" title="class in org.opensolaris.os.dtrace">Distribution.Bucket</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an iterator over the buckets of this distribution</dd>
</dl>
</li>
</ul>
<a name="equals-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre>public&nbsp;boolean&nbsp;equals(java.lang.Object&nbsp;o)</pre>
<div class="block">Compares the specified object with this <code>Distribution</code>
 instance for equality.  Defines equality as having the same
 buckets with the same values.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>equals</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if and only if the specified object is of
 type <code>Distribution</code> and both instances have the same size
 and equal buckets at corresponding distribution indexes</dd>
</dl>
</li>
</ul>
<a name="hashCode--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
<pre>public&nbsp;int&nbsp;hashCode()</pre>
<div class="block">Overridden to ensure that equals instances have equal hash codes.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>hashCode</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
</dl>
</li>
</ul>
<a name="getTotal--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTotal</h4>
<pre>public&nbsp;double&nbsp;getTotal()</pre>
<div class="block">Gets the total frequency across all buckets.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>sum of the frequency of all buckets in this distribution</dd>
</dl>
</li>
</ul>
<a name="getValue--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValue</h4>
<pre>public abstract&nbsp;java.lang.Number&nbsp;getValue()</pre>
<div class="block">Gets the numeric value of this distribution used to compare
 distributions by overall magnitude, defined as the sum total of
 each bucket's frequency times the minimum of its range.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/opensolaris/os/dtrace/AggregationValue.html#getValue--">getValue</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/opensolaris/os/dtrace/AggregationValue.html" title="interface in org.opensolaris.os.dtrace">AggregationValue</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>non-null numeric value</dd>
</dl>
</li>
</ul>
<a name="getDisplayRange--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDisplayRange</h4>
<pre>public&nbsp;java.util.List&lt;<a href="../../../../org/opensolaris/os/dtrace/Distribution.Bucket.html" title="class in org.opensolaris.os.dtrace">Distribution.Bucket</a>&gt;&nbsp;getDisplayRange()</pre>
<div class="block">Gets a list of buckets of interest by excluding empty buckets at
 both ends of the distribution.  Leaves one empty bucket on each
 end if possible to convey the distribution context more
 effectively in a display.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an unmodifiable sublist that includes the range starting
 from the first bucket with a non-zero frequency and ending with
 the last bucket with a non-zero frequency, plus one empty bucket
 before and after that range if possible</dd>
</dl>
</li>
</ul>
<a name="toString--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
<div class="block">Gets a string representation of this <code>Distribution</code> useful
 for logging and not intended for display.  The exact details of
 the representation are unspecified and subject to change, but the
 following format may be regarded as typical:
 <pre><code>
 class-name[property1 = value1, property2 = value2]
 </code></pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../org/opensolaris/os/dtrace/package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Distribution.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/opensolaris/os/dtrace/DataEvent.html" title="class in org.opensolaris.os.dtrace"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/opensolaris/os/dtrace/Distribution.Bucket.html" title="class in org.opensolaris.os.dtrace"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/opensolaris/os/dtrace/Distribution.html" target="_top">Frames</a></li>
<li><a href="Distribution.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>