<!doctype html>
<script src="history.js"></script>
<script>
  onunload = function() {}

  onload = function() {
    if (!opener.started) {
      queue_next();
    } else {
      opener.pages.push(id);
      opener.start_test_wait();
      history.forward();
    }
  };
</script>
