<commit_before><?xml version="1.0" encoding="<%=ps[:coding]||"UTF-8"%>"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version <%=
    Gem.loaded_specs["kramdown-rfc2629"].version rescue nil %> -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<% ps.arr("bibxml") do |tag, sys| -%>
<!ENTITY <%= tag %> SYSTEM "<%= sys %>">
<% end -%>
<% ps.arr("entity", false) do |en, ev| -%>
<!ENTITY <%=en%> "<%=ev%>">
<% end -%>
]>

<% ps.arr("pi", false) do |pi, val| -%>
<?rfc <%=pi%>="<%= {true => "yes", false => "no", nil => "yes"}[val] || val %>"?>
<% end -%>

<rfc <%= ps.attrs("ipr", "docName=docname", "category=cat",
                  "consensus", "submissionType=submissiontype", "xml:lang=lang",
                  "number", "obsoletes", "updates", "seriesNo=seriesno") %>>

  <front>
    <%= ps.ele("title", ps.attr("abbrev=titleabbrev")) %>

<% ps.arr("author") do |au|
   aups = KramdownRFC::authorps_from_hash(au)
 -%>
<%= KramdownRFC::person_element_from_aups("author", aups) -%>
<%   aups.warn_if_leftovers  -%>
<% end -%>

    <date <%= KramdownRFC::dateattrs(ps[:date]||Date.today) %>/>

    <%= ps.ele("area") %>
    <%= ps.ele("workgroup=wg") %>
    <%= ps.ele("keyword=kw") %>

    <abstract>

<%= sechash.delete("abstract") %>

    </abstract>

<% sechash.keys.each do |k| -%>
<%   if k =~ /\A(to_be_removed_)?note_(.*)/ -%>

<% option = ""
       text = ""
       if $1
         if $options.v3
           option = " removeInRFC=\"true\""
         else
           text = "      <t>[This note is to be removed before publishing as an RFC.]</t>\n"
         end
       end
    -%>
    <note title="<%= $2.gsub("_", " ")%>"<%= option %>>
<%= text -%>

<%= sechash.delete(k) -%>

    </note>

<% end -%>
<% end -%>

  </front>

  <middle>

<%= sechash.delete("middle") %>

  </middle>

  <back>

<% if sh = sechash.delete("normative") -%>
    <references title='Normative References'>

<%= sh %>

    </references>
<% end -%>

<% if sh = sechash.delete("informative") -%>
    <references title='Informative References'>

<%= sh %>

    </references>
<% end -%>

<%= sechash.delete("back") %>
<% sh = sechash.delete("contributor") -%>
<% consec = ps.has("contributor") -%>
<% if sh || consec -%>
<%   if $options.v3 -%>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
        <name>Contributors</name>
<%   else -%>
    <section anchor="contributors" numbered="false" title="Contributors">
<%     warn "*** Cannot process YAML contributors under V2 rules" if consec -%>
<%   end -%>
<%= sh -%>
<% if $options.v3 && consec
     ps.arr("contributor") do |au|<commit_msg>Improve error message for contributor use in v2<commit_after><?xml version="1.0" encoding="<%=ps[:coding]||"UTF-8"%>"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version <%=
    Gem.loaded_specs["kramdown-rfc2629"].version rescue nil %> -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<% ps.arr("bibxml") do |tag, sys| -%>
<!ENTITY <%= tag %> SYSTEM "<%= sys %>">
<% end -%>
<% ps.arr("entity", false) do |en, ev| -%>
<!ENTITY <%=en%> "<%=ev%>">
<% end -%>
]>

<% ps.arr("pi", false) do |pi, val| -%>
<?rfc <%=pi%>="<%= {true => "yes", false => "no", nil => "yes"}[val] || val %>"?>
<% end -%>

<rfc <%= ps.attrs("ipr", "docName=docname", "category=cat",
                  "consensus", "submissionType=submissiontype", "xml:lang=lang",
                  "number", "obsoletes", "updates", "seriesNo=seriesno") %>>

  <front>
    <%= ps.ele("title", ps.attr("abbrev=titleabbrev")) %>

<% ps.arr("author") do |au|
   aups = KramdownRFC::authorps_from_hash(au)
 -%>
<%= KramdownRFC::person_element_from_aups("author", aups) -%>
<%   aups.warn_if_leftovers  -%>
<% end -%>

    <date <%= KramdownRFC::dateattrs(ps[:date]||Date.today) %>/>

    <%= ps.ele("area") %>
    <%= ps.ele("workgroup=wg") %>
    <%= ps.ele("keyword=kw") %>

    <abstract>

<%= sechash.delete("abstract") %>

    </abstract>

<% sechash.keys.each do |k| -%>
<%   if k =~ /\A(to_be_removed_)?note_(.*)/ -%>

<% option = ""
       text = ""
       if $1
         if $options.v3
           option = " removeInRFC=\"true\""
         else
           text = "      <t>[This note is to be removed before publishing as an RFC.]</t>\n"
         end
       end
    -%>
    <note title="<%= $2.gsub("_", " ")%>"<%= option %>>
<%= text -%>

<%= sechash.delete(k) -%>

    </note>

<% end -%>
<% end -%>

  </front>

  <middle>

<%= sechash.delete("middle") %>

  </middle>

  <back>

<% if sh = sechash.delete("normative") -%>
    <references title='Normative References'>

<%= sh %>

    </references>
<% end -%>

<% if sh = sechash.delete("informative") -%>
    <references title='Informative References'>

<%= sh %>

    </references>
<% end -%>

<%= sechash.delete("back") %>
<% sh = sechash.delete("contributor") -%>
<% consec = ps.has("contributor") -%>
<% if sh || consec -%>
<%   if $options.v3 -%>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
        <name>Contributors</name>
<%   else -%>
    <section anchor="contributors" numbered="false" title="Contributors">
<%     warn "*** To use YAML contributors, use --v3 (kdrfc -3)" if consec -%>
<%   end -%>
<%= sh -%>
<% if $options.v3 && consec
     ps.arr("contributor") do |au|
{'fraction_non_alphanumeric': 0.2506498329001114, 'fraction_numerical': 0.009654660230226514, 'mean_word_length': 3.1630602782071096, 'pattern_counts': {'":': 0, '<': 161, '<?xml version=': 2, '>': 165, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 8}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '483688', 'n_tokens_mistral': 2321, 'n_tokens_neox': 2051, 'n_words': 370}