#**
 *  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>
