#**
 *  Main entry point into the /browse templates
 *#

#set($searcher = $request.searcher)
#set($params = $request.params)
#set($clusters = $response.response.clusters)
#set($mltResults = $response.response.get("moreLikeThis"))
#set($annotate = $params.get("annotateBrowse"))
#parse('query_form.vm')
#parse('did_you_mean.vm')

<div class="navigators">
  #parse("facets.vm")
</div>

<div class="pagination">
  #parse("pagination_top.vm")
</div>

## Show Error Message, if any
<div class="error">
  #parse("error.vm")
</div>

## Render Results, actual matching docs
<div class="results">
  #parse("results_list.vm")
</div>

<div class="pagination">
  #parse("pagination_bottom.vm")
</div>
