[latex3-commits] [l3svn] branch master updated: Move l3regex to stable/expl3

noreply at latex-project.org noreply at latex-project.org
Fri May 26 09:11:50 CEST 2017


This is an automated email from the git hooks/post-receive script.

joseph pushed a commit to branch master
in repository l3svn.

The following commit(s) were added to refs/heads/master by this push:
       new  f56f108   Move l3regex to stable/expl3
f56f108 is described below

commit f56f1084d6a6e9b71bdacd808b476c9d6ca00744
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Fri May 26 08:11:28 2017 +0100

    Move l3regex to stable/expl3
---
 l3experimental/README.md                           |    6 +-
 l3experimental/l3str/l3str-convert.dtx             |    1 -
 l3experimental/l3str/l3str.ins                     |    5 -
 l3kernel/l3.ins                                    |    8 +-
 l3kernel/l3format.ins                              |    4 +
 {l3experimental/l3str => l3kernel}/l3intarray.dtx  |   48 +-
 l3kernel/l3msg.dtx                                 |   12 +
 l3kernel/l3oldmodules.dtx                          |   16 +-
 {l3experimental/l3str => l3kernel}/l3regex.dtx     |   30 +-
 .../l3str => l3kernel}/l3tl-analysis.dtx           |   17 +-
 {l3experimental/l3str => l3kernel}/l3tl-build.dtx  |   25 +-
 l3kernel/source3body.tex                           |    4 +
 l3kernel/testfiles/m3expl001.luatex.tlg            |  635 ++++++++++++++++++-
 l3kernel/testfiles/m3expl001.ptex.tlg              |  631 ++++++++++++++++++-
 l3kernel/testfiles/m3expl001.tlg                   |  637 +++++++++++++++++++-
 l3kernel/testfiles/m3expl001.uptex.tlg             |  629 ++++++++++++++++++-
 l3kernel/testfiles/m3expl001.xetex.tlg             |  629 ++++++++++++++++++-
 l3kernel/testfiles/m3expl002.luatex.tlg            |  107 +++-
 l3kernel/testfiles/m3expl002.ptex.tlg              |  103 +++-
 l3kernel/testfiles/m3expl002.tlg                   |  109 +++-
 l3kernel/testfiles/m3expl002.uptex.tlg             |  101 +++-
 l3kernel/testfiles/m3expl002.xetex.tlg             |  101 +++-
 l3kernel/testfiles/m3expl003.luatex.tlg            |  635 ++++++++++++++++++-
 l3kernel/testfiles/m3expl003.ptex.tlg              |  631 ++++++++++++++++++-
 l3kernel/testfiles/m3expl003.tlg                   |  637 +++++++++++++++++++-
 l3kernel/testfiles/m3expl003.uptex.tlg             |  629 ++++++++++++++++++-
 l3kernel/testfiles/m3expl003.xetex.tlg             |  629 ++++++++++++++++++-
 l3kernel/testfiles/m3expl004.luatex.tlg            |  107 +++-
 l3kernel/testfiles/m3expl004.ptex.tlg              |  103 +++-
 l3kernel/testfiles/m3expl004.tlg                   |  109 +++-
 l3kernel/testfiles/m3expl004.uptex.tlg             |  101 +++-
 l3kernel/testfiles/m3expl004.xetex.tlg             |  101 +++-
 l3kernel/testfiles/m3expl006.luatex.tlg            |  107 +++-
 l3kernel/testfiles/m3expl006.ptex.tlg              |  103 +++-
 l3kernel/testfiles/m3expl006.tlg                   |  109 +++-
 l3kernel/testfiles/m3expl006.uptex.tlg             |  101 +++-
 l3kernel/testfiles/m3expl006.xetex.tlg             |  101 +++-
 l3kernel/testfiles/m3int001.luatex.tlg             |   16 +-
 l3kernel/testfiles/m3int001.ptex.tlg               |   16 +-
 l3kernel/testfiles/m3int001.tlg                    |   16 +-
 l3kernel/testfiles/m3int001.uptex.tlg              |   16 +-
 l3kernel/testfiles/m3int001.xetex.tlg              |   16 +-
 l3kernel/testfiles/m3int002.luatex.tlg             |   46 +-
 l3kernel/testfiles/m3int002.ptex.tlg               |   46 +-
 l3kernel/testfiles/m3int002.tlg                    |   46 +-
 l3kernel/testfiles/m3int002.uptex.tlg              |   46 +-
 l3kernel/testfiles/m3int002.xetex.tlg              |   46 +-
 .../testfiles/m3intarray001.luatex.tlg             |    8 +-
 .../l3str => l3kernel}/testfiles/m3intarray001.lvt |    1 -
 .../l3str => l3kernel}/testfiles/m3intarray001.tlg |    8 +-
 l3kernel/testfiles/m3quark001.tlg                  |    2 +-
 .../l3str => l3kernel}/testfiles/m3regex001.lvt    |    3 +-
 .../l3str => l3kernel}/testfiles/m3regex001.tlg    |    0
 .../l3str => l3kernel}/testfiles/m3regex002.lvt    |    3 +-
 .../l3str => l3kernel}/testfiles/m3regex002.tlg    |    0
 .../l3str => l3kernel}/testfiles/m3regex003.lvt    |    3 +-
 .../l3str => l3kernel}/testfiles/m3regex003.tlg    |    0
 .../l3str => l3kernel}/testfiles/m3regex004.lvt    |    3 +-
 .../l3str => l3kernel}/testfiles/m3regex004.tlg    |    0
 .../l3str => l3kernel}/testfiles/m3regex005.lvt    |    1 -
 .../l3str => l3kernel}/testfiles/m3regex005.tlg    |    0
 .../testfiles/m3regex006.luatex.tlg                |    0
 .../l3str => l3kernel}/testfiles/m3regex006.lvt    |    3 +-
 .../l3str => l3kernel}/testfiles/m3regex006.tlg    |    0
 .../l3str => l3kernel}/testfiles/m3regex007.lvt    |    3 +-
 .../l3str => l3kernel}/testfiles/m3regex007.tlg    |    0
 .../l3str => l3kernel}/testfiles/m3regex008.lvt    |    3 +-
 .../l3str => l3kernel}/testfiles/m3regex008.tlg    |    0
 .../l3str => l3kernel}/testfiles/m3regex009.lvt    |    3 +-
 .../l3str => l3kernel}/testfiles/m3regex009.tlg    |    0
 .../testfiles/m3regex010.luatex.tlg                |    0
 .../l3str => l3kernel}/testfiles/m3regex010.lvt    |    3 +-
 .../l3str => l3kernel}/testfiles/m3regex010.tlg    |    0
 .../testfiles/m3tl-analysis001.luatex.tlg          |    2 +-
 .../testfiles/m3tl-analysis001.lvt                 |    3 +-
 .../testfiles/m3tl-analysis001.ptex.tlg            |    2 +-
 .../testfiles/m3tl-analysis001.tlg                 |    2 +-
 .../testfiles/m3tl-analysis001.uptex.tlg           |    2 +-
 .../testfiles/m3tl-analysis001.xetex.tlg           |    2 +-
 .../l3str => l3kernel}/testfiles/m3tl-build001.lvt |    3 +-
 .../l3str => l3kernel}/testfiles/m3tl-build001.tlg |    0
 81 files changed, 7382 insertions(+), 1052 deletions(-)

diff --git a/l3experimental/README.md b/l3experimental/README.md
index a4fcc33..06df281 100644
--- a/l3experimental/README.md
+++ b/l3experimental/README.md
@@ -32,11 +32,7 @@ A 'string' in TeX terms is a token list in which all of the tokens have
 category code 12 ('other'), with the exception of spaces which have the
 category code 10 ('space'). The `l3str` bundle consists of two parts. The
 first is `l3str` itself. This is a collection of functions to act on strings,
-including for manipulations such as UTF8 mappings in pdfTeX. The second
-part of the bundle is `l3regex`, a regular expression search-and-replace
-implementation written in TeX primitives. The regex module works on token
-lists, and is part of `l3str` (currently) for historical reasons: the team
-anticipate splitting the two in the future.
+including for manipulations such as UTF8 mappings in pdfTeX.
 
 `xcoffins`
 ----------
diff --git a/l3experimental/l3str/l3str-convert.dtx b/l3experimental/l3str/l3str-convert.dtx
index 4e4b8c3..83b5924 100644
--- a/l3experimental/l3str/l3str-convert.dtx
+++ b/l3experimental/l3str/l3str-convert.dtx
@@ -254,7 +254,6 @@
 %    \begin{macrocode}
 \ProvidesExplPackage{l3str-convert}{2017/05/13}{}
   {L3 Experimental string encoding conversions}
-\RequirePackage{l3tl-analysis,l3tl-build}
 %    \end{macrocode}
 %
 % \subsection{Helpers}
diff --git a/l3experimental/l3str/l3str.ins b/l3experimental/l3str/l3str.ins
index be46fd2..2f2ed04 100644
--- a/l3experimental/l3str/l3str.ins
+++ b/l3experimental/l3str/l3str.ins
@@ -51,13 +51,8 @@ and all files in that bundle must be distributed together.
 
 \keepsilent
 
-\generate{\file{l3regex.sty}  {\from{l3regex.dtx}   {package}}}
 \generate{\file{l3str-convert.sty}  {\from{l3str-convert.dtx}  {package}}}
 \generate{\file{l3str-format.sty}   {\from{l3str-format.dtx}   {package}}}
-\generate{\file{l3tl-analysis.sty}  {\from{l3tl-analysis.dtx}  {package}}}
-\generate{\file{l3tl-build.sty}     {\from{l3tl-build.dtx}     {package}}}
-\generate{\file{l3regex-trace.sty}  {\from{l3regex.dtx}  {package,trace}}}
-\generate{\file{l3intarray.sty}     {\from{l3intarray.dtx}     {package}}}
 
 % Escapings.
 \generate{%
diff --git a/l3kernel/l3.ins b/l3kernel/l3.ins
index a228522..94b3fe3 100644
--- a/l3kernel/l3.ins
+++ b/l3kernel/l3.ins
@@ -67,6 +67,7 @@ and all files in that bundle must be distributed together.
         \from{l3str.dtx}        {package}
         \from{l3seq.dtx}        {package}
         \from{l3int.dtx}        {package}
+        \from{l3intarray.dtx}   {package}
         \from{l3flag.dtx}       {package}
         \from{l3quark.dtx}      {package}
         \from{l3prg.dtx}        {package}
@@ -91,6 +92,9 @@ and all files in that bundle must be distributed together.
         \from{l3fp-random.dtx}  {package}
         \from{l3fp-assign.dtx}  {package}
         \from{l3sort.dtx}       {package}
+        \from{l3tl-build.dtx}   {package}
+        \from{l3tl-analysis.dtx}{package}
+        \from{l3regex.dtx}      {package}
         \from{l3box.dtx}        {package}
         \from{l3coffins.dtx}    {package}
         \from{l3color.dtx}      {package}
@@ -138,11 +142,13 @@ and all files in that bundle must be distributed together.
 \generate{\file{l3prg.sty}        {\from{l3oldmodules.dtx}       {l3prg,oldmodules}}}
 \generate{\file{l3prop.sty}       {\from{l3oldmodules.dtx}       {l3prop,oldmodules}}}
 \generate{\file{l3quark.sty}      {\from{l3oldmodules.dtx}       {l3quark,oldmodules}}}
+\generate{\file{l3regex.sty}      {\from{l3oldmodules.dtx}       {l3regex,oldmodules}}}
 \generate{\file{l3seq.sty}        {\from{l3oldmodules.dtx}       {l3seq,oldmodules}}}
 \generate{\file{l3skip.sty}       {\from{l3oldmodules.dtx}       {l3skip,oldmodules}}}
-\generate{\file{l3sort.sty}        {\from{l3oldmodules.dtx}      {l3sort,oldmodules}}}
+\generate{\file{l3sort.sty}       {\from{l3oldmodules.dtx}       {l3sort,oldmodules}}}
 \generate{\file{l3str.sty}        {\from{l3oldmodules.dtx}       {l3str,oldmodules}}}
 \generate{\file{l3tl.sty}         {\from{l3oldmodules.dtx}       {l3tl,oldmodules}}}
+\generate{\file{l3tl-analysis.sty}{\from{l3oldmodules.dtx}       {l3tl-analysis,oldmodules}}}
 \generate{\file{l3token.sty}      {\from{l3oldmodules.dtx}       {l3token,oldmodules}}}
 
 % Lua code
diff --git a/l3kernel/l3format.ins b/l3kernel/l3format.ins
index 8251cfa..ec08983 100644
--- a/l3kernel/l3format.ins
+++ b/l3kernel/l3format.ins
@@ -67,6 +67,7 @@ and all files in that bundle must be distributed together.
         \from{l3alloc.dtx}      {initex}
         % ==============================
         \from{l3int.dtx}        {initex}
+        \from{l3intarray.dtx}   {initex}
         \from{l3flag.dtx}       {initex}
         \from{l3quark.dtx}      {initex}
         \from{l3prg.dtx}        {initex}
@@ -91,6 +92,9 @@ and all files in that bundle must be distributed together.
         \from{l3fp-random.dtx}  {initex}
         \from{l3fp-assign.dtx}  {initex}
         \from{l3sort.dtx}       {initex}
+        \from{l3tl-build.dtx}   {initex}
+        \from{l3tl-analysis.dtx}{initex}
+        \from{l3regex.dtx}      {initex}
         \from{l3box.dtx}        {initex}
         \from{l3coffins.dtx}    {initex}
         \from{l3color.dtx}      {initex}
diff --git a/l3experimental/l3str/l3intarray.dtx b/l3kernel/l3intarray.dtx
similarity index 81%
rename from l3experimental/l3str/l3intarray.dtx
rename to l3kernel/l3intarray.dtx
index 0327082..dae17be 100644
--- a/l3experimental/l3str/l3intarray.dtx
+++ b/l3kernel/l3intarray.dtx
@@ -9,7 +9,7 @@
 %
 %    http://www.latex-project.org/lppl.txt
 %
-% This file is part of the "l3experimental bundle" (The Work in LPPL)
+% This file is part of the "l3kernel bundle" (The Work in LPPL)
 % and all files in that bundle must be distributed together.
 %
 % -----------------------------------------------------------------------
@@ -20,26 +20,8 @@
 %
 % for those people who are interested.
 %
-%<*driver|package>
-% The version of expl3 required is tested as early as possible, as
-% some really old versions do not define \ProvidesExplPackage.
-\RequirePackage{expl3}[2017/05/13]
-%<package>\@ifpackagelater{expl3}{2017/05/13}
-%<package>  {}
-%<package>  {%
-%<package>    \PackageError{l3intarray}{Support package l3kernel too old}
-%<package>      {%
-%<package>        Please install an up to date version of l3kernel\MessageBreak
-%<package>        using your TeX package manager or from CTAN.\MessageBreak
-%<package>        \MessageBreak
-%<package>        Loading l3intarray will abort!%
-%<package>      }%
-%<package>    \endinput
-%<package>  }
-%</driver|package>
 %<*driver>
 \documentclass[full]{l3doc}
-\usepackage{amsmath}
 \begin{document}
   \DocInput{\jobname.dtx}
 \end{document}
@@ -142,11 +124,6 @@
 %<@@=intarray>
 %    \end{macrocode}
 %
-%    \begin{macrocode}
-\ProvidesExplPackage{l3intarray}{2017/05/13}{}
-  {L3 Experimental low-level arrays of small integers}
-%    \end{macrocode}
-%
 % \subsection{Allocating arrays}
 %
 % \begin{variable}{\g_@@_font_int}
@@ -207,7 +184,7 @@
         \int_compare:nTF { - \c_max_dim <= \int_abs:n {#3} <= \c_max_dim }
           { \@@_gset_fast:Nnn #1 {#2} {#3} }
           {
-            \__msg_kernel_error:nnxxxx { intarray } { overflow }
+            \__msg_kernel_error:nnxxxx { kernel } { overflow }
               { \token_to_str:N #1 } {#2} {#3}
               { \int_compare:nNnT {#3} < 0 { - } \__int_value:w \c_max_dim }
             \@@_gset_fast:Nnn #1 {#2}
@@ -215,7 +192,7 @@
           }
       }
       {
-        \__msg_kernel_error:nnxxx { intarray } { out-of-bounds }
+        \__msg_kernel_error:nnxxx { kernel } { out-of-bounds }
           { \token_to_str:N #1 } {#2} { \@@_count:N #1 }
       }
   }
@@ -236,7 +213,7 @@
     \int_compare:nTF { 1 <= #2 <= \@@_count:N #1 }
       { \@@_item_fast:Nn #1 {#2} }
       {
-        \__msg_kernel_expandable_error:nnnnn { intarray } { out-of-bounds }
+        \__msg_kernel_expandable_error:nnnnn { kernel } { out-of-bounds }
           { \token_to_str:N #1 } {#2} { \@@_count:N #1 }
         0
       }
@@ -245,23 +222,6 @@
 % \end{macro}
 % \end{macro}
 %
-% \subsection{Messages}
-%
-%    \begin{macrocode}
-\__msg_kernel_new:nnnn { intarray } { overflow }
-  { Integers~larger~than~2^{30}-1~cannot~be~stored~in~arrays. }
-  {
-    An~attempt~was~made~to~store~#3~at~position~#2~in~the~array~'#1'.~
-    The~largest~allowed~value~#4~will~be~used~instead.
-  }
-\__msg_kernel_new:nnnn { intarray } { out-of-bounds }
-  { Access~to~an~entry~beyond~an~array's~bounds. }
-  {
-    An~attempt~was~made~to~access~or~store~data~at~position~#2~of~the~
-    array~'#1',~but~this~array~has~entries~at~positions~from~1~to~#3.
-  }
-%    \end{macrocode}
-%
 %    \begin{macrocode}
 %</initex|package>
 %    \end{macrocode}
diff --git a/l3kernel/l3msg.dtx b/l3kernel/l3msg.dtx
index 466da62..1ceff86 100644
--- a/l3kernel/l3msg.dtx
+++ b/l3kernel/l3msg.dtx
@@ -1902,6 +1902,18 @@
     needed~when~defining~conditionals~or~variants,~or~when~building~a~
     parameter~text~from~the~number~of~arguments~of~the~function.
   }
+\@@_kernel_new:nnnn { kernel } { overflow }
+  { Integers~larger~than~2^{30}-1~cannot~be~stored~in~arrays. }
+  {
+    An~attempt~was~made~to~store~#3~at~position~#2~in~the~array~'#1'.~
+    The~largest~allowed~value~#4~will~be~used~instead.
+  }
+\@@_kernel_new:nnnn { kernel } { out-of-bounds }
+  { Access~to~an~entry~beyond~an~array's~bounds. }
+  {
+    An~attempt~was~made~to~access~or~store~data~at~position~#2~of~the~
+    array~'#1',~but~this~array~has~entries~at~positions~from~1~to~#3.
+  }
 \@@_kernel_new:nnnn { kernel } { protected-predicate }
   { Predicate~'#1'~must~be~expandable. }
   {
diff --git a/l3kernel/l3oldmodules.dtx b/l3kernel/l3oldmodules.dtx
index b52cec0..2817bea 100644
--- a/l3kernel/l3oldmodules.dtx
+++ b/l3kernel/l3oldmodules.dtx
@@ -103,11 +103,13 @@
 %<l3prg>{l3prg}
 %<l3prop>{l3prop}
 %<l3quark>{l3quark}
+%<l3regex>{l3regex}
 %<l3seq>{l3seq}
 %<l3skip>{l3skip}
 %<l3sort>{l3sort}
 %<l3str>{l3str}
 %<l3tl>{l3tl}
+%<l3tl-analysis>{l3tl-analysis}
 %<l3token>{l3token}
 %    \end{macrocode}
 %
@@ -127,20 +129,20 @@
 \typeout{** }
 \typeout{** Its functionality is now only provided as part of the expl3 package.}
 \typeout{** }
-%<!l3sort>\typeout{** After showing you an error message you can hit <return> we will continue}
-%<!l3sort>\typeout{** for now by loading expl3 for you. However, the old packages will be}
-%<!l3sort>\typeout{** removed entirely at the end of 2017.}
-%<l3sort>\typeout{** The old packages will be removed entirely at the end of 2018.}
+%<!l3regex|l3sort|l3tl-analysis>\typeout{** After showing you an error message you can hit <return> we will continue}
+%<!l3regex|l3sort|l3tl-analysis>\typeout{** for now by loading expl3 for you. However, the old packages will be}
+%<!l3regex|l3sort|l3tl-analysis>\typeout{** removed entirely at the end of 2017.}
+%<l3regex|l3sort|l3tl-analysis>\typeout{** The old packages will be removed entirely at the end of 2018.}
 \typeout{** }
 \typeout{** Therefore, please replace '\string\usepackage{\old at liii@module at name}'}
 \typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
 \typeout{** }
 \typeout{*******************************************************************}
-%<!l3sort>\PackageError
-%<l3sort>\PackageWarning
+%<!l3regex|l3sort|l3tl-analysis>\PackageError
+%<l3regex|l3sort|l3tl-analysis>\PackageWarning
   \old at liii@module at name{This package is obsolete ---
    use 'expl3' instead}
-%<!l3sort>  \@ehc
+%<!l3regex|l3sort|l3tl-analysis>  \@ehc
 %    \end{macrocode}
 %    Finally load \texttt{expl3} so that the user can continue for now.
 %    \begin{macrocode}
diff --git a/l3experimental/l3str/l3regex.dtx b/l3kernel/l3regex.dtx
similarity index 99%
rename from l3experimental/l3str/l3regex.dtx
rename to l3kernel/l3regex.dtx
index ddfbc79..1b2a6c3 100644
--- a/l3experimental/l3str/l3regex.dtx
+++ b/l3kernel/l3regex.dtx
@@ -9,7 +9,7 @@
 %
 %    http://www.latex-project.org/lppl.txt
 %
-% This file is part of the "l3experimental bundle" (The Work in LPPL)
+% This file is part of the "l3kernel bundle" (The Work in LPPL)
 % and all files in that bundle must be distributed together.
 %
 % -----------------------------------------------------------------------
@@ -20,26 +20,8 @@
 %
 % for those people who are interested.
 %
-%<*driver|package>
-% The version of expl3 required is tested as early as possible, as
-% some really old versions do not define \ProvidesExplPackage.
-\RequirePackage{expl3}[2017/05/13]
-%<package>\@ifpackagelater{expl3}{2017/05/13}
-%<package>  {}
-%<package>  {%
-%<package>    \PackageError{l3regex}{Support package l3kernel too old}
-%<package>      {%
-%<package>        Please install an up to date version of l3kernel\MessageBreak
-%<package>        using your TeX package manager or from CTAN.\MessageBreak
-%<package>        \MessageBreak
-%<package>        Loading l3regex will abort!%
-%<package>      }%
-%<package>    \endinput
-%<package>  }
-%</driver|package>
 %<*driver>
 \documentclass[full]{l3doc}
-\usepackage{amsmath}
 \begin{document}
   \DocInput{\jobname.dtx}
 \end{document}
@@ -68,7 +50,7 @@
 %   {\begin{itemize}\def\\{\char`\\}\def\makelabel##1{\hss\llap{\ttfamily##1}}}
 %   {\end{itemize}}
 %
-% \section{\pkg{l3regex} documentation}
+% \section{Regular expressions}
 %
 % The \pkg{l3regex} package provides regular expression testing,
 % extraction of submatches, splitting, and replacement, all acting
@@ -742,14 +724,6 @@
 %<@@=regex>
 %    \end{macrocode}
 %
-%    \begin{macrocode}
-%<*package>
-\ProvidesExplPackage{l3regex}{2017/05/13}{}
-  {L3 Experimental regular expressions}
-\RequirePackage{l3tl-build, l3tl-analysis, l3intarray}
-%</package>
-%    \end{macrocode}
-%
 % \subsection{Plan of attack}
 %
 % Most regex engines use backtracking. This allows to provide very
diff --git a/l3experimental/l3str/l3tl-analysis.dtx b/l3kernel/l3tl-analysis.dtx
similarity index 99%
rename from l3experimental/l3str/l3tl-analysis.dtx
rename to l3kernel/l3tl-analysis.dtx
index 5dd95a5..0fb6d73 100644
--- a/l3experimental/l3str/l3tl-analysis.dtx
+++ b/l3kernel/l3tl-analysis.dtx
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-%% File: l3tl-analysis.dtx Copyright (C) 2011-2012,2015-2017 The LaTeX3 Project
+%% File: l3tl-analysis.dtx Copyright (C) 2011-2012,2015-2017 The LaTeX3 Project%
 %
 % It may be distributed and/or modified under the conditions of the
 % LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -9,7 +9,7 @@
 %
 %    http://www.latex-project.org/lppl.txt
 %
-% This file is part of the "l3experimental bundle" (The Work in LPPL)
+% This file is part of the "l3kernel bundle" (The Work in LPPL)
 % and all files in that bundle must be distributed together.
 %
 % -----------------------------------------------------------------------
@@ -20,12 +20,8 @@
 %
 % for those people who are interested.
 %
-%<*driver|package>
-\RequirePackage{expl3}
-%</driver|package>
 %<*driver>
 \documentclass[full]{l3doc}
-\usepackage{amsmath}
 \begin{document}
   \DocInput{\jobname.dtx}
 \end{document}
@@ -170,11 +166,6 @@
 %<@@=tl_analysis>
 %    \end{macrocode}
 %
-%    \begin{macrocode}
-\ProvidesExplPackage{l3tl-analysis}{2017/05/13}{}
-  {L3 Experimental token list analysis}
-%    \end{macrocode}
-%
 % \subsection{Variables and helper functions}
 %
 % \begin{variable}{\s__tl}
@@ -410,9 +401,7 @@
       \tex_lowercase:D { \tex_let:D ^^@ } \tex_undefined:D
       \@@_disable_loop:N
     }
-  \bool_lazy_or:nnT
-    { \sys_if_engine_ptex_p: }
-    { \sys_if_engine_uptex_p: }
+  \cs_if_exist:NT \ptex_kanjiskip:D
     {
       \cs_gset_protected:Npn \@@_disable_loop:N #1
         {
diff --git a/l3experimental/l3str/l3tl-build.dtx b/l3kernel/l3tl-build.dtx
similarity index 91%
rename from l3experimental/l3str/l3tl-build.dtx
rename to l3kernel/l3tl-build.dtx
index bbdb395..2ab7e0b 100644
--- a/l3experimental/l3str/l3tl-build.dtx
+++ b/l3kernel/l3tl-build.dtx
@@ -9,7 +9,7 @@
 %
 %    http://www.latex-project.org/lppl.txt
 %
-% This file is part of the "l3experimental bundle" (The Work in LPPL)
+% This file is part of the "l3kernel bundle" (The Work in LPPL)
 % and all files in that bundle must be distributed together.
 %
 % -----------------------------------------------------------------------
@@ -20,26 +20,8 @@
 %
 % for those people who are interested.
 %
-%<*driver|package>
-% The version of expl3 required is tested as early as possible, as
-% some really old versions do not define \ProvidesExplPackage.
-\RequirePackage{expl3}[2017/05/13]
-%<package>\@ifpackagelater{expl3}{2017/05/13}
-%<package>  {}
-%<package>  {%
-%<package>    \PackageError{l3tl-build}{Support package l3kernel too old}
-%<package>      {%
-%<package>        Please install an up to date version of l3kernel\MessageBreak
-%<package>        using your TeX package manager or from CTAN.\MessageBreak
-%<package>        \MessageBreak
-%<package>        Loading l3tl-build will abort!%
-%<package>      }%
-%<package>    \endinput
-%<package>  }
-%</driver|package>
 %<*driver>
 \documentclass[full]{l3doc}
-\usepackage{amsmath}
 \begin{document}
   \DocInput{\jobname.dtx}
 \end{document}
@@ -149,11 +131,6 @@
 %<@@=tl_build>
 %    \end{macrocode}
 %
-%    \begin{macrocode}
-\ProvidesExplPackage{l3tl-build}{2017/05/13}{}
-  {L3 Experimental token list construction}
-%    \end{macrocode}
-%
 % \subsection{Variables and helper functions}
 %
 % \begin{variable}{\l_@@_start_index_int, \l_@@_index_int}
diff --git a/l3kernel/source3body.tex b/l3kernel/source3body.tex
index d8a4777..b8f445e 100644
--- a/l3kernel/source3body.tex
+++ b/l3kernel/source3body.tex
@@ -419,6 +419,7 @@ used on top of \LaTeXe{} if \cs{outer} tokens are used in the arguments.
 \DocInput{l3str.dtx}
 \DocInput{l3seq.dtx}
 \DocInput{l3int.dtx}
+\DocInput{l3intarray.dtx}
 \DocInput{l3flag.dtx}
 \DocInput{l3quark.dtx}
 \DocInput{l3prg.dtx}
@@ -452,6 +453,9 @@ used on top of \LaTeXe{} if \cs{outer} tokens are used in the arguments.
 \ExplSyntaxOff
 
 \DocInput{l3sort.dtx}
+\DocInput{l3tl-analysis.dtx}
+\DocInput{l3tl-build.dtx}
+\DocInput{l3regex.dtx}
 \DocInput{l3box.dtx}
 \DocInput{l3coffins.dtx}
 \DocInput{l3color.dtx}
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index 06f468e..047b285 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -1666,6 +1666,16 @@ Defining \g_tmpa_int on line ...
 Defining \g_tmpb_int on line ...
 \g_tmpb_int=\count116
 Defining \c_minus_one on line ...
+Defining \g__intarray_font_int on line ...
+\g__intarray_font_int=\count117
+Defining \__intarray_new:Nn on line ...
+Defining \__intarray_count:N on line ...
+Defining \__intarray_gset_fast:Nnn on line ...
+Defining \__intarray_gset:Nnn on line ...
+Defining \__intarray_gset_aux:Nnn on line ...
+Defining \__intarray_item_fast:Nn on line ...
+Defining \__intarray_item:Nn on line ...
+Defining \__intarray_item_aux:Nn on line ...
 Defining \flag_new:n on line ...
 Defining \flag_clear:n on line ...
 Defining \__flag_clear:wn on line ...
@@ -1888,7 +1898,7 @@ Defining \mode_if_math:TF on line ...
 Defining \group_align_safe_begin: on line ...
 Defining \group_align_safe_end: on line ...
 Defining \g__prg_map_int on line ...
-\g__prg_map_int=\count117
+\g__prg_map_int=\count118
 Defining \c_empty_clist on line ...
 Defining \l__clist_internal_clist on line ...
 Defining \__clist_tmp:w on line ...
@@ -2785,6 +2795,8 @@ Defining message LaTeX/kernel/empty-search-pattern on line ...
 Defining message LaTeX/kernel/out-of-registers on line ...
 Defining message LaTeX/kernel/non-base-function on line ...
 Defining message LaTeX/kernel/missing-colon on line ...
+Defining message LaTeX/kernel/overflow on line ...
+Defining message LaTeX/kernel/out-of-bounds on line ...
 Defining message LaTeX/kernel/protected-predicate on line ...
 Defining message LaTeX/kernel/conditional-form-unknown on line ...
 Defining message LaTeX/kernel/scanmark-already-defined on line ...
@@ -2882,7 +2894,7 @@ Defining \ior_get:NN on line ...
 Defining \ior_str_get:NN on line ...
 Defining \g__file_internal_ior on line ...
 Defining \c_log_iow on line ...
-\c_log_iow=\count118
+\c_log_iow=\count119
 Defining \c_term_iow on line ...
 Defining \g__iow_streams_seq on line ...
 Defining \l__iow_stream_tl on line ...
@@ -2919,18 +2931,18 @@ Defining \iow_newline: on line ...
 Defining \iow_char:N on line ...
 Defining \c_catcode_other_space_tl on line ...
 Defining \l_iow_line_count_int on line ...
-\l_iow_line_count_int=\count119
+\l_iow_line_count_int=\count120
 Defining \l__iow_newline_tl on line ...
 Defining \l__iow_line_target_int on line ...
-\l__iow_line_target_int=\count120
+\l__iow_line_target_int=\count121
 Defining \l__iow_one_indent_tl on line ...
 Defining \l__iow_one_indent_int on line ...
-\l__iow_one_indent_int=\count121
+\l__iow_one_indent_int=\count122
 Defining \__iow_unindent:w on line ...
 Defining \__iow_set_indent:n on line ...
 Defining \l__iow_indent_tl on line ...
 Defining \l__iow_indent_int on line ...
-\l__iow_indent_int=\count122
+\l__iow_indent_int=\count123
 Defining \l__iow_line_tl on line ...
 Defining \l__iow_line_part_tl on line ...
 Defining \l__iow_line_break_bool on line ...
@@ -3246,7 +3258,7 @@ Defining \c__keys_type_root_tl on line ...
 Defining \c__keys_validate_root_tl on line ...
 Defining \c__keys_props_root_tl on line ...
 Defining \l_keys_choice_int on line ...
-\l_keys_choice_int=\count123
+\l_keys_choice_int=\count124
 Defining \l_keys_choice_tl on line ...
 Defining \l__keys_groups_clist on line ...
 Defining \l_keys_key_tl on line ...
@@ -3483,25 +3495,25 @@ Defining \__fp_exp_after_normal:Nwwwww on line ...
 Defining \__fp_exp_after_array_f:w on line ...
 Defining \__fp_exp_after_stop_f:nw on line ...
 Defining \c__fp_leading_shift_int on line ...
-\c__fp_leading_shift_int=\count124
+\c__fp_leading_shift_int=\count125
 Defining \c__fp_middle_shift_int on line ...
-\c__fp_middle_shift_int=\count125
+\c__fp_middle_shift_int=\count126
 Defining \c__fp_trailing_shift_int on line ...
-\c__fp_trailing_shift_int=\count126
+\c__fp_trailing_shift_int=\count127
 Defining \__fp_pack:NNNNNw on line ...
 Defining \c__fp_big_leading_shift_int on line ...
-\c__fp_big_leading_shift_int=\count127
+\c__fp_big_leading_shift_int=\count128
 Defining \c__fp_big_middle_shift_int on line ...
-\c__fp_big_middle_shift_int=\count128
+\c__fp_big_middle_shift_int=\count129
 Defining \c__fp_big_trailing_shift_int on line ...
-\c__fp_big_trailing_shift_int=\count129
+\c__fp_big_trailing_shift_int=\count130
 Defining \__fp_pack_big:NNNNNNw on line ...
 Defining \c__fp_Bigg_leading_shift_int on line ...
-\c__fp_Bigg_leading_shift_int=\count130
+\c__fp_Bigg_leading_shift_int=\count131
 Defining \c__fp_Bigg_middle_shift_int on line ...
-\c__fp_Bigg_middle_shift_int=\count131
+\c__fp_Bigg_middle_shift_int=\count132
 Defining \c__fp_Bigg_trailing_shift_int on line ...
-\c__fp_Bigg_trailing_shift_int=\count132
+\c__fp_Bigg_trailing_shift_int=\count133
 Defining \__fp_pack_Bigg:NNNNNNw on line ...
 Defining \__fp_pack_twice_four:wNNNNNNNN on line ...
 Defining \__fp_pack_eight:wNNNNNNNN on line ...
@@ -4203,11 +4215,11 @@ Defining \__fp_parse_word_rand:N on line ...
 Defining \__fp_parse_word_randint:N on line ...
 Defining \__fp_rand_uniform: on line ...
 Defining \c__fp_rand_size_int on line ...
-\c__fp_rand_size_int=\count133
+\c__fp_rand_size_int=\count134
 Defining \c__fp_rand_four_int on line ...
-\c__fp_rand_four_int=\count134
+\c__fp_rand_four_int=\count135
 Defining \c__fp_rand_eight_int on line ...
-\c__fp_rand_eight_int=\count135
+\c__fp_rand_eight_int=\count136
 Defining \__fp_rand_myriads:n on line ...
 Defining \__fp_rand_myriads_loop:nn on line ...
 Defining \__fp_rand_myriads_get:w on line ...
@@ -4272,27 +4284,27 @@ Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
 Defining \l__sort_length_int on line ...
-\l__sort_length_int=\count136
+\l__sort_length_int=\count137
 Defining \l__sort_min_int on line ...
-\l__sort_min_int=\count137
+\l__sort_min_int=\count138
 Defining \l__sort_top_int on line ...
-\l__sort_top_int=\count138
+\l__sort_top_int=\count139
 Defining \l__sort_max_int on line ...
-\l__sort_max_int=\count139
+\l__sort_max_int=\count140
 Defining \l__sort_true_max_int on line ...
-\l__sort_true_max_int=\count140
+\l__sort_true_max_int=\count141
 Defining \l__sort_block_int on line ...
-\l__sort_block_int=\count141
+\l__sort_block_int=\count142
 Defining \l__sort_begin_int on line ...
-\l__sort_begin_int=\count142
+\l__sort_begin_int=\count143
 Defining \l__sort_end_int on line ...
-\l__sort_end_int=\count143
+\l__sort_end_int=\count144
 Defining \l__sort_A_int on line ...
-\l__sort_A_int=\count144
+\l__sort_A_int=\count145
 Defining \l__sort_B_int on line ...
-\l__sort_B_int=\count145
+\l__sort_B_int=\count146
 Defining \l__sort_C_int on line ...
-\l__sort_C_int=\count146
+\l__sort_C_int=\count147
 Defining \__sort_shrink_range: on line ...
 Defining \__sort_shrink_range_loop: on line ...
 Defining \__sort_compute_range: on line ...
@@ -4349,6 +4361,567 @@ Defining message LaTeX/sort/return-none on line ...
 Defining message LaTeX/sort/return-two on line ...
 Defining \sort_ordered: on line ...
 Defining \sort_reversed: on line ...
+Defining \l__tl_build_start_index_int on line ...
+\l__tl_build_start_index_int=\count148
+Defining \l__tl_build_index_int on line ...
+\l__tl_build_index_int=\count149
+Defining \l__tl_build_result_tl on line ...
+Defining \__tl_build_unpack: on line ...
+Defining \__tl_build_unpack_loop:w on line ...
+Defining \__tl_build:Nw on line ...
+Defining \__tl_build_x:Nw on line ...
+Defining \__tl_gbuild:Nw on line ...
+Defining \__tl_gbuild_x:Nw on line ...
+Defining \__tl_build_aux:NNw on line ...
+Defining \__tl_build_end: on line ...
+Defining \__tl_build_end_assignment:n on line ...
+Defining \__tl_build_one:n on line ...
+Defining \__tl_build_one:o on line ...
+Defining \__tl_build_one:x on line ...
+Defining \s__tl on line ...
+Defining \l__tl_analysis_internal_tl on line ...
+Defining \l__tl_analysis_token on line ...
+Defining \l__tl_analysis_char_token on line ...
+Defining \l__tl_analysis_normal_int on line ...
+\l__tl_analysis_normal_int=\count150
+Defining \l__tl_analysis_index_int on line ...
+\l__tl_analysis_index_int=\count151
+Defining \l__tl_analysis_nesting_int on line ...
+\l__tl_analysis_nesting_int=\count152
+Defining \l__tl_analysis_type_int on line ...
+\l__tl_analysis_type_int=\count153
+Defining \g__tl_analysis_result_tl on line ...
+Defining \__tl_analysis_extract_charcode: on line ...
+Defining \__tl_analysis_extract_charcode_aux:w on line ...
+Defining \__tl_analysis_cs_space_count:NN on line ...
+Defining \__tl_analysis_cs_space_count:w on line ...
+Defining \__tl_analysis_cs_space_count_end:w on line ...
+Defining \__tl_analysis:n on line ...
+Defining \__tl_analysis_setup:n on line ...
+Defining \__tl_analysis_disable_loop:N on line ...
+Defining \__tl_analysis_a:n on line ...
+Defining \__tl_analysis_a_loop:w on line ...
+Defining \__tl_analysis_a_type:w on line ...
+Defining \__tl_analysis_a_space:w on line ...
+Defining \__tl_analysis_a_space_test:w on line ...
+Defining \__tl_analysis_a_bgroup:w on line ...
+Defining \__tl_analysis_a_egroup:w on line ...
+Defining \__tl_analysis_a_group:nw on line ...
+Defining \__tl_analysis_a_group_test:w on line ...
+Defining \__tl_analysis_a_store: on line ...
+Defining \__tl_analysis_a_safe:N on line ...
+Defining \__tl_analysis_a_cs:ww on line ...
+Defining \__tl_analysis_b:n on line ...
+Defining \__tl_analysis_b_loop:w on line ...
+Defining \__tl_analysis_b_normals:ww on line ...
+Defining \__tl_analysis_b_normal:wwN on line ...
+Defining \__tl_analysis_b_char:Nww on line ...
+Defining \__tl_analysis_b_cs:Nww on line ...
+Defining \__tl_analysis_b_cs_test:ww on line ...
+Defining \__tl_analysis_b_special:w on line ...
+Defining \__tl_analysis_b_special_char:wN on line ...
+Defining \__tl_analysis_b_special_space:w on line ...
+Defining \__tl_analysis_map_inline:nn on line ...
+Defining \__tl_analysis_map_inline_aux:Nn on line ...
+Defining \tl_show_analysis:N on line ...
+Defining \tl_show_analysis:n on line ...
+Defining \__tl_analysis_show: on line ...
+Defining \__tl_analysis_show_loop:wNw on line ...
+Defining \__tl_analysis_show_normal:n on line ...
+Defining \__tl_analysis_show_value:N on line ...
+Defining \__tl_analysis_show_cs:n on line ...
+Defining \__tl_analysis_show_active:n on line ...
+Defining \__tl_analysis_show_long:nn on line ...
+Defining \__tl_analysis_show_long_aux:nnnn on line ...
+Defining \exp_args:Noof on line ...
+Defining \__tl_analysis_show_long_aux:oofn on line ...
+Defining \c__tl_analysis_show_etc_str on line ...
+Defining message LaTeX/kernel/show-tl-analysis on line ...
+Defining \tl_to_str:V on line ...
+Defining \__regex_standard_escapechar: on line ...
+Defining \__regex_toks_use:w on line ...
+Defining \__regex_toks_clear:N on line ...
+Defining \__regex_toks_set:Nn on line ...
+Defining \__regex_toks_set:No on line ...
+Defining \__regex_toks_memcpy:NNn on line ...
+Defining \__regex_toks_put_left:Nx on line ...
+Defining \__regex_toks_put_right:Nx on line ...
+Defining \__regex_toks_put_right:Nn on line ...
+Defining \__regex_current_cs_to_str: on line ...
+Defining \__regex_tmp:w on line ...
+Defining \l__regex_internal_a_tl on line ...
+Defining \l__regex_internal_b_tl on line ...
+Defining \l__regex_internal_a_int on line ...
+\l__regex_internal_a_int=\count154
+Defining \l__regex_internal_b_int on line ...
+\l__regex_internal_b_int=\count155
+Defining \l__regex_internal_c_int on line ...
+\l__regex_internal_c_int=\count156
+Defining \l__regex_internal_bool on line ...
+Defining \l__regex_internal_seq on line ...
+Defining \g__regex_internal_tl on line ...
+Defining \c__regex_no_match_regex on line ...
+Defining \g__regex_charcode_intarray on line ...
+Defining \g__regex_catcode_intarray on line ...
+Defining \g__regex_balance_intarray on line ...
+Defining \l__regex_balance_int on line ...
+\l__regex_balance_int=\count157
+Defining \l__regex_cs_name_tl on line ...
+Defining \c__regex_ascii_min_int on line ...
+Defining \c__regex_ascii_max_control_int on line ...
+Defining \c__regex_ascii_max_int on line ...
+Defining \c__regex_ascii_lower_int on line ...
+Defining \__regex_break_true:w on line ...
+Defining \__regex_break_point:TF on line ...
+Defining \__regex_item_reverse:n on line ...
+Defining \__regex_item_caseful_equal:n on line ...
+Defining \__regex_item_caseful_range:nn on line ...
+Defining \__regex_item_caseless_equal:n on line ...
+Defining \__regex_item_caseless_range:nn on line ...
+Defining \__regex_compute_case_changed_char: on line ...
+Defining \__regex_item_equal:n on line ...
+Defining \__regex_item_range:nn on line ...
+Defining \__regex_item_catcode: on line ...
+Defining \__regex_item_catcode:nT on line ...
+Defining \__regex_item_catcode_reverse:nT on line ...
+Defining \__regex_item_exact:nn on line ...
+Defining \__regex_item_exact_cs:n on line ...
+Defining \__regex_item_cs:n on line ...
+Defining \__regex_prop_d: on line ...
+Defining \__regex_prop_h: on line ...
+Defining \__regex_prop_s: on line ...
+Defining \__regex_prop_v: on line ...
+Defining \__regex_prop_w: on line ...
+Defining \__regex_prop_N: on line ...
+Defining \__regex_posix_alnum: on line ...
+Defining \__regex_posix_alpha: on line ...
+Defining \__regex_posix_ascii: on line ...
+Defining \__regex_posix_blank: on line ...
+Defining \__regex_posix_cntrl: on line ...
+Defining \__regex_posix_digit: on line ...
+Defining \__regex_posix_graph: on line ...
+Defining \__regex_posix_lower: on line ...
+Defining \__regex_posix_print: on line ...
+Defining \__regex_posix_punct: on line ...
+Defining \__regex_posix_space: on line ...
+Defining \__regex_posix_upper: on line ...
+Defining \__regex_posix_word: on line ...
+Defining \__regex_posix_xdigit: on line ...
+Defining \__regex_escape_use:nnnn on line ...
+Defining \__regex_escape_loop:N on line ...
+Defining \__regex_escape_\:w on line ...
+Defining \__regex_escape_unescaped:N on line ...
+Defining \__regex_escape_escaped:N on line ...
+Defining \__regex_escape_raw:N on line ...
+Defining \__regex_escape_break:w on line ...
+Defining \__regex_escape_/break:w on line ...
+Defining \__regex_escape_ :w on line ...
+Defining \__regex_escape_/a:w on line ...
+Defining \__regex_escape_/t:w on line ...
+Defining \__regex_escape_/n:w on line ...
+Defining \__regex_escape_/f:w on line ...
+Defining \__regex_escape_/r:w on line ...
+Defining \__regex_escape_/e:w on line ...
+Defining \__regex_escape_/x:w on line ...
+Defining \__regex_escape_x_end:w on line ...
+Defining \__regex_escape_x_test:N on line ...
+Defining \__regex_escape_x_testii:N on line ...
+Defining \__regex_escape_x:N on line ...
+Defining \__regex_escape_x_loop:N on line ...
+Defining \__regex_escape_x_loop_error:n on line ...
+Defining \__regex_hexadecimal_use:NTF on line ...
+Defining \__regex_char_if_special:NTF on line ...
+Defining \__regex_char_if_alphanumeric:NTF on line ...
+Defining \l__regex_group_level_int on line ...
+\l__regex_group_level_int=\count158
+Defining \l__regex_mode_int on line ...
+\l__regex_mode_int=\count159
+Defining \c__regex_cs_in_class_mode_int on line ...
+\c__regex_cs_in_class_mode_int=\count160
+Defining \c__regex_cs_mode_int on line ...
+\c__regex_cs_mode_int=\count161
+Defining \c__regex_outer_mode_int on line ...
+Defining \c__regex_catcode_mode_int on line ...
+Defining \c__regex_class_mode_int on line ...
+Defining \c__regex_catcode_in_class_mode_int on line ...
+Defining \l__regex_catcodes_int on line ...
+\l__regex_catcodes_int=\count162
+Defining \l__regex_default_catcodes_int on line ...
+\l__regex_default_catcodes_int=\count163
+Defining \l__regex_catcodes_bool on line ...
+Defining \c__regex_catcode_C_int on line ...
+Defining \c__regex_catcode_B_int on line ...
+Defining \c__regex_catcode_E_int on line ...
+Defining \c__regex_catcode_M_int on line ...
+Defining \c__regex_catcode_T_int on line ...
+Defining \c__regex_catcode_P_int on line ...
+Defining \c__regex_catcode_U_int on line ...
+Defining \c__regex_catcode_D_int on line ...
+Defining \c__regex_catcode_S_int on line ...
+Defining \c__regex_catcode_L_int on line ...
+\c__regex_catcode_L_int=\count164
+Defining \c__regex_catcode_O_int on line ...
+\c__regex_catcode_O_int=\count165
+Defining \c__regex_catcode_A_int on line ...
+\c__regex_catcode_A_int=\count166
+Defining \c__regex_all_catcodes_int on line ...
+\c__regex_all_catcodes_int=\count167
+Defining \l__regex_internal_regex on line ...
+Defining \l__regex_show_prefix_seq on line ...
+Defining \l__regex_show_lines_int on line ...
+\l__regex_show_lines_int=\count168
+Defining \__regex_get_digits:NTFw on line ...
+Defining \__regex_get_digits_loop:nw on line ...
+Defining \__regex_if_raw_digit:NNTF on line ...
+Defining \__regex_if_in_class:TF on line ...
+Defining \__regex_if_in_cs:TF on line ...
+Defining \__regex_if_in_class_or_catcode:TF on line ...
+Defining \__regex_if_within_catcode:TF on line ...
+Defining \__regex_chk_c_allowed:T on line ...
+Defining \__regex_mode_quit_c: on line ...
+Defining \__regex_compile:w on line ...
+Defining \__regex_compile_end: on line ...
+Defining \__regex_compile:n on line ...
+Defining \__regex_compile_special:N on line ...
+Defining \__regex_compile_escaped:N on line ...
+Defining \__regex_compile_one:x on line ...
+Defining \__regex_compile_abort_tokens:n on line ...
+Defining \__regex_compile_abort_tokens:x on line ...
+Defining \__regex_compile_quantifier:w on line ...
+Defining \__regex_compile_quantifier_none: on line ...
+Defining \__regex_compile_quantifier_abort:xNN on line ...
+Defining \__regex_compile_quantifier_lazyness:nnNN on line ...
+Defining \__regex_compile_quantifier_?:w on line ...
+Defining \__regex_compile_quantifier_*:w on line ...
+Defining \__regex_compile_quantifier_+:w on line ...
+Defining \__regex_compile_quantifier_{:w on line ...
+Defining \__regex_compile_quantifier_braced_auxi:w on line ...
+Defining \__regex_compile_quantifier_braced_auxii:w on line ...
+Defining \__regex_compile_quantifier_braced_auxiii:w on line ...
+Defining \__regex_compile_raw_error:N on line ...
+Defining \__regex_compile_raw:N on line ...
+Defining \__regex_if_end_range:NNTF on line ...
+Defining \__regex_compile_range:Nw on line ...
+Defining \__regex_compile_.: on line ...
+Defining \__regex_prop_.: on line ...
+Defining \__regex_compile_/d: on line ...
+Defining \__regex_compile_/D: on line ...
+Defining \__regex_compile_/h: on line ...
+Defining \__regex_compile_/H: on line ...
+Defining \__regex_compile_/s: on line ...
+Defining \__regex_compile_/S: on line ...
+Defining \__regex_compile_/v: on line ...
+Defining \__regex_compile_/V: on line ...
+Defining \__regex_compile_/w: on line ...
+Defining \__regex_compile_/W: on line ...
+Defining \__regex_compile_/N: on line ...
+Defining \__regex_compile_anchor:NF on line ...
+Defining \__regex_compile_/A: on line ...
+Defining \__regex_compile_/G: on line ...
+Defining \__regex_compile_/Z: on line ...
+Defining \__regex_compile_/z: on line ...
+Defining \__regex_compile_^: on line ...
+Defining \__regex_compile_$: on line ...
+Defining \__regex_compile_/b: on line ...
+Defining \__regex_compile_/B: on line ...
+Defining \__regex_compile_]: on line ...
+Defining \__regex_compile_[: on line ...
+Defining \__regex_compile_class_normal:w on line ...
+Defining \__regex_compile_class_catcode:w on line ...
+Defining \__regex_compile_class:TFNN on line ...
+Defining \__regex_compile_class:NN on line ...
+Defining \__regex_compile_class_posix_test:w on line ...
+Defining \__regex_compile_class_posix:NNNNw on line ...
+Defining \__regex_compile_class_posix_loop:w on line ...
+Defining \__regex_compile_class_posix_end:w on line ...
+Defining \__regex_compile_group_begin:N on line ...
+Defining \__regex_compile_group_end: on line ...
+Defining \__regex_compile_(: on line ...
+Defining \__regex_compile_lparen:w on line ...
+Defining \__regex_compile_|: on line ...
+Defining \__regex_compile_): on line ...
+Defining \__regex_compile_special_group_::w on line ...
+Defining \__regex_compile_special_group_|:w on line ...
+Defining \__regex_compile_special_group_i:w on line ...
+Defining \__regex_compile_special_group_-:w on line ...
+Defining \__regex_compile_/c: on line ...
+Defining \__regex_compile_c_test:NN on line ...
+Defining \__regex_compile_c_[:w on line ...
+Defining \__regex_compile_c_lbrack_loop:NN on line ...
+Defining \__regex_compile_c_lbrack_add:N on line ...
+Defining \__regex_compile_c_lbrack_end: on line ...
+Defining \__regex_compile_c_{:w on line ...
+Defining \flag __regex_cs on line ...
+Defining \__regex_compile_}: on line ...
+Defining \__regex_compile_end_cs: on line ...
+Defining \__regex_compile_cs_aux:Nn on line ...
+Defining \__regex_compile_cs_aux:NNnnnN on line ...
+Defining \__regex_compile_/u: on line ...
+Defining \__regex_compile_u_loop:NN on line ...
+Defining \__regex_compile_u_end: on line ...
+Defining \__regex_compile_u_in_cs: on line ...
+Defining \__regex_compile_u_in_cs_aux:n on line ...
+Defining \__regex_compile_u_not_cs: on line ...
+Defining \__regex_compile_/K: on line ...
+Defining \__regex_show:Nn on line ...
+Defining \__regex_show_one:n on line ...
+Defining \__regex_show_push:n on line ...
+Defining \__regex_show_pop: on line ...
+Defining \__regex_show_scope:nn on line ...
+Defining \__regex_show_group_aux:nnnnN on line ...
+Defining \__regex_show_anchor_to_str:N on line ...
+Defining \__regex_show_item_catcode:NnT on line ...
+Defining \__regex_show_item_exact_cs:n on line ...
+Defining \l__regex_min_state_int on line ...
+\l__regex_min_state_int=\count169
+Defining \l__regex_max_state_int on line ...
+\l__regex_max_state_int=\count170
+Defining \l__regex_left_state_int on line ...
+\l__regex_left_state_int=\count171
+Defining \l__regex_right_state_int on line ...
+\l__regex_right_state_int=\count172
+Defining \l__regex_left_state_seq on line ...
+Defining \l__regex_right_state_seq on line ...
+Defining \l__regex_capturing_group_int on line ...
+\l__regex_capturing_group_int=\count173
+Defining \__regex_build:n on line ...
+Defining \__regex_build:N on line ...
+Defining \__regex_build_for_cs:n on line ...
+Defining \__regex_push_lr_states: on line ...
+Defining \__regex_pop_lr_states: on line ...
+Defining \__regex_build_transition_left:NNN on line ...
+Defining \__regex_build_transition_right:nNn on line ...
+Defining \__regex_build_new_state: on line ...
+Defining \__regex_build_transitions_lazyness:NNNNN on line ...
+Defining \__regex_class:NnnnN on line ...
+Defining \__regex_tests_action_cost:n on line ...
+Defining \__regex_class_repeat:n on line ...
+Defining \__regex_class_repeat:nN on line ...
+Defining \__regex_class_repeat:nnN on line ...
+Defining \__regex_group_aux:nnnnN on line ...
+Defining \__regex_group:nnnN on line ...
+Defining \__regex_group_no_capture:nnnN on line ...
+Defining \__regex_group_resetting:nnnN on line ...
+Defining \__regex_group_resetting_loop:nnNn on line ...
+Defining \__regex_branch:n on line ...
+Defining \__regex_group_repeat:nn on line ...
+Defining \__regex_group_submatches:nNN on line ...
+Defining \__regex_group_repeat_aux:n on line ...
+Defining \__regex_group_repeat:nnN on line ...
+Defining \__regex_group_repeat:nnnN on line ...
+Defining \__regex_assertion:Nn on line ...
+Defining \__regex_anchor:N on line ...
+Defining \__regex_b_test: on line ...
+Defining \__regex_command_K: on line ...
+Defining \l__regex_min_pos_int on line ...
+\l__regex_min_pos_int=\count174
+Defining \l__regex_max_pos_int on line ...
+\l__regex_max_pos_int=\count175
+Defining \l__regex_current_pos_int on line ...
+\l__regex_current_pos_int=\count176
+Defining \l__regex_start_pos_int on line ...
+\l__regex_start_pos_int=\count177
+Defining \l__regex_success_pos_int on line ...
+\l__regex_success_pos_int=\count178
+Defining \l__regex_current_char_int on line ...
+\l__regex_current_char_int=\count179
+Defining \l__regex_current_catcode_int on line ...
+\l__regex_current_catcode_int=\count180
+Defining \l__regex_last_char_int on line ...
+\l__regex_last_char_int=\count181
+Defining \l__regex_case_changed_char_int on line ...
+\l__regex_case_changed_char_int=\count182
+Defining \l__regex_current_state_int on line ...
+\l__regex_current_state_int=\count183
+Defining \l__regex_current_submatches_prop on line ...
+Defining \l__regex_success_submatches_prop on line ...
+Defining \l__regex_step_int on line ...
+\l__regex_step_int=\count184
+Defining \l__regex_min_active_int on line ...
+\l__regex_min_active_int=\count185
+Defining \l__regex_max_active_int on line ...
+\l__regex_max_active_int=\count186
+Defining \g__regex_state_active_intarray on line ...
+Defining \g__regex_thread_state_intarray on line ...
+Defining \l__regex_every_match_tl on line ...
+Defining \l__regex_fresh_thread_bool on line ...
+Defining \l__regex_empty_success_bool on line ...
+Defining \__regex_if_two_empty_matches:F on line ...
+Defining \g__regex_success_bool on line ...
+Defining \l__regex_saved_success_bool on line ...
+Defining \l__regex_match_success_bool on line ...
+Defining \__regex_match:n on line ...
+Defining \__regex_match_once: on line ...
+Defining \__regex_single_match: on line ...
+Defining \__regex_multi_match:n on line ...
+Defining \__regex_match_loop: on line ...
+Defining \__regex_match_one_active:n on line ...
+Defining \__regex_query_set:nnn on line ...
+Defining \__regex_query_get: on line ...
+Defining \__regex_use_state: on line ...
+Defining \__regex_use_state_and_submatches:nn on line ...
+Defining \__regex_action_start_wildcard: on line ...
+Defining \__regex_action_free:n on line ...
+Defining \__regex_action_free_group:n on line ...
+Defining \__regex_action_free_aux:nn on line ...
+Defining \__regex_action_cost:n on line ...
+Defining \__regex_store_state:n on line ...
+Defining \__regex_store_submatches: on line ...
+Defining \__regex_disable_submatches: on line ...
+Defining \__regex_action_submatch:n on line ...
+Defining \__regex_action_success: on line ...
+Defining \l__regex_replacement_csnames_int on line ...
+\l__regex_replacement_csnames_int=\count187
+Defining \l__regex_replacement_category_tl on line ...
+Defining \l__regex_replacement_category_seq on line ...
+Defining \l__regex_balance_tl on line ...
+Defining \__regex_replacement_balance_one_match:n on line ...
+Defining \__regex_replacement_do_one_match:n on line ...
+Defining \__regex_replacement_exp_not:N on line ...
+Defining \__regex_query_range:nn on line ...
+Defining \__regex_query_range_loop:ww on line ...
+Defining \__regex_query_submatch:n on line ...
+Defining \__regex_submatch_balance:n on line ...
+Defining \__regex_replacement:n on line ...
+Defining \__regex_replacement_aux:n on line ...
+Defining \__regex_replacement_normal:n on line ...
+Defining \__regex_replacement_escaped:N on line ...
+Defining \__regex_replacement_put_submatch:n on line ...
+Defining \__regex_replacement_g:w on line ...
+Defining \__regex_replacement_g_digits:NN on line ...
+Defining \__regex_replacement_c:w on line ...
+Defining \__regex_replacement_cu_aux:Nw on line ...
+Defining \__regex_replacement_u:w on line ...
+Defining \__regex_replacement_rbrace:N on line ...
+Defining \__regex_replacement_cat:NNN on line ...
+Defining \__regex_replacement_char:nNN on line ...
+Defining \__regex_replacement_c_A:w on line ...
+Defining \__regex_replacement_c_B:w on line ...
+Defining \__regex_replacement_c_C:w on line ...
+Defining \__regex_replacement_c_D:w on line ...
+Defining \__regex_replacement_c_E:w on line ...
+Defining \__regex_replacement_c_L:w on line ...
+Defining \__regex_replacement_c_M:w on line ...
+Defining \__regex_replacement_c_O:w on line ...
+Defining \__regex_replacement_c_P:w on line ...
+Defining \__regex_replacement_c_S:w on line ...
+Defining \__regex_replacement_c_T:w on line ...
+Defining \__regex_replacement_c_U:w on line ...
+Defining \__regex_replacement_error:NNN on line ...
+Defining \regex_new:N on line ...
+Defining \regex_set:Nn on line ...
+Defining \regex_gset:Nn on line ...
+Defining \regex_const:Nn on line ...
+Defining \regex_show:n on line ...
+Defining \regex_show:N on line ...
+Defining \regex_match:nnT on line ...
+Defining \regex_match:nnF on line ...
+Defining \regex_match:nnTF on line ...
+Defining \regex_match:NnT on line ...
+Defining \regex_match:NnF on line ...
+Defining \regex_match:NnTF on line ...
+Defining \regex_count:nnN on line ...
+Defining \regex_count:NnN on line ...
+Defining \regex_extract_once:nnN on line ...
+Defining \regex_extract_once:NnN on line ...
+Defining \regex_extract_once:nnNT on line ...
+Defining \regex_extract_once:nnNF on line ...
+Defining \regex_extract_once:nnNTF on line ...
+Defining \regex_extract_once:NnNT on line ...
+Defining \regex_extract_once:NnNF on line ...
+Defining \regex_extract_once:NnNTF on line ...
+Defining \regex_extract_all:nnN on line ...
+Defining \regex_extract_all:NnN on line ...
+Defining \regex_extract_all:nnNT on line ...
+Defining \regex_extract_all:nnNF on line ...
+Defining \regex_extract_all:nnNTF on line ...
+Defining \regex_extract_all:NnNT on line ...
+Defining \regex_extract_all:NnNF on line ...
+Defining \regex_extract_all:NnNTF on line ...
+Defining \regex_replace_once:nnN on line ...
+Defining \regex_replace_once:NnN on line ...
+Defining \regex_replace_once:nnNT on line ...
+Defining \regex_replace_once:nnNF on line ...
+Defining \regex_replace_once:nnNTF on line ...
+Defining \regex_replace_once:NnNT on line ...
+Defining \regex_replace_once:NnNF on line ...
+Defining \regex_replace_once:NnNTF on line ...
+Defining \regex_replace_all:nnN on line ...
+Defining \regex_replace_all:NnN on line ...
+Defining \regex_replace_all:nnNT on line ...
+Defining \regex_replace_all:nnNF on line ...
+Defining \regex_replace_all:nnNTF on line ...
+Defining \regex_replace_all:NnNT on line ...
+Defining \regex_replace_all:NnNF on line ...
+Defining \regex_replace_all:NnNTF on line ...
+Defining \regex_split:nnN on line ...
+Defining \regex_split:NnN on line ...
+Defining \regex_split:nnNT on line ...
+Defining \regex_split:nnNF on line ...
+Defining \regex_split:nnNTF on line ...
+Defining \regex_split:NnNT on line ...
+Defining \regex_split:NnNF on line ...
+Defining \regex_split:NnNTF on line ...
+Defining \l__regex_match_count_int on line ...
+\l__regex_match_count_int=\count188
+Defining \flag __regex_begin on line ...
+Defining \flag __regex_end on line ...
+Defining \l__regex_min_submatch_int on line ...
+\l__regex_min_submatch_int=\count189
+Defining \l__regex_submatch_int on line ...
+\l__regex_submatch_int=\count190
+Defining \l__regex_zeroth_submatch_int on line ...
+\l__regex_zeroth_submatch_int=\count191
+Defining \g__regex_submatch_prev_intarray on line ...
+Defining \g__regex_submatch_begin_intarray on line ...
+Defining \g__regex_submatch_end_intarray on line ...
+Defining \__regex_return: on line ...
+Defining \__regex_if_match:nn on line ...
+Defining \__regex_count:nnN on line ...
+Defining \__regex_extract_once:nnN on line ...
+Defining \__regex_extract_all:nnN on line ...
+Defining \__regex_split:nnN on line ...
+Defining \__regex_group_end_extract_seq:N on line ...
+Defining \__regex_extract_seq_aux:n on line ...
+Defining \__regex_extract_seq_aux:ww on line ...
+Defining \__regex_extract: on line ...
+Defining \__regex_extract_b:wn on line ...
+Defining \__regex_extract_e:wn on line ...
+Defining \__regex_replace_once:nnN on line ...
+Defining \__regex_replace_all:nnN on line ...
+Defining \__regex_group_end_replace:N on line ...
+Defining message LaTeX/regex/trailing-backslash on line ...
+Defining message LaTeX/regex/x-missing-rbrace on line ...
+Defining message LaTeX/regex/x-overflow on line ...
+Defining message LaTeX/regex/invalid-quantifier on line ...
+Defining message LaTeX/regex/missing-rbrack on line ...
+Defining message LaTeX/regex/missing-rparen on line ...
+Defining message LaTeX/regex/extra-rparen on line ...
+Defining message LaTeX/regex/bad-escape on line ...
+Defining message LaTeX/regex/range-missing-end on line ...
+Defining message LaTeX/regex/range-backwards on line ...
+Defining message LaTeX/regex/c-bad-mode on line ...
+Defining message LaTeX/regex/c-missing-rbrace on line ...
+Defining message LaTeX/regex/c-missing-rbrack on line ...
+Defining message LaTeX/regex/c-missing-category on line ...
+Defining message LaTeX/regex/c-trailing on line ...
+Defining message LaTeX/regex/u-missing-lbrace on line ...
+Defining message LaTeX/regex/u-missing-rbrace on line ...
+Defining message LaTeX/regex/posix-unsupported on line ...
+Defining message LaTeX/regex/posix-unknown on line ...
+Defining message LaTeX/regex/posix-missing-close on line ...
+Defining message LaTeX/regex/result-unbalanced on line ...
+Defining message LaTeX/regex/unknown-option on line ...
+Defining message LaTeX/regex/special-group-unknown on line ...
+Defining message LaTeX/regex/replacement-c on line ...
+Defining message LaTeX/regex/replacement-u on line ...
+Defining message LaTeX/regex/replacement-g on line ...
+Defining message LaTeX/regex/replacement-catcode-end on line ...
+Defining message LaTeX/regex/replacement-catcode-in-cs on line ...
+Defining message LaTeX/regex/replacement-null-space on line ...
+Defining message LaTeX/regex/replacement-missing-rbrace on line ...
+Defining message LaTeX/regex/replacement-missing-rparen on line ...
+Defining \__regex_msg_repeated:nnN on line ...
 Defining \box_new:N on line ...
 Defining \box_new:c on line ...
 Defining \box_clear:N on line ...
@@ -5057,7 +5630,7 @@ Defining \l__driver_sin_fp on line ...
 Defining \__driver_box_use_scale:Nnn on line ...
 Defining \l__driver_color_current_tl on line ...
 Defining \l__driver_color_stack_int on line ...
-\l__driver_color_stack_int=\count147
+\l__driver_color_stack_int=\count192
 Defining \__driver_color_ensure_current: on line ...
 Defining \__driver_color_reset: on line ...
 Defining \l__driver_image_attr_tl on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index 939c7d7..1a03741 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -1398,6 +1398,16 @@ Defining \g_tmpa_int on line ...
 Defining \g_tmpb_int on line ...
 \g_tmpb_int=\count117
 Defining \c_minus_one on line ...
+Defining \g__intarray_font_int on line ...
+\g__intarray_font_int=\count118
+Defining \__intarray_new:Nn on line ...
+Defining \__intarray_count:N on line ...
+Defining \__intarray_gset_fast:Nnn on line ...
+Defining \__intarray_gset:Nnn on line ...
+Defining \__intarray_gset_aux:Nnn on line ...
+Defining \__intarray_item_fast:Nn on line ...
+Defining \__intarray_item:Nn on line ...
+Defining \__intarray_item_aux:Nn on line ...
 Defining \flag_new:n on line ...
 Defining \flag_clear:n on line ...
 Defining \__flag_clear:wn on line ...
@@ -1620,7 +1630,7 @@ Defining \mode_if_math:TF on line ...
 Defining \group_align_safe_begin: on line ...
 Defining \group_align_safe_end: on line ...
 Defining \g__prg_map_int on line ...
-\g__prg_map_int=\count118
+\g__prg_map_int=\count119
 Defining \c_empty_clist on line ...
 Defining \l__clist_internal_clist on line ...
 Defining \__clist_tmp:w on line ...
@@ -2773,6 +2783,8 @@ Defining message LaTeX/kernel/empty-search-pattern on line ...
 Defining message LaTeX/kernel/out-of-registers on line ...
 Defining message LaTeX/kernel/non-base-function on line ...
 Defining message LaTeX/kernel/missing-colon on line ...
+Defining message LaTeX/kernel/overflow on line ...
+Defining message LaTeX/kernel/out-of-bounds on line ...
 Defining message LaTeX/kernel/protected-predicate on line ...
 Defining message LaTeX/kernel/conditional-form-unknown on line ...
 Defining message LaTeX/kernel/scanmark-already-defined on line ...
@@ -2870,7 +2882,7 @@ Defining \ior_get:NN on line ...
 Defining \ior_str_get:NN on line ...
 Defining \g__file_internal_ior on line ...
 Defining \c_log_iow on line ...
-\c_log_iow=\count119
+\c_log_iow=\count120
 Defining \c_term_iow on line ...
 Defining \g__iow_streams_seq on line ...
 Defining \l__iow_stream_tl on line ...
@@ -2907,18 +2919,18 @@ Defining \iow_newline: on line ...
 Defining \iow_char:N on line ...
 Defining \c_catcode_other_space_tl on line ...
 Defining \l_iow_line_count_int on line ...
-\l_iow_line_count_int=\count120
+\l_iow_line_count_int=\count121
 Defining \l__iow_newline_tl on line ...
 Defining \l__iow_line_target_int on line ...
-\l__iow_line_target_int=\count121
+\l__iow_line_target_int=\count122
 Defining \l__iow_one_indent_tl on line ...
 Defining \l__iow_one_indent_int on line ...
-\l__iow_one_indent_int=\count122
+\l__iow_one_indent_int=\count123
 Defining \__iow_unindent:w on line ...
 Defining \__iow_set_indent:n on line ...
 Defining \l__iow_indent_tl on line ...
 Defining \l__iow_indent_int on line ...
-\l__iow_indent_int=\count123
+\l__iow_indent_int=\count124
 Defining \l__iow_line_tl on line ...
 Defining \l__iow_line_part_tl on line ...
 Defining \l__iow_line_break_bool on line ...
@@ -3234,7 +3246,7 @@ Defining \c__keys_type_root_tl on line ...
 Defining \c__keys_validate_root_tl on line ...
 Defining \c__keys_props_root_tl on line ...
 Defining \l_keys_choice_int on line ...
-\l_keys_choice_int=\count124
+\l_keys_choice_int=\count125
 Defining \l_keys_choice_tl on line ...
 Defining \l__keys_groups_clist on line ...
 Defining \l_keys_key_tl on line ...
@@ -3471,25 +3483,25 @@ Defining \__fp_exp_after_normal:Nwwwww on line ...
 Defining \__fp_exp_after_array_f:w on line ...
 Defining \__fp_exp_after_stop_f:nw on line ...
 Defining \c__fp_leading_shift_int on line ...
-\c__fp_leading_shift_int=\count125
+\c__fp_leading_shift_int=\count126
 Defining \c__fp_middle_shift_int on line ...
-\c__fp_middle_shift_int=\count126
+\c__fp_middle_shift_int=\count127
 Defining \c__fp_trailing_shift_int on line ...
-\c__fp_trailing_shift_int=\count127
+\c__fp_trailing_shift_int=\count128
 Defining \__fp_pack:NNNNNw on line ...
 Defining \c__fp_big_leading_shift_int on line ...
-\c__fp_big_leading_shift_int=\count128
+\c__fp_big_leading_shift_int=\count129
 Defining \c__fp_big_middle_shift_int on line ...
-\c__fp_big_middle_shift_int=\count129
+\c__fp_big_middle_shift_int=\count130
 Defining \c__fp_big_trailing_shift_int on line ...
-\c__fp_big_trailing_shift_int=\count130
+\c__fp_big_trailing_shift_int=\count131
 Defining \__fp_pack_big:NNNNNNw on line ...
 Defining \c__fp_Bigg_leading_shift_int on line ...
-\c__fp_Bigg_leading_shift_int=\count131
+\c__fp_Bigg_leading_shift_int=\count132
 Defining \c__fp_Bigg_middle_shift_int on line ...
-\c__fp_Bigg_middle_shift_int=\count132
+\c__fp_Bigg_middle_shift_int=\count133
 Defining \c__fp_Bigg_trailing_shift_int on line ...
-\c__fp_Bigg_trailing_shift_int=\count133
+\c__fp_Bigg_trailing_shift_int=\count134
 Defining \__fp_pack_Bigg:NNNNNNw on line ...
 Defining \__fp_pack_twice_four:wNNNNNNNN on line ...
 Defining \__fp_pack_eight:wNNNNNNNN on line ...
@@ -4240,27 +4252,27 @@ Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
 Defining \l__sort_length_int on line ...
-\l__sort_length_int=\count134
+\l__sort_length_int=\count135
 Defining \l__sort_min_int on line ...
-\l__sort_min_int=\count135
+\l__sort_min_int=\count136
 Defining \l__sort_top_int on line ...
-\l__sort_top_int=\count136
+\l__sort_top_int=\count137
 Defining \l__sort_max_int on line ...
-\l__sort_max_int=\count137
+\l__sort_max_int=\count138
 Defining \l__sort_true_max_int on line ...
-\l__sort_true_max_int=\count138
+\l__sort_true_max_int=\count139
 Defining \l__sort_block_int on line ...
-\l__sort_block_int=\count139
+\l__sort_block_int=\count140
 Defining \l__sort_begin_int on line ...
-\l__sort_begin_int=\count140
+\l__sort_begin_int=\count141
 Defining \l__sort_end_int on line ...
-\l__sort_end_int=\count141
+\l__sort_end_int=\count142
 Defining \l__sort_A_int on line ...
-\l__sort_A_int=\count142
+\l__sort_A_int=\count143
 Defining \l__sort_B_int on line ...
-\l__sort_B_int=\count143
+\l__sort_B_int=\count144
 Defining \l__sort_C_int on line ...
-\l__sort_C_int=\count144
+\l__sort_C_int=\count145
 Defining \__sort_shrink_range: on line ...
 Defining \__sort_shrink_range_loop: on line ...
 Defining \__sort_compute_range: on line ...
@@ -4317,6 +4329,569 @@ Defining message LaTeX/sort/return-none on line ...
 Defining message LaTeX/sort/return-two on line ...
 Defining \sort_ordered: on line ...
 Defining \sort_reversed: on line ...
+Defining \l__tl_build_start_index_int on line ...
+\l__tl_build_start_index_int=\count146
+Defining \l__tl_build_index_int on line ...
+\l__tl_build_index_int=\count147
+Defining \l__tl_build_result_tl on line ...
+Defining \__tl_build_unpack: on line ...
+Defining \__tl_build_unpack_loop:w on line ...
+Defining \__tl_build:Nw on line ...
+Defining \__tl_build_x:Nw on line ...
+Defining \__tl_gbuild:Nw on line ...
+Defining \__tl_gbuild_x:Nw on line ...
+Defining \__tl_build_aux:NNw on line ...
+Defining \__tl_build_end: on line ...
+Defining \__tl_build_end_assignment:n on line ...
+Defining \__tl_build_one:n on line ...
+Defining \__tl_build_one:o on line ...
+Defining \__tl_build_one:x on line ...
+Defining \s__tl on line ...
+Defining \l__tl_analysis_internal_tl on line ...
+Defining \l__tl_analysis_token on line ...
+Defining \l__tl_analysis_char_token on line ...
+Defining \l__tl_analysis_normal_int on line ...
+\l__tl_analysis_normal_int=\count148
+Defining \l__tl_analysis_index_int on line ...
+\l__tl_analysis_index_int=\count149
+Defining \l__tl_analysis_nesting_int on line ...
+\l__tl_analysis_nesting_int=\count150
+Defining \l__tl_analysis_type_int on line ...
+\l__tl_analysis_type_int=\count151
+Defining \g__tl_analysis_result_tl on line ...
+Defining \__tl_analysis_extract_charcode: on line ...
+Defining \__tl_analysis_extract_charcode_aux:w on line ...
+Defining \__tl_analysis_cs_space_count:NN on line ...
+Defining \__tl_analysis_cs_space_count:w on line ...
+Defining \__tl_analysis_cs_space_count_end:w on line ...
+Defining \__tl_analysis:n on line ...
+Defining \__tl_analysis_setup:n on line ...
+Defining \__tl_analysis_disable_loop:N on line ...
+Defining \__tl_analysis_a:n on line ...
+Defining \__tl_analysis_a_loop:w on line ...
+Defining \__tl_analysis_a_type:w on line ...
+Defining \__tl_analysis_a_space:w on line ...
+Defining \__tl_analysis_a_space_test:w on line ...
+Defining \__tl_analysis_a_bgroup:w on line ...
+Defining \__tl_analysis_a_egroup:w on line ...
+Defining \__tl_analysis_a_group:nw on line ...
+Defining \__tl_analysis_a_group_test:w on line ...
+Defining \__tl_analysis_a_store: on line ...
+Defining \__tl_analysis_a_safe:N on line ...
+Defining \__tl_analysis_a_cs:ww on line ...
+Defining \__tl_analysis_b:n on line ...
+Defining \__tl_analysis_b_loop:w on line ...
+Defining \__tl_analysis_b_normals:ww on line ...
+Defining \__tl_analysis_b_normal:wwN on line ...
+Defining \__tl_analysis_b_char:Nww on line ...
+Defining \__tl_analysis_b_cs:Nww on line ...
+Defining \__tl_analysis_b_cs_test:ww on line ...
+Defining \__tl_analysis_b_special:w on line ...
+Defining \__tl_analysis_b_special_char:wN on line ...
+Defining \__tl_analysis_b_special_space:w on line ...
+Defining \__tl_analysis_map_inline:nn on line ...
+Defining \__tl_analysis_map_inline_aux:Nn on line ...
+Defining \tl_show_analysis:N on line ...
+Defining \tl_show_analysis:n on line ...
+Defining \__tl_analysis_show: on line ...
+Defining \__tl_analysis_show_loop:wNw on line ...
+Defining \__tl_analysis_show_normal:n on line ...
+Defining \__tl_analysis_show_value:N on line ...
+Defining \__tl_analysis_show_cs:n on line ...
+Defining \__tl_analysis_show_active:n on line ...
+Defining \__tl_analysis_show_long:nn on line ...
+Defining \__tl_analysis_show_long_aux:nnnn on line ...
+Defining \exp_args:Noof on line ...
+Defining \__tl_analysis_show_long_aux:oofn on line ...
+Defining \c__tl_analysis_show_etc_str on line ...
+Defining message LaTeX/kernel/show-tl-analysis on line ...
+Defining \tl_to_str:V on line ...
+Defining \__regex_standard_escapechar: on line ...
+Defining \__regex_toks_use:w on line ...
+Defining \__regex_toks_clear:N on line ...
+Defining \__regex_toks_set:Nn on line ...
+Defining \__regex_toks_set:No on line ...
+Defining \__regex_toks_memcpy:NNn on line ...
+Defining \__regex_toks_put_left:Nx on line ...
+Defining \__regex_toks_put_right:Nx on line ...
+Defining \__regex_toks_put_right:Nn on line ...
+Defining \__regex_current_cs_to_str: on line ...
+Defining \__regex_tmp:w on line ...
+Defining \l__regex_internal_a_tl on line ...
+Defining \l__regex_internal_b_tl on line ...
+Defining \l__regex_internal_a_int on line ...
+\l__regex_internal_a_int=\count152
+Defining \l__regex_internal_b_int on line ...
+\l__regex_internal_b_int=\count153
+Defining \l__regex_internal_c_int on line ...
+\l__regex_internal_c_int=\count154
+Defining \l__regex_internal_bool on line ...
+Defining \l__regex_internal_seq on line ...
+Defining \g__regex_internal_tl on line ...
+Defining \c__regex_no_match_regex on line ...
+Defining \g__regex_charcode_intarray on line ...
+Defining \g__regex_catcode_intarray on line ...
+Defining \g__regex_balance_intarray on line ...
+Defining \l__regex_balance_int on line ...
+\l__regex_balance_int=\count155
+Defining \l__regex_cs_name_tl on line ...
+Defining \c__regex_ascii_min_int on line ...
+Defining \c__regex_ascii_max_control_int on line ...
+Defining \c__regex_ascii_max_int on line ...
+Defining \c__regex_ascii_lower_int on line ...
+Defining \__regex_break_true:w on line ...
+Defining \__regex_break_point:TF on line ...
+Defining \__regex_item_reverse:n on line ...
+Defining \__regex_item_caseful_equal:n on line ...
+Defining \__regex_item_caseful_range:nn on line ...
+Defining \__regex_item_caseless_equal:n on line ...
+Defining \__regex_item_caseless_range:nn on line ...
+Defining \__regex_compute_case_changed_char: on line ...
+Defining \__regex_item_equal:n on line ...
+Defining \__regex_item_range:nn on line ...
+Defining \__regex_item_catcode: on line ...
+Defining \__regex_item_catcode:nT on line ...
+Defining \__regex_item_catcode_reverse:nT on line ...
+Defining \__regex_item_exact:nn on line ...
+Defining \__regex_item_exact_cs:n on line ...
+Defining \__regex_item_cs:n on line ...
+Defining \__regex_prop_d: on line ...
+Defining \__regex_prop_h: on line ...
+Defining \__regex_prop_s: on line ...
+Defining \__regex_prop_v: on line ...
+Defining \__regex_prop_w: on line ...
+Defining \__regex_prop_N: on line ...
+Defining \__regex_posix_alnum: on line ...
+Defining \__regex_posix_alpha: on line ...
+Defining \__regex_posix_ascii: on line ...
+Defining \__regex_posix_blank: on line ...
+Defining \__regex_posix_cntrl: on line ...
+Defining \__regex_posix_digit: on line ...
+Defining \__regex_posix_graph: on line ...
+Defining \__regex_posix_lower: on line ...
+Defining \__regex_posix_print: on line ...
+Defining \__regex_posix_punct: on line ...
+Defining \__regex_posix_space: on line ...
+Defining \__regex_posix_upper: on line ...
+Defining \__regex_posix_word: on line ...
+Defining \__regex_posix_xdigit: on line ...
+Defining \__regex_escape_use:nnnn on line ...
+Defining \__regex_escape_loop:N on line ...
+Defining \__regex_escape_\:w on line ...
+Defining \__regex_escape_unescaped:N on line ...
+Defining \__regex_escape_escaped:N on line ...
+Defining \__regex_escape_raw:N on line ...
+Defining \__regex_escape_break:w on line ...
+Defining \__regex_escape_/break:w on line ...
+Defining \__regex_escape_ :w on line ...
+Defining \__regex_escape_/a:w on line ...
+Defining \__regex_escape_/t:w on line ...
+Defining \__regex_escape_/n:w on line ...
+Defining \__regex_escape_/f:w on line ...
+Defining \__regex_escape_/r:w on line ...
+Defining \__regex_escape_/e:w on line ...
+Defining \__regex_escape_/x:w on line ...
+Defining \__regex_escape_x_end:w on line ...
+Defining \__regex_escape_x_test:N on line ...
+Defining \__regex_escape_x_testii:N on line ...
+Defining \__regex_escape_x:N on line ...
+Defining \__regex_escape_x_loop:N on line ...
+Defining \__regex_escape_x_loop_error:n on line ...
+Defining \__regex_hexadecimal_use:NTF on line ...
+Defining \__regex_char_if_special:NTF on line ...
+Defining \__regex_char_if_alphanumeric:NTF on line ...
+Defining \l__regex_group_level_int on line ...
+\l__regex_group_level_int=\count156
+Defining \l__regex_mode_int on line ...
+\l__regex_mode_int=\count157
+Defining \c__regex_cs_in_class_mode_int on line ...
+\c__regex_cs_in_class_mode_int=\count158
+Defining \c__regex_cs_mode_int on line ...
+\c__regex_cs_mode_int=\count159
+Defining \c__regex_outer_mode_int on line ...
+Defining \c__regex_catcode_mode_int on line ...
+Defining \c__regex_class_mode_int on line ...
+Defining \c__regex_catcode_in_class_mode_int on line ...
+Defining \l__regex_catcodes_int on line ...
+\l__regex_catcodes_int=\count160
+Defining \l__regex_default_catcodes_int on line ...
+\l__regex_default_catcodes_int=\count161
+Defining \l__regex_catcodes_bool on line ...
+Defining \c__regex_catcode_C_int on line ...
+Defining \c__regex_catcode_B_int on line ...
+Defining \c__regex_catcode_E_int on line ...
+Defining \c__regex_catcode_M_int on line ...
+Defining \c__regex_catcode_T_int on line ...
+Defining \c__regex_catcode_P_int on line ...
+Defining \c__regex_catcode_U_int on line ...
+Defining \c__regex_catcode_D_int on line ...
+\c__regex_catcode_D_int=\count162
+Defining \c__regex_catcode_S_int on line ...
+\c__regex_catcode_S_int=\count163
+Defining \c__regex_catcode_L_int on line ...
+\c__regex_catcode_L_int=\count164
+Defining \c__regex_catcode_O_int on line ...
+\c__regex_catcode_O_int=\count165
+Defining \c__regex_catcode_A_int on line ...
+\c__regex_catcode_A_int=\count166
+Defining \c__regex_all_catcodes_int on line ...
+\c__regex_all_catcodes_int=\count167
+Defining \l__regex_internal_regex on line ...
+Defining \l__regex_show_prefix_seq on line ...
+Defining \l__regex_show_lines_int on line ...
+\l__regex_show_lines_int=\count168
+Defining \__regex_get_digits:NTFw on line ...
+Defining \__regex_get_digits_loop:nw on line ...
+Defining \__regex_if_raw_digit:NNTF on line ...
+Defining \__regex_if_in_class:TF on line ...
+Defining \__regex_if_in_cs:TF on line ...
+Defining \__regex_if_in_class_or_catcode:TF on line ...
+Defining \__regex_if_within_catcode:TF on line ...
+Defining \__regex_chk_c_allowed:T on line ...
+Defining \__regex_mode_quit_c: on line ...
+Defining \__regex_compile:w on line ...
+Defining \__regex_compile_end: on line ...
+Defining \__regex_compile:n on line ...
+Defining \__regex_compile_special:N on line ...
+Defining \__regex_compile_escaped:N on line ...
+Defining \__regex_compile_one:x on line ...
+Defining \__regex_compile_abort_tokens:n on line ...
+Defining \__regex_compile_abort_tokens:x on line ...
+Defining \__regex_compile_quantifier:w on line ...
+Defining \__regex_compile_quantifier_none: on line ...
+Defining \__regex_compile_quantifier_abort:xNN on line ...
+Defining \__regex_compile_quantifier_lazyness:nnNN on line ...
+Defining \__regex_compile_quantifier_?:w on line ...
+Defining \__regex_compile_quantifier_*:w on line ...
+Defining \__regex_compile_quantifier_+:w on line ...
+Defining \__regex_compile_quantifier_{:w on line ...
+Defining \__regex_compile_quantifier_braced_auxi:w on line ...
+Defining \__regex_compile_quantifier_braced_auxii:w on line ...
+Defining \__regex_compile_quantifier_braced_auxiii:w on line ...
+Defining \__regex_compile_raw_error:N on line ...
+Defining \__regex_compile_raw:N on line ...
+Defining \__regex_if_end_range:NNTF on line ...
+Defining \__regex_compile_range:Nw on line ...
+Defining \__regex_compile_.: on line ...
+Defining \__regex_prop_.: on line ...
+Defining \__regex_compile_/d: on line ...
+Defining \__regex_compile_/D: on line ...
+Defining \__regex_compile_/h: on line ...
+Defining \__regex_compile_/H: on line ...
+Defining \__regex_compile_/s: on line ...
+Defining \__regex_compile_/S: on line ...
+Defining \__regex_compile_/v: on line ...
+Defining \__regex_compile_/V: on line ...
+Defining \__regex_compile_/w: on line ...
+Defining \__regex_compile_/W: on line ...
+Defining \__regex_compile_/N: on line ...
+Defining \__regex_compile_anchor:NF on line ...
+Defining \__regex_compile_/A: on line ...
+Defining \__regex_compile_/G: on line ...
+Defining \__regex_compile_/Z: on line ...
+Defining \__regex_compile_/z: on line ...
+Defining \__regex_compile_^: on line ...
+Defining \__regex_compile_$: on line ...
+Defining \__regex_compile_/b: on line ...
+Defining \__regex_compile_/B: on line ...
+Defining \__regex_compile_]: on line ...
+Defining \__regex_compile_[: on line ...
+Defining \__regex_compile_class_normal:w on line ...
+Defining \__regex_compile_class_catcode:w on line ...
+Defining \__regex_compile_class:TFNN on line ...
+Defining \__regex_compile_class:NN on line ...
+Defining \__regex_compile_class_posix_test:w on line ...
+Defining \__regex_compile_class_posix:NNNNw on line ...
+Defining \__regex_compile_class_posix_loop:w on line ...
+Defining \__regex_compile_class_posix_end:w on line ...
+Defining \__regex_compile_group_begin:N on line ...
+Defining \__regex_compile_group_end: on line ...
+Defining \__regex_compile_(: on line ...
+Defining \__regex_compile_lparen:w on line ...
+Defining \__regex_compile_|: on line ...
+Defining \__regex_compile_): on line ...
+Defining \__regex_compile_special_group_::w on line ...
+Defining \__regex_compile_special_group_|:w on line ...
+Defining \__regex_compile_special_group_i:w on line ...
+Defining \__regex_compile_special_group_-:w on line ...
+Defining \__regex_compile_/c: on line ...
+Defining \__regex_compile_c_test:NN on line ...
+Defining \__regex_compile_c_[:w on line ...
+Defining \__regex_compile_c_lbrack_loop:NN on line ...
+Defining \__regex_compile_c_lbrack_add:N on line ...
+Defining \__regex_compile_c_lbrack_end: on line ...
+Defining \__regex_compile_c_{:w on line ...
+Defining \flag __regex_cs on line ...
+Defining \__regex_compile_}: on line ...
+Defining \__regex_compile_end_cs: on line ...
+Defining \__regex_compile_cs_aux:Nn on line ...
+Defining \__regex_compile_cs_aux:NNnnnN on line ...
+Defining \__regex_compile_/u: on line ...
+Defining \__regex_compile_u_loop:NN on line ...
+Defining \__regex_compile_u_end: on line ...
+Defining \__regex_compile_u_in_cs: on line ...
+Defining \__regex_compile_u_in_cs_aux:n on line ...
+Defining \__regex_compile_u_not_cs: on line ...
+Defining \__regex_compile_/K: on line ...
+Defining \__regex_show:Nn on line ...
+Defining \__regex_show_one:n on line ...
+Defining \__regex_show_push:n on line ...
+Defining \__regex_show_pop: on line ...
+Defining \__regex_show_scope:nn on line ...
+Defining \__regex_show_group_aux:nnnnN on line ...
+Defining \__regex_show_anchor_to_str:N on line ...
+Defining \__regex_show_item_catcode:NnT on line ...
+Defining \__regex_show_item_exact_cs:n on line ...
+Defining \l__regex_min_state_int on line ...
+\l__regex_min_state_int=\count169
+Defining \l__regex_max_state_int on line ...
+\l__regex_max_state_int=\count170
+Defining \l__regex_left_state_int on line ...
+\l__regex_left_state_int=\count171
+Defining \l__regex_right_state_int on line ...
+\l__regex_right_state_int=\count172
+Defining \l__regex_left_state_seq on line ...
+Defining \l__regex_right_state_seq on line ...
+Defining \l__regex_capturing_group_int on line ...
+\l__regex_capturing_group_int=\count173
+Defining \__regex_build:n on line ...
+Defining \__regex_build:N on line ...
+Defining \__regex_build_for_cs:n on line ...
+Defining \__regex_push_lr_states: on line ...
+Defining \__regex_pop_lr_states: on line ...
+Defining \__regex_build_transition_left:NNN on line ...
+Defining \__regex_build_transition_right:nNn on line ...
+Defining \__regex_build_new_state: on line ...
+Defining \__regex_build_transitions_lazyness:NNNNN on line ...
+Defining \__regex_class:NnnnN on line ...
+Defining \__regex_tests_action_cost:n on line ...
+Defining \__regex_class_repeat:n on line ...
+Defining \__regex_class_repeat:nN on line ...
+Defining \__regex_class_repeat:nnN on line ...
+Defining \__regex_group_aux:nnnnN on line ...
+Defining \__regex_group:nnnN on line ...
+Defining \__regex_group_no_capture:nnnN on line ...
+Defining \__regex_group_resetting:nnnN on line ...
+Defining \__regex_group_resetting_loop:nnNn on line ...
+Defining \__regex_branch:n on line ...
+Defining \__regex_group_repeat:nn on line ...
+Defining \__regex_group_submatches:nNN on line ...
+Defining \__regex_group_repeat_aux:n on line ...
+Defining \__regex_group_repeat:nnN on line ...
+Defining \__regex_group_repeat:nnnN on line ...
+Defining \__regex_assertion:Nn on line ...
+Defining \__regex_anchor:N on line ...
+Defining \__regex_b_test: on line ...
+Defining \__regex_command_K: on line ...
+Defining \l__regex_min_pos_int on line ...
+\l__regex_min_pos_int=\count174
+Defining \l__regex_max_pos_int on line ...
+\l__regex_max_pos_int=\count175
+Defining \l__regex_current_pos_int on line ...
+\l__regex_current_pos_int=\count176
+Defining \l__regex_start_pos_int on line ...
+\l__regex_start_pos_int=\count177
+Defining \l__regex_success_pos_int on line ...
+\l__regex_success_pos_int=\count178
+Defining \l__regex_current_char_int on line ...
+\l__regex_current_char_int=\count179
+Defining \l__regex_current_catcode_int on line ...
+\l__regex_current_catcode_int=\count180
+Defining \l__regex_last_char_int on line ...
+\l__regex_last_char_int=\count181
+Defining \l__regex_case_changed_char_int on line ...
+\l__regex_case_changed_char_int=\count182
+Defining \l__regex_current_state_int on line ...
+\l__regex_current_state_int=\count183
+Defining \l__regex_current_submatches_prop on line ...
+Defining \l__regex_success_submatches_prop on line ...
+Defining \l__regex_step_int on line ...
+\l__regex_step_int=\count184
+Defining \l__regex_min_active_int on line ...
+\l__regex_min_active_int=\count185
+Defining \l__regex_max_active_int on line ...
+\l__regex_max_active_int=\count186
+Defining \g__regex_state_active_intarray on line ...
+Defining \g__regex_thread_state_intarray on line ...
+Defining \l__regex_every_match_tl on line ...
+Defining \l__regex_fresh_thread_bool on line ...
+Defining \l__regex_empty_success_bool on line ...
+Defining \__regex_if_two_empty_matches:F on line ...
+Defining \g__regex_success_bool on line ...
+Defining \l__regex_saved_success_bool on line ...
+Defining \l__regex_match_success_bool on line ...
+Defining \__regex_match:n on line ...
+Defining \__regex_match_once: on line ...
+Defining \__regex_single_match: on line ...
+Defining \__regex_multi_match:n on line ...
+Defining \__regex_match_loop: on line ...
+Defining \__regex_match_one_active:n on line ...
+Defining \__regex_query_set:nnn on line ...
+Defining \__regex_query_get: on line ...
+Defining \__regex_use_state: on line ...
+Defining \__regex_use_state_and_submatches:nn on line ...
+Defining \__regex_action_start_wildcard: on line ...
+Defining \__regex_action_free:n on line ...
+Defining \__regex_action_free_group:n on line ...
+Defining \__regex_action_free_aux:nn on line ...
+Defining \__regex_action_cost:n on line ...
+Defining \__regex_store_state:n on line ...
+Defining \__regex_store_submatches: on line ...
+Defining \__regex_disable_submatches: on line ...
+Defining \__regex_action_submatch:n on line ...
+Defining \__regex_action_success: on line ...
+Defining \l__regex_replacement_csnames_int on line ...
+\l__regex_replacement_csnames_int=\count187
+Defining \l__regex_replacement_category_tl on line ...
+Defining \l__regex_replacement_category_seq on line ...
+Defining \l__regex_balance_tl on line ...
+Defining \__regex_replacement_balance_one_match:n on line ...
+Defining \__regex_replacement_do_one_match:n on line ...
+Defining \__regex_replacement_exp_not:N on line ...
+Defining \__regex_query_range:nn on line ...
+Defining \__regex_query_range_loop:ww on line ...
+Defining \__regex_query_submatch:n on line ...
+Defining \__regex_submatch_balance:n on line ...
+Defining \__regex_replacement:n on line ...
+Defining \__regex_replacement_aux:n on line ...
+Defining \__regex_replacement_normal:n on line ...
+Defining \__regex_replacement_escaped:N on line ...
+Defining \__regex_replacement_put_submatch:n on line ...
+Defining \__regex_replacement_g:w on line ...
+Defining \__regex_replacement_g_digits:NN on line ...
+Defining \__regex_replacement_c:w on line ...
+Defining \__regex_replacement_cu_aux:Nw on line ...
+Defining \__regex_replacement_u:w on line ...
+Defining \__regex_replacement_rbrace:N on line ...
+Defining \__regex_replacement_cat:NNN on line ...
+Defining \__regex_replacement_char:nNN on line ...
+Defining \__regex_replacement_c_A:w on line ...
+Defining \__regex_replacement_c_B:w on line ...
+Defining \__regex_replacement_c_C:w on line ...
+Defining \__regex_replacement_c_D:w on line ...
+Defining \__regex_replacement_c_E:w on line ...
+Defining \__regex_replacement_c_L:w on line ...
+Defining \__regex_replacement_c_M:w on line ...
+Defining \__regex_replacement_c_O:w on line ...
+Defining \__regex_replacement_c_P:w on line ...
+Defining \__regex_replacement_c_S:w on line ...
+Defining \__regex_replacement_c_T:w on line ...
+Defining \__regex_replacement_c_U:w on line ...
+Defining \__regex_replacement_error:NNN on line ...
+Defining \regex_new:N on line ...
+Defining \regex_set:Nn on line ...
+Defining \regex_gset:Nn on line ...
+Defining \regex_const:Nn on line ...
+Defining \regex_show:n on line ...
+Defining \regex_show:N on line ...
+Defining \regex_match:nnT on line ...
+Defining \regex_match:nnF on line ...
+Defining \regex_match:nnTF on line ...
+Defining \regex_match:NnT on line ...
+Defining \regex_match:NnF on line ...
+Defining \regex_match:NnTF on line ...
+Defining \regex_count:nnN on line ...
+Defining \regex_count:NnN on line ...
+Defining \regex_extract_once:nnN on line ...
+Defining \regex_extract_once:NnN on line ...
+Defining \regex_extract_once:nnNT on line ...
+Defining \regex_extract_once:nnNF on line ...
+Defining \regex_extract_once:nnNTF on line ...
+Defining \regex_extract_once:NnNT on line ...
+Defining \regex_extract_once:NnNF on line ...
+Defining \regex_extract_once:NnNTF on line ...
+Defining \regex_extract_all:nnN on line ...
+Defining \regex_extract_all:NnN on line ...
+Defining \regex_extract_all:nnNT on line ...
+Defining \regex_extract_all:nnNF on line ...
+Defining \regex_extract_all:nnNTF on line ...
+Defining \regex_extract_all:NnNT on line ...
+Defining \regex_extract_all:NnNF on line ...
+Defining \regex_extract_all:NnNTF on line ...
+Defining \regex_replace_once:nnN on line ...
+Defining \regex_replace_once:NnN on line ...
+Defining \regex_replace_once:nnNT on line ...
+Defining \regex_replace_once:nnNF on line ...
+Defining \regex_replace_once:nnNTF on line ...
+Defining \regex_replace_once:NnNT on line ...
+Defining \regex_replace_once:NnNF on line ...
+Defining \regex_replace_once:NnNTF on line ...
+Defining \regex_replace_all:nnN on line ...
+Defining \regex_replace_all:NnN on line ...
+Defining \regex_replace_all:nnNT on line ...
+Defining \regex_replace_all:nnNF on line ...
+Defining \regex_replace_all:nnNTF on line ...
+Defining \regex_replace_all:NnNT on line ...
+Defining \regex_replace_all:NnNF on line ...
+Defining \regex_replace_all:NnNTF on line ...
+Defining \regex_split:nnN on line ...
+Defining \regex_split:NnN on line ...
+Defining \regex_split:nnNT on line ...
+Defining \regex_split:nnNF on line ...
+Defining \regex_split:nnNTF on line ...
+Defining \regex_split:NnNT on line ...
+Defining \regex_split:NnNF on line ...
+Defining \regex_split:NnNTF on line ...
+Defining \l__regex_match_count_int on line ...
+\l__regex_match_count_int=\count188
+Defining \flag __regex_begin on line ...
+Defining \flag __regex_end on line ...
+Defining \l__regex_min_submatch_int on line ...
+\l__regex_min_submatch_int=\count189
+Defining \l__regex_submatch_int on line ...
+\l__regex_submatch_int=\count190
+Defining \l__regex_zeroth_submatch_int on line ...
+\l__regex_zeroth_submatch_int=\count191
+Defining \g__regex_submatch_prev_intarray on line ...
+Defining \g__regex_submatch_begin_intarray on line ...
+Defining \g__regex_submatch_end_intarray on line ...
+Defining \__regex_return: on line ...
+Defining \__regex_if_match:nn on line ...
+Defining \__regex_count:nnN on line ...
+Defining \__regex_extract_once:nnN on line ...
+Defining \__regex_extract_all:nnN on line ...
+Defining \__regex_split:nnN on line ...
+Defining \__regex_group_end_extract_seq:N on line ...
+Defining \__regex_extract_seq_aux:n on line ...
+Defining \__regex_extract_seq_aux:ww on line ...
+Defining \__regex_extract: on line ...
+Defining \__regex_extract_b:wn on line ...
+Defining \__regex_extract_e:wn on line ...
+Defining \__regex_replace_once:nnN on line ...
+Defining \__regex_replace_all:nnN on line ...
+Defining \__regex_group_end_replace:N on line ...
+Defining message LaTeX/regex/trailing-backslash on line ...
+Defining message LaTeX/regex/x-missing-rbrace on line ...
+Defining message LaTeX/regex/x-overflow on line ...
+Defining message LaTeX/regex/invalid-quantifier on line ...
+Defining message LaTeX/regex/missing-rbrack on line ...
+Defining message LaTeX/regex/missing-rparen on line ...
+Defining message LaTeX/regex/extra-rparen on line ...
+Defining message LaTeX/regex/bad-escape on line ...
+Defining message LaTeX/regex/range-missing-end on line ...
+Defining message LaTeX/regex/range-backwards on line ...
+Defining message LaTeX/regex/c-bad-mode on line ...
+Defining message LaTeX/regex/c-missing-rbrace on line ...
+Defining message LaTeX/regex/c-missing-rbrack on line ...
+Defining message LaTeX/regex/c-missing-category on line ...
+Defining message LaTeX/regex/c-trailing on line ...
+Defining message LaTeX/regex/u-missing-lbrace on line ...
+Defining message LaTeX/regex/u-missing-rbrace on line ...
+Defining message LaTeX/regex/posix-unsupported on line ...
+Defining message LaTeX/regex/posix-unknown on line ...
+Defining message LaTeX/regex/posix-missing-close on line ...
+Defining message LaTeX/regex/result-unbalanced on line ...
+Defining message LaTeX/regex/unknown-option on line ...
+Defining message LaTeX/regex/special-group-unknown on line ...
+Defining message LaTeX/regex/replacement-c on line ...
+Defining message LaTeX/regex/replacement-u on line ...
+Defining message LaTeX/regex/replacement-g on line ...
+Defining message LaTeX/regex/replacement-catcode-end on line ...
+Defining message LaTeX/regex/replacement-catcode-in-cs on line ...
+Defining message LaTeX/regex/replacement-null-space on line ...
+Defining message LaTeX/regex/replacement-missing-rbrace on line ...
+Defining message LaTeX/regex/replacement-missing-rparen on line ...
+Defining \__regex_msg_repeated:nnN on line ...
 Defining \box_new:N on line ...
 Defining \box_new:c on line ...
 Defining \box_clear:N on line ...
@@ -5023,7 +5598,7 @@ Defining \__driver_image_getbb_jpg:n on line ...
 Defining \__driver_image_getbb_png:n on line ...
 Defining \__driver_image_getbb_pdf:n on line ...
 Defining \g__driver_image_int on line ...
-\g__driver_image_int=\count145
+\g__driver_image_int=\count192
 Defining \__driver_image_include_eps:n on line ...
 Defining \__driver_image_include_jpg:n on line ...
 Defining \__driver_image_include_png:n on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index 64d0d3d..275e8e2 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -1398,6 +1398,16 @@ Defining \g_tmpa_int on line ...
 Defining \g_tmpb_int on line ...
 \g_tmpb_int=\count116
 Defining \c_minus_one on line ...
+Defining \g__intarray_font_int on line ...
+\g__intarray_font_int=\count117
+Defining \__intarray_new:Nn on line ...
+Defining \__intarray_count:N on line ...
+Defining \__intarray_gset_fast:Nnn on line ...
+Defining \__intarray_gset:Nnn on line ...
+Defining \__intarray_gset_aux:Nnn on line ...
+Defining \__intarray_item_fast:Nn on line ...
+Defining \__intarray_item:Nn on line ...
+Defining \__intarray_item_aux:Nn on line ...
 Defining \flag_new:n on line ...
 Defining \flag_clear:n on line ...
 Defining \__flag_clear:wn on line ...
@@ -1620,7 +1630,7 @@ Defining \mode_if_math:TF on line ...
 Defining \group_align_safe_begin: on line ...
 Defining \group_align_safe_end: on line ...
 Defining \g__prg_map_int on line ...
-\g__prg_map_int=\count117
+\g__prg_map_int=\count118
 Defining \c_empty_clist on line ...
 Defining \l__clist_internal_clist on line ...
 Defining \__clist_tmp:w on line ...
@@ -2773,6 +2783,8 @@ Defining message LaTeX/kernel/empty-search-pattern on line ...
 Defining message LaTeX/kernel/out-of-registers on line ...
 Defining message LaTeX/kernel/non-base-function on line ...
 Defining message LaTeX/kernel/missing-colon on line ...
+Defining message LaTeX/kernel/overflow on line ...
+Defining message LaTeX/kernel/out-of-bounds on line ...
 Defining message LaTeX/kernel/protected-predicate on line ...
 Defining message LaTeX/kernel/conditional-form-unknown on line ...
 Defining message LaTeX/kernel/scanmark-already-defined on line ...
@@ -2870,7 +2882,7 @@ Defining \ior_get:NN on line ...
 Defining \ior_str_get:NN on line ...
 Defining \g__file_internal_ior on line ...
 Defining \c_log_iow on line ...
-\c_log_iow=\count118
+\c_log_iow=\count119
 Defining \c_term_iow on line ...
 Defining \g__iow_streams_seq on line ...
 Defining \l__iow_stream_tl on line ...
@@ -2907,18 +2919,18 @@ Defining \iow_newline: on line ...
 Defining \iow_char:N on line ...
 Defining \c_catcode_other_space_tl on line ...
 Defining \l_iow_line_count_int on line ...
-\l_iow_line_count_int=\count119
+\l_iow_line_count_int=\count120
 Defining \l__iow_newline_tl on line ...
 Defining \l__iow_line_target_int on line ...
-\l__iow_line_target_int=\count120
+\l__iow_line_target_int=\count121
 Defining \l__iow_one_indent_tl on line ...
 Defining \l__iow_one_indent_int on line ...
-\l__iow_one_indent_int=\count121
+\l__iow_one_indent_int=\count122
 Defining \__iow_unindent:w on line ...
 Defining \__iow_set_indent:n on line ...
 Defining \l__iow_indent_tl on line ...
 Defining \l__iow_indent_int on line ...
-\l__iow_indent_int=\count122
+\l__iow_indent_int=\count123
 Defining \l__iow_line_tl on line ...
 Defining \l__iow_line_part_tl on line ...
 Defining \l__iow_line_break_bool on line ...
@@ -3234,7 +3246,7 @@ Defining \c__keys_type_root_tl on line ...
 Defining \c__keys_validate_root_tl on line ...
 Defining \c__keys_props_root_tl on line ...
 Defining \l_keys_choice_int on line ...
-\l_keys_choice_int=\count123
+\l_keys_choice_int=\count124
 Defining \l_keys_choice_tl on line ...
 Defining \l__keys_groups_clist on line ...
 Defining \l_keys_key_tl on line ...
@@ -3471,25 +3483,25 @@ Defining \__fp_exp_after_normal:Nwwwww on line ...
 Defining \__fp_exp_after_array_f:w on line ...
 Defining \__fp_exp_after_stop_f:nw on line ...
 Defining \c__fp_leading_shift_int on line ...
-\c__fp_leading_shift_int=\count124
+\c__fp_leading_shift_int=\count125
 Defining \c__fp_middle_shift_int on line ...
-\c__fp_middle_shift_int=\count125
+\c__fp_middle_shift_int=\count126
 Defining \c__fp_trailing_shift_int on line ...
-\c__fp_trailing_shift_int=\count126
+\c__fp_trailing_shift_int=\count127
 Defining \__fp_pack:NNNNNw on line ...
 Defining \c__fp_big_leading_shift_int on line ...
-\c__fp_big_leading_shift_int=\count127
+\c__fp_big_leading_shift_int=\count128
 Defining \c__fp_big_middle_shift_int on line ...
-\c__fp_big_middle_shift_int=\count128
+\c__fp_big_middle_shift_int=\count129
 Defining \c__fp_big_trailing_shift_int on line ...
-\c__fp_big_trailing_shift_int=\count129
+\c__fp_big_trailing_shift_int=\count130
 Defining \__fp_pack_big:NNNNNNw on line ...
 Defining \c__fp_Bigg_leading_shift_int on line ...
-\c__fp_Bigg_leading_shift_int=\count130
+\c__fp_Bigg_leading_shift_int=\count131
 Defining \c__fp_Bigg_middle_shift_int on line ...
-\c__fp_Bigg_middle_shift_int=\count131
+\c__fp_Bigg_middle_shift_int=\count132
 Defining \c__fp_Bigg_trailing_shift_int on line ...
-\c__fp_Bigg_trailing_shift_int=\count132
+\c__fp_Bigg_trailing_shift_int=\count133
 Defining \__fp_pack_Bigg:NNNNNNw on line ...
 Defining \__fp_pack_twice_four:wNNNNNNNN on line ...
 Defining \__fp_pack_eight:wNNNNNNNN on line ...
@@ -4191,11 +4203,11 @@ Defining \__fp_parse_word_rand:N on line ...
 Defining \__fp_parse_word_randint:N on line ...
 Defining \__fp_rand_uniform: on line ...
 Defining \c__fp_rand_size_int on line ...
-\c__fp_rand_size_int=\count133
+\c__fp_rand_size_int=\count134
 Defining \c__fp_rand_four_int on line ...
-\c__fp_rand_four_int=\count134
+\c__fp_rand_four_int=\count135
 Defining \c__fp_rand_eight_int on line ...
-\c__fp_rand_eight_int=\count135
+\c__fp_rand_eight_int=\count136
 Defining \__fp_rand_myriads:n on line ...
 Defining \__fp_rand_myriads_loop:nn on line ...
 Defining \__fp_rand_myriads_get:w on line ...
@@ -4260,27 +4272,27 @@ Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
 Defining \l__sort_length_int on line ...
-\l__sort_length_int=\count136
+\l__sort_length_int=\count137
 Defining \l__sort_min_int on line ...
-\l__sort_min_int=\count137
+\l__sort_min_int=\count138
 Defining \l__sort_top_int on line ...
-\l__sort_top_int=\count138
+\l__sort_top_int=\count139
 Defining \l__sort_max_int on line ...
-\l__sort_max_int=\count139
+\l__sort_max_int=\count140
 Defining \l__sort_true_max_int on line ...
-\l__sort_true_max_int=\count140
+\l__sort_true_max_int=\count141
 Defining \l__sort_block_int on line ...
-\l__sort_block_int=\count141
+\l__sort_block_int=\count142
 Defining \l__sort_begin_int on line ...
-\l__sort_begin_int=\count142
+\l__sort_begin_int=\count143
 Defining \l__sort_end_int on line ...
-\l__sort_end_int=\count143
+\l__sort_end_int=\count144
 Defining \l__sort_A_int on line ...
-\l__sort_A_int=\count144
+\l__sort_A_int=\count145
 Defining \l__sort_B_int on line ...
-\l__sort_B_int=\count145
+\l__sort_B_int=\count146
 Defining \l__sort_C_int on line ...
-\l__sort_C_int=\count146
+\l__sort_C_int=\count147
 Defining \__sort_shrink_range: on line ...
 Defining \__sort_shrink_range_loop: on line ...
 Defining \__sort_compute_range: on line ...
@@ -4337,6 +4349,569 @@ Defining message LaTeX/sort/return-none on line ...
 Defining message LaTeX/sort/return-two on line ...
 Defining \sort_ordered: on line ...
 Defining \sort_reversed: on line ...
+Defining \l__tl_build_start_index_int on line ...
+\l__tl_build_start_index_int=\count148
+Defining \l__tl_build_index_int on line ...
+\l__tl_build_index_int=\count149
+Defining \l__tl_build_result_tl on line ...
+Defining \__tl_build_unpack: on line ...
+Defining \__tl_build_unpack_loop:w on line ...
+Defining \__tl_build:Nw on line ...
+Defining \__tl_build_x:Nw on line ...
+Defining \__tl_gbuild:Nw on line ...
+Defining \__tl_gbuild_x:Nw on line ...
+Defining \__tl_build_aux:NNw on line ...
+Defining \__tl_build_end: on line ...
+Defining \__tl_build_end_assignment:n on line ...
+Defining \__tl_build_one:n on line ...
+Defining \__tl_build_one:o on line ...
+Defining \__tl_build_one:x on line ...
+Defining \s__tl on line ...
+Defining \l__tl_analysis_internal_tl on line ...
+Defining \l__tl_analysis_token on line ...
+Defining \l__tl_analysis_char_token on line ...
+Defining \l__tl_analysis_normal_int on line ...
+\l__tl_analysis_normal_int=\count150
+Defining \l__tl_analysis_index_int on line ...
+\l__tl_analysis_index_int=\count151
+Defining \l__tl_analysis_nesting_int on line ...
+\l__tl_analysis_nesting_int=\count152
+Defining \l__tl_analysis_type_int on line ...
+\l__tl_analysis_type_int=\count153
+Defining \g__tl_analysis_result_tl on line ...
+Defining \__tl_analysis_extract_charcode: on line ...
+Defining \__tl_analysis_extract_charcode_aux:w on line ...
+Defining \__tl_analysis_cs_space_count:NN on line ...
+Defining \__tl_analysis_cs_space_count:w on line ...
+Defining \__tl_analysis_cs_space_count_end:w on line ...
+Defining \__tl_analysis:n on line ...
+Defining \__tl_analysis_setup:n on line ...
+Defining \__tl_analysis_disable_loop:N on line ...
+Defining \__tl_analysis_a:n on line ...
+Defining \__tl_analysis_a_loop:w on line ...
+Defining \__tl_analysis_a_type:w on line ...
+Defining \__tl_analysis_a_space:w on line ...
+Defining \__tl_analysis_a_space_test:w on line ...
+Defining \__tl_analysis_a_bgroup:w on line ...
+Defining \__tl_analysis_a_egroup:w on line ...
+Defining \__tl_analysis_a_group:nw on line ...
+Defining \__tl_analysis_a_group_test:w on line ...
+Defining \__tl_analysis_a_store: on line ...
+Defining \__tl_analysis_a_safe:N on line ...
+Defining \__tl_analysis_a_cs:ww on line ...
+Defining \__tl_analysis_b:n on line ...
+Defining \__tl_analysis_b_loop:w on line ...
+Defining \__tl_analysis_b_normals:ww on line ...
+Defining \__tl_analysis_b_normal:wwN on line ...
+Defining \__tl_analysis_b_char:Nww on line ...
+Defining \__tl_analysis_b_cs:Nww on line ...
+Defining \__tl_analysis_b_cs_test:ww on line ...
+Defining \__tl_analysis_b_special:w on line ...
+Defining \__tl_analysis_b_special_char:wN on line ...
+Defining \__tl_analysis_b_special_space:w on line ...
+Defining \__tl_analysis_map_inline:nn on line ...
+Defining \__tl_analysis_map_inline_aux:Nn on line ...
+Defining \tl_show_analysis:N on line ...
+Defining \tl_show_analysis:n on line ...
+Defining \__tl_analysis_show: on line ...
+Defining \__tl_analysis_show_loop:wNw on line ...
+Defining \__tl_analysis_show_normal:n on line ...
+Defining \__tl_analysis_show_value:N on line ...
+Defining \__tl_analysis_show_cs:n on line ...
+Defining \__tl_analysis_show_active:n on line ...
+Defining \__tl_analysis_show_long:nn on line ...
+Defining \__tl_analysis_show_long_aux:nnnn on line ...
+Defining \exp_args:Noof on line ...
+Defining \__tl_analysis_show_long_aux:oofn on line ...
+Defining \c__tl_analysis_show_etc_str on line ...
+Defining message LaTeX/kernel/show-tl-analysis on line ...
+Defining \tl_to_str:V on line ...
+Defining \__regex_standard_escapechar: on line ...
+Defining \__regex_toks_use:w on line ...
+Defining \__regex_toks_clear:N on line ...
+Defining \__regex_toks_set:Nn on line ...
+Defining \__regex_toks_set:No on line ...
+Defining \__regex_toks_memcpy:NNn on line ...
+Defining \__regex_toks_put_left:Nx on line ...
+Defining \__regex_toks_put_right:Nx on line ...
+Defining \__regex_toks_put_right:Nn on line ...
+Defining \__regex_current_cs_to_str: on line ...
+Defining \__regex_tmp:w on line ...
+Defining \l__regex_internal_a_tl on line ...
+Defining \l__regex_internal_b_tl on line ...
+Defining \l__regex_internal_a_int on line ...
+\l__regex_internal_a_int=\count154
+Defining \l__regex_internal_b_int on line ...
+\l__regex_internal_b_int=\count155
+Defining \l__regex_internal_c_int on line ...
+\l__regex_internal_c_int=\count156
+Defining \l__regex_internal_bool on line ...
+Defining \l__regex_internal_seq on line ...
+Defining \g__regex_internal_tl on line ...
+Defining \c__regex_no_match_regex on line ...
+Defining \g__regex_charcode_intarray on line ...
+Defining \g__regex_catcode_intarray on line ...
+Defining \g__regex_balance_intarray on line ...
+Defining \l__regex_balance_int on line ...
+\l__regex_balance_int=\count157
+Defining \l__regex_cs_name_tl on line ...
+Defining \c__regex_ascii_min_int on line ...
+Defining \c__regex_ascii_max_control_int on line ...
+Defining \c__regex_ascii_max_int on line ...
+Defining \c__regex_ascii_lower_int on line ...
+Defining \__regex_break_true:w on line ...
+Defining \__regex_break_point:TF on line ...
+Defining \__regex_item_reverse:n on line ...
+Defining \__regex_item_caseful_equal:n on line ...
+Defining \__regex_item_caseful_range:nn on line ...
+Defining \__regex_item_caseless_equal:n on line ...
+Defining \__regex_item_caseless_range:nn on line ...
+Defining \__regex_compute_case_changed_char: on line ...
+Defining \__regex_item_equal:n on line ...
+Defining \__regex_item_range:nn on line ...
+Defining \__regex_item_catcode: on line ...
+Defining \__regex_item_catcode:nT on line ...
+Defining \__regex_item_catcode_reverse:nT on line ...
+Defining \__regex_item_exact:nn on line ...
+Defining \__regex_item_exact_cs:n on line ...
+Defining \__regex_item_cs:n on line ...
+Defining \__regex_prop_d: on line ...
+Defining \__regex_prop_h: on line ...
+Defining \__regex_prop_s: on line ...
+Defining \__regex_prop_v: on line ...
+Defining \__regex_prop_w: on line ...
+Defining \__regex_prop_N: on line ...
+Defining \__regex_posix_alnum: on line ...
+Defining \__regex_posix_alpha: on line ...
+Defining \__regex_posix_ascii: on line ...
+Defining \__regex_posix_blank: on line ...
+Defining \__regex_posix_cntrl: on line ...
+Defining \__regex_posix_digit: on line ...
+Defining \__regex_posix_graph: on line ...
+Defining \__regex_posix_lower: on line ...
+Defining \__regex_posix_print: on line ...
+Defining \__regex_posix_punct: on line ...
+Defining \__regex_posix_space: on line ...
+Defining \__regex_posix_upper: on line ...
+Defining \__regex_posix_word: on line ...
+Defining \__regex_posix_xdigit: on line ...
+Defining \__regex_escape_use:nnnn on line ...
+Defining \__regex_escape_loop:N on line ...
+Defining \__regex_escape_\:w on line ...
+Defining \__regex_escape_unescaped:N on line ...
+Defining \__regex_escape_escaped:N on line ...
+Defining \__regex_escape_raw:N on line ...
+Defining \__regex_escape_break:w on line ...
+Defining \__regex_escape_/break:w on line ...
+Defining \__regex_escape_ :w on line ...
+Defining \__regex_escape_/a:w on line ...
+Defining \__regex_escape_/t:w on line ...
+Defining \__regex_escape_/n:w on line ...
+Defining \__regex_escape_/f:w on line ...
+Defining \__regex_escape_/r:w on line ...
+Defining \__regex_escape_/e:w on line ...
+Defining \__regex_escape_/x:w on line ...
+Defining \__regex_escape_x_end:w on line ...
+Defining \__regex_escape_x_test:N on line ...
+Defining \__regex_escape_x_testii:N on line ...
+Defining \__regex_escape_x:N on line ...
+Defining \__regex_escape_x_loop:N on line ...
+Defining \__regex_escape_x_loop_error:n on line ...
+Defining \__regex_hexadecimal_use:NTF on line ...
+Defining \__regex_char_if_special:NTF on line ...
+Defining \__regex_char_if_alphanumeric:NTF on line ...
+Defining \l__regex_group_level_int on line ...
+\l__regex_group_level_int=\count158
+Defining \l__regex_mode_int on line ...
+\l__regex_mode_int=\count159
+Defining \c__regex_cs_in_class_mode_int on line ...
+\c__regex_cs_in_class_mode_int=\count160
+Defining \c__regex_cs_mode_int on line ...
+\c__regex_cs_mode_int=\count161
+Defining \c__regex_outer_mode_int on line ...
+Defining \c__regex_catcode_mode_int on line ...
+Defining \c__regex_class_mode_int on line ...
+Defining \c__regex_catcode_in_class_mode_int on line ...
+Defining \l__regex_catcodes_int on line ...
+\l__regex_catcodes_int=\count162
+Defining \l__regex_default_catcodes_int on line ...
+\l__regex_default_catcodes_int=\count163
+Defining \l__regex_catcodes_bool on line ...
+Defining \c__regex_catcode_C_int on line ...
+Defining \c__regex_catcode_B_int on line ...
+Defining \c__regex_catcode_E_int on line ...
+Defining \c__regex_catcode_M_int on line ...
+Defining \c__regex_catcode_T_int on line ...
+Defining \c__regex_catcode_P_int on line ...
+Defining \c__regex_catcode_U_int on line ...
+Defining \c__regex_catcode_D_int on line ...
+\c__regex_catcode_D_int=\count164
+Defining \c__regex_catcode_S_int on line ...
+\c__regex_catcode_S_int=\count165
+Defining \c__regex_catcode_L_int on line ...
+\c__regex_catcode_L_int=\count166
+Defining \c__regex_catcode_O_int on line ...
+\c__regex_catcode_O_int=\count167
+Defining \c__regex_catcode_A_int on line ...
+\c__regex_catcode_A_int=\count168
+Defining \c__regex_all_catcodes_int on line ...
+\c__regex_all_catcodes_int=\count169
+Defining \l__regex_internal_regex on line ...
+Defining \l__regex_show_prefix_seq on line ...
+Defining \l__regex_show_lines_int on line ...
+\l__regex_show_lines_int=\count170
+Defining \__regex_get_digits:NTFw on line ...
+Defining \__regex_get_digits_loop:nw on line ...
+Defining \__regex_if_raw_digit:NNTF on line ...
+Defining \__regex_if_in_class:TF on line ...
+Defining \__regex_if_in_cs:TF on line ...
+Defining \__regex_if_in_class_or_catcode:TF on line ...
+Defining \__regex_if_within_catcode:TF on line ...
+Defining \__regex_chk_c_allowed:T on line ...
+Defining \__regex_mode_quit_c: on line ...
+Defining \__regex_compile:w on line ...
+Defining \__regex_compile_end: on line ...
+Defining \__regex_compile:n on line ...
+Defining \__regex_compile_special:N on line ...
+Defining \__regex_compile_escaped:N on line ...
+Defining \__regex_compile_one:x on line ...
+Defining \__regex_compile_abort_tokens:n on line ...
+Defining \__regex_compile_abort_tokens:x on line ...
+Defining \__regex_compile_quantifier:w on line ...
+Defining \__regex_compile_quantifier_none: on line ...
+Defining \__regex_compile_quantifier_abort:xNN on line ...
+Defining \__regex_compile_quantifier_lazyness:nnNN on line ...
+Defining \__regex_compile_quantifier_?:w on line ...
+Defining \__regex_compile_quantifier_*:w on line ...
+Defining \__regex_compile_quantifier_+:w on line ...
+Defining \__regex_compile_quantifier_{:w on line ...
+Defining \__regex_compile_quantifier_braced_auxi:w on line ...
+Defining \__regex_compile_quantifier_braced_auxii:w on line ...
+Defining \__regex_compile_quantifier_braced_auxiii:w on line ...
+Defining \__regex_compile_raw_error:N on line ...
+Defining \__regex_compile_raw:N on line ...
+Defining \__regex_if_end_range:NNTF on line ...
+Defining \__regex_compile_range:Nw on line ...
+Defining \__regex_compile_.: on line ...
+Defining \__regex_prop_.: on line ...
+Defining \__regex_compile_/d: on line ...
+Defining \__regex_compile_/D: on line ...
+Defining \__regex_compile_/h: on line ...
+Defining \__regex_compile_/H: on line ...
+Defining \__regex_compile_/s: on line ...
+Defining \__regex_compile_/S: on line ...
+Defining \__regex_compile_/v: on line ...
+Defining \__regex_compile_/V: on line ...
+Defining \__regex_compile_/w: on line ...
+Defining \__regex_compile_/W: on line ...
+Defining \__regex_compile_/N: on line ...
+Defining \__regex_compile_anchor:NF on line ...
+Defining \__regex_compile_/A: on line ...
+Defining \__regex_compile_/G: on line ...
+Defining \__regex_compile_/Z: on line ...
+Defining \__regex_compile_/z: on line ...
+Defining \__regex_compile_^: on line ...
+Defining \__regex_compile_$: on line ...
+Defining \__regex_compile_/b: on line ...
+Defining \__regex_compile_/B: on line ...
+Defining \__regex_compile_]: on line ...
+Defining \__regex_compile_[: on line ...
+Defining \__regex_compile_class_normal:w on line ...
+Defining \__regex_compile_class_catcode:w on line ...
+Defining \__regex_compile_class:TFNN on line ...
+Defining \__regex_compile_class:NN on line ...
+Defining \__regex_compile_class_posix_test:w on line ...
+Defining \__regex_compile_class_posix:NNNNw on line ...
+Defining \__regex_compile_class_posix_loop:w on line ...
+Defining \__regex_compile_class_posix_end:w on line ...
+Defining \__regex_compile_group_begin:N on line ...
+Defining \__regex_compile_group_end: on line ...
+Defining \__regex_compile_(: on line ...
+Defining \__regex_compile_lparen:w on line ...
+Defining \__regex_compile_|: on line ...
+Defining \__regex_compile_): on line ...
+Defining \__regex_compile_special_group_::w on line ...
+Defining \__regex_compile_special_group_|:w on line ...
+Defining \__regex_compile_special_group_i:w on line ...
+Defining \__regex_compile_special_group_-:w on line ...
+Defining \__regex_compile_/c: on line ...
+Defining \__regex_compile_c_test:NN on line ...
+Defining \__regex_compile_c_[:w on line ...
+Defining \__regex_compile_c_lbrack_loop:NN on line ...
+Defining \__regex_compile_c_lbrack_add:N on line ...
+Defining \__regex_compile_c_lbrack_end: on line ...
+Defining \__regex_compile_c_{:w on line ...
+Defining \flag __regex_cs on line ...
+Defining \__regex_compile_}: on line ...
+Defining \__regex_compile_end_cs: on line ...
+Defining \__regex_compile_cs_aux:Nn on line ...
+Defining \__regex_compile_cs_aux:NNnnnN on line ...
+Defining \__regex_compile_/u: on line ...
+Defining \__regex_compile_u_loop:NN on line ...
+Defining \__regex_compile_u_end: on line ...
+Defining \__regex_compile_u_in_cs: on line ...
+Defining \__regex_compile_u_in_cs_aux:n on line ...
+Defining \__regex_compile_u_not_cs: on line ...
+Defining \__regex_compile_/K: on line ...
+Defining \__regex_show:Nn on line ...
+Defining \__regex_show_one:n on line ...
+Defining \__regex_show_push:n on line ...
+Defining \__regex_show_pop: on line ...
+Defining \__regex_show_scope:nn on line ...
+Defining \__regex_show_group_aux:nnnnN on line ...
+Defining \__regex_show_anchor_to_str:N on line ...
+Defining \__regex_show_item_catcode:NnT on line ...
+Defining \__regex_show_item_exact_cs:n on line ...
+Defining \l__regex_min_state_int on line ...
+\l__regex_min_state_int=\count171
+Defining \l__regex_max_state_int on line ...
+\l__regex_max_state_int=\count172
+Defining \l__regex_left_state_int on line ...
+\l__regex_left_state_int=\count173
+Defining \l__regex_right_state_int on line ...
+\l__regex_right_state_int=\count174
+Defining \l__regex_left_state_seq on line ...
+Defining \l__regex_right_state_seq on line ...
+Defining \l__regex_capturing_group_int on line ...
+\l__regex_capturing_group_int=\count175
+Defining \__regex_build:n on line ...
+Defining \__regex_build:N on line ...
+Defining \__regex_build_for_cs:n on line ...
+Defining \__regex_push_lr_states: on line ...
+Defining \__regex_pop_lr_states: on line ...
+Defining \__regex_build_transition_left:NNN on line ...
+Defining \__regex_build_transition_right:nNn on line ...
+Defining \__regex_build_new_state: on line ...
+Defining \__regex_build_transitions_lazyness:NNNNN on line ...
+Defining \__regex_class:NnnnN on line ...
+Defining \__regex_tests_action_cost:n on line ...
+Defining \__regex_class_repeat:n on line ...
+Defining \__regex_class_repeat:nN on line ...
+Defining \__regex_class_repeat:nnN on line ...
+Defining \__regex_group_aux:nnnnN on line ...
+Defining \__regex_group:nnnN on line ...
+Defining \__regex_group_no_capture:nnnN on line ...
+Defining \__regex_group_resetting:nnnN on line ...
+Defining \__regex_group_resetting_loop:nnNn on line ...
+Defining \__regex_branch:n on line ...
+Defining \__regex_group_repeat:nn on line ...
+Defining \__regex_group_submatches:nNN on line ...
+Defining \__regex_group_repeat_aux:n on line ...
+Defining \__regex_group_repeat:nnN on line ...
+Defining \__regex_group_repeat:nnnN on line ...
+Defining \__regex_assertion:Nn on line ...
+Defining \__regex_anchor:N on line ...
+Defining \__regex_b_test: on line ...
+Defining \__regex_command_K: on line ...
+Defining \l__regex_min_pos_int on line ...
+\l__regex_min_pos_int=\count176
+Defining \l__regex_max_pos_int on line ...
+\l__regex_max_pos_int=\count177
+Defining \l__regex_current_pos_int on line ...
+\l__regex_current_pos_int=\count178
+Defining \l__regex_start_pos_int on line ...
+\l__regex_start_pos_int=\count179
+Defining \l__regex_success_pos_int on line ...
+\l__regex_success_pos_int=\count180
+Defining \l__regex_current_char_int on line ...
+\l__regex_current_char_int=\count181
+Defining \l__regex_current_catcode_int on line ...
+\l__regex_current_catcode_int=\count182
+Defining \l__regex_last_char_int on line ...
+\l__regex_last_char_int=\count183
+Defining \l__regex_case_changed_char_int on line ...
+\l__regex_case_changed_char_int=\count184
+Defining \l__regex_current_state_int on line ...
+\l__regex_current_state_int=\count185
+Defining \l__regex_current_submatches_prop on line ...
+Defining \l__regex_success_submatches_prop on line ...
+Defining \l__regex_step_int on line ...
+\l__regex_step_int=\count186
+Defining \l__regex_min_active_int on line ...
+\l__regex_min_active_int=\count187
+Defining \l__regex_max_active_int on line ...
+\l__regex_max_active_int=\count188
+Defining \g__regex_state_active_intarray on line ...
+Defining \g__regex_thread_state_intarray on line ...
+Defining \l__regex_every_match_tl on line ...
+Defining \l__regex_fresh_thread_bool on line ...
+Defining \l__regex_empty_success_bool on line ...
+Defining \__regex_if_two_empty_matches:F on line ...
+Defining \g__regex_success_bool on line ...
+Defining \l__regex_saved_success_bool on line ...
+Defining \l__regex_match_success_bool on line ...
+Defining \__regex_match:n on line ...
+Defining \__regex_match_once: on line ...
+Defining \__regex_single_match: on line ...
+Defining \__regex_multi_match:n on line ...
+Defining \__regex_match_loop: on line ...
+Defining \__regex_match_one_active:n on line ...
+Defining \__regex_query_set:nnn on line ...
+Defining \__regex_query_get: on line ...
+Defining \__regex_use_state: on line ...
+Defining \__regex_use_state_and_submatches:nn on line ...
+Defining \__regex_action_start_wildcard: on line ...
+Defining \__regex_action_free:n on line ...
+Defining \__regex_action_free_group:n on line ...
+Defining \__regex_action_free_aux:nn on line ...
+Defining \__regex_action_cost:n on line ...
+Defining \__regex_store_state:n on line ...
+Defining \__regex_store_submatches: on line ...
+Defining \__regex_disable_submatches: on line ...
+Defining \__regex_action_submatch:n on line ...
+Defining \__regex_action_success: on line ...
+Defining \l__regex_replacement_csnames_int on line ...
+\l__regex_replacement_csnames_int=\count189
+Defining \l__regex_replacement_category_tl on line ...
+Defining \l__regex_replacement_category_seq on line ...
+Defining \l__regex_balance_tl on line ...
+Defining \__regex_replacement_balance_one_match:n on line ...
+Defining \__regex_replacement_do_one_match:n on line ...
+Defining \__regex_replacement_exp_not:N on line ...
+Defining \__regex_query_range:nn on line ...
+Defining \__regex_query_range_loop:ww on line ...
+Defining \__regex_query_submatch:n on line ...
+Defining \__regex_submatch_balance:n on line ...
+Defining \__regex_replacement:n on line ...
+Defining \__regex_replacement_aux:n on line ...
+Defining \__regex_replacement_normal:n on line ...
+Defining \__regex_replacement_escaped:N on line ...
+Defining \__regex_replacement_put_submatch:n on line ...
+Defining \__regex_replacement_g:w on line ...
+Defining \__regex_replacement_g_digits:NN on line ...
+Defining \__regex_replacement_c:w on line ...
+Defining \__regex_replacement_cu_aux:Nw on line ...
+Defining \__regex_replacement_u:w on line ...
+Defining \__regex_replacement_rbrace:N on line ...
+Defining \__regex_replacement_cat:NNN on line ...
+Defining \__regex_replacement_char:nNN on line ...
+Defining \__regex_replacement_c_A:w on line ...
+Defining \__regex_replacement_c_B:w on line ...
+Defining \__regex_replacement_c_C:w on line ...
+Defining \__regex_replacement_c_D:w on line ...
+Defining \__regex_replacement_c_E:w on line ...
+Defining \__regex_replacement_c_L:w on line ...
+Defining \__regex_replacement_c_M:w on line ...
+Defining \__regex_replacement_c_O:w on line ...
+Defining \__regex_replacement_c_P:w on line ...
+Defining \__regex_replacement_c_S:w on line ...
+Defining \__regex_replacement_c_T:w on line ...
+Defining \__regex_replacement_c_U:w on line ...
+Defining \__regex_replacement_error:NNN on line ...
+Defining \regex_new:N on line ...
+Defining \regex_set:Nn on line ...
+Defining \regex_gset:Nn on line ...
+Defining \regex_const:Nn on line ...
+Defining \regex_show:n on line ...
+Defining \regex_show:N on line ...
+Defining \regex_match:nnT on line ...
+Defining \regex_match:nnF on line ...
+Defining \regex_match:nnTF on line ...
+Defining \regex_match:NnT on line ...
+Defining \regex_match:NnF on line ...
+Defining \regex_match:NnTF on line ...
+Defining \regex_count:nnN on line ...
+Defining \regex_count:NnN on line ...
+Defining \regex_extract_once:nnN on line ...
+Defining \regex_extract_once:NnN on line ...
+Defining \regex_extract_once:nnNT on line ...
+Defining \regex_extract_once:nnNF on line ...
+Defining \regex_extract_once:nnNTF on line ...
+Defining \regex_extract_once:NnNT on line ...
+Defining \regex_extract_once:NnNF on line ...
+Defining \regex_extract_once:NnNTF on line ...
+Defining \regex_extract_all:nnN on line ...
+Defining \regex_extract_all:NnN on line ...
+Defining \regex_extract_all:nnNT on line ...
+Defining \regex_extract_all:nnNF on line ...
+Defining \regex_extract_all:nnNTF on line ...
+Defining \regex_extract_all:NnNT on line ...
+Defining \regex_extract_all:NnNF on line ...
+Defining \regex_extract_all:NnNTF on line ...
+Defining \regex_replace_once:nnN on line ...
+Defining \regex_replace_once:NnN on line ...
+Defining \regex_replace_once:nnNT on line ...
+Defining \regex_replace_once:nnNF on line ...
+Defining \regex_replace_once:nnNTF on line ...
+Defining \regex_replace_once:NnNT on line ...
+Defining \regex_replace_once:NnNF on line ...
+Defining \regex_replace_once:NnNTF on line ...
+Defining \regex_replace_all:nnN on line ...
+Defining \regex_replace_all:NnN on line ...
+Defining \regex_replace_all:nnNT on line ...
+Defining \regex_replace_all:nnNF on line ...
+Defining \regex_replace_all:nnNTF on line ...
+Defining \regex_replace_all:NnNT on line ...
+Defining \regex_replace_all:NnNF on line ...
+Defining \regex_replace_all:NnNTF on line ...
+Defining \regex_split:nnN on line ...
+Defining \regex_split:NnN on line ...
+Defining \regex_split:nnNT on line ...
+Defining \regex_split:nnNF on line ...
+Defining \regex_split:nnNTF on line ...
+Defining \regex_split:NnNT on line ...
+Defining \regex_split:NnNF on line ...
+Defining \regex_split:NnNTF on line ...
+Defining \l__regex_match_count_int on line ...
+\l__regex_match_count_int=\count190
+Defining \flag __regex_begin on line ...
+Defining \flag __regex_end on line ...
+Defining \l__regex_min_submatch_int on line ...
+\l__regex_min_submatch_int=\count191
+Defining \l__regex_submatch_int on line ...
+\l__regex_submatch_int=\count192
+Defining \l__regex_zeroth_submatch_int on line ...
+\l__regex_zeroth_submatch_int=\count193
+Defining \g__regex_submatch_prev_intarray on line ...
+Defining \g__regex_submatch_begin_intarray on line ...
+Defining \g__regex_submatch_end_intarray on line ...
+Defining \__regex_return: on line ...
+Defining \__regex_if_match:nn on line ...
+Defining \__regex_count:nnN on line ...
+Defining \__regex_extract_once:nnN on line ...
+Defining \__regex_extract_all:nnN on line ...
+Defining \__regex_split:nnN on line ...
+Defining \__regex_group_end_extract_seq:N on line ...
+Defining \__regex_extract_seq_aux:n on line ...
+Defining \__regex_extract_seq_aux:ww on line ...
+Defining \__regex_extract: on line ...
+Defining \__regex_extract_b:wn on line ...
+Defining \__regex_extract_e:wn on line ...
+Defining \__regex_replace_once:nnN on line ...
+Defining \__regex_replace_all:nnN on line ...
+Defining \__regex_group_end_replace:N on line ...
+Defining message LaTeX/regex/trailing-backslash on line ...
+Defining message LaTeX/regex/x-missing-rbrace on line ...
+Defining message LaTeX/regex/x-overflow on line ...
+Defining message LaTeX/regex/invalid-quantifier on line ...
+Defining message LaTeX/regex/missing-rbrack on line ...
+Defining message LaTeX/regex/missing-rparen on line ...
+Defining message LaTeX/regex/extra-rparen on line ...
+Defining message LaTeX/regex/bad-escape on line ...
+Defining message LaTeX/regex/range-missing-end on line ...
+Defining message LaTeX/regex/range-backwards on line ...
+Defining message LaTeX/regex/c-bad-mode on line ...
+Defining message LaTeX/regex/c-missing-rbrace on line ...
+Defining message LaTeX/regex/c-missing-rbrack on line ...
+Defining message LaTeX/regex/c-missing-category on line ...
+Defining message LaTeX/regex/c-trailing on line ...
+Defining message LaTeX/regex/u-missing-lbrace on line ...
+Defining message LaTeX/regex/u-missing-rbrace on line ...
+Defining message LaTeX/regex/posix-unsupported on line ...
+Defining message LaTeX/regex/posix-unknown on line ...
+Defining message LaTeX/regex/posix-missing-close on line ...
+Defining message LaTeX/regex/result-unbalanced on line ...
+Defining message LaTeX/regex/unknown-option on line ...
+Defining message LaTeX/regex/special-group-unknown on line ...
+Defining message LaTeX/regex/replacement-c on line ...
+Defining message LaTeX/regex/replacement-u on line ...
+Defining message LaTeX/regex/replacement-g on line ...
+Defining message LaTeX/regex/replacement-catcode-end on line ...
+Defining message LaTeX/regex/replacement-catcode-in-cs on line ...
+Defining message LaTeX/regex/replacement-null-space on line ...
+Defining message LaTeX/regex/replacement-missing-rbrace on line ...
+Defining message LaTeX/regex/replacement-missing-rparen on line ...
+Defining \__regex_msg_repeated:nnN on line ...
 Defining \box_new:N on line ...
 Defining \box_new:c on line ...
 Defining \box_clear:N on line ...
@@ -5246,7 +5821,7 @@ Defining \l__driver_sin_fp on line ...
 Defining \__driver_box_use_scale:Nnn on line ...
 Defining \l__driver_color_current_tl on line ...
 Defining \l__driver_color_stack_int on line ...
-\l__driver_color_stack_int=\count147
+\l__driver_color_stack_int=\count194
 Defining \__driver_color_ensure_current: on line ...
 Defining \__driver_color_reset: on line ...
 Defining \l__driver_image_attr_tl on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index b23fe2d..56140d8 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -1398,6 +1398,16 @@ Defining \g_tmpa_int on line ...
 Defining \g_tmpb_int on line ...
 \g_tmpb_int=\count117
 Defining \c_minus_one on line ...
+Defining \g__intarray_font_int on line ...
+\g__intarray_font_int=\count118
+Defining \__intarray_new:Nn on line ...
+Defining \__intarray_count:N on line ...
+Defining \__intarray_gset_fast:Nnn on line ...
+Defining \__intarray_gset:Nnn on line ...
+Defining \__intarray_gset_aux:Nnn on line ...
+Defining \__intarray_item_fast:Nn on line ...
+Defining \__intarray_item:Nn on line ...
+Defining \__intarray_item_aux:Nn on line ...
 Defining \flag_new:n on line ...
 Defining \flag_clear:n on line ...
 Defining \__flag_clear:wn on line ...
@@ -1620,7 +1630,7 @@ Defining \mode_if_math:TF on line ...
 Defining \group_align_safe_begin: on line ...
 Defining \group_align_safe_end: on line ...
 Defining \g__prg_map_int on line ...
-\g__prg_map_int=\count118
+\g__prg_map_int=\count119
 Defining \c_empty_clist on line ...
 Defining \l__clist_internal_clist on line ...
 Defining \__clist_tmp:w on line ...
@@ -2773,6 +2783,8 @@ Defining message LaTeX/kernel/empty-search-pattern on line ...
 Defining message LaTeX/kernel/out-of-registers on line ...
 Defining message LaTeX/kernel/non-base-function on line ...
 Defining message LaTeX/kernel/missing-colon on line ...
+Defining message LaTeX/kernel/overflow on line ...
+Defining message LaTeX/kernel/out-of-bounds on line ...
 Defining message LaTeX/kernel/protected-predicate on line ...
 Defining message LaTeX/kernel/conditional-form-unknown on line ...
 Defining message LaTeX/kernel/scanmark-already-defined on line ...
@@ -2870,7 +2882,7 @@ Defining \ior_get:NN on line ...
 Defining \ior_str_get:NN on line ...
 Defining \g__file_internal_ior on line ...
 Defining \c_log_iow on line ...
-\c_log_iow=\count119
+\c_log_iow=\count120
 Defining \c_term_iow on line ...
 Defining \g__iow_streams_seq on line ...
 Defining \l__iow_stream_tl on line ...
@@ -2907,18 +2919,18 @@ Defining \iow_newline: on line ...
 Defining \iow_char:N on line ...
 Defining \c_catcode_other_space_tl on line ...
 Defining \l_iow_line_count_int on line ...
-\l_iow_line_count_int=\count120
+\l_iow_line_count_int=\count121
 Defining \l__iow_newline_tl on line ...
 Defining \l__iow_line_target_int on line ...
-\l__iow_line_target_int=\count121
+\l__iow_line_target_int=\count122
 Defining \l__iow_one_indent_tl on line ...
 Defining \l__iow_one_indent_int on line ...
-\l__iow_one_indent_int=\count122
+\l__iow_one_indent_int=\count123
 Defining \__iow_unindent:w on line ...
 Defining \__iow_set_indent:n on line ...
 Defining \l__iow_indent_tl on line ...
 Defining \l__iow_indent_int on line ...
-\l__iow_indent_int=\count123
+\l__iow_indent_int=\count124
 Defining \l__iow_line_tl on line ...
 Defining \l__iow_line_part_tl on line ...
 Defining \l__iow_line_break_bool on line ...
@@ -3234,7 +3246,7 @@ Defining \c__keys_type_root_tl on line ...
 Defining \c__keys_validate_root_tl on line ...
 Defining \c__keys_props_root_tl on line ...
 Defining \l_keys_choice_int on line ...
-\l_keys_choice_int=\count124
+\l_keys_choice_int=\count125
 Defining \l_keys_choice_tl on line ...
 Defining \l__keys_groups_clist on line ...
 Defining \l_keys_key_tl on line ...
@@ -3471,25 +3483,25 @@ Defining \__fp_exp_after_normal:Nwwwww on line ...
 Defining \__fp_exp_after_array_f:w on line ...
 Defining \__fp_exp_after_stop_f:nw on line ...
 Defining \c__fp_leading_shift_int on line ...
-\c__fp_leading_shift_int=\count125
+\c__fp_leading_shift_int=\count126
 Defining \c__fp_middle_shift_int on line ...
-\c__fp_middle_shift_int=\count126
+\c__fp_middle_shift_int=\count127
 Defining \c__fp_trailing_shift_int on line ...
-\c__fp_trailing_shift_int=\count127
+\c__fp_trailing_shift_int=\count128
 Defining \__fp_pack:NNNNNw on line ...
 Defining \c__fp_big_leading_shift_int on line ...
-\c__fp_big_leading_shift_int=\count128
+\c__fp_big_leading_shift_int=\count129
 Defining \c__fp_big_middle_shift_int on line ...
-\c__fp_big_middle_shift_int=\count129
+\c__fp_big_middle_shift_int=\count130
 Defining \c__fp_big_trailing_shift_int on line ...
-\c__fp_big_trailing_shift_int=\count130
+\c__fp_big_trailing_shift_int=\count131
 Defining \__fp_pack_big:NNNNNNw on line ...
 Defining \c__fp_Bigg_leading_shift_int on line ...
-\c__fp_Bigg_leading_shift_int=\count131
+\c__fp_Bigg_leading_shift_int=\count132
 Defining \c__fp_Bigg_middle_shift_int on line ...
-\c__fp_Bigg_middle_shift_int=\count132
+\c__fp_Bigg_middle_shift_int=\count133
 Defining \c__fp_Bigg_trailing_shift_int on line ...
-\c__fp_Bigg_trailing_shift_int=\count133
+\c__fp_Bigg_trailing_shift_int=\count134
 Defining \__fp_pack_Bigg:NNNNNNw on line ...
 Defining \__fp_pack_twice_four:wNNNNNNNN on line ...
 Defining \__fp_pack_eight:wNNNNNNNN on line ...
@@ -4240,27 +4252,27 @@ Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
 Defining \l__sort_length_int on line ...
-\l__sort_length_int=\count134
+\l__sort_length_int=\count135
 Defining \l__sort_min_int on line ...
-\l__sort_min_int=\count135
+\l__sort_min_int=\count136
 Defining \l__sort_top_int on line ...
-\l__sort_top_int=\count136
+\l__sort_top_int=\count137
 Defining \l__sort_max_int on line ...
-\l__sort_max_int=\count137
+\l__sort_max_int=\count138
 Defining \l__sort_true_max_int on line ...
-\l__sort_true_max_int=\count138
+\l__sort_true_max_int=\count139
 Defining \l__sort_block_int on line ...
-\l__sort_block_int=\count139
+\l__sort_block_int=\count140
 Defining \l__sort_begin_int on line ...
-\l__sort_begin_int=\count140
+\l__sort_begin_int=\count141
 Defining \l__sort_end_int on line ...
-\l__sort_end_int=\count141
+\l__sort_end_int=\count142
 Defining \l__sort_A_int on line ...
-\l__sort_A_int=\count142
+\l__sort_A_int=\count143
 Defining \l__sort_B_int on line ...
-\l__sort_B_int=\count143
+\l__sort_B_int=\count144
 Defining \l__sort_C_int on line ...
-\l__sort_C_int=\count144
+\l__sort_C_int=\count145
 Defining \__sort_shrink_range: on line ...
 Defining \__sort_shrink_range_loop: on line ...
 Defining \__sort_compute_range: on line ...
@@ -4317,6 +4329,567 @@ Defining message LaTeX/sort/return-none on line ...
 Defining message LaTeX/sort/return-two on line ...
 Defining \sort_ordered: on line ...
 Defining \sort_reversed: on line ...
+Defining \l__tl_build_start_index_int on line ...
+\l__tl_build_start_index_int=\count146
+Defining \l__tl_build_index_int on line ...
+\l__tl_build_index_int=\count147
+Defining \l__tl_build_result_tl on line ...
+Defining \__tl_build_unpack: on line ...
+Defining \__tl_build_unpack_loop:w on line ...
+Defining \__tl_build:Nw on line ...
+Defining \__tl_build_x:Nw on line ...
+Defining \__tl_gbuild:Nw on line ...
+Defining \__tl_gbuild_x:Nw on line ...
+Defining \__tl_build_aux:NNw on line ...
+Defining \__tl_build_end: on line ...
+Defining \__tl_build_end_assignment:n on line ...
+Defining \__tl_build_one:n on line ...
+Defining \__tl_build_one:o on line ...
+Defining \__tl_build_one:x on line ...
+Defining \s__tl on line ...
+Defining \l__tl_analysis_internal_tl on line ...
+Defining \l__tl_analysis_token on line ...
+Defining \l__tl_analysis_char_token on line ...
+Defining \l__tl_analysis_normal_int on line ...
+\l__tl_analysis_normal_int=\count148
+Defining \l__tl_analysis_index_int on line ...
+\l__tl_analysis_index_int=\count149
+Defining \l__tl_analysis_nesting_int on line ...
+\l__tl_analysis_nesting_int=\count150
+Defining \l__tl_analysis_type_int on line ...
+\l__tl_analysis_type_int=\count151
+Defining \g__tl_analysis_result_tl on line ...
+Defining \__tl_analysis_extract_charcode: on line ...
+Defining \__tl_analysis_extract_charcode_aux:w on line ...
+Defining \__tl_analysis_cs_space_count:NN on line ...
+Defining \__tl_analysis_cs_space_count:w on line ...
+Defining \__tl_analysis_cs_space_count_end:w on line ...
+Defining \__tl_analysis:n on line ...
+Defining \__tl_analysis_setup:n on line ...
+Defining \__tl_analysis_disable_loop:N on line ...
+Defining \__tl_analysis_a:n on line ...
+Defining \__tl_analysis_a_loop:w on line ...
+Defining \__tl_analysis_a_type:w on line ...
+Defining \__tl_analysis_a_space:w on line ...
+Defining \__tl_analysis_a_space_test:w on line ...
+Defining \__tl_analysis_a_bgroup:w on line ...
+Defining \__tl_analysis_a_egroup:w on line ...
+Defining \__tl_analysis_a_group:nw on line ...
+Defining \__tl_analysis_a_group_test:w on line ...
+Defining \__tl_analysis_a_store: on line ...
+Defining \__tl_analysis_a_safe:N on line ...
+Defining \__tl_analysis_a_cs:ww on line ...
+Defining \__tl_analysis_b:n on line ...
+Defining \__tl_analysis_b_loop:w on line ...
+Defining \__tl_analysis_b_normals:ww on line ...
+Defining \__tl_analysis_b_normal:wwN on line ...
+Defining \__tl_analysis_b_char:Nww on line ...
+Defining \__tl_analysis_b_cs:Nww on line ...
+Defining \__tl_analysis_b_cs_test:ww on line ...
+Defining \__tl_analysis_b_special:w on line ...
+Defining \__tl_analysis_b_special_char:wN on line ...
+Defining \__tl_analysis_b_special_space:w on line ...
+Defining \__tl_analysis_map_inline:nn on line ...
+Defining \__tl_analysis_map_inline_aux:Nn on line ...
+Defining \tl_show_analysis:N on line ...
+Defining \tl_show_analysis:n on line ...
+Defining \__tl_analysis_show: on line ...
+Defining \__tl_analysis_show_loop:wNw on line ...
+Defining \__tl_analysis_show_normal:n on line ...
+Defining \__tl_analysis_show_value:N on line ...
+Defining \__tl_analysis_show_cs:n on line ...
+Defining \__tl_analysis_show_active:n on line ...
+Defining \__tl_analysis_show_long:nn on line ...
+Defining \__tl_analysis_show_long_aux:nnnn on line ...
+Defining \exp_args:Noof on line ...
+Defining \__tl_analysis_show_long_aux:oofn on line ...
+Defining \c__tl_analysis_show_etc_str on line ...
+Defining message LaTeX/kernel/show-tl-analysis on line ...
+Defining \tl_to_str:V on line ...
+Defining \__regex_standard_escapechar: on line ...
+Defining \__regex_toks_use:w on line ...
+Defining \__regex_toks_clear:N on line ...
+Defining \__regex_toks_set:Nn on line ...
+Defining \__regex_toks_set:No on line ...
+Defining \__regex_toks_memcpy:NNn on line ...
+Defining \__regex_toks_put_left:Nx on line ...
+Defining \__regex_toks_put_right:Nx on line ...
+Defining \__regex_toks_put_right:Nn on line ...
+Defining \__regex_current_cs_to_str: on line ...
+Defining \__regex_tmp:w on line ...
+Defining \l__regex_internal_a_tl on line ...
+Defining \l__regex_internal_b_tl on line ...
+Defining \l__regex_internal_a_int on line ...
+\l__regex_internal_a_int=\count152
+Defining \l__regex_internal_b_int on line ...
+\l__regex_internal_b_int=\count153
+Defining \l__regex_internal_c_int on line ...
+\l__regex_internal_c_int=\count154
+Defining \l__regex_internal_bool on line ...
+Defining \l__regex_internal_seq on line ...
+Defining \g__regex_internal_tl on line ...
+Defining \c__regex_no_match_regex on line ...
+Defining \g__regex_charcode_intarray on line ...
+Defining \g__regex_catcode_intarray on line ...
+Defining \g__regex_balance_intarray on line ...
+Defining \l__regex_balance_int on line ...
+\l__regex_balance_int=\count155
+Defining \l__regex_cs_name_tl on line ...
+Defining \c__regex_ascii_min_int on line ...
+Defining \c__regex_ascii_max_control_int on line ...
+Defining \c__regex_ascii_max_int on line ...
+Defining \c__regex_ascii_lower_int on line ...
+Defining \__regex_break_true:w on line ...
+Defining \__regex_break_point:TF on line ...
+Defining \__regex_item_reverse:n on line ...
+Defining \__regex_item_caseful_equal:n on line ...
+Defining \__regex_item_caseful_range:nn on line ...
+Defining \__regex_item_caseless_equal:n on line ...
+Defining \__regex_item_caseless_range:nn on line ...
+Defining \__regex_compute_case_changed_char: on line ...
+Defining \__regex_item_equal:n on line ...
+Defining \__regex_item_range:nn on line ...
+Defining \__regex_item_catcode: on line ...
+Defining \__regex_item_catcode:nT on line ...
+Defining \__regex_item_catcode_reverse:nT on line ...
+Defining \__regex_item_exact:nn on line ...
+Defining \__regex_item_exact_cs:n on line ...
+Defining \__regex_item_cs:n on line ...
+Defining \__regex_prop_d: on line ...
+Defining \__regex_prop_h: on line ...
+Defining \__regex_prop_s: on line ...
+Defining \__regex_prop_v: on line ...
+Defining \__regex_prop_w: on line ...
+Defining \__regex_prop_N: on line ...
+Defining \__regex_posix_alnum: on line ...
+Defining \__regex_posix_alpha: on line ...
+Defining \__regex_posix_ascii: on line ...
+Defining \__regex_posix_blank: on line ...
+Defining \__regex_posix_cntrl: on line ...
+Defining \__regex_posix_digit: on line ...
+Defining \__regex_posix_graph: on line ...
+Defining \__regex_posix_lower: on line ...
+Defining \__regex_posix_print: on line ...
+Defining \__regex_posix_punct: on line ...
+Defining \__regex_posix_space: on line ...
+Defining \__regex_posix_upper: on line ...
+Defining \__regex_posix_word: on line ...
+Defining \__regex_posix_xdigit: on line ...
+Defining \__regex_escape_use:nnnn on line ...
+Defining \__regex_escape_loop:N on line ...
+Defining \__regex_escape_\:w on line ...
+Defining \__regex_escape_unescaped:N on line ...
+Defining \__regex_escape_escaped:N on line ...
+Defining \__regex_escape_raw:N on line ...
+Defining \__regex_escape_break:w on line ...
+Defining \__regex_escape_/break:w on line ...
+Defining \__regex_escape_ :w on line ...
+Defining \__regex_escape_/a:w on line ...
+Defining \__regex_escape_/t:w on line ...
+Defining \__regex_escape_/n:w on line ...
+Defining \__regex_escape_/f:w on line ...
+Defining \__regex_escape_/r:w on line ...
+Defining \__regex_escape_/e:w on line ...
+Defining \__regex_escape_/x:w on line ...
+Defining \__regex_escape_x_end:w on line ...
+Defining \__regex_escape_x_test:N on line ...
+Defining \__regex_escape_x_testii:N on line ...
+Defining \__regex_escape_x:N on line ...
+Defining \__regex_escape_x_loop:N on line ...
+Defining \__regex_escape_x_loop_error:n on line ...
+Defining \__regex_hexadecimal_use:NTF on line ...
+Defining \__regex_char_if_special:NTF on line ...
+Defining \__regex_char_if_alphanumeric:NTF on line ...
+Defining \l__regex_group_level_int on line ...
+\l__regex_group_level_int=\count156
+Defining \l__regex_mode_int on line ...
+\l__regex_mode_int=\count157
+Defining \c__regex_cs_in_class_mode_int on line ...
+\c__regex_cs_in_class_mode_int=\count158
+Defining \c__regex_cs_mode_int on line ...
+\c__regex_cs_mode_int=\count159
+Defining \c__regex_outer_mode_int on line ...
+Defining \c__regex_catcode_mode_int on line ...
+Defining \c__regex_class_mode_int on line ...
+Defining \c__regex_catcode_in_class_mode_int on line ...
+Defining \l__regex_catcodes_int on line ...
+\l__regex_catcodes_int=\count160
+Defining \l__regex_default_catcodes_int on line ...
+\l__regex_default_catcodes_int=\count161
+Defining \l__regex_catcodes_bool on line ...
+Defining \c__regex_catcode_C_int on line ...
+Defining \c__regex_catcode_B_int on line ...
+Defining \c__regex_catcode_E_int on line ...
+Defining \c__regex_catcode_M_int on line ...
+Defining \c__regex_catcode_T_int on line ...
+Defining \c__regex_catcode_P_int on line ...
+Defining \c__regex_catcode_U_int on line ...
+Defining \c__regex_catcode_D_int on line ...
+Defining \c__regex_catcode_S_int on line ...
+Defining \c__regex_catcode_L_int on line ...
+\c__regex_catcode_L_int=\count162
+Defining \c__regex_catcode_O_int on line ...
+\c__regex_catcode_O_int=\count163
+Defining \c__regex_catcode_A_int on line ...
+\c__regex_catcode_A_int=\count164
+Defining \c__regex_all_catcodes_int on line ...
+\c__regex_all_catcodes_int=\count165
+Defining \l__regex_internal_regex on line ...
+Defining \l__regex_show_prefix_seq on line ...
+Defining \l__regex_show_lines_int on line ...
+\l__regex_show_lines_int=\count166
+Defining \__regex_get_digits:NTFw on line ...
+Defining \__regex_get_digits_loop:nw on line ...
+Defining \__regex_if_raw_digit:NNTF on line ...
+Defining \__regex_if_in_class:TF on line ...
+Defining \__regex_if_in_cs:TF on line ...
+Defining \__regex_if_in_class_or_catcode:TF on line ...
+Defining \__regex_if_within_catcode:TF on line ...
+Defining \__regex_chk_c_allowed:T on line ...
+Defining \__regex_mode_quit_c: on line ...
+Defining \__regex_compile:w on line ...
+Defining \__regex_compile_end: on line ...
+Defining \__regex_compile:n on line ...
+Defining \__regex_compile_special:N on line ...
+Defining \__regex_compile_escaped:N on line ...
+Defining \__regex_compile_one:x on line ...
+Defining \__regex_compile_abort_tokens:n on line ...
+Defining \__regex_compile_abort_tokens:x on line ...
+Defining \__regex_compile_quantifier:w on line ...
+Defining \__regex_compile_quantifier_none: on line ...
+Defining \__regex_compile_quantifier_abort:xNN on line ...
+Defining \__regex_compile_quantifier_lazyness:nnNN on line ...
+Defining \__regex_compile_quantifier_?:w on line ...
+Defining \__regex_compile_quantifier_*:w on line ...
+Defining \__regex_compile_quantifier_+:w on line ...
+Defining \__regex_compile_quantifier_{:w on line ...
+Defining \__regex_compile_quantifier_braced_auxi:w on line ...
+Defining \__regex_compile_quantifier_braced_auxii:w on line ...
+Defining \__regex_compile_quantifier_braced_auxiii:w on line ...
+Defining \__regex_compile_raw_error:N on line ...
+Defining \__regex_compile_raw:N on line ...
+Defining \__regex_if_end_range:NNTF on line ...
+Defining \__regex_compile_range:Nw on line ...
+Defining \__regex_compile_.: on line ...
+Defining \__regex_prop_.: on line ...
+Defining \__regex_compile_/d: on line ...
+Defining \__regex_compile_/D: on line ...
+Defining \__regex_compile_/h: on line ...
+Defining \__regex_compile_/H: on line ...
+Defining \__regex_compile_/s: on line ...
+Defining \__regex_compile_/S: on line ...
+Defining \__regex_compile_/v: on line ...
+Defining \__regex_compile_/V: on line ...
+Defining \__regex_compile_/w: on line ...
+Defining \__regex_compile_/W: on line ...
+Defining \__regex_compile_/N: on line ...
+Defining \__regex_compile_anchor:NF on line ...
+Defining \__regex_compile_/A: on line ...
+Defining \__regex_compile_/G: on line ...
+Defining \__regex_compile_/Z: on line ...
+Defining \__regex_compile_/z: on line ...
+Defining \__regex_compile_^: on line ...
+Defining \__regex_compile_$: on line ...
+Defining \__regex_compile_/b: on line ...
+Defining \__regex_compile_/B: on line ...
+Defining \__regex_compile_]: on line ...
+Defining \__regex_compile_[: on line ...
+Defining \__regex_compile_class_normal:w on line ...
+Defining \__regex_compile_class_catcode:w on line ...
+Defining \__regex_compile_class:TFNN on line ...
+Defining \__regex_compile_class:NN on line ...
+Defining \__regex_compile_class_posix_test:w on line ...
+Defining \__regex_compile_class_posix:NNNNw on line ...
+Defining \__regex_compile_class_posix_loop:w on line ...
+Defining \__regex_compile_class_posix_end:w on line ...
+Defining \__regex_compile_group_begin:N on line ...
+Defining \__regex_compile_group_end: on line ...
+Defining \__regex_compile_(: on line ...
+Defining \__regex_compile_lparen:w on line ...
+Defining \__regex_compile_|: on line ...
+Defining \__regex_compile_): on line ...
+Defining \__regex_compile_special_group_::w on line ...
+Defining \__regex_compile_special_group_|:w on line ...
+Defining \__regex_compile_special_group_i:w on line ...
+Defining \__regex_compile_special_group_-:w on line ...
+Defining \__regex_compile_/c: on line ...
+Defining \__regex_compile_c_test:NN on line ...
+Defining \__regex_compile_c_[:w on line ...
+Defining \__regex_compile_c_lbrack_loop:NN on line ...
+Defining \__regex_compile_c_lbrack_add:N on line ...
+Defining \__regex_compile_c_lbrack_end: on line ...
+Defining \__regex_compile_c_{:w on line ...
+Defining \flag __regex_cs on line ...
+Defining \__regex_compile_}: on line ...
+Defining \__regex_compile_end_cs: on line ...
+Defining \__regex_compile_cs_aux:Nn on line ...
+Defining \__regex_compile_cs_aux:NNnnnN on line ...
+Defining \__regex_compile_/u: on line ...
+Defining \__regex_compile_u_loop:NN on line ...
+Defining \__regex_compile_u_end: on line ...
+Defining \__regex_compile_u_in_cs: on line ...
+Defining \__regex_compile_u_in_cs_aux:n on line ...
+Defining \__regex_compile_u_not_cs: on line ...
+Defining \__regex_compile_/K: on line ...
+Defining \__regex_show:Nn on line ...
+Defining \__regex_show_one:n on line ...
+Defining \__regex_show_push:n on line ...
+Defining \__regex_show_pop: on line ...
+Defining \__regex_show_scope:nn on line ...
+Defining \__regex_show_group_aux:nnnnN on line ...
+Defining \__regex_show_anchor_to_str:N on line ...
+Defining \__regex_show_item_catcode:NnT on line ...
+Defining \__regex_show_item_exact_cs:n on line ...
+Defining \l__regex_min_state_int on line ...
+\l__regex_min_state_int=\count167
+Defining \l__regex_max_state_int on line ...
+\l__regex_max_state_int=\count168
+Defining \l__regex_left_state_int on line ...
+\l__regex_left_state_int=\count169
+Defining \l__regex_right_state_int on line ...
+\l__regex_right_state_int=\count170
+Defining \l__regex_left_state_seq on line ...
+Defining \l__regex_right_state_seq on line ...
+Defining \l__regex_capturing_group_int on line ...
+\l__regex_capturing_group_int=\count171
+Defining \__regex_build:n on line ...
+Defining \__regex_build:N on line ...
+Defining \__regex_build_for_cs:n on line ...
+Defining \__regex_push_lr_states: on line ...
+Defining \__regex_pop_lr_states: on line ...
+Defining \__regex_build_transition_left:NNN on line ...
+Defining \__regex_build_transition_right:nNn on line ...
+Defining \__regex_build_new_state: on line ...
+Defining \__regex_build_transitions_lazyness:NNNNN on line ...
+Defining \__regex_class:NnnnN on line ...
+Defining \__regex_tests_action_cost:n on line ...
+Defining \__regex_class_repeat:n on line ...
+Defining \__regex_class_repeat:nN on line ...
+Defining \__regex_class_repeat:nnN on line ...
+Defining \__regex_group_aux:nnnnN on line ...
+Defining \__regex_group:nnnN on line ...
+Defining \__regex_group_no_capture:nnnN on line ...
+Defining \__regex_group_resetting:nnnN on line ...
+Defining \__regex_group_resetting_loop:nnNn on line ...
+Defining \__regex_branch:n on line ...
+Defining \__regex_group_repeat:nn on line ...
+Defining \__regex_group_submatches:nNN on line ...
+Defining \__regex_group_repeat_aux:n on line ...
+Defining \__regex_group_repeat:nnN on line ...
+Defining \__regex_group_repeat:nnnN on line ...
+Defining \__regex_assertion:Nn on line ...
+Defining \__regex_anchor:N on line ...
+Defining \__regex_b_test: on line ...
+Defining \__regex_command_K: on line ...
+Defining \l__regex_min_pos_int on line ...
+\l__regex_min_pos_int=\count172
+Defining \l__regex_max_pos_int on line ...
+\l__regex_max_pos_int=\count173
+Defining \l__regex_current_pos_int on line ...
+\l__regex_current_pos_int=\count174
+Defining \l__regex_start_pos_int on line ...
+\l__regex_start_pos_int=\count175
+Defining \l__regex_success_pos_int on line ...
+\l__regex_success_pos_int=\count176
+Defining \l__regex_current_char_int on line ...
+\l__regex_current_char_int=\count177
+Defining \l__regex_current_catcode_int on line ...
+\l__regex_current_catcode_int=\count178
+Defining \l__regex_last_char_int on line ...
+\l__regex_last_char_int=\count179
+Defining \l__regex_case_changed_char_int on line ...
+\l__regex_case_changed_char_int=\count180
+Defining \l__regex_current_state_int on line ...
+\l__regex_current_state_int=\count181
+Defining \l__regex_current_submatches_prop on line ...
+Defining \l__regex_success_submatches_prop on line ...
+Defining \l__regex_step_int on line ...
+\l__regex_step_int=\count182
+Defining \l__regex_min_active_int on line ...
+\l__regex_min_active_int=\count183
+Defining \l__regex_max_active_int on line ...
+\l__regex_max_active_int=\count184
+Defining \g__regex_state_active_intarray on line ...
+Defining \g__regex_thread_state_intarray on line ...
+Defining \l__regex_every_match_tl on line ...
+Defining \l__regex_fresh_thread_bool on line ...
+Defining \l__regex_empty_success_bool on line ...
+Defining \__regex_if_two_empty_matches:F on line ...
+Defining \g__regex_success_bool on line ...
+Defining \l__regex_saved_success_bool on line ...
+Defining \l__regex_match_success_bool on line ...
+Defining \__regex_match:n on line ...
+Defining \__regex_match_once: on line ...
+Defining \__regex_single_match: on line ...
+Defining \__regex_multi_match:n on line ...
+Defining \__regex_match_loop: on line ...
+Defining \__regex_match_one_active:n on line ...
+Defining \__regex_query_set:nnn on line ...
+Defining \__regex_query_get: on line ...
+Defining \__regex_use_state: on line ...
+Defining \__regex_use_state_and_submatches:nn on line ...
+Defining \__regex_action_start_wildcard: on line ...
+Defining \__regex_action_free:n on line ...
+Defining \__regex_action_free_group:n on line ...
+Defining \__regex_action_free_aux:nn on line ...
+Defining \__regex_action_cost:n on line ...
+Defining \__regex_store_state:n on line ...
+Defining \__regex_store_submatches: on line ...
+Defining \__regex_disable_submatches: on line ...
+Defining \__regex_action_submatch:n on line ...
+Defining \__regex_action_success: on line ...
+Defining \l__regex_replacement_csnames_int on line ...
+\l__regex_replacement_csnames_int=\count185
+Defining \l__regex_replacement_category_tl on line ...
+Defining \l__regex_replacement_category_seq on line ...
+Defining \l__regex_balance_tl on line ...
+Defining \__regex_replacement_balance_one_match:n on line ...
+Defining \__regex_replacement_do_one_match:n on line ...
+Defining \__regex_replacement_exp_not:N on line ...
+Defining \__regex_query_range:nn on line ...
+Defining \__regex_query_range_loop:ww on line ...
+Defining \__regex_query_submatch:n on line ...
+Defining \__regex_submatch_balance:n on line ...
+Defining \__regex_replacement:n on line ...
+Defining \__regex_replacement_aux:n on line ...
+Defining \__regex_replacement_normal:n on line ...
+Defining \__regex_replacement_escaped:N on line ...
+Defining \__regex_replacement_put_submatch:n on line ...
+Defining \__regex_replacement_g:w on line ...
+Defining \__regex_replacement_g_digits:NN on line ...
+Defining \__regex_replacement_c:w on line ...
+Defining \__regex_replacement_cu_aux:Nw on line ...
+Defining \__regex_replacement_u:w on line ...
+Defining \__regex_replacement_rbrace:N on line ...
+Defining \__regex_replacement_cat:NNN on line ...
+Defining \__regex_replacement_char:nNN on line ...
+Defining \__regex_replacement_c_A:w on line ...
+Defining \__regex_replacement_c_B:w on line ...
+Defining \__regex_replacement_c_C:w on line ...
+Defining \__regex_replacement_c_D:w on line ...
+Defining \__regex_replacement_c_E:w on line ...
+Defining \__regex_replacement_c_L:w on line ...
+Defining \__regex_replacement_c_M:w on line ...
+Defining \__regex_replacement_c_O:w on line ...
+Defining \__regex_replacement_c_P:w on line ...
+Defining \__regex_replacement_c_S:w on line ...
+Defining \__regex_replacement_c_T:w on line ...
+Defining \__regex_replacement_c_U:w on line ...
+Defining \__regex_replacement_error:NNN on line ...
+Defining \regex_new:N on line ...
+Defining \regex_set:Nn on line ...
+Defining \regex_gset:Nn on line ...
+Defining \regex_const:Nn on line ...
+Defining \regex_show:n on line ...
+Defining \regex_show:N on line ...
+Defining \regex_match:nnT on line ...
+Defining \regex_match:nnF on line ...
+Defining \regex_match:nnTF on line ...
+Defining \regex_match:NnT on line ...
+Defining \regex_match:NnF on line ...
+Defining \regex_match:NnTF on line ...
+Defining \regex_count:nnN on line ...
+Defining \regex_count:NnN on line ...
+Defining \regex_extract_once:nnN on line ...
+Defining \regex_extract_once:NnN on line ...
+Defining \regex_extract_once:nnNT on line ...
+Defining \regex_extract_once:nnNF on line ...
+Defining \regex_extract_once:nnNTF on line ...
+Defining \regex_extract_once:NnNT on line ...
+Defining \regex_extract_once:NnNF on line ...
+Defining \regex_extract_once:NnNTF on line ...
+Defining \regex_extract_all:nnN on line ...
+Defining \regex_extract_all:NnN on line ...
+Defining \regex_extract_all:nnNT on line ...
+Defining \regex_extract_all:nnNF on line ...
+Defining \regex_extract_all:nnNTF on line ...
+Defining \regex_extract_all:NnNT on line ...
+Defining \regex_extract_all:NnNF on line ...
+Defining \regex_extract_all:NnNTF on line ...
+Defining \regex_replace_once:nnN on line ...
+Defining \regex_replace_once:NnN on line ...
+Defining \regex_replace_once:nnNT on line ...
+Defining \regex_replace_once:nnNF on line ...
+Defining \regex_replace_once:nnNTF on line ...
+Defining \regex_replace_once:NnNT on line ...
+Defining \regex_replace_once:NnNF on line ...
+Defining \regex_replace_once:NnNTF on line ...
+Defining \regex_replace_all:nnN on line ...
+Defining \regex_replace_all:NnN on line ...
+Defining \regex_replace_all:nnNT on line ...
+Defining \regex_replace_all:nnNF on line ...
+Defining \regex_replace_all:nnNTF on line ...
+Defining \regex_replace_all:NnNT on line ...
+Defining \regex_replace_all:NnNF on line ...
+Defining \regex_replace_all:NnNTF on line ...
+Defining \regex_split:nnN on line ...
+Defining \regex_split:NnN on line ...
+Defining \regex_split:nnNT on line ...
+Defining \regex_split:nnNF on line ...
+Defining \regex_split:nnNTF on line ...
+Defining \regex_split:NnNT on line ...
+Defining \regex_split:NnNF on line ...
+Defining \regex_split:NnNTF on line ...
+Defining \l__regex_match_count_int on line ...
+\l__regex_match_count_int=\count186
+Defining \flag __regex_begin on line ...
+Defining \flag __regex_end on line ...
+Defining \l__regex_min_submatch_int on line ...
+\l__regex_min_submatch_int=\count187
+Defining \l__regex_submatch_int on line ...
+\l__regex_submatch_int=\count188
+Defining \l__regex_zeroth_submatch_int on line ...
+\l__regex_zeroth_submatch_int=\count189
+Defining \g__regex_submatch_prev_intarray on line ...
+Defining \g__regex_submatch_begin_intarray on line ...
+Defining \g__regex_submatch_end_intarray on line ...
+Defining \__regex_return: on line ...
+Defining \__regex_if_match:nn on line ...
+Defining \__regex_count:nnN on line ...
+Defining \__regex_extract_once:nnN on line ...
+Defining \__regex_extract_all:nnN on line ...
+Defining \__regex_split:nnN on line ...
+Defining \__regex_group_end_extract_seq:N on line ...
+Defining \__regex_extract_seq_aux:n on line ...
+Defining \__regex_extract_seq_aux:ww on line ...
+Defining \__regex_extract: on line ...
+Defining \__regex_extract_b:wn on line ...
+Defining \__regex_extract_e:wn on line ...
+Defining \__regex_replace_once:nnN on line ...
+Defining \__regex_replace_all:nnN on line ...
+Defining \__regex_group_end_replace:N on line ...
+Defining message LaTeX/regex/trailing-backslash on line ...
+Defining message LaTeX/regex/x-missing-rbrace on line ...
+Defining message LaTeX/regex/x-overflow on line ...
+Defining message LaTeX/regex/invalid-quantifier on line ...
+Defining message LaTeX/regex/missing-rbrack on line ...
+Defining message LaTeX/regex/missing-rparen on line ...
+Defining message LaTeX/regex/extra-rparen on line ...
+Defining message LaTeX/regex/bad-escape on line ...
+Defining message LaTeX/regex/range-missing-end on line ...
+Defining message LaTeX/regex/range-backwards on line ...
+Defining message LaTeX/regex/c-bad-mode on line ...
+Defining message LaTeX/regex/c-missing-rbrace on line ...
+Defining message LaTeX/regex/c-missing-rbrack on line ...
+Defining message LaTeX/regex/c-missing-category on line ...
+Defining message LaTeX/regex/c-trailing on line ...
+Defining message LaTeX/regex/u-missing-lbrace on line ...
+Defining message LaTeX/regex/u-missing-rbrace on line ...
+Defining message LaTeX/regex/posix-unsupported on line ...
+Defining message LaTeX/regex/posix-unknown on line ...
+Defining message LaTeX/regex/posix-missing-close on line ...
+Defining message LaTeX/regex/result-unbalanced on line ...
+Defining message LaTeX/regex/unknown-option on line ...
+Defining message LaTeX/regex/special-group-unknown on line ...
+Defining message LaTeX/regex/replacement-c on line ...
+Defining message LaTeX/regex/replacement-u on line ...
+Defining message LaTeX/regex/replacement-g on line ...
+Defining message LaTeX/regex/replacement-catcode-end on line ...
+Defining message LaTeX/regex/replacement-catcode-in-cs on line ...
+Defining message LaTeX/regex/replacement-null-space on line ...
+Defining message LaTeX/regex/replacement-missing-rbrace on line ...
+Defining message LaTeX/regex/replacement-missing-rparen on line ...
+Defining \__regex_msg_repeated:nnN on line ...
 Defining \box_new:N on line ...
 Defining \box_new:c on line ...
 Defining \box_clear:N on line ...
@@ -5224,7 +5797,7 @@ Defining \__driver_image_getbb_jpg:n on line ...
 Defining \__driver_image_getbb_png:n on line ...
 Defining \__driver_image_getbb_pdf:n on line ...
 Defining \g__driver_image_int on line ...
-\g__driver_image_int=\count145
+\g__driver_image_int=\count190
 Defining \__driver_image_include_eps:n on line ...
 Defining \__driver_image_include_jpg:n on line ...
 Defining \__driver_image_include_png:n on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index da2436c..c22ee3e 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -1664,6 +1664,16 @@ Defining \g_tmpa_int on line ...
 Defining \g_tmpb_int on line ...
 \g_tmpb_int=\count116
 Defining \c_minus_one on line ...
+Defining \g__intarray_font_int on line ...
+\g__intarray_font_int=\count117
+Defining \__intarray_new:Nn on line ...
+Defining \__intarray_count:N on line ...
+Defining \__intarray_gset_fast:Nnn on line ...
+Defining \__intarray_gset:Nnn on line ...
+Defining \__intarray_gset_aux:Nnn on line ...
+Defining \__intarray_item_fast:Nn on line ...
+Defining \__intarray_item:Nn on line ...
+Defining \__intarray_item_aux:Nn on line ...
 Defining \flag_new:n on line ...
 Defining \flag_clear:n on line ...
 Defining \__flag_clear:wn on line ...
@@ -1886,7 +1896,7 @@ Defining \mode_if_math:TF on line ...
 Defining \group_align_safe_begin: on line ...
 Defining \group_align_safe_end: on line ...
 Defining \g__prg_map_int on line ...
-\g__prg_map_int=\count117
+\g__prg_map_int=\count118
 Defining \c_empty_clist on line ...
 Defining \l__clist_internal_clist on line ...
 Defining \__clist_tmp:w on line ...
@@ -2783,6 +2793,8 @@ Defining message LaTeX/kernel/empty-search-pattern on line ...
 Defining message LaTeX/kernel/out-of-registers on line ...
 Defining message LaTeX/kernel/non-base-function on line ...
 Defining message LaTeX/kernel/missing-colon on line ...
+Defining message LaTeX/kernel/overflow on line ...
+Defining message LaTeX/kernel/out-of-bounds on line ...
 Defining message LaTeX/kernel/protected-predicate on line ...
 Defining message LaTeX/kernel/conditional-form-unknown on line ...
 Defining message LaTeX/kernel/scanmark-already-defined on line ...
@@ -2880,7 +2892,7 @@ Defining \ior_get:NN on line ...
 Defining \ior_str_get:NN on line ...
 Defining \g__file_internal_ior on line ...
 Defining \c_log_iow on line ...
-\c_log_iow=\count118
+\c_log_iow=\count119
 Defining \c_term_iow on line ...
 Defining \g__iow_streams_seq on line ...
 Defining \l__iow_stream_tl on line ...
@@ -2917,18 +2929,18 @@ Defining \iow_newline: on line ...
 Defining \iow_char:N on line ...
 Defining \c_catcode_other_space_tl on line ...
 Defining \l_iow_line_count_int on line ...
-\l_iow_line_count_int=\count119
+\l_iow_line_count_int=\count120
 Defining \l__iow_newline_tl on line ...
 Defining \l__iow_line_target_int on line ...
-\l__iow_line_target_int=\count120
+\l__iow_line_target_int=\count121
 Defining \l__iow_one_indent_tl on line ...
 Defining \l__iow_one_indent_int on line ...
-\l__iow_one_indent_int=\count121
+\l__iow_one_indent_int=\count122
 Defining \__iow_unindent:w on line ...
 Defining \__iow_set_indent:n on line ...
 Defining \l__iow_indent_tl on line ...
 Defining \l__iow_indent_int on line ...
-\l__iow_indent_int=\count122
+\l__iow_indent_int=\count123
 Defining \l__iow_line_tl on line ...
 Defining \l__iow_line_part_tl on line ...
 Defining \l__iow_line_break_bool on line ...
@@ -3244,7 +3256,7 @@ Defining \c__keys_type_root_tl on line ...
 Defining \c__keys_validate_root_tl on line ...
 Defining \c__keys_props_root_tl on line ...
 Defining \l_keys_choice_int on line ...
-\l_keys_choice_int=\count123
+\l_keys_choice_int=\count124
 Defining \l_keys_choice_tl on line ...
 Defining \l__keys_groups_clist on line ...
 Defining \l_keys_key_tl on line ...
@@ -3481,25 +3493,25 @@ Defining \__fp_exp_after_normal:Nwwwww on line ...
 Defining \__fp_exp_after_array_f:w on line ...
 Defining \__fp_exp_after_stop_f:nw on line ...
 Defining \c__fp_leading_shift_int on line ...
-\c__fp_leading_shift_int=\count124
+\c__fp_leading_shift_int=\count125
 Defining \c__fp_middle_shift_int on line ...
-\c__fp_middle_shift_int=\count125
+\c__fp_middle_shift_int=\count126
 Defining \c__fp_trailing_shift_int on line ...
-\c__fp_trailing_shift_int=\count126
+\c__fp_trailing_shift_int=\count127
 Defining \__fp_pack:NNNNNw on line ...
 Defining \c__fp_big_leading_shift_int on line ...
-\c__fp_big_leading_shift_int=\count127
+\c__fp_big_leading_shift_int=\count128
 Defining \c__fp_big_middle_shift_int on line ...
-\c__fp_big_middle_shift_int=\count128
+\c__fp_big_middle_shift_int=\count129
 Defining \c__fp_big_trailing_shift_int on line ...
-\c__fp_big_trailing_shift_int=\count129
+\c__fp_big_trailing_shift_int=\count130
 Defining \__fp_pack_big:NNNNNNw on line ...
 Defining \c__fp_Bigg_leading_shift_int on line ...
-\c__fp_Bigg_leading_shift_int=\count130
+\c__fp_Bigg_leading_shift_int=\count131
 Defining \c__fp_Bigg_middle_shift_int on line ...
-\c__fp_Bigg_middle_shift_int=\count131
+\c__fp_Bigg_middle_shift_int=\count132
 Defining \c__fp_Bigg_trailing_shift_int on line ...
-\c__fp_Bigg_trailing_shift_int=\count132
+\c__fp_Bigg_trailing_shift_int=\count133
 Defining \__fp_pack_Bigg:NNNNNNw on line ...
 Defining \__fp_pack_twice_four:wNNNNNNNN on line ...
 Defining \__fp_pack_eight:wNNNNNNNN on line ...
@@ -4250,27 +4262,27 @@ Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
 Defining \l__sort_length_int on line ...
-\l__sort_length_int=\count133
+\l__sort_length_int=\count134
 Defining \l__sort_min_int on line ...
-\l__sort_min_int=\count134
+\l__sort_min_int=\count135
 Defining \l__sort_top_int on line ...
-\l__sort_top_int=\count135
+\l__sort_top_int=\count136
 Defining \l__sort_max_int on line ...
-\l__sort_max_int=\count136
+\l__sort_max_int=\count137
 Defining \l__sort_true_max_int on line ...
-\l__sort_true_max_int=\count137
+\l__sort_true_max_int=\count138
 Defining \l__sort_block_int on line ...
-\l__sort_block_int=\count138
+\l__sort_block_int=\count139
 Defining \l__sort_begin_int on line ...
-\l__sort_begin_int=\count139
+\l__sort_begin_int=\count140
 Defining \l__sort_end_int on line ...
-\l__sort_end_int=\count140
+\l__sort_end_int=\count141
 Defining \l__sort_A_int on line ...
-\l__sort_A_int=\count141
+\l__sort_A_int=\count142
 Defining \l__sort_B_int on line ...
-\l__sort_B_int=\count142
+\l__sort_B_int=\count143
 Defining \l__sort_C_int on line ...
-\l__sort_C_int=\count143
+\l__sort_C_int=\count144
 Defining \__sort_shrink_range: on line ...
 Defining \__sort_shrink_range_loop: on line ...
 Defining \__sort_compute_range: on line ...
@@ -4327,6 +4339,567 @@ Defining message LaTeX/sort/return-none on line ...
 Defining message LaTeX/sort/return-two on line ...
 Defining \sort_ordered: on line ...
 Defining \sort_reversed: on line ...
+Defining \l__tl_build_start_index_int on line ...
+\l__tl_build_start_index_int=\count145
+Defining \l__tl_build_index_int on line ...
+\l__tl_build_index_int=\count146
+Defining \l__tl_build_result_tl on line ...
+Defining \__tl_build_unpack: on line ...
+Defining \__tl_build_unpack_loop:w on line ...
+Defining \__tl_build:Nw on line ...
+Defining \__tl_build_x:Nw on line ...
+Defining \__tl_gbuild:Nw on line ...
+Defining \__tl_gbuild_x:Nw on line ...
+Defining \__tl_build_aux:NNw on line ...
+Defining \__tl_build_end: on line ...
+Defining \__tl_build_end_assignment:n on line ...
+Defining \__tl_build_one:n on line ...
+Defining \__tl_build_one:o on line ...
+Defining \__tl_build_one:x on line ...
+Defining \s__tl on line ...
+Defining \l__tl_analysis_internal_tl on line ...
+Defining \l__tl_analysis_token on line ...
+Defining \l__tl_analysis_char_token on line ...
+Defining \l__tl_analysis_normal_int on line ...
+\l__tl_analysis_normal_int=\count147
+Defining \l__tl_analysis_index_int on line ...
+\l__tl_analysis_index_int=\count148
+Defining \l__tl_analysis_nesting_int on line ...
+\l__tl_analysis_nesting_int=\count149
+Defining \l__tl_analysis_type_int on line ...
+\l__tl_analysis_type_int=\count150
+Defining \g__tl_analysis_result_tl on line ...
+Defining \__tl_analysis_extract_charcode: on line ...
+Defining \__tl_analysis_extract_charcode_aux:w on line ...
+Defining \__tl_analysis_cs_space_count:NN on line ...
+Defining \__tl_analysis_cs_space_count:w on line ...
+Defining \__tl_analysis_cs_space_count_end:w on line ...
+Defining \__tl_analysis:n on line ...
+Defining \__tl_analysis_setup:n on line ...
+Defining \__tl_analysis_disable_loop:N on line ...
+Defining \__tl_analysis_a:n on line ...
+Defining \__tl_analysis_a_loop:w on line ...
+Defining \__tl_analysis_a_type:w on line ...
+Defining \__tl_analysis_a_space:w on line ...
+Defining \__tl_analysis_a_space_test:w on line ...
+Defining \__tl_analysis_a_bgroup:w on line ...
+Defining \__tl_analysis_a_egroup:w on line ...
+Defining \__tl_analysis_a_group:nw on line ...
+Defining \__tl_analysis_a_group_test:w on line ...
+Defining \__tl_analysis_a_store: on line ...
+Defining \__tl_analysis_a_safe:N on line ...
+Defining \__tl_analysis_a_cs:ww on line ...
+Defining \__tl_analysis_b:n on line ...
+Defining \__tl_analysis_b_loop:w on line ...
+Defining \__tl_analysis_b_normals:ww on line ...
+Defining \__tl_analysis_b_normal:wwN on line ...
+Defining \__tl_analysis_b_char:Nww on line ...
+Defining \__tl_analysis_b_cs:Nww on line ...
+Defining \__tl_analysis_b_cs_test:ww on line ...
+Defining \__tl_analysis_b_special:w on line ...
+Defining \__tl_analysis_b_special_char:wN on line ...
+Defining \__tl_analysis_b_special_space:w on line ...
+Defining \__tl_analysis_map_inline:nn on line ...
+Defining \__tl_analysis_map_inline_aux:Nn on line ...
+Defining \tl_show_analysis:N on line ...
+Defining \tl_show_analysis:n on line ...
+Defining \__tl_analysis_show: on line ...
+Defining \__tl_analysis_show_loop:wNw on line ...
+Defining \__tl_analysis_show_normal:n on line ...
+Defining \__tl_analysis_show_value:N on line ...
+Defining \__tl_analysis_show_cs:n on line ...
+Defining \__tl_analysis_show_active:n on line ...
+Defining \__tl_analysis_show_long:nn on line ...
+Defining \__tl_analysis_show_long_aux:nnnn on line ...
+Defining \exp_args:Noof on line ...
+Defining \__tl_analysis_show_long_aux:oofn on line ...
+Defining \c__tl_analysis_show_etc_str on line ...
+Defining message LaTeX/kernel/show-tl-analysis on line ...
+Defining \tl_to_str:V on line ...
+Defining \__regex_standard_escapechar: on line ...
+Defining \__regex_toks_use:w on line ...
+Defining \__regex_toks_clear:N on line ...
+Defining \__regex_toks_set:Nn on line ...
+Defining \__regex_toks_set:No on line ...
+Defining \__regex_toks_memcpy:NNn on line ...
+Defining \__regex_toks_put_left:Nx on line ...
+Defining \__regex_toks_put_right:Nx on line ...
+Defining \__regex_toks_put_right:Nn on line ...
+Defining \__regex_current_cs_to_str: on line ...
+Defining \__regex_tmp:w on line ...
+Defining \l__regex_internal_a_tl on line ...
+Defining \l__regex_internal_b_tl on line ...
+Defining \l__regex_internal_a_int on line ...
+\l__regex_internal_a_int=\count151
+Defining \l__regex_internal_b_int on line ...
+\l__regex_internal_b_int=\count152
+Defining \l__regex_internal_c_int on line ...
+\l__regex_internal_c_int=\count153
+Defining \l__regex_internal_bool on line ...
+Defining \l__regex_internal_seq on line ...
+Defining \g__regex_internal_tl on line ...
+Defining \c__regex_no_match_regex on line ...
+Defining \g__regex_charcode_intarray on line ...
+Defining \g__regex_catcode_intarray on line ...
+Defining \g__regex_balance_intarray on line ...
+Defining \l__regex_balance_int on line ...
+\l__regex_balance_int=\count154
+Defining \l__regex_cs_name_tl on line ...
+Defining \c__regex_ascii_min_int on line ...
+Defining \c__regex_ascii_max_control_int on line ...
+Defining \c__regex_ascii_max_int on line ...
+Defining \c__regex_ascii_lower_int on line ...
+Defining \__regex_break_true:w on line ...
+Defining \__regex_break_point:TF on line ...
+Defining \__regex_item_reverse:n on line ...
+Defining \__regex_item_caseful_equal:n on line ...
+Defining \__regex_item_caseful_range:nn on line ...
+Defining \__regex_item_caseless_equal:n on line ...
+Defining \__regex_item_caseless_range:nn on line ...
+Defining \__regex_compute_case_changed_char: on line ...
+Defining \__regex_item_equal:n on line ...
+Defining \__regex_item_range:nn on line ...
+Defining \__regex_item_catcode: on line ...
+Defining \__regex_item_catcode:nT on line ...
+Defining \__regex_item_catcode_reverse:nT on line ...
+Defining \__regex_item_exact:nn on line ...
+Defining \__regex_item_exact_cs:n on line ...
+Defining \__regex_item_cs:n on line ...
+Defining \__regex_prop_d: on line ...
+Defining \__regex_prop_h: on line ...
+Defining \__regex_prop_s: on line ...
+Defining \__regex_prop_v: on line ...
+Defining \__regex_prop_w: on line ...
+Defining \__regex_prop_N: on line ...
+Defining \__regex_posix_alnum: on line ...
+Defining \__regex_posix_alpha: on line ...
+Defining \__regex_posix_ascii: on line ...
+Defining \__regex_posix_blank: on line ...
+Defining \__regex_posix_cntrl: on line ...
+Defining \__regex_posix_digit: on line ...
+Defining \__regex_posix_graph: on line ...
+Defining \__regex_posix_lower: on line ...
+Defining \__regex_posix_print: on line ...
+Defining \__regex_posix_punct: on line ...
+Defining \__regex_posix_space: on line ...
+Defining \__regex_posix_upper: on line ...
+Defining \__regex_posix_word: on line ...
+Defining \__regex_posix_xdigit: on line ...
+Defining \__regex_escape_use:nnnn on line ...
+Defining \__regex_escape_loop:N on line ...
+Defining \__regex_escape_\:w on line ...
+Defining \__regex_escape_unescaped:N on line ...
+Defining \__regex_escape_escaped:N on line ...
+Defining \__regex_escape_raw:N on line ...
+Defining \__regex_escape_break:w on line ...
+Defining \__regex_escape_/break:w on line ...
+Defining \__regex_escape_ :w on line ...
+Defining \__regex_escape_/a:w on line ...
+Defining \__regex_escape_/t:w on line ...
+Defining \__regex_escape_/n:w on line ...
+Defining \__regex_escape_/f:w on line ...
+Defining \__regex_escape_/r:w on line ...
+Defining \__regex_escape_/e:w on line ...
+Defining \__regex_escape_/x:w on line ...
+Defining \__regex_escape_x_end:w on line ...
+Defining \__regex_escape_x_test:N on line ...
+Defining \__regex_escape_x_testii:N on line ...
+Defining \__regex_escape_x:N on line ...
+Defining \__regex_escape_x_loop:N on line ...
+Defining \__regex_escape_x_loop_error:n on line ...
+Defining \__regex_hexadecimal_use:NTF on line ...
+Defining \__regex_char_if_special:NTF on line ...
+Defining \__regex_char_if_alphanumeric:NTF on line ...
+Defining \l__regex_group_level_int on line ...
+\l__regex_group_level_int=\count155
+Defining \l__regex_mode_int on line ...
+\l__regex_mode_int=\count156
+Defining \c__regex_cs_in_class_mode_int on line ...
+\c__regex_cs_in_class_mode_int=\count157
+Defining \c__regex_cs_mode_int on line ...
+\c__regex_cs_mode_int=\count158
+Defining \c__regex_outer_mode_int on line ...
+Defining \c__regex_catcode_mode_int on line ...
+Defining \c__regex_class_mode_int on line ...
+Defining \c__regex_catcode_in_class_mode_int on line ...
+Defining \l__regex_catcodes_int on line ...
+\l__regex_catcodes_int=\count159
+Defining \l__regex_default_catcodes_int on line ...
+\l__regex_default_catcodes_int=\count160
+Defining \l__regex_catcodes_bool on line ...
+Defining \c__regex_catcode_C_int on line ...
+Defining \c__regex_catcode_B_int on line ...
+Defining \c__regex_catcode_E_int on line ...
+Defining \c__regex_catcode_M_int on line ...
+Defining \c__regex_catcode_T_int on line ...
+Defining \c__regex_catcode_P_int on line ...
+Defining \c__regex_catcode_U_int on line ...
+Defining \c__regex_catcode_D_int on line ...
+Defining \c__regex_catcode_S_int on line ...
+Defining \c__regex_catcode_L_int on line ...
+\c__regex_catcode_L_int=\count161
+Defining \c__regex_catcode_O_int on line ...
+\c__regex_catcode_O_int=\count162
+Defining \c__regex_catcode_A_int on line ...
+\c__regex_catcode_A_int=\count163
+Defining \c__regex_all_catcodes_int on line ...
+\c__regex_all_catcodes_int=\count164
+Defining \l__regex_internal_regex on line ...
+Defining \l__regex_show_prefix_seq on line ...
+Defining \l__regex_show_lines_int on line ...
+\l__regex_show_lines_int=\count165
+Defining \__regex_get_digits:NTFw on line ...
+Defining \__regex_get_digits_loop:nw on line ...
+Defining \__regex_if_raw_digit:NNTF on line ...
+Defining \__regex_if_in_class:TF on line ...
+Defining \__regex_if_in_cs:TF on line ...
+Defining \__regex_if_in_class_or_catcode:TF on line ...
+Defining \__regex_if_within_catcode:TF on line ...
+Defining \__regex_chk_c_allowed:T on line ...
+Defining \__regex_mode_quit_c: on line ...
+Defining \__regex_compile:w on line ...
+Defining \__regex_compile_end: on line ...
+Defining \__regex_compile:n on line ...
+Defining \__regex_compile_special:N on line ...
+Defining \__regex_compile_escaped:N on line ...
+Defining \__regex_compile_one:x on line ...
+Defining \__regex_compile_abort_tokens:n on line ...
+Defining \__regex_compile_abort_tokens:x on line ...
+Defining \__regex_compile_quantifier:w on line ...
+Defining \__regex_compile_quantifier_none: on line ...
+Defining \__regex_compile_quantifier_abort:xNN on line ...
+Defining \__regex_compile_quantifier_lazyness:nnNN on line ...
+Defining \__regex_compile_quantifier_?:w on line ...
+Defining \__regex_compile_quantifier_*:w on line ...
+Defining \__regex_compile_quantifier_+:w on line ...
+Defining \__regex_compile_quantifier_{:w on line ...
+Defining \__regex_compile_quantifier_braced_auxi:w on line ...
+Defining \__regex_compile_quantifier_braced_auxii:w on line ...
+Defining \__regex_compile_quantifier_braced_auxiii:w on line ...
+Defining \__regex_compile_raw_error:N on line ...
+Defining \__regex_compile_raw:N on line ...
+Defining \__regex_if_end_range:NNTF on line ...
+Defining \__regex_compile_range:Nw on line ...
+Defining \__regex_compile_.: on line ...
+Defining \__regex_prop_.: on line ...
+Defining \__regex_compile_/d: on line ...
+Defining \__regex_compile_/D: on line ...
+Defining \__regex_compile_/h: on line ...
+Defining \__regex_compile_/H: on line ...
+Defining \__regex_compile_/s: on line ...
+Defining \__regex_compile_/S: on line ...
+Defining \__regex_compile_/v: on line ...
+Defining \__regex_compile_/V: on line ...
+Defining \__regex_compile_/w: on line ...
+Defining \__regex_compile_/W: on line ...
+Defining \__regex_compile_/N: on line ...
+Defining \__regex_compile_anchor:NF on line ...
+Defining \__regex_compile_/A: on line ...
+Defining \__regex_compile_/G: on line ...
+Defining \__regex_compile_/Z: on line ...
+Defining \__regex_compile_/z: on line ...
+Defining \__regex_compile_^: on line ...
+Defining \__regex_compile_$: on line ...
+Defining \__regex_compile_/b: on line ...
+Defining \__regex_compile_/B: on line ...
+Defining \__regex_compile_]: on line ...
+Defining \__regex_compile_[: on line ...
+Defining \__regex_compile_class_normal:w on line ...
+Defining \__regex_compile_class_catcode:w on line ...
+Defining \__regex_compile_class:TFNN on line ...
+Defining \__regex_compile_class:NN on line ...
+Defining \__regex_compile_class_posix_test:w on line ...
+Defining \__regex_compile_class_posix:NNNNw on line ...
+Defining \__regex_compile_class_posix_loop:w on line ...
+Defining \__regex_compile_class_posix_end:w on line ...
+Defining \__regex_compile_group_begin:N on line ...
+Defining \__regex_compile_group_end: on line ...
+Defining \__regex_compile_(: on line ...
+Defining \__regex_compile_lparen:w on line ...
+Defining \__regex_compile_|: on line ...
+Defining \__regex_compile_): on line ...
+Defining \__regex_compile_special_group_::w on line ...
+Defining \__regex_compile_special_group_|:w on line ...
+Defining \__regex_compile_special_group_i:w on line ...
+Defining \__regex_compile_special_group_-:w on line ...
+Defining \__regex_compile_/c: on line ...
+Defining \__regex_compile_c_test:NN on line ...
+Defining \__regex_compile_c_[:w on line ...
+Defining \__regex_compile_c_lbrack_loop:NN on line ...
+Defining \__regex_compile_c_lbrack_add:N on line ...
+Defining \__regex_compile_c_lbrack_end: on line ...
+Defining \__regex_compile_c_{:w on line ...
+Defining \flag __regex_cs on line ...
+Defining \__regex_compile_}: on line ...
+Defining \__regex_compile_end_cs: on line ...
+Defining \__regex_compile_cs_aux:Nn on line ...
+Defining \__regex_compile_cs_aux:NNnnnN on line ...
+Defining \__regex_compile_/u: on line ...
+Defining \__regex_compile_u_loop:NN on line ...
+Defining \__regex_compile_u_end: on line ...
+Defining \__regex_compile_u_in_cs: on line ...
+Defining \__regex_compile_u_in_cs_aux:n on line ...
+Defining \__regex_compile_u_not_cs: on line ...
+Defining \__regex_compile_/K: on line ...
+Defining \__regex_show:Nn on line ...
+Defining \__regex_show_one:n on line ...
+Defining \__regex_show_push:n on line ...
+Defining \__regex_show_pop: on line ...
+Defining \__regex_show_scope:nn on line ...
+Defining \__regex_show_group_aux:nnnnN on line ...
+Defining \__regex_show_anchor_to_str:N on line ...
+Defining \__regex_show_item_catcode:NnT on line ...
+Defining \__regex_show_item_exact_cs:n on line ...
+Defining \l__regex_min_state_int on line ...
+\l__regex_min_state_int=\count166
+Defining \l__regex_max_state_int on line ...
+\l__regex_max_state_int=\count167
+Defining \l__regex_left_state_int on line ...
+\l__regex_left_state_int=\count168
+Defining \l__regex_right_state_int on line ...
+\l__regex_right_state_int=\count169
+Defining \l__regex_left_state_seq on line ...
+Defining \l__regex_right_state_seq on line ...
+Defining \l__regex_capturing_group_int on line ...
+\l__regex_capturing_group_int=\count170
+Defining \__regex_build:n on line ...
+Defining \__regex_build:N on line ...
+Defining \__regex_build_for_cs:n on line ...
+Defining \__regex_push_lr_states: on line ...
+Defining \__regex_pop_lr_states: on line ...
+Defining \__regex_build_transition_left:NNN on line ...
+Defining \__regex_build_transition_right:nNn on line ...
+Defining \__regex_build_new_state: on line ...
+Defining \__regex_build_transitions_lazyness:NNNNN on line ...
+Defining \__regex_class:NnnnN on line ...
+Defining \__regex_tests_action_cost:n on line ...
+Defining \__regex_class_repeat:n on line ...
+Defining \__regex_class_repeat:nN on line ...
+Defining \__regex_class_repeat:nnN on line ...
+Defining \__regex_group_aux:nnnnN on line ...
+Defining \__regex_group:nnnN on line ...
+Defining \__regex_group_no_capture:nnnN on line ...
+Defining \__regex_group_resetting:nnnN on line ...
+Defining \__regex_group_resetting_loop:nnNn on line ...
+Defining \__regex_branch:n on line ...
+Defining \__regex_group_repeat:nn on line ...
+Defining \__regex_group_submatches:nNN on line ...
+Defining \__regex_group_repeat_aux:n on line ...
+Defining \__regex_group_repeat:nnN on line ...
+Defining \__regex_group_repeat:nnnN on line ...
+Defining \__regex_assertion:Nn on line ...
+Defining \__regex_anchor:N on line ...
+Defining \__regex_b_test: on line ...
+Defining \__regex_command_K: on line ...
+Defining \l__regex_min_pos_int on line ...
+\l__regex_min_pos_int=\count171
+Defining \l__regex_max_pos_int on line ...
+\l__regex_max_pos_int=\count172
+Defining \l__regex_current_pos_int on line ...
+\l__regex_current_pos_int=\count173
+Defining \l__regex_start_pos_int on line ...
+\l__regex_start_pos_int=\count174
+Defining \l__regex_success_pos_int on line ...
+\l__regex_success_pos_int=\count175
+Defining \l__regex_current_char_int on line ...
+\l__regex_current_char_int=\count176
+Defining \l__regex_current_catcode_int on line ...
+\l__regex_current_catcode_int=\count177
+Defining \l__regex_last_char_int on line ...
+\l__regex_last_char_int=\count178
+Defining \l__regex_case_changed_char_int on line ...
+\l__regex_case_changed_char_int=\count179
+Defining \l__regex_current_state_int on line ...
+\l__regex_current_state_int=\count180
+Defining \l__regex_current_submatches_prop on line ...
+Defining \l__regex_success_submatches_prop on line ...
+Defining \l__regex_step_int on line ...
+\l__regex_step_int=\count181
+Defining \l__regex_min_active_int on line ...
+\l__regex_min_active_int=\count182
+Defining \l__regex_max_active_int on line ...
+\l__regex_max_active_int=\count183
+Defining \g__regex_state_active_intarray on line ...
+Defining \g__regex_thread_state_intarray on line ...
+Defining \l__regex_every_match_tl on line ...
+Defining \l__regex_fresh_thread_bool on line ...
+Defining \l__regex_empty_success_bool on line ...
+Defining \__regex_if_two_empty_matches:F on line ...
+Defining \g__regex_success_bool on line ...
+Defining \l__regex_saved_success_bool on line ...
+Defining \l__regex_match_success_bool on line ...
+Defining \__regex_match:n on line ...
+Defining \__regex_match_once: on line ...
+Defining \__regex_single_match: on line ...
+Defining \__regex_multi_match:n on line ...
+Defining \__regex_match_loop: on line ...
+Defining \__regex_match_one_active:n on line ...
+Defining \__regex_query_set:nnn on line ...
+Defining \__regex_query_get: on line ...
+Defining \__regex_use_state: on line ...
+Defining \__regex_use_state_and_submatches:nn on line ...
+Defining \__regex_action_start_wildcard: on line ...
+Defining \__regex_action_free:n on line ...
+Defining \__regex_action_free_group:n on line ...
+Defining \__regex_action_free_aux:nn on line ...
+Defining \__regex_action_cost:n on line ...
+Defining \__regex_store_state:n on line ...
+Defining \__regex_store_submatches: on line ...
+Defining \__regex_disable_submatches: on line ...
+Defining \__regex_action_submatch:n on line ...
+Defining \__regex_action_success: on line ...
+Defining \l__regex_replacement_csnames_int on line ...
+\l__regex_replacement_csnames_int=\count184
+Defining \l__regex_replacement_category_tl on line ...
+Defining \l__regex_replacement_category_seq on line ...
+Defining \l__regex_balance_tl on line ...
+Defining \__regex_replacement_balance_one_match:n on line ...
+Defining \__regex_replacement_do_one_match:n on line ...
+Defining \__regex_replacement_exp_not:N on line ...
+Defining \__regex_query_range:nn on line ...
+Defining \__regex_query_range_loop:ww on line ...
+Defining \__regex_query_submatch:n on line ...
+Defining \__regex_submatch_balance:n on line ...
+Defining \__regex_replacement:n on line ...
+Defining \__regex_replacement_aux:n on line ...
+Defining \__regex_replacement_normal:n on line ...
+Defining \__regex_replacement_escaped:N on line ...
+Defining \__regex_replacement_put_submatch:n on line ...
+Defining \__regex_replacement_g:w on line ...
+Defining \__regex_replacement_g_digits:NN on line ...
+Defining \__regex_replacement_c:w on line ...
+Defining \__regex_replacement_cu_aux:Nw on line ...
+Defining \__regex_replacement_u:w on line ...
+Defining \__regex_replacement_rbrace:N on line ...
+Defining \__regex_replacement_cat:NNN on line ...
+Defining \__regex_replacement_char:nNN on line ...
+Defining \__regex_replacement_c_A:w on line ...
+Defining \__regex_replacement_c_B:w on line ...
+Defining \__regex_replacement_c_C:w on line ...
+Defining \__regex_replacement_c_D:w on line ...
+Defining \__regex_replacement_c_E:w on line ...
+Defining \__regex_replacement_c_L:w on line ...
+Defining \__regex_replacement_c_M:w on line ...
+Defining \__regex_replacement_c_O:w on line ...
+Defining \__regex_replacement_c_P:w on line ...
+Defining \__regex_replacement_c_S:w on line ...
+Defining \__regex_replacement_c_T:w on line ...
+Defining \__regex_replacement_c_U:w on line ...
+Defining \__regex_replacement_error:NNN on line ...
+Defining \regex_new:N on line ...
+Defining \regex_set:Nn on line ...
+Defining \regex_gset:Nn on line ...
+Defining \regex_const:Nn on line ...
+Defining \regex_show:n on line ...
+Defining \regex_show:N on line ...
+Defining \regex_match:nnT on line ...
+Defining \regex_match:nnF on line ...
+Defining \regex_match:nnTF on line ...
+Defining \regex_match:NnT on line ...
+Defining \regex_match:NnF on line ...
+Defining \regex_match:NnTF on line ...
+Defining \regex_count:nnN on line ...
+Defining \regex_count:NnN on line ...
+Defining \regex_extract_once:nnN on line ...
+Defining \regex_extract_once:NnN on line ...
+Defining \regex_extract_once:nnNT on line ...
+Defining \regex_extract_once:nnNF on line ...
+Defining \regex_extract_once:nnNTF on line ...
+Defining \regex_extract_once:NnNT on line ...
+Defining \regex_extract_once:NnNF on line ...
+Defining \regex_extract_once:NnNTF on line ...
+Defining \regex_extract_all:nnN on line ...
+Defining \regex_extract_all:NnN on line ...
+Defining \regex_extract_all:nnNT on line ...
+Defining \regex_extract_all:nnNF on line ...
+Defining \regex_extract_all:nnNTF on line ...
+Defining \regex_extract_all:NnNT on line ...
+Defining \regex_extract_all:NnNF on line ...
+Defining \regex_extract_all:NnNTF on line ...
+Defining \regex_replace_once:nnN on line ...
+Defining \regex_replace_once:NnN on line ...
+Defining \regex_replace_once:nnNT on line ...
+Defining \regex_replace_once:nnNF on line ...
+Defining \regex_replace_once:nnNTF on line ...
+Defining \regex_replace_once:NnNT on line ...
+Defining \regex_replace_once:NnNF on line ...
+Defining \regex_replace_once:NnNTF on line ...
+Defining \regex_replace_all:nnN on line ...
+Defining \regex_replace_all:NnN on line ...
+Defining \regex_replace_all:nnNT on line ...
+Defining \regex_replace_all:nnNF on line ...
+Defining \regex_replace_all:nnNTF on line ...
+Defining \regex_replace_all:NnNT on line ...
+Defining \regex_replace_all:NnNF on line ...
+Defining \regex_replace_all:NnNTF on line ...
+Defining \regex_split:nnN on line ...
+Defining \regex_split:NnN on line ...
+Defining \regex_split:nnNT on line ...
+Defining \regex_split:nnNF on line ...
+Defining \regex_split:nnNTF on line ...
+Defining \regex_split:NnNT on line ...
+Defining \regex_split:NnNF on line ...
+Defining \regex_split:NnNTF on line ...
+Defining \l__regex_match_count_int on line ...
+\l__regex_match_count_int=\count185
+Defining \flag __regex_begin on line ...
+Defining \flag __regex_end on line ...
+Defining \l__regex_min_submatch_int on line ...
+\l__regex_min_submatch_int=\count186
+Defining \l__regex_submatch_int on line ...
+\l__regex_submatch_int=\count187
+Defining \l__regex_zeroth_submatch_int on line ...
+\l__regex_zeroth_submatch_int=\count188
+Defining \g__regex_submatch_prev_intarray on line ...
+Defining \g__regex_submatch_begin_intarray on line ...
+Defining \g__regex_submatch_end_intarray on line ...
+Defining \__regex_return: on line ...
+Defining \__regex_if_match:nn on line ...
+Defining \__regex_count:nnN on line ...
+Defining \__regex_extract_once:nnN on line ...
+Defining \__regex_extract_all:nnN on line ...
+Defining \__regex_split:nnN on line ...
+Defining \__regex_group_end_extract_seq:N on line ...
+Defining \__regex_extract_seq_aux:n on line ...
+Defining \__regex_extract_seq_aux:ww on line ...
+Defining \__regex_extract: on line ...
+Defining \__regex_extract_b:wn on line ...
+Defining \__regex_extract_e:wn on line ...
+Defining \__regex_replace_once:nnN on line ...
+Defining \__regex_replace_all:nnN on line ...
+Defining \__regex_group_end_replace:N on line ...
+Defining message LaTeX/regex/trailing-backslash on line ...
+Defining message LaTeX/regex/x-missing-rbrace on line ...
+Defining message LaTeX/regex/x-overflow on line ...
+Defining message LaTeX/regex/invalid-quantifier on line ...
+Defining message LaTeX/regex/missing-rbrack on line ...
+Defining message LaTeX/regex/missing-rparen on line ...
+Defining message LaTeX/regex/extra-rparen on line ...
+Defining message LaTeX/regex/bad-escape on line ...
+Defining message LaTeX/regex/range-missing-end on line ...
+Defining message LaTeX/regex/range-backwards on line ...
+Defining message LaTeX/regex/c-bad-mode on line ...
+Defining message LaTeX/regex/c-missing-rbrace on line ...
+Defining message LaTeX/regex/c-missing-rbrack on line ...
+Defining message LaTeX/regex/c-missing-category on line ...
+Defining message LaTeX/regex/c-trailing on line ...
+Defining message LaTeX/regex/u-missing-lbrace on line ...
+Defining message LaTeX/regex/u-missing-rbrace on line ...
+Defining message LaTeX/regex/posix-unsupported on line ...
+Defining message LaTeX/regex/posix-unknown on line ...
+Defining message LaTeX/regex/posix-missing-close on line ...
+Defining message LaTeX/regex/result-unbalanced on line ...
+Defining message LaTeX/regex/unknown-option on line ...
+Defining message LaTeX/regex/special-group-unknown on line ...
+Defining message LaTeX/regex/replacement-c on line ...
+Defining message LaTeX/regex/replacement-u on line ...
+Defining message LaTeX/regex/replacement-g on line ...
+Defining message LaTeX/regex/replacement-catcode-end on line ...
+Defining message LaTeX/regex/replacement-catcode-in-cs on line ...
+Defining message LaTeX/regex/replacement-null-space on line ...
+Defining message LaTeX/regex/replacement-missing-rbrace on line ...
+Defining message LaTeX/regex/replacement-missing-rparen on line ...
+Defining \__regex_msg_repeated:nnN on line ...
 Defining \box_new:N on line ...
 Defining \box_new:c on line ...
 Defining \box_clear:N on line ...
@@ -5030,7 +5603,7 @@ Defining \__driver_color_ensure_current: on line ...
 Defining \__driver_color_reset: on line ...
 Defining \__driver_image_getbb_eps:n on line ...
 Defining \g__driver_image_int on line ...
-\g__driver_image_int=\count144
+\g__driver_image_int=\count189
 Defining \__driver_image_include_eps:n on line ...
 Defining \__driver_image_include_jpg:n on line ...
 Defining \__driver_image_include_png:n on line ...
diff --git a/l3kernel/testfiles/m3expl002.luatex.tlg b/l3kernel/testfiles/m3expl002.luatex.tlg
index e7a825e..051277f 100644
--- a/l3kernel/testfiles/m3expl002.luatex.tlg
+++ b/l3kernel/testfiles/m3expl002.luatex.tlg
@@ -8,12 +8,13 @@ Don't change this file in any respect.
 \l_tmpb_int=\count114
 \g_tmpa_int=\count115
 \g_tmpb_int=\count116
-\g__prg_map_int=\count117
-\c_log_iow=\count118
-\l_iow_line_count_int=\count119
-\l__iow_line_target_int=\count120
-\l__iow_one_indent_int=\count121
-\l__iow_indent_int=\count122
+\g__intarray_font_int=\count117
+\g__prg_map_int=\count118
+\c_log_iow=\count119
+\l_iow_line_count_int=\count120
+\l__iow_line_target_int=\count121
+\l__iow_one_indent_int=\count122
+\l__iow_indent_int=\count123
 \c_zero_dim=\dimen132
 \c_max_dim=\dimen133
 \l_tmpa_dim=\dimen134
@@ -32,30 +33,74 @@ Don't change this file in any respect.
 \l_tmpb_muskip=\muskip43
 \g_tmpa_muskip=\muskip44
 \g_tmpb_muskip=\muskip45
-\l_keys_choice_int=\count123
-\c__fp_leading_shift_int=\count124
-\c__fp_middle_shift_int=\count125
-\c__fp_trailing_shift_int=\count126
-\c__fp_big_leading_shift_int=\count127
-\c__fp_big_middle_shift_int=\count128
-\c__fp_big_trailing_shift_int=\count129
-\c__fp_Bigg_leading_shift_int=\count130
-\c__fp_Bigg_middle_shift_int=\count131
-\c__fp_Bigg_trailing_shift_int=\count132
-\c__fp_rand_size_int=\count133
-\c__fp_rand_four_int=\count134
-\c__fp_rand_eight_int=\count135
-\l__sort_length_int=\count136
-\l__sort_min_int=\count137
-\l__sort_top_int=\count138
-\l__sort_max_int=\count139
-\l__sort_true_max_int=\count140
-\l__sort_block_int=\count141
-\l__sort_begin_int=\count142
-\l__sort_end_int=\count143
-\l__sort_A_int=\count144
-\l__sort_B_int=\count145
-\l__sort_C_int=\count146
+\l_keys_choice_int=\count124
+\c__fp_leading_shift_int=\count125
+\c__fp_middle_shift_int=\count126
+\c__fp_trailing_shift_int=\count127
+\c__fp_big_leading_shift_int=\count128
+\c__fp_big_middle_shift_int=\count129
+\c__fp_big_trailing_shift_int=\count130
+\c__fp_Bigg_leading_shift_int=\count131
+\c__fp_Bigg_middle_shift_int=\count132
+\c__fp_Bigg_trailing_shift_int=\count133
+\c__fp_rand_size_int=\count134
+\c__fp_rand_four_int=\count135
+\c__fp_rand_eight_int=\count136
+\l__sort_length_int=\count137
+\l__sort_min_int=\count138
+\l__sort_top_int=\count139
+\l__sort_max_int=\count140
+\l__sort_true_max_int=\count141
+\l__sort_block_int=\count142
+\l__sort_begin_int=\count143
+\l__sort_end_int=\count144
+\l__sort_A_int=\count145
+\l__sort_B_int=\count146
+\l__sort_C_int=\count147
+\l__tl_build_start_index_int=\count148
+\l__tl_build_index_int=\count149
+\l__tl_analysis_normal_int=\count150
+\l__tl_analysis_index_int=\count151
+\l__tl_analysis_nesting_int=\count152
+\l__tl_analysis_type_int=\count153
+\l__regex_internal_a_int=\count154
+\l__regex_internal_b_int=\count155
+\l__regex_internal_c_int=\count156
+\l__regex_balance_int=\count157
+\l__regex_group_level_int=\count158
+\l__regex_mode_int=\count159
+\c__regex_cs_in_class_mode_int=\count160
+\c__regex_cs_mode_int=\count161
+\l__regex_catcodes_int=\count162
+\l__regex_default_catcodes_int=\count163
+\c__regex_catcode_L_int=\count164
+\c__regex_catcode_O_int=\count165
+\c__regex_catcode_A_int=\count166
+\c__regex_all_catcodes_int=\count167
+\l__regex_show_lines_int=\count168
+\l__regex_min_state_int=\count169
+\l__regex_max_state_int=\count170
+\l__regex_left_state_int=\count171
+\l__regex_right_state_int=\count172
+\l__regex_capturing_group_int=\count173
+\l__regex_min_pos_int=\count174
+\l__regex_max_pos_int=\count175
+\l__regex_current_pos_int=\count176
+\l__regex_start_pos_int=\count177
+\l__regex_success_pos_int=\count178
+\l__regex_current_char_int=\count179
+\l__regex_current_catcode_int=\count180
+\l__regex_last_char_int=\count181
+\l__regex_case_changed_char_int=\count182
+\l__regex_current_state_int=\count183
+\l__regex_step_int=\count184
+\l__regex_min_active_int=\count185
+\l__regex_max_active_int=\count186
+\l__regex_replacement_csnames_int=\count187
+\l__regex_match_count_int=\count188
+\l__regex_min_submatch_int=\count189
+\l__regex_submatch_int=\count190
+\l__regex_zeroth_submatch_int=\count191
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
@@ -97,6 +142,6 @@ Don't change this file in any respect.
 \l__coffin_scaled_total_height_dim=\dimen161
 \l__coffin_scaled_width_dim=\dimen162
 ) (l3pdfmode.def
-\l__driver_color_stack_int=\count147
+\l__driver_color_stack_int=\count192
 \l__driver_tmp_box=\box71
 ))
diff --git a/l3kernel/testfiles/m3expl002.ptex.tlg b/l3kernel/testfiles/m3expl002.ptex.tlg
index a2b72f2..602356a 100644
--- a/l3kernel/testfiles/m3expl002.ptex.tlg
+++ b/l3kernel/testfiles/m3expl002.ptex.tlg
@@ -7,12 +7,13 @@ Don't change this file in any respect.
 \l_tmpb_int=\count115
 \g_tmpa_int=\count116
 \g_tmpb_int=\count117
-\g__prg_map_int=\count118
-\c_log_iow=\count119
-\l_iow_line_count_int=\count120
-\l__iow_line_target_int=\count121
-\l__iow_one_indent_int=\count122
-\l__iow_indent_int=\count123
+\g__intarray_font_int=\count118
+\g__prg_map_int=\count119
+\c_log_iow=\count120
+\l_iow_line_count_int=\count121
+\l__iow_line_target_int=\count122
+\l__iow_one_indent_int=\count123
+\l__iow_indent_int=\count124
 \c_zero_dim=\dimen132
 \c_max_dim=\dimen133
 \l_tmpa_dim=\dimen134
@@ -31,27 +32,73 @@ Don't change this file in any respect.
 \l_tmpb_muskip=\muskip43
 \g_tmpa_muskip=\muskip44
 \g_tmpb_muskip=\muskip45
-\l_keys_choice_int=\count124
-\c__fp_leading_shift_int=\count125
-\c__fp_middle_shift_int=\count126
-\c__fp_trailing_shift_int=\count127
-\c__fp_big_leading_shift_int=\count128
-\c__fp_big_middle_shift_int=\count129
-\c__fp_big_trailing_shift_int=\count130
-\c__fp_Bigg_leading_shift_int=\count131
-\c__fp_Bigg_middle_shift_int=\count132
-\c__fp_Bigg_trailing_shift_int=\count133
-\l__sort_length_int=\count134
-\l__sort_min_int=\count135
-\l__sort_top_int=\count136
-\l__sort_max_int=\count137
-\l__sort_true_max_int=\count138
-\l__sort_block_int=\count139
-\l__sort_begin_int=\count140
-\l__sort_end_int=\count141
-\l__sort_A_int=\count142
-\l__sort_B_int=\count143
-\l__sort_C_int=\count144
+\l_keys_choice_int=\count125
+\c__fp_leading_shift_int=\count126
+\c__fp_middle_shift_int=\count127
+\c__fp_trailing_shift_int=\count128
+\c__fp_big_leading_shift_int=\count129
+\c__fp_big_middle_shift_int=\count130
+\c__fp_big_trailing_shift_int=\count131
+\c__fp_Bigg_leading_shift_int=\count132
+\c__fp_Bigg_middle_shift_int=\count133
+\c__fp_Bigg_trailing_shift_int=\count134
+\l__sort_length_int=\count135
+\l__sort_min_int=\count136
+\l__sort_top_int=\count137
+\l__sort_max_int=\count138
+\l__sort_true_max_int=\count139
+\l__sort_block_int=\count140
+\l__sort_begin_int=\count141
+\l__sort_end_int=\count142
+\l__sort_A_int=\count143
+\l__sort_B_int=\count144
+\l__sort_C_int=\count145
+\l__tl_build_start_index_int=\count146
+\l__tl_build_index_int=\count147
+\l__tl_analysis_normal_int=\count148
+\l__tl_analysis_index_int=\count149
+\l__tl_analysis_nesting_int=\count150
+\l__tl_analysis_type_int=\count151
+\l__regex_internal_a_int=\count152
+\l__regex_internal_b_int=\count153
+\l__regex_internal_c_int=\count154
+\l__regex_balance_int=\count155
+\l__regex_group_level_int=\count156
+\l__regex_mode_int=\count157
+\c__regex_cs_in_class_mode_int=\count158
+\c__regex_cs_mode_int=\count159
+\l__regex_catcodes_int=\count160
+\l__regex_default_catcodes_int=\count161
+\c__regex_catcode_D_int=\count162
+\c__regex_catcode_S_int=\count163
+\c__regex_catcode_L_int=\count164
+\c__regex_catcode_O_int=\count165
+\c__regex_catcode_A_int=\count166
+\c__regex_all_catcodes_int=\count167
+\l__regex_show_lines_int=\count168
+\l__regex_min_state_int=\count169
+\l__regex_max_state_int=\count170
+\l__regex_left_state_int=\count171
+\l__regex_right_state_int=\count172
+\l__regex_capturing_group_int=\count173
+\l__regex_min_pos_int=\count174
+\l__regex_max_pos_int=\count175
+\l__regex_current_pos_int=\count176
+\l__regex_start_pos_int=\count177
+\l__regex_success_pos_int=\count178
+\l__regex_current_char_int=\count179
+\l__regex_current_catcode_int=\count180
+\l__regex_last_char_int=\count181
+\l__regex_case_changed_char_int=\count182
+\l__regex_current_state_int=\count183
+\l__regex_step_int=\count184
+\l__regex_min_active_int=\count185
+\l__regex_max_active_int=\count186
+\l__regex_replacement_csnames_int=\count187
+\l__regex_match_count_int=\count188
+\l__regex_min_submatch_int=\count189
+\l__regex_submatch_int=\count190
+\l__regex_zeroth_submatch_int=\count191
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
@@ -93,6 +140,6 @@ Don't change this file in any respect.
 \l__coffin_scaled_total_height_dim=\dimen161
 \l__coffin_scaled_width_dim=\dimen162
 ) (l3dvipdfmx.def
-\g__driver_image_int=\count145
+\g__driver_image_int=\count192
 \l__driver_tmp_box=\box71
 ))
diff --git a/l3kernel/testfiles/m3expl002.tlg b/l3kernel/testfiles/m3expl002.tlg
index 1436076..b81288b 100644
--- a/l3kernel/testfiles/m3expl002.tlg
+++ b/l3kernel/testfiles/m3expl002.tlg
@@ -7,12 +7,13 @@ Don't change this file in any respect.
 \l_tmpb_int=\count114
 \g_tmpa_int=\count115
 \g_tmpb_int=\count116
-\g__prg_map_int=\count117
-\c_log_iow=\count118
-\l_iow_line_count_int=\count119
-\l__iow_line_target_int=\count120
-\l__iow_one_indent_int=\count121
-\l__iow_indent_int=\count122
+\g__intarray_font_int=\count117
+\g__prg_map_int=\count118
+\c_log_iow=\count119
+\l_iow_line_count_int=\count120
+\l__iow_line_target_int=\count121
+\l__iow_one_indent_int=\count122
+\l__iow_indent_int=\count123
 \c_zero_dim=\dimen132
 \c_max_dim=\dimen133
 \l_tmpa_dim=\dimen134
@@ -31,30 +32,76 @@ Don't change this file in any respect.
 \l_tmpb_muskip=\muskip43
 \g_tmpa_muskip=\muskip44
 \g_tmpb_muskip=\muskip45
-\l_keys_choice_int=\count123
-\c__fp_leading_shift_int=\count124
-\c__fp_middle_shift_int=\count125
-\c__fp_trailing_shift_int=\count126
-\c__fp_big_leading_shift_int=\count127
-\c__fp_big_middle_shift_int=\count128
-\c__fp_big_trailing_shift_int=\count129
-\c__fp_Bigg_leading_shift_int=\count130
-\c__fp_Bigg_middle_shift_int=\count131
-\c__fp_Bigg_trailing_shift_int=\count132
-\c__fp_rand_size_int=\count133
-\c__fp_rand_four_int=\count134
-\c__fp_rand_eight_int=\count135
-\l__sort_length_int=\count136
-\l__sort_min_int=\count137
-\l__sort_top_int=\count138
-\l__sort_max_int=\count139
-\l__sort_true_max_int=\count140
-\l__sort_block_int=\count141
-\l__sort_begin_int=\count142
-\l__sort_end_int=\count143
-\l__sort_A_int=\count144
-\l__sort_B_int=\count145
-\l__sort_C_int=\count146
+\l_keys_choice_int=\count124
+\c__fp_leading_shift_int=\count125
+\c__fp_middle_shift_int=\count126
+\c__fp_trailing_shift_int=\count127
+\c__fp_big_leading_shift_int=\count128
+\c__fp_big_middle_shift_int=\count129
+\c__fp_big_trailing_shift_int=\count130
+\c__fp_Bigg_leading_shift_int=\count131
+\c__fp_Bigg_middle_shift_int=\count132
+\c__fp_Bigg_trailing_shift_int=\count133
+\c__fp_rand_size_int=\count134
+\c__fp_rand_four_int=\count135
+\c__fp_rand_eight_int=\count136
+\l__sort_length_int=\count137
+\l__sort_min_int=\count138
+\l__sort_top_int=\count139
+\l__sort_max_int=\count140
+\l__sort_true_max_int=\count141
+\l__sort_block_int=\count142
+\l__sort_begin_int=\count143
+\l__sort_end_int=\count144
+\l__sort_A_int=\count145
+\l__sort_B_int=\count146
+\l__sort_C_int=\count147
+\l__tl_build_start_index_int=\count148
+\l__tl_build_index_int=\count149
+\l__tl_analysis_normal_int=\count150
+\l__tl_analysis_index_int=\count151
+\l__tl_analysis_nesting_int=\count152
+\l__tl_analysis_type_int=\count153
+\l__regex_internal_a_int=\count154
+\l__regex_internal_b_int=\count155
+\l__regex_internal_c_int=\count156
+\l__regex_balance_int=\count157
+\l__regex_group_level_int=\count158
+\l__regex_mode_int=\count159
+\c__regex_cs_in_class_mode_int=\count160
+\c__regex_cs_mode_int=\count161
+\l__regex_catcodes_int=\count162
+\l__regex_default_catcodes_int=\count163
+\c__regex_catcode_D_int=\count164
+\c__regex_catcode_S_int=\count165
+\c__regex_catcode_L_int=\count166
+\c__regex_catcode_O_int=\count167
+\c__regex_catcode_A_int=\count168
+\c__regex_all_catcodes_int=\count169
+\l__regex_show_lines_int=\count170
+\l__regex_min_state_int=\count171
+\l__regex_max_state_int=\count172
+\l__regex_left_state_int=\count173
+\l__regex_right_state_int=\count174
+\l__regex_capturing_group_int=\count175
+\l__regex_min_pos_int=\count176
+\l__regex_max_pos_int=\count177
+\l__regex_current_pos_int=\count178
+\l__regex_start_pos_int=\count179
+\l__regex_success_pos_int=\count180
+\l__regex_current_char_int=\count181
+\l__regex_current_catcode_int=\count182
+\l__regex_last_char_int=\count183
+\l__regex_case_changed_char_int=\count184
+\l__regex_current_state_int=\count185
+\l__regex_step_int=\count186
+\l__regex_min_active_int=\count187
+\l__regex_max_active_int=\count188
+\l__regex_replacement_csnames_int=\count189
+\l__regex_match_count_int=\count190
+\l__regex_min_submatch_int=\count191
+\l__regex_submatch_int=\count192
+\l__regex_zeroth_submatch_int=\count193
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
@@ -96,6 +143,6 @@ Don't change this file in any respect.
 \l__coffin_scaled_total_height_dim=\dimen161
 \l__coffin_scaled_width_dim=\dimen162
 ) (l3pdfmode.def
-\l__driver_color_stack_int=\count147
+\l__driver_color_stack_int=\count194
 \l__driver_tmp_box=\box71
 ))
diff --git a/l3kernel/testfiles/m3expl002.uptex.tlg b/l3kernel/testfiles/m3expl002.uptex.tlg
index a2b72f2..df0039a 100644
--- a/l3kernel/testfiles/m3expl002.uptex.tlg
+++ b/l3kernel/testfiles/m3expl002.uptex.tlg
@@ -7,12 +7,13 @@ Don't change this file in any respect.
 \l_tmpb_int=\count115
 \g_tmpa_int=\count116
 \g_tmpb_int=\count117
-\g__prg_map_int=\count118
-\c_log_iow=\count119
-\l_iow_line_count_int=\count120
-\l__iow_line_target_int=\count121
-\l__iow_one_indent_int=\count122
-\l__iow_indent_int=\count123
+\g__intarray_font_int=\count118
+\g__prg_map_int=\count119
+\c_log_iow=\count120
+\l_iow_line_count_int=\count121
+\l__iow_line_target_int=\count122
+\l__iow_one_indent_int=\count123
+\l__iow_indent_int=\count124
 \c_zero_dim=\dimen132
 \c_max_dim=\dimen133
 \l_tmpa_dim=\dimen134
@@ -31,27 +32,71 @@ Don't change this file in any respect.
 \l_tmpb_muskip=\muskip43
 \g_tmpa_muskip=\muskip44
 \g_tmpb_muskip=\muskip45
-\l_keys_choice_int=\count124
-\c__fp_leading_shift_int=\count125
-\c__fp_middle_shift_int=\count126
-\c__fp_trailing_shift_int=\count127
-\c__fp_big_leading_shift_int=\count128
-\c__fp_big_middle_shift_int=\count129
-\c__fp_big_trailing_shift_int=\count130
-\c__fp_Bigg_leading_shift_int=\count131
-\c__fp_Bigg_middle_shift_int=\count132
-\c__fp_Bigg_trailing_shift_int=\count133
-\l__sort_length_int=\count134
-\l__sort_min_int=\count135
-\l__sort_top_int=\count136
-\l__sort_max_int=\count137
-\l__sort_true_max_int=\count138
-\l__sort_block_int=\count139
-\l__sort_begin_int=\count140
-\l__sort_end_int=\count141
-\l__sort_A_int=\count142
-\l__sort_B_int=\count143
-\l__sort_C_int=\count144
+\l_keys_choice_int=\count125
+\c__fp_leading_shift_int=\count126
+\c__fp_middle_shift_int=\count127
+\c__fp_trailing_shift_int=\count128
+\c__fp_big_leading_shift_int=\count129
+\c__fp_big_middle_shift_int=\count130
+\c__fp_big_trailing_shift_int=\count131
+\c__fp_Bigg_leading_shift_int=\count132
+\c__fp_Bigg_middle_shift_int=\count133
+\c__fp_Bigg_trailing_shift_int=\count134
+\l__sort_length_int=\count135
+\l__sort_min_int=\count136
+\l__sort_top_int=\count137
+\l__sort_max_int=\count138
+\l__sort_true_max_int=\count139
+\l__sort_block_int=\count140
+\l__sort_begin_int=\count141
+\l__sort_end_int=\count142
+\l__sort_A_int=\count143
+\l__sort_B_int=\count144
+\l__sort_C_int=\count145
+\l__tl_build_start_index_int=\count146
+\l__tl_build_index_int=\count147
+\l__tl_analysis_normal_int=\count148
+\l__tl_analysis_index_int=\count149
+\l__tl_analysis_nesting_int=\count150
+\l__tl_analysis_type_int=\count151
+\l__regex_internal_a_int=\count152
+\l__regex_internal_b_int=\count153
+\l__regex_internal_c_int=\count154
+\l__regex_balance_int=\count155
+\l__regex_group_level_int=\count156
+\l__regex_mode_int=\count157
+\c__regex_cs_in_class_mode_int=\count158
+\c__regex_cs_mode_int=\count159
+\l__regex_catcodes_int=\count160
+\l__regex_default_catcodes_int=\count161
+\c__regex_catcode_L_int=\count162
+\c__regex_catcode_O_int=\count163
+\c__regex_catcode_A_int=\count164
+\c__regex_all_catcodes_int=\count165
+\l__regex_show_lines_int=\count166
+\l__regex_min_state_int=\count167
+\l__regex_max_state_int=\count168
+\l__regex_left_state_int=\count169
+\l__regex_right_state_int=\count170
+\l__regex_capturing_group_int=\count171
+\l__regex_min_pos_int=\count172
+\l__regex_max_pos_int=\count173
+\l__regex_current_pos_int=\count174
+\l__regex_start_pos_int=\count175
+\l__regex_success_pos_int=\count176
+\l__regex_current_char_int=\count177
+\l__regex_current_catcode_int=\count178
+\l__regex_last_char_int=\count179
+\l__regex_case_changed_char_int=\count180
+\l__regex_current_state_int=\count181
+\l__regex_step_int=\count182
+\l__regex_min_active_int=\count183
+\l__regex_max_active_int=\count184
+\l__regex_replacement_csnames_int=\count185
+\l__regex_match_count_int=\count186
+\l__regex_min_submatch_int=\count187
+\l__regex_submatch_int=\count188
+\l__regex_zeroth_submatch_int=\count189
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
@@ -93,6 +138,6 @@ Don't change this file in any respect.
 \l__coffin_scaled_total_height_dim=\dimen161
 \l__coffin_scaled_width_dim=\dimen162
 ) (l3dvipdfmx.def
-\g__driver_image_int=\count145
+\g__driver_image_int=\count190
 \l__driver_tmp_box=\box71
 ))
diff --git a/l3kernel/testfiles/m3expl002.xetex.tlg b/l3kernel/testfiles/m3expl002.xetex.tlg
index e57b3cc..706f6b7 100644
--- a/l3kernel/testfiles/m3expl002.xetex.tlg
+++ b/l3kernel/testfiles/m3expl002.xetex.tlg
@@ -7,12 +7,13 @@ Don't change this file in any respect.
 \l_tmpb_int=\count114
 \g_tmpa_int=\count115
 \g_tmpb_int=\count116
-\g__prg_map_int=\count117
-\c_log_iow=\count118
-\l_iow_line_count_int=\count119
-\l__iow_line_target_int=\count120
-\l__iow_one_indent_int=\count121
-\l__iow_indent_int=\count122
+\g__intarray_font_int=\count117
+\g__prg_map_int=\count118
+\c_log_iow=\count119
+\l_iow_line_count_int=\count120
+\l__iow_line_target_int=\count121
+\l__iow_one_indent_int=\count122
+\l__iow_indent_int=\count123
 \c_zero_dim=\dimen132
 \c_max_dim=\dimen133
 \l_tmpa_dim=\dimen134
@@ -31,27 +32,71 @@ Don't change this file in any respect.
 \l_tmpb_muskip=\muskip43
 \g_tmpa_muskip=\muskip44
 \g_tmpb_muskip=\muskip45
-\l_keys_choice_int=\count123
-\c__fp_leading_shift_int=\count124
-\c__fp_middle_shift_int=\count125
-\c__fp_trailing_shift_int=\count126
-\c__fp_big_leading_shift_int=\count127
-\c__fp_big_middle_shift_int=\count128
-\c__fp_big_trailing_shift_int=\count129
-\c__fp_Bigg_leading_shift_int=\count130
-\c__fp_Bigg_middle_shift_int=\count131
-\c__fp_Bigg_trailing_shift_int=\count132
-\l__sort_length_int=\count133
-\l__sort_min_int=\count134
-\l__sort_top_int=\count135
-\l__sort_max_int=\count136
-\l__sort_true_max_int=\count137
-\l__sort_block_int=\count138
-\l__sort_begin_int=\count139
-\l__sort_end_int=\count140
-\l__sort_A_int=\count141
-\l__sort_B_int=\count142
-\l__sort_C_int=\count143
+\l_keys_choice_int=\count124
+\c__fp_leading_shift_int=\count125
+\c__fp_middle_shift_int=\count126
+\c__fp_trailing_shift_int=\count127
+\c__fp_big_leading_shift_int=\count128
+\c__fp_big_middle_shift_int=\count129
+\c__fp_big_trailing_shift_int=\count130
+\c__fp_Bigg_leading_shift_int=\count131
+\c__fp_Bigg_middle_shift_int=\count132
+\c__fp_Bigg_trailing_shift_int=\count133
+\l__sort_length_int=\count134
+\l__sort_min_int=\count135
+\l__sort_top_int=\count136
+\l__sort_max_int=\count137
+\l__sort_true_max_int=\count138
+\l__sort_block_int=\count139
+\l__sort_begin_int=\count140
+\l__sort_end_int=\count141
+\l__sort_A_int=\count142
+\l__sort_B_int=\count143
+\l__sort_C_int=\count144
+\l__tl_build_start_index_int=\count145
+\l__tl_build_index_int=\count146
+\l__tl_analysis_normal_int=\count147
+\l__tl_analysis_index_int=\count148
+\l__tl_analysis_nesting_int=\count149
+\l__tl_analysis_type_int=\count150
+\l__regex_internal_a_int=\count151
+\l__regex_internal_b_int=\count152
+\l__regex_internal_c_int=\count153
+\l__regex_balance_int=\count154
+\l__regex_group_level_int=\count155
+\l__regex_mode_int=\count156
+\c__regex_cs_in_class_mode_int=\count157
+\c__regex_cs_mode_int=\count158
+\l__regex_catcodes_int=\count159
+\l__regex_default_catcodes_int=\count160
+\c__regex_catcode_L_int=\count161
+\c__regex_catcode_O_int=\count162
+\c__regex_catcode_A_int=\count163
+\c__regex_all_catcodes_int=\count164
+\l__regex_show_lines_int=\count165
+\l__regex_min_state_int=\count166
+\l__regex_max_state_int=\count167
+\l__regex_left_state_int=\count168
+\l__regex_right_state_int=\count169
+\l__regex_capturing_group_int=\count170
+\l__regex_min_pos_int=\count171
+\l__regex_max_pos_int=\count172
+\l__regex_current_pos_int=\count173
+\l__regex_start_pos_int=\count174
+\l__regex_success_pos_int=\count175
+\l__regex_current_char_int=\count176
+\l__regex_current_catcode_int=\count177
+\l__regex_last_char_int=\count178
+\l__regex_case_changed_char_int=\count179
+\l__regex_current_state_int=\count180
+\l__regex_step_int=\count181
+\l__regex_min_active_int=\count182
+\l__regex_max_active_int=\count183
+\l__regex_replacement_csnames_int=\count184
+\l__regex_match_count_int=\count185
+\l__regex_min_submatch_int=\count186
+\l__regex_submatch_int=\count187
+\l__regex_zeroth_submatch_int=\count188
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
@@ -93,6 +138,6 @@ Don't change this file in any respect.
 \l__coffin_scaled_total_height_dim=\dimen161
 \l__coffin_scaled_width_dim=\dimen162
 ) (l3xdvipdfmx.def
-\g__driver_image_int=\count144
+\g__driver_image_int=\count189
 \l__driver_tmp_box=\box71
 ))
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index bdf2167..83ca82c 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -1666,6 +1666,16 @@ Defining \g_tmpa_int on line ...
 Defining \g_tmpb_int on line ...
 \g_tmpb_int=\count116
 Defining \c_minus_one on line ...
+Defining \g__intarray_font_int on line ...
+\g__intarray_font_int=\count117
+Defining \__intarray_new:Nn on line ...
+Defining \__intarray_count:N on line ...
+Defining \__intarray_gset_fast:Nnn on line ...
+Defining \__intarray_gset:Nnn on line ...
+Defining \__intarray_gset_aux:Nnn on line ...
+Defining \__intarray_item_fast:Nn on line ...
+Defining \__intarray_item:Nn on line ...
+Defining \__intarray_item_aux:Nn on line ...
 Defining \flag_new:n on line ...
 Defining \flag_clear:n on line ...
 Defining \__flag_clear:wn on line ...
@@ -1888,7 +1898,7 @@ Defining \mode_if_math:TF on line ...
 Defining \group_align_safe_begin: on line ...
 Defining \group_align_safe_end: on line ...
 Defining \g__prg_map_int on line ...
-\g__prg_map_int=\count117
+\g__prg_map_int=\count118
 Defining \c_empty_clist on line ...
 Defining \l__clist_internal_clist on line ...
 Defining \__clist_tmp:w on line ...
@@ -2785,6 +2795,8 @@ Defining message LaTeX/kernel/empty-search-pattern on line ...
 Defining message LaTeX/kernel/out-of-registers on line ...
 Defining message LaTeX/kernel/non-base-function on line ...
 Defining message LaTeX/kernel/missing-colon on line ...
+Defining message LaTeX/kernel/overflow on line ...
+Defining message LaTeX/kernel/out-of-bounds on line ...
 Defining message LaTeX/kernel/protected-predicate on line ...
 Defining message LaTeX/kernel/conditional-form-unknown on line ...
 Defining message LaTeX/check/non-declared-variable on line ...
@@ -2883,7 +2895,7 @@ Defining \ior_get:NN on line ...
 Defining \ior_str_get:NN on line ...
 Defining \g__file_internal_ior on line ...
 Defining \c_log_iow on line ...
-\c_log_iow=\count118
+\c_log_iow=\count119
 Defining \c_term_iow on line ...
 Defining \g__iow_streams_seq on line ...
 Defining \l__iow_stream_tl on line ...
@@ -2920,18 +2932,18 @@ Defining \iow_newline: on line ...
 Defining \iow_char:N on line ...
 Defining \c_catcode_other_space_tl on line ...
 Defining \l_iow_line_count_int on line ...
-\l_iow_line_count_int=\count119
+\l_iow_line_count_int=\count120
 Defining \l__iow_newline_tl on line ...
 Defining \l__iow_line_target_int on line ...
-\l__iow_line_target_int=\count120
+\l__iow_line_target_int=\count121
 Defining \l__iow_one_indent_tl on line ...
 Defining \l__iow_one_indent_int on line ...
-\l__iow_one_indent_int=\count121
+\l__iow_one_indent_int=\count122
 Defining \__iow_unindent:w on line ...
 Defining \__iow_set_indent:n on line ...
 Defining \l__iow_indent_tl on line ...
 Defining \l__iow_indent_int on line ...
-\l__iow_indent_int=\count122
+\l__iow_indent_int=\count123
 Defining \l__iow_line_tl on line ...
 Defining \l__iow_line_part_tl on line ...
 Defining \l__iow_line_break_bool on line ...
@@ -3247,7 +3259,7 @@ Defining \c__keys_type_root_tl on line ...
 Defining \c__keys_validate_root_tl on line ...
 Defining \c__keys_props_root_tl on line ...
 Defining \l_keys_choice_int on line ...
-\l_keys_choice_int=\count123
+\l_keys_choice_int=\count124
 Defining \l_keys_choice_tl on line ...
 Defining \l__keys_groups_clist on line ...
 Defining \l_keys_key_tl on line ...
@@ -3484,25 +3496,25 @@ Defining \__fp_exp_after_normal:Nwwwww on line ...
 Defining \__fp_exp_after_array_f:w on line ...
 Defining \__fp_exp_after_stop_f:nw on line ...
 Defining \c__fp_leading_shift_int on line ...
-\c__fp_leading_shift_int=\count124
+\c__fp_leading_shift_int=\count125
 Defining \c__fp_middle_shift_int on line ...
-\c__fp_middle_shift_int=\count125
+\c__fp_middle_shift_int=\count126
 Defining \c__fp_trailing_shift_int on line ...
-\c__fp_trailing_shift_int=\count126
+\c__fp_trailing_shift_int=\count127
 Defining \__fp_pack:NNNNNw on line ...
 Defining \c__fp_big_leading_shift_int on line ...
-\c__fp_big_leading_shift_int=\count127
+\c__fp_big_leading_shift_int=\count128
 Defining \c__fp_big_middle_shift_int on line ...
-\c__fp_big_middle_shift_int=\count128
+\c__fp_big_middle_shift_int=\count129
 Defining \c__fp_big_trailing_shift_int on line ...
-\c__fp_big_trailing_shift_int=\count129
+\c__fp_big_trailing_shift_int=\count130
 Defining \__fp_pack_big:NNNNNNw on line ...
 Defining \c__fp_Bigg_leading_shift_int on line ...
-\c__fp_Bigg_leading_shift_int=\count130
+\c__fp_Bigg_leading_shift_int=\count131
 Defining \c__fp_Bigg_middle_shift_int on line ...
-\c__fp_Bigg_middle_shift_int=\count131
+\c__fp_Bigg_middle_shift_int=\count132
 Defining \c__fp_Bigg_trailing_shift_int on line ...
-\c__fp_Bigg_trailing_shift_int=\count132
+\c__fp_Bigg_trailing_shift_int=\count133
 Defining \__fp_pack_Bigg:NNNNNNw on line ...
 Defining \__fp_pack_twice_four:wNNNNNNNN on line ...
 Defining \__fp_pack_eight:wNNNNNNNN on line ...
@@ -4204,11 +4216,11 @@ Defining \__fp_parse_word_rand:N on line ...
 Defining \__fp_parse_word_randint:N on line ...
 Defining \__fp_rand_uniform: on line ...
 Defining \c__fp_rand_size_int on line ...
-\c__fp_rand_size_int=\count133
+\c__fp_rand_size_int=\count134
 Defining \c__fp_rand_four_int on line ...
-\c__fp_rand_four_int=\count134
+\c__fp_rand_four_int=\count135
 Defining \c__fp_rand_eight_int on line ...
-\c__fp_rand_eight_int=\count135
+\c__fp_rand_eight_int=\count136
 Defining \__fp_rand_myriads:n on line ...
 Defining \__fp_rand_myriads_loop:nn on line ...
 Defining \__fp_rand_myriads_get:w on line ...
@@ -4273,27 +4285,27 @@ Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
 Defining \l__sort_length_int on line ...
-\l__sort_length_int=\count136
+\l__sort_length_int=\count137
 Defining \l__sort_min_int on line ...
-\l__sort_min_int=\count137
+\l__sort_min_int=\count138
 Defining \l__sort_top_int on line ...
-\l__sort_top_int=\count138
+\l__sort_top_int=\count139
 Defining \l__sort_max_int on line ...
-\l__sort_max_int=\count139
+\l__sort_max_int=\count140
 Defining \l__sort_true_max_int on line ...
-\l__sort_true_max_int=\count140
+\l__sort_true_max_int=\count141
 Defining \l__sort_block_int on line ...
-\l__sort_block_int=\count141
+\l__sort_block_int=\count142
 Defining \l__sort_begin_int on line ...
-\l__sort_begin_int=\count142
+\l__sort_begin_int=\count143
 Defining \l__sort_end_int on line ...
-\l__sort_end_int=\count143
+\l__sort_end_int=\count144
 Defining \l__sort_A_int on line ...
-\l__sort_A_int=\count144
+\l__sort_A_int=\count145
 Defining \l__sort_B_int on line ...
-\l__sort_B_int=\count145
+\l__sort_B_int=\count146
 Defining \l__sort_C_int on line ...
-\l__sort_C_int=\count146
+\l__sort_C_int=\count147
 Defining \__sort_shrink_range: on line ...
 Defining \__sort_shrink_range_loop: on line ...
 Defining \__sort_compute_range: on line ...
@@ -4350,6 +4362,567 @@ Defining message LaTeX/sort/return-none on line ...
 Defining message LaTeX/sort/return-two on line ...
 Defining \sort_ordered: on line ...
 Defining \sort_reversed: on line ...
+Defining \l__tl_build_start_index_int on line ...
+\l__tl_build_start_index_int=\count148
+Defining \l__tl_build_index_int on line ...
+\l__tl_build_index_int=\count149
+Defining \l__tl_build_result_tl on line ...
+Defining \__tl_build_unpack: on line ...
+Defining \__tl_build_unpack_loop:w on line ...
+Defining \__tl_build:Nw on line ...
+Defining \__tl_build_x:Nw on line ...
+Defining \__tl_gbuild:Nw on line ...
+Defining \__tl_gbuild_x:Nw on line ...
+Defining \__tl_build_aux:NNw on line ...
+Defining \__tl_build_end: on line ...
+Defining \__tl_build_end_assignment:n on line ...
+Defining \__tl_build_one:n on line ...
+Defining \__tl_build_one:o on line ...
+Defining \__tl_build_one:x on line ...
+Defining \s__tl on line ...
+Defining \l__tl_analysis_internal_tl on line ...
+Defining \l__tl_analysis_token on line ...
+Defining \l__tl_analysis_char_token on line ...
+Defining \l__tl_analysis_normal_int on line ...
+\l__tl_analysis_normal_int=\count150
+Defining \l__tl_analysis_index_int on line ...
+\l__tl_analysis_index_int=\count151
+Defining \l__tl_analysis_nesting_int on line ...
+\l__tl_analysis_nesting_int=\count152
+Defining \l__tl_analysis_type_int on line ...
+\l__tl_analysis_type_int=\count153
+Defining \g__tl_analysis_result_tl on line ...
+Defining \__tl_analysis_extract_charcode: on line ...
+Defining \__tl_analysis_extract_charcode_aux:w on line ...
+Defining \__tl_analysis_cs_space_count:NN on line ...
+Defining \__tl_analysis_cs_space_count:w on line ...
+Defining \__tl_analysis_cs_space_count_end:w on line ...
+Defining \__tl_analysis:n on line ...
+Defining \__tl_analysis_setup:n on line ...
+Defining \__tl_analysis_disable_loop:N on line ...
+Defining \__tl_analysis_a:n on line ...
+Defining \__tl_analysis_a_loop:w on line ...
+Defining \__tl_analysis_a_type:w on line ...
+Defining \__tl_analysis_a_space:w on line ...
+Defining \__tl_analysis_a_space_test:w on line ...
+Defining \__tl_analysis_a_bgroup:w on line ...
+Defining \__tl_analysis_a_egroup:w on line ...
+Defining \__tl_analysis_a_group:nw on line ...
+Defining \__tl_analysis_a_group_test:w on line ...
+Defining \__tl_analysis_a_store: on line ...
+Defining \__tl_analysis_a_safe:N on line ...
+Defining \__tl_analysis_a_cs:ww on line ...
+Defining \__tl_analysis_b:n on line ...
+Defining \__tl_analysis_b_loop:w on line ...
+Defining \__tl_analysis_b_normals:ww on line ...
+Defining \__tl_analysis_b_normal:wwN on line ...
+Defining \__tl_analysis_b_char:Nww on line ...
+Defining \__tl_analysis_b_cs:Nww on line ...
+Defining \__tl_analysis_b_cs_test:ww on line ...
+Defining \__tl_analysis_b_special:w on line ...
+Defining \__tl_analysis_b_special_char:wN on line ...
+Defining \__tl_analysis_b_special_space:w on line ...
+Defining \__tl_analysis_map_inline:nn on line ...
+Defining \__tl_analysis_map_inline_aux:Nn on line ...
+Defining \tl_show_analysis:N on line ...
+Defining \tl_show_analysis:n on line ...
+Defining \__tl_analysis_show: on line ...
+Defining \__tl_analysis_show_loop:wNw on line ...
+Defining \__tl_analysis_show_normal:n on line ...
+Defining \__tl_analysis_show_value:N on line ...
+Defining \__tl_analysis_show_cs:n on line ...
+Defining \__tl_analysis_show_active:n on line ...
+Defining \__tl_analysis_show_long:nn on line ...
+Defining \__tl_analysis_show_long_aux:nnnn on line ...
+Defining \exp_args:Noof on line ...
+Defining \__tl_analysis_show_long_aux:oofn on line ...
+Defining \c__tl_analysis_show_etc_str on line ...
+Defining message LaTeX/kernel/show-tl-analysis on line ...
+Defining \tl_to_str:V on line ...
+Defining \__regex_standard_escapechar: on line ...
+Defining \__regex_toks_use:w on line ...
+Defining \__regex_toks_clear:N on line ...
+Defining \__regex_toks_set:Nn on line ...
+Defining \__regex_toks_set:No on line ...
+Defining \__regex_toks_memcpy:NNn on line ...
+Defining \__regex_toks_put_left:Nx on line ...
+Defining \__regex_toks_put_right:Nx on line ...
+Defining \__regex_toks_put_right:Nn on line ...
+Defining \__regex_current_cs_to_str: on line ...
+Defining \__regex_tmp:w on line ...
+Defining \l__regex_internal_a_tl on line ...
+Defining \l__regex_internal_b_tl on line ...
+Defining \l__regex_internal_a_int on line ...
+\l__regex_internal_a_int=\count154
+Defining \l__regex_internal_b_int on line ...
+\l__regex_internal_b_int=\count155
+Defining \l__regex_internal_c_int on line ...
+\l__regex_internal_c_int=\count156
+Defining \l__regex_internal_bool on line ...
+Defining \l__regex_internal_seq on line ...
+Defining \g__regex_internal_tl on line ...
+Defining \c__regex_no_match_regex on line ...
+Defining \g__regex_charcode_intarray on line ...
+Defining \g__regex_catcode_intarray on line ...
+Defining \g__regex_balance_intarray on line ...
+Defining \l__regex_balance_int on line ...
+\l__regex_balance_int=\count157
+Defining \l__regex_cs_name_tl on line ...
+Defining \c__regex_ascii_min_int on line ...
+Defining \c__regex_ascii_max_control_int on line ...
+Defining \c__regex_ascii_max_int on line ...
+Defining \c__regex_ascii_lower_int on line ...
+Defining \__regex_break_true:w on line ...
+Defining \__regex_break_point:TF on line ...
+Defining \__regex_item_reverse:n on line ...
+Defining \__regex_item_caseful_equal:n on line ...
+Defining \__regex_item_caseful_range:nn on line ...
+Defining \__regex_item_caseless_equal:n on line ...
+Defining \__regex_item_caseless_range:nn on line ...
+Defining \__regex_compute_case_changed_char: on line ...
+Defining \__regex_item_equal:n on line ...
+Defining \__regex_item_range:nn on line ...
+Defining \__regex_item_catcode: on line ...
+Defining \__regex_item_catcode:nT on line ...
+Defining \__regex_item_catcode_reverse:nT on line ...
+Defining \__regex_item_exact:nn on line ...
+Defining \__regex_item_exact_cs:n on line ...
+Defining \__regex_item_cs:n on line ...
+Defining \__regex_prop_d: on line ...
+Defining \__regex_prop_h: on line ...
+Defining \__regex_prop_s: on line ...
+Defining \__regex_prop_v: on line ...
+Defining \__regex_prop_w: on line ...
+Defining \__regex_prop_N: on line ...
+Defining \__regex_posix_alnum: on line ...
+Defining \__regex_posix_alpha: on line ...
+Defining \__regex_posix_ascii: on line ...
+Defining \__regex_posix_blank: on line ...
+Defining \__regex_posix_cntrl: on line ...
+Defining \__regex_posix_digit: on line ...
+Defining \__regex_posix_graph: on line ...
+Defining \__regex_posix_lower: on line ...
+Defining \__regex_posix_print: on line ...
+Defining \__regex_posix_punct: on line ...
+Defining \__regex_posix_space: on line ...
+Defining \__regex_posix_upper: on line ...
+Defining \__regex_posix_word: on line ...
+Defining \__regex_posix_xdigit: on line ...
+Defining \__regex_escape_use:nnnn on line ...
+Defining \__regex_escape_loop:N on line ...
+Defining \__regex_escape_\:w on line ...
+Defining \__regex_escape_unescaped:N on line ...
+Defining \__regex_escape_escaped:N on line ...
+Defining \__regex_escape_raw:N on line ...
+Defining \__regex_escape_break:w on line ...
+Defining \__regex_escape_/break:w on line ...
+Defining \__regex_escape_ :w on line ...
+Defining \__regex_escape_/a:w on line ...
+Defining \__regex_escape_/t:w on line ...
+Defining \__regex_escape_/n:w on line ...
+Defining \__regex_escape_/f:w on line ...
+Defining \__regex_escape_/r:w on line ...
+Defining \__regex_escape_/e:w on line ...
+Defining \__regex_escape_/x:w on line ...
+Defining \__regex_escape_x_end:w on line ...
+Defining \__regex_escape_x_test:N on line ...
+Defining \__regex_escape_x_testii:N on line ...
+Defining \__regex_escape_x:N on line ...
+Defining \__regex_escape_x_loop:N on line ...
+Defining \__regex_escape_x_loop_error:n on line ...
+Defining \__regex_hexadecimal_use:NTF on line ...
+Defining \__regex_char_if_special:NTF on line ...
+Defining \__regex_char_if_alphanumeric:NTF on line ...
+Defining \l__regex_group_level_int on line ...
+\l__regex_group_level_int=\count158
+Defining \l__regex_mode_int on line ...
+\l__regex_mode_int=\count159
+Defining \c__regex_cs_in_class_mode_int on line ...
+\c__regex_cs_in_class_mode_int=\count160
+Defining \c__regex_cs_mode_int on line ...
+\c__regex_cs_mode_int=\count161
+Defining \c__regex_outer_mode_int on line ...
+Defining \c__regex_catcode_mode_int on line ...
+Defining \c__regex_class_mode_int on line ...
+Defining \c__regex_catcode_in_class_mode_int on line ...
+Defining \l__regex_catcodes_int on line ...
+\l__regex_catcodes_int=\count162
+Defining \l__regex_default_catcodes_int on line ...
+\l__regex_default_catcodes_int=\count163
+Defining \l__regex_catcodes_bool on line ...
+Defining \c__regex_catcode_C_int on line ...
+Defining \c__regex_catcode_B_int on line ...
+Defining \c__regex_catcode_E_int on line ...
+Defining \c__regex_catcode_M_int on line ...
+Defining \c__regex_catcode_T_int on line ...
+Defining \c__regex_catcode_P_int on line ...
+Defining \c__regex_catcode_U_int on line ...
+Defining \c__regex_catcode_D_int on line ...
+Defining \c__regex_catcode_S_int on line ...
+Defining \c__regex_catcode_L_int on line ...
+\c__regex_catcode_L_int=\count164
+Defining \c__regex_catcode_O_int on line ...
+\c__regex_catcode_O_int=\count165
+Defining \c__regex_catcode_A_int on line ...
+\c__regex_catcode_A_int=\count166
+Defining \c__regex_all_catcodes_int on line ...
+\c__regex_all_catcodes_int=\count167
+Defining \l__regex_internal_regex on line ...
+Defining \l__regex_show_prefix_seq on line ...
+Defining \l__regex_show_lines_int on line ...
+\l__regex_show_lines_int=\count168
+Defining \__regex_get_digits:NTFw on line ...
+Defining \__regex_get_digits_loop:nw on line ...
+Defining \__regex_if_raw_digit:NNTF on line ...
+Defining \__regex_if_in_class:TF on line ...
+Defining \__regex_if_in_cs:TF on line ...
+Defining \__regex_if_in_class_or_catcode:TF on line ...
+Defining \__regex_if_within_catcode:TF on line ...
+Defining \__regex_chk_c_allowed:T on line ...
+Defining \__regex_mode_quit_c: on line ...
+Defining \__regex_compile:w on line ...
+Defining \__regex_compile_end: on line ...
+Defining \__regex_compile:n on line ...
+Defining \__regex_compile_special:N on line ...
+Defining \__regex_compile_escaped:N on line ...
+Defining \__regex_compile_one:x on line ...
+Defining \__regex_compile_abort_tokens:n on line ...
+Defining \__regex_compile_abort_tokens:x on line ...
+Defining \__regex_compile_quantifier:w on line ...
+Defining \__regex_compile_quantifier_none: on line ...
+Defining \__regex_compile_quantifier_abort:xNN on line ...
+Defining \__regex_compile_quantifier_lazyness:nnNN on line ...
+Defining \__regex_compile_quantifier_?:w on line ...
+Defining \__regex_compile_quantifier_*:w on line ...
+Defining \__regex_compile_quantifier_+:w on line ...
+Defining \__regex_compile_quantifier_{:w on line ...
+Defining \__regex_compile_quantifier_braced_auxi:w on line ...
+Defining \__regex_compile_quantifier_braced_auxii:w on line ...
+Defining \__regex_compile_quantifier_braced_auxiii:w on line ...
+Defining \__regex_compile_raw_error:N on line ...
+Defining \__regex_compile_raw:N on line ...
+Defining \__regex_if_end_range:NNTF on line ...
+Defining \__regex_compile_range:Nw on line ...
+Defining \__regex_compile_.: on line ...
+Defining \__regex_prop_.: on line ...
+Defining \__regex_compile_/d: on line ...
+Defining \__regex_compile_/D: on line ...
+Defining \__regex_compile_/h: on line ...
+Defining \__regex_compile_/H: on line ...
+Defining \__regex_compile_/s: on line ...
+Defining \__regex_compile_/S: on line ...
+Defining \__regex_compile_/v: on line ...
+Defining \__regex_compile_/V: on line ...
+Defining \__regex_compile_/w: on line ...
+Defining \__regex_compile_/W: on line ...
+Defining \__regex_compile_/N: on line ...
+Defining \__regex_compile_anchor:NF on line ...
+Defining \__regex_compile_/A: on line ...
+Defining \__regex_compile_/G: on line ...
+Defining \__regex_compile_/Z: on line ...
+Defining \__regex_compile_/z: on line ...
+Defining \__regex_compile_^: on line ...
+Defining \__regex_compile_$: on line ...
+Defining \__regex_compile_/b: on line ...
+Defining \__regex_compile_/B: on line ...
+Defining \__regex_compile_]: on line ...
+Defining \__regex_compile_[: on line ...
+Defining \__regex_compile_class_normal:w on line ...
+Defining \__regex_compile_class_catcode:w on line ...
+Defining \__regex_compile_class:TFNN on line ...
+Defining \__regex_compile_class:NN on line ...
+Defining \__regex_compile_class_posix_test:w on line ...
+Defining \__regex_compile_class_posix:NNNNw on line ...
+Defining \__regex_compile_class_posix_loop:w on line ...
+Defining \__regex_compile_class_posix_end:w on line ...
+Defining \__regex_compile_group_begin:N on line ...
+Defining \__regex_compile_group_end: on line ...
+Defining \__regex_compile_(: on line ...
+Defining \__regex_compile_lparen:w on line ...
+Defining \__regex_compile_|: on line ...
+Defining \__regex_compile_): on line ...
+Defining \__regex_compile_special_group_::w on line ...
+Defining \__regex_compile_special_group_|:w on line ...
+Defining \__regex_compile_special_group_i:w on line ...
+Defining \__regex_compile_special_group_-:w on line ...
+Defining \__regex_compile_/c: on line ...
+Defining \__regex_compile_c_test:NN on line ...
+Defining \__regex_compile_c_[:w on line ...
+Defining \__regex_compile_c_lbrack_loop:NN on line ...
+Defining \__regex_compile_c_lbrack_add:N on line ...
+Defining \__regex_compile_c_lbrack_end: on line ...
+Defining \__regex_compile_c_{:w on line ...
+Defining \flag __regex_cs on line ...
+Defining \__regex_compile_}: on line ...
+Defining \__regex_compile_end_cs: on line ...
+Defining \__regex_compile_cs_aux:Nn on line ...
+Defining \__regex_compile_cs_aux:NNnnnN on line ...
+Defining \__regex_compile_/u: on line ...
+Defining \__regex_compile_u_loop:NN on line ...
+Defining \__regex_compile_u_end: on line ...
+Defining \__regex_compile_u_in_cs: on line ...
+Defining \__regex_compile_u_in_cs_aux:n on line ...
+Defining \__regex_compile_u_not_cs: on line ...
+Defining \__regex_compile_/K: on line ...
+Defining \__regex_show:Nn on line ...
+Defining \__regex_show_one:n on line ...
+Defining \__regex_show_push:n on line ...
+Defining \__regex_show_pop: on line ...
+Defining \__regex_show_scope:nn on line ...
+Defining \__regex_show_group_aux:nnnnN on line ...
+Defining \__regex_show_anchor_to_str:N on line ...
+Defining \__regex_show_item_catcode:NnT on line ...
+Defining \__regex_show_item_exact_cs:n on line ...
+Defining \l__regex_min_state_int on line ...
+\l__regex_min_state_int=\count169
+Defining \l__regex_max_state_int on line ...
+\l__regex_max_state_int=\count170
+Defining \l__regex_left_state_int on line ...
+\l__regex_left_state_int=\count171
+Defining \l__regex_right_state_int on line ...
+\l__regex_right_state_int=\count172
+Defining \l__regex_left_state_seq on line ...
+Defining \l__regex_right_state_seq on line ...
+Defining \l__regex_capturing_group_int on line ...
+\l__regex_capturing_group_int=\count173
+Defining \__regex_build:n on line ...
+Defining \__regex_build:N on line ...
+Defining \__regex_build_for_cs:n on line ...
+Defining \__regex_push_lr_states: on line ...
+Defining \__regex_pop_lr_states: on line ...
+Defining \__regex_build_transition_left:NNN on line ...
+Defining \__regex_build_transition_right:nNn on line ...
+Defining \__regex_build_new_state: on line ...
+Defining \__regex_build_transitions_lazyness:NNNNN on line ...
+Defining \__regex_class:NnnnN on line ...
+Defining \__regex_tests_action_cost:n on line ...
+Defining \__regex_class_repeat:n on line ...
+Defining \__regex_class_repeat:nN on line ...
+Defining \__regex_class_repeat:nnN on line ...
+Defining \__regex_group_aux:nnnnN on line ...
+Defining \__regex_group:nnnN on line ...
+Defining \__regex_group_no_capture:nnnN on line ...
+Defining \__regex_group_resetting:nnnN on line ...
+Defining \__regex_group_resetting_loop:nnNn on line ...
+Defining \__regex_branch:n on line ...
+Defining \__regex_group_repeat:nn on line ...
+Defining \__regex_group_submatches:nNN on line ...
+Defining \__regex_group_repeat_aux:n on line ...
+Defining \__regex_group_repeat:nnN on line ...
+Defining \__regex_group_repeat:nnnN on line ...
+Defining \__regex_assertion:Nn on line ...
+Defining \__regex_anchor:N on line ...
+Defining \__regex_b_test: on line ...
+Defining \__regex_command_K: on line ...
+Defining \l__regex_min_pos_int on line ...
+\l__regex_min_pos_int=\count174
+Defining \l__regex_max_pos_int on line ...
+\l__regex_max_pos_int=\count175
+Defining \l__regex_current_pos_int on line ...
+\l__regex_current_pos_int=\count176
+Defining \l__regex_start_pos_int on line ...
+\l__regex_start_pos_int=\count177
+Defining \l__regex_success_pos_int on line ...
+\l__regex_success_pos_int=\count178
+Defining \l__regex_current_char_int on line ...
+\l__regex_current_char_int=\count179
+Defining \l__regex_current_catcode_int on line ...
+\l__regex_current_catcode_int=\count180
+Defining \l__regex_last_char_int on line ...
+\l__regex_last_char_int=\count181
+Defining \l__regex_case_changed_char_int on line ...
+\l__regex_case_changed_char_int=\count182
+Defining \l__regex_current_state_int on line ...
+\l__regex_current_state_int=\count183
+Defining \l__regex_current_submatches_prop on line ...
+Defining \l__regex_success_submatches_prop on line ...
+Defining \l__regex_step_int on line ...
+\l__regex_step_int=\count184
+Defining \l__regex_min_active_int on line ...
+\l__regex_min_active_int=\count185
+Defining \l__regex_max_active_int on line ...
+\l__regex_max_active_int=\count186
+Defining \g__regex_state_active_intarray on line ...
+Defining \g__regex_thread_state_intarray on line ...
+Defining \l__regex_every_match_tl on line ...
+Defining \l__regex_fresh_thread_bool on line ...
+Defining \l__regex_empty_success_bool on line ...
+Defining \__regex_if_two_empty_matches:F on line ...
+Defining \g__regex_success_bool on line ...
+Defining \l__regex_saved_success_bool on line ...
+Defining \l__regex_match_success_bool on line ...
+Defining \__regex_match:n on line ...
+Defining \__regex_match_once: on line ...
+Defining \__regex_single_match: on line ...
+Defining \__regex_multi_match:n on line ...
+Defining \__regex_match_loop: on line ...
+Defining \__regex_match_one_active:n on line ...
+Defining \__regex_query_set:nnn on line ...
+Defining \__regex_query_get: on line ...
+Defining \__regex_use_state: on line ...
+Defining \__regex_use_state_and_submatches:nn on line ...
+Defining \__regex_action_start_wildcard: on line ...
+Defining \__regex_action_free:n on line ...
+Defining \__regex_action_free_group:n on line ...
+Defining \__regex_action_free_aux:nn on line ...
+Defining \__regex_action_cost:n on line ...
+Defining \__regex_store_state:n on line ...
+Defining \__regex_store_submatches: on line ...
+Defining \__regex_disable_submatches: on line ...
+Defining \__regex_action_submatch:n on line ...
+Defining \__regex_action_success: on line ...
+Defining \l__regex_replacement_csnames_int on line ...
+\l__regex_replacement_csnames_int=\count187
+Defining \l__regex_replacement_category_tl on line ...
+Defining \l__regex_replacement_category_seq on line ...
+Defining \l__regex_balance_tl on line ...
+Defining \__regex_replacement_balance_one_match:n on line ...
+Defining \__regex_replacement_do_one_match:n on line ...
+Defining \__regex_replacement_exp_not:N on line ...
+Defining \__regex_query_range:nn on line ...
+Defining \__regex_query_range_loop:ww on line ...
+Defining \__regex_query_submatch:n on line ...
+Defining \__regex_submatch_balance:n on line ...
+Defining \__regex_replacement:n on line ...
+Defining \__regex_replacement_aux:n on line ...
+Defining \__regex_replacement_normal:n on line ...
+Defining \__regex_replacement_escaped:N on line ...
+Defining \__regex_replacement_put_submatch:n on line ...
+Defining \__regex_replacement_g:w on line ...
+Defining \__regex_replacement_g_digits:NN on line ...
+Defining \__regex_replacement_c:w on line ...
+Defining \__regex_replacement_cu_aux:Nw on line ...
+Defining \__regex_replacement_u:w on line ...
+Defining \__regex_replacement_rbrace:N on line ...
+Defining \__regex_replacement_cat:NNN on line ...
+Defining \__regex_replacement_char:nNN on line ...
+Defining \__regex_replacement_c_A:w on line ...
+Defining \__regex_replacement_c_B:w on line ...
+Defining \__regex_replacement_c_C:w on line ...
+Defining \__regex_replacement_c_D:w on line ...
+Defining \__regex_replacement_c_E:w on line ...
+Defining \__regex_replacement_c_L:w on line ...
+Defining \__regex_replacement_c_M:w on line ...
+Defining \__regex_replacement_c_O:w on line ...
+Defining \__regex_replacement_c_P:w on line ...
+Defining \__regex_replacement_c_S:w on line ...
+Defining \__regex_replacement_c_T:w on line ...
+Defining \__regex_replacement_c_U:w on line ...
+Defining \__regex_replacement_error:NNN on line ...
+Defining \regex_new:N on line ...
+Defining \regex_set:Nn on line ...
+Defining \regex_gset:Nn on line ...
+Defining \regex_const:Nn on line ...
+Defining \regex_show:n on line ...
+Defining \regex_show:N on line ...
+Defining \regex_match:nnT on line ...
+Defining \regex_match:nnF on line ...
+Defining \regex_match:nnTF on line ...
+Defining \regex_match:NnT on line ...
+Defining \regex_match:NnF on line ...
+Defining \regex_match:NnTF on line ...
+Defining \regex_count:nnN on line ...
+Defining \regex_count:NnN on line ...
+Defining \regex_extract_once:nnN on line ...
+Defining \regex_extract_once:NnN on line ...
+Defining \regex_extract_once:nnNT on line ...
+Defining \regex_extract_once:nnNF on line ...
+Defining \regex_extract_once:nnNTF on line ...
+Defining \regex_extract_once:NnNT on line ...
+Defining \regex_extract_once:NnNF on line ...
+Defining \regex_extract_once:NnNTF on line ...
+Defining \regex_extract_all:nnN on line ...
+Defining \regex_extract_all:NnN on line ...
+Defining \regex_extract_all:nnNT on line ...
+Defining \regex_extract_all:nnNF on line ...
+Defining \regex_extract_all:nnNTF on line ...
+Defining \regex_extract_all:NnNT on line ...
+Defining \regex_extract_all:NnNF on line ...
+Defining \regex_extract_all:NnNTF on line ...
+Defining \regex_replace_once:nnN on line ...
+Defining \regex_replace_once:NnN on line ...
+Defining \regex_replace_once:nnNT on line ...
+Defining \regex_replace_once:nnNF on line ...
+Defining \regex_replace_once:nnNTF on line ...
+Defining \regex_replace_once:NnNT on line ...
+Defining \regex_replace_once:NnNF on line ...
+Defining \regex_replace_once:NnNTF on line ...
+Defining \regex_replace_all:nnN on line ...
+Defining \regex_replace_all:NnN on line ...
+Defining \regex_replace_all:nnNT on line ...
+Defining \regex_replace_all:nnNF on line ...
+Defining \regex_replace_all:nnNTF on line ...
+Defining \regex_replace_all:NnNT on line ...
+Defining \regex_replace_all:NnNF on line ...
+Defining \regex_replace_all:NnNTF on line ...
+Defining \regex_split:nnN on line ...
+Defining \regex_split:NnN on line ...
+Defining \regex_split:nnNT on line ...
+Defining \regex_split:nnNF on line ...
+Defining \regex_split:nnNTF on line ...
+Defining \regex_split:NnNT on line ...
+Defining \regex_split:NnNF on line ...
+Defining \regex_split:NnNTF on line ...
+Defining \l__regex_match_count_int on line ...
+\l__regex_match_count_int=\count188
+Defining \flag __regex_begin on line ...
+Defining \flag __regex_end on line ...
+Defining \l__regex_min_submatch_int on line ...
+\l__regex_min_submatch_int=\count189
+Defining \l__regex_submatch_int on line ...
+\l__regex_submatch_int=\count190
+Defining \l__regex_zeroth_submatch_int on line ...
+\l__regex_zeroth_submatch_int=\count191
+Defining \g__regex_submatch_prev_intarray on line ...
+Defining \g__regex_submatch_begin_intarray on line ...
+Defining \g__regex_submatch_end_intarray on line ...
+Defining \__regex_return: on line ...
+Defining \__regex_if_match:nn on line ...
+Defining \__regex_count:nnN on line ...
+Defining \__regex_extract_once:nnN on line ...
+Defining \__regex_extract_all:nnN on line ...
+Defining \__regex_split:nnN on line ...
+Defining \__regex_group_end_extract_seq:N on line ...
+Defining \__regex_extract_seq_aux:n on line ...
+Defining \__regex_extract_seq_aux:ww on line ...
+Defining \__regex_extract: on line ...
+Defining \__regex_extract_b:wn on line ...
+Defining \__regex_extract_e:wn on line ...
+Defining \__regex_replace_once:nnN on line ...
+Defining \__regex_replace_all:nnN on line ...
+Defining \__regex_group_end_replace:N on line ...
+Defining message LaTeX/regex/trailing-backslash on line ...
+Defining message LaTeX/regex/x-missing-rbrace on line ...
+Defining message LaTeX/regex/x-overflow on line ...
+Defining message LaTeX/regex/invalid-quantifier on line ...
+Defining message LaTeX/regex/missing-rbrack on line ...
+Defining message LaTeX/regex/missing-rparen on line ...
+Defining message LaTeX/regex/extra-rparen on line ...
+Defining message LaTeX/regex/bad-escape on line ...
+Defining message LaTeX/regex/range-missing-end on line ...
+Defining message LaTeX/regex/range-backwards on line ...
+Defining message LaTeX/regex/c-bad-mode on line ...
+Defining message LaTeX/regex/c-missing-rbrace on line ...
+Defining message LaTeX/regex/c-missing-rbrack on line ...
+Defining message LaTeX/regex/c-missing-category on line ...
+Defining message LaTeX/regex/c-trailing on line ...
+Defining message LaTeX/regex/u-missing-lbrace on line ...
+Defining message LaTeX/regex/u-missing-rbrace on line ...
+Defining message LaTeX/regex/posix-unsupported on line ...
+Defining message LaTeX/regex/posix-unknown on line ...
+Defining message LaTeX/regex/posix-missing-close on line ...
+Defining message LaTeX/regex/result-unbalanced on line ...
+Defining message LaTeX/regex/unknown-option on line ...
+Defining message LaTeX/regex/special-group-unknown on line ...
+Defining message LaTeX/regex/replacement-c on line ...
+Defining message LaTeX/regex/replacement-u on line ...
+Defining message LaTeX/regex/replacement-g on line ...
+Defining message LaTeX/regex/replacement-catcode-end on line ...
+Defining message LaTeX/regex/replacement-catcode-in-cs on line ...
+Defining message LaTeX/regex/replacement-null-space on line ...
+Defining message LaTeX/regex/replacement-missing-rbrace on line ...
+Defining message LaTeX/regex/replacement-missing-rparen on line ...
+Defining \__regex_msg_repeated:nnN on line ...
 Defining \box_new:N on line ...
 Defining \box_new:c on line ...
 Defining \box_clear:N on line ...
@@ -5058,7 +5631,7 @@ Defining \l__driver_sin_fp on line ...
 Defining \__driver_box_use_scale:Nnn on line ...
 Defining \l__driver_color_current_tl on line ...
 Defining \l__driver_color_stack_int on line ...
-\l__driver_color_stack_int=\count147
+\l__driver_color_stack_int=\count192
 Defining \__driver_color_ensure_current: on line ...
 Defining \__driver_color_reset: on line ...
 Defining \l__driver_image_attr_tl on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index 60e750a..9889bf2 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -1398,6 +1398,16 @@ Defining \g_tmpa_int on line ...
 Defining \g_tmpb_int on line ...
 \g_tmpb_int=\count117
 Defining \c_minus_one on line ...
+Defining \g__intarray_font_int on line ...
+\g__intarray_font_int=\count118
+Defining \__intarray_new:Nn on line ...
+Defining \__intarray_count:N on line ...
+Defining \__intarray_gset_fast:Nnn on line ...
+Defining \__intarray_gset:Nnn on line ...
+Defining \__intarray_gset_aux:Nnn on line ...
+Defining \__intarray_item_fast:Nn on line ...
+Defining \__intarray_item:Nn on line ...
+Defining \__intarray_item_aux:Nn on line ...
 Defining \flag_new:n on line ...
 Defining \flag_clear:n on line ...
 Defining \__flag_clear:wn on line ...
@@ -1620,7 +1630,7 @@ Defining \mode_if_math:TF on line ...
 Defining \group_align_safe_begin: on line ...
 Defining \group_align_safe_end: on line ...
 Defining \g__prg_map_int on line ...
-\g__prg_map_int=\count118
+\g__prg_map_int=\count119
 Defining \c_empty_clist on line ...
 Defining \l__clist_internal_clist on line ...
 Defining \__clist_tmp:w on line ...
@@ -2773,6 +2783,8 @@ Defining message LaTeX/kernel/empty-search-pattern on line ...
 Defining message LaTeX/kernel/out-of-registers on line ...
 Defining message LaTeX/kernel/non-base-function on line ...
 Defining message LaTeX/kernel/missing-colon on line ...
+Defining message LaTeX/kernel/overflow on line ...
+Defining message LaTeX/kernel/out-of-bounds on line ...
 Defining message LaTeX/kernel/protected-predicate on line ...
 Defining message LaTeX/kernel/conditional-form-unknown on line ...
 Defining message LaTeX/check/non-declared-variable on line ...
@@ -2871,7 +2883,7 @@ Defining \ior_get:NN on line ...
 Defining \ior_str_get:NN on line ...
 Defining \g__file_internal_ior on line ...
 Defining \c_log_iow on line ...
-\c_log_iow=\count119
+\c_log_iow=\count120
 Defining \c_term_iow on line ...
 Defining \g__iow_streams_seq on line ...
 Defining \l__iow_stream_tl on line ...
@@ -2908,18 +2920,18 @@ Defining \iow_newline: on line ...
 Defining \iow_char:N on line ...
 Defining \c_catcode_other_space_tl on line ...
 Defining \l_iow_line_count_int on line ...
-\l_iow_line_count_int=\count120
+\l_iow_line_count_int=\count121
 Defining \l__iow_newline_tl on line ...
 Defining \l__iow_line_target_int on line ...
-\l__iow_line_target_int=\count121
+\l__iow_line_target_int=\count122
 Defining \l__iow_one_indent_tl on line ...
 Defining \l__iow_one_indent_int on line ...
-\l__iow_one_indent_int=\count122
+\l__iow_one_indent_int=\count123
 Defining \__iow_unindent:w on line ...
 Defining \__iow_set_indent:n on line ...
 Defining \l__iow_indent_tl on line ...
 Defining \l__iow_indent_int on line ...
-\l__iow_indent_int=\count123
+\l__iow_indent_int=\count124
 Defining \l__iow_line_tl on line ...
 Defining \l__iow_line_part_tl on line ...
 Defining \l__iow_line_break_bool on line ...
@@ -3235,7 +3247,7 @@ Defining \c__keys_type_root_tl on line ...
 Defining \c__keys_validate_root_tl on line ...
 Defining \c__keys_props_root_tl on line ...
 Defining \l_keys_choice_int on line ...
-\l_keys_choice_int=\count124
+\l_keys_choice_int=\count125
 Defining \l_keys_choice_tl on line ...
 Defining \l__keys_groups_clist on line ...
 Defining \l_keys_key_tl on line ...
@@ -3472,25 +3484,25 @@ Defining \__fp_exp_after_normal:Nwwwww on line ...
 Defining \__fp_exp_after_array_f:w on line ...
 Defining \__fp_exp_after_stop_f:nw on line ...
 Defining \c__fp_leading_shift_int on line ...
-\c__fp_leading_shift_int=\count125
+\c__fp_leading_shift_int=\count126
 Defining \c__fp_middle_shift_int on line ...
-\c__fp_middle_shift_int=\count126
+\c__fp_middle_shift_int=\count127
 Defining \c__fp_trailing_shift_int on line ...
-\c__fp_trailing_shift_int=\count127
+\c__fp_trailing_shift_int=\count128
 Defining \__fp_pack:NNNNNw on line ...
 Defining \c__fp_big_leading_shift_int on line ...
-\c__fp_big_leading_shift_int=\count128
+\c__fp_big_leading_shift_int=\count129
 Defining \c__fp_big_middle_shift_int on line ...
-\c__fp_big_middle_shift_int=\count129
+\c__fp_big_middle_shift_int=\count130
 Defining \c__fp_big_trailing_shift_int on line ...
-\c__fp_big_trailing_shift_int=\count130
+\c__fp_big_trailing_shift_int=\count131
 Defining \__fp_pack_big:NNNNNNw on line ...
 Defining \c__fp_Bigg_leading_shift_int on line ...
-\c__fp_Bigg_leading_shift_int=\count131
+\c__fp_Bigg_leading_shift_int=\count132
 Defining \c__fp_Bigg_middle_shift_int on line ...
-\c__fp_Bigg_middle_shift_int=\count132
+\c__fp_Bigg_middle_shift_int=\count133
 Defining \c__fp_Bigg_trailing_shift_int on line ...
-\c__fp_Bigg_trailing_shift_int=\count133
+\c__fp_Bigg_trailing_shift_int=\count134
 Defining \__fp_pack_Bigg:NNNNNNw on line ...
 Defining \__fp_pack_twice_four:wNNNNNNNN on line ...
 Defining \__fp_pack_eight:wNNNNNNNN on line ...
@@ -4241,27 +4253,27 @@ Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
 Defining \l__sort_length_int on line ...
-\l__sort_length_int=\count134
+\l__sort_length_int=\count135
 Defining \l__sort_min_int on line ...
-\l__sort_min_int=\count135
+\l__sort_min_int=\count136
 Defining \l__sort_top_int on line ...
-\l__sort_top_int=\count136
+\l__sort_top_int=\count137
 Defining \l__sort_max_int on line ...
-\l__sort_max_int=\count137
+\l__sort_max_int=\count138
 Defining \l__sort_true_max_int on line ...
-\l__sort_true_max_int=\count138
+\l__sort_true_max_int=\count139
 Defining \l__sort_block_int on line ...
-\l__sort_block_int=\count139
+\l__sort_block_int=\count140
 Defining \l__sort_begin_int on line ...
-\l__sort_begin_int=\count140
+\l__sort_begin_int=\count141
 Defining \l__sort_end_int on line ...
-\l__sort_end_int=\count141
+\l__sort_end_int=\count142
 Defining \l__sort_A_int on line ...
-\l__sort_A_int=\count142
+\l__sort_A_int=\count143
 Defining \l__sort_B_int on line ...
-\l__sort_B_int=\count143
+\l__sort_B_int=\count144
 Defining \l__sort_C_int on line ...
-\l__sort_C_int=\count144
+\l__sort_C_int=\count145
 Defining \__sort_shrink_range: on line ...
 Defining \__sort_shrink_range_loop: on line ...
 Defining \__sort_compute_range: on line ...
@@ -4318,6 +4330,569 @@ Defining message LaTeX/sort/return-none on line ...
 Defining message LaTeX/sort/return-two on line ...
 Defining \sort_ordered: on line ...
 Defining \sort_reversed: on line ...
+Defining \l__tl_build_start_index_int on line ...
+\l__tl_build_start_index_int=\count146
+Defining \l__tl_build_index_int on line ...
+\l__tl_build_index_int=\count147
+Defining \l__tl_build_result_tl on line ...
+Defining \__tl_build_unpack: on line ...
+Defining \__tl_build_unpack_loop:w on line ...
+Defining \__tl_build:Nw on line ...
+Defining \__tl_build_x:Nw on line ...
+Defining \__tl_gbuild:Nw on line ...
+Defining \__tl_gbuild_x:Nw on line ...
+Defining \__tl_build_aux:NNw on line ...
+Defining \__tl_build_end: on line ...
+Defining \__tl_build_end_assignment:n on line ...
+Defining \__tl_build_one:n on line ...
+Defining \__tl_build_one:o on line ...
+Defining \__tl_build_one:x on line ...
+Defining \s__tl on line ...
+Defining \l__tl_analysis_internal_tl on line ...
+Defining \l__tl_analysis_token on line ...
+Defining \l__tl_analysis_char_token on line ...
+Defining \l__tl_analysis_normal_int on line ...
+\l__tl_analysis_normal_int=\count148
+Defining \l__tl_analysis_index_int on line ...
+\l__tl_analysis_index_int=\count149
+Defining \l__tl_analysis_nesting_int on line ...
+\l__tl_analysis_nesting_int=\count150
+Defining \l__tl_analysis_type_int on line ...
+\l__tl_analysis_type_int=\count151
+Defining \g__tl_analysis_result_tl on line ...
+Defining \__tl_analysis_extract_charcode: on line ...
+Defining \__tl_analysis_extract_charcode_aux:w on line ...
+Defining \__tl_analysis_cs_space_count:NN on line ...
+Defining \__tl_analysis_cs_space_count:w on line ...
+Defining \__tl_analysis_cs_space_count_end:w on line ...
+Defining \__tl_analysis:n on line ...
+Defining \__tl_analysis_setup:n on line ...
+Defining \__tl_analysis_disable_loop:N on line ...
+Defining \__tl_analysis_a:n on line ...
+Defining \__tl_analysis_a_loop:w on line ...
+Defining \__tl_analysis_a_type:w on line ...
+Defining \__tl_analysis_a_space:w on line ...
+Defining \__tl_analysis_a_space_test:w on line ...
+Defining \__tl_analysis_a_bgroup:w on line ...
+Defining \__tl_analysis_a_egroup:w on line ...
+Defining \__tl_analysis_a_group:nw on line ...
+Defining \__tl_analysis_a_group_test:w on line ...
+Defining \__tl_analysis_a_store: on line ...
+Defining \__tl_analysis_a_safe:N on line ...
+Defining \__tl_analysis_a_cs:ww on line ...
+Defining \__tl_analysis_b:n on line ...
+Defining \__tl_analysis_b_loop:w on line ...
+Defining \__tl_analysis_b_normals:ww on line ...
+Defining \__tl_analysis_b_normal:wwN on line ...
+Defining \__tl_analysis_b_char:Nww on line ...
+Defining \__tl_analysis_b_cs:Nww on line ...
+Defining \__tl_analysis_b_cs_test:ww on line ...
+Defining \__tl_analysis_b_special:w on line ...
+Defining \__tl_analysis_b_special_char:wN on line ...
+Defining \__tl_analysis_b_special_space:w on line ...
+Defining \__tl_analysis_map_inline:nn on line ...
+Defining \__tl_analysis_map_inline_aux:Nn on line ...
+Defining \tl_show_analysis:N on line ...
+Defining \tl_show_analysis:n on line ...
+Defining \__tl_analysis_show: on line ...
+Defining \__tl_analysis_show_loop:wNw on line ...
+Defining \__tl_analysis_show_normal:n on line ...
+Defining \__tl_analysis_show_value:N on line ...
+Defining \__tl_analysis_show_cs:n on line ...
+Defining \__tl_analysis_show_active:n on line ...
+Defining \__tl_analysis_show_long:nn on line ...
+Defining \__tl_analysis_show_long_aux:nnnn on line ...
+Defining \exp_args:Noof on line ...
+Defining \__tl_analysis_show_long_aux:oofn on line ...
+Defining \c__tl_analysis_show_etc_str on line ...
+Defining message LaTeX/kernel/show-tl-analysis on line ...
+Defining \tl_to_str:V on line ...
+Defining \__regex_standard_escapechar: on line ...
+Defining \__regex_toks_use:w on line ...
+Defining \__regex_toks_clear:N on line ...
+Defining \__regex_toks_set:Nn on line ...
+Defining \__regex_toks_set:No on line ...
+Defining \__regex_toks_memcpy:NNn on line ...
+Defining \__regex_toks_put_left:Nx on line ...
+Defining \__regex_toks_put_right:Nx on line ...
+Defining \__regex_toks_put_right:Nn on line ...
+Defining \__regex_current_cs_to_str: on line ...
+Defining \__regex_tmp:w on line ...
+Defining \l__regex_internal_a_tl on line ...
+Defining \l__regex_internal_b_tl on line ...
+Defining \l__regex_internal_a_int on line ...
+\l__regex_internal_a_int=\count152
+Defining \l__regex_internal_b_int on line ...
+\l__regex_internal_b_int=\count153
+Defining \l__regex_internal_c_int on line ...
+\l__regex_internal_c_int=\count154
+Defining \l__regex_internal_bool on line ...
+Defining \l__regex_internal_seq on line ...
+Defining \g__regex_internal_tl on line ...
+Defining \c__regex_no_match_regex on line ...
+Defining \g__regex_charcode_intarray on line ...
+Defining \g__regex_catcode_intarray on line ...
+Defining \g__regex_balance_intarray on line ...
+Defining \l__regex_balance_int on line ...
+\l__regex_balance_int=\count155
+Defining \l__regex_cs_name_tl on line ...
+Defining \c__regex_ascii_min_int on line ...
+Defining \c__regex_ascii_max_control_int on line ...
+Defining \c__regex_ascii_max_int on line ...
+Defining \c__regex_ascii_lower_int on line ...
+Defining \__regex_break_true:w on line ...
+Defining \__regex_break_point:TF on line ...
+Defining \__regex_item_reverse:n on line ...
+Defining \__regex_item_caseful_equal:n on line ...
+Defining \__regex_item_caseful_range:nn on line ...
+Defining \__regex_item_caseless_equal:n on line ...
+Defining \__regex_item_caseless_range:nn on line ...
+Defining \__regex_compute_case_changed_char: on line ...
+Defining \__regex_item_equal:n on line ...
+Defining \__regex_item_range:nn on line ...
+Defining \__regex_item_catcode: on line ...
+Defining \__regex_item_catcode:nT on line ...
+Defining \__regex_item_catcode_reverse:nT on line ...
+Defining \__regex_item_exact:nn on line ...
+Defining \__regex_item_exact_cs:n on line ...
+Defining \__regex_item_cs:n on line ...
+Defining \__regex_prop_d: on line ...
+Defining \__regex_prop_h: on line ...
+Defining \__regex_prop_s: on line ...
+Defining \__regex_prop_v: on line ...
+Defining \__regex_prop_w: on line ...
+Defining \__regex_prop_N: on line ...
+Defining \__regex_posix_alnum: on line ...
+Defining \__regex_posix_alpha: on line ...
+Defining \__regex_posix_ascii: on line ...
+Defining \__regex_posix_blank: on line ...
+Defining \__regex_posix_cntrl: on line ...
+Defining \__regex_posix_digit: on line ...
+Defining \__regex_posix_graph: on line ...
+Defining \__regex_posix_lower: on line ...
+Defining \__regex_posix_print: on line ...
+Defining \__regex_posix_punct: on line ...
+Defining \__regex_posix_space: on line ...
+Defining \__regex_posix_upper: on line ...
+Defining \__regex_posix_word: on line ...
+Defining \__regex_posix_xdigit: on line ...
+Defining \__regex_escape_use:nnnn on line ...
+Defining \__regex_escape_loop:N on line ...
+Defining \__regex_escape_\:w on line ...
+Defining \__regex_escape_unescaped:N on line ...
+Defining \__regex_escape_escaped:N on line ...
+Defining \__regex_escape_raw:N on line ...
+Defining \__regex_escape_break:w on line ...
+Defining \__regex_escape_/break:w on line ...
+Defining \__regex_escape_ :w on line ...
+Defining \__regex_escape_/a:w on line ...
+Defining \__regex_escape_/t:w on line ...
+Defining \__regex_escape_/n:w on line ...
+Defining \__regex_escape_/f:w on line ...
+Defining \__regex_escape_/r:w on line ...
+Defining \__regex_escape_/e:w on line ...
+Defining \__regex_escape_/x:w on line ...
+Defining \__regex_escape_x_end:w on line ...
+Defining \__regex_escape_x_test:N on line ...
+Defining \__regex_escape_x_testii:N on line ...
+Defining \__regex_escape_x:N on line ...
+Defining \__regex_escape_x_loop:N on line ...
+Defining \__regex_escape_x_loop_error:n on line ...
+Defining \__regex_hexadecimal_use:NTF on line ...
+Defining \__regex_char_if_special:NTF on line ...
+Defining \__regex_char_if_alphanumeric:NTF on line ...
+Defining \l__regex_group_level_int on line ...
+\l__regex_group_level_int=\count156
+Defining \l__regex_mode_int on line ...
+\l__regex_mode_int=\count157
+Defining \c__regex_cs_in_class_mode_int on line ...
+\c__regex_cs_in_class_mode_int=\count158
+Defining \c__regex_cs_mode_int on line ...
+\c__regex_cs_mode_int=\count159
+Defining \c__regex_outer_mode_int on line ...
+Defining \c__regex_catcode_mode_int on line ...
+Defining \c__regex_class_mode_int on line ...
+Defining \c__regex_catcode_in_class_mode_int on line ...
+Defining \l__regex_catcodes_int on line ...
+\l__regex_catcodes_int=\count160
+Defining \l__regex_default_catcodes_int on line ...
+\l__regex_default_catcodes_int=\count161
+Defining \l__regex_catcodes_bool on line ...
+Defining \c__regex_catcode_C_int on line ...
+Defining \c__regex_catcode_B_int on line ...
+Defining \c__regex_catcode_E_int on line ...
+Defining \c__regex_catcode_M_int on line ...
+Defining \c__regex_catcode_T_int on line ...
+Defining \c__regex_catcode_P_int on line ...
+Defining \c__regex_catcode_U_int on line ...
+Defining \c__regex_catcode_D_int on line ...
+\c__regex_catcode_D_int=\count162
+Defining \c__regex_catcode_S_int on line ...
+\c__regex_catcode_S_int=\count163
+Defining \c__regex_catcode_L_int on line ...
+\c__regex_catcode_L_int=\count164
+Defining \c__regex_catcode_O_int on line ...
+\c__regex_catcode_O_int=\count165
+Defining \c__regex_catcode_A_int on line ...
+\c__regex_catcode_A_int=\count166
+Defining \c__regex_all_catcodes_int on line ...
+\c__regex_all_catcodes_int=\count167
+Defining \l__regex_internal_regex on line ...
+Defining \l__regex_show_prefix_seq on line ...
+Defining \l__regex_show_lines_int on line ...
+\l__regex_show_lines_int=\count168
+Defining \__regex_get_digits:NTFw on line ...
+Defining \__regex_get_digits_loop:nw on line ...
+Defining \__regex_if_raw_digit:NNTF on line ...
+Defining \__regex_if_in_class:TF on line ...
+Defining \__regex_if_in_cs:TF on line ...
+Defining \__regex_if_in_class_or_catcode:TF on line ...
+Defining \__regex_if_within_catcode:TF on line ...
+Defining \__regex_chk_c_allowed:T on line ...
+Defining \__regex_mode_quit_c: on line ...
+Defining \__regex_compile:w on line ...
+Defining \__regex_compile_end: on line ...
+Defining \__regex_compile:n on line ...
+Defining \__regex_compile_special:N on line ...
+Defining \__regex_compile_escaped:N on line ...
+Defining \__regex_compile_one:x on line ...
+Defining \__regex_compile_abort_tokens:n on line ...
+Defining \__regex_compile_abort_tokens:x on line ...
+Defining \__regex_compile_quantifier:w on line ...
+Defining \__regex_compile_quantifier_none: on line ...
+Defining \__regex_compile_quantifier_abort:xNN on line ...
+Defining \__regex_compile_quantifier_lazyness:nnNN on line ...
+Defining \__regex_compile_quantifier_?:w on line ...
+Defining \__regex_compile_quantifier_*:w on line ...
+Defining \__regex_compile_quantifier_+:w on line ...
+Defining \__regex_compile_quantifier_{:w on line ...
+Defining \__regex_compile_quantifier_braced_auxi:w on line ...
+Defining \__regex_compile_quantifier_braced_auxii:w on line ...
+Defining \__regex_compile_quantifier_braced_auxiii:w on line ...
+Defining \__regex_compile_raw_error:N on line ...
+Defining \__regex_compile_raw:N on line ...
+Defining \__regex_if_end_range:NNTF on line ...
+Defining \__regex_compile_range:Nw on line ...
+Defining \__regex_compile_.: on line ...
+Defining \__regex_prop_.: on line ...
+Defining \__regex_compile_/d: on line ...
+Defining \__regex_compile_/D: on line ...
+Defining \__regex_compile_/h: on line ...
+Defining \__regex_compile_/H: on line ...
+Defining \__regex_compile_/s: on line ...
+Defining \__regex_compile_/S: on line ...
+Defining \__regex_compile_/v: on line ...
+Defining \__regex_compile_/V: on line ...
+Defining \__regex_compile_/w: on line ...
+Defining \__regex_compile_/W: on line ...
+Defining \__regex_compile_/N: on line ...
+Defining \__regex_compile_anchor:NF on line ...
+Defining \__regex_compile_/A: on line ...
+Defining \__regex_compile_/G: on line ...
+Defining \__regex_compile_/Z: on line ...
+Defining \__regex_compile_/z: on line ...
+Defining \__regex_compile_^: on line ...
+Defining \__regex_compile_$: on line ...
+Defining \__regex_compile_/b: on line ...
+Defining \__regex_compile_/B: on line ...
+Defining \__regex_compile_]: on line ...
+Defining \__regex_compile_[: on line ...
+Defining \__regex_compile_class_normal:w on line ...
+Defining \__regex_compile_class_catcode:w on line ...
+Defining \__regex_compile_class:TFNN on line ...
+Defining \__regex_compile_class:NN on line ...
+Defining \__regex_compile_class_posix_test:w on line ...
+Defining \__regex_compile_class_posix:NNNNw on line ...
+Defining \__regex_compile_class_posix_loop:w on line ...
+Defining \__regex_compile_class_posix_end:w on line ...
+Defining \__regex_compile_group_begin:N on line ...
+Defining \__regex_compile_group_end: on line ...
+Defining \__regex_compile_(: on line ...
+Defining \__regex_compile_lparen:w on line ...
+Defining \__regex_compile_|: on line ...
+Defining \__regex_compile_): on line ...
+Defining \__regex_compile_special_group_::w on line ...
+Defining \__regex_compile_special_group_|:w on line ...
+Defining \__regex_compile_special_group_i:w on line ...
+Defining \__regex_compile_special_group_-:w on line ...
+Defining \__regex_compile_/c: on line ...
+Defining \__regex_compile_c_test:NN on line ...
+Defining \__regex_compile_c_[:w on line ...
+Defining \__regex_compile_c_lbrack_loop:NN on line ...
+Defining \__regex_compile_c_lbrack_add:N on line ...
+Defining \__regex_compile_c_lbrack_end: on line ...
+Defining \__regex_compile_c_{:w on line ...
+Defining \flag __regex_cs on line ...
+Defining \__regex_compile_}: on line ...
+Defining \__regex_compile_end_cs: on line ...
+Defining \__regex_compile_cs_aux:Nn on line ...
+Defining \__regex_compile_cs_aux:NNnnnN on line ...
+Defining \__regex_compile_/u: on line ...
+Defining \__regex_compile_u_loop:NN on line ...
+Defining \__regex_compile_u_end: on line ...
+Defining \__regex_compile_u_in_cs: on line ...
+Defining \__regex_compile_u_in_cs_aux:n on line ...
+Defining \__regex_compile_u_not_cs: on line ...
+Defining \__regex_compile_/K: on line ...
+Defining \__regex_show:Nn on line ...
+Defining \__regex_show_one:n on line ...
+Defining \__regex_show_push:n on line ...
+Defining \__regex_show_pop: on line ...
+Defining \__regex_show_scope:nn on line ...
+Defining \__regex_show_group_aux:nnnnN on line ...
+Defining \__regex_show_anchor_to_str:N on line ...
+Defining \__regex_show_item_catcode:NnT on line ...
+Defining \__regex_show_item_exact_cs:n on line ...
+Defining \l__regex_min_state_int on line ...
+\l__regex_min_state_int=\count169
+Defining \l__regex_max_state_int on line ...
+\l__regex_max_state_int=\count170
+Defining \l__regex_left_state_int on line ...
+\l__regex_left_state_int=\count171
+Defining \l__regex_right_state_int on line ...
+\l__regex_right_state_int=\count172
+Defining \l__regex_left_state_seq on line ...
+Defining \l__regex_right_state_seq on line ...
+Defining \l__regex_capturing_group_int on line ...
+\l__regex_capturing_group_int=\count173
+Defining \__regex_build:n on line ...
+Defining \__regex_build:N on line ...
+Defining \__regex_build_for_cs:n on line ...
+Defining \__regex_push_lr_states: on line ...
+Defining \__regex_pop_lr_states: on line ...
+Defining \__regex_build_transition_left:NNN on line ...
+Defining \__regex_build_transition_right:nNn on line ...
+Defining \__regex_build_new_state: on line ...
+Defining \__regex_build_transitions_lazyness:NNNNN on line ...
+Defining \__regex_class:NnnnN on line ...
+Defining \__regex_tests_action_cost:n on line ...
+Defining \__regex_class_repeat:n on line ...
+Defining \__regex_class_repeat:nN on line ...
+Defining \__regex_class_repeat:nnN on line ...
+Defining \__regex_group_aux:nnnnN on line ...
+Defining \__regex_group:nnnN on line ...
+Defining \__regex_group_no_capture:nnnN on line ...
+Defining \__regex_group_resetting:nnnN on line ...
+Defining \__regex_group_resetting_loop:nnNn on line ...
+Defining \__regex_branch:n on line ...
+Defining \__regex_group_repeat:nn on line ...
+Defining \__regex_group_submatches:nNN on line ...
+Defining \__regex_group_repeat_aux:n on line ...
+Defining \__regex_group_repeat:nnN on line ...
+Defining \__regex_group_repeat:nnnN on line ...
+Defining \__regex_assertion:Nn on line ...
+Defining \__regex_anchor:N on line ...
+Defining \__regex_b_test: on line ...
+Defining \__regex_command_K: on line ...
+Defining \l__regex_min_pos_int on line ...
+\l__regex_min_pos_int=\count174
+Defining \l__regex_max_pos_int on line ...
+\l__regex_max_pos_int=\count175
+Defining \l__regex_current_pos_int on line ...
+\l__regex_current_pos_int=\count176
+Defining \l__regex_start_pos_int on line ...
+\l__regex_start_pos_int=\count177
+Defining \l__regex_success_pos_int on line ...
+\l__regex_success_pos_int=\count178
+Defining \l__regex_current_char_int on line ...
+\l__regex_current_char_int=\count179
+Defining \l__regex_current_catcode_int on line ...
+\l__regex_current_catcode_int=\count180
+Defining \l__regex_last_char_int on line ...
+\l__regex_last_char_int=\count181
+Defining \l__regex_case_changed_char_int on line ...
+\l__regex_case_changed_char_int=\count182
+Defining \l__regex_current_state_int on line ...
+\l__regex_current_state_int=\count183
+Defining \l__regex_current_submatches_prop on line ...
+Defining \l__regex_success_submatches_prop on line ...
+Defining \l__regex_step_int on line ...
+\l__regex_step_int=\count184
+Defining \l__regex_min_active_int on line ...
+\l__regex_min_active_int=\count185
+Defining \l__regex_max_active_int on line ...
+\l__regex_max_active_int=\count186
+Defining \g__regex_state_active_intarray on line ...
+Defining \g__regex_thread_state_intarray on line ...
+Defining \l__regex_every_match_tl on line ...
+Defining \l__regex_fresh_thread_bool on line ...
+Defining \l__regex_empty_success_bool on line ...
+Defining \__regex_if_two_empty_matches:F on line ...
+Defining \g__regex_success_bool on line ...
+Defining \l__regex_saved_success_bool on line ...
+Defining \l__regex_match_success_bool on line ...
+Defining \__regex_match:n on line ...
+Defining \__regex_match_once: on line ...
+Defining \__regex_single_match: on line ...
+Defining \__regex_multi_match:n on line ...
+Defining \__regex_match_loop: on line ...
+Defining \__regex_match_one_active:n on line ...
+Defining \__regex_query_set:nnn on line ...
+Defining \__regex_query_get: on line ...
+Defining \__regex_use_state: on line ...
+Defining \__regex_use_state_and_submatches:nn on line ...
+Defining \__regex_action_start_wildcard: on line ...
+Defining \__regex_action_free:n on line ...
+Defining \__regex_action_free_group:n on line ...
+Defining \__regex_action_free_aux:nn on line ...
+Defining \__regex_action_cost:n on line ...
+Defining \__regex_store_state:n on line ...
+Defining \__regex_store_submatches: on line ...
+Defining \__regex_disable_submatches: on line ...
+Defining \__regex_action_submatch:n on line ...
+Defining \__regex_action_success: on line ...
+Defining \l__regex_replacement_csnames_int on line ...
+\l__regex_replacement_csnames_int=\count187
+Defining \l__regex_replacement_category_tl on line ...
+Defining \l__regex_replacement_category_seq on line ...
+Defining \l__regex_balance_tl on line ...
+Defining \__regex_replacement_balance_one_match:n on line ...
+Defining \__regex_replacement_do_one_match:n on line ...
+Defining \__regex_replacement_exp_not:N on line ...
+Defining \__regex_query_range:nn on line ...
+Defining \__regex_query_range_loop:ww on line ...
+Defining \__regex_query_submatch:n on line ...
+Defining \__regex_submatch_balance:n on line ...
+Defining \__regex_replacement:n on line ...
+Defining \__regex_replacement_aux:n on line ...
+Defining \__regex_replacement_normal:n on line ...
+Defining \__regex_replacement_escaped:N on line ...
+Defining \__regex_replacement_put_submatch:n on line ...
+Defining \__regex_replacement_g:w on line ...
+Defining \__regex_replacement_g_digits:NN on line ...
+Defining \__regex_replacement_c:w on line ...
+Defining \__regex_replacement_cu_aux:Nw on line ...
+Defining \__regex_replacement_u:w on line ...
+Defining \__regex_replacement_rbrace:N on line ...
+Defining \__regex_replacement_cat:NNN on line ...
+Defining \__regex_replacement_char:nNN on line ...
+Defining \__regex_replacement_c_A:w on line ...
+Defining \__regex_replacement_c_B:w on line ...
+Defining \__regex_replacement_c_C:w on line ...
+Defining \__regex_replacement_c_D:w on line ...
+Defining \__regex_replacement_c_E:w on line ...
+Defining \__regex_replacement_c_L:w on line ...
+Defining \__regex_replacement_c_M:w on line ...
+Defining \__regex_replacement_c_O:w on line ...
+Defining \__regex_replacement_c_P:w on line ...
+Defining \__regex_replacement_c_S:w on line ...
+Defining \__regex_replacement_c_T:w on line ...
+Defining \__regex_replacement_c_U:w on line ...
+Defining \__regex_replacement_error:NNN on line ...
+Defining \regex_new:N on line ...
+Defining \regex_set:Nn on line ...
+Defining \regex_gset:Nn on line ...
+Defining \regex_const:Nn on line ...
+Defining \regex_show:n on line ...
+Defining \regex_show:N on line ...
+Defining \regex_match:nnT on line ...
+Defining \regex_match:nnF on line ...
+Defining \regex_match:nnTF on line ...
+Defining \regex_match:NnT on line ...
+Defining \regex_match:NnF on line ...
+Defining \regex_match:NnTF on line ...
+Defining \regex_count:nnN on line ...
+Defining \regex_count:NnN on line ...
+Defining \regex_extract_once:nnN on line ...
+Defining \regex_extract_once:NnN on line ...
+Defining \regex_extract_once:nnNT on line ...
+Defining \regex_extract_once:nnNF on line ...
+Defining \regex_extract_once:nnNTF on line ...
+Defining \regex_extract_once:NnNT on line ...
+Defining \regex_extract_once:NnNF on line ...
+Defining \regex_extract_once:NnNTF on line ...
+Defining \regex_extract_all:nnN on line ...
+Defining \regex_extract_all:NnN on line ...
+Defining \regex_extract_all:nnNT on line ...
+Defining \regex_extract_all:nnNF on line ...
+Defining \regex_extract_all:nnNTF on line ...
+Defining \regex_extract_all:NnNT on line ...
+Defining \regex_extract_all:NnNF on line ...
+Defining \regex_extract_all:NnNTF on line ...
+Defining \regex_replace_once:nnN on line ...
+Defining \regex_replace_once:NnN on line ...
+Defining \regex_replace_once:nnNT on line ...
+Defining \regex_replace_once:nnNF on line ...
+Defining \regex_replace_once:nnNTF on line ...
+Defining \regex_replace_once:NnNT on line ...
+Defining \regex_replace_once:NnNF on line ...
+Defining \regex_replace_once:NnNTF on line ...
+Defining \regex_replace_all:nnN on line ...
+Defining \regex_replace_all:NnN on line ...
+Defining \regex_replace_all:nnNT on line ...
+Defining \regex_replace_all:nnNF on line ...
+Defining \regex_replace_all:nnNTF on line ...
+Defining \regex_replace_all:NnNT on line ...
+Defining \regex_replace_all:NnNF on line ...
+Defining \regex_replace_all:NnNTF on line ...
+Defining \regex_split:nnN on line ...
+Defining \regex_split:NnN on line ...
+Defining \regex_split:nnNT on line ...
+Defining \regex_split:nnNF on line ...
+Defining \regex_split:nnNTF on line ...
+Defining \regex_split:NnNT on line ...
+Defining \regex_split:NnNF on line ...
+Defining \regex_split:NnNTF on line ...
+Defining \l__regex_match_count_int on line ...
+\l__regex_match_count_int=\count188
+Defining \flag __regex_begin on line ...
+Defining \flag __regex_end on line ...
+Defining \l__regex_min_submatch_int on line ...
+\l__regex_min_submatch_int=\count189
+Defining \l__regex_submatch_int on line ...
+\l__regex_submatch_int=\count190
+Defining \l__regex_zeroth_submatch_int on line ...
+\l__regex_zeroth_submatch_int=\count191
+Defining \g__regex_submatch_prev_intarray on line ...
+Defining \g__regex_submatch_begin_intarray on line ...
+Defining \g__regex_submatch_end_intarray on line ...
+Defining \__regex_return: on line ...
+Defining \__regex_if_match:nn on line ...
+Defining \__regex_count:nnN on line ...
+Defining \__regex_extract_once:nnN on line ...
+Defining \__regex_extract_all:nnN on line ...
+Defining \__regex_split:nnN on line ...
+Defining \__regex_group_end_extract_seq:N on line ...
+Defining \__regex_extract_seq_aux:n on line ...
+Defining \__regex_extract_seq_aux:ww on line ...
+Defining \__regex_extract: on line ...
+Defining \__regex_extract_b:wn on line ...
+Defining \__regex_extract_e:wn on line ...
+Defining \__regex_replace_once:nnN on line ...
+Defining \__regex_replace_all:nnN on line ...
+Defining \__regex_group_end_replace:N on line ...
+Defining message LaTeX/regex/trailing-backslash on line ...
+Defining message LaTeX/regex/x-missing-rbrace on line ...
+Defining message LaTeX/regex/x-overflow on line ...
+Defining message LaTeX/regex/invalid-quantifier on line ...
+Defining message LaTeX/regex/missing-rbrack on line ...
+Defining message LaTeX/regex/missing-rparen on line ...
+Defining message LaTeX/regex/extra-rparen on line ...
+Defining message LaTeX/regex/bad-escape on line ...
+Defining message LaTeX/regex/range-missing-end on line ...
+Defining message LaTeX/regex/range-backwards on line ...
+Defining message LaTeX/regex/c-bad-mode on line ...
+Defining message LaTeX/regex/c-missing-rbrace on line ...
+Defining message LaTeX/regex/c-missing-rbrack on line ...
+Defining message LaTeX/regex/c-missing-category on line ...
+Defining message LaTeX/regex/c-trailing on line ...
+Defining message LaTeX/regex/u-missing-lbrace on line ...
+Defining message LaTeX/regex/u-missing-rbrace on line ...
+Defining message LaTeX/regex/posix-unsupported on line ...
+Defining message LaTeX/regex/posix-unknown on line ...
+Defining message LaTeX/regex/posix-missing-close on line ...
+Defining message LaTeX/regex/result-unbalanced on line ...
+Defining message LaTeX/regex/unknown-option on line ...
+Defining message LaTeX/regex/special-group-unknown on line ...
+Defining message LaTeX/regex/replacement-c on line ...
+Defining message LaTeX/regex/replacement-u on line ...
+Defining message LaTeX/regex/replacement-g on line ...
+Defining message LaTeX/regex/replacement-catcode-end on line ...
+Defining message LaTeX/regex/replacement-catcode-in-cs on line ...
+Defining message LaTeX/regex/replacement-null-space on line ...
+Defining message LaTeX/regex/replacement-missing-rbrace on line ...
+Defining message LaTeX/regex/replacement-missing-rparen on line ...
+Defining \__regex_msg_repeated:nnN on line ...
 Defining \box_new:N on line ...
 Defining \box_new:c on line ...
 Defining \box_clear:N on line ...
@@ -5024,7 +5599,7 @@ Defining \__driver_image_getbb_jpg:n on line ...
 Defining \__driver_image_getbb_png:n on line ...
 Defining \__driver_image_getbb_pdf:n on line ...
 Defining \g__driver_image_int on line ...
-\g__driver_image_int=\count145
+\g__driver_image_int=\count192
 Defining \__driver_image_include_eps:n on line ...
 Defining \__driver_image_include_jpg:n on line ...
 Defining \__driver_image_include_png:n on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index 0a2da35..69af51e 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -1398,6 +1398,16 @@ Defining \g_tmpa_int on line ...
 Defining \g_tmpb_int on line ...
 \g_tmpb_int=\count116
 Defining \c_minus_one on line ...
+Defining \g__intarray_font_int on line ...
+\g__intarray_font_int=\count117
+Defining \__intarray_new:Nn on line ...
+Defining \__intarray_count:N on line ...
+Defining \__intarray_gset_fast:Nnn on line ...
+Defining \__intarray_gset:Nnn on line ...
+Defining \__intarray_gset_aux:Nnn on line ...
+Defining \__intarray_item_fast:Nn on line ...
+Defining \__intarray_item:Nn on line ...
+Defining \__intarray_item_aux:Nn on line ...
 Defining \flag_new:n on line ...
 Defining \flag_clear:n on line ...
 Defining \__flag_clear:wn on line ...
@@ -1620,7 +1630,7 @@ Defining \mode_if_math:TF on line ...
 Defining \group_align_safe_begin: on line ...
 Defining \group_align_safe_end: on line ...
 Defining \g__prg_map_int on line ...
-\g__prg_map_int=\count117
+\g__prg_map_int=\count118
 Defining \c_empty_clist on line ...
 Defining \l__clist_internal_clist on line ...
 Defining \__clist_tmp:w on line ...
@@ -2773,6 +2783,8 @@ Defining message LaTeX/kernel/empty-search-pattern on line ...
 Defining message LaTeX/kernel/out-of-registers on line ...
 Defining message LaTeX/kernel/non-base-function on line ...
 Defining message LaTeX/kernel/missing-colon on line ...
+Defining message LaTeX/kernel/overflow on line ...
+Defining message LaTeX/kernel/out-of-bounds on line ...
 Defining message LaTeX/kernel/protected-predicate on line ...
 Defining message LaTeX/kernel/conditional-form-unknown on line ...
 Defining message LaTeX/check/non-declared-variable on line ...
@@ -2871,7 +2883,7 @@ Defining \ior_get:NN on line ...
 Defining \ior_str_get:NN on line ...
 Defining \g__file_internal_ior on line ...
 Defining \c_log_iow on line ...
-\c_log_iow=\count118
+\c_log_iow=\count119
 Defining \c_term_iow on line ...
 Defining \g__iow_streams_seq on line ...
 Defining \l__iow_stream_tl on line ...
@@ -2908,18 +2920,18 @@ Defining \iow_newline: on line ...
 Defining \iow_char:N on line ...
 Defining \c_catcode_other_space_tl on line ...
 Defining \l_iow_line_count_int on line ...
-\l_iow_line_count_int=\count119
+\l_iow_line_count_int=\count120
 Defining \l__iow_newline_tl on line ...
 Defining \l__iow_line_target_int on line ...
-\l__iow_line_target_int=\count120
+\l__iow_line_target_int=\count121
 Defining \l__iow_one_indent_tl on line ...
 Defining \l__iow_one_indent_int on line ...
-\l__iow_one_indent_int=\count121
+\l__iow_one_indent_int=\count122
 Defining \__iow_unindent:w on line ...
 Defining \__iow_set_indent:n on line ...
 Defining \l__iow_indent_tl on line ...
 Defining \l__iow_indent_int on line ...
-\l__iow_indent_int=\count122
+\l__iow_indent_int=\count123
 Defining \l__iow_line_tl on line ...
 Defining \l__iow_line_part_tl on line ...
 Defining \l__iow_line_break_bool on line ...
@@ -3235,7 +3247,7 @@ Defining \c__keys_type_root_tl on line ...
 Defining \c__keys_validate_root_tl on line ...
 Defining \c__keys_props_root_tl on line ...
 Defining \l_keys_choice_int on line ...
-\l_keys_choice_int=\count123
+\l_keys_choice_int=\count124
 Defining \l_keys_choice_tl on line ...
 Defining \l__keys_groups_clist on line ...
 Defining \l_keys_key_tl on line ...
@@ -3472,25 +3484,25 @@ Defining \__fp_exp_after_normal:Nwwwww on line ...
 Defining \__fp_exp_after_array_f:w on line ...
 Defining \__fp_exp_after_stop_f:nw on line ...
 Defining \c__fp_leading_shift_int on line ...
-\c__fp_leading_shift_int=\count124
+\c__fp_leading_shift_int=\count125
 Defining \c__fp_middle_shift_int on line ...
-\c__fp_middle_shift_int=\count125
+\c__fp_middle_shift_int=\count126
 Defining \c__fp_trailing_shift_int on line ...
-\c__fp_trailing_shift_int=\count126
+\c__fp_trailing_shift_int=\count127
 Defining \__fp_pack:NNNNNw on line ...
 Defining \c__fp_big_leading_shift_int on line ...
-\c__fp_big_leading_shift_int=\count127
+\c__fp_big_leading_shift_int=\count128
 Defining \c__fp_big_middle_shift_int on line ...
-\c__fp_big_middle_shift_int=\count128
+\c__fp_big_middle_shift_int=\count129
 Defining \c__fp_big_trailing_shift_int on line ...
-\c__fp_big_trailing_shift_int=\count129
+\c__fp_big_trailing_shift_int=\count130
 Defining \__fp_pack_big:NNNNNNw on line ...
 Defining \c__fp_Bigg_leading_shift_int on line ...
-\c__fp_Bigg_leading_shift_int=\count130
+\c__fp_Bigg_leading_shift_int=\count131
 Defining \c__fp_Bigg_middle_shift_int on line ...
-\c__fp_Bigg_middle_shift_int=\count131
+\c__fp_Bigg_middle_shift_int=\count132
 Defining \c__fp_Bigg_trailing_shift_int on line ...
-\c__fp_Bigg_trailing_shift_int=\count132
+\c__fp_Bigg_trailing_shift_int=\count133
 Defining \__fp_pack_Bigg:NNNNNNw on line ...
 Defining \__fp_pack_twice_four:wNNNNNNNN on line ...
 Defining \__fp_pack_eight:wNNNNNNNN on line ...
@@ -4192,11 +4204,11 @@ Defining \__fp_parse_word_rand:N on line ...
 Defining \__fp_parse_word_randint:N on line ...
 Defining \__fp_rand_uniform: on line ...
 Defining \c__fp_rand_size_int on line ...
-\c__fp_rand_size_int=\count133
+\c__fp_rand_size_int=\count134
 Defining \c__fp_rand_four_int on line ...
-\c__fp_rand_four_int=\count134
+\c__fp_rand_four_int=\count135
 Defining \c__fp_rand_eight_int on line ...
-\c__fp_rand_eight_int=\count135
+\c__fp_rand_eight_int=\count136
 Defining \__fp_rand_myriads:n on line ...
 Defining \__fp_rand_myriads_loop:nn on line ...
 Defining \__fp_rand_myriads_get:w on line ...
@@ -4261,27 +4273,27 @@ Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
 Defining \l__sort_length_int on line ...
-\l__sort_length_int=\count136
+\l__sort_length_int=\count137
 Defining \l__sort_min_int on line ...
-\l__sort_min_int=\count137
+\l__sort_min_int=\count138
 Defining \l__sort_top_int on line ...
-\l__sort_top_int=\count138
+\l__sort_top_int=\count139
 Defining \l__sort_max_int on line ...
-\l__sort_max_int=\count139
+\l__sort_max_int=\count140
 Defining \l__sort_true_max_int on line ...
-\l__sort_true_max_int=\count140
+\l__sort_true_max_int=\count141
 Defining \l__sort_block_int on line ...
-\l__sort_block_int=\count141
+\l__sort_block_int=\count142
 Defining \l__sort_begin_int on line ...
-\l__sort_begin_int=\count142
+\l__sort_begin_int=\count143
 Defining \l__sort_end_int on line ...
-\l__sort_end_int=\count143
+\l__sort_end_int=\count144
 Defining \l__sort_A_int on line ...
-\l__sort_A_int=\count144
+\l__sort_A_int=\count145
 Defining \l__sort_B_int on line ...
-\l__sort_B_int=\count145
+\l__sort_B_int=\count146
 Defining \l__sort_C_int on line ...
-\l__sort_C_int=\count146
+\l__sort_C_int=\count147
 Defining \__sort_shrink_range: on line ...
 Defining \__sort_shrink_range_loop: on line ...
 Defining \__sort_compute_range: on line ...
@@ -4338,6 +4350,569 @@ Defining message LaTeX/sort/return-none on line ...
 Defining message LaTeX/sort/return-two on line ...
 Defining \sort_ordered: on line ...
 Defining \sort_reversed: on line ...
+Defining \l__tl_build_start_index_int on line ...
+\l__tl_build_start_index_int=\count148
+Defining \l__tl_build_index_int on line ...
+\l__tl_build_index_int=\count149
+Defining \l__tl_build_result_tl on line ...
+Defining \__tl_build_unpack: on line ...
+Defining \__tl_build_unpack_loop:w on line ...
+Defining \__tl_build:Nw on line ...
+Defining \__tl_build_x:Nw on line ...
+Defining \__tl_gbuild:Nw on line ...
+Defining \__tl_gbuild_x:Nw on line ...
+Defining \__tl_build_aux:NNw on line ...
+Defining \__tl_build_end: on line ...
+Defining \__tl_build_end_assignment:n on line ...
+Defining \__tl_build_one:n on line ...
+Defining \__tl_build_one:o on line ...
+Defining \__tl_build_one:x on line ...
+Defining \s__tl on line ...
+Defining \l__tl_analysis_internal_tl on line ...
+Defining \l__tl_analysis_token on line ...
+Defining \l__tl_analysis_char_token on line ...
+Defining \l__tl_analysis_normal_int on line ...
+\l__tl_analysis_normal_int=\count150
+Defining \l__tl_analysis_index_int on line ...
+\l__tl_analysis_index_int=\count151
+Defining \l__tl_analysis_nesting_int on line ...
+\l__tl_analysis_nesting_int=\count152
+Defining \l__tl_analysis_type_int on line ...
+\l__tl_analysis_type_int=\count153
+Defining \g__tl_analysis_result_tl on line ...
+Defining \__tl_analysis_extract_charcode: on line ...
+Defining \__tl_analysis_extract_charcode_aux:w on line ...
+Defining \__tl_analysis_cs_space_count:NN on line ...
+Defining \__tl_analysis_cs_space_count:w on line ...
+Defining \__tl_analysis_cs_space_count_end:w on line ...
+Defining \__tl_analysis:n on line ...
+Defining \__tl_analysis_setup:n on line ...
+Defining \__tl_analysis_disable_loop:N on line ...
+Defining \__tl_analysis_a:n on line ...
+Defining \__tl_analysis_a_loop:w on line ...
+Defining \__tl_analysis_a_type:w on line ...
+Defining \__tl_analysis_a_space:w on line ...
+Defining \__tl_analysis_a_space_test:w on line ...
+Defining \__tl_analysis_a_bgroup:w on line ...
+Defining \__tl_analysis_a_egroup:w on line ...
+Defining \__tl_analysis_a_group:nw on line ...
+Defining \__tl_analysis_a_group_test:w on line ...
+Defining \__tl_analysis_a_store: on line ...
+Defining \__tl_analysis_a_safe:N on line ...
+Defining \__tl_analysis_a_cs:ww on line ...
+Defining \__tl_analysis_b:n on line ...
+Defining \__tl_analysis_b_loop:w on line ...
+Defining \__tl_analysis_b_normals:ww on line ...
+Defining \__tl_analysis_b_normal:wwN on line ...
+Defining \__tl_analysis_b_char:Nww on line ...
+Defining \__tl_analysis_b_cs:Nww on line ...
+Defining \__tl_analysis_b_cs_test:ww on line ...
+Defining \__tl_analysis_b_special:w on line ...
+Defining \__tl_analysis_b_special_char:wN on line ...
+Defining \__tl_analysis_b_special_space:w on line ...
+Defining \__tl_analysis_map_inline:nn on line ...
+Defining \__tl_analysis_map_inline_aux:Nn on line ...
+Defining \tl_show_analysis:N on line ...
+Defining \tl_show_analysis:n on line ...
+Defining \__tl_analysis_show: on line ...
+Defining \__tl_analysis_show_loop:wNw on line ...
+Defining \__tl_analysis_show_normal:n on line ...
+Defining \__tl_analysis_show_value:N on line ...
+Defining \__tl_analysis_show_cs:n on line ...
+Defining \__tl_analysis_show_active:n on line ...
+Defining \__tl_analysis_show_long:nn on line ...
+Defining \__tl_analysis_show_long_aux:nnnn on line ...
+Defining \exp_args:Noof on line ...
+Defining \__tl_analysis_show_long_aux:oofn on line ...
+Defining \c__tl_analysis_show_etc_str on line ...
+Defining message LaTeX/kernel/show-tl-analysis on line ...
+Defining \tl_to_str:V on line ...
+Defining \__regex_standard_escapechar: on line ...
+Defining \__regex_toks_use:w on line ...
+Defining \__regex_toks_clear:N on line ...
+Defining \__regex_toks_set:Nn on line ...
+Defining \__regex_toks_set:No on line ...
+Defining \__regex_toks_memcpy:NNn on line ...
+Defining \__regex_toks_put_left:Nx on line ...
+Defining \__regex_toks_put_right:Nx on line ...
+Defining \__regex_toks_put_right:Nn on line ...
+Defining \__regex_current_cs_to_str: on line ...
+Defining \__regex_tmp:w on line ...
+Defining \l__regex_internal_a_tl on line ...
+Defining \l__regex_internal_b_tl on line ...
+Defining \l__regex_internal_a_int on line ...
+\l__regex_internal_a_int=\count154
+Defining \l__regex_internal_b_int on line ...
+\l__regex_internal_b_int=\count155
+Defining \l__regex_internal_c_int on line ...
+\l__regex_internal_c_int=\count156
+Defining \l__regex_internal_bool on line ...
+Defining \l__regex_internal_seq on line ...
+Defining \g__regex_internal_tl on line ...
+Defining \c__regex_no_match_regex on line ...
+Defining \g__regex_charcode_intarray on line ...
+Defining \g__regex_catcode_intarray on line ...
+Defining \g__regex_balance_intarray on line ...
+Defining \l__regex_balance_int on line ...
+\l__regex_balance_int=\count157
+Defining \l__regex_cs_name_tl on line ...
+Defining \c__regex_ascii_min_int on line ...
+Defining \c__regex_ascii_max_control_int on line ...
+Defining \c__regex_ascii_max_int on line ...
+Defining \c__regex_ascii_lower_int on line ...
+Defining \__regex_break_true:w on line ...
+Defining \__regex_break_point:TF on line ...
+Defining \__regex_item_reverse:n on line ...
+Defining \__regex_item_caseful_equal:n on line ...
+Defining \__regex_item_caseful_range:nn on line ...
+Defining \__regex_item_caseless_equal:n on line ...
+Defining \__regex_item_caseless_range:nn on line ...
+Defining \__regex_compute_case_changed_char: on line ...
+Defining \__regex_item_equal:n on line ...
+Defining \__regex_item_range:nn on line ...
+Defining \__regex_item_catcode: on line ...
+Defining \__regex_item_catcode:nT on line ...
+Defining \__regex_item_catcode_reverse:nT on line ...
+Defining \__regex_item_exact:nn on line ...
+Defining \__regex_item_exact_cs:n on line ...
+Defining \__regex_item_cs:n on line ...
+Defining \__regex_prop_d: on line ...
+Defining \__regex_prop_h: on line ...
+Defining \__regex_prop_s: on line ...
+Defining \__regex_prop_v: on line ...
+Defining \__regex_prop_w: on line ...
+Defining \__regex_prop_N: on line ...
+Defining \__regex_posix_alnum: on line ...
+Defining \__regex_posix_alpha: on line ...
+Defining \__regex_posix_ascii: on line ...
+Defining \__regex_posix_blank: on line ...
+Defining \__regex_posix_cntrl: on line ...
+Defining \__regex_posix_digit: on line ...
+Defining \__regex_posix_graph: on line ...
+Defining \__regex_posix_lower: on line ...
+Defining \__regex_posix_print: on line ...
+Defining \__regex_posix_punct: on line ...
+Defining \__regex_posix_space: on line ...
+Defining \__regex_posix_upper: on line ...
+Defining \__regex_posix_word: on line ...
+Defining \__regex_posix_xdigit: on line ...
+Defining \__regex_escape_use:nnnn on line ...
+Defining \__regex_escape_loop:N on line ...
+Defining \__regex_escape_\:w on line ...
+Defining \__regex_escape_unescaped:N on line ...
+Defining \__regex_escape_escaped:N on line ...
+Defining \__regex_escape_raw:N on line ...
+Defining \__regex_escape_break:w on line ...
+Defining \__regex_escape_/break:w on line ...
+Defining \__regex_escape_ :w on line ...
+Defining \__regex_escape_/a:w on line ...
+Defining \__regex_escape_/t:w on line ...
+Defining \__regex_escape_/n:w on line ...
+Defining \__regex_escape_/f:w on line ...
+Defining \__regex_escape_/r:w on line ...
+Defining \__regex_escape_/e:w on line ...
+Defining \__regex_escape_/x:w on line ...
+Defining \__regex_escape_x_end:w on line ...
+Defining \__regex_escape_x_test:N on line ...
+Defining \__regex_escape_x_testii:N on line ...
+Defining \__regex_escape_x:N on line ...
+Defining \__regex_escape_x_loop:N on line ...
+Defining \__regex_escape_x_loop_error:n on line ...
+Defining \__regex_hexadecimal_use:NTF on line ...
+Defining \__regex_char_if_special:NTF on line ...
+Defining \__regex_char_if_alphanumeric:NTF on line ...
+Defining \l__regex_group_level_int on line ...
+\l__regex_group_level_int=\count158
+Defining \l__regex_mode_int on line ...
+\l__regex_mode_int=\count159
+Defining \c__regex_cs_in_class_mode_int on line ...
+\c__regex_cs_in_class_mode_int=\count160
+Defining \c__regex_cs_mode_int on line ...
+\c__regex_cs_mode_int=\count161
+Defining \c__regex_outer_mode_int on line ...
+Defining \c__regex_catcode_mode_int on line ...
+Defining \c__regex_class_mode_int on line ...
+Defining \c__regex_catcode_in_class_mode_int on line ...
+Defining \l__regex_catcodes_int on line ...
+\l__regex_catcodes_int=\count162
+Defining \l__regex_default_catcodes_int on line ...
+\l__regex_default_catcodes_int=\count163
+Defining \l__regex_catcodes_bool on line ...
+Defining \c__regex_catcode_C_int on line ...
+Defining \c__regex_catcode_B_int on line ...
+Defining \c__regex_catcode_E_int on line ...
+Defining \c__regex_catcode_M_int on line ...
+Defining \c__regex_catcode_T_int on line ...
+Defining \c__regex_catcode_P_int on line ...
+Defining \c__regex_catcode_U_int on line ...
+Defining \c__regex_catcode_D_int on line ...
+\c__regex_catcode_D_int=\count164
+Defining \c__regex_catcode_S_int on line ...
+\c__regex_catcode_S_int=\count165
+Defining \c__regex_catcode_L_int on line ...
+\c__regex_catcode_L_int=\count166
+Defining \c__regex_catcode_O_int on line ...
+\c__regex_catcode_O_int=\count167
+Defining \c__regex_catcode_A_int on line ...
+\c__regex_catcode_A_int=\count168
+Defining \c__regex_all_catcodes_int on line ...
+\c__regex_all_catcodes_int=\count169
+Defining \l__regex_internal_regex on line ...
+Defining \l__regex_show_prefix_seq on line ...
+Defining \l__regex_show_lines_int on line ...
+\l__regex_show_lines_int=\count170
+Defining \__regex_get_digits:NTFw on line ...
+Defining \__regex_get_digits_loop:nw on line ...
+Defining \__regex_if_raw_digit:NNTF on line ...
+Defining \__regex_if_in_class:TF on line ...
+Defining \__regex_if_in_cs:TF on line ...
+Defining \__regex_if_in_class_or_catcode:TF on line ...
+Defining \__regex_if_within_catcode:TF on line ...
+Defining \__regex_chk_c_allowed:T on line ...
+Defining \__regex_mode_quit_c: on line ...
+Defining \__regex_compile:w on line ...
+Defining \__regex_compile_end: on line ...
+Defining \__regex_compile:n on line ...
+Defining \__regex_compile_special:N on line ...
+Defining \__regex_compile_escaped:N on line ...
+Defining \__regex_compile_one:x on line ...
+Defining \__regex_compile_abort_tokens:n on line ...
+Defining \__regex_compile_abort_tokens:x on line ...
+Defining \__regex_compile_quantifier:w on line ...
+Defining \__regex_compile_quantifier_none: on line ...
+Defining \__regex_compile_quantifier_abort:xNN on line ...
+Defining \__regex_compile_quantifier_lazyness:nnNN on line ...
+Defining \__regex_compile_quantifier_?:w on line ...
+Defining \__regex_compile_quantifier_*:w on line ...
+Defining \__regex_compile_quantifier_+:w on line ...
+Defining \__regex_compile_quantifier_{:w on line ...
+Defining \__regex_compile_quantifier_braced_auxi:w on line ...
+Defining \__regex_compile_quantifier_braced_auxii:w on line ...
+Defining \__regex_compile_quantifier_braced_auxiii:w on line ...
+Defining \__regex_compile_raw_error:N on line ...
+Defining \__regex_compile_raw:N on line ...
+Defining \__regex_if_end_range:NNTF on line ...
+Defining \__regex_compile_range:Nw on line ...
+Defining \__regex_compile_.: on line ...
+Defining \__regex_prop_.: on line ...
+Defining \__regex_compile_/d: on line ...
+Defining \__regex_compile_/D: on line ...
+Defining \__regex_compile_/h: on line ...
+Defining \__regex_compile_/H: on line ...
+Defining \__regex_compile_/s: on line ...
+Defining \__regex_compile_/S: on line ...
+Defining \__regex_compile_/v: on line ...
+Defining \__regex_compile_/V: on line ...
+Defining \__regex_compile_/w: on line ...
+Defining \__regex_compile_/W: on line ...
+Defining \__regex_compile_/N: on line ...
+Defining \__regex_compile_anchor:NF on line ...
+Defining \__regex_compile_/A: on line ...
+Defining \__regex_compile_/G: on line ...
+Defining \__regex_compile_/Z: on line ...
+Defining \__regex_compile_/z: on line ...
+Defining \__regex_compile_^: on line ...
+Defining \__regex_compile_$: on line ...
+Defining \__regex_compile_/b: on line ...
+Defining \__regex_compile_/B: on line ...
+Defining \__regex_compile_]: on line ...
+Defining \__regex_compile_[: on line ...
+Defining \__regex_compile_class_normal:w on line ...
+Defining \__regex_compile_class_catcode:w on line ...
+Defining \__regex_compile_class:TFNN on line ...
+Defining \__regex_compile_class:NN on line ...
+Defining \__regex_compile_class_posix_test:w on line ...
+Defining \__regex_compile_class_posix:NNNNw on line ...
+Defining \__regex_compile_class_posix_loop:w on line ...
+Defining \__regex_compile_class_posix_end:w on line ...
+Defining \__regex_compile_group_begin:N on line ...
+Defining \__regex_compile_group_end: on line ...
+Defining \__regex_compile_(: on line ...
+Defining \__regex_compile_lparen:w on line ...
+Defining \__regex_compile_|: on line ...
+Defining \__regex_compile_): on line ...
+Defining \__regex_compile_special_group_::w on line ...
+Defining \__regex_compile_special_group_|:w on line ...
+Defining \__regex_compile_special_group_i:w on line ...
+Defining \__regex_compile_special_group_-:w on line ...
+Defining \__regex_compile_/c: on line ...
+Defining \__regex_compile_c_test:NN on line ...
+Defining \__regex_compile_c_[:w on line ...
+Defining \__regex_compile_c_lbrack_loop:NN on line ...
+Defining \__regex_compile_c_lbrack_add:N on line ...
+Defining \__regex_compile_c_lbrack_end: on line ...
+Defining \__regex_compile_c_{:w on line ...
+Defining \flag __regex_cs on line ...
+Defining \__regex_compile_}: on line ...
+Defining \__regex_compile_end_cs: on line ...
+Defining \__regex_compile_cs_aux:Nn on line ...
+Defining \__regex_compile_cs_aux:NNnnnN on line ...
+Defining \__regex_compile_/u: on line ...
+Defining \__regex_compile_u_loop:NN on line ...
+Defining \__regex_compile_u_end: on line ...
+Defining \__regex_compile_u_in_cs: on line ...
+Defining \__regex_compile_u_in_cs_aux:n on line ...
+Defining \__regex_compile_u_not_cs: on line ...
+Defining \__regex_compile_/K: on line ...
+Defining \__regex_show:Nn on line ...
+Defining \__regex_show_one:n on line ...
+Defining \__regex_show_push:n on line ...
+Defining \__regex_show_pop: on line ...
+Defining \__regex_show_scope:nn on line ...
+Defining \__regex_show_group_aux:nnnnN on line ...
+Defining \__regex_show_anchor_to_str:N on line ...
+Defining \__regex_show_item_catcode:NnT on line ...
+Defining \__regex_show_item_exact_cs:n on line ...
+Defining \l__regex_min_state_int on line ...
+\l__regex_min_state_int=\count171
+Defining \l__regex_max_state_int on line ...
+\l__regex_max_state_int=\count172
+Defining \l__regex_left_state_int on line ...
+\l__regex_left_state_int=\count173
+Defining \l__regex_right_state_int on line ...
+\l__regex_right_state_int=\count174
+Defining \l__regex_left_state_seq on line ...
+Defining \l__regex_right_state_seq on line ...
+Defining \l__regex_capturing_group_int on line ...
+\l__regex_capturing_group_int=\count175
+Defining \__regex_build:n on line ...
+Defining \__regex_build:N on line ...
+Defining \__regex_build_for_cs:n on line ...
+Defining \__regex_push_lr_states: on line ...
+Defining \__regex_pop_lr_states: on line ...
+Defining \__regex_build_transition_left:NNN on line ...
+Defining \__regex_build_transition_right:nNn on line ...
+Defining \__regex_build_new_state: on line ...
+Defining \__regex_build_transitions_lazyness:NNNNN on line ...
+Defining \__regex_class:NnnnN on line ...
+Defining \__regex_tests_action_cost:n on line ...
+Defining \__regex_class_repeat:n on line ...
+Defining \__regex_class_repeat:nN on line ...
+Defining \__regex_class_repeat:nnN on line ...
+Defining \__regex_group_aux:nnnnN on line ...
+Defining \__regex_group:nnnN on line ...
+Defining \__regex_group_no_capture:nnnN on line ...
+Defining \__regex_group_resetting:nnnN on line ...
+Defining \__regex_group_resetting_loop:nnNn on line ...
+Defining \__regex_branch:n on line ...
+Defining \__regex_group_repeat:nn on line ...
+Defining \__regex_group_submatches:nNN on line ...
+Defining \__regex_group_repeat_aux:n on line ...
+Defining \__regex_group_repeat:nnN on line ...
+Defining \__regex_group_repeat:nnnN on line ...
+Defining \__regex_assertion:Nn on line ...
+Defining \__regex_anchor:N on line ...
+Defining \__regex_b_test: on line ...
+Defining \__regex_command_K: on line ...
+Defining \l__regex_min_pos_int on line ...
+\l__regex_min_pos_int=\count176
+Defining \l__regex_max_pos_int on line ...
+\l__regex_max_pos_int=\count177
+Defining \l__regex_current_pos_int on line ...
+\l__regex_current_pos_int=\count178
+Defining \l__regex_start_pos_int on line ...
+\l__regex_start_pos_int=\count179
+Defining \l__regex_success_pos_int on line ...
+\l__regex_success_pos_int=\count180
+Defining \l__regex_current_char_int on line ...
+\l__regex_current_char_int=\count181
+Defining \l__regex_current_catcode_int on line ...
+\l__regex_current_catcode_int=\count182
+Defining \l__regex_last_char_int on line ...
+\l__regex_last_char_int=\count183
+Defining \l__regex_case_changed_char_int on line ...
+\l__regex_case_changed_char_int=\count184
+Defining \l__regex_current_state_int on line ...
+\l__regex_current_state_int=\count185
+Defining \l__regex_current_submatches_prop on line ...
+Defining \l__regex_success_submatches_prop on line ...
+Defining \l__regex_step_int on line ...
+\l__regex_step_int=\count186
+Defining \l__regex_min_active_int on line ...
+\l__regex_min_active_int=\count187
+Defining \l__regex_max_active_int on line ...
+\l__regex_max_active_int=\count188
+Defining \g__regex_state_active_intarray on line ...
+Defining \g__regex_thread_state_intarray on line ...
+Defining \l__regex_every_match_tl on line ...
+Defining \l__regex_fresh_thread_bool on line ...
+Defining \l__regex_empty_success_bool on line ...
+Defining \__regex_if_two_empty_matches:F on line ...
+Defining \g__regex_success_bool on line ...
+Defining \l__regex_saved_success_bool on line ...
+Defining \l__regex_match_success_bool on line ...
+Defining \__regex_match:n on line ...
+Defining \__regex_match_once: on line ...
+Defining \__regex_single_match: on line ...
+Defining \__regex_multi_match:n on line ...
+Defining \__regex_match_loop: on line ...
+Defining \__regex_match_one_active:n on line ...
+Defining \__regex_query_set:nnn on line ...
+Defining \__regex_query_get: on line ...
+Defining \__regex_use_state: on line ...
+Defining \__regex_use_state_and_submatches:nn on line ...
+Defining \__regex_action_start_wildcard: on line ...
+Defining \__regex_action_free:n on line ...
+Defining \__regex_action_free_group:n on line ...
+Defining \__regex_action_free_aux:nn on line ...
+Defining \__regex_action_cost:n on line ...
+Defining \__regex_store_state:n on line ...
+Defining \__regex_store_submatches: on line ...
+Defining \__regex_disable_submatches: on line ...
+Defining \__regex_action_submatch:n on line ...
+Defining \__regex_action_success: on line ...
+Defining \l__regex_replacement_csnames_int on line ...
+\l__regex_replacement_csnames_int=\count189
+Defining \l__regex_replacement_category_tl on line ...
+Defining \l__regex_replacement_category_seq on line ...
+Defining \l__regex_balance_tl on line ...
+Defining \__regex_replacement_balance_one_match:n on line ...
+Defining \__regex_replacement_do_one_match:n on line ...
+Defining \__regex_replacement_exp_not:N on line ...
+Defining \__regex_query_range:nn on line ...
+Defining \__regex_query_range_loop:ww on line ...
+Defining \__regex_query_submatch:n on line ...
+Defining \__regex_submatch_balance:n on line ...
+Defining \__regex_replacement:n on line ...
+Defining \__regex_replacement_aux:n on line ...
+Defining \__regex_replacement_normal:n on line ...
+Defining \__regex_replacement_escaped:N on line ...
+Defining \__regex_replacement_put_submatch:n on line ...
+Defining \__regex_replacement_g:w on line ...
+Defining \__regex_replacement_g_digits:NN on line ...
+Defining \__regex_replacement_c:w on line ...
+Defining \__regex_replacement_cu_aux:Nw on line ...
+Defining \__regex_replacement_u:w on line ...
+Defining \__regex_replacement_rbrace:N on line ...
+Defining \__regex_replacement_cat:NNN on line ...
+Defining \__regex_replacement_char:nNN on line ...
+Defining \__regex_replacement_c_A:w on line ...
+Defining \__regex_replacement_c_B:w on line ...
+Defining \__regex_replacement_c_C:w on line ...
+Defining \__regex_replacement_c_D:w on line ...
+Defining \__regex_replacement_c_E:w on line ...
+Defining \__regex_replacement_c_L:w on line ...
+Defining \__regex_replacement_c_M:w on line ...
+Defining \__regex_replacement_c_O:w on line ...
+Defining \__regex_replacement_c_P:w on line ...
+Defining \__regex_replacement_c_S:w on line ...
+Defining \__regex_replacement_c_T:w on line ...
+Defining \__regex_replacement_c_U:w on line ...
+Defining \__regex_replacement_error:NNN on line ...
+Defining \regex_new:N on line ...
+Defining \regex_set:Nn on line ...
+Defining \regex_gset:Nn on line ...
+Defining \regex_const:Nn on line ...
+Defining \regex_show:n on line ...
+Defining \regex_show:N on line ...
+Defining \regex_match:nnT on line ...
+Defining \regex_match:nnF on line ...
+Defining \regex_match:nnTF on line ...
+Defining \regex_match:NnT on line ...
+Defining \regex_match:NnF on line ...
+Defining \regex_match:NnTF on line ...
+Defining \regex_count:nnN on line ...
+Defining \regex_count:NnN on line ...
+Defining \regex_extract_once:nnN on line ...
+Defining \regex_extract_once:NnN on line ...
+Defining \regex_extract_once:nnNT on line ...
+Defining \regex_extract_once:nnNF on line ...
+Defining \regex_extract_once:nnNTF on line ...
+Defining \regex_extract_once:NnNT on line ...
+Defining \regex_extract_once:NnNF on line ...
+Defining \regex_extract_once:NnNTF on line ...
+Defining \regex_extract_all:nnN on line ...
+Defining \regex_extract_all:NnN on line ...
+Defining \regex_extract_all:nnNT on line ...
+Defining \regex_extract_all:nnNF on line ...
+Defining \regex_extract_all:nnNTF on line ...
+Defining \regex_extract_all:NnNT on line ...
+Defining \regex_extract_all:NnNF on line ...
+Defining \regex_extract_all:NnNTF on line ...
+Defining \regex_replace_once:nnN on line ...
+Defining \regex_replace_once:NnN on line ...
+Defining \regex_replace_once:nnNT on line ...
+Defining \regex_replace_once:nnNF on line ...
+Defining \regex_replace_once:nnNTF on line ...
+Defining \regex_replace_once:NnNT on line ...
+Defining \regex_replace_once:NnNF on line ...
+Defining \regex_replace_once:NnNTF on line ...
+Defining \regex_replace_all:nnN on line ...
+Defining \regex_replace_all:NnN on line ...
+Defining \regex_replace_all:nnNT on line ...
+Defining \regex_replace_all:nnNF on line ...
+Defining \regex_replace_all:nnNTF on line ...
+Defining \regex_replace_all:NnNT on line ...
+Defining \regex_replace_all:NnNF on line ...
+Defining \regex_replace_all:NnNTF on line ...
+Defining \regex_split:nnN on line ...
+Defining \regex_split:NnN on line ...
+Defining \regex_split:nnNT on line ...
+Defining \regex_split:nnNF on line ...
+Defining \regex_split:nnNTF on line ...
+Defining \regex_split:NnNT on line ...
+Defining \regex_split:NnNF on line ...
+Defining \regex_split:NnNTF on line ...
+Defining \l__regex_match_count_int on line ...
+\l__regex_match_count_int=\count190
+Defining \flag __regex_begin on line ...
+Defining \flag __regex_end on line ...
+Defining \l__regex_min_submatch_int on line ...
+\l__regex_min_submatch_int=\count191
+Defining \l__regex_submatch_int on line ...
+\l__regex_submatch_int=\count192
+Defining \l__regex_zeroth_submatch_int on line ...
+\l__regex_zeroth_submatch_int=\count193
+Defining \g__regex_submatch_prev_intarray on line ...
+Defining \g__regex_submatch_begin_intarray on line ...
+Defining \g__regex_submatch_end_intarray on line ...
+Defining \__regex_return: on line ...
+Defining \__regex_if_match:nn on line ...
+Defining \__regex_count:nnN on line ...
+Defining \__regex_extract_once:nnN on line ...
+Defining \__regex_extract_all:nnN on line ...
+Defining \__regex_split:nnN on line ...
+Defining \__regex_group_end_extract_seq:N on line ...
+Defining \__regex_extract_seq_aux:n on line ...
+Defining \__regex_extract_seq_aux:ww on line ...
+Defining \__regex_extract: on line ...
+Defining \__regex_extract_b:wn on line ...
+Defining \__regex_extract_e:wn on line ...
+Defining \__regex_replace_once:nnN on line ...
+Defining \__regex_replace_all:nnN on line ...
+Defining \__regex_group_end_replace:N on line ...
+Defining message LaTeX/regex/trailing-backslash on line ...
+Defining message LaTeX/regex/x-missing-rbrace on line ...
+Defining message LaTeX/regex/x-overflow on line ...
+Defining message LaTeX/regex/invalid-quantifier on line ...
+Defining message LaTeX/regex/missing-rbrack on line ...
+Defining message LaTeX/regex/missing-rparen on line ...
+Defining message LaTeX/regex/extra-rparen on line ...
+Defining message LaTeX/regex/bad-escape on line ...
+Defining message LaTeX/regex/range-missing-end on line ...
+Defining message LaTeX/regex/range-backwards on line ...
+Defining message LaTeX/regex/c-bad-mode on line ...
+Defining message LaTeX/regex/c-missing-rbrace on line ...
+Defining message LaTeX/regex/c-missing-rbrack on line ...
+Defining message LaTeX/regex/c-missing-category on line ...
+Defining message LaTeX/regex/c-trailing on line ...
+Defining message LaTeX/regex/u-missing-lbrace on line ...
+Defining message LaTeX/regex/u-missing-rbrace on line ...
+Defining message LaTeX/regex/posix-unsupported on line ...
+Defining message LaTeX/regex/posix-unknown on line ...
+Defining message LaTeX/regex/posix-missing-close on line ...
+Defining message LaTeX/regex/result-unbalanced on line ...
+Defining message LaTeX/regex/unknown-option on line ...
+Defining message LaTeX/regex/special-group-unknown on line ...
+Defining message LaTeX/regex/replacement-c on line ...
+Defining message LaTeX/regex/replacement-u on line ...
+Defining message LaTeX/regex/replacement-g on line ...
+Defining message LaTeX/regex/replacement-catcode-end on line ...
+Defining message LaTeX/regex/replacement-catcode-in-cs on line ...
+Defining message LaTeX/regex/replacement-null-space on line ...
+Defining message LaTeX/regex/replacement-missing-rbrace on line ...
+Defining message LaTeX/regex/replacement-missing-rparen on line ...
+Defining \__regex_msg_repeated:nnN on line ...
 Defining \box_new:N on line ...
 Defining \box_new:c on line ...
 Defining \box_clear:N on line ...
@@ -5247,7 +5822,7 @@ Defining \l__driver_sin_fp on line ...
 Defining \__driver_box_use_scale:Nnn on line ...
 Defining \l__driver_color_current_tl on line ...
 Defining \l__driver_color_stack_int on line ...
-\l__driver_color_stack_int=\count147
+\l__driver_color_stack_int=\count194
 Defining \__driver_color_ensure_current: on line ...
 Defining \__driver_color_reset: on line ...
 Defining \l__driver_image_attr_tl on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index b6afbd3..fc0d340 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -1398,6 +1398,16 @@ Defining \g_tmpa_int on line ...
 Defining \g_tmpb_int on line ...
 \g_tmpb_int=\count117
 Defining \c_minus_one on line ...
+Defining \g__intarray_font_int on line ...
+\g__intarray_font_int=\count118
+Defining \__intarray_new:Nn on line ...
+Defining \__intarray_count:N on line ...
+Defining \__intarray_gset_fast:Nnn on line ...
+Defining \__intarray_gset:Nnn on line ...
+Defining \__intarray_gset_aux:Nnn on line ...
+Defining \__intarray_item_fast:Nn on line ...
+Defining \__intarray_item:Nn on line ...
+Defining \__intarray_item_aux:Nn on line ...
 Defining \flag_new:n on line ...
 Defining \flag_clear:n on line ...
 Defining \__flag_clear:wn on line ...
@@ -1620,7 +1630,7 @@ Defining \mode_if_math:TF on line ...
 Defining \group_align_safe_begin: on line ...
 Defining \group_align_safe_end: on line ...
 Defining \g__prg_map_int on line ...
-\g__prg_map_int=\count118
+\g__prg_map_int=\count119
 Defining \c_empty_clist on line ...
 Defining \l__clist_internal_clist on line ...
 Defining \__clist_tmp:w on line ...
@@ -2773,6 +2783,8 @@ Defining message LaTeX/kernel/empty-search-pattern on line ...
 Defining message LaTeX/kernel/out-of-registers on line ...
 Defining message LaTeX/kernel/non-base-function on line ...
 Defining message LaTeX/kernel/missing-colon on line ...
+Defining message LaTeX/kernel/overflow on line ...
+Defining message LaTeX/kernel/out-of-bounds on line ...
 Defining message LaTeX/kernel/protected-predicate on line ...
 Defining message LaTeX/kernel/conditional-form-unknown on line ...
 Defining message LaTeX/check/non-declared-variable on line ...
@@ -2871,7 +2883,7 @@ Defining \ior_get:NN on line ...
 Defining \ior_str_get:NN on line ...
 Defining \g__file_internal_ior on line ...
 Defining \c_log_iow on line ...
-\c_log_iow=\count119
+\c_log_iow=\count120
 Defining \c_term_iow on line ...
 Defining \g__iow_streams_seq on line ...
 Defining \l__iow_stream_tl on line ...
@@ -2908,18 +2920,18 @@ Defining \iow_newline: on line ...
 Defining \iow_char:N on line ...
 Defining \c_catcode_other_space_tl on line ...
 Defining \l_iow_line_count_int on line ...
-\l_iow_line_count_int=\count120
+\l_iow_line_count_int=\count121
 Defining \l__iow_newline_tl on line ...
 Defining \l__iow_line_target_int on line ...
-\l__iow_line_target_int=\count121
+\l__iow_line_target_int=\count122
 Defining \l__iow_one_indent_tl on line ...
 Defining \l__iow_one_indent_int on line ...
-\l__iow_one_indent_int=\count122
+\l__iow_one_indent_int=\count123
 Defining \__iow_unindent:w on line ...
 Defining \__iow_set_indent:n on line ...
 Defining \l__iow_indent_tl on line ...
 Defining \l__iow_indent_int on line ...
-\l__iow_indent_int=\count123
+\l__iow_indent_int=\count124
 Defining \l__iow_line_tl on line ...
 Defining \l__iow_line_part_tl on line ...
 Defining \l__iow_line_break_bool on line ...
@@ -3235,7 +3247,7 @@ Defining \c__keys_type_root_tl on line ...
 Defining \c__keys_validate_root_tl on line ...
 Defining \c__keys_props_root_tl on line ...
 Defining \l_keys_choice_int on line ...
-\l_keys_choice_int=\count124
+\l_keys_choice_int=\count125
 Defining \l_keys_choice_tl on line ...
 Defining \l__keys_groups_clist on line ...
 Defining \l_keys_key_tl on line ...
@@ -3472,25 +3484,25 @@ Defining \__fp_exp_after_normal:Nwwwww on line ...
 Defining \__fp_exp_after_array_f:w on line ...
 Defining \__fp_exp_after_stop_f:nw on line ...
 Defining \c__fp_leading_shift_int on line ...
-\c__fp_leading_shift_int=\count125
+\c__fp_leading_shift_int=\count126
 Defining \c__fp_middle_shift_int on line ...
-\c__fp_middle_shift_int=\count126
+\c__fp_middle_shift_int=\count127
 Defining \c__fp_trailing_shift_int on line ...
-\c__fp_trailing_shift_int=\count127
+\c__fp_trailing_shift_int=\count128
 Defining \__fp_pack:NNNNNw on line ...
 Defining \c__fp_big_leading_shift_int on line ...
-\c__fp_big_leading_shift_int=\count128
+\c__fp_big_leading_shift_int=\count129
 Defining \c__fp_big_middle_shift_int on line ...
-\c__fp_big_middle_shift_int=\count129
+\c__fp_big_middle_shift_int=\count130
 Defining \c__fp_big_trailing_shift_int on line ...
-\c__fp_big_trailing_shift_int=\count130
+\c__fp_big_trailing_shift_int=\count131
 Defining \__fp_pack_big:NNNNNNw on line ...
 Defining \c__fp_Bigg_leading_shift_int on line ...
-\c__fp_Bigg_leading_shift_int=\count131
+\c__fp_Bigg_leading_shift_int=\count132
 Defining \c__fp_Bigg_middle_shift_int on line ...
-\c__fp_Bigg_middle_shift_int=\count132
+\c__fp_Bigg_middle_shift_int=\count133
 Defining \c__fp_Bigg_trailing_shift_int on line ...
-\c__fp_Bigg_trailing_shift_int=\count133
+\c__fp_Bigg_trailing_shift_int=\count134
 Defining \__fp_pack_Bigg:NNNNNNw on line ...
 Defining \__fp_pack_twice_four:wNNNNNNNN on line ...
 Defining \__fp_pack_eight:wNNNNNNNN on line ...
@@ -4241,27 +4253,27 @@ Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
 Defining \l__sort_length_int on line ...
-\l__sort_length_int=\count134
+\l__sort_length_int=\count135
 Defining \l__sort_min_int on line ...
-\l__sort_min_int=\count135
+\l__sort_min_int=\count136
 Defining \l__sort_top_int on line ...
-\l__sort_top_int=\count136
+\l__sort_top_int=\count137
 Defining \l__sort_max_int on line ...
-\l__sort_max_int=\count137
+\l__sort_max_int=\count138
 Defining \l__sort_true_max_int on line ...
-\l__sort_true_max_int=\count138
+\l__sort_true_max_int=\count139
 Defining \l__sort_block_int on line ...
-\l__sort_block_int=\count139
+\l__sort_block_int=\count140
 Defining \l__sort_begin_int on line ...
-\l__sort_begin_int=\count140
+\l__sort_begin_int=\count141
 Defining \l__sort_end_int on line ...
-\l__sort_end_int=\count141
+\l__sort_end_int=\count142
 Defining \l__sort_A_int on line ...
-\l__sort_A_int=\count142
+\l__sort_A_int=\count143
 Defining \l__sort_B_int on line ...
-\l__sort_B_int=\count143
+\l__sort_B_int=\count144
 Defining \l__sort_C_int on line ...
-\l__sort_C_int=\count144
+\l__sort_C_int=\count145
 Defining \__sort_shrink_range: on line ...
 Defining \__sort_shrink_range_loop: on line ...
 Defining \__sort_compute_range: on line ...
@@ -4318,6 +4330,567 @@ Defining message LaTeX/sort/return-none on line ...
 Defining message LaTeX/sort/return-two on line ...
 Defining \sort_ordered: on line ...
 Defining \sort_reversed: on line ...
+Defining \l__tl_build_start_index_int on line ...
+\l__tl_build_start_index_int=\count146
+Defining \l__tl_build_index_int on line ...
+\l__tl_build_index_int=\count147
+Defining \l__tl_build_result_tl on line ...
+Defining \__tl_build_unpack: on line ...
+Defining \__tl_build_unpack_loop:w on line ...
+Defining \__tl_build:Nw on line ...
+Defining \__tl_build_x:Nw on line ...
+Defining \__tl_gbuild:Nw on line ...
+Defining \__tl_gbuild_x:Nw on line ...
+Defining \__tl_build_aux:NNw on line ...
+Defining \__tl_build_end: on line ...
+Defining \__tl_build_end_assignment:n on line ...
+Defining \__tl_build_one:n on line ...
+Defining \__tl_build_one:o on line ...
+Defining \__tl_build_one:x on line ...
+Defining \s__tl on line ...
+Defining \l__tl_analysis_internal_tl on line ...
+Defining \l__tl_analysis_token on line ...
+Defining \l__tl_analysis_char_token on line ...
+Defining \l__tl_analysis_normal_int on line ...
+\l__tl_analysis_normal_int=\count148
+Defining \l__tl_analysis_index_int on line ...
+\l__tl_analysis_index_int=\count149
+Defining \l__tl_analysis_nesting_int on line ...
+\l__tl_analysis_nesting_int=\count150
+Defining \l__tl_analysis_type_int on line ...
+\l__tl_analysis_type_int=\count151
+Defining \g__tl_analysis_result_tl on line ...
+Defining \__tl_analysis_extract_charcode: on line ...
+Defining \__tl_analysis_extract_charcode_aux:w on line ...
+Defining \__tl_analysis_cs_space_count:NN on line ...
+Defining \__tl_analysis_cs_space_count:w on line ...
+Defining \__tl_analysis_cs_space_count_end:w on line ...
+Defining \__tl_analysis:n on line ...
+Defining \__tl_analysis_setup:n on line ...
+Defining \__tl_analysis_disable_loop:N on line ...
+Defining \__tl_analysis_a:n on line ...
+Defining \__tl_analysis_a_loop:w on line ...
+Defining \__tl_analysis_a_type:w on line ...
+Defining \__tl_analysis_a_space:w on line ...
+Defining \__tl_analysis_a_space_test:w on line ...
+Defining \__tl_analysis_a_bgroup:w on line ...
+Defining \__tl_analysis_a_egroup:w on line ...
+Defining \__tl_analysis_a_group:nw on line ...
+Defining \__tl_analysis_a_group_test:w on line ...
+Defining \__tl_analysis_a_store: on line ...
+Defining \__tl_analysis_a_safe:N on line ...
+Defining \__tl_analysis_a_cs:ww on line ...
+Defining \__tl_analysis_b:n on line ...
+Defining \__tl_analysis_b_loop:w on line ...
+Defining \__tl_analysis_b_normals:ww on line ...
+Defining \__tl_analysis_b_normal:wwN on line ...
+Defining \__tl_analysis_b_char:Nww on line ...
+Defining \__tl_analysis_b_cs:Nww on line ...
+Defining \__tl_analysis_b_cs_test:ww on line ...
+Defining \__tl_analysis_b_special:w on line ...
+Defining \__tl_analysis_b_special_char:wN on line ...
+Defining \__tl_analysis_b_special_space:w on line ...
+Defining \__tl_analysis_map_inline:nn on line ...
+Defining \__tl_analysis_map_inline_aux:Nn on line ...
+Defining \tl_show_analysis:N on line ...
+Defining \tl_show_analysis:n on line ...
+Defining \__tl_analysis_show: on line ...
+Defining \__tl_analysis_show_loop:wNw on line ...
+Defining \__tl_analysis_show_normal:n on line ...
+Defining \__tl_analysis_show_value:N on line ...
+Defining \__tl_analysis_show_cs:n on line ...
+Defining \__tl_analysis_show_active:n on line ...
+Defining \__tl_analysis_show_long:nn on line ...
+Defining \__tl_analysis_show_long_aux:nnnn on line ...
+Defining \exp_args:Noof on line ...
+Defining \__tl_analysis_show_long_aux:oofn on line ...
+Defining \c__tl_analysis_show_etc_str on line ...
+Defining message LaTeX/kernel/show-tl-analysis on line ...
+Defining \tl_to_str:V on line ...
+Defining \__regex_standard_escapechar: on line ...
+Defining \__regex_toks_use:w on line ...
+Defining \__regex_toks_clear:N on line ...
+Defining \__regex_toks_set:Nn on line ...
+Defining \__regex_toks_set:No on line ...
+Defining \__regex_toks_memcpy:NNn on line ...
+Defining \__regex_toks_put_left:Nx on line ...
+Defining \__regex_toks_put_right:Nx on line ...
+Defining \__regex_toks_put_right:Nn on line ...
+Defining \__regex_current_cs_to_str: on line ...
+Defining \__regex_tmp:w on line ...
+Defining \l__regex_internal_a_tl on line ...
+Defining \l__regex_internal_b_tl on line ...
+Defining \l__regex_internal_a_int on line ...
+\l__regex_internal_a_int=\count152
+Defining \l__regex_internal_b_int on line ...
+\l__regex_internal_b_int=\count153
+Defining \l__regex_internal_c_int on line ...
+\l__regex_internal_c_int=\count154
+Defining \l__regex_internal_bool on line ...
+Defining \l__regex_internal_seq on line ...
+Defining \g__regex_internal_tl on line ...
+Defining \c__regex_no_match_regex on line ...
+Defining \g__regex_charcode_intarray on line ...
+Defining \g__regex_catcode_intarray on line ...
+Defining \g__regex_balance_intarray on line ...
+Defining \l__regex_balance_int on line ...
+\l__regex_balance_int=\count155
+Defining \l__regex_cs_name_tl on line ...
+Defining \c__regex_ascii_min_int on line ...
+Defining \c__regex_ascii_max_control_int on line ...
+Defining \c__regex_ascii_max_int on line ...
+Defining \c__regex_ascii_lower_int on line ...
+Defining \__regex_break_true:w on line ...
+Defining \__regex_break_point:TF on line ...
+Defining \__regex_item_reverse:n on line ...
+Defining \__regex_item_caseful_equal:n on line ...
+Defining \__regex_item_caseful_range:nn on line ...
+Defining \__regex_item_caseless_equal:n on line ...
+Defining \__regex_item_caseless_range:nn on line ...
+Defining \__regex_compute_case_changed_char: on line ...
+Defining \__regex_item_equal:n on line ...
+Defining \__regex_item_range:nn on line ...
+Defining \__regex_item_catcode: on line ...
+Defining \__regex_item_catcode:nT on line ...
+Defining \__regex_item_catcode_reverse:nT on line ...
+Defining \__regex_item_exact:nn on line ...
+Defining \__regex_item_exact_cs:n on line ...
+Defining \__regex_item_cs:n on line ...
+Defining \__regex_prop_d: on line ...
+Defining \__regex_prop_h: on line ...
+Defining \__regex_prop_s: on line ...
+Defining \__regex_prop_v: on line ...
+Defining \__regex_prop_w: on line ...
+Defining \__regex_prop_N: on line ...
+Defining \__regex_posix_alnum: on line ...
+Defining \__regex_posix_alpha: on line ...
+Defining \__regex_posix_ascii: on line ...
+Defining \__regex_posix_blank: on line ...
+Defining \__regex_posix_cntrl: on line ...
+Defining \__regex_posix_digit: on line ...
+Defining \__regex_posix_graph: on line ...
+Defining \__regex_posix_lower: on line ...
+Defining \__regex_posix_print: on line ...
+Defining \__regex_posix_punct: on line ...
+Defining \__regex_posix_space: on line ...
+Defining \__regex_posix_upper: on line ...
+Defining \__regex_posix_word: on line ...
+Defining \__regex_posix_xdigit: on line ...
+Defining \__regex_escape_use:nnnn on line ...
+Defining \__regex_escape_loop:N on line ...
+Defining \__regex_escape_\:w on line ...
+Defining \__regex_escape_unescaped:N on line ...
+Defining \__regex_escape_escaped:N on line ...
+Defining \__regex_escape_raw:N on line ...
+Defining \__regex_escape_break:w on line ...
+Defining \__regex_escape_/break:w on line ...
+Defining \__regex_escape_ :w on line ...
+Defining \__regex_escape_/a:w on line ...
+Defining \__regex_escape_/t:w on line ...
+Defining \__regex_escape_/n:w on line ...
+Defining \__regex_escape_/f:w on line ...
+Defining \__regex_escape_/r:w on line ...
+Defining \__regex_escape_/e:w on line ...
+Defining \__regex_escape_/x:w on line ...
+Defining \__regex_escape_x_end:w on line ...
+Defining \__regex_escape_x_test:N on line ...
+Defining \__regex_escape_x_testii:N on line ...
+Defining \__regex_escape_x:N on line ...
+Defining \__regex_escape_x_loop:N on line ...
+Defining \__regex_escape_x_loop_error:n on line ...
+Defining \__regex_hexadecimal_use:NTF on line ...
+Defining \__regex_char_if_special:NTF on line ...
+Defining \__regex_char_if_alphanumeric:NTF on line ...
+Defining \l__regex_group_level_int on line ...
+\l__regex_group_level_int=\count156
+Defining \l__regex_mode_int on line ...
+\l__regex_mode_int=\count157
+Defining \c__regex_cs_in_class_mode_int on line ...
+\c__regex_cs_in_class_mode_int=\count158
+Defining \c__regex_cs_mode_int on line ...
+\c__regex_cs_mode_int=\count159
+Defining \c__regex_outer_mode_int on line ...
+Defining \c__regex_catcode_mode_int on line ...
+Defining \c__regex_class_mode_int on line ...
+Defining \c__regex_catcode_in_class_mode_int on line ...
+Defining \l__regex_catcodes_int on line ...
+\l__regex_catcodes_int=\count160
+Defining \l__regex_default_catcodes_int on line ...
+\l__regex_default_catcodes_int=\count161
+Defining \l__regex_catcodes_bool on line ...
+Defining \c__regex_catcode_C_int on line ...
+Defining \c__regex_catcode_B_int on line ...
+Defining \c__regex_catcode_E_int on line ...
+Defining \c__regex_catcode_M_int on line ...
+Defining \c__regex_catcode_T_int on line ...
+Defining \c__regex_catcode_P_int on line ...
+Defining \c__regex_catcode_U_int on line ...
+Defining \c__regex_catcode_D_int on line ...
+Defining \c__regex_catcode_S_int on line ...
+Defining \c__regex_catcode_L_int on line ...
+\c__regex_catcode_L_int=\count162
+Defining \c__regex_catcode_O_int on line ...
+\c__regex_catcode_O_int=\count163
+Defining \c__regex_catcode_A_int on line ...
+\c__regex_catcode_A_int=\count164
+Defining \c__regex_all_catcodes_int on line ...
+\c__regex_all_catcodes_int=\count165
+Defining \l__regex_internal_regex on line ...
+Defining \l__regex_show_prefix_seq on line ...
+Defining \l__regex_show_lines_int on line ...
+\l__regex_show_lines_int=\count166
+Defining \__regex_get_digits:NTFw on line ...
+Defining \__regex_get_digits_loop:nw on line ...
+Defining \__regex_if_raw_digit:NNTF on line ...
+Defining \__regex_if_in_class:TF on line ...
+Defining \__regex_if_in_cs:TF on line ...
+Defining \__regex_if_in_class_or_catcode:TF on line ...
+Defining \__regex_if_within_catcode:TF on line ...
+Defining \__regex_chk_c_allowed:T on line ...
+Defining \__regex_mode_quit_c: on line ...
+Defining \__regex_compile:w on line ...
+Defining \__regex_compile_end: on line ...
+Defining \__regex_compile:n on line ...
+Defining \__regex_compile_special:N on line ...
+Defining \__regex_compile_escaped:N on line ...
+Defining \__regex_compile_one:x on line ...
+Defining \__regex_compile_abort_tokens:n on line ...
+Defining \__regex_compile_abort_tokens:x on line ...
+Defining \__regex_compile_quantifier:w on line ...
+Defining \__regex_compile_quantifier_none: on line ...
+Defining \__regex_compile_quantifier_abort:xNN on line ...
+Defining \__regex_compile_quantifier_lazyness:nnNN on line ...
+Defining \__regex_compile_quantifier_?:w on line ...
+Defining \__regex_compile_quantifier_*:w on line ...
+Defining \__regex_compile_quantifier_+:w on line ...
+Defining \__regex_compile_quantifier_{:w on line ...
+Defining \__regex_compile_quantifier_braced_auxi:w on line ...
+Defining \__regex_compile_quantifier_braced_auxii:w on line ...
+Defining \__regex_compile_quantifier_braced_auxiii:w on line ...
+Defining \__regex_compile_raw_error:N on line ...
+Defining \__regex_compile_raw:N on line ...
+Defining \__regex_if_end_range:NNTF on line ...
+Defining \__regex_compile_range:Nw on line ...
+Defining \__regex_compile_.: on line ...
+Defining \__regex_prop_.: on line ...
+Defining \__regex_compile_/d: on line ...
+Defining \__regex_compile_/D: on line ...
+Defining \__regex_compile_/h: on line ...
+Defining \__regex_compile_/H: on line ...
+Defining \__regex_compile_/s: on line ...
+Defining \__regex_compile_/S: on line ...
+Defining \__regex_compile_/v: on line ...
+Defining \__regex_compile_/V: on line ...
+Defining \__regex_compile_/w: on line ...
+Defining \__regex_compile_/W: on line ...
+Defining \__regex_compile_/N: on line ...
+Defining \__regex_compile_anchor:NF on line ...
+Defining \__regex_compile_/A: on line ...
+Defining \__regex_compile_/G: on line ...
+Defining \__regex_compile_/Z: on line ...
+Defining \__regex_compile_/z: on line ...
+Defining \__regex_compile_^: on line ...
+Defining \__regex_compile_$: on line ...
+Defining \__regex_compile_/b: on line ...
+Defining \__regex_compile_/B: on line ...
+Defining \__regex_compile_]: on line ...
+Defining \__regex_compile_[: on line ...
+Defining \__regex_compile_class_normal:w on line ...
+Defining \__regex_compile_class_catcode:w on line ...
+Defining \__regex_compile_class:TFNN on line ...
+Defining \__regex_compile_class:NN on line ...
+Defining \__regex_compile_class_posix_test:w on line ...
+Defining \__regex_compile_class_posix:NNNNw on line ...
+Defining \__regex_compile_class_posix_loop:w on line ...
+Defining \__regex_compile_class_posix_end:w on line ...
+Defining \__regex_compile_group_begin:N on line ...
+Defining \__regex_compile_group_end: on line ...
+Defining \__regex_compile_(: on line ...
+Defining \__regex_compile_lparen:w on line ...
+Defining \__regex_compile_|: on line ...
+Defining \__regex_compile_): on line ...
+Defining \__regex_compile_special_group_::w on line ...
+Defining \__regex_compile_special_group_|:w on line ...
+Defining \__regex_compile_special_group_i:w on line ...
+Defining \__regex_compile_special_group_-:w on line ...
+Defining \__regex_compile_/c: on line ...
+Defining \__regex_compile_c_test:NN on line ...
+Defining \__regex_compile_c_[:w on line ...
+Defining \__regex_compile_c_lbrack_loop:NN on line ...
+Defining \__regex_compile_c_lbrack_add:N on line ...
+Defining \__regex_compile_c_lbrack_end: on line ...
+Defining \__regex_compile_c_{:w on line ...
+Defining \flag __regex_cs on line ...
+Defining \__regex_compile_}: on line ...
+Defining \__regex_compile_end_cs: on line ...
+Defining \__regex_compile_cs_aux:Nn on line ...
+Defining \__regex_compile_cs_aux:NNnnnN on line ...
+Defining \__regex_compile_/u: on line ...
+Defining \__regex_compile_u_loop:NN on line ...
+Defining \__regex_compile_u_end: on line ...
+Defining \__regex_compile_u_in_cs: on line ...
+Defining \__regex_compile_u_in_cs_aux:n on line ...
+Defining \__regex_compile_u_not_cs: on line ...
+Defining \__regex_compile_/K: on line ...
+Defining \__regex_show:Nn on line ...
+Defining \__regex_show_one:n on line ...
+Defining \__regex_show_push:n on line ...
+Defining \__regex_show_pop: on line ...
+Defining \__regex_show_scope:nn on line ...
+Defining \__regex_show_group_aux:nnnnN on line ...
+Defining \__regex_show_anchor_to_str:N on line ...
+Defining \__regex_show_item_catcode:NnT on line ...
+Defining \__regex_show_item_exact_cs:n on line ...
+Defining \l__regex_min_state_int on line ...
+\l__regex_min_state_int=\count167
+Defining \l__regex_max_state_int on line ...
+\l__regex_max_state_int=\count168
+Defining \l__regex_left_state_int on line ...
+\l__regex_left_state_int=\count169
+Defining \l__regex_right_state_int on line ...
+\l__regex_right_state_int=\count170
+Defining \l__regex_left_state_seq on line ...
+Defining \l__regex_right_state_seq on line ...
+Defining \l__regex_capturing_group_int on line ...
+\l__regex_capturing_group_int=\count171
+Defining \__regex_build:n on line ...
+Defining \__regex_build:N on line ...
+Defining \__regex_build_for_cs:n on line ...
+Defining \__regex_push_lr_states: on line ...
+Defining \__regex_pop_lr_states: on line ...
+Defining \__regex_build_transition_left:NNN on line ...
+Defining \__regex_build_transition_right:nNn on line ...
+Defining \__regex_build_new_state: on line ...
+Defining \__regex_build_transitions_lazyness:NNNNN on line ...
+Defining \__regex_class:NnnnN on line ...
+Defining \__regex_tests_action_cost:n on line ...
+Defining \__regex_class_repeat:n on line ...
+Defining \__regex_class_repeat:nN on line ...
+Defining \__regex_class_repeat:nnN on line ...
+Defining \__regex_group_aux:nnnnN on line ...
+Defining \__regex_group:nnnN on line ...
+Defining \__regex_group_no_capture:nnnN on line ...
+Defining \__regex_group_resetting:nnnN on line ...
+Defining \__regex_group_resetting_loop:nnNn on line ...
+Defining \__regex_branch:n on line ...
+Defining \__regex_group_repeat:nn on line ...
+Defining \__regex_group_submatches:nNN on line ...
+Defining \__regex_group_repeat_aux:n on line ...
+Defining \__regex_group_repeat:nnN on line ...
+Defining \__regex_group_repeat:nnnN on line ...
+Defining \__regex_assertion:Nn on line ...
+Defining \__regex_anchor:N on line ...
+Defining \__regex_b_test: on line ...
+Defining \__regex_command_K: on line ...
+Defining \l__regex_min_pos_int on line ...
+\l__regex_min_pos_int=\count172
+Defining \l__regex_max_pos_int on line ...
+\l__regex_max_pos_int=\count173
+Defining \l__regex_current_pos_int on line ...
+\l__regex_current_pos_int=\count174
+Defining \l__regex_start_pos_int on line ...
+\l__regex_start_pos_int=\count175
+Defining \l__regex_success_pos_int on line ...
+\l__regex_success_pos_int=\count176
+Defining \l__regex_current_char_int on line ...
+\l__regex_current_char_int=\count177
+Defining \l__regex_current_catcode_int on line ...
+\l__regex_current_catcode_int=\count178
+Defining \l__regex_last_char_int on line ...
+\l__regex_last_char_int=\count179
+Defining \l__regex_case_changed_char_int on line ...
+\l__regex_case_changed_char_int=\count180
+Defining \l__regex_current_state_int on line ...
+\l__regex_current_state_int=\count181
+Defining \l__regex_current_submatches_prop on line ...
+Defining \l__regex_success_submatches_prop on line ...
+Defining \l__regex_step_int on line ...
+\l__regex_step_int=\count182
+Defining \l__regex_min_active_int on line ...
+\l__regex_min_active_int=\count183
+Defining \l__regex_max_active_int on line ...
+\l__regex_max_active_int=\count184
+Defining \g__regex_state_active_intarray on line ...
+Defining \g__regex_thread_state_intarray on line ...
+Defining \l__regex_every_match_tl on line ...
+Defining \l__regex_fresh_thread_bool on line ...
+Defining \l__regex_empty_success_bool on line ...
+Defining \__regex_if_two_empty_matches:F on line ...
+Defining \g__regex_success_bool on line ...
+Defining \l__regex_saved_success_bool on line ...
+Defining \l__regex_match_success_bool on line ...
+Defining \__regex_match:n on line ...
+Defining \__regex_match_once: on line ...
+Defining \__regex_single_match: on line ...
+Defining \__regex_multi_match:n on line ...
+Defining \__regex_match_loop: on line ...
+Defining \__regex_match_one_active:n on line ...
+Defining \__regex_query_set:nnn on line ...
+Defining \__regex_query_get: on line ...
+Defining \__regex_use_state: on line ...
+Defining \__regex_use_state_and_submatches:nn on line ...
+Defining \__regex_action_start_wildcard: on line ...
+Defining \__regex_action_free:n on line ...
+Defining \__regex_action_free_group:n on line ...
+Defining \__regex_action_free_aux:nn on line ...
+Defining \__regex_action_cost:n on line ...
+Defining \__regex_store_state:n on line ...
+Defining \__regex_store_submatches: on line ...
+Defining \__regex_disable_submatches: on line ...
+Defining \__regex_action_submatch:n on line ...
+Defining \__regex_action_success: on line ...
+Defining \l__regex_replacement_csnames_int on line ...
+\l__regex_replacement_csnames_int=\count185
+Defining \l__regex_replacement_category_tl on line ...
+Defining \l__regex_replacement_category_seq on line ...
+Defining \l__regex_balance_tl on line ...
+Defining \__regex_replacement_balance_one_match:n on line ...
+Defining \__regex_replacement_do_one_match:n on line ...
+Defining \__regex_replacement_exp_not:N on line ...
+Defining \__regex_query_range:nn on line ...
+Defining \__regex_query_range_loop:ww on line ...
+Defining \__regex_query_submatch:n on line ...
+Defining \__regex_submatch_balance:n on line ...
+Defining \__regex_replacement:n on line ...
+Defining \__regex_replacement_aux:n on line ...
+Defining \__regex_replacement_normal:n on line ...
+Defining \__regex_replacement_escaped:N on line ...
+Defining \__regex_replacement_put_submatch:n on line ...
+Defining \__regex_replacement_g:w on line ...
+Defining \__regex_replacement_g_digits:NN on line ...
+Defining \__regex_replacement_c:w on line ...
+Defining \__regex_replacement_cu_aux:Nw on line ...
+Defining \__regex_replacement_u:w on line ...
+Defining \__regex_replacement_rbrace:N on line ...
+Defining \__regex_replacement_cat:NNN on line ...
+Defining \__regex_replacement_char:nNN on line ...
+Defining \__regex_replacement_c_A:w on line ...
+Defining \__regex_replacement_c_B:w on line ...
+Defining \__regex_replacement_c_C:w on line ...
+Defining \__regex_replacement_c_D:w on line ...
+Defining \__regex_replacement_c_E:w on line ...
+Defining \__regex_replacement_c_L:w on line ...
+Defining \__regex_replacement_c_M:w on line ...
+Defining \__regex_replacement_c_O:w on line ...
+Defining \__regex_replacement_c_P:w on line ...
+Defining \__regex_replacement_c_S:w on line ...
+Defining \__regex_replacement_c_T:w on line ...
+Defining \__regex_replacement_c_U:w on line ...
+Defining \__regex_replacement_error:NNN on line ...
+Defining \regex_new:N on line ...
+Defining \regex_set:Nn on line ...
+Defining \regex_gset:Nn on line ...
+Defining \regex_const:Nn on line ...
+Defining \regex_show:n on line ...
+Defining \regex_show:N on line ...
+Defining \regex_match:nnT on line ...
+Defining \regex_match:nnF on line ...
+Defining \regex_match:nnTF on line ...
+Defining \regex_match:NnT on line ...
+Defining \regex_match:NnF on line ...
+Defining \regex_match:NnTF on line ...
+Defining \regex_count:nnN on line ...
+Defining \regex_count:NnN on line ...
+Defining \regex_extract_once:nnN on line ...
+Defining \regex_extract_once:NnN on line ...
+Defining \regex_extract_once:nnNT on line ...
+Defining \regex_extract_once:nnNF on line ...
+Defining \regex_extract_once:nnNTF on line ...
+Defining \regex_extract_once:NnNT on line ...
+Defining \regex_extract_once:NnNF on line ...
+Defining \regex_extract_once:NnNTF on line ...
+Defining \regex_extract_all:nnN on line ...
+Defining \regex_extract_all:NnN on line ...
+Defining \regex_extract_all:nnNT on line ...
+Defining \regex_extract_all:nnNF on line ...
+Defining \regex_extract_all:nnNTF on line ...
+Defining \regex_extract_all:NnNT on line ...
+Defining \regex_extract_all:NnNF on line ...
+Defining \regex_extract_all:NnNTF on line ...
+Defining \regex_replace_once:nnN on line ...
+Defining \regex_replace_once:NnN on line ...
+Defining \regex_replace_once:nnNT on line ...
+Defining \regex_replace_once:nnNF on line ...
+Defining \regex_replace_once:nnNTF on line ...
+Defining \regex_replace_once:NnNT on line ...
+Defining \regex_replace_once:NnNF on line ...
+Defining \regex_replace_once:NnNTF on line ...
+Defining \regex_replace_all:nnN on line ...
+Defining \regex_replace_all:NnN on line ...
+Defining \regex_replace_all:nnNT on line ...
+Defining \regex_replace_all:nnNF on line ...
+Defining \regex_replace_all:nnNTF on line ...
+Defining \regex_replace_all:NnNT on line ...
+Defining \regex_replace_all:NnNF on line ...
+Defining \regex_replace_all:NnNTF on line ...
+Defining \regex_split:nnN on line ...
+Defining \regex_split:NnN on line ...
+Defining \regex_split:nnNT on line ...
+Defining \regex_split:nnNF on line ...
+Defining \regex_split:nnNTF on line ...
+Defining \regex_split:NnNT on line ...
+Defining \regex_split:NnNF on line ...
+Defining \regex_split:NnNTF on line ...
+Defining \l__regex_match_count_int on line ...
+\l__regex_match_count_int=\count186
+Defining \flag __regex_begin on line ...
+Defining \flag __regex_end on line ...
+Defining \l__regex_min_submatch_int on line ...
+\l__regex_min_submatch_int=\count187
+Defining \l__regex_submatch_int on line ...
+\l__regex_submatch_int=\count188
+Defining \l__regex_zeroth_submatch_int on line ...
+\l__regex_zeroth_submatch_int=\count189
+Defining \g__regex_submatch_prev_intarray on line ...
+Defining \g__regex_submatch_begin_intarray on line ...
+Defining \g__regex_submatch_end_intarray on line ...
+Defining \__regex_return: on line ...
+Defining \__regex_if_match:nn on line ...
+Defining \__regex_count:nnN on line ...
+Defining \__regex_extract_once:nnN on line ...
+Defining \__regex_extract_all:nnN on line ...
+Defining \__regex_split:nnN on line ...
+Defining \__regex_group_end_extract_seq:N on line ...
+Defining \__regex_extract_seq_aux:n on line ...
+Defining \__regex_extract_seq_aux:ww on line ...
+Defining \__regex_extract: on line ...
+Defining \__regex_extract_b:wn on line ...
+Defining \__regex_extract_e:wn on line ...
+Defining \__regex_replace_once:nnN on line ...
+Defining \__regex_replace_all:nnN on line ...
+Defining \__regex_group_end_replace:N on line ...
+Defining message LaTeX/regex/trailing-backslash on line ...
+Defining message LaTeX/regex/x-missing-rbrace on line ...
+Defining message LaTeX/regex/x-overflow on line ...
+Defining message LaTeX/regex/invalid-quantifier on line ...
+Defining message LaTeX/regex/missing-rbrack on line ...
+Defining message LaTeX/regex/missing-rparen on line ...
+Defining message LaTeX/regex/extra-rparen on line ...
+Defining message LaTeX/regex/bad-escape on line ...
+Defining message LaTeX/regex/range-missing-end on line ...
+Defining message LaTeX/regex/range-backwards on line ...
+Defining message LaTeX/regex/c-bad-mode on line ...
+Defining message LaTeX/regex/c-missing-rbrace on line ...
+Defining message LaTeX/regex/c-missing-rbrack on line ...
+Defining message LaTeX/regex/c-missing-category on line ...
+Defining message LaTeX/regex/c-trailing on line ...
+Defining message LaTeX/regex/u-missing-lbrace on line ...
+Defining message LaTeX/regex/u-missing-rbrace on line ...
+Defining message LaTeX/regex/posix-unsupported on line ...
+Defining message LaTeX/regex/posix-unknown on line ...
+Defining message LaTeX/regex/posix-missing-close on line ...
+Defining message LaTeX/regex/result-unbalanced on line ...
+Defining message LaTeX/regex/unknown-option on line ...
+Defining message LaTeX/regex/special-group-unknown on line ...
+Defining message LaTeX/regex/replacement-c on line ...
+Defining message LaTeX/regex/replacement-u on line ...
+Defining message LaTeX/regex/replacement-g on line ...
+Defining message LaTeX/regex/replacement-catcode-end on line ...
+Defining message LaTeX/regex/replacement-catcode-in-cs on line ...
+Defining message LaTeX/regex/replacement-null-space on line ...
+Defining message LaTeX/regex/replacement-missing-rbrace on line ...
+Defining message LaTeX/regex/replacement-missing-rparen on line ...
+Defining \__regex_msg_repeated:nnN on line ...
 Defining \box_new:N on line ...
 Defining \box_new:c on line ...
 Defining \box_clear:N on line ...
@@ -5225,7 +5798,7 @@ Defining \__driver_image_getbb_jpg:n on line ...
 Defining \__driver_image_getbb_png:n on line ...
 Defining \__driver_image_getbb_pdf:n on line ...
 Defining \g__driver_image_int on line ...
-\g__driver_image_int=\count145
+\g__driver_image_int=\count190
 Defining \__driver_image_include_eps:n on line ...
 Defining \__driver_image_include_jpg:n on line ...
 Defining \__driver_image_include_png:n on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index 9ff4022..4c125ff 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -1664,6 +1664,16 @@ Defining \g_tmpa_int on line ...
 Defining \g_tmpb_int on line ...
 \g_tmpb_int=\count116
 Defining \c_minus_one on line ...
+Defining \g__intarray_font_int on line ...
+\g__intarray_font_int=\count117
+Defining \__intarray_new:Nn on line ...
+Defining \__intarray_count:N on line ...
+Defining \__intarray_gset_fast:Nnn on line ...
+Defining \__intarray_gset:Nnn on line ...
+Defining \__intarray_gset_aux:Nnn on line ...
+Defining \__intarray_item_fast:Nn on line ...
+Defining \__intarray_item:Nn on line ...
+Defining \__intarray_item_aux:Nn on line ...
 Defining \flag_new:n on line ...
 Defining \flag_clear:n on line ...
 Defining \__flag_clear:wn on line ...
@@ -1886,7 +1896,7 @@ Defining \mode_if_math:TF on line ...
 Defining \group_align_safe_begin: on line ...
 Defining \group_align_safe_end: on line ...
 Defining \g__prg_map_int on line ...
-\g__prg_map_int=\count117
+\g__prg_map_int=\count118
 Defining \c_empty_clist on line ...
 Defining \l__clist_internal_clist on line ...
 Defining \__clist_tmp:w on line ...
@@ -2783,6 +2793,8 @@ Defining message LaTeX/kernel/empty-search-pattern on line ...
 Defining message LaTeX/kernel/out-of-registers on line ...
 Defining message LaTeX/kernel/non-base-function on line ...
 Defining message LaTeX/kernel/missing-colon on line ...
+Defining message LaTeX/kernel/overflow on line ...
+Defining message LaTeX/kernel/out-of-bounds on line ...
 Defining message LaTeX/kernel/protected-predicate on line ...
 Defining message LaTeX/kernel/conditional-form-unknown on line ...
 Defining message LaTeX/check/non-declared-variable on line ...
@@ -2881,7 +2893,7 @@ Defining \ior_get:NN on line ...
 Defining \ior_str_get:NN on line ...
 Defining \g__file_internal_ior on line ...
 Defining \c_log_iow on line ...
-\c_log_iow=\count118
+\c_log_iow=\count119
 Defining \c_term_iow on line ...
 Defining \g__iow_streams_seq on line ...
 Defining \l__iow_stream_tl on line ...
@@ -2918,18 +2930,18 @@ Defining \iow_newline: on line ...
 Defining \iow_char:N on line ...
 Defining \c_catcode_other_space_tl on line ...
 Defining \l_iow_line_count_int on line ...
-\l_iow_line_count_int=\count119
+\l_iow_line_count_int=\count120
 Defining \l__iow_newline_tl on line ...
 Defining \l__iow_line_target_int on line ...
-\l__iow_line_target_int=\count120
+\l__iow_line_target_int=\count121
 Defining \l__iow_one_indent_tl on line ...
 Defining \l__iow_one_indent_int on line ...
-\l__iow_one_indent_int=\count121
+\l__iow_one_indent_int=\count122
 Defining \__iow_unindent:w on line ...
 Defining \__iow_set_indent:n on line ...
 Defining \l__iow_indent_tl on line ...
 Defining \l__iow_indent_int on line ...
-\l__iow_indent_int=\count122
+\l__iow_indent_int=\count123
 Defining \l__iow_line_tl on line ...
 Defining \l__iow_line_part_tl on line ...
 Defining \l__iow_line_break_bool on line ...
@@ -3245,7 +3257,7 @@ Defining \c__keys_type_root_tl on line ...
 Defining \c__keys_validate_root_tl on line ...
 Defining \c__keys_props_root_tl on line ...
 Defining \l_keys_choice_int on line ...
-\l_keys_choice_int=\count123
+\l_keys_choice_int=\count124
 Defining \l_keys_choice_tl on line ...
 Defining \l__keys_groups_clist on line ...
 Defining \l_keys_key_tl on line ...
@@ -3482,25 +3494,25 @@ Defining \__fp_exp_after_normal:Nwwwww on line ...
 Defining \__fp_exp_after_array_f:w on line ...
 Defining \__fp_exp_after_stop_f:nw on line ...
 Defining \c__fp_leading_shift_int on line ...
-\c__fp_leading_shift_int=\count124
+\c__fp_leading_shift_int=\count125
 Defining \c__fp_middle_shift_int on line ...
-\c__fp_middle_shift_int=\count125
+\c__fp_middle_shift_int=\count126
 Defining \c__fp_trailing_shift_int on line ...
-\c__fp_trailing_shift_int=\count126
+\c__fp_trailing_shift_int=\count127
 Defining \__fp_pack:NNNNNw on line ...
 Defining \c__fp_big_leading_shift_int on line ...
-\c__fp_big_leading_shift_int=\count127
+\c__fp_big_leading_shift_int=\count128
 Defining \c__fp_big_middle_shift_int on line ...
-\c__fp_big_middle_shift_int=\count128
+\c__fp_big_middle_shift_int=\count129
 Defining \c__fp_big_trailing_shift_int on line ...
-\c__fp_big_trailing_shift_int=\count129
+\c__fp_big_trailing_shift_int=\count130
 Defining \__fp_pack_big:NNNNNNw on line ...
 Defining \c__fp_Bigg_leading_shift_int on line ...
-\c__fp_Bigg_leading_shift_int=\count130
+\c__fp_Bigg_leading_shift_int=\count131
 Defining \c__fp_Bigg_middle_shift_int on line ...
-\c__fp_Bigg_middle_shift_int=\count131
+\c__fp_Bigg_middle_shift_int=\count132
 Defining \c__fp_Bigg_trailing_shift_int on line ...
-\c__fp_Bigg_trailing_shift_int=\count132
+\c__fp_Bigg_trailing_shift_int=\count133
 Defining \__fp_pack_Bigg:NNNNNNw on line ...
 Defining \__fp_pack_twice_four:wNNNNNNNN on line ...
 Defining \__fp_pack_eight:wNNNNNNNN on line ...
@@ -4251,27 +4263,27 @@ Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
 Defining \l__sort_length_int on line ...
-\l__sort_length_int=\count133
+\l__sort_length_int=\count134
 Defining \l__sort_min_int on line ...
-\l__sort_min_int=\count134
+\l__sort_min_int=\count135
 Defining \l__sort_top_int on line ...
-\l__sort_top_int=\count135
+\l__sort_top_int=\count136
 Defining \l__sort_max_int on line ...
-\l__sort_max_int=\count136
+\l__sort_max_int=\count137
 Defining \l__sort_true_max_int on line ...
-\l__sort_true_max_int=\count137
+\l__sort_true_max_int=\count138
 Defining \l__sort_block_int on line ...
-\l__sort_block_int=\count138
+\l__sort_block_int=\count139
 Defining \l__sort_begin_int on line ...
-\l__sort_begin_int=\count139
+\l__sort_begin_int=\count140
 Defining \l__sort_end_int on line ...
-\l__sort_end_int=\count140
+\l__sort_end_int=\count141
 Defining \l__sort_A_int on line ...
-\l__sort_A_int=\count141
+\l__sort_A_int=\count142
 Defining \l__sort_B_int on line ...
-\l__sort_B_int=\count142
+\l__sort_B_int=\count143
 Defining \l__sort_C_int on line ...
-\l__sort_C_int=\count143
+\l__sort_C_int=\count144
 Defining \__sort_shrink_range: on line ...
 Defining \__sort_shrink_range_loop: on line ...
 Defining \__sort_compute_range: on line ...
@@ -4328,6 +4340,567 @@ Defining message LaTeX/sort/return-none on line ...
 Defining message LaTeX/sort/return-two on line ...
 Defining \sort_ordered: on line ...
 Defining \sort_reversed: on line ...
+Defining \l__tl_build_start_index_int on line ...
+\l__tl_build_start_index_int=\count145
+Defining \l__tl_build_index_int on line ...
+\l__tl_build_index_int=\count146
+Defining \l__tl_build_result_tl on line ...
+Defining \__tl_build_unpack: on line ...
+Defining \__tl_build_unpack_loop:w on line ...
+Defining \__tl_build:Nw on line ...
+Defining \__tl_build_x:Nw on line ...
+Defining \__tl_gbuild:Nw on line ...
+Defining \__tl_gbuild_x:Nw on line ...
+Defining \__tl_build_aux:NNw on line ...
+Defining \__tl_build_end: on line ...
+Defining \__tl_build_end_assignment:n on line ...
+Defining \__tl_build_one:n on line ...
+Defining \__tl_build_one:o on line ...
+Defining \__tl_build_one:x on line ...
+Defining \s__tl on line ...
+Defining \l__tl_analysis_internal_tl on line ...
+Defining \l__tl_analysis_token on line ...
+Defining \l__tl_analysis_char_token on line ...
+Defining \l__tl_analysis_normal_int on line ...
+\l__tl_analysis_normal_int=\count147
+Defining \l__tl_analysis_index_int on line ...
+\l__tl_analysis_index_int=\count148
+Defining \l__tl_analysis_nesting_int on line ...
+\l__tl_analysis_nesting_int=\count149
+Defining \l__tl_analysis_type_int on line ...
+\l__tl_analysis_type_int=\count150
+Defining \g__tl_analysis_result_tl on line ...
+Defining \__tl_analysis_extract_charcode: on line ...
+Defining \__tl_analysis_extract_charcode_aux:w on line ...
+Defining \__tl_analysis_cs_space_count:NN on line ...
+Defining \__tl_analysis_cs_space_count:w on line ...
+Defining \__tl_analysis_cs_space_count_end:w on line ...
+Defining \__tl_analysis:n on line ...
+Defining \__tl_analysis_setup:n on line ...
+Defining \__tl_analysis_disable_loop:N on line ...
+Defining \__tl_analysis_a:n on line ...
+Defining \__tl_analysis_a_loop:w on line ...
+Defining \__tl_analysis_a_type:w on line ...
+Defining \__tl_analysis_a_space:w on line ...
+Defining \__tl_analysis_a_space_test:w on line ...
+Defining \__tl_analysis_a_bgroup:w on line ...
+Defining \__tl_analysis_a_egroup:w on line ...
+Defining \__tl_analysis_a_group:nw on line ...
+Defining \__tl_analysis_a_group_test:w on line ...
+Defining \__tl_analysis_a_store: on line ...
+Defining \__tl_analysis_a_safe:N on line ...
+Defining \__tl_analysis_a_cs:ww on line ...
+Defining \__tl_analysis_b:n on line ...
+Defining \__tl_analysis_b_loop:w on line ...
+Defining \__tl_analysis_b_normals:ww on line ...
+Defining \__tl_analysis_b_normal:wwN on line ...
+Defining \__tl_analysis_b_char:Nww on line ...
+Defining \__tl_analysis_b_cs:Nww on line ...
+Defining \__tl_analysis_b_cs_test:ww on line ...
+Defining \__tl_analysis_b_special:w on line ...
+Defining \__tl_analysis_b_special_char:wN on line ...
+Defining \__tl_analysis_b_special_space:w on line ...
+Defining \__tl_analysis_map_inline:nn on line ...
+Defining \__tl_analysis_map_inline_aux:Nn on line ...
+Defining \tl_show_analysis:N on line ...
+Defining \tl_show_analysis:n on line ...
+Defining \__tl_analysis_show: on line ...
+Defining \__tl_analysis_show_loop:wNw on line ...
+Defining \__tl_analysis_show_normal:n on line ...
+Defining \__tl_analysis_show_value:N on line ...
+Defining \__tl_analysis_show_cs:n on line ...
+Defining \__tl_analysis_show_active:n on line ...
+Defining \__tl_analysis_show_long:nn on line ...
+Defining \__tl_analysis_show_long_aux:nnnn on line ...
+Defining \exp_args:Noof on line ...
+Defining \__tl_analysis_show_long_aux:oofn on line ...
+Defining \c__tl_analysis_show_etc_str on line ...
+Defining message LaTeX/kernel/show-tl-analysis on line ...
+Defining \tl_to_str:V on line ...
+Defining \__regex_standard_escapechar: on line ...
+Defining \__regex_toks_use:w on line ...
+Defining \__regex_toks_clear:N on line ...
+Defining \__regex_toks_set:Nn on line ...
+Defining \__regex_toks_set:No on line ...
+Defining \__regex_toks_memcpy:NNn on line ...
+Defining \__regex_toks_put_left:Nx on line ...
+Defining \__regex_toks_put_right:Nx on line ...
+Defining \__regex_toks_put_right:Nn on line ...
+Defining \__regex_current_cs_to_str: on line ...
+Defining \__regex_tmp:w on line ...
+Defining \l__regex_internal_a_tl on line ...
+Defining \l__regex_internal_b_tl on line ...
+Defining \l__regex_internal_a_int on line ...
+\l__regex_internal_a_int=\count151
+Defining \l__regex_internal_b_int on line ...
+\l__regex_internal_b_int=\count152
+Defining \l__regex_internal_c_int on line ...
+\l__regex_internal_c_int=\count153
+Defining \l__regex_internal_bool on line ...
+Defining \l__regex_internal_seq on line ...
+Defining \g__regex_internal_tl on line ...
+Defining \c__regex_no_match_regex on line ...
+Defining \g__regex_charcode_intarray on line ...
+Defining \g__regex_catcode_intarray on line ...
+Defining \g__regex_balance_intarray on line ...
+Defining \l__regex_balance_int on line ...
+\l__regex_balance_int=\count154
+Defining \l__regex_cs_name_tl on line ...
+Defining \c__regex_ascii_min_int on line ...
+Defining \c__regex_ascii_max_control_int on line ...
+Defining \c__regex_ascii_max_int on line ...
+Defining \c__regex_ascii_lower_int on line ...
+Defining \__regex_break_true:w on line ...
+Defining \__regex_break_point:TF on line ...
+Defining \__regex_item_reverse:n on line ...
+Defining \__regex_item_caseful_equal:n on line ...
+Defining \__regex_item_caseful_range:nn on line ...
+Defining \__regex_item_caseless_equal:n on line ...
+Defining \__regex_item_caseless_range:nn on line ...
+Defining \__regex_compute_case_changed_char: on line ...
+Defining \__regex_item_equal:n on line ...
+Defining \__regex_item_range:nn on line ...
+Defining \__regex_item_catcode: on line ...
+Defining \__regex_item_catcode:nT on line ...
+Defining \__regex_item_catcode_reverse:nT on line ...
+Defining \__regex_item_exact:nn on line ...
+Defining \__regex_item_exact_cs:n on line ...
+Defining \__regex_item_cs:n on line ...
+Defining \__regex_prop_d: on line ...
+Defining \__regex_prop_h: on line ...
+Defining \__regex_prop_s: on line ...
+Defining \__regex_prop_v: on line ...
+Defining \__regex_prop_w: on line ...
+Defining \__regex_prop_N: on line ...
+Defining \__regex_posix_alnum: on line ...
+Defining \__regex_posix_alpha: on line ...
+Defining \__regex_posix_ascii: on line ...
+Defining \__regex_posix_blank: on line ...
+Defining \__regex_posix_cntrl: on line ...
+Defining \__regex_posix_digit: on line ...
+Defining \__regex_posix_graph: on line ...
+Defining \__regex_posix_lower: on line ...
+Defining \__regex_posix_print: on line ...
+Defining \__regex_posix_punct: on line ...
+Defining \__regex_posix_space: on line ...
+Defining \__regex_posix_upper: on line ...
+Defining \__regex_posix_word: on line ...
+Defining \__regex_posix_xdigit: on line ...
+Defining \__regex_escape_use:nnnn on line ...
+Defining \__regex_escape_loop:N on line ...
+Defining \__regex_escape_\:w on line ...
+Defining \__regex_escape_unescaped:N on line ...
+Defining \__regex_escape_escaped:N on line ...
+Defining \__regex_escape_raw:N on line ...
+Defining \__regex_escape_break:w on line ...
+Defining \__regex_escape_/break:w on line ...
+Defining \__regex_escape_ :w on line ...
+Defining \__regex_escape_/a:w on line ...
+Defining \__regex_escape_/t:w on line ...
+Defining \__regex_escape_/n:w on line ...
+Defining \__regex_escape_/f:w on line ...
+Defining \__regex_escape_/r:w on line ...
+Defining \__regex_escape_/e:w on line ...
+Defining \__regex_escape_/x:w on line ...
+Defining \__regex_escape_x_end:w on line ...
+Defining \__regex_escape_x_test:N on line ...
+Defining \__regex_escape_x_testii:N on line ...
+Defining \__regex_escape_x:N on line ...
+Defining \__regex_escape_x_loop:N on line ...
+Defining \__regex_escape_x_loop_error:n on line ...
+Defining \__regex_hexadecimal_use:NTF on line ...
+Defining \__regex_char_if_special:NTF on line ...
+Defining \__regex_char_if_alphanumeric:NTF on line ...
+Defining \l__regex_group_level_int on line ...
+\l__regex_group_level_int=\count155
+Defining \l__regex_mode_int on line ...
+\l__regex_mode_int=\count156
+Defining \c__regex_cs_in_class_mode_int on line ...
+\c__regex_cs_in_class_mode_int=\count157
+Defining \c__regex_cs_mode_int on line ...
+\c__regex_cs_mode_int=\count158
+Defining \c__regex_outer_mode_int on line ...
+Defining \c__regex_catcode_mode_int on line ...
+Defining \c__regex_class_mode_int on line ...
+Defining \c__regex_catcode_in_class_mode_int on line ...
+Defining \l__regex_catcodes_int on line ...
+\l__regex_catcodes_int=\count159
+Defining \l__regex_default_catcodes_int on line ...
+\l__regex_default_catcodes_int=\count160
+Defining \l__regex_catcodes_bool on line ...
+Defining \c__regex_catcode_C_int on line ...
+Defining \c__regex_catcode_B_int on line ...
+Defining \c__regex_catcode_E_int on line ...
+Defining \c__regex_catcode_M_int on line ...
+Defining \c__regex_catcode_T_int on line ...
+Defining \c__regex_catcode_P_int on line ...
+Defining \c__regex_catcode_U_int on line ...
+Defining \c__regex_catcode_D_int on line ...
+Defining \c__regex_catcode_S_int on line ...
+Defining \c__regex_catcode_L_int on line ...
+\c__regex_catcode_L_int=\count161
+Defining \c__regex_catcode_O_int on line ...
+\c__regex_catcode_O_int=\count162
+Defining \c__regex_catcode_A_int on line ...
+\c__regex_catcode_A_int=\count163
+Defining \c__regex_all_catcodes_int on line ...
+\c__regex_all_catcodes_int=\count164
+Defining \l__regex_internal_regex on line ...
+Defining \l__regex_show_prefix_seq on line ...
+Defining \l__regex_show_lines_int on line ...
+\l__regex_show_lines_int=\count165
+Defining \__regex_get_digits:NTFw on line ...
+Defining \__regex_get_digits_loop:nw on line ...
+Defining \__regex_if_raw_digit:NNTF on line ...
+Defining \__regex_if_in_class:TF on line ...
+Defining \__regex_if_in_cs:TF on line ...
+Defining \__regex_if_in_class_or_catcode:TF on line ...
+Defining \__regex_if_within_catcode:TF on line ...
+Defining \__regex_chk_c_allowed:T on line ...
+Defining \__regex_mode_quit_c: on line ...
+Defining \__regex_compile:w on line ...
+Defining \__regex_compile_end: on line ...
+Defining \__regex_compile:n on line ...
+Defining \__regex_compile_special:N on line ...
+Defining \__regex_compile_escaped:N on line ...
+Defining \__regex_compile_one:x on line ...
+Defining \__regex_compile_abort_tokens:n on line ...
+Defining \__regex_compile_abort_tokens:x on line ...
+Defining \__regex_compile_quantifier:w on line ...
+Defining \__regex_compile_quantifier_none: on line ...
+Defining \__regex_compile_quantifier_abort:xNN on line ...
+Defining \__regex_compile_quantifier_lazyness:nnNN on line ...
+Defining \__regex_compile_quantifier_?:w on line ...
+Defining \__regex_compile_quantifier_*:w on line ...
+Defining \__regex_compile_quantifier_+:w on line ...
+Defining \__regex_compile_quantifier_{:w on line ...
+Defining \__regex_compile_quantifier_braced_auxi:w on line ...
+Defining \__regex_compile_quantifier_braced_auxii:w on line ...
+Defining \__regex_compile_quantifier_braced_auxiii:w on line ...
+Defining \__regex_compile_raw_error:N on line ...
+Defining \__regex_compile_raw:N on line ...
+Defining \__regex_if_end_range:NNTF on line ...
+Defining \__regex_compile_range:Nw on line ...
+Defining \__regex_compile_.: on line ...
+Defining \__regex_prop_.: on line ...
+Defining \__regex_compile_/d: on line ...
+Defining \__regex_compile_/D: on line ...
+Defining \__regex_compile_/h: on line ...
+Defining \__regex_compile_/H: on line ...
+Defining \__regex_compile_/s: on line ...
+Defining \__regex_compile_/S: on line ...
+Defining \__regex_compile_/v: on line ...
+Defining \__regex_compile_/V: on line ...
+Defining \__regex_compile_/w: on line ...
+Defining \__regex_compile_/W: on line ...
+Defining \__regex_compile_/N: on line ...
+Defining \__regex_compile_anchor:NF on line ...
+Defining \__regex_compile_/A: on line ...
+Defining \__regex_compile_/G: on line ...
+Defining \__regex_compile_/Z: on line ...
+Defining \__regex_compile_/z: on line ...
+Defining \__regex_compile_^: on line ...
+Defining \__regex_compile_$: on line ...
+Defining \__regex_compile_/b: on line ...
+Defining \__regex_compile_/B: on line ...
+Defining \__regex_compile_]: on line ...
+Defining \__regex_compile_[: on line ...
+Defining \__regex_compile_class_normal:w on line ...
+Defining \__regex_compile_class_catcode:w on line ...
+Defining \__regex_compile_class:TFNN on line ...
+Defining \__regex_compile_class:NN on line ...
+Defining \__regex_compile_class_posix_test:w on line ...
+Defining \__regex_compile_class_posix:NNNNw on line ...
+Defining \__regex_compile_class_posix_loop:w on line ...
+Defining \__regex_compile_class_posix_end:w on line ...
+Defining \__regex_compile_group_begin:N on line ...
+Defining \__regex_compile_group_end: on line ...
+Defining \__regex_compile_(: on line ...
+Defining \__regex_compile_lparen:w on line ...
+Defining \__regex_compile_|: on line ...
+Defining \__regex_compile_): on line ...
+Defining \__regex_compile_special_group_::w on line ...
+Defining \__regex_compile_special_group_|:w on line ...
+Defining \__regex_compile_special_group_i:w on line ...
+Defining \__regex_compile_special_group_-:w on line ...
+Defining \__regex_compile_/c: on line ...
+Defining \__regex_compile_c_test:NN on line ...
+Defining \__regex_compile_c_[:w on line ...
+Defining \__regex_compile_c_lbrack_loop:NN on line ...
+Defining \__regex_compile_c_lbrack_add:N on line ...
+Defining \__regex_compile_c_lbrack_end: on line ...
+Defining \__regex_compile_c_{:w on line ...
+Defining \flag __regex_cs on line ...
+Defining \__regex_compile_}: on line ...
+Defining \__regex_compile_end_cs: on line ...
+Defining \__regex_compile_cs_aux:Nn on line ...
+Defining \__regex_compile_cs_aux:NNnnnN on line ...
+Defining \__regex_compile_/u: on line ...
+Defining \__regex_compile_u_loop:NN on line ...
+Defining \__regex_compile_u_end: on line ...
+Defining \__regex_compile_u_in_cs: on line ...
+Defining \__regex_compile_u_in_cs_aux:n on line ...
+Defining \__regex_compile_u_not_cs: on line ...
+Defining \__regex_compile_/K: on line ...
+Defining \__regex_show:Nn on line ...
+Defining \__regex_show_one:n on line ...
+Defining \__regex_show_push:n on line ...
+Defining \__regex_show_pop: on line ...
+Defining \__regex_show_scope:nn on line ...
+Defining \__regex_show_group_aux:nnnnN on line ...
+Defining \__regex_show_anchor_to_str:N on line ...
+Defining \__regex_show_item_catcode:NnT on line ...
+Defining \__regex_show_item_exact_cs:n on line ...
+Defining \l__regex_min_state_int on line ...
+\l__regex_min_state_int=\count166
+Defining \l__regex_max_state_int on line ...
+\l__regex_max_state_int=\count167
+Defining \l__regex_left_state_int on line ...
+\l__regex_left_state_int=\count168
+Defining \l__regex_right_state_int on line ...
+\l__regex_right_state_int=\count169
+Defining \l__regex_left_state_seq on line ...
+Defining \l__regex_right_state_seq on line ...
+Defining \l__regex_capturing_group_int on line ...
+\l__regex_capturing_group_int=\count170
+Defining \__regex_build:n on line ...
+Defining \__regex_build:N on line ...
+Defining \__regex_build_for_cs:n on line ...
+Defining \__regex_push_lr_states: on line ...
+Defining \__regex_pop_lr_states: on line ...
+Defining \__regex_build_transition_left:NNN on line ...
+Defining \__regex_build_transition_right:nNn on line ...
+Defining \__regex_build_new_state: on line ...
+Defining \__regex_build_transitions_lazyness:NNNNN on line ...
+Defining \__regex_class:NnnnN on line ...
+Defining \__regex_tests_action_cost:n on line ...
+Defining \__regex_class_repeat:n on line ...
+Defining \__regex_class_repeat:nN on line ...
+Defining \__regex_class_repeat:nnN on line ...
+Defining \__regex_group_aux:nnnnN on line ...
+Defining \__regex_group:nnnN on line ...
+Defining \__regex_group_no_capture:nnnN on line ...
+Defining \__regex_group_resetting:nnnN on line ...
+Defining \__regex_group_resetting_loop:nnNn on line ...
+Defining \__regex_branch:n on line ...
+Defining \__regex_group_repeat:nn on line ...
+Defining \__regex_group_submatches:nNN on line ...
+Defining \__regex_group_repeat_aux:n on line ...
+Defining \__regex_group_repeat:nnN on line ...
+Defining \__regex_group_repeat:nnnN on line ...
+Defining \__regex_assertion:Nn on line ...
+Defining \__regex_anchor:N on line ...
+Defining \__regex_b_test: on line ...
+Defining \__regex_command_K: on line ...
+Defining \l__regex_min_pos_int on line ...
+\l__regex_min_pos_int=\count171
+Defining \l__regex_max_pos_int on line ...
+\l__regex_max_pos_int=\count172
+Defining \l__regex_current_pos_int on line ...
+\l__regex_current_pos_int=\count173
+Defining \l__regex_start_pos_int on line ...
+\l__regex_start_pos_int=\count174
+Defining \l__regex_success_pos_int on line ...
+\l__regex_success_pos_int=\count175
+Defining \l__regex_current_char_int on line ...
+\l__regex_current_char_int=\count176
+Defining \l__regex_current_catcode_int on line ...
+\l__regex_current_catcode_int=\count177
+Defining \l__regex_last_char_int on line ...
+\l__regex_last_char_int=\count178
+Defining \l__regex_case_changed_char_int on line ...
+\l__regex_case_changed_char_int=\count179
+Defining \l__regex_current_state_int on line ...
+\l__regex_current_state_int=\count180
+Defining \l__regex_current_submatches_prop on line ...
+Defining \l__regex_success_submatches_prop on line ...
+Defining \l__regex_step_int on line ...
+\l__regex_step_int=\count181
+Defining \l__regex_min_active_int on line ...
+\l__regex_min_active_int=\count182
+Defining \l__regex_max_active_int on line ...
+\l__regex_max_active_int=\count183
+Defining \g__regex_state_active_intarray on line ...
+Defining \g__regex_thread_state_intarray on line ...
+Defining \l__regex_every_match_tl on line ...
+Defining \l__regex_fresh_thread_bool on line ...
+Defining \l__regex_empty_success_bool on line ...
+Defining \__regex_if_two_empty_matches:F on line ...
+Defining \g__regex_success_bool on line ...
+Defining \l__regex_saved_success_bool on line ...
+Defining \l__regex_match_success_bool on line ...
+Defining \__regex_match:n on line ...
+Defining \__regex_match_once: on line ...
+Defining \__regex_single_match: on line ...
+Defining \__regex_multi_match:n on line ...
+Defining \__regex_match_loop: on line ...
+Defining \__regex_match_one_active:n on line ...
+Defining \__regex_query_set:nnn on line ...
+Defining \__regex_query_get: on line ...
+Defining \__regex_use_state: on line ...
+Defining \__regex_use_state_and_submatches:nn on line ...
+Defining \__regex_action_start_wildcard: on line ...
+Defining \__regex_action_free:n on line ...
+Defining \__regex_action_free_group:n on line ...
+Defining \__regex_action_free_aux:nn on line ...
+Defining \__regex_action_cost:n on line ...
+Defining \__regex_store_state:n on line ...
+Defining \__regex_store_submatches: on line ...
+Defining \__regex_disable_submatches: on line ...
+Defining \__regex_action_submatch:n on line ...
+Defining \__regex_action_success: on line ...
+Defining \l__regex_replacement_csnames_int on line ...
+\l__regex_replacement_csnames_int=\count184
+Defining \l__regex_replacement_category_tl on line ...
+Defining \l__regex_replacement_category_seq on line ...
+Defining \l__regex_balance_tl on line ...
+Defining \__regex_replacement_balance_one_match:n on line ...
+Defining \__regex_replacement_do_one_match:n on line ...
+Defining \__regex_replacement_exp_not:N on line ...
+Defining \__regex_query_range:nn on line ...
+Defining \__regex_query_range_loop:ww on line ...
+Defining \__regex_query_submatch:n on line ...
+Defining \__regex_submatch_balance:n on line ...
+Defining \__regex_replacement:n on line ...
+Defining \__regex_replacement_aux:n on line ...
+Defining \__regex_replacement_normal:n on line ...
+Defining \__regex_replacement_escaped:N on line ...
+Defining \__regex_replacement_put_submatch:n on line ...
+Defining \__regex_replacement_g:w on line ...
+Defining \__regex_replacement_g_digits:NN on line ...
+Defining \__regex_replacement_c:w on line ...
+Defining \__regex_replacement_cu_aux:Nw on line ...
+Defining \__regex_replacement_u:w on line ...
+Defining \__regex_replacement_rbrace:N on line ...
+Defining \__regex_replacement_cat:NNN on line ...
+Defining \__regex_replacement_char:nNN on line ...
+Defining \__regex_replacement_c_A:w on line ...
+Defining \__regex_replacement_c_B:w on line ...
+Defining \__regex_replacement_c_C:w on line ...
+Defining \__regex_replacement_c_D:w on line ...
+Defining \__regex_replacement_c_E:w on line ...
+Defining \__regex_replacement_c_L:w on line ...
+Defining \__regex_replacement_c_M:w on line ...
+Defining \__regex_replacement_c_O:w on line ...
+Defining \__regex_replacement_c_P:w on line ...
+Defining \__regex_replacement_c_S:w on line ...
+Defining \__regex_replacement_c_T:w on line ...
+Defining \__regex_replacement_c_U:w on line ...
+Defining \__regex_replacement_error:NNN on line ...
+Defining \regex_new:N on line ...
+Defining \regex_set:Nn on line ...
+Defining \regex_gset:Nn on line ...
+Defining \regex_const:Nn on line ...
+Defining \regex_show:n on line ...
+Defining \regex_show:N on line ...
+Defining \regex_match:nnT on line ...
+Defining \regex_match:nnF on line ...
+Defining \regex_match:nnTF on line ...
+Defining \regex_match:NnT on line ...
+Defining \regex_match:NnF on line ...
+Defining \regex_match:NnTF on line ...
+Defining \regex_count:nnN on line ...
+Defining \regex_count:NnN on line ...
+Defining \regex_extract_once:nnN on line ...
+Defining \regex_extract_once:NnN on line ...
+Defining \regex_extract_once:nnNT on line ...
+Defining \regex_extract_once:nnNF on line ...
+Defining \regex_extract_once:nnNTF on line ...
+Defining \regex_extract_once:NnNT on line ...
+Defining \regex_extract_once:NnNF on line ...
+Defining \regex_extract_once:NnNTF on line ...
+Defining \regex_extract_all:nnN on line ...
+Defining \regex_extract_all:NnN on line ...
+Defining \regex_extract_all:nnNT on line ...
+Defining \regex_extract_all:nnNF on line ...
+Defining \regex_extract_all:nnNTF on line ...
+Defining \regex_extract_all:NnNT on line ...
+Defining \regex_extract_all:NnNF on line ...
+Defining \regex_extract_all:NnNTF on line ...
+Defining \regex_replace_once:nnN on line ...
+Defining \regex_replace_once:NnN on line ...
+Defining \regex_replace_once:nnNT on line ...
+Defining \regex_replace_once:nnNF on line ...
+Defining \regex_replace_once:nnNTF on line ...
+Defining \regex_replace_once:NnNT on line ...
+Defining \regex_replace_once:NnNF on line ...
+Defining \regex_replace_once:NnNTF on line ...
+Defining \regex_replace_all:nnN on line ...
+Defining \regex_replace_all:NnN on line ...
+Defining \regex_replace_all:nnNT on line ...
+Defining \regex_replace_all:nnNF on line ...
+Defining \regex_replace_all:nnNTF on line ...
+Defining \regex_replace_all:NnNT on line ...
+Defining \regex_replace_all:NnNF on line ...
+Defining \regex_replace_all:NnNTF on line ...
+Defining \regex_split:nnN on line ...
+Defining \regex_split:NnN on line ...
+Defining \regex_split:nnNT on line ...
+Defining \regex_split:nnNF on line ...
+Defining \regex_split:nnNTF on line ...
+Defining \regex_split:NnNT on line ...
+Defining \regex_split:NnNF on line ...
+Defining \regex_split:NnNTF on line ...
+Defining \l__regex_match_count_int on line ...
+\l__regex_match_count_int=\count185
+Defining \flag __regex_begin on line ...
+Defining \flag __regex_end on line ...
+Defining \l__regex_min_submatch_int on line ...
+\l__regex_min_submatch_int=\count186
+Defining \l__regex_submatch_int on line ...
+\l__regex_submatch_int=\count187
+Defining \l__regex_zeroth_submatch_int on line ...
+\l__regex_zeroth_submatch_int=\count188
+Defining \g__regex_submatch_prev_intarray on line ...
+Defining \g__regex_submatch_begin_intarray on line ...
+Defining \g__regex_submatch_end_intarray on line ...
+Defining \__regex_return: on line ...
+Defining \__regex_if_match:nn on line ...
+Defining \__regex_count:nnN on line ...
+Defining \__regex_extract_once:nnN on line ...
+Defining \__regex_extract_all:nnN on line ...
+Defining \__regex_split:nnN on line ...
+Defining \__regex_group_end_extract_seq:N on line ...
+Defining \__regex_extract_seq_aux:n on line ...
+Defining \__regex_extract_seq_aux:ww on line ...
+Defining \__regex_extract: on line ...
+Defining \__regex_extract_b:wn on line ...
+Defining \__regex_extract_e:wn on line ...
+Defining \__regex_replace_once:nnN on line ...
+Defining \__regex_replace_all:nnN on line ...
+Defining \__regex_group_end_replace:N on line ...
+Defining message LaTeX/regex/trailing-backslash on line ...
+Defining message LaTeX/regex/x-missing-rbrace on line ...
+Defining message LaTeX/regex/x-overflow on line ...
+Defining message LaTeX/regex/invalid-quantifier on line ...
+Defining message LaTeX/regex/missing-rbrack on line ...
+Defining message LaTeX/regex/missing-rparen on line ...
+Defining message LaTeX/regex/extra-rparen on line ...
+Defining message LaTeX/regex/bad-escape on line ...
+Defining message LaTeX/regex/range-missing-end on line ...
+Defining message LaTeX/regex/range-backwards on line ...
+Defining message LaTeX/regex/c-bad-mode on line ...
+Defining message LaTeX/regex/c-missing-rbrace on line ...
+Defining message LaTeX/regex/c-missing-rbrack on line ...
+Defining message LaTeX/regex/c-missing-category on line ...
+Defining message LaTeX/regex/c-trailing on line ...
+Defining message LaTeX/regex/u-missing-lbrace on line ...
+Defining message LaTeX/regex/u-missing-rbrace on line ...
+Defining message LaTeX/regex/posix-unsupported on line ...
+Defining message LaTeX/regex/posix-unknown on line ...
+Defining message LaTeX/regex/posix-missing-close on line ...
+Defining message LaTeX/regex/result-unbalanced on line ...
+Defining message LaTeX/regex/unknown-option on line ...
+Defining message LaTeX/regex/special-group-unknown on line ...
+Defining message LaTeX/regex/replacement-c on line ...
+Defining message LaTeX/regex/replacement-u on line ...
+Defining message LaTeX/regex/replacement-g on line ...
+Defining message LaTeX/regex/replacement-catcode-end on line ...
+Defining message LaTeX/regex/replacement-catcode-in-cs on line ...
+Defining message LaTeX/regex/replacement-null-space on line ...
+Defining message LaTeX/regex/replacement-missing-rbrace on line ...
+Defining message LaTeX/regex/replacement-missing-rparen on line ...
+Defining \__regex_msg_repeated:nnN on line ...
 Defining \box_new:N on line ...
 Defining \box_new:c on line ...
 Defining \box_clear:N on line ...
@@ -5031,7 +5604,7 @@ Defining \__driver_color_ensure_current: on line ...
 Defining \__driver_color_reset: on line ...
 Defining \__driver_image_getbb_eps:n on line ...
 Defining \g__driver_image_int on line ...
-\g__driver_image_int=\count144
+\g__driver_image_int=\count189
 Defining \__driver_image_include_eps:n on line ...
 Defining \__driver_image_include_jpg:n on line ...
 Defining \__driver_image_include_png:n on line ...
diff --git a/l3kernel/testfiles/m3expl004.luatex.tlg b/l3kernel/testfiles/m3expl004.luatex.tlg
index e7a825e..051277f 100644
--- a/l3kernel/testfiles/m3expl004.luatex.tlg
+++ b/l3kernel/testfiles/m3expl004.luatex.tlg
@@ -8,12 +8,13 @@ Don't change this file in any respect.
 \l_tmpb_int=\count114
 \g_tmpa_int=\count115
 \g_tmpb_int=\count116
-\g__prg_map_int=\count117
-\c_log_iow=\count118
-\l_iow_line_count_int=\count119
-\l__iow_line_target_int=\count120
-\l__iow_one_indent_int=\count121
-\l__iow_indent_int=\count122
+\g__intarray_font_int=\count117
+\g__prg_map_int=\count118
+\c_log_iow=\count119
+\l_iow_line_count_int=\count120
+\l__iow_line_target_int=\count121
+\l__iow_one_indent_int=\count122
+\l__iow_indent_int=\count123
 \c_zero_dim=\dimen132
 \c_max_dim=\dimen133
 \l_tmpa_dim=\dimen134
@@ -32,30 +33,74 @@ Don't change this file in any respect.
 \l_tmpb_muskip=\muskip43
 \g_tmpa_muskip=\muskip44
 \g_tmpb_muskip=\muskip45
-\l_keys_choice_int=\count123
-\c__fp_leading_shift_int=\count124
-\c__fp_middle_shift_int=\count125
-\c__fp_trailing_shift_int=\count126
-\c__fp_big_leading_shift_int=\count127
-\c__fp_big_middle_shift_int=\count128
-\c__fp_big_trailing_shift_int=\count129
-\c__fp_Bigg_leading_shift_int=\count130
-\c__fp_Bigg_middle_shift_int=\count131
-\c__fp_Bigg_trailing_shift_int=\count132
-\c__fp_rand_size_int=\count133
-\c__fp_rand_four_int=\count134
-\c__fp_rand_eight_int=\count135
-\l__sort_length_int=\count136
-\l__sort_min_int=\count137
-\l__sort_top_int=\count138
-\l__sort_max_int=\count139
-\l__sort_true_max_int=\count140
-\l__sort_block_int=\count141
-\l__sort_begin_int=\count142
-\l__sort_end_int=\count143
-\l__sort_A_int=\count144
-\l__sort_B_int=\count145
-\l__sort_C_int=\count146
+\l_keys_choice_int=\count124
+\c__fp_leading_shift_int=\count125
+\c__fp_middle_shift_int=\count126
+\c__fp_trailing_shift_int=\count127
+\c__fp_big_leading_shift_int=\count128
+\c__fp_big_middle_shift_int=\count129
+\c__fp_big_trailing_shift_int=\count130
+\c__fp_Bigg_leading_shift_int=\count131
+\c__fp_Bigg_middle_shift_int=\count132
+\c__fp_Bigg_trailing_shift_int=\count133
+\c__fp_rand_size_int=\count134
+\c__fp_rand_four_int=\count135
+\c__fp_rand_eight_int=\count136
+\l__sort_length_int=\count137
+\l__sort_min_int=\count138
+\l__sort_top_int=\count139
+\l__sort_max_int=\count140
+\l__sort_true_max_int=\count141
+\l__sort_block_int=\count142
+\l__sort_begin_int=\count143
+\l__sort_end_int=\count144
+\l__sort_A_int=\count145
+\l__sort_B_int=\count146
+\l__sort_C_int=\count147
+\l__tl_build_start_index_int=\count148
+\l__tl_build_index_int=\count149
+\l__tl_analysis_normal_int=\count150
+\l__tl_analysis_index_int=\count151
+\l__tl_analysis_nesting_int=\count152
+\l__tl_analysis_type_int=\count153
+\l__regex_internal_a_int=\count154
+\l__regex_internal_b_int=\count155
+\l__regex_internal_c_int=\count156
+\l__regex_balance_int=\count157
+\l__regex_group_level_int=\count158
+\l__regex_mode_int=\count159
+\c__regex_cs_in_class_mode_int=\count160
+\c__regex_cs_mode_int=\count161
+\l__regex_catcodes_int=\count162
+\l__regex_default_catcodes_int=\count163
+\c__regex_catcode_L_int=\count164
+\c__regex_catcode_O_int=\count165
+\c__regex_catcode_A_int=\count166
+\c__regex_all_catcodes_int=\count167
+\l__regex_show_lines_int=\count168
+\l__regex_min_state_int=\count169
+\l__regex_max_state_int=\count170
+\l__regex_left_state_int=\count171
+\l__regex_right_state_int=\count172
+\l__regex_capturing_group_int=\count173
+\l__regex_min_pos_int=\count174
+\l__regex_max_pos_int=\count175
+\l__regex_current_pos_int=\count176
+\l__regex_start_pos_int=\count177
+\l__regex_success_pos_int=\count178
+\l__regex_current_char_int=\count179
+\l__regex_current_catcode_int=\count180
+\l__regex_last_char_int=\count181
+\l__regex_case_changed_char_int=\count182
+\l__regex_current_state_int=\count183
+\l__regex_step_int=\count184
+\l__regex_min_active_int=\count185
+\l__regex_max_active_int=\count186
+\l__regex_replacement_csnames_int=\count187
+\l__regex_match_count_int=\count188
+\l__regex_min_submatch_int=\count189
+\l__regex_submatch_int=\count190
+\l__regex_zeroth_submatch_int=\count191
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
@@ -97,6 +142,6 @@ Don't change this file in any respect.
 \l__coffin_scaled_total_height_dim=\dimen161
 \l__coffin_scaled_width_dim=\dimen162
 ) (l3pdfmode.def
-\l__driver_color_stack_int=\count147
+\l__driver_color_stack_int=\count192
 \l__driver_tmp_box=\box71
 ))
diff --git a/l3kernel/testfiles/m3expl004.ptex.tlg b/l3kernel/testfiles/m3expl004.ptex.tlg
index a2b72f2..602356a 100644
--- a/l3kernel/testfiles/m3expl004.ptex.tlg
+++ b/l3kernel/testfiles/m3expl004.ptex.tlg
@@ -7,12 +7,13 @@ Don't change this file in any respect.
 \l_tmpb_int=\count115
 \g_tmpa_int=\count116
 \g_tmpb_int=\count117
-\g__prg_map_int=\count118
-\c_log_iow=\count119
-\l_iow_line_count_int=\count120
-\l__iow_line_target_int=\count121
-\l__iow_one_indent_int=\count122
-\l__iow_indent_int=\count123
+\g__intarray_font_int=\count118
+\g__prg_map_int=\count119
+\c_log_iow=\count120
+\l_iow_line_count_int=\count121
+\l__iow_line_target_int=\count122
+\l__iow_one_indent_int=\count123
+\l__iow_indent_int=\count124
 \c_zero_dim=\dimen132
 \c_max_dim=\dimen133
 \l_tmpa_dim=\dimen134
@@ -31,27 +32,73 @@ Don't change this file in any respect.
 \l_tmpb_muskip=\muskip43
 \g_tmpa_muskip=\muskip44
 \g_tmpb_muskip=\muskip45
-\l_keys_choice_int=\count124
-\c__fp_leading_shift_int=\count125
-\c__fp_middle_shift_int=\count126
-\c__fp_trailing_shift_int=\count127
-\c__fp_big_leading_shift_int=\count128
-\c__fp_big_middle_shift_int=\count129
-\c__fp_big_trailing_shift_int=\count130
-\c__fp_Bigg_leading_shift_int=\count131
-\c__fp_Bigg_middle_shift_int=\count132
-\c__fp_Bigg_trailing_shift_int=\count133
-\l__sort_length_int=\count134
-\l__sort_min_int=\count135
-\l__sort_top_int=\count136
-\l__sort_max_int=\count137
-\l__sort_true_max_int=\count138
-\l__sort_block_int=\count139
-\l__sort_begin_int=\count140
-\l__sort_end_int=\count141
-\l__sort_A_int=\count142
-\l__sort_B_int=\count143
-\l__sort_C_int=\count144
+\l_keys_choice_int=\count125
+\c__fp_leading_shift_int=\count126
+\c__fp_middle_shift_int=\count127
+\c__fp_trailing_shift_int=\count128
+\c__fp_big_leading_shift_int=\count129
+\c__fp_big_middle_shift_int=\count130
+\c__fp_big_trailing_shift_int=\count131
+\c__fp_Bigg_leading_shift_int=\count132
+\c__fp_Bigg_middle_shift_int=\count133
+\c__fp_Bigg_trailing_shift_int=\count134
+\l__sort_length_int=\count135
+\l__sort_min_int=\count136
+\l__sort_top_int=\count137
+\l__sort_max_int=\count138
+\l__sort_true_max_int=\count139
+\l__sort_block_int=\count140
+\l__sort_begin_int=\count141
+\l__sort_end_int=\count142
+\l__sort_A_int=\count143
+\l__sort_B_int=\count144
+\l__sort_C_int=\count145
+\l__tl_build_start_index_int=\count146
+\l__tl_build_index_int=\count147
+\l__tl_analysis_normal_int=\count148
+\l__tl_analysis_index_int=\count149
+\l__tl_analysis_nesting_int=\count150
+\l__tl_analysis_type_int=\count151
+\l__regex_internal_a_int=\count152
+\l__regex_internal_b_int=\count153
+\l__regex_internal_c_int=\count154
+\l__regex_balance_int=\count155
+\l__regex_group_level_int=\count156
+\l__regex_mode_int=\count157
+\c__regex_cs_in_class_mode_int=\count158
+\c__regex_cs_mode_int=\count159
+\l__regex_catcodes_int=\count160
+\l__regex_default_catcodes_int=\count161
+\c__regex_catcode_D_int=\count162
+\c__regex_catcode_S_int=\count163
+\c__regex_catcode_L_int=\count164
+\c__regex_catcode_O_int=\count165
+\c__regex_catcode_A_int=\count166
+\c__regex_all_catcodes_int=\count167
+\l__regex_show_lines_int=\count168
+\l__regex_min_state_int=\count169
+\l__regex_max_state_int=\count170
+\l__regex_left_state_int=\count171
+\l__regex_right_state_int=\count172
+\l__regex_capturing_group_int=\count173
+\l__regex_min_pos_int=\count174
+\l__regex_max_pos_int=\count175
+\l__regex_current_pos_int=\count176
+\l__regex_start_pos_int=\count177
+\l__regex_success_pos_int=\count178
+\l__regex_current_char_int=\count179
+\l__regex_current_catcode_int=\count180
+\l__regex_last_char_int=\count181
+\l__regex_case_changed_char_int=\count182
+\l__regex_current_state_int=\count183
+\l__regex_step_int=\count184
+\l__regex_min_active_int=\count185
+\l__regex_max_active_int=\count186
+\l__regex_replacement_csnames_int=\count187
+\l__regex_match_count_int=\count188
+\l__regex_min_submatch_int=\count189
+\l__regex_submatch_int=\count190
+\l__regex_zeroth_submatch_int=\count191
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
@@ -93,6 +140,6 @@ Don't change this file in any respect.
 \l__coffin_scaled_total_height_dim=\dimen161
 \l__coffin_scaled_width_dim=\dimen162
 ) (l3dvipdfmx.def
-\g__driver_image_int=\count145
+\g__driver_image_int=\count192
 \l__driver_tmp_box=\box71
 ))
diff --git a/l3kernel/testfiles/m3expl004.tlg b/l3kernel/testfiles/m3expl004.tlg
index 1436076..b81288b 100644
--- a/l3kernel/testfiles/m3expl004.tlg
+++ b/l3kernel/testfiles/m3expl004.tlg
@@ -7,12 +7,13 @@ Don't change this file in any respect.
 \l_tmpb_int=\count114
 \g_tmpa_int=\count115
 \g_tmpb_int=\count116
-\g__prg_map_int=\count117
-\c_log_iow=\count118
-\l_iow_line_count_int=\count119
-\l__iow_line_target_int=\count120
-\l__iow_one_indent_int=\count121
-\l__iow_indent_int=\count122
+\g__intarray_font_int=\count117
+\g__prg_map_int=\count118
+\c_log_iow=\count119
+\l_iow_line_count_int=\count120
+\l__iow_line_target_int=\count121
+\l__iow_one_indent_int=\count122
+\l__iow_indent_int=\count123
 \c_zero_dim=\dimen132
 \c_max_dim=\dimen133
 \l_tmpa_dim=\dimen134
@@ -31,30 +32,76 @@ Don't change this file in any respect.
 \l_tmpb_muskip=\muskip43
 \g_tmpa_muskip=\muskip44
 \g_tmpb_muskip=\muskip45
-\l_keys_choice_int=\count123
-\c__fp_leading_shift_int=\count124
-\c__fp_middle_shift_int=\count125
-\c__fp_trailing_shift_int=\count126
-\c__fp_big_leading_shift_int=\count127
-\c__fp_big_middle_shift_int=\count128
-\c__fp_big_trailing_shift_int=\count129
-\c__fp_Bigg_leading_shift_int=\count130
-\c__fp_Bigg_middle_shift_int=\count131
-\c__fp_Bigg_trailing_shift_int=\count132
-\c__fp_rand_size_int=\count133
-\c__fp_rand_four_int=\count134
-\c__fp_rand_eight_int=\count135
-\l__sort_length_int=\count136
-\l__sort_min_int=\count137
-\l__sort_top_int=\count138
-\l__sort_max_int=\count139
-\l__sort_true_max_int=\count140
-\l__sort_block_int=\count141
-\l__sort_begin_int=\count142
-\l__sort_end_int=\count143
-\l__sort_A_int=\count144
-\l__sort_B_int=\count145
-\l__sort_C_int=\count146
+\l_keys_choice_int=\count124
+\c__fp_leading_shift_int=\count125
+\c__fp_middle_shift_int=\count126
+\c__fp_trailing_shift_int=\count127
+\c__fp_big_leading_shift_int=\count128
+\c__fp_big_middle_shift_int=\count129
+\c__fp_big_trailing_shift_int=\count130
+\c__fp_Bigg_leading_shift_int=\count131
+\c__fp_Bigg_middle_shift_int=\count132
+\c__fp_Bigg_trailing_shift_int=\count133
+\c__fp_rand_size_int=\count134
+\c__fp_rand_four_int=\count135
+\c__fp_rand_eight_int=\count136
+\l__sort_length_int=\count137
+\l__sort_min_int=\count138
+\l__sort_top_int=\count139
+\l__sort_max_int=\count140
+\l__sort_true_max_int=\count141
+\l__sort_block_int=\count142
+\l__sort_begin_int=\count143
+\l__sort_end_int=\count144
+\l__sort_A_int=\count145
+\l__sort_B_int=\count146
+\l__sort_C_int=\count147
+\l__tl_build_start_index_int=\count148
+\l__tl_build_index_int=\count149
+\l__tl_analysis_normal_int=\count150
+\l__tl_analysis_index_int=\count151
+\l__tl_analysis_nesting_int=\count152
+\l__tl_analysis_type_int=\count153
+\l__regex_internal_a_int=\count154
+\l__regex_internal_b_int=\count155
+\l__regex_internal_c_int=\count156
+\l__regex_balance_int=\count157
+\l__regex_group_level_int=\count158
+\l__regex_mode_int=\count159
+\c__regex_cs_in_class_mode_int=\count160
+\c__regex_cs_mode_int=\count161
+\l__regex_catcodes_int=\count162
+\l__regex_default_catcodes_int=\count163
+\c__regex_catcode_D_int=\count164
+\c__regex_catcode_S_int=\count165
+\c__regex_catcode_L_int=\count166
+\c__regex_catcode_O_int=\count167
+\c__regex_catcode_A_int=\count168
+\c__regex_all_catcodes_int=\count169
+\l__regex_show_lines_int=\count170
+\l__regex_min_state_int=\count171
+\l__regex_max_state_int=\count172
+\l__regex_left_state_int=\count173
+\l__regex_right_state_int=\count174
+\l__regex_capturing_group_int=\count175
+\l__regex_min_pos_int=\count176
+\l__regex_max_pos_int=\count177
+\l__regex_current_pos_int=\count178
+\l__regex_start_pos_int=\count179
+\l__regex_success_pos_int=\count180
+\l__regex_current_char_int=\count181
+\l__regex_current_catcode_int=\count182
+\l__regex_last_char_int=\count183
+\l__regex_case_changed_char_int=\count184
+\l__regex_current_state_int=\count185
+\l__regex_step_int=\count186
+\l__regex_min_active_int=\count187
+\l__regex_max_active_int=\count188
+\l__regex_replacement_csnames_int=\count189
+\l__regex_match_count_int=\count190
+\l__regex_min_submatch_int=\count191
+\l__regex_submatch_int=\count192
+\l__regex_zeroth_submatch_int=\count193
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
@@ -96,6 +143,6 @@ Don't change this file in any respect.
 \l__coffin_scaled_total_height_dim=\dimen161
 \l__coffin_scaled_width_dim=\dimen162
 ) (l3pdfmode.def
-\l__driver_color_stack_int=\count147
+\l__driver_color_stack_int=\count194
 \l__driver_tmp_box=\box71
 ))
diff --git a/l3kernel/testfiles/m3expl004.uptex.tlg b/l3kernel/testfiles/m3expl004.uptex.tlg
index a2b72f2..df0039a 100644
--- a/l3kernel/testfiles/m3expl004.uptex.tlg
+++ b/l3kernel/testfiles/m3expl004.uptex.tlg
@@ -7,12 +7,13 @@ Don't change this file in any respect.
 \l_tmpb_int=\count115
 \g_tmpa_int=\count116
 \g_tmpb_int=\count117
-\g__prg_map_int=\count118
-\c_log_iow=\count119
-\l_iow_line_count_int=\count120
-\l__iow_line_target_int=\count121
-\l__iow_one_indent_int=\count122
-\l__iow_indent_int=\count123
+\g__intarray_font_int=\count118
+\g__prg_map_int=\count119
+\c_log_iow=\count120
+\l_iow_line_count_int=\count121
+\l__iow_line_target_int=\count122
+\l__iow_one_indent_int=\count123
+\l__iow_indent_int=\count124
 \c_zero_dim=\dimen132
 \c_max_dim=\dimen133
 \l_tmpa_dim=\dimen134
@@ -31,27 +32,71 @@ Don't change this file in any respect.
 \l_tmpb_muskip=\muskip43
 \g_tmpa_muskip=\muskip44
 \g_tmpb_muskip=\muskip45
-\l_keys_choice_int=\count124
-\c__fp_leading_shift_int=\count125
-\c__fp_middle_shift_int=\count126
-\c__fp_trailing_shift_int=\count127
-\c__fp_big_leading_shift_int=\count128
-\c__fp_big_middle_shift_int=\count129
-\c__fp_big_trailing_shift_int=\count130
-\c__fp_Bigg_leading_shift_int=\count131
-\c__fp_Bigg_middle_shift_int=\count132
-\c__fp_Bigg_trailing_shift_int=\count133
-\l__sort_length_int=\count134
-\l__sort_min_int=\count135
-\l__sort_top_int=\count136
-\l__sort_max_int=\count137
-\l__sort_true_max_int=\count138
-\l__sort_block_int=\count139
-\l__sort_begin_int=\count140
-\l__sort_end_int=\count141
-\l__sort_A_int=\count142
-\l__sort_B_int=\count143
-\l__sort_C_int=\count144
+\l_keys_choice_int=\count125
+\c__fp_leading_shift_int=\count126
+\c__fp_middle_shift_int=\count127
+\c__fp_trailing_shift_int=\count128
+\c__fp_big_leading_shift_int=\count129
+\c__fp_big_middle_shift_int=\count130
+\c__fp_big_trailing_shift_int=\count131
+\c__fp_Bigg_leading_shift_int=\count132
+\c__fp_Bigg_middle_shift_int=\count133
+\c__fp_Bigg_trailing_shift_int=\count134
+\l__sort_length_int=\count135
+\l__sort_min_int=\count136
+\l__sort_top_int=\count137
+\l__sort_max_int=\count138
+\l__sort_true_max_int=\count139
+\l__sort_block_int=\count140
+\l__sort_begin_int=\count141
+\l__sort_end_int=\count142
+\l__sort_A_int=\count143
+\l__sort_B_int=\count144
+\l__sort_C_int=\count145
+\l__tl_build_start_index_int=\count146
+\l__tl_build_index_int=\count147
+\l__tl_analysis_normal_int=\count148
+\l__tl_analysis_index_int=\count149
+\l__tl_analysis_nesting_int=\count150
+\l__tl_analysis_type_int=\count151
+\l__regex_internal_a_int=\count152
+\l__regex_internal_b_int=\count153
+\l__regex_internal_c_int=\count154
+\l__regex_balance_int=\count155
+\l__regex_group_level_int=\count156
+\l__regex_mode_int=\count157
+\c__regex_cs_in_class_mode_int=\count158
+\c__regex_cs_mode_int=\count159
+\l__regex_catcodes_int=\count160
+\l__regex_default_catcodes_int=\count161
+\c__regex_catcode_L_int=\count162
+\c__regex_catcode_O_int=\count163
+\c__regex_catcode_A_int=\count164
+\c__regex_all_catcodes_int=\count165
+\l__regex_show_lines_int=\count166
+\l__regex_min_state_int=\count167
+\l__regex_max_state_int=\count168
+\l__regex_left_state_int=\count169
+\l__regex_right_state_int=\count170
+\l__regex_capturing_group_int=\count171
+\l__regex_min_pos_int=\count172
+\l__regex_max_pos_int=\count173
+\l__regex_current_pos_int=\count174
+\l__regex_start_pos_int=\count175
+\l__regex_success_pos_int=\count176
+\l__regex_current_char_int=\count177
+\l__regex_current_catcode_int=\count178
+\l__regex_last_char_int=\count179
+\l__regex_case_changed_char_int=\count180
+\l__regex_current_state_int=\count181
+\l__regex_step_int=\count182
+\l__regex_min_active_int=\count183
+\l__regex_max_active_int=\count184
+\l__regex_replacement_csnames_int=\count185
+\l__regex_match_count_int=\count186
+\l__regex_min_submatch_int=\count187
+\l__regex_submatch_int=\count188
+\l__regex_zeroth_submatch_int=\count189
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
@@ -93,6 +138,6 @@ Don't change this file in any respect.
 \l__coffin_scaled_total_height_dim=\dimen161
 \l__coffin_scaled_width_dim=\dimen162
 ) (l3dvipdfmx.def
-\g__driver_image_int=\count145
+\g__driver_image_int=\count190
 \l__driver_tmp_box=\box71
 ))
diff --git a/l3kernel/testfiles/m3expl004.xetex.tlg b/l3kernel/testfiles/m3expl004.xetex.tlg
index e57b3cc..706f6b7 100644
--- a/l3kernel/testfiles/m3expl004.xetex.tlg
+++ b/l3kernel/testfiles/m3expl004.xetex.tlg
@@ -7,12 +7,13 @@ Don't change this file in any respect.
 \l_tmpb_int=\count114
 \g_tmpa_int=\count115
 \g_tmpb_int=\count116
-\g__prg_map_int=\count117
-\c_log_iow=\count118
-\l_iow_line_count_int=\count119
-\l__iow_line_target_int=\count120
-\l__iow_one_indent_int=\count121
-\l__iow_indent_int=\count122
+\g__intarray_font_int=\count117
+\g__prg_map_int=\count118
+\c_log_iow=\count119
+\l_iow_line_count_int=\count120
+\l__iow_line_target_int=\count121
+\l__iow_one_indent_int=\count122
+\l__iow_indent_int=\count123
 \c_zero_dim=\dimen132
 \c_max_dim=\dimen133
 \l_tmpa_dim=\dimen134
@@ -31,27 +32,71 @@ Don't change this file in any respect.
 \l_tmpb_muskip=\muskip43
 \g_tmpa_muskip=\muskip44
 \g_tmpb_muskip=\muskip45
-\l_keys_choice_int=\count123
-\c__fp_leading_shift_int=\count124
-\c__fp_middle_shift_int=\count125
-\c__fp_trailing_shift_int=\count126
-\c__fp_big_leading_shift_int=\count127
-\c__fp_big_middle_shift_int=\count128
-\c__fp_big_trailing_shift_int=\count129
-\c__fp_Bigg_leading_shift_int=\count130
-\c__fp_Bigg_middle_shift_int=\count131
-\c__fp_Bigg_trailing_shift_int=\count132
-\l__sort_length_int=\count133
-\l__sort_min_int=\count134
-\l__sort_top_int=\count135
-\l__sort_max_int=\count136
-\l__sort_true_max_int=\count137
-\l__sort_block_int=\count138
-\l__sort_begin_int=\count139
-\l__sort_end_int=\count140
-\l__sort_A_int=\count141
-\l__sort_B_int=\count142
-\l__sort_C_int=\count143
+\l_keys_choice_int=\count124
+\c__fp_leading_shift_int=\count125
+\c__fp_middle_shift_int=\count126
+\c__fp_trailing_shift_int=\count127
+\c__fp_big_leading_shift_int=\count128
+\c__fp_big_middle_shift_int=\count129
+\c__fp_big_trailing_shift_int=\count130
+\c__fp_Bigg_leading_shift_int=\count131
+\c__fp_Bigg_middle_shift_int=\count132
+\c__fp_Bigg_trailing_shift_int=\count133
+\l__sort_length_int=\count134
+\l__sort_min_int=\count135
+\l__sort_top_int=\count136
+\l__sort_max_int=\count137
+\l__sort_true_max_int=\count138
+\l__sort_block_int=\count139
+\l__sort_begin_int=\count140
+\l__sort_end_int=\count141
+\l__sort_A_int=\count142
+\l__sort_B_int=\count143
+\l__sort_C_int=\count144
+\l__tl_build_start_index_int=\count145
+\l__tl_build_index_int=\count146
+\l__tl_analysis_normal_int=\count147
+\l__tl_analysis_index_int=\count148
+\l__tl_analysis_nesting_int=\count149
+\l__tl_analysis_type_int=\count150
+\l__regex_internal_a_int=\count151
+\l__regex_internal_b_int=\count152
+\l__regex_internal_c_int=\count153
+\l__regex_balance_int=\count154
+\l__regex_group_level_int=\count155
+\l__regex_mode_int=\count156
+\c__regex_cs_in_class_mode_int=\count157
+\c__regex_cs_mode_int=\count158
+\l__regex_catcodes_int=\count159
+\l__regex_default_catcodes_int=\count160
+\c__regex_catcode_L_int=\count161
+\c__regex_catcode_O_int=\count162
+\c__regex_catcode_A_int=\count163
+\c__regex_all_catcodes_int=\count164
+\l__regex_show_lines_int=\count165
+\l__regex_min_state_int=\count166
+\l__regex_max_state_int=\count167
+\l__regex_left_state_int=\count168
+\l__regex_right_state_int=\count169
+\l__regex_capturing_group_int=\count170
+\l__regex_min_pos_int=\count171
+\l__regex_max_pos_int=\count172
+\l__regex_current_pos_int=\count173
+\l__regex_start_pos_int=\count174
+\l__regex_success_pos_int=\count175
+\l__regex_current_char_int=\count176
+\l__regex_current_catcode_int=\count177
+\l__regex_last_char_int=\count178
+\l__regex_case_changed_char_int=\count179
+\l__regex_current_state_int=\count180
+\l__regex_step_int=\count181
+\l__regex_min_active_int=\count182
+\l__regex_max_active_int=\count183
+\l__regex_replacement_csnames_int=\count184
+\l__regex_match_count_int=\count185
+\l__regex_min_submatch_int=\count186
+\l__regex_submatch_int=\count187
+\l__regex_zeroth_submatch_int=\count188
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
@@ -93,6 +138,6 @@ Don't change this file in any respect.
 \l__coffin_scaled_total_height_dim=\dimen161
 \l__coffin_scaled_width_dim=\dimen162
 ) (l3xdvipdfmx.def
-\g__driver_image_int=\count144
+\g__driver_image_int=\count189
 \l__driver_tmp_box=\box71
 ))
diff --git a/l3kernel/testfiles/m3expl006.luatex.tlg b/l3kernel/testfiles/m3expl006.luatex.tlg
index 9bbba16..a145d9a 100644
--- a/l3kernel/testfiles/m3expl006.luatex.tlg
+++ b/l3kernel/testfiles/m3expl006.luatex.tlg
@@ -9,12 +9,13 @@ Author: Bruno Le Floch and Joseph Wright
 \l_tmpb_int=\count114
 \g_tmpa_int=\count115
 \g_tmpb_int=\count116
-\g__prg_map_int=\count117
-\c_log_iow=\count118
-\l_iow_line_count_int=\count119
-\l__iow_line_target_int=\count120
-\l__iow_one_indent_int=\count121
-\l__iow_indent_int=\count122
+\g__intarray_font_int=\count117
+\g__prg_map_int=\count118
+\c_log_iow=\count119
+\l_iow_line_count_int=\count120
+\l__iow_line_target_int=\count121
+\l__iow_one_indent_int=\count122
+\l__iow_indent_int=\count123
 \c_zero_dim=\dimen132
 \c_max_dim=\dimen133
 \l_tmpa_dim=\dimen134
@@ -33,30 +34,74 @@ Author: Bruno Le Floch and Joseph Wright
 \l_tmpb_muskip=\muskip43
 \g_tmpa_muskip=\muskip44
 \g_tmpb_muskip=\muskip45
-\l_keys_choice_int=\count123
-\c__fp_leading_shift_int=\count124
-\c__fp_middle_shift_int=\count125
-\c__fp_trailing_shift_int=\count126
-\c__fp_big_leading_shift_int=\count127
-\c__fp_big_middle_shift_int=\count128
-\c__fp_big_trailing_shift_int=\count129
-\c__fp_Bigg_leading_shift_int=\count130
-\c__fp_Bigg_middle_shift_int=\count131
-\c__fp_Bigg_trailing_shift_int=\count132
-\c__fp_rand_size_int=\count133
-\c__fp_rand_four_int=\count134
-\c__fp_rand_eight_int=\count135
-\l__sort_length_int=\count136
-\l__sort_min_int=\count137
-\l__sort_top_int=\count138
-\l__sort_max_int=\count139
-\l__sort_true_max_int=\count140
-\l__sort_block_int=\count141
-\l__sort_begin_int=\count142
-\l__sort_end_int=\count143
-\l__sort_A_int=\count144
-\l__sort_B_int=\count145
-\l__sort_C_int=\count146
+\l_keys_choice_int=\count124
+\c__fp_leading_shift_int=\count125
+\c__fp_middle_shift_int=\count126
+\c__fp_trailing_shift_int=\count127
+\c__fp_big_leading_shift_int=\count128
+\c__fp_big_middle_shift_int=\count129
+\c__fp_big_trailing_shift_int=\count130
+\c__fp_Bigg_leading_shift_int=\count131
+\c__fp_Bigg_middle_shift_int=\count132
+\c__fp_Bigg_trailing_shift_int=\count133
+\c__fp_rand_size_int=\count134
+\c__fp_rand_four_int=\count135
+\c__fp_rand_eight_int=\count136
+\l__sort_length_int=\count137
+\l__sort_min_int=\count138
+\l__sort_top_int=\count139
+\l__sort_max_int=\count140
+\l__sort_true_max_int=\count141
+\l__sort_block_int=\count142
+\l__sort_begin_int=\count143
+\l__sort_end_int=\count144
+\l__sort_A_int=\count145
+\l__sort_B_int=\count146
+\l__sort_C_int=\count147
+\l__tl_build_start_index_int=\count148
+\l__tl_build_index_int=\count149
+\l__tl_analysis_normal_int=\count150
+\l__tl_analysis_index_int=\count151
+\l__tl_analysis_nesting_int=\count152
+\l__tl_analysis_type_int=\count153
+\l__regex_internal_a_int=\count154
+\l__regex_internal_b_int=\count155
+\l__regex_internal_c_int=\count156
+\l__regex_balance_int=\count157
+\l__regex_group_level_int=\count158
+\l__regex_mode_int=\count159
+\c__regex_cs_in_class_mode_int=\count160
+\c__regex_cs_mode_int=\count161
+\l__regex_catcodes_int=\count162
+\l__regex_default_catcodes_int=\count163
+\c__regex_catcode_L_int=\count164
+\c__regex_catcode_O_int=\count165
+\c__regex_catcode_A_int=\count166
+\c__regex_all_catcodes_int=\count167
+\l__regex_show_lines_int=\count168
+\l__regex_min_state_int=\count169
+\l__regex_max_state_int=\count170
+\l__regex_left_state_int=\count171
+\l__regex_right_state_int=\count172
+\l__regex_capturing_group_int=\count173
+\l__regex_min_pos_int=\count174
+\l__regex_max_pos_int=\count175
+\l__regex_current_pos_int=\count176
+\l__regex_start_pos_int=\count177
+\l__regex_success_pos_int=\count178
+\l__regex_current_char_int=\count179
+\l__regex_current_catcode_int=\count180
+\l__regex_last_char_int=\count181
+\l__regex_case_changed_char_int=\count182
+\l__regex_current_state_int=\count183
+\l__regex_step_int=\count184
+\l__regex_min_active_int=\count185
+\l__regex_max_active_int=\count186
+\l__regex_replacement_csnames_int=\count187
+\l__regex_match_count_int=\count188
+\l__regex_min_submatch_int=\count189
+\l__regex_submatch_int=\count190
+\l__regex_zeroth_submatch_int=\count191
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
@@ -98,6 +143,6 @@ Author: Bruno Le Floch and Joseph Wright
 \l__coffin_scaled_total_height_dim=\dimen161
 \l__coffin_scaled_width_dim=\dimen162
 ) (l3pdfmode.def
-\l__driver_color_stack_int=\count147
+\l__driver_color_stack_int=\count192
 \l__driver_tmp_box=\box71
 ))
diff --git a/l3kernel/testfiles/m3expl006.ptex.tlg b/l3kernel/testfiles/m3expl006.ptex.tlg
index 457751d..44ff859 100644
--- a/l3kernel/testfiles/m3expl006.ptex.tlg
+++ b/l3kernel/testfiles/m3expl006.ptex.tlg
@@ -8,12 +8,13 @@ Author: Bruno Le Floch and Joseph Wright
 \l_tmpb_int=\count115
 \g_tmpa_int=\count116
 \g_tmpb_int=\count117
-\g__prg_map_int=\count118
-\c_log_iow=\count119
-\l_iow_line_count_int=\count120
-\l__iow_line_target_int=\count121
-\l__iow_one_indent_int=\count122
-\l__iow_indent_int=\count123
+\g__intarray_font_int=\count118
+\g__prg_map_int=\count119
+\c_log_iow=\count120
+\l_iow_line_count_int=\count121
+\l__iow_line_target_int=\count122
+\l__iow_one_indent_int=\count123
+\l__iow_indent_int=\count124
 \c_zero_dim=\dimen132
 \c_max_dim=\dimen133
 \l_tmpa_dim=\dimen134
@@ -32,27 +33,73 @@ Author: Bruno Le Floch and Joseph Wright
 \l_tmpb_muskip=\muskip43
 \g_tmpa_muskip=\muskip44
 \g_tmpb_muskip=\muskip45
-\l_keys_choice_int=\count124
-\c__fp_leading_shift_int=\count125
-\c__fp_middle_shift_int=\count126
-\c__fp_trailing_shift_int=\count127
-\c__fp_big_leading_shift_int=\count128
-\c__fp_big_middle_shift_int=\count129
-\c__fp_big_trailing_shift_int=\count130
-\c__fp_Bigg_leading_shift_int=\count131
-\c__fp_Bigg_middle_shift_int=\count132
-\c__fp_Bigg_trailing_shift_int=\count133
-\l__sort_length_int=\count134
-\l__sort_min_int=\count135
-\l__sort_top_int=\count136
-\l__sort_max_int=\count137
-\l__sort_true_max_int=\count138
-\l__sort_block_int=\count139
-\l__sort_begin_int=\count140
-\l__sort_end_int=\count141
-\l__sort_A_int=\count142
-\l__sort_B_int=\count143
-\l__sort_C_int=\count144
+\l_keys_choice_int=\count125
+\c__fp_leading_shift_int=\count126
+\c__fp_middle_shift_int=\count127
+\c__fp_trailing_shift_int=\count128
+\c__fp_big_leading_shift_int=\count129
+\c__fp_big_middle_shift_int=\count130
+\c__fp_big_trailing_shift_int=\count131
+\c__fp_Bigg_leading_shift_int=\count132
+\c__fp_Bigg_middle_shift_int=\count133
+\c__fp_Bigg_trailing_shift_int=\count134
+\l__sort_length_int=\count135
+\l__sort_min_int=\count136
+\l__sort_top_int=\count137
+\l__sort_max_int=\count138
+\l__sort_true_max_int=\count139
+\l__sort_block_int=\count140
+\l__sort_begin_int=\count141
+\l__sort_end_int=\count142
+\l__sort_A_int=\count143
+\l__sort_B_int=\count144
+\l__sort_C_int=\count145
+\l__tl_build_start_index_int=\count146
+\l__tl_build_index_int=\count147
+\l__tl_analysis_normal_int=\count148
+\l__tl_analysis_index_int=\count149
+\l__tl_analysis_nesting_int=\count150
+\l__tl_analysis_type_int=\count151
+\l__regex_internal_a_int=\count152
+\l__regex_internal_b_int=\count153
+\l__regex_internal_c_int=\count154
+\l__regex_balance_int=\count155
+\l__regex_group_level_int=\count156
+\l__regex_mode_int=\count157
+\c__regex_cs_in_class_mode_int=\count158
+\c__regex_cs_mode_int=\count159
+\l__regex_catcodes_int=\count160
+\l__regex_default_catcodes_int=\count161
+\c__regex_catcode_D_int=\count162
+\c__regex_catcode_S_int=\count163
+\c__regex_catcode_L_int=\count164
+\c__regex_catcode_O_int=\count165
+\c__regex_catcode_A_int=\count166
+\c__regex_all_catcodes_int=\count167
+\l__regex_show_lines_int=\count168
+\l__regex_min_state_int=\count169
+\l__regex_max_state_int=\count170
+\l__regex_left_state_int=\count171
+\l__regex_right_state_int=\count172
+\l__regex_capturing_group_int=\count173
+\l__regex_min_pos_int=\count174
+\l__regex_max_pos_int=\count175
+\l__regex_current_pos_int=\count176
+\l__regex_start_pos_int=\count177
+\l__regex_success_pos_int=\count178
+\l__regex_current_char_int=\count179
+\l__regex_current_catcode_int=\count180
+\l__regex_last_char_int=\count181
+\l__regex_case_changed_char_int=\count182
+\l__regex_current_state_int=\count183
+\l__regex_step_int=\count184
+\l__regex_min_active_int=\count185
+\l__regex_max_active_int=\count186
+\l__regex_replacement_csnames_int=\count187
+\l__regex_match_count_int=\count188
+\l__regex_min_submatch_int=\count189
+\l__regex_submatch_int=\count190
+\l__regex_zeroth_submatch_int=\count191
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
@@ -94,6 +141,6 @@ Author: Bruno Le Floch and Joseph Wright
 \l__coffin_scaled_total_height_dim=\dimen161
 \l__coffin_scaled_width_dim=\dimen162
 ) (l3dvipdfmx.def
-\g__driver_image_int=\count145
+\g__driver_image_int=\count192
 \l__driver_tmp_box=\box71
 ))
diff --git a/l3kernel/testfiles/m3expl006.tlg b/l3kernel/testfiles/m3expl006.tlg
index db745e3..50fd3a9 100644
--- a/l3kernel/testfiles/m3expl006.tlg
+++ b/l3kernel/testfiles/m3expl006.tlg
@@ -8,12 +8,13 @@ Author: Bruno Le Floch and Joseph Wright
 \l_tmpb_int=\count114
 \g_tmpa_int=\count115
 \g_tmpb_int=\count116
-\g__prg_map_int=\count117
-\c_log_iow=\count118
-\l_iow_line_count_int=\count119
-\l__iow_line_target_int=\count120
-\l__iow_one_indent_int=\count121
-\l__iow_indent_int=\count122
+\g__intarray_font_int=\count117
+\g__prg_map_int=\count118
+\c_log_iow=\count119
+\l_iow_line_count_int=\count120
+\l__iow_line_target_int=\count121
+\l__iow_one_indent_int=\count122
+\l__iow_indent_int=\count123
 \c_zero_dim=\dimen132
 \c_max_dim=\dimen133
 \l_tmpa_dim=\dimen134
@@ -32,30 +33,76 @@ Author: Bruno Le Floch and Joseph Wright
 \l_tmpb_muskip=\muskip43
 \g_tmpa_muskip=\muskip44
 \g_tmpb_muskip=\muskip45
-\l_keys_choice_int=\count123
-\c__fp_leading_shift_int=\count124
-\c__fp_middle_shift_int=\count125
-\c__fp_trailing_shift_int=\count126
-\c__fp_big_leading_shift_int=\count127
-\c__fp_big_middle_shift_int=\count128
-\c__fp_big_trailing_shift_int=\count129
-\c__fp_Bigg_leading_shift_int=\count130
-\c__fp_Bigg_middle_shift_int=\count131
-\c__fp_Bigg_trailing_shift_int=\count132
-\c__fp_rand_size_int=\count133
-\c__fp_rand_four_int=\count134
-\c__fp_rand_eight_int=\count135
-\l__sort_length_int=\count136
-\l__sort_min_int=\count137
-\l__sort_top_int=\count138
-\l__sort_max_int=\count139
-\l__sort_true_max_int=\count140
-\l__sort_block_int=\count141
-\l__sort_begin_int=\count142
-\l__sort_end_int=\count143
-\l__sort_A_int=\count144
-\l__sort_B_int=\count145
-\l__sort_C_int=\count146
+\l_keys_choice_int=\count124
+\c__fp_leading_shift_int=\count125
+\c__fp_middle_shift_int=\count126
+\c__fp_trailing_shift_int=\count127
+\c__fp_big_leading_shift_int=\count128
+\c__fp_big_middle_shift_int=\count129
+\c__fp_big_trailing_shift_int=\count130
+\c__fp_Bigg_leading_shift_int=\count131
+\c__fp_Bigg_middle_shift_int=\count132
+\c__fp_Bigg_trailing_shift_int=\count133
+\c__fp_rand_size_int=\count134
+\c__fp_rand_four_int=\count135
+\c__fp_rand_eight_int=\count136
+\l__sort_length_int=\count137
+\l__sort_min_int=\count138
+\l__sort_top_int=\count139
+\l__sort_max_int=\count140
+\l__sort_true_max_int=\count141
+\l__sort_block_int=\count142
+\l__sort_begin_int=\count143
+\l__sort_end_int=\count144
+\l__sort_A_int=\count145
+\l__sort_B_int=\count146
+\l__sort_C_int=\count147
+\l__tl_build_start_index_int=\count148
+\l__tl_build_index_int=\count149
+\l__tl_analysis_normal_int=\count150
+\l__tl_analysis_index_int=\count151
+\l__tl_analysis_nesting_int=\count152
+\l__tl_analysis_type_int=\count153
+\l__regex_internal_a_int=\count154
+\l__regex_internal_b_int=\count155
+\l__regex_internal_c_int=\count156
+\l__regex_balance_int=\count157
+\l__regex_group_level_int=\count158
+\l__regex_mode_int=\count159
+\c__regex_cs_in_class_mode_int=\count160
+\c__regex_cs_mode_int=\count161
+\l__regex_catcodes_int=\count162
+\l__regex_default_catcodes_int=\count163
+\c__regex_catcode_D_int=\count164
+\c__regex_catcode_S_int=\count165
+\c__regex_catcode_L_int=\count166
+\c__regex_catcode_O_int=\count167
+\c__regex_catcode_A_int=\count168
+\c__regex_all_catcodes_int=\count169
+\l__regex_show_lines_int=\count170
+\l__regex_min_state_int=\count171
+\l__regex_max_state_int=\count172
+\l__regex_left_state_int=\count173
+\l__regex_right_state_int=\count174
+\l__regex_capturing_group_int=\count175
+\l__regex_min_pos_int=\count176
+\l__regex_max_pos_int=\count177
+\l__regex_current_pos_int=\count178
+\l__regex_start_pos_int=\count179
+\l__regex_success_pos_int=\count180
+\l__regex_current_char_int=\count181
+\l__regex_current_catcode_int=\count182
+\l__regex_last_char_int=\count183
+\l__regex_case_changed_char_int=\count184
+\l__regex_current_state_int=\count185
+\l__regex_step_int=\count186
+\l__regex_min_active_int=\count187
+\l__regex_max_active_int=\count188
+\l__regex_replacement_csnames_int=\count189
+\l__regex_match_count_int=\count190
+\l__regex_min_submatch_int=\count191
+\l__regex_submatch_int=\count192
+\l__regex_zeroth_submatch_int=\count193
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
@@ -97,6 +144,6 @@ Author: Bruno Le Floch and Joseph Wright
 \l__coffin_scaled_total_height_dim=\dimen161
 \l__coffin_scaled_width_dim=\dimen162
 ) (l3pdfmode.def
-\l__driver_color_stack_int=\count147
+\l__driver_color_stack_int=\count194
 \l__driver_tmp_box=\box71
 ))
diff --git a/l3kernel/testfiles/m3expl006.uptex.tlg b/l3kernel/testfiles/m3expl006.uptex.tlg
index 457751d..888d75c 100644
--- a/l3kernel/testfiles/m3expl006.uptex.tlg
+++ b/l3kernel/testfiles/m3expl006.uptex.tlg
@@ -8,12 +8,13 @@ Author: Bruno Le Floch and Joseph Wright
 \l_tmpb_int=\count115
 \g_tmpa_int=\count116
 \g_tmpb_int=\count117
-\g__prg_map_int=\count118
-\c_log_iow=\count119
-\l_iow_line_count_int=\count120
-\l__iow_line_target_int=\count121
-\l__iow_one_indent_int=\count122
-\l__iow_indent_int=\count123
+\g__intarray_font_int=\count118
+\g__prg_map_int=\count119
+\c_log_iow=\count120
+\l_iow_line_count_int=\count121
+\l__iow_line_target_int=\count122
+\l__iow_one_indent_int=\count123
+\l__iow_indent_int=\count124
 \c_zero_dim=\dimen132
 \c_max_dim=\dimen133
 \l_tmpa_dim=\dimen134
@@ -32,27 +33,71 @@ Author: Bruno Le Floch and Joseph Wright
 \l_tmpb_muskip=\muskip43
 \g_tmpa_muskip=\muskip44
 \g_tmpb_muskip=\muskip45
-\l_keys_choice_int=\count124
-\c__fp_leading_shift_int=\count125
-\c__fp_middle_shift_int=\count126
-\c__fp_trailing_shift_int=\count127
-\c__fp_big_leading_shift_int=\count128
-\c__fp_big_middle_shift_int=\count129
-\c__fp_big_trailing_shift_int=\count130
-\c__fp_Bigg_leading_shift_int=\count131
-\c__fp_Bigg_middle_shift_int=\count132
-\c__fp_Bigg_trailing_shift_int=\count133
-\l__sort_length_int=\count134
-\l__sort_min_int=\count135
-\l__sort_top_int=\count136
-\l__sort_max_int=\count137
-\l__sort_true_max_int=\count138
-\l__sort_block_int=\count139
-\l__sort_begin_int=\count140
-\l__sort_end_int=\count141
-\l__sort_A_int=\count142
-\l__sort_B_int=\count143
-\l__sort_C_int=\count144
+\l_keys_choice_int=\count125
+\c__fp_leading_shift_int=\count126
+\c__fp_middle_shift_int=\count127
+\c__fp_trailing_shift_int=\count128
+\c__fp_big_leading_shift_int=\count129
+\c__fp_big_middle_shift_int=\count130
+\c__fp_big_trailing_shift_int=\count131
+\c__fp_Bigg_leading_shift_int=\count132
+\c__fp_Bigg_middle_shift_int=\count133
+\c__fp_Bigg_trailing_shift_int=\count134
+\l__sort_length_int=\count135
+\l__sort_min_int=\count136
+\l__sort_top_int=\count137
+\l__sort_max_int=\count138
+\l__sort_true_max_int=\count139
+\l__sort_block_int=\count140
+\l__sort_begin_int=\count141
+\l__sort_end_int=\count142
+\l__sort_A_int=\count143
+\l__sort_B_int=\count144
+\l__sort_C_int=\count145
+\l__tl_build_start_index_int=\count146
+\l__tl_build_index_int=\count147
+\l__tl_analysis_normal_int=\count148
+\l__tl_analysis_index_int=\count149
+\l__tl_analysis_nesting_int=\count150
+\l__tl_analysis_type_int=\count151
+\l__regex_internal_a_int=\count152
+\l__regex_internal_b_int=\count153
+\l__regex_internal_c_int=\count154
+\l__regex_balance_int=\count155
+\l__regex_group_level_int=\count156
+\l__regex_mode_int=\count157
+\c__regex_cs_in_class_mode_int=\count158
+\c__regex_cs_mode_int=\count159
+\l__regex_catcodes_int=\count160
+\l__regex_default_catcodes_int=\count161
+\c__regex_catcode_L_int=\count162
+\c__regex_catcode_O_int=\count163
+\c__regex_catcode_A_int=\count164
+\c__regex_all_catcodes_int=\count165
+\l__regex_show_lines_int=\count166
+\l__regex_min_state_int=\count167
+\l__regex_max_state_int=\count168
+\l__regex_left_state_int=\count169
+\l__regex_right_state_int=\count170
+\l__regex_capturing_group_int=\count171
+\l__regex_min_pos_int=\count172
+\l__regex_max_pos_int=\count173
+\l__regex_current_pos_int=\count174
+\l__regex_start_pos_int=\count175
+\l__regex_success_pos_int=\count176
+\l__regex_current_char_int=\count177
+\l__regex_current_catcode_int=\count178
+\l__regex_last_char_int=\count179
+\l__regex_case_changed_char_int=\count180
+\l__regex_current_state_int=\count181
+\l__regex_step_int=\count182
+\l__regex_min_active_int=\count183
+\l__regex_max_active_int=\count184
+\l__regex_replacement_csnames_int=\count185
+\l__regex_match_count_int=\count186
+\l__regex_min_submatch_int=\count187
+\l__regex_submatch_int=\count188
+\l__regex_zeroth_submatch_int=\count189
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
@@ -94,6 +139,6 @@ Author: Bruno Le Floch and Joseph Wright
 \l__coffin_scaled_total_height_dim=\dimen161
 \l__coffin_scaled_width_dim=\dimen162
 ) (l3dvipdfmx.def
-\g__driver_image_int=\count145
+\g__driver_image_int=\count190
 \l__driver_tmp_box=\box71
 ))
diff --git a/l3kernel/testfiles/m3expl006.xetex.tlg b/l3kernel/testfiles/m3expl006.xetex.tlg
index 54ffc7f..c5c0c26 100644
--- a/l3kernel/testfiles/m3expl006.xetex.tlg
+++ b/l3kernel/testfiles/m3expl006.xetex.tlg
@@ -8,12 +8,13 @@ Author: Bruno Le Floch and Joseph Wright
 \l_tmpb_int=\count114
 \g_tmpa_int=\count115
 \g_tmpb_int=\count116
-\g__prg_map_int=\count117
-\c_log_iow=\count118
-\l_iow_line_count_int=\count119
-\l__iow_line_target_int=\count120
-\l__iow_one_indent_int=\count121
-\l__iow_indent_int=\count122
+\g__intarray_font_int=\count117
+\g__prg_map_int=\count118
+\c_log_iow=\count119
+\l_iow_line_count_int=\count120
+\l__iow_line_target_int=\count121
+\l__iow_one_indent_int=\count122
+\l__iow_indent_int=\count123
 \c_zero_dim=\dimen132
 \c_max_dim=\dimen133
 \l_tmpa_dim=\dimen134
@@ -32,27 +33,71 @@ Author: Bruno Le Floch and Joseph Wright
 \l_tmpb_muskip=\muskip43
 \g_tmpa_muskip=\muskip44
 \g_tmpb_muskip=\muskip45
-\l_keys_choice_int=\count123
-\c__fp_leading_shift_int=\count124
-\c__fp_middle_shift_int=\count125
-\c__fp_trailing_shift_int=\count126
-\c__fp_big_leading_shift_int=\count127
-\c__fp_big_middle_shift_int=\count128
-\c__fp_big_trailing_shift_int=\count129
-\c__fp_Bigg_leading_shift_int=\count130
-\c__fp_Bigg_middle_shift_int=\count131
-\c__fp_Bigg_trailing_shift_int=\count132
-\l__sort_length_int=\count133
-\l__sort_min_int=\count134
-\l__sort_top_int=\count135
-\l__sort_max_int=\count136
-\l__sort_true_max_int=\count137
-\l__sort_block_int=\count138
-\l__sort_begin_int=\count139
-\l__sort_end_int=\count140
-\l__sort_A_int=\count141
-\l__sort_B_int=\count142
-\l__sort_C_int=\count143
+\l_keys_choice_int=\count124
+\c__fp_leading_shift_int=\count125
+\c__fp_middle_shift_int=\count126
+\c__fp_trailing_shift_int=\count127
+\c__fp_big_leading_shift_int=\count128
+\c__fp_big_middle_shift_int=\count129
+\c__fp_big_trailing_shift_int=\count130
+\c__fp_Bigg_leading_shift_int=\count131
+\c__fp_Bigg_middle_shift_int=\count132
+\c__fp_Bigg_trailing_shift_int=\count133
+\l__sort_length_int=\count134
+\l__sort_min_int=\count135
+\l__sort_top_int=\count136
+\l__sort_max_int=\count137
+\l__sort_true_max_int=\count138
+\l__sort_block_int=\count139
+\l__sort_begin_int=\count140
+\l__sort_end_int=\count141
+\l__sort_A_int=\count142
+\l__sort_B_int=\count143
+\l__sort_C_int=\count144
+\l__tl_build_start_index_int=\count145
+\l__tl_build_index_int=\count146
+\l__tl_analysis_normal_int=\count147
+\l__tl_analysis_index_int=\count148
+\l__tl_analysis_nesting_int=\count149
+\l__tl_analysis_type_int=\count150
+\l__regex_internal_a_int=\count151
+\l__regex_internal_b_int=\count152
+\l__regex_internal_c_int=\count153
+\l__regex_balance_int=\count154
+\l__regex_group_level_int=\count155
+\l__regex_mode_int=\count156
+\c__regex_cs_in_class_mode_int=\count157
+\c__regex_cs_mode_int=\count158
+\l__regex_catcodes_int=\count159
+\l__regex_default_catcodes_int=\count160
+\c__regex_catcode_L_int=\count161
+\c__regex_catcode_O_int=\count162
+\c__regex_catcode_A_int=\count163
+\c__regex_all_catcodes_int=\count164
+\l__regex_show_lines_int=\count165
+\l__regex_min_state_int=\count166
+\l__regex_max_state_int=\count167
+\l__regex_left_state_int=\count168
+\l__regex_right_state_int=\count169
+\l__regex_capturing_group_int=\count170
+\l__regex_min_pos_int=\count171
+\l__regex_max_pos_int=\count172
+\l__regex_current_pos_int=\count173
+\l__regex_start_pos_int=\count174
+\l__regex_success_pos_int=\count175
+\l__regex_current_char_int=\count176
+\l__regex_current_catcode_int=\count177
+\l__regex_last_char_int=\count178
+\l__regex_case_changed_char_int=\count179
+\l__regex_current_state_int=\count180
+\l__regex_step_int=\count181
+\l__regex_min_active_int=\count182
+\l__regex_max_active_int=\count183
+\l__regex_replacement_csnames_int=\count184
+\l__regex_match_count_int=\count185
+\l__regex_min_submatch_int=\count186
+\l__regex_submatch_int=\count187
+\l__regex_zeroth_submatch_int=\count188
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
@@ -94,6 +139,6 @@ Author: Bruno Le Floch and Joseph Wright
 \l__coffin_scaled_total_height_dim=\dimen161
 \l__coffin_scaled_width_dim=\dimen162
 ) (l3xdvipdfmx.def
-\g__driver_image_int=\count144
+\g__driver_image_int=\count189
 \l__driver_tmp_box=\box71
 ))
diff --git a/l3kernel/testfiles/m3int001.luatex.tlg b/l3kernel/testfiles/m3int001.luatex.tlg
index 3403846..c999c4e 100644
--- a/l3kernel/testfiles/m3int001.luatex.tlg
+++ b/l3kernel/testfiles/m3int001.luatex.tlg
@@ -5,11 +5,11 @@ Author: Frank Mittelbach
 TEST 1: allocating new registers; no worries
 ============================================================
 Defining \l_testa_int on line ...
-\l_testa_int=\count148
+\l_testa_int=\count193
 Defining \g_testa_int on line ...
-\g_testa_int=\count149
+\g_testa_int=\count194
 Defining \g_testb_int on line ...
-\g_testb_int=\count150
+\g_testb_int=\count195
 ============================================================
 ============================================================
 TEST 2: allocating same name: errors expected
@@ -32,10 +32,10 @@ l. ...  }
 | this name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count148
+|   \count193
 |...............................................
 Defining \l_testa_int on line ...
-\l_testa_int=\count151
+\l_testa_int=\count196
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -54,16 +54,16 @@ l. ...  }
 | this name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count149
+|   \count194
 |...............................................
 Defining \g_testa_int on line ...
-\g_testa_int=\count152
+\g_testa_int=\count197
 ============================================================
 ============================================================
 TEST 3: allocate or clear
 ============================================================
 Defining \l_testb_int on line ...
-\l_testb_int=\count153
+\l_testb_int=\count198
 0
 0
 0
diff --git a/l3kernel/testfiles/m3int001.ptex.tlg b/l3kernel/testfiles/m3int001.ptex.tlg
index b4ee472..de8fa9a 100644
--- a/l3kernel/testfiles/m3int001.ptex.tlg
+++ b/l3kernel/testfiles/m3int001.ptex.tlg
@@ -5,11 +5,11 @@ Author: Frank Mittelbach
 TEST 1: allocating new registers; no worries
 ============================================================
 Defining \l_testa_int on line ...
-\l_testa_int=\count146
+\l_testa_int=\count193
 Defining \g_testa_int on line ...
-\g_testa_int=\count147
+\g_testa_int=\count194
 Defining \g_testb_int on line ...
-\g_testb_int=\count148
+\g_testb_int=\count195
 ============================================================
 ============================================================
 TEST 2: allocating same name: errors expected
@@ -32,10 +32,10 @@ l. ...  }
 | this name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count146
+|   \count193
 |...............................................
 Defining \l_testa_int on line ...
-\l_testa_int=\count149
+\l_testa_int=\count196
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -54,16 +54,16 @@ l. ...  }
 | this name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count147
+|   \count194
 |...............................................
 Defining \g_testa_int on line ...
-\g_testa_int=\count150
+\g_testa_int=\count197
 ============================================================
 ============================================================
 TEST 3: allocate or clear
 ============================================================
 Defining \l_testb_int on line ...
-\l_testb_int=\count151
+\l_testb_int=\count198
 0
 0
 0
diff --git a/l3kernel/testfiles/m3int001.tlg b/l3kernel/testfiles/m3int001.tlg
index 6a5c3fc..0b61358 100644
--- a/l3kernel/testfiles/m3int001.tlg
+++ b/l3kernel/testfiles/m3int001.tlg
@@ -5,11 +5,11 @@ Author: Frank Mittelbach
 TEST 1: allocating new registers; no worries
 ============================================================
 Defining \l_testa_int on line ...
-\l_testa_int=\count148
+\l_testa_int=\count195
 Defining \g_testa_int on line ...
-\g_testa_int=\count149
+\g_testa_int=\count196
 Defining \g_testb_int on line ...
-\g_testb_int=\count150
+\g_testb_int=\count197
 ============================================================
 ============================================================
 TEST 2: allocating same name: errors expected
@@ -32,10 +32,10 @@ l. ...  }
 | this name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count148
+|   \count195
 |...............................................
 Defining \l_testa_int on line ...
-\l_testa_int=\count151
+\l_testa_int=\count198
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -54,16 +54,16 @@ l. ...  }
 | this name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count149
+|   \count196
 |...............................................
 Defining \g_testa_int on line ...
-\g_testa_int=\count152
+\g_testa_int=\count199
 ============================================================
 ============================================================
 TEST 3: allocate or clear
 ============================================================
 Defining \l_testb_int on line ...
-\l_testb_int=\count153
+\l_testb_int=\count266
 0
 0
 0
diff --git a/l3kernel/testfiles/m3int001.uptex.tlg b/l3kernel/testfiles/m3int001.uptex.tlg
index 11cfac9..3a9b302 100644
--- a/l3kernel/testfiles/m3int001.uptex.tlg
+++ b/l3kernel/testfiles/m3int001.uptex.tlg
@@ -5,11 +5,11 @@ Author: Frank Mittelbach
 TEST 1: allocating new registers; no worries
 ============================================================
 Defining \l_testa_int on line ...
-\l_testa_int=\count146
+\l_testa_int=\count191
 Defining \g_testa_int on line ...
-\g_testa_int=\count147
+\g_testa_int=\count192
 Defining \g_testb_int on line ...
-\g_testb_int=\count148
+\g_testb_int=\count193
 ============================================================
 ============================================================
 TEST 2: allocating same name: errors expected
@@ -32,10 +32,10 @@ l. ...  }
 | this name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count146
+|   \count191
 |...............................................
 Defining \l_testa_int on line ...
-\l_testa_int=\count149
+\l_testa_int=\count194
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -54,16 +54,16 @@ l. ...  }
 | this name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count147
+|   \count192
 |...............................................
 Defining \g_testa_int on line ...
-\g_testa_int=\count150
+\g_testa_int=\count195
 ============================================================
 ============================================================
 TEST 3: allocate or clear
 ============================================================
 Defining \l_testb_int on line ...
-\l_testb_int=\count151
+\l_testb_int=\count196
 0
 0
 0
diff --git a/l3kernel/testfiles/m3int001.xetex.tlg b/l3kernel/testfiles/m3int001.xetex.tlg
index 1f1ddd2..54e1a80 100644
--- a/l3kernel/testfiles/m3int001.xetex.tlg
+++ b/l3kernel/testfiles/m3int001.xetex.tlg
@@ -5,11 +5,11 @@ Author: Frank Mittelbach
 TEST 1: allocating new registers; no worries
 ============================================================
 Defining \l_testa_int on line ...
-\l_testa_int=\count145
+\l_testa_int=\count190
 Defining \g_testa_int on line ...
-\g_testa_int=\count146
+\g_testa_int=\count191
 Defining \g_testb_int on line ...
-\g_testb_int=\count147
+\g_testb_int=\count192
 ============================================================
 ============================================================
 TEST 2: allocating same name: errors expected
@@ -32,10 +32,10 @@ l. ...  }
 | this name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count145
+|   \count190
 |...............................................
 Defining \l_testa_int on line ...
-\l_testa_int=\count148
+\l_testa_int=\count193
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -54,16 +54,16 @@ l. ...  }
 | this name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count146
+|   \count191
 |...............................................
 Defining \g_testa_int on line ...
-\g_testa_int=\count149
+\g_testa_int=\count194
 ============================================================
 ============================================================
 TEST 3: allocate or clear
 ============================================================
 Defining \l_testb_int on line ...
-\l_testb_int=\count150
+\l_testb_int=\count195
 0
 0
 0
diff --git a/l3kernel/testfiles/m3int002.luatex.tlg b/l3kernel/testfiles/m3int002.luatex.tlg
index 2feebe4..6fa31c1 100644
--- a/l3kernel/testfiles/m3int002.luatex.tlg
+++ b/l3kernel/testfiles/m3int002.luatex.tlg
@@ -164,19 +164,19 @@ TEST 13: Integer division: modulo
 TEST 14: Integer creation
 ============================================================
 Defining \l_A_int on line ...
-\l_A_int=\count149
+\l_A_int=\count194
 Defining \g_A_int on line ...
-\g_A_int=\count150
-\count149
-\count150
+\g_A_int=\count195
+\count194
+\count195
 Defining \l_B_int on line ...
-\l_B_int=\count151
+\l_B_int=\count196
 Defining \g_B_int on line ...
-\g_B_int=\count152
-\count151
-\count152
-\count151
-\count152
+\g_B_int=\count197
+\count196
+\count197
+\count196
+\count197
 ============================================================
 ============================================================
 TEST 15: Integer creation errors
@@ -199,10 +199,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count149
+|   \count194
 |...............................................
 Defining \l_A_int on line ...
-\l_A_int=\count153
+\l_A_int=\count198
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -221,10 +221,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count150
+|   \count195
 |...............................................
 Defining \g_A_int on line ...
-\g_A_int=\count154
+\g_A_int=\count199
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -243,10 +243,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count151
+|   \count196
 |...............................................
 Defining \l_B_int on line ...
-\l_B_int=\count155
+\l_B_int=\count266
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -265,10 +265,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count152
+|   \count197
 |...............................................
 Defining \g_B_int on line ...
-\g_B_int=\count156
+\g_B_int=\count267
 ============================================================
 ============================================================
 TEST 16: Constant integer creation
@@ -277,10 +277,10 @@ Defining \c_A_int on line ...
 \char"5
 5
 Defining \c_B_int on line ...
-\c_B_int=\count157
-\count157
+\c_B_int=\count268
+\count268
 -10
-\count157
+\count268
 -10
 ============================================================
 ============================================================
@@ -325,10 +325,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count157
+|   \count268
 |...............................................
 Defining \c_B_int on line ...
-\c_B_int=\count158
+\c_B_int=\count269
 ============================================================
 ============================================================
 TEST 18: Set integers equal
diff --git a/l3kernel/testfiles/m3int002.ptex.tlg b/l3kernel/testfiles/m3int002.ptex.tlg
index 9569824..fa7459e 100644
--- a/l3kernel/testfiles/m3int002.ptex.tlg
+++ b/l3kernel/testfiles/m3int002.ptex.tlg
@@ -164,19 +164,19 @@ TEST 13: Integer division: modulo
 TEST 14: Integer creation
 ============================================================
 Defining \l_A_int on line ...
-\l_A_int=\count147
+\l_A_int=\count194
 Defining \g_A_int on line ...
-\g_A_int=\count148
-\count147
-\count148
+\g_A_int=\count195
+\count194
+\count195
 Defining \l_B_int on line ...
-\l_B_int=\count149
+\l_B_int=\count196
 Defining \g_B_int on line ...
-\g_B_int=\count150
-\count149
-\count150
-\count149
-\count150
+\g_B_int=\count197
+\count196
+\count197
+\count196
+\count197
 ============================================================
 ============================================================
 TEST 15: Integer creation errors
@@ -199,10 +199,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count147
+|   \count194
 |...............................................
 Defining \l_A_int on line ...
-\l_A_int=\count151
+\l_A_int=\count198
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -221,10 +221,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count148
+|   \count195
 |...............................................
 Defining \g_A_int on line ...
-\g_A_int=\count152
+\g_A_int=\count199
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -243,10 +243,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count149
+|   \count196
 |...............................................
 Defining \l_B_int on line ...
-\l_B_int=\count153
+\l_B_int=\count266
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -265,10 +265,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count150
+|   \count197
 |...............................................
 Defining \g_B_int on line ...
-\g_B_int=\count154
+\g_B_int=\count267
 ============================================================
 ============================================================
 TEST 16: Constant integer creation
@@ -277,10 +277,10 @@ Defining \c_A_int on line ...
 \mathchar"5
 5
 Defining \c_B_int on line ...
-\c_B_int=\count155
-\count155
+\c_B_int=\count268
+\count268
 -10
-\count155
+\count268
 -10
 ============================================================
 ============================================================
@@ -325,10 +325,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count155
+|   \count268
 |...............................................
 Defining \c_B_int on line ...
-\c_B_int=\count156
+\c_B_int=\count269
 ============================================================
 ============================================================
 TEST 18: Set integers equal
diff --git a/l3kernel/testfiles/m3int002.tlg b/l3kernel/testfiles/m3int002.tlg
index 81188bf..8bde936 100644
--- a/l3kernel/testfiles/m3int002.tlg
+++ b/l3kernel/testfiles/m3int002.tlg
@@ -164,19 +164,19 @@ TEST 13: Integer division: modulo
 TEST 14: Integer creation
 ============================================================
 Defining \l_A_int on line ...
-\l_A_int=\count149
+\l_A_int=\count196
 Defining \g_A_int on line ...
-\g_A_int=\count150
-\count149
-\count150
+\g_A_int=\count197
+\count196
+\count197
 Defining \l_B_int on line ...
-\l_B_int=\count151
+\l_B_int=\count198
 Defining \g_B_int on line ...
-\g_B_int=\count152
-\count151
-\count152
-\count151
-\count152
+\g_B_int=\count199
+\count198
+\count199
+\count198
+\count199
 ============================================================
 ============================================================
 TEST 15: Integer creation errors
@@ -199,10 +199,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count149
+|   \count196
 |...............................................
 Defining \l_A_int on line ...
-\l_A_int=\count153
+\l_A_int=\count266
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -221,10 +221,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count150
+|   \count197
 |...............................................
 Defining \g_A_int on line ...
-\g_A_int=\count154
+\g_A_int=\count267
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -243,10 +243,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count151
+|   \count198
 |...............................................
 Defining \l_B_int on line ...
-\l_B_int=\count155
+\l_B_int=\count268
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -265,10 +265,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count152
+|   \count199
 |...............................................
 Defining \g_B_int on line ...
-\g_B_int=\count156
+\g_B_int=\count269
 ============================================================
 ============================================================
 TEST 16: Constant integer creation
@@ -277,10 +277,10 @@ Defining \c_A_int on line ...
 \mathchar"5
 5
 Defining \c_B_int on line ...
-\c_B_int=\count157
-\count157
+\c_B_int=\count270
+\count270
 -10
-\count157
+\count270
 -10
 ============================================================
 ============================================================
@@ -325,10 +325,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count157
+|   \count270
 |...............................................
 Defining \c_B_int on line ...
-\c_B_int=\count158
+\c_B_int=\count271
 ============================================================
 ============================================================
 TEST 18: Set integers equal
diff --git a/l3kernel/testfiles/m3int002.uptex.tlg b/l3kernel/testfiles/m3int002.uptex.tlg
index 19235fe..8e097a7 100644
--- a/l3kernel/testfiles/m3int002.uptex.tlg
+++ b/l3kernel/testfiles/m3int002.uptex.tlg
@@ -164,19 +164,19 @@ TEST 13: Integer division: modulo
 TEST 14: Integer creation
 ============================================================
 Defining \l_A_int on line ...
-\l_A_int=\count147
+\l_A_int=\count192
 Defining \g_A_int on line ...
-\g_A_int=\count148
-\count147
-\count148
+\g_A_int=\count193
+\count192
+\count193
 Defining \l_B_int on line ...
-\l_B_int=\count149
+\l_B_int=\count194
 Defining \g_B_int on line ...
-\g_B_int=\count150
-\count149
-\count150
-\count149
-\count150
+\g_B_int=\count195
+\count194
+\count195
+\count194
+\count195
 ============================================================
 ============================================================
 TEST 15: Integer creation errors
@@ -199,10 +199,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count147
+|   \count192
 |...............................................
 Defining \l_A_int on line ...
-\l_A_int=\count151
+\l_A_int=\count196
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -221,10 +221,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count148
+|   \count193
 |...............................................
 Defining \g_A_int on line ...
-\g_A_int=\count152
+\g_A_int=\count197
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -243,10 +243,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count149
+|   \count194
 |...............................................
 Defining \l_B_int on line ...
-\l_B_int=\count153
+\l_B_int=\count198
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -265,10 +265,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count150
+|   \count195
 |...............................................
 Defining \g_B_int on line ...
-\g_B_int=\count154
+\g_B_int=\count199
 ============================================================
 ============================================================
 TEST 16: Constant integer creation
@@ -277,10 +277,10 @@ Defining \c_A_int on line ...
 \kchar"5
 5
 Defining \c_B_int on line ...
-\c_B_int=\count155
-\count155
+\c_B_int=\count266
+\count266
 -10
-\count155
+\count266
 -10
 ============================================================
 ============================================================
@@ -325,10 +325,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count155
+|   \count266
 |...............................................
 Defining \c_B_int on line ...
-\c_B_int=\count156
+\c_B_int=\count267
 ============================================================
 ============================================================
 TEST 18: Set integers equal
diff --git a/l3kernel/testfiles/m3int002.xetex.tlg b/l3kernel/testfiles/m3int002.xetex.tlg
index 3db7ff0..deb8e89 100644
--- a/l3kernel/testfiles/m3int002.xetex.tlg
+++ b/l3kernel/testfiles/m3int002.xetex.tlg
@@ -164,19 +164,19 @@ TEST 13: Integer division: modulo
 TEST 14: Integer creation
 ============================================================
 Defining \l_A_int on line ...
-\l_A_int=\count146
+\l_A_int=\count191
 Defining \g_A_int on line ...
-\g_A_int=\count147
-\count146
-\count147
+\g_A_int=\count192
+\count191
+\count192
 Defining \l_B_int on line ...
-\l_B_int=\count148
+\l_B_int=\count193
 Defining \g_B_int on line ...
-\g_B_int=\count149
-\count148
-\count149
-\count148
-\count149
+\g_B_int=\count194
+\count193
+\count194
+\count193
+\count194
 ============================================================
 ============================================================
 TEST 15: Integer creation errors
@@ -199,10 +199,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count146
+|   \count191
 |...............................................
 Defining \l_A_int on line ...
-\l_A_int=\count150
+\l_A_int=\count195
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -221,10 +221,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count147
+|   \count192
 |...............................................
 Defining \g_A_int on line ...
-\g_A_int=\count151
+\g_A_int=\count196
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -243,10 +243,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count148
+|   \count193
 |...............................................
 Defining \l_B_int on line ...
-\l_B_int=\count152
+\l_B_int=\count197
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -265,10 +265,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count149
+|   \count194
 |...............................................
 Defining \g_B_int on line ...
-\g_B_int=\count153
+\g_B_int=\count198
 ============================================================
 ============================================================
 TEST 16: Constant integer creation
@@ -277,10 +277,10 @@ Defining \c_A_int on line ...
 \char"5
 5
 Defining \c_B_int on line ...
-\c_B_int=\count154
-\count154
+\c_B_int=\count199
+\count199
 -10
-\count154
+\count199
 -10
 ============================================================
 ============================================================
@@ -325,10 +325,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count154
+|   \count199
 |...............................................
 Defining \c_B_int on line ...
-\c_B_int=\count155
+\c_B_int=\count266
 ============================================================
 ============================================================
 TEST 18: Set integers equal
diff --git a/l3experimental/l3str/testfiles/m3intarray001.luatex.tlg b/l3kernel/testfiles/m3intarray001.luatex.tlg
similarity index 97%
rename from l3experimental/l3str/testfiles/m3intarray001.luatex.tlg
rename to l3kernel/testfiles/m3intarray001.luatex.tlg
index 87af810..6071c3c 100644
--- a/l3experimental/l3str/testfiles/m3intarray001.luatex.tlg
+++ b/l3kernel/testfiles/m3intarray001.luatex.tlg
@@ -32,12 +32,12 @@ l. ...  }
 | this name has already been used elsewhere.
 | 
 | The current meaning is:
-|   select font cmr10 at 0.00002pt
+|   select font cmr10 at 0.00014pt
 |...............................................
 Defining \l_tmpa_intarray on line ...
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
-! LaTeX error: "intarray/out-of-bounds"
+! LaTeX error: "kernel/out-of-bounds"
 ! 
 ! Access to an entry beyond an array's bounds.
 ! 
@@ -52,7 +52,7 @@ l. ...  }
 |...............................................
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
-! LaTeX error: "intarray/overflow"
+! LaTeX error: "kernel/overflow"
 ! 
 ! Integers larger than 2^{30}-1 cannot be stored in arrays.
 ! 
@@ -68,7 +68,7 @@ l. ...  }
 |...............................................
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
-! LaTeX error: "intarray/out-of-bounds"
+! LaTeX error: "kernel/out-of-bounds"
 ! 
 ! Access to an entry beyond an array's bounds.
 ! 
diff --git a/l3experimental/l3str/testfiles/m3intarray001.lvt b/l3kernel/testfiles/m3intarray001.lvt
similarity index 99%
rename from l3experimental/l3str/testfiles/m3intarray001.lvt
rename to l3kernel/testfiles/m3intarray001.lvt
index ae0d15a..9bff972 100644
--- a/l3experimental/l3str/testfiles/m3intarray001.lvt
+++ b/l3kernel/testfiles/m3intarray001.lvt
@@ -5,7 +5,6 @@
 \documentclass{minimal}
 \input{regression-test}
 \RequirePackage[log-functions, check-declarations]{expl3}
-\RequirePackage{l3intarray}
 
 \begin{document}
 
diff --git a/l3experimental/l3str/testfiles/m3intarray001.tlg b/l3kernel/testfiles/m3intarray001.tlg
similarity index 97%
rename from l3experimental/l3str/testfiles/m3intarray001.tlg
rename to l3kernel/testfiles/m3intarray001.tlg
index 9065bb4..c22ecb5 100644
--- a/l3experimental/l3str/testfiles/m3intarray001.tlg
+++ b/l3kernel/testfiles/m3intarray001.tlg
@@ -32,12 +32,12 @@ l. ...  }
 | this name has already been used elsewhere.
 | 
 | The current meaning is:
-|   select font cmr10 at 0.00002pt
+|   select font cmr10 at 0.00014pt
 |...............................................
 Defining \l_tmpa_intarray on line ...
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
-! LaTeX error: "intarray/out-of-bounds"
+! LaTeX error: "kernel/out-of-bounds"
 ! 
 ! Access to an entry beyond an array's bounds.
 ! 
@@ -52,7 +52,7 @@ l. ...  }
 |...............................................
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
-! LaTeX error: "intarray/overflow"
+! LaTeX error: "kernel/overflow"
 ! 
 ! Integers larger than 2^{30}-1 cannot be stored in arrays.
 ! 
@@ -68,7 +68,7 @@ l. ...  }
 |...............................................
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
-! LaTeX error: "intarray/out-of-bounds"
+! LaTeX error: "kernel/out-of-bounds"
 ! 
 ! Access to an entry beyond an array's bounds.
 ! 
diff --git a/l3kernel/testfiles/m3quark001.tlg b/l3kernel/testfiles/m3quark001.tlg
index 62b4cf0..33f0481 100644
--- a/l3kernel/testfiles/m3quark001.tlg
+++ b/l3kernel/testfiles/m3quark001.tlg
@@ -103,7 +103,7 @@ l. ...}
 |...............................................
 > \g__scan_marks_tl=\s__stop \s__seq \s__prop \s__fp \s__fp_mark \s__fp_stop
 \s__fp_invalid \s__fp_underflow \s__fp_overflow \s__fp_division \s__fp_exact
-\s__foo .
+\s__tl \s__foo .
 ============================================================
 ============================================================
 TEST 14: Use none until s__stop (expect nothing)
diff --git a/l3experimental/l3str/testfiles/m3regex001.lvt b/l3kernel/testfiles/m3regex001.lvt
similarity index 99%
rename from l3experimental/l3str/testfiles/m3regex001.lvt
rename to l3kernel/testfiles/m3regex001.lvt
index 13633c4..b5c46ca 100644
--- a/l3experimental/l3str/testfiles/m3regex001.lvt
+++ b/l3kernel/testfiles/m3regex001.lvt
@@ -1,10 +1,9 @@
 %
-% Copyright (C) 2011,2013-2014 LaTeX3 Project
+% Copyright (C) 2011,2013-2014,2017 LaTeX3 Project
 \documentclass{minimal}
 \input{regression-test}
 
 \RequirePackage[log-functions, check-declarations]{expl3}
-\RequirePackage{l3regex}
 
 \begin{document}
 
diff --git a/l3experimental/l3str/testfiles/m3regex001.tlg b/l3kernel/testfiles/m3regex001.tlg
similarity index 100%
rename from l3experimental/l3str/testfiles/m3regex001.tlg
rename to l3kernel/testfiles/m3regex001.tlg
diff --git a/l3experimental/l3str/testfiles/m3regex002.lvt b/l3kernel/testfiles/m3regex002.lvt
similarity index 98%
rename from l3experimental/l3str/testfiles/m3regex002.lvt
rename to l3kernel/testfiles/m3regex002.lvt
index fa088f7..84d8fc2 100644
--- a/l3experimental/l3str/testfiles/m3regex002.lvt
+++ b/l3kernel/testfiles/m3regex002.lvt
@@ -1,12 +1,11 @@
 %
-% Copyright (C) 2011 LaTeX3 Project
+% Copyright (C) 2011,2017 LaTeX3 Project
 %
 
 \documentclass{minimal}
 \input{regression-test}
 
 \RequirePackage[log-functions, check-declarations]{expl3}
-\RequirePackage{l3regex}
 
 \begin{document}
 
diff --git a/l3experimental/l3str/testfiles/m3regex002.tlg b/l3kernel/testfiles/m3regex002.tlg
similarity index 100%
rename from l3experimental/l3str/testfiles/m3regex002.tlg
rename to l3kernel/testfiles/m3regex002.tlg
diff --git a/l3experimental/l3str/testfiles/m3regex003.lvt b/l3kernel/testfiles/m3regex003.lvt
similarity index 97%
rename from l3experimental/l3str/testfiles/m3regex003.lvt
rename to l3kernel/testfiles/m3regex003.lvt
index f0bed1b..40a13fd 100644
--- a/l3experimental/l3str/testfiles/m3regex003.lvt
+++ b/l3kernel/testfiles/m3regex003.lvt
@@ -1,12 +1,11 @@
 %
-% Copyright (C) 2011,2014 LaTeX3 Project
+% Copyright (C) 2011,2014,2017 LaTeX3 Project
 %
 
 \documentclass{minimal}
 \input{regression-test}
 
 \RequirePackage[log-functions, check-declarations]{expl3}
-\RequirePackage{l3regex}
 
 \begin{document}
 
diff --git a/l3experimental/l3str/testfiles/m3regex003.tlg b/l3kernel/testfiles/m3regex003.tlg
similarity index 100%
rename from l3experimental/l3str/testfiles/m3regex003.tlg
rename to l3kernel/testfiles/m3regex003.tlg
diff --git a/l3experimental/l3str/testfiles/m3regex004.lvt b/l3kernel/testfiles/m3regex004.lvt
similarity index 97%
rename from l3experimental/l3str/testfiles/m3regex004.lvt
rename to l3kernel/testfiles/m3regex004.lvt
index a6a26dc..6419e19 100644
--- a/l3experimental/l3str/testfiles/m3regex004.lvt
+++ b/l3kernel/testfiles/m3regex004.lvt
@@ -1,12 +1,11 @@
 %
-% Copyright (C) 2011-2013 LaTeX3 Project
+% Copyright (C) 2011-2013,2017 LaTeX3 Project
 %
 
 \documentclass{minimal}
 \input{regression-test}
 
 \RequirePackage[log-functions, check-declarations]{expl3}
-\RequirePackage{l3regex}
 
 \begin{document}
 
diff --git a/l3experimental/l3str/testfiles/m3regex004.tlg b/l3kernel/testfiles/m3regex004.tlg
similarity index 100%
rename from l3experimental/l3str/testfiles/m3regex004.tlg
rename to l3kernel/testfiles/m3regex004.tlg
diff --git a/l3experimental/l3str/testfiles/m3regex005.lvt b/l3kernel/testfiles/m3regex005.lvt
similarity index 99%
rename from l3experimental/l3str/testfiles/m3regex005.lvt
rename to l3kernel/testfiles/m3regex005.lvt
index 12a907c..1f9c6c5 100644
--- a/l3experimental/l3str/testfiles/m3regex005.lvt
+++ b/l3kernel/testfiles/m3regex005.lvt
@@ -6,7 +6,6 @@
 \input{regression-test}
 
 \RequirePackage[log-functions, check-declarations]{expl3}
-\RequirePackage{l3regex}
 
 \begin{document}
 
diff --git a/l3experimental/l3str/testfiles/m3regex005.tlg b/l3kernel/testfiles/m3regex005.tlg
similarity index 100%
rename from l3experimental/l3str/testfiles/m3regex005.tlg
rename to l3kernel/testfiles/m3regex005.tlg
diff --git a/l3experimental/l3str/testfiles/m3regex006.luatex.tlg b/l3kernel/testfiles/m3regex006.luatex.tlg
similarity index 100%
rename from l3experimental/l3str/testfiles/m3regex006.luatex.tlg
rename to l3kernel/testfiles/m3regex006.luatex.tlg
diff --git a/l3experimental/l3str/testfiles/m3regex006.lvt b/l3kernel/testfiles/m3regex006.lvt
similarity index 98%
rename from l3experimental/l3str/testfiles/m3regex006.lvt
rename to l3kernel/testfiles/m3regex006.lvt
index 3197b94..fe048e8 100644
--- a/l3experimental/l3str/testfiles/m3regex006.lvt
+++ b/l3kernel/testfiles/m3regex006.lvt
@@ -1,12 +1,11 @@
 %
-% Copyright (C) 2011,2014 LaTeX3 Project
+% Copyright (C) 2011,2014,2017 LaTeX3 Project
 %
 
 \documentclass{minimal}
 \input{regression-test}
 
 \RequirePackage[log-functions, check-declarations]{expl3}
-\RequirePackage{l3regex}
 
 \begin{document}
 
diff --git a/l3experimental/l3str/testfiles/m3regex006.tlg b/l3kernel/testfiles/m3regex006.tlg
similarity index 100%
rename from l3experimental/l3str/testfiles/m3regex006.tlg
rename to l3kernel/testfiles/m3regex006.tlg
diff --git a/l3experimental/l3str/testfiles/m3regex007.lvt b/l3kernel/testfiles/m3regex007.lvt
similarity index 95%
rename from l3experimental/l3str/testfiles/m3regex007.lvt
rename to l3kernel/testfiles/m3regex007.lvt
index 7fcf3b1..8456959 100644
--- a/l3experimental/l3str/testfiles/m3regex007.lvt
+++ b/l3kernel/testfiles/m3regex007.lvt
@@ -1,12 +1,11 @@
 %
-% Copyright (C) 2011,2016 LaTeX3 Project
+% Copyright (C) 2011,2016,2017 LaTeX3 Project
 %
 
 \documentclass{minimal}
 \input{regression-test}
 
 \RequirePackage[log-functions, check-declarations]{expl3}
-\RequirePackage{l3regex}
 
 \begin{document}
 
diff --git a/l3experimental/l3str/testfiles/m3regex007.tlg b/l3kernel/testfiles/m3regex007.tlg
similarity index 100%
rename from l3experimental/l3str/testfiles/m3regex007.tlg
rename to l3kernel/testfiles/m3regex007.tlg
diff --git a/l3experimental/l3str/testfiles/m3regex008.lvt b/l3kernel/testfiles/m3regex008.lvt
similarity index 96%
rename from l3experimental/l3str/testfiles/m3regex008.lvt
rename to l3kernel/testfiles/m3regex008.lvt
index 67a8ec1..4a27e6f 100644
--- a/l3experimental/l3str/testfiles/m3regex008.lvt
+++ b/l3kernel/testfiles/m3regex008.lvt
@@ -1,12 +1,11 @@
 %
-% Copyright (C) 2011 LaTeX3 Project
+% Copyright (C) 2011,2017 LaTeX3 Project
 %
 
 \documentclass{minimal}
 \input{regression-test}
 
 \RequirePackage[log-functions, check-declarations]{expl3}
-\RequirePackage{l3regex}
 
 \begin{document}
 
diff --git a/l3experimental/l3str/testfiles/m3regex008.tlg b/l3kernel/testfiles/m3regex008.tlg
similarity index 100%
rename from l3experimental/l3str/testfiles/m3regex008.tlg
rename to l3kernel/testfiles/m3regex008.tlg
diff --git a/l3experimental/l3str/testfiles/m3regex009.lvt b/l3kernel/testfiles/m3regex009.lvt
similarity index 98%
rename from l3experimental/l3str/testfiles/m3regex009.lvt
rename to l3kernel/testfiles/m3regex009.lvt
index 8c0ebbd..cf6696d 100644
--- a/l3experimental/l3str/testfiles/m3regex009.lvt
+++ b/l3kernel/testfiles/m3regex009.lvt
@@ -1,12 +1,11 @@
 %
-% Copyright (C) 2014 LaTeX3 Project
+% Copyright (C) 2014,2017 LaTeX3 Project
 %
 
 \documentclass{minimal}
 \input{regression-test}
 
 \RequirePackage[log-functions, check-declarations]{expl3}
-\RequirePackage{l3regex}
 
 \begin{document}
 
diff --git a/l3experimental/l3str/testfiles/m3regex009.tlg b/l3kernel/testfiles/m3regex009.tlg
similarity index 100%
rename from l3experimental/l3str/testfiles/m3regex009.tlg
rename to l3kernel/testfiles/m3regex009.tlg
diff --git a/l3experimental/l3str/testfiles/m3regex010.luatex.tlg b/l3kernel/testfiles/m3regex010.luatex.tlg
similarity index 100%
rename from l3experimental/l3str/testfiles/m3regex010.luatex.tlg
rename to l3kernel/testfiles/m3regex010.luatex.tlg
diff --git a/l3experimental/l3str/testfiles/m3regex010.lvt b/l3kernel/testfiles/m3regex010.lvt
similarity index 87%
rename from l3experimental/l3str/testfiles/m3regex010.lvt
rename to l3kernel/testfiles/m3regex010.lvt
index 66879da..ba39fc8 100644
--- a/l3experimental/l3str/testfiles/m3regex010.lvt
+++ b/l3kernel/testfiles/m3regex010.lvt
@@ -1,10 +1,9 @@
 %
-% Copyright (C) 2014 LaTeX3 Project
+% Copyright (C) 2014,2017 LaTeX3 Project
 \documentclass{minimal}
 \input{regression-test}
 
 \RequirePackage[log-functions, check-declarations]{expl3}
-\RequirePackage{l3regex}
 
 \begin{document}
 
diff --git a/l3experimental/l3str/testfiles/m3regex010.tlg b/l3kernel/testfiles/m3regex010.tlg
similarity index 100%
rename from l3experimental/l3str/testfiles/m3regex010.tlg
rename to l3kernel/testfiles/m3regex010.tlg
diff --git a/l3experimental/l3str/testfiles/m3tl-analysis001.ptex.tlg b/l3kernel/testfiles/m3tl-analysis001.luatex.tlg
similarity index 98%
copy from l3experimental/l3str/testfiles/m3tl-analysis001.ptex.tlg
copy to l3kernel/testfiles/m3tl-analysis001.luatex.tlg
index f0f7743..da01af4 100644
--- a/l3experimental/l3str/testfiles/m3tl-analysis001.ptex.tlg
+++ b/l3kernel/testfiles/m3tl-analysis001.luatex.tlg
@@ -99,7 +99,7 @@ TEST 4: Showing the values of registers
 The token list contains the tokens:
 >  \l_foo_int (control sequence=\count1234=12)
 >  \l_foo_toks (control sequence=\toks1234=abc)
->  \c_test_int (control sequence=\count150=-1)
+>  \c_test_int (control sequence=\count193=-1)
 >  \c_zero_skip (control sequence=\skip71=0.0pt)
 >  \c_zero_muskip (control sequence=\muskip40)
 >  \tex_count:D (control sequence=\count)
diff --git a/l3experimental/l3str/testfiles/m3tl-analysis001.lvt b/l3kernel/testfiles/m3tl-analysis001.lvt
similarity index 97%
rename from l3experimental/l3str/testfiles/m3tl-analysis001.lvt
rename to l3kernel/testfiles/m3tl-analysis001.lvt
index ca3efe8..64049e3 100644
--- a/l3experimental/l3str/testfiles/m3tl-analysis001.lvt
+++ b/l3kernel/testfiles/m3tl-analysis001.lvt
@@ -1,11 +1,10 @@
 %
-% Copyright (C) 2011 LaTeX3 Project
+% Copyright (C) 2011,2017 LaTeX3 Project
 %
 
 \documentclass{minimal}
 \input{regression-test}
 \RequirePackage[log-functions, check-declarations]{expl3}
-\RequirePackage{l3tl-analysis}
 
 \begin{document}
 \START
diff --git a/l3experimental/l3str/testfiles/m3tl-analysis001.ptex.tlg b/l3kernel/testfiles/m3tl-analysis001.ptex.tlg
similarity index 98%
rename from l3experimental/l3str/testfiles/m3tl-analysis001.ptex.tlg
rename to l3kernel/testfiles/m3tl-analysis001.ptex.tlg
index f0f7743..da01af4 100644
--- a/l3experimental/l3str/testfiles/m3tl-analysis001.ptex.tlg
+++ b/l3kernel/testfiles/m3tl-analysis001.ptex.tlg
@@ -99,7 +99,7 @@ TEST 4: Showing the values of registers
 The token list contains the tokens:
 >  \l_foo_int (control sequence=\count1234=12)
 >  \l_foo_toks (control sequence=\toks1234=abc)
->  \c_test_int (control sequence=\count150=-1)
+>  \c_test_int (control sequence=\count193=-1)
 >  \c_zero_skip (control sequence=\skip71=0.0pt)
 >  \c_zero_muskip (control sequence=\muskip40)
 >  \tex_count:D (control sequence=\count)
diff --git a/l3experimental/l3str/testfiles/m3tl-analysis001.tlg b/l3kernel/testfiles/m3tl-analysis001.tlg
similarity index 98%
rename from l3experimental/l3str/testfiles/m3tl-analysis001.tlg
rename to l3kernel/testfiles/m3tl-analysis001.tlg
index 5076f4f..1d20807 100644
--- a/l3experimental/l3str/testfiles/m3tl-analysis001.tlg
+++ b/l3kernel/testfiles/m3tl-analysis001.tlg
@@ -99,7 +99,7 @@ TEST 4: Showing the values of registers
 The token list contains the tokens:
 >  \l_foo_int (control sequence=\count1234=12)
 >  \l_foo_toks (control sequence=\toks1234=abc)
->  \c_test_int (control sequence=\count152=-1)
+>  \c_test_int (control sequence=\count195=-1)
 >  \c_zero_skip (control sequence=\skip71=0.0pt)
 >  \c_zero_muskip (control sequence=\muskip40)
 >  \tex_count:D (control sequence=\count)
diff --git a/l3experimental/l3str/testfiles/m3tl-analysis001.uptex.tlg b/l3kernel/testfiles/m3tl-analysis001.uptex.tlg
similarity index 98%
rename from l3experimental/l3str/testfiles/m3tl-analysis001.uptex.tlg
rename to l3kernel/testfiles/m3tl-analysis001.uptex.tlg
index f0f7743..744ef7a 100644
--- a/l3experimental/l3str/testfiles/m3tl-analysis001.uptex.tlg
+++ b/l3kernel/testfiles/m3tl-analysis001.uptex.tlg
@@ -99,7 +99,7 @@ TEST 4: Showing the values of registers
 The token list contains the tokens:
 >  \l_foo_int (control sequence=\count1234=12)
 >  \l_foo_toks (control sequence=\toks1234=abc)
->  \c_test_int (control sequence=\count150=-1)
+>  \c_test_int (control sequence=\count191=-1)
 >  \c_zero_skip (control sequence=\skip71=0.0pt)
 >  \c_zero_muskip (control sequence=\muskip40)
 >  \tex_count:D (control sequence=\count)
diff --git a/l3experimental/l3str/testfiles/m3tl-analysis001.xetex.tlg b/l3kernel/testfiles/m3tl-analysis001.xetex.tlg
similarity index 98%
rename from l3experimental/l3str/testfiles/m3tl-analysis001.xetex.tlg
rename to l3kernel/testfiles/m3tl-analysis001.xetex.tlg
index d2badc2..eda9591 100644
--- a/l3experimental/l3str/testfiles/m3tl-analysis001.xetex.tlg
+++ b/l3kernel/testfiles/m3tl-analysis001.xetex.tlg
@@ -99,7 +99,7 @@ TEST 4: Showing the values of registers
 The token list contains the tokens:
 >  \l_foo_int (control sequence=\count1234=12)
 >  \l_foo_toks (control sequence=\toks1234=abc)
->  \c_test_int (control sequence=\count149=-1)
+>  \c_test_int (control sequence=\count190=-1)
 >  \c_zero_skip (control sequence=\skip71=0.0pt)
 >  \c_zero_muskip (control sequence=\muskip40)
 >  \tex_count:D (control sequence=\count)
diff --git a/l3experimental/l3str/testfiles/m3tl-build001.lvt b/l3kernel/testfiles/m3tl-build001.lvt
similarity index 92%
rename from l3experimental/l3str/testfiles/m3tl-build001.lvt
rename to l3kernel/testfiles/m3tl-build001.lvt
index 6b62713..879bc43 100644
--- a/l3experimental/l3str/testfiles/m3tl-build001.lvt
+++ b/l3kernel/testfiles/m3tl-build001.lvt
@@ -1,11 +1,10 @@
 %
-% Copyright (C) 2011 LaTeX3 Project
+% Copyright (C) 2011,2017 LaTeX3 Project
 %
 
 \documentclass{minimal}
 \input{regression-test}
 \RequirePackage[log-functions, check-declarations]{expl3}
-\RequirePackage{l3tl-build}
 
 \begin{document}
 
diff --git a/l3experimental/l3str/testfiles/m3tl-build001.tlg b/l3kernel/testfiles/m3tl-build001.tlg
similarity index 100%
rename from l3experimental/l3str/testfiles/m3tl-build001.tlg
rename to l3kernel/testfiles/m3tl-build001.tlg

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the latex3-commits mailing list