blob: d0e636c022ecae289a07533bd45aecb4ef89541f [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Cramped elements</title>
<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#cramped-elements">
<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#subscripts-and-superscripts-msub-msup-msubsup">
<meta name="assert" content="Verify definition of cramped elements.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/mathml/support/feature-detection.js"></script>
<script src="/mathml/support/box-navigation.js"></script>
<style>
math {
font-family: superscriptshiftupcramped5000;
}
math, math * {
font-size: 10px;
background: lightyellow;
}
@font-face {
font-family: superscriptshiftupcramped5000;
src: url("/fonts/math/scripts-superscriptshiftupcramped5000.woff");
}
.testedElement *:first-child {
background: lightblue;
}
.testedElement *:last-child {
background: pink;
}
.oof1 {
position: absolute;
}
.oof2 {
position: fixed;
}
.nobox {
display: none;
}
</style>
<script>
function assert_cramped(id, expected, name) {
const emToPx = 10 / 1000; // font-size: 10px, font.em = 1000
const superscriptshiftupcramped = 5000 * emToPx;
var container = document.getElementById(id);
var msup = container.getElementsByClassName("testedElement")[0];
var base = firstInFlowChild(msup);
var script = nextInFlowSibling(base);
var shift = base.getBoundingClientRect().bottom - script.getBoundingClientRect().bottom;
if (expected)
assert_greater_than(shift, superscriptshiftupcramped / 2, `${name || id} should be cramped`);
else
assert_less_than(shift, superscriptshiftupcramped / 2, `${name || id} should not be cramped`);
}
setup({ explicit_done: true });
window.addEventListener("load", () => { document.fonts.ready.then(runTests); });
function runTests() {
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("math-001", false);
assert_cramped("mrow-001", false, "mrow");
}, "child of non-cramped element");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("mrow-002", true);
}, "child of cramped element");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("msqrt-001", true);
}, "child of msqrt");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("mroot-001", true);
}, "child of parent");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("mfrac-001", false, "numerator");
assert_cramped("mfrac-002", true, "denominator");
}, "child of mfrac");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("msub-001", false, "base");
assert_cramped("msub-002", true, "subscript");
}, "child of msub");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("msup-001", false, "base");
assert_cramped("msup-002", false, "superscript");
}, "child of msup");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("msubsup-001", false, "base");
assert_cramped("msubsup-002", true, "subscript");
assert_cramped("msubsup-003", false, "superscript");
}, "child of msubsup");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("munder-001", false, "base");
assert_cramped("munder-002", true, "underscript");
}, "child of munder");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("mover-001", false, "base");
assert_cramped("mover-002", false, "non-accent overscript");
}, "child of mover");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("munderover-001", false, "base");
assert_cramped("munderover-002", true, "underscript");
assert_cramped("munderover-003", false, "non-accent overscript");
}, "child of munderover");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("mover-003", true, "accent overscript");
assert_cramped("mover-004", false, "accent superscript");
}, "accent child of mover");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("munderover-004", true, "accent overscript");
assert_cramped("munderover-005", false, "accent superscript");
}, "accent child of munderover");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("math-011", false);
assert_cramped("mrow-011", false, "mrow");
}, "child of non-cramped element, from in-flow children");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("mrow-012", true);
}, "child of cramped element, from in-flow children");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("msqrt-011", true);
}, "child of msqrt, from in-flow children");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("mroot-011", true);
}, "child of parent, from in-flow children");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("mfrac-011", false, "numerator");
assert_cramped("mfrac-012", true, "denominator");
}, "child of mfrac, from in-flow children");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("msub-011", false, "base");
assert_cramped("msub-012", true, "subscript");
}, "child of msub, from in-flow children");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("msup-011", false, "base");
assert_cramped("msup-012", false, "superscript");
}, "child of msup, from in-flow children");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("msubsup-011", false, "base");
assert_cramped("msubsup-012", true, "subscript");
assert_cramped("msubsup-013", false, "superscript");
}, "child of msubsup, from in-flow children");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("munder-011", false, "base");
assert_cramped("munder-012", true, "underscript");
}, "child of munder, from in-flow children");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("mover-011", false, "base");
assert_cramped("mover-012", false, "non-accent overscript");
}, "child of mover, from in-flow children");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("munderover-011", false, "base");
assert_cramped("munderover-012", true, "underscript");
assert_cramped("munderover-013", false, "non-accent overscript");
}, "child of munderover, from in-flow children");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("mover-013", true, "accent overscript");
assert_cramped("mover-014", false, "accent superscript");
}, "accent child of mover, from in-flow children");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_cramped("munderover-014", true, "accent overscript");
assert_cramped("munderover-015", false, "accent superscript");
}, "accent child of munderover, from in-flow children");
done();
}
</script>
</head>
<body>
<div id="log"></div>
<p>
<math id="math-001">
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
</math>
<math>
<mrow id="mrow-001">
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
</mrow>
</math>
</p>
<p>
<math>
<msqrt>
<!-- This is a child of a msqrt so it is cramped. As a consequence,
all its descendants are cramped too. -->
<munderover>
<mover>
<munder>
<msubsup>
<msup>
<msub>
<mfrac>
<mrow id="mrow-002">
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
</mrow>
<mspace/>
</mfrac>
<mspace/>
</msub>
<mspace/>
</msup>
<mspace/>
<mspace/>
</msubsup>
<mspace/>
</munder>
<mspace/>
</mover>
<mspace/>
<mspace/>
</munderover>
</msqrt>
</math>
</p>
<p>
<math>
<msqrt id="msqrt-001">
<mn>0</mn>
<mn>1</mn>
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
<mn>3</mn>
<mn>4</mn>
</msqrt>
</math>
</p>
<p>
<math>
<mroot id="mroot-001">
<mn>0</mn>
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
</mroot>
</math>
</p>
<p>
<math>
<mroot id="mroot-002">
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
<mn>1</mn>
</mroot>
</math>
</p>
<p>
<math>
<mfrac id="mfrac-001">
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
<mn>1</mn>
</mfrac>
</math>
</p>
<p>
<math>
<mfrac id="mfrac-002">
<mn>0</mn>
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
</mfrac>
</math>
</p>
<p>
<math>
<msub id="msub-001">
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
<mn>1</mn>
</msub>
</math>
</p>
<p>
<math>
<msub id="msub-002">
<mn>0</mn>
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
</msub>
</math>
</p>
<p>
<math>
<msup id="msup-001">
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
<mn>1</mn>
</msup>
</math>
</p>
<p>
<math>
<msup id="msup-002">
<mn>0</mn>
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
</msup>
</math>
</p>
<p>
<math>
<msubsup id="msubsup-001">
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
<mn>1</mn>
<mn>2</mn>
</msubsup>
</math>
</p>
<p>
<math>
<msubsup id="msubsup-002">
<mn>0</mn>
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
<mn>2</mn>
</msubsup>
</math>
</p>
<p>
<math>
<msubsup id="msubsup-003">
<mn>0</mn>
<mn>1</mn>
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
</msubsup>
</math>
</p>
<p>
<math>
<munder id="munder-001">
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
<mn>1</mn>
</munder>
</math>
</p>
<p>
<math>
<munder id="munder-002">
<mn>0</mn>
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
</munder>
</math>
</p>
<p>
<math>
<mover id="mover-001">
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
<mn>1</mn>
</mover>
</math>
</p>
<p>
<math>
<mover id="mover-002">
<mn>0</mn>
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
</mover>
</math>
</p>
<p>
<math>
<mover accent="true" id="mover-003">
<mn>0</mn>
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
</mover>
</math>
</p>
<p>
<math>
<mover accent="true" id="mover-004">
<mo movablelimits="true">0</mo>
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
</mover>
</math>
</p>
<p>
<math>
<munderover id="munderover-001">
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
<mn>1</mn>
<mn>2</mn>
</munderover>
</math>
</p>
<p>
<math>
<munderover id="munderover-002">
<mn>0</mn>
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
<mn>2</mn>
</munderover>
</math>
</p>
<p>
<math>
<munderover id="munderover-003">
<mn>0</mn>
<mn>1</mn>
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
</munderover>
</math>
</p>
<p>
<math>
<munderover accent="true" id="munderover-004">
<mn>0</mn>
<mn>1</mn>
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
</munderover>
</math>
</p>
<p>
<math>
<munderover accent="true" id="munderover-005">
<mo movablelimits="true">0</mo>
<mn>1</mn>
<msup class="testedElement">
<mspace height="2em" width="2em"/>
<mspace height="1em" width="1em"/>
</msup>
</munderover>
</math>
</p>
<p>
<math id="math-011">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</math>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mrow id="mrow-011">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</mrow>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msqrt>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<!-- This is a child of a msqrt so it is cramped. As a consequence,
all its descendants are cramped too. -->
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<munderover>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mover>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<munder>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msubsup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msub>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mfrac>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mrow id="mrow-012">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</mrow>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</mfrac>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msub>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msubsup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</munder>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</mover>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</munderover>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msqrt>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msqrt id="msqrt-011">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>0</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>1</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>3</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>4</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msqrt>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mroot id="mroot-011">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>0</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</mroot>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mroot id="mroot-012">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>1</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</mroot>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mfrac id="mfrac-011">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>1</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</mfrac>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mfrac id="mfrac-012">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>0</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</mfrac>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msub id="msub-011">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>1</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msub>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msub id="msub-012">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>0</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msub>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup id="msup-011">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>1</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup id="msup-012">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>0</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msubsup id="msubsup-011">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>1</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>2</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msubsup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msubsup id="msubsup-012">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>0</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>2</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msubsup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msubsup id="msubsup-013">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>0</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>1</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msubsup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<munder id="munder-011">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>1</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</munder>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<munder id="munder-012">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>0</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</munder>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mover id="mover-011">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>1</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</mover>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mover id="mover-012">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>0</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</mover>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mover accent="true" id="mover-013">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>0</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</mover>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mover accent="true" id="mover-014">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mo movablelimits="true">0</mo>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</mover>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<munderover id="munderover-011">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>1</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>2</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</munderover>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<munderover id="munderover-012">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>0</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>2</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</munderover>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<munderover id="munderover-013">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>0</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>1</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</munderover>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<munderover accent="true" id="munderover-014">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>0</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>1</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</munderover>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</math>
</p>
<p>
<math>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<munderover accent="true" id="munderover-015">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mo movablelimits="true">0</mo>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mn>1</mn>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<msup class="testedElement">
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="2em" width="2em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
<mspace height="1em" width="1em"/>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</msup>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</munderover>
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
</math>
</p>
</body>
</html>