<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-whited-precis-test-vectors-03" indexInclude="true" ipr="trust200902" prepTime="2020-11-22T21:13:58" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="4" tocInclude="true" xml:lang="en">
  <!-- xml2rfc v2v3 conversion 2.39.0 -->
  <front>
    <title abbrev="PRECIS: Tests">Preparation, Enforcement, and Comparison of Internationalized Strings (PRECIS) Test Vectors</title>
    <seriesInfo name="Internet-Draft" value="draft-whited-precis-test-vectors-03" stream="IETF"/>
    <seriesInfo name="" status="standard" value="draft-whited-precis-test-vectors-03" stream="IETF"/>
    <author initials="S." surname="Whited" fullname="Sam Whited">
      <organization showOnFrontPage="true"/>
      <address>
        <postal>
          <street/>
          <city>Atlanta</city>
          <code>GA</code>
          <country>USA</country>
          <region/>
        </postal>
        <phone/>
        <email>sam@samwhited.com</email>
        <uri>https://blog.samwhited.com/</uri>
      </address>
    </author>
    <date month="04" year="2020" day="25"/>
    <area>Applications</area>
    <workgroup>PRECIS</workgroup>
    <keyword>tests</keyword>
    <keyword>unicode</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">
        This document contains test vectors for several Preparation,
        Enforcement, and Comparison of Internationalized Strings (PRECIS)
        profiles.
      </t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
        This Internet-Draft is submitted in full conformance with the
        provisions of BCP 78 and BCP 79.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
        Internet-Drafts are working documents of the Internet Engineering Task
        Force (IETF). Note that other groups may also distribute working
        documents as Internet-Drafts. The list of current Internet-Drafts is
        at <eref target="https://datatracker.ietf.org/drafts/current/" brackets="none"/>.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
        Internet-Drafts are draft documents valid for a maximum of six months
        and may be updated, replaced, or obsoleted by other documents at any
        time. It is inappropriate to use Internet-Drafts as reference
        material or to cite them other than as "work in progress."
        </t>
        <t indent="0" pn="section-boilerplate.1-4">
        This Internet-Draft will expire on 27 October 2020.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2020 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Simplified BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Simplified BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.1.2">
              <li pn="section-toc.1-1.1.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.1.1"><xref derivedContent="1.1" format="counter" sectionFormat="of" target="section-1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-overview">Overview</xref></t>
              </li>
              <li pn="section-toc.1-1.1.2.2">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.2.1"><xref derivedContent="1.2" format="counter" sectionFormat="of" target="section-1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-test-vectors">Test Vectors</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2">
              <li pn="section-toc.1-1.2.2.1">
                <t indent="0" pn="section-toc.1-1.2.2.1.1"><xref derivedContent="2.1" format="counter" sectionFormat="of" target="section-2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-methodology">Methodology</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2.1.2">
                  <li pn="section-toc.1-1.2.2.1.2.1">
                    <t indent="0" pn="section-toc.1-1.2.2.1.2.1.1"><xref derivedContent="2.1.1" format="counter" sectionFormat="of" target="section-2.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-enforcement-tests">Enforcement Tests</xref></t>
                    <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2.1.2.1.2">
                      <li pn="section-toc.1-1.2.2.1.2.1.2.1">
                        <t indent="0" pn="section-toc.1-1.2.2.1.2.1.2.1.1"><xref derivedContent="2.1.1.1" format="counter" sectionFormat="of" target="section-2.1.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-basic">Basic</xref></t>
                      </li>
                      <li pn="section-toc.1-1.2.2.1.2.1.2.2">
                        <t indent="0" pn="section-toc.1-1.2.2.1.2.1.2.2.1"><xref derivedContent="2.1.1.2" format="counter" sectionFormat="of" target="section-2.1.1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-context-rule-1">Context Rule 1</xref></t>
                      </li>
                      <li pn="section-toc.1-1.2.2.1.2.1.2.3">
                        <t indent="0" pn="section-toc.1-1.2.2.1.2.1.2.3.1"><xref derivedContent="2.1.1.3" format="counter" sectionFormat="of" target="section-2.1.1.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-context-rule-2">Context Rule 2</xref></t>
                      </li>
                      <li pn="section-toc.1-1.2.2.1.2.1.2.4">
                        <t indent="0" pn="section-toc.1-1.2.2.1.2.1.2.4.1"><xref derivedContent="2.1.1.4" format="counter" sectionFormat="of" target="section-2.1.1.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-context-rule-3">Context Rule 3</xref></t>
                      </li>
                      <li pn="section-toc.1-1.2.2.1.2.1.2.5">
                        <t indent="0" pn="section-toc.1-1.2.2.1.2.1.2.5.1"><xref derivedContent="2.1.1.5" format="counter" sectionFormat="of" target="section-2.1.1.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-context-rule-4">Context Rule 4</xref></t>
                      </li>
                      <li pn="section-toc.1-1.2.2.1.2.1.2.6">
                        <t indent="0" pn="section-toc.1-1.2.2.1.2.1.2.6.1"><xref derivedContent="2.1.1.6" format="counter" sectionFormat="of" target="section-2.1.1.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-context-rule-56">Context Rule 5+6</xref></t>
                      </li>
                      <li pn="section-toc.1-1.2.2.1.2.1.2.7">
                        <t indent="0" pn="section-toc.1-1.2.2.1.2.1.2.7.1"><xref derivedContent="2.1.1.7" format="counter" sectionFormat="of" target="section-2.1.1.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-context-rule-7">Context Rule 7</xref></t>
                      </li>
                      <li pn="section-toc.1-1.2.2.1.2.1.2.8">
                        <t indent="0" pn="section-toc.1-1.2.2.1.2.1.2.8.1"><xref derivedContent="2.1.1.8" format="counter" sectionFormat="of" target="section-2.1.1.8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-context-rule-89">Context Rule 8+9</xref></t>
                      </li>
                      <li pn="section-toc.1-1.2.2.1.2.1.2.9">
                        <t indent="0" pn="section-toc.1-1.2.2.1.2.1.2.9.1"><xref derivedContent="2.1.1.9" format="counter" sectionFormat="of" target="section-2.1.1.9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-nickname">Nickname</xref></t>
                      </li>
                      <li pn="section-toc.1-1.2.2.1.2.1.2.10">
                        <t indent="0" pn="section-toc.1-1.2.2.1.2.1.2.10.1"><xref derivedContent="2.1.1.10" format="counter" sectionFormat="of" target="section-2.1.1.10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-opaquestring">OpaqueString</xref></t>
                      </li>
                      <li pn="section-toc.1-1.2.2.1.2.1.2.11">
                        <t indent="0" pn="section-toc.1-1.2.2.1.2.1.2.11.1"><xref derivedContent="2.1.1.11" format="counter" sectionFormat="of" target="section-2.1.1.11"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-usernamecasemapped">UsernameCaseMapped</xref></t>
                      </li>
                      <li pn="section-toc.1-1.2.2.1.2.1.2.12">
                        <t indent="0" pn="section-toc.1-1.2.2.1.2.1.2.12.1"><xref derivedContent="2.1.1.12" format="counter" sectionFormat="of" target="section-2.1.1.12"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-usernamecasepreserved">UsernameCasePreserved</xref></t>
                      </li>
                      <li pn="section-toc.1-1.2.2.1.2.1.2.13">
                        <t indent="0" pn="section-toc.1-1.2.2.1.2.1.2.13.1"><xref derivedContent="2.1.1.13" format="counter" sectionFormat="of" target="section-2.1.1.13"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-usernamecasemappedrestricte">UsernameCaseMappedRestricted</xref></t>
                      </li>
                    </ul>
                  </li>
                  <li pn="section-toc.1-1.2.2.1.2.2">
                    <t indent="0" pn="section-toc.1-1.2.2.1.2.2.1"><xref derivedContent="2.1.2" format="counter" sectionFormat="of" target="section-2.1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-comparison-tests">Comparison Tests</xref></t>
                    <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2.1.2.2.2">
                      <li pn="section-toc.1-1.2.2.1.2.2.2.1">
                        <t indent="0" pn="section-toc.1-1.2.2.1.2.2.2.1.1"><xref derivedContent="2.1.2.1" format="counter" sectionFormat="of" target="section-2.1.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-nickname-2">Nickname</xref></t>
                      </li>
                    </ul>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="Appendix A" format="default" sectionFormat="of" target="section-appendix.a"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-address">Author's Address</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="intro" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <section anchor="overview" numbered="true" toc="include" removeInRFC="false" pn="section-1.1">
        <name slugifiedName="name-overview">Overview</name>
        <t indent="0" pn="section-1.1-1">
        This document contains test vectors for several Preparation,
        Enforcement, and Comparison of Internationalized Strings (PRECIS) <xref target="RFC8264" format="default" sectionFormat="of" derivedContent="RFC8264"/> profiles.
        </t>
        <t indent="0" pn="section-1.1-2">
        Two sets of vectors exist for profiles of the base classes.
        The first set tests the enforcement step.
        It takes the form of a table that contains an input string, an output
        string and an optional error.
        If the error column has a value of "ctx" it indicates that the context
        rule was violated, "empty" means that an empty string was disallowed,
        "rune" means that a disallowed code point (rune) was encountered, and
        "bidi" indicates that the BIDI Rule was violated.
        The second set tests the PRECIS comparison step.
        It takes the form of a table that contains two strings, a boolean that
        is TRUE if the two strings should be considered equal and FALSE
        otherwise, and an optional comment.
        </t>
        <t indent="0" pn="section-1.1-3">
        Vectors for inclusion of code points in the IdentifierClass and
        FreeformClass are not included.
        A complete list of valid inputs and Outputs for the derived property
        algorithm specified in <xref target="RFC8264" format="default" sectionFormat="of" derivedContent="RFC8264"/> can be
        found in the <xref target="IANA.PRECIS.derived.property.value" format="default" sectionFormat="of" derivedContent="IANA.PRECIS.derived.property.value">IANA
        "PRECIS Derived Property Value" registry</xref>.
        </t>
      </section>
      <section anchor="terms" numbered="true" toc="include" removeInRFC="false" pn="section-1.2">
        <name slugifiedName="name-terminology">Terminology</name>
        <t indent="0" pn="section-1.2-1">
        Many important terms used in this document are defined in
        <xref target="RFC8264" format="default" sectionFormat="of" derivedContent="RFC8264"/>, <xref target="RFC6365" format="default" sectionFormat="of" derivedContent="RFC6365"/>, and
        <xref target="Unicode" format="default" sectionFormat="of" derivedContent="Unicode"/>.
        </t>
      </section>
    </section>
    <section anchor="vectors" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-test-vectors">Test Vectors</name>
      <section anchor="method" numbered="true" toc="include" removeInRFC="false" pn="section-2.1">
        <name slugifiedName="name-methodology">Methodology</name>
        <t indent="0" pn="section-2.1-1">
        The test vectors in this document have been verified by three
        independent implementations.
        An implementation that concurs with the results provided in this
        document should be interoperable with other implementations.
        </t>
        <t indent="0" pn="section-2.1-2">
        Input and output strings are expressed as UTF-8 and hexidecimal encoded
        byte strings.
        </t>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-2.1.1">
          <name slugifiedName="name-enforcement-tests">Enforcement Tests</name>
          <section numbered="true" toc="include" removeInRFC="false" pn="section-2.1.1.1">
            <name slugifiedName="name-basic">Basic</name>
            <table align="center" pn="table-1">
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Input</th>
                  <th align="left" colspan="1" rowspan="1">Output</th>
                  <th align="left" colspan="1" rowspan="1">Err</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <th align="left" colspan="1" rowspan="1">65cc81cc9f</th>
                  <th align="left" colspan="1" rowspan="1">c3a9cc9f</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
              </tbody>
            </table>
          </section>
          <section numbered="true" toc="include" removeInRFC="false" pn="section-2.1.1.2">
            <name slugifiedName="name-context-rule-1">Context Rule 1</name>
            <table align="center" pn="table-2">
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Input</th>
                  <th align="left" colspan="1" rowspan="1">Output</th>
                  <th align="left" colspan="1" rowspan="1">Err</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e2808c</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e2808c61</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">61e2808c</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e2808cd8a7</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d8ace2808c</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d890e2808cd890d8a7</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d8acd890e2808cd890</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d8ace2808cd8a7</th>
                  <th align="left" colspan="1" rowspan="1">d8ace2808cd8a7</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d8acd890e2808cd890d8a7</th>
                  <th align="left" colspan="1" rowspan="1">d8acd890e2808cd890d8a7</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d8acd890d890e2808cd890d890d8a7</th>
                  <th align="left" colspan="1" rowspan="1">d8acd890d890e2808cd890d890d8a7</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d8acd890e2808cd8a7</th>
                  <th align="left" colspan="1" rowspan="1">d8acd890e2808cd8a7</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d8ace2808cd890d8a7</th>
                  <th align="left" colspan="1" rowspan="1">d8ace2808cd890d8a7</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">eaa1b2e2808cd8ac</th>
                  <th align="left" colspan="1" rowspan="1">eaa1b2e2808cd8ac</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">eaa1b2d890e2808cd890d8ac</th>
                  <th align="left" colspan="1" rowspan="1">eaa1b2d890e2808cd890d8ac</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">eaa1b2d890d890e2808cd890d890d8ac</th>
                  <th align="left" colspan="1" rowspan="1">eaa1b2d890d890e2808cd890d890d8ac</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">eaa1b2d890e2808cd8ac</th>
                  <th align="left" colspan="1" rowspan="1">eaa1b2d890e2808cd8ac</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">eaa1b2e2808cd890d8ac</th>
                  <th align="left" colspan="1" rowspan="1">eaa1b2e2808cd890d8ac</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e0a98de2808c</th>
                  <th align="left" colspan="1" rowspan="1">e0a98de2808c</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">eaa1b2e0a98de2808c</th>
                  <th align="left" colspan="1" rowspan="1">eaa1b2e0a98de2808c</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">eaa1b2e0a98dd890e2808c</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">eaa1b2e0a98dd890e2808c</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e0ab8de2808c</th>
                  <th align="left" colspan="1" rowspan="1">e0ab8de2808c</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">eaa1b2e0ab8de2808c</th>
                  <th align="left" colspan="1" rowspan="1">eaa1b2e0ab8de2808c</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">eaa1b2e0ab8dd890e2808c</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">eaa1b2e0ab8dd890e2808c</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">eaa1b2e0ab8de2808cd8ac</th>
                  <th align="left" colspan="1" rowspan="1">eaa1b2e0ab8de2808cd8ac</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">eaa1b2e2808ce0ab8dd8ac</th>
                  <th align="left" colspan="1" rowspan="1">eaa1b2e2808ce0ab8dd8ac</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
              </tbody>
            </table>
          </section>
          <section numbered="true" toc="include" removeInRFC="false" pn="section-2.1.1.3">
            <name slugifiedName="name-context-rule-2">Context Rule 2</name>
            <table align="center" pn="table-3">
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Input</th>
                  <th align="left" colspan="1" rowspan="1">Output</th>
                  <th align="left" colspan="1" rowspan="1">Err</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e2808d</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e2808d61</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">61e2808d</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e0a98de2808d</th>
                  <th align="left" colspan="1" rowspan="1">e0a98de2808d</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">eaa1b2e0a98de2808d</th>
                  <th align="left" colspan="1" rowspan="1">eaa1b2e0a98de2808d</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e0a98d61e2808d</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
              </tbody>
            </table>
          </section>
          <section numbered="true" toc="include" removeInRFC="false" pn="section-2.1.1.4">
            <name slugifiedName="name-context-rule-3">Context Rule 3</name>
            <table align="center" pn="table-4">
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Input</th>
                  <th align="left" colspan="1" rowspan="1">Output</th>
                  <th align="left" colspan="1" rowspan="1">Err</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <th align="left" colspan="1" rowspan="1">c2b7</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">6cc2b7</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">c2b76c</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">61c2b7</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">6cc2b761</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">61c2b761</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">6cc2b76c</th>
                  <th align="left" colspan="1" rowspan="1">6cc2b76c</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">616cc2b76c61</th>
                  <th align="left" colspan="1" rowspan="1">616cc2b76c61</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
              </tbody>
            </table>
          </section>
          <section numbered="true" toc="include" removeInRFC="false" pn="section-2.1.1.5">
            <name slugifiedName="name-context-rule-4">Context Rule 4</name>
            <table align="center" pn="table-5">
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Input</th>
                  <th align="left" colspan="1" rowspan="1">Output</th>
                  <th align="left" colspan="1" rowspan="1">Err</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <th align="left" colspan="1" rowspan="1">cdb5</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">cdb561</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">ceb1cdb5</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">cdb5ceb1</th>
                  <th align="left" colspan="1" rowspan="1">cdb5ceb1</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">ceb1cdb5ceb1</th>
                  <th align="left" colspan="1" rowspan="1">ceb1cdb5ceb1</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">cdb5cdb5ceb1</th>
                  <th align="left" colspan="1" rowspan="1">cdb5cdb5ceb1</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">ceb1cdb5cdb5ceb1</th>
                  <th align="left" colspan="1" rowspan="1">ceb1cdb5cdb5ceb1</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">ceb1cdb5cdb5</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">ceb1cdb5cdb561</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
              </tbody>
            </table>
          </section>
          <section numbered="true" toc="include" removeInRFC="false" pn="section-2.1.1.6">
            <name slugifiedName="name-context-rule-56">Context Rule 5+6</name>
            <table align="center" pn="table-6">
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Input</th>
                  <th align="left" colspan="1" rowspan="1">Output</th>
                  <th align="left" colspan="1" rowspan="1">Err</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d7b3</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d7b3d794</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">61d7b362</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d7a9d7b3</th>
                  <th align="left" colspan="1" rowspan="1">d7a9d7b3</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d7a9d7b3d7b3d7b3</th>
                  <th align="left" colspan="1" rowspan="1">d7a9d7b3d7b3d7b3</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d7b4</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d7b4d794</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">61d7b462</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d7a9d7b4</th>
                  <th align="left" colspan="1" rowspan="1">d7a9d7b4</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d7a9d7b4d7b4d7b4</th>
                  <th align="left" colspan="1" rowspan="1">d7a9d7b4d7b4d7b4</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">61d7a9d7b4d7b4d7b4</th>
                  <th align="left" colspan="1" rowspan="1">61d7a9d7b4d7b4d7b4</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
              </tbody>
            </table>
          </section>
          <section numbered="true" toc="include" removeInRFC="false" pn="section-2.1.1.7">
            <name slugifiedName="name-context-rule-7">Context Rule 7</name>
            <table align="center" pn="table-7">
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Input</th>
                  <th align="left" colspan="1" rowspan="1">Output</th>
                  <th align="left" colspan="1" rowspan="1">Err</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e383bb</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">616263e383bb</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e383bb646566</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">616263e383bb646566</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">61e3838563e383bb646566</th>
                  <th align="left" colspan="1" rowspan="1">61e3838563e383bb646566</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">616263e383bb64e381b666</th>
                  <th align="left" colspan="1" rowspan="1">616263e383bb64e381b666</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e2ba906263e383bb646566</th>
                  <th align="left" colspan="1" rowspan="1">e2ba906263e383bb646566</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
              </tbody>
            </table>
          </section>
          <section numbered="true" toc="include" removeInRFC="false" pn="section-2.1.1.8">
            <name slugifiedName="name-context-rule-89">Context Rule 8+9</name>
            <table align="center" pn="table-8">
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Input</th>
                  <th align="left" colspan="1" rowspan="1">Output</th>
                  <th align="left" colspan="1" rowspan="1">Err</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d9a1d9a2d9a3d9a4d9a5dbb6</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">dbb1dbb2dbb3dbb4dbb5d9a6</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">ctx</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d9a1d9a2d9a3d9a4d9a5</th>
                  <th align="left" colspan="1" rowspan="1">d9a1d9a2d9a3d9a4d9a5</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">dbb1dbb2dbb3dbb4dbb5</th>
                  <th align="left" colspan="1" rowspan="1">dbb1dbb2dbb3dbb4dbb5</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
              </tbody>
            </table>
          </section>
          <section numbered="true" toc="include" removeInRFC="false" pn="section-2.1.1.9">
            <name slugifiedName="name-nickname">Nickname</name>
            <table align="center" pn="table-9">
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Input</th>
                  <th align="left" colspan="1" rowspan="1">Output</th>
                  <th align="left" colspan="1" rowspan="1">Err</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <th align="left" colspan="1" rowspan="1">20205377616e20206f6620202041766f6e202020</th>
                  <th align="left" colspan="1" rowspan="1">5377616e206f662041766f6e</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">empty</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">20</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">empty</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">2020</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">empty</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">61c2a061e19a8061e2808061e2808161e2808261e2808361e2808461e2808561e2808661e2808761e2808861e2808961e2808a61e280af61e2819f61e3808061</th>
                  <th align="left" colspan="1" rowspan="1">612061206120612061206120612061206120612061206120612061206120612061</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">466f6f</th>
                  <th align="left" colspan="1" rowspan="1">466f6f</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">666f6f</th>
                  <th align="left" colspan="1" rowspan="1">666f6f</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">466f6f20426172</th>
                  <th align="left" colspan="1" rowspan="1">466f6f20426172</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">666f6f20626172</th>
                  <th align="left" colspan="1" rowspan="1">666f6f20626172</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">cea3</th>
                  <th align="left" colspan="1" rowspan="1">cea3</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">cf83</th>
                  <th align="left" colspan="1" rowspan="1">cf83</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">cf82</th>
                  <th align="left" colspan="1" rowspan="1">cf82</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e2999a</th>
                  <th align="left" colspan="1" rowspan="1">e2999a</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">5269636861726420e285a3</th>
                  <th align="left" colspan="1" rowspan="1">52696368617264204956</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e284ab</th>
                  <th align="left" colspan="1" rowspan="1">c385</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">efac80</th>
                  <th align="left" colspan="1" rowspan="1">6666</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d7a961</th>
                  <th align="left" colspan="1" rowspan="1">d7a961</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">eb8f99ec9dbceca1b0eab1b4ebb380eab2bded9788eb9dbd</th>
                  <th align="left" colspan="1" rowspan="1">eb8f99ec9dbceca1b0eab1b4ebb380eab2bded9788eb9dbd</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
              </tbody>
            </table>
          </section>
          <section numbered="true" toc="include" removeInRFC="false" pn="section-2.1.1.10">
            <name slugifiedName="name-opaquestring">OpaqueString</name>
            <table align="center" pn="table-10">
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Input</th>
                  <th align="left" colspan="1" rowspan="1">Output</th>
                  <th align="left" colspan="1" rowspan="1">Err</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <th align="left" colspan="1" rowspan="1">20205377616e20206f6620202041766f6e202020</th>
                  <th align="left" colspan="1" rowspan="1">20205377616e20206f6620202041766f6e202020</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">empty</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">20</th>
                  <th align="left" colspan="1" rowspan="1">20</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">2020</th>
                  <th align="left" colspan="1" rowspan="1">2020</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">61c2a061e19a8061e2808061e2808161e2808261e2808361e2808461e2808561e2808661e2808761e2808861e2808961e2808a61e280af61e2819f61e3808061</th>
                  <th align="left" colspan="1" rowspan="1">612061206120612061206120612061206120612061206120612061206120612061</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">466f6f</th>
                  <th align="left" colspan="1" rowspan="1">466f6f</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">666f6f</th>
                  <th align="left" colspan="1" rowspan="1">666f6f</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">466f6f20426172</th>
                  <th align="left" colspan="1" rowspan="1">466f6f20426172</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">666f6f20626172</th>
                  <th align="left" colspan="1" rowspan="1">666f6f20626172</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">cf83</th>
                  <th align="left" colspan="1" rowspan="1">cf83</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">5269636861726420e285a3</th>
                  <th align="left" colspan="1" rowspan="1">5269636861726420e285a3</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e284ab</th>
                  <th align="left" colspan="1" rowspan="1">c385</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">4a61636b206f6620e299a673</th>
                  <th align="left" colspan="1" rowspan="1">4a61636b206f6620e299a673</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">6d7920636174206973206120096279</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">rune</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d7a961</th>
                  <th align="left" colspan="1" rowspan="1">d7a961</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
              </tbody>
            </table>
          </section>
          <section numbered="true" toc="include" removeInRFC="false" pn="section-2.1.1.11">
            <name slugifiedName="name-usernamecasemapped">UsernameCaseMapped</name>
            <table align="center" pn="table-11">
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Input</th>
                  <th align="left" colspan="1" rowspan="1">Output</th>
                  <th align="left" colspan="1" rowspan="1">Err</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <th align="left" colspan="1" rowspan="1">6a756c696574406578616d706c652e636f6d</th>
                  <th align="left" colspan="1" rowspan="1">6a756c696574406578616d706c652e636f6d</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">6675737362616c6c</th>
                  <th align="left" colspan="1" rowspan="1">6675737362616c6c</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">6675c39f62616c6c</th>
                  <th align="left" colspan="1" rowspan="1">6675c39f62616c6c</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">cf80</th>
                  <th align="left" colspan="1" rowspan="1">cf80</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">cea3</th>
                  <th align="left" colspan="1" rowspan="1">cf83</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">cf83</th>
                  <th align="left" colspan="1" rowspan="1">cf83</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">cf82</th>
                  <th align="left" colspan="1" rowspan="1">cf82</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">49</th>
                  <th align="left" colspan="1" rowspan="1">69</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">49</th>
                  <th align="left" colspan="1" rowspan="1">69</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">cf92</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">rune</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">ceb0</th>
                  <th align="left" colspan="1" rowspan="1">ceb0</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">666f6f20626172</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">rune</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e2999a</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">bidirule: failed Bidi Rule</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">7e</th>
                  <th align="left" colspan="1" rowspan="1">7e</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">61</th>
                  <th align="left" colspan="1" rowspan="1">61</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">21</th>
                  <th align="left" colspan="1" rowspan="1">21</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">c2b2</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">bidirule: failed Bidi Rule</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">09</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">rune</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">0a</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">rune</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e29b96</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">bidirule: failed Bidi Rule</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e29bbf</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">bidirule: failed Bidi Rule</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">efac80</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">rune</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e19a80</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">bidirule: failed Bidi Rule</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">20</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">rune</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">2020</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">rune</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">c785</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">rune</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e19bae</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">rune</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d288</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">bidirule: failed Bidi Rule</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e284ab</th>
                  <th align="left" colspan="1" rowspan="1">c3a5</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">41cc8a</th>
                  <th align="left" colspan="1" rowspan="1">c3a5</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">c385</th>
                  <th align="left" colspan="1" rowspan="1">c3a5</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">c3a7</th>
                  <th align="left" colspan="1" rowspan="1">c3a7</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">63cca7</th>
                  <th align="left" colspan="1" rowspan="1">c3a7</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">c598</th>
                  <th align="left" colspan="1" rowspan="1">c599</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">52cc8c</th>
                  <th align="left" colspan="1" rowspan="1">c599</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e1b9a1</th>
                  <th align="left" colspan="1" rowspan="1">e1b9a1</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d090</th>
                  <th align="left" colspan="1" rowspan="1">d0b0</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">efbca1efbca2</th>
                  <th align="left" colspan="1" rowspan="1">6162</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d7a963</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">bidirule: failed Bidi Rule</th>
                </tr>
              </tbody>
            </table>
          </section>
          <section numbered="true" toc="include" removeInRFC="false" pn="section-2.1.1.12">
            <name slugifiedName="name-usernamecasepreserved">UsernameCasePreserved</name>
            <table align="center" pn="table-12">
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Input</th>
                  <th align="left" colspan="1" rowspan="1">Output</th>
                  <th align="left" colspan="1" rowspan="1">Err</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <th align="left" colspan="1" rowspan="1">414243</th>
                  <th align="left" colspan="1" rowspan="1">414243</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">efbca1efbca2</th>
                  <th align="left" colspan="1" rowspan="1">4142</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">d7a963</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">bidirule: failed Bidi Rule</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">efac80</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">rune</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e284ab</th>
                  <th align="left" colspan="1" rowspan="1">c385</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e1ba9b</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">rune</th>
                </tr>
              </tbody>
            </table>
          </section>
          <section numbered="true" toc="include" removeInRFC="false" pn="section-2.1.1.13">
            <name slugifiedName="name-usernamecasemappedrestricte">UsernameCaseMappedRestricted</name>
            <table align="center" pn="table-13">
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Input</th>
                  <th align="left" colspan="1" rowspan="1">Output</th>
                  <th align="left" colspan="1" rowspan="1">Err</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <th align="left" colspan="1" rowspan="1">6a756c696574406578616d706c652e636f6d</th>
                  <th align="left" colspan="1" rowspan="1"/>
                  <th align="left" colspan="1" rowspan="1">rune</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">49</th>
                  <th align="left" colspan="1" rowspan="1">69</th>
                  <th align="left" colspan="1" rowspan="1"/>
                </tr>
              </tbody>
            </table>
          </section>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-2.1.2">
          <name slugifiedName="name-comparison-tests">Comparison Tests</name>
          <section numbered="true" toc="include" removeInRFC="false" pn="section-2.1.2.1">
            <name slugifiedName="name-nickname-2">Nickname</name>
            <table align="center" pn="table-14">
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">A</th>
                  <th align="left" colspan="1" rowspan="1">B</th>
                  <th align="left" colspan="1" rowspan="1">Result</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <th align="left" colspan="1" rowspan="1">61</th>
                  <th align="left" colspan="1" rowspan="1">62</th>
                  <th align="left" colspan="1" rowspan="1">false</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">20205377616e20206f6620202041766f6e202020</th>
                  <th align="left" colspan="1" rowspan="1">7377616e206f662061766f6e</th>
                  <th align="left" colspan="1" rowspan="1">true</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">466f6f</th>
                  <th align="left" colspan="1" rowspan="1">666f6f</th>
                  <th align="left" colspan="1" rowspan="1">true</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">666f6f</th>
                  <th align="left" colspan="1" rowspan="1">666f6f</th>
                  <th align="left" colspan="1" rowspan="1">true</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">466f6f20426172</th>
                  <th align="left" colspan="1" rowspan="1">666f6f20626172</th>
                  <th align="left" colspan="1" rowspan="1">true</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">666f6f20626172</th>
                  <th align="left" colspan="1" rowspan="1">666f6f20626172</th>
                  <th align="left" colspan="1" rowspan="1">true</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">cea3</th>
                  <th align="left" colspan="1" rowspan="1">cf83</th>
                  <th align="left" colspan="1" rowspan="1">true</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">cea3</th>
                  <th align="left" colspan="1" rowspan="1">cf82</th>
                  <th align="left" colspan="1" rowspan="1">false</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">cf83</th>
                  <th align="left" colspan="1" rowspan="1">cf82</th>
                  <th align="left" colspan="1" rowspan="1">false</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">5269636861726420e285a3</th>
                  <th align="left" colspan="1" rowspan="1">72696368617264206976</th>
                  <th align="left" colspan="1" rowspan="1">true</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">e284ab</th>
                  <th align="left" colspan="1" rowspan="1">c3a5</th>
                  <th align="left" colspan="1" rowspan="1">true</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">efac80</th>
                  <th align="left" colspan="1" rowspan="1">6666</th>
                  <th align="left" colspan="1" rowspan="1">true</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">c39f</th>
                  <th align="left" colspan="1" rowspan="1">7353</th>
                  <th align="left" colspan="1" rowspan="1">false</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">c2a8</th>
                  <th align="left" colspan="1" rowspan="1">20cc88</th>
                  <th align="left" colspan="1" rowspan="1">true</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">c2a8</th>
                  <th align="left" colspan="1" rowspan="1">cc88</th>
                  <th align="left" colspan="1" rowspan="1">true</th>
                </tr>
                <tr>
                  <th align="left" colspan="1" rowspan="1">20cc88</th>
                  <th align="left" colspan="1" rowspan="1">cc88</th>
                  <th align="left" colspan="1" rowspan="1">true</th>
                </tr>
              </tbody>
            </table>
          </section>
        </section>
      </section>
    </section>
    <section anchor="iana" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-3-1">
      This document requires no interaction with the Internet Assigned Numbers
      Authority (IANA).
      </t>
    </section>
    <section anchor="security" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-4-1">
      This document is intended to provide test vectors for the PRECIS framework
      and its profiles.
      No assertion of the security of the PRECIS framework or its profiles for
      any particular use is intended.
      The reader is referred to <xref target="RFC8264" format="default" sectionFormat="of" derivedContent="RFC8264"/> for a
      discussion of the general security of the PRECIS framework.
      </t>
    </section>
  </middle>
  <back>
    <references pn="section-5">
      <name slugifiedName="name-references">References</name>
      <references pn="section-5.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC8264" target="https://www.rfc-editor.org/info/rfc8264" xml:base="https://www.rfc-editor.org/refs/bibxml/reference.RFC.8264.xml" quoteTitle="true" derivedAnchor="RFC8264">
          <front>
            <title>PRECIS Framework: Preparation, Enforcement, and Comparison of Internationalized Strings in Application Protocols</title>
            <author initials="P." surname="Saint-Andre" fullname="P. Saint-Andre">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Blanchet" fullname="M. Blanchet">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="October"/>
            <abstract>
              <t indent="0">Application protocols using Unicode code points in protocol strings need to properly handle such strings in order to enforce internationalization rules for strings placed in various protocol slots (such as addresses and identifiers) and to perform valid comparison operations (e.g., for purposes of authentication or authorization).  This document defines a framework enabling application protocols to perform the preparation, enforcement, and comparison of internationalized strings ("PRECIS") in a way that depends on the properties of Unicode code points and thus is more agile with respect to versions of Unicode.  As a result, this framework provides a more sustainable approach to the handling of internationalized strings than the previous framework, known as Stringprep (RFC 3454).  This document obsoletes RFC 7564.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8264"/>
          <seriesInfo name="DOI" value="10.17487/RFC8264"/>
        </reference>
      </references>
      <references pn="section-5.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="IANA.PRECIS.derived.property.value" target="https://www.iana.org/assignments/precis-tables-6.3.0/precis-tables-6.3.0.xhtml" quoteTitle="true" derivedAnchor="IANA.PRECIS.derived.property.value">
          <front>
            <title>PRECIS Derived Property Value</title>
            <author fullname="Patrik Fältström" asciiFullname="Patrik Faltstrom" initials="P." surname="Fältström" asciiSurname="Faltstrom"/>
            <date year="2015" month="March" day="23"/>
          </front>
          <format type="TXT" target="https://www.iana.org/assignments/precis-tables-6.3.0/precis-tables-6.3.0.txt"/>
        </reference>
        <reference anchor="RFC6365" target="https://www.rfc-editor.org/info/rfc6365" xml:base="https://www.rfc-editor.org/refs/bibxml/reference.RFC.6365.xml" quoteTitle="true" derivedAnchor="RFC6365">
          <front>
            <title>Terminology Used in Internationalization in the IETF</title>
            <author initials="P." surname="Hoffman" fullname="P. Hoffman">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Klensin" fullname="J. Klensin">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2011" month="September"/>
            <abstract>
              <t indent="0">This document provides a list of terms used in the IETF when discussing internationalization.  The purpose is to help frame discussions of internationalization in the various areas of the IETF and to help introduce the main concepts to IETF participants.   This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="166"/>
          <seriesInfo name="RFC" value="6365"/>
          <seriesInfo name="DOI" value="10.17487/RFC6365"/>
        </reference>
        <reference anchor="Unicode" target="http://www.unicode.org/versions/latest/" quoteTitle="true" derivedAnchor="Unicode">
          <front>
            <title>The Unicode Standard</title>
            <author>
              <organization showOnFrontPage="true">The Unicode Consortium</organization>
            </author>
            <date/>
          </front>
        </reference>
      </references>
    </references>
    <section anchor="acks" numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">
      The author would like to thank Marcel van Lohuizen of Google for his help
      and code reviews on the Go programming language implementation of PRECIS
      for which these tests were designed and for contributing many of the tests
      himself.
      Also, Peter Saint-Andre for his encouragement on this document.
      </t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-address">Author's Address</name>
      <author initials="S." surname="Whited" fullname="Sam Whited">
        <organization showOnFrontPage="true"/>
        <address>
          <postal>
            <street/>
            <city>Atlanta</city>
            <code>GA</code>
            <country>USA</country>
            <region/>
          </postal>
          <phone/>
          <email>sam@samwhited.com</email>
          <uri>https://blog.samwhited.com/</uri>
        </address>
      </author>
    </section>
  </back>
</rfc>
