<?php
/**
 * Copyright (c) 2006-2014, 2018 Eclipse Foundation and others.
 *
 * This program and the accompanying materials are made
 * available under the terms of the Eclipse Public License 2.0
 * which is available at https://www.eclipse.org/legal/epl-2.0/
 *
 * Contributors:
 *    Denis Roy (Eclipse Foundation) - initial API and implementation
 *    Christopher Guindon (Eclipse Foundation)
 *
 * SPDX-License-Identifier: EPL-2.0
 */
?>
<div class="row">
  <div class="col-md-18">
    <p>You have been redirect here because the page you requested requires cookies.</p>

    <p>Some Eclipse Foundation pages use cookies to better serve you when you return to the site. You can set your browser to
    notify you before you receive a cookie or turn off cookies. If you do so, however, some areas of some
    sites may not function properly.</p>

    <p><a aria-label="learn more about cookies" href="https://www.eclipse.org/legal/privacy.php" class="btn btn-warning">
    Eclipse Foundation Privacy Policy</a></p>
  </div>
  <div class="col-md-6">
    <div class="sideitem">
      <h6>Useful links</h6>
      <ul>
        <li><a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
      </ul>
    </div>
  </div>
</div>