anchor.diff:  --%>
   <%@page import="java.net.URLEncoder"%>
   <%@ page contentType="text/html;charset=UTF-8"
  -  import="static org.apache.commons.lang3.StringEscapeUtils.escapeXml"
  -  import="java.util.ArrayList"
  -  import="java.util.Collection"
  -  import="java.util.LinkedHashMap"
  -  import="java.util.List"
  -  import="java.util.Map"
  -  import="java.util.TreeMap"
  -  import=" java.util.concurrent.TimeUnit"
  -  import="org.apache.commons.lang3.StringEscapeUtils"
  -  import="org.apache.hadoop.conf.Configuration"
  -  import="org.apache.hadoop.hbase.HColumnDescriptor"
  -  import="org.apache.hadoop.hbase.HConstants"
  -  import="org.apache.hadoop.hbase.HRegionLocation"
  -  import="org.apache.hadoop.hbase.ServerName"
  -  import="org.apache.hadoop.hbase.TableName"
  -  import="org.apache.hadoop.hbase.TableNotFoundException"
  -  import="org.apache.hadoop.hbase.client.AsyncAdmin"
  -  import="org.apache.hadoop.hbase.client.AsyncConnection"
  -  import="org.apache.hadoop.hbase.client.CompactionState"
  -  import="org.apache.hadoop.hbase.client.ConnectionFactory"
  -  import="org.apache.hadoop.hbase.client.RegionInfo"
  -  import="org.apache.hadoop.hbase.client.RegionInfoBuilder"
  -  import="org.apache.hadoop.hbase.client.RegionLocator"
  -  import="org.apache.hadoop.hbase.client.RegionReplicaUtil"
  -  import="org.apache.hadoop.hbase.client.Table"
  -  import="org.apache.hadoop.hbase.master.HMaster"
  -  import="org.apache.hadoop.hbase.quotas.QuotaSettingsFactory"
  -  import="org.apache.hadoop.hbase.quotas.QuotaTableUtil"
  -  import="org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot"
  -  import="org.apache.hadoop.hbase.quotas.ThrottleSettings"
  -  import="org.apache.hadoop.hbase.util.Bytes"
  -  import="org.apache.hadoop.hbase.util.FSUtils"
  -  import="org.apache.hadoop.hbase.zookeeper.MetaTableLocator"
  -  import="org.apache.hadoop.util.StringUtils"
  -  import="org.apache.hbase.thirdparty.com.google.protobuf.ByteString"%>
  +         import="static org.apache.commons.lang3.StringEscapeUtils.escapeXml"
  +         import="java.util.ArrayList"
  +         import="java.util.Collection"
  +         import="java.util.HashMap"
  +         import="java.util.LinkedHashMap"
  +         import="java.util.List"
  +         import="java.util.Map"
  +         import="java.util.TreeMap"
  +         import=" java.util.concurrent.TimeUnit"
  +         import="org.apache.commons.lang3.StringEscapeUtils"
  +         import="org.apache.hadoop.conf.Configuration"
  +         import="org.apache.hadoop.hbase.HColumnDescriptor"
  +         import="org.apache.hadoop.hbase.HConstants"
  +         import="org.apache.hadoop.hbase.HRegionLocation"
  +         import="org.apache.hadoop.hbase.ServerName"
  +         import="org.apache.hadoop.hbase.TableName"
  +         import="org.apache.hadoop.hbase.TableNotFoundException"
  +         import="org.apache.hadoop.hbase.client.AsyncAdmin"
  +         import="org.apache.hadoop.hbase.client.AsyncConnection"
  +         import="org.apache.hadoop.hbase.client.CompactionState"
  +         import="org.apache.hadoop.hbase.client.ConnectionFactory"
  +         import="org.apache.hadoop.hbase.client.RegionInfo"
  +         import="org.apache.hadoop.hbase.client.RegionInfoBuilder"
  +         import="org.apache.hadoop.hbase.client.RegionLocator"
  +         import="org.apache.hadoop.hbase.client.RegionReplicaUtil"
  +         import="org.apache.hadoop.hbase.client.Table"
  +         import="org.apache.hadoop.hbase.master.HMaster"
  +         import="org.apache.hadoop.hbase.quotas.QuotaSettingsFactory"
  +         import="org.apache.hadoop.hbase.quotas.QuotaTableUtil"
  +         import="org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot"
  +         import="org.apache.hadoop.hbase.quotas.ThrottleSettings"
  +         import="org.apache.hadoop.hbase.util.Bytes"
  +         import="org.apache.hadoop.hbase.util.FSUtils"
  +         import="org.apache.hadoop.hbase.zookeeper.MetaTableLocator"
  +         import="org.apache.hadoop.util.StringUtils"
  +         import="org.apache.hbase.thirdparty.com.google.protobuf.ByteString"%>
   <%@ page import="org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos" %>
   <%@ page import="org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos" %>
   <%@ page import="org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas" %>
  
positive.code: 
    String pageTitle;
    if ( !readOnly && action != null ) {
        pageTitle = "HBase Master: " + StringEscapeUtils.escapeHtml4(master.getServerName().toString());
    } else {
        pageTitle = "Table: " + escaped_fqtn;
    }
    pageContext.setAttribute("pageTitle", pageTitle);
    AsyncConnection connection = ConnectionFactory.createAsyncConnection(master.getConfiguration()).get();
  
negative.code: } // end else
  %>
  
        <h2>Table Stats</h2>
        <table class="table table-striped">
          <tr>
            <th>Name</th>
            <th>Value</th>
            <th>Description</th>
          </tr>
          <tr>
            <td>Size</td>
            <td>
              <%
                if (totalStoreFileSizeMB > 0) {
              %>
              <%= StringUtils.TraditionalBinaryPrefix.
                      long2String(totalStoreFileSizeMB * 1024 * 1024, "B", 2)%></td>
            <%
            } else {
            %>
            0 MB </td>
            <%
              }
            %>
            <td>Total size of store files</td>
          </tr>
        </table>
  
          <% if (!readOnly) { %>
        <p><hr/></p>
        Actions:
        <p>
        <center>
          <table class="table" style="border: 0;" width="95%" >
            <tr>
              <form method="get">
                <input type="hidden" name="action" value="compact" />
                <input type="hidden" name="name" value="<%= escaped_fqtn %>" />
                <td class="centered">
                  <input style="font-size: 12pt; width: 10em" type="submit" value="Compact" class="btn" />
                </td>
                <td style="text-align: center;">
                  <input type="text" name="key" size="40" placeholder="Row Key (optional)" />
                </td>
                <td>
                  This action will force a compaction of all regions of the table, or,
                  if a key is supplied, only the region containing the
                  given key.
                </td>
              </form>
            </tr>
            <tr>
              <form method="get">
                <input type="hidden" name="action" value="split" />
                <input type="hidden" name="name" value="<%= escaped_fqtn %>" />
                <td class="centered">
                  <input style="font-size: 12pt; width: 10em" type="submit" value="Split" class="btn" />
                </td>
                <td style="text-align: center;">
                  <input type="text" name="key" size="40" placeholder="Row Key (optional)" />
                </td>
                <td>
                  This action will force a split of all eligible
                  regions of the table, or, if a key is supplied, only the region containing the
                  given key. An eligible region is one that does not contain any references to
                  other regions. Split requests for noneligible regions will be ignored.
                </td>
              </form>
            </tr>
            <tr>
              <form method="get">
                <input type="hidden" name="action" value="merge" />
                <input type="hidden" name="name" value="<%= escaped_fqtn %>" />
                <td class="centered">
                  <input style="font-size: 12pt; width: 10em" type="submit" value="Merge" class="btn" />
                </td>
                <td style="text-align: center;">
                  <input type="text" name="left" size="40" placeholder="Region Key (required)" />
                  <input type="text" name="right" size="40" placeholder="Region Key (required)" />
                </td>
                <td>
                  This action will merge two regions of the table, Merge requests for
                  noneligible regions will be ignored.
                </td>
              </form>
            </tr>
          </table>
        </center>
        </p>
          <% } %>
    </div>
  </div>
  <% }
  } catch(TableNotFoundException e) { %>
  <div class="container-fluid content">
    <div class="row inner_header">
      <div class="page-header">
        <h1>Table not found</h1>
      </div>
    </div>
    <p><hr><p>
    <p>Go <a href="javascript:history.back()">Back</a>
  </div> <%
  } catch(IllegalArgumentException e) { %>
  <div class="container-fluid content">
    <div class="row inner_header">
      <div class="page-header">
        <h1>Table qualifier must not be empty</h1>
      </div>
    </div>
    <p><hr><p>
    <p>Go <a href="javascript:history.back()">Back</a>
  </div> <%
    }
  }
  else { // handle the case for fqtn is null or master is not initialized with error message + redirect
  %>
  <div class="container-fluid content">
    <div class="row inner_header">
      <div class="page-header">
        <h1>Table not ready</h1>
      </div>
    </div>
    <p><hr><p>
    <jsp:include page="redirect.jsp" />
  </div>
  <% } %>
  
  